New feature system for vanilla and datapack biomes
This commit is contained in:
parent
6b846b5bb7
commit
a06e3287d4
10 changed files with 127 additions and 59 deletions
|
@ -5,5 +5,5 @@ 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);
|
||||
//public static final EndStructureFeature MOUNTAINS = new EndStructureFeature("mountains", new StructureMountain(), Feature.RAW_GENERATION, 3, 2);
|
||||
}
|
||||
|
|
|
@ -5,7 +5,6 @@ import java.util.function.Supplier;
|
|||
|
||||
import com.google.common.collect.Lists;
|
||||
|
||||
import net.minecraft.world.gen.GenerationStep.Feature;
|
||||
import net.minecraft.world.gen.feature.ConfiguredFeature;
|
||||
import ru.betterend.world.features.BlueVineFeature;
|
||||
import ru.betterend.world.features.DoublePlantFeature;
|
||||
|
@ -18,8 +17,6 @@ import ru.betterend.world.features.PythadendronTreeFeature;
|
|||
import ru.betterend.world.features.SinglePlantFeature;
|
||||
import ru.betterend.world.features.UnderwaterPlantFeature;
|
||||
import ru.betterend.world.features.VineFeature;
|
||||
import ru.betterend.world.structures.EndStructureFeature;
|
||||
import ru.betterend.world.structures.features.StructureMegaLake;
|
||||
|
||||
public class FeatureRegistry {
|
||||
private final static List<EndFeature> GLOBAL_FEATURES = Lists.newArrayList();
|
||||
|
@ -51,9 +48,6 @@ 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);
|
||||
|
||||
// Structures //
|
||||
public static final EndStructureFeature MEGALAKE = new EndStructureFeature("megalake", new StructureMegaLake(), Feature.RAW_GENERATION, 4, 1);
|
||||
|
||||
public static void registerGlobals(List<List<Supplier<ConfiguredFeature<?, ?>>>> features) {
|
||||
GLOBAL_FEATURES.forEach(feature -> {
|
||||
int index = feature.getFeatureStep().ordinal();
|
||||
|
|
|
@ -1,11 +1,22 @@
|
|||
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;
|
||||
import ru.betterend.world.structures.features.StructureGiantMossyGlowshroom;
|
||||
import ru.betterend.world.structures.features.StructureMegaLake;
|
||||
import ru.betterend.world.structures.features.StructureMountain;
|
||||
import ru.betterend.world.structures.piece.CavePiece;
|
||||
import ru.betterend.world.structures.piece.LakePiece;
|
||||
import ru.betterend.world.structures.piece.MountainPiece;
|
||||
|
@ -18,10 +29,22 @@ public class StructureRegistry {
|
|||
public static final StructurePieceType LAKE_PIECE = register("lake_piece", LakePiece::new);
|
||||
|
||||
public static final EndStructureFeature GIANT_MOSSY_GLOWSHROOM = new EndStructureFeature("giant_mossy_glowshroom", new StructureGiantMossyGlowshroom(), Feature.SURFACE_STRUCTURES, 16, 8);
|
||||
public static final EndStructureFeature MEGALAKE = new EndStructureFeature("megalake", new StructureMegaLake(), Feature.RAW_GENERATION, 4, 1);
|
||||
public static final EndStructureFeature MOUNTAINS = new EndStructureFeature("mountains", new StructureMountain(), Feature.RAW_GENERATION, 3, 2);
|
||||
|
||||
public static void register() {}
|
||||
|
||||
private static StructurePieceType register(String id, StructurePieceType pieceType) {
|
||||
return Registry.register(Registry.STRUCTURE_PIECE, BetterEnd.makeID(id), pieceType);
|
||||
}
|
||||
|
||||
public static void registerBiomeStructures(Biome biome, Collection<Supplier<ConfiguredStructureFeature<?, ?>>> collection) {
|
||||
if (BiomeRegistry.getFromBiome(biome) == BiomeRegistry.END_HIGHLANDS) {
|
||||
addFeature(MOUNTAINS, collection);
|
||||
}
|
||||
}
|
||||
|
||||
private static void addFeature(EndStructureFeature feature, Collection<Supplier<ConfiguredStructureFeature<?, ?>>> collection) {
|
||||
collection.add(() -> { return feature.getFeatureConfigured(); });
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue