Allow server to disable the forced preset override

This commit is contained in:
Frank 2022-07-03 19:51:18 +02:00
parent 910314a1e8
commit e670fea21a
6 changed files with 22 additions and 5 deletions

View file

@ -70,6 +70,8 @@ public class BCLib implements ModInitializer {
PlacementModifiers.ensureStaticInitialization();
Configs.save();
WorldsTogether.FORCE_SERVER_TO_BETTERX_PRESET = Configs.SERVER_CONFIG.forceBetterXPreset();
if (false && isDevEnvironment()) {
BCLBiome theYellow = BCLBiomeBuilder
.start(makeID("the_yellow"))

View file

@ -55,6 +55,11 @@ public class ServerConfig extends NamedPathConfig {
"excludeMods",
AutoSync.SYNC_CATEGORY
);
public static final ConfigToken<Boolean> FORCE_BETTERX_PRESET = ConfigToken.Boolean(
true,
"forceBetterXPreset",
AutoSync.SYNC_CATEGORY
);
public ServerConfig() {
@ -85,4 +90,8 @@ public class ServerConfig extends NamedPathConfig {
return get(SEND_ALL_MOD_INFO) /*&& isAllowingAutoSync()*/;
}
public boolean forceBetterXPreset() {
return get(FORCE_BETTERX_PRESET);
}
}

View file

@ -1,18 +0,0 @@
package org.betterx.bclib.mixin.common;
import org.betterx.worlds.together.worldPreset.WorldPresets;
import net.minecraft.server.dedicated.DedicatedServerProperties;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.ModifyArg;
@Mixin(DedicatedServerProperties.class)
public class DedicatedServerPropertiesMixin {
//Make sure the default server properties use our Default World Preset
@ModifyArg(method = "<init>", index = 3, at = @At(value = "INVOKE", target = "Lnet/minecraft/server/dedicated/DedicatedServerProperties$WorldGenProperties;<init>(Ljava/lang/String;Lcom/google/gson/JsonObject;ZLjava/lang/String;)V"))
private String bcl_init(String levelType) {
return WorldPresets.getDEFAULT().location().toString();
}
}