Renaming items

Discussion in 'Plugin Development' started by Postkutsche, Oct 28, 2012.

Thread Status:
Not open for further replies.
  1. I just created a little API to rename any item you want in Minecraft 1.4.
    It changes itemnames like using an anvil.

    You can easily copy+paste it from here:

    Easy to use:
    ItemStack anvil = new ItemStack(Material.ANVIL);
    NamedItemStack namedItemStack = new NamedItemStack(anvil);
    // Give it a name
    namedItemStack.setName("Minecraft 1.4 is there!");
    // Reset the name to default
    // Get the item's name (returns null if it hasn't been renamed)
  2. I created it almost month ago :p
  3. Lol, I haven't seen it :confused:
  4. I get an exception:

    Caused by: java.lang.ClassCastException: org.bukkit.inventory.ItemStack cannot b
    e cast to org.bukkit.craftbukkit.inventory.CraftItemStack
    On this line: (Line 14)
    CraftItemStack cis = ((CraftItemStack)this.itemStack);
    How can I fix this?
  5. Add CraftBukkit.jar to your libraries.
  6. It is already...
  7. Have you checked your imports? I believe you're casting a net.minecraft-ItemStack to a CraftItemStack.
  8. That's because the class above expects a CraftItemStack - that is, an item stack that's created by Minecraft and wrapped by Craftbukkit, and not a bog standard "Bukkit" item stack.

    To be fair, that's exactly what OP did in the code example (which is clearly not tested). :p

    To fix this, convert the ItemStack you created to a CraftItemStack first:
    1. private void performAction(Player player) {
    2. ItemStack brick = toCraftBukkit(new ItemStack(Material.BRICK));
    3. NamedItemStack namedItemStack = new NamedItemStack(brick);
    4. namedItemStack.setName("Minecraft 1.4 is there!");
    6. player.setItemInHand(brick);
    7. }
    9. private static ItemStack toCraftBukkit(ItemStack stack) {
    10. if (!(stack instanceof CraftItemStack))
    11. return new CraftItemStack(stack);
    12. else
    13. return stack;
    14. }
  9. The code was tested and works fine for me.

    EDIIT: Ahhh.. now I know what you mean, I'll fix it when I come home.
    Comphenix likes this.
  10. This doesn't work right... And by that i mean that there are no errors or anything, it just doesn't rename it... and in case it matters i'm trying to rename a redstone
  11. post the code
  12. NamedItemStack cannot be resovled into a type?
    Any help?
  13. Just use ItemMeta.
    coobro123 likes this.
  14. Offline


    So which one of these codes work? Lol
  15. Use Bukkit's api ItemMeta.
Thread Status:
Not open for further replies.

Share This Page