-
Notifications
You must be signed in to change notification settings - Fork 362
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reach skip option #1794
base: 2.0
Are you sure you want to change the base?
Reach skip option #1794
Conversation
164fa46
to
727461e
Compare
I think there should be a warning to not enable this because of falses without reporting it |
What are you talking about? I don't quite understand what you're trying to say. This does not cause falses (if anything it would hide falses assuming they exist, which for reach is just not true). This just skips reach check if the target is not a player. |
reach falses on non-player entity -> this gets enabled -> false never gets reported -> false never gets fixed |
There are already false positives involving Reach with entities that are not Players. In version 1.8, at least, I was able to reproduce false positives involving Horse, Elder Guardian, and Skeleton. |
@ItsClairton |
All the issues I've encountered so far are related to incorrect hitboxes. I'll send some examples: Horse: https://streamable.com/ogyfnb |
The horse thing is caused by the mounting process and switching between flying and vehicle packets, I seem to remember fixing that in pharus |
Is this also related to falses with simulation when mounting/dismounting too? AimModulo360 sometimes falses too |
@ItsClairton I've been unable to replicate the Elder Guardian false. Did you flag reach before while cheating before you sent me this clip? I was only able to replicate after cheating for a bit and then attacking the Elder Guardian legit, in which case this is intended behavior since flagging Reach the first time makes us use a more aggressive check next time that can false (but can also cancel hits and not just flag). |
@SamB440 could you PR the fix from Pharus into Grim, I'd very much like Reach to remain unfalsable |
No, I was using the vanilla client + Optifine, did you test it on 1.8? |
Yes I tested it on Vanilla 1.8 server + client and on a 1.21.1 server + client. I was unable to reproduce in both cases without cheating first. If you were using Optifine, please make sure fast math is off. |
I just tested it using Vanilla 1.8.9, and the problem still occurs. This issue only happens with the Elder, not with the regular Guardian. I think the Elder is being treated as a regular Guardian when it shouldn't be, because it is larger and therefore has a bigger hitbox. |
Grim/src/main/java/ac/grim/grimac/utils/nmsutil/BoundingBoxSize.java Lines 61 to 62 in 5fbbaba
This condition will never happen on a 1.8 server because the Elder Guardian is a variant of the Guardian, and in legacy versions, both have the same ID, so PacketEvents identifies them both as "Guardian". Then both will fall into this condition: Grim/src/main/java/ac/grim/grimac/utils/nmsutil/BoundingBoxSize.java Lines 73 to 74 in 5fbbaba
|
@ItsClairton I cannot reproduce on the latest build of LightningGrim and using a debugger shows that Elder Guardians reach the correct Code path on 1.8. This is almost certainly an issue on your end. Did you build Grim yourself, potentially with outdated PE? Please try the latest build of https://modrinth.com/plugin/lightning-grim-anticheat and tell me if this issue still exists. |
|
Exactly the steps I did: |
@ItsClairton I've fixed this in B48 please tell me if any related issues to this remain. |
@Axionize Reach fixed, Thanks |
Add a config option to skip reach checks for non-player targets. Useful for performance and if you don't care about KA or reach on mob grinders and mobs.