papermc/CraftBukkit-Patches/0103-Use-one-PermissibleBase-for-all-Command-Blocks.patch
Zach Brown 7b0c576798 Restructure PaperSpigot as a new set of modules
Allows us much greater control over the Spigot portion of the code
and makes us more "proper"
Credit to @Dmck2b for originally passing the idea along a while back
2014-07-21 15:46:54 -05:00

33 lines
1.2 KiB
Diff

From 26c6bf2cd39dc4ac183e63fa860440c7310f5bc9 Mon Sep 17 00:00:00 2001
From: FrozenBrain <carstenbamsti@googlemail.com>
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.9.1