Changelog
Given the changes and additions made in this release, it is highly recommended to read through this changelog before using this release.
Release v3.8
makes some changes to some exiting features, and adds a new server-sided feature called "stat announcement system". It also adds some new config properties that let the user control how this mod behaves.
The "betterstats" network protocol
This feature allows betterstats
clients and servers to communicate, which enables some extra features when this mod is present on a server. Some changes were made to this system;
- (Change 1) The protocol version has been changed to
2
. Was previously set to1
.- Note that both the client and the server must use the same protocol version for the server-sided features to work. If the client encounters a server with a different
betterstats
protocol version, the client will then treat the server as if it dosn't havebetterstats
installed, and vice-versa. - This was done because of the changes that were made to the protocol.
- Note that both the client and the server must use the same protocol version for the server-sided features to work. If the client encounters a server with a different
- (Change 2) After a client enables the
betterstats
connection with a server, they can no longer disable it until they disconnect. This change was done because it's pointless to disable the protocol once enabled, as the server still knows the client hasbetterstats
installed. - (Change 3) Next up, by default the client will now automatically always enable the
betterstats
protocol connection with the server, that is, when the client detectsbetterstats
on the server as well.- A config property called
client-trustAllServersBssNet
was added to control this behavior as well. - The first reason is so the user doesn't have to go to the "Statistics" menu to manually enable the connection each time they join a server.
- The second reason is because the "stat announcement system" recommends that the client have
betterstats
installed. If the client doesn't havebetterstats
, then all announed messages will appear in English and will not translate for that client. - The third reason is because of how Fabric API works. Previously, I made it so clients have to manually enable the connection every time they join a server, out of concern for privacy and the server finding out about the client being modded. However, it turns out Fabric API's registry synchronization system already likely exposes this information to the server anyways. So at that point, it's kinda pointless to have a manual toggle, as other mods and even Fabric itself may alreaydy be screaming to the server saying "I am a modded client".
- A config property called
The "stat announcement system"
(Always remember, this mod will never require being installed on the server. All server-sided features are optional)
The stat announcement system is a new optional server-sided feature whose purpose is to use the chat to announce players doing various unique things and achieving certain stats. As of v3.8
, the "SAS" only announces players doing certain things for their first time, however more features may be added to it in the future.
This system is also completely configurable, and may be disabled by those who don't like it or don't want it. The config properties are server-enableSAS
(Boolean) and server-sasConfig
(JsonObject).
This goal with SAS is to promote people's engagement with the game and their stats, as well as to let players acknowledge they've done something special. Well, unless you die in hardcore that is.. then the mod's gonna roast you;
The commands
- My personal library mod TCDCommons API's
/badges
command was moved over to this mod, so as to avoid registering features in my API mod. - Added a config property called
server-registerCommands
. It lets you control whether or not/statistics
and/badges
will be registered.
The player-badge system
Given the player badge system wasn't really all that useful or even used (at least, as far as I've noticed), I have decided to make it disabled by default. It may be re-enabled at any time using the tcdcommons
's config file. More info on that can be found in the v3.8
changelogs for tcdcommons
.
The mod configuration
For clarity and readability reasons, existing config properties were renamed, so it's easier to tell which one is for the client and which one is for the server. Note that server-sided config properties apply to singleplayer as well, and not just dedicated servers.
Config changes for this mod:
guiMobsFollowCursor
was renamed toclient-guiMobsFollowCursor
.- Added
client-trustAllServersBssNet
(Boolean) - Added
server-registerCommands
(Boolean) - Added
server-enableSAS
(Boolean) - Added
server-sasConfig
(JsonObject, aka the{}
JSON thingy)
Config changes for tcdcommons
:
- Renamed
enablePlayerBadges
toserver-enablePlayerBadges
- Renamed
broadcastEarningPlayerBadges
toserver-broadcastEarningPlayerBadges
- Renamed
enableHttpUtils
tocommon-enableHttpUtils
Now that looks a lot more readable. Because I mean.. prior to that, the config for both this mod and for tcdcommons
looked about as unreadable as this is:
To learn how to configure this mod, and tcdcommons
, here are the wiki pages I wrote:
Dependencies
Files
External resources
Project members
TheCSDev
Owner