{"id":51435246,"url":"https://github.com/flipbit03/minecraft-villagerdiscount","last_synced_at":"2026-07-05T06:02:49.975Z","repository":{"id":364371996,"uuid":"1267650057","full_name":"flipbit03/minecraft-villagerdiscount","owner":"flipbit03","description":"Share cured villagers' discounted prices with all the players in your server","archived":false,"fork":false,"pushed_at":"2026-06-12T20:06:32.000Z","size":57,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-12T20:18:28.718Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/flipbit03.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-12T18:30:22.000Z","updated_at":"2026-06-12T20:03:34.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/flipbit03/minecraft-villagerdiscount","commit_stats":null,"previous_names":["flipbit03/minecraft-villagerdiscount"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/flipbit03/minecraft-villagerdiscount","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flipbit03%2Fminecraft-villagerdiscount","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flipbit03%2Fminecraft-villagerdiscount/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flipbit03%2Fminecraft-villagerdiscount/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flipbit03%2Fminecraft-villagerdiscount/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flipbit03","download_url":"https://codeload.github.com/flipbit03/minecraft-villagerdiscount/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flipbit03%2Fminecraft-villagerdiscount/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35144845,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-05T02:00:06.290Z","response_time":100,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-07-05T06:02:49.198Z","updated_at":"2026-07-05T06:02:49.937Z","avatar_url":"https://github.com/flipbit03.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# minecraft-villagerdiscount\n\nA Paper plugin (Paper **26.1.2**, Java **25**) that shares cured-villager trade discounts with\n**every** player — online, offline, or players who have never joined the server.\n\n## Why\n\nIn vanilla, curing a zombie villager only grants the *cure gossip* (major positive +20,\nminor positive +25) to the player who performed the cure. Everyone else still pays full\nprice. Gossip is stored per `(villager, player-uuid)` pair, so there is no vanilla way to\nshare it.\n\n## How it works\n\nThe plugin uses Paper's villager reputation API (`com.destroystokyo.paper.entity.villager`)\n— no NMS, no packet manipulation:\n\n1. **On cure** (`EntityTransformEvent` with reason `CURED`): one tick after the conversion\n   finishes — once vanilla has written the curer's gossip — the plugin records the cure on\n   the villager (persistent data) and mirrors the best `MAJOR_POSITIVE` / `MINOR_POSITIVE`\n   gossip to every online player.\n2. **On interact** (`PlayerInteractEntityEvent`, lowest priority): right before any player\n   opens the trade menu, their gossip entry is raised to the villager's best cure gossip.\n   Since this happens lazily at trade time, it works for players who were offline or had\n   never connected when the cure happened — no need to enumerate UUIDs in advance.\n\nPlayer reputation is only ever **raised**, never lowered — players who cured villagers\nthemselves or built trading reputation keep everything. Stacked cures (curing the same\nvillager repeatedly for bigger discounts) are picked up automatically because the plugin\nalways mirrors the *best* gossip present.\n\n## Commands\n\n| Command | Description |\n|---|---|\n| `/villagerdiscount info` (alias `/vds info`) | Inspect the villager you are looking at: recorded cures, best cure gossip, your own gossip and reputation score |\n| `/villagerdiscount sync` | Force-sync every loaded cured villager to all online players |\n| `/villagerdiscount reload` | Reload `config.yml` |\n\nPermission: `villagerdiscount.admin` (default: op).\n\n## Configuration\n\nSee [`src/main/resources/config.yml`](src/main/resources/config.yml) — toggle sync-on-cure,\nsync-on-interact, persistence, cure announcement message (MiniMessage), and fallback gossip\nvalues.\n\n## Building\n\nRequires JDK 25 and Gradle 9+ (wrapper included):\n\n```bash\n./gradlew build\n```\n\nThe plugin jar lands in `build/libs/minecraft-villagerdiscount-\u003cversion\u003e.jar` — drop it in\nyour server's `plugins/` folder.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflipbit03%2Fminecraft-villagerdiscount","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflipbit03%2Fminecraft-villagerdiscount","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflipbit03%2Fminecraft-villagerdiscount/lists"}