Update to new LZ API. Switch to new Vector3d API
This commit is contained in:
parent
6852af1e5f
commit
ecb20540e4
16 changed files with 41 additions and 43 deletions
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue