From 4606c536a6260477870426234f748067240de3d1 Mon Sep 17 00:00:00 2001 From: Uko Kokņevičs Date: Tue, 9 Jan 2024 19:37:28 +0100 Subject: Added Alchemical Chest. --- .../mc/eris_alchemy/client/ErisAlchemyClient.java | 41 ++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 src/main/java/lv/enes/mc/eris_alchemy/client/ErisAlchemyClient.java (limited to 'src/main/java/lv/enes/mc/eris_alchemy/client/ErisAlchemyClient.java') diff --git a/src/main/java/lv/enes/mc/eris_alchemy/client/ErisAlchemyClient.java b/src/main/java/lv/enes/mc/eris_alchemy/client/ErisAlchemyClient.java new file mode 100644 index 0000000..bb5de4f --- /dev/null +++ b/src/main/java/lv/enes/mc/eris_alchemy/client/ErisAlchemyClient.java @@ -0,0 +1,41 @@ +package lv.enes.mc.eris_alchemy.client; + +import lv.enes.mc.eris_alchemy.EMC; +import lv.enes.mc.eris_alchemy.ErisAlchemyItems; +import lv.enes.mc.eris_alchemy.block.ErisAlchemyBlocks; +import lv.enes.mc.eris_alchemy.block.entity.AlchemicalChestBlockEntity; +import lv.enes.mc.eris_alchemy.block.entity.ErisAlchemyBlockEntities; +import lv.enes.mc.eris_alchemy.menu.ErisAlchemyMenus; +import net.fabricmc.fabric.api.client.rendering.v1.BuiltinItemRendererRegistry; +import net.minecraft.client.gui.screens.MenuScreens; +import net.minecraft.client.renderer.blockentity.BlockEntityRenderers; +import net.minecraft.client.renderer.blockentity.ChestRenderer; +import net.minecraft.network.chat.Component; +import org.quiltmc.loader.api.ModContainer; +import org.quiltmc.qsl.base.api.entrypoint.client.ClientModInitializer; +import org.quiltmc.qsl.tooltip.api.client.ItemTooltipCallback; + +import java.text.DecimalFormat; + +@SuppressWarnings("unused") +public class ErisAlchemyClient implements ClientModInitializer { + @Override + public void onInitializeClient(ModContainer mod) { + BlockEntityRenderers.register(ErisAlchemyBlockEntities.ALCHEMICAL_CHEST, ChestRenderer::new); + + BuiltinItemRendererRegistry.INSTANCE.register( + ErisAlchemyItems.ALCHEMICAL_CHEST, + new ChestItemRenderer<>(ErisAlchemyBlocks.ALCHEMICAL_CHEST, AlchemicalChestBlockEntity::new)::renderByItem + ); + + MenuScreens.register(ErisAlchemyMenus.ALCHEMICAL_CHEST, AlchemicalChestScreen::new); + + var doubleFormat = new DecimalFormat("0"); + doubleFormat.setMaximumFractionDigits(1); + ItemTooltipCallback.EVENT.register((stack, player, context, tooltip) -> { + var world = player == null ? null : player.level(); + var emc = EMC.getInstance(world).get(stack.getItem()); + emc.ifPresent(value -> tooltip.add(Component.literal("EMC %s".formatted(doubleFormat.format(value))))); + }); + } +} -- cgit v1.2.3