- now targets paper 1.21+, 1.20.x support dropped. setBasePotionData
went with it — results use setBasePotionType, which closes the
oldest TODO in the codebase
- old PotionType spellings in recipes.yml (INSTANT_HEAL, REGEN, JUMP,
SPEED) still work, they map onto the renamed enum
- builds with java 21 now, gradle fetches one itself if the machine
doesn't have it
- /pc journal: the "•" line marker rendered as mojibake — the build
had lost its utf-8 source encoding, so the bullet literal was read
in the platform charset. put the encoding back, it renders again
⚠ heads up: 1.4 drops 1.20.x. still on 1.20? stay on 1.3.1.
This update rolls up everything from the 1.3 line.
New in 1.3:
- Player progression (optional): the plugin now tracks which recipes each player has discovered, plus brew/fail/spoil counters. Stored in a flat progress.yml, no database needed.
- Brewing journal: /pc journal opens a discovery list, recipe reference and personal lab notes. First-time discoveries get a one-shot chat message.
- Heat sources can now work in an area around the cauldron (configurable radius and falloff), not just the block directly below.
- New API methods: progressionEnabled(), hasDiscovered(player, recipeId), plus new events for the reaction chain.
Fixed in 1.3.1:
- Brews no longer vanish (or dupe) on server restart — active sessions are saved to state.yml and restored on startup.
- Fixed a case where a failure message could arrive twice for the same player.
- Missing help_journal line added to the bundled locale.
- Bundled config is now demo-friendly out of the box: pollution, synergy, progression and area heat are enabled so you can test every feature on a fresh install. Everything is still fully configurable.
No breaking changes: your existing config, recipes and locale files keep working. New config sections are added with safe defaults.
Built against Paper 1.20.4+, tested on 1.21.
