some fixes

This commit is contained in:
Zoë
2022-08-22 22:41:26 -05:00
parent 9aa124605c
commit 08df8b1652
5 changed files with 23 additions and 29 deletions

View File

@@ -22,6 +22,7 @@ import ca.solostudios.strata.version.Version;
import com.dfsek.terra.api.config.ConfigPack; import com.dfsek.terra.api.config.ConfigPack;
import com.dfsek.terra.api.event.events.PackEvent;
import com.dfsek.terra.mod.config.VanillaWorldProperties; import com.dfsek.terra.mod.config.VanillaWorldProperties;
import com.dfsek.terra.mod.util.MinecraftUtil; import com.dfsek.terra.mod.util.MinecraftUtil;
@@ -53,12 +54,8 @@ public abstract class MinecraftAddon implements BaseAddon {
public void initialize() { public void initialize() {
modPlatform.getEventManager() modPlatform.getEventManager()
.getHandler(FunctionalEventHandler.class) .getHandler(FunctionalEventHandler.class)
.register(this, ConfigurationLoadEvent.class) .register(this, ConfigPackPreLoadEvent.class)
.then(event -> { .then(event -> event.loadTemplate(new VanillaWorldProperties()))
if(event.is(ConfigPack.class)) {
event.getLoadedObject(ConfigPack.class).getContext().put(event.load(new VanillaWorldProperties()));
}
})
.global(); .global();
modPlatform.getEventManager() modPlatform.getEventManager()
.getHandler(FunctionalEventHandler.class) .getHandler(FunctionalEventHandler.class)

View File

@@ -51,7 +51,7 @@ public class VanillaWorldProperties implements ConfigTemplate, Properties {
@Default @Default
private Boolean respawnAnchorWorks = false; private Boolean respawnAnchorWorks = false;
@Value("minecraft.height") @Value("minecraft.height.range")
@Default @Default
private Range height = new ConstantRange(0, 16); private Range height = new ConstantRange(0, 16);

View File

@@ -41,12 +41,18 @@ public class BiomeUtil {
logger.info("Terra biomes registered."); logger.info("Terra biomes registered.");
} }
public static RegistryKey<net.minecraft.world.biome.Biome> registerKey(Identifier identifier) {
return RegistryKey.of(Registry.BIOME_KEY, identifier);
}
protected static RegistryKey<net.minecraft.world.biome.Biome> registerBiome(Identifier identifier, protected static RegistryKey<net.minecraft.world.biome.Biome> registerBiome(Identifier identifier,
net.minecraft.world.biome.Biome biome) { net.minecraft.world.biome.Biome biome) {
BuiltinRegistries.add(BuiltinRegistries.BIOME, RegistryKey key = registerKey(identifier);
MinecraftUtil.registerKey(identifier) if(!BuiltinRegistries.BIOME.contains(key)) {
.getValue(), BuiltinRegistries.add(BuiltinRegistries.BIOME,
biome); key.getValue(),
biome);
}
return getBiomeKey(identifier); return getBiomeKey(identifier);
} }
@@ -63,11 +69,7 @@ public class BiomeUtil {
protected static void registerBiome(Biome biome, ConfigPack pack, protected static void registerBiome(Biome biome, ConfigPack pack,
com.dfsek.terra.api.registry.key.RegistryKey id) { com.dfsek.terra.api.registry.key.RegistryKey id) {
VanillaBiomeProperties vanillaBiomeProperties; VanillaBiomeProperties vanillaBiomeProperties;
if (biome.getContext().has(VanillaBiomeProperties.class)) { vanillaBiomeProperties = biome.getContext().get(VanillaBiomeProperties.class);
vanillaBiomeProperties = biome.getContext().get(VanillaBiomeProperties.class);
} else {
vanillaBiomeProperties = new VanillaBiomeProperties();
}
net.minecraft.world.biome.Biome minecraftBiome = MinecraftUtil.createBiome(vanillaBiomeProperties); net.minecraft.world.biome.Biome minecraftBiome = MinecraftUtil.createBiome(vanillaBiomeProperties);

View File

@@ -18,10 +18,13 @@ import java.util.OptionalLong;
public class DimensionUtil { public class DimensionUtil {
protected static RegistryKey<DimensionType> registerDimension(Identifier identifier, protected static RegistryKey<DimensionType> registerDimension(Identifier identifier,
DimensionType dimension) { DimensionType dimension) {
BuiltinRegistries.add(BuiltinRegistries.DIMENSION_TYPE, RegistryKey key = registerKey(identifier);
registerKey(identifier) if(!BuiltinRegistries.BIOME.contains(key)) {
.getValue(), BuiltinRegistries.add(BuiltinRegistries.DIMENSION_TYPE,
dimension); key
.getValue(),
dimension);
}
return getDimensionKey(identifier); return getDimensionKey(identifier);
} }
@@ -34,11 +37,7 @@ public class DimensionUtil {
protected static RegistryKey<DimensionType> registerDimension(ConfigPack pack) { protected static RegistryKey<DimensionType> registerDimension(ConfigPack pack) {
VanillaWorldProperties vanillaWorldProperties; VanillaWorldProperties vanillaWorldProperties;
if (pack.getContext().has(VanillaBiomeProperties.class)) { vanillaWorldProperties = pack.getContext().get(VanillaWorldProperties.class);
vanillaWorldProperties = pack.getContext().get(VanillaWorldProperties.class);
} else {
vanillaWorldProperties = new VanillaWorldProperties();
}
DimensionType overworldDimensionType = new DimensionType( DimensionType overworldDimensionType = new DimensionType(
vanillaWorldProperties.getFixedTime() == null ? OptionalLong.empty() : OptionalLong.of(vanillaWorldProperties.getFixedTime()), vanillaWorldProperties.getFixedTime() == null ? OptionalLong.empty() : OptionalLong.of(vanillaWorldProperties.getFixedTime()),

View File

@@ -69,10 +69,6 @@ public final class MinecraftUtil {
TerraIntProvider.TERRA_RANGE_TYPE_TO_INT_PROVIDER_TYPE.put(ConstantRange.class, CONSTANT); TerraIntProvider.TERRA_RANGE_TYPE_TO_INT_PROVIDER_TYPE.put(ConstantRange.class, CONSTANT);
} }
public static RegistryKey<Biome> registerKey(Identifier identifier) {
return RegistryKey.of(Registry.BIOME_KEY, identifier);
}
public static Biome createBiome(VanillaBiomeProperties vanillaBiomeProperties) { public static Biome createBiome(VanillaBiomeProperties vanillaBiomeProperties) {
GenerationSettings.Builder generationSettings = new GenerationSettings.Builder(); GenerationSettings.Builder generationSettings = new GenerationSettings.Builder();