3.2 资源

资源

资源是游戏使用的额外数据,它存储在数据文件中而不是代码中。资源包含在classpath的assets的目录中。该目录在默认的模组开发工具包中位于项目的src/main/resources目录下。它包括模型,纹理和本地化文件等内容。

启用多个资源包时,这几个资源包将合并。通常,堆栈顶部的资源包中的文件会覆盖栈内的内容; 但是,对于某些文件,例如本地化文件,数据实际上是按内容合并的。模组实际上也在其resources目录中定义了资源包,但它们被视为“默认”资源包的子集。模组资源包无法被禁用,但可以通过其他资源包覆盖它们。

所有资源都应具有蛇式命名法的路径和文件名(小写,对于单词边界使用“_”)(译者注:举例 example_mod_texture 即 snake_case),这在1.11及更高版本中是强制执行的。

 

ResourceLocation

Minecraft使用 ResourceLocation 识别资源。一个 ResourceLocation 包含两部分:命名空间和路径。它通常指向资源 assets/<namespace>/<ctx>/<path>,其中ctx是特定于上下文的路径片段,它取决于如何使用 ResourceLocation。当一个 ResourceLocation 作为一个字符串被写入或者从一个字符串读入时,它会被视为<namespace>:<path>。如果省略了命名空间和冒号,那么当字符串被读入时ResourceLocation,命名空间几乎总是默认为"minecraft"。模组应该将其资源放入一个与其modid同名的命名空间(例如,带有id的模组 examplemod 应该将其资源放在 assets/examplemod,并使得 ResourceLocation 指向这些文件,看起来像 examplemod:<path>)。这不是必需的,并且在某些情况下,可能需要使用不同的(或甚至多于一个)命名空间。ResourceLocation 也在资源系统之外使用,因为它们恰好是唯一标识对象(例如注册表)的好方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值