From 465db15e4ae94b2243d2aaf6bb8a9dff50ad135c Mon Sep 17 00:00:00 2001 From: paulevsGitch Date: Mon, 19 Oct 2020 00:19:41 +0300 Subject: [PATCH] Biome features changes --- .../ru/betterend/mixin/common/BiomeMixin.java | 2 +- .../mixin/common/GenerationSettingsMixin.java | 35 ---------------- .../registry/DefaultBiomeFeatureRegistry.java | 4 -- .../betterend/registry/FeatureRegistry.java | 41 +++++++++---------- .../betterend/registry/StructureRegistry.java | 4 -- 5 files changed, 20 insertions(+), 66 deletions(-) delete mode 100644 src/main/java/ru/betterend/mixin/common/GenerationSettingsMixin.java diff --git a/src/main/java/ru/betterend/mixin/common/BiomeMixin.java b/src/main/java/ru/betterend/mixin/common/BiomeMixin.java index 96c745a2..aa1b4a57 100644 --- a/src/main/java/ru/betterend/mixin/common/BiomeMixin.java +++ b/src/main/java/ru/betterend/mixin/common/BiomeMixin.java @@ -49,7 +49,7 @@ public abstract class BiomeMixin { features.add(Lists.newArrayList(list)); }); - FeatureRegistry.registerGlobals(features); + FeatureRegistry.registerBiomeFeatures(biome, features); StructureRegistry.registerBiomeStructures(biome, structures); accessor.setFeatures(features); diff --git a/src/main/java/ru/betterend/mixin/common/GenerationSettingsMixin.java b/src/main/java/ru/betterend/mixin/common/GenerationSettingsMixin.java deleted file mode 100644 index 4115f518..00000000 --- a/src/main/java/ru/betterend/mixin/common/GenerationSettingsMixin.java +++ /dev/null @@ -1,35 +0,0 @@ -package ru.betterend.mixin.common; - -import java.util.List; -import java.util.Map; -import java.util.function.Supplier; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; - -import com.google.common.collect.Lists; - -import net.minecraft.world.biome.GenerationSettings; -import net.minecraft.world.gen.GenerationStep; -import net.minecraft.world.gen.carver.ConfiguredCarver; -import net.minecraft.world.gen.feature.ConfiguredFeature; -import net.minecraft.world.gen.feature.ConfiguredStructureFeature; -import net.minecraft.world.gen.surfacebuilder.ConfiguredSurfaceBuilder; - -@Mixin(GenerationSettings.class) -public abstract class GenerationSettingsMixin { - /*@Shadow - private List>>> features; - - @Inject(method = "", at = @At("TAIL")) - void init(Supplier> surfaceBuilder, Map>>> carvers, List>>> features, List>> structureFeatures, CallbackInfo cinfo) { - List>>> mutableFeatures = Lists.newArrayList(this.features); - this.features.forEach(supplierList -> { - mutableFeatures.add(Lists.newArrayList(supplierList)); - }); - this.features = mutableFeatures; - }*/ -} diff --git a/src/main/java/ru/betterend/registry/DefaultBiomeFeatureRegistry.java b/src/main/java/ru/betterend/registry/DefaultBiomeFeatureRegistry.java index 14e719e7..6188da03 100644 --- a/src/main/java/ru/betterend/registry/DefaultBiomeFeatureRegistry.java +++ b/src/main/java/ru/betterend/registry/DefaultBiomeFeatureRegistry.java @@ -1,9 +1,5 @@ package ru.betterend.registry; -import net.minecraft.world.gen.GenerationStep.Feature; -import ru.betterend.world.structures.EndStructureFeature; -import ru.betterend.world.structures.features.StructureMountain; - public class DefaultBiomeFeatureRegistry { //public static final EndStructureFeature MOUNTAINS = new EndStructureFeature("mountains", new StructureMountain(), Feature.RAW_GENERATION, 3, 2); } diff --git a/src/main/java/ru/betterend/registry/FeatureRegistry.java b/src/main/java/ru/betterend/registry/FeatureRegistry.java index 08d30ce7..11425f48 100644 --- a/src/main/java/ru/betterend/registry/FeatureRegistry.java +++ b/src/main/java/ru/betterend/registry/FeatureRegistry.java @@ -5,6 +5,7 @@ import java.util.function.Supplier; import com.google.common.collect.Lists; +import net.minecraft.world.biome.Biome; import net.minecraft.world.gen.feature.ConfiguredFeature; import ru.betterend.world.features.BlueVineFeature; import ru.betterend.world.features.DoublePlantFeature; @@ -19,8 +20,6 @@ import ru.betterend.world.features.UnderwaterPlantFeature; import ru.betterend.world.features.VineFeature; public class FeatureRegistry { - private final static List GLOBAL_FEATURES = Lists.newArrayList(); - // Trees // public static final EndFeature MOSSY_GLOWSHROOM = new EndFeature("mossy_glowshroom", new MossyGlowshroomFeature(), 3); public static final EndFeature PYTHADENDRON_TREE = new EndFeature("pythadendron_tree", new PythadendronTreeFeature(), 2); @@ -48,27 +47,25 @@ public class FeatureRegistry { public static final EndFeature VIOLECITE_LAYER = EndFeature.makeLayerFeature("violecite_layer", BlockRegistry.VIOLECITE, 15, 4, 96, 8); public static final EndFeature FLAVOLITE_LAYER = EndFeature.makeLayerFeature("flavolite_layer", BlockRegistry.FLAVOLITE, 12, 4, 96, 6); - public static void registerGlobals(List>>> features) { - GLOBAL_FEATURES.forEach(feature -> { - int index = feature.getFeatureStep().ordinal(); - if (features.size() > index) { - features.get(index).add(() -> { - return feature.getFeatureConfigured(); - }); - } else { - List>> newFeature = Lists.newArrayList(); - newFeature.add(() -> { - return feature.getFeatureConfigured(); - }); - features.add(newFeature); - } - }); + public static void registerBiomeFeatures(Biome biome, List>>> features) { + addFeature(FLAVOLITE_LAYER, features); + addFeature(ENDER_ORE, features); + } + + private static void addFeature(EndFeature feature, List>>> features) { + int index = feature.getFeatureStep().ordinal(); + if (features.size() > index) { + features.get(index).add(() -> { + return feature.getFeatureConfigured(); + }); + } else { + List>> newFeature = Lists.newArrayList(); + newFeature.add(() -> { + return feature.getFeatureConfigured(); + }); + features.add(newFeature); + } } public static void register() {} - - static { - GLOBAL_FEATURES.add(FLAVOLITE_LAYER); - GLOBAL_FEATURES.add(ENDER_ORE); - } } diff --git a/src/main/java/ru/betterend/registry/StructureRegistry.java b/src/main/java/ru/betterend/registry/StructureRegistry.java index e2f7e9a2..5634e027 100644 --- a/src/main/java/ru/betterend/registry/StructureRegistry.java +++ b/src/main/java/ru/betterend/registry/StructureRegistry.java @@ -1,16 +1,12 @@ package ru.betterend.registry; import java.util.Collection; -import java.util.List; import java.util.function.Supplier; -import com.google.common.collect.Lists; - import net.minecraft.structure.StructurePieceType; import net.minecraft.util.registry.Registry; import net.minecraft.world.biome.Biome; import net.minecraft.world.gen.GenerationStep.Feature; -import net.minecraft.world.gen.feature.ConfiguredFeature; import net.minecraft.world.gen.feature.ConfiguredStructureFeature; import ru.betterend.BetterEnd; import ru.betterend.world.structures.EndStructureFeature;