SharedCure is a server plugin built on the Paper API that utilizes a 'Tagging + Lazy Loading' mechanism to ensure that villagers cured by any player provide the maximum discount to all players on the server.
English | 简体中文
SharedCure is a Paper plugin that implements server-wide villager discount sharing using a small tag (PDC) and Just-In-Time reputation injection approach. When a villager has been cured by any player, this plugin ensures other players who interact with that villager receive the highest trade discount (MAJOR_POSITIVE) without requiring bulk updates across all players.
discount_status tag (PDC) indicating UNKNOWN, NOT_CURED, or CURED to minimize server-wide operations.CURED state, the plugin will, if necessary, instantly inject MAJOR_POSITIVE reputation for the player's UUID, ensuring that the discount is immediately reflected in the trading interface. This only affects the cured reputation (MAJOR_POSITIVE) and does not impact other types of reputation.EntityTransformEvent and marks zombie villager conversions as CURED instantly.| Module | Event | Purpose |
|---|---|---|
| Existing villager initialization | ChunkLoadEvent + startup scan |
Tag existing villagers and deep-check gossip/inventory for unknown states. |
| New villager tagging | CreatureSpawnEvent |
Tag newly spawned villagers NOT_CURED. |
| Cure capture | EntityTransformEvent |
Mark newly cured villagers as CURED. |
| JIT injection | PlayerInteractEntityEvent |
Inject MAJOR_POSITIVE reputation for the interacting player when villager is CURED. |