diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/forge/PacketDistributorMixin.java b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/forge/PacketDistributorMixin.java new file mode 100644 index 00000000..01c34a12 --- /dev/null +++ b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/forge/PacketDistributorMixin.java @@ -0,0 +1,24 @@ +package io.izzel.arclight.common.mixin.forge; + +import net.minecraft.entity.player.ServerPlayerEntity; +import net.minecraft.network.IPacket; +import net.minecraftforge.fml.network.PacketDistributor; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Overwrite; + +import java.util.function.Consumer; +import java.util.function.Supplier; + +@Mixin(PacketDistributor.class) +public class PacketDistributorMixin { + + @Overwrite + private Consumer> playerConsumer(Supplier entityPlayerMPSupplier) { + return p -> { + ServerPlayerEntity entity = entityPlayerMPSupplier.get(); + if (entity.connection != null && entity.connection.netManager != null) { + entity.connection.netManager.sendPacket(p); + } + }; + } +} diff --git a/arclight-common/src/main/resources/mixins.arclight.forge.json b/arclight-common/src/main/resources/mixins.arclight.forge.json index 799ed00f..70f29b50 100644 --- a/arclight-common/src/main/resources/mixins.arclight.forge.json +++ b/arclight-common/src/main/resources/mixins.arclight.forge.json @@ -9,6 +9,7 @@ "ForgeEventFactoryMixin", "ForgeHooksMixin", "ForgeInternalHandlerMixin", - "NetworkHooksMixin" + "NetworkHooksMixin", + "PacketDistributorMixin" ] } \ No newline at end of file