Lol no it’s my anticheat.why
why are you making hacks
stop
I'm pretty sure he's trying to make an anticheat???why
why are you making hacks
stop
Technically yes but no. I’m updating JI Anticheat for 1.3.6/Build 31I'm pretty sure he's trying to make an anticheat???
Thanks, Clyde, totally a contributive post...Inaccurate, false advertising. Simple as that.
People need to stop relying on localhost. Everyone can make some "Perfect detection" in localhost, but when you throw it on a real server, it starts spazzing its ass off.
You use player.getLocation()? You're already many ticks behind/ahead of the server. So is the target. It won't be accurate, sorry to burst your bubble. It will false badly on any decent server.
Edit: And don't bother using PlayerMoveEvent to store the "Latest location" as that's not entirely the latest location either.
Sorry if I came out rude, didn't intend it. It's just tiring seeing all these kinds of posts and in the end, they end up being fake like a lot of AntiCheats here.Thanks, Clyde, totally a contributive post...
I'm fully aware of the deprecated methods being used, as stated in my thread:![]()
Furthermore, I was actually doing most of the testing on my cloudex server. I just happen to not have time to record on it so I launched my test localhost. I'm using getHeadLocation and am checking it as a squared value, which is much more accurate than getLocation. Furthermore, the base I've constructed is fully compatible with protocollib hence I'll be easier once I have deepened my knowledge in packet management.
Thanks tho,
Ghast.
public double distance(Location o) {
return Math.sqrt(this.distanceSquared(o));
}
public double distanceSquared(Location o) {
if (o == null) {
throw new IllegalArgumentException("Cannot measure distance to a null location");
} else if (o.getWorld() != null && this.getWorld() != null) {
if (o.getWorld() != this.getWorld()) {
throw new IllegalArgumentException("Cannot measure distance between " + this.getWorld().getName() + " and " + o.getWorld().getName());
} else {
return NumberConversions.square(this.x - o.x) + NumberConversions.square(this.y - o.y) + NumberConversions.square(this.z - o.z);
}
} else {
throw new IllegalArgumentException("Cannot measure distance to a null world");
}
}
All good. To your surprise, I actually saw the negative impact of velocity on the check and decided to remove it. I haven’t pushed it to public for the very reasons you pointed out. It’s just a showcase of my steps to perfectionning this. It’s a learning procedure I wish to show. Thanks for the help clyde, if you could also point me out your best protocollib documentation (official one is naf and barely filled with examples) that’d be great.Sorry if I came out rude, didn't intend it. It's just tiring seeing all these kinds of posts and in the end, they end up being fake like a lot of AntiCheats here.
distanceSquared from getEyeLocation is just as bad as getLocation.
Using .distance() and .distanceSquared() won't be helping either.
Also distance() calls upon distanceSquared, it's just a tad bit different.
Code:public double distance(Location o) { return Math.sqrt(this.distanceSquared(o)); } public double distanceSquared(Location o) { if (o == null) { throw new IllegalArgumentException("Cannot measure distance to a null location"); } else if (o.getWorld() != null && this.getWorld() != null) { if (o.getWorld() != this.getWorld()) { throw new IllegalArgumentException("Cannot measure distance between " + this.getWorld().getName() + " and " + o.getWorld().getName()); } else { return NumberConversions.square(this.x - o.x) + NumberConversions.square(this.y - o.y) + NumberConversions.square(this.z - o.z); } } else { throw new IllegalArgumentException("Cannot measure distance to a null world"); } }
Also, I am sure you're accounting for velocity and Y in the reach check. You should not be doing that for a decent reach check. If anything, that breaks it more.
Whenever you can, I'd be willing to login to your server and showing how to easily false it.
https://wiki.vg/ProtocolAll good. To your surprise, I actually saw the negative impact of velocity on the check and decided to remove it. I haven’t pushed it to public for the very reasons you pointed out. It’s just a showcase of my steps to perfectionning this. It’s a learning procedure I wish to show. Thanks for the help clyde, if you could also point me out your best protocollib documentation (official one is naf and barely filled with examples) that’d be great.
Cheers,
Ghast.
