Home›Java›Mods›⚡ IceAttributes | ❄️ The Ultimate Attribute System
⚡ IceAttributes | ❄️ The Ultimate Attribute System
ModsJava

⚡ IceAttributes | ❄️ The Ultimate Attribute System

Java mod listed for Minecraft 1.17–26.x. Downloads from the MC Java Mods app on Android.

GitHub: ❄️ ICE ATTRIBUTES ❄️ Attribute Shop • Player Profiles • Showcase System 1.17 – 1.21+ | Java 17 | Zero Hard Dependencies Author: Hajmehrsam ​ WHAT…

⬇ Download on Spigot
GitHub: https://github.com/Hajmehrsam
minecraft_title (1).png



❄️ ICE ATTRIBUTES ❄️
Attribute Shop • Player Profiles • Showcase System
1.17 – 1.21+ | Java 17 | Zero Hard Dependencies
Author: Hajmehrsam
​
WHAT IS ICE ATTRIBUTES?
IceAttributes is a complete RPG-style upgrade system for your server.
Players earn currency, browse a beautiful in-game shop, and purchase
permanent upgrades that apply real effects to their character:
❤️ Extra hearts. ⚡ Faster attacks. Quicker movement. A bigger body (Scale).
Permanent potion effects. ⭐ Even custom permission perks.
But unlike most "stat shop" plugins, everything in IceAttributes is
driven by plain YAML files. You never touch Java code. As a server owner you
can invent brand-new attributes, mix three different currencies, build
rank-gated premium perks, design your own GUI layouts, and rewrite every
single message — without ever recompiling anything.
[HR][/HR]
THE GAMEPLAY LOOP (How it works)
1. Players open the shop → [/attributes] or [/iceattributes shop]
A categorized, paginated menu shows every attribute you configured. Each item
live-updates its appearance based on the player's state:
2. They click an attribute
An optional confirmation menu opens first: current level → new level, price,
currency, everything shown before a single coin is spent.
3. Validation runs (in this exact order):
enabled → version support → permission → requirements → currency →
purchase limit → max level → cancellable AttributePurchaseEvent.
If anything fails, the player is told exactly why — and
zero currency is touched.
4. Payment is withdrawn, purchase is saved
The database write is transactional. If the save fails (disk error,
shutdown race), the money is automatically refunded — a failed
purchase can never eat a player's money.
5. The effect applies instantly
Modifier is attached (stable UUID — never duplicated on rejoin), a
configurable sound + title + action bar + particle burst plays , the GUI
refreshes, and the purchase is written into history.
6. They show off ️
Selected attributes appear on their public Profile GUI, and can be announced
in chat with hover text. Players love flexing max-level upgrades!
[HR][/HR]
⚔️ THE ATTRIBUTE SYSTEM
Supported built-in types:
Every attribute definition supports:
Example — a VIP-only Scale attribute in 20 lines of YAML:


Code (Text):

scale-vip:
  enabled: true
  type: SCALE
  category: special
  display:
    name: "<gradient:#FFD700:#FFA500>VIP Titan Scale</gradient>"
    description:
      - "<gray>Each level makes you +10% larger."
  progression:
    enabled: true
    increment: 0.1
    max-level: 5
  price:
    currency: PREMIUM_COIN
    amount: 50
  requirements:
    mode: ANY
    vip-group:
      type: luckperms-group
      group: vip
    vip-perm:
      type: permission
      permission: "iceattributes.vip"
  profile:
    featured: true
    icon: MAGMA_CREAM
 
That's it. The engine is fully generic — admins create content, not code.
[HR][/HR]
THE CURRENCY SYSTEM (3 currencies, zero setup)
Premium Coin features:
Every attribute chooses its own currency — build a shop where some
upgrades cost money, some cost points, and the best ones cost Premium Coins!
[HR][/HR]
️ THE REQUIREMENTS ENGINE
Attribute-gating with AND / OR logic. Mix and match:
Code (Text):

