Item modification¶
原文:[Item modification]
提示 物品修改是启动事件。
ItemEvents.modification 是一个启动脚本事件,用于修改现有物品的各种属性。
ItemEvents.modification(event => {
event.modify('minecraft:ender_pearl', item => {
item.maxStackSize = 64
item.fireResistant = true
item.rarity = "UNCOMMON"
})
event.modify('minecraft:ancient_debris', item => {
item.rarity = "RARE"
item.burnTime = 16000
})
event.modify('minecraft:turtle_helmet', item => {
item.rarity = "EPIC"
item.maxDamage = 481
item.craftingRemainder = Item.of('minecraft:scute').item
})
})
可用属性:
| 属性 | 值类型 | 描述 |
|---|---|---|
| maxStackSize | int | 设置物品的最大堆叠数量。大多数物品默认为 64。 |
| maxDamage | int | 设置物品在被破坏前所能承受的最大伤害值(耐久度)。 |
| craftingRemainder | Item | 设置该物品作为合成原料时留在合成格中的物品(例如蛋糕配方中的牛奶桶)。大多数物品没有此属性。 |
| fireResistant | boolean | 该物品是否会在火和岩浆中燃烧。大多数物品默认为 false,但远古残骸(Ancient Debris)和下界合金(Netherite)制品不是。 |
| rarity | Rarity | 设置物品的稀有度。主要用于名称颜色。默认为 COMMON。下界之星(Nether Star)和鞘翅(Elytra)是 UNCOMMON,金苹果(Golden Apple)是 RARE,附魔金苹果(Enchanted Golden Apple)是 EPIC。 |
| burnTime | int | 设置该物品在普通熔炉中的燃烧时间(以刻为单位)。注意:烟熏炉和高炉的燃料消耗速度是普通熔炉的两倍。煤炭为 1600。 |
| foodProperties | FoodProperties | 将物品的食物属性设置为提供的属性。可以设为 null 来移除食物属性。 |
| foodProperties | Consumer |
根据 consumer 设置属性。更多信息见下文。 |
| digSpeed | float | 将物品的挖掘速度设置为提供的数值。默认值见下表。 |
| tier | Consumer |
目前已损坏(BROKEN)!根据 consumer 设置工具的品质。更多信息见下文。 |
| attackDamage | double | 设置该物品的攻击伤害。 |
| attackSpeed | double | 设置该物品的攻击速度。 |
| armorProtection | double | 设置该物品的盔甲保护值。20 为满盔甲条。 |
| armorToughness | double | 添加盔甲韧性加成。 |
| armorKnockbackResistance | double | 添加盔甲击退抗性加成。可以为负数。1 为完全击退抗性。 |
工具默认值¶
| 品质(Tier) | level | maxDamage | digSpeed | attackDamage(这是受工具类型数值修正的加成,不是最终值) | enchantmentValue |
|---|---|---|---|---|---|
| Wood | 0 | 59 | 2 | 0 | 15 |
| Stone | 1 | 131 | 4 | 1 | 5 |
| Iron | 2 | 250 | 6 | 2 | 14 |
| Diamond | 3 | 1561 | 8 | 3 | 10 |
| Gold | 0 | 32 | 12 | 0 | 22 |
| Netherite | 4 | 2031 | 9 | 4 | 15 |
盔甲默认值¶
所有含多个数值的格子均按 [头、胸、腿、脚] 排序。单数值的格子表示每件装备都相同。
| 品质(Tier) | maxDamage | armourProtection | armorToughness | armorKnockbackResistance |
|---|---|---|---|---|
| Leather | [65, 75, 80, 55] | [1, 2, 3, 1] | 0 | 0 |
| Chain | [195, 225, 240, 165] | [1, 4, 5, 2] | 0 | 0 |
| Iron | [195, 225, 240, 165] | [2, 5, 6, 2] | 0 | 0 |
| Gold | [91 ,105, 112, 77] | [1, 3, 5, 2] | 0 | 0 |
| Diamond | [429, 495, 528, 363] | [3, 6, 8, 3] | 2 | 0 |
| Turtle(只有头盔) | [325, nil, nil. nil] | [2, nil, nil, nil] | 0 | 0 |
| Netherite | [481, 555, 592, 407] | [3, 6, 8, 3] | 3 | 0.1 |
| Elytra(实际上不是盔甲) | [nil, 432, nil, nil] | 0 | 0 | 0 |
品质(Tier)¶
提示 目前处于损坏状态!https://github.com/KubeJS-Mods/KubeJS/issues/662 。请改用非 tier 方法。
工具¶
ItemEvents.modification(event => {
event.modify('golden_sword', item => {
item.tier = tier => {
tier.speed = 12
tier.attackDamageBonus = 10
tier.repairIngredient = '#forge:storage_blocks/gold'
tier.level = 3
}
})
event.modify('wooden_sword', item => {
item.tier = tier => {
tier.enchantmentValue = 30
}
})
})
| 属性 | 值类型 | 描述 |
|---|---|---|
| uses | int | 该工具损坏前的最大耐久值。与 maxDamage 相同。 |
| speed | float | 该工具的挖掘速度。 |
| attackDamageBonus | float | 该工具的额外攻击伤害。 |
| level | int | 该工具的挖掘等级。 |
| enchantmentValue | int | 该工具的附魔能力。数值越高,在附魔台上能获得的附魔越好。 |
| repairIngredient | Ingredient | 在铁砧上修复该工具所需的材料。 |
盔甲¶
目前实际上并不存在/无法使用。抱歉。
食物¶
ItemEvents.modification(event => {
event.modify('minecraft:diamond', item => {
item.foodProperties = food => {
food.hunger(2)
food.saturation(3)
food.fastToEat(true)
food.eaten(e => e.player.tell('you ate')) // this is broken, use ItemEvents.foodEaten instead.
}
})
event.modify('pumpkin_pie', item => {
item.foodProperties = null // make pumpkin pies inedible
})
})
| 方法 | 参数 | 描述 |
|---|---|---|
| hunger | int h | 设置食用该物品时恢复的饥饿值。 |
| saturation | float s | 设置食用该食物时的饱和度倍率。这不是最终值,需要先经过一些复杂的计算。 |
| meat | boolean flag(可选,默认为 true) | 设置该物品是否被视为肉类。肉可以喂给狼来治疗它们。 |
| alwaysEdible | boolean flag(可选,默认为 true) | 即使饥饿值已满也可以食用该物品。紫颂果(Chorus Fruit)默认如此。 |
| fastToEat | boolean flag(可选,默认为 true) | 该物品是否可以快速食用,比如干海带(Dried Kelp)。 |
| effect | ResourceLocation mobEffectId, int duration, int amplifier, float probability | 为食用者添加效果,比如金苹果。 |
| removeEffect | MobEffect mobEffect | 移除食用者的效果,比如蜂蜜瓶(中毒)。 |
| eaten | Consumer |
已损坏(BROKEN)!请改用服务端脚本中的 ItemEvents.foodEaten。 |