diff --git a/src/main/java/org/cavarest/elementaldragon/ElementalDragon.java b/src/main/java/org/cavarest/elementaldragon/ElementalDragon.java index 5977d79..32171fd 100644 --- a/src/main/java/org/cavarest/elementaldragon/ElementalDragon.java +++ b/src/main/java/org/cavarest/elementaldragon/ElementalDragon.java @@ -11,6 +11,7 @@ import org.cavarest.elementaldragon.command.ImmortalCommand; import org.cavarest.elementaldragon.command.LightningCommand; import org.cavarest.elementaldragon.command.WithdrawabilityCommand; +import org.cavarest.elementaldragon.command.subcommands.PossessionLimitSubcommand; import org.cavarest.elementaldragon.cooldown.CooldownManager; import org.cavarest.elementaldragon.crafting.CraftedCountManager; import org.cavarest.elementaldragon.crafting.CraftingListener; @@ -44,6 +45,7 @@ public class ElementalDragon extends JavaPlugin { private ElementalPlayerTracker playerTracker; private WithdrawabilityCommand withdrawabilityCommand; private PlayerPreferenceManager playerPreferenceManager; + private PossessionLimitSubcommand possessionLimitSubcommand; @Override public void onEnable() { @@ -60,6 +62,7 @@ public void onEnable() { this.craftingManager = new CraftingManager(this); this.craftedCountManager = new CraftedCountManager(this); this.playerPreferenceManager = new PlayerPreferenceManager(); + this.possessionLimitSubcommand = new PossessionLimitSubcommand(); registerCommands(); registerListeners(); @@ -187,6 +190,10 @@ public PlayerPreferenceManager getPlayerPreferenceManager() { return playerPreferenceManager; } + public PossessionLimitSubcommand getPossessionLimitSubcommand() { + return possessionLimitSubcommand; + } + /** * Send plugin info to player */ diff --git a/src/main/java/org/cavarest/elementaldragon/command/ElementalDragonCommand.java b/src/main/java/org/cavarest/elementaldragon/command/ElementalDragonCommand.java index a45c847..f00b247 100644 --- a/src/main/java/org/cavarest/elementaldragon/command/ElementalDragonCommand.java +++ b/src/main/java/org/cavarest/elementaldragon/command/ElementalDragonCommand.java @@ -9,6 +9,7 @@ import org.cavarest.elementaldragon.command.subcommands.GiveSubcommand; import org.cavarest.elementaldragon.command.subcommands.GlobalCooldownSubcommand; import org.cavarest.elementaldragon.command.subcommands.InfoSubcommand; +import org.cavarest.elementaldragon.command.subcommands.PossessionLimitSubcommand; import org.cavarest.elementaldragon.command.subcommands.SetGlobalCountdownSymbolSubcommand; import org.cavarest.elementaldragon.command.util.ElementValidator; import org.cavarest.elementaldragon.command.util.PlayerResolver; @@ -47,6 +48,7 @@ public class ElementalDragonCommand implements CommandExecutor, TabCompleter { private final CooldownSubcommand cooldownSubcommand; private final GlobalCooldownSubcommand globalCooldownSubcommand; private final SetGlobalCountdownSymbolSubcommand setCountdownSymbolSubcommand; + private final PossessionLimitSubcommand possessionLimitSubcommand; /** * Creates a new ElementalDragonCommand. @@ -84,6 +86,7 @@ public ElementalDragonCommand(ElementalDragon plugin, AbilityManager abilityMana plugin ); this.setCountdownSymbolSubcommand = new SetGlobalCountdownSymbolSubcommand(plugin); + this.possessionLimitSubcommand = plugin.getPossessionLimitSubcommand(); } @Override @@ -127,6 +130,12 @@ public boolean onCommand(CommandSender sender, Command command, String label, St case "setcountdownsym": return setCountdownSymbolSubcommand.execute(sender, subArgs); + case "setpossessionlimit": + return possessionLimitSubcommand.executeSetPossessionLimit(sender, subArgs); + + case "getpossessionlimit": + return possessionLimitSubcommand.executeGetPossessionLimit(sender, subArgs); + case "help": default: showHelp(sender); @@ -146,7 +155,8 @@ public List onTabComplete(CommandSender sender, Command command, String // First level: subcommand names completions.addAll(Arrays.asList( "give", "info", "setcooldown", "clearcooldown", "getcooldown", - "setglobalcooldown", "getglobalcooldown", "setcountdownsym", "help" + "setglobalcooldown", "getglobalcooldown", "setcountdownsym", + "setpossessionlimit", "getpossessionlimit", "help" )); String partial = args[0].toLowerCase(); completions.removeIf(c -> !c.toLowerCase().startsWith(partial)); @@ -179,6 +189,12 @@ public List onTabComplete(CommandSender sender, Command command, String case "setcountdownsym": return setCountdownSymbolSubcommand.tabComplete(sender, subArgs); + + case "setpossessionlimit": + return possessionLimitSubcommand.tabCompleteSetPossessionLimit(sender, subArgs); + + case "getpossessionlimit": + return possessionLimitSubcommand.tabComplete(sender, subArgs); } } @@ -214,6 +230,10 @@ private void showHelp(CommandSender sender) { .append(Component.text(" - Get global cooldowns", NamedTextColor.GRAY))); sender.sendMessage(Component.text("/ed setcountdownsym