Sueta

FlectoneGrowth

0.2.2

Lightweight plugin for player growth by played time

·Plugin
  1. 0.2.2latestPlayerGrowth 0.2.2Jul 28, 2026
    11 downloads
  2. 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 in config.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 old network.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.
    3 downloads
  3. 0.2.0PlayerGrowth 0.2.0Jul 28, 2026
    8 downloads
  4. 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. Notifier lives in core, built on the platform-agnostic PlatformPlayer/PlayerGrowthCore rather than Bukkit's CommandSender — any future platform module could reuse it as-is. - Sends via messages().get(...) directly rather than through minecraft/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.requirePlayer centralizes 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. - SchemaVersionStore extracts 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 ordinary CommandSender-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 Adventure Components instead of legacy-formatted strings — was never actually gated on the Paper API either; it's now a runtime capability check (does this server's CommandSender implement Adventure's Audience?) 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 reload and /pg help now work exactly like their /playergrowth equivalents. - 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 holding playergrowth.update-notify (default: op) the next time they join. - New config key: update-checker.enabled (default true) — set to false to 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 string config.yml already 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.yml still 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 its config.yml off disk, with the old file-read approach kept only as a fallback for older/unreachable FlectonePulse versions. - Added `<primary>`/`<secondary>` theme-color tags (configurable via config.yml's colors.*) 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 separate config-version and plugin-version keys were merged into one version field (the plugin's own semver, which also now drives config migration), and the server identifier moved from nested under network.* to a top-level key. Existing installs are migrated automatically; nothing to do manually.
    9 downloads
  5. 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 playergrowth now 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 another messages_<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.
    10 downloads
  6. 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 new config.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 the lang folder 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.
    8 downloads
  7. 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.
    59 downloads
  8. 0.0.2-SNAPSHOTPlayerGrowth 0.0.2-SNAPSHOTAug 26, 2025
    40 downloads

Similar projects

Plugin →