Lake fixes
This commit is contained in:
parent
b89afced36
commit
8dc7137ab4
4 changed files with 12 additions and 7 deletions
|
@ -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() {}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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) {
|
||||||
|
@ -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));
|
//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;
|
||||||
}
|
}
|
||||||
|
|
|
@ -61,6 +61,7 @@ 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) {
|
||||||
|
if (world.getBlockState(POS).getBlock() == Blocks.END_STONE)
|
||||||
BlocksHelper.setWithoutUpdate(world, POS, AIR);
|
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)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue