--- a/Common/src/main/java/com/hypherionmc/craterlib/mixin/events/CommandMixin.java
+++ b/Common/src/main/java/com/hypherionmc/craterlib/mixin/events/CommandMixin.java
@@ -9,28 +9,28 @@
 import org.spongepowered.asm.mixin.Mixin;
 import org.spongepowered.asm.mixin.injection.At;
 import org.spongepowered.asm.mixin.injection.Inject;
-import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
+import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
 
 @Mixin(Commands.class)
 public class CommandMixin {
 
     @Inject(method = "performCommand",
             at = @At(value = "INVOKE",
-                    target = "Lnet/minecraft/commands/Commands;finishParsing(Lcom/mojang/brigadier/ParseResults;Ljava/lang/String;Lnet/minecraft/commands/CommandSourceStack;)Lcom/mojang/brigadier/context/ContextChain;",
+                    target = "Lcom/mojang/brigadier/CommandDispatcher;execute(Lcom/mojang/brigadier/ParseResults;)I",
                     shift = At.Shift.BEFORE
             ), cancellable = true
     )
-    private void injectCommandEvent(ParseResults<CommandSourceStack> stackParseResults, String command, CallbackInfo ci) {
+    private void injectCommandEvent(ParseResults<CommandSourceStack> stackParseResults, String command, CallbackInfoReturnable<Integer> cir) {
         CraterCommandEvent commandEvent = CraterCommandEvent.of(stackParseResults, command);
         CraterEventBus.INSTANCE.postEvent(commandEvent);
         if (commandEvent.wasCancelled()) {
-            ci.cancel();
+            cir.setReturnValue(1);
             return;
         }
 
         if (commandEvent.getException() != null) {
             Throwables.throwIfUnchecked(commandEvent.getException());
-            ci.cancel();
+            cir.setReturnValue(1);
         }
     }
 
