20.3.3 事件
一、事件列表
1.18.2中,所有世界事件(world.*)均被替换为了(level.*),实体受伤事件由 entity.damage 更改为 entity.hurt。
以下为详细事件列表
| 事件ID | 描述 |
|---|---|
| postinit | - |
| loaded | - |
| command.registry | - |
| command.run | 命令执行 |
| init | - |
| 客户端侧 | - |
| client.init | - |
| client.debug_info.left | 设置客户端左侧调试信息 |
| client.debug_info.right | 设置客户右侧侧调试信息 |
| client.logged_in | 客户端登入 |
| client.logged_out | 客户端登出 |
| client.tick | 客户端 Tick 事件 |
| client.paint_screen | 客户端 Painter |
| client.painter_updated | 客户端 Painter 更新事件 |
| client.generate_assets | - |
| 服务端事件 | - |
| server.load | - |
| server.unload | - |
| server.tick | 服务端 Tick 事件 |
| server.datapack.high_priority | 服务端数据包加载(高优先度) |
| server.datapack.low_priority | 服务端数据包加载(低优先度) |
| server.custom_command | 服务端自定义指令 |
| recipes | 配方事件 |
| recipes.after_load | 配方加载后事件 |
| recipes.serializer.special.flag | - |
| recipes.compostables | - |
| recipes.type_registry | 配方类型注册 |
| worldgen.add | 世界生成添加结构事件 |
| worldgen.remove | 世界生成移除结构事件 |
| 世界事件 | - |
| level.load | 世界加载事件 |
| level.unload | 世界卸载事件 |
| level.tick | 世界 Tick 事件 |
| level.explosion.pre | 世界爆炸前事件 |
| level.explosion.post | 世界爆炸后事件 |
| 玩家事件 | - |
| player.logged_in | 玩家登入事件 |
| player.logged_out | 玩家登出事件 |
| player.tick | 玩家 Tick 事件 |
| player.data_from_server | 客户端侧从服务端接收信息 |
| player.data_from_client | 服务端侧从客户端接收信息 |
| player.chat | 玩家聊天事件 |
| player.advancement | 玩家成就 |
| player.inventory.opened | 玩家打开背包 |
| player.inventory.closed | 玩家关闭背包 |
| player.inventory.changed | 玩家库存改变 |
| player.chest.opened | 玩家打开箱子 |
| player.chest.closed | 玩家关闭箱子 |
| player.check_login | 玩家登入控制 |
| 实体事件 | |
| entity.death | 实体死亡 |
| entity.hurt | 实体受伤 |
| entity.drops | 实体坠落 |
| entity.check_spawn | 实体生成控制 |
| entity.spawned | 实体生成 |
| 方块交互事件 | |
| block.missing_mappings | - |
| block.right_click | 方块右键事件 |
| block.left_click | 方块左键事件 |
| block.place | 方块放置事件 |
| block.break | 方块破坏事件 |
| block.modification | 方块属性修改 |
| 物品交互事件 | - |
| item.missing_mappings | - |
| item.right_click | 物品右键事件 |
| item.right_click_empty | 空手右键事件 |
| item.left_click | 物品左键事件 |
| item.entity_interact | 物品实体交互事件 |
| item.pickup | 物品捡起事件 |
| item.toss | 物品扔出事件 |
| item.crafted | 物品合成事件 |
| item.smelted | 物品烧炼事件 |
| item.destroyed | 物品损坏事件 |
| item.food_eaten | 食物物品食用事件 |
| item.tooltip | 物品鼠标悬浮文本 |
| item.modification | 物品属性修改 |
| item.model_properties | 物品模型属性 |
| 声音事件 | - |
| sound.registry | 声音注册 |
你还可以在查询部分类和部分事件的方法等。
二、Forge事件
在1.16.5中当调用Minecraft类中的方法等内容时,你应该使用其SRG名而不是IDE中看到的名称,而在1.18.2中,你可以直接使用IDE中看到的方法名称而不必使用SRG名。
除上述改变之外,1.18.2的事件监听部分相较于1.16.5具有相同的写法,且没有任何新的发展或显著的变化。