Move ItemComponent to an enum style item

Much cleaner. Less prone to breakage. Less like Kit would have written it.
This commit is contained in:
Nicholas Ignoffo 2017-08-22 15:52:27 -07:00
parent fb2ea2a4fe
commit 114b0c3eda
13 changed files with 257 additions and 272 deletions

View file

@ -3,7 +3,6 @@ package WayofTime.bloodmagic;
import WayofTime.bloodmagic.annot.Handler; import WayofTime.bloodmagic.annot.Handler;
import WayofTime.bloodmagic.api.registry.OrbRegistry; import WayofTime.bloodmagic.api.registry.OrbRegistry;
import WayofTime.bloodmagic.api.registry.RitualRegistry; import WayofTime.bloodmagic.api.registry.RitualRegistry;
import WayofTime.bloodmagic.api.util.helper.LogHelper;
import WayofTime.bloodmagic.api_impl.BloodMagicAPI; import WayofTime.bloodmagic.api_impl.BloodMagicAPI;
import WayofTime.bloodmagic.apiv2.BloodMagicPlugin; import WayofTime.bloodmagic.apiv2.BloodMagicPlugin;
import WayofTime.bloodmagic.apiv2.IBloodMagicPlugin; import WayofTime.bloodmagic.apiv2.IBloodMagicPlugin;

View file

@ -1,7 +1,7 @@
package WayofTime.bloodmagic.client.render.entity; package WayofTime.bloodmagic.client.render.entity;
import WayofTime.bloodmagic.entity.projectile.EntityBloodLight; 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.Minecraft;
import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.RenderItem; import net.minecraft.client.renderer.RenderItem;
@ -26,7 +26,7 @@ public class RenderEntityBloodLight extends Render<EntityBloodLight> {
GlStateManager.rotate(-this.renderManager.playerViewY, 0.0F, 1.0F, 0.0F); GlStateManager.rotate(-this.renderManager.playerViewY, 0.0F, 1.0F, 0.0F);
GlStateManager.rotate(this.renderManager.playerViewX, 1.0F, 0.0F, 0.0F); GlStateManager.rotate(this.renderManager.playerViewX, 1.0F, 0.0F, 0.0F);
this.bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE); 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.disableRescaleNormal();
GlStateManager.popMatrix(); GlStateManager.popMatrix();
super.doRender(entity, x, y, z, entityYaw, partialTicks); super.doRender(entity, x, y, z, entityYaw, partialTicks);

View file

