Skip to content

Latest commit

 

History

History
67 lines (50 loc) · 2.32 KB

File metadata and controls

67 lines (50 loc) · 2.32 KB

构建特性

导包

import mods.contenttweaker.tconstruct.TraitBuilder;

构建器

记得导包!

var myTrait as TraitBuilder = TraitBuilder.create(identifier as string);

可自定义参数

字段 值类型 描述
identifier string 特性名称
color int 特性显示的颜色
maxLevel int 特性最高等级 (默认为 1)
hidden bool 是否隐藏此特性
countPerLevel int 设置升级到下一级需要多少 countPerLevel
localizedDescription string 本地化描述
localizedName sting 本地化名称

方法

方法 描述
addItem(ingredient as IIngredient, amountNeeded as int, amountMatched as int) 使 ingredient 可以在工具装配台为匠魂工具添加此特性, amountNeeded 为需求数量, amountMatched 为匹配数量, 后两个参数选填, 默认为 1
removeItem(itemStack as IItemStack) 使 itemStack 不能制作此特性

注册特性

最后记得调用一下 register 零参方法, 否则游戏内会无反应

本地化

本地化为上文的 localizedDescriptionlocalizedName

实例

#loader contenttweaker //别忘加这行否则无法添加特性
import mods.contenttweaker.tconstruct.TraitBuilder; // 导入 TraitBuilder 包

var testTrait = TraitBuilder.create("kindlich_test");
testTrait.color = 0xffaadd;
testTrait.maxLevel = 100;
testTrait.countPerLevel = 20;
testTrait.addItem(<item:minecraft:iron_pickaxe>); // <item:minecraft:iron_pickaxe> 为铁镐
testTrait.addItem(<item:minecraft:iron_block>, 4, 2); // <item:minecraft:iron_block> 为铁块
testTrait.localizedName = "实例特性";
testTrait.localizedDescription = "独创的特性!";
//此函数将在高级运用讲解
testTrait.afterHit = function(thisTrait, tool, attacker, target, damageDealt, wasCrit, wasHit) {
    if(!attacker.world.remote) {
        attacker.heal(damageDealt);
    }
};
testTrait.register();

上文函数内的代码为什么要用 world.remote ? 看 !world.remote保证事件只在服务端处理