json MC Java 1.19.2中基于标记的纹理

zdwk9cvp  于 2023-02-14  发布在  Java
关注(0)|答案(1)|浏览(99)

我试图使一个纹理包,改变了弩的纹理的基础上,一个特定的标签为前。
如果十字弓标记为“Cool_Crossbow”,则使用cool_crossbow. png
下面是我设置十字弓标签的方法:

ItemStack item = new ItemStack(Material.CROSSBOW);
ItemMeta meta = item.getItemMeta();
NamespacedKey key = new NamespacedKey(hex, "One_Punch_Bow");
meta.getPersistentDataContainer().set(key, PersistentDataType.STRING, "One Punch Bow");

我做了一些挖掘如何设置一个基于标签的纹理,这是我想出来的:

{
    "parent": "item/generated",
    "textures": {
        "layer0": "item/my_custom_crossbow_model"
    },
    "overrides": [

        {
            "predicate": {
                "tag": {
                    "One_Punch_Bow": "One Punch Bow"
                }
            },
            "model": "item/my_custom_crossbow_model"
        }
    ]
}

不幸的是,这不工作(并不感到惊讶)。什么是错误的在这里idk。也请告诉我,如果这甚至是正确的方式来做到这一点

owfi6suc

owfi6suc1#

此Wiki页面上没有 predicate 标记基础
您可以使用自定义模型数据

{
    "parent": "item/generated",
    "textures": {
        "layer0": "item/my_custom_crossbow_model"
    },
    "overrides": [
        {
            "predicate": {
                 "custom_model_data": INTEGER
            },
            "model": "item/my_custom_crossbow_model"
        }
    ]
}

然后您可以使用以下命令设置自定义模型数据

ItemMeta meta = item.getItemMeta();
meta.setCustomModelData(INTEGER)

此外,我建议在这个网站上搜索帮助https://www.spigotmc.org/

相关问题