diff options
| author | RoseGoldIsntGay <yoavkau@gmail.com> | 2021-11-07 18:34:22 +0200 |
|---|---|---|
| committer | RoseGoldIsntGay <yoavkau@gmail.com> | 2021-11-07 18:34:22 +0200 |
| commit | 6f69d1e1aff688bf2f5ca34754640eed5102b045 (patch) | |
| tree | e931c56ad48dedb4cec6ffceb78ef0b320c1c192 /src/main/java/rosegoldaddons/mixins | |
| download | RGA-6f69d1e1aff688bf2f5ca34754640eed5102b045.tar.gz RGA-6f69d1e1aff688bf2f5ca34754640eed5102b045.tar.bz2 RGA-6f69d1e1aff688bf2f5ca34754640eed5102b045.zip | |
committed
or something
Diffstat (limited to 'src/main/java/rosegoldaddons/mixins')
| -rw-r--r-- | src/main/java/rosegoldaddons/mixins/MixinNetworkManager.java | 20 | ||||
| -rw-r--r-- | src/main/java/rosegoldaddons/mixins/MixinRendererLivingEntity.java | 28 |
2 files changed, 48 insertions, 0 deletions
diff --git a/src/main/java/rosegoldaddons/mixins/MixinNetworkManager.java b/src/main/java/rosegoldaddons/mixins/MixinNetworkManager.java new file mode 100644 index 0000000..29fc19d --- /dev/null +++ b/src/main/java/rosegoldaddons/mixins/MixinNetworkManager.java @@ -0,0 +1,20 @@ +package rosegoldaddons.mixins; + +import io.netty.channel.ChannelHandlerContext; +import net.minecraft.network.NetworkManager; +import net.minecraft.network.Packet; +import net.minecraftforge.common.MinecraftForge; +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 rosegoldaddons.events.ReceivePacketEvent; + +@Mixin(NetworkManager.class) +public class MixinNetworkManager { + + @Inject(method = "channelRead0", at = @At("HEAD"), cancellable = true) + private void onReceivePacket(ChannelHandlerContext context, Packet<?> packet, CallbackInfo ci) { + if (MinecraftForge.EVENT_BUS.post(new ReceivePacketEvent(packet))) ci.cancel(); + } +} diff --git a/src/main/java/rosegoldaddons/mixins/MixinRendererLivingEntity.java b/src/main/java/rosegoldaddons/mixins/MixinRendererLivingEntity.java new file mode 100644 index 0000000..bc1033f --- /dev/null +++ b/src/main/java/rosegoldaddons/mixins/MixinRendererLivingEntity.java @@ -0,0 +1,28 @@ +package rosegoldaddons.mixins; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.renderer.entity.RendererLivingEntity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; +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; +import rosegoldaddons.events.RenderLivingEntityEvent; + +@Mixin(RendererLivingEntity.class) +@SideOnly(Side.CLIENT) +public abstract class MixinRendererLivingEntity { + + @Shadow + protected ModelBase mainModel; + + @Inject(method = "renderModel", at = @At("HEAD"), cancellable = true) + private <T extends EntityLivingBase> void renderModel(T entity, float p_77036_2_, float p_77036_3_, float p_77036_4_, float p_77036_5_, float p_77036_6_, float scaleFactor, CallbackInfo ci) { + if (MinecraftForge.EVENT_BUS.post(new RenderLivingEntityEvent(entity, p_77036_2_, p_77036_3_, p_77036_4_, p_77036_5_, p_77036_6_, scaleFactor, mainModel))) + ci.cancel(); + } +} |
