From b1d91cb0f04759fba60dc97f61917bc7ae42f166 Mon Sep 17 00:00:00 2001 From: jhqwqmc Date: Sat, 6 Dec 2025 19:34:35 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../compatibility/item/MMOItemsSource.java | 4 ++- .../ItemDisplayBlockEntityElementConfig.java | 8 ++++- .../TextDisplayBlockEntityElementConfig.java | 8 ++++- .../element/ItemDisplayFurnitureElement.java | 2 +- .../ItemDisplayFurnitureElementConfig.java | 34 +++++++++---------- .../plugin/injector/BlockStateGenerator.java | 2 +- .../pack/host/impl/SelfHostHttpServer.java | 8 ++--- .../core/util/MarkedArrayList.java | 3 -- .../craftengine/core/util/MarkedHashMap.java | 3 -- 9 files changed, 38 insertions(+), 34 deletions(-) diff --git a/bukkit/compatibility/src/main/java/net/momirealms/craftengine/bukkit/compatibility/item/MMOItemsSource.java b/bukkit/compatibility/src/main/java/net/momirealms/craftengine/bukkit/compatibility/item/MMOItemsSource.java index 02ec55ab3..9cfc2ce73 100644 --- a/bukkit/compatibility/src/main/java/net/momirealms/craftengine/bukkit/compatibility/item/MMOItemsSource.java +++ b/bukkit/compatibility/src/main/java/net/momirealms/craftengine/bukkit/compatibility/item/MMOItemsSource.java @@ -27,7 +27,9 @@ public class MMOItemsSource implements ExternalItemSource { split = split[0].split("_", 2); } if (split.length == 1) return new ItemStack(Material.AIR); - MMOItem mmoItem = MMOItems.plugin.getMMOItem(Type.get(split[0]), split[1].toUpperCase(Locale.ROOT)); + // 这里与使用和mmoitems相同的转换id方法 + String mmoItemId = split[1].toUpperCase().replace("-", "_").replace(" ", "_"); + MMOItem mmoItem = MMOItems.plugin.getMMOItem(Type.get(split[0]), mmoItemId); return mmoItem == null ? new ItemStack(Material.AIR) : requireNonNull(mmoItem.newBuilder().build()); } diff --git a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/block/entity/renderer/element/ItemDisplayBlockEntityElementConfig.java b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/block/entity/renderer/element/ItemDisplayBlockEntityElementConfig.java index 426d71406..296b59051 100644 --- a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/block/entity/renderer/element/ItemDisplayBlockEntityElementConfig.java +++ b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/block/entity/renderer/element/ItemDisplayBlockEntityElementConfig.java @@ -182,7 +182,13 @@ public class ItemDisplayBlockEntityElementConfig implements BlockEntityElementCo @Override public int hashCode() { - return Objects.hashCode(xRot, yRot, position, translation, rotation); + int result = 17; + result = 31 * result + Double.hashCode(xRot); + result = 31 * result + Double.hashCode(yRot); + result = 31 * result + (position != null ? position.hashCode() : 0); + result = 31 * result + (translation != null ? translation.hashCode() : 0); + result = 31 * result + (rotation != null ? rotation.hashCode() : 0); + return result; } public static class Factory implements BlockEntityElementConfigFactory { diff --git a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/block/entity/renderer/element/TextDisplayBlockEntityElementConfig.java b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/block/entity/renderer/element/TextDisplayBlockEntityElementConfig.java index 9f3075164..3709a8d71 100644 --- a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/block/entity/renderer/element/TextDisplayBlockEntityElementConfig.java +++ b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/block/entity/renderer/element/TextDisplayBlockEntityElementConfig.java @@ -156,7 +156,13 @@ public class TextDisplayBlockEntityElementConfig implements BlockEntityElementCo @Override public int hashCode() { - return Objects.hashCode(xRot, yRot, position, translation, rotation); + int result = 17; + result = 31 * result + Double.hashCode(xRot); + result = 31 * result + Double.hashCode(yRot); + result = 31 * result + (position != null ? position.hashCode() : 0); + result = 31 * result + (translation != null ? translation.hashCode() : 0); + result = 31 * result + (rotation != null ? rotation.hashCode() : 0); + return result; } public static class Factory implements BlockEntityElementConfigFactory { diff --git a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/entity/furniture/element/ItemDisplayFurnitureElement.java b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/entity/furniture/element/ItemDisplayFurnitureElement.java index dd30f8c02..b63daf007 100644 --- a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/entity/furniture/element/ItemDisplayFurnitureElement.java +++ b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/entity/furniture/element/ItemDisplayFurnitureElement.java @@ -43,7 +43,7 @@ public class ItemDisplayFurnitureElement implements FurnitureElement { this.position.x, this.position.y, this.position.z, 0, this.position.yRot, MEntityTypes.ITEM_DISPLAY, 0, CoreReflections.instance$Vec3$Zero, 0 ), - FastNMS.INSTANCE.constructor$ClientboundSetEntityDataPacket(this.entityId, this.config.metadata().apply(player, this.colorSource)) + FastNMS.INSTANCE.constructor$ClientboundSetEntityDataPacket(this.entityId, this.config.metadata.apply(player, this.colorSource)) )), false); } diff --git a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/entity/furniture/element/ItemDisplayFurnitureElementConfig.java b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/entity/furniture/element/ItemDisplayFurnitureElementConfig.java index 51addbc7b..7b94bcd76 100644 --- a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/entity/furniture/element/ItemDisplayFurnitureElementConfig.java +++ b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/entity/furniture/element/ItemDisplayFurnitureElementConfig.java @@ -31,23 +31,23 @@ import java.util.function.BiFunction; public class ItemDisplayFurnitureElementConfig implements FurnitureElementConfig { public static final Factory FACTORY = new Factory(); - private final BiFunction> metadata; - private final Key itemId; - private final Vector3f scale; - private final Vector3f position; - private final Vector3f translation; - private final float xRot; - private final float yRot; - private final Quaternionf rotation; - private final ItemDisplayContext displayContext; - private final Billboard billboard; - private final float shadowRadius; - private final float shadowStrength; - private final boolean applyDyedColor; - private final Color glowColor; - private final int blockLight; - private final int skyLight; - private final float viewRange; + public final BiFunction> metadata; + public final Key itemId; + public final Vector3f scale; + public final Vector3f position; + public final Vector3f translation; + public final float xRot; + public final float yRot; + public final Quaternionf rotation; + public final ItemDisplayContext displayContext; + public final Billboard billboard; + public final float shadowRadius; + public final float shadowStrength; + public final boolean applyDyedColor; + public final Color glowColor; + public final int blockLight; + public final int skyLight; + public final float viewRange; public ItemDisplayFurnitureElementConfig(Key itemId, Vector3f scale, diff --git a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/injector/BlockStateGenerator.java b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/injector/BlockStateGenerator.java index bad247fea..2c2e4d036 100644 --- a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/injector/BlockStateGenerator.java +++ b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/injector/BlockStateGenerator.java @@ -181,7 +181,7 @@ public final class BlockStateGenerator { if (state == null) return thisObj; Property waterloggedProperty = (Property) state.owner().value().getProperty("waterlogged"); if (waterloggedProperty == null) return thisObj; - return state.with(waterloggedProperty, (Boolean) args[1]).customBlockState().literalObject(); + return state.with(waterloggedProperty, (boolean) args[1]).customBlockState().literalObject(); } } diff --git a/core/src/main/java/net/momirealms/craftengine/core/pack/host/impl/SelfHostHttpServer.java b/core/src/main/java/net/momirealms/craftengine/core/pack/host/impl/SelfHostHttpServer.java index 925a9dcdf..74aa8fc9b 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/pack/host/impl/SelfHostHttpServer.java +++ b/core/src/main/java/net/momirealms/craftengine/core/pack/host/impl/SelfHostHttpServer.java @@ -43,7 +43,7 @@ import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicLong; public final class SelfHostHttpServer { - private static volatile SelfHostHttpServer instance; + private static SelfHostHttpServer instance; private final Cache oneTimePackUrls = Caffeine.newBuilder() .maximumSize(1024) .scheduler(Scheduler.systemScheduler()) @@ -94,11 +94,7 @@ public final class SelfHostHttpServer { public static SelfHostHttpServer instance() { if (instance == null) { - synchronized (SelfHostHttpServer.class) { - if (instance == null) { - instance = new SelfHostHttpServer(); - } - } + instance = new SelfHostHttpServer(); } return instance; } diff --git a/core/src/main/java/net/momirealms/craftengine/core/util/MarkedArrayList.java b/core/src/main/java/net/momirealms/craftengine/core/util/MarkedArrayList.java index fa1a87226..1d1e57d24 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/util/MarkedArrayList.java +++ b/core/src/main/java/net/momirealms/craftengine/core/util/MarkedArrayList.java @@ -2,13 +2,10 @@ package net.momirealms.craftengine.core.util; import org.jetbrains.annotations.NotNull; -import java.io.Serial; import java.util.ArrayList; import java.util.Collection; public class MarkedArrayList extends ArrayList { - @Serial - private static final long serialVersionUID = 1L; public MarkedArrayList() { } diff --git a/core/src/main/java/net/momirealms/craftengine/core/util/MarkedHashMap.java b/core/src/main/java/net/momirealms/craftengine/core/util/MarkedHashMap.java index 29128754e..5acda9dda 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/util/MarkedHashMap.java +++ b/core/src/main/java/net/momirealms/craftengine/core/util/MarkedHashMap.java @@ -1,9 +1,6 @@ package net.momirealms.craftengine.core.util; -import java.io.Serial; import java.util.HashMap; public class MarkedHashMap extends HashMap { - @Serial - private static final long serialVersionUID = 1L; }