交易行为
要让实体具备交易能力,可以通过添加 minecraft:trade_table 或 minecraft:economy_trade_table 组件实现。这两个组件都会根据指定路径打开交易界面,但经济交易组件额外支持部分村庄与掠夺版本中的交易机制。你还需要添加 minecraft:behavior.trade_with_player 行为组件,可选添加 minecraft.behavior:trade_interest(允许生物手持/展示交易物品),必要时还可添加 "minecraft:trade_resupply": {}。
若只需基础交易界面,使用 trade_table + trade_with_player 组件组合即可。
- 在实体组件中添加
"minecraft:behavior.trade_with_player": {} - 将以下代码复制到实体的组件组中(示例命名为
"wiki:trader"):
BP/entities/trader.json
json
"minecraft:trade_table": {
"display_name": "交易实体", // 界面显示名称
"table": "trading/trading_entity_trades.json", // 交易表文件路径
"new_screen": true //设为false时,界面将显示为村庄与掠夺更新前的旧版样式
}- 确保通过事件将组件组添加到实体中。推荐在
minecraft:entity_spawned生成事件中添加,该事件会在实体生成时触发。 若对事件和组件组不熟悉,请先掌握实体定义规则相关概念。
WARNING
若直接将组件添加在components字段中,会导致各种问题(包括世界中所有实体出现空白交易界面)。由于交易AI行为的特殊机制,这些组件必须通过组件组形式添加。

