JPKits
Kits with cooldowns, one-time and first-join kits, prices, a preview menu and an in-game editor.
Downloads open soon.
Features
- Kits with cooldowns, use limits, one-time kits and first-join kits
- Prices with any Vault economy
- Kits menu with live cooldowns and a preview with a claim button
- Armour is put on straight away; full inventories drop the rest
- Delivery in the inventory, shulker box, chest, barrel or as a token
- In-game kit editor
- Events for other plugins
Requirements
- Paper 26.1 or newer (Java 25)
- Optional:
- Vault: money (any Vault economy)
- PlaceholderAPI: placeholders in texts, and this plugin's own placeholders
- JPAuth: waits until players have logged in
Installation
- Put
JPKits-<version>.jarin your server'spluginsfolder. - Restart the server.
plugins/JPKits/is created with the config and messages. - Change what you want in the files, then reload or restart.
Type /jp as an operator to see every JP plugin you have installed, its version and which optional plugins it found.
Commands
| Command | Description | Permission |
|---|---|---|
/kit [kit|preview|help]Aliases: /jpkits | Claim and preview kits, and the kit editor. | jpkits.use |
/kits | Every kit, with what it costs and when it is ready. | jpkits.use |
Permissions
| Permission | Default | Description |
|---|---|---|
jpkits.use | everyone | Open /kits, preview kits and claim the kits you have access to. |
jpkits.kit.* | operators | Claim every kit, whatever permission it needs. |
jpkits.bypass | nobody | Ignore cooldowns and use limits (not prices). |
jpkits.admin | operators | Give kits and kit tokens, the editor, reset cooldowns and reload. |
Placeholders
Needs PlaceholderAPI.
| Placeholder | Shows |
|---|---|
%jpkits_ready_<kit>% | true when the reader can claim it now |
%jpkits_status_<kit>% | "Ready", "2h 5m", "Claimed" or "Locked" (texts in messages.yml) |
%jpkits_cooldown_<kit>% | time until it is ready, or the ready text |
%jpkits_uses_<kit>% | how often the reader claimed it |
%jpkits_uses_left_<kit>% | claims left (∞ without a limit) |
%jpkits_available% | kits the reader can claim right now |
%jpkits_claimed% | kits the reader claimed in total |
For developers
Add softdepend: [JPKits] to your plugin.yml.
| Event | When |
|---|---|
com.jp.kits.api.KitClaimEvent | A player claims a kit and every rule passed. Cancel it and nothing is used up or paid. |
com.jp.kits.api.KitGivenEvent | A kit was handed out (claim, token, first-join kit or /kit give). |
Configuration
All files are in plugins/JPKits/. Files: config.yml, kits.yml, menus.yml, messages.yml.
When you update the plugin, new options are added to your config.yml by themselves, with their comments. Your own settings stay as they are, and the old file is kept as config.old-v<number>.yml.
Languages: English, Spanish, Portuguese, French and German. Set language: in config.yml (en, es, pt, fr or de).
Default config.yml
# Used to add new options to this file after an update. Don't change it.
config-version: 1
# ╔══════════════════════════════════════════════════════════════════╗
# ║ JPKits · config.yml ║
# ╚══════════════════════════════════════════════════════════════════╝
# Kits with cooldowns, one-time and first-join kits, prices and a preview menu.
# The kits themselves are in kits.yml (or build them in game: /kit editor).
# How /kits and the preview look (size, decoration, button places) is in menus.yml.
# Apply changes with /kit reload.
#
# Setting up (as op):
# /kit editor make and change kits with clicks
# /kit create <id> a new kit with a copy of your inventory
# /kit give <player|all> <kit> give a kit now (no cooldown, no price)
# /kit token <player|all> <kit> an item that gives the kit when right-clicked
# /kit reset <player> [kit] forget cooldowns and uses
# Players: /kits opens the list, /kit <kit> claims one, /kit preview <kit> shows it.
# Kits that need a permission use jpkits.kit.<id> (give a rank jpkits.kit.vip).
# Language of the messages: en (messages.yml), es, pt, fr or de (lang/<code>.yml).
# Your own language: copy a file in the lang folder to lang/<code>.yml, translate it
# and set its code here (for example it for lang/it.yml).
language: en
# Replace messages.yml with the new design when the plugin is updated.
# Your old file is kept as messages.old-vX.yml. false = never touch it.
auto-update-style: true
storage:
# YAML = one file per player (one server).
# MYSQL = shared by every server of a network: a kit claimed on one server is on
# cooldown on all of them.
type: YAML
mysql:
host: localhost
port: 3306
database: minecraft
username: root
password: ''
parameters: useSSL=false&allowPublicKeyRetrieval=true&characterEncoding=utf8
table-prefix: jpkits_
# When a kit does not fit in the inventory:
# drop = give it anyway, the rest falls at the player's feet (only they can pick it up)
# deny = ask the player to make room first
when-full: drop
# Also give first-join kits (once) to players who joined before JPKits was installed.
first-join-existing-players: false
menu:
# Show kits the player has no permission for (marked as locked), so they know what ranks get.
show-locked-kits: true
# Kits that can be claimed right now shine in /kits.
glow-ready: true
# The item of /kit token. Right-click it to get the kit, whatever the cooldown or price.
token:
material: PAPER
glow: true
sounds:
claim: ENTITY_PLAYER_LEVELUP:1:1.2
denied: ENTITY_VILLAGER_NOSupport
Guides and the docs of every JP plugin are on the JP Plugins website. Questions, bugs or ideas? Join the JP Plugins Discord.
License
JPKits is free to use on any server, including servers that make money, but it is not open source. Don't reupload, sell or share modified copies of it. The full terms are in LICENSE.txt, which is also inside the jar.