From 1544196810348614c375d0d740fb752ba7649dec Mon Sep 17 00:00:00 2001 From: Light_Quanta Date: Tue, 11 Mar 2025 19:29:56 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=94=B5=E6=B1=A0=E7=89=A9?= =?UTF-8?q?=E5=93=81=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../superbwarfare/item/BatteryItem.java | 25 +++++++------------ 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/src/main/java/com/atsuishio/superbwarfare/item/BatteryItem.java b/src/main/java/com/atsuishio/superbwarfare/item/BatteryItem.java index 15b8feec7..7a8ea19e4 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/BatteryItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/BatteryItem.java @@ -8,10 +8,10 @@ import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraftforge.common.capabilities.ForgeCapabilities; import net.minecraftforge.common.capabilities.ICapabilityProvider; +import net.minecraftforge.energy.IEnergyStorage; import org.jetbrains.annotations.NotNull; import java.util.Optional; -import java.util.concurrent.atomic.AtomicInteger; import java.util.function.Supplier; public class BatteryItem extends Item { @@ -27,25 +27,18 @@ public class BatteryItem extends Item { @Override public boolean isBarVisible(ItemStack pStack) { - if (!pStack.getCapability(ForgeCapabilities.ENERGY).isPresent()) { - return false; - } - - AtomicInteger energy = new AtomicInteger(0); - pStack.getCapability(ForgeCapabilities.ENERGY).ifPresent( - e -> energy.set(e.getEnergyStored()) - ); - return energy.get() != maxEnergy; + return pStack.getCapability(ForgeCapabilities.ENERGY) + .map(IEnergyStorage::getEnergyStored) + .orElse(0) != maxEnergy; } @Override public int getBarWidth(ItemStack pStack) { - AtomicInteger energy = new AtomicInteger(0); - pStack.getCapability(ForgeCapabilities.ENERGY).ifPresent( - e -> energy.set(e.getEnergyStored()) - ); + var energy = pStack.getCapability(ForgeCapabilities.ENERGY) + .map(IEnergyStorage::getEnergyStored) + .orElse(0); - return Math.round((float) energy.get() * 13.0F / maxEnergy); + return Math.round((float) energy * 13.0F / maxEnergy); } @Override @@ -54,7 +47,7 @@ public class BatteryItem extends Item { } @Override - public int getBarColor(ItemStack pStack) { + public int getBarColor(@NotNull ItemStack pStack) { return 0xFFFF00; }