Auditor

Auditor Banner

Advanced Economy Monitoring & Analysis

Monitor, Analyze and Secure Your Server Economy

Divider

Auditor is a comprehensive economy monitoring plugin designed to help server administrators track, analyze, and manage their server’s economic health. With advanced transaction monitoring, player behavior analysis, and real-time alerts, Auditor provides the tools needed to maintain a balanced and fair economy.

Feature Divider

## Real-Time Monitoring

– **Transaction Tracking** – Monitor all economy transactions in real time
– **Player Profiles** – Automatic profile creation for every player with economic activity
– **Risk Assessment** – Automatic risk scoring based on transaction patterns
– **Live Alerts** – Instant notifications for suspicious activities

## Advanced GUI System

– **Dashboard** – Comprehensive overview of server economy health
– **Player Analysis** – Detailed player profiles with transaction history
– **Alert Management** – Interactive alert system with resolution tracking
– **Settings GUI** – Full configuration through intuitive interfaces
– **No Chat Spam** – All features accessible through GUIs, keeping chat clean

## Security Features

– **Fraud Detection** – Automatic detection of suspicious transaction patterns
– **Flag System** – Mark players with customizable flags (SUSPICIOUS, BOT_SUSPECTED, TRUSTED, etc.)
– **Admin Notes** – Add private notes to player profiles for staff reference
– **Permission-Based Access** – Granular permission system for different staff levels

## Analytics & Reporting

– **Economy Health Metrics** – Track inflation, wealth distribution, and market trends
– **Player Rankings** – View top players by various metrics
– **Transaction Volume Analysis** – Monitor server-wide economic activity
– **Data Export** – Export data to CSV for external analysis

## Administration Tools

– **Monitoring Toggle** – Enable enhanced monitoring for specific players
– **Maintenance Mode** – Temporarily disable monitoring during maintenance
– **Database Management** – Built-in cleanup and optimization tools
– **Integration Support** – Works with Vault, DiscordSRV, PlaceholderAPI, and more

Requirements Divider

## Requirements

– **Minecraft:** 1.13.2 or higher
– **Vault:** Required for economy integration
– **Economy Plugin:** Any Vault-compatible economy plugin (EssentialsX, CMI, etc.)
– **Java:** 8 or higher

Install Divider

## Installation

1. Download `Auditor.jar`
2. Place it in your server’s `plugins` folder
3. Ensure **Vault** is installed
4. Restart your server
5. Configure using `/auditor settings` or edit `config.yml`

Commands Divider

Click to view commands

“`bash
/auditor # Open the main dashboard
/audit # Alias for /auditor
/auditor player # Analyze specific player
/auditor alerts # View active alerts
/auditor settings # Open settings GUI
/auditor reload # Reload configuration
/auditor help # Show help message
“`

Permissions Divider

Click to view permissions

“`
auditor.admin # Full administrative access
auditor.moderator # Staff access for monitoring
auditor.dashboard # Access to main dashboard
auditor.player.view # View player analysis
auditor.player.others # Analyze other players
auditor.alerts.view # View alerts
auditor.alerts.manage # Manage and resolve alerts
auditor.export # Export data
auditor.monitor # Toggle player monitoring
auditor.flag # Manage player flags
auditor.note # Manage admin notes
auditor.settings # Access settings
auditor.reload # Reload configuration
auditor.bypass # Bypass transaction monitoring
“`

Best For Divider

## Best For

– Economy-focused servers
– Servers with player shops/markets
– RPG servers with complex economies
– Any server wanting to prevent economy exploits
– Administrators who need detailed economic insights

Highlights Divider

## Highlights

– **100% GUI-Based** – No chat commands needed for daily use
– **Real Player Heads** – Shows actual Minecraft player skins in GUIs
– **Automatic Risk Assessment** – AI‑like pattern detection for suspicious behavior
– **Zero-Setup Detection** – Works immediately after installation
– **Performance Optimized** – Asynchronous database operations

Monitored Activities Divider

Click to view monitored activities

– All economy transactions (pay, shop, auction, etc.)
– Balance changes
– Transaction frequency and patterns
– Large/unusual transactions
– Player wealth accumulation
– Cross-player transaction networks
– Command usage related to economy
– Time-based transaction patterns

Screens Divider

Menus

Dashboard
Analyzer
More Menus
Auditor Dashboard and Player Analyzer interfaces

Popups

Popup 1
Popup 2
Popup 3
Popup 4
Popup 5
Popup 6
Player Information, Risk Assessment, Current Status, Recent Transactions, and Alerts

## Why Choose Auditor?

Unlike simple economy loggers, Auditor provides intelligent analysis and actionable insights. It’s not just about recording transactions — it’s about understanding your server’s economic health and preventing problems before they impact gameplay.

