Asset Handler(自定义资源包)

基本信息

属性 值
类名 glowredman.amazingtrophies.AssetHandler
实现接口 net.minecraft.client.resources.IResourcePack
资源域 amazingtrophies(单例 Collections.singleton(MODID))
资源根 <config>/amazingtrophies/

注册

ClientHandler.setupAssetHandler 在 FMLConstruction(客户端侧)阶段:

FMLClientHandler.instance()
    .getClient().defaultResourcePacks.add(new AssetHandler());
createAssetDirsAndFiles();

行为

  • getResourceLocation(location, dir):如果传入字符串不含 :,返回 new ResourceLocation("amazingtrophies", dir + location);含 : 则当作全局名处理。
    • dir 一般为 "models/" 或 "textures/blocks/",最终路径变成 models/<file>.obj、textures/blocks/<file>.png。
  • getInputStream(ResourceLocation):从 <config>/amazingtrophies/<resourcePath> 读取。
  • resourceExists:检查上述路径是否存在。
  • getResourceDomains():返回 {"amazingtrophies"},强制隔离。

默认目录

ClientHandler.createAssetDirsAndFiles:

  • lang/en_US.lang(空文件,首次启动创建)
  • models/
  • textures/blocks/

相关条目

源码

  • src/main/java/glowredman/amazingtrophies/AssetHandler.java
  • src/main/java/glowredman/amazingtrophies/ClientHandler.java