mirror of
https://github.com/Winds-Studio/Leaf.git
synced 2026-01-06 15:51:31 +00:00
Originally vanilla logic is to use stream, and Mojang switched it to Guava's Collections2 since 1.21.4. It is much faster than using stream or manually adding to a new ArrayList. Manually adding to a new ArrayList requires allocating a new object array. However, the Collections2 lazy handles filter condition on iteration, so much better.
44 lines
2.7 KiB
Diff
44 lines
2.7 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: LeeGodSRC <lee20040919@gmail.com>
|
|
Date: Sat, 8 Mar 2025 11:40:46 +0800
|
|
Subject: [PATCH] Raytrace AntiXray SDK integration
|
|
|
|
Integrated with Imanity Software's Raytrace AntiXray for better performance
|
|
|
|
Original project: https://github.com/Imanity-Software/raytrace-antixray-spigot-sdk
|
|
|
|
diff --git a/net/minecraft/server/level/ServerPlayerGameMode.java b/net/minecraft/server/level/ServerPlayerGameMode.java
|
|
index d638821595138ef972163925136eb57207b31719..02c02314a4a6a7a6da427f0d064dbc61ce92301d 100644
|
|
--- a/net/minecraft/server/level/ServerPlayerGameMode.java
|
|
+++ b/net/minecraft/server/level/ServerPlayerGameMode.java
|
|
@@ -296,6 +296,12 @@ public class ServerPlayerGameMode {
|
|
org.bukkit.craftbukkit.event.CraftEventFactory.callBlockDamageAbortEvent(this.player, pos, this.player.getInventory().getSelectedItem()); // CraftBukkit
|
|
}
|
|
}
|
|
+ // Imanity start - AntiXraySDK integration
|
|
+ dev.imanity.antixray.sdk.AntiXrayAdapter adapter = dev.imanity.antixray.sdk.AntiXraySDK.getAdapter();
|
|
+ if (adapter != null) {
|
|
+ adapter.callPlayerLeftClickBlock(this.level.getWorld(), this.player.getBukkitEntity(), pos.getX(), pos.getY(), pos.getZ());
|
|
+ }
|
|
+ // Imanity end - AntiXraySDK integration
|
|
this.level.chunkPacketBlockController.onPlayerLeftClickBlock(this, pos, action, face, maxBuildHeight, sequence); // Paper - Anti-Xray
|
|
}
|
|
|
|
diff --git a/net/minecraft/world/level/Level.java b/net/minecraft/world/level/Level.java
|
|
index f881866e460b1361f3691c5a999277673845f64e..38a6ca1c0789e50ca15f7a5e602da9be5f8371e9 100644
|
|
--- a/net/minecraft/world/level/Level.java
|
|
+++ b/net/minecraft/world/level/Level.java
|
|
@@ -1178,6 +1178,12 @@ public abstract class Level implements LevelAccessor, UUIDLookup<Entity>, AutoCl
|
|
snapshot.setFlags(flags); // Paper - always set the flag of the most recent call to mitigate issues with multiple update at the same pos with different flags
|
|
}
|
|
BlockState blockState = chunkAt.setBlockState(pos, state, flags);
|
|
+ // Imanity start - AntiXraySDK integration
|
|
+ dev.imanity.antixray.sdk.AntiXrayAdapter adapter = dev.imanity.antixray.sdk.AntiXraySDK.getAdapter();
|
|
+ if (adapter != null) {
|
|
+ adapter.callBlockChange(world, pos.getX(), pos.getY(), pos.getZ(), state.getBukkitMaterial());
|
|
+ }
|
|
+ // Imanity end - AntiXraySDK integration
|
|
this.chunkPacketBlockController.onBlockChange(this, pos, state, blockState, flags, recursionLeft); // Paper - Anti-Xray
|
|
// CraftBukkit end
|
|
if (blockState == null) {
|