mrbuilder1961 / ChatPatches

A Minecraft client-side mod that touches up Minecraft's mundane chat, with configurability in mind!
GNU Lesser General Public License v3.0
44 stars 16 forks source link

194.4.6 Compatibility Issue: Show Me What You Got #88

Closed Ultimushadow closed 12 months ago

Ultimushadow commented 1 year ago

Description

The latest version removes the functionality of the Show Me What You Got mod, while the keybind to send items in chat functions and the client with 194.4.6 of chatpatches can see other player's items in chat, it removes hover over display (from all perspectives) for said client's messages when they attempt to send an item. Note - this did NOT occur in 194.4.3, both mods functioned properly, I'm unable to test 194.4.4/5 at the moment.

How to reproduce

Download 194.4.6 of chatpatches and 1.1.0 of Show Me What You Got for 1.19.4 Fabric. Open inventory and hit Ctrl + T over any item while in singleplayer or a server with the mod. If in server, have another player with 194.4.3 of chatpatches do the same, observe that the text is white.

Expected result

Text from this action should be colored and have a hover over effect like in an inventory. When another player without this version sends an item, hover over is displayed but the text does not change from the default color.

Log file link

Log files do not contain useful or relevant information.

Specs and Details

Fabric 1.19.4, mod details shown above, nothing else here is relevant.

Additional context

There is a chance something else in my modlist is affecting this but seeing as my client is loading 298 mods, I'm going to hold off on sending that over unless ya need it.

mrbuilder1961 commented 1 year ago

i'll look into it, although not really sure what i changed that would break it. thanks for the detailed report, i really appreciate it!

mrbuilder1961 commented 1 year ago

looking into this now.. although SMWYG is made in a kinda confusing way so i might try and contact the owner

mrbuilder1961 commented 1 year ago

ok i messaged the owner, will come back to this when they respond

edit: im slow and i forgot they're on github, maybe this @apace100 will help?

Nukecraft5419 commented 1 year ago

@Ultimushadow Hi and can you get more information about the bug if you have modified configs of the 2 mods and the list of mods and the log of the game while everything occurs and also know which laucnher you have, I am helping to solve this problem with obro

Ultimushadow commented 1 year ago

Hey there, I've since moved on from the versions that were conflicting, but here is the config I was using with the version of Chat Patches I mentioned still worked for me. I was using CurseForge at that point but have since moved on. I'm sorry I can't give any more helpful information, but I will report on the 1.20 versions if I find a similar thing happening. chatpatches.zip

Nukecraft5419 commented 1 year ago

So the problem has recurred or no longer recurs, I've noticed that many other mods have problems with SMWYG so I think the problem is just that mod that gives many difficulties to the others in trying to adapt them I'll see if we can find a solution for now we know that SMWYG has a matrix on which it generates those messages I did some tests and actually removing Chat Patches there is no problem but because SMWYG also alters the vanilla chat and then Chat Paches finds it difficult to interpret the messages of SMWYG if I have new information I'll keep you updated

Ultimushadow commented 1 year ago

The problems occurred on a specific version of Chat Patches, and stopped occurring when I downgraded Chat Patches. As I recall, SMWYG did not update between those versions, so the only thing that changed was Chat Patches. It may be helpful to look at the commits between the two versions to narrow down where the potential issue is coming from, based on what changed during that time?

Nukecraft5419 commented 1 year ago

Very strange I will also check and ask obro

mrbuilder1961 commented 1 year ago

Thanks for the insight, however this is proving easier said than done to fix so i'm going to have to fix it in a hotfix after the main update. sorry for any inconveniences this has called 😣

mrbuilder1961 commented 1 year ago

The problems occurred on a specific version of Chat Patches, and stopped occurring when I downgraded Chat Patches.

by the way, what version did you downgrade to, assuming you were using 194.4.6 before?

Ultimushadow commented 1 year ago

194.4.3 was the version that we had everything working as intended! I'm not sure if there were updates in between that worked though as chat patches was updated quite frequently

Nukecraft5419 commented 1 year ago

I tried with the default config from 194.4.3 to 194.4.6 and it seems to work on all of them I also put in the config you provided but it still works and it's very strange that it didn't work before when I did the tests and now it does and the mods neither of them has been updated really very strange if you can try again by creating a new installation in Prism Launcher to see if it works for you now

Here are the screens of the tests done with the default configuration

194.4.3 2023-07-03_10 44 34

194.4.4 2023-07-03_10 47 37

194.4.5 2023-07-03_10 48 58

194.4.6 2023-07-03_10 50 14

mrbuilder1961 commented 1 year ago

actually that's not testing the mod, when i was originally testing it for the first time i noticed the give command always works. you have to test the Ctrl + T function which is the main use of the mod

Nukecraft5419 commented 1 year ago

I when I tried it not even in chat was going I assumed that going into the give also went with CTRL + T I will do more Testing to see I apologize in advance

apace100 commented 1 year ago

I fixed this problem with this commit! Will release a version with that soon. Edit: released the fix with version 1.1.1.

The issue was a mixin of ChatPatches cancelling a method early and thus skipping the rest of the method, where SMWYG would mixin and normally send over the item stack information of the message.

I worked around that by moving my mixin to the head of the sendMessage method instead, which is probably where it should have been located in the first place. :)

Thanks for the amount of detail provided by everyone here, and thanks for your patience!

mrbuilder1961 commented 1 year ago

this is awesome, thanks so much! i'll test it just in case in a little bit before closing the issue. (but really tysm i had no idea how i was going to fix this 😅)

mrbuilder1961 commented 1 year ago

it works great! but i still have some other bugs to fix before 194.5.1 and 201.5.1 so i'm going to wait to close this until it 1000% works w everything. again, tsym apace!

Nukecraft5419 commented 1 year ago

Great thing I'm glad almost everything is solved when it is 100% solved it will help a lot and the beauty of discussions is to put more information until you find the cause of the problem

apace100 commented 1 year ago

it works great! but i still have some other bugs to fix before 194.5.1 and 201.5.1 so i'm going to wait to close this until it 1000% works w everything. again, tsym apace!

Not entirely sure what you mean here. Are those bugs related to this issue or are they another problem with SMWYG? As far as I can tell this issue is solved with the new version of SMWYG without you having to release a patch. :O

Let me know if there's anything I can help with!

mrbuilder1961 commented 1 year ago

no they aren't specifically related to SMWYG or this issue, but a lot of times tiny changes w how i create/use messages can break the mod or features, which is why i am waiting to ensure the fixes for the other 2 bugs don't break this fix. that being said, if it did break your hotfix, ill just find another solution. thanks for the offer, i'll definitely ask if something comes up 😁

mrbuilder1961 commented 12 months ago

@apace100 I did just find this bug, which has something to do with ChatPatches' messageDrafting feature, which when enabled lets text inputted into the chat field persist if it wasn't sent as a message already. the crash occurred when i did Ctrl+T with a few random letters already in the chat field (from messageDrafting), and the [Item name] text did not show up, so I hit enter to see if it would still work, and it crashed. i'm pretty sure some part of SMWYG's method that sends the data accidentally overshot the index somewhere, so just let me know what i can do to prevent this.

if it's too much trouble, I can try and disable message drafting altogether when a SMWYG message is sent, probably in the ChatScreen constructor. the code would probably be something like:

public ChatScreen(String initialText) {
    if( config.messageDrafting && !messageDraft.isBlank() && FabricLoader.getInstance().isModLoaded("smwyg") && initialText.matches("^\\[\\w+\\]$") )
        messageDraft = "";

    // plus a few more checks elsewhere to ensure this doesnt bug out
    ...
}

as a mixin of course.

mrbuilder1961 commented 12 months ago

nevermind, i just ended up doing basically that above and it seemed to work! about to close this 😄