Releases: mrbuilder1961/ChatPatches
Releases · mrbuilder1961/ChatPatches
206.6.5
Chat Patches 206.6.5
for Minecraft 1.20.5, 1.20.6 on Fabric, Quilt
- Actually updated to Java 21 and Gradle 8.7
- Fixed copy menu rendering behind other chat elements
- Otherwise identical to
204.6.5
- Dev notes:
- Switched some references from
Text.Serialization
toTextCodecs.CODEC
due to weird new registry stuff - Minecraft made adding messages into the chat use a more modular system, however this makes future unified jar plans more difficult
- Switched some references from
204.6.5
Chat Patches 204.6.5
for Minecraft 1.20.4 on Fabric, Quilt
- Fixed certain messages from showing up blank and logging
ArrayIndexOutOfBoundsException
s (#156) - Fixed normal duplicate messages not having a counter (1.20.4 only, #157)
- Fixed CompactChat duplicate messages not having a counter (1.20.2-4)
- Added a help section to the README, which currently explains how to upload log files and access beta versions fresh from Actions
204.6.4
Chat Patches 204.6.4
for Minecraft 1.20.2 on Fabric, Quilt
- Fixed errors with regex input on the search screen not updating the text color
- Made ChatSearchSettings save when the chat screen is closed then reopened; resets on game restart
- Fixed team name colors, prefixes, and suffixes being ignored when
chatNameFormat
is customized (#115) - Added a new runnable config option to reload the config from disk
- Added a minor optimization to the way messages are modified to largely simplify the process in a few scenarios [prepub impl]
- Switched the text in the search settings screen to use pre-bundled translations (ON/OFF instead of a visual switch)
- Fixed the Copy String > Copy Raw String button in the copy menu removing &<code> formattings
- Dev notes:
- Changed the
CONFIG_PATH
andCHATLOG_PATH
variables to use thePath#resolve(String)
method instead of concatenating strings - Removed some (now) redundant file constants and references (in
StringTextUtils
andConfig
) - Condensed most
make
... methods inConfig
to be less repetitive formatPlayername(GameProfile)
now accounts for team metadata as mentioned in the #115 fix- Capitalized some static final variables
- Changed some stuff about how the config is initialized, read, and written to disk
- Refactor StringTextUtils to TextUtils
- Restructured the powerhouse
ChatHudMixin#modifyMessage(Text, boolean)
method to be more modular with message reconstruction - Moved the bulk of the
modifyMessage
method to ChatUtils to help development and greatly ease future troubleshooting - Created a new
ChatUtils#getArg(..)
method to avoid the elusiveClassCastException
s that kept getting thrown - Tweaked the
MessageHandlerMixin#cacheGameData
method to use built-in methods instead of rewriting the same thing - Removed the
VANILLA_MESSAGE
matcher inChatUtils
because it was redundant
- Changed the
202.6.4
Chat Patches 202.6.4
for Minecraft 1.20.2 on Fabric, Quilt
- Fixed errors with regex input on the search screen not updating the text color
- Made ChatSearchSettings save when the chat screen is closed then reopened; resets on game restart
- Fixed team name colors, prefixes, and suffixes being ignored when
chatNameFormat
is customized (#115) - Added a new runnable config option to reload the config from disk
- Added a minor optimization to the way messages are modified to largely simplify the process in a few scenarios [prepub impl]
- Switched the text in the search settings screen to use pre-bundled translations (ON/OFF instead of a visual switch)
- Fixed the Copy String > Copy Raw String button in the copy menu removing &<code> formattings
- Dev notes:
- Changed the
CONFIG_PATH
andCHATLOG_PATH
variables to use thePath#resolve(String)
method instead of concatenating strings - Removed some (now) redundant file constants and references (in
StringTextUtils
andConfig
) - Condensed most
make
... methods inConfig
to be less repetitive formatPlayername(GameProfile)
now accounts for team metadata as mentioned in the #115 fix- Capitalized some static final variables
- Changed some stuff about how the config is initialized, read, and written to disk
- Refactor StringTextUtils to TextUtils
- Restructured the powerhouse
ChatHudMixin#modifyMessage(Text, boolean)
method to be more modular with message reconstruction - Moved the bulk of the
modifyMessage
method to ChatUtils to help development and greatly ease future troubleshooting - Created a new
ChatUtils#getArg(..)
method to avoid the elusiveClassCastException
s that kept getting thrown - Tweaked the
MessageHandlerMixin#cacheGameData
method to use built-in methods instead of rewriting the same thing - Removed the
VANILLA_MESSAGE
matcher inChatUtils
because it was redundant
- Changed the
202.6.3
Chat Patches 202.6.3
for Minecraft 1.20.2 on Fabric, Quilt
- Should be compatible with Quilt again! (requires Loader 0.23.0+)
- Note that Chat Patches still isn't developed directly for Quilt, issues may still arise
- Added the
counterCheckStyle
option, which controls checking style data when condensing duplicate messages (#144) - Added the
chatNameColor
option, which overrides the color of playernames in vanilla chat messages. (#133) - Removed MoreChatHistory as incompatible, due to MixinExtra's compatibility injectors! (it's actually been compatible for a while, but I forgot to remove it)
- Dev info:
- Overhauled the publishing system for CurseForge and Modrinth, revived the GitHub Releases channel, and added a webhook to the Discord server to
automatically post new releases! Now only uses modmuss50-publish-plugin, which is much cleaner and easier to use - Moved most volatile Gradle variables to
gradle.properties
to make it easier to change them - "Synced" some parts of the
build.gradle
file with the fabric-example-mod template to fix old warnings and keep it up to date - Added two specific methods to
StringTextUtils
for use with dupe counter methods, to work with the newcounterCheckStyle
option - Removed the weird returning message reconstruction segment from
ChatUtils#getCondensedMessage(Text, int)
because it was actually unnecessary! - Added some uncertain notes about certain aspects of the dupe counter process
- Overhauled the publishing system for CurseForge and Modrinth, revived the GitHub Releases channel, and added a webhook to the Discord server to
1.19.3-1.5.7: 1.19.3!
No new features, just 1.19.3. Enjoy!
1.19.2-1.5.7
1.19.2 - 1.5.6: So many fixes!
Sorry this is so late, I'm so tired of finals and I was being a little slow implementing some of this stuff. Anyways, here's your changelog. Be warned that most of the stuff is about the code, so I bolded and italicized the biggest changes that affect you the most. Enjoy, and if you like the mod, consider leaving a star! If you have any issues or suggestions, open one up on the Issues page.
Changelog
Significant
- renamed
shiftHudPos
toshiftChat
, and specific "Str" and "Format" options to end with "Date" or "Format" instead for clarity and common sense - now when the config has been updated (or cannot be loaded), the original will be saved as
wmch_old.json
so settings can be migrated over - after restoring all messages, resets each message's sent time to prevent showing them all right away (#42)
- added the
lastWorld
field, which retains information about the current and last world/server joined for #34 and fixing extras being sent on minigame servers
Specific
- Mod Menu integrated config now has some informational links for formatting the time and format-able string options
Option
class has been removed and replaced with an "abstract" one as a nested class. has the same functionality as before but now is properly utilized- new "abstract" options are made dynamically through the Java Reflection API by the use of field names and values
- moved
updateConfigBuilder
method toClothConfig
and expanded it toupdateBuilder
, with save consumers coded directly into the builder - removed
validate
method and moved functionality intonewConfig
- revised
readFromFile
into read and added better actions on error handling - removed NoChatReports config accessor class for reading the
convertToGameMessage
setting, now instead of only formatting system messages if that returned true, it will always format system messages if the other criteria is met - added
getVisibleMessages
to theChatHudAccessor
mixin for #42 - heavily condensed
shiftChat
'sModifyVariable
mixins from 7 to 3 by targeting the variables instead of each method arg - overhauled the playername message formatter to keep complex message styles intact (#40)
- removed old and unused integration classes
- simplified
ChatLog
method calls - fixed and simplified some potentially inverted message comparisons
- moved the part of
WMCH.java
that restored the chatlog into the new restore method - added a
Util.Flag.BOUNDARY_LINE
to replaceUtil.isBoundaryLine
- tweaked some
Flag
methods - tweaked most
Util
methods to work better or to fix something - replaced the entirety of the content of
formatString
with a text builder that uses the built in section-sign symbol to format text objects - Implemented #36, #37, #38, #39, #41
Bugfixes and Essential compatibility!
It's been a hot second, and I'm back with some more fixes. Today, I bring to you Essential compatibility, a much better formatting string to text method (see Message counter text), and random tweaks. Please enjoy, and if you like the mod, consider leaving a star! If you have any issues or suggestions, open one up on the Issues page! Until next time...
Changelog:
build.gradle
redo, devenv now has a basic integrations system for testing mod compatibility and dependencies- now depends on (bundled) MixinExtras, lets Essential work alongside WMCH
- updated fabric api
- updated README and removed example value column
- removed 'propogate lang files' debug option
- random tweaks to some log messages
- added ability for
Option
instances to be 'disabled' (made initially for Essential compat, but the original process ended up being redundant, so currently it's unused) - removed most instances of
==
and replaced them with.equals()
for actual functionality - fixed #32, #33
- made all mixins abstract classes and have only private methods according to common/proper convention
- changed some mixin priorities to be less extreme
- fixed
ChatLog
logging information under the name 'Option' - completely overhauled
Util.formatString(String)
to work consistently and well - removed unnecessary
NAMES
string list - removed useless lang key
mutableChat
- added
mixin.incompatible
lang key for use with the aforementionedOption.disabled
feature - removed Essential from
breaks
list infabric.mod.json
1.19.2 - 1.5.3: Finally 1.19.2 support!
I know this is way too late and the 1.19.3 and 1.20 updates are probably just around the corner, but I finally finished updating!
This update also comes with a few new features and extra integration with NoChatReports; I highly recommend installing it alongside this mod.
Changelog:
- Remapped changed classes
- Now uses
MessageMetadata
instead ofMessageSender
, for more accurate timestamp and sender data - added prefixes before all logging events, so debugging for players should be much easier for both the user and me
- removed the unnecessary
Relation
subclass - updated
shiftHudPos
to include message indicators and their icons - updated dependencies and loom
- when loading messages from the chat log, the messages will have a purple indicator bar to separate them
- other negligible tweaks
- prevents messages from being hidden; this might backfire but realistically you probably dont want a message being hidden after you recieve it? i could easily add a hotfix to remove it so I'm leaving it in
Enjoy! -MechanicalArcane