MMORepairPro

MMORepairPro is an advanced, lightweight, and highly optimized item repair plugin designed for Spigo
68747470733a2f2f692e706f7374696d672e63632f5876546a305636472f53637265656e73686f742d323032362d30372d30312d3231333435372e706e67.png

68747470733a2f2f692e706f7374696d672e63632f5876546a305636472f53637265656e73686f742d323032362d30372d30312d3231333435372e706e67.png

68747470733a2f2f692e706f7374696d672e63632f4c7372394d4846742f53637265656e73686f742d323032362d30372d30312d3232303332382e706e67.png

68747470733a2f2f692e706f7374696d672e63632f4c7372394d4846742f53637265656e73686f742d323032362d30372d30312d3232303332382e706e67.png

68747470733a2f2f692e706f7374696d672e63632f464b3272513958622f53637265656e73686f742d323032362d30372d30312d3231333530332e706e67.png

68747470733a2f2f692e706f7374696d672e63632f464b3272513958622f53637265656e73686f742d323032362d30372d30312d3231333530332e706e67.png

Description

MMORepairPro - Complete Feature Overview
MMORepairPro is an advanced, lightweight, and highly optimized item repair plugin designed for Spigot/Paper servers. It allows players to repair both Vanilla items and MMOItems using an in-game points/economy system. Featuring a fully dynamic GUI, strict exploit prevention, and robust admin commands, it is the perfect addition to any Survival, RPG, or Factions server.


Core Features
1. Dynamic GUI System
The interface adapts in real-time based on the player's balance and inventory status:

  • Single Repair Button (Slot 11):
    • Sufficient Points: Displays as an ANVIL, showing the repair cost and allowing players to execute the repair.

    • Insufficient Points: Dynamically switches to a BARRIER icon, warning the player that they lack points and displaying their current balance vs. the required cost.
  • All Repair Button (Slot 15):
    • Perfect Condition: If no items need repair, it turns into a GREEN_STAINED_GLASS_PANE, notifying the player that their gear is at 100% durability (clicking is disabled).

    • Sufficient Points: Displays as an ANVIL, dynamically calculating the exact number of broken items and the total aggregated cost.

    • Insufficient Points: Switches to a BARRIER icon to prevent transaction errors while displaying the total required points.

2. Exploits Prevention & Security (Anti-Glitch)

  • Anti-Steal Mechanics: Prevents players from dragging, stealing, or Shift-clicking items out of the custom GUI.

  • Inventory Safe-Click: Accurately separates the custom GUI from the player's bottom inventory, allowing players to safely organize their own inventory while the menu is open.

  • Next-Tick Execution: Commands and inventory closures are handled safely on the next server tick via the scheduler. This eliminates common inventory packet glitches, item-duplication bugs, or ghost items when closing menus.

3. Smart Commands & Context-Aware Tab Completion

  • Player & Console Support: Commands can be executed smoothly by players through the GUI or manually. Administrators and Console can force-repair items for specific target players.

  • Context-Aware Tab Completion: Typing /mirepair automatically suggests sub-commands (single, all, reload). If a repair sub-command is chosen, pressing Tab again will dynamically fetch and suggest the names of currently online players.

Technical Architecture

  • GUIManager.java: Handles inventory instantiation, real-time balance checks, and placeholder parsing (e.g., {cost}, {total_cost}, {count}, and {current_points}).

  • GUIListener.java: Listens for menu clicks, blocks unauthorized item manipulation, and safely handles inventory state transitions using asynchronous delayed task handling.

  • RepairCommand.java: The main command executor. It verifies durability states, processes currency deductions, and bypasses costs if the player possesses a free-repair permission node.

  • gui.yml: The configuration file that gives server owners full control over slots, materials, display names, custom lore, and CustomModelData (for custom textures/resource packs).

Commands & Permissions
Command Description Permission
/mirepair Opens the main Repair GUI. Available to all players
/mirepair single Repairs the item in the player's main hand. Available to all players
/mirepair all Repairs all repairable items in the inventory. Available to all players
/mirepair single [player] Repairs the item in the target player's hand. mirepair.admin
/mirepair all [player] Repairs all items for the target player. mirepair.admin
/mirepair reload Reloads all configuration files and economy hooks. mirepair.reload
Passive Node Bypasses economy costs for single repairs. mirepair.command.free
Passive Node Bypasses economy costs for all-repairs. mirepair.command.all.free


Integrations & Hooks
MMORepairPro is designed to seamlessly integrate with the most popular server plugins, ensuring it fits perfectly into your existing ecosystem.

Economy Support (EconomyHook.java)
The plugin supports multiple economy systems. You can easily switch between them in the config.yml (economy-system setting):

  • Vault: Supports all standard economy plugins (EssentialsX, CMI, etc.).

  • PlayerPoints: Native hook for servers using premium currency or point-based systems.

PlaceholderAPI Integration (RepairPlaceholder.java)
Want to show players how many items they need to repair or the total cost on a Scoreboard, Hologram, or Custom Menu? We've got you covered!

Author: BestKung

Version: 1.2

Placeholder Description
%mirepair_item_has_repair% Returns the exact number of broken/repairable items in the player's inventory.
%mirepair_item_has_money_int% Returns the total cost to repair all items (as a whole number).
%mirepair_item_has_money_float% Returns the total cost to repair all items (formatted with 2 decimal places, e.g., 500.00).
Technical Breakdown (Integrations)
For developers and server owners who want to know how it works under the hood:

  • EconomyHook.java: A centralized wrapper class that safely checks which economy plugin is active on the server (Vault or PlayerPoints). It handles balance lookups and currency deductions securely to prevent errors if a dependency is missing.

  • RepairPlaceholder.java: An internal PlaceholderAPI expansion. It registers automatically when the plugin starts, calculating the repair counts and costs dynamically without causing server lag.

The MMORepairPro Team

profile avatar
  • 1
    Projects
  • 5
    Downloads