diff --git a/commandapi-codecov/pom.xml b/commandapi-codecov/pom.xml
index d82839f41e..cdaec640a6 100644
--- a/commandapi-codecov/pom.xml
+++ b/commandapi-codecov/pom.xml
@@ -44,7 +44,7 @@
dev.jorel
- commandapi-bukkit-test-tests
+ commandapi-paper-test-tests
${project.version}
test
diff --git a/commandapi-platforms/commandapi-bukkit/commandapi-bukkit-test/commandapi-bukkit-test-impl-1.16.5/pom.xml b/commandapi-platforms/commandapi-bukkit/commandapi-bukkit-test/commandapi-bukkit-test-impl-1.16.5/pom.xml
index b08d538aec..0d9557619a 100644
--- a/commandapi-platforms/commandapi-bukkit/commandapi-bukkit-test/commandapi-bukkit-test-impl-1.16.5/pom.xml
+++ b/commandapi-platforms/commandapi-bukkit/commandapi-bukkit-test/commandapi-bukkit-test-impl-1.16.5/pom.xml
@@ -95,7 +95,7 @@
dev.jorel
- commandapi-paper-shade
+ commandapi-bukkit-core
${project.version}
diff --git a/commandapi-platforms/commandapi-bukkit/commandapi-bukkit-test/commandapi-bukkit-test-impl-1.17/pom.xml b/commandapi-platforms/commandapi-bukkit/commandapi-bukkit-test/commandapi-bukkit-test-impl-1.17/pom.xml
index ab5d70f136..2d092a9e1d 100644
--- a/commandapi-platforms/commandapi-bukkit/commandapi-bukkit-test/commandapi-bukkit-test-impl-1.17/pom.xml
+++ b/commandapi-platforms/commandapi-bukkit/commandapi-bukkit-test/commandapi-bukkit-test-impl-1.17/pom.xml
@@ -96,7 +96,7 @@
dev.jorel
- commandapi-paper-shade
+ commandapi-bukkit-core
${project.version}
diff --git a/commandapi-platforms/commandapi-bukkit/commandapi-bukkit-test/commandapi-bukkit-test-impl-1.18/pom.xml b/commandapi-platforms/commandapi-bukkit/commandapi-bukkit-test/commandapi-bukkit-test-impl-1.18/pom.xml
index f2fa21bb0e..18e8bba7b3 100644
--- a/commandapi-platforms/commandapi-bukkit/commandapi-bukkit-test/commandapi-bukkit-test-impl-1.18/pom.xml
+++ b/commandapi-platforms/commandapi-bukkit/commandapi-bukkit-test/commandapi-bukkit-test-impl-1.18/pom.xml
@@ -97,7 +97,7 @@
dev.jorel
- commandapi-paper-shade
+ commandapi-bukkit-core
${project.version}
diff --git a/commandapi-platforms/commandapi-bukkit/commandapi-bukkit-test/commandapi-bukkit-test-impl-1.19.2/pom.xml b/commandapi-platforms/commandapi-bukkit/commandapi-bukkit-test/commandapi-bukkit-test-impl-1.19.2/pom.xml
index 714c704ba9..2f3b5687ac 100644
--- a/commandapi-platforms/commandapi-bukkit/commandapi-bukkit-test/commandapi-bukkit-test-impl-1.19.2/pom.xml
+++ b/commandapi-platforms/commandapi-bukkit/commandapi-bukkit-test/commandapi-bukkit-test-impl-1.19.2/pom.xml
@@ -96,7 +96,7 @@
dev.jorel
- commandapi-paper-shade
+ commandapi-bukkit-core
${project.version}
diff --git a/commandapi-platforms/commandapi-bukkit/commandapi-bukkit-test/commandapi-bukkit-test-impl-1.19.4/pom.xml b/commandapi-platforms/commandapi-bukkit/commandapi-bukkit-test/commandapi-bukkit-test-impl-1.19.4/pom.xml
index 7d827cd929..ad2a4eb4ba 100644
--- a/commandapi-platforms/commandapi-bukkit/commandapi-bukkit-test/commandapi-bukkit-test-impl-1.19.4/pom.xml
+++ b/commandapi-platforms/commandapi-bukkit/commandapi-bukkit-test/commandapi-bukkit-test-impl-1.19.4/pom.xml
@@ -97,7 +97,7 @@
dev.jorel
- commandapi-paper-shade
+ commandapi-bukkit-core
${project.version}
diff --git a/commandapi-platforms/commandapi-bukkit/commandapi-bukkit-test/commandapi-bukkit-test-impl-1.20.2/pom.xml b/commandapi-platforms/commandapi-bukkit/commandapi-bukkit-test/commandapi-bukkit-test-impl-1.20.2/pom.xml
index 7cf601eaf2..928253342b 100644
--- a/commandapi-platforms/commandapi-bukkit/commandapi-bukkit-test/commandapi-bukkit-test-impl-1.20.2/pom.xml
+++ b/commandapi-platforms/commandapi-bukkit/commandapi-bukkit-test/commandapi-bukkit-test-impl-1.20.2/pom.xml
@@ -97,7 +97,7 @@
dev.jorel
- commandapi-paper-shade
+ commandapi-bukkit-core
${project.version}
diff --git a/commandapi-platforms/commandapi-bukkit/commandapi-bukkit-test/commandapi-bukkit-test-impl-1.20.3/pom.xml b/commandapi-platforms/commandapi-bukkit/commandapi-bukkit-test/commandapi-bukkit-test-impl-1.20.3/pom.xml
index 25b0be05e5..6a9d23b945 100644
--- a/commandapi-platforms/commandapi-bukkit/commandapi-bukkit-test/commandapi-bukkit-test-impl-1.20.3/pom.xml
+++ b/commandapi-platforms/commandapi-bukkit/commandapi-bukkit-test/commandapi-bukkit-test-impl-1.20.3/pom.xml
@@ -97,7 +97,7 @@
dev.jorel
- commandapi-paper-shade
+ commandapi-bukkit-core
${project.version}
diff --git a/commandapi-platforms/commandapi-bukkit/commandapi-bukkit-test/commandapi-bukkit-test-impl-1.20/pom.xml b/commandapi-platforms/commandapi-bukkit/commandapi-bukkit-test/commandapi-bukkit-test-impl-1.20/pom.xml
index db86f352e2..e6d41671cc 100644
--- a/commandapi-platforms/commandapi-bukkit/commandapi-bukkit-test/commandapi-bukkit-test-impl-1.20/pom.xml
+++ b/commandapi-platforms/commandapi-bukkit/commandapi-bukkit-test/commandapi-bukkit-test-impl-1.20/pom.xml
@@ -97,7 +97,7 @@
dev.jorel
- commandapi-paper-shade
+ commandapi-bukkit-core
${project.version}
diff --git a/commandapi-platforms/commandapi-bukkit/commandapi-bukkit-test/commandapi-bukkit-test-impl/pom.xml b/commandapi-platforms/commandapi-bukkit/commandapi-bukkit-test/commandapi-bukkit-test-impl/pom.xml
index bb124d09a3..a35389aba9 100644
--- a/commandapi-platforms/commandapi-bukkit/commandapi-bukkit-test/commandapi-bukkit-test-impl/pom.xml
+++ b/commandapi-platforms/commandapi-bukkit/commandapi-bukkit-test/commandapi-bukkit-test-impl/pom.xml
@@ -65,7 +65,7 @@
dev.jorel
- commandapi-paper-shade
+ commandapi-bukkit-core
${project.version}
diff --git a/commandapi-platforms/commandapi-bukkit/commandapi-bukkit-test/commandapi-bukkit-test-tests/src/test/java/dev/jorel/commandapi/test/arguments/ArgumentChatColorTests.java b/commandapi-platforms/commandapi-bukkit/commandapi-bukkit-test/commandapi-bukkit-test-tests/src/test/java/dev/jorel/commandapi/test/arguments/ArgumentChatColorTests.java
deleted file mode 100644
index 98ba6a8587..0000000000
--- a/commandapi-platforms/commandapi-bukkit/commandapi-bukkit-test/commandapi-bukkit-test-tests/src/test/java/dev/jorel/commandapi/test/arguments/ArgumentChatColorTests.java
+++ /dev/null
@@ -1,105 +0,0 @@
-package dev.jorel.commandapi.test.arguments;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-import java.util.List;
-
-import org.bukkit.ChatColor;
-import org.junit.jupiter.api.AfterEach;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Disabled;
-import org.junit.jupiter.api.Test;
-
-import be.seeseemelk.mockbukkit.entity.PlayerMock;
-import dev.jorel.commandapi.CommandAPICommand;
-import dev.jorel.commandapi.arguments.ChatColorArgument;
-import dev.jorel.commandapi.test.Mut;
-import dev.jorel.commandapi.test.TestBase;
-
-/**
- * Tests for the {@link ChatColorArgument}
- */
-@Disabled
-class ArgumentChatColorTests extends TestBase {
-
- /*********
- * Setup *
- *********/
-
- @BeforeEach
- public void setUp() {
- super.setUp();
- }
-
- @AfterEach
- public void tearDown() {
- super.tearDown();
- }
-
- /*********
- * Tests *
- *********/
-
- @SuppressWarnings("unused")
- @Test
- void executionTestWithChatColorArgument() {
- Mut results = Mut.of();
-
- new CommandAPICommand("test")
- .withArguments(new ChatColorArgument("color"))
- .executesPlayer((player, args) -> {
- results.set((ChatColor) args.get(0));
- })
- .register();
-
- PlayerMock player = server.addPlayer();
-
- // /test
- // The list of 16 chat colors
- all16ChatColors: {
- int numberOfColors = 0;
- for(ChatColor color : ChatColor.values()) {
- if(color.isColor()) {
- server.dispatchCommand(player, "test " + color.name().toLowerCase());
- assertEquals(color, results.get());
- numberOfColors++;
- }
- }
-
- assertEquals(16, numberOfColors);
- }
-
- // /test reset
- server.dispatchCommand(player, "test reset");
- assertEquals(ChatColor.RESET, results.get());
-
- // /test
- // Fails because only 'reset' and the 16 chat colors are permitted
- for(ChatColor color : ChatColor.values()) {
- if(color.isFormat() && !color.equals(ChatColor.RESET)) {
- String colorName = color.name().toLowerCase();
- assertCommandFailsWith(player, "test " + colorName, "Unknown color '" + colorName + "'");
- }
- }
-
- assertNoMoreResults(results);
- }
-
- /********************
- * Suggestion tests *
- ********************/
-
- @Test
- void suggestionTestWithChatColorArgument() {
- new CommandAPICommand("test")
- .withArguments(new ChatColorArgument("color"))
- .executesPlayer(P_EXEC)
- .register();
-
- PlayerMock player = server.addPlayer();
-
- // /test d
- assertEquals(List.of("dark_aqua", "dark_blue", "dark_gray", "dark_green", "dark_purple", "dark_red"), server.getSuggestions(player, "test d"));
- }
-
-}
diff --git a/commandapi-platforms/commandapi-bukkit/commandapi-bukkit-test/pom.xml b/commandapi-platforms/commandapi-bukkit/commandapi-bukkit-test/pom.xml
index 9951aabd00..490a38f542 100644
--- a/commandapi-platforms/commandapi-bukkit/commandapi-bukkit-test/pom.xml
+++ b/commandapi-platforms/commandapi-bukkit/commandapi-bukkit-test/pom.xml
@@ -43,6 +43,5 @@
commandapi-bukkit-kotlin-test
- commandapi-bukkit-test-tests
\ No newline at end of file
diff --git a/commandapi-platforms/commandapi-bukkit/pom.xml b/commandapi-platforms/commandapi-bukkit/pom.xml
index 63beda0532..9a76186e83 100644
--- a/commandapi-platforms/commandapi-bukkit/pom.xml
+++ b/commandapi-platforms/commandapi-bukkit/pom.xml
@@ -20,7 +20,6 @@
commandapi-bukkit-nms
-
+ commandapi-bukkit-test
\ No newline at end of file
diff --git a/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-impl-1.16.5/pom.xml b/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-impl-1.16.5/pom.xml
new file mode 100644
index 0000000000..027a76a785
--- /dev/null
+++ b/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-impl-1.16.5/pom.xml
@@ -0,0 +1,119 @@
+
+
+ 4.0.0
+
+ dev.jorel
+ commandapi-paper-test
+ 9.4.0-SNAPSHOT
+
+
+ commandapi-paper-test-impl-1.16.5
+
+
+ 1.16.5-R0.1-SNAPSHOT
+
+
+
+
+
+ codemc-repo-public
+ https://repo.codemc.io/repository/maven-public/
+ default
+
+
+ codemc-repo
+ https://repo.codemc.io/repository/nms/
+ default
+
+
+ spigot-repo
+ https://hub.spigotmc.org/nexus/content/repositories/snapshots/
+
+
+ papermc
+ https://repo.papermc.io/repository/maven-public/
+
+
+ minecraft-libraries
+ https://libraries.minecraft.net
+
+
+
+
+
+
+ org.junit.jupiter
+ junit-jupiter-engine
+ 5.8.2
+ test
+
+
+ org.mockito
+ mockito-core
+ 4.6.1
+
+
+
+ de.tr7zw
+ item-nbt-api
+ 2.11.1
+ provided
+
+
+ com.mojang
+ brigadier
+ 1.0.17
+ provided
+
+
+ dev.jorel
+ commandapi-paper-test-impl
+ ${project.version}
+
+
+ dev.jorel
+ commandapi-paper-shade
+ ${project.version}
+
+
+ dev.jorel
+ commandapi-bukkit-test-impl-1.16.5
+ ${project.version}
+
+
+
+
+ com.github.seeseemelk
+ MockBukkit-v1.16
+ 1.5.2
+
+
+ com.destroystokyo.paper
+ paper-api
+ ${spigot.version}
+ provided
+
+
+ org.spigotmc
+ spigot
+ ${spigot.version}
+ provided
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-impl-1.16.5/src/main/java/dev/jorel/commandapi/test/PaperMockNMS.java b/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-impl-1.16.5/src/main/java/dev/jorel/commandapi/test/PaperMockNMS.java
new file mode 100644
index 0000000000..0b5ad20c73
--- /dev/null
+++ b/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-impl-1.16.5/src/main/java/dev/jorel/commandapi/test/PaperMockNMS.java
@@ -0,0 +1,39 @@
+package dev.jorel.commandapi.test;
+
+import com.mojang.brigadier.context.CommandContext;
+import com.mojang.brigadier.exceptions.CommandSyntaxException;
+import dev.jorel.commandapi.CommandAPIPaper;
+import dev.jorel.commandapi.nms.NMS;
+import dev.jorel.commandapi.nms.NMS_1_16_R3;
+import net.kyori.adventure.text.Component;
+import net.kyori.adventure.text.format.NamedTextColor;
+import net.minecraft.server.v1_16_R3.CommandListenerWrapper;
+
+public class PaperMockNMS extends PaperMockPlatform {
+
+ private final CommandAPIPaper basePaperNMS;
+
+ public PaperMockNMS(CommandAPIPaper> basePaperNMS) {
+ this.basePaperNMS = (CommandAPIPaper) basePaperNMS;
+ }
+
+ @Override
+ public Component getChat(CommandContext cmdCtx, String key) throws CommandSyntaxException {
+ return basePaperNMS.getChat(cmdCtx, key);
+ }
+
+ @Override
+ public NamedTextColor getChatColor(CommandContext cmdCtx, String key) {
+ return basePaperNMS.getChatColor(cmdCtx, key);
+ }
+
+ @Override
+ public Component getChatComponent(CommandContext cmdCtx, String key) {
+ return basePaperNMS.getChatComponent(cmdCtx, key);
+ }
+
+ @Override
+ public NMS> bukkitNMS() {
+ return new MockNMS(new NMS_1_16_R3());
+ }
+}
diff --git a/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-impl-1.17/pom.xml b/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-impl-1.17/pom.xml
new file mode 100644
index 0000000000..d3adcc6610
--- /dev/null
+++ b/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-impl-1.17/pom.xml
@@ -0,0 +1,146 @@
+
+
+ 4.0.0
+
+ dev.jorel
+ commandapi-paper-test
+ 9.4.0-SNAPSHOT
+
+
+ commandapi-paper-test-impl-1.17
+
+
+ 1.17-R0.1-SNAPSHOT
+ 1.17-R0.1-SNAPSHOT
+
+
+
+
+
+ codemc-repo-public
+ https://repo.codemc.io/repository/maven-public/
+ default
+
+
+ codemc-repo
+ https://repo.codemc.io/repository/nms/
+ default
+
+
+ spigot-repo
+ https://hub.spigotmc.org/nexus/content/repositories/snapshots/
+
+
+ papermc
+ https://repo.papermc.io/repository/maven-public/
+
+
+ minecraft-libraries
+ https://libraries.minecraft.net
+
+
+
+
+
+
+ org.junit.jupiter
+ junit-jupiter-engine
+ 5.8.2
+ test
+
+
+ org.mockito
+ mockito-core
+ 4.6.1
+
+
+
+ de.tr7zw
+ item-nbt-api
+ 2.11.1
+ provided
+
+
+ com.mojang
+ brigadier
+ 1.0.17
+ provided
+
+
+ dev.jorel
+ commandapi-paper-test-impl
+ ${project.version}
+
+
+ dev.jorel
+ commandapi-paper-shade
+ ${project.version}
+
+
+ dev.jorel
+ commandapi-bukkit-test-impl-1.17
+ ${project.version}
+
+
+
+
+ com.github.seeseemelk
+ MockBukkit-v1.17
+ 1.13.0
+
+
+ io.papermc.paper
+ paper-api
+ ${spigot.version}
+ provided
+
+
+ org.spigotmc
+ spigot
+ ${spigot.version}
+ remapped-mojang
+ provided
+
+
+
+
+
+
+ net.md-5
+ specialsource-maven-plugin
+ 1.2.4
+
+
+ package
+
+ remap
+
+ remap-obf
+
+ org.spigotmc:minecraft-server:${minecraft.mappings}:txt:maps-mojang
+ true
+ org.spigotmc:spigot:${minecraft.mappings}:jar:remapped-mojang
+ true
+ remapped-obf
+
+
+
+ package
+
+ remap
+
+ remap-spigot
+
+ ${project.build.directory}/${project.artifactId}-${project.version}-remapped-obf.jar
+ org.spigotmc:minecraft-server:${minecraft.mappings}:csrg:maps-spigot
+ org.spigotmc:spigot:${minecraft.mappings}:jar:remapped-obf
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-impl-1.17/src/main/java/dev/jorel/commandapi/test/PaperMockNMS.java b/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-impl-1.17/src/main/java/dev/jorel/commandapi/test/PaperMockNMS.java
new file mode 100644
index 0000000000..1cc1005919
--- /dev/null
+++ b/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-impl-1.17/src/main/java/dev/jorel/commandapi/test/PaperMockNMS.java
@@ -0,0 +1,39 @@
+package dev.jorel.commandapi.test;
+
+import com.mojang.brigadier.context.CommandContext;
+import com.mojang.brigadier.exceptions.CommandSyntaxException;
+import dev.jorel.commandapi.CommandAPIPaper;
+import dev.jorel.commandapi.nms.NMS;
+import dev.jorel.commandapi.nms.NMS_1_17;
+import net.kyori.adventure.text.Component;
+import net.kyori.adventure.text.format.NamedTextColor;
+import net.minecraft.commands.CommandSourceStack;
+
+public class PaperMockNMS extends PaperMockPlatform {
+
+ private final CommandAPIPaper basePaperNMS;
+
+ public PaperMockNMS(CommandAPIPaper> basePaperNMS) {
+ this.basePaperNMS = (CommandAPIPaper) basePaperNMS;
+ }
+
+ @Override
+ public Component getChat(CommandContext cmdCtx, String key) throws CommandSyntaxException {
+ return basePaperNMS.getChat(cmdCtx, key);
+ }
+
+ @Override
+ public NamedTextColor getChatColor(CommandContext cmdCtx, String key) {
+ return basePaperNMS.getChatColor(cmdCtx, key);
+ }
+
+ @Override
+ public Component getChatComponent(CommandContext cmdCtx, String key) {
+ return basePaperNMS.getChatComponent(cmdCtx, key);
+ }
+
+ @Override
+ public NMS> bukkitNMS() {
+ return new MockNMS(new NMS_1_17());
+ }
+}
diff --git a/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-impl-1.18/pom.xml b/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-impl-1.18/pom.xml
new file mode 100644
index 0000000000..5e4e7cb454
--- /dev/null
+++ b/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-impl-1.18/pom.xml
@@ -0,0 +1,146 @@
+
+
+ 4.0.0
+
+ dev.jorel
+ commandapi-paper-test
+ 9.4.0-SNAPSHOT
+
+
+ commandapi-paper-test-impl-1.18
+
+
+ 1.18.1-R0.1-SNAPSHOT
+ 1.18.1-R0.1-SNAPSHOT
+ 1.18.1-R0.1-SNAPSHOT
+
+
+
+
+
+ codemc-repo-public
+ https://repo.codemc.io/repository/maven-public/
+ default
+
+
+ codemc-repo
+ https://repo.codemc.io/repository/nms/
+ default
+
+
+ spigot-repo
+ https://hub.spigotmc.org/nexus/content/repositories/snapshots/
+
+
+ papermc
+ https://repo.papermc.io/repository/maven-public/
+
+
+ minecraft-libraries
+ https://libraries.minecraft.net
+
+
+
+
+
+
+ org.junit.jupiter
+ junit-jupiter-engine
+ 5.8.2
+ test
+
+
+ org.mockito
+ mockito-core
+ 4.6.1
+
+
+
+ de.tr7zw
+ item-nbt-api
+ 2.11.1
+ provided
+
+
+ com.mojang
+ brigadier
+ 1.0.17
+ provided
+
+
+ dev.jorel
+ commandapi-paper-test-impl
+ ${project.version}
+
+
+ dev.jorel
+ commandapi-paper-shade
+ ${project.version}
+
+
+ dev.jorel
+ commandapi-bukkit-test-impl-1.18
+ ${project.version}
+
+
+
+
+ com.github.seeseemelk
+ MockBukkit-v1.18
+ 2.27.0
+
+
+ io.papermc.paper
+ paper-api
+ ${paper.version}
+
+
+ org.spigotmc
+ spigot
+ ${spigot.version}
+ remapped-mojang
+ provided
+
+
+
+
+
+
+ net.md-5
+ specialsource-maven-plugin
+ 1.2.4
+
+
+ package
+
+ remap
+
+ remap-obf
+
+ org.spigotmc:minecraft-server:${minecraft.mappings}:txt:maps-mojang
+ true
+ org.spigotmc:spigot:${minecraft.mappings}:jar:remapped-mojang
+ true
+ remapped-obf
+
+
+
+ package
+
+ remap
+
+ remap-spigot
+
+ ${project.build.directory}/${project.artifactId}-${project.version}-remapped-obf.jar
+ org.spigotmc:minecraft-server:${minecraft.mappings}:csrg:maps-spigot
+ org.spigotmc:spigot:${minecraft.mappings}:jar:remapped-obf
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-impl-1.18/src/main/java/dev/jorel/commandapi/test/PaperMockNMS.java b/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-impl-1.18/src/main/java/dev/jorel/commandapi/test/PaperMockNMS.java
new file mode 100644
index 0000000000..67d9da212e
--- /dev/null
+++ b/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-impl-1.18/src/main/java/dev/jorel/commandapi/test/PaperMockNMS.java
@@ -0,0 +1,39 @@
+package dev.jorel.commandapi.test;
+
+import com.mojang.brigadier.context.CommandContext;
+import com.mojang.brigadier.exceptions.CommandSyntaxException;
+import dev.jorel.commandapi.CommandAPIPaper;
+import dev.jorel.commandapi.nms.NMS;
+import dev.jorel.commandapi.nms.NMS_1_18_R1;
+import net.kyori.adventure.text.Component;
+import net.kyori.adventure.text.format.NamedTextColor;
+import net.minecraft.commands.CommandSourceStack;
+
+public class PaperMockNMS extends PaperMockPlatform {
+
+ private final CommandAPIPaper basePaperNMS;
+
+ public PaperMockNMS(CommandAPIPaper> basePaperNMS) {
+ this.basePaperNMS = (CommandAPIPaper) basePaperNMS;
+ }
+
+ @Override
+ public Component getChat(CommandContext cmdCtx, String key) throws CommandSyntaxException {
+ return basePaperNMS.getChat(cmdCtx, key);
+ }
+
+ @Override
+ public NamedTextColor getChatColor(CommandContext cmdCtx, String key) {
+ return basePaperNMS.getChatColor(cmdCtx, key);
+ }
+
+ @Override
+ public Component getChatComponent(CommandContext cmdCtx, String key) {
+ return basePaperNMS.getChatComponent(cmdCtx, key);
+ }
+
+ @Override
+ public NMS> bukkitNMS() {
+ return new MockNMS(new NMS_1_18_R1());
+ }
+}
diff --git a/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-impl-1.19.2/pom.xml b/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-impl-1.19.2/pom.xml
new file mode 100644
index 0000000000..427963d57d
--- /dev/null
+++ b/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-impl-1.19.2/pom.xml
@@ -0,0 +1,145 @@
+
+
+ 4.0.0
+
+ dev.jorel
+ commandapi-paper-test
+ 9.4.0-SNAPSHOT
+
+
+ commandapi-paper-test-impl-1.19.2
+
+
+ 1.19.2-R0.1-SNAPSHOT
+ 1.19.2-R0.1-SNAPSHOT
+
+
+
+
+
+ codemc-repo-public
+ https://repo.codemc.io/repository/maven-public/
+ default
+
+
+ codemc-repo
+ https://repo.codemc.io/repository/nms/
+ default
+
+
+ spigot-repo
+ https://hub.spigotmc.org/nexus/content/repositories/snapshots/
+
+
+ papermc
+ https://repo.papermc.io/repository/maven-public/
+
+
+ minecraft-libraries
+ https://libraries.minecraft.net
+
+
+
+
+
+
+ org.junit.jupiter
+ junit-jupiter-engine
+ 5.8.2
+ test
+
+
+ org.mockito
+ mockito-core
+ 4.6.1
+
+
+
+ de.tr7zw
+ item-nbt-api
+ 2.11.1
+ provided
+
+
+ com.mojang
+ brigadier
+ 1.0.17
+ provided
+
+
+ dev.jorel
+ commandapi-paper-test-impl
+ ${project.version}
+
+
+ dev.jorel
+ commandapi-paper-shade
+ ${project.version}
+
+
+ dev.jorel
+ commandapi-bukkit-test-impl-1.19.2
+ ${project.version}
+
+
+
+
+ com.github.seeseemelk
+ MockBukkit-v1.19
+ 2.29.0
+
+
+ io.papermc.paper
+ paper-api
+ ${paper.version}
+
+
+ org.spigotmc
+ spigot
+ ${spigot.version}
+ remapped-mojang
+ provided
+
+
+
+
+
+
+ net.md-5
+ specialsource-maven-plugin
+ 1.2.4
+
+
+ package
+
+ remap
+
+ remap-obf
+
+ org.spigotmc:minecraft-server:${minecraft.mappings}:txt:maps-mojang
+ true
+ org.spigotmc:spigot:${minecraft.mappings}:jar:remapped-mojang
+ true
+ remapped-obf
+
+
+
+ package
+
+ remap
+
+ remap-spigot
+
+ ${project.build.directory}/${project.artifactId}-${project.version}-remapped-obf.jar
+ org.spigotmc:minecraft-server:${minecraft.mappings}:csrg:maps-spigot
+ org.spigotmc:spigot:${minecraft.mappings}:jar:remapped-obf
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-impl-1.19.2/src/main/java/dev/jorel/commandapi/test/PaperMockNMS.java b/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-impl-1.19.2/src/main/java/dev/jorel/commandapi/test/PaperMockNMS.java
new file mode 100644
index 0000000000..56a3777c9a
--- /dev/null
+++ b/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-impl-1.19.2/src/main/java/dev/jorel/commandapi/test/PaperMockNMS.java
@@ -0,0 +1,39 @@
+package dev.jorel.commandapi.test;
+
+import com.mojang.brigadier.context.CommandContext;
+import com.mojang.brigadier.exceptions.CommandSyntaxException;
+import dev.jorel.commandapi.CommandAPIPaper;
+import dev.jorel.commandapi.nms.NMS;
+import dev.jorel.commandapi.nms.NMS_1_19_1_R1;
+import net.kyori.adventure.text.Component;
+import net.kyori.adventure.text.format.NamedTextColor;
+import net.minecraft.commands.CommandSourceStack;
+
+public class PaperMockNMS extends PaperMockPlatform {
+
+ private final CommandAPIPaper basePaperNMS;
+
+ public PaperMockNMS(CommandAPIPaper> basePaperNMS) {
+ this.basePaperNMS = (CommandAPIPaper) basePaperNMS;
+ }
+
+ @Override
+ public Component getChat(CommandContext cmdCtx, String key) throws CommandSyntaxException {
+ return basePaperNMS.getChat(cmdCtx, key);
+ }
+
+ @Override
+ public NamedTextColor getChatColor(CommandContext cmdCtx, String key) {
+ return basePaperNMS.getChatColor(cmdCtx, key);
+ }
+
+ @Override
+ public Component getChatComponent(CommandContext cmdCtx, String key) {
+ return basePaperNMS.getChatComponent(cmdCtx, key);
+ }
+
+ @Override
+ public NMS> bukkitNMS() {
+ return new MockNMS(new NMS_1_19_1_R1());
+ }
+}
diff --git a/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-impl-1.19.4/pom.xml b/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-impl-1.19.4/pom.xml
new file mode 100644
index 0000000000..d208deab75
--- /dev/null
+++ b/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-impl-1.19.4/pom.xml
@@ -0,0 +1,183 @@
+
+
+ 4.0.0
+
+ dev.jorel
+ commandapi-paper-test
+ 9.4.0-SNAPSHOT
+
+
+ commandapi-paper-test-impl-1.19.4
+
+
+ 1.19.4-R0.1-SNAPSHOT
+ 1.19.4-R0.1-SNAPSHOT
+ 1.19.4-R0.1-SNAPSHOT
+
+
+
+
+
+ codemc-repo-public
+ https://repo.codemc.io/repository/maven-public/
+ default
+
+
+ codemc-repo
+ https://repo.codemc.io/repository/nms/
+ default
+
+
+ spigot-repo
+ https://hub.spigotmc.org/nexus/content/repositories/snapshots/
+
+
+ papermc
+ https://repo.papermc.io/repository/maven-public/
+
+
+ minecraft-libraries
+ https://libraries.minecraft.net
+
+
+
+
+
+
+ org.junit.jupiter
+ junit-jupiter-engine
+ 5.8.2
+ test
+
+
+ org.mockito
+ mockito-core
+ 4.6.1
+
+
+
+ de.tr7zw
+ item-nbt-api
+ 2.11.2
+ provided
+
+
+ com.mojang
+ brigadier
+ 1.0.17
+ provided
+
+
+ dev.jorel
+ commandapi-paper-test-impl
+ ${project.version}
+
+
+ dev.jorel
+ commandapi-paper-shade
+ ${project.version}
+
+
+ dev.jorel
+ commandapi-bukkit-test-impl-1.19.4
+ ${project.version}
+
+
+
+
+ com.github.seeseemelk
+ MockBukkit-v1.19
+ 2.29.0
+
+
+ io.papermc.paper
+ paper-api
+ ${paper.version}
+
+
+ org.spigotmc
+ spigot
+ ${spigot.version}
+ remapped-mojang
+ provided
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+ Mojang-Mapped
+
+ jar
+
+
+ mojang-mapped
+
+
+
+
+
+
+ net.md-5
+ specialsource-maven-plugin
+ 1.2.4
+
+
+ package
+
+ remap
+
+ remap-obf
+
+ org.spigotmc:minecraft-server:${minecraft.mappings}:txt:maps-mojang
+ true
+ org.spigotmc:spigot:${minecraft.mappings}:jar:remapped-mojang
+ true
+ remapped-obf
+
+
+
+ package
+
+ remap
+
+ remap-spigot
+
+ ${project.build.directory}/${project.artifactId}-${project.version}-remapped-obf.jar
+ org.spigotmc:minecraft-server:${minecraft.mappings}:csrg:maps-spigot
+ org.spigotmc:spigot:${minecraft.mappings}:jar:remapped-obf
+
+
+
+
+
+
+ org.jacoco
+ jacoco-maven-plugin
+
+
+ default-prepare-agent
+
+ prepare-agent
+
+
+
+ report
+ verify
+
+ report
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-impl-1.19.4/src/main/java/dev/jorel/commandapi/test/PaperMockNMS.java b/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-impl-1.19.4/src/main/java/dev/jorel/commandapi/test/PaperMockNMS.java
new file mode 100644
index 0000000000..7f4186a0fc
--- /dev/null
+++ b/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-impl-1.19.4/src/main/java/dev/jorel/commandapi/test/PaperMockNMS.java
@@ -0,0 +1,39 @@
+package dev.jorel.commandapi.test;
+
+import com.mojang.brigadier.context.CommandContext;
+import com.mojang.brigadier.exceptions.CommandSyntaxException;
+import dev.jorel.commandapi.CommandAPIPaper;
+import dev.jorel.commandapi.nms.NMS;
+import dev.jorel.commandapi.nms.NMS_1_19_4_R3;
+import net.kyori.adventure.text.Component;
+import net.kyori.adventure.text.format.NamedTextColor;
+import net.minecraft.commands.CommandSourceStack;
+
+public class PaperMockNMS extends PaperMockPlatform {
+
+ private final CommandAPIPaper basePaperNMS;
+
+ public PaperMockNMS(CommandAPIPaper> basePaperNMS) {
+ this.basePaperNMS = (CommandAPIPaper) basePaperNMS;
+ }
+
+ @Override
+ public Component getChat(CommandContext cmdCtx, String key) throws CommandSyntaxException {
+ return basePaperNMS.getChat(cmdCtx, key);
+ }
+
+ @Override
+ public NamedTextColor getChatColor(CommandContext cmdCtx, String key) {
+ return basePaperNMS.getChatColor(cmdCtx, key);
+ }
+
+ @Override
+ public Component getChatComponent(CommandContext cmdCtx, String key) {
+ return basePaperNMS.getChatComponent(cmdCtx, key);
+ }
+
+ @Override
+ public NMS> bukkitNMS() {
+ return new MockNMS(new NMS_1_19_4_R3());
+ }
+}
diff --git a/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-impl-1.20.2/pom.xml b/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-impl-1.20.2/pom.xml
new file mode 100644
index 0000000000..ecd78f4a37
--- /dev/null
+++ b/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-impl-1.20.2/pom.xml
@@ -0,0 +1,183 @@
+
+
+ 4.0.0
+
+ dev.jorel
+ commandapi-paper-test
+ 9.4.0-SNAPSHOT
+
+
+ commandapi-paper-test-impl-1.20.2
+
+
+ 1.20.2-R0.1-SNAPSHOT
+ 1.20.2-R0.1-SNAPSHOT
+ 1.20.2-R0.1-SNAPSHOT
+
+
+
+
+
+ codemc-repo-public
+ https://repo.codemc.io/repository/maven-public/
+ default
+
+
+ codemc-repo
+ https://repo.codemc.io/repository/nms/
+ default
+
+
+ spigot-repo
+ https://hub.spigotmc.org/nexus/content/repositories/snapshots/
+
+
+ papermc
+ https://repo.papermc.io/repository/maven-public/
+
+
+ minecraft-libraries
+ https://libraries.minecraft.net
+
+
+
+
+
+
+ org.junit.jupiter
+ junit-jupiter-engine
+ 5.8.2
+ test
+
+
+ org.mockito
+ mockito-core
+ 4.6.1
+
+
+
+ de.tr7zw
+ item-nbt-api
+ 2.11.2
+ provided
+
+
+ com.mojang
+ brigadier
+ 1.0.17
+ provided
+
+
+ dev.jorel
+ commandapi-paper-test-impl
+ ${project.version}
+
+
+ dev.jorel
+ commandapi-paper-shade
+ ${project.version}
+
+
+ dev.jorel
+ commandapi-bukkit-test-impl-1.20.2
+ ${project.version}
+
+
+
+
+ org.spigotmc
+ spigot
+ ${spigot.version}
+ remapped-mojang
+ provided
+
+
+ com.github.seeseemelk
+ MockBukkit-v1.20
+ 3.9.0
+
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+ Mojang-Mapped
+
+ jar
+
+
+ mojang-mapped
+
+
+
+
+
+
+ net.md-5
+ specialsource-maven-plugin
+ 1.2.4
+
+
+ package
+
+ remap
+
+ remap-obf
+
+ org.spigotmc:minecraft-server:${minecraft.mappings}:txt:maps-mojang
+ true
+ org.spigotmc:spigot:${minecraft.mappings}:jar:remapped-mojang
+ true
+ remapped-obf
+
+
+
+ package
+
+ remap
+
+ remap-spigot
+
+ ${project.build.directory}/${project.artifactId}-${project.version}-remapped-obf.jar
+ org.spigotmc:minecraft-server:${minecraft.mappings}:csrg:maps-spigot
+ org.spigotmc:spigot:${minecraft.mappings}:jar:remapped-obf
+
+
+
+
+
+
+ org.jacoco
+ jacoco-maven-plugin
+
+
+ default-prepare-agent
+
+ prepare-agent
+
+
+
+ report
+ verify
+
+ report
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-impl-1.20.2/src/main/java/dev/jorel/commandapi/test/PaperMockNMS.java b/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-impl-1.20.2/src/main/java/dev/jorel/commandapi/test/PaperMockNMS.java
new file mode 100644
index 0000000000..c4d054b082
--- /dev/null
+++ b/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-impl-1.20.2/src/main/java/dev/jorel/commandapi/test/PaperMockNMS.java
@@ -0,0 +1,39 @@
+package dev.jorel.commandapi.test;
+
+import com.mojang.brigadier.context.CommandContext;
+import com.mojang.brigadier.exceptions.CommandSyntaxException;
+import dev.jorel.commandapi.CommandAPIPaper;
+import dev.jorel.commandapi.nms.NMS;
+import dev.jorel.commandapi.nms.NMS_1_20_R2;
+import net.kyori.adventure.text.Component;
+import net.kyori.adventure.text.format.NamedTextColor;
+import net.minecraft.commands.CommandSourceStack;
+
+public class PaperMockNMS extends PaperMockPlatform {
+
+ private final CommandAPIPaper basePaperNMS;
+
+ public PaperMockNMS(CommandAPIPaper> basePaperNMS) {
+ this.basePaperNMS = (CommandAPIPaper) basePaperNMS;
+ }
+
+ @Override
+ public Component getChat(CommandContext cmdCtx, String key) throws CommandSyntaxException {
+ return basePaperNMS.getChat(cmdCtx, key);
+ }
+
+ @Override
+ public NamedTextColor getChatColor(CommandContext cmdCtx, String key) {
+ return basePaperNMS.getChatColor(cmdCtx, key);
+ }
+
+ @Override
+ public Component getChatComponent(CommandContext cmdCtx, String key) {
+ return basePaperNMS.getChatComponent(cmdCtx, key);
+ }
+
+ @Override
+ public NMS> bukkitNMS() {
+ return new MockNMS(new NMS_1_20_R2());
+ }
+}
diff --git a/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-impl-1.20.3/pom.xml b/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-impl-1.20.3/pom.xml
new file mode 100644
index 0000000000..c3fc7a24c3
--- /dev/null
+++ b/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-impl-1.20.3/pom.xml
@@ -0,0 +1,183 @@
+
+
+ 4.0.0
+
+ dev.jorel
+ commandapi-paper-test
+ 9.4.0-SNAPSHOT
+
+
+ commandapi-paper-test-impl-1.20.3
+
+
+ 1.20.4-R0.1-SNAPSHOT
+ 1.20.4-R0.1-SNAPSHOT
+ 1.20.4-R0.1-SNAPSHOT
+
+
+
+
+
+ codemc-repo-public
+ https://repo.codemc.io/repository/maven-public/
+ default
+
+
+ codemc-repo
+ https://repo.codemc.io/repository/nms/
+ default
+
+
+ spigot-repo
+ https://hub.spigotmc.org/nexus/content/repositories/snapshots/
+
+
+ papermc
+ https://repo.papermc.io/repository/maven-public/
+
+
+ minecraft-libraries
+ https://libraries.minecraft.net
+
+
+
+
+
+
+ org.junit.jupiter
+ junit-jupiter-engine
+ 5.8.2
+ test
+
+
+ org.mockito
+ mockito-core
+ 4.6.1
+
+
+
+ de.tr7zw
+ item-nbt-api
+ 2.11.2
+ provided
+
+
+ com.mojang
+ brigadier
+ 1.2.9
+ provided
+
+
+ dev.jorel
+ commandapi-paper-test-impl
+ ${project.version}
+
+
+ dev.jorel
+ commandapi-paper-shade
+ ${project.version}
+
+
+ dev.jorel
+ commandapi-bukkit-test-impl-1.20.3
+ ${project.version}
+
+
+
+
+ org.spigotmc
+ spigot
+ ${spigot.version}
+ remapped-mojang
+ provided
+
+
+ com.github.seeseemelk
+ MockBukkit-v1.20
+ 3.9.0
+
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+ Mojang-Mapped
+
+ jar
+
+
+ mojang-mapped
+
+
+
+
+
+
+ net.md-5
+ specialsource-maven-plugin
+ 1.2.4
+
+
+ package
+
+ remap
+
+ remap-obf
+
+ org.spigotmc:minecraft-server:${minecraft.mappings}:txt:maps-mojang
+ true
+ org.spigotmc:spigot:${minecraft.mappings}:jar:remapped-mojang
+ true
+ remapped-obf
+
+
+
+ package
+
+ remap
+
+ remap-spigot
+
+ ${project.build.directory}/${project.artifactId}-${project.version}-remapped-obf.jar
+ org.spigotmc:minecraft-server:${minecraft.mappings}:csrg:maps-spigot
+ org.spigotmc:spigot:${minecraft.mappings}:jar:remapped-obf
+
+
+
+
+
+
+ org.jacoco
+ jacoco-maven-plugin
+
+
+ default-prepare-agent
+
+ prepare-agent
+
+
+
+ report
+ verify
+
+ report
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-impl-1.20.3/src/main/java/dev/jorel/commandapi/test/PaperMockNMS.java b/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-impl-1.20.3/src/main/java/dev/jorel/commandapi/test/PaperMockNMS.java
new file mode 100644
index 0000000000..fbb79c7ac1
--- /dev/null
+++ b/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-impl-1.20.3/src/main/java/dev/jorel/commandapi/test/PaperMockNMS.java
@@ -0,0 +1,39 @@
+package dev.jorel.commandapi.test;
+
+import com.mojang.brigadier.context.CommandContext;
+import com.mojang.brigadier.exceptions.CommandSyntaxException;
+import dev.jorel.commandapi.CommandAPIPaper;
+import dev.jorel.commandapi.nms.NMS;
+import dev.jorel.commandapi.nms.NMS_1_20_R3;
+import net.kyori.adventure.text.Component;
+import net.kyori.adventure.text.format.NamedTextColor;
+import net.minecraft.commands.CommandSourceStack;
+
+public class PaperMockNMS extends PaperMockPlatform {
+
+ private final CommandAPIPaper basePaperNMS;
+
+ public PaperMockNMS(CommandAPIPaper> basePaperNMS) {
+ this.basePaperNMS = (CommandAPIPaper) basePaperNMS;
+ }
+
+ @Override
+ public Component getChat(CommandContext cmdCtx, String key) throws CommandSyntaxException {
+ return basePaperNMS.getChat(cmdCtx, key);
+ }
+
+ @Override
+ public NamedTextColor getChatColor(CommandContext cmdCtx, String key) {
+ return basePaperNMS.getChatColor(cmdCtx, key);
+ }
+
+ @Override
+ public Component getChatComponent(CommandContext cmdCtx, String key) {
+ return basePaperNMS.getChatComponent(cmdCtx, key);
+ }
+
+ @Override
+ public NMS> bukkitNMS() {
+ return new MockNMS(new NMS_1_20_R3());
+ }
+}
diff --git a/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-impl-1.20/pom.xml b/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-impl-1.20/pom.xml
new file mode 100644
index 0000000000..aa5b9fa54d
--- /dev/null
+++ b/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-impl-1.20/pom.xml
@@ -0,0 +1,183 @@
+
+
+ 4.0.0
+
+ dev.jorel
+ commandapi-paper-test
+ 9.4.0-SNAPSHOT
+
+
+ commandapi-paper-test-impl-1.20
+
+
+ 1.20.1-R0.1-SNAPSHOT
+ 1.20.1-R0.1-SNAPSHOT
+ 1.20.1-R0.1-SNAPSHOT
+
+
+
+
+
+ codemc-repo-public
+ https://repo.codemc.io/repository/maven-public/
+ default
+
+
+ codemc-repo
+ https://repo.codemc.io/repository/nms/
+ default
+
+
+ spigot-repo
+ https://hub.spigotmc.org/nexus/content/repositories/snapshots/
+
+
+ papermc
+ https://repo.papermc.io/repository/maven-public/
+
+
+ minecraft-libraries
+ https://libraries.minecraft.net
+
+
+
+
+
+
+ org.junit.jupiter
+ junit-jupiter-engine
+ 5.8.2
+ test
+
+
+ org.mockito
+ mockito-core
+ 4.6.1
+
+
+
+ de.tr7zw
+ item-nbt-api
+ 2.11.2
+ provided
+
+
+ com.mojang
+ brigadier
+ 1.0.17
+ provided
+
+
+ dev.jorel
+ commandapi-paper-test-impl
+ ${project.version}
+
+
+ dev.jorel
+ commandapi-paper-shade
+ ${project.version}
+
+
+ dev.jorel
+ commandapi-bukkit-test-impl-1.20
+ ${project.version}
+
+
+
+
+ org.spigotmc
+ spigot
+ ${spigot.version}
+ remapped-mojang
+ provided
+
+
+ com.github.seeseemelk
+ MockBukkit-v1.19
+ 2.29.0
+
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+ Mojang-Mapped
+
+ jar
+
+
+ mojang-mapped
+
+
+
+
+
+
+ net.md-5
+ specialsource-maven-plugin
+ 1.2.4
+
+
+ package
+
+ remap
+
+ remap-obf
+
+ org.spigotmc:minecraft-server:${minecraft.mappings}:txt:maps-mojang
+ true
+ org.spigotmc:spigot:${minecraft.mappings}:jar:remapped-mojang
+ true
+ remapped-obf
+
+
+
+ package
+
+ remap
+
+ remap-spigot
+
+ ${project.build.directory}/${project.artifactId}-${project.version}-remapped-obf.jar
+ org.spigotmc:minecraft-server:${minecraft.mappings}:csrg:maps-spigot
+ org.spigotmc:spigot:${minecraft.mappings}:jar:remapped-obf
+
+
+
+
+
+
+ org.jacoco
+ jacoco-maven-plugin
+
+
+ default-prepare-agent
+
+ prepare-agent
+
+
+
+ report
+ verify
+
+ report
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-impl-1.20/src/main/java/dev/jorel/commandapi/test/PaperMockNMS.java b/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-impl-1.20/src/main/java/dev/jorel/commandapi/test/PaperMockNMS.java
new file mode 100644
index 0000000000..bac564d10f
--- /dev/null
+++ b/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-impl-1.20/src/main/java/dev/jorel/commandapi/test/PaperMockNMS.java
@@ -0,0 +1,39 @@
+package dev.jorel.commandapi.test;
+
+import com.mojang.brigadier.context.CommandContext;
+import com.mojang.brigadier.exceptions.CommandSyntaxException;
+import dev.jorel.commandapi.CommandAPIPaper;
+import dev.jorel.commandapi.nms.NMS;
+import dev.jorel.commandapi.nms.NMS_1_20_R1;
+import net.kyori.adventure.text.Component;
+import net.kyori.adventure.text.format.NamedTextColor;
+import net.minecraft.commands.CommandSourceStack;
+
+public class PaperMockNMS extends PaperMockPlatform {
+
+ private final CommandAPIPaper basePaperNMS;
+
+ public PaperMockNMS(CommandAPIPaper> basePaperNMS) {
+ this.basePaperNMS = (CommandAPIPaper) basePaperNMS;
+ }
+
+ @Override
+ public Component getChat(CommandContext cmdCtx, String key) throws CommandSyntaxException {
+ return basePaperNMS.getChat(cmdCtx, key);
+ }
+
+ @Override
+ public NamedTextColor getChatColor(CommandContext cmdCtx, String key) {
+ return basePaperNMS.getChatColor(cmdCtx, key);
+ }
+
+ @Override
+ public Component getChatComponent(CommandContext cmdCtx, String key) {
+ return basePaperNMS.getChatComponent(cmdCtx, key);
+ }
+
+ @Override
+ public NMS> bukkitNMS() {
+ return new MockNMS(new NMS_1_20_R1());
+ }
+}
diff --git a/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-impl/pom.xml b/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-impl/pom.xml
new file mode 100644
index 0000000000..39e3d65c6a
--- /dev/null
+++ b/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-impl/pom.xml
@@ -0,0 +1,69 @@
+
+
+ 4.0.0
+
+ dev.jorel
+ commandapi-paper-test
+ 9.4.0-SNAPSHOT
+
+
+ commandapi-paper-test-impl
+
+
+ 1.19.2-R0.1-SNAPSHOT
+
+
+
+
+ codemc-repo
+ https://repo.codemc.io/repository/nms/
+ default
+
+
+ spigot-repo
+ https://hub.spigotmc.org/nexus/content/repositories/snapshots/
+
+
+ papermc
+ https://repo.papermc.io/repository/maven-public/
+
+
+ minecraft-libraries
+ https://libraries.minecraft.net
+
+
+
+
+
+ com.mojang
+ brigadier
+ 1.0.17
+ provided
+
+
+ dev.jorel
+ commandapi-paper-shade
+ ${project.version}
+
+
+ io.papermc.paper
+ paper-api
+ ${spigot.version}
+ provided
+
+
+ org.spigotmc
+ spigot
+ ${spigot.version}
+ provided
+
+
+ dev.jorel
+ commandapi-bukkit-test-impl
+ ${project.version}
+
+
+
+
\ No newline at end of file
diff --git a/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-impl/src/main/java/dev/jorel/commandapi/test/PaperMockPlatform.java b/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-impl/src/main/java/dev/jorel/commandapi/test/PaperMockPlatform.java
new file mode 100644
index 0000000000..582c20b5ae
--- /dev/null
+++ b/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-impl/src/main/java/dev/jorel/commandapi/test/PaperMockPlatform.java
@@ -0,0 +1,27 @@
+package dev.jorel.commandapi.test;
+
+import dev.jorel.commandapi.CommandAPIPaper;
+
+public abstract class PaperMockPlatform extends CommandAPIPaper {
+
+ private static MockPlatform> bukkit = null;
+ private static PaperMockPlatform> instance = null;
+
+ public static MockPlatform getBukkit() {
+ return (MockPlatform) bukkit;
+ }
+
+ public static PaperMockPlatform getPaper() {
+ return (PaperMockPlatform) instance;
+ }
+
+ protected PaperMockPlatform() {
+ if (PaperMockPlatform.instance == null) {
+ bukkit = (MockPlatform>) bukkitNMS();
+ instance = this;
+ } else {
+ return;
+ }
+ }
+
+}
diff --git a/commandapi-platforms/commandapi-bukkit/commandapi-bukkit-test/commandapi-bukkit-test-tests/pom.xml b/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-tests/pom.xml
similarity index 91%
rename from commandapi-platforms/commandapi-bukkit/commandapi-bukkit-test/commandapi-bukkit-test-tests/pom.xml
rename to commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-tests/pom.xml
index 9b2b032f60..52cce58399 100644
--- a/commandapi-platforms/commandapi-bukkit/commandapi-bukkit-test/commandapi-bukkit-test-tests/pom.xml
+++ b/commandapi-platforms/commandapi-paper/commandapi-paper-test/commandapi-paper-test-tests/pom.xml
@@ -23,14 +23,14 @@
- commandapi-bukkit-test
+ commandapi-paper-test
dev.jorel
9.4.0-SNAPSHOT
4.0.0
- commandapi-bukkit-test-tests
+ commandapi-paper-test-tests
@@ -83,7 +83,7 @@
dev.jorel
- commandapi-bukkit-test-impl
+ commandapi-paper-test-impl
${project.version}
@@ -180,12 +180,12 @@
dev.jorel
- commandapi-bukkit-shade
+ commandapi-paper-shade
${project.version}
dev.jorel
- commandapi-bukkit-test-impl-1.20.3
+ commandapi-paper-test-impl-1.20.3
${project.version}
test
@@ -219,12 +219,12 @@
dev.jorel
- commandapi-bukkit-shade
+ commandapi-paper-shade
${project.version}
dev.jorel
- commandapi-bukkit-test-impl-1.20.2
+ commandapi-paper-test-impl-1.20.2
${project.version}
test
@@ -257,12 +257,12 @@
dev.jorel
- commandapi-bukkit-shade
+ commandapi-paper-shade
${project.version}
dev.jorel
- commandapi-bukkit-test-impl-1.20
+ commandapi-paper-test-impl-1.20
${project.version}
test
@@ -292,18 +292,18 @@
dev.jorel
- commandapi-bukkit-nms-dependency-mojang-mapped
+ commandapi-paper-nms-dependency-mojang-mapped
${project.version}
pom
dev.jorel
- commandapi-bukkit-shade
+ commandapi-paper-shade
${project.version}
dev.jorel
- commandapi-bukkit-test-impl-1.20
+ commandapi-paper-test-impl-1.20
${project.version}
mojang-mapped
test
@@ -336,12 +336,12 @@
dev.jorel
- commandapi-bukkit-shade
+ commandapi-paper-shade
${project.version}
dev.jorel
- commandapi-bukkit-test-impl-1.19.4
+ commandapi-paper-test-impl-1.19.4
${project.version}
test
@@ -371,18 +371,18 @@
dev.jorel
- commandapi-bukkit-nms-dependency-mojang-mapped
+ commandapi-paper-nms-dependency-mojang-mapped
${project.version}
pom
dev.jorel
- commandapi-bukkit-shade
+ commandapi-paper-shade
${project.version}
dev.jorel
- commandapi-bukkit-test-impl-1.19.4
+ commandapi-paper-test-impl-1.19.4
${project.version}
mojang-mapped
test
@@ -406,12 +406,12 @@
dev.jorel
- commandapi-bukkit-shade
+ commandapi-paper-shade
${project.version}
dev.jorel
- commandapi-bukkit-test-impl-1.19.2
+ commandapi-paper-test-impl-1.19.2
${project.version}
test
@@ -434,12 +434,12 @@
dev.jorel
- commandapi-bukkit-shade
+ commandapi-paper-shade
${project.version}
dev.jorel
- commandapi-bukkit-test-impl-1.18
+ commandapi-paper-test-impl-1.18
${project.version}