回滚哨兵耗能方法

This commit is contained in:
17146 2025-04-22 23:00:04 +08:00 committed by Light_Quanta
parent 1fd3fe9f82
commit bf1f5a8614
No known key found for this signature in database
GPG key ID: 11A39A1B8C890959

View file

@ -15,11 +15,13 @@ import net.minecraft.client.Minecraft;
import net.minecraft.client.player.LocalPlayer;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.sounds.SoundEvent;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.inventory.tooltip.TooltipComponent;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.Level;
import net.neoforged.neoforge.capabilities.Capabilities;
import org.jetbrains.annotations.NotNull;
import software.bernie.geckolib.animatable.GeoItem;
@ -125,11 +127,6 @@ public class SentinelItem extends GunItem implements GeoItem, EnergyStorageItem
data.add(idleController);
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
@Override
public double getCustomDamage(ItemStack stack) {
var data = GunData.from(stack);
@ -140,6 +137,20 @@ public class SentinelItem extends GunItem implements GeoItem, EnergyStorageItem
return 0;
}
@Override
public void inventoryTick(@NotNull ItemStack stack, @NotNull Level level, @NotNull Entity entity, int slot, boolean selected) {
super.inventoryTick(stack, level, entity, slot, selected);
var cap = stack.getCapability(Capabilities.EnergyStorage.ITEM);
if (cap != null && cap.getEnergyStored() > 0) {
cap.extractEnergy(1, false);
}
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
@Override
public Set<SoundEvent> getReloadSound() {
return Set.of(