Demonstration 1

Orebfuscator - Anti X-RAY:

Version: 3.0.5

This plugin is used to counter X-RAY Client mods.

It modifies data that are sent to clients to hide blocks of your choice, such as Ore, chests, dungeons, etc.

It does not manipulate blocks in the world file, thus is safe to use.

ProximityHider is a feature that hides chests that are far from players.


Configuration Guide





Dropbox link removed due to Bukkit regulations. Latest version should be on BukkitDev, if not, then the dropbox link is still in the forum thread.

Please also download ProtocolLib and install it in the plugins folder. Download link: http://dev.bukkit.org/server-mods/protocollib/


  • Advanced algorithm that hides ore, chest and and anything you specify in the configuration
  • Spout compatible, but optional
  • No modifications to CraftBukkit.jar is needed
  • Customize the blocks you want to hide
  • HIDES DUNGEONS and other blocks that are in the dark
  • Different hiding mode, or scrambling.
  • Extensive configuration. Change updating methods depending on your bandwidth and processing speed.
  • Hide hidden chests and furnaces until a player is close to it.


Install: Copy "Orebfuscator.jar" to your plugins folder, and restart/reload your server.


See this: https://github.com/lishd/Orebfuscator/wiki


See this: https://github.com/lishd/Orebfuscator/wiki


See this: https://github.com/lishd/Orebfuscator/wiki

Source Code

Here you go! (Hosted on Github)


  • This plugin utilises Hidendra's plugin metrics system, which means that anonymous information of your OS and setup will be collected and sent to mcstats.org
  • Opting out of this service can be done by editing plugins/Plugin Metrics/config.yml and changing opt-out to true.


  • This plugin uses an Auto-updater to fetch the latest version from BukkitDev automatically. It can be disabled in the configuration file.


  • AFFORESS, major help on code optimization and spout support!
  • raphfrk, helped with packet processing
  • Many donators!


  • None ATM


  • A command that generates the world cache for the existing chunks.


Version 3.0.5
  • Updated to MC1.8.3.

Full history: https:github.com/lishd/Orebfuscator/wiki/Version-History




CPU testing with Initial radius and Caching:


A quick donation is always appreciated :D




