我的世界【EH小课堂】如何给一个物品添加价值属性
如何修改以及添加自定义兑换物品
很多腐竹/玩家在使用本Mod时可能会修改原本的可兑换物品(默认为绿宝石),模组默认使用 recipes 系统来储存价值属性,并通过数据包格式来加载。下面教大家如何修改以及添加新的物品价值属性。
-
首先我们以压缩包格式打开该模组,此时你应看到这种格式:
-
前往该模组目录下的 ./data/ecohelper/recipes/tradable_item 文件夹,此时会看到如下图所示的文件:
-
如果要修改绿宝石的价值属性,请双击“emerald.json”;如果要删除绿宝石的价值属性,请查看下一章标题;如果要增加新的物品的价值属性,请看第五点。
-
双击“emerald.json”,你应会看到如下图所示的结构:其中,“type”为该模组定义的合成配方:ecohelper:tradable_item,用来定义并识别该物品是否具备价值属性。本魔族和任何依赖模组 IRecipes 类的商店系统等都需要该标签,请勿修改。
其中,“ingredient”下的“item”为需要定义价值属性的物品的标识符,默认是绿宝石,请勿修改原本自带的,如有添加新物品价值属性的需求,请直接看第五点。
其中,“worth”属性则为上方的物品定义了价值,默认是 10。请根据自行情况修改,如果修改该值,请一同修改 config 内的 default_balance_unit_worth 值(详见另一篇教程——EcoHelper 配置文件详解)。 -
添加新的物品价值属性:请在“emerald.json”的同级目录新建一个json文件,文件名就为你的物品名称(不能为中文,最好使用 MC 公认的物品标识信息),然后打开这个json文件,将“emerald.json”内的东西原封不动复制到新的json文件。
其中你需要修改“ingredient”下的“item”和“worth”。“item”就为刚刚查找到的 MC 公认的物品标识符,如“minecraft:diamond”、“alexmobs:ancient_ore”等。而“worth”则与上方修改绿宝石的方法一样,用来定义这个新加物品的价值,根据自行情况进行修改。 -
别忘了保存到压缩包中!
-
此时,重启你的游戏和服务器,你应该会看到新增物品的 Lore 里面有一个小小的金币图标,后面标注了你所设置的价值信息。
删除默认绿宝石
删除绿宝石的价值属性比较麻烦,强烈建议不要删除,如要删除请遵循以下教程:
-
首先,删除掉模组数据包内的“emerald.json”文件
-
如果想关闭物品兑换机制,请前往配置文件,将 default_balance_unit 设置成“minecraft:air”。
-
如果想用其他的物品代替绿宝石,请查看上方如何添加新物品价值属性,新建json文件进行添加。添加完成后,将配置文件的 default_balance_unit 设置成刚刚新建的物品的标识符。
-
与此同时,将配置文件的 default_balance_unit_worth 修改成刚刚新建物品的价值。