diff --git a/src/main/java/WayofTime/bloodmagic/BloodMagic.java b/src/main/java/WayofTime/bloodmagic/BloodMagic.java index 561b76fa..12176ba6 100644 --- a/src/main/java/WayofTime/bloodmagic/BloodMagic.java +++ b/src/main/java/WayofTime/bloodmagic/BloodMagic.java @@ -3,7 +3,6 @@ package WayofTime.bloodmagic; import WayofTime.bloodmagic.annot.Handler; import WayofTime.bloodmagic.api.registry.OrbRegistry; import WayofTime.bloodmagic.api.registry.RitualRegistry; -import WayofTime.bloodmagic.api.util.helper.LogHelper; import WayofTime.bloodmagic.api_impl.BloodMagicAPI; import WayofTime.bloodmagic.apiv2.BloodMagicPlugin; import WayofTime.bloodmagic.apiv2.IBloodMagicPlugin; diff --git a/src/main/java/WayofTime/bloodmagic/client/render/entity/RenderEntityBloodLight.java b/src/main/java/WayofTime/bloodmagic/client/render/entity/RenderEntityBloodLight.java index 5d74c644..8075b2ae 100644 --- a/src/main/java/WayofTime/bloodmagic/client/render/entity/RenderEntityBloodLight.java +++ b/src/main/java/WayofTime/bloodmagic/client/render/entity/RenderEntityBloodLight.java @@ -1,7 +1,7 @@ package WayofTime.bloodmagic.client.render.entity; import WayofTime.bloodmagic.entity.projectile.EntityBloodLight; -import WayofTime.bloodmagic.item.ItemComponent; +import WayofTime.bloodmagic.item.types.ComponentType; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.renderer.RenderItem; @@ -26,7 +26,7 @@ public class RenderEntityBloodLight extends Render { GlStateManager.rotate(-this.renderManager.playerViewY, 0.0F, 1.0F, 0.0F); GlStateManager.rotate(this.renderManager.playerViewX, 1.0F, 0.0F, 0.0F); this.bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE); - this.renderItem.renderItem(ItemComponent.getStack(ItemComponent.REAGENT_BLOODLIGHT), ItemCameraTransforms.TransformType.GROUND); + this.renderItem.renderItem(ComponentType.REAGENT_BLOODLIGHT.getStack(), ItemCameraTransforms.TransformType.GROUND); GlStateManager.disableRescaleNormal(); GlStateManager.popMatrix(); super.doRender(entity, x, y, z, entityYaw, partialTicks); diff --git a/src/main/java/WayofTime/bloodmagic/compat/guideapi/book/CategoryArchitect.java b/src/main/java/WayofTime/bloodmagic/compat/guideapi/book/CategoryArchitect.java index 1c415701..ceb9d94b 100644 --- a/src/main/java/WayofTime/bloodmagic/compat/guideapi/book/CategoryArchitect.java +++ b/src/main/java/WayofTime/bloodmagic/compat/guideapi/book/CategoryArchitect.java @@ -12,7 +12,7 @@ import WayofTime.bloodmagic.compat.guideapi.page.PageTartaricForgeRecipe; import WayofTime.bloodmagic.core.RegistrarBloodMagic; import WayofTime.bloodmagic.core.RegistrarBloodMagicBlocks; import WayofTime.bloodmagic.core.RegistrarBloodMagicItems; -import WayofTime.bloodmagic.item.ItemComponent; +import WayofTime.bloodmagic.item.types.ComponentType; import WayofTime.bloodmagic.util.helper.RecipeHelper; import WayofTime.bloodmagic.util.helper.TextHelper; import amerifrance.guideapi.api.IPage; @@ -80,12 +80,12 @@ public class CategoryArchitect { category.getEntry("runeSpeed").addPageList(PageHelper.pagesForLongText(I18n.format(keyBase + "runeSpeed.info.1"), 370)); category.addEntry("water", new EntryText(keyBase + "water", true)); - category.getEntry("water").addPage(BookUtils.getForgeRecipe(ItemComponent.getStack(ItemComponent.REAGENT_WATER))); + category.getEntry("water").addPage(BookUtils.getForgeRecipe(ComponentType.REAGENT_WATER.getStack())); category.getEntry("water").addPage(BookUtils.getAlchemyPage(new ItemStack(RegistrarBloodMagicItems.SIGIL_WATER))); category.getEntry("water").addPageList(PageHelper.pagesForLongText(I18n.format(keyBase + "water.info.1"), 370)); category.addEntry("lava", new EntryText(keyBase + "lava", true)); - category.getEntry("lava").addPage(BookUtils.getForgeRecipe(ItemComponent.getStack(ItemComponent.REAGENT_LAVA))); + category.getEntry("lava").addPage(BookUtils.getForgeRecipe(ComponentType.REAGENT_LAVA.getStack())); category.getEntry("lava").addPage(BookUtils.getAlchemyPage(new ItemStack(RegistrarBloodMagicItems.SIGIL_LAVA))); category.getEntry("lava").addPageList(PageHelper.pagesForLongText(I18n.format(keyBase + "lava.info.1"), 370)); @@ -110,28 +110,18 @@ public class CategoryArchitect { category.getEntry("runeSelfSacrifice").addPageList(PageHelper.pagesForLongText(I18n.format(keyBase + "runeSelfSacrifice.info.1"), 370)); category.addEntry("holding", new EntryText(keyBase + "holding", true)); - category.getEntry("holding").addPage(BookUtils.getForgeRecipe(ItemComponent.getStack(ItemComponent.REAGENT_HOLDING))); + category.getEntry("holding").addPage(BookUtils.getForgeRecipe(ComponentType.REAGENT_HOLDING.getStack())); category.getEntry("holding").addPage(BookUtils.getAlchemyPage(new ItemStack(RegistrarBloodMagicItems.SIGIL_HOLDING))); category.getEntry("holding").addPageList(PageHelper.pagesForLongText(I18n.format(keyBase + "holding.info.1"), 370)); - List airPages = new ArrayList(); - - TartaricForgeRecipe airRecipe = RecipeHelper.getForgeRecipeForOutput(ItemComponent.getStack(ItemComponent.REAGENT_AIR)); - if (airRecipe != null) { - airPages.add(new PageTartaricForgeRecipe(airRecipe)); - } - - PageAlchemyArray airRecipePage = BookUtils.getAlchemyPage(new ItemStack(RegistrarBloodMagicItems.SIGIL_AIR)); - if (airRecipePage != null) { - airPages.add(airRecipePage); - } - - airPages.addAll(PageHelper.pagesForLongText(TextHelper.localize(keyBase + "air" + ".info.1"), 370)); - entries.put(new ResourceLocation(keyBase + "air"), new EntryText(airPages, TextHelper.localize(keyBase + "air"), true)); + category.addEntry("air", new EntryText(keyBase + "air", true)); + category.getEntry("air").addPage(BookUtils.getForgeRecipe(ComponentType.REAGENT_AIR.getStack())); + category.getEntry("air").addPage(BookUtils.getAlchemyPage(new ItemStack(RegistrarBloodMagicItems.SIGIL_AIR))); + category.getEntry("air").addPageList(PageHelper.pagesForLongText(I18n.format(keyBase + "air.info.1"), 370)); List voidPages = new ArrayList(); - TartaricForgeRecipe voidRecipe = RecipeHelper.getForgeRecipeForOutput(ItemComponent.getStack(ItemComponent.REAGENT_VOID)); + TartaricForgeRecipe voidRecipe = RecipeHelper.getForgeRecipeForOutput(ComponentType.REAGENT_VOID.getStack()); if (voidRecipe != null) { voidPages.add(new PageTartaricForgeRecipe(voidRecipe)); } @@ -146,7 +136,7 @@ public class CategoryArchitect { List greenGrovePages = new ArrayList(); - TartaricForgeRecipe greenGroveRecipe = RecipeHelper.getForgeRecipeForOutput(ItemComponent.getStack(ItemComponent.REAGENT_GROWTH)); + TartaricForgeRecipe greenGroveRecipe = RecipeHelper.getForgeRecipeForOutput(ComponentType.REAGENT_GROWTH.getStack()); if (greenGroveRecipe != null) { greenGrovePages.add(new PageTartaricForgeRecipe(greenGroveRecipe)); } @@ -161,7 +151,7 @@ public class CategoryArchitect { List fastMinerPages = new ArrayList(); - TartaricForgeRecipe fastMinerRecipe = RecipeHelper.getForgeRecipeForOutput(ItemComponent.getStack(ItemComponent.REAGENT_FASTMINER)); + TartaricForgeRecipe fastMinerRecipe = RecipeHelper.getForgeRecipeForOutput(ComponentType.REAGENT_FASTMINER.getStack()); if (fastMinerRecipe != null) { fastMinerPages.add(new PageTartaricForgeRecipe(fastMinerRecipe)); } @@ -176,7 +166,7 @@ public class CategoryArchitect { List seerPages = new ArrayList(); - TartaricForgeRecipe seerRecipe = RecipeHelper.getForgeRecipeForOutput(ItemComponent.getStack(ItemComponent.REAGENT_SIGHT)); + TartaricForgeRecipe seerRecipe = RecipeHelper.getForgeRecipeForOutput(ComponentType.REAGENT_SIGHT.getStack()); if (seerRecipe != null) { seerPages.add(new PageTartaricForgeRecipe(seerRecipe)); } @@ -221,7 +211,7 @@ public class CategoryArchitect { List affinityPages = new ArrayList(); - TartaricForgeRecipe affinityRecipe = RecipeHelper.getForgeRecipeForOutput(ItemComponent.getStack(ItemComponent.REAGENT_AFFINITY)); + TartaricForgeRecipe affinityRecipe = RecipeHelper.getForgeRecipeForOutput(ComponentType.REAGENT_AFFINITY.getStack()); if (affinityRecipe != null) { affinityPages.add(new PageTartaricForgeRecipe(affinityRecipe)); } @@ -236,7 +226,7 @@ public class CategoryArchitect { List lampPages = new ArrayList(); - TartaricForgeRecipe lampRecipe = RecipeHelper.getForgeRecipeForOutput(ItemComponent.getStack(ItemComponent.REAGENT_BLOODLIGHT)); + TartaricForgeRecipe lampRecipe = RecipeHelper.getForgeRecipeForOutput(ComponentType.REAGENT_BLOODLIGHT.getStack()); if (lampRecipe != null) { lampPages.add(new PageTartaricForgeRecipe(lampRecipe)); } @@ -251,7 +241,7 @@ public class CategoryArchitect { List magnetismPages = new ArrayList(); - TartaricForgeRecipe magnetismRecipe = RecipeHelper.getForgeRecipeForOutput(ItemComponent.getStack(ItemComponent.REAGENT_MAGNETISM)); + TartaricForgeRecipe magnetismRecipe = RecipeHelper.getForgeRecipeForOutput(ComponentType.REAGENT_MAGNETISM.getStack()); if (magnetismRecipe != null) { magnetismPages.add(new PageTartaricForgeRecipe(magnetismRecipe)); } @@ -276,7 +266,7 @@ public class CategoryArchitect { List livingArmourPages = new ArrayList(); - TartaricForgeRecipe bindingRecipe = RecipeHelper.getForgeRecipeForOutput(ItemComponent.getStack(ItemComponent.REAGENT_BINDING)); + TartaricForgeRecipe bindingRecipe = RecipeHelper.getForgeRecipeForOutput(ComponentType.REAGENT_BINDING.getStack()); if (bindingRecipe != null) { livingArmourPages.add(new PageTartaricForgeRecipe(bindingRecipe)); } @@ -416,7 +406,7 @@ public class CategoryArchitect { List suppressionPages = new ArrayList(); - TartaricForgeRecipe suppressionRecipe = RecipeHelper.getForgeRecipeForOutput(ItemComponent.getStack(ItemComponent.REAGENT_SUPPRESSION)); + TartaricForgeRecipe suppressionRecipe = RecipeHelper.getForgeRecipeForOutput(ComponentType.REAGENT_SUPPRESSION.getStack()); if (suppressionRecipe != null) { suppressionPages.add(new PageTartaricForgeRecipe(suppressionRecipe)); } @@ -431,7 +421,7 @@ public class CategoryArchitect { List hastePages = new ArrayList(); - TartaricForgeRecipe hasteRecipe = RecipeHelper.getForgeRecipeForOutput(ItemComponent.getStack(ItemComponent.REAGENT_HASTE)); + TartaricForgeRecipe hasteRecipe = RecipeHelper.getForgeRecipeForOutput(ComponentType.REAGENT_HASTE.getStack()); if (hasteRecipe != null) { hastePages.add(new PageTartaricForgeRecipe(hasteRecipe)); } @@ -446,7 +436,7 @@ public class CategoryArchitect { List severancePages = new ArrayList(); - TartaricForgeRecipe severanceRecipe = RecipeHelper.getForgeRecipeForOutput(ItemComponent.getStack(ItemComponent.REAGENT_SEVERANCE)); + TartaricForgeRecipe severanceRecipe = RecipeHelper.getForgeRecipeForOutput(ComponentType.REAGENT_SEVERANCE.getStack()); if (severanceRecipe != null) { severancePages.add(new PageTartaricForgeRecipe(severanceRecipe)); } @@ -461,7 +451,7 @@ public class CategoryArchitect { List telepositionPages = new ArrayList(); - TartaricForgeRecipe telepositionRecipe = RecipeHelper.getForgeRecipeForOutput(ItemComponent.getStack(ItemComponent.REAGENT_TELEPOSITION)); + TartaricForgeRecipe telepositionRecipe = RecipeHelper.getForgeRecipeForOutput(ComponentType.REAGENT_TELEPOSITION.getStack()); if (telepositionRecipe != null) { telepositionPages.add(new PageTartaricForgeRecipe(telepositionRecipe)); } @@ -476,7 +466,7 @@ public class CategoryArchitect { List compressionPages = new ArrayList(); - TartaricForgeRecipe compressionRecipe = RecipeHelper.getForgeRecipeForOutput(ItemComponent.getStack(ItemComponent.REAGENT_COMPRESSION)); + TartaricForgeRecipe compressionRecipe = RecipeHelper.getForgeRecipeForOutput(ComponentType.REAGENT_COMPRESSION.getStack()); if (compressionRecipe != null) { compressionPages.add(new PageTartaricForgeRecipe(compressionRecipe)); } @@ -491,7 +481,7 @@ public class CategoryArchitect { List bridgePages = new ArrayList(); - TartaricForgeRecipe bridgeRecipe = RecipeHelper.getForgeRecipeForOutput(ItemComponent.getStack(ItemComponent.REAGENT_BRIDGE)); + TartaricForgeRecipe bridgeRecipe = RecipeHelper.getForgeRecipeForOutput(ComponentType.REAGENT_BRIDGE.getStack()); if (bridgeRecipe != null) { bridgePages.add(new PageTartaricForgeRecipe(bridgeRecipe)); } diff --git a/src/main/java/WayofTime/bloodmagic/core/RegistrarBloodMagic.java b/src/main/java/WayofTime/bloodmagic/core/RegistrarBloodMagic.java index 80b2cf1f..688c627c 100644 --- a/src/main/java/WayofTime/bloodmagic/core/RegistrarBloodMagic.java +++ b/src/main/java/WayofTime/bloodmagic/core/RegistrarBloodMagic.java @@ -8,14 +8,17 @@ import WayofTime.bloodmagic.entity.projectile.EntityBloodLight; import WayofTime.bloodmagic.entity.projectile.EntityMeteor; import WayofTime.bloodmagic.entity.projectile.EntitySentientArrow; import WayofTime.bloodmagic.entity.projectile.EntitySoulSnare; +import WayofTime.bloodmagic.item.types.ComponentType; import WayofTime.bloodmagic.potion.PotionBloodMagic; import net.minecraft.client.renderer.block.model.ModelResourceLocation; import net.minecraft.init.MobEffects; +import net.minecraft.item.ItemStack; import net.minecraft.potion.Potion; import net.minecraft.util.ResourceLocation; import net.minecraftforge.client.event.ModelRegistryEvent; import net.minecraftforge.client.model.ModelLoader; import net.minecraftforge.event.RegistryEvent; +import net.minecraftforge.event.furnace.FurnaceFuelBurnTimeEvent; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.registry.EntityEntry; @@ -135,4 +138,10 @@ public class RegistrarBloodMagic { return orb.getModelLocation(); }); } + + @SubscribeEvent + public static void handleBurnTime(FurnaceFuelBurnTimeEvent event) { + if (ItemStack.areItemsEqual(event.getItemStack(), ComponentType.SAND_COAL.getStack())) + event.setBurnTime(1600); + } } diff --git a/src/main/java/WayofTime/bloodmagic/core/RegistrarBloodMagicItems.java b/src/main/java/WayofTime/bloodmagic/core/RegistrarBloodMagicItems.java index d12b7bce..da72b025 100644 --- a/src/main/java/WayofTime/bloodmagic/core/RegistrarBloodMagicItems.java +++ b/src/main/java/WayofTime/bloodmagic/core/RegistrarBloodMagicItems.java @@ -16,6 +16,7 @@ import WayofTime.bloodmagic.item.routing.ItemNodeRouter; import WayofTime.bloodmagic.item.routing.ItemRouterFilter; import WayofTime.bloodmagic.item.sigil.*; import WayofTime.bloodmagic.item.soul.*; +import WayofTime.bloodmagic.item.types.ComponentType; import com.google.common.collect.Lists; import net.minecraft.client.renderer.block.model.ModelResourceLocation; import net.minecraft.init.Items; @@ -165,7 +166,7 @@ public class RegistrarBloodMagicItems { new ItemSigilClaw().setRegistryName("sigil_claw"), new ItemSigilBounce().setRegistryName("sigil_bounce"), new ItemSigilFrost().setRegistryName("sigil_frost"), - new ItemComponent().setRegistryName("component"), + new ItemEnum<>(ComponentType.class, "baseComponent").setRegistryName("component"), new ItemDemonCrystal().setRegistryName("item_demon_crystal"), new ItemTelepositionFocus().setRegistryName("teleposition_focus"), new ItemExperienceBook().setRegistryName("experience_tome"), diff --git a/src/main/java/WayofTime/bloodmagic/core/RegistrarBloodMagicRecipes.java b/src/main/java/WayofTime/bloodmagic/core/RegistrarBloodMagicRecipes.java index 49660987..66f231cf 100644 --- a/src/main/java/WayofTime/bloodmagic/core/RegistrarBloodMagicRecipes.java +++ b/src/main/java/WayofTime/bloodmagic/core/RegistrarBloodMagicRecipes.java @@ -8,10 +8,10 @@ import WayofTime.bloodmagic.api.soul.EnumDemonWillType; import WayofTime.bloodmagic.api_impl.BloodMagicRecipeRegistrar; import WayofTime.bloodmagic.apiv2.IBloodMagicRecipeRegistrar; import WayofTime.bloodmagic.block.BlockLifeEssence; -import WayofTime.bloodmagic.item.ItemComponent; import WayofTime.bloodmagic.item.ItemDemonCrystal; import WayofTime.bloodmagic.item.alchemy.ItemCuttingFluid; import WayofTime.bloodmagic.item.soul.ItemSoulGem; +import WayofTime.bloodmagic.item.types.ComponentType; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; @@ -100,32 +100,32 @@ public class RegistrarBloodMagicRecipes { registrar.addTartaricForge(new ItemStack(RegistrarBloodMagicItems.SENTIENT_SHOVEL), 0, 0, new ItemStack(RegistrarBloodMagicItems.SOUL_GEM), new ItemStack(Items.IRON_SHOVEL)); registrar.addTartaricForge(new ItemStack(RegistrarBloodMagicItems.SENTIENT_BOW), 70, 0, new ItemStack(Items.BOW), new ItemStack(RegistrarBloodMagicItems.SOUL_GEM, 1, 1), "string", "string"); registrar.addTartaricForge(new ItemStack(RegistrarBloodMagicItems.ARCANE_ASHES), 0, 0, "dustRedstone", "dyeWhite", "gunpowder", Items.COAL); - registrar.addTartaricForge(ItemComponent.getStack(ItemComponent.REAGENT_WATER), 10, 3, new ItemStack(Items.SUGAR), new ItemStack(Items.WATER_BUCKET), new ItemStack(Items.WATER_BUCKET)); - registrar.addTartaricForge(ItemComponent.getStack(ItemComponent.REAGENT_LAVA), 32, 10, Items.LAVA_BUCKET, "dustRedstone", "cobblestone", "blockCoal"); - registrar.addTartaricForge(ItemComponent.getStack(ItemComponent.REAGENT_VOID), 64, 10, Items.BUCKET, "string", "string", "gunpowder"); - registrar.addTartaricForge(ItemComponent.getStack(ItemComponent.REAGENT_GROWTH), 128, 20, "treeSapling", "treeSapling", "sugarcane", Items.SUGAR); - registrar.addTartaricForge(ItemComponent.getStack(ItemComponent.REAGENT_AIR), 128, 20, Items.GHAST_TEAR, "feather", "feather"); - registrar.addTartaricForge(ItemComponent.getStack(ItemComponent.REAGENT_SIGHT), 64, 0, RegistrarBloodMagicItems.SIGIL_DIVINATION, "blockGlass", "blockGlass", "dustGlowstone"); - registrar.addTartaricForge(ItemComponent.getStack(ItemComponent.REAGENT_HOLDING), 64, 20, "chestWood", "leather", "string", "string"); - registrar.addTartaricForge(ItemComponent.getStack(ItemComponent.REAGENT_FASTMINER), 128, 10, Items.IRON_PICKAXE, Items.IRON_AXE, Items.IRON_SHOVEL, Items.GUNPOWDER); - registrar.addTartaricForge(ItemComponent.getStack(ItemComponent.REAGENT_AFFINITY), 300, 30, RegistrarBloodMagicItems.SIGIL_WATER, RegistrarBloodMagicItems.SIGIL_AIR, RegistrarBloodMagicItems.SIGIL_LAVA, Blocks.OBSIDIAN); - registrar.addTartaricForge(ItemComponent.getStack(ItemComponent.REAGENT_SUPPRESSION), 500, 50, RegistrarBloodMagicBlocks.TELEPOSER, Items.WATER_BUCKET, Items.LAVA_BUCKET, Items.BLAZE_ROD); - registrar.addTartaricForge(ItemComponent.getStack(ItemComponent.REAGENT_BINDING), 400, 10, "dustGlowstone", "dustRedstone", "nuggetGold", Items.GUNPOWDER); - registrar.addTartaricForge(ItemComponent.getStack(ItemComponent.REAGENT_BLOODLIGHT), 300, 10, "glowstone", Blocks.TORCH, "dustRedstone", "dustRedstone"); - registrar.addTartaricForge(ItemComponent.getStack(ItemComponent.REAGENT_MAGNETISM), 600, 10, "string", "ingotGold", "blockIron", "ingotGold"); - registrar.addTartaricForge(ItemComponent.getStack(ItemComponent.REAGENT_HASTE), 1400, 100, Items.COOKIE, Items.SUGAR, Items.COOKIE, "stone"); - registrar.addTartaricForge(ItemComponent.getStack(ItemComponent.REAGENT_BRIDGE), 600, 50, Blocks.SOUL_SAND, Blocks.SOUL_SAND, "stone", Blocks.OBSIDIAN); - registrar.addTartaricForge(ItemComponent.getStack(ItemComponent.REAGENT_SEVERANCE), 800, 70, Items.ENDER_EYE, Items.ENDER_PEARL, "ingotGold", "ingotGold"); - registrar.addTartaricForge(ItemComponent.getStack(ItemComponent.REAGENT_COMPRESSION), 2000, 200, "blockIron", "blockGold", Blocks.OBSIDIAN, "cobblestone"); - registrar.addTartaricForge(ItemComponent.getStack(ItemComponent.REAGENT_TELEPOSITION), 1500, 200, RegistrarBloodMagicBlocks.TELEPOSER, "glowstone", "blockRedstone", "ingotGold"); - registrar.addTartaricForge(ItemComponent.getStack(ItemComponent.REAGENT_TRANSPOSITION), 1500, 200, RegistrarBloodMagicBlocks.TELEPOSER, "gemDiamond", Items.ENDER_PEARL, Blocks.OBSIDIAN); - registrar.addTartaricForge(ItemComponent.getStack(ItemComponent.REAGENT_CLAW), 800, 120, Items.FLINT, Items.FLINT, ItemCuttingFluid.getStack(ItemCuttingFluid.BASIC)); - registrar.addTartaricForge(ItemComponent.getStack(ItemComponent.REAGENT_BOUNCE), 200, 20, Blocks.SLIME_BLOCK, Blocks.SLIME_BLOCK, Items.LEATHER, "string"); - registrar.addTartaricForge(ItemComponent.getStack(ItemComponent.REAGENT_FROST), 80, 10, Blocks.ICE, Items.SNOWBALL, Items.SNOWBALL, "dustRedstone"); + registrar.addTartaricForge(ComponentType.REAGENT_WATER.getStack(), 10, 3, new ItemStack(Items.SUGAR), new ItemStack(Items.WATER_BUCKET), new ItemStack(Items.WATER_BUCKET)); + registrar.addTartaricForge(ComponentType.REAGENT_LAVA.getStack(), 32, 10, Items.LAVA_BUCKET, "dustRedstone", "cobblestone", "blockCoal"); + registrar.addTartaricForge(ComponentType.REAGENT_VOID.getStack(), 64, 10, Items.BUCKET, "string", "string", "gunpowder"); + registrar.addTartaricForge(ComponentType.REAGENT_GROWTH.getStack(), 128, 20, "treeSapling", "treeSapling", "sugarcane", Items.SUGAR); + registrar.addTartaricForge(ComponentType.REAGENT_AIR.getStack(), 128, 20, Items.GHAST_TEAR, "feather", "feather"); + registrar.addTartaricForge(ComponentType.REAGENT_SIGHT.getStack(), 64, 0, RegistrarBloodMagicItems.SIGIL_DIVINATION, "blockGlass", "blockGlass", "dustGlowstone"); + registrar.addTartaricForge(ComponentType.REAGENT_HOLDING.getStack(), 64, 20, "chestWood", "leather", "string", "string"); + registrar.addTartaricForge(ComponentType.REAGENT_FASTMINER.getStack(), 128, 10, Items.IRON_PICKAXE, Items.IRON_AXE, Items.IRON_SHOVEL, Items.GUNPOWDER); + registrar.addTartaricForge(ComponentType.REAGENT_AFFINITY.getStack(), 300, 30, RegistrarBloodMagicItems.SIGIL_WATER, RegistrarBloodMagicItems.SIGIL_AIR, RegistrarBloodMagicItems.SIGIL_LAVA, Blocks.OBSIDIAN); + registrar.addTartaricForge(ComponentType.REAGENT_SUPPRESSION.getStack(), 500, 50, RegistrarBloodMagicBlocks.TELEPOSER, Items.WATER_BUCKET, Items.LAVA_BUCKET, Items.BLAZE_ROD); + registrar.addTartaricForge(ComponentType.REAGENT_BINDING.getStack(), 400, 10, "dustGlowstone", "dustRedstone", "nuggetGold", Items.GUNPOWDER); + registrar.addTartaricForge(ComponentType.REAGENT_BLOODLIGHT.getStack(), 300, 10, "glowstone", Blocks.TORCH, "dustRedstone", "dustRedstone"); + registrar.addTartaricForge(ComponentType.REAGENT_MAGNETISM.getStack(), 600, 10, "string", "ingotGold", "blockIron", "ingotGold"); + registrar.addTartaricForge(ComponentType.REAGENT_HASTE.getStack(), 1400, 100, Items.COOKIE, Items.SUGAR, Items.COOKIE, "stone"); + registrar.addTartaricForge(ComponentType.REAGENT_BRIDGE.getStack(), 600, 50, Blocks.SOUL_SAND, Blocks.SOUL_SAND, "stone", Blocks.OBSIDIAN); + registrar.addTartaricForge(ComponentType.REAGENT_SEVERANCE.getStack(), 800, 70, Items.ENDER_EYE, Items.ENDER_PEARL, "ingotGold", "ingotGold"); + registrar.addTartaricForge(ComponentType.REAGENT_COMPRESSION.getStack(), 2000, 200, "blockIron", "blockGold", Blocks.OBSIDIAN, "cobblestone"); + registrar.addTartaricForge(ComponentType.REAGENT_TELEPOSITION.getStack(), 1500, 200, RegistrarBloodMagicBlocks.TELEPOSER, "glowstone", "blockRedstone", "ingotGold"); + registrar.addTartaricForge(ComponentType.REAGENT_TRANSPOSITION.getStack(), 1500, 200, RegistrarBloodMagicBlocks.TELEPOSER, "gemDiamond", Items.ENDER_PEARL, Blocks.OBSIDIAN); + registrar.addTartaricForge(ComponentType.REAGENT_CLAW.getStack(), 800, 120, Items.FLINT, Items.FLINT, ItemCuttingFluid.getStack(ItemCuttingFluid.BASIC)); + registrar.addTartaricForge(ComponentType.REAGENT_BOUNCE.getStack(), 200, 20, Blocks.SLIME_BLOCK, Blocks.SLIME_BLOCK, Items.LEATHER, "string"); + registrar.addTartaricForge(ComponentType.REAGENT_FROST.getStack(), 80, 10, Blocks.ICE, Items.SNOWBALL, Items.SNOWBALL, "dustRedstone"); registrar.addTartaricForge(new ItemStack(RegistrarBloodMagicItems.SENTIENT_ARMOUR_GEM), 240, 150, Items.DIAMOND_CHESTPLATE, new ItemStack(RegistrarBloodMagicItems.SOUL_GEM, 1, 1), Blocks.IRON_BLOCK, Blocks.OBSIDIAN); - registrar.addTartaricForge(ItemComponent.getStack(ItemComponent.COMPONENT_FRAME_PART), 400, 10, "blockGlass", "stone", new ItemStack(RegistrarBloodMagicItems.SLATE)); + registrar.addTartaricForge(ComponentType.COMPONENT_FRAME_PART.getStack(), 400, 10, "blockGlass", "stone", new ItemStack(RegistrarBloodMagicItems.SLATE)); registrar.addTartaricForge(new ItemStack(RegistrarBloodMagicItems.NODE_ROUTER), 400, 5, "stickWood", new ItemStack(RegistrarBloodMagicItems.SLATE, 1, 1), "gemLapis", "gemLapis"); registrar.addTartaricForge(new ItemStack(RegistrarBloodMagicBlocks.ITEM_ROUTING_NODE), 400, 5, "dustGlowstone", "dustRedstone", "blockGlass", "stone"); registrar.addTartaricForge(new ItemStack(RegistrarBloodMagicBlocks.OUTPUT_ROUTING_NODE), 400, 25, "dustGlowstone", "dustRedstone", "ingotIron", new ItemStack(RegistrarBloodMagicBlocks.ITEM_ROUTING_NODE)); diff --git a/src/main/java/WayofTime/bloodmagic/fuel/FuelHandler.java b/src/main/java/WayofTime/bloodmagic/fuel/FuelHandler.java deleted file mode 100644 index aae512d7..00000000 --- a/src/main/java/WayofTime/bloodmagic/fuel/FuelHandler.java +++ /dev/null @@ -1,17 +0,0 @@ -package WayofTime.bloodmagic.fuel; - -import WayofTime.bloodmagic.core.RegistrarBloodMagicItems; -import WayofTime.bloodmagic.item.ItemComponent; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fml.common.IFuelHandler; - -public class FuelHandler implements IFuelHandler { - @Override - public int getBurnTime(ItemStack fuel) { - if (fuel != null && fuel.getItem() == RegistrarBloodMagicItems.COMPONENT && fuel.getMetadata() == ItemComponent.getStack(ItemComponent.SAND_COAL).getMetadata()) { - return 1600; - } - - return 0; - } -} diff --git a/src/main/java/WayofTime/bloodmagic/item/ItemComponent.java b/src/main/java/WayofTime/bloodmagic/item/ItemComponent.java deleted file mode 100644 index 4363715e..00000000 --- a/src/main/java/WayofTime/bloodmagic/item/ItemComponent.java +++ /dev/null @@ -1,137 +0,0 @@ -package WayofTime.bloodmagic.item; - -import WayofTime.bloodmagic.BloodMagic; -import WayofTime.bloodmagic.client.IVariantProvider; -import WayofTime.bloodmagic.core.RegistrarBloodMagicItems; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.NonNullList; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; -import org.apache.commons.lang3.tuple.ImmutablePair; -import org.apache.commons.lang3.tuple.Pair; - -import java.util.ArrayList; -import java.util.List; - -public class ItemComponent extends Item implements IVariantProvider { - public static final String REAGENT_WATER = "reagentWater"; - public static final String REAGENT_LAVA = "reagentLava"; - public static final String REAGENT_AIR = "reagentAir"; - public static final String REAGENT_FASTMINER = "reagentFastMiner"; - public static final String REAGENT_VOID = "reagentVoid"; - public static final String REAGENT_GROWTH = "reagentGrowth"; - public static final String REAGENT_AFFINITY = "reagentAffinity"; - public static final String REAGENT_SIGHT = "reagentSight"; - public static final String REAGENT_BINDING = "reagentBinding"; - public static final String REAGENT_SUPPRESSION = "reagentSuppression"; - public static final String COMPONENT_FRAME_PART = "frameParts"; - public static final String REAGENT_BLOODLIGHT = "reagentBloodLight"; - public static final String REAGENT_MAGNETISM = "reagentMagnetism"; - public static final String REAGENT_HASTE = "reagentHaste"; - public static final String REAGENT_COMPRESSION = "reagentCompression"; - public static final String REAGENT_BRIDGE = "reagentBridge"; - public static final String REAGENT_SEVERANCE = "reagentSeverance"; - public static final String REAGENT_TELEPOSITION = "reagentTeleposition"; - public static final String REAGENT_TRANSPOSITION = "reagentTransposition"; - public static final String SAND_IRON = "ironSand"; - public static final String SAND_GOLD = "goldSand"; - public static final String SAND_COAL = "coalSand"; - public static final String PLANT_OIL = "plantOil"; - public static final String SULFUR = "sulfur"; - public static final String SALTPETER = "saltpeter"; - public static final String NEURO_TOXIN = "neurotoxin"; - public static final String ANTISEPTIC = "antiseptic"; - public static final String REAGENT_HOLDING = "reagentHolding"; - public static final String CATALYST_LENGTH_1 = "mundaneLength"; - public static final String CATALYST_POWER_1 = "mundanePower"; - public static final String REAGENT_CLAW = "reagentClaw"; - public static final String REAGENT_BOUNCE = "reagentBounce"; - public static final String REAGENT_FROST = "reagentFrost"; - private static ArrayList names = new ArrayList(); - - public ItemComponent() { - super(); - - setUnlocalizedName(BloodMagic.MODID + ".baseComponent."); - setHasSubtypes(true); - setCreativeTab(BloodMagic.TAB_BM); - - buildItemList(); - } - - private void buildItemList() { - names.add(0, REAGENT_WATER); - names.add(1, REAGENT_LAVA); - names.add(2, REAGENT_AIR); - names.add(3, REAGENT_FASTMINER); - names.add(4, REAGENT_VOID); - names.add(5, REAGENT_GROWTH); - names.add(6, REAGENT_AFFINITY); - names.add(7, REAGENT_SIGHT); - names.add(8, REAGENT_BINDING); - names.add(9, REAGENT_SUPPRESSION); - names.add(10, COMPONENT_FRAME_PART); - names.add(11, REAGENT_BLOODLIGHT); - names.add(12, REAGENT_MAGNETISM); - names.add(13, REAGENT_HASTE); - names.add(14, REAGENT_COMPRESSION); - names.add(15, REAGENT_BRIDGE); - names.add(16, REAGENT_SEVERANCE); - names.add(17, REAGENT_TELEPOSITION); - names.add(18, REAGENT_TRANSPOSITION); - names.add(19, SAND_IRON); - names.add(20, SAND_GOLD); - names.add(21, SAND_COAL); - names.add(22, PLANT_OIL); - names.add(23, SULFUR); - names.add(24, SALTPETER); - names.add(25, NEURO_TOXIN); - names.add(26, ANTISEPTIC); - names.add(27, REAGENT_HOLDING); - names.add(28, CATALYST_LENGTH_1); - names.add(29, CATALYST_POWER_1); - names.add(30, REAGENT_CLAW); - names.add(31, REAGENT_BOUNCE); - names.add(32, REAGENT_FROST); - } - - @Override - public String getUnlocalizedName(ItemStack stack) { - return super.getUnlocalizedName(stack) + names.get(stack.getItemDamage()); - } - - @Override - @SideOnly(Side.CLIENT) - public void getSubItems(CreativeTabs creativeTab, NonNullList list) { - if (!isInCreativeTab(creativeTab)) - return; - - for (int i = 0; i < names.size(); i++) - list.add(new ItemStack(this, 1, i)); - } - - @Override - public List> getVariants() { - List> ret = new ArrayList>(); - for (String name : names) - ret.add(new ImmutablePair(names.indexOf(name), "type=" + name)); - return ret; - } - - public static ItemStack getStack(String name) { - return new ItemStack(RegistrarBloodMagicItems.COMPONENT, 1, names.indexOf(name)); - } - - public static ItemStack getStack(String key, int stackSize) { - ItemStack stack = getStack(key); - stack.setCount(stackSize); - - return stack; - } - - public static ArrayList getNames() { - return names; - } -} diff --git a/src/main/java/WayofTime/bloodmagic/item/ItemEnum.java b/src/main/java/WayofTime/bloodmagic/item/ItemEnum.java new file mode 100644 index 00000000..077149c1 --- /dev/null +++ b/src/main/java/WayofTime/bloodmagic/item/ItemEnum.java @@ -0,0 +1,59 @@ +package WayofTime.bloodmagic.item; + +import WayofTime.bloodmagic.BloodMagic; +import WayofTime.bloodmagic.client.IVariantProvider; +import WayofTime.bloodmagic.item.types.IEnumItem; +import com.google.common.collect.Lists; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.NonNullList; +import net.minecraft.util.math.MathHelper; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; +import org.apache.commons.lang3.tuple.Pair; + +import java.util.List; + +public class ItemEnum & IEnumItem> extends Item implements IVariantProvider { + + protected final T[] types; + + public ItemEnum(Class enumClass, String baseName) { + super(); + + this.types = enumClass.getEnumConstants(); + + setUnlocalizedName(BloodMagic.MODID + "." + baseName); + setHasSubtypes(types.length > 1); + setCreativeTab(BloodMagic.TAB_BM); + } + + @Override + public String getUnlocalizedName(ItemStack stack) { + return super.getUnlocalizedName(stack) + "." + getItemType(stack).getInternalName(); + } + + @Override + @SideOnly(Side.CLIENT) + public void getSubItems(CreativeTabs tab, NonNullList subItems) { + if (!isInCreativeTab(tab)) + return; + + for (T type : types) + subItems.add(new ItemStack(this, 1, type.ordinal())); + } + + public T getItemType(ItemStack stack) { + return types[MathHelper.clamp(stack.getItemDamage(), 0, types.length)]; + } + + @Override + public List> getVariants() { + List> variants = Lists.newArrayList(); + for (int i = 0; i < types.length; i++) + variants.add(Pair.of(i, "type=" + types[i].getInternalName())); + + return variants; + } +} \ No newline at end of file diff --git a/src/main/java/WayofTime/bloodmagic/item/armour/ItemLivingArmour.java b/src/main/java/WayofTime/bloodmagic/item/armour/ItemLivingArmour.java index bfd67b55..a17cff21 100644 --- a/src/main/java/WayofTime/bloodmagic/item/armour/ItemLivingArmour.java +++ b/src/main/java/WayofTime/bloodmagic/item/armour/ItemLivingArmour.java @@ -9,7 +9,7 @@ import WayofTime.bloodmagic.api.util.helper.NBTHelper; import WayofTime.bloodmagic.api.util.helper.NetworkHelper; import WayofTime.bloodmagic.client.IMeshProvider; import WayofTime.bloodmagic.core.RegistrarBloodMagicItems; -import WayofTime.bloodmagic.item.ItemComponent; +import WayofTime.bloodmagic.item.types.ComponentType; import WayofTime.bloodmagic.livingArmour.LivingArmour; import WayofTime.bloodmagic.livingArmour.tracker.StatTrackerRepairing; import WayofTime.bloodmagic.livingArmour.upgrade.LivingArmourUpgradeElytra; @@ -97,7 +97,7 @@ public class ItemLivingArmour extends ItemArmor implements ISpecialArmor, IMeshP @Override public boolean getIsRepairable(ItemStack toRepair, ItemStack repair) { - return ItemStack.areItemsEqual(repair, ItemComponent.getStack(ItemComponent.REAGENT_BINDING)); + return ItemStack.areItemsEqual(repair, ComponentType.REAGENT_BINDING.getStack()); } @Override diff --git a/src/main/java/WayofTime/bloodmagic/item/types/ComponentType.java b/src/main/java/WayofTime/bloodmagic/item/types/ComponentType.java new file mode 100644 index 00000000..ab7fe88a --- /dev/null +++ b/src/main/java/WayofTime/bloodmagic/item/types/ComponentType.java @@ -0,0 +1,64 @@ +package WayofTime.bloodmagic.item.types; + +import WayofTime.bloodmagic.core.RegistrarBloodMagicItems; +import net.minecraft.item.ItemStack; + +import javax.annotation.Nonnull; +import java.util.Locale; + +public enum ComponentType implements IEnumItem { + + REAGENT_WATER, + REAGENT_LAVA, + REAGENT_AIR, + REAGENT_FASTMINER, + REAGENT_VOID, + REAGENT_GROWTH, + REAGENT_AFFINITY, + REAGENT_SIGHT, + REAGENT_BINDING, + REAGENT_SUPPRESSION, + COMPONENT_FRAME_PART, + REAGENT_BLOODLIGHT, + REAGENT_MAGNETISM, + REAGENT_HASTE, + REAGENT_COMPRESSION, + REAGENT_BRIDGE, + REAGENT_SEVERANCE, + REAGENT_TELEPOSITION, + REAGENT_TRANSPOSITION, + SAND_IRON, + SAND_GOLD, + SAND_COAL, + PLANT_OIL, + SULFUR, + SALTPETER, + NEURO_TOXIN, + ANTISEPTIC, + REAGENT_HOLDING, + CATALYST_LENGTH_1, + CATALYST_POWER_1, + REAGENT_CLAW, + REAGENT_BOUNCE, + REAGENT_FROST, + ; + + + @Nonnull + @Override + public String getInternalName() { + return name().toLowerCase(Locale.ROOT); + } + + @Nonnull + @Override + public ItemStack getStack() { + return getStack(1); + } + + @Nonnull + @Override + public ItemStack getStack(int count) { + return new ItemStack(RegistrarBloodMagicItems.COMPONENT, count, ordinal()); + } +} diff --git a/src/main/java/WayofTime/bloodmagic/item/types/IEnumItem.java b/src/main/java/WayofTime/bloodmagic/item/types/IEnumItem.java new file mode 100644 index 00000000..d7be59b7 --- /dev/null +++ b/src/main/java/WayofTime/bloodmagic/item/types/IEnumItem.java @@ -0,0 +1,17 @@ +package WayofTime.bloodmagic.item.types; + +import net.minecraft.item.ItemStack; + +import javax.annotation.Nonnull; + +public interface IEnumItem { + + @Nonnull + String getInternalName(); + + @Nonnull + ItemStack getStack(); + + @Nonnull + ItemStack getStack(int count); +} diff --git a/src/main/java/WayofTime/bloodmagic/registry/ModRecipes.java b/src/main/java/WayofTime/bloodmagic/registry/ModRecipes.java index e02c1d54..253aba93 100644 --- a/src/main/java/WayofTime/bloodmagic/registry/ModRecipes.java +++ b/src/main/java/WayofTime/bloodmagic/registry/ModRecipes.java @@ -13,9 +13,9 @@ import WayofTime.bloodmagic.compress.BaseCompressionHandler; import WayofTime.bloodmagic.compress.StorageBlockCraftingManager; import WayofTime.bloodmagic.core.RegistrarBloodMagic; import WayofTime.bloodmagic.core.RegistrarBloodMagicItems; -import WayofTime.bloodmagic.item.ItemComponent; import WayofTime.bloodmagic.item.alchemy.ItemCuttingFluid; import WayofTime.bloodmagic.item.alchemy.ItemLivingArmourPointsUpgrade; +import WayofTime.bloodmagic.item.types.ComponentType; import WayofTime.bloodmagic.livingArmour.downgrade.*; import WayofTime.bloodmagic.potion.BMPotionUtils; import WayofTime.bloodmagic.recipe.alchemyTable.AlchemyTableDyeableRecipe; @@ -39,8 +39,8 @@ import java.util.Map.Entry; public class ModRecipes { public static ArrayList addedOreRecipeList = new ArrayList(); - static ItemStack mundaneLengtheningStack = ItemComponent.getStack(ItemComponent.CATALYST_LENGTH_1); - static ItemStack mundanePowerStack = ItemComponent.getStack(ItemComponent.CATALYST_POWER_1); + static final ItemStack MUNDANE_LENGTHENING_STACK = ComponentType.CATALYST_LENGTH_1.getStack(); + static final ItemStack MUNDANE_POWER_STACK = ComponentType.CATALYST_POWER_1.getStack(); public static void init() { initOreDict(); @@ -55,52 +55,52 @@ public class ModRecipes { } public static void initOreDict() { - OreDictionary.registerOre("dustIron", ItemComponent.getStack(ItemComponent.SAND_IRON)); - OreDictionary.registerOre("dustGold", ItemComponent.getStack(ItemComponent.SAND_GOLD)); - OreDictionary.registerOre("dustCoal", ItemComponent.getStack(ItemComponent.SAND_COAL)); + OreDictionary.registerOre("dustIron", ComponentType.SAND_IRON.getStack()); + OreDictionary.registerOre("dustGold", ComponentType.SAND_GOLD.getStack()); + OreDictionary.registerOre("dustCoal", ComponentType.SAND_COAL.getStack()); } public static void addFurnaceRecipes() { - FurnaceRecipes.instance().addSmeltingRecipe(ItemComponent.getStack(ItemComponent.SAND_IRON), new ItemStack(Items.IRON_INGOT), (float) 0.15); - FurnaceRecipes.instance().addSmeltingRecipe(ItemComponent.getStack(ItemComponent.SAND_GOLD), new ItemStack(Items.GOLD_INGOT), (float) 0.15); + FurnaceRecipes.instance().addSmeltingRecipe(ComponentType.SAND_IRON.getStack(), new ItemStack(Items.IRON_INGOT), (float) 0.15); + FurnaceRecipes.instance().addSmeltingRecipe(ComponentType.SAND_GOLD.getStack(), new ItemStack(Items.GOLD_INGOT), (float) 0.15); } public static void addAltarRecipes() { } public static void addAlchemyArrayRecipes() { - AlchemyArrayRecipeRegistry.registerRecipe(ItemComponent.getStack(ItemComponent.REAGENT_BINDING), new ItemStack(Items.DIAMOND_SWORD), new AlchemyArrayEffectBinding("boundSword", Utils.setUnbreakable(new ItemStack(RegistrarBloodMagicItems.BOUND_SWORD))), new BindingAlchemyCircleRenderer()); - AlchemyArrayRecipeRegistry.registerRecipe(ItemComponent.getStack(ItemComponent.REAGENT_BINDING), new ItemStack(Items.DIAMOND_AXE), new AlchemyArrayEffectBinding("boundAxe", Utils.setUnbreakable(new ItemStack(RegistrarBloodMagicItems.BOUND_AXE)))); - AlchemyArrayRecipeRegistry.registerRecipe(ItemComponent.getStack(ItemComponent.REAGENT_BINDING), new ItemStack(Items.DIAMOND_PICKAXE), new AlchemyArrayEffectBinding("boundPickaxe", Utils.setUnbreakable(new ItemStack(RegistrarBloodMagicItems.BOUND_PICKAXE)))); - AlchemyArrayRecipeRegistry.registerRecipe(ItemComponent.getStack(ItemComponent.REAGENT_BINDING), new ItemStack(Items.DIAMOND_SHOVEL), new AlchemyArrayEffectBinding("boundShovel", Utils.setUnbreakable(new ItemStack(RegistrarBloodMagicItems.BOUND_SHOVEL)))); - AlchemyArrayRecipeRegistry.registerRecipe(ItemComponent.getStack(ItemComponent.REAGENT_BINDING), new ItemStack(Items.IRON_HELMET), new AlchemyArrayEffectBinding("livingHelmet", new ItemStack(RegistrarBloodMagicItems.LIVING_ARMOUR_HELMET))); - AlchemyArrayRecipeRegistry.registerRecipe(ItemComponent.getStack(ItemComponent.REAGENT_BINDING), new ItemStack(Items.IRON_CHESTPLATE), new AlchemyArrayEffectBinding("livingChest", new ItemStack(RegistrarBloodMagicItems.LIVING_ARMOUR_CHEST))); - AlchemyArrayRecipeRegistry.registerRecipe(ItemComponent.getStack(ItemComponent.REAGENT_BINDING), new ItemStack(Items.IRON_LEGGINGS), new AlchemyArrayEffectBinding("livingLegs", new ItemStack(RegistrarBloodMagicItems.LIVING_ARMOUR_LEGGINGS))); - AlchemyArrayRecipeRegistry.registerRecipe(ItemComponent.getStack(ItemComponent.REAGENT_BINDING), new ItemStack(Items.IRON_BOOTS), new AlchemyArrayEffectBinding("livingBoots", new ItemStack(RegistrarBloodMagicItems.LIVING_ARMOUR_BOOTS))); + AlchemyArrayRecipeRegistry.registerRecipe(ComponentType.REAGENT_BINDING.getStack(), new ItemStack(Items.DIAMOND_SWORD), new AlchemyArrayEffectBinding("boundSword", Utils.setUnbreakable(new ItemStack(RegistrarBloodMagicItems.BOUND_SWORD))), new BindingAlchemyCircleRenderer()); + AlchemyArrayRecipeRegistry.registerRecipe(ComponentType.REAGENT_BINDING.getStack(), new ItemStack(Items.DIAMOND_AXE), new AlchemyArrayEffectBinding("boundAxe", Utils.setUnbreakable(new ItemStack(RegistrarBloodMagicItems.BOUND_AXE)))); + AlchemyArrayRecipeRegistry.registerRecipe(ComponentType.REAGENT_BINDING.getStack(), new ItemStack(Items.DIAMOND_PICKAXE), new AlchemyArrayEffectBinding("boundPickaxe", Utils.setUnbreakable(new ItemStack(RegistrarBloodMagicItems.BOUND_PICKAXE)))); + AlchemyArrayRecipeRegistry.registerRecipe(ComponentType.REAGENT_BINDING.getStack(), new ItemStack(Items.DIAMOND_SHOVEL), new AlchemyArrayEffectBinding("boundShovel", Utils.setUnbreakable(new ItemStack(RegistrarBloodMagicItems.BOUND_SHOVEL)))); + AlchemyArrayRecipeRegistry.registerRecipe(ComponentType.REAGENT_BINDING.getStack(), new ItemStack(Items.IRON_HELMET), new AlchemyArrayEffectBinding("livingHelmet", new ItemStack(RegistrarBloodMagicItems.LIVING_ARMOUR_HELMET))); + AlchemyArrayRecipeRegistry.registerRecipe(ComponentType.REAGENT_BINDING.getStack(), new ItemStack(Items.IRON_CHESTPLATE), new AlchemyArrayEffectBinding("livingChest", new ItemStack(RegistrarBloodMagicItems.LIVING_ARMOUR_CHEST))); + AlchemyArrayRecipeRegistry.registerRecipe(ComponentType.REAGENT_BINDING.getStack(), new ItemStack(Items.IRON_LEGGINGS), new AlchemyArrayEffectBinding("livingLegs", new ItemStack(RegistrarBloodMagicItems.LIVING_ARMOUR_LEGGINGS))); + AlchemyArrayRecipeRegistry.registerRecipe(ComponentType.REAGENT_BINDING.getStack(), new ItemStack(Items.IRON_BOOTS), new AlchemyArrayEffectBinding("livingBoots", new ItemStack(RegistrarBloodMagicItems.LIVING_ARMOUR_BOOTS))); AlchemyArrayRecipeRegistry.registerCraftingRecipe(new ItemStack(Items.REDSTONE), new ItemStack(RegistrarBloodMagicItems.SLATE), new ItemStack(RegistrarBloodMagicItems.SIGIL_DIVINATION), new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/DivinationSigil.png")); - AlchemyArrayRecipeRegistry.registerCraftingRecipe(ItemComponent.getStack(ItemComponent.REAGENT_WATER), new ItemStack(RegistrarBloodMagicItems.SLATE), new ItemStack(RegistrarBloodMagicItems.SIGIL_WATER), new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/WaterSigil.png")); - AlchemyArrayRecipeRegistry.registerCraftingRecipe(ItemComponent.getStack(ItemComponent.REAGENT_LAVA), new ItemStack(RegistrarBloodMagicItems.SLATE), new ItemStack(RegistrarBloodMagicItems.SIGIL_LAVA), new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/LavaSigil.png")); - AlchemyArrayRecipeRegistry.registerCraftingRecipe(ItemComponent.getStack(ItemComponent.REAGENT_AIR), new ItemStack(RegistrarBloodMagicItems.SLATE, 1, 1), new ItemStack(RegistrarBloodMagicItems.SIGIL_AIR), new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/AirSigil.png")); - AlchemyArrayRecipeRegistry.registerCraftingRecipe(ItemComponent.getStack(ItemComponent.REAGENT_FASTMINER), new ItemStack(RegistrarBloodMagicItems.SLATE, 1, 1), new ItemStack(RegistrarBloodMagicItems.SIGIL_FAST_MINER), new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/FastMinerSigil.png")); - AlchemyArrayRecipeRegistry.registerCraftingRecipe(ItemComponent.getStack(ItemComponent.REAGENT_VOID), new ItemStack(RegistrarBloodMagicItems.SLATE, 1, 1), new ItemStack(RegistrarBloodMagicItems.SIGIL_VOID), new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/VoidSigil.png")); - AlchemyArrayRecipeRegistry.registerCraftingRecipe(ItemComponent.getStack(ItemComponent.REAGENT_GROWTH), new ItemStack(RegistrarBloodMagicItems.SLATE, 1, 1), new ItemStack(RegistrarBloodMagicItems.SIGIL_GREEN_GROVE), new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/GrowthSigil.png")); - AlchemyArrayRecipeRegistry.registerCraftingRecipe(ItemComponent.getStack(ItemComponent.REAGENT_AFFINITY), new ItemStack(RegistrarBloodMagicItems.SLATE, 1, 2), new ItemStack(RegistrarBloodMagicItems.SIGIL_ELEMENTAL_AFFINITY), new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/ElementalAffinitySigil.png")); - AlchemyArrayRecipeRegistry.registerCraftingRecipe(ItemComponent.getStack(ItemComponent.REAGENT_SIGHT), new ItemStack(RegistrarBloodMagicItems.SLATE, 1, 1), new ItemStack(RegistrarBloodMagicItems.SIGIL_SEER), new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/SightSigil.png")); - AlchemyArrayRecipeRegistry.registerCraftingRecipe(ItemComponent.getStack(ItemComponent.REAGENT_HOLDING), new ItemStack(RegistrarBloodMagicItems.SLATE, 1, 2), new ItemStack(RegistrarBloodMagicItems.SIGIL_HOLDING), new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/WIPArray.png")); - AlchemyArrayRecipeRegistry.registerCraftingRecipe(ItemComponent.getStack(ItemComponent.REAGENT_BLOODLIGHT), new ItemStack(RegistrarBloodMagicItems.SLATE, 1, 2), new ItemStack(RegistrarBloodMagicItems.SIGIL_BLOOD_LIGHT), new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/LightSigil.png")); - AlchemyArrayRecipeRegistry.registerCraftingRecipe(ItemComponent.getStack(ItemComponent.REAGENT_MAGNETISM), new ItemStack(RegistrarBloodMagicItems.SLATE, 1, 2), new ItemStack(RegistrarBloodMagicItems.SIGIL_MAGNETISM), new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/MagnetismSigil.png")); - AlchemyArrayRecipeRegistry.registerCraftingRecipe(ItemComponent.getStack(ItemComponent.REAGENT_SUPPRESSION), new ItemStack(RegistrarBloodMagicItems.SLATE, 1, 3), new ItemStack(RegistrarBloodMagicItems.SIGIL_SUPPRESSION), new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/SuppressionSigil.png")); - AlchemyArrayRecipeRegistry.registerCraftingRecipe(ItemComponent.getStack(ItemComponent.REAGENT_HASTE), new ItemStack(RegistrarBloodMagicItems.SLATE, 1, 3), new ItemStack(RegistrarBloodMagicItems.SIGIL_HASTE), new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/WIPArray.png")); - AlchemyArrayRecipeRegistry.registerCraftingRecipe(ItemComponent.getStack(ItemComponent.REAGENT_BRIDGE), new ItemStack(RegistrarBloodMagicItems.SLATE, 1, 3), new ItemStack(RegistrarBloodMagicItems.SIGIL_PHANTOM_BRIDGE), new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/WIPArray.png")); - AlchemyArrayRecipeRegistry.registerCraftingRecipe(ItemComponent.getStack(ItemComponent.REAGENT_COMPRESSION), new ItemStack(RegistrarBloodMagicItems.SLATE, 1, 3), new ItemStack(RegistrarBloodMagicItems.SIGIL_COMPRESSION), new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/WIPArray.png")); - AlchemyArrayRecipeRegistry.registerCraftingRecipe(ItemComponent.getStack(ItemComponent.REAGENT_SEVERANCE), new ItemStack(RegistrarBloodMagicItems.SLATE, 1, 3), new ItemStack(RegistrarBloodMagicItems.SIGIL_ENDER_SEVERANCE), new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/WIPArray.png")); - AlchemyArrayRecipeRegistry.registerCraftingRecipe(ItemComponent.getStack(ItemComponent.REAGENT_TELEPOSITION), new ItemStack(RegistrarBloodMagicItems.SLATE, 1, 3), new ItemStack(RegistrarBloodMagicItems.SIGIL_TELEPOSITION), new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/WIPArray.png")); - AlchemyArrayRecipeRegistry.registerCraftingRecipe(ItemComponent.getStack(ItemComponent.REAGENT_TRANSPOSITION), new ItemStack(RegistrarBloodMagicItems.SLATE, 1, 3), new ItemStack(RegistrarBloodMagicItems.SIGIL_TRANSPOSITION), new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/WIPArray.png")); - AlchemyArrayRecipeRegistry.registerCraftingRecipe(ItemComponent.getStack(ItemComponent.REAGENT_CLAW), new ItemStack(RegistrarBloodMagicItems.SLATE, 1, 2), new ItemStack(RegistrarBloodMagicItems.SIGIL_CLAW), new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/WIPArray.png")); - AlchemyArrayRecipeRegistry.registerCraftingRecipe(ItemComponent.getStack(ItemComponent.REAGENT_BOUNCE), new ItemStack(RegistrarBloodMagicItems.SLATE, 1, 1), new ItemStack(RegistrarBloodMagicItems.SIGIL_BOUNCE), new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/WIPArray.png")); - AlchemyArrayRecipeRegistry.registerCraftingRecipe(ItemComponent.getStack(ItemComponent.REAGENT_FROST), new ItemStack(RegistrarBloodMagicItems.SLATE, 1, 1), new ItemStack(RegistrarBloodMagicItems.SIGIL_FROST), new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/WIPArray.png")); + AlchemyArrayRecipeRegistry.registerCraftingRecipe(ComponentType.REAGENT_WATER.getStack(), new ItemStack(RegistrarBloodMagicItems.SLATE), new ItemStack(RegistrarBloodMagicItems.SIGIL_WATER), new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/WaterSigil.png")); + AlchemyArrayRecipeRegistry.registerCraftingRecipe(ComponentType.REAGENT_LAVA.getStack(), new ItemStack(RegistrarBloodMagicItems.SLATE), new ItemStack(RegistrarBloodMagicItems.SIGIL_LAVA), new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/LavaSigil.png")); + AlchemyArrayRecipeRegistry.registerCraftingRecipe(ComponentType.REAGENT_AIR.getStack(), new ItemStack(RegistrarBloodMagicItems.SLATE, 1, 1), new ItemStack(RegistrarBloodMagicItems.SIGIL_AIR), new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/AirSigil.png")); + AlchemyArrayRecipeRegistry.registerCraftingRecipe(ComponentType.REAGENT_FASTMINER.getStack(), new ItemStack(RegistrarBloodMagicItems.SLATE, 1, 1), new ItemStack(RegistrarBloodMagicItems.SIGIL_FAST_MINER), new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/FastMinerSigil.png")); + AlchemyArrayRecipeRegistry.registerCraftingRecipe(ComponentType.REAGENT_VOID.getStack(), new ItemStack(RegistrarBloodMagicItems.SLATE, 1, 1), new ItemStack(RegistrarBloodMagicItems.SIGIL_VOID), new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/VoidSigil.png")); + AlchemyArrayRecipeRegistry.registerCraftingRecipe(ComponentType.REAGENT_GROWTH.getStack(), new ItemStack(RegistrarBloodMagicItems.SLATE, 1, 1), new ItemStack(RegistrarBloodMagicItems.SIGIL_GREEN_GROVE), new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/GrowthSigil.png")); + AlchemyArrayRecipeRegistry.registerCraftingRecipe(ComponentType.REAGENT_AFFINITY.getStack(), new ItemStack(RegistrarBloodMagicItems.SLATE, 1, 2), new ItemStack(RegistrarBloodMagicItems.SIGIL_ELEMENTAL_AFFINITY), new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/ElementalAffinitySigil.png")); + AlchemyArrayRecipeRegistry.registerCraftingRecipe(ComponentType.REAGENT_SIGHT.getStack(), new ItemStack(RegistrarBloodMagicItems.SLATE, 1, 1), new ItemStack(RegistrarBloodMagicItems.SIGIL_SEER), new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/SightSigil.png")); + AlchemyArrayRecipeRegistry.registerCraftingRecipe(ComponentType.REAGENT_HOLDING.getStack(), new ItemStack(RegistrarBloodMagicItems.SLATE, 1, 2), new ItemStack(RegistrarBloodMagicItems.SIGIL_HOLDING), new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/WIPArray.png")); + AlchemyArrayRecipeRegistry.registerCraftingRecipe(ComponentType.REAGENT_BLOODLIGHT.getStack(), new ItemStack(RegistrarBloodMagicItems.SLATE, 1, 2), new ItemStack(RegistrarBloodMagicItems.SIGIL_BLOOD_LIGHT), new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/LightSigil.png")); + AlchemyArrayRecipeRegistry.registerCraftingRecipe(ComponentType.REAGENT_MAGNETISM.getStack(), new ItemStack(RegistrarBloodMagicItems.SLATE, 1, 2), new ItemStack(RegistrarBloodMagicItems.SIGIL_MAGNETISM), new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/MagnetismSigil.png")); + AlchemyArrayRecipeRegistry.registerCraftingRecipe(ComponentType.REAGENT_SUPPRESSION.getStack(), new ItemStack(RegistrarBloodMagicItems.SLATE, 1, 3), new ItemStack(RegistrarBloodMagicItems.SIGIL_SUPPRESSION), new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/SuppressionSigil.png")); + AlchemyArrayRecipeRegistry.registerCraftingRecipe(ComponentType.REAGENT_HASTE.getStack(), new ItemStack(RegistrarBloodMagicItems.SLATE, 1, 3), new ItemStack(RegistrarBloodMagicItems.SIGIL_HASTE), new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/WIPArray.png")); + AlchemyArrayRecipeRegistry.registerCraftingRecipe(ComponentType.REAGENT_BRIDGE.getStack(), new ItemStack(RegistrarBloodMagicItems.SLATE, 1, 3), new ItemStack(RegistrarBloodMagicItems.SIGIL_PHANTOM_BRIDGE), new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/WIPArray.png")); + AlchemyArrayRecipeRegistry.registerCraftingRecipe(ComponentType.REAGENT_COMPRESSION.getStack(), new ItemStack(RegistrarBloodMagicItems.SLATE, 1, 3), new ItemStack(RegistrarBloodMagicItems.SIGIL_COMPRESSION), new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/WIPArray.png")); + AlchemyArrayRecipeRegistry.registerCraftingRecipe(ComponentType.REAGENT_SEVERANCE.getStack(), new ItemStack(RegistrarBloodMagicItems.SLATE, 1, 3), new ItemStack(RegistrarBloodMagicItems.SIGIL_ENDER_SEVERANCE), new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/WIPArray.png")); + AlchemyArrayRecipeRegistry.registerCraftingRecipe(ComponentType.REAGENT_TELEPOSITION.getStack(), new ItemStack(RegistrarBloodMagicItems.SLATE, 1, 3), new ItemStack(RegistrarBloodMagicItems.SIGIL_TELEPOSITION), new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/WIPArray.png")); + AlchemyArrayRecipeRegistry.registerCraftingRecipe(ComponentType.REAGENT_TRANSPOSITION.getStack(), new ItemStack(RegistrarBloodMagicItems.SLATE, 1, 3), new ItemStack(RegistrarBloodMagicItems.SIGIL_TRANSPOSITION), new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/WIPArray.png")); + AlchemyArrayRecipeRegistry.registerCraftingRecipe(ComponentType.REAGENT_CLAW.getStack(), new ItemStack(RegistrarBloodMagicItems.SLATE, 1, 2), new ItemStack(RegistrarBloodMagicItems.SIGIL_CLAW), new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/WIPArray.png")); + AlchemyArrayRecipeRegistry.registerCraftingRecipe(ComponentType.REAGENT_BOUNCE.getStack(), new ItemStack(RegistrarBloodMagicItems.SLATE, 1, 1), new ItemStack(RegistrarBloodMagicItems.SIGIL_BOUNCE), new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/WIPArray.png")); + AlchemyArrayRecipeRegistry.registerCraftingRecipe(ComponentType.REAGENT_FROST.getStack(), new ItemStack(RegistrarBloodMagicItems.SLATE, 1, 1), new ItemStack(RegistrarBloodMagicItems.SIGIL_FROST), new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/WIPArray.png")); AlchemyArrayRecipeRegistry.registerRecipe(new ItemStack(Items.ROTTEN_FLESH), new ItemStack(Items.ROTTEN_FLESH), new AlchemyArrayEffectAttractor("attractor"), new AttractorAlchemyCircleRenderer()); AlchemyArrayRecipeRegistry.registerRecipe(new ItemStack(Items.FEATHER), new ItemStack(Items.REDSTONE), new AlchemyArrayEffectMovement("movement"), new StaticAlchemyCircleRenderer(new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/MovementArray.png"))); @@ -109,7 +109,7 @@ public class ModRecipes { AlchemyArrayRecipeRegistry.registerRecipe(new ItemStack(Items.ARROW), new ItemStack(Items.FEATHER), new AlchemyArrayEffectSkeletonTurret("skeletonTurret"), new DualAlchemyCircleRenderer(new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/SkeletonTurret1.png"), new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/SkeletonTurret2.png"))); - AlchemyArrayRecipeRegistry.registerRecipe(ItemComponent.getStack(ItemComponent.REAGENT_FASTMINER), new ItemStack(Items.IRON_PICKAXE), new AlchemyArrayEffectSigil("fastMiner", (ISigil) RegistrarBloodMagicItems.SIGIL_FAST_MINER), new SingleAlchemyCircleRenderer(new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/FastMinerSigil.png"))); + AlchemyArrayRecipeRegistry.registerRecipe(ComponentType.REAGENT_FASTMINER.getStack(), new ItemStack(Items.IRON_PICKAXE), new AlchemyArrayEffectSigil("fastMiner", (ISigil) RegistrarBloodMagicItems.SIGIL_FAST_MINER), new SingleAlchemyCircleRenderer(new ResourceLocation("bloodmagic", "textures/models/AlchemyArrays/FastMinerSigil.png"))); } @@ -142,16 +142,16 @@ public class ModRecipes { AlchemyTableRecipeRegistry.registerRecipe(new ItemStack(Blocks.CLAY, 5), 200, 200, 1, Items.WATER_BUCKET, Blocks.HARDENED_CLAY, Blocks.HARDENED_CLAY, Blocks.HARDENED_CLAY, Blocks.HARDENED_CLAY, Blocks.HARDENED_CLAY); AlchemyTableRecipeRegistry.registerRecipe(new ItemStack(Blocks.OBSIDIAN), 50, 50, 1, Items.WATER_BUCKET, Items.LAVA_BUCKET); - AlchemyTableRecipeRegistry.registerRecipe(ItemComponent.getStack(ItemComponent.SULFUR, 8), 0, 100, 0, Items.LAVA_BUCKET); - AlchemyTableRecipeRegistry.registerRecipe(ItemComponent.getStack(ItemComponent.SALTPETER, 4), 0, 100, 0, ItemComponent.getStack(ItemComponent.PLANT_OIL), ItemComponent.getStack(ItemComponent.PLANT_OIL), "dustCoal"); - AlchemyTableRecipeRegistry.registerRecipe(new ItemStack(Items.GUNPOWDER, 3), 0, 100, 0, ItemComponent.getStack(ItemComponent.SALTPETER), ItemComponent.getStack(ItemComponent.SULFUR), new ItemStack(Items.COAL, 1, 1)); + AlchemyTableRecipeRegistry.registerRecipe(ComponentType.SULFUR.getStack(8), 0, 100, 0, Items.LAVA_BUCKET); + AlchemyTableRecipeRegistry.registerRecipe(ComponentType.SALTPETER.getStack(4), 0, 100, 0, ComponentType.PLANT_OIL.getStack(), ComponentType.PLANT_OIL.getStack(), "dustCoal"); + AlchemyTableRecipeRegistry.registerRecipe(new ItemStack(Items.GUNPOWDER, 3), 0, 100, 0, ComponentType.SALTPETER.getStack(), ComponentType.SULFUR.getStack(), new ItemStack(Items.COAL, 1, 1)); - AlchemyTableRecipeRegistry.registerRecipe(new AlchemyTableCustomRecipe(ItemComponent.getStack(ItemComponent.SAND_COAL, 4), 100, 100, 1, new ItemStack(Items.COAL, 1, 0), new ItemStack(Items.COAL, 1, 0), Items.FLINT)); + AlchemyTableRecipeRegistry.registerRecipe(new AlchemyTableCustomRecipe(ComponentType.SAND_COAL.getStack(4), 100, 100, 1, new ItemStack(Items.COAL, 1, 0), new ItemStack(Items.COAL, 1, 0), Items.FLINT)); - AlchemyTableRecipeRegistry.registerRecipe(ItemCuttingFluid.getStack(ItemCuttingFluid.BASIC), 1000, 400, 1, "dustCoal", "gunpowder", Items.REDSTONE, Items.SUGAR, ItemComponent.getStack(ItemComponent.PLANT_OIL), new ItemStack(Items.POTIONITEM)); + AlchemyTableRecipeRegistry.registerRecipe(ItemCuttingFluid.getStack(ItemCuttingFluid.BASIC), 1000, 400, 1, "dustCoal", "gunpowder", Items.REDSTONE, Items.SUGAR, ComponentType.PLANT_OIL.getStack(), new ItemStack(Items.POTIONITEM)); - AlchemyTableRecipeRegistry.registerRecipe(new AlchemyTableCustomRecipe(ItemComponent.getStack(ItemComponent.SAND_IRON, 2), 400, 200, 1, "oreIron", ItemCuttingFluid.getStack(ItemCuttingFluid.BASIC))); - AlchemyTableRecipeRegistry.registerRecipe(new AlchemyTableCustomRecipe(ItemComponent.getStack(ItemComponent.SAND_GOLD, 2), 400, 200, 1, "oreGold", ItemCuttingFluid.getStack(ItemCuttingFluid.BASIC))); + AlchemyTableRecipeRegistry.registerRecipe(new AlchemyTableCustomRecipe(ComponentType.SAND_IRON.getStack(2), 400, 200, 1, "oreIron", ItemCuttingFluid.getStack(ItemCuttingFluid.BASIC))); + AlchemyTableRecipeRegistry.registerRecipe(new AlchemyTableCustomRecipe(ComponentType.SAND_GOLD.getStack(2), 400, 200, 1, "oreGold", ItemCuttingFluid.getStack(ItemCuttingFluid.BASIC))); AlchemyTableRecipeRegistry.registerRecipe(new AlchemyTableCustomRecipe(new ItemStack(Items.REDSTONE, 8), 400, 200, 1, "oreRedstone", ItemCuttingFluid.getStack(ItemCuttingFluid.BASIC))); @@ -163,21 +163,21 @@ public class ModRecipes { AlchemyTableRecipeRegistry.registerRecipe(new AlchemyTableCustomRecipe(new ItemStack(Blocks.GRAVEL), 50, 50, 1, "cobblestone", ItemCuttingFluid.getStack(ItemCuttingFluid.EXPLOSIVE))); AlchemyTableRecipeRegistry.registerRecipe(new AlchemyTableCustomRecipe(new ItemStack(Blocks.SAND), 50, 50, 1, Blocks.GRAVEL, ItemCuttingFluid.getStack(ItemCuttingFluid.EXPLOSIVE))); - AlchemyTableRecipeRegistry.registerRecipe(ItemComponent.getStack(ItemComponent.PLANT_OIL), 100, 100, 1, "cropCarrot", "cropCarrot", "cropCarrot", new ItemStack(Items.DYE, 1, 15)); - AlchemyTableRecipeRegistry.registerRecipe(ItemComponent.getStack(ItemComponent.PLANT_OIL), 100, 100, 1, "cropPotato", "cropPotato", new ItemStack(Items.DYE, 1, 15)); - AlchemyTableRecipeRegistry.registerRecipe(ItemComponent.getStack(ItemComponent.PLANT_OIL), 100, 100, 1, "cropWheat", "cropWheat", new ItemStack(Items.DYE, 1, 15)); - AlchemyTableRecipeRegistry.registerRecipe(ItemComponent.getStack(ItemComponent.PLANT_OIL), 100, 100, 1, Items.BEETROOT, Items.BEETROOT, Items.BEETROOT, new ItemStack(Items.DYE, 1, 15)); + AlchemyTableRecipeRegistry.registerRecipe(ComponentType.PLANT_OIL.getStack(), 100, 100, 1, "cropCarrot", "cropCarrot", "cropCarrot", new ItemStack(Items.DYE, 1, 15)); + AlchemyTableRecipeRegistry.registerRecipe(ComponentType.PLANT_OIL.getStack(), 100, 100, 1, "cropPotato", "cropPotato", new ItemStack(Items.DYE, 1, 15)); + AlchemyTableRecipeRegistry.registerRecipe(ComponentType.PLANT_OIL.getStack(), 100, 100, 1, "cropWheat", "cropWheat", new ItemStack(Items.DYE, 1, 15)); + AlchemyTableRecipeRegistry.registerRecipe(ComponentType.PLANT_OIL.getStack(), 100, 100, 1, Items.BEETROOT, Items.BEETROOT, Items.BEETROOT, new ItemStack(Items.DYE, 1, 15)); - AlchemyTableRecipeRegistry.registerRecipe(ItemComponent.getStack(ItemComponent.NEURO_TOXIN), 1000, 100, 2, new ItemStack(Items.FISH, 1, 3)); - AlchemyTableRecipeRegistry.registerRecipe(ItemComponent.getStack(ItemComponent.ANTISEPTIC, 2), 1000, 200, 2, ItemComponent.getStack(ItemComponent.PLANT_OIL), "nuggetGold", "cropWheat", Items.SUGAR, Blocks.BROWN_MUSHROOM, Blocks.RED_MUSHROOM); + AlchemyTableRecipeRegistry.registerRecipe(ComponentType.NEURO_TOXIN.getStack(), 1000, 100, 2, new ItemStack(Items.FISH, 1, 3)); + AlchemyTableRecipeRegistry.registerRecipe(ComponentType.ANTISEPTIC.getStack(2), 1000, 200, 2, ComponentType.PLANT_OIL.getStack(), "nuggetGold", "cropWheat", Items.SUGAR, Blocks.BROWN_MUSHROOM, Blocks.RED_MUSHROOM); - AlchemyTableRecipeRegistry.registerRecipe(ItemLivingArmourPointsUpgrade.getStack(ItemLivingArmourPointsUpgrade.DRAFT_ANGELUS), 20000, 400, 3, ItemComponent.getStack(ItemComponent.NEURO_TOXIN), ItemComponent.getStack(ItemComponent.ANTISEPTIC), "dustGold", Items.FERMENTED_SPIDER_EYE, new ItemStack(RegistrarBloodMagicItems.BLOOD_SHARD, 1, 0), Items.GHAST_TEAR); + AlchemyTableRecipeRegistry.registerRecipe(ItemLivingArmourPointsUpgrade.getStack(ItemLivingArmourPointsUpgrade.DRAFT_ANGELUS), 20000, 400, 3, ComponentType.NEURO_TOXIN.getStack(), ComponentType.ANTISEPTIC.getStack(), "dustGold", Items.FERMENTED_SPIDER_EYE, new ItemStack(RegistrarBloodMagicItems.BLOOD_SHARD, 1, 0), Items.GHAST_TEAR); AlchemyTableRecipeRegistry.registerRecipe(new AlchemyTableDyeableRecipe(0, 100, 0, new ItemStack(RegistrarBloodMagicItems.SIGIL_HOLDING))); AlchemyTableRecipeRegistry.registerRecipe(new ItemStack(RegistrarBloodMagicItems.POTION_FLASK), 1000, 200, 2, new ItemStack(Items.POTIONITEM), "cropNetherWart", "dustRedstone", "dustGlowstone"); - AlchemyTableRecipeRegistry.registerRecipe(ItemComponent.getStack(ItemComponent.CATALYST_LENGTH_1), 1000, 100, 2, "gunpowder", "cropNetherWart", "gemLapis"); - AlchemyTableRecipeRegistry.registerRecipe(ItemComponent.getStack(ItemComponent.CATALYST_POWER_1), 1000, 100, 2, "gunpowder", "cropNetherWart", "dustRedstone"); + AlchemyTableRecipeRegistry.registerRecipe(ComponentType.CATALYST_LENGTH_1.getStack(), 1000, 100, 2, "gunpowder", "cropNetherWart", "gemLapis"); + AlchemyTableRecipeRegistry.registerRecipe(ComponentType.CATALYST_POWER_1.getStack(), 1000, 100, 2, "gunpowder", "cropNetherWart", "dustRedstone"); } public static void addOreDoublingAlchemyRecipes() { @@ -229,12 +229,12 @@ public class ModRecipes { List lengtheningList = new ArrayList(); lengtheningList.add(inputStack); - lengtheningList.add(mundaneLengtheningStack); + lengtheningList.add(MUNDANE_LENGTHENING_STACK); AlchemyTableRecipeRegistry.registerRecipe(BMPotionUtils.getLengthAugmentRecipe(lpDrained, 100, tier, lengtheningList, baseEffect, 1)); List powerList = new ArrayList(); powerList.add(inputStack); - powerList.add(mundanePowerStack); + powerList.add(MUNDANE_POWER_STACK); AlchemyTableRecipeRegistry.registerRecipe(BMPotionUtils.getPowerAugmentRecipe(lpDrained, 100, tier, powerList, baseEffect, 1)); }