diff options
| author | 2024-01-09 19:37:28 +0100 | |
|---|---|---|
| committer | 2024-01-09 19:37:28 +0100 | |
| commit | 4606c536a6260477870426234f748067240de3d1 (patch) | |
| tree | 52ecd35ab0a51dd84bbebb675f5433a85166b132 /src/main/java/lv/enes/mc/eris_alchemy/client/ErisAlchemyClient.java | |
| parent | Replace ItemMixin.java with proper ItemTooltipCallback usage. (diff) | |
| download | mc-eris-alchemy-4606c536a6260477870426234f748067240de3d1.tar.gz mc-eris-alchemy-4606c536a6260477870426234f748067240de3d1.tar.xz mc-eris-alchemy-4606c536a6260477870426234f748067240de3d1.zip | |
Added Alchemical Chest.
Diffstat (limited to 'src/main/java/lv/enes/mc/eris_alchemy/client/ErisAlchemyClient.java')
| -rw-r--r-- | src/main/java/lv/enes/mc/eris_alchemy/client/ErisAlchemyClient.java | 41 |
1 files changed, 41 insertions, 0 deletions
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 @@ | |||
| 1 | package lv.enes.mc.eris_alchemy.client; | ||
| 2 | |||
| 3 | import lv.enes.mc.eris_alchemy.EMC; | ||
| 4 | import lv.enes.mc.eris_alchemy.ErisAlchemyItems; | ||
| 5 | import lv.enes.mc.eris_alchemy.block.ErisAlchemyBlocks; | ||
| 6 | import lv.enes.mc.eris_alchemy.block.entity.AlchemicalChestBlockEntity; | ||
| 7 | import lv.enes.mc.eris_alchemy.block.entity.ErisAlchemyBlockEntities; | ||
| 8 | import lv.enes.mc.eris_alchemy.menu.ErisAlchemyMenus; | ||
| 9 | import net.fabricmc.fabric.api.client.rendering.v1.BuiltinItemRendererRegistry; | ||
| 10 | import net.minecraft.client.gui.screens.MenuScreens; | ||
| 11 | import net.minecraft.client.renderer.blockentity.BlockEntityRenderers; | ||
| 12 | import net.minecraft.client.renderer.blockentity.ChestRenderer; | ||
| 13 | import net.minecraft.network.chat.Component; | ||
| 14 | import org.quiltmc.loader.api.ModContainer; | ||
| 15 | import org.quiltmc.qsl.base.api.entrypoint.client.ClientModInitializer; | ||
| 16 | import org.quiltmc.qsl.tooltip.api.client.ItemTooltipCallback; | ||
| 17 | |||
| 18 | import java.text.DecimalFormat; | ||
| 19 | |||
| 20 | @SuppressWarnings("unused") | ||
| 21 | public class ErisAlchemyClient implements ClientModInitializer { | ||
| 22 | @Override | ||
| 23 | public void onInitializeClient(ModContainer mod) { | ||
| 24 | BlockEntityRenderers.register(ErisAlchemyBlockEntities.ALCHEMICAL_CHEST, ChestRenderer::new); | ||
| 25 | |||
| 26 | BuiltinItemRendererRegistry.INSTANCE.register( | ||
| 27 | ErisAlchemyItems.ALCHEMICAL_CHEST, | ||
| 28 | new ChestItemRenderer<>(ErisAlchemyBlocks.ALCHEMICAL_CHEST, AlchemicalChestBlockEntity::new)::renderByItem | ||
| 29 | ); | ||
| 30 | |||
| 31 | MenuScreens.register(ErisAlchemyMenus.ALCHEMICAL_CHEST, AlchemicalChestScreen::new); | ||
| 32 | |||
| 33 | var doubleFormat = new DecimalFormat("0"); | ||
| 34 | doubleFormat.setMaximumFractionDigits(1); | ||
| 35 | ItemTooltipCallback.EVENT.register((stack, player, context, tooltip) -> { | ||
| 36 | var world = player == null ? null : player.level(); | ||
| 37 | var emc = EMC.getInstance(world).get(stack.getItem()); | ||
| 38 | emc.ifPresent(value -> tooltip.add(Component.literal("EMC %s".formatted(doubleFormat.format(value))))); | ||
| 39 | }); | ||
| 40 | } | ||
| 41 | } | ||