@Override public IMessage onMessage(LeftClickAirEventMessage message, final MessageContext ctx) { ctx.getServerHandler().player.mcServer.addScheduledTask( () -> ForgeWorldEdit.inst.onPlayerInteract(new PlayerInteractEvent.LeftClickEmpty(ctx.getServerHandler().player))); 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()); } } }
@Nullable @Override public World getWorldFromMessage(@NotNull final MessageContext context) { return context.getClientHandler().world; }
@Override public IMessage onMessage(PacketLeftClick message, MessageContext ctx) { EntityPlayerMP player = ctx.getServerHandler().player; player.server.addScheduledTask(() -> ((ItemTerraSword) ModItems.terraSword).trySpawnBurst(player)); return null; } }
@Override public IMessage onMessage(PacketDodge message, MessageContext ctx) { EntityPlayerMP player = ctx.getServerHandler().player; player.server.addScheduledTask(() -> { player.world.playSound(null, player.posX, player.posY, player.posZ, ModSounds.dash, SoundCategory.PLAYERS, 1F, 1F); IItemHandler baublesInv = BaublesApi.getBaublesHandler(player); ItemStack ringStack = baublesInv.getStackInSlot(1); if(ringStack.isEmpty() || !(ringStack.getItem() instanceof ItemDodgeRing)) { ringStack = baublesInv.getStackInSlot(2); if(ringStack.isEmpty() || !(ringStack.getItem() instanceof ItemDodgeRing)) ctx.getServerHandler().disconnect(new TextComponentTranslation("botaniamisc.invalidDodge")); return; } player.addExhaustion(0.3F); ItemNBTHelper.setInt(ringStack, ItemDodgeRing.TAG_DODGE_COOLDOWN, ItemDodgeRing.MAX_CD); }); return null; } }
@Override public IMessage onMessage(PacketCrafter msg, MessageContext ctx) { TileCrafter te = msg.getTileEntity(ctx.getServerHandler().player.world); if (te != null) { msg.execute(te); } return null; } }
/** * Returns a side-appropriate EntityPlayer for use during message handling */ public EntityPlayer getPlayerEntity(MessageContext ctx) { return ctx.getServerHandler().player; }
@Override public IMessage onMessage(PacketPlayerFalldamage message, MessageContext ctx) { EntityPlayer p = ctx.getServerHandler().player; p.fallDistance = 0; return null; } }
/** * Returns a side-appropriate EntityPlayer for use during message handling */ public EntityPlayer getPlayerEntity(MessageContext ctx) { TutorialMain.logger.info("Retrieving player from CommonProxy for message on side " + ctx.side); return ctx.getServerHandler().playerEntity; }
@Override public IMessage onMessage(PacketOpenGuiOnServer message, MessageContext ctx) { ctx.getServerHandler().player.openGui(ModCyclic.instance, message.guiId, ctx.getServerHandler().player.getEntityWorld(), (int) ctx.getServerHandler().player.posX, (int) ctx.getServerHandler().player.posY, (int) ctx.getServerHandler().player.posZ); return null; } }
@Override public IMessage onMessage(PacketDarkSteelPowerPacket message, MessageContext ctx) { DarkSteelController.usePlayerEnergy(ctx.getServerHandler().player, message.armorType, message.powerUse); ctx.getServerHandler().player.fallDistance = 0; return null; } }
@Override public void run() { if (ctx.getServerHandler().player.openContainer instanceof TransmutationContainer) { TransmutationContainer container = ((TransmutationContainer) ctx.getServerHandler().player.openContainer); container.transmutationInventory.writeIntoOutputSlot(pkt.slot, pkt.itemStack); } } });
mainThread.addScheduledTask(new Runnable(){ public void run() { ctx.getServerHandler().player.openContainer.onContainerClosed(ctx.getServerHandler().player); ctx.getServerHandler().player.openGui(Baubles.instance, Baubles.GUI, ctx.getServerHandler().player.world, 0, 0, 0); }}); return null;
@Override public IMessage onMessage(PacketJump message, MessageContext ctx) { EntityPlayerMP player = ctx.getServerHandler().player; player.server.addScheduledTask(() -> { IItemHandler baublesInv = BaublesApi.getBaublesHandler(player); ItemStack amuletStack = baublesInv.getStackInSlot(0); if(!amuletStack.isEmpty() && amuletStack.getItem() instanceof CloudPendantShim) { player.addExhaustion(0.3F); player.fallDistance = 0; ItemStack belt = BaublesApi.getBaublesHandler(player).getStackInSlot(3); if(!belt.isEmpty() && belt.getItem() instanceof ItemTravelBelt) player.fallDistance = -((ItemTravelBelt) belt.getItem()).fallBuffer * ((CloudPendantShim) amuletStack.getItem()).getMaxAllowedJumps(); } }); return null; } }
@Override public IMessage onMessage(PacketPowerMonitorGraph msg, MessageContext ctx) { TilePowerMonitor te = msg.getTileEntity(ctx.getServerHandler().player.world); if (te != null && msg.no >= 0 && msg.no < te.stats.length) { return sendUpdate(te, msg.no); } return null; } }
@Override public IMessage onMessage(PacketMagnetState message, MessageContext ctx) { EntityPlayerMP player = ctx.getServerHandler().player; MagnetController.setMagnetActive(player, message.type, message.slot, message.isActive); return null; } }
@Override public IMessage onMessage(PacketFetchItem message, MessageContext ctx) { EntityPlayerMP player = ctx.getServerHandler().player; if(player.openContainer instanceof InventoryPanelContainer) { InventoryPanelContainer ipc = (InventoryPanelContainer) player.openContainer; ipc.executeFetchItems(player, message.generation, message.dbID, message.targetSlot, message.count); } return null; } }
@Override public IMessage onMessage(@Nonnull PacketItemToCheck message, @Nonnull MessageContext ctx) { TileInventoryPanelSensor te = message.getTileEntity(ctx.getServerHandler().player.world); if(te != null) { te.setItemToCheck(message.item); } return null; } }
@SuppressWarnings("null") @Override protected @Nonnull World getWorld(MessageContext ctx) { if (ctx.side == Side.SERVER) { return ctx.getServerHandler().player.world; } else { return EnderIO.proxy.getClientWorld(); } }
@Override public IMessage onMessage(PacketTankVoidMode message, MessageContext ctx) { TileTank te = message.getTileEntity(ctx.getServerHandler().player.world); if (te != null) { te.setVoidMode(message.mode); } return null; } }