From 85ea6f30773f91bf15f80d7e3dcaf3bfd92a05c0 Mon Sep 17 00:00:00 2001 From: 17146 <1714673995@qq.com> Date: Mon, 14 Jul 2025 01:10:53 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=AE=9E=E4=BD=93=E4=B8=AD?= =?UTF-8?q?=E9=94=AE=E9=80=89=E5=8F=96=E7=89=A9=E5=93=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../superbwarfare/entity/DPSGeneratorEntity.java | 7 +++++++ .../com/atsuishio/superbwarfare/entity/TargetEntity.java | 6 ++++++ .../superbwarfare/entity/vehicle/DroneEntity.java | 6 ++++++ .../superbwarfare/entity/vehicle/MortarEntity.java | 6 ++++++ .../superbwarfare/entity/vehicle/base/VehicleEntity.java | 8 +++++++- 5 files changed, 32 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/atsuishio/superbwarfare/entity/DPSGeneratorEntity.java b/src/main/java/com/atsuishio/superbwarfare/entity/DPSGeneratorEntity.java index 784c3e46a..02ba5bcae 100644 --- a/src/main/java/com/atsuishio/superbwarfare/entity/DPSGeneratorEntity.java +++ b/src/main/java/com/atsuishio/superbwarfare/entity/DPSGeneratorEntity.java @@ -34,6 +34,7 @@ import net.neoforged.neoforge.capabilities.Capabilities; import net.neoforged.neoforge.energy.IEnergyStorage; import net.neoforged.neoforge.event.entity.living.LivingDeathEvent; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import software.bernie.geckolib.animatable.GeoEntity; import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache; import software.bernie.geckolib.animation.*; @@ -359,4 +360,10 @@ public class DPSGeneratorEntity extends LivingEntity implements GeoEntity { storage.setEnergy(this.getMaxEnergy()); } } + + @Override + @Nullable + public ItemStack getPickResult() { + return new ItemStack(ModItems.DPS_GENERATOR_DEPLOYER.get()); + } } diff --git a/src/main/java/com/atsuishio/superbwarfare/entity/TargetEntity.java b/src/main/java/com/atsuishio/superbwarfare/entity/TargetEntity.java index 9f01d6c53..db7747c38 100644 --- a/src/main/java/com/atsuishio/superbwarfare/entity/TargetEntity.java +++ b/src/main/java/com/atsuishio/superbwarfare/entity/TargetEntity.java @@ -30,6 +30,7 @@ import net.neoforged.bus.api.SubscribeEvent; import net.neoforged.fml.common.EventBusSubscriber; import net.neoforged.neoforge.event.entity.living.LivingDeathEvent; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import software.bernie.geckolib.animatable.GeoEntity; import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache; import software.bernie.geckolib.animation.*; @@ -240,4 +241,9 @@ public class TargetEntity extends LivingEntity implements GeoEntity { return this.cache; } + @Override + @Nullable + public ItemStack getPickResult() { + return new ItemStack(ModItems.TARGET_DEPLOYER.get()); + } } diff --git a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/DroneEntity.java b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/DroneEntity.java index c4c1716a4..1c26dbc5f 100644 --- a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/DroneEntity.java +++ b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/DroneEntity.java @@ -600,6 +600,12 @@ public class DroneEntity extends MobileVehicleEntity implements GeoEntity { return stack.getItem().toString(); } + @Override + @Nullable + public ItemStack getPickResult() { + return new ItemStack(ModItems.DRONE.get()); + } + @Override public void destroy() { Player controller = EntityFindUtil.findPlayer(this.level(), this.entityData.get(CONTROLLER)); diff --git a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/MortarEntity.java b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/MortarEntity.java index 5feee6db2..d893dbdb8 100644 --- a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/MortarEntity.java +++ b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/MortarEntity.java @@ -406,6 +406,12 @@ public class MortarEntity extends VehicleEntity implements GeoEntity, RemoteCont } } + @Override + @Nullable + public ItemStack getPickResult() { + return new ItemStack(ModItems.MORTAR_DEPLOYER.get()); + } + @Override public boolean canPlaceItem(int slot, @NotNull ItemStack stack) { return super.canPlaceItem(slot, stack) && this.entityData.get(FIRE_TIME) == 0 && stack.getItem() instanceof MortarShell; diff --git a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/base/VehicleEntity.java b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/base/VehicleEntity.java index 5ca0495d5..fd37c9e34 100644 --- a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/base/VehicleEntity.java +++ b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/base/VehicleEntity.java @@ -1556,9 +1556,15 @@ public abstract class VehicleEntity extends Entity implements Container { return false; } + @Override + @Nullable + public ItemStack getPickResult() { + return ContainerBlockItem.createInstance(this.getType()); + } + /** * 渲染载具的第一人称UI - * 务必标记 @OnlyIn(Dist.CLIENT) ! + * 务必标记 @OnlyIn(Dist.CLIENT) */ @OnlyIn(Dist.CLIENT) public void renderFirstPersonOverlay(GuiGraphics guiGraphics, Font font, Player player, int screenWidth, int screenHeight, float scale) {