Changelog:
1.9.2.2 - Fixed players receiving sign data out of order. For the meantime, chunk compression only uses one thread to keep packet order.

1.9.1.1 - Compatibility with the latest Bukkit versions. Split chunk compression into using up to two of its own threads.

1.8.1.1 - Minecraft 1.2 compatibility. Cpu usage improvements in some engine modes. Added new engine mode 3, only checks light levels.

1.7.3.9 - Updated for Craft Bukkit's new event system (R5)

1.7.2.6 - Update for CB Minecraft 1.0 versions

1.7.1.1 - Added support for seperate configurations for different worlds, usemultipleworldconfigurations and maingroundblock config options, /otco-configs command

1.6.5.1 - Various commands for debugging added in, Engine Mode 4 starts out with two stone blocks before iron ore starts now, world edit compass teleports and etc. issues fixed

1.6.4.4 - Added a config to disable the obfuscater for ops, as some administraters have asked for

1.6.3.3 - Updated for the new Bukkit chunk compressor

1.6.2.2 - Fixed ores not updating when the block removal event is cancelled

1.6.1.6 - hidechests config added for all engines, Mode 3 deprecated, fixed residual lighting bug

1.5.1.3 - Speedups, more threading

1.4.3.8 - Fixed stone turning into ore as you mine. The server was sending MapChunk updates whenever lighting changed. Engine Mode 4 is now the default mode.

1.4.2.7 - Removed a debug code that was messing up mode 3.

1.4.1.6 - Completely changed edge of chunk handling, works amazingly better in all engine modes. Fixed Ore Radius visual issue, default and recommended values are 2 now.

1.3.1.1 - Confirmed to work with CB 1000. Added Engine Mode 5 based off of Borch's random ore replacement. Block update forcing on explosions has been added and can be turned on or off. Ore updates can now be sent in a configurable radius to work better for players with bad connections.

1.2.2.9 - Fixed issue with Mode 4 that made stone constructions appear as ore. Fixed adjacent blocks popping off.

1.2.1.5 - Added transparent block ids to the config file (run once at it will be added). Engine mode 4 added, turns all stone and ores without adjacent blocks into iron ore above height 20 and diamond ore below

1.1.2.3 - Signs/Torches/Buttons/Levers/Mushrooms/Flowers are counted as transparent blocks now

1.1.1.2 - Added an engine mode config, and a new engine mode that hides all ores regardless of adjacent blocks

1.0.2.4 - Fixed a math error related to the edges of chunks

1.0.1.3 - First Public Release

Installation:
Step 1: Copy rawcritics_ore_obfuscation_plugin_installation.jar to your server's plugins folder. Start the server, and let the patcher run. On some operating systems the patcher will not be able to automatically replace your server jar with the patched one, so if a file called "rawcbpatchtemp.jar" is in the same directory as your craftbukkit.jar after the patcher has finished and the server shutdown, you'll need to rename and use "rawcbpatchtemp.jar". Otherwise, the original server jar has been backed up with .original added to the end of its name, and the patcher server jar replaced it.

Step 1 (other method): Or you can copy the "net" and "org" folders into your server.jar
Specifically, Packet51MapChunk.class goes in craftbukkit.jar/net/minecraft/server/ and ChunkCompressionThread.class goes in craftbukkit.jar/org/bukkit/craftbukkit/ and they replace the ones already in there. Back up the old one first if you don't want to redownload the whole server to remove it!

Step 2: Add rawcritics_ore_obfuscation_plugin.jar to your server's plugins folder. No other configuration has to be made, just start the server and see if the plugin starts right.

The default ore obfuscation engine is recommended, but you can change which one in the config at \plugins\RawcriticsOreObfuscationPlugin\oo-engine-mode.txt  - Also contains information on the different types

To set up seperate configurations for different worlds, in oo-engine-mode.txt change usemultipleworldconfigurations=false to usemultipleworldconfigurations=true , then create a new yourworldname.txt, name_of_another_world.txt, etc. (any text file with the name of one of your world folders) files for specific worlds you want to configure. The settings in oo-engine-mode.txt will be used as the default settings for any world that does not have a configuration file. Run the server once to generate default configuration settings, note that obfuscation can be disabled for specific worlds be changing enginemode=4 to enginemode=0

Packet51MapChunk.class may break inbetween server versions, although probably only after major minecraft updates!

The latest version will always be available from http://www.rawcritics.com/minecraft/files/tyr/downloadtracker.php?file=Tyr_Ore_Obfuscation.zip