Posted December 26, 20186 yr I'm having an issue where my (client-only) packet handler is failing on the server. I've narrowed it down to the world.isBlockLoaded if statement, but I can't figure out why this is an issue or what to do about it. CHANNEL.registerMessage(PacketSyncEnergyNetwork.Handler.class, PacketSyncEnergyNetwork.class, id++, Side.CLIENT); public static class Handler implements IMessageHandler<PacketSyncEnergyNetwork, IMessage> { @Nullable @Override public IMessage onMessage(final PacketSyncEnergyNetwork message, final MessageContext ctx) { Minecraft.getMinecraft().addScheduledTask(() -> { for(final Long2FloatMap.Entry entry : message.state.entries()) { final long serialized = entry.getLongKey(); final float energy = entry.getFloatValue(); final BlockPos pos = BlockPosUtils.getBlockPosFromSerialized(serialized); final World world = Minecraft.getMinecraft().world; if(world.isBlockLoaded(pos)) { // } } }); return null; } }
December 26, 20186 yr Author I figured that was probably the case, but I have another handler that does this... shouldn't it fail too, since it's accessing the client's world in the same way? public static class Handler implements IMessageHandler<PacketUpdateHeatNeighbours, IMessage> { @Override @Nullable public IMessage onMessage(final PacketUpdateHeatNeighbours packet, final MessageContext ctx) { Minecraft.getMinecraft().addScheduledTask(() -> { final TileEntity te = Minecraft.getMinecraft().world.getTileEntity(packet.entityPos); if(!(te instanceof HeatSinker)) { return; } ((HeatSinker)te).updateSink(packet.updatePos); }); return null; } }
December 27, 20186 yr Author It's referencing client-only classes, but still loads and functions properly on the server. Shouldn't it throw a similar exception to my first post when it tries to load those classes? Edited December 27, 20186 yr by Corey
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.