Entity Interact Condition

基本信息

属性 值
handler ID interact.entity
事件订阅 Forge MinecraftForge.EVENT_BUS(net.minecraftforge.event.entity.player.EntityInteractEvent)
优先级 LOWEST

配置字段

字段 类型 默认 含义
targets 字符串或字符串数组 [](必填) 目标实体的注册名或全限定类名(EntityList.stringToClassMapping 优先,回退 Class.forName)

触发流程

  1. 玩家右键实体触发 EntityInteractEvent。
  2. 取 event.target.getClass()。
  3. 在 Multimap<Class<? extends Entity>, String> 中查找匹配的条目 ID,逐个调用 listener。

匹配严格按精确类(getClass(),不包含子类);若需子类继承匹配,请在 targets 中列出每个子类。

JSON 示例

右键村民或猪:

{
  "id": "interact_villager",
  "x": 0, "y": 1,
  "icon": { "registryName": "minecraft:emerald" },
  "condition": {
    "type": "interact.entity",
    "targets": ["Villager", "Pig"]
  }
}

相关条目

源码

src/main/java/glowredman/amazingtrophies/condition/EntityInteractConditionHandler.java