A partnership system for Minecraft featuring quest-based leveling, gifts, shared homes, and rewards.
Features • Installation • Commands • Permissions • Placeholders • Configuration • Build
- 💑 Partnership System — Invite other players to become partners with a request/accept system
- 📜 39 Quest Types — Ranging from light quests (eating, chatting) to heavy quests (boss kills, raids)
- ⬆️ Leveling System — XP & level progression with custom formulas per level
- 🎁 Gift System — Send items to partners and claim pending gifts
- 🏠 Partner Home — Set, teleport, and delete a shared home (includes warmup & cooldown)
- 🎁 Milestone Rewards — Automated rewards based on partnership duration and level
- 🏆 Bonus Quests — Rare quests offering higher XP rewards
- 💬 Partner Chat — Private chat exclusively for partners (toggle mode & direct message)
- ⚔️ PvP Toggle — Toggle PvP protection between partners
- ✨ Partner Effects — Automated particle effects based on level (Heart, Happy, EndRod, Cherry)
- 🔥 Login Streak — Daily shared login streak for bonus XP
- 🏷️ Partner Titles — Automated titles based on level via PlaceholderAPI
- 🕵️ Admin Spy — Admins can monitor partner chats
- 🖥️ Level GUI — Inventory GUI to view level progress
- 📊 Top Leaderboard — Partnership ranking based on level
- 🔗 PlaceholderAPI Support — 10 placeholders for scoreboards, chat, etc.
- 💾 SQLite & MySQL — Dual database support with HikariCP connection pooling
- ⚡ Async Operations — All database operations run asynchronously for zero main-thread blocking
- Paper 1.20.x+
- Java 21+
- PlaceholderAPI — For placeholders & partner titles
- Download the JAR from Releases
- Place the
.jarfile in yourplugins/folder - Restart the server
- Edit
plugins/PartnershipRewards/config.yml - Run
/partneradmin reload
| Command | Alias | Description |
|---|---|---|
/partner request <player> |
Send a partnership request | |
/partner accept |
Accept a request | |
/partner reject |
Reject a request | |
/partner break |
Break the partnership | |
/partner info |
View partnership info | |
/partner quest |
View active quests | |
/partner level |
/partner gui |
Open the level progress GUI |
/partner chat [message] |
Toggle chat mode or send a direct message to partner | |
/partner gift |
Send the currently held item to your partner | |
/partner gifts |
Claim pending gifts from your partner | |
/partner sethome |
Set the partner home (min level required) | |
/partner home |
Teleport to the partner home | |
/partner delhome |
Delete the partner home | |
/partner toggle pvp |
Toggle PvP between partners | |
/partner toggle effects |
Toggle particle effects | |
/partner top |
View the top 10 partnerships | |
/partner list |
View all active partnerships (admin only) |
Tip:
/partnercan also be accessed via/por/partnership
| Command | Description |
|---|---|
/partneradmin reload |
Reload the configuration |
/partneradmin reset <player> |
Reset a player's partnership |
/partneradmin set <p1> <p2> |
Forcefully create a partnership |
/partneradmin toggle spy |
Toggle partner chat spy mode |
Tip:
/partneradmincan also be accessed via/paor/padmin
| Permission | Description | Default |
|---|---|---|
partnershiprewards.use |
Use player partner commands | true |
partnershiprewards.admin |
Use admin commands + /partner list |
op |
Requires PlaceholderAPI. All placeholders use the %partner_ prefix.
| Placeholder | Output | Example |
|---|---|---|
%partner_name% |
Partner's name | Steve |
%partner_level% |
Partnership level | 15 |
%partner_xp% |
Current XP | 450 |
%partner_duration% |
Partnership duration | 7d 3h |
%partner_days% |
Partnership duration in days | 7 |
%partner_online% |
Partner's status | Online / Offline |
%partner_title% |
Title based on level | [Soulmate] |
%partner_quest% |
Active quest description | Kill 20 Zombies |
%partner_streak% |
Current login streak | 5 |
%partner_has_partner% |
Whether the player has a partner | true / false |
Click to view configuration sections
A full configuration file is automatically generated in plugins/PartnershipRewards/config.yml on the first run.
Configuration includes:
- Choose between SQLite (default) or MySQL
- HikariCP connection pool settings
- 39 quest types that can be toggled individually
- XP per quest, reset hours, cooldowns
- Custom XP requirements per level (overriding the formula)
- Max level configuration
- Bonus quests with custom percentage chances and XP rewards
- Custom rewards per level (commands + broadcasts)
- Max pending gifts per player
- Particle effects based on level (Heart ≥1, Happy ≥5, EndRod ≥15, Cherry ≥25)
- Interval ticks & max distance limits
- Toggle per-partnership
- Automated titles based on level via PlaceholderAPI
- Custom formats & per-level title names
- Minimum level to set a home
- Warmup seconds (stand still before teleportation)
- Cooldown seconds between teleports
- Base bonus XP per streak level
- Max streak (default 7 days)
- Custom messages
- All messages are fully customizable (prefixes, requests, errors, quests, progress)
Click to view all 39 quest types
| Quest | Description |
|---|---|
GIVE_ITEM |
Give items to your partner |
SEND_MESSAGE |
Send messages in chat |
USE_COMMAND |
Use a specific command |
EAT_FOOD |
Eat food together |
SLEEP_TOGETHER |
Sleep in beds with your partner |
FISH_CATCH |
Catch fish |
TRADE_VILLAGER |
Trade with villagers |
ENCHANT_ITEM |
Enchant items |
ANVIL_USE |
Use anvils |
BREW_POTION |
Brew potions |
THROW_SNOWBALL_AT_PARTNER |
Throw snowballs at your partner |
THROW_EGG |
Throw eggs |
EAT_CAKE |
Eat cake together |
DRINK_MILK |
Drink milk |
LAUNCH_FIREWORK |
Launch fireworks |
| Quest | Description |
|---|---|
KILL_MOBS |
Kill mobs together |
CRAFT_ITEM |
Craft specific items |
PLACE_BLOCKS |
Place blocks |
HARVEST_CROPS |
Harvest crops |
TAME_ANIMAL |
Tame animals |
BREED_ANIMAL |
Breed animals |
SMELT_ITEMS |
Smelt items in a furnace |
SHOOT_ARROWS |
Shoot arrows |
SHEAR_SHEEP |
Shear sheep |
USE_ENDER_PEARL |
Use ender pearls |
KILL_WITH_BOW |
Kill mobs with a bow |
DAMAGE_EACH_OTHER |
Spar with your partner |
VISIT_NETHER |
Visit the Nether together |
RIDE_TOGETHER |
Ride a boat/minecart together |
| Quest | Description |
|---|---|
BREAK_BLOCKS |
Break natural blocks together |
PLAY_TOGETHER |
Play online together for a set duration |
| Quest | Default XP | Description |
|---|---|---|
KILL_BOSS |
500 | Kill an Ender Dragon, Wither, or Elder Guardian |
MINE_ANCIENT_DEBRIS |
300 | Mine ancient debris |
COMPLETE_RAID |
400 | Complete a village raid together |
EARN_XP_LEVELS |
250 | Earn XP levels |
MINE_DIAMOND_ORE |
200 | Mine diamond ores |
MINE_DEEPSLATE_ORES |
200 | Mine deepslate ores |
KILL_WITHER_SKELETONS |
300 | Kill wither skeletons |
SMELT_NETHERITE |
400 | Smelt netherite scrap |
git clone https://github.com/revanjay/PartnershipRewards.git
cd PartnershipRewards
./gradlew buildOutput JAR: build/libs/PartnershipRewards-x.jar
src/main/java/github/revanjay/partnershiprewards/
├── PartnershipRewards.java # Main plugin class
├── command/ # Command handlers
├── database/ # Database layer (HikariCP)
├── gui/ # Inventory GUI
├── hook/ # PlaceholderAPI integration
├── listener/ # Event listeners
├── manager/ # Business logic managers
├── model/ # Data models
└── task/ # Scheduled tasks
| Library | Type | Description |
|---|---|---|
| Paper API 1.20.1 | compileOnly | Server API |
| Lombok 1.18.46 | compileOnly | Annotation processor |
| PlaceholderAPI 2.12.2 | compileOnly (optional) | Placeholder support |
| HikariCP 5.0.1 | bundled | Connection pooling |
| SQLite JDBC 3.42.0.0 | bundled | SQLite driver |
Made by RevelX