@ -12,7 +12,7 @@ import WayofTime.bloodmagic.compat.guideapi.page.PageTartaricForgeRecipe;
import WayofTime.bloodmagic.core.RegistrarBloodMagic; import WayofTime.bloodmagic.core.RegistrarBloodMagic;
import WayofTime.bloodmagic.core.RegistrarBloodMagicBlocks; import WayofTime.bloodmagic.core.RegistrarBloodMagicBlocks;
import WayofTime.bloodmagic.core.RegistrarBloodMagicItems; 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.RecipeHelper;
import WayofTime.bloodmagic.util.helper.TextHelper; import WayofTime.bloodmagic.util.helper.TextHelper;
import amerifrance.guideapi.api.IPage; 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.getEntry("runeSpeed").addPageList(PageHelper.pagesForLongText(I18n.format(keyBase + "runeSpeed.info.1"), 370));
category.addEntry("water", new EntryText(keyBase + "water", true)); 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").addPage(BookUtils.getAlchemyPage(new ItemStack(RegistrarBloodMagicItems.SIGIL_WATER)));
category.getEntry("water").addPageList(PageHelper.pagesForLongText(I18n.format(keyBase + "water.info.1"), 370)); category.getEntry("water").addPageList(PageHelper.pagesForLongText(I18n.format(keyBase + "water.info.1"), 370));
category.addEntry("lava", new EntryText(keyBase + "lava", true)); 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").addPage(BookUtils.getAlchemyPage(new ItemStack(RegistrarBloodMagicItems.SIGIL_LAVA)));
category.getEntry("lava").addPageList(PageHelper.pagesForLongText(I18n.format(keyBase + "lava.info.1"), 370)); 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.getEntry("runeSelfSacrifice").addPageList(PageHelper.pagesForLongText(I18n.format(keyBase + "runeSelfSacrifice.info.1"), 370));
category.addEntry("holding", new EntryText(keyBase + "holding", true)); 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").addPage(BookUtils.getAlchemyPage(new ItemStack(RegistrarBloodMagicItems.SIGIL_HOLDING)));
category.getEntry("holding").addPageList(PageHelper.pagesForLongText(I18n.format(keyBase + "holding.info.1"), 370)); category.getEntry("holding").addPageList(PageHelper.pagesForLongText(I18n.format(keyBase + "holding.info.1"), 370));
List<IPage> airPages = new ArrayList<IPage>(); category.addEntry("air", new EntryText(keyBase + "air", true));
category.getEntry("air").addPage(BookUtils.getForgeRecipe(ComponentType.REAGENT_AIR.getStack()));
TartaricForgeRecipe airRecipe = RecipeHelper.getForgeRecipeForOutput(ItemComponent.getStack(ItemComponent.REAGENT_AIR)); category.getEntry("air").addPage(BookUtils.getAlchemyPage(new ItemStack(RegistrarBloodMagicItems.SIGIL_AIR)));
if (airRecipe != null) { category.getEntry("air").addPageList(PageHelper.pagesForLongText(I18n.format(keyBase + "air.info.1"), 370));
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));
List<IPage> voidPages = new ArrayList<IPage>(); List<IPage> voidPages = new ArrayList<IPage>();
TartaricForgeRecipe voidRecipe = RecipeHelper.getForgeRecipeForOutput(ItemComponent.getStack(ItemComponent.REAGENT_VOID)); TartaricForgeRecipe voidRecipe = RecipeHelper.getForgeRecipeForOutput(ComponentType.REAGENT_VOID.getStack());
if (voidRecipe != null) { if (voidRecipe != null) {
voidPages.add(new PageTartaricForgeRecipe(voidRecipe)); voidPages.add(new PageTartaricForgeRecipe(voidRecipe));
} }
@ -146,7 +136,7 @@ public class CategoryArchitect {
List<IPage> greenGrovePages = new ArrayList<IPage>(); List<IPage> greenGrovePages = new ArrayList<IPage>();
TartaricForgeRecipe greenGroveRecipe = RecipeHelper.getForgeRecipeForOutput(ItemComponent.getStack(ItemComponent.REAGENT_GROWTH)); TartaricForgeRecipe greenGroveRecipe = RecipeHelper.getForgeRecipeForOutput(ComponentType.REAGENT_GROWTH.getStack());
if (greenGroveRecipe != null) { if (greenGroveRecipe != null) {
greenGrovePages.add(new PageTartaricForgeRecipe(greenGroveRecipe)); greenGrovePages.add(new PageTartaricForgeRecipe(greenGroveRecipe));
} }
@ -161,7 +151,7 @@ public class CategoryArchitect {
List<IPage> fastMinerPages = new ArrayList<IPage>(); List<IPage> fastMinerPages = new ArrayList<IPage>();
TartaricForgeRecipe fastMinerRecipe = RecipeHelper.getForgeRecipeForOutput(ItemComponent.getStack(ItemComponent.REAGENT_FASTMINER)); TartaricForgeRecipe fastMinerRecipe = RecipeHelper.getForgeRecipeForOutput(ComponentType.REAGENT_FASTMINER.getStack());
if (fastMinerRecipe != null) { if (fastMinerRecipe != null) {
fastMinerPages.add(new PageTartaricForgeRecipe(fastMinerRecipe)); fastMinerPages.add(new PageTartaricForgeRecipe(fastMinerRecipe));
} }
@ -176,7 +166,7 @@ public class CategoryArchitect {
List<IPage> seerPages = new ArrayList<IPage>(); List<IPage> seerPages = new ArrayList<IPage>();
TartaricForgeRecipe seerRecipe = RecipeHelper.getForgeRecipeForOutput(ItemComponent.getStack(ItemComponent.REAGENT_SIGHT)); TartaricForgeRecipe seerRecipe = RecipeHelper.getForgeRecipeForOutput(ComponentType.REAGENT_SIGHT.getStack());
if (seerRecipe != null) { if (seerRecipe != null) {
seerPages.add(new PageTartaricForgeRecipe(seerRecipe)); seerPages.add(new PageTartaricForgeRecipe(seerRecipe));
} }
@ -221,7 +211,7 @@ public class CategoryArchitect {
List<IPage> affinityPages = new ArrayList<IPage>(); List<IPage> affinityPages = new ArrayList<IPage>();
TartaricForgeRecipe affinityRecipe = RecipeHelper.getForgeRecipeForOutput(ItemComponent.getStack(ItemComponent.REAGENT_AFFINITY)); TartaricForgeRecipe affinityRecipe = RecipeHelper.getForgeRecipeForOutput(ComponentType.REAGENT_AFFINITY.getStack());
if (affinityRecipe != null) { if (affinityRecipe != null) {
affinityPages.add(new PageTartaricForgeRecipe(affinityRecipe)); affinityPages.add(new PageTartaricForgeRecipe(affinityRecipe));
} }
@ -236,7 +226,7 @@ public class CategoryArchitect {
List<IPage> lampPages = new ArrayList<IPage>(); List<IPage> lampPages = new ArrayList<IPage>();
TartaricForgeRecipe lampRecipe = RecipeHelper.getForgeRecipeForOutput(ItemComponent.getStack(ItemComponent.REAGENT_BLOODLIGHT)); TartaricForgeRecipe lampRecipe = RecipeHelper.getForgeRecipeForOutput(ComponentType.REAGENT_BLOODLIGHT.getStack());
if (lampRecipe != null) { if (lampRecipe != null) {
lampPages.add(new PageTartaricForgeRecipe(lampRecipe)); lampPages.add(new PageTartaricForgeRecipe(lampRecipe));
} }
@ -251,7 +241,7 @@ public class CategoryArchitect {
List<IPage> magnetismPages = new ArrayList<IPage>(); List<IPage> magnetismPages = new ArrayList<IPage>();
TartaricForgeRecipe magnetismRecipe = RecipeHelper.getForgeRecipeForOutput(ItemComponent.getStack(ItemComponent.REAGENT_MAGNETISM)); TartaricForgeRecipe magnetismRecipe = RecipeHelper.getForgeRecipeForOutput(ComponentType.REAGENT_MAGNETISM.getStack());
if (magnetismRecipe != null) { if (magnetismRecipe != null) {
magnetismPages.add(new PageTartaricForgeRecipe(magnetismRecipe)); magnetismPages.add(new PageTartaricForgeRecipe(magnetismRecipe));
} }
@ -276,7 +266,7 @@ public class CategoryArchitect {
List<IPage> livingArmourPages = new ArrayList<IPage>(); List<IPage> livingArmourPages = new ArrayList<IPage>();
TartaricForgeRecipe bindingRecipe = RecipeHelper.getForgeRecipeForOutput(ItemComponent.getStack(ItemComponent.REAGENT_BINDING)); TartaricForgeRecipe bindingRecipe = RecipeHelper.getForgeRecipeForOutput(ComponentType.REAGENT_BINDING.getStack());
if (bindingRecipe != null) { if (bindingRecipe != null) {
livingArmourPages.add(new PageTartaricForgeRecipe(bindingRecipe)); livingArmourPages.add(new PageTartaricForgeRecipe(bindingRecipe));
} }
@ -416,7 +406,7 @@ public class CategoryArchitect {
List<IPage> suppressionPages = new ArrayList<IPage>(); List<IPage> suppressionPages = new ArrayList<IPage>();
TartaricForgeRecipe suppressionRecipe = RecipeHelper.getForgeRecipeForOutput(ItemComponent.getStack(ItemComponent.REAGENT_SUPPRESSION)); TartaricForgeRecipe suppressionRecipe = RecipeHelper.getForgeRecipeForOutput(ComponentType.REAGENT_SUPPRESSION.getStack());
if (suppressionRecipe != null) { if (suppressionRecipe != null) {
suppressionPages.add(new PageTartaricForgeRecipe(suppressionRecipe)); suppressionPages.add(new PageTartaricForgeRecipe(suppressionRecipe));
} }
@ -431,7 +421,7 @@ public class CategoryArchitect {
List<IPage> hastePages = new ArrayList<IPage>(); List<IPage> hastePages = new ArrayList<IPage>();
TartaricForgeRecipe hasteRecipe = RecipeHelper.getForgeRecipeForOutput(ItemComponent.getStack(ItemComponent.REAGENT_HASTE)); TartaricForgeRecipe hasteRecipe = RecipeHelper.getForgeRecipeForOutput(ComponentType.REAGENT_HASTE.getStack());
if (hasteRecipe != null) { if (hasteRecipe != null) {
hastePages.add(new PageTartaricForgeRecipe(hasteRecipe)); hastePages.add(new PageTartaricForgeRecipe(hasteRecipe));
} }
@ -446,7 +436,7 @@ public class CategoryArchitect {
List<IPage> severancePages = new ArrayList<IPage>(); List<IPage> severancePages = new ArrayList<IPage>();
TartaricForgeRecipe severanceRecipe = RecipeHelper.getForgeRecipeForOutput(ItemComponent.getStack(ItemComponent.REAGENT_SEVERANCE)); TartaricForgeRecipe severanceRecipe = RecipeHelper.getForgeRecipeForOutput(ComponentType.REAGENT_SEVERANCE.getStack());
if (severanceRecipe != null) { if (severanceRecipe != null) {
severancePages.add(new PageTartaricForgeRecipe(severanceRecipe)); severancePages.add(new PageTartaricForgeRecipe(severanceRecipe));
} }
@ -461,7 +451,7 @@ public class CategoryArchitect {
List<IPage> telepositionPages = new ArrayList<IPage>(); List<IPage> telepositionPages = new ArrayList<IPage>();
TartaricForgeRecipe telepositionRecipe = RecipeHelper.getForgeRecipeForOutput(ItemComponent.getStack(ItemComponent.REAGENT_TELEPOSITION)); TartaricForgeRecipe telepositionRecipe = RecipeHelper.getForgeRecipeForOutput(ComponentType.REAGENT_TELEPOSITION.getStack());
if (telepositionRecipe != null) { if (telepositionRecipe != null) {
telepositionPages.add(new PageTartaricForgeRecipe(telepositionRecipe)); telepositionPages.add(new PageTartaricForgeRecipe(telepositionRecipe));
} }
@ -476,7 +466,7 @@ public class CategoryArchitect {
List<IPage> compressionPages = new ArrayList<IPage>(); List<IPage> compressionPages = new ArrayList<IPage>();
TartaricForgeRecipe compressionRecipe = RecipeHelper.getForgeRecipeForOutput(ItemComponent.getStack(ItemComponent.REAGENT_COMPRESSION)); TartaricForgeRecipe compressionRecipe = RecipeHelper.getForgeRecipeForOutput(ComponentType.REAGENT_COMPRESSION.getStack());
if (compressionRecipe != null) { if (compressionRecipe != null) {
compressionPages.add(new PageTartaricForgeRecipe(compressionRecipe)); compressionPages.add(new PageTartaricForgeRecipe(compressionRecipe));
} }
@ -491,7 +481,7 @@ public class CategoryArchitect {
List<IPage> bridgePages = new ArrayList<IPage>(); List<IPage> bridgePages = new ArrayList<IPage>();
TartaricForgeRecipe bridgeRecipe = RecipeHelper.getForgeRecipeForOutput(ItemComponent.getStack(ItemComponent.REAGENT_BRIDGE)); TartaricForgeRecipe bridgeRecipe = RecipeHelper.getForgeRecipeForOutput(ComponentType.REAGENT_BRIDGE.getStack());
if (bridgeRecipe != null) { if (bridgeRecipe != null) {
bridgePages.add(new PageTartaricForgeRecipe(bridgeRecipe)); bridgePages.add(new PageTartaricForgeRecipe(bridgeRecipe));
} }

View file

@ -8,14 +8,17 @@ import WayofTime.bloodmagic.entity.projectile.EntityBloodLight;
import WayofTime.bloodmagic.entity.projectile.EntityMeteor; import WayofTime.bloodmagic.entity.projectile.EntityMeteor;
import WayofTime.bloodmagic.entity.projectile.EntitySentientArrow; import WayofTime.bloodmagic.entity.projectile.EntitySentientArrow;
import WayofTime.bloodmagic.entity.projectile.EntitySoulSnare; import WayofTime.bloodmagic.entity.projectile.EntitySoulSnare;
import WayofTime.bloodmagic.item.types.ComponentType;
import WayofTime.bloodmagic.potion.PotionBloodMagic; import WayofTime.bloodmagic.potion.PotionBloodMagic;
import net.minecraft.client.renderer.block.model.ModelResourceLocation; import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.init.MobEffects; import net.minecraft.init.MobEffects;
import net.minecraft.item.ItemStack;
import net.minecraft.potion.Potion; import net.minecraft.potion.Potion;
import net.minecraft.util.ResourceLocation; import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.event.ModelRegistryEvent; import net.minecraftforge.client.event.ModelRegistryEvent;
import net.minecraftforge.client.model.ModelLoader; import net.minecraftforge.client.model.ModelLoader;
import net.minecraftforge.event.RegistryEvent; import net.minecraftforge.event.RegistryEvent;
import net.minecraftforge.event.furnace.FurnaceFuelBurnTimeEvent;
import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.registry.EntityEntry; import net.minecraftforge.fml.common.registry.EntityEntry;
@ -135,4 +138,10 @@ public class RegistrarBloodMagic {
return orb.getModelLocation(); return orb.getModelLocation();
}); });
} }
@SubscribeEvent
public static void handleBurnTime(FurnaceFuelBurnTimeEvent event) {
if (ItemStack.areItemsEqual(event.getItemStack(), ComponentType.SAND_COAL.getStack()))
event.setBurnTime(1600);
}
} }

View file

@ -16,6 +16,7 @@ import WayofTime.bloodmagic.item.routing.ItemNodeRouter;
import WayofTime.bloodmagic.item.routing.ItemRouterFilter; import WayofTime.bloodmagic.item.routing.ItemRouterFilter;
import WayofTime.bloodmagic.item.sigil.*; import WayofTime.bloodmagic.item.sigil.*;
import WayofTime.bloodmagic.item.soul.*; import WayofTime.bloodmagic.item.soul.*;
import WayofTime.bloodmagic.item.types.ComponentType;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import net.minecraft.client.renderer.block.model.ModelResourceLocation; import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.init.Items; import net.minecraft.init.Items;
@ -165,7 +166,7 @@ public class RegistrarBloodMagicItems {
new ItemSigilClaw().setRegistryName("sigil_claw"), new ItemSigilClaw().setRegistryName("sigil_claw"),
new ItemSigilBounce().setRegistryName("sigil_bounce"), new ItemSigilBounce().setRegistryName("sigil_bounce"),
new ItemSigilFrost().setRegistryName("sigil_frost"), new ItemSigilFrost().setRegistryName("sigil_frost"),
new ItemComponent().setRegistryName("component"), new ItemEnum<>(ComponentType.class, "baseComponent").setRegistryName("component"),
new ItemDemonCrystal().setRegistryName("item_demon_crystal"), new ItemDemonCrystal().setRegistryName("item_demon_crystal"),
new ItemTelepositionFocus().setRegistryName("teleposition_focus"), new ItemTelepositionFocus().setRegistryName("teleposition_focus"),
new ItemExperienceBook().setRegistryName("experience_tome"), new ItemExperienceBook().setRegistryName("experience_tome"),

View file

@ -8,10 +8,10 @@ import WayofTime.bloodmagic.api.soul.EnumDemonWillType;
import WayofTime.bloodmagic.api_impl.BloodMagicRecipeRegistrar; import WayofTime.bloodmagic.api_impl.BloodMagicRecipeRegistrar;
import WayofTime.bloodmagic.apiv2.IBloodMagicRecipeRegistrar; import WayofTime.bloodmagic.apiv2.IBloodMagicRecipeRegistrar;
import WayofTime.bloodmagic.block.BlockLifeEssence; import WayofTime.bloodmagic.block.BlockLifeEssence;
import WayofTime.bloodmagic.item.ItemComponent;
import WayofTime.bloodmagic.item.ItemDemonCrystal; import WayofTime.bloodmagic.item.ItemDemonCrystal;
import WayofTime.bloodmagic.item.alchemy.ItemCuttingFluid; import WayofTime.bloodmagic.item.alchemy.ItemCuttingFluid;
import WayofTime.bloodmagic.item.soul.ItemSoulGem; import WayofTime.bloodmagic.item.soul.ItemSoulGem;
import WayofTime.bloodmagic.item.types.ComponentType;
import net.minecraft.init.Blocks; import net.minecraft.init.Blocks;
import net.minecraft.init.Items; import net.minecraft.init.Items;
import net.minecraft.item.ItemStack; 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_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.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(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(ComponentType.REAGENT_WATER.getStack(), 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(ComponentType.REAGENT_LAVA.getStack(), 32, 10, Items.LAVA_BUCKET, "dustRedstone", "cobblestone", "blockCoal");
registrar.addTartaricForge(ItemComponent.getStack(ItemComponent.REAGENT_VOID), 64, 10, Items.BUCKET, "string", "string", "gunpowder"); registrar.addTartaricForge(ComponentType.REAGENT_VOID.getStack(), 64, 10, Items.BUCKET, "string", "string", "gunpowder");
registrar.addTartaricForge(ItemComponent.getStack(ItemComponent.REAGENT_GROWTH), 128, 20, "treeSapling", "treeSapling", "sugarcane", Items.SUGAR); registrar.addTartaricForge(ComponentType.REAGENT_GROWTH.getStack(), 128, 20, "treeSapling", "treeSapling", "sugarcane", Items.SUGAR);
registrar.addTartaricForge(ItemComponent.getStack(ItemComponent.REAGENT_AIR), 128, 20, Items.GHAST_TEAR, "feather", "feather"); registrar.addTartaricForge(ComponentType.REAGENT_AIR.getStack(), 128, 20, Items.GHAST_TEAR, "feather", "feather");
registrar.addTartaricForge(ItemComponent.getStack(ItemComponent.REAGENT_SIGHT), 64, 0, RegistrarBloodMagicItems.SIGIL_DIVINATION, "blockGlass", "blockGlass", "dustGlowstone"); registrar.addTartaricForge(ComponentType.REAGENT_SIGHT.getStack(), 64, 0, RegistrarBloodMagicItems.SIGIL_DIVINATION, "blockGlass", "blockGlass", "dustGlowstone");
registrar.addTartaricForge(ItemComponent.getStack(ItemComponent.REAGENT_HOLDING), 64, 20, "chestWood", "leather", "string", "string"); registrar.addTartaricForge(ComponentType.REAGENT_HOLDING.getStack(), 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(ComponentType.REAGENT_FASTMINER.getStack(), 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(ComponentType.REAGENT_AFFINITY.getStack(), 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(ComponentType.REAGENT_SUPPRESSION.getStack(), 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(ComponentType.REAGENT_BINDING.getStack(), 400, 10, "dustGlowstone", "dustRedstone", "nuggetGold", Items.GUNPOWDER);
registrar.addTartaricForge(ItemComponent.getStack(ItemComponent.REAGENT_BLOODLIGHT), 300, 10, "glowstone", Blocks.TORCH, "dustRedstone", "dustRedstone"); registrar.addTartaricForge(ComponentType.REAGENT_BLOODLIGHT.getStack(), 300, 10, "glowstone", Blocks.TORCH, "dustRedstone", "dustRedstone");
registrar.addTartaricForge(ItemComponent.getStack(ItemComponent.REAGENT_MAGNETISM), 600, 10, "string", "ingotGold", "blockIron", "ingotGold"); registrar.addTartaricForge(ComponentType.REAGENT_MAGNETISM.getStack(), 600, 10, "string", "ingotGold", "blockIron", "ingotGold");
registrar.addTartaricForge(ItemComponent.getStack(ItemComponent.REAGENT_HASTE), 1400, 100, Items.COOKIE, Items.SUGAR, Items.COOKIE, "stone"); registrar.addTartaricForge(ComponentType.REAGENT_HASTE.getStack(), 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(ComponentType.REAGENT_BRIDGE.getStack(), 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(ComponentType.REAGENT_SEVERANCE.getStack(), 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(ComponentType.REAGENT_COMPRESSION.getStack(), 2000, 200, "blockIron", "blockGold", Blocks.OBSIDIAN, "cobblestone");
registrar.addTartaricForge(ItemComponent.getStack(ItemComponent.REAGENT_TELEPOSITION), 1500, 200, RegistrarBloodMagicBlocks.TELEPOSER, "glowstone", "blockRedstone", "ingotGold"); registrar.addTartaricForge(ComponentType.REAGENT_TELEPOSITION.getStack(), 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(ComponentType.REAGENT_TRANSPOSITION.getStack(), 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(ComponentType.REAGENT_CLAW.getStack(), 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(ComponentType.REAGENT_BOUNCE.getStack(), 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_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(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(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.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)); registrar.addTartaricForge(new ItemStack(RegistrarBloodMagicBlocks.OUTPUT_ROUTING_NODE), 400, 25, "dustGlowstone", "dustRedstone", "ingotIron", new ItemStack(RegistrarBloodMagicBlocks.ITEM_ROUTING_NODE));

View file

@ -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;
}
}

View file

@ -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<String> names = new ArrayList<String>();
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<ItemStack> list) {
if (!isInCreativeTab(creativeTab))
return;
for (int i = 0; i < names.size(); i++)
list.add(new ItemStack(this, 1, i));
}
@Override
public List<Pair<Integer, String>> getVariants() {
List<Pair<Integer, String>> ret = new ArrayList<Pair<Integer, String>>();
for (String name : names)
ret.add(new ImmutablePair<Integer, String>(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<String> getNames() {
return names;
}
}

View file

@ -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<T extends Enum<T> & IEnumItem> extends Item implements IVariantProvider {
protected final T[] types;
public ItemEnum(Class<T> 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<ItemStack> 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<Pair<Integer, String>> getVariants() {
List<Pair<Integer, String>> variants = Lists.newArrayList();
for (int i = 0; i < types.length; i++)
variants.add(Pair.of(i, "type=" + types[i].getInternalName()));
return variants;
}
}

View file

@ -9,7 +9,7 @@ import WayofTime.bloodmagic.api.util.helper.NBTHelper;
import WayofTime.bloodmagic.api.util.helper.NetworkHelper; import WayofTime.bloodmagic.api.util.helper.NetworkHelper;
import WayofTime.bloodmagic.client.IMeshProvider; import WayofTime.bloodmagic.client.IMeshProvider;
import WayofTime.bloodmagic.core.RegistrarBloodMagicItems; 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.LivingArmour;
import WayofTime.bloodmagic.livingArmour.tracker.StatTrackerRepairing; import WayofTime.bloodmagic.livingArmour.tracker.StatTrackerRepairing;
import WayofTime.bloodmagic.livingArmour.upgrade.LivingArmourUpgradeElytra; import WayofTime.bloodmagic.livingArmour.upgrade.LivingArmourUpgradeElytra;
@ -97,7 +97,7 @@ public class ItemLivingArmour extends ItemArmor implements ISpecialArmor, IMeshP
@Override @Override
public boolean getIsRepairable(ItemStack toRepair, ItemStack repair) { 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 @Override

View file

@ -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());
}
}

View file

@ -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);
}

View file

@ -13,9 +13,9 @@ import WayofTime.bloodmagic.compress.BaseCompressionHandler;
import WayofTime.bloodmagic.compress.StorageBlockCraftingManager; import WayofTime.bloodmagic.compress.StorageBlockCraftingManager;
import WayofTime.bloodmagic.core.RegistrarBloodMagic; import WayofTime.bloodmagic.core.RegistrarBloodMagic;
import WayofTime.bloodmagic.core.RegistrarBloodMagicItems; import WayofTime.bloodmagic.core.RegistrarBloodMagicItems;
import WayofTime.bloodmagic.item.ItemComponent;
import WayofTime.bloodmagic.item.alchemy.ItemCuttingFluid; import WayofTime.bloodmagic.item.alchemy.ItemCuttingFluid;
import WayofTime.bloodmagic.item.alchemy.ItemLivingArmourPointsUpgrade; import WayofTime.bloodmagic.item.alchemy.ItemLivingArmourPointsUpgrade;
import WayofTime.bloodmagic.item.types.ComponentType;
import WayofTime.bloodmagic.livingArmour.downgrade.*; import WayofTime.bloodmagic.livingArmour.downgrade.*;
import WayofTime.bloodmagic.potion.BMPotionUtils; import WayofTime.bloodmagic.potion.BMPotionUtils;
import WayofTime.bloodmagic.recipe.alchemyTable.AlchemyTableDyeableRecipe; import WayofTime.bloodmagic.recipe.alchemyTable.AlchemyTableDyeableRecipe;
@ -39,8 +39,8 @@ import java.util.Map.Entry;
public class ModRecipes { public class ModRecipes {
public static ArrayList<String> addedOreRecipeList = new ArrayList<String>(); public static ArrayList<String> addedOreRecipeList = new ArrayList<String>();
static ItemStack mundaneLengtheningStack = ItemComponent.getStack(ItemComponent.CATALYST_LENGTH_1); static final ItemStack MUNDANE_LENGTHENING_STACK = ComponentType.CATALYST_LENGTH_1.getStack();
static ItemStack mundanePowerStack = ItemComponent.getStack(ItemComponent.CATALYST_POWER_1); static final ItemStack MUNDANE_POWER_STACK = ComponentType.CATALYST_POWER_1.getStack();
public static void init() { public static void init() {
initOreDict(); initOreDict();
@ -55,52 +55,52 @@ public class ModRecipes {
} }
public static void initOreDict() { public static void initOreDict() {
OreDictionary.registerOre("dustIron", ItemComponent.getStack(ItemComponent.SAND_IRON)); OreDictionary.registerOre("dustIron", ComponentType.SAND_IRON.getStack());
OreDictionary.registerOre("dustGold", ItemComponent.getStack(ItemComponent.SAND_GOLD)); OreDictionary.registerOre("dustGold", ComponentType.SAND_GOLD.getStack());
OreDictionary.registerOre("dustCoal", ItemComponent.getStack(ItemComponent.SAND_COAL)); OreDictionary.registerOre("dustCoal", ComponentType.SAND_COAL.getStack());
} }
public static void addFurnaceRecipes() { public static void addFurnaceRecipes() {
FurnaceRecipes.instance().addSmeltingRecipe(ItemComponent.getStack(ItemComponent.SAND_IRON), new ItemStack(Items.IRON_INGOT), (float) 0.15); FurnaceRecipes.instance().addSmeltingRecipe(ComponentType.SAND_IRON.getStack(), 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_GOLD.getStack(), new ItemStack(Items.GOLD_INGOT), (float) 0.15);
} }
public static void addAltarRecipes() { public static void addAltarRecipes() {
} }
public static void addAlchemyArrayRecipes() { 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(ComponentType.REAGENT_BINDING.getStack(), 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(ComponentType.REAGENT_BINDING.getStack(), 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(ComponentType.REAGENT_BINDING.getStack(), 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(ComponentType.REAGENT_BINDING.getStack(), 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(ComponentType.REAGENT_BINDING.getStack(), 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(ComponentType.REAGENT_BINDING.getStack(), 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(ComponentType.REAGENT_BINDING.getStack(), 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.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(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(ComponentType.REAGENT_WATER.getStack(), 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(ComponentType.REAGENT_LAVA.getStack(), 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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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_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.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"))); 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(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.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(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(ComponentType.SULFUR.getStack(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(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, ItemComponent.getStack(ItemComponent.SALTPETER), ItemComponent.getStack(ItemComponent.SULFUR), new ItemStack(Items.COAL, 1, 1)); 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(ComponentType.SAND_IRON.getStack(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_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))); 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.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(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(ComponentType.PLANT_OIL.getStack(), 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(ComponentType.PLANT_OIL.getStack(), 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(ComponentType.PLANT_OIL.getStack(), 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, 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(ComponentType.NEURO_TOXIN.getStack(), 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.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 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(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(ComponentType.CATALYST_LENGTH_1.getStack(), 1000, 100, 2, "gunpowder", "cropNetherWart", "gemLapis");
AlchemyTableRecipeRegistry.registerRecipe(ItemComponent.getStack(ItemComponent.CATALYST_POWER_1), 1000, 100, 2, "gunpowder", "cropNetherWart", "dustRedstone"); AlchemyTableRecipeRegistry.registerRecipe(ComponentType.CATALYST_POWER_1.getStack(), 1000, 100, 2, "gunpowder", "cropNetherWart", "dustRedstone");
} }
public static void addOreDoublingAlchemyRecipes() { public static void addOreDoublingAlchemyRecipes() {
@ -229,12 +229,12 @@ public class ModRecipes {
List<ItemStack> lengtheningList = new ArrayList<ItemStack>(); List<ItemStack> lengtheningList = new ArrayList<ItemStack>();
lengtheningList.add(inputStack); lengtheningList.add(inputStack);
lengtheningList.add(mundaneLengtheningStack); lengtheningList.add(MUNDANE_LENGTHENING_STACK);
AlchemyTableRecipeRegistry.registerRecipe(BMPotionUtils.getLengthAugmentRecipe(lpDrained, 100, tier, lengtheningList, baseEffect, 1)); AlchemyTableRecipeRegistry.registerRecipe(BMPotionUtils.getLengthAugmentRecipe(lpDrained, 100, tier, lengtheningList, baseEffect, 1));
List<ItemStack> powerList = new ArrayList<ItemStack>(); List<ItemStack> powerList = new ArrayList<ItemStack>();
powerList.add(inputStack); powerList.add(inputStack);
powerList.add(mundanePowerStack); powerList.add(MUNDANE_POWER_STACK);
AlchemyTableRecipeRegistry.registerRecipe(BMPotionUtils.getPowerAugmentRecipe(lpDrained, 100, tier, powerList, baseEffect, 1)); AlchemyTableRecipeRegistry.registerRecipe(BMPotionUtils.getPowerAugmentRecipe(lpDrained, 100, tier, powerList, baseEffect, 1));
} }