geforkt von Mirrors/FastAsyncWorldEdit
Fixed HMPlayer.getSolidBlockTrace() and HMPlayer.getBlockTrace() returning null for the world. Changed LocalPlayer.findFreePosition() to take a WorldVector instead.
Dieser Commit ist enthalten in:
Ursprung
03cf12fcfd
Commit
d997dbac2b
@ -71,7 +71,7 @@ public class HMPlayer extends LocalPlayer {
|
|||||||
if (block == null) {
|
if (block == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
return new WorldVector(null, block.getX(), block.getY(), block.getZ());
|
return new WorldVector(world, block.getX(), block.getY(), block.getZ());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -92,7 +92,7 @@ public class HMPlayer extends LocalPlayer {
|
|||||||
if (block == null) {
|
if (block == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
return new WorldVector(null, block.getX(), block.getY(), block.getZ());
|
return new WorldVector(world, block.getX(), block.getY(), block.getZ());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -74,7 +74,8 @@ public abstract class LocalPlayer {
|
|||||||
*
|
*
|
||||||
* @param searchPos search position
|
* @param searchPos search position
|
||||||
*/
|
*/
|
||||||
public void findFreePosition(LocalWorld world, Vector searchPos) {
|
public void findFreePosition(WorldVector searchPos) {
|
||||||
|
LocalWorld world = searchPos.getWorld();
|
||||||
int x = searchPos.getBlockX();
|
int x = searchPos.getBlockX();
|
||||||
int y = Math.max(0, searchPos.getBlockY());
|
int y = Math.max(0, searchPos.getBlockY());
|
||||||
int origY = y;
|
int origY = y;
|
||||||
@ -108,7 +109,7 @@ public abstract class LocalPlayer {
|
|||||||
* that free position.
|
* that free position.
|
||||||
*/
|
*/
|
||||||
public void findFreePosition() {
|
public void findFreePosition() {
|
||||||
findFreePosition(getPosition().getWorld(), getBlockIn());
|
findFreePosition(getBlockIn());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -467,8 +467,8 @@ public class Vector {
|
|||||||
*/
|
*/
|
||||||
public boolean containedWithin(Vector min, Vector max) {
|
public boolean containedWithin(Vector min, Vector max) {
|
||||||
return x >= min.getX() && x <= max.getX()
|
return x >= min.getX() && x <= max.getX()
|
||||||
&& y >= min.getY() && z <= max.getY()
|
&& y >= min.getY() && y <= max.getY()
|
||||||
&& z >= min.getZ() && z <= max.getY();
|
&& z >= min.getZ() && z <= max.getZ();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -467,7 +467,7 @@ public class WorldEditController {
|
|||||||
checkArgs(split, 0, 0, split[0]);
|
checkArgs(split, 0, 0, split[0]);
|
||||||
WorldVector pos = player.getSolidBlockTrace(300);
|
WorldVector pos = player.getSolidBlockTrace(300);
|
||||||
if (pos != null) {
|
if (pos != null) {
|
||||||
player.findFreePosition(pos.getWorld(), pos);
|
player.findFreePosition(pos);
|
||||||
player.print("Poof!");
|
player.print("Poof!");
|
||||||
} else {
|
} else {
|
||||||
player.printError("No block in sight!");
|
player.printError("No block in sight!");
|
||||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren