Make GT packets process on the server/client thread instead of netty
This commit is contained in:
parent
721f417a7c
commit
210504462c
1 changed files with 12 additions and 2 deletions
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue