JP Plugins
All plugins

JPKits

Kits with cooldowns, one-time and first-join kits, prices, a preview menu and an in-game editor.

Economy plugin, version 1.0.0

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

  1. Put JPKits-<version>.jar in your server's plugins folder.
  2. Restart the server. plugins/JPKits/ is created with the config and messages.
  3. 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

CommandDescriptionPermission
/kit [kit|preview|help]
Aliases: /jpkits
Claim and preview kits, and the kit editor.jpkits.use
/kitsEvery kit, with what it costs and when it is ready.jpkits.use

Permissions

PermissionDefaultDescription
jpkits.useeveryoneOpen /kits, preview kits and claim the kits you have access to.
jpkits.kit.*operatorsClaim every kit, whatever permission it needs.
jpkits.bypassnobodyIgnore cooldowns and use limits (not prices).
jpkits.adminoperatorsGive kits and kit tokens, the editor, reset cooldowns and reload.

Placeholders

Needs PlaceholderAPI.

PlaceholderShows
%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.

EventWhen
com.jp.kits.api.KitClaimEventA player claims a kit and every rule passed. Cancel it and nothing is used up or paid.
com.jp.kits.api.KitGivenEventA 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_NO

Support

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.