RealmsWorldOptions.java

com.mojang.realmsclient.dto.RealmsWorldOptions

信息

  • 全限定名:com.mojang.realmsclient.dto.RealmsWorldOptions
  • 类型:public class
  • 包:com.mojang.realmsclient.dto
  • 源码路径:src/main/java/com/mojang/realmsclient/dto/RealmsWorldOptions.java
  • 起始行号:L14
  • 继承:ValueObject
  • 实现:ReflectionBasedSerialization
  • 职责:

    TODO

字段/常量

  • spawnProtection

    • 类型: int
    • 修饰符: public
    • 源码定位: L15
    • 说明:

      TODO

  • forceGameMode

    • 类型: boolean
    • 修饰符: public
    • 源码定位: L17
    • 说明:

      TODO

  • difficulty

    • 类型: int
    • 修饰符: public
    • 源码定位: L19
    • 说明:

      TODO

  • gameMode

    • 类型: int
    • 修饰符: public
    • 源码定位: L21
    • 说明:

      TODO

  • slotName

    • 类型: String
    • 修饰符: private
    • 源码定位: L23
    • 说明:

      TODO

  • version

    • 类型: String
    • 修饰符: public
    • 源码定位: L25
    • 说明:

      TODO

  • compatibility

    • 类型: RealmsServer.Compatibility
    • 修饰符: public
    • 源码定位: L27
    • 说明:

      TODO

  • templateId

    • 类型: long
    • 修饰符: public
    • 源码定位: L29
    • 说明:

      TODO

  • templateImage

    • 类型: String
    • 修饰符: public
    • 源码定位: L31
    • 说明:

      TODO

  • empty

    • 类型: boolean
    • 修饰符: public
    • 源码定位: L33
    • 说明:

      TODO

内部类/嵌套类型

构造器

private RealmsWorldOptions() @ L36

  • 构造器名:RealmsWorldOptions
  • 源码定位:L36
  • 修饰符:private

参数:

说明:

TODO

public RealmsWorldOptions(int spawnProtection, int difficulty, int gameMode, boolean forceGameMode, String slotName, String version, RealmsServer.Compatibility compatibility) @ L39

  • 构造器名:RealmsWorldOptions
  • 源码定位:L39
  • 修饰符:public

参数:

  • spawnProtection: int
  • difficulty: int
  • gameMode: int
  • forceGameMode: boolean
  • slotName: String
  • version: String
  • compatibility: RealmsServer.Compatibility

说明:

TODO

方法

下面的方法块按源码顺序生成。

public static RealmsWorldOptions createDefaults() @ L51

  • 方法名:createDefaults
  • 源码定位:L51
  • 返回类型:RealmsWorldOptions
  • 修饰符:public static

参数:

说明:

TODO

public static RealmsWorldOptions createDefaultsWith(GameType gameMode, Difficulty difficulty, boolean hardcore, String version, String worldName) @ L55

  • 方法名:createDefaultsWith
  • 源码定位:L55
  • 返回类型:RealmsWorldOptions
  • 修饰符:public static

参数:

  • gameMode: GameType
  • difficulty: Difficulty
  • hardcore: boolean
  • version: String
  • worldName: String

说明:

TODO

public static RealmsWorldOptions createFromSettings(LevelSettings settings, String worldVersion) @ L64

  • 方法名:createFromSettings
  • 源码定位:L64
  • 返回类型:RealmsWorldOptions
  • 修饰符:public static

参数:

  • settings: LevelSettings
  • worldVersion: String

说明:

TODO

public static RealmsWorldOptions createEmptyDefaults() @ L70

  • 方法名:createEmptyDefaults
  • 源码定位:L70
  • 返回类型:RealmsWorldOptions
  • 修饰符:public static

参数:

说明:

TODO

public void setEmpty(boolean empty) @ L76

  • 方法名:setEmpty
  • 源码定位:L76
  • 返回类型:void
  • 修饰符:public

参数:

  • empty: boolean

说明:

TODO

public static RealmsWorldOptions parse(GuardedSerializer gson, String json) @ L80

  • 方法名:parse
  • 源码定位:L80
  • 返回类型:RealmsWorldOptions
  • 修饰符:public static

参数:

  • gson: GuardedSerializer
  • json: String

说明:

TODO

private static void finalize(RealmsWorldOptions options) @ L90

  • 方法名:finalize
  • 源码定位:L90
  • 返回类型:void
  • 修饰符:private static

