Simple KeyAll

Simple KeyAll

A Paper plugin that gives each player rewards on their own timer.

4 downloads 0 followers

hKeyAll

A lightweight Paper and Purpur plugin that gives each player key rewards on their own independent online timer.


What does it do?

hKeyAll automatically awards configurable key rewards to players as they accumulate online time. Every player has their own timer, and progress is saved across logouts and server restarts.

Feature Description
Individual Timers Each player has an independent reward timer
Online Time Timers advance only while players are online
Persistent Progress Timer progress survives logouts and server restarts
Randomized Intervals Reward intervals are randomized between configured minimum and maximum durations
Configurable Rewards Reward names and commands can be customized in config.yml
Command Aliases Configure additional command aliases
Custom Permissions Configure the permission nodes for player and admin commands

Set both timer values to 3600 for a fixed one-hour reward interval.


Commands
Command Permission Description
/hkeyall time hkeyall.time Shows your remaining time until the next reward
/keyall time hkeyall.time Alias for /hkeyall time
/hkeyall reload hkeyall.admin Reloads configuration, aliases, and saved timers
/keyall reload hkeyall.admin Alias for /hkeyall reload

The base command /hkeyall is always registered. By default, /keyall and /hka are also registered as aliases.

Permissions
Permission Default Description
hkeyall.time OP Allows checking the next key timer
hkeyall.admin OP Allows reloading hKeyAll

Permission nodes are configurable in config.yml:

permissions:
  time-command: "hkeyall.time"
  reload-command: "hkeyall.admin"

Features

  • Independent reward timers for every player
  • Online-time tracking, excluding offline time
  • Persistent timer progress across logout and server restarts
  • Randomized reward intervals
  • Configurable reward names and console commands
  • Configurable command aliases
  • Configurable command permission nodes
  • Player command to check remaining reward time
  • Admin reload command
  • Placeholder replacement in reward commands
  • Lightweight standalone implementation

Requirements

Requirement Version
Minecraft 1.19–26.3
Server Software Paper or Purpur
Java 17

hKeyAll uses one universal JAR compiled against the Paper 1.19 API to maintain compatibility with the supported server versions without relying on newer-only APIs.


Installation

  1. Download the latest hKeyAll JAR.
  2. Place the JAR in your server's plugins folder.
  3. Start or restart your server.
  4. Edit the generated plugins/hKeyAll/config.yml file.
  5. Configure your reward intervals, reward commands, permissions, and aliases.
  6. Run /hkeyall reload after making configuration changes.

Configuration

Timer intervals

The minimum and maximum reward intervals are configured in seconds.

timer:
  minimum-seconds: 1800
  maximum-seconds: 7200

With these example values, each reward interval is randomized between 30 minutes and 2 hours of online time.

For a fixed one-hour interval:

timer:
  minimum-seconds: 3600
  maximum-seconds: 3600

Command aliases

Configure aliases in config.yml:

command:
  aliases:
    - keyall
    - hka

/hkeyall is always registered as the base command. Aliases are registered on startup and refreshed by /hkeyall reload.

If another plugin already owns an alias, hKeyAll skips that alias and logs a warning.

Permissions

Configure the permission nodes used by commands:

permissions:
  time-command: "hkeyall.time"
  reload-command: "hkeyall.admin"

Rewards

Rewards define a name, whether the reward is enabled, and the command to execute.

rewards:
  - name: vote
    enabled: true
    command: "crate key give %player% vote 1"

Reward commands should be valid console commands for the plugins installed on your server.

Placeholders

Reward commands support the following placeholders:

Placeholder Description
%player% Player's Minecraft username
%uuid% Player's UUID
%reward% Name of the selected reward

These placeholders are replaced when the configured reward command executes.


Building from Source

Build hKeyAll using the included Gradle wrapper.

.\gradlew build

The compiled JAR is written to:

build/libs/

Targeting older servers

The build intentionally targets the Paper 1.19 API to support the documented Minecraft versions.

Do not increase paperApiVersion unless you are dropping older server support or preparing separate JARs for different server versions.


Important Notes

  • Each player has an independent timer.
  • Timers count online time only, not offline time.
  • Timer progress persists across logout and server restarts.
  • Reward intervals are randomized between timer.minimum-seconds and timer.maximum-seconds.
  • Set both interval values to 3600 for a fixed one-hour interval.
  • Reward names, commands, permissions, messages, and aliases are configurable in config.yml.
  • /hkeyall is always registered as the base command.
  • Conflicting aliases are skipped, and a warning is logged.
  • hKeyAll does not award offline time.

Author

  • HBOJ

License

See the repository's license file for the applicable license terms.

Version Minecraft Loader Download

Timed KeyAll 1.0.0

1.0.0

1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3
paper, purpur
Download