diff --git a/src/main/java/ru/betterend/registry/FeatureRegistry.java b/src/main/java/ru/betterend/registry/FeatureRegistry.java index 03c66246..674290eb 100644 --- a/src/main/java/ru/betterend/registry/FeatureRegistry.java +++ b/src/main/java/ru/betterend/registry/FeatureRegistry.java @@ -4,7 +4,7 @@ import ru.betterend.world.features.EndFeature; import ru.betterend.world.features.StoneSpiralFeature; public class FeatureRegistry { - public static final EndFeature STONE_SPIRAL = new EndFeature("stone_spiral", new StoneSpiralFeature()); + public static final EndFeature STONE_SPIRAL = new EndFeature("stone_spiral", new StoneSpiralFeature(), 2); public static void register() {} } diff --git a/src/main/java/ru/betterend/world/biome/BiomeFoggyMushroomland.java b/src/main/java/ru/betterend/world/biome/BiomeFoggyMushroomland.java index b0cee8eb..ea51758d 100644 --- a/src/main/java/ru/betterend/world/biome/BiomeFoggyMushroomland.java +++ b/src/main/java/ru/betterend/world/biome/BiomeFoggyMushroomland.java @@ -6,7 +6,7 @@ public class BiomeFoggyMushroomland extends EndBiome { public BiomeFoggyMushroomland() { super(new BiomeDefinition("foggy_mushroomland") .setFogColor(41, 122, 173) - .setFogDensity(5) + .setFogDensity(3) .addFeature(FeatureRegistry.STONE_SPIRAL)); } } diff --git a/src/main/java/ru/betterend/world/features/DefaultFeature.java b/src/main/java/ru/betterend/world/features/DefaultFeature.java new file mode 100644 index 00000000..3a10ed0f --- /dev/null +++ b/src/main/java/ru/betterend/world/features/DefaultFeature.java @@ -0,0 +1,10 @@ +package ru.betterend.world.features; + +import net.minecraft.world.gen.feature.DefaultFeatureConfig; +import net.minecraft.world.gen.feature.Feature; + +public abstract class DefaultFeature extends Feature { + public DefaultFeature() { + super(DefaultFeatureConfig.CODEC); + } +} diff --git a/src/main/java/ru/betterend/world/features/EndFeature.java b/src/main/java/ru/betterend/world/features/EndFeature.java index 832e2275..383beb0a 100644 --- a/src/main/java/ru/betterend/world/features/EndFeature.java +++ b/src/main/java/ru/betterend/world/features/EndFeature.java @@ -8,6 +8,7 @@ import net.minecraft.world.gen.decorator.ChanceDecoratorConfig; import net.minecraft.world.gen.decorator.ConfiguredDecorator; import net.minecraft.world.gen.decorator.Decorator; import net.minecraft.world.gen.feature.ConfiguredFeature; +import net.minecraft.world.gen.feature.ConfiguredFeatures; import net.minecraft.world.gen.feature.DefaultFeatureConfig; import net.minecraft.world.gen.feature.Feature; import net.minecraft.world.gen.feature.FeatureConfig; @@ -31,6 +32,14 @@ public class EndFeature { this.feature = Registry.register(Registry.FEATURE, id, feature); this.featureConfigured = Registry.register(BuiltinRegistries.CONFIGURED_FEATURE, id, feature.configure(FeatureConfig.DEFAULT).decorate(Decorator.CHANCE.configure(new ChanceDecoratorConfig(100)))); } + + public EndFeature(String name, Feature feature, int density) { + Identifier id = new Identifier(BetterEnd.MOD_ID, name); + this.featureStep = GenerationStep.Feature.VEGETAL_DECORATION; + this.feature = Registry.register(Registry.FEATURE, id, feature); + this.featureConfigured = Registry.register(BuiltinRegistries.CONFIGURED_FEATURE, id, feature.configure(FeatureConfig.DEFAULT).decorate(ConfiguredFeatures.Decorators.SQUARE_HEIGHTMAP).repeatRandomly(density)); + //return new EndFeature(name, feature, GenerationStep.Feature.VEGETAL_DECORATION, feature.configure(FeatureConfig.DEFAULT).decorate(ConfiguredFeatures.Decorators.SQUARE_HEIGHTMAP).repeatRandomly(4)); + } public Feature getFeature() { return feature; diff --git a/src/main/java/ru/betterend/world/features/StoneSpiralFeature.java b/src/main/java/ru/betterend/world/features/StoneSpiralFeature.java index 8d6ceb84..00347657 100644 --- a/src/main/java/ru/betterend/world/features/StoneSpiralFeature.java +++ b/src/main/java/ru/betterend/world/features/StoneSpiralFeature.java @@ -9,13 +9,8 @@ import net.minecraft.world.Heightmap.Type; import net.minecraft.world.StructureWorldAccess; import net.minecraft.world.gen.chunk.ChunkGenerator; import net.minecraft.world.gen.feature.DefaultFeatureConfig; -import net.minecraft.world.gen.feature.Feature; - -public class StoneSpiralFeature extends Feature { - public StoneSpiralFeature() { - super(DefaultFeatureConfig.CODEC); - } +public class StoneSpiralFeature extends DefaultFeature { @Override public boolean generate(StructureWorldAccess world, ChunkGenerator generator, Random random, BlockPos pos, DefaultFeatureConfig config) { BlockPos topPos = world.getTopPosition(Type.WORLD_SURFACE, pos);