summaryrefslogtreecommitdiff
path: root/src/main/java/lv/enes/mc/eris_alchemy/block/EnergyCondenserBlock.java
blob: 19eb68168c41d2b85eb8b19ea34ad18fa7817eb2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
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<EnergyCondenserEntity> 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<Component> 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);
	}
}