summaryrefslogtreecommitdiff
path: root/src/main/java/lv/enes/mc/eris_alchemy/block/EnergyCondenserBlock.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/lv/enes/mc/eris_alchemy/block/EnergyCondenserBlock.java')
-rw-r--r--src/main/java/lv/enes/mc/eris_alchemy/block/EnergyCondenserBlock.java56
1 files changed, 56 insertions, 0 deletions
diff --git a/src/main/java/lv/enes/mc/eris_alchemy/block/EnergyCondenserBlock.java b/src/main/java/lv/enes/mc/eris_alchemy/block/EnergyCondenserBlock.java
new file mode 100644
index 0000000..86ac061
--- /dev/null
+++ b/src/main/java/lv/enes/mc/eris_alchemy/block/EnergyCondenserBlock.java
@@ -0,0 +1,56 @@
1package lv.enes.mc.eris_alchemy.block;
2
3import jakarta.annotation.Nonnull;
4import jakarta.annotation.Nullable;
5import lv.enes.mc.eris_alchemy.EMC;
6import lv.enes.mc.eris_alchemy.EmcStorage;
7import lv.enes.mc.eris_alchemy.ErisAlchemyRegistry;
8import lv.enes.mc.eris_alchemy.block.entity.EnergyCondenserEntity;
9import net.minecraft.core.BlockPos;
10import net.minecraft.nbt.CompoundTag;
11import net.minecraft.network.chat.Component;
12import net.minecraft.world.item.ItemStack;
13import net.minecraft.world.item.TooltipFlag;
14import net.minecraft.world.level.BlockGetter;
15import net.minecraft.world.level.block.entity.BlockEntity;
16import net.minecraft.world.level.block.state.BlockState;
17
18import java.util.List;
19
20public class EnergyCondenserBlock extends ChestLikeBlock<EnergyCondenserEntity> implements EmcStorage {
21 public static final Component CONTAINER_TITLE
22 = Component.translatable("container.eris_alchemy.energy_condenser");
23
24 public EnergyCondenserBlock(Properties properties) {
25 super(properties, () -> ErisAlchemyRegistry.BlockEntities.ENERGY_CONDENSER);
26 }
27
28 @Override
29 public void appendHoverText(
30 ItemStack stack,
31 @Nullable BlockGetter world,
32 List<Component> tooltip,
33 TooltipFlag options
34 ) {
35 if (getStoredEmc(stack) >= 0.1) {
36 tooltip.add(Component.literal("Stored EMC: %s".formatted(EMC.formatEmc(getStoredEmc(stack)))));
37 }
38 }
39
40 @Override
41 @Nonnull
42 protected Component getContainerTitle() {
43 return CONTAINER_TITLE;
44 }
45
46 @Override
47 public double getStoredEmc(ItemStack stack, CompoundTag blockEntityData) {
48 return blockEntityData.getDouble("stored_emc");
49 }
50
51 @Nullable
52 @Override
53 public BlockEntity newBlockEntity(BlockPos pos, BlockState state) {
54 return new EnergyCondenserEntity(pos, state);
55 }
56}