Marketplace/Gameplay/donutkeysandcreates

donutkeysandcreates

minecraftFreev1.0.0

Description

Create a Paper Minecraft plugin for version 1.21 called "donutkeysandcreates".

The plugin should behave similar to a DonutSMP style key and crate system.

MAIN FEATURE:
Players earn 1 Basic crate key every 2 hours of online playtime.

PLAYTIME KEY SYSTEM:
- Every player should earn a key every 120 minutes of playtime.
- The timer must only count when the player is online.
- The timer must pause when the player leaves the server.
- The timer must continue when the player rejoins.
- The timer must persist after server restart.
- The reward crate type and amount must be configurable.

DEFAULT CONFIG:
Playtime reward interval: 120 minutes
Reward crate: basic
Reward amount: 1 key

TAB / PLACEHOLDER SUPPORT:
The plugin must provide placeholders so they can be used in TAB plugins.

Placeholders required:

%donutkeysandcreates_playtime_left%
Shows remaining time until next key

%donutkeysandcreates_nextcrate%
Shows the crate name that will be rewarded

%donutkeysandcreates_keys_<crate>%
Shows how many keys the player has for that crate

Example TAB display:

Next Basic Key: 10m left

The time format must be configurable.

CRATE SYSTEM:
Create a crate system where players open a crate GUI and choose one reward.

Features:
- GUI menu using Bukkit inventory
- Player chooses exactly ONE reward
- Remove 1 key after claiming reward
- If player has no key show error message
- Rewards configured in crates.yml

Each reward must support:
- material
- display name
- lore
- slot position
- console commands

CRATE TYPES:
Plugin must support multiple crates, for example:

basic
rare
legendary
donut

Each crate must be configurable in crates.yml.

COMMANDS:

/crates
Open main crate menu

/crates <crate>
Open specific crate

/donut givekey <player> <crate> <amount>
Give keys to player

/donut removekey <player> <crate> <amount>
Remove keys

/donut keys <player>
Show player's keys

/donut reload
Reload configs

/playtimekeys
Show remaining time until next key

PERMISSIONS:

donutkeysandcreates.crates
donutkeysandcreates.admin
donutkeysandcreates.givekey
donutkeysandcreates.removekey
donutkeysandcreates.reload

CONFIG FILES:

config.yml
messages.yml
crates.yml
playerdata.yml

MESSAGES:

All messages must be configurable.

Examples:
- no permission
- no keys
- reward claimed
- key received
- reload complete
- playtime progress

DATA STORAGE:

Store player data in YAML.
Save:

playtime progress
crate keys
player uuid

NPC SUPPORT:

The plugin should work with NPC plugins like ZNPCs or Citizens.

Example usage:

/znpcs action add CMD crates
/znpcs action add CMD crates basic

This allows NPCs to open the crate menu.

CODE STRUCTURE:

Use a clean Java plugin structure.

Main class
Managers
Commands
Listeners
Data storage

The plugin must compile for Paper 1.21 and generate a working plugin.yml and Gradle project.

IMPORTANT:
Do NOT use Skript. Create a real Java Paper plugin.

Reviews (0)

No reviews yet

Be the first to leave a review!

Nikola Valev

Seller

Nikola Valev

0

downloads

Versionv1.0.0
Platformminecraft
Typepaper
Minecraft VersionMC 1.21
CategoryMinecraft Plugins > Gameplay
Published on12/03/2026
Last update21/04/2026
Free