PlateauLib
🟡 Updated this year⚠️ Install Order · 2 steps
Install in this order, then this mod last — most mods fail to load without their framework and dependencies in place.
🖼️ Gallery (2 images)
🔍 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
public static final Holder
// --- Combat Stats ---
public static final Holder
// --- Combat Type Damage (Melee, Magic, Projectile) ---
public static final Holder
// --- Combat Type Defense ---
public static final Holder
// --- Elemental Damage (Flat) ---
public static final Holder
📊 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

