Chat Patches 201.5.4
for Minecraft 1.20, 1.20.1 on Fabric, Quilt
- Fixed right-clicking on chat messages not showing the copy menu (fixed #106, closed #107)
- Added
ja_jp
translations (huge thanks to co-91!) - Fixed "Copy Raw String" rarely formatting incorrectly
- Switched the internal main directory from
main
toclient
to match the expected split sources standard
note: something randomly broke, so in-game and in launchers and whatnot the version might appear as ${version}
instead of 201.5.4
.
Chat Patches 201.5.3
for Minecraft 1.20, 1.20.1 on Fabric, Quilt
- Better #86 fix, also with auto-complete suggestor not going up when pressing the up key (#101)
- Fixed elements added by other mods are not clickable
- Fixed Tweakeroo message draft not working
- Added Ignore Hide Message Packet option toggle (
chatHidePacket
) - Fixed chat focus bug again, inline with #86 and #101 above
- Re-implemented another part of the overall fix for #99 (checks that
chatNameFormat
was modified before applying it) - Removed all
cps$
prefixes as mixin will automatically add them - Swapped the copy menu's Copy Raw String and Copy Formatted String functions. Copy Formatted String now copies the message with <&?> codes, although they do sometimes redundantly repeat.
- Fixed a large lag spike that would occur when opening the chat with a lot of messages loaded (#102)
- Note: This will still happen if you have something in the search field and search drafting is enabled. However, this is not considered a bug because lag is to be expected when searching through large lists of data.
- Added a little more documentation
Changelog
Chat Patches 201.5.2
for Minecraft 1.20, 1.20.1 on Fabric, Quilt
- I guess I lied about the version numbers thing... doesn't always make sense like in this situation
- Fixed invalid mixin signature (not sure why my plugin to avoid this problem wasn't working...)
Changelog
Chat Patches 201.5.1
for Minecraft 1.20, 1.20.1 on Fabric, Quilt
- Ported
194.5.1
to 1.20 (#92) - From now on, all mod versions with the same features will use identical version numbers (excluding the Minecraft version part) to make it easier to track changes across versions
Changelog
Chat Patches 194.5.1
for Minecraft 1.19.4 on Fabric, Quilt
- Removed compatibility with
1.19.3
because YetAnotherConfigLib 3.x doesn't support it - Added zh_cn.json translations (HUGE thanks to SJC08!)
- Show Me What You Got now works with Chat Patches again! (#88)
- Now some odd formatting mods/plugins should work with Chat Patches again (#96)
- Fixed a couple README formatting issues
- Changed the default config value for
counterFormat
to use '&r' socounterColor
will appear to apply right out-of-the-box; same fix applied toboundaryFormat
forboundaryColor
- Updated the changelog snippet function in
build.gradle
that automatically populates new version descriptions when publishing - Added some more loggers in
ChatLog
so if it runs out of space it should tell you... (open any issues if it randomly clears the log please!) - Switched the preview image file types from .jpg to .webp to reduce file size, and because YACL (is supposed to) support it well
- Unfortunately YACL still is crashing with the images, so they remain disabled. I've opened up an issue on the YACL repo, so hopefully it will be fixed soon! Note: this is why the file size of the mod is much higher now.
Changelog
194.5.0
for 1.19.4 on Fabric, Quilt
Note: Based on popular opinion, Yet Another Config Lib and Mod Menu are now required.
- Changed the "Chat HUD" config category to "Chat Interface" again, and split the options within it into 2 subcategories: "Heads Up Display (HUD)" and "Screen" for more organization
- You can now use vanilla chat clearing (
vanillaClearing
) if you really want.. (#85) - Fixed the up arrow switching focus to the search field while also accessing sent message history? (#86)
- Completely revamped the method to copy messages! Instead of the old and clunky
/copymessage
command, you just right-click on a message and a menu will appear with a multitude of options to access data contained within the message. For example, you can copy the raw message, a json representation, or even any links within the message! (#77, #87) - There are two config options associated with the new copy menu:
copyColor
andcopyReplyFormat
which control the color of the selection box around the clicked message, and the text that is put into the chat box when clicking on "Reply", respectively - All messages now store their time received in the timestamp's insertion text, which just means if you shift-left click on the timestamp text, it will insert the unix timestamp of the received message into the chat box
- Removed the
/copymessage
command and its translations - Added
fr_fr
translations (huge thanks to Calvineries!) - Refactored some config options and their translations (
saveChat
=>chatLog
,nameFormat
=>chatNameFormat
, andmaxMsgs
=>chatMaxMessages
) to work properly with the new subgroups - Fixed the dupe message adder method breaking when a boundary line was the last message sent
- You can now choose to use a CompactChat style dupe counter, which is explained in the config (#67)
- There is now a CompactChat subgroup under the dupe counter category in the config, which provides
counterCompact
for the toggle andcounterCompactDistance
for how many messages to check for duplicates - Updated YetAnotherConfigLib to 3.0.3-fabric, which overhauls the config UI to use a new tab system, but more notably has image previews now! For
this reason along with popular opinion, YACL is now required to load Chat Patches (#91)
- WARNING: The images currently crash the game, so they've been temporarily disabled until a bugfix is released. Check back in a week or so for the hotfix!
Misc changes and developer stuff:
- Added some more detailed JavaDocs overall
- The old method that was used to condense duplicate messages was overhauled with a slightly faster implementation that doubles as a way to use the
CompactChat style dupe counter. The original method was moved to
ChatUtils#getCondensedMessage(Text, int)
and instead removes the old message, rather than updating the old message and ignoring the new one - Also cleaned up the
YACLConfig
class a little more to use less "magic numbers" and more clear method calls - Added the
[Config.writeCopy]
prefix to a logger call inConfig#writeCopy()
to maintain consistency and clarity - Replaced the common obtaining of
ChatHudAccessor
from the ugly(ChatHudAccessor) client.inGameHud.getChatHud()
with two static methods,ChatHudAccessor.from(ChatHud)
andChatHudAccessor.from(MinecraftClient)
, which wrap the cast for convenience - Added message indices stored in
ChatUtils
to clearly identify what data is being interacted with, instead of magic numbers everywhere - Added the
RenderUtils
class, which currently only has a subclassMousePos
- Added
StringTextUtils#getLinks(String)
for getting all links from a string, used in the copy menu - All of
ChatScreenMixin
is really just complete hell, it's all over the place, but most of the complex methods have javadocs (except for#cps$loadCopyMenu(mX, mY)
which has comments inside). It works especially now together withMenuButtonWidget
which is also disgusting. In the future, when I have time, I will rewrite the whole menu thing as a new class just for menus and buttons, and then use that. For now, I'm so sorry.
Changelog
194.4.5
for Minecraft 1.19.3, 1.19.4 on Fabric, Quilt
- Showing/hiding the chat search bar or the chat search settings will now persist after closing and reopening chat (#81)
- You can now additionally hide the search button entirely, but keep in mind this disables all other chat searching functionality
Changelog
194.4.4
for Minecraft 1.19.3, 1.19.4 on Fabric, Quilt
-
Updated dependencies, including YACL to
2.5.0-fabric
so you may need to update that as well -
Fixed #78, which uses a large mixin instead of an entirely new screen to allow for compatibility with other mods
-
Removed the
chatSearchScreen
option because the search settings can be hidden and other mods should be compatible now- That being said, the only real difference is that the search settings button cannot be removed from the chat screen
-
Added the
messageDrafting
andsearchDrafting
options (#79), which when toggled let any text in the fields persist after closing and reopening the chat -
Tweaked the README config table to add double quotes around String options and removed the decimal numbers attached to Color options
-
Updated the changelog from only containing the latest version's changes to all of them starting from
194.4.0
. Unless you're a contributor, this doesn't really matter -
Contributor note: Now when you edit the changelog, assuming you run
build
orpublish
(which both subsequently runprocessResources
) before committing any changes, this file will- have any double hashtags (
##
) followed by a number replaced with a GitHub issue link - replace any instances of
${}
with eitherversion
,targets
, orloaders
in between the brackets with the appropriate value from thegradle.properties
file
- have any double hashtags (
-
You can now specify the
-PnoPublish=true
flag when running./gradlew publish
to prevent the file from actually being published on Modrinth and Curseforge. This helps to avoid needing to adddebug=true
every time you want to double-check the changelog before publishing
Changes with this version
- Fixed #73, which was caused by a slight method change from
1.19.3
to.4
. To fix this I simply removed it, which was fine because it didn't really work in the first place. - However, the method that was tweaked to fix this issue prevented a couple problems relating to selecting both the search and chat fields at the same time (but it can't anymore)
- So to try and help with any issues that may arise from this, whenever you type a chat message that hasn't been sent yet, if you close the chat and reopen it the message will reappear in the chat field.
Changes with this version
- Updated to FAPI 0.77.0 and YACL 2.4.0
- Added the
regex
andregex_tester
links in the YACL Help category for web links to regex assistance. - Added the new ChatSearchScreen screen, an extension of ChatScreen that allows for searching through chat messages plus more features!
- Added the
chatSearchScreen
option that toggles the new chat search screen (which overrides the vanilla chat screen) - Added a new mixin injector to override the vanilla chat screen with the new one (if enabled)
- Added some new String util methods
- Fixed the '&<?>'-formatted string to text parser not removing double backslashes from literal uses of ampersands
- Added a button icon and a background sprite
This update officially fixes #4 !!! sorry for taking so long, but hey it's done now!
Changes with this version
- Update to 1.19.4 and mark #68 complete (compatible with 1.19.3!)
- Switch
ChatHudAccessor
mixin to a duck interface instead - Added and updated some more documentation
- Updated Gradle to v8.0.1
- Updated to YACL
2.3.0
and Mod Menu6.1.0-rc.4
(warning: this version depends on a pre-release of Mod Menu, so it may be buggy or weird!) - Now requires Fabric Loader
0.14.17
or higher - Completely overhauled the Util class and split it into a bunch of smaller, more specific classes.
- Added a new MessageData class for only storing the necessary data needed for a message. this will help backporting efforts in the future!
- Restored messages no longer clog the logs with messages about being restored (#65)
- Changed the default mixin priority to
2000
from400
to partially fix #66 for 1.19.3 and 1.19.4. This might cause issues with other mods, so keep an eye out for issues, and make sure to report them if you find any! - Added a try-catch block to
ChatHudMixin#addCounter
to prevent the chat from effectively disabling if an error occurs (part 2 of #66)
btw sorry about the huge commit, I just really wanted to get this pushed out, and it took a lot longer than I was hoping. I'll try to keep the commits smaller in the future.
Changes with this version
- Backported everything from after July 20, 2022, to all 1.18 versions
- Enormous file diff here.
- Also applies fixes from the 192.2.1/193.2.3 versions
Notice
I did not realize before switching config libraries that YetAnotherConfigLib doesn't backport, so it seems like these older versions will continue to use Cloth Config.
Changes with this version
(this bugfix version is equal to 192.2.1)
- Fixed the config not always writing to disk
- Removed one-use constants from Config
- Renamed the Option subclass to ConfigOption to avoid conflicting with YACL's Option
- No longer removes the
INIT
flag every time a world is loaded
Changes with this version
- Another backport for 1.19.2
- Contains the ChatPatches rebrand (also changes config file used from
wmch.json
tochatpatches.json
, if you have a config file from an older version, you'll need to rename it) - Also adds the
chatWidth
option to allow for larger than vanilla chat width
See this commit diff for all the changes, or just look through the 1.19.3 versions' changelogs.
Changes with this version
- Added the
chatWidth
option: off by default, but allows for a greater chat width up to 630 pixels. when unused, just uses vanilla - Replaced the original "dynamic"
shiftChat
slider maximum (which didn't work correctly anyway) with a fixed max of 100 pixels - Completes #59
- Probably fixes #60