From 4bd27f7d0f8dcffab0062741416a612ea258dc68 Mon Sep 17 00:00:00 2001 From: FrozenBrain Date: Sun, 2 Mar 2014 21:18:22 +0100 Subject: [PATCH] Use one PermissibleBase for all Command Blocks. This fixes issues with too many command blocks lagging or crashing the server, as well as just increases their performance in general. --- ...rmissibleBase-for-all-Command-Blocks.patch | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 CraftBukkit-Patches/0114-Use-one-PermissibleBase-for-all-Command-Blocks.patch diff --git a/CraftBukkit-Patches/0114-Use-one-PermissibleBase-for-all-Command-Blocks.patch b/CraftBukkit-Patches/0114-Use-one-PermissibleBase-for-all-Command-Blocks.patch new file mode 100644 index 0000000..27c414f --- /dev/null +++ b/CraftBukkit-Patches/0114-Use-one-PermissibleBase-for-all-Command-Blocks.patch @@ -0,0 +1,33 @@ +From aefc5f0df1c5ec8a8172bef74967b1f34336d200 Mon Sep 17 00:00:00 2001 +From: FrozenBrain +Date: Sun, 2 Mar 2014 21:13:46 +0100 +Subject: [PATCH] Use one PermissibleBase for all Command Blocks + + +diff --git a/src/main/java/org/bukkit/craftbukkit/command/ServerCommandSender.java b/src/main/java/org/bukkit/craftbukkit/command/ServerCommandSender.java +index 1314c74..b339cf3 100644 +--- a/src/main/java/org/bukkit/craftbukkit/command/ServerCommandSender.java ++++ b/src/main/java/org/bukkit/craftbukkit/command/ServerCommandSender.java +@@ -12,9 +12,18 @@ import org.bukkit.plugin.Plugin; + import java.util.Set; + + public abstract class ServerCommandSender implements CommandSender { +- private final PermissibleBase perm = new PermissibleBase(this); ++ private static PermissibleBase blockPermInst; ++ private final PermissibleBase perm; + + public ServerCommandSender() { ++ if (this instanceof CraftBlockCommandSender) { ++ if (blockPermInst == null) { ++ blockPermInst = new PermissibleBase(this); ++ } ++ this.perm = blockPermInst; ++ } else { ++ this.perm = new PermissibleBase(this); ++ } + } + + public boolean isPermissionSet(String name) { +-- +1.7.9.5 +