summaryrefslogtreecommitdiff
path: root/src/main/java/lv/enes/mc/eris_alchemy/ErisAlchemy.java
diff options
context:
space:
mode:
authorGravatar Uko Kokņevičs2024-01-09 19:37:28 +0100
committerGravatar Uko Kokņevičs2024-01-09 19:37:28 +0100
commit4606c536a6260477870426234f748067240de3d1 (patch)
tree52ecd35ab0a51dd84bbebb675f5433a85166b132 /src/main/java/lv/enes/mc/eris_alchemy/ErisAlchemy.java
parentReplace ItemMixin.java with proper ItemTooltipCallback usage. (diff)
downloadmc-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/ErisAlchemy.java')
-rw-r--r--src/main/java/lv/enes/mc/eris_alchemy/ErisAlchemy.java41
1 files changed, 11 insertions, 30 deletions
diff --git a/src/main/java/lv/enes/mc/eris_alchemy/ErisAlchemy.java b/src/main/java/lv/enes/mc/eris_alchemy/ErisAlchemy.java
index fe7e40d..83cef8c 100644
--- a/src/main/java/lv/enes/mc/eris_alchemy/ErisAlchemy.java
+++ b/src/main/java/lv/enes/mc/eris_alchemy/ErisAlchemy.java
@@ -1,39 +1,29 @@
1package lv.enes.mc.eris_alchemy; 1package lv.enes.mc.eris_alchemy;
2 2
3import lv.enes.mc.eris_alchemy.block.ErisAlchemyBlocks;
4import lv.enes.mc.eris_alchemy.block.entity.ErisAlchemyBlockEntities;
5import lv.enes.mc.eris_alchemy.menu.ErisAlchemyMenus;
6import lv.enes.mc.eris_alchemy.recipe.ErisAlchemyRecipeSerializers;
3import net.fabricmc.fabric.api.itemgroup.v1.FabricItemGroup; 7import net.fabricmc.fabric.api.itemgroup.v1.FabricItemGroup;
4import net.minecraft.core.Registry; 8import net.minecraft.core.Registry;
5import net.minecraft.core.registries.BuiltInRegistries; 9import net.minecraft.core.registries.BuiltInRegistries;
6import net.minecraft.network.chat.Component; 10import net.minecraft.network.chat.Component;
7import net.minecraft.resources.ResourceLocation; 11import net.minecraft.resources.ResourceLocation;
8import net.minecraft.world.item.CreativeModeTab; 12import net.minecraft.world.item.CreativeModeTab;
9import net.minecraft.world.item.Item;
10import net.minecraft.world.item.ItemStack; 13import net.minecraft.world.item.ItemStack;
11import net.minecraft.world.item.Rarity;
12import org.quiltmc.loader.api.ModContainer; 14import org.quiltmc.loader.api.ModContainer;
13import org.quiltmc.qsl.base.api.entrypoint.ModInitializer; 15import org.quiltmc.qsl.base.api.entrypoint.ModInitializer;
14import org.quiltmc.qsl.item.setting.api.QuiltItemSettings;
15import org.quiltmc.qsl.tooltip.api.client.ItemTooltipCallback;
16import org.slf4j.Logger; 16import org.slf4j.Logger;
17import org.slf4j.LoggerFactory; 17import org.slf4j.LoggerFactory;
18 18
19import java.text.DecimalFormat;
20
21public class ErisAlchemy implements ModInitializer { 19public class ErisAlchemy implements ModInitializer {
22 public static final String ID = "eris_alchemy"; 20 public static final String ID = "eris_alchemy";
23 public static final Logger LOGGER = LoggerFactory.getLogger(ID); 21 public static final Logger LOGGER = LoggerFactory.getLogger(ID);
24 22
25 public static final Item LOW_COVALENCE_DUST = new Item(new QuiltItemSettings().rarity(Rarity.COMMON));
26 public static final Item MEDIUM_COVALENCE_DUST = new Item(new QuiltItemSettings().rarity(Rarity.UNCOMMON));
27 public static final Item HIGH_COVALENCE_DUST = new Item(new QuiltItemSettings().rarity(Rarity.RARE));
28
29 public static final CreativeModeTab ITEM_GROUP = FabricItemGroup.builder() 23 public static final CreativeModeTab ITEM_GROUP = FabricItemGroup.builder()
30 .icon(() -> new ItemStack(LOW_COVALENCE_DUST)) 24 .icon(() -> new ItemStack(ErisAlchemyItems.LOW_COVALENCE_DUST))
31 .title(Component.translatable("itemGroup.eris_alchemy.item_group")) 25 .title(Component.translatable("itemGroup.eris_alchemy.item_group"))
32 .displayItems((context, entries) -> { 26 .displayItems((context, entries) -> ErisAlchemyItems.consumeItems((id, item) -> entries.accept(item)))
33 entries.accept(LOW_COVALENCE_DUST);
34 entries.accept(MEDIUM_COVALENCE_DUST);
35 entries.accept(HIGH_COVALENCE_DUST);
36 })
37 .build(); 27 .build();
38 28
39 @Override 29 @Override
@@ -45,19 +35,10 @@ public class ErisAlchemy implements ModInitializer {
45 35
46 Registry.register(BuiltInRegistries.CREATIVE_MODE_TAB, new ResourceLocation(ID, "item_group"), ITEM_GROUP); 36 Registry.register(BuiltInRegistries.CREATIVE_MODE_TAB, new ResourceLocation(ID, "item_group"), ITEM_GROUP);
47 37
48 Registry.register(BuiltInRegistries.ITEM, new ResourceLocation(ID, "low_covalence_dust"), LOW_COVALENCE_DUST); 38 ErisAlchemyBlocks.consumeBlocks((id, block) -> Registry.register(BuiltInRegistries.BLOCK, id, block));
49 Registry.register(BuiltInRegistries.ITEM, new ResourceLocation(ID, "medium_covalence_dust"), MEDIUM_COVALENCE_DUST); 39 ErisAlchemyBlockEntities.consumeBlockEntities((id, block) -> Registry.register(BuiltInRegistries.BLOCK_ENTITY_TYPE, id, block));
50 Registry.register(BuiltInRegistries.ITEM, new ResourceLocation(ID, "high_covalence_dust"), HIGH_COVALENCE_DUST); 40 ErisAlchemyItems.consumeItems((id, item) -> Registry.register(BuiltInRegistries.ITEM, id, item));
51 41 ErisAlchemyMenus.consumeMenus((id, menu) -> Registry.register(BuiltInRegistries.MENU, id, menu));
52 Registry.register(BuiltInRegistries.RECIPE_SERIALIZER, CovalenceRepair.Serializer.ID, CovalenceRepair.Serializer.INSTANCE); 42 ErisAlchemyRecipeSerializers.consumeSerializers((id, serializer) -> Registry.register(BuiltInRegistries.RECIPE_SERIALIZER, id, serializer));
53
54 var doubleFormat = new DecimalFormat("0");
55 doubleFormat.setMaximumFractionDigits(1);
56
57 ItemTooltipCallback.EVENT.register((stack, player, context, tooltip) -> {
58 var world = player == null ? null : player.level();
59 var emc = EMC.getInstance(world).get(stack.getItem());
60 emc.ifPresent(value -> tooltip.add(Component.literal("EMC %s".formatted(doubleFormat.format(value)))));
61 });
62 } 43 }
63} 44}