From 75d983fea3cd2a8bb1cfb96dd6f74584bcb1cff3 Mon Sep 17 00:00:00 2001 From: Vrganj <43708436+Vrganj@users.noreply.github.com> Date: Sun, 5 May 2024 15:56:58 +0200 Subject: [PATCH] Faster Bukkit world lookup using an IdentityHashMap and computeIfAbsent --- .../com/plotsquared/bukkit/util/BukkitWorld.java | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/Bukkit/src/main/java/com/plotsquared/bukkit/util/BukkitWorld.java b/Bukkit/src/main/java/com/plotsquared/bukkit/util/BukkitWorld.java index 33c23891b1..6e6598290e 100644 --- a/Bukkit/src/main/java/com/plotsquared/bukkit/util/BukkitWorld.java +++ b/Bukkit/src/main/java/com/plotsquared/bukkit/util/BukkitWorld.java @@ -18,16 +18,16 @@ */ package com.plotsquared.bukkit.util; -import com.google.common.collect.Maps; import com.plotsquared.core.location.World; import org.bukkit.Bukkit; import org.checkerframework.checker.nullness.qual.NonNull; +import java.util.IdentityHashMap; import java.util.Map; public class BukkitWorld implements World { - private static final Map worldMap = Maps.newHashMap(); + private static final Map worldMap = new IdentityHashMap<>(); private static final boolean HAS_MIN_Y; static { @@ -68,13 +68,7 @@ private BukkitWorld(final org.bukkit.World world) { * @return World instance */ public static @NonNull BukkitWorld of(final org.bukkit.World world) { - BukkitWorld bukkitWorld = worldMap.get(world.getName()); - if (bukkitWorld != null && bukkitWorld.getPlatformWorld().equals(world)) { - return bukkitWorld; - } - bukkitWorld = new BukkitWorld(world); - worldMap.put(world.getName(), bukkitWorld); - return bukkitWorld; + return worldMap.computeIfAbsent(world, BukkitWorld::new); } /**