核心插件(Core Plugin)

基本信息

属性 值
插件 uid core(CorePlugin.java:22,常量 Identifiers.NAMESPACE_CORE,Identifiers.java:60)
依赖 mod 无(@WDMlaPlugin 未声明 dependencies)
配置分类 plugins_autogen.core(WDMlaConfig.java:42-43)
注册调用 服务端 1 次 / 客户端 11 次
生效侧 两侧

功能

core 是 WDMla 的基础信息层,也是唯一为所有方块与实体兜底的插件:它把「这个东西叫什么、属于哪个模组」作为提示框的骨架,其余插件只往上叠加细节。

它同时是唯一注册 Accessor 客户端处理器的插件——registerAccessorHandler(BlockAccessor.class, …) 与 registerAccessorHandler(EntityAccessor.class, …) 把客户端侧的方块/实体访问器接到自定义构造逻辑上(CorePlugin.registerClient)。

getAllProvidersWithoutInfo() 这个过滤器(WDMlaConfig.java:49)正是靠 uid 区分「core 提供基础信息、其它插件不提供」来实现自动生成配置的去重。

注册内容

服务端(CorePlugin.register):

目标类 provider
EntityLiving StatusEffectProvider.INSTANCE

客户端(CorePlugin.registerClient):

方法 目标类 provider / handler
registerAccessorHandler BlockAccessor new BlockAccessorClientHandler()
registerAccessorHandler EntityAccessor new EntityAccessorClientHandler()
registerBlockComponent Block DefaultBlockInfoProvider.INSTANCE
registerBlockComponent Block EnchantmentPowerProvider.INSTANCE
registerBlockComponent Block BlockFaceProvider.INSTANCE
registerBlockComponent Block BreakProgressTextProvider.INSTANCE
registerEntityComponent Entity DefaultEntityInfoProvider.INSTANCE
registerEntityComponent Entity EntityHealthProvider.INSTANCE
registerEntityComponent EntityLiving EntityEquipmentProvider.INSTANCE
registerEntityComponent EntityLiving EntityArmorProvider.INSTANCE
registerEntityComponent EntityLiving StatusEffectProvider.INSTANCE

数值

core 自身不读 plugins.cfg 的 core 分类字段,而是由其它类读取后传给 provider:

配置项 消费点
core.defaultblock.showicon / showblockname / showmodname / fancyrenderer / rendererrotationspeed DefaultBlockInfoProvider
core.defaultblock.aligniconrighttop(实为 General 的 alignIconRightTop) DefaultBlockInfoProvider.java:82
core.defaultentity.* DefaultEntityInfoProvider(General.customNameOverride 读取点 DefaultEntityInfoProvider.java:63)
general.aligniconrighttop DefaultBlockInfoProvider.java:82——把采集/交互图标钉在方块信息右上角
general.maxnamelengthpixel FormatUtil.java:100(限制改名后的显示宽度)

注册到 Block.class / Entity.class 这类基类上的 component 是全局兜底;后注册的同目标 provider 依优先级排序叠加。

相关条目