From a2c4d7e150ea295a656487062a187be07cd47677 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabian=20Fa=C3=9Fbender?= Date: Sat, 29 Nov 2014 00:38:21 +0100 Subject: [PATCH] Minecraft by default only uses the World at index 0 for the WorldBorder command. This fixes SPIGOT-12 --- nms-patches/CommandWorldBorder.patch | 28 ++++++++++++++++++++++++++++ nms-patches/ICommand.patch | 11 +++++++++++ 2 files changed, 39 insertions(+) create mode 100644 nms-patches/CommandWorldBorder.patch create mode 100644 nms-patches/ICommand.patch diff --git a/nms-patches/CommandWorldBorder.patch b/nms-patches/CommandWorldBorder.patch new file mode 100644 index 0000000000..dbb2dfc7db --- /dev/null +++ b/nms-patches/CommandWorldBorder.patch @@ -0,0 +1,28 @@ +--- ../work/decompile-8eb82bde//net/minecraft/server/CommandWorldBorder.java 2014-11-29 00:40:43.197707433 +0000 ++++ src/main/java/net/minecraft/server/CommandWorldBorder.java 2014-11-29 00:40:17.000000000 +0000 +@@ -18,11 +18,11 @@ + return "commands.worldborder.usage"; + } + +- public void execute(ICommandListener icommandlistener, String[] astring) { ++ public void execute(ICommandListener icommandlistener, String[] astring) throws ExceptionUsage { // CraftBukkit - Add Exception + if (astring.length < 1) { + throw new ExceptionUsage("commands.worldborder.usage", new Object[0]); + } else { +- WorldBorder worldborder = this.d(); ++ WorldBorder worldborder = icommandlistener.getWorld().af(); // CraftBukkit - Use the world the player is in instead of the first in Minecraft + double d0; + double d1; + long i; +@@ -141,4 +141,11 @@ + public List tabComplete(ICommandListener icommandlistener, String[] astring, BlockPosition blockposition) { + return astring.length == 1 ? a(astring, new String[] { "set", "center", "damage", "warning", "add", "get"}) : (astring.length == 2 && astring[0].equals("damage") ? a(astring, new String[] { "buffer", "amount"}) : (astring.length == 2 && astring[0].equals("warning") ? a(astring, new String[] { "time", "distance"}) : null)); + } ++ ++ // CraftBukkit start - Implement compareTo since obfuscation has renamed it to a(ICommand) ++ @Override ++ public int compareTo( Object o ) { ++ return a((ICommand) o); ++ } ++ // CraftBukkit end + } diff --git a/nms-patches/ICommand.patch b/nms-patches/ICommand.patch new file mode 100644 index 0000000000..f42a35f40c --- /dev/null +++ b/nms-patches/ICommand.patch @@ -0,0 +1,11 @@ +--- ../work/decompile-8eb82bde//net/minecraft/server/ICommand.java 2014-11-29 00:40:43.197707433 +0000 ++++ src/main/java/net/minecraft/server/ICommand.java 2014-11-29 00:40:17.000000000 +0000 +@@ -10,7 +10,7 @@ + + List b(); + +- void execute(ICommandListener icommandlistener, String[] astring); ++ void execute(ICommandListener icommandlistener, String[] astring) throws ExceptionUsage; // CraftBukkit - Add exception + + boolean canUse(ICommandListener icommandlistener); +