From 8aca3448d1488ab94b36ab7982857a58215b6b21 Mon Sep 17 00:00:00 2001 From: XiaoMoMi Date: Sun, 17 Aug 2025 18:41:50 +0800 Subject: [PATCH] =?UTF-8?q?=E7=95=A5=E5=BE=AE=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bukkit/plugin/command/feature/TestCommand.java | 1 - .../plugin/network/handler/PrimedTNTPacketHandler.java | 1 - .../core/item/modifier/CustomNameModifier.java | 1 - .../craftengine/core/item/modifier/ItemNameModifier.java | 1 - .../java/net/momirealms/craftengine/core/util/Key.java | 5 ++++- .../net/momirealms/craftengine/core/world/ChunkPos.java | 8 ++++---- .../core/world/chunk/storage/CachedStorage.java | 3 ++- 7 files changed, 10 insertions(+), 10 deletions(-) diff --git a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/command/feature/TestCommand.java b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/command/feature/TestCommand.java index 68d4037be..4c404b53f 100644 --- a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/command/feature/TestCommand.java +++ b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/command/feature/TestCommand.java @@ -6,7 +6,6 @@ import net.momirealms.craftengine.core.block.ImmutableBlockState; import net.momirealms.craftengine.core.block.parser.BlockStateParser; import net.momirealms.craftengine.core.plugin.CraftEngine; import net.momirealms.craftengine.core.plugin.command.CraftEngineCommandManager; -import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.command.CommandSender; import org.bukkit.entity.Minecart; diff --git a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/network/handler/PrimedTNTPacketHandler.java b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/network/handler/PrimedTNTPacketHandler.java index 8e377fb95..f352c9620 100644 --- a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/network/handler/PrimedTNTPacketHandler.java +++ b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/network/handler/PrimedTNTPacketHandler.java @@ -2,7 +2,6 @@ package net.momirealms.craftengine.bukkit.plugin.network.handler; import net.kyori.adventure.text.Component; import net.momirealms.craftengine.bukkit.entity.data.BaseEntityData; -import net.momirealms.craftengine.bukkit.entity.data.BlockDisplayEntityData; import net.momirealms.craftengine.bukkit.entity.data.PrimedTntData; import net.momirealms.craftengine.bukkit.nms.FastNMS; import net.momirealms.craftengine.bukkit.plugin.network.PacketConsumers; diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/modifier/CustomNameModifier.java b/core/src/main/java/net/momirealms/craftengine/core/item/modifier/CustomNameModifier.java index 4d4aaa318..26c2ddbd3 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/modifier/CustomNameModifier.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/modifier/CustomNameModifier.java @@ -6,7 +6,6 @@ import net.momirealms.craftengine.core.item.ItemBuildContext; import net.momirealms.craftengine.core.item.ItemDataModifierFactory; import net.momirealms.craftengine.core.plugin.config.Config; import net.momirealms.craftengine.core.plugin.text.minimessage.FormattedLine; -import net.momirealms.craftengine.core.util.AdventureHelper; import net.momirealms.craftengine.core.util.Key; import org.jetbrains.annotations.Nullable; diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/modifier/ItemNameModifier.java b/core/src/main/java/net/momirealms/craftengine/core/item/modifier/ItemNameModifier.java index fefb4696d..cc36ef68d 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/modifier/ItemNameModifier.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/modifier/ItemNameModifier.java @@ -5,7 +5,6 @@ import net.momirealms.craftengine.core.item.Item; import net.momirealms.craftengine.core.item.ItemBuildContext; import net.momirealms.craftengine.core.item.ItemDataModifierFactory; import net.momirealms.craftengine.core.plugin.text.minimessage.FormattedLine; -import net.momirealms.craftengine.core.util.AdventureHelper; import net.momirealms.craftengine.core.util.Key; import org.jetbrains.annotations.Nullable; diff --git a/core/src/main/java/net/momirealms/craftengine/core/util/Key.java b/core/src/main/java/net/momirealms/craftengine/core/util/Key.java index 6ec44fbc6..16594275a 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/util/Key.java +++ b/core/src/main/java/net/momirealms/craftengine/core/util/Key.java @@ -49,6 +49,9 @@ public record Key(String namespace, String value) { if (obj == null) { return false; } + if (obj == this) { + return true; + } if (!(obj instanceof Key key)) return false; // 先比value命中率高 return this.value.equals(key.value()) && this.namespace.equals(key.namespace()); @@ -56,7 +59,7 @@ public record Key(String namespace, String value) { @Override public @NotNull String toString() { - return this.namespace + ":" + this.value; + return asString(); } public String asString() { diff --git a/core/src/main/java/net/momirealms/craftengine/core/world/ChunkPos.java b/core/src/main/java/net/momirealms/craftengine/core/world/ChunkPos.java index 115dd689a..a053afd79 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/world/ChunkPos.java +++ b/core/src/main/java/net/momirealms/craftengine/core/world/ChunkPos.java @@ -71,14 +71,14 @@ public class ChunkPos { @Override public final boolean equals(Object o) { + if (o == null) return false; + if (o == this) return true; if (!(o instanceof ChunkPos chunkPos)) return false; - return x == chunkPos.x && z == chunkPos.z; + return this.longKey == chunkPos.longKey; } @Override public int hashCode() { - int result = x; - result = 31 * result + z; - return result; + return Long.hashCode(this.longKey); } } diff --git a/core/src/main/java/net/momirealms/craftengine/core/world/chunk/storage/CachedStorage.java b/core/src/main/java/net/momirealms/craftengine/core/world/chunk/storage/CachedStorage.java index 9cc9d5d5e..23fd7cd94 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/world/chunk/storage/CachedStorage.java +++ b/core/src/main/java/net/momirealms/craftengine/core/world/chunk/storage/CachedStorage.java @@ -21,7 +21,8 @@ public class CachedStorage implements WorldDataStora this.chunkCache = Caffeine.newBuilder() .executor(CraftEngine.instance().scheduler().async()) .scheduler(Scheduler.systemScheduler()) - .expireAfterAccess(30, TimeUnit.SECONDS) + .initialCapacity(2048) + .expireAfterAccess(60, TimeUnit.SECONDS) .build(); }