-
-# How it works
-
-As chunks are loaded the game provides metadata about all the different structures & features in those chunks. The mod interprets this meta data, caches the results, and renders the bounding boxes to the screen. In an SMP environment this data is not present on the clients so the mod needs to run on the server where the processing happens and then the relevant metadata is sent to the clients for them to render.
-
-# Installing (Forge)
-
-Make sure you have Forge 1.8 installed then drop the jar file into the mods/1.8 folder. Remember this will need to be installed on client and server in an SMP scenario (unless you use local dat files - see below)
-
-# Installing (Vanilla)
-
-Copy the contents of the Vanilla archive into the JAR file as per usual. In a SMP scenario you'll need to use local dat files - see below.
-
-# Configuring
-
-The keyboard shortcut can be configured in the standard Controls screen.
-
-The following options are available for configuration
-
-Option | Client/Server | Description | Cfg File Key | Cfg File Values | Default
---- | --- | --- | --- | --- | ---
-Nether Fortresses | Both | Process/Render Nether Fortresses | drawNetherFortresses | true/false | true
-Witch Huts | Both | Process/Render Witch Huts | drawWitchHuts | true/false | true
-Desert Temples | Both | Process/Render Desert Temples | drawDesertTemples | true/false | true
-Jungle Temples | Both | Process/Render Jungle Temples | drawJungleTemples | true/false | true
-Ocean Monuments | Both | Process/Render Ocean Monuments | drawOceanMonuments | true/false | true
-Strongholds | Both | Process/Render Strongholds | drawStrongholds | true/false | false
-Mine Shafts | Both | Process/Render Mine Shafts | drawMineShafts | true/false | false
-Villages | Both | Process/Render Villages | drawVillages | true/false | true
-Village spheres | Client | Render Villages as spheres instead of cuboids | renderVillageAsSphere | true/false | true
-Village Iron Golem Spawn Area | Client | Render Iron Golem Spawn Area within valid Villages | drawIronGolemSpawnArea | true/false | true
-Slime Chunks | Client | Process/Render Slime Chunks | drawSlimeChunks | true/false | true
-Slime Chunks Maximum Y | Client | Maximum Y value of the dynamic slime chunk boxes | slimeChunkMaxY | -1-255 (see below) | 0
-World Spawn | Client | Process/Render World Spawn & Spawn Active Chunks | drawWorldSpawn | true/false | true
-World Spawn Maximum Y | Client | Maximum Y value of the world spawn & spawn chunk boxes | worldSpawnMaxY | -1-255 (see below) | 0
-Lazy Spawn Chunks | Client | Process/Render Lazy Spawn Chunks | drawLazySpawnChunks | true/false | false
-Fill | Client | Fill the bounding boxes (except village ones) | fill | true/false | false
-Always Visible | Client | Bounding boxes are visible through blocks - kinda messes with perspective tho! | alwaysVisible | true/false | false
-Keep Cache Between Sessions | Client | Bounding box caches are not cleared when disconnecting from single or multiplayer worlds. | keepCacheBetweenSessions | true/false | false
+- Igloos (*); white boxes show where igloos are. Maybe you can convert the zombie villager back?
+- Shipwrecks (*); cyan boxes are like a lighthouse those wary sailors wish they'd had. Time to find some buried treasure?
+- Ocean ruins (*); cyan boxes show the different ocean ruin structures. Watch out for those pesky drowns tho!
+- Buried treasure (*); cyan boxes highlight where the heart of the sea can be found. Conduit anyone?
+- Mob Spawners; bright green boxes show where mob spawners are, where mobs will be spawned, and red/orange/green lines help the player see if a spawner is nearby and activated.
+- Pillager Outposts; grey boxes outline where crossbow wielding pillagers will spawn. Beware of bad omens tho!
+
+(*) Due to how Minecraft generates these structures they will initially float above where they should be, however upon re-logging they should drop down to the correct height. Unfortunately (or fortunately?) buried treasure will always appear at y-90 (unless Mojang change something that is!)
+
+## How it works
+
+As chunks are loaded the game provides metadata about all the different structures & features in those chunks. The mod interprets this meta data, caches the results, and renders the bounding boxes to the screen. In an SMP environment this data is not present on the clients so the mod needs to run on the server where the processing happens and then the relevant metadata is sent to the clients for them to render.
+
+## Installing (Forge/LiteLoader/Rift/Fabric)
+
+Make sure you have the relevant mod loader installed then drop the mod file into the appropriate mods folder. This approach can be used for client and server deployments where needed.
+
+## Installing (Vanilla)
+
+Double-click the jar file and a client profile for the relevant version of Minecraft will be created/updated in the launcher.
+
+## Running a server (Vanilla)
+
+To start a vanilla server with the mod loaded, copy the relevant jar file to a folder, and run:-
+```
+java -jar BBOutlineReloaded-{version}.jar --server
+```
+
+Running this will download the necessary pre-requisities and start the server.
+
+## Configuring
+
+The keyboard shortcuts can be configured in the standard Controls screen.
+
+The following options are available for configuration on the client through a configuration Gui. On Vanilla, Rift & Fabric there is a BBOR button on the options screen, alternatively press and hold B key when in game.
+
+Option | Description | Cfg File Key | Cfg File Values | Default
+--- | --- | --- | --- | ---
+Nether Fortresses | Process/Render Nether Fortresses | drawNetherFortresses | true/false | true
+Witch Huts | Process/Render Witch Huts | drawWitchHuts | true/false | true
+Desert Temples | Process/Render Desert Temples | drawDesertTemples | true/false | true
+Jungle Temples | Process/Render Jungle Temples | drawJungleTemples | true/false | true
+Ocean Monuments | Process/Render Ocean Monuments | drawOceanMonuments | true/false | true
+End Cities | Process/Render End Cities | drawEndCities | true/false | true
+Strongholds | Process/Render Strongholds | drawStrongholds | true/false | false
+Woodland Mansions | Process/Render Mansions | drawMansions | true/false | true
+Mine Shafts | Process/Render Mine Shafts | drawMineShafts | true/false | false
+Igloos | Process/Render Igloos | drawIgloos | true/false | true
+Shipwrecks | Process/Render Shipwrecks | drawShipwrecks | true/false | true
+Ocean Ruins | Process/Render Ocean Ruins | drawOceanRuins | true/false | true
+Buried Treasure | Process/Render Buried Treasure | drawBuriedTreasure | true/false | true
+Mob Spawner | Process/Render Mob Spawners | drawMobSpawners | true/false | true
+Mob Spawner Spawn Area | Render where mobs will be spawned | renderMobSpawnerSpawnArea | true/false | true
+Mob Spawner Activation Lines | Render red/orange/green lines to show nearby spawners and if they are active | renderMobSpawnerActivationLines | true/false | true
+Pillager Outposts | Process/Render Pillager Outpoints | drawPillagerOutposts | true/false | true
+Villages | Process/Render Villages | drawVillages | true/false | true
+Village spheres | Render Villages as spheres instead of cuboids | renderVillageAsSphere | true/false | true
+Village sphere dot size | The size of the dots used when rendering village as sphere | villageSphereDotSize | 1-5 | 3
+Village sphere density | The density of the dots used when rendering village as sphere | villageSphereDensity | 1-5 | 3
+Village Iron Golem Spawn Area | Render Iron Golem Spawn Area within valid Villages | drawIronGolemSpawnArea | true/false | true
+Village doors | Render lines between village centre and doors | drawVillageDoors | true/false | false
+Slime Chunks | Process/Render Slime Chunks | drawSlimeChunks | true/false | true
+Slime Chunks Maximum Y | Maximum Y value of the dynamic slime chunk boxes | slimeChunkMaxY | -1-255 (see below) | -1
+World Spawn | Process/Render World Spawn & Spawn Active Chunks | drawWorldSpawn | true/false | true
+World Spawn Maximum Y | Maximum Y value of the world spawn & spawn chunk boxes | worldSpawnMaxY | -1-255 (see below) | -1
+Lazy Spawn Chunks | Process/Render Lazy Spawn Chunks | drawLazySpawnChunks | true/false | false
+Fill | Fill the bounding boxes (except village ones) | fill | true/false | true
+Always Visible | Bounding boxes are visible through blocks - kinda messes with perspective tho! | alwaysVisible | true/false | false
+Keep Cache Between Sessions | Bounding box caches are not cleared when disconnecting from single or multiplayer worlds. | keepCacheBetweenSessions | true/false | false
+Outer Boxes Only | Render outer bounding boxes only | outerBoxesOnly | true/false | false