diff options
author | nea <nea@nea.moe> | 2023-10-21 17:28:00 +0200 |
---|---|---|
committer | nea <nea@nea.moe> | 2023-10-21 17:28:00 +0200 |
commit | e887067b7ecfa9d8e040008cca8d26c194f8c1a5 (patch) | |
tree | 8c558ed23edabd7722bf869ce24d5561b6644e44 /src/main/java | |
parent | bc758d17e2ac5c507117f85bf76b081a05f2baca (diff) | |
download | firmament-e887067b7ecfa9d8e040008cca8d26c194f8c1a5.tar.gz firmament-e887067b7ecfa9d8e040008cca8d26c194f8c1a5.tar.bz2 firmament-e887067b7ecfa9d8e040008cca8d26c194f8c1a5.zip |
Add tab completion to /warp
Diffstat (limited to 'src/main/java')
-rw-r--r-- | src/main/java/moe/nea/firmament/mixins/MixinClientPacketHandler.java | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/main/java/moe/nea/firmament/mixins/MixinClientPacketHandler.java b/src/main/java/moe/nea/firmament/mixins/MixinClientPacketHandler.java index 220c76f..0dbf60c 100644 --- a/src/main/java/moe/nea/firmament/mixins/MixinClientPacketHandler.java +++ b/src/main/java/moe/nea/firmament/mixins/MixinClientPacketHandler.java @@ -6,6 +6,9 @@ package moe.nea.firmament.mixins; +import com.llamalad7.mixinextras.injector.ModifyExpressionValue; +import com.mojang.brigadier.CommandDispatcher; +import moe.nea.firmament.events.MaskCommands; import moe.nea.firmament.events.ParticleSpawnEvent; import net.minecraft.client.network.ClientPlayNetworkHandler; import net.minecraft.network.packet.s2c.play.ParticleS2CPacket; @@ -16,7 +19,15 @@ import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; @Mixin(ClientPlayNetworkHandler.class) -public class MixinClientPacketHandler { +public abstract class MixinClientPacketHandler { + + + @ModifyExpressionValue(method = "onCommandTree", at = @At(value = "NEW", target = "(Lcom/mojang/brigadier/tree/RootCommandNode;)Lcom/mojang/brigadier/CommandDispatcher;")) + public CommandDispatcher onOnCommandTree(CommandDispatcher dispatcher) { + MaskCommands.Companion.publish(new MaskCommands(dispatcher)); + return dispatcher; + } + @Inject(method = "onParticle", at = @At(value = "INVOKE", target = "Lnet/minecraft/network/NetworkThreadUtils;forceMainThread(Lnet/minecraft/network/packet/Packet;Lnet/minecraft/network/listener/PacketListener;Lnet/minecraft/util/thread/ThreadExecutor;)V", shift = At.Shift.AFTER), cancellable = true) public void onParticleSpawn(ParticleS2CPacket packet, CallbackInfo ci) { var event = new ParticleSpawnEvent( |