Lake fixes

This commit is contained in:
paulevsGitch 2020-09-25 12:51:13 +03:00
parent b89afced36
commit 8dc7137ab4
4 changed files with 12 additions and 7 deletions

View file

@ -6,7 +6,7 @@ import ru.betterend.world.features.StoneSpiralFeature;
public class FeatureRegistry { public class FeatureRegistry {
public static final EndFeature STONE_SPIRAL = new EndFeature("stone_spiral", new StoneSpiralFeature(), 2); public static final EndFeature STONE_SPIRAL = new EndFeature("stone_spiral", new StoneSpiralFeature(), 2);
public static final EndFeature END_LAKE = new EndFeature("end_lake", new EndLakeFeature()); public static final EndFeature END_LAKE = EndFeature.MakeRawGenFeature("end_lake", new EndLakeFeature(), 100);
public static void register() {} public static void register() {}
} }

View file

@ -11,7 +11,7 @@ public class BiomeFoggyMushroomland extends EndBiome {
.setWaterColor(119, 227, 250) .setWaterColor(119, 227, 250)
.setWaterFogColor(119, 227, 250) .setWaterFogColor(119, 227, 250)
.setSurface(BlockRegistry.END_MOSS, BlockRegistry.END_MYCELIUM) .setSurface(BlockRegistry.END_MOSS, BlockRegistry.END_MYCELIUM)
.addFeature(FeatureRegistry.STONE_SPIRAL) .addFeature(FeatureRegistry.END_LAKE)
.addFeature(FeatureRegistry.END_LAKE)); .addFeature(FeatureRegistry.STONE_SPIRAL));
} }
} }

View file

@ -5,7 +5,6 @@ import net.minecraft.util.registry.BuiltinRegistries;
import net.minecraft.util.registry.Registry; import net.minecraft.util.registry.Registry;
import net.minecraft.world.gen.GenerationStep; import net.minecraft.world.gen.GenerationStep;
import net.minecraft.world.gen.decorator.ChanceDecoratorConfig; 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.decorator.Decorator;
import net.minecraft.world.gen.feature.ConfiguredFeature; import net.minecraft.world.gen.feature.ConfiguredFeature;
import net.minecraft.world.gen.feature.ConfiguredFeatures; import net.minecraft.world.gen.feature.ConfiguredFeatures;
@ -19,11 +18,11 @@ public class EndFeature {
private final ConfiguredFeature<?, ?> featureConfigured; private final ConfiguredFeature<?, ?> featureConfigured;
private final GenerationStep.Feature featureStep; private final GenerationStep.Feature featureStep;
public EndFeature(String name, Feature<DefaultFeatureConfig> feature, GenerationStep.Feature featureStep, ConfiguredDecorator<?> configuredDecorator) { public EndFeature(String name, Feature<DefaultFeatureConfig> feature, GenerationStep.Feature featureStep, ConfiguredFeature<?, ?> configuredFeature) {
Identifier id = new Identifier(BetterEnd.MOD_ID, name); Identifier id = new Identifier(BetterEnd.MOD_ID, name);
this.featureStep = featureStep; this.featureStep = featureStep;
this.feature = Registry.register(Registry.FEATURE, id, feature); this.feature = Registry.register(Registry.FEATURE, id, feature);
this.featureConfigured = Registry.register(BuiltinRegistries.CONFIGURED_FEATURE, id, feature.configure(FeatureConfig.DEFAULT).decorate(configuredDecorator)); this.featureConfigured = Registry.register(BuiltinRegistries.CONFIGURED_FEATURE, id, configuredFeature);
} }
public EndFeature(String name, Feature<DefaultFeatureConfig> feature) { public EndFeature(String name, Feature<DefaultFeatureConfig> feature) {
@ -40,6 +39,11 @@ public class EndFeature {
this.featureConfigured = Registry.register(BuiltinRegistries.CONFIGURED_FEATURE, id, feature.configure(FeatureConfig.DEFAULT).decorate(ConfiguredFeatures.Decorators.SQUARE_HEIGHTMAP).repeatRandomly(density)); 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)); //return new EndFeature(name, feature, GenerationStep.Feature.VEGETAL_DECORATION, feature.configure(FeatureConfig.DEFAULT).decorate(ConfiguredFeatures.Decorators.SQUARE_HEIGHTMAP).repeatRandomly(4));
} }
public static EndFeature MakeRawGenFeature(String name, Feature<DefaultFeatureConfig> feature, int chance) {
ConfiguredFeature<?, ?> configured = feature.configure(FeatureConfig.DEFAULT).decorate(Decorator.CHANCE.configure(new ChanceDecoratorConfig(100)));
return new EndFeature(name, feature, GenerationStep.Feature.RAW_GENERATION, configured);
}
public Feature<DefaultFeatureConfig> getFeature() { public Feature<DefaultFeatureConfig> getFeature() {
return feature; return feature;

View file

@ -61,7 +61,8 @@ public class EndLakeFeature extends DefaultFeature {
double r = add * 1.8 + radius * (NOISE.eval(x * 0.2, y * 0.2, z * 0.2) * 0.25 + 0.75); double r = add * 1.8 + radius * (NOISE.eval(x * 0.2, y * 0.2, z * 0.2) * 0.25 + 0.75);
r *= r; r *= r;
if (x2 + z2 <= r) { if (x2 + z2 <= r) {
BlocksHelper.setWithoutUpdate(world, POS, AIR); if (world.getBlockState(POS).getBlock() == Blocks.END_STONE)
BlocksHelper.setWithoutUpdate(world, POS, AIR);
pos = POS.down(); pos = POS.down();
if (world.getBlockState(pos).getBlock() == Blocks.END_STONE) if (world.getBlockState(pos).getBlock() == Blocks.END_STONE)
{ {