浏览代码

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
Sid Shakal 8 年之前
父节点
当前提交
b3e1acc563
共有 1 个文件被更改,包括 2 次插入2 次删除
  1. 2 2
      src/main/java/com/gmail/nossr50/runnables/skills/AbilityDisableTask.java

+ 2 - 2
src/main/java/com/gmail/nossr50/runnables/skills/AbilityDisableTask.java

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