--- a/net/minecraft/server/dedicated/DedicatedServerProperties.java +++ b/net/minecraft/server/dedicated/DedicatedServerProperties.java @@ -37,10 +37,15 @@ import net.minecraft.world.level.levelgen.structure.StructureSet; import org.slf4j.Logger; +// CraftBukkit start +import joptsimple.OptionSet; +// CraftBukkit end + public class DedicatedServerProperties extends PropertyManager { static final Logger LOGGER = LogUtils.getLogger(); private static final Pattern SHA1 = Pattern.compile("^[a-fA-F0-9]{40}$"); + public final boolean debug = this.get("debug", false); // CraftBukkit public final boolean onlineMode = this.get("online-mode", true); public final boolean preventProxyConnections = this.get("prevent-proxy-connections", false); public final String serverIp = this.get("server-ip", ""); @@ -95,8 +100,10 @@ @Nullable private GeneratorSettings worldGenSettings; - public DedicatedServerProperties(Properties properties) { - super(properties); + // CraftBukkit start + public DedicatedServerProperties(Properties properties, OptionSet optionset) { + super(properties, optionset); + // CraftBukkit end this.difficulty = (EnumDifficulty) this.get("difficulty", dispatchNumberOrString(EnumDifficulty::byId, EnumDifficulty::byName), EnumDifficulty::getKey, EnumDifficulty.EASY); this.gamemode = (EnumGamemode) this.get("gamemode", dispatchNumberOrString(EnumGamemode::byId, EnumGamemode::byName), EnumGamemode::getName, EnumGamemode.SURVIVAL); this.levelName = this.get("level-name", "world"); @@ -147,13 +154,15 @@ this.serverResourcePackInfo = getServerPackInfo(this.get("resource-pack", ""), this.get("resource-pack-sha1", ""), this.getLegacyString("resource-pack-hash"), this.get("require-resource-pack", false), this.get("resource-pack-prompt", "")); } - public static DedicatedServerProperties fromFile(Path path) { - return new DedicatedServerProperties(loadFromFile(path)); + // CraftBukkit start + public static DedicatedServerProperties fromFile(Path path, OptionSet optionset) { + return new DedicatedServerProperties(loadFromFile(path), optionset); } @Override - protected DedicatedServerProperties reload(IRegistryCustom iregistrycustom, Properties properties) { - DedicatedServerProperties dedicatedserverproperties = new DedicatedServerProperties(properties); + protected DedicatedServerProperties reload(IRegistryCustom iregistrycustom, Properties properties, OptionSet optionset) { + DedicatedServerProperties dedicatedserverproperties = new DedicatedServerProperties(properties, optionset); + // CraftBukkit end dedicatedserverproperties.getWorldGenSettings(iregistrycustom); return dedicatedserverproperties; @@ -222,10 +231,10 @@ }).orElseThrow(() -> { return new IllegalStateException("Invalid datapack contents: can't find default preset"); }); - Optional optional = Optional.ofNullable(MinecraftKey.tryParse(this.levelType)).map((minecraftkey) -> { + Optional> optional = Optional.ofNullable(MinecraftKey.tryParse(this.levelType)).map((minecraftkey) -> { // CraftBukkit - decompile error return ResourceKey.create(IRegistry.WORLD_PRESET_REGISTRY, minecraftkey); }).or(() -> { - return Optional.ofNullable((ResourceKey) DedicatedServerProperties.a.LEGACY_PRESET_NAMES.get(this.levelType)); + return Optional.ofNullable(DedicatedServerProperties.a.LEGACY_PRESET_NAMES.get(this.levelType)); // CraftBukkit - decompile error }); Objects.requireNonNull(iregistry); @@ -239,7 +248,7 @@ if (holder1.is(WorldPresets.FLAT)) { RegistryOps registryops = RegistryOps.create(JsonOps.INSTANCE, iregistrycustom); - DataResult dataresult = GeneratorSettingsFlat.CODEC.parse(new Dynamic(registryops, this.generatorSettings())); + DataResult dataresult = GeneratorSettingsFlat.CODEC.parse(new Dynamic(registryops, this.generatorSettings())); // CraftBukkit - decompile error Logger logger = DedicatedServerProperties.LOGGER; Objects.requireNonNull(logger);