requirements:
  mode: ALL
  vip:
    type: luckperms-group
    group: vip
  experience:
    type: placeholder
    placeholder: "%statistic_hours_played%"
    regex: "([5-9][0-9]|[1-9][0-9]{2,})"    # 5+ hours played
 
Every failed requirement shows a customizable, translated message —
players always know exactly what they're missing. No mystery locks. ️
[HR][/HR]
️ THE SHOP GUI (100% configurable)
Built from gui.yml — no hardcoded layout exists anywhere in the plugin.
Every item supports: material, amount, MiniMessage name & lore, glow,
custom model data, item flags, enchantments — with placeholders everywhere.
[HR][/HR]
THE PROFILE SYSTEM
Every player gets a showcase-ready profile: [/profile] or [/profile <player>]
You control privacy — the admin decides what's public:
Code (Text):

profile:
  show-balance: false
  show-premium-coins: true
  show-purchases: true
  show-levels: true
  show-values: true
 
[HR][/HR]
THE SHOWCASE SYSTEM (Show off!)
Let your players flex their achievements:
[HR][/hr]
️ STORAGE & PERFORMANCE (Built for production)
[HR][/HR]
✨ MINIMESSAGE + LANGUAGES
Every message, title, GUI name and lore supports full MiniMessage:
Code (Text):

<gradient:#5A7CFF:#A55CFF>IceAttributes</gradient>
<gold>Premium Coin</gold> <red>You do not have enough coins.</red>
<hover:show_text:'<gold>Click to open!'><yellow>Shop</yellow></hover>
 
[HR][/HR]
PLACEHOLDERAPI INTEGRATION
Built-in placeholders (PAPI optional — everything else works without it):
Code (Text):

%iceattributes_premium_coins%
%iceattributes_total_owned%
%iceattributes_total_levels%
%iceattributes_showcase%
%iceattributes_showcase_count%
%iceattributes_owned_<attribute>%
%iceattributes_level_<attribute>%
%iceattributes_value_<attribute>%
%iceattributes_name_<attribute>%
%iceattributes_currency_<attribute>%
%iceattributes_max_level_<attribute>%
 
Plus: all plugin messages/GUIs accept any external PAPI placeholder —
use placeholders from other plugins inside our lore, requirements & messages!
[HR][/HR]
ADMIN TOOLKIT
Complete control over every player:
Code (Text):

/iceattributes give <player> <attribute> [level]   # grant upgrades
/iceattributes remove <player> <attribute>          # take one away
/iceattributes set <player> <attribute> <level>     # exact level
/iceattributes reset <player>                       # full wipe
/iceattributes info <attribute>                     # inspect definition
/iceattributes premiumcoins give|take|set <player> <amount>
/iceattributes reload                               # reload ALL configs
 
[HR][/HR]
DEVELOPER API
Register your own extensions from any plugin:
Code (Text):

IceAttributesAPI api = IceAttributesAPI.get();
api.registerAttribute(myDefinition);           // custom attribute
api.registerCurrency(myCurrencyProvider);      // custom currency
api.registerRequirementType("my-req", provider);
api.registerAttributeHandler(myHandler);       // custom effect type
api.giveAttribute(uuid, "max-health", 3);      // grants & applies
api.getAttributeLevel(uuid, "scale");
api.addPremiumCoins(uuid, 100, "daily-reward");
 
Events (all where sensible are cancellable):
[HR][/HR]
INSTALLATION
  1. Drop IceAttributes.jar into the plugins/ folder (~1 MB!)
  2. Start the server — all config files generate automatically
  3. Customize attributes.yml, gui.yml, messages
  4. Run /iceattributes reload — done!
