Made it possible to convert between a chunk position and a coordinate.
Dieser Commit ist enthalten in:
Ursprung
80b99fccd9
Commit
235e6eeed2
@ -18,12 +18,44 @@ public class WrappedChunkCoordinate implements Comparable<WrappedChunkCoordinate
|
|||||||
|
|
||||||
protected ChunkCoordinates handle;
|
protected ChunkCoordinates handle;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new empty wrapper.
|
||||||
|
*/
|
||||||
|
public WrappedChunkCoordinate() {
|
||||||
|
this(new ChunkCoordinates());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a wrapper for a specific chunk coordinates.
|
||||||
|
* @param handle - the NMS chunk coordinates.
|
||||||
|
*/
|
||||||
public WrappedChunkCoordinate(ChunkCoordinates handle) {
|
public WrappedChunkCoordinate(ChunkCoordinates handle) {
|
||||||
if (handle == null)
|
if (handle == null)
|
||||||
throw new IllegalArgumentException("handle cannot be NULL");
|
throw new IllegalArgumentException("handle cannot be NULL");
|
||||||
this.handle = handle;
|
this.handle = handle;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a wrapper with specific values.
|
||||||
|
* @param x - the x coordinate.
|
||||||
|
* @param y - the y coordinate.
|
||||||
|
* @param z - the z coordinate.
|
||||||
|
*/
|
||||||
|
public WrappedChunkCoordinate(int x, int y, int z) {
|
||||||
|
this();
|
||||||
|
setX(x);
|
||||||
|
setY(y);
|
||||||
|
setZ(z);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a chunk coordinate wrapper from a given position.
|
||||||
|
* @param position - the given position.
|
||||||
|
*/
|
||||||
|
public WrappedChunkCoordinate(ChunkPosition position) {
|
||||||
|
this(position.getX(), position.getY(), position.getZ());
|
||||||
|
}
|
||||||
|
|
||||||
public ChunkCoordinates getHandle() {
|
public ChunkCoordinates getHandle() {
|
||||||
return handle;
|
return handle;
|
||||||
}
|
}
|
||||||
@ -68,6 +100,14 @@ public class WrappedChunkCoordinate implements Comparable<WrappedChunkCoordinate
|
|||||||
return handle.z;
|
return handle.z;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create an immutable chunk position from this coordinate.
|
||||||
|
* @return The new immutable chunk position.
|
||||||
|
*/
|
||||||
|
public ChunkPosition toPosition() {
|
||||||
|
return new ChunkPosition(getX(), getY(), getZ());
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the z coordinate of the underlying coordiate.
|
* Set the z coordinate of the underlying coordiate.
|
||||||
* @param newZ - the new z coordinate.
|
* @param newZ - the new z coordinate.
|
||||||
|
In neuem Issue referenzieren
Einen Benutzer sperren