Some feature pieces fixes, changed API calls

This commit is contained in:
paulevsGitch 2021-12-05 07:04:26 +03:00
parent 6a6f29bf99
commit 64de980cab
12 changed files with 37 additions and 28 deletions

View file

@ -8,7 +8,6 @@ import net.minecraft.core.Registry;
import net.minecraft.core.particles.BlockParticleOption;
import net.minecraft.core.particles.ParticleOptions;
import net.minecraft.core.particles.ParticleTypes;
import net.minecraft.data.worldgen.Features;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.nbt.NbtUtils;
import net.minecraft.resources.ResourceLocation;
@ -441,7 +440,8 @@ public class EternalRitual {
direction = direction.getClockWise();
}
}
if (targetWorld.dimension() == Level.END) {
// TODO find island feature
/*if (targetWorld.dimension() == Level.END) {
Features.END_ISLAND.place(
targetWorld,
targetWorld.getChunkSource().getGenerator(),
@ -449,16 +449,16 @@ public class EternalRitual {
basePos.below()
);
}
else if (targetWorld.dimension() == Level.OVERWORLD) {
basePos.setY(targetWorld.getChunk(basePos)
.getHeight(Heightmap.Types.WORLD_SURFACE, basePos.getX(), basePos.getZ()) + 1);
else */if (targetWorld.dimension() == Level.OVERWORLD) {
basePos.setY(targetWorld.getChunk(basePos).getHeight(Heightmap.Types.WORLD_SURFACE, basePos.getX(), basePos.getZ()) + 1);
}
EndFeatures.BIOME_ISLAND.getFeatureConfigured()
.place(targetWorld,
targetWorld.getChunkSource().getGenerator(),
new Random(basePos.asLong()),
basePos.below()
);
EndFeatures.BIOME_ISLAND
.getPlacedFeature()
.place(targetWorld,
targetWorld.getChunkSource().getGenerator(),
new Random(basePos.asLong()),
basePos.below()
);
generatePortal(targetWorld, basePos, portalAxis, portalId);
return basePos.immutable();
}

View file

@ -4,7 +4,7 @@ import net.minecraft.core.BlockPos;
import net.minecraft.world.level.biome.Biome.BiomeCategory;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.levelgen.feature.Feature;
import ru.bclib.api.BiomeAPI;
import ru.bclib.api.biomes.BiomeAPI;
import ru.bclib.util.WeightedList;
import ru.bclib.world.biomes.BCLBiomeDef;
import ru.bclib.world.features.BCLFeature;

View file

@ -8,7 +8,7 @@ import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.level.chunk.ChunkGenerator;
import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext;
import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration;
import ru.bclib.api.BiomeAPI;
import ru.bclib.api.biomes.BiomeAPI;
import ru.bclib.sdf.SDF;
import ru.bclib.sdf.operator.SDFDisplacement;
import ru.bclib.sdf.primitive.SDFSphere;

View file

@ -11,7 +11,7 @@ import net.minecraft.world.level.chunk.ChunkGenerator;
import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext;
import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration;
import net.minecraft.world.level.material.Material;
import ru.bclib.api.BiomeAPI;
import ru.bclib.api.biomes.BiomeAPI;
import ru.bclib.api.TagAPI;
import ru.bclib.sdf.SDF;
import ru.bclib.sdf.operator.SDFDisplacement;

View file

@ -14,7 +14,7 @@ import net.minecraft.world.level.levelgen.Heightmap;
import net.minecraft.world.level.levelgen.feature.Feature;
import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext;
import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration;
import ru.bclib.api.BiomeAPI;
import ru.bclib.api.biomes.BiomeAPI;
import ru.bclib.api.TagAPI;
import ru.bclib.interfaces.BiomeSetter;
import ru.bclib.util.BlocksHelper;

View file

@ -15,7 +15,7 @@ import net.minecraft.world.level.levelgen.Heightmap.Types;
import net.minecraft.world.level.levelgen.feature.Feature;
import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext;
import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration;
import ru.bclib.api.BiomeAPI;
import ru.bclib.api.biomes.BiomeAPI;
import ru.bclib.api.TagAPI;
import ru.bclib.util.BlocksHelper;
import ru.bclib.world.biomes.BCLBiome;

View file