You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of JavituRec JavituRec Feb 20, 2015 at 16:02 UTC - 0 likes

    Hello, I have a problem with version Orebfuscator 2.1.7. I put Orebfuscator in my plugins folder, start to create config and stop server . Now I adjust values in the config and disable "CheckForUpdates: false". Restart the server and is self-updating to the latest version of Orebfuscator and then not work. My server is version 1.7.2.


  • Avatar of lishid lishid Feb 20, 2015 at 08:38 UTC - 0 likes

    @Si7VdeR: Go

    There's a permission here: https://github.com/lishid/Orebfuscator/wiki/Permissions

    @HubToo: Go

    Orebfuscator doesn't support non CB implementations, which includes forge/modloader stuff, cauldron, etc.

  • Avatar of lishid lishid Feb 20, 2015 at 08:36 UTC - 1 like

    @henryvoll: Go

    That's really weird. What other plugins do you have enabled?

    @Th3PotatoArmyHD: Go

    A lot of hacked clients can see ores, but the question is can it still see ores with Orebfuscator enabled.

  • Avatar of Th3PotatoArmyHD Th3PotatoArmyHD Feb 19, 2015 at 11:40 UTC - 0 likes
  • Avatar of henryvoll henryvoll Feb 12, 2015 at 00:31 UTC - 0 likes

    First of all - thanks for a fantastic plugin.

    I am having trouble with the "noise" only being generated in certain spots. Typically xray-obfuscation is being done far away, and everything between is legit. An xray can still find ores - he's just slightly hindered at a distance.

    I'm explaining horribly - I took a screenshot: http://i.imgur.com/K8Wdtfc.png Am I not understanding the settings, or am I doing something else wrong?

    Same screenshot with Xray OFF: http://i.imgur.com/QVfxLVU.jpg

    Last edited Feb 12, 2015 by henryvoll: Added another screenshot (before/after)
  • Avatar of ScrimCraft ScrimCraft Jan 31, 2015 at 21:50 UTC - 0 likes

    @iversen0: Go

    Use ProtocolLib's 1.8 dev builds: http://ci.shadowvolt.com/job/ProtocolLib/

  • Avatar of iversen0 iversen0 Jan 31, 2015 at 21:42 UTC - 0 likes

    Sucks that ProtocolLib isn't updated. My server is kinda filled with x-rayers right now...

  • Avatar of Bobcat00 Bobcat00 Jan 30, 2015 at 22:55 UTC - 0 likes

    @madtomic: Go

    You can get a version that works for 1.7.9 here:

    Last edited Jan 30, 2015 by Bobcat00

    Server: lanapug.com - Survival/PVP, 7 Mob Arenas, Creative World
    Web site: www.bobcat00.com

  • Avatar of madtomic madtomic Jan 30, 2015 at 04:23 UTC - 0 likes

    Please update and support 1.7.9

  • Avatar of HubToo HubToo Jan 26, 2015 at 23:13 UTC - 0 likes

    Hello again. I downgraded to version v2.1.7, apparently the last to support Minecraft 1.7.10. Now there are no errors on startup.

    However, right after a player logs in the game, i get the following warning in the server log:

    [13:22:38] [Server thread/ERROR]: [OFC] java.lang.NoSuchFieldException: chunkCoordIntPairQueue
    [13:22:38] [Server thread/WARN]: java.lang.NoSuchFieldException: chunkCoordIntPairQueue
    [13:22:38] [Server thread/WARN]:        at java.lang.Class.getDeclaredField(Class.java:2062)
    [13:22:38] [Server thread/WARN]:        at com.lishid.orebfuscator.utils.ReflectionHelper.setPrivateFinal(ReflectionHelper.java:58)
    [13:22:38] [Server thread/WARN]:        at com.lishid.orebfuscator.internal.v1_7_R4.PlayerHook.HookChunkQueue(PlayerHook.java:125)
    [13:22:38] [Server thread/WARN]:        at com.lishid.orebfuscator.hook.OrebfuscatorPlayerHook.onPlayerJoin(OrebfuscatorPlayerHook.java:45)
    [13:22:38] [Server thread/WARN]:        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    [13:22:38] [Server thread/WARN]:        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    [13:22:38] [Server thread/WARN]:        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    [13:22:38] [Server thread/WARN]:        at java.lang.reflect.Method.invoke(Method.java:483)
    [13:22:38] [Server thread/WARN]:        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:334)
    [13:22:38] [Server thread/WARN]:        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
    [13:22:38] [Server thread/WARN]:        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:507)
    [13:22:38] [Server thread/WARN]:        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:492)
    [13:22:38] [Server thread/WARN]:        at net.minecraft.server.management.ServerConfigurationManager.func_72377_c(ServerConfigurationManager.java:352)
    [13:22:38] [Server thread/WARN]:        at net.minecraft.server.management.ServerConfigurationManager.a(ServerConfigurationManager.java:218)
    [13:22:38] [Server thread/WARN]:        at cpw.mods.fml.common.network.handshake.NetworkDispatcher.completeServerSideConnection(NetworkDispatcher.java:173)
    [13:22:38] [Server thread/WARN]:        at cpw.mods.fml.common.network.handshake.NetworkDispatcher.completeHandshake(NetworkDispatcher.java:448)
    [13:22:38] [Server thread/WARN]:        at cpw.mods.fml.common.network.internal.HandshakeCompletionHandler.channelRead0(HandshakeCompletionHandler.java:21)
    [13:22:38] [Server thread/WARN]:        at cpw.mods.fml.common.network.internal.HandshakeCompletionHandler.channelRead0(HandshakeCompletionHandler.java:11)
    [13:22:38] [Server thread/WARN]:        at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:98)
    [13:22:38] [Server thread/WARN]:        at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337)
    [13:22:38] [Server thread/WARN]:        at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323)
    [13:22:38] [Server thread/WARN]:        at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
    [13:22:38] [Server thread/WARN]:        at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111)
    [13:22:38] [Server thread/WARN]:        at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337)
    [13:22:38] [Server thread/WARN]:        at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323)
    [13:22:38] [Server thread/WARN]:        at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785)
    [13:22:38] [Server thread/WARN]:        at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:169)
    [13:22:38] [Server thread/WARN]:        at cpw.mods.fml.common.network.internal.FMLProxyPacket.func_148833_a(FMLProxyPacket.java:77)
    [13:22:38] [Server thread/WARN]:        at net.minecraft.network.NetworkManager.func_74428_b(NetworkManager.java:244)
    [13:22:38] [Server thread/WARN]:        at net.minecraft.network.NetworkSystem.func_151269_c(NetworkSystem.java:173)
    [13:22:38] [Server thread/WARN]:        at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:980)
    [13:22:38] [Server thread/WARN]:        at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:423)
    [13:22:38] [Server thread/WARN]:        at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:798)
    [13:22:38] [Server thread/WARN]:        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:658)
    [13:22:38] [Server thread/WARN]:        at java.lang.Thread.run(Thread.java:745)

    And after that, as long as the player stays logged in, i have these kind of things (repeated 2888 times!):

    [13:31:33] [Netty IO #0/ERROR]: [OFC] java.lang.NoSuchFieldException: e
    [13:31:33] [Netty IO #0/WARN]: java.lang.NoSuchFieldException: e
    [13:31:33] [Netty IO #0/WARN]:  at java.lang.Class.getDeclaredField(Class.java:2062)
    [13:31:33] [Netty IO #0/WARN]:  at com.lishid.orebfuscator.utils.ReflectionHelper.getPrivateField(ReflectionHelper.java:27)
    [13:31:33] [Netty IO #0/WARN]:  at com.lishid.orebfuscator.internal.v1_7_R4.Packet51.setPacket(Packet51.java:40)
    [13:31:33] [Netty IO #0/WARN]:  at com.lishid.orebfuscator.internal.v1_7_R4.PlayerHook$OutboundChannelHandler.write(PlayerHook.java:85)
    [13:31:33] [Netty IO #0/WARN]:  at io.netty.channel.DefaultChannelHandlerContext.invokeWrite(DefaultChannelHandlerContext.java:644)
    [13:31:33] [Netty IO #0/WARN]:  at io.netty.channel.DefaultChannelHandlerContext.write(DefaultChannelHandlerContext.java:698)
    [13:31:33] [Netty IO #0/WARN]:  at io.netty.channel.DefaultChannelHandlerContext.writeAndFlush(DefaultChannelHandlerContext.java:688)
    [13:31:33] [Netty IO #0/WARN]:  at io.netty.channel.DefaultChannelHandlerContext.writeAndFlush(DefaultChannelHandlerContext.java:717)
    [13:31:33] [Netty IO #0/WARN]:  at io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:893)
    [13:31:33] [Netty IO #0/WARN]:  at io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:239)
    [13:31:33] [Netty IO #0/WARN]:  at net.minecraft.network.NetworkManager$1.run(NetworkManager.java:198)
    [13:31:33] [Netty IO #0/WARN]:  at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:354)
    [13:31:33] [Netty IO #0/WARN]:  at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:348)
    [13:31:33] [Netty IO #0/WARN]:  at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:101)
    [13:31:33] [Netty IO #0/WARN]:  at java.lang.Thread.run(Thread.java:745)
    [13:31:33] [Netty IO #0/ERROR]: [OFC] java.lang.NoSuchFieldException: f

    Any idea? Is it working anyway, or should i revert to Spiggot antixray?

    Best regards,


Date created
Sep 24, 2011
Last update
Mar 18, 2015
Development stage
  • enUS
GNU General Public License version 3 (GPLv3)
Curse link
Recent files