@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(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; } }
@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 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(@Nonnull PacketItemCount message, @Nonnull MessageContext ctx) { TileInventoryPanelSensor te = message.getTileEntity(ctx.getServerHandler().player.world); if (te != null) { te.setStartCount(message.startCount); te.setStopCount(message.stopCount); } return null; } }
@Override public IMessage onMessage(PacketOpenAuthGui message, MessageContext ctx) { IModObject mo = ModObjectRegistry.getModObject(ctx.getServerHandler().player.world.getBlockState(BlockPos.fromLong(message.pos)).getBlock()); if (mo != null) { mo.openGui(ctx.getServerHandler().player.world, BlockPos.fromLong(message.pos), ctx.getServerHandler().player, null, GUI_ID_TRAVEL_AUTH); } return null; }
@Override public IMessage onMessage(PacketSlotVisibility message, MessageContext ctx) { IConduit conduit = message.getConduit(ctx); EntityPlayerMP player = ctx.getServerHandler().player; if (player.openContainer instanceof ExternalConnectionContainer) { ExternalConnectionContainer ecc = (ExternalConnectionContainer) player.openContainer; ecc.setInOutSlotsVisible(message.filterVisible, message.upgradeVisible, conduit); } return null; } }
@Override public IMessage onMessage(PacketSetExtractionDisabled message, MessageContext ctx) { EntityPlayerMP player = ctx.getServerHandler().player; if (player.openContainer.windowId == message.windowId && player.openContainer instanceof InventoryPanelContainer) { InventoryPanelContainer ipc = (InventoryPanelContainer) player.openContainer; TileInventoryPanel teInvPanel = ipc.getTe(); teInvPanel.setExtractionDisabled(message.extractionDisabled); } return null; } }
@Override public IMessage onMessage(PacketGuiSettings message, MessageContext ctx) { EntityPlayerMP player = ctx.getServerHandler().player; if (player.openContainer.windowId == message.windowId && player.openContainer instanceof InventoryPanelContainer) { InventoryPanelContainer ipc = (InventoryPanelContainer) player.openContainer; TileInventoryPanel teInvPanel = ipc.getTe(); teInvPanel.setGuiParameter(message.sortMode, message.filterString, message.sync); } return null; } }
@Override public IMessage onMessage(YetaWrenchPacketProcessor message, MessageContext ctx) { final ConduitDisplayMode mode_nullchecked = message.mode; if (mode_nullchecked != null && message.slot >= 0 && message.slot < InventoryPlayer.getHotbarSize()) { ConduitDisplayMode.setDisplayMode(ctx.getServerHandler().player.inventory.getStackInSlot(message.slot), mode_nullchecked); } return null; }
@Override public IMessage onMessage(PacketOpenConduitUI message, MessageContext ctx) { EntityPlayer player = ctx.getServerHandler().player; ConduitRegistry.getConduitModObjectNN().openGui(player.world, message.getPos(), player, message.dir, message.dir.ordinal()); return null; } }
@Override public IMessage onMessage(PacketHeldFilterUpdate message, MessageContext ctx) { ItemStack filterStack = ctx.getServerHandler().player.getHeldItem(EnumHand.values()[message.param]); if (!filterStack.isEmpty() && filterStack.getItem() instanceof IItemFilterUpgrade) { FilterRegistry.writeFilterToStack(message.filter, filterStack); } return null; }
@Override public IMessage onMessage(PacketTravelEvent message, MessageContext ctx) { Entity toTp = ctx.getServerHandler().player; TravelSource source = NullHelper.notnullJ(TravelSource.values()[message.source], "Enum.values()"); EnumHand hand = NullHelper.notnullJ(EnumHand.values()[message.hand], "Enum.values()"); doServerTeleport(toTp, BlockPos.fromLong(message.pos), message.powerUse, message.conserveMotion, source, hand); return null; }