Fix compatibility with Feather Client
Type of change
- [x] Bug fix
- [ ] New feature
Description
This modifies ChatHudMixin to ensure compatibility between Meteor Client and Feather client. Using @Local in mixins targeting the addVisibleMessage method causes crashes when used alongside Feather. This change removes the use of @Local, instead manually reconstructing the necessary variables to maintain the same functionality.
Related issues
Mention any issues that this pr relates to.
How Has This Been Tested?
https://github.com/user-attachments/assets/d8b51057-64de-4344-a8ca-1a43fba51203
Checklist:
- [x] My code follows the style guidelines of this project.
- [x] I have added comments to my code in more complex areas.
- [x] I have tested the code in both development and production environments.
I'm opening 3 PRs this week to break feather client more
instead of duplicating all the logic vanilla does, you could also just target something else that includes the index, like the List#get call in the loop
instead of duplicating all the logic vanilla does, you could also just target something else that includes the index, like the
List#getcall in the loop
Could you elaborate on this? I duplicated vanilla logic cause onBreakChatMessageLines used a @Local (@Local List<OrderedText> list)
instead of duplicating all the logic vanilla does, you could also just target something else that includes the index, like the
List#getcall in the loopCould you elaborate on this? I duplicated vanilla logic cause
onBreakChatMessageLinesused a@Local(@Local List<OrderedText> list)
target @At(value = "INVOKE", target = "Ljava/util/List;add(ILjava/lang/Object;)V", remap = false) and capture the argument, this would get the same value as what the @Local that was breaking compat had
instead of duplicating all the logic vanilla does, you could also just target something else that includes the index, like the
List#getcall in the loopCould you elaborate on this? I duplicated vanilla logic cause
onBreakChatMessageLinesused a@Local(@Local List<OrderedText> list)target
@At(value = "INVOKE", target = "Ljava/util/List;add(ILjava/lang/Object;)V", remap = false)and capture the argument, this would get the same value as what the@Localthat was breaking compat had
I believe list.get is in the for-loop, while our mixin method is before the for-loop,
instead of duplicating all the logic vanilla does, you could also just target something else that includes the index, like the
List#getcall in the loopCould you elaborate on this? I duplicated vanilla logic cause
onBreakChatMessageLinesused a@Local(@Local List<OrderedText> list)target
@At(value = "INVOKE", target = "Ljava/util/List;add(ILjava/lang/Object;)V", remap = false)and capture the argument, this would get the same value as what the@Localthat was breaking compat had
Did I achieve what you wanted correctly in this commit?
Seems it broke compatibility with the worlds most fragile client (Feather)
There we go
Hello, ive been looking forward to using meteor with feather and tried to build this. but it failed to launch and crashed.
heres the log. latest.log
If possible, kindly help me with my request.
Hello, ive been looking forward to using meteor with feather and tried to build this. but it failed to launch and crashed.
heres the log. latest.log
If possible, kindly help me with my request.
I asked ChatGPT. i got it to run but the GUI is all messed up and stuff. and im constantly autoclicking or some reason? although i did get it to run, tried some modules (worked perfectly fine for some reason)
Hello, ive been looking forward to using meteor with feather and tried to build this. but it failed to launch and crashed.
heres the log. latest.log
If possible, kindly help me with my request.
wanna send the crash report here from ur crash-reports/ folder? if you want a more direct way to communicate u can reach me on discord: itzjusthim_
how to on meteor client in feather
Hello, can anyone teach me how to do this pls..
Hello, ive been looking forward to using meteor with feather and tried to build this. but it failed to launch and crashed. heres the log. latest.log If possible, kindly help me with my request.
wanna send the crash report here from ur crash-reports/ folder? if you want a more direct way to communicate u can reach me on discord:
itzjusthim_
Can you teach me how to do this pls..
instead of duplicating all the logic vanilla does, you could also just target something else that includes the index, like the
List#getcall in the loopCould you elaborate on this? I duplicated vanilla logic cause
onBreakChatMessageLinesused a@Local(@Local List<OrderedText> list)target
@At(value = "INVOKE", target = "Ljava/util/List;add(ILjava/lang/Object;)V", remap = false)and capture the argument, this would get the same value as what the@Localthat was breaking compat had
Can you teach me how to do it pls...
I have got it to run, and it works perfectly fine! but heres a bug i came across:
if you open the ClickGUI in windowed mode, it will glitch out.
My specs are- i3 6100 8gb ddr3 ram integrated graphics
I myself was surprised when it was successfull and really lag free!
Ok.. soooo could you help me get this into my feather client cause I'm dumb and don't know how to use it
I have got it to run, and it works perfectly fine! but heres a bug i came across:
if you open the ClickGUI in windowed mode, it will glitch out.
My specs are- i3 6100 8gb ddr3 ram integrated graphics
I myself was surprised when it was successfull and really lag free!
HOWW?
Pretty sure there are no artifacts for this build, and myself have left meteor client to try out more ghost clients, but you can build it on your own by the help of chatgpt.
After building, there necessarily arent any dependencies (I think so) Anyways, try asking chatgpt to build this pull. I, myself took help from chatgpt.
The version SHOULD be 1.21.5 but make sure to check by opening the jar file in winrar and check the fabric.mod.json something
how do i use this?
Pretty sure there are no artifacts for this build, and myself have left meteor client to try out more ghost clients, but you can build it on your own by the help of chatgpt.
After building, there necessarily arent any dependencies (I think so) Anyways, try asking chatgpt to build this pull. I, myself took help from chatgpt.
The version SHOULD be 1.21.5 but make sure to check by opening the jar file in winrar and check the fabric.mod.json something
I asked ghatgpt before and made me bat files, texts and all the ways but it didn't work and if I tell him to just send me the final version he said that he can't bc it's cheats.. is it because I send the jar file of meteor that's 1.21.8 with this fork? Cause maybe this fork doesent work with 1.21.8
can you send me meteor 1.21.4 file that works with feather?
My feather is still not working with meteor
Here is the crash report:
Incompatible mods found! net.fabricmc.loader.impl.FormattedException: Some of your mods are incompatible with the game or each other! A potential solution has been determined, this may resolve your problem: - Replace mod 'Meteor Client' (meteor-client) 1.21.4-42 with any version that is compatible with: - feather release/1db97c3d More details: - Mod 'Meteor Client' (meteor-client) 1.21.4-42 is incompatible with any version of mod 'Feather Client' (feather), but a matching version is present: release/1db97c3d! at net.fabricmc.loader.impl.FormattedException.ofLocalized(FormattedException.java:51) at net.fabricmc.loader.impl.FabricLoaderImpl.load(FabricLoaderImpl.java:202) at net.fabricmc.loader.impl.launch.knot.Knot.init(Knot.java:142) at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:66) at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:28) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source) at java.base/java.lang.reflect.Method.invoke(Unknown Source) at net.digitalingot.rustextension.ProxiedStart.main(ProxiedStart.java:27)
If anyone can help me i would be happy
How can you download in the new version of 1.21.10