Skip to content

Commit

Permalink
take care of viaversion rotation fix, and warn server admin about tha…
Browse files Browse the repository at this point in the history
…t option
  • Loading branch information
Cyramek committed Oct 10, 2024
1 parent 3cab3fe commit acdacff
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 2 deletions.
2 changes: 1 addition & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ dependencies {
implementation("org.jetbrains:annotations:24.1.0")
compileOnly("org.geysermc.floodgate:api:2.0-SNAPSHOT")
compileOnly("org.spigotmc:spigot-api:1.18.2-R0.1-SNAPSHOT")
compileOnly("com.viaversion:viaversion-api:4.9.4-SNAPSHOT")
compileOnly("com.viaversion:viaversion-api:5.0.4-SNAPSHOT")
//
compileOnly("io.netty:netty-all:4.1.85.Final")
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,9 @@
import com.github.retrooper.packetevents.wrapper.play.client.*;
import com.github.retrooper.packetevents.wrapper.play.server.WrapperPlayServerAcknowledgeBlockChanges;
import com.github.retrooper.packetevents.wrapper.play.server.WrapperPlayServerSetSlot;
import com.viaversion.viaversion.api.Via;
import io.github.retrooper.packetevents.util.SpigotConversionUtil;
import io.github.retrooper.packetevents.util.viaversion.ViaVersionUtil;
import org.bukkit.util.Vector;

import java.util.ArrayList;
Expand Down Expand Up @@ -324,7 +326,15 @@ private static void handleBlockPlaceOrUseItem(PacketWrapper packet, GrimPlayer p

private boolean isMojangStupid(GrimPlayer player, WrapperPlayClientPlayerFlying flying) {
// Mojang has become less stupid!
if (player.getClientVersion().isNewerThanOrEquals(ClientVersion.V_1_21)) return false;
if (player.getClientVersion().isNewerThanOrEquals(ClientVersion.V_1_21)) {
if (PacketEvents.getAPI().getServerManager().getVersion().isNewerThanOrEquals(ServerVersion.V_1_21)) {
return false;
}

if (!ViaVersionUtil.isAvailable() || !Via.getConfig().fix1_21PlacementRotation()) {
return false;
}
}

final Location location = flying.getLocation();
final double threshold = player.getMovementThreshold();
Expand Down
1 change: 1 addition & 0 deletions src/main/java/ac/grim/grimac/manager/InitManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ public InitManager() {
.put(SpectateManager.class, GrimAPI.INSTANCE.getSpectateManager())
.put(GrimExternalAPI.class, GrimAPI.INSTANCE.getExternalAPI())
.put(JavaVersion.class, new JavaVersion())
.put(ViaVersion.class, new ViaVersion())
.build();

initializersOnStop = new ImmutableClassToInstanceMap.Builder<Initable>()
Expand Down
19 changes: 19 additions & 0 deletions src/main/java/ac/grim/grimac/manager/init/start/ViaVersion.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package ac.grim.grimac.manager.init.start;

import ac.grim.grimac.manager.init.Initable;
import ac.grim.grimac.utils.anticheat.LogUtil;
import com.viaversion.viaversion.api.Via;
import io.github.retrooper.packetevents.util.viaversion.ViaVersionUtil;

public class ViaVersion implements Initable {
@Override
public void start() {
if (!ViaVersionUtil.isAvailable() || !Via.getConfig().fix1_21PlacementRotation()) {
return;
}

LogUtil.warn("GrimAC has detected that you are using ViaVersion with the `fix-1_21-placement-rotation` option enabled.");
LogUtil.warn("This option is known to cause issues with GrimAC and may result in false positives and bypasses.");
LogUtil.warn("Please disable this option in your ViaVersion configuration to prevent these issues.");
}
}

0 comments on commit acdacff

Please sign in to comment.