@Nullable @Override public World getWorldFromMessage(@NotNull final MessageContext context) { return context.getClientHandler().world; }
@Nullable @Override public IMessage onMessage(@NotNull final UpdateChunkCapabilityMessage message, final MessageContext ctx) { if(ctx.getClientHandler().world != null) { final Chunk chunk = ctx.getClientHandler().world.getChunk(message.x, message.z); final IColonyTagCapability cap = chunk.getCapability(CLOSE_COLONY_CAP, null); cap.reset(); cap.setOwningColony(message.owningColonyId); for (final int id : message.closeColonies) { cap.addColony(id); } } return null; } }
@Override public IMessage onMessage(AbstractPacket packet, MessageContext ctx) { if(ctx.side == Side.SERVER) { return packet.handleServer(ctx.getServerHandler()); } else { return packet.handleClient(ctx.getClientHandler()); } } }
@Override protected void messageOnClientThread(final CompostParticleMessage message, final MessageContext ctx) final WorldClient world = ctx.getClientHandler().world; final int amount = random.nextInt(15) + 1; final BlockPos pos = message.pos;
@Override public IMessage onMessage(MessageUpdateAutochiselSource message, MessageContext ctx) { FMLCommonHandler.instance().getWorldThread(ctx.getClientHandler()).addScheduledTask(() -> { World world = Chisel.proxy.getClientWorld(); if (world.isBlockLoaded(message.pos)) { TileEntity te = world.getTileEntity(message.pos); if (te instanceof TileAutoChisel) { ((TileAutoChisel) te).setSource(message.stack); } } }); return null; } }
@Override public IMessage onMessage(final PenguinPacket message, final MessageContext ctx) { if (ctx.side == Side.CLIENT) { Minecraft.getMinecraft().addScheduledTask(() -> message.handleQueuedClient(ctx.getClientHandler())); } else { FMLCommonHandler.instance().getMinecraftServerInstance().addScheduledTask(() -> message.handleQueuedServer(ctx.getServerHandler())); } return null; } }
@Override public IMessage onMessage(MessageAutochiselFX message, MessageContext ctx) { FMLCommonHandler.instance().getWorldThread(ctx.getClientHandler()).addScheduledTask(() -> { World world = Chisel.proxy.getClientWorld(); if (world.isBlockLoaded(message.pos)) { TileEntity te = world.getTileEntity(message.pos); if (te instanceof TileAutoChisel) { ((TileAutoChisel) te).spawnCompletionFX(Chisel.proxy.getClientPlayer(), message.chisel, message.state); } } }); return null; } }