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/ErisAlchemy.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/ErisAlchemy.java')
| -rw-r--r-- | src/main/java/lv/enes/mc/eris_alchemy/ErisAlchemy.java | 41 |
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 @@ | |||
| 1 | package lv.enes.mc.eris_alchemy; | 1 | package lv.enes.mc.eris_alchemy; |
| 2 | 2 | ||
| 3 | import lv.enes.mc.eris_alchemy.block.ErisAlchemyBlocks; | ||
| 4 | import lv.enes.mc.eris_alchemy.block.entity.ErisAlchemyBlockEntities; | ||
| 5 | import lv.enes.mc.eris_alchemy.menu.ErisAlchemyMenus; | ||
| 6 | import lv.enes.mc.eris_alchemy.recipe.ErisAlchemyRecipeSerializers; | ||
| 3 | import net.fabricmc.fabric.api.itemgroup.v1.FabricItemGroup; | 7 | import net.fabricmc.fabric.api.itemgroup.v1.FabricItemGroup; |
| 4 | import net.minecraft.core.Registry; | 8 | import net.minecraft.core.Registry; |
| 5 | import net.minecraft.core.registries.BuiltInRegistries; | 9 | import net.minecraft.core.registries.BuiltInRegistries; |
| 6 | import net.minecraft.network.chat.Component; | 10 | import net.minecraft.network.chat.Component; |
| 7 | import net.minecraft.resources.ResourceLocation; | 11 | import net.minecraft.resources.ResourceLocation; |
| 8 | import net.minecraft.world.item.CreativeModeTab; | 12 | import net.minecraft.world.item.CreativeModeTab; |
| 9 | import net.minecraft.world.item.Item; | ||
| 10 | import net.minecraft.world.item.ItemStack; | 13 | import net.minecraft.world.item.ItemStack; |
| 11 | import net.minecraft.world.item.Rarity; | ||
| 12 | import org.quiltmc.loader.api.ModContainer; | 14 | import org.quiltmc.loader.api.ModContainer; |
| 13 | import org.quiltmc.qsl.base.api.entrypoint.ModInitializer; | 15 | import org.quiltmc.qsl.base.api.entrypoint.ModInitializer; |
| 14 | import org.quiltmc.qsl.item.setting.api.QuiltItemSettings; | ||
| 15 | import org.quiltmc.qsl.tooltip.api.client.ItemTooltipCallback; | ||
| 16 | import org.slf4j.Logger; | 16 | import org.slf4j.Logger; |
| 17 | import org.slf4j.LoggerFactory; | 17 | import org.slf4j.LoggerFactory; |
| 18 | 18 | ||
| 19 | import java.text.DecimalFormat; | ||
| 20 | |||
| 21 | public class ErisAlchemy implements ModInitializer { | 19 | public 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 | } |