跳至主要內容

TConJSEvents.materialDefinition

芒果凍布丁原創2026/7/28小於 1 分鐘

伺服器端
TConJSEvents.materialDefinition(handler: (event: MaterialDefinitionEventJS) => void)

基本語法

TConJSEvents.materialDefinition((event) => {
  event.addMaterialData(
    "tconstruct",
    "cobalt",
    (definition) => {
      definition
        .craftable(false)
        .hidden(false)
        .sortOrder(10)
        .tier(3);
    },
    (stats) => {
      stats
        .binding()
        .maille()
        .head(800, 2.25, 6.5, "minecraft:diamond")
        .handle(0.05, 0.0, 0.05, 0.05)
        .grip(0.05, 0.05, 2.25)
        .limb(0.05, 0.05, 800, 0.05)
        .platingHelmet(2.0, 330, 1.0, 0.05)
        .platingChestplate(7.0, 480, 1.0, 0.05)
        .platingLeggings(5.0, 450, 1.0, 0.05)
        .platingBoots(2.0, 390, 1.0, 0.05)
        .platingShield(540, 1.0, 0.05);
    },
    (traits) => {
      traits
        .add("tconstruct:lightweight", 1)
        .perStat("tconstruct:armor", "tconstruct:melee_protection", 1);
    },
    (smltingRecipe) => {
      smltingRecipe
        .fluid("#forge:molten_cobalt")
        .amount(90)
        .temperature(950)
    }
  );
});

事件方法

方法說明
addMaterialData(
  namespace: string,
  materialName: string,
  definition: (definition: MaterialDefinitionBuilder) => void,
  stats: (stats: MaterialStatsBuilder) => void,
  traits: (traits: MaterialTraitsBuilder) => void,
  smeltingRecipe: (smeltingRecipe: MaterialSmeltingRecipeBuilder) => void
)
添加材料資料

addMaterialData

addMaterialData(
  namespace: string,
  materialName: string,
  definition: (definition: MaterialDefinitionBuilder) => void,
  stats: (stats: MaterialStatsBuilder) => void,
  traits: (traits: MaterialTraitsBuilder) => void,
  smeltingRecipe: (smeltingRecipe: MaterialSmeltingRecipeBuilder) => void
)

