Refactor code and remove naga class

This commit is contained in:
Barazok
2020-10-24 14:30:39 +02:00
parent 4db1014b2d
commit 8db992a3be
15 changed files with 297 additions and 506 deletions

View File

@@ -1,6 +1,6 @@
package net.babamod.mineclass.commands;
import net.babamod.mineclass.classes.*;
import net.babamod.mineclass.classes.MineClassFactory;
import net.babamod.mineclass.utils.AppliedStatus;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
@@ -11,67 +11,30 @@ public class CommandClass implements CommandExecutor {
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if (args.length == 0) {
sender.sendMessage("You need to use this command with one of the suggested arguments.");
sender.sendMessage("You need to use this command with one of the suggested arguments (press space then tab to see suggested arguments).");
return false;
}
if (sender instanceof Player) {
Player player = (Player) sender;
if (args[0].equals("dwarf")) {
AppliedStatus.getInstance().setElf(player.getName(), false);
AppliedStatus.getInstance().setFireDwarf(player.getName(), false);
AppliedStatus.getInstance().setNaga(player.getName(), false);
AppliedStatus.getInstance().setDwarf(player.getName(), true);
ClassWrapper.clearAllClassEffects(player);
DwarfClass.reapplyEffects(player);
return true;
}
if (args[0].equals("elf")) {
AppliedStatus.getInstance().setDwarf(player.getName(), false);
AppliedStatus.getInstance().setFireDwarf(player.getName(), false);
AppliedStatus.getInstance().setNaga(player.getName(), false);
AppliedStatus.getInstance().setElf(player.getName(), true);
ClassWrapper.clearAllClassEffects(player);
ElfClass.reapplyEffects(player);
return true;
}
if (args[0].equals("fire_dwarf")) {
AppliedStatus.getInstance().setDwarf(player.getName(), false);
AppliedStatus.getInstance().setElf(player.getName(), false);
AppliedStatus.getInstance().setNaga(player.getName(), false);
AppliedStatus.getInstance().setFireDwarf(player.getName(), true);
ClassWrapper.clearAllClassEffects(player);
FireDwarfClass.reapplyEffects(player);
return true;
}
if (args[0].equals("naga")) {
AppliedStatus.getInstance().setDwarf(player.getName(), false);
AppliedStatus.getInstance().setElf(player.getName(), false);
AppliedStatus.getInstance().setFireDwarf(player.getName(), false);
AppliedStatus.getInstance().setNaga(player.getName(), true);
ClassWrapper.clearAllClassEffects(player);
NagaClass.reapplyEffects(player);
if (MineClassFactory.getInstance().getAvailableClassCodes().contains(args[0])) {
AppliedStatus.getInstance().setStatus(player.getName(), args[0]);
MineClassFactory.clearAllClassEffects(player);
MineClassFactory.getInstance().reapplyEffectsByCode(args[0], player);
return true;
}
if (args[0].equals("clear")) {
AppliedStatus.getInstance().setDwarf(player.getName(), false);
AppliedStatus.getInstance().setElf(player.getName(), false);
AppliedStatus.getInstance().setFireDwarf(player.getName(), false);
AppliedStatus.getInstance().setNaga(player.getName(), false);
ClassWrapper.clearAllClassEffects(player);
AppliedStatus.getInstance().setStatus(player.getName(), null);
MineClassFactory.clearAllClassEffects(player);
return true;
}
if (args[0].equals("whoami")) {
if (AppliedStatus.getInstance().isDwarf(player.getName())) {
player.sendMessage("You are a dwarf.");
}
if (AppliedStatus.getInstance().isElf(player.getName())) {
player.sendMessage("You are an elf.");
}
if (AppliedStatus.getInstance().isFireDwarf(player.getName())) {
player.sendMessage("You are a fire dwarf.");
}
if (AppliedStatus.getInstance().isNaga(player.getName())) {
player.sendMessage("You are a naga.");
String classCode = AppliedStatus.getInstance().getStatus(player.getName());
if (!classCode.equals("none")) {
player.sendMessage(
String.format(
"You are a %s.", classCode));
} else {
player.sendMessage("You are a simple steve.");
}
return true;
}