### Key Advantages
– ✅ Real‑time fraud detection
– ✅ Beautiful GUI system
– ✅ Comprehensive player profiles
– ✅ Automatic risk assessment
– ✅ Professional‑grade analytics
– ✅ Active development & support

## Planned Features

View roadmap

– Web panel integration
– Machine learning fraud detection
– Custom alert triggers
– API for developers
– Multi-server support
– Advanced report generation

Footer Divider

**Discord Support:** [Join our Discord](https://discord.gg/nY4ckCFBTQ)
**GitHub Issues:** [Report bugs here](https://github.com/WiiZARDD/Auditor/issues)
**Wiki:** [Full documentation](https://github.com/wiizardd/auditor)

© 2024 WiiZARDD — Professional Economy Monitoring

Audiobook

This is Audiobook, the mod that reads books out loud so you can continue to go about your adventures while listening to them. It makes use of Minecraft’s Narrator feature to do this.
To use Audiobook, hold a book in your hand and press H (configurable). To stop an audiobook that is playing, press J (also configurable). You can also use these keys while the book is open, so it can be used with books that are on Lecterns. You do not have to continue holding the book once it’s playing.

 

This mod is client side only, so you can use it on servers that don’t have the mod installed.

This mod requires [Fabric API](https://modrinth.com/mod/fabric-api) (Fabric/Quilt only), and goes well with [Textbook](https://modrinth.com/mod/textbook).

 

To report issues or request new features, use the [issue tracker](https://github.com/The-Fireplace-Minecraft-Mods/Audiobook/issues). Do not ask me to port to different Minecraft versions. For questions and other discussion, feel free to join my [Discord](https://discord.gg/QXQYPj5).

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)

AttackCreeperGolem

# AttackCreeperGolem
Required Plugin: https://modrinth.com/plugin/kotlinplugins
– This plugin makes iron golems attack nearest creepers in range of 10 blocks from them.
– The purpose of this plugin is to improve iron golems by making more useful base defenders / guards.
– Check out other plugins: https://modrinth.com/user/Winlyps

Attack Through

# Attack Through
Attack mobs through grass, and other plants.

![A player with a diamond sword killing a cow through grass](https://cdn.modrinth.com/data/rKCOYOil/images/a1892044f0edc06410e59245c4be64211a3080f6.gif)

**This mod is compatible on 1.15.2 and newer ! Versions below will not work !**

This mod allows players to attack mobs through grass, tall grass, kelp, sugar cane, flowers and crops !

A simple configuration is available in config.yml !

Enjoy ! :3

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)

ATP Safe Creeper

# ATP Safe Creeper

**ATP友好苦力怕** 数据包

*(Languages adjustable: **Chinese** or **English**)*

Link:[Github](https://github.com/MC3156 “Github”) [MCMOD](https://www.mcmod.cn/author/31605.html “访问mcmod百科”) [CurseForge](https://www.curseforge.com/minecraft/data-packs/atp-safe-creeper “CurseForge”) [Modrinth](https://modrinth.com/user/Dreamy_Blaze “Modrinth”)

## Usage

How to install a datapack?

Link:

[MinecraftWiki](https://minecraft.wiki/w/Tutorial:Installing_a_data_pack “Tutorial:Installing a data pack”)

[MC中文wiki](https://zh.minecraft.wiki/w/Tutorial:%E5%AE%89%E8%A3%85%E6%95%B0%E6%8D%AE%E5%8C%85 “教程:安装数据包”)

*Execute the following commands in-game:*

“`mcfunction
/function safe_creeper:atp_sc
“`

After opening the menu, clicking the option text below will copy the corresponding command to the chat bar (scoreboard).

![setting](https://cdn.modrinth.com/data/cached_images/0e4310cbc357f5810e04b45719258e12207f2bd4.png “setting and state”)

## Functions

*The `mobGriefing` gamerule controls mob-block interactions, but disabling it doesn’t just prevent creeper terrain damage – it also affects most other mobs’ behaviors, including villagers’ farming activities. Therefore, when “Creeper Terrain Protection” is enabled, the `mobGriefing` rule will remain active.*

*Additionally, the following features are configurable:*

– *Ghast Fireball Terrain Protection (Prevents ghast fireballs from destroying blocks)*
– *Creeper Explosion Fireworks (Replaces explosions with firework displays)*
– *Ghast Fireball Fireworks (Converts ghast attacks into visual fireworks)*
– *Natural Creeper Sounds (Uses hurt sounds for ambient creepers)*
– *Powered Creeper Spawning (Customizable spawn chance `0-100%`)*

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)