Buildosour_积木小恐龙

搬运工
U3版主
U4开发者认证
正式会员
UID
803
2024/02/24
98
勋章
2
红宝石
587个红宝石
红宝石
587
  • #1
ok今天继续分析addon的代码,依然拿上一次的代码来举例。
第一篇分享了长篇的实体代码剖析,现在分析下面的代码
首先是“不会出现的实体”:
JSON:
{
   "format_version":"1.21.0",
   "minecraft:entity":{
      "description":{
         "identifier":"true:despawn",
         "spawn_category":"misc",
         "is_spawnable":false,
         "is_summonable":true
      },
      "components":{
         "minecraft:despawn":{
            
         }
      }
   }
}
也是很轻松就明白了


接下来是物品item
这里只给出了保险箱钥匙的代码:
JSON:
{
  "format_version": "1.16",
  "minecraft:item": {
    "description": {
      "identifier": "true:safe_key"
    }
  }
}
由于只有短短几行,我们只能看出它属于物品,并有专属id,无法看出它还可以有什么能添加的其他属性,所以用处不大,只能看出个基本格式。



接下来来到战利品表(loot_table),这里只有保险箱的掉落战利品(也就是本体),不过值得研究研究(因为没有见过):
JSON:
{
    "pools":[//这里指战利品池列表(把所有战利品像池塘里面的水一样归为一起)
        {
            "rolls":1,//抽取次数
            "entries":[ // 掉落物条目列表
                {
                    "type":"item",// 掉落物类型
                    "name":"true:safe_basic_spawn_egg",// 物品ID(也就是保险箱生成蛋)
                    "weight":1,//权重,也就是概率
                    "functions":[// 物品函数
                        {
                            "function":"set_count",// 设置数量函数
                            "count":1// 数量值
                        }
                    ]
                }
            ]
        }
    ]
}
尽管代码只有短短几行,但我们完全可以以小见大,摸索出背后逻辑,并认识到:
1.可以将想要的掉落物归为一池
2.可以设置掉落物的概率
3.数量上也可以自由设置
对于大佬来说可能微不足道,但对于我这个json都不太懂的人来说可为宝藏qwq