public static void init() { CHANNEL = NetworkRegistry.INSTANCE.newSimpleChannel(ForgeWorldEdit.MOD_ID); CHANNEL.registerMessage(LeftClickAirEventMessage.Handler.class, LeftClickAirEventMessage.class, 0, Side.SERVER); }
@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; }
public static void sendToAllAround(AbstractPacket packet, NetworkRegistry.TargetPoint point) { instance.network.sendToAllAround(packet, point); }
public static void sendTo(AbstractPacket packet, EntityPlayerMP player) { instance.network.sendTo(packet, player); }
public static void sendToServer(IMessage msg) { HANDLER.sendToServer(msg); }
public static void sendToAll(AbstractPacket packet) { instance.network.sendToAll(packet); }
public static void sendToDimension(AbstractPacket packet, int dimensionId) { instance.network.sendToDimension(packet, dimensionId); }
@Override public IMessage onMessage(PacketLeftClick message, MessageContext ctx) { EntityPlayerMP player = ctx.getServerHandler().player; player.server.addScheduledTask(() -> ((ItemTerraSword) ModItems.terraSword).trySpawnBurst(player)); return null; } }
public static void sendTo(EntityPlayerMP playerMP, IMessage toSend) { HANDLER.sendTo(toSend, playerMP); }
public static void sendToServer(AbstractPacket packet) { instance.network.sendToServer(packet); }
public static void init() { int id = 0; HANDLER.registerMessage(PacketBotaniaEffect.Handler.class, PacketBotaniaEffect.class, id++, Side.CLIENT); HANDLER.registerMessage(PacketLeftClick.Handler.class, PacketLeftClick.class, id++, Side.SERVER); HANDLER.registerMessage(PacketDodge.Handler.class, PacketDodge.class, id++, Side.SERVER); HANDLER.registerMessage(PacketJump.Handler.class, PacketJump.class, id++, Side.SERVER); }
/** * Send a packet to all players around a specific point.<br> * Must be called Server side. */ public static void sendToAllAround(IMessage msg, TargetPoint point) { HANDLER.sendToAllAround(msg, point); }
/** * Send a packet to all the players in the specified dimension.<br> * Must be called Server side. */ public static void sendToDimension(IMessage msg, int dimension) { HANDLER.sendToDimension(msg, dimension); } }
@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 void sendBaubleUpdatePacket(EntityPlayer player, int slot) { if(player instanceof EntityPlayerMP) { PacketHandler.INSTANCE.sendTo(new PacketSync(player, slot, BaublesApi.getBaublesHandler(player).getStackInSlot(slot)), (EntityPlayerMP) player); } }
InternalPacketHandler.CHANNEL.sendToServer(new LeftClickAirEventMessage()); return;
@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; } }
/** * Send a packet to a specific player.<br> * Must be called Server side. */ public static void sendTo(IMessage msg, EntityPlayerMP player) { if (!(player instanceof FakePlayer)) { HANDLER.sendTo(msg, player); } }
@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; } }
/** * Send message to all within 64 blocks that have this chunk loaded */ public static void sendToNearby(World world, BlockPos pos, IMessage toSend) { if(world instanceof WorldServer) { WorldServer ws = (WorldServer) world; for (EntityPlayer player : ws.playerEntities) { EntityPlayerMP playerMP = (EntityPlayerMP) player; if (playerMP.getDistanceSq(pos) < 64 * 64 && ws.getPlayerChunkMap().isPlayerWatchingChunk(playerMP, pos.getX() >> 4, pos.getZ() >> 4)) { HANDLER.sendTo(toSend, playerMP); } } } }