From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Sun, 23 Jun 2024 11:26:20 +0800 Subject: [PATCH] Use caffeine cache kickPermission instead of using google.common.cache diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java index 39b01b3d96d03bca4c33eaddfc54edef23c3df0c..14c75c85c062fb9d2b576bb1cd24f942642fbf8c 100644 --- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -328,17 +328,12 @@ public class ServerGamePacketListenerImpl } // Purpur start - AFK API - private final com.google.common.cache.LoadingCache kickPermissionCache = com.google.common.cache.CacheBuilder.newBuilder() + // Leaf start - Use caffeine cache kickPermission instead of using google.common.cache + private final com.github.benmanes.caffeine.cache.LoadingCache kickPermissionCache = com.github.benmanes.caffeine.cache.Caffeine.newBuilder() .maximumSize(1000) .expireAfterWrite(1, java.util.concurrent.TimeUnit.MINUTES) - .build( - new com.google.common.cache.CacheLoader<>() { - @Override - public Boolean load(org.bukkit.craftbukkit.entity.CraftPlayer player) { - return player.hasPermission("purpur.bypassIdleKick"); - } - } - ); + .build(player -> player.hasPermission("purpur.bypassIdleKick")); + // Leaf - Use caffeine cache kickPermission instead of using google.common.cache // Purpur end - AFK API public final org.leavesmc.leaves.protocol.syncmatica.exchange.ExchangeTarget exchangeTarget; // Leaves - Syncmatica Protocol @@ -403,7 +398,7 @@ public class ServerGamePacketListenerImpl && Util.getMillis() - this.player.getLastActionTime() > this.server.getPlayerIdleTimeout() * 1000L * 60L && !this.player.wonGame) { // Paper - Prevent AFK kick while watching end credits // Purpur start - AFK API this.player.setAfk(true); - if (!this.player.level().purpurConfig.idleTimeoutKick || (!Boolean.parseBoolean(System.getenv("PURPUR_FORCE_IDLE_KICK")) && kickPermissionCache.getUnchecked(this.player.getBukkitEntity()))) { + if (!this.player.level().purpurConfig.idleTimeoutKick || (!Boolean.parseBoolean(System.getenv("PURPUR_FORCE_IDLE_KICK")) && kickPermissionCache.get(this.player.getBukkitEntity()))) { // Leaf - Use caffeine cache kickPermission instead of using google.common.cache return; } // Purpur end - AFK API