Skip to content

Modern v2 Update - Paper 26.1.2 / Java 25 / Bug Fixes / etc#20

Open
mrfloris wants to merge 7 commits into
MelonCode:masterfrom
mrfdev:master
Open

Modern v2 Update - Paper 26.1.2 / Java 25 / Bug Fixes / etc#20
mrfloris wants to merge 7 commits into
MelonCode:masterfrom
mrfdev:master

Conversation

@mrfloris
Copy link
Copy Markdown

Yes, did my best over the years to add fixes, etc. But eventually hit a wall. So used Codex_ from OpenAI to finish things and then nitpicked on the changes until it was how I want it for my server.

Today I used openai to finally finish things and test it, fix the chest bug too, and thought it was time to put it on my gitbhug and contribute back through a PR. Feel free to ignore it, but those who do want it, can get it. Precompiled jar is also on my forked instance.

Thank you for this plugin. I still use it every year!

Modernize XMas Tree for Paper 26.1.2 / Java 25

  • move the project from the legacy deployed build to an actively maintained Paper 26.1.2 / Java 25 Gradle build

  • simplify the build around the active Paper 26.1.2 target and remove the retired 1.21.11 local server dependency

  • keep build output clean and predictable in build/libs with the new 2026 versioned jar naming

  • keep legacy tree data compatible by continuing to read plugins/X-Mas/trees.yml

  • add world alias migration support so old saved trees can survive renamed worlds

  • preserve old event data while modernizing the runtime and admin tooling

  • make /xmastree the primary command

  • keep /xmas as an optional legacy alias controlled by config

  • fix legacy alias reload/unregister behavior so reload no longer crashes when alias settings change

  • improve /xmastree help output and keep it aligned with the actual command surface

  • add granular permissions under onembxmastree.*

  • replace the old xmas.admin permission with onembxmastree.admin

  • add separate permissions for status, help, give, gifts, addhand, reload, debug, debug.toggle, end, and tree.override

  • add a modern debug system with named categories:
    status, commands, permissions, placeholders, and config

  • keep numeric debug pages working as a legacy shortcut

  • improve debug output formatting with clearer key/value coloring

  • make invalid debug page/section requests return a helpful response instead of silently falling back

  • add /xmastree debug toggle true|false for live boolean config changes

  • keep tab completion focused on named debug categories instead of numeric page suggestions

  • add optional PlaceholderAPI support with the onembxmastree namespace

  • add placeholders for event state, end time, end countdown, auto-end, resource-back, particles, luck, tree totals, owner totals, player tree count, and plugin version

  • document placeholders in the README and show them in debug output

  • modernize message handling with MiniMessage support while keeping legacy color compatibility

  • improve player-facing text, prefixes, debug output, and help text

  • change the visible plugin/chat identity toward XMas Tree for clearer user-facing output

  • make the Christmas Crystal display name non-italic

  • fix resource-back so destroying a tree returns only the materials actually spent on that tree

  • fix the old refund dupe issue where the plugin could return more than the player had used

  • improve refund delivery with fallback order:
    chest -> barrel -> player inventory -> floor drops

  • reduce the loud grow/ingredient sound behavior

  • make first-hit and repeat-hit grow sound volumes configurable and reloadable

  • support silent/quiet/loud tuning through config without server restarts

  • modernize material and item handling for current Paper names

  • use safer material matching/validation to avoid legacy enum failures

  • improve displayed item names so materials such as Redstone Dust render properly in requirement output

  • add configurable per-stage particle effects using modern Paper particle names

  • harden config and item parsing:
    restrict present texture URLs to textures.minecraft.net
    cap Base64 gift payload handling
    skip invalid or legacy material names safely

  • update config comments and improve documentation for installation, building, commands, permissions, placeholders, support, and credits

  • point support to the GitHub issues page

  • refresh .gitignore for local dev/test folders and obvious OS/build junk

- Fix potential dupe
- Allows items to be returned at any stage of the tree
- Gives only the items back that they invested
- Move to MiniMessage
- Move to 26.1.2
- Better use of materials names
- Moved /xmas to legacy alias command
- Default modern command: /xmastree
- Changed prefix and a few other phrases
- Bunch of other fixes
- placeholders, updated readme,
- further testing done.
- pre-release beta. Dont use in live yet
- move the project from the legacy deployed build to an actively maintained Paper 26.1.2 / Java 25 Gradle build
- simplify the build around the active Paper 26.1.2 target and remove the retired 1.21.11 local server dependency
- keep build output clean and predictable in build/libs with the new 2026 versioned jar naming

- keep legacy tree data compatible by continuing to read plugins/X-Mas/trees.yml
- add world alias migration support so old saved trees can survive renamed worlds
- preserve old event data while modernizing the runtime and admin tooling

- make /xmastree the primary command
- keep /xmas as an optional legacy alias controlled by config
- fix legacy alias reload/unregister behavior so reload no longer crashes when alias settings change
- improve /xmastree help output and keep it aligned with the actual command surface

- add granular permissions under onembxmastree.*
- replace the old xmas.admin permission with onembxmastree.admin
- add separate permissions for status, help, give, gifts, addhand, reload, debug, debug.toggle, end, and tree.override

- add a modern debug system with named categories:
  status, commands, permissions, placeholders, and config
- keep numeric debug pages working as a legacy shortcut
- improve debug output formatting with clearer key/value coloring
- make invalid debug page/section requests return a helpful response instead of silently falling back
- add /xmastree debug toggle <key> true|false for live boolean config changes
- keep tab completion focused on named debug categories instead of numeric page suggestions

- add optional PlaceholderAPI support with the onembxmastree namespace
- add placeholders for event state, end time, end countdown, auto-end, resource-back, particles, luck, tree totals, owner totals, player tree count, and plugin version
- document placeholders in the README and show them in debug output

- modernize message handling with MiniMessage support while keeping legacy color compatibility
- improve player-facing text, prefixes, debug output, and help text
- change the visible plugin/chat identity toward XMas Tree for clearer user-facing output
- make the Christmas Crystal display name non-italic

- fix resource-back so destroying a tree returns only the materials actually spent on that tree
- fix the old refund dupe issue where the plugin could return more than the player had used
- improve refund delivery with fallback order:
  chest -> barrel -> player inventory -> floor drops

- reduce the loud grow/ingredient sound behavior
- make first-hit and repeat-hit grow sound volumes configurable and reloadable
- support silent/quiet/loud tuning through config without server restarts

- modernize material and item handling for current Paper names
- use safer material matching/validation to avoid legacy enum failures
- improve displayed item names so materials such as Redstone Dust render properly in requirement output
- add configurable per-stage particle effects using modern Paper particle names

- harden config and item parsing:
  restrict present texture URLs to textures.minecraft.net
  cap Base64 gift payload handling
  skip invalid or legacy material names safely

- update config comments and improve documentation for installation, building, commands, permissions, placeholders, support, and credits
- point support to the GitHub issues page
- refresh .gitignore for local dev/test folders and obvious OS/build junk

i consider this a tested and worth public beta that can be used to figure out any bugs, report them on github as an issue. december is not around the corner, so we have a summer to find issues. Enjoy.
- add a shared managed config flow for config.yml using YamlConfiguration comment parsing
- preserve admin values and existing comments while safely adding missing defaults and missing template comments
- route startup, reload, and command-driven config saves through the same helper
- expand config.yml comments so every setting documents defaults, valid values, format, and reload behavior
- document config sync behavior in the README
- bump build to 2.0.1-024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant