IAppleCoreDispatcher

基本信息

属性 值
类名 squeek.applecore.api.IAppleCoreDispatcher
类型 interface,4 个方法
实现 AppleCoreDispatcherImpl(枚举单例)
启用版本 Minecraft 1.7.10

功能

植物生长事件的统一触发入口。所有 Mixin(9 个原版方块 + 4 个外部 mod 方块) 在方块的生长时机调用本接口,从而让第三方 mod 得以拦截或观察作物生长。

方法 作用
validatePlantGrowth(Block, World, int, int, int, Random) 触发 AllowGrowthTick,返回 Event.Result 供调用方决定是否继续
announcePlantGrowth(Block, World, int, int, int, int previousMetadata) 触发 GrowthTick(伴随 metadata 变化)
announcePlantGrowthWithoutMetadataChange(Block, World, int, int, int) 触发 GrowthTick,仅生长未改变 metadata 时使用
announcePlantGrowth(Block, World, int, int, int) 已废弃,等价于上一条

实现要点

  • 4 个方法中 3 个触发的是同一个 PlantGrowthEvent.GrowthTick 事件; 区别只在是否携带 previousMetadata,供监听器判断生长阶段。
  • 第 4 个重载带 @Deprecated,Javadoc 指向两个新重载。 源码内没有任何调用点使用该废弃重载。
  • validatePlantGrowth 是唯一返回值的接口方法,其余三个返回 void。

相关条目