Verre Couleur Java Minecraft


Je fais un plugin que lorsque vous tapez /téléportez, vous obtiendrez un inventaire de 9 endroits là-bas, il doit y avoir un vitrail qui est rouge mais je peux obtenir le vitrail mais je ne peux pas l'obtenir rouge parce que quand j'essaie de que le nom des articles sont cassés. le code du vitrail rouge est STANED_GLASS_PANE: 14 dans le code, j'ai essayé ceci:

ItemStack spawnItem = nom de l'élément(Matériau.STAINED_GLASS_PANE, ChatColor.AQUA + " Téléportation Vers Spawn!");

Cela fonctionne bien mais quand j'essaie cela, je ne fonctionne pas

ItemStack spawnItem = nom de l'élément(Matériau.STAINED_GLASS_PANE, 1 , 14, ChatColor.AQUA + " Téléportez-Vous Pour Frayer!");

Ou si j'essaie ceci

ItemStack spawnItem = nom de l'élément(Matériau.STAINED_GLASS_PANE, 1, (court) 14, ChatColor.AQUA + " Téléportez-Vous Pour Frayer!");

Ne fonctionne pas, mais si je fais comme ça

ItemStack spawnItem = nouveau ItemStack (Matériel.STAINED_GLASS_PANE, 1, (court 14);

Il est rouge maintenant mais l'élément n'avait pas de nom je ne sais pas comment ajouter le nom. voici mon code complet à ce sujet.

package com.jelles.plugin1.commands;

    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.Material;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandExecutor;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    import org.bukkit.inventory.Inventory;
    import org.bukkit.inventory.ItemStack;
    import org.bukkit.inventory.meta.ItemMeta;

    public class inventoryEquip implements CommandExecutor {

        public boolean onCommand(CommandSender sender, Command cmd, String commadLabel, String[] args) {
            if (!(sender instanceof Player)) {
                sender.sendMessage("You must be a player to run this command!");
                return false;
            }

            Player player = (Player) sender;

            Inventory inv = Bukkit.createInventory(null, 9, "Custom Inventory");

            ItemStack spawnItem = nameItem(Material.STAINED_GLASS_PANE, ChatColor.AQUA + "Teleport To Spawn!");
            ItemStack houseItem = nameItem(Material.APPLE, ChatColor.RED + "Teleport To A House!");
            ItemStack cloudItem = nameItem(Material.FEATHER, ChatColor.LIGHT_PURPLE + "Teleport To A Cloud!");

            inv.setItem(4, spawnItem);
            inv.setItem(5, houseItem);
            inv.setItem(3, cloudItem);

            player.openInventory(inv);

            return true;
        }

        private ItemStack nameItem(ItemStack item, String name) {
            ItemMeta meta = item.getItemMeta();
            meta.setDisplayName(name);
            item.setItemMeta(meta);
            return item;
        }

        private ItemStack nameItem(Material item, String name) {
            return nameItem(new ItemStack(item), name);
        }

    }

Si vous avez besoin de quelque chose d'autre faites le moi savoir merci pour l'aide!

Author: Kerooker, 2016-11-11

1 answers

Remplacer (short) avec (byte), la valeur des données est un octet, pas un court-circuit.

ItemStack spawnItem = nameItem(Material.STAINED_GLASS_PANE, 1,0,(byte) 14);
ItemMeta spawnItemMeta = spawnItem.getItemMeta();
spawnItemMeta.setName(ChatColor.AQUA+"Teleport To Spawn!");
spawnItem.setItemMeta(spawnItemMeta);

, Vous devez également utiliser ItemMeta pour définir le nom et les traditions.

 2
Author: spacegeek224, 2016-11-11 18:54:31