roots-1.0.0.jar
Curse Maven Snippet
What's new
Data-Driven System: The foundation is ready. Passives, attributes, and mechanics can be read and managed modularly.
Tag System: Reusable environmental mechanics (e.g., "burns_in_sun", "constant_hunger").
Safe Persistence: Your race and progress are natively saved using Forge Capabilities, preventing resets upon death or dimension changes.
Human
The classic Vanilla experience. No advantages, no disadvantages.
Zombie
[+] Regeneration: Constant passive health recovery.
[-] Perpetual Hunger: Your food bar will deplete much faster than normal.
[-] Photophobia: You burn under direct sunlight (requires a helmet or shelter).
3. Skeleton (The Swift Shooter)
[+] Archer Kit: You automatically start your adventure with a Bow and 64 arrows.
[+] Bone Agility: +15% base movement speed.
[-] Fragile: Your maximum health is reduced by 4 hearts (you play with 6 hearts).
[-] Photophobia: You burn under direct sunlight.
User Interface & Experience (UI/UX)
"Scroll" Screen: An immersive and clean race selection interface that opens when you first join a world.
Dynamic Double Scrollbar: Comfortably navigate the race list on the left and read the full descriptions on the right. Supports mouse wheel scrolling (Vertical) and extended reading (Shift + Mouse Wheel for Horizontal scrolling).
Coming Soon
This is just the beginning. In upcoming updates we will be implementing:
Active skill system with a stamina/cooldown bar visible on the HUD.
100% JSON creation so players can make their own custom races without knowing how to code.
# 🌿 Roots (Minecraft Forge)
[![Minecraft Version] Minecraft-1.20.1
[![Forge Version] Forge-47.2.0
**Roots** is a highly optimized race and origins framework built specifically for **Minecraft Forge 1.20.1**. Inspired by the concept of mechanical heritage mods, *Roots* leverages Forge's **Capability system** and advanced network synchronization to deliver flawless performance in multiplayer servers, completely preventing attribute duplication and crashes.
The mod features a hybrid architecture: it includes hardcoded native races and a powerful dynamic loading engine that allows modpack creators to design and integrate custom races using simple **JSON** files.
HumanRace.getIcon() is still calling Minecraft.getInstance() — this will cause a crash on dedicated servers. Please be advised that this will be fixed in the next update.
---
## Key Features
* **Full Persistence (`Capability System`):** Race data is safely attached to the player using persistent server data. Upon death (`/kill`) or dimension travel, your race and its dynamic states are instantly cloned and synced without any visual or mechanical glitches.
* **Hybrid Java/JSON Design:** Supports built-in static races within the mod core, alongside a dynamic config loader (`RaceLoader`) that scans external data folder at runtime.
* **Zero Server Lag (Tick Optimization):** Condition-based passives (such as burning under the sun or ambient status effects) are safely evaluated server-side once per second (every 20 ticks) instead of every microtick, heavily protecting the server's MSPT performance.
* **Synchronized Network:** Custom packets (`SyncRacePacket` and `SelectRacePacket`) ensure that the client UI and server attributes stay in perfect harmony at all times.
---
## Gameplay Mechanics (For Players)
Upon entering a new world or using the mod's exclusive item, the **Race Scroll** (`roots:race_scroll`), a smooth scrolling user interface (`RaceSelectionScreen`) will open. From here, players can view the stats, lore, and interactive icons of all available races before choosing their path.
Note that you can only change races by using the scroll in Creative mode. I recommend adding it as a quest reward, as race progression is planned for the near future to avoid conflicts with other mods that provide player enhancements.
---
## Built-in Native Races
1. **Human (`roots:human`):** Versatile and well-balanced. Features the unique **`human_xp_boost`** passive, which grants a flat **+10% extra experience** from all experience orbs. It has no weaknesses.
2. **Zombie (`roots:zombie`):** Possesses massive physical strength (+2.5 attack damage). Grants permanent **Regeneration** and **Constant Hunger**. Its status effect overlays are completely clean, hiding the UI timers to show an **infinite duration marker (`**:**`)**. However, they will spontaneously combust under direct sunlight if no helmet is equipped.
3. **Skeleton (`roots:skeleton`):** An agile ranged warrior. Starts the journey equipped with a bow and arrows, enjoying a **+15% bonus to base movement speed**. This comes at a cost, as its **maximum health is severely reduced** to just 6 hearts (12 health points), and they share the zombie's extreme vulnerability to sunlight.
---
## Modpack Creator Guide (JSON Configuration)
Creating a custom race is incredibly straightforward! You don't need to write a single line of Java code. The mod automatically generates a configuration folder inside your instance root.
### Race installation path:
`your_instance/config/roots/races/`
Any valid `.json` file dropped into this directory will be automatically parsed and registered by the framework upon client or server startup.
### JSON Structure Example (`demon.json`):
```json
{
"id": "roots:demon",
"enabled": true,
"display_name": "Demon",
"icon": "minecraft:nether_wart",
"description": "An entity born from the underworld. Possesses devastating attack power, but the sun will incinerate their skin.",
"dimension": "minecraft:the_nether",
"biome": "minecraft:nether_wastes",
"passives": [
{
"type": "max_health",
"value": 6.0,
"operation": "add",
"enabled": true,
"description": "+3 Extra Hearts of Maximum Health"
},
{
"type": "attack_damage",
"value": 2.5,
"operation": "add",
"enabled": true,
"description": "+2.5 Base Modifier to Physical Attack Damage"
},
{
"type": "burns_in_sun",
"value": 0.0,
"operation": "add",
"enabled": true,
"description": "Weakness: Combusts when exposed to direct sunlight"
}
]
}This mod has no additional files

