From 2fb3a160de46cd18b7a49e132019957ce084fd7e Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 21 Apr 2017 19:03:12 -0400 Subject: [PATCH] Create Paper stubs for completions/contexts This is so others can extend these, and auto get anything added in future --- .../aikar/commands/BukkitCommandManager.java | 5 ++-- .../commands/PaperCommandCompletions.java | 28 +++++++++++++++++++ .../aikar/commands/PaperCommandContexts.java | 28 +++++++++++++++++++ .../aikar/commands/PaperCommandManager.java | 17 +++++++++++ 4 files changed, 76 insertions(+), 2 deletions(-) create mode 100644 src/main/java/co/aikar/commands/PaperCommandCompletions.java create mode 100644 src/main/java/co/aikar/commands/PaperCommandContexts.java diff --git a/src/main/java/co/aikar/commands/BukkitCommandManager.java b/src/main/java/co/aikar/commands/BukkitCommandManager.java index 26848a16..354bd5f3 100644 --- a/src/main/java/co/aikar/commands/BukkitCommandManager.java +++ b/src/main/java/co/aikar/commands/BukkitCommandManager.java @@ -30,12 +30,13 @@ import org.bukkit.plugin.Plugin; import java.util.Map; +@SuppressWarnings("WeakerAccess") public class BukkitCommandManager implements CommandManager { @SuppressWarnings("WeakerAccess") protected final Plugin plugin; - private CommandContexts contexts; - private CommandCompletions completions; + protected CommandContexts contexts; + protected CommandCompletions completions; public BukkitCommandManager(Plugin plugin) { this.plugin = plugin; diff --git a/src/main/java/co/aikar/commands/PaperCommandCompletions.java b/src/main/java/co/aikar/commands/PaperCommandCompletions.java new file mode 100644 index 00000000..353e7800 --- /dev/null +++ b/src/main/java/co/aikar/commands/PaperCommandCompletions.java @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2016-2017 Daniel Ennis (Aikar) - MIT License + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +package co.aikar.commands; + +@SuppressWarnings("WeakerAccess") +public class PaperCommandCompletions extends BukkitCommandCompletions { +} diff --git a/src/main/java/co/aikar/commands/PaperCommandContexts.java b/src/main/java/co/aikar/commands/PaperCommandContexts.java new file mode 100644 index 00000000..9b32635d --- /dev/null +++ b/src/main/java/co/aikar/commands/PaperCommandContexts.java @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2016-2017 Daniel Ennis (Aikar) - MIT License + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +package co.aikar.commands; + +@SuppressWarnings("WeakerAccess") +public class PaperCommandContexts extends BukkitCommandContexts { +} diff --git a/src/main/java/co/aikar/commands/PaperCommandManager.java b/src/main/java/co/aikar/commands/PaperCommandManager.java index 5d772fe9..916ad283 100644 --- a/src/main/java/co/aikar/commands/PaperCommandManager.java +++ b/src/main/java/co/aikar/commands/PaperCommandManager.java @@ -25,10 +25,27 @@ package co.aikar.commands; import org.bukkit.plugin.Plugin; +@SuppressWarnings("WeakerAccess") public class PaperCommandManager extends BukkitCommandManager { // If we get anything Paper specific public PaperCommandManager(Plugin plugin) { super(plugin); } + + @Override + public CommandContexts getCommandContexts() { + if (this.contexts == null) { + this.contexts = new PaperCommandContexts(); + } + return this.contexts; + } + + @Override + public CommandCompletions getCommandCompletions() { + if (this.completions == null) { + this.completions = new PaperCommandCompletions(); + } + return this.completions; + } }