diff options
Diffstat (limited to 'nms-patches')
-rw-r--r-- | nms-patches/AdvancementRewards.patch | 46 | ||||
-rw-r--r-- | nms-patches/CommandBlockListenerAbstract.patch | 2 |
2 files changed, 40 insertions, 8 deletions
diff --git a/nms-patches/AdvancementRewards.patch b/nms-patches/AdvancementRewards.patch index 50852ea2..8f0ea2c3 100644 --- a/nms-patches/AdvancementRewards.patch +++ b/nms-patches/AdvancementRewards.patch @@ -1,15 +1,47 @@ --- a/net/minecraft/server/AdvancementRewards.java +++ b/net/minecraft/server/AdvancementRewards.java -@@ -98,7 +98,7 @@ - } +@@ -66,7 +66,24 @@ + CustomFunction customfunction = this.e.a(minecraftserver.aL()); - public boolean getSendCommandFeedback() { -- return minecraftserver.worldServer[0].getGameRules().getBoolean("commandBlockOutput"); -+ return minecraftserver.worlds.get(0).getGameRules().getBoolean("commandBlockOutput"); // CraftBukkit + if (customfunction != null) { +- ICommandListener icommandlistener = new ICommandListener() { ++ // CraftBukkit start ++ ICommandListener icommandlistener = new AdvancementCommandListener(entityplayer, minecraftserver); ++ ++ minecraftserver.aL().a(customfunction, icommandlistener); ++ } ++ ++ } ++ ++ public static class AdvancementCommandListener implements ICommandListener { ++ ++ private final EntityPlayer entityplayer; ++ private final MinecraftServer minecraftserver; ++ ++ public AdvancementCommandListener(EntityPlayer entityplayer, MinecraftServer minecraftserver) { ++ this.entityplayer = entityplayer; ++ this.minecraftserver = minecraftserver; ++ } ++ + public String getName() { + return entityplayer.getName(); + } +@@ -108,12 +125,8 @@ + public MinecraftServer C_() { + return entityplayer.C_(); } +- }; +- +- minecraftserver.aL().a(customfunction, icommandlistener); +- } +- +- } ++ } ++ // CraftBukkit end - public void a(CommandObjectiveExecutor.EnumCommandResult commandobjectiveexecutor_enumcommandresult, int i) { -@@ -156,7 +156,7 @@ + public String toString() { + return "AdvancementRewards{experience=" + this.b + ", loot=" + Arrays.toString(this.c) + ", recipes=" + Arrays.toString(this.d) + ", function=" + this.e + '}'; +@@ -156,7 +169,7 @@ return new AdvancementRewards(i, aminecraftkey, aminecraftkey1, customfunction_a); } diff --git a/nms-patches/CommandBlockListenerAbstract.patch b/nms-patches/CommandBlockListenerAbstract.patch index 5f6ef041..c0d98def 100644 --- a/nms-patches/CommandBlockListenerAbstract.patch +++ b/nms-patches/CommandBlockListenerAbstract.patch @@ -93,7 +93,7 @@ + } + String as[] = command.split(" "); + as = VanillaCommandWrapper.dropFirstArgument(as); -+ if (!((VanillaCommandWrapper) commandBlockCommand).testPermission(bSender)) { ++ if (!sender.getWorld().getServer().getPermissionOverride(sender) && !((VanillaCommandWrapper) commandBlockCommand).testPermission(bSender)) { + return 0; + } + return ((VanillaCommandWrapper) commandBlockCommand).dispatchVanillaCommand(bSender, sender, as); |