addMaterialData(
  materialName: string,
  definition: (definition: MaterialDefinitionBuilder) => void,
  stats: (stats: MaterialStatsBuilder) => void,
  traits: (traits: MaterialTraitsBuilder) => void,
  smeltingRecipe: (smeltingRecipe: MaterialSmeltingRecipeBuilder) => void
)
參數
  • namespace: string - 材料命名空間(默認命名空間為 kubejs
  • materialName: string - 材料名稱
  • definition: (definition: MaterialDefinitionBuilder) => void - 材料定義構建器
  • stats: (stats: MaterialStatsBuilder) => void - 材料�
  • traits: (traits: MaterialTraitsBuilder) => void - 材料特性構建器
  • smeltingRecipe: (smeltingRecipe: MaterialSmeltingRecipeBuilder) => void - 材料熔煉配方構建器
MaterialDefinitionBuilder
方法說明
craftable(
  craftable: boolean
)
若為 true,則該材料可在 部件製作台 製作
hidden(
  hidden: boolean
)
若為 true,則該材料將不會在書中或材料物品中顯示
sortOrder(
  sortOrder: int
)
材料在書中的排序順序,通常按照以下順序排序:
分組排序順序描述
一般0同時具有攻擊與採集特性
收穫1具有採集特性,但不具有攻擊特性
攻擊2具有攻擊特性,但不具有採集特性
特殊3具有特殊特性
遠程4具有遠程攻擊特性
兼容5僅在添加普通金屬時使用
地獄+10地獄材料,與前項做加法計算
終界+15終界材料,與前項做加法計算
綁定20只能製作成綁定結或弓弦的材料
製作25只能用於合成的材料
tier(
  tier: int
)
材料的等級,通常按照以下順序排序:
等級所屬書名原版材料參考製作方法
0 匠魂寶典:材料與你木材與等級 1 類似,主要是用於置於材料最前端。
通常不該用於其他材料中,僅用於新的材料類型
1 匠魂寶典:材料與你鵝卵石、銅只需要在 部件製作台 製作
2 入門熔煉術需要熔煉和鑄造才能製作
2(地獄) 入門熔煉術用於製作地獄或終界的建材
3 大師熔煉術鑽石需要透過合金製作的材料
3(地獄) 大師熔煉術需要熔煉和鑄造才能製作的地獄或終界材料
4(烈焰血) 奇異熔鑄術獄髓需要極高的溫度才能製作的材料
4(探索)遊戲中後期可獲得的材料,主要指的是終界材料
4(靈魂鍛造)需要透過靈魂熔爐才能製作的材料
目前尚未在匠魂模組中實現
5獄髓+最高等級的材料,通常需要結合多種製作方法,並且有獨特的特性
目前尚未在匠魂模組中實現
MaterialStatsBuilder

匠魂3原版部件

種類方法說明
近戰/採集工具
head(
  durability: int, // 耐久度
  meleeAttack: float, // 近戰傷害
  miningSpeed: float, // 挖掘速度
  miningTier: string // 挖掘等級
)
武器、工具頭部,如:鎬頭、小型斧刃、小型劍刃、牌板、錘頭、板斧刃、寬刃
handle(
  durability: int, // 耐久度
  meleeDamage: float, // 近戰傷害
  meleeSpeed: float, // 近戰攻擊速度
  miningSpeed: float, // 挖掘速度
)
手柄,如:工具手柄、堅韌手柄
binding()
綁定,如:綁定結、圓盤、大板
遠程工具
limb(
  accuracy: float, // 精準度
  drawSpeed: float, // 拉弓速度
  durability: int, // 耐久度
  veocity: float // 射速
)
弓臂
grip(
  accuracy: float, // 精準度
  durability: float, // 耐久度百分比
  meleeDamage: float // 近戰傷害
)
弓把
bowstring()
弓弦
盔甲
platingHelmet(
  armor: float, // 盔甲
  durability: int, // 耐久度
  toughness: float, // 盔甲強度
  knockbackResistance: float // 擊退抗性
)
鑲版頭盔
platingChestplate(
  armor: float, // 盔甲
  durability: int, // 耐久度
  toughness: float, // 盔甲強度
  knockbackResistance: float // 擊退抗性
)
鑲版胸甲
platingLeggings(
  armor: float, // 盔甲
  durability: int, // 耐久度
  toughness: float, // 盔甲強度
  knockbackResistance: float // 擊退抗性
)
鑲版護腿
platingBoots(
  armor: float, // 盔甲
  durability: int, // 耐久度
  toughness: float, // 盔甲強度
  knockbackResistance: float // 擊退抗性
)
鑲版靴子
platingShield(
  armor: float, // 盔甲
  durability: int, // 耐久度
  toughness: float, // 盔甲強度
  knockbackResistance: float // 擊退抗性
)
鑲版盾牌
maille()
鎖鏈基底
repairKit()
修補件,用於與其他工具合成恢復耐久度
skull(
  durability: int, // 耐久度
  armor: int, // 盔甲
)
頭顱

其他方法

方法說明
fullArmor(
  armor: float, // 盔甲
  durability: int, // 耐久度
  toughness: float, // 盔甲強度
  knockbackResistance: float // 擊退抗性
)
設置全套盔甲的屬性,會自動設置頭盔、胸甲、護腿、靴子、盾牌
part(
  partId: string, // 部件 ID
  data: map<string, object> // 部件屬性資料
)
設置部件的屬性資料
MaterialTraitsBuilder
方法說明
add(
  name: string, // 特性名稱
  level: int // 特性等級
)
添加材料特性
addAll(
  traits: map<string, int> // 特性名稱與等級的映射
)
添加多個材料特性
perStat(
  partId: string, // 部件 ID
  traitName: String, // 特性名稱
  level: int // 特性等級
)
為指定部件添加材料特性
perStatAll(
  partId: string, // 部件 ID
  traits: map<string, int> // 特性名稱與等級的映射
)
為指定部件添加多個材料特性
MaterialSmeltingRecipeBuilder
方法說明
fluid(
  fluidId: string
)
設置熔煉液體的 ID,若前綴為 # 則視為流體標籤
amount(
  amount: int
)
設置熔煉液體的數量,單位為毫升
temperature(
  temperature: int
)
設置熔煉液體的溫度,單位為攝氏度
最近更新:
貢獻者: Evan Hsieh