@Override public void endChore() { if (!owner.worldObj.isRemote) { PacketDispatcher.sendPacketToAllPlayers(PacketHelper.createSyncPacket(owner)); PacketDispatcher.sendPacketToAllPlayers(PacketHelper.createAddAIPacket(owner)); } else { PacketDispatcher.sendPacketToServer(PacketHelper.createAddAIPacket(owner)); } owner.addAI(); hasEnded = true; }
@Override public void onPlayerLogin(EntityPlayer player) { // This occurs on server side // ModelManager.getServerInstance().initNewPlayerToMap(player.username); // PacketDispatcher.sendPacketToAllPlayers(PacketTypeHandler.convertToMinecraftPacketForm(new // PacketModelManData(player.username))); List playersList = player.worldObj.playerEntities; String[] playerNames = new String[playersList.size()]; for (int i = 0; i < playersList.size(); i++) { playerNames[i] = ((EntityPlayer) playersList.get(i)).username; } // PacketDispatcher.sendPacketToPlayer(PacketTypeHandler.convertToMinecraftPacketForm(new // PacketModelManData(playerNames)), (Player)player); InventoryManager.getServerInstance().initNewPlayer(player.username); PacketDispatcher.sendPacketToAllPlayers( PacketTypeHandler.convertToMinecraftPacketForm( new PacketInventoryManData(player.username))); PacketDispatcher.sendPacketToPlayer( PacketTypeHandler.convertToMinecraftPacketForm(new PacketInventoryManData(playerNames)), (Player) player); LifeformIndexManager.getServerInstance().initPlayerIfNecessary(player.username); int index = LifeformIndexManager.getServerInstance().getLifeformIndexOfPlayer(player.username); PacketDispatcher.sendPacketToPlayer( PacketTypeHandler.convertToMinecraftPacketForm(new PacketLifeformIndexToClient(index)), (Player) player); PacketDispatcher.sendPacketToPlayer( PacketTypeHandler.convertToMinecraftPacketForm(new PacketLFSMAll()), (Player) player); }
@Override public void beginChore() { if (MCA.instance.isDedicatedServer) { if (!MCA.instance.modPropertiesManager.modProperties.server_allowWoodcuttingChore) { // End the chore and sync all clients so that the chore is stopped everywhere. endChore(); PacketDispatcher.sendPacketToAllPlayers(PacketHelper.createSyncPacket(owner)); owner .worldObj .getPlayerEntityByName(owner.lastInteractingPlayer) .addChatMessage("\u00a7cChore disabled by the server administrator."); return; } } if (!owner.worldObj.isRemote) { owner.say( LanguageHelper.getString( owner.worldObj.getPlayerEntityByName(owner.lastInteractingPlayer), owner, "chore.start.woodcutting", true)); } owner.tasks.taskEntries.clear(); hasBegun = true; }
@Override public void handle() { if (tile.working) return; if (level == -1) { int index = tile.enchantments.indexOf(enchant); tile.removeLevel(index); tile.removeEnchant(index); } else { if (!tile.enchantments.contains(enchant)) { if (player instanceof EntityPlayer && EnchantmentManager.canApply( tile.getStackInSlot(0), Enchantment.enchantmentsList[enchant], tile.enchantments) && EnchantmentManager.canEnchantmentBeUsed( ((EntityPlayer) player).username, Enchantment.enchantmentsList[enchant])) { tile.appendEnchant(enchant); tile.appendLevel(1); } } else { int maxLevel = Enchantment.enchantmentsList[enchant].getMaxLevel(); tile.setLevel(tile.enchantments.indexOf(enchant), Math.max(1, Math.min(maxLevel, level))); } } tile.updateAspectList(); PacketDispatcher.sendPacketToAllPlayers(tile.getDescriptionPacket()); }
@Override public void doSpellCasterEffect(EntityPlayer caster) { caster.worldObj.playSoundAtEntity(caster, "mob.wither.idle", 1.0F, 1.0F); final EntitySkeleton witherSkeleton = new EntitySkeleton(caster.worldObj); witherSkeleton.setSkeletonType(1); witherSkeleton.setPosition(caster.posX, caster.posY, caster.posZ); caster.worldObj.spawnEntityInWorld(witherSkeleton); PacketDispatcher.sendPacketToAllPlayers( PacketHandler.createSummonGFXPacket( witherSkeleton.posX, witherSkeleton.posY, witherSkeleton.posZ)); }
private void handlePacket(Packet250CustomPayload packet, Player player) throws IOException { DataInputStream in = new DataInputStream(new ByteArrayInputStream(packet.data)); EntityPlayer play = (EntityPlayer) player; if (FMLCommonHandler.instance().getEffectiveSide() == Side.CLIENT) { if (packet.channel.equals(Reference.CHANNEL + "REMOVE")) RadioUpdatePacket.execute(packet); else if (packet.channel.equals(Reference.CHANNEL + "TIMEUNTIL")) { int ticks = in.readInt(); int minute = ticks / 20 / 60; int sec = (ticks / 20) - (minute * 60); play.addChatMessage(String.format("Next Song will begin in %d:%02d", minute, sec)); } else if (packet.channel.equals(Reference.CHANNEL + "REQUEST")) { System.out.println("REQUEST RECIEVED CLIENT"); RequestPacket.execute(in, packet); } else if (packet.channel.equals(Reference.CHANNEL + "MESS")) { String s = in.readUTF(); if (s.equals("FALSE")) { Location a = new Location(in.readInt(), in.readInt(), in.readInt()); ((TileEntityJux) ModLoader.getMinecraftInstance().theWorld.getBlockTileEntity(a.x, a.y, a.z)) .isDisabled = false; ((TileEntityJux) ModLoader.getMinecraftInstance().theWorld.getBlockTileEntity(a.x, a.y, a.z)) .done = false; } else { ((TileEntityJux) ModLoader.getMinecraftInstance() .theWorld .getBlockTileEntity(in.readInt(), in.readInt(), in.readInt())) .isDisabled = true; play.addChatMessage(s); } } else SongPacket.execute(in, packet); } else { EntityPlayerMP p = (EntityPlayerMP) play; if (packet.channel.equals(Reference.CHANNEL + "TIMEUNTIL")) { // System.out.println("received RadioUpdate packet from player"); new RadioUpdatePacket( Reference.CHANNEL + "TIMEUNTIL", in.readUTF(), (int) p.posX, (int) p.posY, (int) p.posZ); } else if (packet.channel.contains(Reference.CHANNEL + "CHANGE")) { RadioUpdatePacket.execute(packet); } else if (packet.channel.equals(Reference.CHANNEL + "NEXT")) { System.out.println("received next"); if (MinecraftServer.getServer().isSinglePlayer()) RadioInit.getStation(in.readUTF()).next(); else if (MinecraftServer.getServer() .getConfigurationManager() .getOps() .contains(play.username.toLowerCase())) RadioInit.getStation(in.readUTF()).next(); } else if (packet.channel.equals(Reference.CHANNEL + "REQUEST")) { new RequestPacket(Reference.CHANNEL + "REQUEST", in.readInt(), in.readInt(), in.readInt()); } else PacketDispatcher.sendPacketToAllPlayers(packet); } }