• 论坛

导航

  • 主页
  • 样式指南
  • 入门
    • 概述
    • Mod的结构
    • Forge更新检查器
    • 依赖管理
    • 调试分析器
  • 概念
    • Sides
    • 资源
      • ResourceLocation
    • 注册表
    • Jar签名
    • 国际化和本地化
  • 方块
    • 概述
    • 介绍方块状态
    • 方块互动
  • 动画 API
    • 概述
    • 骨骼
    • 动画状态机
    • 使用API
  • TileEntity
    • 概述
    • 特殊渲染器
  • 物品
    • 主页
    • 战利品表
  • 模型
    • 模型概述
    • 模型文件
    • 方块状态
      • 方块状态JSON概述
      • Forge方块状态JSON
    • 绑定模型到方块和物品
    • 彩色纹理
    • 物品属性概述
    • 高级模型(未翻译)
      • 高级模型介绍
      • IModel
      • IModelState and IModelPart
      • IBakedModel
      • Extended Blockstates
      • Perspective
      • ItemOverrideList
      • ICustomModelLoader
  • 渲染
    • TileEntityItemStackRenderer
  • 事件
    • 基本用法
  • 网络
    • 主页
    • 概述
    • SimpleImpl
    • 实体
  • 数据储存
    • 能力系统
    • World Saved Data
    • 拓展实体属性
    • Config注解
  • 工具
    • 合成
    • 矿物词典
    • 权限API
  • 效果
    • 音效
  • 惯例
    • 版本命名
    • 文件位置
    • 加载阶段
  • 参与Forge开发
    • 入门
    • PR指南

资源

资源(Resource)是游戏使用的附加数据,它被储存在数据文件,而不是代码里。资源被储存在类路径(Classpath)的 assets 目录中。在默认的 Mod 开发包中,它位于工程的 src/main/resources 目录。它包含了模型、纹理、本地化文件等资源。

当多个资源包被应用时,它们会合并。通常状况下,在栈顶的资源包会覆盖它下面的资源包。然而,对于某些文件,比如说本地化文件,多个资源包中数据的内容将会合并。Mod本身其实也定义了一个资源包,在它的 resources 目录中,但它们会被认为是“默认”资源包的子集。Mod资源包不能被禁用,但它们可以被其他的资源包所覆盖。

所有的资源都应该使用 snake_case 路径和文件名(所有字母小写,使用“_”作为词语的分隔符),这一项规则在1.11以上是强制的。

ResourceLocation

Minecraft使用 ResourceLocation 来识别资源。ResourceLocation 包含有两个部分:一个域和一个路径。它通常会指向 assets/<domain>/<ctx>/<path> 中的资源,其中 ctx 指的是上下文相关的路径部分,它决定于 ResourceLocation 是在何处使用的。当 ResourceLocation 从一个字符串写入或读取时,它会是 <domain>:<path> 这样的形式。如果没有使用域的名字和冒号,当这个字符串由 ResourceLocation 解析出来时域几乎都会默认为 "minecraft"。Mod需要将它的资源放到与其 modid 相同的域中(比如一个 id 为 examplemod 的Mod需要将它的资源放在 assets/examplemod 中,并且指向这些文件的 ResourceLocation 将会是 examplemod:<path>)。这并不是一个必须的要求,并且在某些情况下使用一个不同的(或者多于一个的)域名可能会更好。ResourceLocation 在资源系统之外也有应用,它用于识别唯一的对象是一个很棒的方式(比如注册表)。

基于 MkDocs 使用自定义主题构建. 托管于 Read the Docs.
启用夜间模式