From 321c94379d22e0af62965faaececb320dfc8aeea Mon Sep 17 00:00:00 2001 From: Frank Date: Fri, 29 Jul 2022 02:12:48 +0200 Subject: [PATCH] Allow Return-Gateways to span in our Biomes --- .../java/org/betterx/betterend/world/biome/EndBiome.java | 9 +++++++++ .../betterx/betterend/world/biome/cave/EndCaveBiome.java | 5 +++++ .../world/biome/land/BlossomingSpiresBiome.java | 5 +++++ 3 files changed, 19 insertions(+) diff --git a/src/main/java/org/betterx/betterend/world/biome/EndBiome.java b/src/main/java/org/betterx/betterend/world/biome/EndBiome.java index ff6b92a0..708d777d 100644 --- a/src/main/java/org/betterx/betterend/world/biome/EndBiome.java +++ b/src/main/java/org/betterx/betterend/world/biome/EndBiome.java @@ -17,6 +17,7 @@ import org.betterx.betterend.registry.EndTags; import com.mojang.serialization.Codec; import com.mojang.serialization.codecs.RecordCodecBuilder; import net.minecraft.core.BlockPos; +import net.minecraft.data.worldgen.placement.EndPlacements; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvents; import net.minecraft.util.KeyDispatchDataCodec; @@ -25,6 +26,7 @@ import net.minecraft.world.level.biome.Biome; import net.minecraft.world.level.biome.Climate; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.levelgen.GenerationStep; import net.minecraft.world.level.levelgen.SurfaceRules; import java.util.List; @@ -159,6 +161,10 @@ public class EndBiome extends BCLBiome implements SurfaceMaterialProvider { return true; } + protected boolean hasReturnGateway() { + return true; + } + protected SurfaceMaterialProvider surfaceMaterial() { return DEFAULT_MATERIAL; } @@ -187,6 +193,9 @@ public class EndBiome extends BCLBiome implements SurfaceMaterialProvider { biomeConfig.addCustomBuildData(builder); EndFeatures.addDefaultFeatures(biomeConfig.ID, builder, biomeConfig.hasCaves()); + if (biomeConfig.hasReturnGateway()) { + builder.feature(GenerationStep.Decoration.SURFACE_STRUCTURES, EndPlacements.END_GATEWAY_RETURN); + } EndBiome biome = builder.build(biomeConfig.getSupplier()); biome.setHasCaves(biomeConfig.hasCaves()); diff --git a/src/main/java/org/betterx/betterend/world/biome/cave/EndCaveBiome.java b/src/main/java/org/betterx/betterend/world/biome/cave/EndCaveBiome.java index 17ca7be7..df05f64a 100644 --- a/src/main/java/org/betterx/betterend/world/biome/cave/EndCaveBiome.java +++ b/src/main/java/org/betterx/betterend/world/biome/cave/EndCaveBiome.java @@ -129,6 +129,11 @@ public class EndCaveBiome extends EndBiome { return false; } + @Override + protected boolean hasReturnGateway() { + return false; + } + @Override public BiomeSupplier getSupplier() { return EndCaveBiome::new; diff --git a/src/main/java/org/betterx/betterend/world/biome/land/BlossomingSpiresBiome.java b/src/main/java/org/betterx/betterend/world/biome/land/BlossomingSpiresBiome.java index 0a52e48c..e24e66f1 100644 --- a/src/main/java/org/betterx/betterend/world/biome/land/BlossomingSpiresBiome.java +++ b/src/main/java/org/betterx/betterend/world/biome/land/BlossomingSpiresBiome.java @@ -21,6 +21,11 @@ public class BlossomingSpiresBiome extends EndBiome.Config { return false; } + @Override + protected boolean hasReturnGateway() { + return false; + } + @Override protected void addCustomBuildData(BCLBiomeBuilder builder) { builder