Background

Living Lands Reloaded

ModsLiving Lands Reloaded
Living Lands Reloaded

Living Lands Reloaded

CurseForge
Gameplay

Living Lands Reloaded is a Hytale modification that aims to introduce solid and immersive RPG features.



Living Lands Reloaded | Hytale RPG Survival Mod


Overview

Living Lands Reloaded is a modular RPG survival mod for Hytale featuring metabolism tracking and profession leveling. Built with a modern, scalable architecture using Kotlin and SQLite.

Current Status: v1.4.3 (Tested) - Auto-scan consumables! Zero-configuration modded food support with automatic discovery and namespace detection. Tested with 29 compatible mods in production.


Recent Updates

v1.4.3 Changes (AUTO-SCAN CONSUMABLES):

  • ๐ŸŽ‰ NEW: Automatic Consumables Discovery! - Zero-configuration setup for modded food/drinks
    • Auto-scans Item registry on first startup (~200ms for 250+ items)
    • Smart namespace detection using AssetMap.getAssetPack() API
    • Organizes items by mod in separate config file (metabolism_consumables.yml)
  • ๐Ÿ” Manual Scan Command: /ll scan consumables [--save] [--section <name>]
    • Preview discovered items or save to config
    • Custom section names for organization
  • ๐Ÿงน Logging Cleanup: Production-ready console output (essential messages only)
  • ๐Ÿ“ Config Migration: v5โ†’v6 removes old nested modded consumables structure

Features

Metabolism System (Complete)

  • Three Core Stats - Hunger, thirst, and energy (0-100 base, up to 135 with abilities)
  • Activity-Based Depletion - Stats drain faster when sprinting, swimming, or in combat
  • Buffs & Debuffs - Speed penalties at low energy, bonuses at high stats (10-point hysteresis)
  • Food Consumption - Eating restores stats based on food type
  • Modded Consumables - Automatic discovery of all modded food/drinks (T1-T7 tiers, namespace detection)
  • Global Persistence - Stats follow players across worlds
  • Thread-Safe - Async database operations with proper synchronization
  • Auto-Save - 5-minute periodic saves for crash protection

Professions System (Complete)

  • 5 Professions - Combat, Mining, Logging, Building, Gathering
  • 100 Levels Each - Exponential XP curve with configurable rates
  • XP From Activities - Kill mobs, mine ores, chop logs, place blocks, gather items
  • Tier 1 Abilities (Level 15) - +15% XP boost for each profession
  • Tier 2 Abilities (Level 45) - Permanent max stat increases
    • Iron Stomach (Combat) - +35 max hunger (100 โ†’ 135)
    • Desert Nomad (Mining) - +35 max thirst (100 โ†’ 135)
    • Tireless Woodsman (Logging) - +35 max energy (100 โ†’ 135)
    • Enduring Builder (Building) - +15 max stamina
    • Hearty Gatherer (Gathering) - +4 hunger/thirst per food pickup
  • Tier 3 Abilities (Level 100) - Powerful active/passive effects
    • Survivalist (Combat) - -15% metabolism depletion
    • Adrenaline Rush (Combat) - +10% speed for 5s on kill
    • Ore Sense (Mining) - 10% chance bonus ore
    • Timber! (Logging) - 25% chance extra log
    • Efficient Architect (Building) - 12% chance block refund
  • Level-Up Notifications - Chat messages when leveling up
  • Death Penalty - Lose XP on death (progressive 10-35% on 2 highest professions)
  • Global Persistence - Stats survive server restarts and world switches
  • Auto-Save - 5-minute periodic saves for crash protection

Announcer System (Complete)

  • MOTD (Message of the Day) - Display welcome message on player join
  • Welcome Messages - Different messages for first-time vs returning players
  • Recurring Announcements - Automated tips/info with configurable intervals (5m, 10m, etc.)
  • Broadcast Commands - Admins can send server-wide messages
  • Placeholder Support - Dynamic values like {player_name}, {server_name}, {join_count}
  • Per-World Overrides - Customize messages per world
  • Color Codes - Minecraft-style color codes (&a = green, &6 = gold, etc.)
  • Hot-Reload - Update configs without restarting via /ll reload announcer

