3
0
Mirror von https://github.com/IntellectualSites/FastAsyncWorldEdit.git synchronisiert 2024-12-26 02:50:06 +01:00

Fixed inaccuracy with LocalPlayer.getBlockIn() and LocalPlayer.getBlockOn().

Dieser Commit ist enthalten in:
sk89q 2011-01-08 10:52:48 -08:00
Ursprung e8d6c0acfe
Commit 2f71a32f64
2 geänderte Dateien mit 20 neuen und 2 gelöschten Zeilen

Datei anzeigen

@ -276,7 +276,9 @@ public abstract class LocalPlayer {
* @return point * @return point
*/ */
public WorldVector getBlockIn() { public WorldVector getBlockIn() {
return getPosition(); WorldVector pos = getPosition();
return WorldVector.toBlockPoint(pos.getWorld(), pos.getX(),
pos.getY(), pos.getZ());
} }
/** /**
@ -286,7 +288,8 @@ public abstract class LocalPlayer {
*/ */
public WorldVector getBlockOn() { public WorldVector getBlockOn() {
WorldVector pos = getPosition(); WorldVector pos = getPosition();
return new WorldVector(pos.getWorld(), pos.subtract(0, 1, 0)); return WorldVector.toBlockPoint(pos.getWorld(), pos.getX(),
pos.getY() - 1, pos.getZ());
} }
/** /**

Datei anzeigen

@ -93,6 +93,21 @@ public class WorldVector extends Vector {
return world; return world;
} }
/**
* Get a block point from a point.
*
* @param x
* @param y
* @param z
* @return point
*/
public static WorldVector toBlockPoint(LocalWorld world, double x, double y,
double z) {
return new WorldVector(world, (int)Math.floor(x),
(int)Math.floor(y),
(int)Math.floor(z));
}
/** /**
* Gets a BlockVector version. * Gets a BlockVector version.
* *