File Details
TurningSeasons-v1.1.2.zip
- R
- Jun 9, 2026
- 62.27 KB
- 80
- 0.5
File Name
TurningSeasons-v1.1.2.zip
Supported Versions
- 0.5
Turning Seasons — Changelog
v1.1.2 — Admin season-control + cross-version armor + runtime "black box"
A control + robustness release. Zero gameplay changes by default — same four
seasons, 12 weather presets, persistence, and /season command, all open to everyone
out of the box. New this version: server owners can optionally choose who may change
the season. Verified by compiling against the real 0.4.0, 0.5.4, and
0.6.0-pre.2 server jars — the command + bootstrap API surface is identical on all
three.
Admin-configurable season control (new)
Two new config keys decide who can change the season (/season set, skip,
length); everyone can always view it:
"seasonControl": "everyone"(default) — any player can change it, exactly as before."seasonControl": "permission"— only players holding the"controlPermission"node (defaultturningseasons:control) may change it. Grant that node to whoever you want — a person, a staff rank, a group — through your server's permission system. The mod doesn't decide who has the power; you do.
The console/operator always has access. The check uses Hytale's own PermissionHolder
API (verified present on 0.4 / 0.5 / 0.6) and fails closed. Upgrading servers keep
their existing config file, so control stays everyone until you opt in — delete the
config to regenerate it with the new keys documented, or add the two keys by hand.
Commands can no longer throw a raw error at a player
/season is now wrapped in a defensive backstop: any unexpected runtime error is
logged for the admin (with the exact input typed, so it stays diagnosable — never
silently swallowed) and the player sees a clean "something went wrong — it's been
logged" message instead of a red stack-trace error. Every chat line also routes
through a fail-safe sender, so one bad send can't abort a multi-line reply.
Startup "black box" — logs the running Hytale build
On load the mod records the live patchline + version to the server log, e.g.
Hytale runtime: patchline=release, version=0.5.4, read defensively off
UpdateService so it can never break startup. Any future bug report is now
diagnosable at a glance — we can see exactly which Hytale build a player is on.
Messaging is now version-agnostic (capability detection)
Player messages try the modern PlayerRef.sendMessage (present on 0.4 / 0.5 / 0.6)
and fall back reflectively to legacy Player.sendMessage, so chat output adapts to
whatever the running engine supports and never throws.
Removed dead code surfaced by the cross-version check
The PlayerReadyEvent "legacy fallback" registration was removed. It is a keyed
event on every real Hytale jar, so the old unkeyed registration never actually
compiled against the engine (only against the build stub) and never fired at runtime.
PlayerConnectEvent already handles the player-join bootstrap on all three versions.
Compatibility
- ServerVersion
"*". Verified to compile against 0.4.0, 0.5.4, and 0.6.0-pre.2. - Save-compatible — state file format unchanged. Drop the new JAR in over the old one.

