From 9c1c1edb1239bd77d3190b26e7f2f12c90882ca4 Mon Sep 17 00:00:00 2001 From: paulevsGitch Date: Tue, 26 Oct 2021 14:13:26 +0300 Subject: [PATCH] Removed redundant code (moved to BCLib lists) --- .../ru/betterend/interfaces/IBiomeList.java | 10 ----- .../interfaces/ShuffelingListExtended.java | 7 ---- .../mixin/common/ShuffelingListMixin.java | 27 ------------- .../common/WeightedBiomePickerMixin.java | 38 ------------------- .../world/biome/cave/EndCaveBiome.java | 25 ++++++------ .../caves/CaveChunkPopulatorFeature.java | 4 +- .../terrain/caves/EndCaveFeature.java | 4 +- .../terrain/caves/TunelCaveFeature.java | 4 +- .../world/generator/GeneratorOptions.java | 12 ------ .../resources/betterend.mixins.common.json | 2 - 10 files changed, 18 insertions(+), 115 deletions(-) delete mode 100644 src/main/java/ru/betterend/interfaces/IBiomeList.java delete mode 100644 src/main/java/ru/betterend/interfaces/ShuffelingListExtended.java delete mode 100644 src/main/java/ru/betterend/mixin/common/ShuffelingListMixin.java delete mode 100644 src/main/java/ru/betterend/mixin/common/WeightedBiomePickerMixin.java diff --git a/src/main/java/ru/betterend/interfaces/IBiomeList.java b/src/main/java/ru/betterend/interfaces/IBiomeList.java deleted file mode 100644 index a1a1047f..00000000 --- a/src/main/java/ru/betterend/interfaces/IBiomeList.java +++ /dev/null @@ -1,10 +0,0 @@ -package ru.betterend.interfaces; - -import net.minecraft.resources.ResourceKey; -import net.minecraft.world.level.biome.Biome; - -import java.util.List; - -public interface IBiomeList { - public List> getBiomes(); -} diff --git a/src/main/java/ru/betterend/interfaces/ShuffelingListExtended.java b/src/main/java/ru/betterend/interfaces/ShuffelingListExtended.java deleted file mode 100644 index a86ccbaf..00000000 --- a/src/main/java/ru/betterend/interfaces/ShuffelingListExtended.java +++ /dev/null @@ -1,7 +0,0 @@ -package ru.betterend.interfaces; - -public interface ShuffelingListExtended { - public boolean isEmpty(); - - public U getOne(); -} diff --git a/src/main/java/ru/betterend/mixin/common/ShuffelingListMixin.java b/src/main/java/ru/betterend/mixin/common/ShuffelingListMixin.java deleted file mode 100644 index 1edbf30e..00000000 --- a/src/main/java/ru/betterend/mixin/common/ShuffelingListMixin.java +++ /dev/null @@ -1,27 +0,0 @@ -package ru.betterend.mixin.common; - -import net.minecraft.world.entity.ai.behavior.ShufflingList; -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import ru.betterend.interfaces.ShuffelingListExtended; - -import java.util.List; - -@Mixin(ShufflingList.class) -public abstract class ShuffelingListMixin implements ShuffelingListExtended { - @Shadow - @Final - protected List> entries; - - public boolean isEmpty() { - return this.entries.isEmpty(); - } - - @Shadow - public abstract ShufflingList shuffle(); - - public U getOne() { - return this.shuffle().stream().findFirst().orElseThrow(RuntimeException::new); - } -} diff --git a/src/main/java/ru/betterend/mixin/common/WeightedBiomePickerMixin.java b/src/main/java/ru/betterend/mixin/common/WeightedBiomePickerMixin.java deleted file mode 100644 index 5486f092..00000000 --- a/src/main/java/ru/betterend/mixin/common/WeightedBiomePickerMixin.java +++ /dev/null @@ -1,38 +0,0 @@ -package ru.betterend.mixin.common; - -import com.google.common.collect.Lists; -import net.fabricmc.fabric.impl.biome.InternalBiomeData; -import net.fabricmc.fabric.impl.biome.WeightedBiomePicker; -import net.minecraft.resources.ResourceKey; -import net.minecraft.world.level.biome.Biome; -import net.minecraft.world.level.biome.Biomes; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; -import ru.betterend.interfaces.IBiomeList; - -import java.util.List; - -@Mixin(value = WeightedBiomePicker.class, remap = false) -public class WeightedBiomePickerMixin implements IBiomeList { - private final List> biomes = Lists.newArrayList(); - - @Inject(method = "addBiome", at = @At("TAIL")) - private void be_addBiome(final ResourceKey biome, final double weight, CallbackInfo info) { - if (be_isCorrectPicker(WeightedBiomePicker.class.cast(this))) { - biomes.add(biome); - } - } - - @Override - public List> getBiomes() { - return biomes; - } - - private boolean be_isCorrectPicker(WeightedBiomePicker picker) { - return picker == InternalBiomeData.getEndBiomesMap() - .get(Biomes.SMALL_END_ISLANDS) || picker == InternalBiomeData.getEndBarrensMap() - .get(Biomes.END_BARRENS); - } -} diff --git a/src/main/java/ru/betterend/world/biome/cave/EndCaveBiome.java b/src/main/java/ru/betterend/world/biome/cave/EndCaveBiome.java index e628edfc..457946e9 100644 --- a/src/main/java/ru/betterend/world/biome/cave/EndCaveBiome.java +++ b/src/main/java/ru/betterend/world/biome/cave/EndCaveBiome.java @@ -6,17 +6,19 @@ import net.minecraft.world.level.biome.Biome.BiomeCategory; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.levelgen.feature.Feature; import ru.bclib.api.BiomeAPI; +import ru.bclib.util.WeightedList; import ru.bclib.world.biomes.BCLBiomeDef; import ru.bclib.world.features.BCLFeature; import ru.betterend.BetterEnd; -import ru.betterend.interfaces.ShuffelingListExtended; import ru.betterend.registry.EndSounds; import ru.betterend.world.biome.EndBiome; import ru.betterend.world.features.terrain.caves.CaveChunkPopulatorFeature; +import java.util.Random; + public class EndCaveBiome extends EndBiome { - final private ShufflingList> floorFeatures = new ShufflingList<>(); - final private ShufflingList> ceilFeatures = new ShufflingList<>(); + private WeightedList> floorFeatures = new WeightedList>(); + private WeightedList> ceilFeatures = new WeightedList>(); public EndCaveBiome(BCLBiomeDef definition) { super(makeDef(definition)); @@ -24,8 +26,7 @@ public class EndCaveBiome extends EndBiome { private static BCLBiomeDef makeDef(BCLBiomeDef definition) { BCLFeature feature = BCLFeature.makeChunkFeature( - BetterEnd.makeID(definition.getID() - .getPath() + "_cave_populator"), + BetterEnd.makeID(definition.getID().getPath() + "_cave_populator"), new CaveChunkPopulatorFeature(() -> (EndCaveBiome) BiomeAPI.getBiome(definition.getID())) ); definition.setCategory(BiomeCategory.NONE).addFeature(feature); @@ -34,22 +35,20 @@ public class EndCaveBiome extends EndBiome { return definition; } - public void addFloorFeature(Feature feature, int weight) { + public void addFloorFeature(Feature feature, float weight) { floorFeatures.add(feature, weight); } - public void addCeilFeature(Feature feature, int weight) { + public void addCeilFeature(Feature feature, float weight) { ceilFeatures.add(feature, weight); } - public Feature getFloorFeature() { - return ((ShuffelingListExtended>) floorFeatures).isEmpty() ? null : ((ShuffelingListExtended>) floorFeatures) - .getOne(); + public Feature getFloorFeature(Random random) { + return floorFeatures.isEmpty() ? null : floorFeatures.get(random); } - public Feature getCeilFeature() { - return ((ShuffelingListExtended>) ceilFeatures).isEmpty() ? null : ((ShuffelingListExtended>) ceilFeatures) - .getOne(); + public Feature getCeilFeature(Random random) { + return ceilFeatures.isEmpty() ? null : ceilFeatures.get(random); } public float getFloorDensity() { diff --git a/src/main/java/ru/betterend/world/features/terrain/caves/CaveChunkPopulatorFeature.java b/src/main/java/ru/betterend/world/features/terrain/caves/CaveChunkPopulatorFeature.java index a8d9135f..9aa57da0 100644 --- a/src/main/java/ru/betterend/world/features/terrain/caves/CaveChunkPopulatorFeature.java +++ b/src/main/java/ru/betterend/world/features/terrain/caves/CaveChunkPopulatorFeature.java @@ -109,7 +109,7 @@ public class CaveChunkPopulatorFeature extends DefaultFeature { floorPositions.forEach((pos) -> { BlocksHelper.setWithoutUpdate(world, pos, surfaceBlock); if (density > 0 && random.nextFloat() <= density) { - Feature feature = biome.getFloorFeature(); + Feature feature = biome.getFloorFeature(random); if (feature != null) { feature.place(new FeaturePlaceContext<>(world, null, random, pos.above(), null)); } @@ -125,7 +125,7 @@ public class CaveChunkPopulatorFeature extends DefaultFeature { BlocksHelper.setWithoutUpdate(world, pos, ceilBlock); } if (density > 0 && random.nextFloat() <= density) { - Feature feature = biome.getCeilFeature(); + Feature feature = biome.getCeilFeature(random); if (feature != null) { feature.place(new FeaturePlaceContext<>(world, null, random, pos.below(), null)); } diff --git a/src/main/java/ru/betterend/world/features/terrain/caves/EndCaveFeature.java b/src/main/java/ru/betterend/world/features/terrain/caves/EndCaveFeature.java index 704936fd..360a96a3 100644 --- a/src/main/java/ru/betterend/world/features/terrain/caves/EndCaveFeature.java +++ b/src/main/java/ru/betterend/world/features/terrain/caves/EndCaveFeature.java @@ -97,7 +97,7 @@ public abstract class EndCaveFeature extends DefaultFeature { BlocksHelper.setWithoutUpdate(world, pos, surfaceBlock); } if (density > 0 && random.nextFloat() <= density) { - Feature feature = biome.getFloorFeature(); + Feature feature = biome.getFloorFeature(random); if (feature != null) { feature.place(new FeaturePlaceContext<>(world, null, random, pos.above(), null)); } @@ -113,7 +113,7 @@ public abstract class EndCaveFeature extends DefaultFeature { BlocksHelper.setWithoutUpdate(world, pos, ceilBlock); } if (density > 0 && random.nextFloat() <= density) { - Feature feature = biome.getCeilFeature(); + Feature feature = biome.getCeilFeature(random); if (feature != null) { feature.place(new FeaturePlaceContext<>(world, null, random, pos.below(), null)); } diff --git a/src/main/java/ru/betterend/world/features/terrain/caves/TunelCaveFeature.java b/src/main/java/ru/betterend/world/features/terrain/caves/TunelCaveFeature.java index 33407556..95400bb8 100644 --- a/src/main/java/ru/betterend/world/features/terrain/caves/TunelCaveFeature.java +++ b/src/main/java/ru/betterend/world/features/terrain/caves/TunelCaveFeature.java @@ -195,7 +195,7 @@ public class TunelCaveFeature extends EndCaveFeature { BlocksHelper.setWithoutUpdate(world, pos, surfaceBlock); } if (density > 0 && random.nextFloat() <= density) { - Feature feature = biome.getFloorFeature(); + Feature feature = biome.getFloorFeature(random); if (feature != null) { feature.place(new FeaturePlaceContext<>(world, null, random, pos.above(), null)); } @@ -212,7 +212,7 @@ public class TunelCaveFeature extends EndCaveFeature { BlocksHelper.setWithoutUpdate(world, pos, ceilBlock); } if (density > 0 && random.nextFloat() <= density) { - Feature feature = biome.getCeilFeature(); + Feature feature = biome.getCeilFeature(random); if (feature != null) { feature.place(new FeaturePlaceContext<>(world, null, random, pos.below(), null)); } diff --git a/src/main/java/ru/betterend/world/generator/GeneratorOptions.java b/src/main/java/ru/betterend/world/generator/GeneratorOptions.java index 94b3c5e8..d5f7635b 100644 --- a/src/main/java/ru/betterend/world/generator/GeneratorOptions.java +++ b/src/main/java/ru/betterend/world/generator/GeneratorOptions.java @@ -5,8 +5,6 @@ import net.minecraft.util.Mth; import ru.betterend.config.Configs; public class GeneratorOptions { - private static int biomeSizeLand; - private static int biomeSizeVoid; private static int biomeSizeCaves; private static boolean hasPortal; private static boolean hasPillars; @@ -31,8 +29,6 @@ public class GeneratorOptions { private static boolean directSpikeHeight; public static void init() { - biomeSizeLand = Configs.GENERATOR_CONFIG.getInt("biomeMap", "biomeSizeLand", 256); - biomeSizeVoid = Configs.GENERATOR_CONFIG.getInt("biomeMap", "biomeSizeVoid", 256); biomeSizeCaves = Configs.GENERATOR_CONFIG.getInt("biomeMap", "biomeSizeCaves", 32); hasPortal = Configs.GENERATOR_CONFIG.getBoolean("portal", "hasPortal", true); hasPillars = Configs.GENERATOR_CONFIG.getBoolean("spikes", "hasSpikes", true); @@ -88,14 +84,6 @@ public class GeneratorOptions { islandDistChunk = (circleRadius >> 3); // Twice bigger than normal } - public static int getBiomeSizeLand() { - return Mth.clamp(biomeSizeLand, 1, 8192); - } - - public static int getBiomeSizeVoid() { - return Mth.clamp(biomeSizeVoid, 1, 8192); - } - public static int getBiomeSizeCaves() { return Mth.clamp(biomeSizeCaves, 1, 8192); } diff --git a/src/main/resources/betterend.mixins.common.json b/src/main/resources/betterend.mixins.common.json index 0e7afe5f..99e8f654 100644 --- a/src/main/resources/betterend.mixins.common.json +++ b/src/main/resources/betterend.mixins.common.json @@ -7,7 +7,6 @@ "BiomeGenerationSettingsAccessor", "NoiseBasedChunkGeneratorMixin", "ChunkBiomeContainerMixin", - "WeightedBiomePickerMixin", "ChorusPlantFeatureMixin", "PlayerAdvancementsMixin", "ChorusFlowerBlockMixin", @@ -17,7 +16,6 @@ "PotionBrewingAccessor", "MinecraftServerMixin", "EndDragonFightMixin", - "ShuffelingListMixin", "WorldGenRegionMixin", "BlockBehaviourMixin", "DimensionTypeMixin",