package tc.oc.commons.bukkit.respack; import javax.inject.Inject; import com.sk89q.minecraft.util.commands.Command; import com.sk89q.minecraft.util.commands.CommandContext; import com.sk89q.minecraft.util.commands.CommandException; import com.sk89q.minecraft.util.commands.CommandPermissions; import com.sk89q.minecraft.util.commands.NestedCommand; import org.bukkit.command.CommandSender; import tc.oc.commons.core.commands.Commands; import tc.oc.commons.core.commands.NestedCommands; public class ResourcePackCommands implements NestedCommands { private static final String PERMISSION = "ocn.command.respack"; public static class Parent implements Commands { @Command( aliases = {"respack"}, desc = "Commands to manage custom resource packs", min = 1, max = -1 ) @NestedCommand({ResourcePackCommands.class}) @CommandPermissions(PERMISSION) public void respack() {} } private final ResourcePackManager manager; @Inject ResourcePackCommands(ResourcePackManager manager) { this.manager = manager; } @Command( aliases = {"status"}, desc = "Show info about the custom resource pack", min = 0, max = 0 ) public void status(CommandContext args, CommandSender sender) throws CommandException { sender.sendMessage("Custom resource packs are locally " + (manager.isEnabled() ? "ENABLED" : "DISABLED")); sender.sendMessage("Fast updating is " + (manager.isFastUpdate() ? "ENABLED" : "DISABLED")); if(manager.getUrl() == null) { sender.sendMessage("No resource pack is configured for this server"); } else { sender.sendMessage("URL: " + manager.getUrl()); sender.sendMessage("SHA1: " + manager.getSha1()); } } @Command( aliases = {"enable"}, desc = "Enable the custom resource pack", min = 0, max = 0 ) public void enable(CommandContext args, CommandSender sender) throws CommandException { if(manager.isEnabled()) { sender.sendMessage("Custom resource pack already enabled"); } else { sender.sendMessage("Enabling custom resource pack"); manager.setEnabled(true); } } @Command( aliases = {"disable"}, desc = "Disable the custom resource pack", min = 0, max = 0 ) public void disable(CommandContext args, CommandSender sender) throws CommandException { if(manager.isEnabled()) { sender.sendMessage("Disabling custom resource pack"); manager.setEnabled(false); } else { sender.sendMessage("Custom resource pack already disabled"); } } }