MC百科社群

标题: 如何在合成时保留物品数据? [打印本页]

作者: dinnerbone    时间: 2021-3-6 19:53
标题: 如何在合成时保留物品数据?
如何使用crafttweaker添加一个保留数据的附魔?

例如,我想使用钻石剑和金锭合成来为钻石剑添加上亡灵杀手附魔,且新合成的剑保留原物品的数据,就是说原来钻石剑上的耐久,附魔等等所有内容都要继承到新钻石剑上,仅仅添加一个亡灵杀手附魔,如何用crafttweaker实现?

作者: QQ酱73085    时间: 2021-3-9 19:59
本帖最后由 QQ酱73085 于 2021-3-9 20:58 编辑
  1. import crafttweaker.enchantments.IEnchantment;
  2. import crafttweaker.item.IItemStack;
  3. import crafttweaker.data.IData;

  4. var sword = <minecraft:diamond_sword:*>;
  5. var end_crystal = <minecraft:end_crystal>;

  6. recipes.addShapeless("test_sword",sword, [sword.marked("mark"),end_crystal],
  7.     function(out, ins, cInfo){
  8.         var enchTag as IData = {};
  9.         var enchSmite = <enchantment:minecraft:smite>;

  10.         if (ins.mark.isEnchantable){
  11.             enchTag += enchSmite.makeEnchantment(5).makeTag();

  12.         }else{
  13.             for ench in ins.mark.enchantments{
  14.                 if(ench.definition.id != enchSmite.id){

  15.                     enchTag += ench.makeTag();
  16.                 }
  17.             }
  18.             
  19.             enchTag += <enchantment:minecraft:smite>.makeEnchantment(5).makeTag();
  20.         }

  21.         return ins.mark.withTag(enchTag);
  22.     },
  23. //我们不需要recipeAction,所以将它设置为null(空)
  24. null);
复制代码
最终版

QQ图片20210309195914.png (312.59 KB, 下载次数: 63)

QQ图片20210309195914.png

作者: QQ酱73085    时间: 2021-3-9 20:22
本帖最后由 QQ酱73085 于 2021-3-9 20:43 编辑

我改一下代码先,如果物品原本就有亡灵杀手,会再附上一个亡灵杀手的;
已更新最终版






欢迎光临 MC百科社群 (https://bbs.mcmod.cn/) MC百科|最大的MineCraft中文模组百科