diff --git a/CraftBukkit-Patches/0066-Orebfuscator.patch b/CraftBukkit-Patches/0066-Orebfuscator.patch index 4c5ab8bb9b..0ae68b4c44 100644 --- a/CraftBukkit-Patches/0066-Orebfuscator.patch +++ b/CraftBukkit-Patches/0066-Orebfuscator.patch @@ -1,4 +1,4 @@ -From 843082121ed14c89160bebea30de24837bcc8f2b Mon Sep 17 00:00:00 2001 +From 149f988a0165f036934d7f0fd527404b5a53a224 Mon Sep 17 00:00:00 2001 From: md_5 Date: Thu, 16 May 2013 18:51:05 +1000 Subject: [PATCH] Orebfuscator @@ -128,15 +128,16 @@ index cbb4e77..106f27a 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..3853903 +index 0000000..8e69bff --- /dev/null +++ b/src/main/java/org/spigotmc/AntiXray.java -@@ -0,0 +1,202 @@ +@@ -0,0 +1,212 @@ +package org.spigotmc; + +import gnu.trove.set.TByteSet; +import gnu.trove.set.hash.TByteHashSet; +import net.minecraft.server.Block; ++import net.minecraft.server.Blocks; +import net.minecraft.server.World; + +public class AntiXray @@ -324,7 +325,7 @@ index 0000000..3853903 + + private static boolean hasTransparentBlockAdjacent(World world, int x, int y, int z, int radius) + { -+ return !world.getType(x, y, z).r() /* isSolidBlock */ ++ return !isSolidBlock(world.getType(x, y, z)) /* isSolidBlock */ + || ( radius > 0 + && ( hasTransparentBlockAdjacent( world, x + 1, y, z, radius - 1 ) + || hasTransparentBlockAdjacent( world, x - 1, y, z, radius - 1 ) @@ -333,6 +334,15 @@ index 0000000..3853903 + || hasTransparentBlockAdjacent( world, x, y, z + 1, radius - 1 ) + || hasTransparentBlockAdjacent( world, x, y, z - 1, radius - 1 ) ) ); + } ++ ++ private static boolean isSolidBlock(Block block) { ++ // Mob spawners are treated as solid blocks as far as the ++ // game is concerned for lighting and other tasks but for ++ // rendering they can be seen through therefor we special ++ // case them so that the antixray doesn't show the fake ++ // blocks around them. ++ return block.r() && block != Blocks.MOB_SPAWNER; ++ } +} diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java index 2ec047c..2c0501d 100644