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) {