Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Minecraft彩色玻璃_Java_Minecraft_Bukkit - Fatal编程技术网

Java Minecraft彩色玻璃

Java Minecraft彩色玻璃,java,minecraft,bukkit,Java,Minecraft,Bukkit,我正在制作一个插件,当你输入/传送时,你会得到一个9个地方的清单,那里一定有一个红色的彩色玻璃窗格,但我可以得到彩色玻璃窗格,但我不能得到他的红色,因为当我尝试时,物品的名称被打破。红色彩色玻璃的代码为标准玻璃窗格:14 在代码中,我尝试了以下方法: ItemStack spawnItem=ItemName(Material.colored_GLASS_窗格,ChatColor.AQUA+“传送到产卵!”) 这很好,但当我尝试这个时,我不起作用 ItemStack spawnItem=ItemN

我正在制作一个插件,当你输入/传送时,你会得到一个9个地方的清单,那里一定有一个红色的彩色玻璃窗格,但我可以得到彩色玻璃窗格,但我不能得到他的红色,因为当我尝试时,物品的名称被打破。红色彩色玻璃的代码为标准玻璃窗格:14 在代码中,我尝试了以下方法:

ItemStack spawnItem=ItemName(Material.colored_GLASS_窗格,ChatColor.AQUA+“传送到产卵!”)

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

ItemStack spawnItem=ItemName(材质.彩色玻璃窗格,1,14,ChatColor.AQUA+“传送到产卵!”)

或者如果我试试这个

ItemStack spawnItem=ItemName(Material.colored_GLASS_窗格,1,(short)14,ChatColor.AQUA+“传送到产卵!”)

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

ItemStack spawnItem=新的ItemStack(材质.彩色玻璃窗格,1,(短14)

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

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

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

(短)
替换为
(字节)
,数据值是字节,而不是短字节

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
来设置名称和知识。

但是如果我这样做,我无法命名这就是问题所在,我想把它做成一个红色的彩色玻璃并给它命名:)我在user7147407处修复了它。您需要使用
ItemMeta
来设置名称。