diff --git a/src/content/docs/en-us/2.3.x/blocks.md b/src/content/docs/en-us/2.3.x/blocks.md
new file mode 100644
index 0000000..2aab175
--- /dev/null
+++ b/src/content/docs/en-us/2.3.x/blocks.md
@@ -0,0 +1,128 @@
+---
+title: Blocks
+description: Block related tweaks
+---
+
+## Falling Propagule
+
+Fully grown, hanging propagules will fall after some time.
+
+
+
+## Cactus Bottle Filling 🌵
+
+Lets you fill glass bottles with water using cacti.
+
+The top cactus will break and drop a dead bush after 3 uses.
+
+## Fletching Table Tweaks🏹
+
+Tighten the string of your bow in the fletching table for improved accuracy.
+
+
+
+::: details configuration
+
+| Config | Description |
+| -------------------- | ------------------------------------------------------------------------- |
+| `divergenceModifier` | Controls how hard an arrow will diverge from its target. $div * modifier$ |
+
+:::
+
+## Beds Explode Everywhere 🛏️💥
+
+A joke tweak making beds explode in the overworld.
+
+
+
+## Bed Explosion Power 💥
+
+:)
+
+
+
+::: details configuration
+
+| Config | Description |
+| -------------------- | ---------------------------- |
+| `power` | Controls the explosion power |
+
+:::
+
+## Guarded Loot 🛡
+
+Have you ever raided a bastion? You may have noticed that it is very easy to dig under the chest and loot from underneath.
+
+Well, this tweak forces you to kill every monster around the chest before you can loot it. Attempting to open the chest will highlight all the monsters you need to kill. Pretty RPG-esque!
+
+In versions >1.7.0 you can prevent players from breaking guarded chests.
+
+::: details configuration
+
+| Config | Description |
+| ------------------ | -------------------------------------------------------------- |
+| `range` | The range a mob must be in, to be considered a guard. |
+| `allowLockPicking` | Can a [Lockpick](./items#lockpick-%F0%9F%94%93) bypass guards? |
+| `breakingHandler` | Should guarded containers be unbreakable? |
+| `checkReach` | Check if an enemy can reach the container (can find a path) |
+
+:::
+
+## Safe Beds 🛌
+
+Beds will NOT explode when outside the overworld. Instead, sends the player a friendly message.
+
+
+
+## Leaf Slowdown
+
+Makes it harder to traverse biomes on trees by slowing entities down when they are on leaves.
+
+::: warning Deprecated
+This module is deprecated and will be removed in a future version.
+:::
+
+## Campfire Effects 🔥♥️
+
+Gives players configurable effects when they are within a certain range of a campfire.
+
+
+
+::: details Data Pack options
+
+This is configured using a data pack.
+
+Create a file like `campfire.json` in `/data/[namespace]/andromeda/campfire_effects/`.
+
+A basic example would look something like this, this is the default in Andromeda:
+
+```json5
+{
+ // block identifier, often different from the item id!
+ "minecraft:campfire": {
+ "range": 10.0, // Range in blocks.
+ "affectsPassive": true, // If passive entities should be affected, only players otherwise.
+ "condition": {
+ // Optional loot condition, global. supports 'origin', 'block_state', 'block_entity'
+ "condition": "minecraft:block_state_property",
+ "block": "minecraft:campfire",
+ "properties": {
+ "lit": "true"
+ }
+ },
+ "effects": [
+ {
+ "effect": "minecraft:regeneration", // Effect identifier
+ "amplifier": 0 // Effect amplifier.
+ // "condition": Optional loot condition, per entity. supports the globals + 'this_entity'
+ }
+ ]
+ }
+}
+```
+
+All effects are rolled every 10 seconds. Only blocks that are campfires in the game code are supported.
+so, on tick, it checks if 10 seconds passed, if so, test the global `condition`,
+then collect entities in range, then for every entity, check the second `condition` and apply the effect.
+
+:::
diff --git a/src/lib/versions.ts b/src/lib/versions.ts
index 1e99b74..4eaf28d 100644
--- a/src/lib/versions.ts
+++ b/src/lib/versions.ts
@@ -15,6 +15,10 @@ const CATEGORIES = [
];
export const VERSIONS: Version[] = [
+ {
+ semver: "2.3.x",
+ categories: CATEGORIES,
+ },
{
semver: "2.2.x",
categories: CATEGORIES,