summaryrefslogtreecommitdiff
path: root/src/main/java/lv/enes/mc/eris_alchemy/client
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/lv/enes/mc/eris_alchemy/client')
-rw-r--r--src/main/java/lv/enes/mc/eris_alchemy/client/ChestLikeScreen.java4
-rw-r--r--src/main/java/lv/enes/mc/eris_alchemy/client/EnergyCondenserScreen.java46
-rw-r--r--src/main/java/lv/enes/mc/eris_alchemy/client/ErisAlchemyClient.java10
-rw-r--r--src/main/java/lv/enes/mc/eris_alchemy/client/ErisAlchemyClientRegistry.java11
-rw-r--r--src/main/java/lv/enes/mc/eris_alchemy/client/ErisAlchemyMaterials.java5
5 files changed, 64 insertions, 12 deletions
diff --git a/src/main/java/lv/enes/mc/eris_alchemy/client/ChestLikeScreen.java b/src/main/java/lv/enes/mc/eris_alchemy/client/ChestLikeScreen.java
index c98b356..b8967b1 100644
--- a/src/main/java/lv/enes/mc/eris_alchemy/client/ChestLikeScreen.java
+++ b/src/main/java/lv/enes/mc/eris_alchemy/client/ChestLikeScreen.java
@@ -1,13 +1,13 @@
1package lv.enes.mc.eris_alchemy.client; 1package lv.enes.mc.eris_alchemy.client;
2 2
3import lv.enes.mc.eris_alchemy.menu.ChestLikeBlockMenu; 3import lv.enes.mc.eris_alchemy.menu.ChestLikeMenu;
4import net.minecraft.client.gui.GuiGraphics; 4import net.minecraft.client.gui.GuiGraphics;
5import net.minecraft.client.gui.screens.inventory.AbstractContainerScreen; 5import net.minecraft.client.gui.screens.inventory.AbstractContainerScreen;
6import net.minecraft.network.chat.Component; 6import net.minecraft.network.chat.Component;
7import net.minecraft.resources.ResourceLocation; 7import net.minecraft.resources.ResourceLocation;
8import net.minecraft.world.entity.player.Inventory; 8import net.minecraft.world.entity.player.Inventory;
9 9
10public abstract class ChestLikeScreen<M extends ChestLikeBlockMenu> extends AbstractContainerScreen<M> { 10public abstract class ChestLikeScreen<M extends ChestLikeMenu> extends AbstractContainerScreen<M> {
11 public ChestLikeScreen(M menu, Inventory inventory, Component title) { 11 public ChestLikeScreen(M menu, Inventory inventory, Component title) {
12 super(menu, inventory, title); 12 super(menu, inventory, title);
13 13
diff --git a/src/main/java/lv/enes/mc/eris_alchemy/client/EnergyCondenserScreen.java b/src/main/java/lv/enes/mc/eris_alchemy/client/EnergyCondenserScreen.java
new file mode 100644
index 0000000..b6762c8
--- /dev/null
+++ b/src/main/java/lv/enes/mc/eris_alchemy/client/EnergyCondenserScreen.java
@@ -0,0 +1,46 @@
1package lv.enes.mc.eris_alchemy.client;
2
3import lv.enes.mc.eris_alchemy.EMC;
4import lv.enes.mc.eris_alchemy.ErisAlchemy;
5import lv.enes.mc.eris_alchemy.menu.EnergyCondenserMenu;
6import net.minecraft.client.gui.GuiGraphics;
7import net.minecraft.network.chat.Component;
8import net.minecraft.resources.ResourceLocation;
9import net.minecraft.world.entity.player.Inventory;
10
11public class EnergyCondenserScreen extends ChestLikeScreen<EnergyCondenserMenu> {
12 public static final ResourceLocation TEXTURE =
13 new ResourceLocation(ErisAlchemy.ID, "textures/gui/container/energy_condenser.png");
14
15 public static final int TEXTURE_WIDTH = 248;
16 public static final int TEXTURE_HEIGHT = 237;
17
18 public EnergyCondenserScreen(EnergyCondenserMenu menu, Inventory inventory, Component title) {
19 super(menu, inventory, title);
20 }
21
22 @Override
23 protected ResourceLocation getTexture() {
24 return TEXTURE;
25 }
26
27 @Override
28 protected int getTextureWidth() {
29 return TEXTURE_WIDTH;
30 }
31
32 @Override
33 protected int getTextureHeight() {
34 return TEXTURE_HEIGHT;
35 }
36
37 @Override
38 protected void renderLabels(GuiGraphics graphics, int mouseX, int mouseY) {
39 graphics.drawString(font, EMC.formatEmc(menu.getStoredEmc()), 28, 6, 0xFFFFFF);
40 }
41
42 @Override
43 protected boolean shouldRenderLabels() {
44 return false;
45 }
46}
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
index 86cc467..a69d2e1 100644
--- a/src/main/java/lv/enes/mc/eris_alchemy/client/ErisAlchemyClient.java
+++ b/src/main/java/lv/enes/mc/eris_alchemy/client/ErisAlchemyClient.java
@@ -9,8 +9,6 @@ import org.quiltmc.loader.api.ModContainer;
9import org.quiltmc.qsl.base.api.entrypoint.client.ClientModInitializer; 9import org.quiltmc.qsl.base.api.entrypoint.client.ClientModInitializer;
10import org.quiltmc.qsl.tooltip.api.client.ItemTooltipCallback; 10import org.quiltmc.qsl.tooltip.api.client.ItemTooltipCallback;
11 11
12import java.text.DecimalFormat;
13
14@SuppressWarnings("unused") 12@SuppressWarnings("unused")
15public class ErisAlchemyClient implements ClientModInitializer { 13public class ErisAlchemyClient implements ClientModInitializer {
16 @Override 14 @Override
@@ -19,14 +17,10 @@ public class ErisAlchemyClient implements ClientModInitializer {
19 ErisAlchemyClientRegistry.ItemRenderers.consume(BuiltinItemRendererRegistry.INSTANCE::register); 17 ErisAlchemyClientRegistry.ItemRenderers.consume(BuiltinItemRendererRegistry.INSTANCE::register);
20 ErisAlchemyClientRegistry.MenuScreens.consume(MenuScreens::register); 18 ErisAlchemyClientRegistry.MenuScreens.consume(MenuScreens::register);
21 19
22 // MenuScreens.register(ErisAlchemyRegistry.Menus.ALCHEMICAL_CHEST, AlchemicalChestScreen::new);
23
24 var doubleFormat = new DecimalFormat("0");
25 doubleFormat.setMaximumFractionDigits(1);
26 ItemTooltipCallback.EVENT.register((stack, player, context, tooltip) -> { 20 ItemTooltipCallback.EVENT.register((stack, player, context, tooltip) -> {
27 var world = player == null ? null : player.level(); 21 var world = player == null ? null : player.level();
28 var emc = EMC.getInstance(world).get(stack.getItem()); 22 var emc = EMC.getInstance(world).get(stack);
29 emc.ifPresent(value -> tooltip.add(Component.literal("EMC %s".formatted(doubleFormat.format(value))))); 23 emc.ifPresent(value -> tooltip.add(Component.literal("EMC %s".formatted(EMC.formatEmc(value)))));
30 }); 24 });
31 } 25 }
32} 26}
diff --git a/src/main/java/lv/enes/mc/eris_alchemy/client/ErisAlchemyClientRegistry.java b/src/main/java/lv/enes/mc/eris_alchemy/client/ErisAlchemyClientRegistry.java
index 3680fd5..30c6690 100644
--- a/src/main/java/lv/enes/mc/eris_alchemy/client/ErisAlchemyClientRegistry.java
+++ b/src/main/java/lv/enes/mc/eris_alchemy/client/ErisAlchemyClientRegistry.java
@@ -1,6 +1,7 @@
1package lv.enes.mc.eris_alchemy.client; 1package lv.enes.mc.eris_alchemy.client;
2 2
3import lv.enes.mc.eris_alchemy.block.entity.AlchemicalChestBlockEntity; 3import lv.enes.mc.eris_alchemy.block.entity.AlchemicalChestEntity;
4import lv.enes.mc.eris_alchemy.block.entity.EnergyCondenserEntity;
4import net.fabricmc.fabric.api.client.rendering.v1.BuiltinItemRendererRegistry.DynamicItemRenderer; 5import net.fabricmc.fabric.api.client.rendering.v1.BuiltinItemRendererRegistry.DynamicItemRenderer;
5import net.minecraft.client.gui.screens.MenuScreens.ScreenConstructor; 6import net.minecraft.client.gui.screens.MenuScreens.ScreenConstructor;
6import net.minecraft.client.gui.screens.Screen; 7import net.minecraft.client.gui.screens.Screen;
@@ -54,6 +55,7 @@ public final class ErisAlchemyClientRegistry {
54 55
55 static { 56 static {
56 register(BlockEntities.ALCHEMICAL_CHEST, ChestRenderer::new); 57 register(BlockEntities.ALCHEMICAL_CHEST, ChestRenderer::new);
58 register(BlockEntities.ENERGY_CONDENSER, ChestRenderer::new);
57 } 59 }
58 } 60 }
59 61
@@ -73,7 +75,11 @@ public final class ErisAlchemyClientRegistry {
73 static { 75 static {
74 register( 76 register(
75 Items.ALCHEMICAL_CHEST, 77 Items.ALCHEMICAL_CHEST,
76 new ChestItemRenderer<>(Blocks.ALCHEMICAL_CHEST, AlchemicalChestBlockEntity::new)::renderByItem 78 new ChestItemRenderer<>(Blocks.ALCHEMICAL_CHEST, AlchemicalChestEntity::new)::renderByItem
79 );
80 register(
81 Items.ENERGY_CONDENSER,
82 new ChestItemRenderer<>(Blocks.ENERGY_CONDENSER, EnergyCondenserEntity::new)::renderByItem
77 ); 83 );
78 } 84 }
79 } 85 }
@@ -111,6 +117,7 @@ public final class ErisAlchemyClientRegistry {
111 117
112 static { 118 static {
113 register(Menus.ALCHEMICAL_CHEST, AlchemicalChestScreen::new); 119 register(Menus.ALCHEMICAL_CHEST, AlchemicalChestScreen::new);
120 register(Menus.ENERGY_CONDENSER, EnergyCondenserScreen::new);
114 } 121 }
115 } 122 }
116} 123}
diff --git a/src/main/java/lv/enes/mc/eris_alchemy/client/ErisAlchemyMaterials.java b/src/main/java/lv/enes/mc/eris_alchemy/client/ErisAlchemyMaterials.java
index 15d9209..686d83f 100644
--- a/src/main/java/lv/enes/mc/eris_alchemy/client/ErisAlchemyMaterials.java
+++ b/src/main/java/lv/enes/mc/eris_alchemy/client/ErisAlchemyMaterials.java
@@ -11,5 +11,10 @@ public final class ErisAlchemyMaterials {
11 new ResourceLocation(ErisAlchemy.ID, "entity/chest/alchemical_chest") 11 new ResourceLocation(ErisAlchemy.ID, "entity/chest/alchemical_chest")
12 ); 12 );
13 13
14 public static final Material ENERGY_CONDENSER = new Material(
15 Sheets.CHEST_SHEET,
16 new ResourceLocation(ErisAlchemy.ID, "entity/chest/energy_condenser")
17 );
18
14 private ErisAlchemyMaterials() {} 19 private ErisAlchemyMaterials() {}
15} 20}