1.<lastsmith:.slashblade.named>.withTag({ench: [{lvl: 2 as short, id: 19}, {lvl: 2 as short, id: 18}, {lvl: 3 as short, id: 34}, {lvl: 3 as short, id: 21}, {lvl: 2 as short, id: 20}], ModelName: "named/sange/sange", ProudSoul: 6, CurrentItemName: "flammpfeil.slashblade.named.fox.white", TextureName: "named/sange/white"})这一段是白狐的item,但如何继承制作材料之一红玉拔刀的杀敌数,荣耀值等nbt属性。。。而不是像上面一样重新定义一段杀敌数跟荣耀值。
 本帖最后由 qq857945782 于 2021-8-11 18:18 编辑 
拔刀剑用CrT改配方总是有很多问题,这个太复杂了
我对CrT配方函数和拔刀剑的研究有限只能做到这个地步了,这个是继承荣耀值的zs,参考youyihj大佬的教程写的 https://youyi580.gitbook.io/zent ... ion/recipe-function
import crafttweaker.data.IData;
recipes.addShapeless("example",<flammpfeil.slashblade:slashbladewrapper>,[<flammpfeil.slashblade:slashblade>.marked("t")],
function(out,input,info){
var data as IData = input.t.tag;
var whitedata as IData = {ench: [{lvl: 2 as short, id: 19 as short}, {lvl: 2 as short, id: 18 as short}, {lvl: 3 as short, id: 34 as short}, {lvl: 3 as short, id: 21 as short}, {lvl: 2 as short, id: 20 as short}],
WrapItem: {id: "minecraft:wooden_sword",
Count: 1 as byte, Damage: 0 as short},
SlashBlade: {}, ModelName: "named/sange/sange",
isDefaultBewitched: 1 as byte, CurrentItemName: "flammpfeil.slashblade.named.fox.white",
TextureName: "named/sange/white", SpecialAttackType: 0,
TrueItemName: "flammpfeil.slashblade.named.fox.white",baseAttackModifier: 4.0 as float, "SB.SEffect": {}};
var proudsoul as int = data.ProudSoul.asInt();
return out.withTag(whitedata + {ProudSoul:proudsoul});
},null
);
但是这样会有个问题如果荣耀值是0的时候nbt是没这个数据然后就会报错也合成不了,所以可能要每把你要改刀都给它加上荣耀值的nbt,锻造数和杀敌数同理
而且好像拔刀剑也用不了CrT的.anyDamage(),导致只能把刀修好才能合成
拔刀剑用CrT改配方总是有很多问题,这个太复杂了
我对CrT配方函数和拔刀剑的研究有限只能做到这个地步了,这个是继承荣耀值的zs,参考youyihj大佬的教程写的 https://youyi580.gitbook.io/zent ... ion/recipe-function
import crafttweaker.data.IData;
recipes.addShapeless("example",<flammpfeil.slashblade:slashbladewrapper>,[<flammpfeil.slashblade:slashblade>.marked("t")],
function(out,input,info){
var data as IData = input.t.tag;
var whitedata as IData = {ench: [{lvl: 2 as short, id: 19 as short}, {lvl: 2 as short, id: 18 as short}, {lvl: 3 as short, id: 34 as short}, {lvl: 3 as short, id: 21 as short}, {lvl: 2 as short, id: 20 as short}],
WrapItem: {id: "minecraft:wooden_sword",
Count: 1 as byte, Damage: 0 as short},
SlashBlade: {}, ModelName: "named/sange/sange",
isDefaultBewitched: 1 as byte, CurrentItemName: "flammpfeil.slashblade.named.fox.white",
TextureName: "named/sange/white", SpecialAttackType: 0,
TrueItemName: "flammpfeil.slashblade.named.fox.white",baseAttackModifier: 4.0 as float, "SB.SEffect": {}};
var proudsoul as int = data.ProudSoul.asInt();
return out.withTag(whitedata + {ProudSoul:proudsoul});
},null
);
但是这样会有个问题如果荣耀值是0的时候nbt是没这个数据然后就会报错也合成不了,所以可能要每把你要改刀都给它加上荣耀值的nbt,锻造数和杀敌数同理
而且好像拔刀剑也用不了CrT的.anyDamage(),导致只能把刀修好才能合成