[上一章](第八章-案例玩家进入信息等效果.md) [下一章](第二章-事件相关方法.md)
# 第二部分 第一章 主要的事件介绍
参与编写者: SmallasWater MagicLu550
#### 建议学习时间: 40分钟
##### 学习要点: 了解基本的事件

转载于[[教程] [原创][Wiki][NPS] NukkitX 事件大全](https://www.mcbbs.net/thread-813733-1-1.html)

- block: 方块类
    - BlockBreakEvent: 当一个方块被玩家破坏的时候调用本事件
    - BlockBurnEvent: 当一个方块被火烧掉的时候触发此事件
    - BlockFadeEvent: 当一个方块因自然原因消失或衰落时触发此事件
    - BlockFormEvent: 当一个方块因为自然变化被放置、更改或者蔓延时(如下雪)触发此事件
    - BlockFromToEvent: 液体流动/龙蛋自己传送的事件(源方块到目标方块)
    - BlockGrowEvent: 当一个方块在世界中自然生长的时触发此事件(如小麦生长)
    - BlockIgniteEvent: 当一个方块被点燃时触发
    - BlockPistonChangeEvent: 活塞臂状态变化事件
    - BlockPlaceEvent: 当一个方块被玩家放置的时候触发此事件
    - BlockRedstoneEvent: 当方块接受到的红石信号变化时触发此事件
    - BlockSpreadEvent: 当一个方块基于自然法则地蔓延时触发此事件(如菌丝的蔓延)
    - BlockUpdateEvent: 方块更新事件(如你操作静态水周围方块时会触发本事件,导致水流淌)
    - DoorToggleEvent: 开关门事件
    - ItemFrameDropItemEvent: 物品展示框丢出物品事件
    - LeavesDecayEvent: 当树叶消失时触发此事件
    - LiquidFlowEvent: 当液体流动时触发此事件
    - SignChangeEvent: 在玩家设置牌子上的内容子时触发
- entity: 实体类
    - CreatureSpawnEvent: 使用生成蛋时触发该事件
    - CreeperPowerEvent: 当爬行者被闪电击中时触发该事件
    - EntityArmorChangeEvent: 实体护甲变化事件
    - EntityBlockChangeEvent: 实体改变方块事件
    - EntityCombustByBlockEvent: 当方块造成实体燃烧时触发该事件
    - EntityCombustByEntityEvent: 当一个实体造成另外一个实体燃烧时触发该事件
    - EntityCombustEvent: 当实体燃烧时触发该事件
    - EntityDamageByBlockEvent: 当一个实体受到来自方块的伤害时触发该事件
    - EntityDamageByChildEntityEvent: 当一个实体受到另一个子实体的伤害时触发该事件
    - EntityDamageByEntityEvent: 当一个实体受到另外一个实体伤害时触发该事件
    - EntityDamageEvent: 储存伤害事件的数据
    - EntityDeathEvent: 当任何一个实体死亡时触发本事件
    - EntityDespawnEvent: 实体被移除事件
    - EntityExplodeEvent: 当一个实体爆炸的时候触发本事件
    - EntityExplosionPrimeEvent: 当一个实体决定爆炸时调用(苦力怕的闪烁)
    - EntityInteractEvent: 当一个实体与其他物体互交时触发本事件
    - EntityInventoryChangeEvent: 实体存储变化事件
    - EntityLevelChangeEvent: 当一个实体进入另一个世界时触发该事件
    - EntityMotionEvent: 实体运动事件
    - EntityPortalEnterEvent: 当一个实体与传送门接触时触发本事件
    - EntityRegainHealthEvent: 实体生命回复事件
    - EntityShootBowEvent: 生命实体射出箭时触发
    - EntitySpawnEvent: 实体生成事件
    - EntityTeleportEvent: 当非玩家实体(如末影人)试图从一个位置传送到另一个位置时触发
    - EntityVehicleEnterEvent: 实体进入载具事件
    - EntityVehicleExitEvent: 实体退出载具事件
    - ExplosionPrimeEvent: 当一个实体决定爆炸时调用(TNT的闪烁)
    - ItemDespawnEvent: 从世界中移除掉落物时会调用此事件(因为掉落满5分钟)
    - ItemSpawnEvent: 世界中产生掉落物时会调用此事件
    - ProjectileHitEvent: 当一个抛射物击中物体时触发本事件
    - ProjectileLaunchEvent: 当一个抛射物被发射时触发本事件
- inventory: 物品格类
    - BrewEvent: 当酿造完成时触发这个事件
    - CraftItemEvent: 当一个物品被合成的时候触发这个事件
    - FurnaceBurnEvent: 当一个物品作为燃料被燃烧的时候触发这个事件
    - FurnaceSmeltEvent: 当一个物品被熔炼完毕时触发这个事件
    - InventoryClickEvent: 当玩家点击物品栏中的格子时触发事件事件
    - InventoryCloseEvent: 当玩家关闭背包时触发本事件
    - InventoryMoveItemEvent: 非玩家触发格子物品传输时触发此事件(如漏斗)
    - InventoryOpenEvent: 当玩家打开背包时触发本事件
    - InventoryPickupArrowEvent: 当漏斗/漏斗矿车收起发射出去的箭时触发本事件
    - InventoryPickupItemEvent: 当漏斗/漏斗矿车收起掉落的物品时触发本事件
    - InventoryTransactionEvent: 村民交易事件
    - StartBrewEvent: 开始酿造事件
- level: 世界类
    - ChunkLoadEvent: 当一个区块被加载时调用
    - ChunkPopulateEvent: 当一个新的区块填充完毕时调用
    - ChunkUnloadEvent: 当一个区块被卸载时调用
    - LevelInitEvent: 当一个世界被初始化时调用
    - LevelLoadEvent: 当一个世界被加载时调用
    - LevelSaveEvent: 当一个世界被保存时调用
    - LevelUnloadEvent: 当一个世界被卸载时调用
    SpawnChangeEvent: 一个在世界的出生点被改变时调用的事件
    ThunderChangeEvent: 同天气类下同名事件
    WeatherChangeEvent: 同天气类下同名事件
- player: 玩家类
    - PlayerAchievementAwardedEvent: 当玩家获得某个成就时触发此事件
    - PlayerAnimationEvent: 玩家动作事件
    - PlayerAsyncPreLoginEvent: 存储尝试登录的玩家的详细信息，玩家尝试登录服务器的事件
    - PlayerBedEnterEvent: 玩家躺在床上时触发此事件
    - PlayerBedLeaveEvent: 玩家离开床时触发此事件
    - PlayerBlockPickEvent: 玩家捡拾方块事件
    - PlayerBucketEmptyEvent: 玩家用完一只桶后触发此事件
    - PlayerBucketFillEvent: 玩家装满一只桶后触发此事件
    - PlayerChatEvent: 玩家聊天/使用命令会触发本事件
    - PlayerChunkRequestEvent: 玩家请求区块事件
    - PlayerCommandPreprocessEvent: 玩家执行命令时触发(/开头)
    - PlayerCreationEvent: 创建玩家事件
    - PlayerDeathEvent: 玩家死亡事件
    - PlayerDropItemEvent: 玩家丢出物品事件
    - PlayerEatFoodEvent: 玩家吃食物事件
    - PlayerFoodLevelChangeEvent: 玩家饥饿度变化事件
    - PlayerFormRespondedEvent: 玩家操作GUI(按钮/滑块/输入框/选择框)事件
    - PlayerGameModeChangeEvent: 当玩家游戏模式发生变化时调用此事件
    - PlayerInteractEntityEvent: 当玩家点击一个实体时调用此事件
    - PlayerInteractEvent: 当玩家对一个对象或空气进行交互时触发本事件
    - PlayerInvalidMoveEvent: 当玩家不正确地移动时触发
    - PlayerItemConsumeEvent: 当玩家使用了一个消耗品(食物/药水/牛奶桶)时触发
    - PlayerItemHeldEvent: 玩家手持某物品事件
    - PlayerJoinEvent: 玩家进入服务器事件
    - PlayerKickEvent: 玩家被服务器踢出事件
    - PlayerLoginEvent: 玩家尝试登录的事件
    - PlayerMapInfoRequestEvent: 玩家请求地图信息事件
    - PlayerMouseOverEntityEvent: 玩家鼠标停留在实体上事件
    - PlayerMoveEvent: 玩家移动事件
    - PlayerPreLoginEvent: 玩家尝试登录服务器事件
    - PlayerQuitEvent: 玩家离开服务器事件
    - PlayerRespawnEvent: 玩家重生事件
    - PlayerServerSettingsRequestEvent: 玩家请求服务器设置事件
    - PlayerSettingsRespondedEvent: 响应玩家设置事件
    - PlayerTeleportEvent: 玩家传送事件
    - PlayerToggleFlightEvent: 玩家切换飞行状态时触发
    - PlayerToggleGlideEvent: 玩家切换滑翔状态时触发
    - PlayerToggleSneakEvent: 玩家切换潜行状态时触发
    - PlayerToggleSprintEvent: 玩家切换疾跑状态时触发
    - PlayerToggleSwimEvent: 玩家切换游泳状态时触发
- plugin: 插件类
    - PluginDisableEvent: 插件禁用事件
    - PluginEnableEvent: 插件启用事件
- potion: 药水类
    - PotionApplyEvent: 药水生效事件
    - PotionCollideEvent: 药水冲突事件
- redstone: 红石类
    - RedstoneUpdateEvent: 红石更新事件
- server: 服务端类
    - BatchPacketsEvent: 批处理数据包事件
    - DataPacketReceiveEvent: 数据包接收事件
    - DataPacketSendEvent: 数据包发送事件
    - PlayerDataSerializeEvent: 玩家数据序列化事件
    - QueryRegenerateEvent: GameSpy4协议监听事件
    - RemoteServerCommandEvent: 这个事件当服务器RCON收到指令时调用
    - ServerCommandEvent: 这个事件当服务器后台发送指令时调用. 这是命令开始处理过程之前被触发的
- vehicle: 载具类
    - EntityEnterVehicleEvent: 实体进入载具事件
    - EntityExitVehicleEvent: 实体退出载具事件
    - VehicleCreateEvent: 载具创建事件
    - VehicleDamageEvent: 载具被伤害的事件
    - VehicleDestroyEvent: 载具被损毁的事件(包含被玩家/自然损坏)
    - VehicleMoveEvent: 载具移动事件
    - VehicleUpdateEvent: 载具更新事件
- weather: 天气类
    - LightningStrikeEvent: 雷击事件
    - ThunderChangeEvent: 世界打雷事件
    - WeatherChangeEvent: 天气改变事件


其中的方法介绍

本内容将会在[第二章](第二章-事件相关方法.md)提到,也可以参考[bukkit文档](https://bukkit.windit.net/javadoc/)

参考文献
- [[教程] [原创][Wiki][NPS] NukkitX 事件大全](https://www.mcbbs.net/thread-813733-1-1.html)
- [bukkit中文doc](https://bukkit.windit.net/javadoc/)

[上一章](第八章-案例玩家进入信息等效果.md) [下一章](第二章-事件相关方法.md)