参数:

  • options: RealmsWorldOptions

说明:

TODO

public String getSlotName(int i) @ L104

  • 方法名:getSlotName
  • 源码定位:L104
  • 返回类型:String
  • 修饰符:public

参数:

  • i: int

说明:

TODO

public String getDefaultSlotName(int i) @ L112

  • 方法名:getDefaultSlotName
  • 源码定位:L112
  • 返回类型:String
  • 修饰符:public

参数:

  • i: int

说明:

TODO

public RealmsWorldOptions copy() @ L116

  • 方法名:copy
  • 源码定位:L116
  • 返回类型:RealmsWorldOptions
  • 修饰符:public

参数:

说明:

TODO

代码

@OnlyIn(Dist.CLIENT)
public class RealmsWorldOptions extends ValueObject implements ReflectionBasedSerialization {
    @SerializedName("spawnProtection")
    public int spawnProtection = 0;
    @SerializedName("forceGameMode")
    public boolean forceGameMode = false;
    @SerializedName("difficulty")
    public int difficulty = 2;
    @SerializedName("gameMode")
    public int gameMode = 0;
    @SerializedName("slotName")
    private String slotName = "";
    @SerializedName("version")
    public String version = "";
    @SerializedName("compatibility")
    public RealmsServer.Compatibility compatibility = RealmsServer.Compatibility.UNVERIFIABLE;
    @SerializedName("worldTemplateId")
    public long templateId = -1L;
    @SerializedName("worldTemplateImage")
    public @Nullable String templateImage = null;
    @Exclude
    public boolean empty;
 
    private RealmsWorldOptions() {
    }
 
    public RealmsWorldOptions(
        int spawnProtection, int difficulty, int gameMode, boolean forceGameMode, String slotName, String version, RealmsServer.Compatibility compatibility
    ) {
        this.spawnProtection = spawnProtection;
        this.difficulty = difficulty;
        this.gameMode = gameMode;
        this.forceGameMode = forceGameMode;
        this.slotName = slotName;
        this.version = version;
        this.compatibility = compatibility;
    }
 
    public static RealmsWorldOptions createDefaults() {
        return new RealmsWorldOptions();
    }
 
    public static RealmsWorldOptions createDefaultsWith(GameType gameMode, Difficulty difficulty, boolean hardcore, String version, String worldName) {
        RealmsWorldOptions options = createDefaults();
        options.difficulty = difficulty.getId();
        options.gameMode = gameMode.getId();
        options.slotName = worldName;
        options.version = version;
        return options;
    }
 
    public static RealmsWorldOptions createFromSettings(LevelSettings settings, String worldVersion) {
        return createDefaultsWith(
            settings.gameType(), settings.difficultySettings().difficulty(), settings.difficultySettings().hardcore(), worldVersion, settings.levelName()
        );
    }
 
    public static RealmsWorldOptions createEmptyDefaults() {
        RealmsWorldOptions options = createDefaults();
        options.setEmpty(true);
        return options;
    }
 
    public void setEmpty(boolean empty) {
        this.empty = empty;
    }
 
    public static RealmsWorldOptions parse(GuardedSerializer gson, String json) {
        RealmsWorldOptions options = gson.fromJson(json, RealmsWorldOptions.class);
        if (options == null) {
            return createDefaults();
        } else {
            finalize(options);
            return options;
        }
    }
 
    private static void finalize(RealmsWorldOptions options) {
        if (options.slotName == null) {
            options.slotName = "";
        }
 
        if (options.version == null) {
            options.version = "";
        }
 
        if (options.compatibility == null) {
            options.compatibility = RealmsServer.Compatibility.UNVERIFIABLE;
        }
    }
 
    public String getSlotName(int i) {
        if (StringUtil.isBlank(this.slotName)) {
            return this.empty ? I18n.get("mco.configure.world.slot.empty") : this.getDefaultSlotName(i);
        } else {
            return this.slotName;
        }
    }
 
    public String getDefaultSlotName(int i) {
        return I18n.get("mco.configure.world.slot", i);
    }
 
    public RealmsWorldOptions copy() {
        return new RealmsWorldOptions(this.spawnProtection, this.difficulty, this.gameMode, this.forceGameMode, this.slotName, this.version, this.compatibility);
    }
}

引用的其他类