mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2025-07-03 00:15:35 +00:00
fix config pack fetching on server
This commit is contained in:
parent
78503cf1b7
commit
b0c6dc612f
@ -17,6 +17,8 @@
|
|||||||
|
|
||||||
package com.dfsek.terra.fabric.mixin.lifecycle.server;
|
package com.dfsek.terra.fabric.mixin.lifecycle.server;
|
||||||
|
|
||||||
|
import com.dfsek.terra.api.registry.CheckedRegistry;
|
||||||
|
|
||||||
import net.minecraft.server.dedicated.ServerPropertiesHandler;
|
import net.minecraft.server.dedicated.ServerPropertiesHandler;
|
||||||
import net.minecraft.structure.StructureSet;
|
import net.minecraft.structure.StructureSet;
|
||||||
import net.minecraft.util.registry.DynamicRegistryManager;
|
import net.minecraft.util.registry.DynamicRegistryManager;
|
||||||
@ -32,6 +34,7 @@ import org.spongepowered.asm.mixin.injection.At;
|
|||||||
import org.spongepowered.asm.mixin.injection.Inject;
|
import org.spongepowered.asm.mixin.injection.Inject;
|
||||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
|
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
|
||||||
|
|
||||||
|
import java.util.Locale;
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
import com.dfsek.terra.api.config.ConfigPack;
|
import com.dfsek.terra.api.config.ConfigPack;
|
||||||
@ -59,7 +62,7 @@ public abstract class GeneratorOptionsMixin {
|
|||||||
|
|
||||||
String levelType = properties.levelType();
|
String levelType = properties.levelType();
|
||||||
|
|
||||||
if(levelType.startsWith("Terra")) {
|
if(levelType.toLowerCase(Locale.ROOT).startsWith("terra")) {
|
||||||
String seedProperty = properties.levelSeed();
|
String seedProperty = properties.levelSeed();
|
||||||
long seed = new Random().nextLong();
|
long seed = new Random().nextLong();
|
||||||
if(seedProperty != null) {
|
if(seedProperty != null) {
|
||||||
@ -85,8 +88,11 @@ public abstract class GeneratorOptionsMixin {
|
|||||||
|
|
||||||
String pack = levelType.substring(levelType.indexOf(":") + 1);
|
String pack = levelType.substring(levelType.indexOf(":") + 1);
|
||||||
|
|
||||||
ConfigPack config = main.getConfigRegistry().getByID(pack).orElseThrow(() -> new IllegalArgumentException(
|
CheckedRegistry<ConfigPack> configRegistry = main.getConfigRegistry();
|
||||||
"No such pack " + pack));
|
ConfigPack config = configRegistry
|
||||||
|
.getByID(pack)
|
||||||
|
.or(() -> configRegistry.getByID(pack.toUpperCase(Locale.ROOT)))
|
||||||
|
.orElseThrow(() -> new IllegalArgumentException("No such pack " + pack));
|
||||||
|
|
||||||
cir.setReturnValue(
|
cir.setReturnValue(
|
||||||
new GeneratorOptions(seed,
|
new GeneratorOptions(seed,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user