diff --git a/gradle.properties b/gradle.properties
index c597c7b..b3dd17e 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -13,4 +13,4 @@ modrinth_optional_dependencies=P7dR8mSH
curseforge_id=482600
curseforge_optional_dependencies=fabric-api
-commons_version=2022.6.7+11-38-13
\ No newline at end of file
+commons_version=2022.6.7+17-43-1
\ No newline at end of file
diff --git a/libjf-devutil-v0/src/main/java/io/gitlab/jfronny/libjf/devutil/mixin/ArgumentTypesMixin.java b/libjf-devutil-v0/src/main/java/io/gitlab/jfronny/libjf/devutil/mixin/ArgumentTypesMixin.java
new file mode 100644
index 0000000..2fcd386
--- /dev/null
+++ b/libjf-devutil-v0/src/main/java/io/gitlab/jfronny/libjf/devutil/mixin/ArgumentTypesMixin.java
@@ -0,0 +1,23 @@
+package io.gitlab.jfronny.libjf.devutil.mixin;
+
+import com.mojang.brigadier.arguments.*;
+import net.minecraft.command.argument.*;
+import net.minecraft.command.argument.serialize.*;
+import net.minecraft.util.registry.*;
+import org.spongepowered.asm.mixin.*;
+import org.spongepowered.asm.mixin.injection.*;
+
+@Mixin(ArgumentTypes.class)
+public abstract class ArgumentTypesMixin {
+ @Shadow
+ private static , T extends ArgumentSerializer.ArgumentTypeProperties> ArgumentSerializer register(Registry> registry, String id, Class extends A> clazz, ArgumentSerializer serializer) {
+ throw new RuntimeException("Mixin not applied properly");
+ }
+
+ @Redirect(method = "register(Lnet/minecraft/util/registry/Registry;)Lnet/minecraft/command/argument/serialize/ArgumentSerializer;", at = @At(value = "INVOKE", target = "Lnet/minecraft/command/argument/ArgumentTypes;register(Lnet/minecraft/util/registry/Registry;Ljava/lang/String;Ljava/lang/Class;Lnet/minecraft/command/argument/serialize/ArgumentSerializer;)Lnet/minecraft/command/argument/serialize/ArgumentSerializer;"))
+ private static , T extends ArgumentSerializer.ArgumentTypeProperties> ArgumentSerializer libjf$redirectRegister(Registry> registry, String id, Class extends A> clazz, ArgumentSerializer serializer) {
+ if (clazz != TestFunctionArgumentType.class && clazz != TestClassArgumentType.class)
+ return register(registry, id, clazz, serializer);
+ return null;
+ }
+}
diff --git a/libjf-devutil-v0/src/main/java/io/gitlab/jfronny/libjf/devutil/mixin/CommandManagerMixin.java b/libjf-devutil-v0/src/main/java/io/gitlab/jfronny/libjf/devutil/mixin/CommandManagerMixin.java
new file mode 100644
index 0000000..5b3a7f2
--- /dev/null
+++ b/libjf-devutil-v0/src/main/java/io/gitlab/jfronny/libjf/devutil/mixin/CommandManagerMixin.java
@@ -0,0 +1,14 @@
+package io.gitlab.jfronny.libjf.devutil.mixin;
+
+import com.mojang.brigadier.*;
+import net.minecraft.server.command.*;
+import org.spongepowered.asm.mixin.*;
+import org.spongepowered.asm.mixin.injection.*;
+
+@Mixin(CommandManager.class)
+public class CommandManagerMixin {
+ @Redirect(method = "(Lnet/minecraft/server/command/CommandManager$RegistrationEnvironment;Lnet/minecraft/command/CommandRegistryAccess;)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/server/command/TestCommand;register(Lcom/mojang/brigadier/CommandDispatcher;)V"))
+ private void register(CommandDispatcher> dispatcher) {
+ // Ignored: would cause an issue
+ }
+}
diff --git a/libjf-devutil-v0/src/main/resources/libjf-devutil-v0.mixins.json b/libjf-devutil-v0/src/main/resources/libjf-devutil-v0.mixins.json
index e7b5b77..e6160a6 100644
--- a/libjf-devutil-v0/src/main/resources/libjf-devutil-v0.mixins.json
+++ b/libjf-devutil-v0/src/main/resources/libjf-devutil-v0.mixins.json
@@ -4,6 +4,8 @@
"package": "io.gitlab.jfronny.libjf.devutil.mixin",
"compatibilityLevel": "JAVA_16",
"mixins": [
+ "ArgumentTypesMixin",
+ "CommandManagerMixin"
],
"client": [
"MinecraftClientMixin"