diff --git a/src/main/java/kamkeel/AnimationCommand.java b/src/main/java/kamkeel/AnimationCommand.java index 2326fe809..ef6e6edec 100644 --- a/src/main/java/kamkeel/AnimationCommand.java +++ b/src/main/java/kamkeel/AnimationCommand.java @@ -30,7 +30,7 @@ public class AnimationCommand extends CommandKamkeelBase { @Override public String getUsage() { - return " "; + return " "; } @Override @@ -41,27 +41,53 @@ public class AnimationCommand extends CommandKamkeelBase { @Override public void processCommand(ICommandSender sender, String[] args) throws CommandException { String playername = args[0]; - String animationName = args[1]; data = PlayerDataController.instance.getPlayersData(sender, playername); if (data.isEmpty()) { throw new CommandException("Unknown player: " + playername); } - - selectedAnimation = AnimationController.getInstance().getAnimationFromName(animationName); + processSubCommand(sender, args[1], Arrays.copyOfRange(args, 2, args.length)); + data.get(0).animationData.updateClient(); + data.get(0).savePlayerDataOnFile(); + } + + @SubCommand(desc = "enable animation") + public void on(ICommandSender sender, String[] args) throws CommandException { + data.get(0).animationData.setEnabled(true); + sendMessage(sender, String.format("Animations enabled for Player %s", data.get(0).player.getCommandSenderName())); + + } + + @SubCommand( + desc = "Set animation", + usage = "" + ) + public void set(ICommandSender sender, String[] args) throws CommandException { + if(args.length != 1){ + throw new CommandException("Please include the animation name:" + " set "); + } + String animationName = args[0]; + selectedAnimation = AnimationController.getInstance().getAnimationFromName(animationName); if (selectedAnimation == null) { throw new CommandException("Unknown animation: " + animationName); } - - processSubCommand(sender, args[2], Arrays.copyOfRange(args, 3, args.length)); - } - @SubCommand( - desc = "play animation", - usage = " play" - ) - public void play(ICommandSender sender, String[] args) throws CommandException { + data.get(0).animationData.setAnimation(selectedAnimation); + sendMessage(sender, String.format("Animation %s set for Player %s", selectedAnimation.getName(), data.get(0).player.getCommandSenderName())); + } + + @SubCommand(desc = "disable animation") + public void off(ICommandSender sender, String[] args) throws CommandException { + data.get(0).animationData.setEnabled(false); + sendMessage(sender, String.format("Animations disabled for Player %s", data.get(0).player.getCommandSenderName())); + } + + @SubCommand(desc = "play animation") + public void clear(ICommandSender sender, String[] args) throws CommandException { + data.get(0).animationData.setEnabled(false); + data.get(0).animationData.setAnimation(null); + sendMessage(sender, String.format("Animations cleared for Player %s", data.get(0).player.getCommandSenderName())); } } diff --git a/src/main/java/kamkeel/CommandKamkeel.java b/src/main/java/kamkeel/CommandKamkeel.java index d1757b6a3..6cfc5300b 100644 --- a/src/main/java/kamkeel/CommandKamkeel.java +++ b/src/main/java/kamkeel/CommandKamkeel.java @@ -26,6 +26,7 @@ public class CommandKamkeel extends CommandBase{ registerCommand(new NpcCommand()); registerCommand(new CloneCommand()); registerCommand(new ConfigCommand()); + registerCommand(new AnimationCommand()); } public void registerCommand(CommandKamkeelBase command){ diff --git a/src/main/java/noppes/npcs/controllers/data/DataTransform.java b/src/main/java/noppes/npcs/controllers/data/DataTransform.java index e7990ec85..ad5402165 100644 --- a/src/main/java/noppes/npcs/controllers/data/DataTransform.java +++ b/src/main/java/noppes/npcs/controllers/data/DataTransform.java @@ -232,8 +232,8 @@ public class DataTransform { inv = compound; } npc.updateHitbox(); - this.isActive = isActive; - npc.updateAI= true; + npc.updateAI = true; + this.isActive = isActive; npc.updateClient = true; } }