Minecraft 插件(Vanilla Plugin)
基本信息
| 属性 | 值 |
|---|---|
| 插件 uid | minecraft(VanillaPlugin.java:83,常量 VanillaIdentifiers.NAMESPACE_MINECRAFT,VanillaIdentifiers.java:51) |
| 依赖 mod | 无 |
| 配置分类 | plugins_autogen.minecraft |
| 注册调用 | 服务端 31 次 / 客户端 52 次 |
| 生效侧 | 两侧 |
| 体量 | 全部 12 个插件中最大,占 WDMla 服务端注册量的 31/48 |
功能
覆盖原版方块与实体的提示信息。与 core 注册到 Block.class / Entity.class 基类不同,minecraft 插件逐个绑定到具体原版类,因此可以精确控制每个方块显示什么。
大量 component 直接定义为 VanillaPlugin 的嵌套 enum(例如 RedstoneWireHeaderProvider,VanillaPlugin.java:181 起),以 INSTANCE 单例形式注册——这类 provider 在源码里与插件类同文件,而不是独立文件。
服务端与客户端的注册集合刻意不同:客户端负责「怎么画」(图标、标题、颜色),服务端负责「取什么数据」(NBT、容器内容)。只有少数 provider 同时出现在两侧(如 FurnaceProvider、BeaconProvider、CommandBlockProvider)。
注册内容
服务端 registerBlockDataProvider 15 次,覆盖 BlockFurnace、BlockBeacon、BlockCommandBlock、BlockJukebox、BlockMobSpawner、BlockNote、BlockHopper;TECustomNameHeaderProvider 另挂 8 个含 TileEntity 的方块(BlockChest、BlockFurnace、BlockHopper、BlockBrewingStand、BlockDispenser、BlockDropper、BlockEnchantmentTable、BlockCommandBlock)。
服务端 registerEntityDataProvider 6 次:EntityTameable、EntityTNTPrimed、EntityChicken、EntityZombie、EntityMinecartCommandBlock、EntityMinecartFurnace。
服务端 registerItemStorage 11 次:9 次用通用的 ItemStorageProvider.Extension.INSTANCE 挂到 BlockChest、BlockEnderChest、EntityMinecartChest、EntityMinecartHopper、BlockHopper、BlockBrewingStand、BlockDispenser、BlockDropper、EntityHorse,另 1 次用专用的 ItemFrameProvider.INSTANCE 挂到 EntityItemFrame。
客户端 registerBlockComponent 37 次、registerEntityComponent 13 次、registerItemStorageClient 1 次(ItemFrameProvider.INSTANCE)。
唯一的显式隐藏项:registration.hideEntity(EntityEnderCrystal.class)(VanillaPlugin.registerClient),即末影水晶不显示实体信息。
数值
| 配置项 | 默认值 | 覆盖范围 |
|---|---|---|
vanilla.redstonestate.showleverstate |
true |
BlockLever |
vanilla.redstonestate.showrepeaterdelay |
true |
BlockRedstoneRepeater |
vanilla.redstonestate.showcomparatormode |
true |
BlockRedstoneComparator |
vanilla.pet.showpetsit |
true |
EntityTameable |
vanilla.pet.showpetowner |
true |
EntityTameable |
vanilla.animal.showanimalgrowth |
true |
动物成长进度 |
vanilla.animal.showbreedcooldown |
true |
繁殖冷却 |
vanilla.commandblock.maxcommandlength |
40 |
命令方块命令显示截断长度,范围 0–10000 |
三个配置项均由 RedstoneStateProvider 消费(注册到 BlockLever、BlockRedstoneRepeater、BlockRedstoneComparator)。
交互
本插件只读取客户端数据、不发包;数据获取由 universal 与 minecraft 的服务端 provider 写入 NBT,再经 Waila 协议通道 传回客户端。
相关条目
- 通用插件 - 容器内容视图,本插件只做挂载
- 插件配置 -
plugins.vanilla组的全部字段 - Waila 协议通道 - 客户端提示数据的服务端来源