diff --git a/src/main/java/org/ultramine/commands/basic/BasicCommands.java b/src/main/java/org/ultramine/commands/basic/BasicCommands.java index 0856b43..4171fc2 100644 --- a/src/main/java/org/ultramine/commands/basic/BasicCommands.java +++ b/src/main/java/org/ultramine/commands/basic/BasicCommands.java @@ -1,11 +1,9 @@ package org.ultramine.commands.basic; -import java.util.List; import java.util.Map; import static net.minecraft.util.EnumChatFormatting.*; import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.event.ClickEvent; import net.minecraft.item.ItemStack; import net.minecraft.util.ChatComponentTranslation; import net.minecraft.util.ChatStyle; @@ -15,7 +13,6 @@ import org.ultramine.commands.Command; import org.ultramine.commands.CommandContext; -import org.ultramine.commands.IExtendedCommand; import org.ultramine.server.Teleporter; import org.ultramine.server.data.player.PlayerData; import org.ultramine.server.util.InventoryUtil; @@ -24,48 +21,6 @@ public class BasicCommands { @Command( - name = "help", - group = "player", - aliases = {"?"}, - permissions = {"command.help"}, - syntax = { - "", - "" - } - ) - public static void help(CommandContext ctx) - { - @SuppressWarnings("unchecked") - List cmds = (List)ctx.getServer().getCommandManager().getPossibleCommands(ctx.getSender()); - int pages = cmds.size()/10 + (cmds.size()%10 == 0 ? 0 : 1); - int page = ctx.contains("page") ? ctx.get("page").asString().equals("all") ? -1 : ctx.get("page").asInt(1, pages) -1 : 0; - - int start = page == -1 ? 0 : page*10; - int limit = page == -1 ? cmds.size() : Math.min(cmds.size(), start + 10); - - ctx.sendMessage("commands.help.header", page+1, pages); - - String group = ""; - for(int i = start; i < limit; i++) - { - IExtendedCommand cmd = cmds.get(i); - - if(!group.equals(cmd.getGroup())) - { - group = cmd.getGroup(); - ctx.sendMessage("%s:", group); - } - String usageS = cmd.getCommandUsage(ctx.getSender()); - ChatComponentTranslation usage = new ChatComponentTranslation(usageS != null ? usageS : '/' + cmd.getCommandName()); - ChatComponentTranslation desc = new ChatComponentTranslation(cmd.getDescription()); - usage.getChatStyle().setChatClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, "/" + cmd.getCommandName() + " ")); - usage.getChatStyle().setColor(YELLOW); - desc.getChatStyle().setColor(DARK_AQUA); - ctx.sendMessage(DARK_GRAY, YELLOW, " - %s <- %s", usage, desc); - } - } - - @Command( name = "home", group = "player", aliases = {"дом", "хата"}, diff --git a/src/main/java/org/ultramine/commands/basic/VanillaCommands.java b/src/main/java/org/ultramine/commands/basic/VanillaCommands.java index b2c5458..6db16b9 100644 --- a/src/main/java/org/ultramine/commands/basic/VanillaCommands.java +++ b/src/main/java/org/ultramine/commands/basic/VanillaCommands.java @@ -1,7 +1,10 @@ package org.ultramine.commands.basic; +import java.util.List; + import net.minecraft.command.ICommandSender; import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.event.ClickEvent; import net.minecraft.server.MinecraftServer; import net.minecraft.util.ChatComponentStyle; import net.minecraft.util.ChatComponentText; @@ -13,6 +16,7 @@ import org.ultramine.commands.Command; import org.ultramine.commands.CommandContext; +import org.ultramine.commands.IExtendedCommand; import org.ultramine.server.PermissionHandler; import org.ultramine.server.Teleporter; import org.ultramine.server.util.BasicTypeParser; @@ -20,6 +24,48 @@ public class VanillaCommands { @Command( + name = "help", + group = "player", + aliases = {"?"}, + permissions = {"command.help"}, + syntax = { + "", + "" + } + ) + public static void help(CommandContext ctx) + { + @SuppressWarnings("unchecked") + List cmds = (List)ctx.getServer().getCommandManager().getPossibleCommands(ctx.getSender()); + int pages = cmds.size()/10 + (cmds.size()%10 == 0 ? 0 : 1); + int page = ctx.contains("page") ? ctx.get("page").asString().equals("all") ? -1 : ctx.get("page").asInt(1, pages) -1 : 0; + + int start = page == -1 ? 0 : page*10; + int limit = page == -1 ? cmds.size() : Math.min(cmds.size(), start + 10); + + ctx.sendMessage("commands.help.header", page+1, pages); + + String group = ""; + for(int i = start; i < limit; i++) + { + IExtendedCommand cmd = cmds.get(i); + + if(!group.equals(cmd.getGroup())) + { + group = cmd.getGroup(); + ctx.sendMessage("%s:", group); + } + String usageS = cmd.getCommandUsage(ctx.getSender()); + ChatComponentTranslation usage = new ChatComponentTranslation(usageS != null ? usageS : '/' + cmd.getCommandName()); + ChatComponentTranslation desc = new ChatComponentTranslation(cmd.getDescription()); + usage.getChatStyle().setChatClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, "/" + cmd.getCommandName() + " ")); + usage.getChatStyle().setColor(YELLOW); + desc.getChatStyle().setColor(DARK_AQUA); + ctx.sendMessage(DARK_GRAY, YELLOW, " - %s <- %s", usage, desc); + } + } + + @Command( name = "tp", group = "vanilla", aliases = {"tppos", "tpposp", "tpto"},