model中bow.json里的override,predicate好像只能检测到pulling的值(是否拉弓),当加上Damage值的判断后就会显示材质丢失。
能否通过Damage值或者Custom_Model_Data修改弓的所有状态的贴图?(版本为1.13.2+)
在json档案里加上就行了,比方说加个5:
{
"predicate": {
"pulling": 1,"custom_model_data":5
},
"model": "item/bow_pulling_a1"
},
{
"predicate": {
"pulling": 1,"custom_model_data":5,
"pull": 0.65
},
"model": "item/bow_pulling_a2"
},
{
"predicate": {
"pulling": 1,"custom_model_data":5,
"pull": 0.9
},
"model": "item/bow_pulling_a3"
}
注意新增的bow_pulling_a1到bow_pulling_a3模型档也是要自己新增加入。
MC深坑不回头 发表于 2019-12-23 16:23
在json档案里加上就行了,比方说加个5:
{
"predicate": {
了解了。
那么Damage值能否用同样方法操作呢?
我在其中加入了"damage",进入游戏后出现材质丢失
比方说这条:
"predicate": {"damaged": 0, "damage": 0.012345,"custom_model_data":2}, "model": "item/ds/test001"}
意思是这其中三样条件都要符合才会套用test001模型,在命令列要输入/give @p minecraft:bow{Damage:某数s,Unbreakable:1b,CustomModelData:某数}
才能正确叫出test001模型,你检查下吧。
MC深坑不回头 发表于 2019-12-23 19:20
比方说这条:
"predicate": {"damaged": 0, "damage": 0.012345,"custom_model_data":2}, "model": "item/d ...
以下是截取下来的两端相关代码(版本1.13.2):
然后输入了/give @p bow{Unbreakable:1,Damage:384},依然材质缺失。
本帖最后由 MC深坑不回头 于 2019-12-25 18:16 编辑
给你代码吧:
bow.json:
复制代码
我只写前面两个,有需要再往后编写吧。亲测了能成功使用:
把弓的四种状态分别放这四个资料夹---
bpo是原始没有箭的状态;bp是搭上箭时;bp1是拉到一半;bp2是拉满时。
比如第二把弓拉到满时.minecraft\resourcepacks\1.12.2弓资源包测试 \assets\minecraft\models\item\bp2
里面的bp2.json档案,内容为:
复制代码
1.12:
/give @p minecraft:bow 1 2 {Unbreakable:1}
1.13:
/give @p bow{Unbreakable:1,Damage:2s}
给你代码吧:
bow.json:
- {
- "parent": "item/handheld",
- "textures": {
- "layer0": "item/bow_standby"
- },
- "overrides": [
- {
- "predicate": {
- "damaged": 0,
- "damage": 0
- },
- "model": "item/bpo/bp"
- },
- {
- "predicate": {
- "pulling": 1,
- "damaged": 0,
- "damage": 0
- },
- "model": "item/bp/bp"
- },
- {
- "predicate": {
- "pulling": 1,
- "pull": 0.65,
- "damaged": 0,
- "damage": 0
- },
- "model": "item/bp1/bp"
- },
- {
- "predicate": {
- "pulling": 1,
- "pull": 0.9,
- "damaged": 0,
- "damage": 0
- },
- "model": "item/bp2/bp"
- },
- {
- "predicate": {
- "damaged": 0,
- "damage": 0.00260416666666667
- },
- "model": "item/bpo/bp1"
- },
- {
- "predicate": {
- "pulling": 1,
- "damaged": 0,
- "damage": 0.00260416666666667
- },
- "model": "item/bp/bp1"
- },
- {
- "predicate": {
- "pulling": 1,
- "pull": 0.65,
- "damaged": 0,
- "damage": 0.00260416666666667
- },
- "model": "item/bp1/bp1"
- },
- {
- "predicate": {
- "pulling": 1,
- "pull": 0.9,
- "damaged": 0,
- "damage": 0.00260416666666667
- },
- "model": "item/bp2/bp1"
- },
- {
- "predicate": {
- "damaged": 0,
- "damage": 0.00520833333333333
- },
- "model": "item/bpo/bp2"
- },
- {
- "predicate": {
- "pulling": 1,
- "damaged": 0,
- "damage": 0.00520833333333333
- },
- "model": "item/bp/bp2"
- },
- {
- "predicate": {
- "pulling": 1,
- "pull": 0.65,
- "damaged": 0,
- "damage": 0.00520833333333333
- },
- "model": "item/bp1/bp2"
- },
- {
- "predicate": {
- "pulling": 1,
- "pull": 0.9,
- "damaged": 0,
- "damage": 0.00520833333333333
- },
- "model": "item/bp2/bp2"
- },
- {
- "predicate": {
- "damaged": 1,
- "damage": 0
- },
- "model": "item/bp/bp"
- }
- ]
- }
我只写前面两个,有需要再往后编写吧。亲测了能成功使用:
把弓的四种状态分别放这四个资料夹---
bpo是原始没有箭的状态;bp是搭上箭时;bp1是拉到一半;bp2是拉满时。
比如第二把弓拉到满时.minecraft\resourcepacks\1.12.2弓资源包测试 \assets\minecraft\models\item\bp2
里面的bp2.json档案,内容为:
- {
- "parent": "item/handheld",
- "textures": {
- "layer0": "items/bp2/bp0_2"
- }
- }
1.12:
/give @p minecraft:bow 1 2 {Unbreakable:1}
1.13:
/give @p bow{Unbreakable:1,Damage:2s}

MC深坑不回头 发表于 2019-12-25 18:14
给你代码吧:
bow.json:
看来可能是我的参数没写全导致的问题。
Determancer 发表于 2019-12-25 18:27
看来可能是我的参数没写全导致的问题。
最终原因确定,是材质贴图文件本身存在的问题导致了显示异常。通过photoshop经过一番谜之处理后已可以正常使用。不是代码问题
