mirror of
https://github.com/funkemunky/KauriV3.git
synced 2026-05-31 05:51:55 +00:00
Updating stuffs
This commit is contained in:
@@ -5,6 +5,7 @@ import com.google.common.util.concurrent.ThreadFactoryBuilder;
|
||||
import dev.brighten.ac.api.AnticheatAPI;
|
||||
import dev.brighten.ac.check.Check;
|
||||
import dev.brighten.ac.check.CheckManager;
|
||||
import dev.brighten.ac.data.APlayer;
|
||||
import dev.brighten.ac.data.PlayerRegistry;
|
||||
import dev.brighten.ac.depends.LibraryLoader;
|
||||
import dev.brighten.ac.depends.MavenLibrary;
|
||||
@@ -32,7 +33,9 @@ import dev.brighten.loader.LoaderPlugin;
|
||||
import lombok.Getter;
|
||||
import lombok.experimental.PackagePrivate;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Chunk;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.HandlerList;
|
||||
|
||||
import java.io.File;
|
||||
@@ -166,6 +169,29 @@ public class Anticheat extends LoaderPlugin {
|
||||
logManager = new LoggerManager();
|
||||
this.actionManager = new ActionManager();
|
||||
|
||||
int chunkDistance = Bukkit.getViewDistance() * 2 + 1;
|
||||
// Created players on server reload
|
||||
if(playerRegistry.aplayerMap.size() > 0) {
|
||||
getLogger().warning("Players are online, resending chunk map to players so anticheat is up to date.");
|
||||
for (APlayer aplayer : playerRegistry.aplayerMap.values()) {
|
||||
Player player = aplayer.getBukkitPlayer();
|
||||
|
||||
getLogger().info("Sending chunks to " + player.getName());
|
||||
int chunkX = player.getLocation().getBlockX() >> 4,
|
||||
chunkZ = player.getLocation().getBlockZ() >> 4;
|
||||
|
||||
for (int x = chunkX - chunkDistance; x <= chunkX + chunkDistance; x++) {
|
||||
for (int z = chunkZ - chunkDistance; z <= chunkZ + chunkDistance; z++) {
|
||||
Chunk chunk = player.getWorld().getChunkAt(x, z);
|
||||
Object mapChunk = packetProcessor.getPacketConverter().createMapChunk(chunk);
|
||||
|
||||
aplayer.sendPacket(mapChunk);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
keepaliveProcessor.start();
|
||||
|
||||
logManager.init();
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@ public class InventoryClickMove extends Check {
|
||||
super(player);
|
||||
}
|
||||
|
||||
private int lastWindowClick = Integer.MAX_VALUE;
|
||||
private int lastWindowClick = -2;
|
||||
|
||||
// Updating the last time the player clicked in a menu for use in the below check for positional movement.
|
||||
WAction<WPacketPlayInWindowClick> windowClick = packet -> lastWindowClick = player.getPlayerTick();
|
||||
|
||||
@@ -113,8 +113,6 @@ public class PlayerRegistry {
|
||||
unregister(player.getUniqueId());
|
||||
}
|
||||
|
||||
|
||||
|
||||
synchronized (aplayerMap) {
|
||||
APlayer aplayer = new APlayer(player);
|
||||
aplayerMap.put(player.getUniqueId().hashCode(), aplayer);
|
||||
|
||||
@@ -21,6 +21,7 @@ import org.bukkit.block.BlockFace;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
@RequiredArgsConstructor
|
||||
public class BlockUpdateHandler {
|
||||
private final Long2ObjectOpenHashMap<Chunk> chunks = new Long2ObjectOpenHashMap<>(1000);
|
||||
@@ -118,25 +119,8 @@ public class BlockUpdateHandler {
|
||||
|
||||
Optional<WrappedBlock> blockOptional = chunk.getBlockAt(x, y, z);
|
||||
|
||||
WrappedBlock block;
|
||||
|
||||
if (blockOptional.isEmpty()) {
|
||||
Optional<Block> bukkitBlock = BlockUtils.getBlockAsync(
|
||||
new Location(player.getBukkitPlayer().getWorld(), x, y, z));
|
||||
|
||||
IntVector loc = new IntVector(x, y, z);
|
||||
if (bukkitBlock.isPresent()) {
|
||||
Location bloc = bukkitBlock.get().getLocation();
|
||||
block = new WrappedBlock(bloc,
|
||||
bukkitBlock.get().getType(), bukkitBlock.get().getData());
|
||||
|
||||
} else {
|
||||
block = new WrappedBlock(loc
|
||||
.toLocation(player.getBukkitPlayer().getWorld()), Material.AIR, (byte) 0);
|
||||
}
|
||||
} else block = blockOptional.get();
|
||||
|
||||
return block;
|
||||
return blockOptional.orElseGet(() -> new WrappedBlock(new IntVector(x, y, z)
|
||||
.toLocation(player.getBukkitPlayer().getWorld()), Material.AIR, (byte) 0));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -3,6 +3,7 @@ package dev.brighten.ac.packet.wrapper;
|
||||
import dev.brighten.ac.packet.wrapper.in.*;
|
||||
import dev.brighten.ac.packet.wrapper.login.WPacketHandshakingInSetProtocol;
|
||||
import dev.brighten.ac.packet.wrapper.out.*;
|
||||
import org.bukkit.Chunk;
|
||||
|
||||
public interface PacketConverter {
|
||||
WPacketPlayInFlying processFlying(Object object);
|
||||
@@ -89,7 +90,7 @@ public interface PacketConverter {
|
||||
|
||||
WPacketPlayOutMapChunk processMapChunk(Object object);
|
||||
|
||||
Object processMapChunk(WPacketPlayOutMapChunk packet);
|
||||
Object createMapChunk(Chunk chunk);
|
||||
|
||||
WPacketPlayOutMapChunkBulk processMapChunkBulk(Object packet);
|
||||
|
||||
|
||||
@@ -19,7 +19,9 @@ import lombok.SneakyThrows;
|
||||
import lombok.val;
|
||||
import me.hydro.emulator.util.mcp.MathHelper;
|
||||
import net.minecraft.server.v1_8_R3.*;
|
||||
import org.bukkit.Chunk;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.craftbukkit.v1_8_R3.CraftChunk;
|
||||
import org.bukkit.craftbukkit.v1_8_R3.inventory.CraftItemStack;
|
||||
import org.bukkit.craftbukkit.v1_8_R3.util.CraftMagicNumbers;
|
||||
import org.bukkit.entity.EntityType;
|
||||
@@ -766,9 +768,8 @@ public class Processor_18 implements PacketConverter {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object processMapChunk(WPacketPlayOutMapChunk packet) {
|
||||
PacketPlayOutMapChunk vanilla = new PacketPlayOutMapChunk();
|
||||
return null;
|
||||
public Object createMapChunk(Chunk chunk) {
|
||||
return new PacketPlayOutMapChunk(((CraftChunk)chunk).getHandle(), true, 20);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user