Java Minecraft彩色玻璃



我正在制作一个插件,当你输入/传送时,你会得到9个地方的库存,那里必须有一个彩色玻璃窗格是红色的,但我可以得到彩色玻璃窗格,但我不能让他红色,因为当我尝试项目的名称被打破。红色彩色玻璃的编码为STANED_GLASS_PANE:14在代码中我尝试了这个:

ItemStack spawnItem = ItemName(材质)STAINED_GLASS_PANE ChatColor。AQUA +"传送到产卵!");

这很好,但当我尝试这个时,它不起作用

ItemStack spawnItem = ItemName(材质)1, 14, ChatColor。AQUA +"传送到产卵!");

或者如果我尝试这个

ItemStack spawnItem = ItemName(材质)1,(短)14,ChatColor。AQUA +"传送到产卵!");

不起作用但是如果我这样做

ItemStack spawnItem = new ItemStack(Material。

它现在是红色的,但项目没有名称,我不知道如何添加名称。这是我的完整代码。

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);
        }
    }

如果你还需要什么,请告诉我,谢谢你的帮助!

(short)替换为(byte),数据值为一个字节,而不是一个短值

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);

您还必须使用ItemMeta来设置名称和文字

最新更新