package minefantasy.mf2.network.packet; import io.netty.buffer.ByteBuf; import java.util.ArrayList; import java.util.Iterator; import minefantasy.mf2.MineFantasyII; import minefantasy.mf2.api.rpg.RPGElements; import minefantasy.mf2.api.rpg.Skill; import minefantasy.mf2.util.MFLogUtil; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.ChatComponentText; import net.minecraft.util.StatCollector; import cpw.mods.fml.common.network.ByteBufUtils; public class LevelupPacket extends PacketMF { public static final String packetName = "MF2_levelup"; private EntityPlayer user; private String username; private int level; private String skillName; public LevelupPacket(EntityPlayer user, Skill skill, int level) { this.username = user.getCommandSenderName(); this.user = user; this.skillName = skill.skillName; this.level = level; } public LevelupPacket() { } @Override public void process(ByteBuf packet, EntityPlayer player) { String name = ByteBufUtils.readUTF8String(packet); int skillLvl = packet.readInt(); username = ByteBufUtils.readUTF8String(packet); if (username != null) { EntityPlayer entity = player.worldObj .getPlayerEntityByName(username); if(entity != null && player == entity) { Skill skill = RPGElements.getSkillByName(name); if(skill != null) { player.playSound("random.levelup", 1.0F, 0.5F); player.addChatMessage(new ChatComponentText(StatCollector.translateToLocalFormatted("rpg.levelup", skill.getDisplayName().toLowerCase(), skillLvl))); } } } } @Override public String getChannel() { return packetName; } @Override public void write(ByteBuf packet) { ByteBufUtils.writeUTF8String(packet, skillName); packet.writeInt(level); ByteBufUtils.writeUTF8String(packet, username); } }