Zentutorial
  • 首页
  • Zenscript
  • 简单运用
    • 局部变量
    • 尖括号调用
    • 工作台合成
      • 添加配方
      • 移除配方
      • Metadata
      • NBT
    • 熔炉配方
    • 矿物词典(Ore Dictionaries)
    • 物品名称修改
    • tooltips
      • 样式代码
    • 物品条件
    • 物品转换器
    • 掉落物
      • 打草掉落物
      • 生物掉落物
      • Dropt - 导言
        • Dropt - 方法速查
        • Dropt - 使用示例
    • 战利品表 : 导论
      • 战利品表修改(LootTableTweaker)
      • 战利品表修改(LootTweaker-基础)
    • 循环语句(foreach循环) / 普通数组
  • 高级运用
    • 概论
      • 基本类
      • ZenGetter
      • ZenSetter
      • ZenMethod(方法)
    • 常见错误
    • 基本运算
    • 数组与集合
    • 循环与遍历
    • 全局函数
    • Math包
    • if
    • in/has 操作符
    • 战利品表修改(LootTweaker-进阶)
    • 三元操作符
    • 预处理器
    • 全局和静态变量
    • 跨脚本引用
    • 关联数组(映射)
    • IItemStack类型的重新认识
    • IIngredient接口
    • IItemDefinition & IBlockDefinition
    • IData 类型
      • DataMap
    • 穷举与遍历
    • 自定义函数
    • 配方函数与配方事件
      • 配方函数
      • 配方事件
    • 事件概论
      • 一些忠告
    • ZenClass
  • ContentTweaker
    • ContentTweaker
    • 指令
    • 原版加工厂
      • 概论
      • 物品
      • 方块
      • 流体
      • 创造标签
      • 食物
    • 材料系统
      • 基础用法
        • 材料
        • 部件
        • 注册材料部件
        • 材料部件信息
      • 高级运用
        • 自定义部件类型
        • 注册自定义部件
        • 自定义材料部件信息
    • 高级运用
    • 更多鸡联动
    • 匠魂联动
      • 材料引导
        • 材料
        • 构建材料
      • 特性引导
        • 特性
        • 构建特性
        • 特性数据
      • 高级运用
  • 实战
    • 配方
      • 数据驱动合成修改
    • 事件
      • 修改方块掉落物
      • 禁止开创造
由 GitBook 提供支持
在本页
  • 导包
  • 构建器
  • 可自定义参数
  • 方法
  • 注册特性
  • 本地化
  • 实例

这有帮助吗?

  1. ContentTweaker
  2. 匠魂联动
  3. 特性引导

构建特性

导包

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

本地化名称

方法

方法

描述

使 ingredient 可以在工具装配台为匠魂工具添加此特性, amountNeeded 为需求数量, amountMatched 为匹配数量, 后两个参数选填, 默认为 1

使 itemStack 不能制作此特性

注册特性

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

本地化

本地化为上文的 localizedDescription 和 localizedName

实例

#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();
上一页特性下一页特性数据

最后更新于3年前

这有帮助吗?

addItem(ingredient as , amountNeeded as int, amountMatched as int)

removeItem(itemStack as )

上文函数内的代码为什么要用 world.remote ? 看

!world.remote保证事件只在服务端处理
IIngredient
IItemStack