ItemsAdderAdditionsItemsAdderAdditions
行为

接触效果

对接触 ItemsAdder 自定义方块或家具的玩家施加效果。支持伤害、治疗、药水效果以及临时属性修饰,每种效果都有独立的间隔

Since v1.0.10

当玩家接触或站在自定义方块、家具或复杂家具上时施加效果。

提供四种效果组,全部可选。可在同一物品上任意组合。

效果组效果
damage按间隔伤害玩家(负值改为治疗)
heal按间隔治疗玩家(负值改为伤害)
potion_effects接触期间反复施加一组药水效果
attributes接触期间施加临时属性修饰

配置

behaviours:
  contact_effect:
    damage:
      amount: 1.0
      interval: 20 # 可选,默认:20 刻
      cause: CACTUS # 可选,默认:CACTUS
      fire_duration: 0 # 可选,默认:0 刻
behaviours:
  contact_effect:
    heal:
      amount: 1.0
      interval: 20 # 可选,默认:20 刻
behaviours:
  contact_effect:
    potion_effects:
      - type: POISON
        duration: 80 # 可选,默认:40 刻
        amplifier: 0 # 可选,默认:0(0 = 等级 1)
        ambient: false # 可选,默认:false
        particles: true # 可选,默认:true
        icon: true # 可选,默认:true
        interval: 20 # 可选,默认:20 刻
      - type: SLOWNESS
        duration: 80
behaviours:
  contact_effect:
    attributes:
      - attribute: MOVEMENT_SPEED
        amount: 0.05
        operation: ADD_NUMBER # 可选,默认:ADD_NUMBER
      - attribute: STEP_HEIGHT
        amount: 0.5
behaviours:
  contact_effect:
    apply_when_sneaking: true # 可选,默认:true
    block_faces: # 可选
      top: true # 可选,默认:true
      north: true # 可选,默认:true
      south: true # 可选,默认:true
      west: true # 可选,默认:true
      east: true # 可选,默认:true
    damage:
      amount: 1.0
      interval: 40
      cause: CACTUS
    heal:
      amount: 0.5
      interval: 20
    potion_effects:
      - type: SPEED
        amplifier: 1
        duration: 60
        interval: 10
    attributes:
      - attribute: STEP_HEIGHT
        amount: 0.5
        operation: ADD_NUMBER

伤害

类型默认值说明
amountDouble-伤害的半颗心数量。负值改为治疗。
intervalInt20每次施加之间的刻数。
causeStringCACTUS伤害类型,便于其他插件检测伤害原因。
fire_durationInt0受到伤害时玩家着火的刻数。

cause 请使用 DamageType 中的值(不区分大小写,例如 CACTUSLAVAMAGIC)。未知的值会记录警告并回退为 CACTUS

负的 amount 会治疗玩家而非伤害,并限制在玩家最大生命值以内。

治疗

类型默认值说明
amountDouble-治疗的半颗心数量。负值改为造成伤害。
intervalInt20每次施加之间的刻数。

治疗永远不会超过玩家的最大生命值。负的 amount 会通过 CACTUS 伤害类型造成伤害。

药水效果

potion_effects 是一个列表。只要玩家保持接触,每个条目都会被反复施加。

类型默认值说明
typeString-必填。药水效果类型。
durationInt40效果持续时间(刻)。
amplifierInt0效果等级(0 = 等级 1)。
ambientBooleanfalse效果是否为环境效果。
particlesBooleantrue是否显示粒子。
iconBooleantrue是否显示 HUD 图标。
intervalInt20每次重新施加之间的刻数。

type 请使用 PotionEffectType 中的值。未知的类型会记录警告,且仅跳过该条目。

属性

attributes 是临时属性修饰的列表,在玩家接触期间施加,离开后立即移除。

类型默认值说明
attributeString-必填。要修改的属性。
amountDouble-必填。修饰的数值。
operationStringADD_NUMBER数值的应用方式。

attribute 请使用 Attribute 中的值。旧的 GENERIC_PLAYER_ 前缀同样被接受(例如 GENERIC_MOVEMENT_SPEED 会解析为 MOVEMENT_SPEED)。

operation 的有效值来自 AttributeModifier.OperationADD_NUMBERADD_SCALARMULTIPLY_SCALAR_1

属性修饰是临时的。当玩家离开方块、退出游戏,或插件重载或关闭时,它们会被自动移除。未知的属性、数值或操作会记录警告,且仅跳过该条目。

接触检测

接触会按所有基于间隔的效果(damageheal 以及每个 potion_effects 条目)所需的最小间隔进行检测。每种效果都有自己的冷却,因此不同的间隔相互独立。

如果配置了 attributes,则每刻都会检测接触,以便玩家离开方块时能迅速移除修饰。

共享选项

类型默认值说明
apply_when_sneakingBooleantrue玩家潜行时是否仍施加效果。
block_facesSection全部开启哪些面算作接触(topnorthsouthwesteast)。

相关页面

On this page