9
0
mirror of https://github.com/Xiao-MoMi/craft-engine.git synced 2025-12-19 15:09:15 +00:00

修复物品类型无效不报错的问题

This commit is contained in:
XiaoMoMi
2025-07-28 20:30:58 +08:00
parent 50f207e5e8
commit 29b5d48809
3 changed files with 12 additions and 22 deletions

View File

@@ -75,7 +75,7 @@ repositories {
``` ```
```kotlin ```kotlin
dependencies { dependencies {
compileOnly("net.momirealms:craft-engine-core:0.0.59") compileOnly("net.momirealms:craft-engine-core:0.0.61")
compileOnly("net.momirealms:craft-engine-bukkit:0.0.59") compileOnly("net.momirealms:craft-engine-bukkit:0.0.61")
} }
``` ```

View File

@@ -12,10 +12,7 @@ import net.momirealms.craftengine.bukkit.item.listener.DebugStickListener;
import net.momirealms.craftengine.bukkit.item.listener.ItemEventListener; import net.momirealms.craftengine.bukkit.item.listener.ItemEventListener;
import net.momirealms.craftengine.bukkit.nms.FastNMS; import net.momirealms.craftengine.bukkit.nms.FastNMS;
import net.momirealms.craftengine.bukkit.plugin.BukkitCraftEngine; import net.momirealms.craftengine.bukkit.plugin.BukkitCraftEngine;
import net.momirealms.craftengine.bukkit.plugin.reflection.minecraft.CoreReflections; import net.momirealms.craftengine.bukkit.plugin.reflection.minecraft.*;
import net.momirealms.craftengine.bukkit.plugin.reflection.minecraft.MBuiltInRegistries;
import net.momirealms.craftengine.bukkit.plugin.reflection.minecraft.MRegistries;
import net.momirealms.craftengine.bukkit.plugin.reflection.minecraft.MRegistryOps;
import net.momirealms.craftengine.bukkit.util.ItemStackUtils; import net.momirealms.craftengine.bukkit.util.ItemStackUtils;
import net.momirealms.craftengine.bukkit.util.KeyUtils; import net.momirealms.craftengine.bukkit.util.KeyUtils;
import net.momirealms.craftengine.core.entity.player.Player; import net.momirealms.craftengine.core.entity.player.Player;
@@ -380,10 +377,10 @@ public class BukkitItemManager extends AbstractItemManager<ItemStack> {
protected CustomItem.Builder<ItemStack> createPlatformItemBuilder(UniqueKey id, Key materialId, Key clientBoundMaterialId) { protected CustomItem.Builder<ItemStack> createPlatformItemBuilder(UniqueKey id, Key materialId, Key clientBoundMaterialId) {
Object item = FastNMS.INSTANCE.method$Registry$getValue(MBuiltInRegistries.ITEM, KeyUtils.toResourceLocation(materialId)); Object item = FastNMS.INSTANCE.method$Registry$getValue(MBuiltInRegistries.ITEM, KeyUtils.toResourceLocation(materialId));
Object clientBoundItem = materialId == clientBoundMaterialId ? item : FastNMS.INSTANCE.method$Registry$getValue(MBuiltInRegistries.ITEM, KeyUtils.toResourceLocation(clientBoundMaterialId)); Object clientBoundItem = materialId == clientBoundMaterialId ? item : FastNMS.INSTANCE.method$Registry$getValue(MBuiltInRegistries.ITEM, KeyUtils.toResourceLocation(clientBoundMaterialId));
if (item == null) { if (item == MItems.AIR) {
throw new LocalizedResourceConfigException("warning.config.item.invalid_material", materialId.toString()); throw new LocalizedResourceConfigException("warning.config.item.invalid_material", materialId.toString());
} }
if (clientBoundItem == null) { if (clientBoundItem == MItems.AIR) {
throw new LocalizedResourceConfigException("warning.config.item.invalid_material", clientBoundMaterialId.toString()); throw new LocalizedResourceConfigException("warning.config.item.invalid_material", clientBoundMaterialId.toString());
} }
return BukkitCustomItem.builder(item, clientBoundItem) return BukkitCustomItem.builder(item, clientBoundItem)

View File

@@ -150,24 +150,18 @@ items#flower_basket:
default:flower_basket_ground: default:flower_basket_ground:
material: nether_brick material: nether_brick
custom-model-data: 2004 custom-model-data: 2004
data:
item-name: <!i><i18n:item.flower_basket>
model: model:
type: minecraft:model type: minecraft:model
path: minecraft:item/custom/flower_basket_ground path: minecraft:item/custom/flower_basket_ground
default:flower_basket_wall: default:flower_basket_wall:
material: nether_brick material: nether_brick
custom-model-data: 2005 custom-model-data: 2005
data:
item-name: <!i><i18n:item.flower_basket>
model: model:
type: minecraft:model type: minecraft:model
path: minecraft:item/custom/flower_basket_wall path: minecraft:item/custom/flower_basket_wall
default:flower_basket_ceiling: default:flower_basket_ceiling:
material: nether_brick material: nether_brick
custom-model-data: 2006 custom-model-data: 2006
data:
item-name: <!i><i18n:item.flower_basket>
model: model:
type: minecraft:model type: minecraft:model
path: minecraft:item/custom/flower_basket_ceiling path: minecraft:item/custom/flower_basket_ceiling
@@ -186,7 +180,7 @@ furniture#flower_basket:
placement: placement:
ground: ground:
rules: rules:
rotation: FOUR rotation: ANY
alignment: ANY alignment: ANY
elements: elements:
- item: default:flower_basket_ground - item: default:flower_basket_ground
@@ -200,12 +194,11 @@ furniture#flower_basket:
can-be-hit-by-projectile: true can-be-hit-by-projectile: true
blocks-building: true blocks-building: true
position: 0,0,0 position: 0,0,0
width: 0.9 width: 0.7
height: 0.75 height: 0.5
interactive: true interactive: true
wall: wall:
rules: rules:
rotation: FOUR
alignment: ANY alignment: ANY
elements: elements:
- item: default:flower_basket_wall - item: default:flower_basket_wall
@@ -232,7 +225,7 @@ furniture#flower_basket:
interactive: true interactive: true
ceiling: ceiling:
rules: rules:
rotation: FOUR rotation: ANY
alignment: ANY alignment: ANY
elements: elements:
- item: default:flower_basket_ceiling - item: default:flower_basket_ceiling
@@ -245,7 +238,7 @@ furniture#flower_basket:
can-use-item-on: true can-use-item-on: true
can-be-hit-by-projectile: true can-be-hit-by-projectile: true
blocks-building: true blocks-building: true
position: 0,-0.9,0 position: 0,-0.7,0
width: 0.85 width: 0.7
height: 0.9 height: 0.7
interactive: true interactive: true