Update to new LZ API. Switch to new Vector3d API

This commit is contained in:
zontreck 2024-04-12 08:06:43 -07:00
parent 6852af1e5f
commit ecb20540e4
16 changed files with 41 additions and 43 deletions

View file

@ -2,7 +2,8 @@ package dev.zontreck.essentials.rtp;
import dev.zontreck.ariaslib.util.Lists;
import dev.zontreck.essentials.AriasEssentials;
import dev.zontreck.libzontreck.vectors.Vector3;
import dev.zontreck.libzontreck.vectors.Vector3d;
import dev.zontreck.libzontreck.vectors.Vector3i;
import dev.zontreck.libzontreck.vectors.WorldPosition;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
@ -30,7 +31,7 @@ public class RTP {
private int tries;
public RTP(ServerLevel level) {
position = new WorldPosition(new Vector3(0, -60, 0), WorldPosition.getDim(level));
position = new WorldPosition(new Vector3d(0, -60, 0), WorldPosition.getDim(level));
dimension = position.getActualDimension();
if (position.getActualDimension().dimensionType().hasCeiling()) {
@ -105,11 +106,11 @@ public class RTP {
Random rng = new Random(Instant.now().getEpochSecond());
Vector3 pos;
Vector3d pos;
BlockPos bpos;
do {
pos = new Vector3(rng.nextDouble(0xFFFF), -60, rng.nextDouble(0xFFFF));
pos = new Vector3d(rng.nextDouble(0xFFFF), -60, rng.nextDouble(0xFFFF));
pos = spiralPositions(pos);
position.Position = pos;
@ -124,18 +125,18 @@ public class RTP {
ChunkStatus status = ChunkStatus.SPAWN;
dimension.getChunk(bpos.getX() >> 4, bpos.getZ() >> 4, status);
Vector3 pos = new Vector3(dimension.getHeightmapPos(heightMapType, bpos));
Vector3d pos = new Vector3d(dimension.getHeightmapPos(heightMapType, bpos));
return dimension.getWorldBorder().isWithinBounds(pos.asBlockPos());
}
private Vector3 spiralPositions(Vector3 position) {
Vec3i posi = position.asMinecraftVec3i();
private Vector3d spiralPositions(Vector3d position) {
Vec3i posi = position.asVec3i();
BlockPos startBlockPos = new BlockPos(posi.getX(), dimension.getSeaLevel(), posi.getZ());
for (BlockPos pos : BlockPos.spiralAround(startBlockPos, 16, Direction.WEST, Direction.NORTH)) {
if (isSafe(pos)) {
// Set the new position
return new Vector3(pos);
return new Vector3d(pos);
}
}