renderdata
基本信息
| 属性 | 值 |
|---|---|
| 位置 | src/main/resources/renderdata/ |
| 文件总数 | 414(全部为 .txt) |
-texture.txt |
234 个,对应 234 个不同的 mod 前缀 |
-models.txt |
180 个 |
| 运行时路径 | <MC 根目录>/dynmap/renderdata/ |
| 加载方 | org.dynmap.hdmap.TexturePack |
| 动态输出目录 | dynmap/renderdata/modsupport/(由 ModSupportImpl.complete 生成,见 ModSupport 加载器) |
功能
这是本 fork 相对上游 Dynmap 最大的增量:为 GTNH 整合包里数十个模组预置了方块渲染规则。每个 <ModName>-texture.txt 定义某 mod 方块的贴图/模型/渲染器绑定;scraped/ 目录下的同名文件则是构建期的抓取产物。
目录内 234 个 mod 前缀覆盖的模组(部分,按字母序截取):
AFSU、AWWayofTime、AdvancedSolarPanel、ArchitectureCraft、Automagy、Avaritia、BiblioCraft、BiblioWoodsBoP、BiomesOPlenty、BloodArsenal、Botania、BuildCraft_Core、CarpentersBlocks、DraconicEvolution、EMT、EnderIO、EnderStorage、EnderZoo、ExtraUtilities、FloodLights、ForbiddenMagic、Forestry、ForgeMultipart、GalacticraftCore、GalacticraftMars、GalacticraftAmunRa、GoodGenerator、HardcoreEnderExpansion、IC2、IC2NuclearControl、IronChest、JABBA、LogisticsPipes、MagicBees、Natura、OpenBlocks、OpenComputers、ProjRed_Core、RIO、Railcraft、RandomThings、SGCraft、StevesAddons、StevesCarts、StevesFactoryManager、StorageDrawers、TConstruct、TMechworks、TaintedMagic、Thaumcraft、ThaumicExploration、ThaumicHorizons、ThaumicMachina、ThaumicTinkerer、Translocator、TravellersGear、TwilightForest、VillageNames、WarpTheory、WitchingGadgets、Ztones、adventurebackpack、ae2stuff、alchgrate、appliedenergistics2、avaritiaddons、bartworks、battlegear2、betterquesting、botanichorizons、catwalks、chisel、compactkineticgenerators、computronics、cookingforblockheads、cropsnh、dreamcraft、etfuturum、extracells、fether、gadomancy、gendustry、gregtech、gtnhintergalactic、harvestcraft、harvestthenether、hydroenergy、irontank、kekztech、kubatech、littletiles …
两种声明机制
renderdata/*.txt 内含两类关键指令,均经字符串反射解析:
| 指令 | 反射位置 | 作用 |
|---|---|---|
specialModSupportLoader:<FQCN>[,name=<实例名>] |
TexturePack.java:2001-2002 |
装配 CustomModSupportLoader,见 ModSupport 加载器 |
render=<FQCN 或内置关键字> |
TexturePack.java:2437 等 |
装配方块渲染器,见 ModSupport 渲染器 |
renderdata/ 中 render= 共出现 12347 次,specialModSupportLoader 共 24 次。
构建期抓取目录
仓库根的 scraped/ 与 src/main/resources/renderdata/ 内容对应但不完全相同,是构建期的中间产物:
| 目录 | -texture.txt |
-models.txt |
合计 |
|---|---|---|---|
src/main/resources/renderdata/ |
234 | 180 | 414 |
scraped/ |
121 | 92 | 213 |
scraped/ 不在 src/ 内,因此不会被打进 mod jar;src/main/resources/renderdata/ 才是随 jar 分发的部分。
数值
| 数值名 | 值 |
|---|---|
renderdata/ 文件总数 |
414 |
renderdata/ 中不同 mod 前缀数 |
234 |
render= 出现总次数 |
12347 |
specialModSupportLoader 出现次数 |
24(10 个不同加载器类) |
scraped/ 文件数 |
213(非分发内容) |
交互
| 触发 | 行为 |
|---|---|
| 服务端启动 | 加载 dynmap/renderdata/*.txt 并按需反射装配 |
| ModSupport 完成 | ModSupportImpl.complete 先清空 dynmap/renderdata/modsupport/ 再写入动态生成的定义 |
| 目标 mod 缺席 | 其 renderdata 文件仍会被解析,但其中 specialModSupportLoader 指向的类需要对应 mod 的类存在才会加载成功 |
相关条目
- ModSupport 加载器 - 10 个加载器的一一对应关系
- ModSupport 渲染器 - 81 个渲染器
- 纹理包 - 方块定义的另一来源