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.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());

View file

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

View file

@ -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