HonorCore
Player reputation that actually works
Players give honor points to each other. Positive honor benefits them, negative honor punishes them. Up to you.
One jar. 1.16 → 1.21+. No dependencies.
Player reputation that actually works
Players give honor points to each other. Positive honor benefits them, negative honor punishes them. Up to you.
One jar. 1.16 → 1.21+. No dependencies.
The idea
Most reputation plugins give you a number in chat and stop there. HonorCore turns that number into something the player can feel: a tier that grants permissions, unlocks commands and opens more doors by having a good behavior and reputation around the server. It can also punish them based on your settings.
Giving honor
Code (Text):
/honor give <player> [reason]
You will have full control of how players use the system. Make sure to take a quick look at all the config before using the plugin on your main server.
- Playtime — playtime required before honoring.
- Account age — prevents new multi-accounts from giving a lot of honor points.
- Minimum reputation or minimum tier.
- Rank / permission — rank or permission requirement before honoring.
- Shared playtime — you can only honor who you play with.
- Same IP blocked — prevents more alts from giving points.
- Distance and both online, if you want it to be a face to face thing.
- Requirements on the receiver too: account age and a reputation floor, so a farm of fresh accounts cannot collect honor.
- Daily limit on top of the cooldown.
Tiers: what reputation is for
Create as many tiers as you want, positive and negative. Each one can grant permissions, block commands, apply potion effects and run commands. It is really up to your creativity.
Examples:
Code (Text):
tiers:
trusted:
threshold: 10
display: '&a[Trusted]'
unlocks:
- '3 homes instead of 1'
- 'No waiting time on /spawn'
permissions:
- 'essentials.sethome.multiple.3'
- 'essentials.spawn.cooldown.bypass'
on-enter:
repeatable: false # claimed once, never again
commands:
- 'console: eco give %player% 500'
outcast:
threshold: -20
display: '&8[Outcast]'
blocks:
- 'Teleports and homes'
- 'Permanent slowness'
blocked-commands: ['tpa', 'home', 'trade']
effects: ['SLOW:0']
trusted:
threshold: 10
display: '&a[Trusted]'
unlocks:
- '3 homes instead of 1'
- 'No waiting time on /spawn'
permissions:
- 'essentials.sethome.multiple.3'
- 'essentials.spawn.cooldown.bypass'
on-enter:
repeatable: false # claimed once, never again
commands:
- 'console: eco give %player% 500'
outcast:
threshold: -20
display: '&8[Outcast]'
blocks:
- 'Teleports and homes'
- 'Permanent slowness'
blocked-commands: ['tpa', 'home', 'trade']
effects: ['SLOW:0']
Losing reputation
- Staff — /honor take and /honor set, always written to the audit log with who did it, so you can track it.
- Reports — /report <player> <reason> goes to a queue. Staff approves or denies it from a menu. Nothing is applied automatically, because a group of players piling on reports should not be able to punish someone on their own.
- PvP kills — with arena exclusion, a self defence check and a per pair cooldown, so nobody can farm a friend's reputation into the ground.
- Combat logging.
- Punishments — see below.
- Griefing attempts — see below.
- Inactivity decay, optional, so the leaderboard shows who's more active than others.
Reputation for playtime, and able to set up rewards for a clean 30 day record.
Works with your ban plugin. All of them.
Instead of hooking one punishment plugin, HonorCore watches the punishment commands. You decide what each one costs:
Code (Text):
sanctions:
commands:
ban: -25
tempban: -10
mute: -3
warn: -2
commands:
ban: -25
tempban: -10
mute: -3
warn: -2
And the opposite direction, with your commands:
Code (Text):
punishments:
levels:
tempban:
at-or-below: -50
commands:
- 'tempban %player% 1d %reason%'
recover-commands:
- 'unban %player%'
levels:
tempban:
at-or-below: -50
commands:
- 'tempban %player% 1d %reason%'
recover-commands:
- 'unban %player%'
Works with your protection plugin. All of them.
Griefing attempts are detected without any dependency: when a player tries to break, place or open something inside a claim that is not theirs, the protection plugin cancels the action — and that signal is identical whether the server runs WorldGuard, GriefPrevention, Lands, Towny, Residence or PlotSquared.
Off by default, with a long cooldown and a daily cap, because protection plugins also cancel harmless clicks.
Menus, languages and sounds
- Four menus — profile, leaderboard, tier list and the report queue — with slots, materials, names, lore and actions defined in gui/*.yml. Customize all of them to your liking.
- Every message is in a language file. English and Spanish included; copy en_US.yml to make your own. Missing keys fall back to English, so a half finished translation still works.
- Colours: legacy &a, hex &#RRGGBB and <gradient:#ff0000:#0000ff>text</gradient>
- A sound per event — honor received, honor lost, reported, tier up, tier down, menus — each with its own volume, pitch and optional title or action bar.
Commands
Code (Text):
/honor your profile
/honor <player> someone else's profile
/honor give <player> [reason] give a point of honor
/honor revoke <player> take it back (optional)
/honor top [page|menu] leaderboard
/honor tiers every tier and what it unlocks
/report <player> <reason> report someone
/honor reports staff queue
/honor history <player> full audit log
/honor add|take|set <player> <n> adjust reputation
/honor reload
/honor <player> someone else's profile
/honor give <player> [reason] give a point of honor
/honor revoke <player> take it back (optional)
/honor top [page|menu] leaderboard
/honor tiers every tier and what it unlocks
/report <player> <reason> report someone
/honor reports staff queue
/honor history <player> full audit log
/honor add|take|set <player> <n> adjust reputation
/honor reload
Permissions
Players — on for everyone by default. Turn them off if you want.
Code (Text):
honorcore.use true see profiles, the leaderboard and the tier list
honorcore.give true give honor, and take it back where allowed
honorcore.report true report a player to the staff
honorcore.give true give honor, and take it back where allowed
honorcore.report true report a player to the staff
Code (Text):
honorcore.staff op report queue and the full history of a player
honorcore.notify op chat notification when a new report arrives
honorcore.admin op add / take / set reputation, and reload
honorcore.notify op chat notification when a new report arrives
honorcore.admin op add / take / set reputation, and reload
Bypasses — deliberately NOT handed to admins by default, so your staff sees the same rules as the players while they test:
Code (Text):
honorcore.bypass.cooldown false the wait between honors and the daily limit
honorcore.bypass.requirements false playtime, rank, IP, distance...
honorcore.bypass.restrictions op use commands the current tier blocks
honorcore.bypass.triggers false never lose reputation to the automatic triggers
honorcore.bypass.* false all four at once
honorcore.bypass.requirements false playtime, rank, IP, distance...
honorcore.bypass.restrictions op use commands the current tier blocks
honorcore.bypass.triggers false never lose reputation to the automatic triggers
honorcore.bypass.* false all four at once
A typical LuckPerms setup, so that only settled players hand out honor:
Code (Text):
lp group default permission set honorcore.give false
lp group member permission set honorcore.give true
lp group moderator permission set honorcore.staff true
lp group admin permission set honorcore.* true
lp group member permission set honorcore.give true
lp group moderator permission set honorcore.staff true
lp group admin permission set honorcore.* true
PlaceholderAPI
Code (Text):
%honorcore_points% %honorcore_tier%
%honorcore_tier_raw% %honorcore_tier_threshold%
%honorcore_next_tier% %honorcore_points_to_next%
%honorcore_progress_bar% %honorcore_rank%
%honorcore_can_give% %honorcore_cooldown%
%honorcore_honor_received%
%honorcore_honor_given%
%honorcore_top_1_name% %honorcore_top_1_points%
%honorcore_top_1_tier%
%honorcore_tier_raw% %honorcore_tier_threshold%
%honorcore_next_tier% %honorcore_points_to_next%
%honorcore_progress_bar% %honorcore_rank%
%honorcore_can_give% %honorcore_cooldown%
%honorcore_honor_received%
%honorcore_honor_given%
%honorcore_top_1_name% %honorcore_top_1_points%
%honorcore_top_1_tier%
API
Code (Text):
int points = HonorCoreAPI.getPoints(uuid);
Tier tier = HonorCoreAPI.getTier(uuid);
HonorCoreAPI.modify(uuid, 5, "MyPlugin", "Won the event");
Tier tier = HonorCoreAPI.getTier(uuid);
HonorCoreAPI.modify(uuid, 5, "MyPlugin", "Won the event");
Technical
- 1.16 → 1.21+ on a single jar. Compiled against the 1.16.5 API and targeting Java 8, so it loads on the Java 8 of a 1.16 server and on the Java 21 of 1.21. No NMS, no version modules.
- SQLite or MySQL. Point several servers at the same MySQL and they share reputation.
- Full audit log. Every single change is recorded with actor, amount, reason and origin — staff decisions included.
- No hard dependencies. PlaceholderAPI is optional.
Terms of use
HonorCore is free.
You may:
- Run it on any server or network you own or administrate, public or private, with no player limit.
- Build on the API from your own plugins and share those freely.
- Decompile or modify it for your own private use on your own server.
You may not:
- Re-upload or redistribute it anywhere — other sites, forums, Discord servers, file hosts, leak sites, plugin packs, server templates or pre-made setups.
- Sell it or rent it.
- Claim authorship, or publish a renamed or modified version as your own work.
- Remove or alter the author credits.
Quick facts
- Edition: Minecraft Java
- File type: .jar
- Minecraft versions listed: 1.16, 1.17, 1.18
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Spigot — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
HonorCore is a free Minecraft Java mod. Compatible with Minecraft 1.16, 1.17, 1.18, 1.19 and newer. Downloaded 5 times (via Spigot). Download it and open it directly in the game.