Commands

Player Commands:

  • /ll stats - Toggle metabolism HUD
  • /ll buffs - Toggle buffs display
  • /ll debuffs - Toggle debuffs display
  • /ll professions - Toggle detailed professions panel
  • /ll progress - Toggle compact progress view

Admin Commands (Operator Only):

  • /ll reload [module] - Hot-reload configuration
  • /ll broadcast <message> - Broadcast message to all players
  • /ll scan consumables [--save] [--section <name>] - Scan for modded consumables
  • /ll prof set <player> <profession> <level> - Set profession level
  • /ll prof add <player> <profession> <xp> - Add XP to profession
  • /ll prof reset <player> [profession] - Reset profession(s)
  • /ll prof show <player> - Show player profession stats

Implementation Status

Module Component Status Notes
Core Service Registry โœ… Complete Type-safe service locator
World Management โœ… Complete Per-world contexts
Configuration โœ… Complete YAML hot-reload with migrations
Persistence โœ… Complete Global + per-world SQLite
Metabolism Stat Tracking โœ… Complete Hunger/thirst/energy
Depletion System โœ… Complete Activity-based rates
Food Consumption โœ… Complete Effect-based detection
Buffs/Debuffs โœ… Complete Hysteresis-based states
Professions XP Systems โœ… Complete All 5 professions award XP
Tier 1 Abilities โœ… Complete +15% XP boosts work
Tier 2 Abilities โœ… Complete +35 max stat bonuses (v1.4.1)
Tier 3 Abilities โœ… Complete All 5 abilities functional (v1.4.0)
Death Penalty โœ… Complete Progressive 10-35% XP loss
Admin Commands โœ… Complete /ll prof set/add/reset/show
Modded Consumables โœ… Complete Auto-scan with namespace detection (v1.4.3)
Announcer MOTD/Welcome โœ… Complete Join messages with placeholders
Recurring Announcements โœ… Complete Interval-based automation
Broadcast Commands โœ… Complete Admin messaging
Per-World Overrides โœ… Complete Custom messages per world

Installation

Requirements

Requirement Version
Java 25+
Hytale Server Latest build

Quick Start

  1. Download livinglands-reloaded-1.4.3.jar from Releases
  2. Place in Hytale global mods directory: AppData/Roaming/Hytale/UserData/Mods/
  3. Start server - configs auto-generated in Saves/{SAVE_NAME}/mods/MPC_LivingLandsReloaded/config/

Build from Source

git clone https://github.com/MoshPitCodes/living-lands-reloaded.git
cd living-lands-reloaded
./gradlew build
# JAR: build/libs/livinglands-reloaded-1.4.3.jar

Configuration

Config files are auto-generated on first run:

Saves/{SAVE_NAME}/mods/MPC_LivingLandsReloaded/
โ”œโ”€โ”€ config/
โ”‚   โ”œโ”€โ”€ core.yml                    # Core settings
โ”‚   โ”œโ”€โ”€ metabolism.yml              # Depletion rates
โ”‚   โ”œโ”€โ”€ metabolism_consumables.yml  # Auto-scanned modded items (v1.4.3)
โ”‚   โ”œโ”€โ”€ professions.yml             # XP rates and abilities
โ”‚   โ””โ”€โ”€ announcer.yml               # Server messages and announcements
โ””โ”€โ”€ data/
    โ”œโ”€โ”€ global/livinglands.db        # Global player stats (metabolism, professions)
    โ””โ”€โ”€ {world-uuid}/livinglands.db  # Per-world data (future: claims)

Hot Reload

/ll reload           # Reload all configs
/ll reload metabolism # Reload specific module
/ll reload announcer  # Reload announcer config

Architecture

Module System

// Register a service
CoreModule.services.register<MyService>(instance)

// Get a service
val service = CoreModule.services.get<MyService>()

Key Patterns

  • Global Player Stats - Metabolism/profession stats follow players across worlds
  • Per-World Configs - Different depletion rates per world (optional)
  • Thread Safety - ConcurrentHashMap, synchronized DB access, world.execute { }
  • Async Operations - Database I/O uses Kotlin coroutines with Dispatchers.IO

Project Structure

src/main/kotlin/com/livinglands/
โ”œโ”€โ”€ LivingLandsPlugin.kt         # Entry point
โ”œโ”€โ”€ core/
โ”‚   โ”œโ”€โ”€ CoreModule.kt            # Central hub
โ”‚   โ”œโ”€โ”€ ServiceRegistry.kt       # Type-safe services
โ”‚   โ”œโ”€โ”€ config/ConfigManager.kt  # YAML system
โ”‚   โ””โ”€โ”€ persistence/             # SQLite layer
โ””โ”€โ”€ modules/
    โ”œโ”€โ”€ metabolism/              # โœ… Complete
    โ”‚   โ”œโ”€โ”€ MetabolismModule.kt
    โ”‚   โ”œโ”€โ”€ MetabolismService.kt
    โ”‚   โ”œโ”€โ”€ MetabolismTickSystem.kt
    โ”‚   โ””โ”€โ”€ modded/             # Modded consumables support (v1.4.0)
    โ”œโ”€โ”€ professions/            # โœ… Complete (v1.4.0)
    โ”‚   โ”œโ”€โ”€ ProfessionsModule.kt
    โ”‚   โ”œโ”€โ”€ ProfessionsService.kt
    โ”‚   โ”œโ”€โ”€ abilities/          # All 15 abilities functional
    โ”‚   โ””โ”€โ”€ systems/            # All 5 XP systems work
    โ””โ”€โ”€ announcer/              # โœ… Complete (v1.3.0)

Development

Building

./gradlew build              # Full build
./gradlew build -x test      # Skip tests
./gradlew shadowJar          # Fat JAR with deps

Testing

# Deploy to test server
./scripts/deploy_windows.sh

# Watch logs
./scripts/watch_windows_logs.sh

Guidelines

  • Use synchronized(connection) for DB access
  • Wrap ECS calls in world.execute { }
  • Catch exceptions and degrade gracefully
  • Log with appropriate levels (FINE debug, INFO events)

Roadmap

v1.4.3 (Current - Tested โœ…)

  • โœ… Auto-Scan Consumables - Zero-configuration modded food support
  • โœ… Automatic Discovery - Scans Item registry on first startup (~200ms)
  • โœ… Namespace Detection - Smart grouping by mod using AssetMap API
  • โœ… Manual Scan Command - /ll scan consumables [--save] [--section <name>]
  • โœ… Separate Config - metabolism_consumables.yml (organized by mod)
  • โœ… HUD Code Quality - DRY fixes, world switch handler, configurable limits
  • โœ… Production Tested - Verified with 29 compatible mods on live server
  • โœ… All Core Modules Complete (Metabolism, Professions, Announcer)

Future Modules

  • [ ] Claims (land protection, world-specific)
  • [ ] Economy (currency, trading, shops)
  • [ ] Groups (clans, parties, shared progression)
  • [ ] Random Encounters (dynamic events, world bosses)

See docs/ROADMAP.md for detailed feature plans and timeline.


Documentation


Contributing

  1. Fork the repository
  2. Create feature branch (git checkout -b feature/name)
  3. Follow Kotlin conventions
  4. Ensure ./gradlew build compiles without warnings
  5. Test on Hytale server
  6. Open Pull Request

License

Apache License 2.0 - see LICENSE

Copyright 2026 MoshPitCodes

๐Ÿ“ธGallery

Screenshot 2026-01-31 135339.png
Screenshot 2026-01-31 135339.png
Screenshot 2026-01-30 205804.png
Screenshot 2026-01-30 205804.png
Screenshot 2026-01-30 210021.png
Screenshot 2026-01-30 210021.png
Screenshot 2026-01-30 181605.png
Screenshot 2026-01-30 181605.png
Screenshot 2026-01-30 205858.png
Screenshot 2026-01-30 205858.png
Screenshot 2026-01-31 135032.png
Screenshot 2026-01-31 135032.png
Screenshot 2026-01-31 135115.png
Screenshot 2026-01-31 135115.png
Living Lands Reloaded - Hytale Mod | Hytale Wiki