Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package fr.poskitch.network;
- import fr.poskitch.entity.EntityNPC;
- import fr.poskitch.entity.NPCSave;
- import fr.poskitch.gui.GUINPC;
- import fr.poskitch.util.NPCData;
- import io.netty.buffer.ByteBuf;
- import net.minecraft.client.Minecraft;
- import net.minecraft.entity.Entity;
- import net.minecraft.nbt.NBTTagCompound;
- import net.minecraft.nbt.NBTTagList;
- import net.minecraftforge.common.util.Constants;
- import net.minecraftforge.fml.common.network.ByteBufUtils;
- import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
- import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler;
- import net.minecraftforge.fml.common.network.simpleimpl.MessageContext;
- import java.util.ArrayList;
- import java.util.HashMap;
- public class PacketOpenNPC implements IMessage
- {
- public HashMap<String, ArrayList<NPCData>> npc = new HashMap();
- public String name;
- public PacketOpenNPC(String name, HashMap<String, ArrayList<NPCData>> npc)
- {
- this.npc = npc;
- this.name = name;
- }
- @Override
- public void fromBytes(ByteBuf buf)
- {
- NBTTagCompound nbt = ByteBufUtils.readTag(buf);
- NBTTagList nameList = nbt.getTagList("nameList", Constants.NBT.TAG_COMPOUND);
- NBTTagList tagList = nbt.getTagList("List", Constants.NBT.TAG_COMPOUND);
- for (int i = 0; i < nameList.tagCount(); i++) {
- NBTTagCompound tag2 = nameList.getCompoundTagAt(i);
- ArrayList<NPCData> ventelist = new ArrayList<NPCData>();
- for (int j = 0; j < tagList.tagCount(); j++) {
- NBTTagCompound tag = tagList.getCompoundTagAt(j);
- NPCData data = new NPCData();
- data.setName(tag.getString("name"));
- data.setPriceBuy(tag.getInteger("priceBuy"));
- data.setPriceSell(tag.getInteger("priceSell"));
- data.setItem(tag.getInteger("item"));
- data.setItem_bis(tag.getInteger("item_bis"));
- ventelist.add(data);
- }
- npc.put(tag2.getString("namenpc"), ventelist);
- }
- this.name = ByteBufUtils.readUTF8String(buf);
- }
- @Override
- public void toBytes(ByteBuf buf)
- {
- NBTTagCompound compound = new NBTTagCompound();
- NBTTagList nameList = new NBTTagList();
- NBTTagList tagList = new NBTTagList();
- for (String vehic : npc.keySet()) {
- for (NPCData sms : npc.get(vehic)) {
- NPCData ventelist = new NPCData();
- ventelist.setName(sms.getName());
- ventelist.setPriceSell(sms.getPriceSell());
- ventelist.setPriceBuy(sms.getPriceBuy());
- ventelist.setItem(sms.getItem());
- ventelist.setItem_bis(sms.getItem_bis());
- tagList.appendTag(sms.serializeNBT());
- }
- NBTTagCompound tag = new NBTTagCompound();
- tag.setString("namenpc", vehic);
- nameList.appendTag(tag);
- compound.setTag("List", tagList);
- compound.setTag("nameList", nameList);
- }
- ByteBufUtils.writeTag(buf, compound);
- ByteBufUtils.writeUTF8String(buf, name);
- }
- public static class Handler implements IMessageHandler<PacketOpenNPC, IMessage> {
- @Override
- public IMessage onMessage(PacketOpenNPC message, MessageContext ctx) {
- Minecraft.getMinecraft().displayGuiScreen(new GUINPC(message.name, message.npc));
- return null;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement