From 1c4878e208d85b26f8036b34b9b843c7a8d97caf Mon Sep 17 00:00:00 2001 From: Frank Date: Tue, 12 Sep 2023 13:59:02 +0200 Subject: [PATCH] [Change] Removed unused interfaces --- .../bclib/api/v2/generator/BiomePicker.java | 189 ------------------ .../v2/levelgen/biomes/BCLBiomeSettings.java | 7 - .../betterx/bclib/interfaces/BiomeChunk.java | 9 - .../betterx/bclib/interfaces/BiomeMap.java | 10 - .../betterx/bclib/interfaces/BiomeSetter.java | 8 - .../bclib/interfaces/BiomeSourceAccessor.java | 5 - .../interfaces/ChunkGeneratorAccessor.java | 8 - .../bclib/interfaces/SettingsExtender.java | 8 - .../bclib/interfaces/SurfaceProvider.java | 11 - .../interfaces/TheEndBiomesAccessor.java | 23 --- .../interfaces/TileEntityRenderProvider.java | 5 - .../bclib/mixin/common/BiomeSourceMixin.java | 25 --- .../mixin/common/ChunkGeneratorMixin.java | 10 +- src/main/resources/bclib.mixins.common.json | 1 - 14 files changed, 1 insertion(+), 318 deletions(-) delete mode 100644 src/main/java/org/betterx/bclib/api/v2/generator/BiomePicker.java delete mode 100644 src/main/java/org/betterx/bclib/interfaces/BiomeChunk.java delete mode 100644 src/main/java/org/betterx/bclib/interfaces/BiomeMap.java delete mode 100644 src/main/java/org/betterx/bclib/interfaces/BiomeSetter.java delete mode 100644 src/main/java/org/betterx/bclib/interfaces/BiomeSourceAccessor.java delete mode 100644 src/main/java/org/betterx/bclib/interfaces/ChunkGeneratorAccessor.java delete mode 100644 src/main/java/org/betterx/bclib/interfaces/SettingsExtender.java delete mode 100644 src/main/java/org/betterx/bclib/interfaces/SurfaceProvider.java delete mode 100644 src/main/java/org/betterx/bclib/interfaces/TheEndBiomesAccessor.java delete mode 100644 src/main/java/org/betterx/bclib/interfaces/TileEntityRenderProvider.java delete mode 100644 src/main/java/org/betterx/bclib/mixin/common/BiomeSourceMixin.java diff --git a/src/main/java/org/betterx/bclib/api/v2/generator/BiomePicker.java b/src/main/java/org/betterx/bclib/api/v2/generator/BiomePicker.java deleted file mode 100644 index 213c462c..00000000 --- a/src/main/java/org/betterx/bclib/api/v2/generator/BiomePicker.java +++ /dev/null @@ -1,189 +0,0 @@ -package org.betterx.bclib.api.v2.generator; - -import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiome; -import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeRegistry; -import org.betterx.bclib.util.WeighTree; -import org.betterx.bclib.util.WeightedList; -import org.betterx.worlds.together.world.event.WorldBootstrap; - -import net.minecraft.core.Holder; -import net.minecraft.core.HolderGetter; -import net.minecraft.core.Registry; -import net.minecraft.core.registries.Registries; -import net.minecraft.resources.ResourceKey; -import net.minecraft.world.level.biome.Biome; -import net.minecraft.world.level.levelgen.WorldgenRandom; - -import com.google.common.collect.Lists; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; - -public class BiomePicker { - private final Map all = new HashMap<>(); - public final HolderGetter biomeRegistry; - private final List biomes = Lists.newArrayList(); - private final List allowedBiomes; - public final ActualBiome fallbackBiome; - private WeighTree tree; - - BiomePicker() { - this(WorldBootstrap.getLastRegistryAccess() == null - ? null - : WorldBootstrap.getLastRegistryAccess().registry(Registries.BIOME).orElse(null)); - } - - public BiomePicker(Registry biomeRegistry) { - this(biomeRegistry != null ? biomeRegistry.asLookup() : null, null); - } - - public BiomePicker(HolderGetter biomeRegistry) { - this(biomeRegistry, null); - } - - public BiomePicker(HolderGetter biomeRegistry, List> allowedBiomes) { - this.biomeRegistry = biomeRegistry; - this.allowedBiomes = allowedBiomes != null ? allowedBiomes - .stream() - .map(h -> h.unwrapKey()) - .filter(o -> o.isPresent()) - .map(o -> o.get().location().toString()).toList() : null; - this.fallbackBiome = create(BCLBiomeRegistry.EMPTY_BIOME); - } - - private boolean isAllowed(BCLBiome b) { - if (allowedBiomes == null) return true; - return allowedBiomes.contains(b.getID().toString()); - } - - private ActualBiome create(BCLBiome bclBiome) { - ActualBiome e = all.get(bclBiome); - if (e != null) return e; - return new ActualBiome(bclBiome); - } - - public void addBiome(BCLBiome biome) { - biomes.add(create(biome)); - } - - public ActualBiome getBiome(WorldgenRandom random) { - return biomes.isEmpty() ? fallbackBiome : tree.get(random); - } - - public boolean isEmpty() { - return biomes.isEmpty(); - } - - public void rebuild() { - WeightedList list = new WeightedList<>(); - - biomes.forEach(biome -> { - if (biome.isValid) - list.add(biome, biome.bclBiome.settings.getGenChance()); - }); - //only a single biome, we need to add the edges as well - if (list.size() == 1) { - ActualBiome biome = list.get(0); - - if (biome.getEdge() != null) { - float defaultBiomeSize = 128; - float edgeSize = (biome.bclBiome.settings.getEdgeSize() * list.getWeight(0)) / defaultBiomeSize; - list.add(biome.getEdge(), edgeSize); - } - } - - //no Biome, make sure we add at least one, otherwise bad things will happen - if (list.isEmpty()) { - list.add(create(BCLBiomeRegistry.EMPTY_BIOME), 1); - } - - - tree = new WeighTree<>(list); - } - - public class ActualBiome { - public final BCLBiome bclBiome; - public final Holder biome; - public final ResourceKey key; - - private final WeightedList subbiomes = new WeightedList<>(); - private final ActualBiome edge; - private final ActualBiome parent; - public final boolean isValid; - - private ActualBiome(BCLBiome bclBiome) { - all.put(bclBiome, this); - this.bclBiome = bclBiome; - - this.key = ResourceKey.create( - Registries.BIOME, - bclBiome.getID() - ); - this.biome = (key != null && biomeRegistry != null) ? biomeRegistry.getOrThrow(key) : null; - this.isValid = key != null && biome != null && biome.isBound() && biomeRegistry.get(key).isPresent(); - bclBiome.forEachSubBiome((b, w) -> { - if (isAllowed(b)) - subbiomes.add(create(b), w); - }); - - if (bclBiome.hasEdge() && isAllowed(bclBiome.getEdge())) { - edge = create(bclBiome.getEdge()); - } else { - edge = null; - } - - parent = bclBiome.getParentBiome() != null ? create(bclBiome.getParentBiome()) : null; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - ActualBiome entry = (ActualBiome) o; - return bclBiome.equals(entry.bclBiome); - } - - @Override - public int hashCode() { - return Objects.hash(bclBiome); - } - - public ActualBiome getSubBiome(WorldgenRandom random) { - return subbiomes.get(random); - } - - public ActualBiome getEdge() { - return edge; - } - - public ActualBiome getParentBiome() { - return parent; - } - - public boolean isSame(ActualBiome e) { - return bclBiome.isSame(e.bclBiome); - } - - @Override - public String toString() { - return "ActualBiome{" + - "key=" + key.location() + - ", subbiomes=" + subbiomes.size() + - ", edge=" + (edge != null ? edge.key.location() : "null") + - ", parent=" + (parent != null ? parent.key.location() : "null") + - ", isValid=" + isValid + - '}'; - } - } - - @Override - public String toString() { - return "BiomePicker{" + - "biomes=" + biomes.size() + " (" + all.size() + ")" + - ", biomeRegistry=" + biomeRegistry + - ", type=" + super.toString() + - '}'; - } -} diff --git a/src/main/java/org/betterx/bclib/api/v2/levelgen/biomes/BCLBiomeSettings.java b/src/main/java/org/betterx/bclib/api/v2/levelgen/biomes/BCLBiomeSettings.java index 558acde2..f9762069 100644 --- a/src/main/java/org/betterx/bclib/api/v2/levelgen/biomes/BCLBiomeSettings.java +++ b/src/main/java/org/betterx/bclib/api/v2/levelgen/biomes/BCLBiomeSettings.java @@ -1,7 +1,5 @@ package org.betterx.bclib.api.v2.levelgen.biomes; -import org.betterx.bclib.api.v2.generator.BiomePicker; - public class BCLBiomeSettings { public static Builder createBCL() { return new Builder(); @@ -118,11 +116,6 @@ public class BCLBiomeSettings { boolean vertical; - /** - * Getter for biome generation chance, used in {@link BiomePicker} and in custom generators. - * - * @return biome generation chance as float. - */ public float getGenChance() { return this.genChance; } diff --git a/src/main/java/org/betterx/bclib/interfaces/BiomeChunk.java b/src/main/java/org/betterx/bclib/interfaces/BiomeChunk.java deleted file mode 100644 index 66752937..00000000 --- a/src/main/java/org/betterx/bclib/interfaces/BiomeChunk.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.betterx.bclib.interfaces; - -import org.betterx.bclib.api.v2.generator.BiomePicker; - -public interface BiomeChunk { - void setBiome(int x, int z, BiomePicker.ActualBiome biome); - BiomePicker.ActualBiome getBiome(int x, int z); - int getSide(); -} diff --git a/src/main/java/org/betterx/bclib/interfaces/BiomeMap.java b/src/main/java/org/betterx/bclib/interfaces/BiomeMap.java deleted file mode 100644 index 2dd82747..00000000 --- a/src/main/java/org/betterx/bclib/interfaces/BiomeMap.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.betterx.bclib.interfaces; - -import org.betterx.bclib.api.v2.generator.BiomePicker; - -public interface BiomeMap { - void setChunkProcessor(TriConsumer processor); - BiomeChunk getChunk(int cx, int cz, boolean update); - BiomePicker.ActualBiome getBiome(double x, double y, double z); - void clearCache(); -} diff --git a/src/main/java/org/betterx/bclib/interfaces/BiomeSetter.java b/src/main/java/org/betterx/bclib/interfaces/BiomeSetter.java deleted file mode 100644 index eee82afa..00000000 --- a/src/main/java/org/betterx/bclib/interfaces/BiomeSetter.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.betterx.bclib.interfaces; - -import net.minecraft.core.BlockPos; -import net.minecraft.world.level.biome.Biome; - -public interface BiomeSetter { - void bclib_setBiome(Biome biome, BlockPos pos); -} diff --git a/src/main/java/org/betterx/bclib/interfaces/BiomeSourceAccessor.java b/src/main/java/org/betterx/bclib/interfaces/BiomeSourceAccessor.java deleted file mode 100644 index 837af156..00000000 --- a/src/main/java/org/betterx/bclib/interfaces/BiomeSourceAccessor.java +++ /dev/null @@ -1,5 +0,0 @@ -package org.betterx.bclib.interfaces; - -public interface BiomeSourceAccessor { - void bclRebuildFeatures(); -} diff --git a/src/main/java/org/betterx/bclib/interfaces/ChunkGeneratorAccessor.java b/src/main/java/org/betterx/bclib/interfaces/ChunkGeneratorAccessor.java deleted file mode 100644 index 07aea210..00000000 --- a/src/main/java/org/betterx/bclib/interfaces/ChunkGeneratorAccessor.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.betterx.bclib.interfaces; - -import net.minecraft.core.Registry; -import net.minecraft.world.level.levelgen.structure.StructureSet; - -public interface ChunkGeneratorAccessor { - Registry bclib_getStructureSetsRegistry(); -} diff --git a/src/main/java/org/betterx/bclib/interfaces/SettingsExtender.java b/src/main/java/org/betterx/bclib/interfaces/SettingsExtender.java deleted file mode 100644 index 357d106a..00000000 --- a/src/main/java/org/betterx/bclib/interfaces/SettingsExtender.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.betterx.bclib.interfaces; - -import net.minecraft.world.level.block.state.BlockBehaviour; - -@FunctionalInterface -public interface SettingsExtender { - BlockBehaviour.Properties amend(BlockBehaviour.Properties props); -} diff --git a/src/main/java/org/betterx/bclib/interfaces/SurfaceProvider.java b/src/main/java/org/betterx/bclib/interfaces/SurfaceProvider.java deleted file mode 100644 index 60283118..00000000 --- a/src/main/java/org/betterx/bclib/interfaces/SurfaceProvider.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.betterx.bclib.interfaces; - -import net.minecraft.core.BlockPos; -import net.minecraft.core.Holder; -import net.minecraft.server.level.ServerLevel; -import net.minecraft.world.level.biome.Biome; -import net.minecraft.world.level.block.state.BlockState; - -public interface SurfaceProvider { - BlockState bclib_getSurface(BlockPos pos, Holder biome, ServerLevel level); -} diff --git a/src/main/java/org/betterx/bclib/interfaces/TheEndBiomesAccessor.java b/src/main/java/org/betterx/bclib/interfaces/TheEndBiomesAccessor.java deleted file mode 100644 index aa39ebb6..00000000 --- a/src/main/java/org/betterx/bclib/interfaces/TheEndBiomesAccessor.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.betterx.bclib.interfaces; - -import net.minecraft.resources.ResourceKey; -import net.minecraft.world.level.biome.Biome; - -public interface TheEndBiomesAccessor { - boolean bcl_canGenerateAsEndBiome(ResourceKey key); - - boolean bcl_canGenerateAsEndMidlandBiome(ResourceKey key); - - boolean bcl_canGenerateAsEndBarrensBiome(ResourceKey key); - - default boolean bcl_isNonVanillaAndCanGenerateInEnd(ResourceKey key) { - return !"minecraft".equals(key.location().getNamespace()) && - bcl_canGenerateInEnd(key); - } - default boolean bcl_canGenerateInEnd(ResourceKey key) { - return bcl_canGenerateAsEndBarrensBiome(key) || - bcl_canGenerateAsEndMidlandBiome(key) || - bcl_canGenerateAsEndBiome(key) - ; - } -} diff --git a/src/main/java/org/betterx/bclib/interfaces/TileEntityRenderProvider.java b/src/main/java/org/betterx/bclib/interfaces/TileEntityRenderProvider.java deleted file mode 100644 index 732d8f4b..00000000 --- a/src/main/java/org/betterx/bclib/interfaces/TileEntityRenderProvider.java +++ /dev/null @@ -1,5 +0,0 @@ -package org.betterx.bclib.interfaces; - -public interface TileEntityRenderProvider { - -} diff --git a/src/main/java/org/betterx/bclib/mixin/common/BiomeSourceMixin.java b/src/main/java/org/betterx/bclib/mixin/common/BiomeSourceMixin.java deleted file mode 100644 index 75e66f34..00000000 --- a/src/main/java/org/betterx/bclib/mixin/common/BiomeSourceMixin.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.betterx.bclib.mixin.common; - -import org.betterx.bclib.BCLib; -import org.betterx.bclib.interfaces.BiomeSourceAccessor; - -import net.minecraft.world.level.biome.Biome; -import net.minecraft.world.level.biome.BiomeSource; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; - -import java.util.Set; - -@Mixin(BiomeSource.class) -public abstract class BiomeSourceMixin implements BiomeSourceAccessor { - - @Shadow - public abstract Set possibleBiomes(); - - public void bclRebuildFeatures() { - //Feature sorting is now a task in ChunkGenerator - BCLib.LOGGER.info("Rebuilding features in BiomeSource " + this); - //featuresPerStep = Suppliers.memoize(() -> FeatureSorter.buildFeaturesPerStep(this.possibleBiomes().stream().toList(), true)); - } -} diff --git a/src/main/java/org/betterx/bclib/mixin/common/ChunkGeneratorMixin.java b/src/main/java/org/betterx/bclib/mixin/common/ChunkGeneratorMixin.java index 42394ded..4dd5655d 100644 --- a/src/main/java/org/betterx/bclib/mixin/common/ChunkGeneratorMixin.java +++ b/src/main/java/org/betterx/bclib/mixin/common/ChunkGeneratorMixin.java @@ -1,13 +1,9 @@ package org.betterx.bclib.mixin.common; -import org.betterx.bclib.interfaces.ChunkGeneratorAccessor; - -import net.minecraft.core.Registry; import net.minecraft.world.level.StructureManager; import net.minecraft.world.level.WorldGenLevel; import net.minecraft.world.level.chunk.ChunkAccess; import net.minecraft.world.level.chunk.ChunkGenerator; -import net.minecraft.world.level.levelgen.structure.StructureSet; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; @@ -16,7 +12,7 @@ import org.spongepowered.asm.mixin.injection.ModifyArg; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; @Mixin(ChunkGenerator.class) -public class ChunkGeneratorMixin implements ChunkGeneratorAccessor { +public class ChunkGeneratorMixin { private int bclib_featureIteratorSeed; @@ -34,8 +30,4 @@ public class ChunkGeneratorMixin implements ChunkGeneratorAccessor { ) { bclib_featureIteratorSeed = 0; } - - public Registry bclib_getStructureSetsRegistry() { - return null; - } } diff --git a/src/main/resources/bclib.mixins.common.json b/src/main/resources/bclib.mixins.common.json index 40da04a3..420564a1 100644 --- a/src/main/resources/bclib.mixins.common.json +++ b/src/main/resources/bclib.mixins.common.json @@ -8,7 +8,6 @@ "AnvilMenuMixin", "BiomeGenerationSettingsAccessor", "BiomeMixin", - "BiomeSourceMixin", "BoneMealItemMixin", "ChunkGeneratorMixin", "ComposterBlockAccessor",