Eula.java

net.minecraft.server.Eula

信息

  • 全限定名:net.minecraft.server.Eula
  • 类型:public class
  • 包:net.minecraft.server
  • 源码路径:src/main/java/net/minecraft/server/Eula.java
  • 起始行号:L13
  • 职责:

    TODO

字段/常量

  • LOGGER

    • 类型: Logger
    • 修饰符: private static final
    • 源码定位: L14
    • 说明:

      TODO

  • file

    • 类型: Path
    • 修饰符: private final
    • 源码定位: L15
    • 说明:

      TODO

  • agreed

    • 类型: boolean
    • 修饰符: private final
    • 源码定位: L16
    • 说明:

      TODO

内部类/嵌套类型

构造器

public Eula(Path file) @ L18

  • 构造器名:Eula
  • 源码定位:L18
  • 修饰符:public

参数:

  • file: Path

说明:

TODO

方法

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

private boolean readFile() @ L23

  • 方法名:readFile
  • 源码定位:L23
  • 返回类型:boolean
  • 修饰符:private

参数:

说明:

TODO

public boolean hasAgreedToEULA() @ L40

  • 方法名:hasAgreedToEULA
  • 源码定位:L40
  • 返回类型:boolean
  • 修饰符:public

参数:

说明:

TODO

private void saveDefaults() @ L44

  • 方法名:saveDefaults
  • 源码定位:L44
  • 返回类型:void
  • 修饰符:private

参数:

说明:

TODO

代码

public class Eula {
    private static final Logger LOGGER = LogUtils.getLogger();
    private final Path file;
    private final boolean agreed;
 
    public Eula(Path file) {
        this.file = file;
        this.agreed = SharedConstants.IS_RUNNING_IN_IDE || this.readFile();
    }
 
    private boolean readFile() {
        try {
            boolean var3;
            try (InputStream input = Files.newInputStream(this.file)) {
                Properties properties = new Properties();
                properties.load(input);
                var3 = Boolean.parseBoolean(properties.getProperty("eula", "false"));
            }
 
            return var3;
        } catch (Exception var6) {
            LOGGER.warn("Failed to load {}", this.file);
            this.saveDefaults();
            return false;
        }
    }
 
    public boolean hasAgreedToEULA() {
        return this.agreed;
    }
 
    private void saveDefaults() {
        if (!SharedConstants.IS_RUNNING_IN_IDE) {
            try (OutputStream output = Files.newOutputStream(this.file)) {
                Properties properties = new Properties();
                properties.setProperty("eula", "false");
                properties.store(output, "By changing the setting below to TRUE you are indicating your agreement to our EULA (" + CommonLinks.EULA + ").");
            } catch (Exception var6) {
                LOGGER.warn("Failed to save {}", this.file, var6);
            }
        }
    }
}

引用的其他类