if (watertime >= 1) {
boolean canflow = false;
try {
for (int x = blockX - 36; x < x1 + 36; x++) {
if (x <= 0)
continue;
for (int y = y1 + 17; y > blockY - 17; y--) {
if (y <= 0)
continue;
if (x >= worldW || y >= worldH)
continue;
if (waterFall(x, y) == true) {
makeW(x, y);
makeW(x + 1, y);
makeW(x - 1, y);
makeW(x, y + 1);
}
}
}
canflow = false;
for (int x = x1 + 36; x > blockX - 36; x--) {
if (x <= 0)
continue;
for (int y = y1 + 17; y > blockY - 17; y--) {
if (y <= 0)
continue;
if (x >= worldW || y >= worldH)
continue;
if (block[x][y + 1] != null) {
if (water[x][y + 1] == wMass || getState(x, y + 1) == 1)
canflow = true;
}
if (canflow) {
if (x <= 1 || y <= 1)
continue;
if (x >= worldW - 1 || y >= worldH - 1)
continue;
waterRight(x, y);
}
}
}
canflow = false;
for (int x = blockX - 36; x < x1 + 36; x++) {
if (x <= 0)
continue;
for (int y = y1 + 17; y > blockY - 17; y--) {
if (y <= 0)
continue;
if (x >= worldW || y >= worldH)
continue;
if (water[x][y + 1] == wMass || getState(x, y + 1) == 1)
canflow = true;
if (canflow) {
if (x < 0 || y < 0)
continue;
if (x > worldW || y > worldH)
return;
if (World.block[x][y] == null)
continue;
waterLeft(x, y);
}
// waterUp(x, y);
}
}
} catch (Exception e) {
e.printStackTrace();
}
watertime = 0;
} else {
watertime += delta;
}