17 KiB
0.9.9:
-
Fixed 1.21.2 and newer clients being kicked with
Network Protocol Erroron joining a lobby. The lobby inventory setup touched slot 41, one past the last player-inventory slot, and the server relayed that as a set-slot packet for container slot 46; older clients logged and ignored it, newer clients treat a bad packet as fatal. Present since the lobby items were added. -
The sidebar now follows the Scoreboard-OG network board's look: a
♥ Splegg-OG ♥title, one blank line between labelled blocks and atrue-og.netfooter. The queue card shows the map, the players in the lobby and the countdown; the match card shows the map, the players still alive, the player's own blocks broken and the time left asmm:ss. Every line is at most 16 legacy characters, so 1.8 clients on ViaBackwards see it uncut, and the layout is built in code rather than the removedScoreboard.*keys inconfig.yml. -
Stale game-world copies left by a reload are detached from their MyWorlds inventory group before deletion, matching the normal cleanup path. A copy still attached to its template's group can be that group's storage world, which MyWorlds refuses to delete, so without detaching first the leftover world folder would be left behind.
0.9.8:
-
Lobbies now work like TheHerobrine-OG's. Every hub world under
Worlds.Lobbyis one persistent lobby whose id is the world name up to the dash (SP1-hubisSP1). Players join with/splegg join SP1,/splegg join 1,/sp join 1or/spjoin 1, wait and vote in the hub, and the match runs in a freshSP1-<map>copy that is deleted afterwards./splegg joinwith no argument picks the best open lobby. Joining by map name and/splegg randomare gone. -
Map voting no longer keeps the joined map as a fixed choice; the lobby draws
Options.VotingMapsplayable maps at random. The arena is copied when the vote closes while players stay in the hub, a countdown abandoned for lack of players discards it and reopens the vote, and a template that fails to load falls through to the next map instead of blocking the start. -
Per-map match lobbies (
/splegg setlobby <map>) were removed;/splegg setlobbynow sets the waiting spot used in every hub and must be run inside a hub world. AnySpawns.lobbyentry in a map file is ignored. -
Added
Options.MaxPlayers(default 10) as the lobby size, since the map is unknown while the vote is open. Spawn points beyond it go unused and a map with fewer spawns cycles them. -
/spis claimed in the server command map once every plugin has enabled, so it reaches Splegg even when another plugin (WorldGuard) registered/spfirst. That plugin's command stays reachable through its own namespace. -
Join signs bind to a lobby id (
SP1) or, with a blank second line, to whichever lobby is best to join. Existing signs that name a map keep working as any-lobby signs. Sign formats gained a%lobby%placeholder, and%map%shows the lobby id until a map is voted. -
/splegg joinand/spjoinwith no lobby list every lobby with a clickable join line, like/hbjoin. Join signs with a blank second line still pick the best open lobby. -
/hub,/lobbyand/spawnare claimed inside Splegg territory before any other plugin sees them. Splegg-OG, TheHerobrine-OG and BuildBattle-OG all register/hub, and Bukkit hands the bare label to whichever loads first, so a Splegg player's/hubcould run another minigame's command and teleport them out while Splegg still counted them as playing; Spawn-OG's/spawndid the same./lobbyis also an alias of/huboutside Splegg territory. -
/splegg listlists lobbies with clickable join lines;/splegg mapslists maps./splegg startand/splegg stoptake a lobby id instead of a map name. -
The lobby scoreboard shows
Voting...until a map is chosen, andMessages.IndividualLeaveGamegained a%lobby%placeholder.
0.9.7:
-
Added an in-game scoreboard: map, players alive, own blocks broken and time left, with new
Scoreboard.Map,Scoreboard.AliveandScoreboard.TimeLeftlabels in config.yml. With Scoreboard-OG 1.2.0 or newer installed, both the queue and match sidebars are drawn through Scoreboard-OG's sidebar API, so the network board returns by itself on leave and/togglescoreboardis honoured; without it a plain Bukkit sidebar is used as before. -
Fixed floor detection: floor cuboids and the knockout height were read from config.yml instead of the map's own file, so eggs never vaporised blocks. Present since 0.9.2.
-
Stopped logging "ready" once per map per second; the line now prints only when a map becomes playable.
-
Removed
voteandvfrom plugin.yml. The preprocess listener still claims/voteand/vinside Splegg territory, and VotingPlugin keeps both labels everywhere else. -
Return locations are now kept on disk in
prejoin-locations.yamlwith anOptions.PreJoinLocationExpiryDaysexpiry, matching TheHerobrine-OG and BuildBattle-OG. A relog or a restart still returns the player to where they came from, and any route into a Splegg world records the spot. -
Dropped the Essentials-OG dependency; nothing used it.
-
The shop resolves balances off the main thread before it opens and no longer pre-checks funds on click, so DiamondBank calls stop stalling the server.
-
The startup purge only removes per-match copies of known templates, so an
SP2-...world that is not in config yet survives a restart. -
Player tracking is keyed by UUID and pruned on quit.
-
/spleggsubcommands no longer print a stray usage line, map names are limited to one path segment, and sign locations parse world names that contain dots.
0.9.6:
-
Added persistent per-player points and the Hive Java Splegg rank ladder (Farmer through Oliver, with The Eggspert reserved for the top scorer once they also hold Oliver). Points are awarded per block an egg destroys and to the match winner, tunable under the new
Pointsconfig section, and stored inplugins/Splegg-OG/stats.yml. -
Registered
<sp_score>and<sp_rank>MiniPlaceholders through Utilities-OG. Both read the live in-memory totals, so they update the moment a block breaks or a match is won. -
Declared
Utilities-OGas a hard dependency; the plugin already needed it at runtime for chat and message formatting.
0.9.5:
-
Join signs now look and behave like TheHerobrine-OG's: a
&4Spleggtitle, the map name, a bold aggregate status (JOIN,STARTING,LIVE,FULL,ENDING,DISABLED), and black-on-sign player counts, redrawn once a second by a repeating task that never force-loads chunks. The flashing "Restarting" sign state was removed along with theSings.Restartingconfig section. -
Sign clicks are now recognized by registered location instead of by the sign's rendered header, so reformatting a sign (or changing
Sings.Format.1) can no longer orphan it, and all sign types are matched through block tags. -
Leaving a Splegg lobby or game now hands the player back to the server's main scoreboard instead of a fresh empty one, so Scoreboard-OG can restore its sidebar after the return teleport.
-
Splegg chat now renders the standard TrueOG name segment (union bracket tag, display name, LuckPerms suffix) like TheHerobrine-OG, with a caret colored by the sender's Chat-OG message color, while keeping the lobby queue count and in-game broken-block counters.
-
Fixed a crash in the legacy color serializer when a string ends with a trailing
&.
0.9.4:
-
Splegg now loads its configured lobby and in-game worlds itself instead of asking an admin to run
/mw loadfirst, and per-match world copies fall back to loading their template on demand. -
World provisioning happens on the first tick after startup rather than during plugin enable, so loading a world no longer fires chunk events at plugins that are still starting.
-
Copied and refreshed worlds keep a void chunk generator (
Worlds.VoidGenerator, on by default), because a directory copy carries no MyWorlds generator setting and would otherwise grow vanilla terrain outside the arena. -
World and MapBase template folders now match case-insensitively and ignoring
-/_, and a missing template is reported with the list of folders that do exist. -
MapBase refresh covers
Worlds.Lobbyas well asWorlds.InGame. -
Splegg worlds are detached from their previous MyWorlds inventory bundle before being grouped, so a Splegg world can no longer share the SMP inventory.
-
MyWorlds is also recognized under its
My_Worldsfork name. -
Stale per-game worlds are now unloaded and dropped through MyWorlds before falling back to deleting the directory, and the purge reports how many it removed.
-
Downgraded the BKCommonLib compile dependency to the locally built 1.19.4-v2 jar, matching the MyWorlds build Splegg runs against.
0.9.3:
-
Added
/hubso players can leave an active Splegg game or return to a protected main-world spawn. -
Added TheHerobrine-OG-style in-lobby map voting with
/vote,/v, clickable vote messages, vote reminders, configurable vote choices, and configurable voting cutoff. -
Players who reconnect inside configured Splegg worlds or per-game world copies are now moved back to the overworld.
-
Updated the default lobby sign layout to show header, map, status, and player count.
-
Stopped forcing health and fall-distance resets during final game-leave cleanup.
0.9.2:
-
Players on the same map in different game instances no longer share an arena, scoreboard, or block state.
-
Games are now created on demand when a player joins a lobby, instead of being statically generated at startup.
-
Replaced block-level floor rollback with whole-world recycling.
-
Added join signs.
-
Added
PlayerKickEventhandling so kicked players are removed from their match after its conclusion. -
Added
WorldUnloadEventhandling so any game whose template or per-game world is unloaded out from under it is shut down cleanly. -
Refused to copy, load, or purge any world whose name matches a protected main world.
0.9.1:
- Improve MyWorlds support
- Blacklist main 3 worlds
0.9.0:
- Leaving Splegg now returns players to the exact main-SMP location they were at before joining, preserving overworld/nether/end context while still crossing back out of Splegg inventory isolation.
0.8.9:
-
Re-keyed all per-player runtime state (match roster, shovel selections, money tracking, egg-launch flags) from player names to UUIDs so name changes, duplicate names, and offline-player lookups no longer corrupt match state.
-
Fixed a NullPointerException in the egg-landing handler that could fire when the ray trace produced no candidate block.
-
Fixed the lobby-entry and match-exit flows that reset
FallDistanceto 1 instead of 0, leaving players with a one-block fall penalty after Splegg transitions. -
Replaced the try/catch NPE swallow in the plugin shutdown path with a direct null-check so unrelated bugs no longer silently print stack traces.
-
Removed the noisy try/catch around
PlayerInteractEvent.getHand()and the misleadingHandlerList.unregisterAll(new X())no-ops fromonDisable. -
Removed the legacy
My_Worldssoftdepend and plugin-id fallback;MyWorldsis the only recognized world-manager plugin name.
0.8.8:
-
Tightened playable-map validation so a map now requires at least 2 spawn points, at least 1 floor, and valid loaded world references before it can enter a playable lobby state.
-
Fixed join flow so players can now join Splegg lobbies from outside Splegg worlds, including via
/splegg join,/splegg random, and registered join signs. -
Fixed lobby countdown recovery so a failed countdown now returns to a waiting state instead of immediately restarting itself.
-
Fixed kill reward payouts so eliminations only reward surviving players in the same match instead of players from other matches.
-
Reworked the Splegg shop onto the local GxUI-OG GUI layer and added live affordability feedback: affordable shovels glow, unaffordable ones do not, and shop lore now reflects the current affordability state.
0.8.7:
-
Fixed the in-game round timer so matches now count down correctly and end on time limit instead of stopping immediately.
-
Added proper last-player-standing match completion, including server-wide winner chat, loser messaging, and winner payout handling.
-
Added a winner title that is shown only to the winning player, while the winner chat announcement remains server-wide.
-
Added broken-block tracking to match exits so players now see their block total when they leave a round.
-
Fixed leave messaging to name the player who actually left and cleaned up shovel-selection state more completely on exit.
0.8.6:
-
Added
/splegg randomto join a random playable map and agetRandomMap()utility that lays the groundwork for in-lobby map voting. -
Added
/splegg help,/splegg list, and/splegg info <map>to surface configured maps, their status, and setup next-steps. -
Added tab completion for every
/spleggsubcommand and map-name argument. -
Added a per-player lobby scoreboard driven by the existing
Scoreboard.*config keys, refreshed on join, leave, and each countdown tick. -
Fixed lobby signs rendering raw
&color codes by serializing line content through the Adventure legacy serializer. -
Fixed right-click-to-join and sign-break handling, which previously compared Adventure Component
toString()output to raw config strings and never matched. -
Added a distinct
[Starting]status for lobby signs during the start countdown (Sings.Status.Starting) so operators can see at a glance that a match is about to begin. -
Improved the sign player count line with color accents.
0.8.5:
-
Fixed plugin startup with players already online by initializing tracked player storage before repopulating it.
-
Stopped using Essentials kits to save and restore Splegg inventories, so MyWorlds now remains the only inventory boundary between main and Splegg worlds.
-
Fixed in-match protection listeners to use the tracked
UtilPlayerstate instead of creating fresh session objects. -
Fixed the knockout floor height calculation so eliminations happen below the actual arena floor.
-
Fixed admin
/splegg start <map>and/splegg stop <map>targeting so they operate on the specified game instead of the command sender's current game. -
Tightened Splegg chat isolation so joined players only talk to players in the same match, while non-participants in Splegg worlds stay scoped to their current world.
0.8:
-
Added permission metadata for
splegg.join,splegg.joinfull, andsplegg.admin. -
Expanded the shop to include every shovel available in Minecraft 1.19.4.
-
Added support for selecting wood, stone, iron, gold, diamond, and netherite shovels before a match.
-
Updated the README and plugin dependency metadata to reflect the current DiamondBank-OG, Essentials-OG, and MyWorlds requirements.
-
Fixed the incorrect startup error message shown when Essentials-OG is missing.
0.7:
- 1.19.4 Support.
0.6:
-
The splegg shop is fixed.
-
The winner is now removed from the game.
-
The floor now resets correctly after a match.
0.5:
-
Fixed dust particles coming off of egg instead of the block that was hit.
-
Fixed match not ending when players get below the minimum level.
0.4:
-
It is no longer possible to start a match with only 1 player in the lobby.
-
Match startup is fixed.
-
The formatting of the shop items is fixed.
-
Right clicking items in the lobby inventory is fixed.
-
The shovel is now given only after the grace period is over.
-
Players pre-game inventory is now saved and restored using EssentialsX kits.
-
Inventory saving now still works upon leaving the server during a match.
-
The game leave message now displays slightly differently to the individual who left.
-
The game leave message is now only displayed to players that are in the game.
-
The game leave message now displays when someone quits the server completely.
-
Leaving the server in the lobby now properly removes players from the game.
-
Restored lobby inventory layout to be like it was on Hive Java.
-
The lobby items now properly go away when a game starts.
0.3
-
Fixed the shovel being given in the lobby.
-
Fixed leaving a game or dying teleporting players to the wrong point.
-
Fixed "you are already playing" message being displayed even after leaving a game.
-
Fixed grace period timer.
-
Right clicking blocks now only shoots one egg.
-
The shooting sound has been restored from Hive Java's Splegg.
-
Fixed a few NullPointerException errors.
0.2
-
In-game players can no longer be hit with eggs.
-
Shovels are now given out when the game starts, not in the lobby.
-
The server no longer needs to be restarted to set up a map.
-
The "next" keyword for adding spawn points is now optional.
-
The TUI design has been revamped.
-
Improved sounds and particle effects.
-
Fixed advancements being triggered by lobby items.
-
Fixed lots of runtime errors and crashes.
-
Fixed an infinite loop upon a player dying.
0.1
- Initial Release of Splegg-OG.