0.2.2latestPlayerGrowth 0.2.2Jul 28, 2026 0.2.1PlayerGrowth 0.2.1Jul 28, 2026 - Messages now show in each player's own client language instead of a single language for the whole server - if a translation for a player's client locale isn't bundled, they fall back to the language set inconfig.yml(as before). - PlaceholderAPI placeholders now work for offline players, not just players currently online - useful for leaderboard/hologram plugins that query offline players' height, gender, or growth progress. - Simplified network playtime settings. The oldnetwork.blocklist(a list every server on the network had to keep in sync) is replaced by two settings each server sets for itself: whether to track its own playtime separately (network.per-server) and whether its playtime counts toward growth at all (network.include-server). Existing installs are migrated automatically - a server that was previously blocklisted keeps behaving the same way. - More reliable diagnostics when FlectonePulse is installed - a single consolidated health-check now logs the status of server-id detection, theme-color matching, and message dispatch on startup/reload, instead of each one failing silently on its own.0.2.0PlayerGrowth 0.2.0Jul 28, 2026 0.1.6PlayerGrowth 0.1.6Jul 28, 2026 v0.1.5
Cleanup/refactor release — no user-facing behavior changes, no config/permission changes. - Extracted `Notifier`, a reusable base class for any feature that sends an in-game notification gated by a permission node plus a live-checked "is this enabled right now" flag.UpdateNotifier(the update-check feature from v0.1.4) is its first user.Notifierlives incore, built on the platform-agnosticPlatformPlayer/PlayerGrowthCorerather than Bukkit'sCommandSender— any future platform module could reuse it as-is. - Sends viamessages().get(...)directly rather than throughminecraft/bukkit's FlectonePulse-dispatch entry point: a plugin-update notice has no business being relayed through FlectonePulse's own pipeline (e.g. a Discord bridge) just because the recipient is online. - Redundancy cleanup, following a full audit of the codebase for duplicated logic: -GrowthEngine.effectiveScale(PlatformPlayer)replaces a "current-scale-or-minimum" computation that had been copy-pasted into four different call sites (a command, the PlaceholderAPI hook, and the public API implementation). -PlayerGrowthCore.genderDisplayName(...)replaces a gender display-name lookup that had been copy-pasted into five call sites. -CommandGuards.requirePlayercentralizes the "this command needs an online player, not console" check, previously duplicated (and inconsistently — one copy existed as an unused private helper) across three command classes. -SchemaVersionStoreextracts the schema-version read/compare/ migrate/write bookkeeping that the H2 and MySQL/MariaDB storage backends each carried as separate, nearly-identical implementations. Verified against a live H2 database (fresh install and reopen of an existing database) after the change. - Minor: dropped a noisy<fcolor:N>diagnostic log line that printed the full resolved color map on every startup/reload. ---v0.1.4
Architecture consolidation + two new features. - Merged the `minecraft/paper` module into `minecraft/bukkit`. A full audit found the only genuine Paper-only API the separate Paper module used was Brigadier-native command registration (CommandSourceStack) — and Cloud's ordinaryCommandSender-based command manager already works identically on Paper, so that split bought nothing but double the maintenance. The other apparent Paper-only behavior — sending native AdventureComponents instead of legacy-formatted strings — was never actually gated on the Paper API either; it's now a runtime capability check (does this server'sCommandSenderimplement Adventure'sAudience?) with no separate build required. - Practical effect: one plugin jar (PlayerGrowth-Bukkit-<version>.jar) now covers Spigot, CraftBukkit, Paper, and Purpur. If you were previously running the Paper-specific jar, switch to the Bukkit jar on your next upgrade — it behaves identically and still gets native message delivery on Paper/Purpur automatically. - Added a `/pg` alias for/playergrowth—/pg reloadand/pg helpnow work exactly like their/playergrowthequivalents. - Added an update checker. On startup, PlayerGrowth checks this project's GitHub repository for a newer release; if one exists, it logs a console warning and notifies online players holdingplayergrowth.update-notify(default: op) the next time they join. - New config key:update-checker.enabled(defaulttrue) — set tofalseto disable both the console warning and the in-game notification. Existing installs pick up this key automatically on upgrade. - New permission:playergrowth.update-notify(default: op). ---v0.1.3
Reliability and integration-depth release. - `/playergrowth reload` no longer blocks the main thread. Reading config/localization files and reconnecting to the database now happen off the main thread; only the final step (restarting the growth ticker, refreshing already-online players) touches Bukkit's API and runs synchronously. A reload that previously could stall the server for a moment (especially on a slow DB reconnect) no longer does. - The reload command now reports back how long it took, formatted as seconds to three decimal places (e.g.0.042s). - Database schema version unified with the plugin's own version. Previously an independent integer counter; now the same semver stringconfig.ymlalready tracks. A migration step widens the existing version column automatically for upgrading installs. - Localization files are now replaced wholesale on upgrade (after a timestamped backup) instead of merged. Previously, only new message keys reached an upgrading install — if a release changed the wording or color tags of an existing message, that change silently never reached anyone who'd already installed the plugin. Now translation updates actually land. (config.yml/gender.ymlstill use the merge behavior, since those carry admin customization that must be preserved.) - Messages now route through FlectonePulse's own pipeline when the recipient is an online player FlectonePulse is already tracking — so<fcolor:N>and delivery match how FlectonePulse's own messages behave, instead of PlayerGrowth reimplementing that formatting itself. Falls back to PlayerGrowth's own rendering for console senders or whenever FlectonePulse isn't installed/ready. ---v0.1.2
FlectonePulse integration + theming + config restructure. - **FlectonePulse server-ID resolution now uses FlectonePulse's real Java API** (FlectonePulseAPI→FileFacade) instead of re-parsing itsconfig.ymloff disk, with the old file-read approach kept only as a fallback for older/unreachable FlectonePulse versions. - Added `<primary>`/`<secondary>` theme-color tags (configurable viaconfig.yml'scolors.*) and<fcolor:N>support (FlectonePulse's own configured color palette), so every bundled message can be reskinned from one place, and stays visually consistent with FlectonePulse's own colors when it's installed. - **Fixed a real bug where color gradients collapsed to a single flat color** on plain Spigot/CraftBukkit (non-Paper) servers — the legacy text serializer used only the 16 basic legacy colors instead of full RGB, so a gradient like FlectonePulse's default<fcolor:1>rendered as one solid color instead of a gradient. Fixed by using full hex-color legacy serialization. - Added a diagnostics log reporting exactly why<fcolor:N>isn't resolving when it doesn't (FlectonePulse not installed, its API not ready yet, or its fcolor module disabled in its own config), instead of failing silently with no way to tell which case applied. - Restructured `config.yml`: the old separateconfig-versionandplugin-versionkeys were merged into oneversionfield (the plugin's own semver, which also now drives config migration), and theserveridentifier moved from nested undernetwork.*to a top-level key. Existing installs are migrated automatically; nothing to do manually.0.1.1PlayerGrowth 0.1.1Jul 27, 2026 New features
- Gradual growth over played time, from a configurable minimum to a gender-aware maximum, linearly interpolated — driven by actual minutes played, not wall-clock time, and pausable while a player is boxed in by solid blocks. - Fixed or randomized growth duration. A single configured duration for everyone, or (if a min/max range is set) a random per-player target assigned on first join and persisted across restarts. - Configurable gender types. Add, rename, or alias as many gender types as needed, each with an independent max height cap, or disable the system entirely for one shared cap. - Manual height overrides, settable by a player for themselves or by an admin for another player, which take precedence over the growth curve until removed. - Optional cross-server sync, relaying custom-scale and gender changes between backend servers on a proxied network sharing one database, so changes apply immediately instead of only after a reconnect. - Configurable storage: H2 (default, zero setup), MySQL, MariaDB, or plain YAML. - PlaceholderAPI integration, expanded over the course of this rewrite from 5 to 14 placeholders — current/min/max height (meters and raw scale), gender, growth percentage, formatted and raw time remaining, and custom-scale status./papi info playergrowthnow documents all of them and shows the plugin's correct display name and author casing (PlayerGrowth/MISQZY), instead of an empty placeholder list and the raw lowercase identifier. - Localized, MiniMessage-formatted messages, bundled in English and Russian, with more locales addable by dropping in anothermessages_<locale>.yml. - FlectonePulse interoperability: if FlectonePulse is installed, PlayerGrowth reuses its server identifier automatically so the two plugins never disagree about which backend server they're each on.0.0.5-SNAPSHOTPlayerGrowth 0.0.5Jul 22, 2026 Features
- Add data storage types support: YAML, H2, MYSQL, MARIADB - Ingame displays height rescale (1.0 = 1.88m) - Customizeble runtime player growth updater (Default: true). - Checking for player growth potential near the surrounding environments. - Range mod for growth time (min and max values) - Customizable players genders. Default types: male, female. - Gender now affects on player's max height.Migration
The plugin will attempt to create a newconfig.yml, first saving a copy of the old file. As a last resort, delete config.yml and reload the plugin to generate a fresh one. To update the localization keys, delete thelangfolder and reload the plugin.Road map
At this point, the plugin covers most of the features I planned to implement; future work will focus on optimizing and refactoring the existing code in preparation for the release version.0.0.3-SNAPSHOTPlayerGrowth 0.0.3-SNAPSHOTOct 3, 2025 New features
+ PlaceholderAPI support - %playerGrowth_height% display current player height + /growthtime - display time until player growth end + Auto update player height. New config settings to manage it. To ensure the plugin works correctly, you must delete the "lang" and config.yml files before using it.0.0.2-SNAPSHOTPlayerGrowth 0.0.2-SNAPSHOTAug 26, 2025
Similar projects
Plugin →VeinMiner
Mine the whole vein on mining a single ore/block. Make the tedious mining experience to something satisfying and fun! FTB Ultimine alternative
99.3MSueta
Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
25MSueta
VeinMiner Enchantment
Veinminer Addon - Adds vineminer enchantment to enchanting tables. Only tools with the enchantment can veinmine
18MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
Emotecraft
Create your own emotes in Minecraft.
7.5MSueta
Simple Tpa
A simple tpa plugin which sends requests
5.4MSueta