Список изменений
V2.1.0: Simple Fast Speed Slider
All changes made in this version add ONLY OPTIONAL FEATURES
Nothing here alters any existing features, only adding new ones that can be wholly ignored/disregarded without affecting the pack's basic/historic functionality.
Unless you want to, you won't even know anything has changed. The pack remains plug-and-play! o7
Also "backported" this version to re-support MC1.21.9->26.1.2 👍
Added in-game config slider to adjust happy ghast flying speed
The slider is contained in a dialog screen. The slider can be accessed:
- ON INITIALIZATION (first install) by clicking the in-game chat message:
"(click to modify the speed increase (if you want!))" - AT ANY TIME with the following command:
/dialog show @s fast_happy_ghasts:set_happy_ghast_speed
just typing "/dialog" will get you enough autocomplete to easily find the config
The Slider ranges from 0 -> 200
Vanilla Happy Ghast Flying Speed: 50
Simple Fast Happy Ghast Flying Speed Default: 90
this is the value the pack has always used 👍
Added slider as an option for altering the speed in game for simpler faster testing. This value was always configurable, but historically required editing an actual config file to do so. Now this can be done entirely in game and requires no file alterations or world reloads. (proud of this one, lol)
Added function to better facillitate completely disabling/uninstalling the pack
If you ever want to uninstall or disable this pack, running the following command will prompt/guide you how to best do so:
/function fast_happy_ghasts:uninstallation/uninstall_main
NOTE: if you are playing single player / not running a big server and just want to make your happy ghasts fast, you don't really have to worry about the fine details noted below - if you ever decide to uninstall the pack it'll explain everything in game at that time.
If you'd like to read more about what uninstallation may look like depending on your server's use case you can read more about this here:
Data Purge / Alternate Operating Mode - Details & Explanation
Data Purge
Added function to purge all data relating to the pack/mod from your world to prep for a clean uninstallation without leftover scoreboards, scoreholders, data storage, etc. (none of those things actually matter / cause any lingering functionality or anything - this is just for nerds (me) who like to keep their logic structures tidy)
/function fast_happy_ghasts:uninstallation/clear_all_data
Further Specifics
Just removing the pack from the file structure or using "/datapack disable" (if using the datapack version) will leave some lingering logic scaffolds / variables in the form of one data storage directory, one scoreboard, and three variable scoreholders. These are:
- the directory "fast_happy_ghasts" containing the key value pair {flying_speed:(double)}
- the scoreboard "sfhg_config"
- the scoreholders ".Initialized", ".HappyGhastSpeed", & ".BroadcastReloadMessage"
The function "fast_happy_ghasts:uninstallation/modes/clear_all_data" removes all these structures/values and removes the attribute modifier from all loaded happy ghasts at the time of the command's execution (because the attribute modifier is only applied while being ridden by a player, unloaded happy ghasts should always remain a non-issue*)
Excerpt from in-game explanation:
"PLEASE NOTE this will effectively set this pack as never having existed, so make sure to remove this pack/mod before the next world or server reload, otherwise it will be like a fresh install and the pack would reinitialize itself!"
Alternate Operating Mode ("Cleanup")
Added alternate operating mode that disables the pack's primary functions while retaining select low-logic functions to mitigate an uninstallation edge case
/function fast_happy_ghasts:uninstallation/keep_cleanup
Explanation of Uninstallation Complication / Edge Case
(multiplayer only)(only particularly problematic at scale)
PROBLEM: If a player disconnected from the server while riding a happy ghast and the pack is removed while said player is offline, when this player reconnects to the server the happy ghast they are riding would still be "fast" (whatever attribute modifier was applied) and would remain so permanently, even after dismounting.
MITIGATION (SIMPLE): This can be easily mitigated if such an instance is ever identified by simply running (e.x.):
/execute as @a on vehicle if entity @s[type=happy_ghast] run attributte @s flyingspeed modifier remove speedup
At scale however, this could prove annoying to mitigate, so I've included an offered solution to this case within the pack itself if it is preferred over mitigating the issue independently.
Excerpt from in-game explanation:
"As a solution to this case, the pack has a "cleanup" mode in which it will only run minimal logic (solely monitoring the "not_riding" advancement and retaining the scoreholder ".primary_logic_disabled" on the "sfhg_config" scoreboard) to check if each currently offline player is riding a happy ghast the next time they log in and remove the speed increase if they are.
if you would rather independantly manage this potential edge case, you can instead just clear all data and flags relating to this pack as normal."
Thx for checking out my datapack!! -DRE

