Skip to content

Instantly share code, notes, and snippets.

@StillManic
Last active August 15, 2016 22:45
Show Gist options
  • Save StillManic/db4f399f8a0d133f9cf578b24a13ab21 to your computer and use it in GitHub Desktop.
Save StillManic/db4f399f8a0d133f9cf578b24a13ab21 to your computer and use it in GitHub Desktop.
[15:38:48] [Server thread/WARN]: Couldn't process command: 'help'
java.lang.IllegalArgumentException: Comparison method violates its general contract!
at java.util.ComparableTimSort.mergeHi(ComparableTimSort.java:862) ~[?:1.8.0_45]
at java.util.ComparableTimSort.mergeAt(ComparableTimSort.java:479) ~[?:1.8.0_45]
at java.util.ComparableTimSort.mergeForceCollapse(ComparableTimSort.java:418) ~[?:1.8.0_45]
at java.util.ComparableTimSort.sort(ComparableTimSort.java:218) ~[?:1.8.0_45]
at java.util.Arrays.sort(Arrays.java:1312) ~[?:1.8.0_45]
at java.util.Arrays.sort(Arrays.java:1506) ~[?:1.8.0_45]
at java.util.ArrayList.sort(ArrayList.java:1454) ~[?:1.8.0_45]
at java.util.Collections.sort(Collections.java:141) ~[?:1.8.0_45]
at net.minecraft.command.CommandHelp.getSortedPossibleCommands(CommandHelp.java:117) ~[CommandHelp.class:?]
at net.minecraft.command.CommandHelp.execute(CommandHelp.java:65) ~[CommandHelp.class:?]
at net.minecraft.command.CommandHandler.tryExecute(CommandHandler.java:108) [CommandHandler.class:?]
at net.minecraft.command.CommandHandler.executeCommand(CommandHandler.java:87) [CommandHandler.class:?]
at net.minecraft.network.NetHandlerPlayServer.handleSlashCommand(NetHandlerPlayServer.java:955) [NetHandlerPlayServer.class:?]
at net.minecraft.network.NetHandlerPlayServer.processChatMessage(NetHandlerPlayServer.java:931) [NetHandlerPlayServer.class:?]
at net.minecraft.network.play.client.CPacketChatMessage.processPacket(CPacketChatMessage.java:47) [CPacketChatMessage.class:?]
at net.minecraft.network.play.client.CPacketChatMessage.processPacket(CPacketChatMessage.java:8) [CPacketChatMessage.class:?]
at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) [PacketThreadUtil$1.class:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_45]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_45]
at net.minecraft.util.Util.runTask(Util.java:25) [Util.class:?]
at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:742) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:687) [MinecraftServer.class:?]
at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:156) [IntegratedServer.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:536) [MinecraftServer.class:?]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_45]
import com.google.common.collect.Lists;
import net.minecraft.command.*;
import net.minecraft.server.MinecraftServer;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.math.BlockPos;
import org.bitbucket.transitauthority.transitmod.multiblock.old.MultiBlockManager;
import org.bitbucket.transitauthority.transitmod.multiblock.old.MultiBlockTemplate;
import org.bitbucket.transitauthority.transitmod.multiblock.old.structures.MultiBlockTest;
import java.util.List;
public class TestMutliBlockCommand extends CommandBase {
public TestMutliBlockCommand() {}
@Override
public String getCommandName() {
return "multiblock";
}
@Override
public String getCommandUsage(ICommandSender sender) {
return "/multiblock <x> <y> <z> [template name]";
}
@Override
public List<String> getCommandAliases() {
return Lists.newArrayList("mb");
}
@Override
public void execute(MinecraftServer server, ICommandSender sender, String[] args) throws CommandException {
if (args.length < 4) throw new WrongUsageException(this.getCommandUsage(sender));
else {
MultiBlockTemplate template = MultiBlockManager.templateMap.get(args[3]);
BlockPos pos = parseBlockPos(sender, args, 0, false);
if (template.getName().equalsIgnoreCase("test")) {
MultiBlockTest test = new MultiBlockTest(template);
test.buildStructure(server.getEntityWorld(), pos, sender.getCommandSenderEntity().getHorizontalFacing().getOpposite(), EnumFacing.UP);
}
}
}
@Override
public boolean checkPermission(MinecraftServer server, ICommandSender sender) {
return true;
}
@SuppressWarnings("unchecked")
@Override
public List<String> getTabCompletionOptions(MinecraftServer server, ICommandSender sender, String[] args, BlockPos pos) {
List<String> list = Lists.newArrayList();
if (args.length > 0 && args.length <= 3) {
list.addAll(getTabCompletionCoordinate(args, 0, pos.up()));
}
return list;
}
@Override
public boolean isUsernameIndex(String[] args, int index) {
return index == 0;
}
@Override
public int compareTo(ICommand o) {
return 0;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment