Skip to content

Releases: Heysh1n/life-xp

v1.6.2 - The Harvest & Persistence Update

Choose a tag to compare

@Heysh1n Heysh1n released this 21 Sep 10:13

⛏️ Harvesting Mechanics and the XP Harvester

  • Right-Click Harvest:
    • Mature crops can now be harvested by right-clicking. The block resets its age (age=0), simulates a drop (minus one seed) and plays a sound without the need for replanting. Left-clicking works as usual.
  • AoE Hoe:
    • The XP Harvester Level 2+ enchantment allows you to harvest crops across an area (limit: 3 blocks per click).
  • Limited VeinMiner for ores:
    • XP Harvester Level 2+ on a pickaxe breaks a chain of identical ores (hard cap: 6 blocks) .
    • Balance: For every block broken in the chain, the tool’s durability is fairly deducted, exhaustion is accrued and experience is generated. Exploits involving infinite durability are prevented.

🔥 Kill-Streak Persistence

  • NBT Storage:
    • Kill streaks are no longer reset when logging off the server. Data is written directly to the player’s NBT (lifexp_kill_streak and lifexp_last_kill_time).
  • AFK Timeout:
    • A time limit has been introduced. If more than 5 minutes (300,000 ms) elapse between mob kills, the streak is automatically reset. The reset upon death works as normal.

🏆 Achievement Rewards (Advancements)

  • Progression milestones have been updated (10%, 50%, 100% of the level).
  • The ‘rewards’ block has been integrated: physical rewards (Dynamic XP Bottle, Shield Core) and bonus experience are now awarded for achieving milestones.

v1.6.1 - UI Overhaul, Sync Triggers & Modern Asset Binding

Choose a tag to compare

@Heysh1n Heysh1n released this 16 Sep 13:53

🎨 Interface and Command Line (Server & Client UI)

  • Interactive pagination /lifexp status [page]:
    • Complete refactoring of parameter output: the list of 15 attributes is split into pages of 5–6 items.
    • Interactive clickable page-turning buttons [◀] and [▶] (ClickEvent.RUN_COMMAND).
    • Raw technical identifiers (such as submerged_mining_speed) have been hidden: human-readable, localised names have been implemented.
    • Fine details (50% cap step and scaling type) have been moved to compact tooltips HoverEvent.ShowText.
  • Redesign of the /lifexp top leaderboard:
    • Added gradient differentiation for prize positions (Gold for 1st place, Silver for 2nd place, Bronze/Red for 3rd place).
    • Standardised the visual style of frames and separators to match the mod’s colour scheme (GOLD + DARK_GRAY).
  • Attribute preview (/lifexp get attr):
    • Converted to a standardised status formatting scheme with tooltips.

⚙️ Synchronisation and Network (Network & State Fixes)

  • One-Shot Sync via the ESC key:
    • A client-side interceptor for ClientGuiEvent.SET_SCREEN has been implemented to open the PauseScreen.
    • When the pause menu is called, a point-to-point C2S synchronisation packet is sent: the server performs an immediate recalculation and pushes a ClientboundUpdateAttributesPacket. The issue of heart containers (generic.max_health) getting stuck has been resolved without placing a constant load on the server tick.
  • Network Architecture Adaptation:
    • Network packet signatures have been updated to comply with modern CustomPacketPayload standards.

🖼️ Assets and Rendering (Assets & Tree Fixes)

  • Achievements tab background fix:
    • Fixed the black-and-purple chequerboard pattern (missing texture) in the root node of the achievements tree (root.json).
    • Correctly linked the background tiling resource (life_xp_challenge:textures/gui/advancements/backgrounds/root_bg.png) with a safe fallback.
  • Render buffer safety:
    • Matrix transformations in LifeXpVisualsClient have been isolated in the event of an early exit via isDeadOrDying().

v1.5.4 - Content Update, Frozen the branch and Complitly growth up to 26.2

Choose a tag to compare

@Heysh1n Heysh1n released this 15 Sep 21:29

🔮 Data-Driven Enchantments (Minecraft 1.21.1 JSON Format)

  • XP Harvester (life_xp_challenge:xp_harvester):
    • Maximum level: III.
    • Applicable to Pickaxes and Hoes (#minecraft:pickaxes, #minecraft:hoes).
    • Added to the standard enchanting table tag (#minecraft:enchantment/in_enchanting_table).
    • Mechanics:
      • Mature Crops: Harvesting fully-grown crops (CropBlock with isMaxAge) drops 1–2 Experience Orbs.
      • Vanilla Ores: Mining Iron, Copper, Gold, Lapis, Redstone, or Diamond ores yields scaled bonus experience based on enchantment level (level * 2 to level * 5 XP).
      • Ancient Debris: Yields a high-stakes reward equal to 1% of the player's total experience points (capped at a maximum of 500 XP per block).
  • Anomaly Angler (life_xp_challenge:anomaly_angler):
    • Maximum level: I.
    • Applicable to Fishing Rods (#minecraft:enchantable/fishing).
    • Added to the standard enchanting table tag (#minecraft:enchantment/in_enchanting_table).
    • Mechanics: Unlocks anomalous treasure drops when fishing.

🎣 Fishing & Loot Overhaul

  • Treasure Loot Injection: Hooked into minecraft:gameplay/fishing/treasure via Architectury's LootEvent.MODIFY_LOOT_TABLE.
  • Custom Loot Condition: Implemented HasAnomalyAnglerCondition (life_xp_challenge:has_anomaly_angler) checking the tool in hand for the anomaly_angler enchantment.
  • Custom Loot Function: Implemented AnomalyFishingLootFunction (life_xp_challenge:anomaly_fishing_loot):
    • Shield Core (shield_core): Added to the anomalous treasure pool.
    • Damaged Life Bottle (life_bottle): Can be caught with pre-inflicted damage (only 1–2 durability points remaining) using vanilla minecraft:damage Data Component.
    • Charged Dynamic XP Bottle (dynamic_xp_bottle): Can be caught pre-filled with 5 to 40 stored experience points using life_xp_challenge:stored_xp Data Component.

⚙️ Modern Data Components (1.21.1)

  • Registered custom Data Component life_xp_challenge:stored_xp (DataComponentType<Integer>) via Architectury registry.
  • Fully migrated DynamicXpBottleItem from legacy NBT compound tags to modern Minecraft 1.21.1 DataComponents.

📖 JEI / EMI Integration & Localization

  • Added dedicated JEI Information tabs (addItemStackInfo) for Enchanted Books containing XP Harvester and Anomaly Angler.
  • Complete trilingual translations across all new content:
    • English (en_us)
    • Russian (ru_ru)
    • Turkish (tr_tr)
  • Full Turkish parity: localized JEI descriptions, enchantment names, ModMenu metadata, and advancements.

🛠️ Toolchain & Compatibility

  • Java Toolchain: Strictly pinned build and runtime toolchain to Java 21 (JavaLanguageVersion.of(21)) in root build.gradle.
  • Daemon & Run Tasks: Configured org.gradle.java.home to target JDK 21 explicitly.
  • SpongePowered Mixin Compatibility: Resolved runtime crash (Unsupported class file major version 69) when executing :fabric:runClient on machines with Java 25 installed by ensuring Mixin runs strictly within Java 21 bytecode limits.

v1.5.3+1.5.2 (Finished and update to new Minecraft Versions)

Choose a tag to compare

@Heysh1n Heysh1n released this 13 Sep 16:33

[1.5.3] - Final Release for Minecraft 1.21.1 (Legacy)

This is the final stable patch for the 1.21.1 architecture (Java 21). The legacy-1.21.1 branch is now frozen. All future development (starting from v1.6.0) is officially moving to Minecraft 26.1.1 (Java 25).

🐛 Visuals & Bug Fixes

  • Fixed dynamic liquid rendering for DynamicXpBottleItem and LifeBottleItem. Added the missing 0xFF000000 opacity mask to prevent ARGB colors from rendering as invisible.
  • Fixed client-side visuals overlaying the death screen. Ash particles spawning and the dynamic vignette are now properly blocked by an isDeadOrDying() check.
  • Fixed OpenGL graphical artifacts during vignette rendering. The alpha channel calculation is now strictly clamped to the [0.0, 1.0] range using Math.clamp.
  • Fixed item JSON models. Removed hardcoded links to vanilla potion textures (minecraft:item/potion); models are now properly bound to the custom life_xp_challenge assets.
  • Fixed the missing texture (black and purple squares) for the XP Shield effect icon in the inventory.

[1.5.2] - Visuals & Shaders Overhaul (Fog Replacement)

🎨 Visuals & Immersion (Major Refactor)

  • Removed Legacy Fog System:

  • Completely removed FogRenderer mixins and dynamic fog density alterations that caused chunk culling bugs, rendering distance truncation, and shader incompatibilities.

  • Removed obsolete configuration properties (enableCustomFog, disableFog, fogStartDistance, fogMidDistance, fogEndDistance) from LifeXpConfig, YACL GUI Screen, and commands (/lifexp get fog, /lifexp set fog).

  • Dynamic Client Vignette (HUD Overlay):

  • Added new client handler LifeXpVisualsClient.

  • Listens to Architectury's ClientGuiEvent.RENDER_HUD to blit textures/gui/vignette.png across the screen.

  • Full transparency at $\ge 50%$ of maxLevel, darkening screen edges progressively as experience drops.

  • Ambient Ash Particles (ParticleTypes.ASH):

  • Implemented on ClientTickEvent.CLIENT_POST in LifeXpVisualsClient.

  • When local player's experience falls below $10%$ of maxLevel, spawns 1–2 ash particles in a 1.5-block radius with a 30% tick chance to convey imminent peril.

v1.5.0 (The Logic & Performance Overhaul)

Choose a tag to compare

@Heysh1n Heysh1n released this 09 Sep 10:54
e640ebb

This massive update completely rebuilds the core mechanics of the mod, introduces new progression systems, and heavily optimizes server performance for large modpacks.

⚡ Performance & Engine Optimizations

  • Clumps-Style XP Optimization: Mobs no longer drop dozens of lag-inducing experience orbs. Drops are now merged into a single, high-value orb. Existing orbs in a 2-block radius will also merge dynamically every 5 ticks to save server TPS.
  • $O(1)$ Math Refactor: Completely eliminated while loops for attribute calculations. Leveling up to 50,000+ levels will no longer cause Watchdog tick timeouts or server freezes.
  • Critical NBT Save Crash Fixed: Resolved the infamous Unregistered holder: xp_shield crash during world auto-saves by rewriting the registry logic to native Registry.registerForHolder.
  • Integer Overflow Fix: Experience pooling now uses long types, fixing bugs where taking damage at high levels could heal the player or duplicate XP.

🛡️ XP-Shield Potion Overhaul

The legacy passive shield system has been completely removed and replaced with a balanced brewing system:

  • Shield Core: New crafting ingredient required for brewing (crafted with an Ender Chest, not a bundle).

  • Brewing Hierarchy:

  • Level I (25% Absorption): Awkward Potion + Shield Core (3:00 base, 8:00 with Redstone).

  • Level II (50% Absorption): Level I + Glowstone Dust (1:30).

  • Level III (75% Absorption): Level II + Nether Star (1:00).

  • Note: Absorption burns experience points (1:1 ratio). Taking fatal damage without enough XP will bypass the shield.

⚙️ Gameplay & Presets

  • Origins-Style Preset Screen: First-time joiners will now be greeted with a forced, unclosable GUI to select their gameplay preset.
  • Strict Preset Locking: Presets can only be selected once per player (tied to NBT). Attempting to bypass this via the /lifexp preset command or the YACL config screen is now strictly blocked.
  • New Modifiers: Added purist (classic hardcore with no streak bonuses) and core_no_streaks presets.
  • Kill Streak Fix: The Kill Streak XP multiplier now correctly applies to the merged mob drop before it spawns.

🎨 Visuals & UI

  • HUD Progress Bubbles: Replaced the clunky text overlay with 10 graphical experience orbs positioned above the hunger bar (1 orb = 10% of the cap).
  • Dynamic XP Number Tint: Vanilla XP levels now change color based on progress: Green (< 50%) → Aquamarine (≥ 50%) → Gold (100% cap).
  • Fog Culling Fix: Fixed an issue where the dynamic shader fog would cull chunks at early levels. Minimum distance clamped to 16 blocks.
  • Blur Fix: Removed the aggressive vanilla blur shader from the custom preset selection screen for better readability.

🧩 Integrations & Advancements

  • Full JEI / EMI Support: Added detailed info tabs for custom items (life_bottle, dynamic_xp_bottle, shield_core) and mapped the entire XP-Shield brewing tree for easy viewing.
  • Advancements Cleanup: Removed legacy milestones that caused 11,000+ level spikes when triggered.
  • New Challenges: Added dynamic achievements: Life or Death (Survive ≤1 HP with Shield III), Expensive Taste, Miner's Vein, and Master Angler.
  • YACL Config Cleanup: Stripped deprecated passive shield fields and added toggles for disableFog, showHudBubbles, and lockPresetAfterSelection.

v1.4.8

v1.4.8 Pre-release
Pre-release

Choose a tag to compare

@Heysh1n Heysh1n released this 08 Sep 06:02

🚀 Core & Performance

  • Watchdog Crash Fix ($O(1)$ Math): Eliminated heavy while loops in experience calculation. Stat recalculation is now handled in $O(1)$ and cached, preventing server tick freezes when receiving massive level bursts (4000+).
  • Integer Overflow Fix: Switched experience pooling logic to long with strict bounding, preventing damage from healing players or generating infinite experience at high levels.
  • Chunk Culling Fix (Dynamic Fog): Bounded minimum shader fog distance to 16 blocks to prevent visual chunk culling in early gameplay.

⚔️ Gameplay Mechanics

  • XP Shield Potion Overhaul:
    • Removed legacy passive shield system. Damage absorption is now tied to the life_xp_challenge:xp_shield potion effect.
    • Added shield_core crafting material.
    • Added brewing recipes:
      • Level I (Awkward + Shield Core): 25% absorption (3:00 / 8:00 with Redstone).
      • Level II (Glowstone Dust): 50% absorption (1:30).
      • Level III (Nether Star): 75% absorption (1:00).
  • Origins-Style Preset Selection: First-time joiners are greeted with a mandatory modal GUI to pick their gameplay preset.
  • Preset Locking: Applied persistent lifexp_preset_chosen NBT tag to prevent mid-game preset switching once confirmed.
  • Modular Presets: Added purist (classic vanilla hardcore) and core_no_streaks profiles.

🎨 Visuals & UI

  • HUD Redesign: Replaced legacy text overlay with 10 graphical experience orbs positioned above the hunger bar.
  • Dynamic XP Counter Tint: Vanilla experience level numbers now dynamically shift color: Green (<50%), Aquamarine (≥50%), and Gold (100% cap).
  • Hover Tooltips: Added extended Shift-click tooltips for all custom utility items across RU, EN, and TR locales.

🛠 Compatibility & Polish

  • JEI & EMI Integration: Added full in-game information tabs explaining custom item functions.
  • Recipe Fix: Replaced experimental bundles with vanilla Ender Chests in life_bottle crafting.
  • YACL Config Cleanup: Stripped deprecated shield options and added toggles for custom fog, HUD bubbles, and preset locking.

V1.4.1 - fabric + neoforge [1.21.1]

Choose a tag to compare

@Heysh1n Heysh1n released this 05 Sep 07:03

🚀 Key new features

  • Architectury Monorepo Migration: The entire codebase has been restructured into an Architectury multi-platform architecture (common, fabric, neoforge), guaranteeing 100% feature and logic parity across both mod loaders on Minecraft 1.21.1.

  • Energy Shield (XP Shield): Damage now drains your experience points before impacting your health.

  • Absorbs a base 50% of incoming damage by converting it into XP loss.

  • Perfect Block (10% chance): Completely absorbs all incoming damage at the cost of 10% of your total accumulated experience points. Features distinct audio feedback when triggered.

  • Smart Death Tax: Replaced flat death penalties with context-aware punishment:

  • Careless deaths (fall damage, drowning, lava, starvation, suffocation) multiply the XP tax up to 5x (capped at 100%).

  • Heroic deaths against major endgame bosses (Warden, Wither, Ender Dragon) slash the penalty down to 10% of your configured rate.

  • Kill Streak XP: Slaying hostile mobs consecutively grants +1% bonus XP per kill (up to +100%). Dying instantly resets the counter to 0.

  • In-Game HUD Overlay: A clean, cross-platform HUD element displaying your real-time level, progress to the next level, total cap, and active Kill Streak multiplier.

  • Advancement Tree (Milestones): Added an End-themed progression tree with rewards and announcements for reaching levels 100 ("Live and Learn"), 250 ("Diamond Hardened"), and 500 ("Absolute Power").

  • Complete Trilingual Parity: All messages, death penalties, chat announcements, item names, and config descriptions now feature full native translations for English (en_us), Russian (ru_ru), and Turkish (tr_tr).


🛠️ Administration and Server

  • Config Export to Clipboard: Added /lifexp export — serializes your current live server config into JSON format and copies it directly to your clipboard for instant preset sharing.

  • Server Leaderboard: Added /lifexp top — ranks and displays the top 10 online players sorted by current experience level.

  • New Shield Configuration Commands: Added direct runtime controls for the new defensive mechanics:

  • /lifexp set xpShieldEnable <true|false> - Toggle the Energy Shield mechanic globally.

  • /lifexp set xpShieldAbsorb <0.0-1.0> - Configure the standard percentage of incoming damage absorbed by XP.

  • /lifexp set xpShieldBlockChance <0.0-1.0> - Adjust the probability of landing a Perfect Block.

  • /lifexp set xpShieldBlockCost <0.0-1.0> - Set the percentage of total XP consumed on a Perfect Block.

  • GUI Configuration Sliders: All new shield and combat settings have been wired directly into the YACL configuration menu, accessible in-game via ModMenu on Fabric and the native Config button on NeoForge.


🐛 Bug Fixes & Improvements [from version 1.2.5]

  • Shaped Recipe Validation: Fixed a JSON parsing crash (Invalid pattern: each row must be the same width) in life_bottle.json by squaring out uneven crafting matrix rows to strict 3x3 formatting.
  • NeoForge Metadata Fix: Resolved an issue where the mod would incorrectly display as 1.0 Release on NeoForge by implementing dynamic resource filtering during the Gradle build.
  • Icon Rendering: Fixed missing mod icons across client mod lists by bundling the asset properly across common and platform resources.

V1.2.5 - ony fabric [1.21.1]

Choose a tag to compare

@Heysh1n Heysh1n released this 05 Sep 06:57

🚀 Key new features

  • New ‘Creativity’ tab: Mod items (Life Bottle and Dynamic XP Bottle) have now been moved to a separate tab called ‘LIFE-XP Challenge’, featuring an experience bubble icon
  • The mod has been split into two independent versions:
    • A separate project for Fabric (main folder).
    • A new, completely independent project for NeoForge
  • ModMenu localisation A translation of the mod description has been added for the mods screen, which automatically adapts to your game’s language (English, Russian, Turkish).

🛠️ Administration and Server

  • Operator commands: A new command, /lifexp (available only to Level 2 operators), has been added, allowing you to adjust the hardcore settings directly in-game:
    • /lifexp status - View the current settings.
    • /lifexp set <parameter> <value> - Change a specific configuration parameter without restarting the server.
    • /lifexp preset <core|vanilla_plus|baby_mode|real_hardcore> - Apply a global difficulty preset.
    • /lifexp reload - Reload the configuration from a file - Changes made via commands are applied instantly to all players online!

v1.0.0 - ony fabric [1.21.1]

Choose a tag to compare

@Heysh1n Heysh1n released this 04 Sep 23:55

🚀 Initial Release 1.0.0

Core Mechanics *

Dynamic XP Attribute Scaling: 13+ vanilla attributes (Health, Movement Speed, Attack Damage, Oxygen Bonus, Burning Time, etc.) dynamically scale with your XP level. * *

4 Built-in Presets:*

  • ☠ LIFE-XP CORE: Hardcore experience starting at 0.5 hearts, max level 1000. 
  • 💚 Vanilla+: Balanced progression starting at 6 HP up to level 500.
  • 🍼 BabyMode: Casual boost progression up to level 200.
  • 🔥 Real Hardcore: Extreme survival with custom dense fog and severe debuffs.

Utility Items & Tweaks

  • Life Bottle: High-tier craftable artifact that preserves your entire inventory upon death (includes full Void protection).
  • Dynamic XP Bottle: Store exact XP points on demand using Shift + Right Click with a glass bottle.
  • Anvil "Too Expensive" Removal: Enchant and repair items without the vanilla 40-level restriction.
  • Death Coordinates: Broadcasts exact coordinates upon death in chat.

Configuration & UI

  • Full YACL v3 Configuration Screen: Easily customize caps, formulas, and attribute limits.
  • Multi-language Support: Complete English (en_us) and Russian (ru_ru) localizations.