diff --git a/core/src/main/java/co/aikar/commands/CommandManager.java b/core/src/main/java/co/aikar/commands/CommandManager.java index b0781e1f..62f64705 100644 --- a/core/src/main/java/co/aikar/commands/CommandManager.java +++ b/core/src/main/java/co/aikar/commands/CommandManager.java @@ -36,7 +36,14 @@ public abstract class CommandManager > { /** * This is a stack incase a command calls a command */ - static ThreadLocal> commandOperationContext = ThreadLocal.withInitial(Stack::new); + static ThreadLocal> commandOperationContext = ThreadLocal.withInitial(() -> { + return new Stack() { + @Override + public synchronized CommandOperationContext peek() { + return super.size() == 0 ? null : super.peek(); + } + }; + }); protected Map rootCommands = new HashMap<>(); protected CommandReplacements replacements = new CommandReplacements(this); protected ExceptionHandler defaultExceptionHandler = null;