我在java中有一个小方法来计算坐标。但如果其中一个坐标是负数,我只得到0而不是负数。
private static void highlightIslandBorders(Location loc) {
World world = loc.getWorld();
int sx = loc.getBlockX();
sx -= sx % islandSize;
int sz = loc.getBlockZ();
sz -= sz % islandSize;
if ((sx < 0) || (sz < 0)) {
return;
}
int ex = sx + islandSize - 1;
int ez = sz + islandSize - 1;
int y = loc.getBlockY() - 1;
Material cornerMat = Material.GLOWSTONE;
world.getBlockAt(sx, y, sz).setType(cornerMat);
world.getBlockAt(ex, y, sz).setType(cornerMat);
world.getBlockAt(sx, y, ez).setType(cornerMat);
world.getBlockAt(ex, y, ez).setType(cornerMat);
}
答案 0 :(得分:0)
你到底在哪里得到0?
int islandSize = 3;
int sx = -100;
System.out.println("Mod: " + (sx % islandSize));
sx -= sx % islandSize;
System.out.println("sx: " + sx);
结果
Mod:-1
sx:-99