use of org.bukkit.craftbukkit.v1_8_R1.inventory.CraftInventoryView in project Magma by magmafoundation.
the class CraftHumanEntity method openInventory.
public void openInventory(InventoryView inventory) {
// TODO: NPC support?
if (!(getHandle() instanceof EntityPlayerMP))
return;
if (((EntityPlayerMP) getHandle()).connection == null)
return;
if (getHandle().openContainer != getHandle().inventoryContainer) {
// fire INVENTORY_CLOSE if one already open
((EntityPlayerMP) getHandle()).connection.processCloseWindow(new CPacketCloseWindow(getHandle().openContainer.windowId));
}
EntityPlayerMP player = (EntityPlayerMP) getHandle();
Container container;
if (inventory instanceof CraftInventoryView) {
container = ((CraftInventoryView) inventory).getHandle();
} else {
container = new CraftContainer(inventory, this.getHandle(), player.getNextWindowIdCB());
}
// Trigger an INVENTORY_OPEN event
container = CraftEventFactory.callInventoryOpenEvent(player, container);
if (container == null) {
return;
}
// Now open the window
InventoryType type = inventory.getType();
String windowType = CraftContainer.getNotchInventoryType(type);
String title = inventory.getTitle();
int size = inventory.getTopInventory().getSize();
player.connection.sendPacket(new SPacketOpenWindow(container.windowId, windowType, new TextComponentString(title), size));
player.openContainer = container;
player.openContainer.addListener(player);
}
use of org.bukkit.craftbukkit.v1_8_R1.inventory.CraftInventoryView in project SpaciousLib by anhcraft.
the class Anvil_1_10_R1 method open.
@Override
public void open() {
p.setLevel(p.getLevel() + 1);
container = new AnvilContainer(human);
CraftInventoryView civ = container.getBukkitView();
this.inv = civ.getTopInventory();
for (AnvilSlot slot : this.items.keySet()) {
this.inv.setItem(slot.getSlot(), this.items.get(slot));
}
int id = ep.nextContainerCounter();
ep.playerConnection.sendPacket(new PacketPlayOutOpenWindow(id, "minecraft:anvil", new ChatMessage("Repairing", new Object[] {}), 0));
ep.activeContainer = container;
ep.activeContainer.windowId = id;
ep.activeContainer.addSlotListener(ep);
}
use of org.bukkit.craftbukkit.v1_8_R1.inventory.CraftInventoryView in project SpaciousLib by anhcraft.
the class Anvil_1_8_R1 method open.
@Override
public void open() {
p.setLevel(p.getLevel() + 1);
container = new AnvilContainer(human);
CraftInventoryView civ = container.getBukkitView();
this.inv = civ.getTopInventory();
for (AnvilSlot slot : this.items.keySet()) {
this.inv.setItem(slot.getSlot(), this.items.get(slot));
}
int id = ep.nextContainerCounter();
ep.playerConnection.sendPacket(new PacketPlayOutOpenWindow(id, "minecraft:anvil", new ChatMessage("Repairing", new Object[] {}), 0));
ep.activeContainer = container;
ep.activeContainer.windowId = id;
ep.activeContainer.addSlotListener(ep);
}
use of org.bukkit.craftbukkit.v1_8_R1.inventory.CraftInventoryView in project SpaciousLib by anhcraft.
the class Anvil_1_8_R2 method open.
@Override
public void open() {
p.setLevel(p.getLevel() + 1);
container = new AnvilContainer(human);
CraftInventoryView civ = container.getBukkitView();
this.inv = civ.getTopInventory();
for (AnvilSlot slot : this.items.keySet()) {
this.inv.setItem(slot.getSlot(), this.items.get(slot));
}
int id = ep.nextContainerCounter();
ep.playerConnection.sendPacket(new PacketPlayOutOpenWindow(id, "minecraft:anvil", new ChatMessage("Repairing", new Object[] {}), 0));
ep.activeContainer = container;
ep.activeContainer.windowId = id;
ep.activeContainer.addSlotListener(ep);
}
use of org.bukkit.craftbukkit.v1_8_R1.inventory.CraftInventoryView in project SpaciousLib by anhcraft.
the class Anvil_1_12_R1 method open.
@Override
public void open() {
p.setLevel(p.getLevel() + 1);
container = new AnvilContainer(human);
CraftInventoryView civ = container.getBukkitView();
this.inv = civ.getTopInventory();
for (AnvilSlot slot : this.items.keySet()) {
this.inv.setItem(slot.getSlot(), this.items.get(slot));
}
int id = ep.nextContainerCounter();
ep.playerConnection.sendPacket(new PacketPlayOutOpenWindow(id, "minecraft:anvil", new ChatMessage("Repairing", new Object[] {}), 0));
ep.activeContainer = container;
ep.activeContainer.windowId = id;
ep.activeContainer.addSlotListener(ep);
}
Aggregations