MonitoringMinecraft MonitoringMinecraft

Repair Shop

Плагин BukkitPaperPurpur

RepairShop, a Minecraft plugin that turns a Citizens NPC into a blacksmith. Players right click the NPC and a menu lists every damaged item they're carrying, each priced on how worn it is, what it's made of, and what's enchanted on it, paid through Vault

0 скачиваний 0 подписчиков
Оцените первым

RepairShop

A Minecraft plugin that turns a Citizens NPC into a blacksmith. Players right-click the NPC and a menu lists every damaged item they are carrying, each priced individually on how worn it is, what it is made of, and what is enchanted on it. Payment goes through Vault.

The interaction model is borrowed from dtlTradersPlus click an NPC, get a shop window but for repairs instead of trades.


What players do

Right-click a blacksmith NPC. The menu shows every damaged item across their main inventory, hotbar, armour slots and offhand, with its remaining durability, its price, and how many times it has been repaired before.

  • Repair one item click it.
  • Repair everything one button prices the lot. If they cannot afford the total, it repairs cheapest-first, so they get the largest number of items fixed for the money they have.
  • Check a price first /repairshop quote prices the item in hand and shows the full breakdown; /repairshop prices lists the cost of a full repair for every material tier.

Nothing is a flat fee. A wooden axe at 95% durability costs the 2₽ minimum; the same axe in netherite, enchanted and nearly broken runs past 2,000₽.

What admins get

  • Multiple shops. Each NPC points at a shop definition with its own title, price multiplier, permission, accepted tiers and refused materials so a village smith can turn away netherite while a capital-city master smith handles anything at a premium.
  • An in-game editor. /repairshop shops browses, creates and edits shops in a GUI. It writes shops/<id>.yml with the same explanatory comments a hand-written file has. Nothing is saved until Save is pressed, and a saved shop is live immediately with no reload.
  • Rank discounts. Permission-driven multipliers; the cheapest one a player qualifies for wins.
  • Per-shop audit logs. Every paid repair appends to shops/<id>/logs/<date>.log as a fixed-column, pipe-separated table greppable and spreadsheet-friendly. Created by the first paid repair, never before.
  • Fully configurable text. 179 message keys in messages.yml, all MiniMessage. Missing keys fall back to the copy bundled in the jar, so a plugin update never breaks an edited file.

How pricing works

Entirely config-driven no numbers are baked into the code. Every term is a key in config.yml.

damageRatio = damage / maxDurability
baseValue   = item-values[MATERIAL]  OR  tiers[TIER]
enchantAdd  = SUM( enchantment value * level )

cost = (baseValue * typeMultiplier + enchantAdd)
     * damageRatio ^ curve
     * shopMultiplier
     * rankDiscount
     * workPenalty

cost = max(cost, minimum-cost)

The work penalty is the term worth understanding. Plugin repairs bypass vanilla's anvil "Too Expensive" cap entirely, which would let enchanted gear last forever so every repair the plugin has already performed on an item adds a compounding surcharge, +15% per repair, capped at 4×. The count is stored on the item itself.


Supported platforms

The plugin uses no NMS and no CraftBukkit internals at all nothing below the Bukkit API. That is what makes it portable across forks: there are no server internals for a fork to change out from under it.

Platform Support
Paper Full. The native target developed, tuned and boot-tested here.
Purpur, Pufferfish, Leaf and other Paper forks Full. They keep the entire Paper API.
Spigot Full features, with two automatic downgrades see below.
CraftBukkit Same as Spigot.
Mohist, Arclight, CatServer, Ketting (Forge/Fabric hybrids) Should work they implement the Bukkit API, and nothing here reaches below it. Untested, and hybrids are flakier in general.

On Spigot and CraftBukkit two things resolve differently. Both are detected at startup and need no configuration:

  • Text Spigot has never shipped Adventure, so MiniMessage is rendered through the built-in legacy § translator instead. Colours, hex and the five decorations all survive; gradients collapse to their first colour, and hover/click text is dropped while keeping its contents.
  • Chat prompts AsyncPlayerChatEvent is used instead of Paper's AsyncChatEvent.

/repairshop compat reports which route the running server took.

Not supported

  • Folia Folia's regionised threading removes Bukkit.getScheduler(), which this plugin uses for chat-prompt timeouts, reopening menus and async log writes. Folia also refuses to load plugins that do not declare folia-supported: true, so it fails cleanly rather than misbehaving. Supporting it would mean porting those call sites to Folia's schedulers and auditing the "everything runs on the main thread" assumption the repair flow is built on.
  • BungeeCord / Velocity proxies, not Bukkit servers.
  • Vanilla, Forge or Fabric without a Bukkit bridge no Bukkit API at all.

Supported Minecraft versions

One jar runs on Minecraft 1.9 through 26.2. The plugin works out at startup which flavour of each moved-around API the server has, always by asking whether a class or method exists rather than by parsing a version string which matters, because Minecraft moved to year-based versioning in 2026, so comparing 1.21 against 26.2 is actively wrong.

