diff options
| author | Moulberry <jjenour@student.unimelb.edu.au> | 2022-03-03 11:03:58 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-03-03 11:03:58 +0800 |
| commit | 7c6d37b2eb758a13b342b906f0aef88b940bc52a (patch) | |
| tree | 9602a014425b859e3aba98f31f93d6de04521356 /src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinNetHandlerPlayClient.java | |
| parent | b11742988dec635b5c5da7c2363803cbfafb37b1 (diff) | |
| parent | db59eba3fd9121c7c0a88363994876c5b582c08c (diff) | |
| download | notenoughupdates-7c6d37b2eb758a13b342b906f0aef88b940bc52a.tar.gz notenoughupdates-7c6d37b2eb758a13b342b906f0aef88b940bc52a.tar.bz2 notenoughupdates-7c6d37b2eb758a13b342b906f0aef88b940bc52a.zip | |
Merge pull request #248 from NotEnoughUpdates/master
NEU 2.1 🙂
Diffstat (limited to 'src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinNetHandlerPlayClient.java')
| -rw-r--r-- | src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinNetHandlerPlayClient.java | 154 |
1 files changed, 85 insertions, 69 deletions
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinNetHandlerPlayClient.java b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinNetHandlerPlayClient.java index 5711f92b..d47dce2c 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinNetHandlerPlayClient.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/mixins/MixinNetHandlerPlayClient.java @@ -1,9 +1,7 @@ package io.github.moulberry.notenoughupdates.mixins; import io.github.moulberry.notenoughupdates.miscfeatures.*; -import io.github.moulberry.notenoughupdates.NotEnoughUpdates; import io.github.moulberry.notenoughupdates.util.SBInfo; -import net.minecraft.client.Minecraft; import net.minecraft.client.multiplayer.WorldClient; import net.minecraft.client.network.NetHandlerPlayClient; import net.minecraft.entity.player.EntityPlayer; @@ -19,82 +17,100 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; @Mixin(NetHandlerPlayClient.class) public class MixinNetHandlerPlayClient { - private static final String TARGET = "Lnet/minecraft/entity/player/EntityPlayer;" + - "setPositionAndRotation(DDDFF)V"; - @Redirect(method="handlePlayerPosLook", at=@At(value="INVOKE", target=TARGET)) - public void handlePlayerPosLook_setPositionAndRotation(EntityPlayer player, double x, double y, double z, float yaw, float pitch) { - if(CustomItemEffects.INSTANCE.aoteTeleportationCurr != null) { - CustomItemEffects.INSTANCE.aoteTeleportationMillis += Math.max(0, Math.min(300, CustomItemEffects.INSTANCE.tpTime)); - } - player.setPositionAndRotation(x, y, z, yaw, pitch); - } + private static final String TARGET = "Lnet/minecraft/entity/player/EntityPlayer;" + + "setPositionAndRotation(DDDFF)V"; - @Redirect(method="handleParticles", at=@At( - value = "INVOKE", - target = "Lnet/minecraft/client/multiplayer/WorldClient;spawnParticle(Lnet/minecraft/util/EnumParticleTypes;ZDDDDDD[I)V" - )) - public void handleParticles(WorldClient world, EnumParticleTypes particleTypes, boolean isLongDistance, - double xCoord, double yCoord, double zCoord, - double xOffset, double yOffset, double zOffset, int[] params) { - boolean override = FishingHelper.getInstance().onSpawnParticle(particleTypes, xCoord, yCoord, zCoord, xOffset, yOffset, zOffset); - if(!override) { - world.spawnParticle(particleTypes, isLongDistance, xCoord, yCoord, zCoord, xOffset, yOffset, zOffset, params); - } - } + @Redirect(method = "handlePlayerPosLook", at = @At(value = "INVOKE", target = TARGET)) + public void handlePlayerPosLook_setPositionAndRotation( + EntityPlayer player, + double x, + double y, + double z, + float yaw, + float pitch + ) { + if (CustomItemEffects.INSTANCE.aoteTeleportationCurr != null) { + CustomItemEffects.INSTANCE.aoteTeleportationMillis += Math.max( + 0, + Math.min(300, CustomItemEffects.INSTANCE.tpTime) + ); + } + player.setPositionAndRotation(x, y, z, yaw, pitch); + } - @Inject(method="handleSpawnMob", at=@At("RETURN")) - public void handleSpawnMob(S0FPacketSpawnMob packetIn, CallbackInfo ci) { - //CollectionLogManager.getInstance().onEntityMetadataUpdated(packetIn.getEntityID()); - } + @Redirect(method = "handleParticles", at = @At( + value = "INVOKE", + target = "Lnet/minecraft/client/multiplayer/WorldClient;spawnParticle(Lnet/minecraft/util/EnumParticleTypes;ZDDDDDD[I)V" + )) + public void handleParticles( + WorldClient world, EnumParticleTypes particleTypes, boolean isLongDistance, + double xCoord, double yCoord, double zCoord, + double xOffset, double yOffset, double zOffset, int[] params + ) { + boolean override = FishingHelper.getInstance().onSpawnParticle( + particleTypes, + xCoord, + yCoord, + zCoord, + xOffset, + yOffset, + zOffset + ); + if (!override) { + world.spawnParticle(particleTypes, isLongDistance, xCoord, yCoord, zCoord, xOffset, yOffset, zOffset, params); + } + } - @Inject(method="handleSetSlot", at=@At("RETURN")) - public void handleSetSlot(S2FPacketSetSlot packetIn, CallbackInfo ci) { - EnchantingSolvers.processInventoryContents(false); - StorageManager.getInstance().setSlotPacket(packetIn); - } + @Inject(method = "handleSpawnMob", at = @At("RETURN")) + public void handleSpawnMob(S0FPacketSpawnMob packetIn, CallbackInfo ci) { + //CollectionLogManager.getInstance().onEntityMetadataUpdated(packetIn.getEntityID()); + } - @Inject(method="handleOpenWindow", at=@At("RETURN")) - public void handleOpenWindow(S2DPacketOpenWindow packetIn, CallbackInfo ci) { - StorageManager.getInstance().openWindowPacket(packetIn); - } + @Inject(method = "handleSetSlot", at = @At("RETURN")) + public void handleSetSlot(S2FPacketSetSlot packetIn, CallbackInfo ci) { + EnchantingSolvers.processInventoryContents(false); + StorageManager.getInstance().setSlotPacket(packetIn); + } - @Inject(method="handleCloseWindow", at=@At("RETURN")) - public void handleCloseWindow(S2EPacketCloseWindow packetIn, CallbackInfo ci) { - StorageManager.getInstance().closeWindowPacket(packetIn); - } + @Inject(method = "handleOpenWindow", at = @At("RETURN")) + public void handleOpenWindow(S2DPacketOpenWindow packetIn, CallbackInfo ci) { + StorageManager.getInstance().openWindowPacket(packetIn); + } - @Inject(method="handleWindowItems", at=@At("RETURN")) - public void handleOpenWindow(S30PacketWindowItems packetIn, CallbackInfo ci) { - StorageManager.getInstance().setItemsPacket(packetIn); - } + @Inject(method = "handleCloseWindow", at = @At("RETURN")) + public void handleCloseWindow(S2EPacketCloseWindow packetIn, CallbackInfo ci) { + StorageManager.getInstance().closeWindowPacket(packetIn); + } - @Inject(method="handleRespawn", at=@At( - value = "INVOKE", - target = "Lnet/minecraft/network/PacketThreadUtil;checkThreadAndEnqueue(Lnet/minecraft/network/Packet;Lnet/minecraft/network/INetHandler;Lnet/minecraft/util/IThreadListener;)V", - shift = At.Shift.AFTER)) - public void handleOpenWindow(S07PacketRespawn packetIn, CallbackInfo ci) { - FancyPortals.onRespawnPacket(packetIn); - } + @Inject(method = "handleWindowItems", at = @At("RETURN")) + public void handleOpenWindow(S30PacketWindowItems packetIn, CallbackInfo ci) { + StorageManager.getInstance().setItemsPacket(packetIn); + } - @Inject(method="handleBlockChange", at=@At("HEAD")) - public void handleBlockChange(S23PacketBlockChange packetIn, CallbackInfo ci) { - MiningStuff.processBlockChangePacket(packetIn); - ItemCooldowns.processBlockChangePacket(packetIn); - } - - @Inject(method="addToSendQueue", at=@At("HEAD")) - public void addToSendQueue(Packet packet, CallbackInfo ci) { - if(packet instanceof C0EPacketClickWindow) { - StorageManager.getInstance().clientSendWindowClick((C0EPacketClickWindow)packet); - } - } - - @Inject(method="handlePlayerListHeaderFooter", at=@At("HEAD")) - public void handlePlayerListHeaderFooter(S47PacketPlayerListHeaderFooter packetIn, CallbackInfo ci) { - SBInfo.getInstance().header = packetIn.getHeader().getFormattedText().length() == 0 ? null : packetIn.getHeader(); - SBInfo.getInstance().footer = packetIn.getFooter().getFormattedText().length() == 0 ? null : packetIn.getFooter(); - } + @Inject(method = "handleRespawn", at = @At( + value = "INVOKE", + target = "Lnet/minecraft/network/PacketThreadUtil;checkThreadAndEnqueue(Lnet/minecraft/network/Packet;Lnet/minecraft/network/INetHandler;Lnet/minecraft/util/IThreadListener;)V", + shift = At.Shift.AFTER)) + public void handleOpenWindow(S07PacketRespawn packetIn, CallbackInfo ci) { + FancyPortals.onRespawnPacket(packetIn); + } + @Inject(method = "handleBlockChange", at = @At("HEAD")) + public void handleBlockChange(S23PacketBlockChange packetIn, CallbackInfo ci) { + MiningStuff.processBlockChangePacket(packetIn); + ItemCooldowns.processBlockChangePacket(packetIn); + } + @Inject(method = "addToSendQueue", at = @At("HEAD")) + public void addToSendQueue(Packet packet, CallbackInfo ci) { + if (packet instanceof C0EPacketClickWindow) { + StorageManager.getInstance().clientSendWindowClick((C0EPacketClickWindow) packet); + } + } + @Inject(method = "handlePlayerListHeaderFooter", at = @At("HEAD")) + public void handlePlayerListHeaderFooter(S47PacketPlayerListHeaderFooter packetIn, CallbackInfo ci) { + SBInfo.getInstance().header = packetIn.getHeader().getFormattedText().length() == 0 ? null : packetIn.getHeader(); + SBInfo.getInstance().footer = packetIn.getFooter().getFormattedText().length() == 0 ? null : packetIn.getFooter(); + } } |
