SpoutCommand.java 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. package com.gmail.nossr50.commands.spout;
  2. import org.bukkit.command.Command;
  3. import org.bukkit.command.CommandSender;
  4. import org.bukkit.command.TabExecutor;
  5. import org.bukkit.entity.Player;
  6. import com.gmail.nossr50.mcMMO;
  7. import com.gmail.nossr50.config.spout.SpoutConfig;
  8. import com.gmail.nossr50.datatypes.player.PlayerProfile;
  9. import com.gmail.nossr50.datatypes.spout.huds.McMMOHud;
  10. import com.gmail.nossr50.locale.LocaleLoader;
  11. import com.gmail.nossr50.util.commands.CommandUtils;
  12. import com.gmail.nossr50.util.player.UserManager;
  13. public abstract class SpoutCommand implements TabExecutor {
  14. protected PlayerProfile playerProfile;
  15. protected McMMOHud spoutHud;
  16. @Override
  17. public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
  18. if (CommandUtils.noConsoleUsage(sender)) {
  19. return true;
  20. }
  21. if (!mcMMO.isSpoutEnabled() || !SpoutConfig.getInstance().getXPBarEnabled()) {
  22. sender.sendMessage(LocaleLoader.getString("Commands.Disabled"));
  23. return true;
  24. }
  25. playerProfile = UserManager.getPlayer((Player) sender).getProfile();
  26. spoutHud = playerProfile.getSpoutHud();
  27. if (spoutHud == null) {
  28. sender.sendMessage(LocaleLoader.getString("Commands.Disabled"));
  29. return true;
  30. }
  31. switch (args.length) {
  32. case 0:
  33. return noArguments(command, sender, args);
  34. case 1:
  35. return oneArgument(command, sender, args);
  36. default:
  37. return false;
  38. }
  39. }
  40. protected abstract boolean noArguments(Command command, CommandSender sender, String[] args);
  41. protected abstract boolean oneArgument(Command command, CommandSender sender, String[] args);
  42. }