package lv.enes.mc.eris_alchemy.block; import jakarta.annotation.Nonnull; import jakarta.annotation.Nullable; import lv.enes.mc.eris_alchemy.Emc; import lv.enes.mc.eris_alchemy.ErisAlchemyRegistry; import lv.enes.mc.eris_alchemy.block.entity.EnergyCondenserEntity; import net.minecraft.core.BlockPos; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.state.BlockState; import java.util.List; public class EnergyCondenserBlock extends ChestLikeBlock implements EmcStorageBlock { public static final Component CONTAINER_TITLE = Component.translatable("container.eris_alchemy.energy_condenser"); public EnergyCondenserBlock(Properties properties) { super(properties, () -> ErisAlchemyRegistry.BlockEntities.ENERGY_CONDENSER); } @Override public void appendHoverText( ItemStack stack, @Nullable BlockGetter world, List tooltip, TooltipFlag options ) { if (getStoredEmc(stack) >= 0.1) { tooltip.add(Component.literal("Stored EMC: %s".formatted(Emc.formatEmc(getStoredEmc(stack))))); } } @Override @Nonnull protected Component getContainerTitle() { return CONTAINER_TITLE; } @Override public double getStoredEmc(CompoundTag blockEntityData) { return blockEntityData.getDouble("stored_emc"); } @Nullable @Override public BlockEntity newBlockEntity(BlockPos pos, BlockState state) { return new EnergyCondenserEntity(pos, state); } }