From 514c6ed288395ceccd7b9ba6e7c992ba8e322da9 Mon Sep 17 00:00:00 2001 From: Atsuishio <842960157@qq.com> Date: Sun, 13 Jul 2025 22:34:29 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=BB=E9=99=A4TAG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../datagen/ModItemTagProvider.java | 2 -- .../entity/vehicle/Type63Entity.java | 23 +++++++++++++------ .../atsuishio/superbwarfare/init/ModTags.java | 1 - 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/atsuishio/superbwarfare/datagen/ModItemTagProvider.java b/src/main/java/com/atsuishio/superbwarfare/datagen/ModItemTagProvider.java index 818bfdcfe..609f5f558 100644 --- a/src/main/java/com/atsuishio/superbwarfare/datagen/ModItemTagProvider.java +++ b/src/main/java/com/atsuishio/superbwarfare/datagen/ModItemTagProvider.java @@ -77,8 +77,6 @@ public class ModItemTagProvider extends ItemTagsProvider { this.tag(cTag("tools/crowbar")).add(ModItems.CROWBAR.get()); - this.tag(ModTags.Items.MEDIUM_ROCKET).add(ModItems.MEDIUM_ROCKET_AP.get(), ModItems.MEDIUM_ROCKET_HE.get(), ModItems.MEDIUM_ROCKET_CM.get()); - // TODO 清理枪械Tag ModItems.GUNS.getEntries().forEach(registryObject -> this.tag(ModTags.Items.GUN).add(registryObject.get())); diff --git a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Type63Entity.java b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Type63Entity.java index b9c4fa129..40f68c5d8 100644 --- a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Type63Entity.java +++ b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Type63Entity.java @@ -189,14 +189,23 @@ public class Type63Entity extends ContainerMobileVehicleEntity implements GeoEnt } setChanged(); - if (player.isShiftKeyDown() && stack.is(ModTags.Items.CROWBAR) && this.getPassengers().isEmpty()) { - ItemStack container = ContainerBlockItem.createInstance(this); - if (!player.addItem(container)) { - player.drop(container, false); + if (stack.is(ModTags.Items.CROWBAR)) { + if (player.isShiftKeyDown() && this.getPassengers().isEmpty()) { + ItemStack container = ContainerBlockItem.createInstance(this); + if (!player.addItem(container)) { + player.drop(container, false); + } + this.remove(RemovalReason.DISCARDED); + this.discard(); + return InteractionResult.SUCCESS; + } + + for (int i = 0; i < 12; i++) { + if (!items.get(i).isEmpty()) { + items.remove(i); + break; + } } - this.remove(RemovalReason.DISCARDED); - this.discard(); - return InteractionResult.SUCCESS; } return InteractionResult.FAIL; diff --git a/src/main/java/com/atsuishio/superbwarfare/init/ModTags.java b/src/main/java/com/atsuishio/superbwarfare/init/ModTags.java index 45452d054..f58954c50 100644 --- a/src/main/java/com/atsuishio/superbwarfare/init/ModTags.java +++ b/src/main/java/com/atsuishio/superbwarfare/init/ModTags.java @@ -42,7 +42,6 @@ public class ModTags { public static final TagKey EPIC_BLUEPRINT = tag("blueprint/epic"); public static final TagKey LEGENDARY_BLUEPRINT = tag("blueprint/legendary"); public static final TagKey CANNON_BLUEPRINT = tag("blueprint/cannon"); - public static final TagKey MEDIUM_ROCKET = tag("medium_rocket"); public static final TagKey WRENCHES = ItemTags.create(ResourceLocation.fromNamespaceAndPath("c", "wrenches")); public static final TagKey WRENCH = ItemTags.create(ResourceLocation.fromNamespaceAndPath("c", "tools/wrench"));