Search in sources :

Example 81 with Item

use of net.minecraft.server.v1_12_R1.Item in project PaperDev by Kamillaova.

the class CraftInventoryPlayer method setItem.

@Override
public void setItem(int index, ItemStack item) {
    super.setItem(index, item);
    if (this.getHolder() == null)
        return;
    EntityPlayer player = ((CraftPlayer) this.getHolder()).getHandle();
    if (player.playerConnection == null)
        return;
    // subtracting that value from 8.
    if (index < PlayerInventory.getHotbarSize()) {
        index += 36;
    } else if (index > 39) {
        // Off hand
        index += 5;
    } else if (index > 35) {
        index = 8 - (index - 36);
    }
    player.playerConnection.sendPacket(new PacketPlayOutSetSlot(player.defaultContainer.windowId, index, CraftItemStack.asNMSCopy(item)));
}
Also used : EntityPlayer(net.minecraft.server.v1_12_R1.EntityPlayer) CraftPlayer(org.bukkit.craftbukkit.v1_12_R1.entity.CraftPlayer) PacketPlayOutSetSlot(net.minecraft.server.v1_12_R1.PacketPlayOutSetSlot)

Example 82 with Item

use of net.minecraft.server.v1_12_R1.Item in project PaperDev by Kamillaova.

the class CraftItemStack method getEnchantments.

static Map<Enchantment, Integer> getEnchantments(net.minecraft.server.v1_12_R1.ItemStack item) {
    NBTTagList list = (item != null && item.hasEnchantments()) ? item.getEnchantments() : null;
    if (list == null || list.size() == 0) {
        return ImmutableMap.of();
    }
    ImmutableMap.Builder<Enchantment, Integer> result = ImmutableMap.builder();
    for (int i = 0; i < list.size(); i++) {
        int id = 0xffff & ((NBTTagCompound) list.get(i)).getShort(ENCHANTMENTS_ID.NBT);
        int level = 0xffff & ((NBTTagCompound) list.get(i)).getShort(ENCHANTMENTS_LVL.NBT);
        result.put(Enchantment.getById(id), level);
    }
    return result.build();
}
Also used : NBTTagList(net.minecraft.server.v1_12_R1.NBTTagList) Enchantment(org.bukkit.enchantments.Enchantment) CraftEnchantment(org.bukkit.craftbukkit.v1_12_R1.enchantments.CraftEnchantment) ImmutableMap(com.google.common.collect.ImmutableMap)

Example 83 with Item

use of net.minecraft.server.v1_12_R1.Item in project PaperDev by Kamillaova.

the class CraftItemFrame method update.

private void update() {
    EntityItemFrame old = this.getHandle();
    WorldServer world = ((CraftWorld) getWorld()).getHandle();
    BlockPosition position = old.getBlockPosition();
    EnumDirection direction = old.getDirection();
    ItemStack item = old.getItem() != null ? old.getItem().cloneItemStack() : null;
    old.die();
    EntityItemFrame frame = new EntityItemFrame(world, position, direction);
    frame.setItem(item);
    world.addEntity(frame);
    this.entity = frame;
}
Also used : EntityItemFrame(net.minecraft.server.v1_12_R1.EntityItemFrame) BlockPosition(net.minecraft.server.v1_12_R1.BlockPosition) WorldServer(net.minecraft.server.v1_12_R1.WorldServer) EnumDirection(net.minecraft.server.v1_12_R1.EnumDirection) CraftItemStack(org.bukkit.craftbukkit.v1_12_R1.inventory.CraftItemStack) ItemStack(net.minecraft.server.v1_12_R1.ItemStack) CraftWorld(org.bukkit.craftbukkit.v1_12_R1.CraftWorld)

Example 84 with Item

use of net.minecraft.server.v1_12_R1.Item in project PaperDev by Kamillaova.

the class MaterialTest method verifyMapping.

@Test
public void verifyMapping() {
    Map<Integer, Material> materials = Maps.newHashMap();
    for (Material material : Material.values()) {
        if (INVALIDATED_MATERIALS.contains(material)) {
            continue;
        }
        materials.put(material.getId(), material);
    }
    Iterator<Item> items = Item.REGISTRY.iterator();
    while (items.hasNext()) {
        Item item = items.next();
        if (item == null)
            continue;
        int id = CraftMagicNumbers.getId(item);
        String name = item.getName();
        Material material = materials.remove(id);
        assertThat("Missing " + name + "(" + id + ")", material, is(not(nullValue())));
    }
    assertThat(materials, is(Collections.EMPTY_MAP));
}
Also used : Item(net.minecraft.server.v1_12_R1.Item) Test(org.junit.Test)

Example 85 with Item

use of net.minecraft.server.v1_12_R1.Item in project PaperDev by Kamillaova.

the class CraftStatistic method getMaterialFromStatistic.

public static Material getMaterialFromStatistic(net.minecraft.server.v1_12_R1.Statistic statistic) {
    String statisticString = statistic.name;
    String val = statisticString.substring(statisticString.lastIndexOf(".") + 1);
    Item item = (Item) Item.REGISTRY.get(new MinecraftKey(val));
    if (item != null) {
        return Material.getMaterial(Item.getId(item));
    }
    Block block = (Block) Block.REGISTRY.get(new MinecraftKey(val));
    if (block != null) {
        return Material.getMaterial(Block.getId(block));
    }
    try {
        return Material.getMaterial(Integer.parseInt(val));
    } catch (NumberFormatException e) {
        return null;
    }
}
Also used : Item(net.minecraft.server.v1_12_R1.Item) Block(net.minecraft.server.v1_12_R1.Block) MinecraftKey(net.minecraft.server.v1_12_R1.MinecraftKey)

Aggregations

CraftItemStack (org.bukkit.craftbukkit.v1_12_R1.inventory.CraftItemStack)30 NBTTagCompound (net.minecraft.server.v1_12_R1.NBTTagCompound)27 ItemStack (org.bukkit.inventory.ItemStack)25 Item (org.orcid.jaxb.model.notification.permission_v2.Item)19 ItemMeta (org.bukkit.inventory.meta.ItemMeta)12 ArrayList (java.util.ArrayList)10 Player (org.bukkit.entity.Player)9 Field (java.lang.reflect.Field)7 PreparedStatement (java.sql.PreparedStatement)7 ItemStack (net.minecraft.server.v1_12_R1.ItemStack)7 Test (org.junit.Test)7 ExternalID (org.orcid.jaxb.model.record_v2.ExternalID)7 ResultSet (java.sql.ResultSet)6 SQLException (java.sql.SQLException)5 SimpleDateFormat (java.text.SimpleDateFormat)5 Date (java.util.Date)5 Item (net.minecraft.server.v1_12_R1.Item)5 NBTTagList (net.minecraft.server.v1_12_R1.NBTTagList)5 Location (org.bukkit.Location)5 OfflinePlayer (org.bukkit.OfflinePlayer)5