diff --git a/buildSrc/src/main/kotlin/DistributionConfig.kt b/buildSrc/src/main/kotlin/DistributionConfig.kt index 80e59104e..3b90f3416 100644 --- a/buildSrc/src/main/kotlin/DistributionConfig.kt +++ b/buildSrc/src/main/kotlin/DistributionConfig.kt @@ -27,7 +27,8 @@ fun Project.configureDistribution() { group = "terra" doFirst { file("${buildDir}/resources/main/packs/").deleteRecursively() - val defaultPackUrl = URL("https://github.com/PolyhedralDev/TerraOverworldConfig/releases/download/" + Versions.Terra.overworldConfig + "/default.zip") + val defaultPackUrl = + URL("https://github.com/PolyhedralDev/TerraOverworldConfig/releases/download/" + Versions.Terra.overworldConfig + "/default.zip") downloadPack(defaultPackUrl, project) } } diff --git a/common/addons/biome-provider-pipeline-v2/src/main/java/com/dfsek/terra/addons/biome/pipeline/v2/api/biome/DelegatedPipelineBiome.java b/common/addons/biome-provider-pipeline-v2/src/main/java/com/dfsek/terra/addons/biome/pipeline/v2/api/biome/DelegatedPipelineBiome.java index 85e6a99ad..0d57fd02e 100644 --- a/common/addons/biome-provider-pipeline-v2/src/main/java/com/dfsek/terra/addons/biome/pipeline/v2/api/biome/DelegatedPipelineBiome.java +++ b/common/addons/biome-provider-pipeline-v2/src/main/java/com/dfsek/terra/addons/biome/pipeline/v2/api/biome/DelegatedPipelineBiome.java @@ -1,9 +1,9 @@ package com.dfsek.terra.addons.biome.pipeline.v2.api.biome; -import java.util.Set; - import com.dfsek.terra.api.world.biome.Biome; +import java.util.Set; + public final class DelegatedPipelineBiome implements PipelineBiome { private final Biome biome; diff --git a/common/addons/biome-provider-pipeline-v2/src/main/java/com/dfsek/terra/addons/biome/pipeline/v2/stage/mutators/ReplaceListStage.java b/common/addons/biome-provider-pipeline-v2/src/main/java/com/dfsek/terra/addons/biome/pipeline/v2/stage/mutators/ReplaceListStage.java index 4d86958a2..8d4ec30f7 100644 --- a/common/addons/biome-provider-pipeline-v2/src/main/java/com/dfsek/terra/addons/biome/pipeline/v2/stage/mutators/ReplaceListStage.java +++ b/common/addons/biome-provider-pipeline-v2/src/main/java/com/dfsek/terra/addons/biome/pipeline/v2/stage/mutators/ReplaceListStage.java @@ -7,17 +7,17 @@ package com.dfsek.terra.addons.biome.pipeline.v2.stage.mutators; -import java.util.HashSet; -import java.util.Map; -import java.util.Set; -import java.util.stream.Stream; - import com.dfsek.terra.addons.biome.pipeline.v2.api.Stage; import com.dfsek.terra.addons.biome.pipeline.v2.api.biome.PipelineBiome; import com.dfsek.terra.addons.biome.pipeline.v2.pipeline.BiomeChunkImpl; import com.dfsek.terra.api.noise.NoiseSampler; import com.dfsek.terra.api.util.collection.ProbabilityCollection; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; +import java.util.stream.Stream; + public class ReplaceListStage implements Stage { private final Map> replace; diff --git a/common/addons/command-structures/src/main/java/com/dfsek/terra/addons/commands/structure/StructureCommandAddon.java b/common/addons/command-structures/src/main/java/com/dfsek/terra/addons/commands/structure/StructureCommandAddon.java index 6fd70a973..2e90f4bdd 100644 --- a/common/addons/command-structures/src/main/java/com/dfsek/terra/addons/commands/structure/StructureCommandAddon.java +++ b/common/addons/command-structures/src/main/java/com/dfsek/terra/addons/commands/structure/StructureCommandAddon.java @@ -6,6 +6,8 @@ import cloud.commandframework.arguments.standard.EnumArgument; import cloud.commandframework.arguments.standard.LongArgument; import cloud.commandframework.context.CommandContext; +import java.util.random.RandomGenerator; +import java.util.random.RandomGeneratorFactory; import com.dfsek.terra.addons.manifest.api.AddonInitializer; import com.dfsek.terra.api.Platform; @@ -21,8 +23,6 @@ import com.dfsek.terra.api.structure.Structure; import com.dfsek.terra.api.util.Rotation; import com.dfsek.terra.api.util.reflection.TypeKey; -import java.util.random.RandomGenerator; -import java.util.random.RandomGeneratorFactory; public class StructureCommandAddon implements AddonInitializer { @Inject diff --git a/common/addons/config-distributors/src/main/java/com/dfsek/terra/addons/feature/distributor/distributors/PaddedGridDistributor.java b/common/addons/config-distributors/src/main/java/com/dfsek/terra/addons/feature/distributor/distributors/PaddedGridDistributor.java index b71e0c7f8..a77b2c0bc 100644 --- a/common/addons/config-distributors/src/main/java/com/dfsek/terra/addons/feature/distributor/distributors/PaddedGridDistributor.java +++ b/common/addons/config-distributors/src/main/java/com/dfsek/terra/addons/feature/distributor/distributors/PaddedGridDistributor.java @@ -26,8 +26,8 @@ public class PaddedGridDistributor implements Distributor { int cellZ = Math.floorDiv(z, cellWidth); RandomGenerator random = RandomGeneratorFactory.of("Xoroshiro128PlusPlus").create( - (MathUtil.murmur64(MathUtil.squash(cellX, cellZ)) ^ seed) + salt); - + (MathUtil.murmur64(MathUtil.squash(cellX, cellZ)) ^ seed) + salt); + int pointX = random.nextInt(width) + cellX * cellWidth; int pointZ = random.nextInt(width) + cellZ * cellWidth; diff --git a/common/addons/config-flora/src/main/java/com/dfsek/terra/addons/flora/flora/gen/TerraFlora.java b/common/addons/config-flora/src/main/java/com/dfsek/terra/addons/flora/flora/gen/TerraFlora.java index 027772c01..82af49463 100644 --- a/common/addons/config-flora/src/main/java/com/dfsek/terra/addons/flora/flora/gen/TerraFlora.java +++ b/common/addons/config-flora/src/main/java/com/dfsek/terra/addons/flora/flora/gen/TerraFlora.java @@ -87,9 +87,9 @@ public class TerraFlora implements Structure { location.getZ(), world.getSeed()); if(doRotation) { Direction oneFace = new ArrayList<>(faces).get( - RandomGeneratorFactory.of("Xoroshiro128PlusPlus") - .create(location.getX() ^ location.getZ()) - .nextInt(faces.size())); // Get RandomGenerator face. + RandomGeneratorFactory.of("Xoroshiro128PlusPlus") + .create(location.getX() ^ location.getZ()) + .nextInt(faces.size())); // Get RandomGenerator face. } world.setBlockState(location.mutable().add(0, i + c, 0).immutable(), data, physics); } diff --git a/common/addons/config-locators/src/main/java/com/dfsek/terra/addons/feature/locator/locators/GaussianRandomLocator.java b/common/addons/config-locators/src/main/java/com/dfsek/terra/addons/feature/locator/locators/GaussianRandomLocator.java index 1a3501cc8..c2a300f16 100644 --- a/common/addons/config-locators/src/main/java/com/dfsek/terra/addons/feature/locator/locators/GaussianRandomLocator.java +++ b/common/addons/config-locators/src/main/java/com/dfsek/terra/addons/feature/locator/locators/GaussianRandomLocator.java @@ -40,9 +40,9 @@ public class GaussianRandomLocator implements Locator { seed = 31 * seed + column.getX(); seed = 31 * seed + column.getZ(); seed += salt; - + RandomGenerator r = RandomGeneratorFactory.of("Xoroshiro128PlusPlus").create(seed); - + int size = points.get(r); diff --git a/common/addons/config-locators/src/main/java/com/dfsek/terra/addons/feature/locator/locators/RandomLocator.java b/common/addons/config-locators/src/main/java/com/dfsek/terra/addons/feature/locator/locators/RandomLocator.java index 93364be07..c25875fbc 100644 --- a/common/addons/config-locators/src/main/java/com/dfsek/terra/addons/feature/locator/locators/RandomLocator.java +++ b/common/addons/config-locators/src/main/java/com/dfsek/terra/addons/feature/locator/locators/RandomLocator.java @@ -36,9 +36,9 @@ public class RandomLocator implements Locator { seed = 31 * seed + column.getX(); seed = 31 * seed + column.getZ(); seed += salt; - + RandomGenerator r = RandomGeneratorFactory.of("Xoroshiro128PlusPlus").create(seed); - + int size = points.get(r); BinaryColumnBuilder results = column.newBinaryColumn(); diff --git a/common/addons/config-ore/src/main/java/com/dfsek/terra/addons/ore/utils/VanillaOreUtils.java b/common/addons/config-ore/src/main/java/com/dfsek/terra/addons/ore/utils/VanillaOreUtils.java index d2b087cbd..4f892db37 100644 --- a/common/addons/config-ore/src/main/java/com/dfsek/terra/addons/ore/utils/VanillaOreUtils.java +++ b/common/addons/config-ore/src/main/java/com/dfsek/terra/addons/ore/utils/VanillaOreUtils.java @@ -1,11 +1,11 @@ package com.dfsek.terra.addons.ore.utils; +import java.util.random.RandomGenerator; + import com.dfsek.terra.api.block.BlockType; import com.dfsek.terra.api.util.collection.MaterialSet; import com.dfsek.terra.api.world.WritableWorld; -import java.util.random.RandomGenerator; - public class VanillaOreUtils { private static boolean shouldExpose(RandomGenerator random, double exposedChance) { @@ -14,7 +14,8 @@ public class VanillaOreUtils { return random.nextFloat() < exposedChance; } - public static boolean shouldPlace(MaterialSet replaceable, BlockType type, Double exposedChance, RandomGenerator random, WritableWorld world, + public static boolean shouldPlace(MaterialSet replaceable, BlockType type, Double exposedChance, RandomGenerator random, + WritableWorld world, int x, int y, int z) { if(!replaceable.contains(type)) return false; diff --git a/common/addons/config-structure/src/main/java/com/dfsek/terra/addons/structure/structures/loot/Pool.java b/common/addons/config-structure/src/main/java/com/dfsek/terra/addons/structure/structures/loot/Pool.java index 3a2727b20..cca1b9795 100644 --- a/common/addons/config-structure/src/main/java/com/dfsek/terra/addons/structure/structures/loot/Pool.java +++ b/common/addons/config-structure/src/main/java/com/dfsek/terra/addons/structure/structures/loot/Pool.java @@ -57,7 +57,7 @@ public class Pool { * @return List<ItemStack> - The list of items fetched. */ public List getItems(RandomGenerator r) { - + int rolls = r.nextInt(max - min + 1) + min; List items = new ArrayList<>(); for(int i = 0; i < rolls; i++) { diff --git a/common/addons/generation-stage-feature/src/main/java/com/dfsek/terra/addons/generation/feature/FeatureGenerationStage.java b/common/addons/generation-stage-feature/src/main/java/com/dfsek/terra/addons/generation/feature/FeatureGenerationStage.java index 942f53ca3..1d455ecd0 100644 --- a/common/addons/generation-stage-feature/src/main/java/com/dfsek/terra/addons/generation/feature/FeatureGenerationStage.java +++ b/common/addons/generation-stage-feature/src/main/java/com/dfsek/terra/addons/generation/feature/FeatureGenerationStage.java @@ -53,37 +53,37 @@ public class FeatureGenerationStage implements GenerationStage, StringIdentifiab int tx = cx + chunkX; int tz = cz + chunkZ; world.getBiomeProvider() - .getColumn(tx, tz, world) - .forRanges(resolution, (min, max, biome) -> { - for(int subChunkX = 0; subChunkX < resolution; subChunkX++) { - for(int subChunkZ = 0; subChunkZ < resolution; subChunkZ++) { - int x = subChunkX + tx; - int z = subChunkZ + tz; - long coordinateSeed = (seed * 31 + x) * 31 + z; - Column column = world.column(x, z); - biome.getContext() - .get(biomeFeaturesKey) - .getFeatures() - .getOrDefault(this, Collections.emptyList()) - .forEach(feature -> { - platform.getProfiler().push(feature.getID()); - if(feature.getDistributor().matches(x, z, seed)) { - feature.getLocator() - .getSuitableCoordinates(column.clamp(min, max)) - .forEach(y -> feature.getStructure(world, x, y, z) - .generate(Vector3Int.of(x, y, z), - world, - RandomGeneratorFactory.of( - "Xoroshiro128PlusPlus") - .create(coordinateSeed * 31 + y), - Rotation.NONE) - ); - } - platform.getProfiler().pop(feature.getID()); - }); - } - } - }); + .getColumn(tx, tz, world) + .forRanges(resolution, (min, max, biome) -> { + for(int subChunkX = 0; subChunkX < resolution; subChunkX++) { + for(int subChunkZ = 0; subChunkZ < resolution; subChunkZ++) { + int x = subChunkX + tx; + int z = subChunkZ + tz; + long coordinateSeed = (seed * 31 + x) * 31 + z; + Column column = world.column(x, z); + biome.getContext() + .get(biomeFeaturesKey) + .getFeatures() + .getOrDefault(this, Collections.emptyList()) + .forEach(feature -> { + platform.getProfiler().push(feature.getID()); + if(feature.getDistributor().matches(x, z, seed)) { + feature.getLocator() + .getSuitableCoordinates(column.clamp(min, max)) + .forEach(y -> feature.getStructure(world, x, y, z) + .generate(Vector3Int.of(x, y, z), + world, + RandomGeneratorFactory.of( + "Xoroshiro128PlusPlus") + .create(coordinateSeed * 31 + y), + Rotation.NONE) + ); + } + platform.getProfiler().pop(feature.getID()); + }); + } + } + }); } } platform.getProfiler().pop(profile); diff --git a/common/addons/structure-mutator/src/main/java/com/dfsek/terra/addons/structure/mutator/MutatedStructure.java b/common/addons/structure-mutator/src/main/java/com/dfsek/terra/addons/structure/mutator/MutatedStructure.java index 5fbc42028..4a91f07c8 100644 --- a/common/addons/structure-mutator/src/main/java/com/dfsek/terra/addons/structure/mutator/MutatedStructure.java +++ b/common/addons/structure-mutator/src/main/java/com/dfsek/terra/addons/structure/mutator/MutatedStructure.java @@ -1,7 +1,5 @@ package com.dfsek.terra.addons.structure.mutator; -import java.util.random.RandomGenerator; - import com.dfsek.terra.api.registry.key.Keyed; import com.dfsek.terra.api.registry.key.RegistryKey; import com.dfsek.terra.api.structure.Structure; @@ -11,6 +9,8 @@ import com.dfsek.terra.api.world.WritableWorld; import com.dfsek.terra.api.world.util.ReadInterceptor; import com.dfsek.terra.api.world.util.WriteInterceptor; +import java.util.random.RandomGenerator; + public class MutatedStructure implements Structure, Keyed { private final RegistryKey key; diff --git a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/StructureScript.java b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/StructureScript.java index c031baa66..35cf244f2 100644 --- a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/StructureScript.java +++ b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/StructureScript.java @@ -137,7 +137,7 @@ public class StructureScript implements Structure, Keyed { platform.getProfiler().pop(profile); return result; } - + public boolean generate(Vector3Int location, WritableWorld world, RandomGenerator random, Rotation rotation, int recursions) { platform.getProfiler().push(profile); boolean result = applyBlock(new TerraImplementationArguments(location, rotation, random, world, recursions)); diff --git a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/TerraImplementationArguments.java b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/TerraImplementationArguments.java index bf38eb183..11eee4823 100644 --- a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/TerraImplementationArguments.java +++ b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/TerraImplementationArguments.java @@ -26,7 +26,7 @@ public class TerraImplementationArguments implements ImplementationArguments { private final int recursions; private final Vector3Int origin; private boolean waterlog = false; - + public TerraImplementationArguments(Vector3Int origin, Rotation rotation, RandomGenerator random, WritableWorld world, int recursions) { this.rotation = rotation; this.random = random; @@ -38,7 +38,7 @@ public class TerraImplementationArguments implements ImplementationArguments { public int getRecursions() { return recursions; } - + public RandomGenerator getRandom() { return random; } diff --git a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/functions/LootFunction.java b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/functions/LootFunction.java index aef79e2e1..4b41b1c2d 100644 --- a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/functions/LootFunction.java +++ b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/functions/LootFunction.java @@ -10,6 +10,9 @@ package com.dfsek.terra.addons.terrascript.script.functions; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.util.random.RandomGenerator; +import java.util.random.RandomGeneratorFactory; + import com.dfsek.terra.addons.terrascript.parser.lang.ImplementationArguments; import com.dfsek.terra.addons.terrascript.parser.lang.Returnable; import com.dfsek.terra.addons.terrascript.parser.lang.Scope; @@ -28,9 +31,6 @@ import com.dfsek.terra.api.util.RotationUtil; import com.dfsek.terra.api.util.vector.Vector2; import com.dfsek.terra.api.util.vector.Vector3; -import java.util.random.RandomGenerator; -import java.util.random.RandomGeneratorFactory; - public class LootFunction implements Function { private static final Logger LOGGER = LoggerFactory.getLogger(LootFunction.class); @@ -65,35 +65,35 @@ public class LootFunction implements Function { registry.get(RegistryKey.parse(id)) - .ifPresentOrElse(table -> { - Vector3 apply = Vector3.of((int) Math.round(xz.getX()), - y.apply(implementationArguments, scope) - .intValue(), - (int) Math.round(xz.getZ())).mutable().add(arguments.getOrigin()).immutable(); - - try { - BlockEntity data = arguments.getWorld().getBlockEntity(apply); - if(!(data instanceof Container container)) { - LOGGER.error("Failed to place loot at {}; block {} is not a container", - apply, data); - return; - } - - LootPopulateEvent event = new LootPopulateEvent(container, table, - arguments.getWorld().getPack(), script); - platform.getEventManager().callEvent(event); - if(event.isCancelled()) return; - - event.getTable().fillInventory(container.getInventory(), - RandomGeneratorFactory.of( - "Xoroshiro128PlusPlus").create(apply.hashCode())); - data.update(false); - } catch(Exception e) { - LOGGER.error("Could not apply loot at {}", apply, e); - e.printStackTrace(); - } - }, - () -> LOGGER.error("No such loot table {}", id)); + .ifPresentOrElse(table -> { + Vector3 apply = Vector3.of((int) Math.round(xz.getX()), + y.apply(implementationArguments, scope) + .intValue(), + (int) Math.round(xz.getZ())).mutable().add(arguments.getOrigin()).immutable(); + + try { + BlockEntity data = arguments.getWorld().getBlockEntity(apply); + if(!(data instanceof Container container)) { + LOGGER.error("Failed to place loot at {}; block {} is not a container", + apply, data); + return; + } + + LootPopulateEvent event = new LootPopulateEvent(container, table, + arguments.getWorld().getPack(), script); + platform.getEventManager().callEvent(event); + if(event.isCancelled()) return; + + event.getTable().fillInventory(container.getInventory(), + RandomGeneratorFactory.of( + "Xoroshiro128PlusPlus").create(apply.hashCode())); + data.update(false); + } catch(Exception e) { + LOGGER.error("Could not apply loot at {}", apply, e); + e.printStackTrace(); + } + }, + () -> LOGGER.error("No such loot table {}", id)); return null; } diff --git a/common/api/src/main/java/com/dfsek/terra/api/Platform.java b/common/api/src/main/java/com/dfsek/terra/api/Platform.java index 37933262b..a9d653cb7 100644 --- a/common/api/src/main/java/com/dfsek/terra/api/Platform.java +++ b/common/api/src/main/java/com/dfsek/terra/api/Platform.java @@ -7,8 +7,6 @@ package com.dfsek.terra.api; -import com.dfsek.terra.api.config.MetaPack; - import org.jetbrains.annotations.Contract; import org.jetbrains.annotations.NotNull; @@ -16,6 +14,7 @@ import java.io.File; import com.dfsek.terra.api.addon.BaseAddon; import com.dfsek.terra.api.config.ConfigPack; +import com.dfsek.terra.api.config.MetaPack; import com.dfsek.terra.api.config.PluginConfig; import com.dfsek.terra.api.event.EventManager; import com.dfsek.terra.api.handle.ItemHandle; diff --git a/common/api/src/main/java/com/dfsek/terra/api/config/MetaPack.java b/common/api/src/main/java/com/dfsek/terra/api/config/MetaPack.java index 9cdbd696d..ae3c06ec4 100644 --- a/common/api/src/main/java/com/dfsek/terra/api/config/MetaPack.java +++ b/common/api/src/main/java/com/dfsek/terra/api/config/MetaPack.java @@ -2,6 +2,8 @@ package com.dfsek.terra.api.config; import ca.solostudios.strata.version.Version; +import java.util.Map; + import com.dfsek.terra.api.properties.PropertyHolder; import com.dfsek.terra.api.registry.key.Keyed; import com.dfsek.terra.api.registry.meta.CheckedRegistryHolder; @@ -9,8 +11,6 @@ import com.dfsek.terra.api.registry.meta.RegistryProvider; import com.dfsek.terra.api.tectonic.ConfigLoadingDelegate; import com.dfsek.terra.api.tectonic.LoaderRegistrar; -import java.util.Map; - public interface MetaPack extends LoaderRegistrar, ConfigLoadingDelegate, diff --git a/common/api/src/main/java/com/dfsek/terra/api/structure/LootTable.java b/common/api/src/main/java/com/dfsek/terra/api/structure/LootTable.java index ecfe735bd..b93a3c6b2 100644 --- a/common/api/src/main/java/com/dfsek/terra/api/structure/LootTable.java +++ b/common/api/src/main/java/com/dfsek/terra/api/structure/LootTable.java @@ -25,7 +25,7 @@ public interface LootTable { * @param r The The RandomGenerator instance to use. */ void fillInventory(Inventory i, RandomGenerator r); - + /** * Fetches a list of ItemStacks from the loot table using the given RandomGenerator instance. * diff --git a/common/api/src/main/java/com/dfsek/terra/api/util/PopulationUtil.java b/common/api/src/main/java/com/dfsek/terra/api/util/PopulationUtil.java index 2ec5f2d91..de2e7be3b 100644 --- a/common/api/src/main/java/com/dfsek/terra/api/util/PopulationUtil.java +++ b/common/api/src/main/java/com/dfsek/terra/api/util/PopulationUtil.java @@ -17,10 +17,10 @@ public final class PopulationUtil { public static RandomGenerator getRandom(Chunk c) { return getRandom(c, 0); } - + public static RandomGenerator getRandom(Chunk c, long salt) { return RandomGeneratorFactory.of("Xoroshiro128PlusPlus").create( - getCarverChunkSeed(c.getX(), c.getZ(), c.getWorld().getSeed() + salt)); + getCarverChunkSeed(c.getX(), c.getZ(), c.getWorld().getSeed() + salt)); } /** diff --git a/common/api/src/main/java/com/dfsek/terra/api/util/Range.java b/common/api/src/main/java/com/dfsek/terra/api/util/Range.java index c851bd621..4fba34651 100644 --- a/common/api/src/main/java/com/dfsek/terra/api/util/Range.java +++ b/common/api/src/main/java/com/dfsek/terra/api/util/Range.java @@ -18,9 +18,9 @@ public interface Range extends Iterable { Range multiply(int mult); Range reflect(int pt); - + int get(RandomGenerator r); - + Range intersects(Range other); Range add(int add); diff --git a/common/implementation/base/src/main/java/com/dfsek/terra/AbstractPlatform.java b/common/implementation/base/src/main/java/com/dfsek/terra/AbstractPlatform.java index 2765326c2..1ea3fc88b 100644 --- a/common/implementation/base/src/main/java/com/dfsek/terra/AbstractPlatform.java +++ b/common/implementation/base/src/main/java/com/dfsek/terra/AbstractPlatform.java @@ -18,10 +18,6 @@ package com.dfsek.terra; import com.dfsek.tectonic.api.TypeRegistry; - -import com.dfsek.terra.api.config.MetaPack; -import com.dfsek.terra.registry.master.MetaConfigRegistry; - import org.apache.commons.io.FileUtils; import org.apache.commons.io.IOUtils; import org.jetbrains.annotations.NotNull; @@ -55,6 +51,7 @@ import com.dfsek.terra.api.Platform; import com.dfsek.terra.api.addon.BaseAddon; import com.dfsek.terra.api.addon.bootstrap.BootstrapAddonClassLoader; import com.dfsek.terra.api.config.ConfigPack; +import com.dfsek.terra.api.config.MetaPack; import com.dfsek.terra.api.config.PluginConfig; import com.dfsek.terra.api.event.EventManager; import com.dfsek.terra.api.event.events.platform.PlatformInitializationEvent; @@ -77,6 +74,7 @@ import com.dfsek.terra.registry.LockedRegistryImpl; import com.dfsek.terra.registry.OpenRegistryImpl; import com.dfsek.terra.registry.master.ConfigRegistry; import com.dfsek.terra.registry.master.ConfigRegistry.PackLoadFailuresException; +import com.dfsek.terra.registry.master.MetaConfigRegistry; /** @@ -168,7 +166,6 @@ public abstract class AbstractPlatform implements Platform { .global(); - logger.info("Terra addons successfully loaded."); logger.info("Finished initialization."); } diff --git a/common/implementation/base/src/main/java/com/dfsek/terra/config/pack/MetaPackImpl.java b/common/implementation/base/src/main/java/com/dfsek/terra/config/pack/MetaPackImpl.java index c09042fb5..8ae68c8e8 100644 --- a/common/implementation/base/src/main/java/com/dfsek/terra/config/pack/MetaPackImpl.java +++ b/common/implementation/base/src/main/java/com/dfsek/terra/config/pack/MetaPackImpl.java @@ -1,8 +1,16 @@ package com.dfsek.terra.config.pack; import ca.solostudios.strata.version.Version; +import com.dfsek.tectonic.api.TypeRegistry; +import com.dfsek.tectonic.api.config.Configuration; +import com.dfsek.tectonic.api.config.template.object.ObjectTemplate; +import com.dfsek.tectonic.api.loader.AbstractConfigLoader; +import com.dfsek.tectonic.api.loader.ConfigLoader; +import com.dfsek.tectonic.api.loader.type.TypeLoader; +import com.dfsek.tectonic.yaml.YamlConfiguration; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; -import java.awt.image.BufferedImage; import java.io.FileNotFoundException; import java.io.IOException; import java.lang.reflect.ParameterizedType; @@ -18,58 +26,34 @@ import java.util.Map; import java.util.function.Supplier; import java.util.regex.Pattern; -import com.dfsek.tectonic.api.TypeRegistry; -import com.dfsek.tectonic.api.config.Configuration; -import com.dfsek.tectonic.api.config.template.object.ObjectTemplate; -import com.dfsek.tectonic.api.loader.AbstractConfigLoader; -import com.dfsek.tectonic.api.loader.ConfigLoader; -import com.dfsek.tectonic.api.loader.type.TypeLoader; -import com.dfsek.tectonic.yaml.YamlConfiguration; - import com.dfsek.terra.api.Platform; import com.dfsek.terra.api.config.ConfigPack; -import com.dfsek.terra.api.config.ConfigType; import com.dfsek.terra.api.config.MetaPack; import com.dfsek.terra.api.properties.Context; import com.dfsek.terra.api.registry.CheckedRegistry; import com.dfsek.terra.api.registry.OpenRegistry; import com.dfsek.terra.api.registry.Registry; import com.dfsek.terra.api.registry.key.RegistryKey; -import com.dfsek.terra.api.tectonic.ConfigLoadingDelegate; import com.dfsek.terra.api.util.reflection.ReflectionUtil; import com.dfsek.terra.api.util.reflection.TypeKey; import com.dfsek.terra.config.loaders.GenericTemplateSupplierLoader; -import com.dfsek.terra.config.loaders.config.BufferedImageLoader; import com.dfsek.terra.registry.CheckedRegistryImpl; import com.dfsek.terra.registry.OpenRegistryImpl; - import com.dfsek.terra.registry.master.ConfigRegistry; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - public class MetaPackImpl implements MetaPack { private static final Pattern PATTERN = Pattern.compile(", "); - private final MetaPackTemplate template = new MetaPackTemplate(); - - private final Platform platform; - - private final Path rootPath; - - private final Map packs = new HashMap<>(); - - private final ConfigLoader selfLoader = new ConfigLoader(); - - private final Context context = new Context(); - - private final RegistryKey key; - - private final Map> registryMap = new HashMap<>(); - private static final Logger logger = LoggerFactory.getLogger(MetaPackImpl.class); - + private final MetaPackTemplate template = new MetaPackTemplate(); + private final Platform platform; + private final Path rootPath; + private final Map packs = new HashMap<>(); + private final ConfigLoader selfLoader = new ConfigLoader(); + private final Context context = new Context(); + private final RegistryKey key; + private final Map> registryMap = new HashMap<>(); private final AbstractConfigLoader abstractConfigLoader = new AbstractConfigLoader(); private final String author; @@ -121,7 +105,7 @@ public class MetaPackImpl implements MetaPack { template.getPacks().forEach((k, v) -> { RegistryKey registryKey = RegistryKey.parse(v); - if (configRegistry.contains(registryKey)) { + if(configRegistry.contains(registryKey)) { packs.put(k, configRegistry.get(registryKey).get()); logger.info("Linked config pack \"{}\" to metapack \"{}:{}\".", v, namespace, id); } else { diff --git a/common/implementation/base/src/main/java/com/dfsek/terra/registry/master/MetaConfigRegistry.java b/common/implementation/base/src/main/java/com/dfsek/terra/registry/master/MetaConfigRegistry.java index 472592556..05539475e 100644 --- a/common/implementation/base/src/main/java/com/dfsek/terra/registry/master/MetaConfigRegistry.java +++ b/common/implementation/base/src/main/java/com/dfsek/terra/registry/master/MetaConfigRegistry.java @@ -18,7 +18,6 @@ package com.dfsek.terra.registry.master; import java.io.IOException; -import java.io.Serial; import java.nio.file.Files; import java.nio.file.Path; import java.util.ArrayList; @@ -26,10 +25,8 @@ import java.util.List; import java.util.stream.Stream; import com.dfsek.terra.api.Platform; -import com.dfsek.terra.api.config.ConfigPack; import com.dfsek.terra.api.config.MetaPack; import com.dfsek.terra.api.util.reflection.TypeKey; -import com.dfsek.terra.config.pack.ConfigPackImpl; import com.dfsek.terra.config.pack.MetaPackImpl; import com.dfsek.terra.registry.OpenRegistryImpl; import com.dfsek.terra.registry.master.ConfigRegistry.PackLoadFailuresException; diff --git a/platforms/bukkit/common/src/main/java/com/dfsek/terra/bukkit/generator/BukkitBlockPopulator.java b/platforms/bukkit/common/src/main/java/com/dfsek/terra/bukkit/generator/BukkitBlockPopulator.java index b220f961b..27f52de47 100644 --- a/platforms/bukkit/common/src/main/java/com/dfsek/terra/bukkit/generator/BukkitBlockPopulator.java +++ b/platforms/bukkit/common/src/main/java/com/dfsek/terra/bukkit/generator/BukkitBlockPopulator.java @@ -5,12 +5,12 @@ import org.bukkit.generator.LimitedRegion; import org.bukkit.generator.WorldInfo; import org.jetbrains.annotations.NotNull; +import java.util.Random; + import com.dfsek.terra.api.block.state.BlockState; import com.dfsek.terra.api.config.ConfigPack; import com.dfsek.terra.bukkit.world.BukkitProtoWorld; -import java.util.Random; - public class BukkitBlockPopulator extends BlockPopulator { private final BlockState air; diff --git a/platforms/bukkit/common/src/main/java/com/dfsek/terra/bukkit/generator/BukkitChunkGeneratorWrapper.java b/platforms/bukkit/common/src/main/java/com/dfsek/terra/bukkit/generator/BukkitChunkGeneratorWrapper.java index 192dbecf7..5201d6340 100644 --- a/platforms/bukkit/common/src/main/java/com/dfsek/terra/bukkit/generator/BukkitChunkGeneratorWrapper.java +++ b/platforms/bukkit/common/src/main/java/com/dfsek/terra/bukkit/generator/BukkitChunkGeneratorWrapper.java @@ -28,7 +28,6 @@ import org.slf4j.LoggerFactory; import java.util.List; import java.util.random.RandomGenerator; -import java.util.stream.Collectors; import com.dfsek.terra.api.block.state.BlockState; import com.dfsek.terra.api.config.ConfigPack; diff --git a/platforms/bukkit/common/src/main/java/com/dfsek/terra/bukkit/handles/BukkitWorldHandle.java b/platforms/bukkit/common/src/main/java/com/dfsek/terra/bukkit/handles/BukkitWorldHandle.java index 1d8744bcf..35446a9f4 100644 --- a/platforms/bukkit/common/src/main/java/com/dfsek/terra/bukkit/handles/BukkitWorldHandle.java +++ b/platforms/bukkit/common/src/main/java/com/dfsek/terra/bukkit/handles/BukkitWorldHandle.java @@ -61,8 +61,8 @@ public class BukkitWorldHandle implements WorldHandle { @Override public @NotNull EntityType getEntity(@NotNull String id) { - if (!id.contains(":")) { //TODO: remove in 7.0 - String newid = "minecraft:" + id.toLowerCase();; + if(!id.contains(":")) { //TODO: remove in 7.0 + String newid = "minecraft:" + id.toLowerCase(); logger.warn( "Translating " + id + " to " + newid + ". In 1.20.3 entity parsing was reworked" + ". You are advised to preform this rename in your config backs as this translation will be removed in the next major " + diff --git a/platforms/cli/src/main/java/com/dfsek/terra/cli/handle/CLIItemHandle.java b/platforms/cli/src/main/java/com/dfsek/terra/cli/handle/CLIItemHandle.java index 535e23897..3228901bc 100644 --- a/platforms/cli/src/main/java/com/dfsek/terra/cli/handle/CLIItemHandle.java +++ b/platforms/cli/src/main/java/com/dfsek/terra/cli/handle/CLIItemHandle.java @@ -1,11 +1,11 @@ package com.dfsek.terra.cli.handle; -import java.util.Set; - import com.dfsek.terra.api.handle.ItemHandle; import com.dfsek.terra.api.inventory.Item; import com.dfsek.terra.api.inventory.item.Enchantment; +import java.util.Set; + public class CLIItemHandle implements ItemHandle { @Override diff --git a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/MinecraftAddon.java b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/MinecraftAddon.java index 70a0f24bb..4586dce2a 100644 --- a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/MinecraftAddon.java +++ b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/MinecraftAddon.java @@ -19,13 +19,6 @@ package com.dfsek.terra.mod; import ca.solostudios.strata.Versions; import ca.solostudios.strata.version.Version; - -import com.dfsek.terra.api.config.ConfigPack; - -import com.dfsek.terra.mod.config.VanillaWorldProperties; - -import com.dfsek.terra.mod.util.MinecraftUtil; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -38,6 +31,7 @@ import com.dfsek.terra.api.world.biome.Biome; import com.dfsek.terra.mod.config.PostLoadCompatibilityOptions; import com.dfsek.terra.mod.config.PreLoadCompatibilityOptions; import com.dfsek.terra.mod.config.VanillaBiomeProperties; +import com.dfsek.terra.mod.config.VanillaWorldProperties; public abstract class MinecraftAddon implements BaseAddon { @@ -52,17 +46,17 @@ public abstract class MinecraftAddon implements BaseAddon { @Override public void initialize() { modPlatform.getEventManager() - .getHandler(FunctionalEventHandler.class) - .register(this, ConfigPackPostLoadEvent.class) - .then(event -> event.getPack().getContext().put(event.loadTemplate(new VanillaWorldProperties()))) - .priority(100) - .global(); + .getHandler(FunctionalEventHandler.class) + .register(this, ConfigPackPostLoadEvent.class) + .then(event -> event.getPack().getContext().put(event.loadTemplate(new VanillaWorldProperties()))) + .priority(100) + .global(); modPlatform.getEventManager() - .getHandler(FunctionalEventHandler.class) - .register(this, ConfigPackPreLoadEvent.class) - .then(event -> event.getPack().getContext().put(event.loadTemplate(new PreLoadCompatibilityOptions()))) - .global(); - + .getHandler(FunctionalEventHandler.class) + .register(this, ConfigPackPreLoadEvent.class) + .then(event -> event.getPack().getContext().put(event.loadTemplate(new PreLoadCompatibilityOptions()))) + .global(); + modPlatform.getEventManager() .getHandler(FunctionalEventHandler.class) .register(this, ConfigPackPostLoadEvent.class) diff --git a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/ModPlatform.java b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/ModPlatform.java index 3e77d5267..cb988d1a5 100644 --- a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/ModPlatform.java +++ b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/ModPlatform.java @@ -6,7 +6,6 @@ import com.dfsek.tectonic.api.exception.LoadException; import net.minecraft.entity.EntityType; import net.minecraft.entity.SpawnGroup; import net.minecraft.registry.Registry; -import net.minecraft.registry.RegistryKey; import net.minecraft.server.MinecraftServer; import net.minecraft.sound.BiomeAdditionsSound; import net.minecraft.sound.BiomeMoodSound; @@ -22,7 +21,6 @@ import net.minecraft.world.biome.BiomeParticleConfig; import net.minecraft.world.biome.SpawnSettings; import net.minecraft.world.biome.SpawnSettings.SpawnEntry; import net.minecraft.world.biome.source.MultiNoiseBiomeSourceParameterList; -import net.minecraft.world.dimension.DimensionOptions; import net.minecraft.world.dimension.DimensionType; import net.minecraft.world.gen.WorldPreset; import net.minecraft.world.gen.chunk.ChunkGeneratorSettings; @@ -70,7 +68,7 @@ public abstract class ModPlatform extends AbstractPlatform { }); getRawConfigRegistry() .forEach(pack -> { - if (!configPacksInMetaPack.contains(pack.getID())) { + if(!configPacksInMetaPack.contains(pack.getID())) { PresetUtil.createDefault(pack, this).apply(registerFunction); } }); diff --git a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/config/MonsterSettingsConfig.java b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/config/MonsterSettingsConfig.java index 416ab57d6..136b369b7 100644 --- a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/config/MonsterSettingsConfig.java +++ b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/config/MonsterSettingsConfig.java @@ -2,15 +2,10 @@ package com.dfsek.terra.mod.config; import com.dfsek.tectonic.api.config.template.annotations.Default; import com.dfsek.tectonic.api.config.template.annotations.Value; - import com.dfsek.tectonic.api.config.template.object.ObjectTemplate; import com.dfsek.terra.api.util.Range; -import com.dfsek.terra.mod.implmentation.TerraIntProvider; - -import net.minecraft.world.dimension.DimensionType.MonsterSettings; - public class MonsterSettingsConfig implements ObjectTemplate { @Value("piglin-safe") @@ -46,7 +41,6 @@ public class MonsterSettingsConfig implements ObjectTemplate TERRA_CONSTANT_RANGE_INT_PROVIDER_TYPE = RecordCodecBuilder.create(range -> range.group( Codec.INT.fieldOf("min").stable().forGetter(TerraIntProvider::getMin), - Codec.INT.fieldOf("max").stable().forGetter(TerraIntProvider::getMax)).apply(range, range.stable((min, max) -> new TerraIntProvider(new ConstantRange( + Codec.INT.fieldOf("max").stable().forGetter(TerraIntProvider::getMax)) + .apply(range, range.stable((min, max) -> new TerraIntProvider(new ConstantRange( min, max))))); } diff --git a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/generation/GenerationSettings.java b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/generation/GenerationSettings.java index bb936e7d6..7c8bdc5bc 100644 --- a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/generation/GenerationSettings.java +++ b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/generation/GenerationSettings.java @@ -1,7 +1,6 @@ package com.dfsek.terra.mod.generation; import com.dfsek.terra.api.util.ConstantRange; -import com.dfsek.terra.api.util.Range; public record GenerationSettings(ConstantRange height, Integer sealevel, Boolean mobGeneration) { diff --git a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/generation/MinecraftChunkGeneratorWrapper.java b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/generation/MinecraftChunkGeneratorWrapper.java index b6e4b4818..233ec9285 100644 --- a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/generation/MinecraftChunkGeneratorWrapper.java +++ b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/generation/MinecraftChunkGeneratorWrapper.java @@ -17,11 +17,6 @@ package com.dfsek.terra.mod.generation; -import com.dfsek.terra.api.util.ConstantRange; -import com.dfsek.terra.api.util.Range; -import com.dfsek.terra.mod.config.VanillaBiomeProperties; -import com.dfsek.terra.mod.config.VanillaWorldProperties; - import com.mojang.serialization.Codec; import net.minecraft.block.BlockState; import net.minecraft.block.Blocks; @@ -44,7 +39,6 @@ import net.minecraft.world.gen.GenerationStep.Carver; import net.minecraft.world.gen.StructureAccessor; import net.minecraft.world.gen.StructureWeightSampler; import net.minecraft.world.gen.chunk.Blender; -import net.minecraft.world.gen.chunk.ChunkGeneratorSettings; import net.minecraft.world.gen.chunk.VerticalBlockSample; import net.minecraft.world.gen.densityfunction.DensityFunction.UnblendedNoisePos; import net.minecraft.world.gen.noise.NoiseConfig; diff --git a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/handle/MinecraftWorldHandle.java b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/handle/MinecraftWorldHandle.java index bc00f3a12..db7abc56d 100644 --- a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/handle/MinecraftWorldHandle.java +++ b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/handle/MinecraftWorldHandle.java @@ -64,8 +64,8 @@ public class MinecraftWorldHandle implements WorldHandle { @Override public @NotNull EntityType getEntity(@NotNull String id) { - if (!id.contains(":")) { //TODO: remove in 7.0 - String newid = "minecraft:" + id.toLowerCase();; + if(!id.contains(":")) { //TODO: remove in 7.0 + String newid = "minecraft:" + id.toLowerCase(); logger.warn( "Translating " + id + " to " + newid + ". In 1.20.3 entity parsing was reworked" + ". You are advised to preform this rename in your config packs as this translation will be removed in the next major " + diff --git a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/implmentation/TerraIntProvider.java b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/implmentation/TerraIntProvider.java index dd5d51687..764d77c1e 100644 --- a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/implmentation/TerraIntProvider.java +++ b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/implmentation/TerraIntProvider.java @@ -1,9 +1,5 @@ package com.dfsek.terra.mod.implmentation; -import com.dfsek.terra.api.util.Range; - -import com.dfsek.terra.mod.util.MinecraftAdapter; - import net.minecraft.util.math.intprovider.IntProvider; import net.minecraft.util.math.intprovider.IntProviderType; import net.minecraft.util.math.random.Random; @@ -11,31 +7,34 @@ import net.minecraft.util.math.random.Random; import java.util.HashMap; import java.util.Map; +import com.dfsek.terra.api.util.Range; +import com.dfsek.terra.mod.util.MinecraftAdapter; + public class TerraIntProvider extends IntProvider { public static final Map TERRA_RANGE_TYPE_TO_INT_PROVIDER_TYPE = new HashMap<>(); - + public Range delegate; - + public TerraIntProvider(Range delegate) { this.delegate = delegate; } - + @Override public int get(Random random) { return delegate.get(MinecraftAdapter.adapt(random)); } - + @Override public int getMin() { return delegate.getMin(); } - + @Override public int getMax() { return delegate.getMax(); } - + @Override public IntProviderType getType() { return TERRA_RANGE_TYPE_TO_INT_PROVIDER_TYPE.get(delegate.getClass()); diff --git a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/implementations/terra/block/entity/MobSpawnerBlockEntityMixin.java b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/implementations/terra/block/entity/MobSpawnerBlockEntityMixin.java index ccc8b738a..8afb39d16 100644 --- a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/implementations/terra/block/entity/MobSpawnerBlockEntityMixin.java +++ b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/implementations/terra/block/entity/MobSpawnerBlockEntityMixin.java @@ -59,7 +59,7 @@ public abstract class MobSpawnerBlockEntityMixin extends BlockEntity { public void terra$setSpawnedType(@NotNull EntityType creatureType) { Random rand; - if (hasWorld()) { + if(hasWorld()) { rand = world.getRandom(); } else { rand = Random.create(); diff --git a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/lifecycle/DataPackContentsMixin.java b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/lifecycle/DataPackContentsMixin.java index d892153bd..48ea98519 100644 --- a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/lifecycle/DataPackContentsMixin.java +++ b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/lifecycle/DataPackContentsMixin.java @@ -3,8 +3,6 @@ package com.dfsek.terra.mod.mixin.lifecycle; import net.minecraft.registry.DynamicRegistryManager; import net.minecraft.registry.Registry; import net.minecraft.registry.RegistryKeys; -import com.dfsek.terra.mod.util.MinecraftUtil; - import net.minecraft.server.DataPackContents; import net.minecraft.world.biome.Biome; import org.spongepowered.asm.mixin.Mixin; diff --git a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/util/DimensionUtil.java b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/util/DimensionUtil.java index cb3afeb50..03ff2243e 100644 --- a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/util/DimensionUtil.java +++ b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/util/DimensionUtil.java @@ -1,34 +1,25 @@ package com.dfsek.terra.mod.util; -import com.dfsek.terra.api.config.ConfigPack; -import com.dfsek.terra.mod.ModPlatform; -import com.dfsek.terra.mod.config.MonsterSettingsConfig; -import com.dfsek.terra.mod.config.VanillaBiomeProperties; -import com.dfsek.terra.mod.config.VanillaWorldProperties; - -import com.dfsek.terra.mod.implmentation.TerraIntProvider; - -import net.minecraft.registry.BuiltinRegistries; -import net.minecraft.registry.Registries; -import net.minecraft.registry.Registry; -import net.minecraft.registry.RegistryKey; import net.minecraft.registry.RegistryKeys; import net.minecraft.registry.tag.TagKey; -import net.minecraft.util.Identifier; - -import net.minecraft.world.dimension.DimensionOptions; import net.minecraft.world.dimension.DimensionType; import net.minecraft.world.dimension.DimensionType.MonsterSettings; import org.jetbrains.annotations.NotNull; import java.util.OptionalLong; +import com.dfsek.terra.mod.ModPlatform; +import com.dfsek.terra.mod.config.MonsterSettingsConfig; +import com.dfsek.terra.mod.config.VanillaWorldProperties; +import com.dfsek.terra.mod.implmentation.TerraIntProvider; + public class DimensionUtil { - public static DimensionType createDimension(VanillaWorldProperties vanillaWorldProperties, DimensionType defaultDimension, ModPlatform platform) { + public static DimensionType createDimension(VanillaWorldProperties vanillaWorldProperties, DimensionType defaultDimension, + ModPlatform platform) { MonsterSettingsConfig monsterSettingsConfig; - if (vanillaWorldProperties.getMonsterSettings() != null) { + if(vanillaWorldProperties.getMonsterSettings() != null) { monsterSettingsConfig = vanillaWorldProperties.getMonsterSettings(); } else { monsterSettingsConfig = new MonsterSettingsConfig(); @@ -43,13 +34,21 @@ public class DimensionUtil { vanillaWorldProperties.getHasCeiling() == null ? defaultDimension.hasCeiling() : vanillaWorldProperties.getHasCeiling(), vanillaWorldProperties.getUltraWarm() == null ? defaultDimension.ultrawarm() : vanillaWorldProperties.getUltraWarm(), vanillaWorldProperties.getNatural() == null ? defaultDimension.natural() : vanillaWorldProperties.getNatural(), - vanillaWorldProperties.getCoordinateScale() == null ? defaultDimension.coordinateScale() : vanillaWorldProperties.getCoordinateScale(), + vanillaWorldProperties.getCoordinateScale() == null + ? defaultDimension.coordinateScale() + : vanillaWorldProperties.getCoordinateScale(), vanillaWorldProperties.getBedWorks() == null ? defaultDimension.bedWorks() : vanillaWorldProperties.getBedWorks(), - vanillaWorldProperties.getRespawnAnchorWorks() == null ? defaultDimension.respawnAnchorWorks() : vanillaWorldProperties.getRespawnAnchorWorks(), + vanillaWorldProperties.getRespawnAnchorWorks() == null + ? defaultDimension.respawnAnchorWorks() + : vanillaWorldProperties.getRespawnAnchorWorks(), vanillaWorldProperties.getHeight() == null ? defaultDimension.minY() : vanillaWorldProperties.getHeight().getMin(), vanillaWorldProperties.getHeight() == null ? defaultDimension.height() : vanillaWorldProperties.getHeight().getRange(), - vanillaWorldProperties.getLogicalHeight() == null ? defaultDimension.logicalHeight() : vanillaWorldProperties.getLogicalHeight(), - vanillaWorldProperties.getInfiniburn() == null ? defaultDimension.infiniburn() : TagKey.of(RegistryKeys.BLOCK, vanillaWorldProperties.getInfiniburn()), + vanillaWorldProperties.getLogicalHeight() == null + ? defaultDimension.logicalHeight() + : vanillaWorldProperties.getLogicalHeight(), + vanillaWorldProperties.getInfiniburn() == null + ? defaultDimension.infiniburn() + : TagKey.of(RegistryKeys.BLOCK, vanillaWorldProperties.getInfiniburn()), vanillaWorldProperties.getEffects() == null ? defaultDimension.effects() : vanillaWorldProperties.getEffects(), vanillaWorldProperties.getAmbientLight() == null ? defaultDimension.ambientLight() : vanillaWorldProperties.getAmbientLight(), monsterSettings @@ -66,7 +65,9 @@ public class DimensionUtil { monsterSettingsConfig.getHasRaids() == null ? defaultMonsterSettings.hasRaids() : monsterSettingsConfig.getHasRaids(), monsterSettingsConfig.getMonsterSpawnLight() == null ? defaultMonsterSettings.monsterSpawnLightTest() : new TerraIntProvider( monsterSettingsConfig.getMonsterSpawnLight()), - monsterSettingsConfig.getMonsterSpawnBlockLightLimit() == null ? defaultMonsterSettings.monsterSpawnBlockLightLimit() : monsterSettingsConfig.getMonsterSpawnBlockLightLimit() + monsterSettingsConfig.getMonsterSpawnBlockLightLimit() == null + ? defaultMonsterSettings.monsterSpawnBlockLightLimit() + : monsterSettingsConfig.getMonsterSpawnBlockLightLimit() ); return monsterSettings; } diff --git a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/util/MinecraftAdapter.java b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/util/MinecraftAdapter.java index 973861bd3..b0fdb9564 100644 --- a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/util/MinecraftAdapter.java +++ b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/util/MinecraftAdapter.java @@ -21,11 +21,11 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.random.Random; import net.minecraft.world.HeightLimitView; +import java.util.random.RandomGenerator; + import com.dfsek.terra.api.util.vector.Vector3; import com.dfsek.terra.api.world.info.WorldProperties; -import java.util.random.RandomGenerator; - public final class MinecraftAdapter { @@ -56,44 +56,44 @@ public final class MinecraftAdapter { } }; } - + public static RandomGenerator adapt(Random random) { return new RandomGenerator() { @Override public boolean nextBoolean() { return random.nextBoolean(); } - + @Override public float nextFloat() { return random.nextFloat(); } - + @Override public double nextDouble() { return random.nextDouble(); } - + @Override public int nextInt() { return random.nextInt(); } - + @Override public int nextInt(int bound) { return random.nextInt(bound); } - + @Override public long nextLong() { return random.nextLong(); } - + @Override public double nextGaussian() { return random.nextGaussian(); } - + @Override public int nextInt(int origin, int bound) { return random.nextBetween(origin, bound); diff --git a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/util/MinecraftUtil.java b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/util/MinecraftUtil.java index f1c2031b8..bd7428742 100644 --- a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/util/MinecraftUtil.java +++ b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/util/MinecraftUtil.java @@ -1,10 +1,5 @@ package com.dfsek.terra.mod.util; -import com.dfsek.terra.api.util.ConstantRange; -import com.dfsek.terra.mod.data.Codecs; - -import com.dfsek.terra.mod.implmentation.TerraIntProvider; - import net.minecraft.block.entity.LootableContainerBlockEntity; import net.minecraft.block.entity.MobSpawnerBlockEntity; import net.minecraft.block.entity.SignBlockEntity; @@ -15,14 +10,11 @@ import net.minecraft.registry.RegistryKeys; import net.minecraft.registry.entry.RegistryEntry; import net.minecraft.util.Identifier; import net.minecraft.util.math.BlockPos; - import net.minecraft.util.math.intprovider.IntProviderType; - import net.minecraft.world.WorldAccess; import net.minecraft.world.biome.Biome; import net.minecraft.world.biome.Biome.Builder; import net.minecraft.world.biome.BiomeEffects; - import net.minecraft.world.biome.GenerationSettings; import net.minecraft.world.dimension.DimensionType; import net.minecraft.world.gen.feature.ConfiguredFeature; @@ -41,7 +33,10 @@ import com.dfsek.terra.api.block.entity.Container; import com.dfsek.terra.api.block.entity.MobSpawner; import com.dfsek.terra.api.block.entity.Sign; import com.dfsek.terra.api.config.ConfigPack; +import com.dfsek.terra.api.util.ConstantRange; import com.dfsek.terra.mod.config.VanillaBiomeProperties; +import com.dfsek.terra.mod.data.Codecs; +import com.dfsek.terra.mod.implmentation.TerraIntProvider; import com.dfsek.terra.mod.mixin.access.BiomeAccessor; import com.dfsek.terra.mod.mixin_ifaces.FloraFeatureHolder; @@ -102,14 +97,14 @@ public final class MinecraftUtil { return Map.copyOf(TERRA_BIOME_MAP); } - + public static void registerIntProviderTypes() { IntProviderType CONSTANT = IntProviderType.register("terra:constant_range", - Codecs.TERRA_CONSTANT_RANGE_INT_PROVIDER_TYPE); - + Codecs.TERRA_CONSTANT_RANGE_INT_PROVIDER_TYPE); + TerraIntProvider.TERRA_RANGE_TYPE_TO_INT_PROVIDER_TYPE.put(ConstantRange.class, CONSTANT); } - + public static RegistryKey registerBiomeKey(Identifier identifier) { return RegistryKey.of(RegistryKeys.BIOME, identifier); } diff --git a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/util/PresetUtil.java b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/util/PresetUtil.java index aa521ef17..3aa6e9ba3 100644 --- a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/util/PresetUtil.java +++ b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/util/PresetUtil.java @@ -1,22 +1,22 @@ package com.dfsek.terra.mod.util; -import com.dfsek.terra.api.util.ConstantRange; -import com.dfsek.terra.mod.config.VanillaWorldProperties; - -import com.dfsek.terra.mod.generation.GenerationSettings; - import net.minecraft.registry.Registry; import net.minecraft.registry.RegistryKey; import net.minecraft.registry.RegistryKeys; import net.minecraft.registry.entry.RegistryEntry; import net.minecraft.util.Identifier; import net.minecraft.world.biome.Biome; +import net.minecraft.world.biome.source.MultiNoiseBiomeSource; +import net.minecraft.world.biome.source.MultiNoiseBiomeSourceParameterList; +import net.minecraft.world.biome.source.MultiNoiseBiomeSourceParameterLists; +import net.minecraft.world.biome.source.TheEndBiomeSource; import net.minecraft.world.dimension.DimensionOptions; import net.minecraft.world.dimension.DimensionType; import net.minecraft.world.dimension.DimensionTypes; import net.minecraft.world.gen.WorldPreset; import net.minecraft.world.gen.chunk.ChunkGenerator; import net.minecraft.world.gen.chunk.ChunkGeneratorSettings; +import net.minecraft.world.gen.chunk.NoiseChunkGenerator; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -27,17 +27,14 @@ import java.util.Locale; import com.dfsek.terra.api.config.ConfigPack; import com.dfsek.terra.api.config.MetaPack; +import com.dfsek.terra.api.util.ConstantRange; import com.dfsek.terra.api.util.generic.pair.Pair; import com.dfsek.terra.mod.ModPlatform; +import com.dfsek.terra.mod.config.VanillaWorldProperties; +import com.dfsek.terra.mod.generation.GenerationSettings; import com.dfsek.terra.mod.generation.MinecraftChunkGeneratorWrapper; import com.dfsek.terra.mod.generation.TerraBiomeSource; -import net.minecraft.world.biome.source.MultiNoiseBiomeSource; -import net.minecraft.world.biome.source.MultiNoiseBiomeSourceParameterList; -import net.minecraft.world.biome.source.MultiNoiseBiomeSourceParameterLists; -import net.minecraft.world.biome.source.TheEndBiomeSource; -import net.minecraft.world.gen.chunk.NoiseChunkGenerator; - public class PresetUtil { private static final Logger LOGGER = LoggerFactory.getLogger(PresetUtil.class); @@ -59,7 +56,8 @@ public class PresetUtil { insertCustom(platform, "minecraft:overworld", pack, dimensionTypeRegistry, chunkGeneratorSettingsRegistry, dimensionMap); - insertDefaults(dimensionTypeRegistry, chunkGeneratorSettingsRegistry, multiNoiseBiomeSourceParameterLists, platform.biomeRegistry(), dimensionMap); + insertDefaults(dimensionTypeRegistry, chunkGeneratorSettingsRegistry, multiNoiseBiomeSourceParameterLists, platform.biomeRegistry(), + dimensionMap); WorldPreset preset = new WorldPreset(dimensionMap); LOGGER.info("Created world type \"{}\"", generatorID); @@ -72,8 +70,9 @@ public class PresetUtil { Registry multiNoiseBiomeSourceParameterLists = platform.multiNoiseBiomeSourceParameterListRegistry(); - Identifier generatorID = Identifier.of("terra", metaPack.getID().toLowerCase(Locale.ROOT) + "/" + metaPack.getNamespace().toLowerCase( - Locale.ROOT)); + Identifier generatorID = Identifier.of("terra", + metaPack.getID().toLowerCase(Locale.ROOT) + "/" + metaPack.getNamespace().toLowerCase( + Locale.ROOT)); PRESETS.add(generatorID); @@ -83,7 +82,8 @@ public class PresetUtil { insertCustom(platform, key, pack, dimensionTypeRegistry, chunkGeneratorSettingsRegistry, dimensionMap); }); - insertDefaults(dimensionTypeRegistry, chunkGeneratorSettingsRegistry, multiNoiseBiomeSourceParameterLists, platform.biomeRegistry(), dimensionMap); + insertDefaults(dimensionTypeRegistry, chunkGeneratorSettingsRegistry, multiNoiseBiomeSourceParameterLists, platform.biomeRegistry(), + dimensionMap); WorldPreset preset = new WorldPreset(dimensionMap); LOGGER.info("Created world type \"{}\"", generatorID); @@ -97,7 +97,7 @@ public class PresetUtil { VanillaWorldProperties vanillaWorldProperties; - if (pack.getContext().has(VanillaWorldProperties.class)) { + if(pack.getContext().has(VanillaWorldProperties.class)) { vanillaWorldProperties = pack.getContext().get(VanillaWorldProperties.class); } else { vanillaWorldProperties = new VanillaWorldProperties(); @@ -108,8 +108,9 @@ public class PresetUtil { assert defaultDimension != null; DimensionType dimensionType = DimensionUtil.createDimension(vanillaWorldProperties, defaultDimension, platform); - RegistryKey dimensionTypeRegistryKey = MinecraftUtil.registerDimensionTypeKey(new Identifier("terra", pack.getID().toLowerCase( - Locale.ROOT))); + RegistryKey dimensionTypeRegistryKey = MinecraftUtil.registerDimensionTypeKey( + new Identifier("terra", pack.getID().toLowerCase( + Locale.ROOT))); Registry.registerReference(dimensionTypeRegistry, dimensionTypeRegistryKey, dimensionType); @@ -117,12 +118,19 @@ public class PresetUtil { TerraBiomeSource biomeSource = new TerraBiomeSource(pack); - RegistryEntry defaultGeneratorSettings = chunkGeneratorSettingsRegistry.getEntry(chunkGeneratorSettingsRegistry.get(new Identifier(vanillaWorldProperties.getVanillaGeneration()))); + RegistryEntry defaultGeneratorSettings = chunkGeneratorSettingsRegistry.getEntry( + chunkGeneratorSettingsRegistry.get(new Identifier(vanillaWorldProperties.getVanillaGeneration()))); GenerationSettings generatorSettings = new GenerationSettings( - vanillaWorldProperties.getHeight() == null ? new ConstantRange(defaultGeneratorSettings.value().generationShapeConfig().minimumY(), defaultGeneratorSettings.value().generationShapeConfig().height()) : vanillaWorldProperties.getHeight(), - vanillaWorldProperties.getSealevel() == null ? defaultGeneratorSettings.value().seaLevel() : vanillaWorldProperties.getSealevel(), - vanillaWorldProperties.getMobGeneration() == null ? !defaultGeneratorSettings.value().mobGenerationDisabled() : vanillaWorldProperties.getMobGeneration()); + vanillaWorldProperties.getHeight() == null ? new ConstantRange( + defaultGeneratorSettings.value().generationShapeConfig().minimumY(), + defaultGeneratorSettings.value().generationShapeConfig().height()) : vanillaWorldProperties.getHeight(), + vanillaWorldProperties.getSealevel() == null + ? defaultGeneratorSettings.value().seaLevel() + : vanillaWorldProperties.getSealevel(), + vanillaWorldProperties.getMobGeneration() == null + ? !defaultGeneratorSettings.value().mobGenerationDisabled() + : vanillaWorldProperties.getMobGeneration()); ChunkGenerator generator = new MinecraftChunkGeneratorWrapper(biomeSource, pack, generatorSettings); @@ -131,41 +139,52 @@ public class PresetUtil { dimensionMap.put(dimensionOptionsRegistryKey, dimensionOptions); } - private static void insertDefaults(Registry dimensionTypeRegistry, Registry chunkGeneratorSettingsRegistry, Registry multiNoiseBiomeSourceParameterLists, Registry biomeRegistry, HashMap, DimensionOptions> map) { - if (!map.containsKey(DimensionOptions.OVERWORLD)) { + private static void insertDefaults(Registry dimensionTypeRegistry, + Registry chunkGeneratorSettingsRegistry, + Registry multiNoiseBiomeSourceParameterLists, + Registry biomeRegistry, HashMap, DimensionOptions> map) { + if(!map.containsKey(DimensionOptions.OVERWORLD)) { RegistryEntry overworldDimensionType = dimensionTypeRegistry.getEntry(DimensionTypes.OVERWORLD).orElseThrow(); - RegistryEntry.Reference overworldChunkBiomeReference = multiNoiseBiomeSourceParameterLists.getEntry( - MultiNoiseBiomeSourceParameterLists.OVERWORLD).orElseThrow(); + RegistryEntry.Reference overworldChunkBiomeReference = + multiNoiseBiomeSourceParameterLists.getEntry( + MultiNoiseBiomeSourceParameterLists.OVERWORLD).orElseThrow(); - RegistryEntry overworldChunkGeneratorSettings = chunkGeneratorSettingsRegistry.getEntry(ChunkGeneratorSettings.OVERWORLD) + RegistryEntry overworldChunkGeneratorSettings = chunkGeneratorSettingsRegistry.getEntry( + ChunkGeneratorSettings.OVERWORLD) .orElseThrow(); - DimensionOptions overworldDimensionOptions = new DimensionOptions(overworldDimensionType, (new NoiseChunkGenerator(MultiNoiseBiomeSource.create(overworldChunkBiomeReference), overworldChunkGeneratorSettings))); + DimensionOptions overworldDimensionOptions = new DimensionOptions(overworldDimensionType, + (new NoiseChunkGenerator(MultiNoiseBiomeSource.create(overworldChunkBiomeReference), overworldChunkGeneratorSettings))); map.put(DimensionOptions.OVERWORLD, overworldDimensionOptions); } - if (!map.containsKey(DimensionOptions.NETHER)) { + if(!map.containsKey(DimensionOptions.NETHER)) { RegistryEntry netherDimensionType = dimensionTypeRegistry.getEntry(DimensionTypes.THE_NETHER).orElseThrow(); - RegistryEntry.Reference netherChunkBiomeReference = multiNoiseBiomeSourceParameterLists.getEntry( - MultiNoiseBiomeSourceParameterLists.NETHER).orElseThrow(); + RegistryEntry.Reference netherChunkBiomeReference = + multiNoiseBiomeSourceParameterLists.getEntry( + MultiNoiseBiomeSourceParameterLists.NETHER).orElseThrow(); - RegistryEntry netherChunkGeneratorSettings = chunkGeneratorSettingsRegistry.getEntry(ChunkGeneratorSettings.NETHER) + RegistryEntry netherChunkGeneratorSettings = chunkGeneratorSettingsRegistry.getEntry( + ChunkGeneratorSettings.NETHER) .orElseThrow(); - DimensionOptions overworldDimensionOptions = new DimensionOptions(netherDimensionType, (new NoiseChunkGenerator(MultiNoiseBiomeSource.create(netherChunkBiomeReference), netherChunkGeneratorSettings))); + DimensionOptions overworldDimensionOptions = new DimensionOptions(netherDimensionType, + (new NoiseChunkGenerator(MultiNoiseBiomeSource.create(netherChunkBiomeReference), netherChunkGeneratorSettings))); map.put(DimensionOptions.NETHER, overworldDimensionOptions); } - if (!map.containsKey(DimensionOptions.END)) { + if(!map.containsKey(DimensionOptions.END)) { RegistryEntry endDimensionType = dimensionTypeRegistry.getEntry(DimensionTypes.THE_END).orElseThrow(); - RegistryEntry endChunkGeneratorSettings = chunkGeneratorSettingsRegistry.getEntry(ChunkGeneratorSettings.END) + RegistryEntry endChunkGeneratorSettings = chunkGeneratorSettingsRegistry.getEntry( + ChunkGeneratorSettings.END) .orElseThrow(); - DimensionOptions overworldDimensionOptions = new DimensionOptions(endDimensionType, (new NoiseChunkGenerator(TheEndBiomeSource.createVanilla(biomeRegistry.getReadOnlyWrapper()), endChunkGeneratorSettings))); + DimensionOptions overworldDimensionOptions = new DimensionOptions(endDimensionType, + (new NoiseChunkGenerator(TheEndBiomeSource.createVanilla(biomeRegistry.getReadOnlyWrapper()), endChunkGeneratorSettings))); map.put(DimensionOptions.END, overworldDimensionOptions); } } diff --git a/platforms/mixin-lifecycle/src/main/java/com/dfsek/terra/lifecycle/LifecyclePlatform.java b/platforms/mixin-lifecycle/src/main/java/com/dfsek/terra/lifecycle/LifecyclePlatform.java index 2cde477f3..50559b6a4 100644 --- a/platforms/mixin-lifecycle/src/main/java/com/dfsek/terra/lifecycle/LifecyclePlatform.java +++ b/platforms/mixin-lifecycle/src/main/java/com/dfsek/terra/lifecycle/LifecyclePlatform.java @@ -5,14 +5,11 @@ import ca.solostudios.strata.parser.tokenizer.ParseException; import ca.solostudios.strata.version.Version; import net.minecraft.MinecraftVersion; import net.minecraft.registry.DynamicRegistryManager; -import net.minecraft.registry.Registries; import net.minecraft.registry.Registry; import net.minecraft.registry.RegistryKeys; import net.minecraft.server.MinecraftServer; import net.minecraft.world.biome.Biome; import net.minecraft.world.biome.source.MultiNoiseBiomeSourceParameterList; -import net.minecraft.world.dimension.DimensionOptions; -import net.minecraft.world.dimension.DimensionOptionsRegistryHolder; import net.minecraft.world.dimension.DimensionType; import net.minecraft.world.gen.chunk.ChunkGeneratorSettings; import org.slf4j.Logger; diff --git a/platforms/mixin-lifecycle/src/main/java/com/dfsek/terra/lifecycle/mixin/lifecycle/RegistryLoaderMixin.java b/platforms/mixin-lifecycle/src/main/java/com/dfsek/terra/lifecycle/mixin/lifecycle/RegistryLoaderMixin.java index 98dee4b40..052598ac2 100644 --- a/platforms/mixin-lifecycle/src/main/java/com/dfsek/terra/lifecycle/mixin/lifecycle/RegistryLoaderMixin.java +++ b/platforms/mixin-lifecycle/src/main/java/com/dfsek/terra/lifecycle/mixin/lifecycle/RegistryLoaderMixin.java @@ -7,7 +7,6 @@ import net.minecraft.registry.RegistryKey; import net.minecraft.registry.RegistryKeys; import net.minecraft.registry.RegistryLoader; import net.minecraft.world.biome.source.MultiNoiseBiomeSourceParameterList; -import net.minecraft.world.dimension.DimensionOptions; import net.minecraft.world.dimension.DimensionType; import net.minecraft.world.gen.WorldPreset; import net.minecraft.world.gen.chunk.ChunkGeneratorSettings; diff --git a/platforms/mixin-lifecycle/src/main/java/com/dfsek/terra/lifecycle/util/RegistryUtil.java b/platforms/mixin-lifecycle/src/main/java/com/dfsek/terra/lifecycle/util/RegistryUtil.java index 37df0eead..195915fe9 100644 --- a/platforms/mixin-lifecycle/src/main/java/com/dfsek/terra/lifecycle/util/RegistryUtil.java +++ b/platforms/mixin-lifecycle/src/main/java/com/dfsek/terra/lifecycle/util/RegistryUtil.java @@ -2,11 +2,10 @@ package com.dfsek.terra.lifecycle.util; import net.minecraft.registry.Registries; import net.minecraft.registry.Registry; -import com.dfsek.terra.mod.util.MinecraftUtil; - import net.minecraft.util.Identifier; import com.dfsek.terra.mod.data.Codecs; +import com.dfsek.terra.mod.util.MinecraftUtil; public final class RegistryUtil {