AuraSkills

![AuraSkills title banner](https://i.imgur.com/6fX2V2P.png)









**Dev builds are available [here](https://aurelium.dev/auraskills/download?channel=dev)**

![Plugin info](https://i.imgur.com/SVXK0kV.png)
![Gameplay info](https://i.imgur.com/hlWT5Tg.png)

![Feature list](https://i.imgur.com/zfDJa3c.png)

– [**Rewards**](https://wiki.aurelium.dev/auraskills/rewards) – Add fully custom rewards, like executing commands and giving items on level up.
– [**Menus**](https://wiki.aurelium.dev/auraskills/menus) – Intuitive and fully configurable menus show players everything they need to know about skills – accessed using /skills.
– [**Sources**](https://wiki.aurelium.dev/auraskills/sources) – Customize XP sources for each skill, with support for custom blocks and items.
– [**Loot**](https://wiki.aurelium.dev/auraskills/loot) – Customize loot from any specific block and mob XP source, with support for any item and commands.
– [**Stat Modifiers**](https://wiki.aurelium.dev/auraskills/stats/stat-modifiers) – Modify any stat value with commands or while using custom items or armor.
– [**XP Multipliers**](https://wiki.aurelium.dev/auraskills/skills/xp-multipliers) – Multiply skill XP with the power of permissions or link multipliers to items.
– [**Messages**](https://wiki.aurelium.dev/auraskills/messages) – Pre-translated messages for 15+ languages that are fully configurable and user-selectable.
– [**Item Requirements**](https://wiki.aurelium.dev/auraskills/skills/item-requirements) – Add skill level requirements to use a specific item or all items of a type.
– [**Placeholders**](https://wiki.aurelium.dev/auraskills/placeholders) – Numerous provided PlaceholderAPI placeholders, plus widespread placeholder support within the plugin.
– [**XP Requirements**](https://wiki.aurelium.dev/auraskills/skills/xp-requirements) – Configure XP required to level up for each skill with full equation support.
– [**Developer API**](https://wiki.aurelium.dev/auraskills/api) – A comprehensive developer API with support for adding custom skills, stats, and abilities.
– [**SQL**](https://wiki.aurelium.dev/auraskills/main-config/sql) – Support for database storage with MySQL for higher performance and cross-server syncing.
– Mana – A mana system used by mana abilities and interactable with commands and placeholders.
– Action/Boss Bar – Configurable action and boss bars for displaying health, mana, and when XP is gained.
– Leaderboards – Skill leaderboards and rankings, including power level and skill average.
– Backups – Automatic backups to protect your user data in case of an emergency.

## Supported plugins

– PlaceholderAPI – View the [list of placeholders](https://wiki.aurelium.dev/auraskills/placeholders), no e-cloud download needed
– Vault – Money level up rewards
– WorldGuard (1.13+) – Disable XP gain in certain regions, use the aureliumskills-xp– gain flag
– Holographic Displays and DecentHolograms – Damage indicators with critical hit colors
– LuckPerms – Permission rewards
– Eco series

## Dependencies

– AuraSkills has no required plugin dependencies, but Java 17 is required.
– ProtocolLib is an optional dependency.

## Incompatibilities
AuraSkills does not support or is not compatible with the following server software:
– CraftBukkit – Action bar will not work
– Modded hybrid servers (Mohist, Magma, CatServer) – Modded environments do not work well with Bukkit plugins in general

## Support Discord
Click [here](https://discord.gg/Bh2EZfB) to join the Discord server for support, suggestions, announcements, and to join the community!

## Wiki and Documentation
Click [here](https://wiki.aurelium.dev/auraskills) to view the Wiki and Documentation

You can find info about Configuration, Messages, Stats, Commands, Permissions, Rewards, and Placeholders on the Wiki.

## Messages and language
Change your personal language using /skills lang [language]. Change the default language using the default_language option in config.yml and restarting the server.

Help translate the plugin on [Crowdin](https://crowdin.com/project/aureliumskills), if you don’t see your language ask on the [Discord](https://discord.gg/Bh2EZfB) server for it to be added.

## Installation
How to install the plugin:
– Place the jar you downloaded into your plugins folder
– Restart the server (Do not reload)

AttributeFix

Attribute Fixer

Minecraft uses an attribute system to handle important calculations. It covers everything from armor values, to attack damage, to the maximum health of a mob. This system also introduced attribute caps, which limit how high any value can be. While this usually goes unnoticed, many mods are unknowingly affected by it. This mod significantly increases these caps to allow those mods to work as they were intended.

Affected Attributes

Like the mod and want to support me?

[![Nodecraft sponsor banner](https://assets.blamejared.com/nodecraft/darkhax.jpg)](https://nodecraft.com/r/darkhax)

**This project is sponsored by Nodecraft. Use code [DARKHAX](https://nodecraft.com/r/darkhax) for 30% off your first month of service!**

AttractItems

Make item drops behave like experience orbs. They glide toward or away from players depending on permissions! Speed increases as they get closer, and their motion is affected by water currents and cobwebs just like XP orbs.

Features
Items float towards players if they have the “player.attracted” permission or float away if the player has the “player.repulsed” permission
Items are slowed by cobwebs and water currents
Configurable distance via /attractitems distance

Permissions
player.attracted – Items are pulled toward player – true
player.repulsed – Items are pushed away from player – false
attractitems.admin – Use /attractitems command – op

Commands
/attractitems on – Enable attraction
/attractitems off – Disable attraction
/attractitems distance – Set attraction range (1–20)

Attack on Titan Credit Music

# Custom End Credits Music: Attack on Titan (The Final Season Part 2 Ending)

This resource pack replaces the default Minecraft end credits music with the epic ending theme from **Attack on Titan: The Final Season Part 2**! Relive the intensity of the anime’s climax every time you defeat the Ender Dragon.

## Features

* **Replaces the default `credits.ogg` music** that plays after you exit the End through the portal.
* **Optional:** Includes a `credits.json` file that you can use to remove the scrolling credits text, so you can just enjoy the music.
* **Multiple versions available:** This pack has been meticulously generated to support a wide range of Minecraft versions, from 1.6.1 all the way to 1.21+! (See the “Installation” section for details).

## Installation

1. **Download the correct version** of the resource pack that matches your Minecraft version. The available versions are:
* `AOTEndMusic_1_6_1_to_1_8_9.zip`
* `AOTEndMusic_1_9_to_1_10_2.zip`
* `AOTEndMusic_1_11_to_1_12_2.zip`
* `AOTEndMusic_1_13_to_1_14_4.zip`
* `AOTEndMusic_1_15_to_1_16_1.zip`
* `AOTEndMusic_1_16_2_to_1_16_5.zip`
* `AOTEndMusic_1_17_to_1_17_1.zip`
* `AOTEndMusic_1_18_to_1_18_2.zip`
* `AOTEndMusic_1_19_to_1_19_2.zip`
* `AOTEndMusic_1_19_3.zip`
* `AOTEndMusic_1_19_4.zip`
* `AOTEndMusic_1_20_to_1_20_1.zip`
* `AOTEndMusic_1_20_2.zip`
* `AOTEndMusic_1_20_3_to_1_20_4.zip`
* `AOTEndMusic_1_20_5_to_1_20_6.zip`
* `AOTEndMusic_1_21_to_1_21_1.zip`
* `AOTEndMusic_1_21_2_to_1_21_3.zip`
* `AOTEndMusic_1_21_4.zip`
2. **Open Minecraft** and go to “Options” -> “Resource Packs”.
3. Click on “Open Pack Folder”.
4. **Drag and drop** the downloaded `.zip` file into the `resourcepacks` folder.
5. **Activate the resource pack** in-game by moving it from the “Available” list to the “Selected” list.

## Notes

* The music will start playing **after you exit the End** via the portal, not immediately after the Ender Dragon’s death.
* The music will stop when the song ends or if you skip the credits (by pressing Esc or leaving the game).

## Support

If you enjoy this resource pack and want to support my work, consider buying me a coffee on Ko-fi!

[![Support Me on Ko-fi](https://storage.ko-fi.com/cdn/brandasset/v2/support_me_on_kofi_beige.png)](https://ko-fi.com/sourish25)

## Credits

* **Music:** “Attack on Titan The Final Season Part 2 Ending”
* **Resource pack creation:** Sourish25
Enjoy this epic Attack on Titan ending theme in your Minecraft adventures!

Attack indicator

# AttackIndicator

A modern, lightweight damage indicator plugin for Paper/Spigot servers. Display beautiful animated floating damage numbers when entities take damage.

## Version Support

The plugin automatically detects your server version and uses the best available method:

| Version | Method | Features |
|———|——–|———-|
| **1.19.4+** | Display Entities | Smooth animations, scalable, best performance |
| **1.16.5-1.19.3** | Armor Stands | MiniMessage support (hex colors, gradients) |
| **1.8-1.16.4** | Armor Stands | Legacy ChatColor (basic colors: &c, &6, &a, etc.) |

## Key Features

– **Smooth Animations** – Floating damage indicators with configurable speed and duration
– **Rich Text Formatting** – MiniMessage support on 1.16.5+ (hex colors, gradients, styles)
– **Highly Customizable** – Control appearance, size, position, speed, and behavior
– **Smart Filtering** – Show indicators based on damage source (all/player-only/no-self)
– **Player Damage Support** – Optional indicators on players
– **Entity Filtering** – Whitelist/blacklist specific entity types
– **Random Positioning** – Natural look with random offsets to prevent stacking
– **Auto-Update Checker** – Get notified when new versions are available
– **World Management** – Disable indicators in specific worlds
– **Performance Optimized** – Minimal server impact on all versions

## Commands

– `/ai reload` – Reload plugin configuration
– Aliases: `/attackindicator`

## Configuration

All settings are in `config.yml` with detailed comments explaining version compatibility.

### Quick Examples

“`yaml
# Works on all versions
indicator-format: “<#ffffff>-{damage}<#ff5555>♥” # Hex colors on 1.16.5+
indicator-format: “&f-{damage}&c♥” # Legacy format for 1.8-1.16.4

# Scale (1.19.4+ only)
indicator-scale: 1.5

# Display mode (all versions)
display-mode: PLAYER_ONLY
“`

### Attack indicator >2.0 stats
![bstats](https://bstats.org/signatures/bukkit/Attack%20indicator.svg)

Atomic Delight Vanilla

Minecraft as it was meant to be seen. The Atomic Vanilla Texture Pack is a comprehensive “Vanilla Plus” overhaul designed for players who refuse to compromise between high-performance FPS and breathtaking visuals. Originally released to celebrate the 1k subscriber milestone, this pack brings a professional-grade polish to your survival and PvP worlds.

## Key Features:

– Optimal Performance: Lightweight textures and baked-in optimizations to ensure smooth frame rates during intense PvP and Hunger Games matches.
– Dynamic Animation: Full support for Fresh Animations, bringing mobs to life with fluid, natural movements.
– Animated Textures: Custom-coded animated items and blocks provide a living, breathing environment.
– Shader Ready: Built-in compatibility for modern shaders, enhancing light transmission and surface reflections.
– Visual Enhancements: Subtle “Vanilla+” tweaks that sharpen the game’s aesthetic without losing its iconic charm.

![The Visual Representation of Pack being used in a Screenshot](https://cdn.modrinth.com/data/cached_images/e953dba466f3948618abbde6fb7e46b78fe033bf.png)

**Other Texture Packs Used by ArZaN-MC**
– [Bushy Leaves Texture Pack](https://modrinth.com/resourcepack/leaves-plus)
– [Glowing Ores Texture Pack](https://modrinth.com/resourcepack/new-glowing-ores)
– [Frest Animations Texture Pack](https://modrinth.com/resourcepack/fresh-animations)

**Visual Mod Packs Used by ArZaN-MC**
– [Hold My Items Mod Pack](https://modrinth.com/mod/hold-my-items)
– [Falling Leaves Mod Pack](https://modrinth.com/mod/fallingleaves)

**Join our Discord for full list of ModPacks used by ArZaN-MC**
– https://discord.gg/EF6tPUDWJv

**If You Havent Subscribed ArZaN-MC Still**
– https://youtube.com/@ArZaN-MC

AtlasLang

[![](https://i.imgur.com/BUSY7KU.png)](https://discord.gg/cdT5g5xsVq)
[![](https://i.imgur.com/tqViho8.png)](https://discord.gg/cdT5g5xsVq)

Transcript

AtlasLang

Advanced multilingual system for Minecraft

AtlasLang is a modern and lightweight language management plugin designed to provide a true multilingual experience for Minecraft servers.

It allows servers to manage player languages, translations and localization in a clean, scalable and performance-friendly way, making it suitable for both small servers and large networks.

Features
– Player-based language system (persistent per player)
– Unlimited languages using folders and YML files
– Clean and flexible translation structure
– PlaceholderAPI integration
– Locale support (en_US, es_ES, fr_FR, pt_BR, etc.)
– Database support (H2 and MySQL)
– GitHub synchronization for language files
– Legacy colors, HEX colors and MiniMessage support
– Hot reload without server restart
– Safe fallback system to prevent errors

AtlasLang is built with performance, scalability and developer experience in mind.

One plugin. Unlimited languages.

AtlasAPI

“`java
package com.github.nautic.api;

import com.github.nautic.AtlasLang;
import com.github.nautic.database.DatabaseManager;
import com.github.nautic.handler.LangHandler;
import com.github.nautic.manager.LanguageManager;
import org.bukkit.entity.Player;

import java.util.Set;
import java.util.UUID;

/**
* AtlasAPI is the main public API for interacting with the AtlasLang language system.
*
* @author Senkex
* @powered Nautic Studios
*
* This class provides static utility methods to:
* – Retrieve translated messages
* – Manage player languages
* – Validate registered languages
* – Access internal language managers
*
* The API is designed to be simple, safe, and developer-friendly.
*/
public final class AtlasAPI {

/**
* Singleton instance of the AtlasAPI.
*/
private static AtlasAPI instance;

/**
* Handles language file access and message retrieval.
*/
private final LangHandler langHandler;

/**
* Manages registered languages and language resolution.
*/
private final LanguageManager languageManager;

/**
* Private constructor to enforce singleton pattern.
*
* @param langHandler The language handler instance
* @param languageManager The language manager instance
*/
private AtlasAPI(LangHandler langHandler, LanguageManager languageManager) {
this.langHandler = langHandler;
this.languageManager = languageManager;
}

/**
* Initializes the AtlasAPI.
* This method should be called once during plugin startup.
*
* @param plugin The main AtlasLang plugin instance
*/
public static void initialize(AtlasLang plugin) {
if (instance != null) return;
instance = new AtlasAPI(
plugin.getLangHandler(),
plugin.getLanguageManager()
);
}

/**
* Returns the AtlasAPI singleton instance.
*
* @return AtlasAPI instance
* @throws IllegalStateException if the API has not been initialized
*/
public static AtlasAPI get() {
if (instance == null) {
throw new IllegalStateException(“[AtlasAPI] Could not be started”);
}
return instance;
}

/**
* Retrieves a translated message for a player using their UUID.
*
* @param player The player
* @param path The language path
* @return The translated message
*/
public static String get(Player player, String path) {
return get(player.getUniqueId(), path);
}

/**
* Retrieves a translated message using a player’s UUID.
*
* @param uuid The player’s UUID
* @param path The language path
* @return The translated message
*/
public static String get(UUID uuid, String path) {
String lang = DatabaseManager.getDatabase().getLanguagePlayer(uuid);
if (lang == null) {
lang = getDefaultLanguage();
}
return get(lang, path);
}

/**
* Retrieves a translated message using a language identifier.
*
* @param langInput The language input (alias, locale, or key)
* @param path The language path
* @return The translated message
*/
public static String get(String langInput, String path) {
String resolved = get().languageManager.resolveLanguageStrict(langInput);
if (resolved == null) {
resolved = getDefaultLanguage();
}
return get().langHandler.get(resolved, “atlasaddon”, path);
}

/**
* Retrieves a translated message or returns a fallback value if not found.
*
* @param player The player
* @param path The language path
* @param fallback The fallback value
* @return The translated message or fallback
*/
public static String getOrDefault(Player player, String path, String fallback) {
String value = get(player, path);
return value != null ? value : fallback;
}

/**
* Checks whether a specific path exists for a given language.
*
* @param langInput The language input
* @param path The language path
* @return true if the path exists, false otherwise
*/
public static boolean has(String langInput, String path) {
String resolved = get().languageManager.resolveLanguageStrict(langInput);
if (resolved == null) return false;
return get().langHandler.get(resolved, resolved, path) != null;
}

/**
* Sets the language for a player.
*
* @param player The player
* @param langInput The language input
* @return true if the language was set successfully
*/
public static boolean setLanguage(Player player, String langInput) {
return setLanguage(player.getUniqueId(), langInput);
}

/**
* Sets the language for a player using UUID.
*
* @param uuid The player’s UUID
* @param langInput The language input
* @return true if the language was set successfully
*/
public static boolean setLanguage(UUID uuid, String langInput) {
String resolved = get().languageManager.resolveLanguageStrict(langInput);
if (resolved == null) return false;
DatabaseManager.getDatabase().setLanguagePlayer(uuid, resolved);
return true;
}

/**
* Returns the current language of a player.
*
* @param player The player
* @return The player’s language
*/
public static String getLanguage(Player player) {
return getLanguage(player.getUniqueId());
}

/**
* Returns the current language of a player using UUID.
*
* @param uuid The player’s UUID
* @return The player’s language or the default language
*/
public static String getLanguage(UUID uuid) {
String lang = DatabaseManager.getDatabase().getLanguagePlayer(uuid);
return lang != null ? lang : getDefaultLanguage();
}

/**
* Checks if a language is registered in the system.
*
* @param langInput The language input
* @return true if the language exists
*/
public static boolean isLanguageRegistered(String langInput) {
String resolved = get().languageManager.resolveLanguageStrict(langInput);
return resolved != null;
}

/**
* Returns all registered languages.
*
* @return A set of registered language identifiers
*/
public static Set getRegisteredLanguages() {
return get().languageManager.getRegisteredLanguages();
}

/**
* Returns the default language.
*
* @return Default language identifier
*/
public static String getDefaultLanguage() {
return get().languageManager.getDefaultLang();
}

/**
* Provides access to the LanguageManager.
*
* @return LanguageManager instance
*/
public static LanguageManager getLanguageManager() {
return get().languageManager;
}

/**
* Provides access to the LangHandler.
*
* @return LangHandler instance
*/
public static LangHandler getLangHandler() {
return get().langHandler;
}

/**
* Retrieves an addon-specific message for a player.
*
* @param player The player
* @param path The addon language path
* @return The translated addon message
*/
public static String getAddon(Player player, String path) {
return getAddon(player.getUniqueId(), path);
}

/**
* Retrieves an addon-specific message using UUID.
*
* @param uuid The player’s UUID
* @param path The addon language path
* @return The translated addon message
*/
public static String getAddon(UUID uuid, String path) {
String lang = DatabaseManager.getDatabase().getLanguagePlayer(uuid);
if (lang == null) lang = getDefaultLanguage();
return getAddon(lang, path);
}

/**
* Retrieves an addon-specific message using a language identifier.
*
* @param langInput The language input
* @param path The addon language path
* @return The translated addon message
*/
public static String getAddon(String langInput, String path) {
String resolved = get().languageManager.resolveLanguageStrict(langInput);
if (resolved == null) resolved = getDefaultLanguage();
return get().langHandler.get(resolved, “atlasaddon”, path);
}

}
“`

![https://bstats.org/signatures/bukkit/AtlasLang.svg](https://bstats.org/signatures/bukkit/AtlasLang.svg)

[![https://i.imgur.com/FndwRoN.png](https://i.imgur.com/FndwRoN.png)](https://discord.gg/cdT5g5xsVq)

Atkinson Hyperlegible

Replaces the game’s default font with [Atkinson Hyperlegible](https://brailleinstitute.org/freefont), a [grotesque sans-serif](https://en.wikipedia.org/wiki/Grotesque_sans-serif) font developed by [the Braille Institute of America](https://brailleinstitute.org/) designed to be easily read by the visually impaired. Beneficial to Minecraft as a 3D video game as the unique forms of each glyph allow for them to be easily distinguished at a distance or in low visibility conditions.

Works without [Caxton](https://modrinth.com/mod/caxton) but Caxton is highly recommended to enhance the readability and appearance of text. Requires 1.13 or higher as it uses the game’s built-in TrueType rendering as a fallback if Caxton isn’t present.

To comply with [Atkinson Hyperlegible’s license](http://brailleinstitute.org/wp-content/uploads/2020/11/Atkinson-Hyperlegible-Font-License-2020-1104.pdf) a copy of the license as a PDF file is included in the resource pack.

Astrocraft Panorama

This resource pack transforms the default Minecraft main menu panorama into an open space background filled with stars. It is designed for players who want a fresh, atmospheric look every time they open the game. By replacing the standard menu view with the vastness of space, it creates a calm yet epic mood before you even start playing. The pack is lightweight, works with all versions that support custom panoramas, and does not affect gameplay — only the menu visuals. Perfect if you enjoy space themes or simply want a unique main menu experience.

Astral Sky Overlay

This resource pack contains a space-like atmosphere which, I have dubbed “Astral,” with stars and a mistful cloud in the sky.

**This resource pack requires either Skyboxify, Optifine, Nuit, or fabricskyboxes. Without it you will not be able to see it.**

If you want to see more like this join my discord: [https://discord.gg/YrSWPbWDUF](https://discord.gg/YrSWPbWDUF)

![Sky](https://cdn.modrinth.com/data/cached_images/680649ee552a9cb9522dc38c1cdbac2bbc5838da_0.webp)