# πŸ“¦ Datapacks & Dev-World Overview ## πŸŽ’ 1. `datapacks/` β€” Minecraft’s Built-In Modding System Datapacks are Minecraft’s **official way to add custom game logic** without installing mods. They allow you to create: - 🍲 Recipes - 🎁 Loot tables - πŸ—Ί Structures - βš™οΈ Commands/functions - 🌌 Dimensions - πŸ† Advancements - 🌱 Worldgen features - πŸ‘Ύ Mob behavior (via loot/function triggers) Datapacks live inside: ``` world/datapacks/ ``` (or inside any other world folder you choose). ### πŸ“ Example Structure ``` world/ datapacks/ my_custom_pack/ pack.mcmeta data/ minecraft/ mypack/ ``` ### ⚑ How Datapacks Work - When the server starts, Minecraft **automatically loads** all datapacks in that folder. - You can reload them live with: ``` /reload ``` ### 🧠 Why Track Datapacks in Git? Because datapacks are basically **tiny mods made from text files**, Git gives you: - Full version control - Rollbacks for bad experiments - A safe way to iterate - Easy syncing between machines - A complete history of every change > **Note:** Minecraft 1.1 did not support datapacks yet β€” but this structure is useful for future worlds or modern servers. --- ## 🌍 2. `dev-world/` β€” A Safe Testing Sandbox `dev-world/` is **not** a built-in Minecraft feature. It’s a folder **you create** to safely test changes without risking the real world. ### 🎯 Purpose Use this sandbox world to test: - Dangerous commands - Datapack functionality - Worldgen changes - NBT edits - Anything experimental ### πŸ“ Example Structure ``` dev-world/ level.dat region/ playerdata/ ``` This mirrors your real `world/` folder. ### πŸ’‘ Why a Dev World? - Reset it instantly - Duplicate it whenever needed - Safely break anything - Prototype new features - Avoid griefing or corrupting the main world ### πŸ”§ How to Use `dev-world/` In your `server.properties`, set: ``` level-name=dev-world ``` Start the server β†’ it loads the dev world. When you're finished testing, switch back: ``` level-name=world ``` ---