From 05af452b76c10476e6806aed086a45374df7056f Mon Sep 17 00:00:00 2001 From: Lorenz Date: Fri, 8 Jul 2022 08:09:43 +0200 Subject: added DungeonHighlightClickedBlocks, changed chat manager from forge event to packet --- .../mod/mixins/MixinNetHandlerPlayClient.java | 34 ++++++++++++++++++++++ .../at/lorenz/mod/mixins/MixinNetworkManager.java | 19 ++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 src/main/java/at/lorenz/mod/mixins/MixinNetHandlerPlayClient.java create mode 100644 src/main/java/at/lorenz/mod/mixins/MixinNetworkManager.java (limited to 'src/main/java/at/lorenz/mod/mixins') diff --git a/src/main/java/at/lorenz/mod/mixins/MixinNetHandlerPlayClient.java b/src/main/java/at/lorenz/mod/mixins/MixinNetHandlerPlayClient.java new file mode 100644 index 000000000..9944a83ac --- /dev/null +++ b/src/main/java/at/lorenz/mod/mixins/MixinNetHandlerPlayClient.java @@ -0,0 +1,34 @@ +package at.lorenz.mod.mixins; + +import at.lorenz.mod.mixinhooks.NetHandlerPlayClientHookKt; +import net.minecraft.client.multiplayer.WorldClient; +import net.minecraft.client.network.NetHandlerPlayClient; +import net.minecraft.entity.Entity; +import net.minecraft.network.Packet; +import net.minecraft.network.play.INetHandlerPlayClient; +import net.minecraft.network.play.server.S0FPacketSpawnMob; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +@Mixin(value = NetHandlerPlayClient.class, priority = 1001) +public abstract class MixinNetHandlerPlayClient implements INetHandlerPlayClient { + @Shadow + private WorldClient clientWorldController; + + @Inject(method = "addToSendQueue", at = @At("HEAD"), cancellable = true) + private void onSendPacket(Packet packet, CallbackInfo ci) { + NetHandlerPlayClientHookKt.onSendPacket(packet, ci); + } + +// @Inject(method = "handleSpawnMob", at = @At("TAIL")) +// private void onHandleSpawnMobTail(S0FPacketSpawnMob packetIn, CallbackInfo ci) { +// Entity entity = this.clientWorldController.getEntityByID(packetIn.getEntityID()); +// MasterMode7Features.INSTANCE.onMobSpawned(entity); +// ((ExtensionEntityLivingBase) entity).getSkytilsHook().onNewDisplayName( +// entity.getDataWatcher().getWatchableObjectString(2) +// ); +// } +} diff --git a/src/main/java/at/lorenz/mod/mixins/MixinNetworkManager.java b/src/main/java/at/lorenz/mod/mixins/MixinNetworkManager.java new file mode 100644 index 000000000..c2314201b --- /dev/null +++ b/src/main/java/at/lorenz/mod/mixins/MixinNetworkManager.java @@ -0,0 +1,19 @@ +package at.lorenz.mod.mixins; + +import io.netty.channel.ChannelHandlerContext; +import io.netty.channel.SimpleChannelInboundHandler; +import net.minecraft.network.NetworkManager; +import net.minecraft.network.Packet; +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 at.lorenz.mod.mixinhooks.NetworkManagerHookKt; + +@Mixin(value = NetworkManager.class, priority = 1001) +public abstract class MixinNetworkManager extends SimpleChannelInboundHandler> { + @Inject(method = "channelRead0", at = @At("HEAD"), cancellable = true) + private void onReceivePacket(ChannelHandlerContext context, Packet packet, CallbackInfo ci) { + NetworkManagerHookKt.onReceivePacket(context, packet, ci); + } +} -- cgit