Requirements: ✅ Java 17+ ✅ MC 1.17–1.21.x ✅ No hard dependencies
Optional: Vault + economy ✦ PlayerPoints ✦ LuckPerms ✦ PlaceholderAPI
[HR][/HR]
WHAT THE CONFIGS CONTAIN
config.yml — database, language, debug, all currency settings,
premium coin rules, purchase behavior (confirmation, cooldowns, broadcast),
profile privacy, showcase limits, default effects & sounds
attributes.yml — 14 complete example attributes shipped:
Max Health, Movement Speed, Attack Damage, Attack Speed, Armor, Armor
Toughness, Luck, Knockback Resistance, Scale, VIP-only Scale, permanent
Haste & Speed potions, VIP Perks, Jump Strength — covering all three
currencies and every requirement type
. Copy → edit → done!
gui.yml — every menu's title, rows, slots, layouts, items, states,
navigation, balance displays, decorations, sounds
langs/en.yml + fa.yml — every player-facing message with MiniMessage
[HR][/HR]
Spoiler: FULL COMMAND LIST
Code (Text):

/attributes [category] [page]     # shop shortcut
/profile [player]                 # profile shortcut
/iceattributes help
/iceattributes shop [category] [page]
/iceattributes profile [player]
/iceattributes showcase [attribute]
/iceattributes balance
/iceattributes premiumcoins
/iceattributes premiumcoins give <player> <amount>
/iceattributes premiumcoins take <player> <amount>
/iceattributes premiumcoins set <player> <amount>
/iceattributes give <player> <attribute> [level]
/iceattributes remove <player> <attribute>
/iceattributes set <player> <attribute> <level>
/iceattributes reset <player>
/iceattributes info <attribute>
/iceattributes reload
/iceattributes version
 
Aliases: /ia, /iceattr, /attribute, /attributeshop,
/attributesprofile — plus custom runtime aliases via config!
Spoiler: FULL PERMISSION LIST
Code (Text):

iceattributes.*                  # everything
iceattributes.use                # default: true
iceattributes.shop               # default: true
iceattributes.profile            # default: true
iceattributes.profile.others     # inspect other profiles
iceattributes.showcase           # default: true
iceattributes.balance            # default: true
iceattributes.premiumcoins       # default: true
iceattributes.reload             # op
iceattributes.admin.*            # all admin perms
iceattributes.admin.give         # op
iceattributes.admin.remove       # op
iceattributes.admin.set          # op
iceattributes.admin.reset        # op
iceattributes.admin.premiumcoins # op
iceattributes.admin.info         # op
 
Per-attribute purchase permissions are set per attribute (e.g.
iceattributes.attribute.scale) — fully your choice, per attribute!
Spoiler: ❓ FAQ
Q: Does Scale work on 1.17?
A: No — Minecraft itself only added player SCALE in 1.20.5. IceAttributes
detects this and safely shows it as "unsupported" (or hides it). It will
never crash or break other attributes.
Q: What if Vault/PlayerPoints/LuckPerms aren't installed?
A: Nothing breaks. Those currencies show as unavailable, LuckPerms
requirements fail gracefully, and the rest works normally.
Q: Can a failed purchase steal my players' money?
A: No. Payments are only taken after ALL checks pass, and the database
save is transactional with automatic rollback.
Q: I messed up the config — will the server crash?
A: No. Invalid entries are skipped individually and the exact broken path
is printed to console (e.g. attributes.scale.price.amount).
Q: Is there MySQL support?
A: SQLite ships built-in; the storage layer is repository-based so MySQL
is a drop-in addition planned for a future update.
[HR][/HR]
FOUND A BUG? HAVE A SUGGESTION?
Post in the Discussions tab — I read everything.
⭐ If this plugin helped your server, a rating means a lot! ⭐​


minecraft_title (5).png
​

Commands

Plugin details

Read from the plugin's own plugin.yml.

Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

⚡ IceAttributes | ❄️ The Ultimate Attribute System is a free Minecraft Java mod. Compatible with Minecraft 1.17, 1.18, 1.19, 1.20 and newer. Downloaded 22 times (via Spigot). Download it and open it directly in the game.

Explore more