• 论坛

导航

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

@Config

@Config 注解可以代替 Configuration.

目录

  • 基础
  • @Config 用法
  • @Comment 用法
  • @Name 用法
  • @RangeInt 用法
  • @RangeDouble 用法
  • @LangKey 用法
  • @RequiresMcRestart 用法
  • @RequiresWorldRestart 用法
  • 子类别
  • @Ignore

基础

用@Config注释的类将把任何字段变成配置选项。 可以使用@Config类中提供的过多注释来注释所述字段以添加信息。

提示

枚举配置值生成的注释与枚举值一样长。

示例请见Forge's Test

@Config 用法

这个注解表示一个类里面有配置选项。

有4个参数:

参数 类型 默认值 描述
modid String N/A 使用该配置的modid
name String "" 用户友好的配置文件名,默认为modid
type Type Type.INSTANCE 配置的类型,现在只有一个值Type.INSTANCE。该参数为了对Forge控制文件向上兼容。
category String "general" 根元素类别。 如果这是一个空字符串,则禁用根类别。

重要

如果你禁用根类型,你要创建子类别,否则会报错。

@Comment 用法

@Comment 用于注解字段,用于在配置文件中生成注释

它有一个参数:

参数 类型 默认值 描述
value String[]/String N/A 可以通过String[]传值,并且每一个元素会生成新的一行。

示例

@Comment({
  "你可以这样增加注释",
  "数组可以创建多行注释"
})
public static boolean doTheThing = true;
会生成如下配置:
# 你可以这样增加注释
# 数组可以创建多行注释
B:doTheThing=true   

@Name 用法

@Name注解用于在配置文件中生成用户友好的名称。

它有1个参数:

参数 类型 默认值
value String null

示例

@Name("FE/T for the thing")
public static int thingFE = 50; 
会生成如下配置:
I:"FE/T for the thing"=50

@RangeInt 用法

你可以用@RangeInt限制配置中int 或Integer的取值范围。

它有2个参数:

参数 类型 默认值
min int Integer.MIN_VALUE
max int Integer.MAX_VALUE

示例

@RangeInt(min = 0) 
public static int thingFECapped = 50;
它会生成如下配置:

# Min: 0
# Max: 2147483647
I:thingFECapped=50

@RangeDouble 用法

你可以用@RangeDouble限制配置中double 或Double的取值范围。

它有2个参数:

参数 类型 默认值
min double Double.MIN_VALUE
max double Double.MAX_VALUE

示例

@RangeDouble(min = 0, max = Math.PI) 
public static double chanceToDrop = 2;
它会生成如下配置:
# Min: 0.0
# Max: 3.141592653589793
D:chanceToDrop=2.0

提示

现在(1.12.2中)没有@RangedFloat , @RangedLong或其它类型的限制值。

@LangKey 用法

如果你要在mod配置菜单中添加翻译,那么给字段加上@LangKey。

它有1个参数:

参数 类型 默认值
value String null

@RequiresMcRestart 用法

@RequiresMcRestart注解用于必须要重启才能生效的字段。

示例

@RequiresMcRestart
public static boolean overlayEnabled = false;
这会导致在配置菜单里更改该值之后,游戏必须重启。

@RequiresWorldRestart 用法

加上该注解,如果在mod配置菜单中更改该值,世界会强制重启。

示例

@RequiresWorldRestart
public static boolean someOtherworldlyThing = false;
如果在mod配置菜单中更改该值,世界会强制重启。

子类别

子类别是一种把一组相关的配置放在一起的方式,可以更好的组织你的配置文件。要创建一个子类别,要把一个对象作为静态字段加入到主类别类中。该对象的成员变量会变成子类型的配置。

一个设置子类型的示例:

@Config(modid = "modid")
public class Configs {
  public static SubCategory subcat = new SubCategory();

  private static class SubCategory {
    public boolean someBool; 
    public int relatedInt;
  }
}
在配置文件中,会是这样:
subcat {
  B:someBool=false
  I:relatedInt=0
}

@Ignore 用法

加上在配置类的字段中加上@Ignore注解之后, ConfigManager 在解析你的配置文件时会跳过该字段。

提示

只在 forge 版本 >= 1.12.2-14.23.1.2602 有效, 因为这个功能在这次更新中加入

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