Allow Return-Gateways to span in our Biomes

This commit is contained in:
Frank 2022-07-29 02:12:48 +02:00
parent 89eb24ef04
commit 321c94379d
3 changed files with 19 additions and 0 deletions

View file

@ -17,6 +17,7 @@ import org.betterx.betterend.registry.EndTags;
import com.mojang.serialization.Codec; import com.mojang.serialization.Codec;
import com.mojang.serialization.codecs.RecordCodecBuilder; import com.mojang.serialization.codecs.RecordCodecBuilder;
import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos;
import net.minecraft.data.worldgen.placement.EndPlacements;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundEvents;
import net.minecraft.util.KeyDispatchDataCodec; 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.biome.Climate;
import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.levelgen.GenerationStep;
import net.minecraft.world.level.levelgen.SurfaceRules; import net.minecraft.world.level.levelgen.SurfaceRules;
import java.util.List; import java.util.List;
@ -159,6 +161,10 @@ public class EndBiome extends BCLBiome implements SurfaceMaterialProvider {
return true; return true;
} }
protected boolean hasReturnGateway() {
return true;
}
protected SurfaceMaterialProvider surfaceMaterial() { protected SurfaceMaterialProvider surfaceMaterial() {
return DEFAULT_MATERIAL; return DEFAULT_MATERIAL;
} }
@ -187,6 +193,9 @@ public class EndBiome extends BCLBiome implements SurfaceMaterialProvider {
biomeConfig.addCustomBuildData(builder); biomeConfig.addCustomBuildData(builder);
EndFeatures.addDefaultFeatures(biomeConfig.ID, builder, biomeConfig.hasCaves()); 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()); EndBiome biome = builder.build(biomeConfig.getSupplier());
biome.setHasCaves(biomeConfig.hasCaves()); biome.setHasCaves(biomeConfig.hasCaves());

View file

@ -129,6 +129,11 @@ public class EndCaveBiome extends EndBiome {
return false; return false;
} }
@Override
protected boolean hasReturnGateway() {
return false;
}
@Override @Override
public BiomeSupplier<EndBiome> getSupplier() { public BiomeSupplier<EndBiome> getSupplier() {
return EndCaveBiome::new; return EndCaveBiome::new;

View file

@ -21,6 +21,11 @@ public class BlossomingSpiresBiome extends EndBiome.Config {
return false; return false;
} }
@Override
protected boolean hasReturnGateway() {
return false;
}
@Override @Override
protected void addCustomBuildData(BCLBiomeBuilder builder) { protected void addCustomBuildData(BCLBiomeBuilder builder) {
builder builder