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

@ -12,6 +12,7 @@ import net.fabricmc.loader.api.FabricLoader;
public class WorldsTogether {
public static boolean SURPRESS_EXPERIMENTAL_DIALOG = false;
public static boolean FORCE_SERVER_TO_BETTERX_PRESET = false;
public static final String MOD_ID = "worlds_together";
public static final Logger LOGGER = new Logger(MOD_ID);
public static final boolean RUNS_TERRABLENDER = FabricLoader.getInstance()

View file

@ -1,5 +1,6 @@
package org.betterx.bclib.mixin.common;
package org.betterx.worlds.together.mixin.common;
import org.betterx.worlds.together.WorldsTogether;
import org.betterx.worlds.together.worldPreset.WorldPresets;
import net.minecraft.server.dedicated.DedicatedServerProperties;
@ -10,9 +11,13 @@ import org.spongepowered.asm.mixin.injection.ModifyArg;
@Mixin(DedicatedServerProperties.class)
public class DedicatedServerPropertiesMixin {
//Make sure the default server properties use our Default World Preset
//Make sure the default server properties use our Default World Preset by default (read from "level-type")
@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();
protected String wt_defaultPreset(String string) {
if (WorldsTogether.FORCE_SERVER_TO_BETTERX_PRESET) {
return WorldPresets.getDEFAULT().location().toString();
}
return string;
}
}

View file

@ -15,7 +15,6 @@
"ChunkGeneratorsMixin",
"ComposterBlockAccessor",
"CraftingMenuMixin",
"DedicatedServerPropertiesMixin",
"DiggerItemMixin",
"EnchantingTableBlockMixin",
"ItemStackMixin",

View file

@ -5,6 +5,7 @@
"compatibilityLevel": "JAVA_17",
"mixins": [
"BuiltinRegistriesMixin",
"DedicatedServerPropertiesMixin",
"DiggerItemAccessor",
"MainMixin",
"MinecraftServerMixin",