PlateauLib

⭐ — (0 endorsements) 📥 151 downloads 📌 v3.3.11+26.1 📅 4/22/2026
🟡 Updated this year

By MrSypz · fabric

⬇ Download Mod Source: Modrinth ↗ 📅 Updated: 7/5/2026 📅 Created: 4/22/2026
⚠️ Install Order · 2 steps
1🛠️ Forge — Minecraft Forge (mod loader) Download ↗
2🛠️ Fabric — Fabric Loader Download ↗

Install in this order, then this mod last — most mods fail to load without their framework and dependencies in place.

🔍 Analysis

  • 🏆 #869 of 899 fabric mods in this game by downloads

📋 About This Mod

# PlateauLib ## ⚠️ Note: Development Hiatus this lib are now extract as module similar to fabric api and mostly part are not stable enough it'll make many patch so I'll not update it until leklai stable --- this mod exist due to many part of the code that I often usage such as text particle that allow render the number or text that just using one method and it work on both server , client side without need to write network, renderer stuff that task is boring and redundance if I do it many project this is the one example of it, ## Attributes attributes register, Since fabric are not gave the way to register attributes into player, livingentity yet it need to do manual via mixin so then I make the pre-load init similar to entity are build attributes without touch mixin example implement ```java package com.sypztep.leklai.common.init; import com.sypztep.leklai.Leklai; import com.sypztep.plateau.common.api.entity.AttributeTarget; import com.sypztep.plateau.common.api.entity.PlateauAttributeEntrypoint; import com.sypztep.plateau.common.api.entity.PlateauAttributeRegistry; import net.minecraft.core.Holder; import net.minecraft.world.entity.ai.attributes.Attribute; public final class LeklaiEntityAttributes implements PlateauAttributeEntrypoint { public LeklaiEntityAttributes() {} // --- Core Stats --- public static final Holder<Attribute> HEALTH_REGEN = register("health_regen", 0.0, 0.0, Double.MAX_VALUE, AttributeTarget.LIVING); public static final Holder<Attribute> PASSIVE_HEALTH_REGEN = register("passive_health_regen", 0.0, 0.0, Double.MAX_VALUE, AttributeTarget.PLAYER); public static final Holder<Attribute> RESOURCE = register("resource", 0, 0.0, 10000000, AttributeTarget.PLAYER); public static final Holder<Attribute> RESOURCE_REGEN = register("resource_regen", 1, 0.0, 10000000, AttributeTarget.PLAYER); public static final Holder<Attribute> PASSIVE_RESOURCE_REGEN = register("passive_resource_regen", 0, 0.0, 10000000, AttributeTarget.PLAYER); public static final Holder<Attribute> RESOURCE_REGEN_RATE = register("resource_regen_rate", 8, -1, 10000000, AttributeTarget.PLAYER); // --- Combat Stats --- public static final Holder<Attribute> ACCURACY = register("accuracy", 0, 0.0, 2048.0D, AttributeTarget.LIVING); public static final Holder<Attribute> EVASION = register("evasion", 0, 0.0, 2048.0D, AttributeTarget.LIVING); public static final Holder<Attribute> CRIT_DAMAGE = register("crit_damage", 1, 0.0, 10.24D, AttributeTarget.LIVING); public static final Holder<Attribute> CRIT_CHANCE = register("crit_chance", 0.0, 0.0, 2.0D, AttributeTarget.LIVING); public static final Holder<Attribute> BACK_ATTACK = register("back_attack", 0.2, 0.0, 10.24D, AttributeTarget.LIVING); public static final Holder<Attribute> SPECIAL_ATTACK = register("special_attack", 0.0, 0.0, 10.24D, AttributeTarget.LIVING); // --- Combat Type Damage (Melee, Magic, Projectile) --- public static final Holder<Attribute> MELEE_ATTACK_DAMAGE_FLAT = register("melee_attack_damage_flat", 1, 0.0, 4096, AttributeTarget.LIVING); public static final Holder<Attribute> MELEE_ATTACK_DAMAGE_MULT = register("melee_attack_damage_mult", 0, 0.0, 10.24D, AttributeTarget.LIVING); public static final Holder<Attribute> MAGIC_ATTACK_DAMAGE_FLAT = register("magic_attack_damage_flat", 1, 0.0, 4096, AttributeTarget.LIVING); public static final Holder<Attribute> MAGIC_ATTACK_DAMAGE_MULT = register("magic_attack_damage_mult", 0, 0.0, 10.24D, AttributeTarget.LIVING); public static final Holder<Attribute> PROJECTILE_ATTACK_DAMAGE_FLAT = register("projectile_attack_damage_flat", 1, 0.0, 4096, AttributeTarget.LIVING); public static final Holder<Attribute> PROJECTILE_ATTACK_DAMAGE_MULT = register("projectile_attack_damage_mult", 0, 0.0, 10.24D, AttributeTarget.LIVING); // --- Combat Type Defense --- public static final Holder<Attribute> PROJECTILE_RESISTANCE = register("projectile_resistance", 0, -10.0D, 0.75D, AttributeTarget.LIVING); public static final Holder<Attribute> MELEE_RESISTANCE = register("melee_resistance", 0, -10.0D, 0.75D, AttributeTarget.LIVING); public static final Holder<Attribute> MAGIC_RESISTANCE = register("magic_resistance", 0, -10.0D, 0.75D, AttributeTarget.LIVING); public static final Holder<Attribute> FLAT_PROJECTILE_REDUCTION = register("flat_projectile_reduction", 0, 0.0D, 20.0D, AttributeTarget.LIVING); public static final Holder<Attribute> FLAT_MELEE_REDUCTION = register("flat_melee_reduction", 0, 0.0D, 20.0D, AttributeTarget.LIVING); public static final Holder<Attribute> FLAT_MAGIC_REDUCTION = register("flat_magic_reduction", 0, 0.0D, 20.0D, AttributeTarget.LIVING); // --- Elemental Damage (Flat) --- public static final Holder<Attribute> NEUTRAL_ATTACK_DAMAGE_FLAT = register("neutral_attack_damage_flat", 0, 0.0, 4096, AttributeTarget.LIVING); public static final Holder<Attribute> FIRE_ATTACK_DAMAGE_FLAT = register("fir

