diff --git a/src/main/java/gregtech/api/net/GT_PacketHandler.java b/src/main/java/gregtech/api/net/GT_PacketHandler.java index 4976411d..c17a1127 100644 --- a/src/main/java/gregtech/api/net/GT_PacketHandler.java +++ b/src/main/java/gregtech/api/net/GT_PacketHandler.java @@ -1,6 +1,8 @@ package gregtech.api.net; import gregtech.GT_Mod; +import net.minecraft.client.Minecraft; +import net.minecraft.util.IThreadListener; import net.minecraft.world.World; import net.minecraftforge.fml.common.network.NetworkRegistry; import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler; @@ -33,11 +35,19 @@ public class GT_PacketHandler extends SimpleNetworkWrapper { @Override public GT_Packet onMessage(GT_Packet message, MessageContext ctx) { + IThreadListener listener; + World world; if(ctx.side == Side.SERVER) { - message.process(ctx.getServerHandler().playerEntity.worldObj); + world = ctx.getServerHandler().playerEntity.worldObj; + listener = world.getMinecraftServer(); } else { - message.process(GT_Mod.gregtechproxy.getThePlayer().worldObj); + world = GT_Mod.gregtechproxy.getThePlayer().worldObj; + listener = Minecraft.getMinecraft(); } + listener.addScheduledTask(() -> { + message.process(world); + }); + return null; } }