1.8.3-alpha.3 #18
rizer001
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
UltimateImprovments 1.8.3-alpha.3
🛠 Fixed
Custom enchantments never appeared in the enchanting table
All 17 datapack enchantments used
min_cost = max_cost = 30, collapsing the level-1 availabilitywindow to a single exact roll that the vanilla ±enchantability/±15% jitter practically never hits —
the charms showed up in the recipe book and anvils but never in the table. Fixed in the datapack
itself (no listeners, vanilla table behavior untouched): a Mending-style
25–75cost window, solevel 1 is reliably offered on the third (level-30) button. Lower buttons stay vanilla.
All 17 charms verified present in the five
minecraft/tags/enchantmenttag files(
in_enchanting_table,tradeable,on_random_loot,on_traded_equipment,on_mob_spawn_equipment)./ui reloadcrashed with "zip file closed" and left the server half-deadThe reload cycle disables every other
UI-*plugin — including UI-Other, whose own code wasexecuting the reload. Disabling a plugin closes its JAR, so the next not-yet-loaded class threw
IllegalStateException: zip file closedand aborted the cycle mid-way, leaving the whole familydisabled. The synchronous phase now runs from a new core-side
PluginReloadCoordinator(ui-core is never disabled in the cycle, so its classloader cannot be closed mid-run), and on any
failure it re-enables every family plugin that is still off — a failed reload no longer leaves
listeners dead.
Anticheat NPE spam after a reload
Anticheat check listeners are registered under the never-disabled UI-Core, so disabling the
anticheat plugin left them firing against cleared singletons — an NPE on every
PlayerMoveEvent.shutdown()now unregisters all check listeners before clearing singletons, and theexemption/flag lookups in
AbstractCheckare null-safe as a defensive fallback.Datapack auto-apply could loop forever
Replaced
datapack.restart_to_applywithdatapack.reload_to_apply(defaultfalse):the server is
/reload-ed instead of restarted, with a marker-file guard (10 min TTL) that makesreload loops impossible. Also fixed the actual source of the loop:
level-nameis now read fromserver.propertiesfirst (the Paper standard; the old code only checkedserver.tomland fellback to a hardcoded
world), so the "is the datapack enabled" check looks at the right world.✨ Added — Datapack content
blaze powder, iron chain, amethyst (uncraft + budding amethyst), melon uncraft,
netherite smithing template duplication, reinforced deepslate
DatapackInstallerand updated loot tables🔧 Changed
config.toml/config.yml→ per-addon files) removed —all servers are already on the
configs/UI-<Addon>.tomllayout, the one-time migration codehad nothing left to do
CommandOutcomeTracker,AddonsSubcommand,TomlCrashSalvage; updates toCommandErrors,SubCommandRegistry,ConfigRepairManagerSpaceOxygenListener), recipe registrybin/main/build-output copies from git⬆️ Version
1.8.3-alpha.2→1.8.3-alpha.3across the core and all 11 addons(Gradle
version,plugin.yml,plugin_versioninconfig.yml+ bundledUI-Core.toml,README badge). Existing servers keep their on-disk
plugin_version.Compatibility
No data-breaking changes: configs, the database and player items are unaffected.
Note for servers with
datapack.mode: check-override: deletedatapacks/UI-Datapackfrom theworld folder once (or switch to
override) so the fixed enchantment data actually installs.This discussion was created from the release 1.8.3-alpha.3.
All reactions