# PlateauLib ## ⚠️ Note: Development Hiatus this lib are now extract as module similar to fabric api and mostly part are not stable enough it'll make many patch so I'll not update it until leklai stable

this mod exist due to many part of the code that I often usage such as text particle that allow render the number or text that just using one method and it work on both server , client side without need to write network, renderer stuff that task is boring and redundance if I do it many project this is the one example of it,

## Attributes attributes register, Since fabric are not gave the way to register attributes into player, livingentity yet it need to do manual via mixin so then I make the pre-load init similar to entity are build attributes without touch mixin example implement

```java package com.sypztep.leklai.common.init;

import com.sypztep.leklai. Leklai; import com.sypztep.plateau.common.api.entity. AttributeTarget; import com.sypztep.plateau.common.api.entity. PlateauAttributeEntrypoint; import com.sypztep.plateau.common.api.entity. PlateauAttributeRegistry; import net.minecraft.core. Holder; import net.minecraft.world.entity.ai.attributes. Attribute;

public final class LeklaiEntityAttributes implements PlateauAttributeEntrypoint { public LeklaiEntityAttributes() {} // --- Core Stats --- public static final Holder HEALTH_REGEN = register("health_regen", 0. 0, 0. 0, Double. MAX_VALUE, AttributeTarget. LIVING); public static final Holder PASSIVE_HEALTH_REGEN = register("passive_health_regen", 0. 0, 0. 0, Double. MAX_VALUE, AttributeTarget. PLAYER);

public static final Holder RESOURCE = register("resource", 0, 0. 0, 10000000, AttributeTarget. PLAYER); public static final Holder RESOURCE_REGEN = register("resource_regen", 1, 0. 0, 10000000, AttributeTarget. PLAYER); public static final Holder PASSIVE_RESOURCE_REGEN = register("passive_resource_regen", 0, 0. 0, 10000000, AttributeTarget. PLAYER); public static final Holder RESOURCE_REGEN_RATE = register("resource_regen_rate", 8, -1, 10000000, AttributeTarget. PLAYER);

// --- Combat Stats --- public static final Holder ACCURACY = register("accuracy", 0, 0. 0, 2048. 0D, AttributeTarget. LIVING); public static final Holder EVASION = register("evasion", 0, 0. 0, 2048. 0D, AttributeTarget. LIVING); public static final Holder CRIT_DAMAGE = register("crit_damage", 1, 0. 0, 10. 24D, AttributeTarget. LIVING); public static final Holder CRIT_CHANCE = register("crit_chance", 0. 0, 0. 0, 2. 0D, AttributeTarget. LIVING); public static final Holder BACK_ATTACK = register("back_attack", 0. 2, 0. 0, 10. 24D, AttributeTarget. LIVING); public static final Holder SPECIAL_ATTACK = register("special_attack", 0. 0, 0. 0, 10. 24D, AttributeTarget. LIVING);

// --- Combat Type Damage (Melee, Magic, Projectile) --- public static final Holder MELEE_ATTACK_DAMAGE_FLAT = register("melee_attack_damage_flat", 1, 0. 0, 4096, AttributeTarget. LIVING); public static final Holder MELEE_ATTACK_DAMAGE_MULT = register("melee_attack_damage_mult", 0, 0. 0, 10. 24D, AttributeTarget. LIVING); public static final Holder MAGIC_ATTACK_DAMAGE_FLAT = register("magic_attack_damage_flat", 1, 0. 0, 4096, AttributeTarget. LIVING); public static final Holder MAGIC_ATTACK_DAMAGE_MULT = register("magic_attack_damage_mult", 0, 0. 0, 10. 24D, AttributeTarget. LIVING); public static final Holder PROJECTILE_ATTACK_DAMAGE_FLAT = register("projectile_attack_damage_flat", 1, 0. 0, 4096, AttributeTarget. LIVING); public static final Holder PROJECTILE_ATTACK_DAMAGE_MULT = register("projectile_attack_damage_mult", 0, 0. 0, 10. 24D, AttributeTarget. LIVING);

// --- Combat Type Defense --- public static final Holder PROJECTILE_RESISTANCE = register("projectile_resistance", 0, -10. 0D, 0. 75D, AttributeTarget. LIVING); public static final Holder MELEE_RESISTANCE = register("melee_resistance", 0, -10. 0D, 0. 75D, AttributeTarget. LIVING); public static final Holder MAGIC_RESISTANCE = register("magic_resistance", 0, -10. 0D, 0. 75D, AttributeTarget. LIVING); public static final Holder FLAT_PROJECTILE_REDUCTION = register("flat_projectile_reduction", 0, 0. 0D, 20. 0D, AttributeTarget. LIVING); public static final Holder FLAT_MELEE_REDUCTION = register("flat_melee_reduction", 0, 0. 0D, 20. 0D, AttributeTarget. LIVING); public static final Holder FLAT_MAGIC_REDUCTION = register("flat_magic_reduction", 0, 0. 0D, 20. 0D, AttributeTarget. LIVING);

// --- Elemental Damage (Flat) --- public static final Holder NEUTRAL_ATTACK_DAMAGE_FLAT = register("neutral_attack_damage_flat", 0, 0. 0, 4096, AttributeTarget. LIVING); public static final Holder FIRE_ATTACK_DAMAGE_FLAT = register("fir

🤖 AI-enhanced — based on mod data

📊 Mod Details

Game
Minecraft Mods
Author
MrSypz
Version
3.3.11+26.1
Downloads
151
Endorsements
0
Category
fabric
Created
4/22/2026
Updated
7/5/2026
Game Versions
26.1, 26.1.1, 26.1.2
Tags
library

🔧 How to Install Minecraft Mods Mods

Download from Modrinth. Use Prism Launcher or drop into your mods folder.

📖 Full step-by-step install guide for Minecraft Mods →

Visit the official mod page for specific installation instructions for this mod.

🎮 Need cheat codes or console commands? Check ur gaming wiki for Minecraft Mods commands, item IDs, and more.

❓ Frequently Asked Questions

Which Minecraft Mods versions does PlateauLib support?

The author lists 26.1, 26.1.1, 26.1.2. Other versions may work but are untested by the author.

What is the latest version of PlateauLib?

Version 3.3.11+26.1, published 2026-07-05 with 151 downloads recorded at the source.

Keep browsing — more Minecraft Mods mods await

📋 All Minecraft Mods Mods 🏆 Top 25 📂 More fabric 👤 More by MrSypz 🔎 Similar Mods 🌐 Best fabric (All Games) 🔀 Check Compatibility ⚖️ Compare Mods 🆕 New Mods