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/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java index bbe9ff565f40663bd6a44baa46e9d558d54c7953..6469cd96f0ecb98f4e15e9865837d8c6a07128ad 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -339,17 +339,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl // CraftBukkit end // Purpur start - 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(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 public final org.leavesmc.leaves.protocol.syncmatica.exchange.ExchangeTarget exchangeTarget; // Leaves - Syncmatica Protocol @@ -423,7 +418,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl if (this.player.getLastActionTime() > 0L && this.server.getPlayerIdleTimeout() > 0 && Util.getMillis() - this.player.getLastActionTime() > (long) this.server.getPlayerIdleTimeout() * 1000L * 60L && !this.player.wonGame) { // Paper - Prevent AFK kick while watching end credits // Purpur start 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