diff --git a/CraftBukkit-Patches/0068-Orebfuscator.patch b/CraftBukkit-Patches/0068-Orebfuscator.patch index 8f9ceb702..cacef428c 100644 --- a/CraftBukkit-Patches/0068-Orebfuscator.patch +++ b/CraftBukkit-Patches/0068-Orebfuscator.patch @@ -1,4 +1,4 @@ -From af77f1fa0985f52d888dfd1d6302aa41d0dc786d Mon Sep 17 00:00:00 2001 +From dd8fba0627e568fbfc40eefb307583ccf28864e4 Mon Sep 17 00:00:00 2001 From: md_5 Date: Thu, 16 May 2013 18:51:05 +1000 Subject: [PATCH] Orebfuscator @@ -128,10 +128,10 @@ index 5b0875d..1aca7f6 100644 public void b(int i, int j, int k, Block block, int l) { diff --git a/src/main/java/org/spigotmc/AntiXray.java b/src/main/java/org/spigotmc/AntiXray.java new file mode 100644 -index 0000000..297fae8 +index 0000000..3853903 --- /dev/null +++ b/src/main/java/org/spigotmc/AntiXray.java -@@ -0,0 +1,200 @@ +@@ -0,0 +1,202 @@ +package org.spigotmc; + +import gnu.trove.set.TByteSet; @@ -237,6 +237,7 @@ index 0000000..297fae8 + // For some reason we can get too far ahead of ourselves (concurrent modification on bulk chunks?) so if we do, just abort and move on + if ( index >= buffer.length ) + { ++ index++; + continue; + } + // Grab the block ID in the buffer. @@ -245,13 +246,14 @@ index 0000000..297fae8 + // Check if the block should be obfuscated + if ( obfuscateBlocks[blockId] ) + { -+ // TODO: Don't really understand this, but if radius is not 0 and the world isn't loaded, bail out -+ if ( initialRadius != 0 && !isLoaded( world, startX + x, ( i << 4 ) + y, startZ + z, initialRadius ) ) ++ // The world isn't loaded, bail out ++ if ( !isLoaded( world, startX + x, ( i << 4 ) + y, startZ + z, initialRadius ) ) + { ++ index++; + continue; + } + // On the otherhand, if radius is 0, or the nearby blocks are all non air, we can obfuscate -+ if ( initialRadius == 0 || !hasTransparentBlockAdjacent( world, startX + x, ( i << 4 ) + y, startZ + z, initialRadius ) ) ++ if ( !hasTransparentBlockAdjacent( world, startX + x, ( i << 4 ) + y, startZ + z, initialRadius ) ) + { + switch ( world.spigotConfig.engineMode ) + { @@ -311,13 +313,13 @@ index 0000000..297fae8 + private static boolean isLoaded(World world, int x, int y, int z, int radius) + { + return world.isLoaded( x, y, z ) -+ || ( radius > 0 -+ && ( isLoaded( world, x + 1, y, z, radius - 1 ) -+ || isLoaded( world, x - 1, y, z, radius - 1 ) -+ || isLoaded( world, x, y + 1, z, radius - 1 ) -+ || isLoaded( world, x, y - 1, z, radius - 1 ) -+ || isLoaded( world, x, y, z + 1, radius - 1 ) -+ || isLoaded( world, x, y, z - 1, radius - 1 ) ) ); ++ && ( radius == 0 || ++ ( isLoaded( world, x + 1, y, z, radius - 1 ) ++ && isLoaded( world, x - 1, y, z, radius - 1 ) ++ && isLoaded( world, x, y + 1, z, radius - 1 ) ++ && isLoaded( world, x, y - 1, z, radius - 1 ) ++ && isLoaded( world, x, y, z + 1, radius - 1 ) ++ && isLoaded( world, x, y, z - 1, radius - 1 ) ) ); + } + + private static boolean hasTransparentBlockAdjacent(World world, int x, int y, int z, int radius) @@ -381,5 +383,5 @@ index d4e8bf4..b9399ad 100644 + } } -- -1.8.3.2 +1.8.4.msysgit.0