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 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() {}
}

View file

@ -11,7 +11,7 @@ public class BiomeFoggyMushroomland extends EndBiome {
.setWaterColor(119, 227, 250)
.setWaterFogColor(119, 227, 250)
.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.world.gen.GenerationStep;
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;
@ -19,11 +18,11 @@ public class EndFeature {
private final ConfiguredFeature<?, ?> featureConfigured;
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);
this.featureStep = featureStep;
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) {
@ -41,6 +40,11 @@ public class EndFeature {
//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() {
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);
r *= 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();
if (world.getBlockState(pos).getBlock() == Blocks.END_STONE)
{