@ -1,9 +1,11 @@
package ru.betterend.world.structures.piece;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.world.level.levelgen.feature.StructurePieceType;
import net.minecraft.world.level.levelgen.structure.BoundingBox;
import net.minecraft.world.level.levelgen.structure.StructurePiece;
import net.minecraft.world.level.levelgen.structure.pieces.StructurePieceSerializationContext;
public abstract class BasePiece extends StructurePiece {
protected BasePiece(StructurePieceType type, int i, BoundingBox boundingBox) {
@ -16,4 +18,11 @@ public abstract class BasePiece extends StructurePiece {
}
protected abstract void fromNbt(CompoundTag tag);
protected void addAdditionalSaveData(CompoundTag tag) {}
@Override
protected void addAdditionalSaveData(StructurePieceSerializationContext structurePieceSerializationContext, CompoundTag compoundTag) {
addAdditionalSaveData(compoundTag);
}
}

View file

@ -38,7 +38,7 @@ public class CavePiece extends BasePiece {
}
@Override
public boolean postProcess(WorldGenLevel world, StructureFeatureManager arg, ChunkGenerator chunkGenerator, Random random, BoundingBox blockBox, ChunkPos chunkPos, BlockPos blockPos) {
public void postProcess(WorldGenLevel world, StructureFeatureManager arg, ChunkGenerator chunkGenerator, Random random, BoundingBox blockBox, ChunkPos chunkPos, BlockPos blockPos) {
int x1 = MHelper.max(this.boundingBox.minX(), blockBox.minX());
int z1 = MHelper.max(this.boundingBox.minZ(), blockBox.minZ());
int x2 = MHelper.min(this.boundingBox.maxX(), blockBox.maxX());
@ -79,11 +79,11 @@ public class CavePiece extends BasePiece {
}
}
return true;
return;
}
@Override
protected void addAdditionalSaveData(ServerLevel serverLevel, CompoundTag tag) {
protected void addAdditionalSaveData(CompoundTag tag) {
tag.put("center", NbtUtils.writeBlockPos(center));
tag.putFloat("radius", radius);
}

View file

@ -16,7 +16,8 @@ import net.minecraft.world.level.chunk.ChunkGenerator;
import net.minecraft.world.level.levelgen.Heightmap;
import net.minecraft.world.level.levelgen.Heightmap.Types;
import net.minecraft.world.level.levelgen.structure.BoundingBox;
import ru.bclib.api.BiomeAPI;
import net.minecraft.world.level.levelgen.structure.pieces.StructurePieceSerializationContext;
import ru.bclib.api.biomes.BiomeAPI;
import ru.bclib.api.TagAPI;
import ru.bclib.util.MHelper;
import ru.betterend.registry.EndBlocks;

View file

@ -21,7 +21,7 @@ import net.minecraft.world.level.chunk.ChunkGenerator;
import net.minecraft.world.level.levelgen.Heightmap.Types;
import net.minecraft.world.level.levelgen.structure.BoundingBox;
import net.minecraft.world.level.material.FluidState;
import ru.bclib.api.BiomeAPI;
import ru.bclib.api.biomes.BiomeAPI;
import ru.bclib.api.TagAPI;
import ru.bclib.util.BlocksHelper;
import ru.bclib.util.MHelper;
@ -63,7 +63,7 @@ public class LakePiece extends BasePiece {
}
@Override
protected void addAdditionalSaveData(ServerLevel serverLevel, CompoundTag tag) {
protected void addAdditionalSaveData(CompoundTag tag) {
tag.put("center", NbtUtils.writeBlockPos(center));
tag.putFloat("radius", radius);
tag.putFloat("depth", depth);
@ -83,7 +83,7 @@ public class LakePiece extends BasePiece {
}
@Override
public boolean postProcess(WorldGenLevel world, StructureFeatureManager arg, ChunkGenerator chunkGenerator, Random random, BoundingBox blockBox, ChunkPos chunkPos, BlockPos blockPos) {
public void postProcess(WorldGenLevel world, StructureFeatureManager arg, ChunkGenerator chunkGenerator, Random random, BoundingBox blockBox, ChunkPos chunkPos, BlockPos blockPos) {
int minY = this.boundingBox.minY();
int maxY = this.boundingBox.maxY();
int sx = SectionPos.sectionToBlockCoord(chunkPos.x);

View file

@ -13,7 +13,7 @@ import net.minecraft.world.level.biome.Biome;
import net.minecraft.world.level.levelgen.Heightmap.Types;
import net.minecraft.world.level.levelgen.feature.StructurePieceType;
import net.minecraft.world.level.levelgen.structure.BoundingBox;
import ru.bclib.api.BiomeAPI;
import ru.bclib.api.biomes.BiomeAPI;
import ru.bclib.util.MHelper;
import ru.betterend.noise.OpenSimplexNoise;
@ -52,7 +52,7 @@ public abstract class MountainPiece extends BasePiece {
}
@Override
protected void addAdditionalSaveData(ServerLevel serverLevel, CompoundTag tag) {
protected void addAdditionalSaveData(CompoundTag tag) {
tag.put("center", NbtUtils.writeBlockPos(center));
tag.putFloat("radius", radius);
tag.putFloat("height", height);

View file

@ -30,7 +30,7 @@ public class VoxelPiece extends BasePiece {
}
@Override
protected void addAdditionalSaveData(ServerLevel serverLevel, CompoundTag tag) {
protected void addAdditionalSaveData(CompoundTag tag) {
tag.put("world", world.toBNT());
}
@ -40,8 +40,7 @@ public class VoxelPiece extends BasePiece {
}
@Override
public boolean postProcess(WorldGenLevel world, StructureFeatureManager arg, ChunkGenerator chunkGenerator, Random random, BoundingBox blockBox, ChunkPos chunkPos, BlockPos blockPos) {
public void postProcess(WorldGenLevel world, StructureFeatureManager arg, ChunkGenerator chunkGenerator, Random random, BoundingBox blockBox, ChunkPos chunkPos, BlockPos blockPos) {
this.world.placeChunk(world, chunkPos);
return true;
}
}