use of net.minecraft.server.v1_14_R1.Item in project TheAPI by TheDevTec.
the class v1_14_R1 method openAnvilGUI.
@Override
public void openAnvilGUI(Player player, Object con, String title, ItemStack[] items) {
ContainerAnvil container = (ContainerAnvil) con;
EntityPlayer nmsPlayer = ((CraftPlayer) player).getHandle();
int id = container.windowId;
net.minecraft.server.v1_14_R1.ItemStack[] nmsItems = new net.minecraft.server.v1_14_R1.ItemStack[items.length];
for (int i = 0; i < items.length; ++i) {
ItemStack is = items[i];
if (is == null || is.getType() == Material.AIR)
continue;
net.minecraft.server.v1_14_R1.ItemStack item = null;
container.setItem(i, item = (net.minecraft.server.v1_14_R1.ItemStack) asNMSItem(is));
nmsItems[i] = item;
}
BukkitLoader.getPacketHandler().send(player, packetOpenWindow(id, "minecraft:anvil", 0, title));
int i = 0;
for (net.minecraft.server.v1_14_R1.ItemStack o : nmsItems) BukkitLoader.getPacketHandler().send(player, packetSetSlot(id, i++, o));
nmsPlayer.activeContainer.transferTo((Container) container, (CraftPlayer) player);
nmsPlayer.activeContainer = (Container) container;
((Container) container).addSlotListener(nmsPlayer);
container.checkReachable = false;
}
use of net.minecraft.server.v1_14_R1.Item in project TheAPI by TheDevTec.
the class v1_14_R1 method openGUI.
@Override
public void openGUI(Player player, Object container, String legacy, int size, String title, ItemStack[] items) {
EntityPlayer nmsPlayer = ((CraftPlayer) player).getHandle();
int id = ((Container) container).windowId;
net.minecraft.server.v1_14_R1.ItemStack[] nmsItems = new net.minecraft.server.v1_14_R1.ItemStack[items.length];
for (int i = 0; i < items.length; ++i) {
ItemStack is = items[i];
if (is == null || is.getType() == Material.AIR)
continue;
net.minecraft.server.v1_14_R1.ItemStack item = null;
((Container) container).setItem(i, item = (net.minecraft.server.v1_14_R1.ItemStack) asNMSItem(is));
nmsItems[i] = item;
}
BukkitLoader.getPacketHandler().send(player, packetOpenWindow(id, legacy, size, title));
int i = 0;
for (net.minecraft.server.v1_14_R1.ItemStack o : nmsItems) BukkitLoader.getPacketHandler().send(player, packetSetSlot(id, i++, o));
nmsPlayer.activeContainer.transferTo((Container) container, (CraftPlayer) player);
nmsPlayer.activeContainer = (Container) container;
((Container) container).addSlotListener(nmsPlayer);
((Container) container).checkReachable = false;
}
use of net.minecraft.server.v1_14_R1.Item in project PublicCrafters by BananaPuncher714.
the class CustomInventoryCrafting method setItems.
protected void setItems(List<org.bukkit.inventory.ItemStack> items) {
int index = 0;
for (org.bukkit.inventory.ItemStack item : items) {
this.items.set(index++, CraftItemStack.asNMSCopy(item));
}
// Want to update the result without having to use a real player
if (this.resultInventory instanceof InventoryCraftResult) {
CustomContainerWorkbench container = new CustomContainerWorkbench(0, manager.mockPlayer.getBukkitEntity(), bloc, this, (InventoryCraftResult) resultInventory);
container.a(this);
CraftingInventory crafting = (CraftingInventory) container.getBukkitView().getTopInventory();
Bukkit.getPluginManager().callEvent(new PrepareItemCraftEvent(crafting, container.getBukkitView(), false));
}
display.forceUpdate();
}
use of net.minecraft.server.v1_14_R1.Item in project PublicCrafters by BananaPuncher714.
the class CustomInventoryCrafting method setItem.
@Override
public void setItem(int index, ItemStack item) {
// Instead of updating one container, update all the containers
// That are looking at the table, basically the viewers
items.set(index, item == null ? ItemStack.a : item);
for (Container container : containers) {
container.a(this);
}
// Update the armorstand grid
display.update();
}
use of net.minecraft.server.v1_14_R1.Item in project SilkSpawners by timbru31.
the class NMSHandler method getVanillaEggNBTEntityID.
@Override
public String getVanillaEggNBTEntityID(final ItemStack item) {
net.minecraft.server.v1_14_R1.ItemStack itemStack = null;
final CraftItemStack craftStack = CraftItemStack.asCraftCopy(item);
itemStack = CraftItemStack.asNMSCopy(craftStack);
NBTTagCompound tag = itemStack.getTag();
if (tag == null || !tag.hasKey("EntityTag")) {
final MinecraftKey vanillaKey = IRegistry.ITEM.getKey(itemStack.getItem());
if (vanillaKey != null) {
return vanillaKey.getKey().replace("minecraft:", "").replace("_spawn_egg", "");
}
} else {
tag = tag.getCompound("EntityTag");
if (tag.hasKey("id")) {
return tag.getString("id").replace("minecraft:", "");
}
}
return null;
}
Aggregations