package de.take_weiland.mods.commons.internal;
import cpw.mods.fml.relauncher.Side;
import de.take_weiland.mods.commons.inv.Containers;
import de.take_weiland.mods.commons.inv.NameableInventory;
import de.take_weiland.mods.commons.net.*;
import de.take_weiland.mods.commons.util.JavaUtils;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
@PacketDirection(PacketDirection.Dir.TO_CLIENT)
public class PacketInventoryName extends ModPacket {
private int windowId;
private int invIdx;
private String name;
public PacketInventoryName(int windowId, int invIdx, String name) {
this.windowId = windowId;
this.invIdx = invIdx;
this.name = name;
}
@Override
public void write(MCDataOutput out) {
out.writeByte(windowId);
out.writeByte(invIdx);
out.writeString(name);
}
@Override
public void read(MCDataInput in, EntityPlayer player, Side side) {
windowId = in.readByte();
invIdx = in.readByte();
name = in.readString();
}
@Override
public void execute(EntityPlayer player, Side side) throws ProtocolException {
if (player.openContainer.windowId == windowId) {
IInventory inv = JavaUtils.get(Containers.getInventories(player.openContainer).asList(), invIdx);
if (inv instanceof NameableInventory) {
((NameableInventory) inv).setCustomName(name);
}
}
}
}