Correcting conditions related to "ghost block" mitigation.

If radius is 1 (as it is when called elsewhere in the class), the loop
conditions fail to refresh some of the neighboring chunks, allowing for
ghost blocks to continue to occur on eastern and southern edges of the
chunk the player is in.

This commit fixes the loop conditions.

= Chunk diagram of old behavior =
-----
-RR--
-RP--
-----
-----

= Chunk diagram of new behavior =
-----
-RRR-
-RPR-
-RRR-
-----

= Legend =
P: the chunk the player is in
R and P: chunks that are refreshed
-: chunks that do not get refreshed
This commit is contained in:
Sid Shakal 2016-08-07 17:32:34 -05:00
parent 8901db4e18
commit b3e1acc563

View File

@ -70,8 +70,8 @@ public class AbilityDisableTask extends BukkitRunnable {
int chunkX = chunk.getX(); int chunkX = chunk.getX();
int chunkZ = chunk.getZ(); int chunkZ = chunk.getZ();
for (int x = chunkX - radius; x < chunkX + radius; x++) { for (int x = chunkX - radius; x <= chunkX + radius; x++) {
for (int z = chunkZ - radius; z < chunkZ + radius; z++) { for (int z = chunkZ - radius; z <= chunkZ + radius; z++) {
world.refreshChunk(x, z); world.refreshChunk(x, z);
} }
} }