api-version is pinned at 1.13: the oldest value any modern server accepts, and a key that 1.9–1.12 ignore entirely. That, plus compiling to Java 8 bytecode, is what lets a single jar cover the whole range.

What changes on older servers:

Full version Elsewhere
MiniMessage gradients, hover, click Paper 1.16.5+ Legacy § codes; colours and decorations survive
The work penalty 1.14+ Inactive. It needs the persistent data container to store a per-item repair count; below 1.14 there is nowhere to keep one, so every repair is priced as a first repair. The console says so once at startup.
Per-item max durability 1.20.5+ The material's value is used, which is the only answer those versions have
Enchanted-glint buttons 1.20.5+ The older hidden-enchantment trick. Looks identical.
Comments in shops/*.yml 1.18.1+ Same values, header kept, per-key notes omitted
GUI titles over 32 characters 1.13+ Trimmed to fit, never mid-colour-code

Material and enchantment names are handled rather than degraded: config files are read in both the pre- and post-flattening vocabularies, so one file prices GOLDEN_AXE and GOLD_AXE, or DIG_SPEED and efficiency, as the same thing.

Requirements

Server Minecraft 1.9 – 26.2, on any Bukkit-API implementation (see above)
Java Whatever your server already needs the jar is Java 8 bytecode, which every later JVM loads, so it adds no requirement of its own
Required Vault plus any economy provider (EssentialsX is the tested one)
Optional Citizens without it the NPC trait is unavailable and /repairshop open still works

If no Vault economy provider is registered, the plugin logs an error and disables itself, since it has no way to charge for anything.

Commands and permissions

/repairshop, aliases /rshop and /repairnpc.

Command Does Permission
/repairshop help Help page, showing only what the sender may run
/repairshop quote [shop] Price the item in hand, with the full breakdown repairshop.quote (default: true)
/repairshop prices Cost of a full repair for every material tier repairshop.quote (default: true)
/repairshop shops Browse, create and edit shops in a GUI repairshop.admin (default: op)
/repairshop create|edit|delete <shop> Manage one shop repairshop.admin
/repairshop assign <shop> / unassign Turn the selected NPC into a repair shop, or stop it being one repairshop.admin
/repairshop open [shop] [player] Open a shop menu repairshop.admin
/repairshop list List the configured shops repairshop.admin
/repairshop compat Show how this server's API differences were resolved repairshop.admin
/repairshop reload Reload config, messages and shops repairshop.admin

Opening a shop from an NPC needs repairshop.use (default: true).

EssentialsX owns /repair (plus fix, efix, erepair), and RepairShop deliberately does not claim it.

Setup

Drop Vault, an economy provider, Citizens and RepairShop-<version>.jar into plugins/, start the server, then:

/npc create Blacksmith
/repairshop assign default

That is the whole setup.


See CHANGELOG.md for release history. The project home at C:\Coding\Java\Repair Shop Plugin carries the full documentation set docs/PRICING.md, docs/CONFIGURATION.md, docs/ARCHITECTURE.md, docs/BUILDING.md and docs/COMPATIBILITY.md.

Смотри также

Похожие подборки плагины — по версиям Майнкрафта, загрузчикам и жанрам.

Сервера Майнкрафт

Играть интереснее на сервере — выбирай в рейтинге серверов Майнкрафт и заходи прямо сейчас.

SkyBars
SkyBars Java + BE
1251 онлайн
1.8 — 26.2 версия
🎮 ВЫЖИВАНИЕ ⚔️ АНАРХИЯ 🚗 ГТА РП 🎤 ГОЛОСОВОЙ ЧАТ 🎁 БЕСПЛАТНЫЙ ДОНАТ 🌟 СМП 💻 ПК+ТЕЛЕФОН
SparkTime
SparkTime Bedrock
205 онлайн
1.0 — 26.20 версия
SparkTime | Анархия на телефон
PazikCraft
12 онлайн
1.17 — 26.1.2 версия
Ванильное выживание со свадьбами, прокачкой боевых навыков и голосовым чатом
Mineland Network
224 онлайн
1.8 — 26.2 версия
⚔️ АНАРХИЯ 🔥 СКАЙБЛОК 🛏️ БЕДВАРС 🏗️ КРЕАТИВ+ 🌟 МНОГО РЕЖИМОВ
MineLauncher
Лаунчер Майнкрафт без лицензии — все версии
Бесплатный лаунчер для ПК и Андроид — все версии 26.2, 1.21.11, 26.1.2, 26.1.1. Fabric, NeoForge, Forge, шейдеры, моды и скины в один клик.
Без лицензии Fabric, NeoForge, Forge Моды, шейдеры, скины Все версии Майнкрафта ПК и Андроид Для слабых ПК Сервера в лаунчере
Скачать бесплатно
Windows и Андроид · Бесплатно · Без лицензии
Наш чат