From 9445749ede3c61d3db9324184971b319b4a8bd1d Mon Sep 17 00:00:00 2001 From: Uko Kokņevičs Date: Fri, 5 Jan 2024 22:18:56 +0100 Subject: Initial Commit --- .../java/lv/enes/mc/eris_alchemy/ErisAlchemy.java | 68 ++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 src/main/java/lv/enes/mc/eris_alchemy/ErisAlchemy.java (limited to 'src/main/java/lv/enes/mc/eris_alchemy/ErisAlchemy.java') diff --git a/src/main/java/lv/enes/mc/eris_alchemy/ErisAlchemy.java b/src/main/java/lv/enes/mc/eris_alchemy/ErisAlchemy.java new file mode 100644 index 0000000..34e6b09 --- /dev/null +++ b/src/main/java/lv/enes/mc/eris_alchemy/ErisAlchemy.java @@ -0,0 +1,68 @@ +package lv.enes.mc.eris_alchemy; + +import net.fabricmc.fabric.api.itemgroup.v1.FabricItemGroup; +import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents; +import net.minecraft.core.Registry; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.core.registries.Registries; +import net.minecraft.network.chat.Component; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.CreativeModeTab; +import net.minecraft.world.item.CreativeModeTabs; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import org.quiltmc.loader.api.ModContainer; +import org.quiltmc.qsl.base.api.entrypoint.ModInitializer; +import org.quiltmc.qsl.item.setting.api.QuiltItemSettings; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class ErisAlchemy implements ModInitializer { + public static final String ID = "eris_alchemy"; + public static final Logger LOGGER = LoggerFactory.getLogger(ID); + + // Aside from crafting recipe inputs, covalence dusts can be used to repair equipment via shapeless crafting + // Low covalence dust: + // - wooden and stone tools + // - leather armour + // - fishing rods + // - wooden bows + // - turtle shells + // Medium covalence dust: + // - iron, gold, bronze, ruby, sapphire, and green sapphire tools and armour + // - flints & steels + // - shears + // - elytras + // High covalence dust: + // - diamond and netherite tools and armour + // 8 dusts are enough to repair 100% :3 + public static final Item LOW_COVALENCE_DUST = new Item(new QuiltItemSettings()); + public static final Item MEDIUM_COVALENCE_DUST = new Item(new QuiltItemSettings()); + public static final Item HIGH_COVALENCE_DUST = new Item(new QuiltItemSettings()); + + public static final CreativeModeTab ITEM_GROUP = FabricItemGroup.builder() + .icon(() -> new ItemStack(LOW_COVALENCE_DUST)) + .title(Component.translatable("itemGroup.eris_alchemy.item_group")) + .displayItems((context, entries) -> { + entries.accept(LOW_COVALENCE_DUST); + entries.accept(MEDIUM_COVALENCE_DUST); + entries.accept(HIGH_COVALENCE_DUST); + }) + .build(); + + @Override + public void onInitialize(ModContainer mod) { + LOGGER.info("Hello World from {}!", mod.metadata().name()); + if (!mod.metadata().id().equals(ID)) { + throw new RuntimeException("Hardcoded mod ID doesn't match the configured one!"); + } + + Registry.register(BuiltInRegistries.CREATIVE_MODE_TAB, new ResourceLocation(ID, "item_group"), ITEM_GROUP); + + Registry.register(BuiltInRegistries.ITEM, new ResourceLocation(ID, "low_covalence_dust"), LOW_COVALENCE_DUST); + Registry.register(BuiltInRegistries.ITEM, new ResourceLocation(ID, "medium_covalence_dust"), MEDIUM_COVALENCE_DUST); + Registry.register(BuiltInRegistries.ITEM, new ResourceLocation(ID, "high_covalence_dust"), HIGH_COVALENCE_DUST); + + Registry.register(BuiltInRegistries.RECIPE_SERIALIZER, CovalenceRepair.Serializer.ID, CovalenceRepair.Serializer.INSTANCE); + } +} -- cgit v1.2.3