diff options
Diffstat (limited to 'src/main/java/moe/nea')
-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( |