From 5a35b55d7addb7dda08693a371cdf1d84a82565d Mon Sep 17 00:00:00 2001 From: P0nk Date: Thu, 16 Mar 2023 18:03:43 +0100 Subject: [PATCH] Cache continent drops --- src/main/java/database/drop/DropProvider.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/database/drop/DropProvider.java b/src/main/java/database/drop/DropProvider.java index adb3e08c54..0860548ea4 100644 --- a/src/main/java/database/drop/DropProvider.java +++ b/src/main/java/database/drop/DropProvider.java @@ -12,6 +12,7 @@ import java.util.Optional; public class DropProvider { private final DropDao dropDao; private final Cache> monsterDropCache = Caffeine.newBuilder().build(); + private final Cache> globalContinentDropCache = Caffeine.newBuilder().build(); private volatile List globalMonsterDrops = null; public DropProvider(DropDao dropDao) { @@ -40,6 +41,10 @@ public class DropProvider { public List getRelevantGlobalDrops(int mapId) { int continentId = mapId / 100_000_000; + return globalContinentDropCache.get(continentId, this::getContinentDrops); + } + + private List getContinentDrops(int continentId) { return getGlobalDropEntries().stream() .filter(drop -> drop.continentid < 0 || drop.continentid == continentId) .toList();