From 446b98219ed80ad79cdeeaa459b3738306296062 Mon Sep 17 00:00:00 2001 From: WayofTime Date: Fri, 4 Apr 2014 07:36:41 -0400 Subject: [PATCH] API at 99% --- .../AlchemicalWizardry.java | 46 ++++++++------ .../api/bindingRegistry/BindingRecipe.java | 2 +- .../api/bindingRegistry/BindingRegistry.java | 35 ++++++++++- .../summoningRegistry/SummoningHelper.java | 22 +++++++ .../summoningRegistry}/SummoningRegistry.java | 2 +- .../SummoningRegistryComponent.java | 2 +- .../common/items/DemonPlacer.java | 2 +- .../common/rituals/RitualEffectSoulBound.java | 60 +++---------------- .../summoning/SummoningFallenAngel.java | 19 ------ ...ningHelper.java => SummoningHelperAW.java} | 27 ++++++--- .../common/tileEntity/TEPlinth.java | 4 +- 11 files changed, 117 insertions(+), 104 deletions(-) create mode 100644 BM_src/WayofTime/alchemicalWizardry/api/summoningRegistry/SummoningHelper.java rename BM_src/WayofTime/alchemicalWizardry/{common/summoning => api/summoningRegistry}/SummoningRegistry.java (97%) rename BM_src/WayofTime/alchemicalWizardry/{common/summoning => api/summoningRegistry}/SummoningRegistryComponent.java (98%) delete mode 100644 BM_src/WayofTime/alchemicalWizardry/common/summoning/SummoningFallenAngel.java rename BM_src/WayofTime/alchemicalWizardry/common/summoning/{SummoningHelper.java => SummoningHelperAW.java} (67%) diff --git a/BM_src/WayofTime/alchemicalWizardry/AlchemicalWizardry.java b/BM_src/WayofTime/alchemicalWizardry/AlchemicalWizardry.java index 6b62fa9b..45948c6c 100644 --- a/BM_src/WayofTime/alchemicalWizardry/AlchemicalWizardry.java +++ b/BM_src/WayofTime/alchemicalWizardry/AlchemicalWizardry.java @@ -24,8 +24,11 @@ import thaumcraft.api.ItemApi; import WayofTime.alchemicalWizardry.api.alchemy.AlchemicalPotionCreationHandler; import WayofTime.alchemicalWizardry.api.alchemy.AlchemyRecipeRegistry; import WayofTime.alchemicalWizardry.api.altarRecipeRegistry.AltarRecipeRegistry; +import WayofTime.alchemicalWizardry.api.bindingRegistry.BindingRegistry; import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; import WayofTime.alchemicalWizardry.api.rituals.Rituals; +import WayofTime.alchemicalWizardry.api.summoningRegistry.SummoningHelper; +import WayofTime.alchemicalWizardry.api.summoningRegistry.SummoningRegistry; import WayofTime.alchemicalWizardry.common.AlchemicalWizardryEventHooks; import WayofTime.alchemicalWizardry.common.AlchemicalWizardryFuelHandler; import WayofTime.alchemicalWizardry.common.CommonProxy; @@ -99,8 +102,7 @@ import WayofTime.alchemicalWizardry.common.spell.simple.SpellLightningBolt; import WayofTime.alchemicalWizardry.common.spell.simple.SpellTeleport; import WayofTime.alchemicalWizardry.common.spell.simple.SpellWateryGrave; import WayofTime.alchemicalWizardry.common.spell.simple.SpellWindGust; -import WayofTime.alchemicalWizardry.common.summoning.SummoningHelper; -import WayofTime.alchemicalWizardry.common.summoning.SummoningRegistry; +import WayofTime.alchemicalWizardry.common.summoning.SummoningHelperAW; import WayofTime.alchemicalWizardry.common.summoning.meteor.MeteorRegistry; import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar; import WayofTime.alchemicalWizardry.common.tileEntity.TEConduit; @@ -840,6 +842,7 @@ public class AlchemicalWizardry this.initAlchemyPotionRecipes(); this.initAltarRecipes(); this.initRituals(); + this.initBindingRecipes(); MinecraftForge.setToolClass(ModItems.boundPickaxe, "pickaxe", 5); @@ -918,20 +921,20 @@ public class AlchemicalWizardry HomSpellRegistry.registerBasicSpell(new ItemStack(Item.bucketWater), new SpellWateryGrave()); HomSpellRegistry.registerBasicSpell(new ItemStack(Block.obsidian), new SpellEarthBender()); HomSpellRegistry.registerBasicSpell(new ItemStack(Item.enderPearl), new SpellTeleport()); - SummoningRegistry.registerSummon(new SummoningHelper(this.entityFallenAngelID), new ItemStack[]{sanctusStack, sanctusStack, sanctusStack, aetherStack, tennebraeStack, terraeStack}, new ItemStack[]{}, new ItemStack[]{}, 0, 4); - SummoningRegistry.registerSummon(new SummoningHelper(this.entityLowerGuardianID), new ItemStack[]{cobblestoneStack, cobblestoneStack, terraeStack, tennebraeStack, new ItemStack(Item.ingotIron), new ItemStack(Item.goldNugget)}, new ItemStack[]{}, new ItemStack[]{}, 0, 4); - SummoningRegistry.registerSummon(new SummoningHelper(this.entityBileDemonID), new ItemStack[]{new ItemStack(Item.poisonousPotato), tennebraeStack, terraeStack, new ItemStack(Item.porkRaw), new ItemStack(Item.egg), new ItemStack(Item.beefRaw)}, new ItemStack[]{crepitousStack, crepitousStack, terraeStack, ironBlockStack, ironBlockStack, diamondStack}, new ItemStack[]{}, 0, 5); - SummoningRegistry.registerSummon(new SummoningHelper(this.entityWingedFireDemonID), new ItemStack[]{aetherStack, incendiumStack, incendiumStack, incendiumStack, tennebraeStack, new ItemStack(Block.netherrack)}, new ItemStack[]{diamondStack, new ItemStack(Block.blockGold), magicalesStack, magicalesStack, new ItemStack(Item.fireballCharge), new ItemStack(Block.coalBlock)}, new ItemStack[]{}, 0, 5); - SummoningRegistry.registerSummon(new SummoningHelper(this.entitySmallEarthGolemID), new ItemStack[]{new ItemStack(Item.clay), terraeStack, terraeStack}, new ItemStack[]{}, new ItemStack[]{}, 0, 4); - SummoningRegistry.registerSummon(new SummoningHelper(this.entityIceDemonID), new ItemStack[]{crystallosStack, crystallosStack, aquasalusStack, crystallosStack, sanctusStack, terraeStack}, new ItemStack[]{}, new ItemStack[]{}, 0, 4); - SummoningRegistry.registerSummon(new SummoningHelper(this.entityBoulderFistID), new ItemStack[]{terraeStack, sanctusStack, tennebraeStack, new ItemStack(Item.bone), new ItemStack(Item.beefCooked), new ItemStack(Item.beefCooked)}, new ItemStack[]{}, new ItemStack[]{}, 0, 4); - SummoningRegistry.registerSummon(new SummoningHelper(this.entityShadeID), new ItemStack[]{tennebraeStack, tennebraeStack, tennebraeStack, aetherStack, glassStack, new ItemStack(Item.glassBottle)}, new ItemStack[]{}, new ItemStack[]{}, 0, 4); - SummoningRegistry.registerSummon(new SummoningHelper(this.entityAirElementalID), new ItemStack[]{aetherStack, aetherStack, aetherStack, aetherStack, aetherStack, aetherStack}, new ItemStack[]{}, new ItemStack[]{}, 0, 4); - SummoningRegistry.registerSummon(new SummoningHelper(this.entityWaterElementalID), new ItemStack[]{aquasalusStack, aquasalusStack, aquasalusStack, aquasalusStack, aquasalusStack, aquasalusStack}, new ItemStack[]{}, new ItemStack[]{}, 0, 4); - SummoningRegistry.registerSummon(new SummoningHelper(this.entityEarthElementalID), new ItemStack[]{terraeStack, terraeStack, terraeStack, terraeStack, terraeStack, terraeStack}, new ItemStack[]{}, new ItemStack[]{}, 0, 4); - SummoningRegistry.registerSummon(new SummoningHelper(this.entityFireElementalID), new ItemStack[]{incendiumStack, incendiumStack, incendiumStack, incendiumStack, incendiumStack, incendiumStack}, new ItemStack[]{}, new ItemStack[]{}, 0, 4); - //TODO SummoningRegistry.registerSummon(new SummoningHelper(this.entityShadeElementalID), new ItemStack[]{tennebraeStack,tennebraeStack,tennebraeStack,tennebraeStack,tennebraeStack,tennebraeStack}, new ItemStack[]{}, new ItemStack[]{}, 0, 4); - SummoningRegistry.registerSummon(new SummoningHelper(this.entityHolyElementalID), new ItemStack[]{sanctusStack, sanctusStack, sanctusStack, sanctusStack, sanctusStack, sanctusStack}, new ItemStack[]{}, new ItemStack[]{}, 0, 4); + SummoningRegistry.registerSummon(new SummoningHelperAW(this.entityFallenAngelID), new ItemStack[]{sanctusStack, sanctusStack, sanctusStack, aetherStack, tennebraeStack, terraeStack}, new ItemStack[]{}, new ItemStack[]{}, 0, 4); + SummoningRegistry.registerSummon(new SummoningHelperAW(this.entityLowerGuardianID), new ItemStack[]{cobblestoneStack, cobblestoneStack, terraeStack, tennebraeStack, new ItemStack(Item.ingotIron), new ItemStack(Item.goldNugget)}, new ItemStack[]{}, new ItemStack[]{}, 0, 4); + SummoningRegistry.registerSummon(new SummoningHelperAW(this.entityBileDemonID), new ItemStack[]{new ItemStack(Item.poisonousPotato), tennebraeStack, terraeStack, new ItemStack(Item.porkRaw), new ItemStack(Item.egg), new ItemStack(Item.beefRaw)}, new ItemStack[]{crepitousStack, crepitousStack, terraeStack, ironBlockStack, ironBlockStack, diamondStack}, new ItemStack[]{}, 0, 5); + SummoningRegistry.registerSummon(new SummoningHelperAW(this.entityWingedFireDemonID), new ItemStack[]{aetherStack, incendiumStack, incendiumStack, incendiumStack, tennebraeStack, new ItemStack(Block.netherrack)}, new ItemStack[]{diamondStack, new ItemStack(Block.blockGold), magicalesStack, magicalesStack, new ItemStack(Item.fireballCharge), new ItemStack(Block.coalBlock)}, new ItemStack[]{}, 0, 5); + SummoningRegistry.registerSummon(new SummoningHelperAW(this.entitySmallEarthGolemID), new ItemStack[]{new ItemStack(Item.clay), terraeStack, terraeStack}, new ItemStack[]{}, new ItemStack[]{}, 0, 4); + SummoningRegistry.registerSummon(new SummoningHelperAW(this.entityIceDemonID), new ItemStack[]{crystallosStack, crystallosStack, aquasalusStack, crystallosStack, sanctusStack, terraeStack}, new ItemStack[]{}, new ItemStack[]{}, 0, 4); + SummoningRegistry.registerSummon(new SummoningHelperAW(this.entityBoulderFistID), new ItemStack[]{terraeStack, sanctusStack, tennebraeStack, new ItemStack(Item.bone), new ItemStack(Item.beefCooked), new ItemStack(Item.beefCooked)}, new ItemStack[]{}, new ItemStack[]{}, 0, 4); + SummoningRegistry.registerSummon(new SummoningHelperAW(this.entityShadeID), new ItemStack[]{tennebraeStack, tennebraeStack, tennebraeStack, aetherStack, glassStack, new ItemStack(Item.glassBottle)}, new ItemStack[]{}, new ItemStack[]{}, 0, 4); + SummoningRegistry.registerSummon(new SummoningHelperAW(this.entityAirElementalID), new ItemStack[]{aetherStack, aetherStack, aetherStack, aetherStack, aetherStack, aetherStack}, new ItemStack[]{}, new ItemStack[]{}, 0, 4); + SummoningRegistry.registerSummon(new SummoningHelperAW(this.entityWaterElementalID), new ItemStack[]{aquasalusStack, aquasalusStack, aquasalusStack, aquasalusStack, aquasalusStack, aquasalusStack}, new ItemStack[]{}, new ItemStack[]{}, 0, 4); + SummoningRegistry.registerSummon(new SummoningHelperAW(this.entityEarthElementalID), new ItemStack[]{terraeStack, terraeStack, terraeStack, terraeStack, terraeStack, terraeStack}, new ItemStack[]{}, new ItemStack[]{}, 0, 4); + SummoningRegistry.registerSummon(new SummoningHelperAW(this.entityFireElementalID), new ItemStack[]{incendiumStack, incendiumStack, incendiumStack, incendiumStack, incendiumStack, incendiumStack}, new ItemStack[]{}, new ItemStack[]{}, 0, 4); + //TODO SummoningRegistry.registerSummon(new SummoningHelperAW(this.entityShadeElementalID), new ItemStack[]{tennebraeStack,tennebraeStack,tennebraeStack,tennebraeStack,tennebraeStack,tennebraeStack}, new ItemStack[]{}, new ItemStack[]{}, 0, 4); + SummoningRegistry.registerSummon(new SummoningHelperAW(this.entityHolyElementalID), new ItemStack[]{sanctusStack, sanctusStack, sanctusStack, sanctusStack, sanctusStack, sanctusStack}, new ItemStack[]{}, new ItemStack[]{}, 0, 4); //Custom mobs EntityRegistry.registerModEntity(EntityFallenAngel.class, "FallenAngel", this.entityFallenAngelID, this, 80, 3, true); EntityRegistry.registerModEntity(EntityLowerGuardian.class, "LowerGuardian", this.entityLowerGuardianID, this, 80, 3, true); @@ -1157,7 +1160,7 @@ public class AlchemicalWizardry if (itemGoggles != null) { - //GameRegistry.addShapelessRecipe(new ItemStack(this.sanguineHelmet), itemGoggles); + BindingRegistry.registerRecipe(new ItemStack(ModItems.sanguineHelmet), itemGoggles); } //LogHelper.log(Level.INFO, "Loaded RP2 World addon"); @@ -1958,4 +1961,13 @@ public class AlchemicalWizardry Rituals.ritualList.add(new Rituals(autoAlchemyRitual,1,20000,new RitualEffectAutoAlchemy(),"Ballad of Alchemy")); //Rituals.ritualList.add(new Rituals(apiaryRitual,1,100,new RitualEffectApiaryOverclock(),"Apiary Overclock")); } + + public static void initBindingRecipes() + { + BindingRegistry.registerRecipe(new ItemStack(ModItems.boundPickaxe), new ItemStack(Item.pickaxeDiamond)); + BindingRegistry.registerRecipe(new ItemStack(ModItems.boundAxe), new ItemStack(Item.axeDiamond)); + BindingRegistry.registerRecipe(new ItemStack(ModItems.boundShovel), new ItemStack(Item.shovelDiamond)); + BindingRegistry.registerRecipe(new ItemStack(ModItems.energySword), new ItemStack(Item.swordDiamond)); + BindingRegistry.registerRecipe(new ItemStack(ModItems.energyBlaster), new ItemStack(ModItems.apprenticeBloodOrb)); + } } diff --git a/BM_src/WayofTime/alchemicalWizardry/api/bindingRegistry/BindingRecipe.java b/BM_src/WayofTime/alchemicalWizardry/api/bindingRegistry/BindingRecipe.java index 725a5f5f..f8d63855 100644 --- a/BM_src/WayofTime/alchemicalWizardry/api/bindingRegistry/BindingRecipe.java +++ b/BM_src/WayofTime/alchemicalWizardry/api/bindingRegistry/BindingRecipe.java @@ -7,7 +7,7 @@ public class BindingRecipe public ItemStack requiredItem; public ItemStack outputItem; - public BindingRecipe(ItemStack requiredItem, ItemStack outputItem) + public BindingRecipe(ItemStack outputItem, ItemStack requiredItem) { this.requiredItem = requiredItem; this.outputItem = outputItem; diff --git a/BM_src/WayofTime/alchemicalWizardry/api/bindingRegistry/BindingRegistry.java b/BM_src/WayofTime/alchemicalWizardry/api/bindingRegistry/BindingRegistry.java index 55acc0c7..68f34e4c 100644 --- a/BM_src/WayofTime/alchemicalWizardry/api/bindingRegistry/BindingRegistry.java +++ b/BM_src/WayofTime/alchemicalWizardry/api/bindingRegistry/BindingRegistry.java @@ -4,13 +4,17 @@ import java.util.LinkedList; import java.util.List; import net.minecraft.item.ItemStack; -import WayofTime.alchemicalWizardry.api.altarRecipeRegistry.AltarRecipe; public class BindingRegistry { public static List bindingRecipes = new LinkedList(); - public static boolean isRequiredItemValid(ItemStack testItem, int currentTierAltar) + public static void registerRecipe(ItemStack output, ItemStack input) + { + bindingRecipes.add(new BindingRecipe(output, input)); + } + + public static boolean isRequiredItemValid(ItemStack testItem) { for(BindingRecipe recipe : bindingRecipes) { @@ -23,7 +27,7 @@ public class BindingRegistry return false; } - public static ItemStack getItemForItemAndTier(ItemStack testItem, int currentTierAltar) + public static ItemStack getItemForItemAndTier(ItemStack testItem) { for(BindingRecipe recipe : bindingRecipes) { @@ -35,4 +39,29 @@ public class BindingRegistry return null; } + + public static int getIndexForItem(ItemStack testItem) + { + int i=0; + for(BindingRecipe recipe : bindingRecipes) + { + if(recipe.doesRequiredItemMatch(testItem)) + { + return i; + } + i++; + } + + return -1; + } + + public static ItemStack getOutputForIndex(int index) + { + if(bindingRecipes.size()<=index) + { + return null; + } + + return bindingRecipes.get(index).getResult(); + } } diff --git a/BM_src/WayofTime/alchemicalWizardry/api/summoningRegistry/SummoningHelper.java b/BM_src/WayofTime/alchemicalWizardry/api/summoningRegistry/SummoningHelper.java new file mode 100644 index 00000000..015249c7 --- /dev/null +++ b/BM_src/WayofTime/alchemicalWizardry/api/summoningRegistry/SummoningHelper.java @@ -0,0 +1,22 @@ +package WayofTime.alchemicalWizardry.api.summoningRegistry; + +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.passive.EntityPig; +import net.minecraft.world.World; + +public abstract class SummoningHelper +{ + protected int id; + + public SummoningHelper(int id) + { + this.id = id; + } + + public abstract EntityLivingBase getEntity(World worldObj); + + public int getSummoningHelperID() + { + return id; + } +} diff --git a/BM_src/WayofTime/alchemicalWizardry/common/summoning/SummoningRegistry.java b/BM_src/WayofTime/alchemicalWizardry/api/summoningRegistry/SummoningRegistry.java similarity index 97% rename from BM_src/WayofTime/alchemicalWizardry/common/summoning/SummoningRegistry.java rename to BM_src/WayofTime/alchemicalWizardry/api/summoningRegistry/SummoningRegistry.java index 8f4fac89..9fda5822 100644 --- a/BM_src/WayofTime/alchemicalWizardry/common/summoning/SummoningRegistry.java +++ b/BM_src/WayofTime/alchemicalWizardry/api/summoningRegistry/SummoningRegistry.java @@ -1,4 +1,4 @@ -package WayofTime.alchemicalWizardry.common.summoning; +package WayofTime.alchemicalWizardry.api.summoningRegistry; import net.minecraft.entity.EntityLivingBase; import net.minecraft.item.ItemStack; diff --git a/BM_src/WayofTime/alchemicalWizardry/common/summoning/SummoningRegistryComponent.java b/BM_src/WayofTime/alchemicalWizardry/api/summoningRegistry/SummoningRegistryComponent.java similarity index 98% rename from BM_src/WayofTime/alchemicalWizardry/common/summoning/SummoningRegistryComponent.java rename to BM_src/WayofTime/alchemicalWizardry/api/summoningRegistry/SummoningRegistryComponent.java index 918eca68..f269b0b2 100644 --- a/BM_src/WayofTime/alchemicalWizardry/common/summoning/SummoningRegistryComponent.java +++ b/BM_src/WayofTime/alchemicalWizardry/api/summoningRegistry/SummoningRegistryComponent.java @@ -1,4 +1,4 @@ -package WayofTime.alchemicalWizardry.common.summoning; +package WayofTime.alchemicalWizardry.api.summoningRegistry; import net.minecraft.entity.EntityLivingBase; import net.minecraft.item.ItemBlock; diff --git a/BM_src/WayofTime/alchemicalWizardry/common/items/DemonPlacer.java b/BM_src/WayofTime/alchemicalWizardry/common/items/DemonPlacer.java index 2b5231d6..3a6e0481 100644 --- a/BM_src/WayofTime/alchemicalWizardry/common/items/DemonPlacer.java +++ b/BM_src/WayofTime/alchemicalWizardry/common/items/DemonPlacer.java @@ -1,7 +1,7 @@ package WayofTime.alchemicalWizardry.common.items; +import WayofTime.alchemicalWizardry.api.summoningRegistry.SummoningRegistry; import WayofTime.alchemicalWizardry.common.entity.mob.EntityDemon; -import WayofTime.alchemicalWizardry.common.summoning.SummoningRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; diff --git a/BM_src/WayofTime/alchemicalWizardry/common/rituals/RitualEffectSoulBound.java b/BM_src/WayofTime/alchemicalWizardry/common/rituals/RitualEffectSoulBound.java index 024b4da0..82a03eb0 100644 --- a/BM_src/WayofTime/alchemicalWizardry/common/rituals/RitualEffectSoulBound.java +++ b/BM_src/WayofTime/alchemicalWizardry/common/rituals/RitualEffectSoulBound.java @@ -16,6 +16,7 @@ import net.minecraft.world.World; import thaumcraft.api.ItemApi; import WayofTime.alchemicalWizardry.AlchemicalWizardry; import WayofTime.alchemicalWizardry.ModItems; +import WayofTime.alchemicalWizardry.api.bindingRegistry.BindingRegistry; import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; @@ -66,9 +67,7 @@ public class RitualEffectSoulBound extends RitualEffect while (iterator.hasNext()) { item = (EntityItem) iterator.next(); -// double xDif = item.posX - (xCoord+0.5); -// double yDif = item.posY - (yCoord+1); -// double zDif = item.posZ - (zCoord+0.5); + ItemStack itemStack = item.getEntityItem(); if (itemStack == null) @@ -76,55 +75,13 @@ public class RitualEffectSoulBound extends RitualEffect continue; } - ItemStack itemGoggles = null; - - if (AlchemicalWizardry.isThaumcraftLoaded) + if(BindingRegistry.isRequiredItemValid(itemStack)) { - itemGoggles = ItemApi.getItem("itemGoggles", 0); - } - - if (itemStack.itemID == ModItems.apprenticeBloodOrb.itemID) - { - ritualStone.setVar1(ModItems.energyBlaster.itemID); - world.addWeatherEffect(new EntityLightningBolt(world, x, y + 1, z)); + ritualStone.setVar1(BindingRegistry.getIndexForItem(itemStack)+1); + world.addWeatherEffect(new EntityLightningBolt(world, x, y + 1, z)); ritualStone.setCooldown(ritualStone.getCooldown() - 1); - item.setDead(); - return; - } else if (itemStack.itemID == Item.swordDiamond.itemID) - { - ritualStone.setVar1(ModItems.energySword.itemID); - world.addWeatherEffect(new EntityLightningBolt(world, x, y + 1, z)); - ritualStone.setCooldown(ritualStone.getCooldown() - 1); - item.setDead(); - return; - } else if (itemStack.itemID == Item.pickaxeDiamond.itemID) - { - ritualStone.setVar1(ModItems.boundPickaxe.itemID); - world.addWeatherEffect(new EntityLightningBolt(world, x, y + 1, z)); - ritualStone.setCooldown(ritualStone.getCooldown() - 1); - item.setDead(); - return; - } else if (itemStack.itemID == Item.axeDiamond.itemID) - { - ritualStone.setVar1(ModItems.boundAxe.itemID); - world.addWeatherEffect(new EntityLightningBolt(world, x, y + 1, z)); - ritualStone.setCooldown(ritualStone.getCooldown() - 1); - item.setDead(); - return; - } else if (itemStack.itemID == Item.shovelDiamond.itemID) - { - ritualStone.setVar1(ModItems.boundShovel.itemID); - world.addWeatherEffect(new EntityLightningBolt(world, x, y + 1, z)); - ritualStone.setCooldown(ritualStone.getCooldown() - 1); - item.setDead(); - return; - } else if (itemGoggles != null && itemGoggles.isItemEqual(itemStack)) - { - ritualStone.setVar1(ModItems.sanguineHelmet.itemID); - world.addWeatherEffect(new EntityLightningBolt(world, x, y + 1, z)); - ritualStone.setCooldown(ritualStone.getCooldown() - 1); - item.setDead(); - return; + item.setDead(); + break; } if (world.rand.nextInt(10) == 0) @@ -181,7 +138,8 @@ public class RitualEffectSoulBound extends RitualEffect if (ritualStone.getCooldown() <= 0) { - ItemStack spawnedItem = new ItemStack(ritualStone.getVar1(), 1, 0); + + ItemStack spawnedItem = BindingRegistry.getOutputForIndex(ritualStone.getVar1()-1); if (spawnedItem != null) { diff --git a/BM_src/WayofTime/alchemicalWizardry/common/summoning/SummoningFallenAngel.java b/BM_src/WayofTime/alchemicalWizardry/common/summoning/SummoningFallenAngel.java deleted file mode 100644 index eaea8feb..00000000 --- a/BM_src/WayofTime/alchemicalWizardry/common/summoning/SummoningFallenAngel.java +++ /dev/null @@ -1,19 +0,0 @@ -package WayofTime.alchemicalWizardry.common.summoning; - -import WayofTime.alchemicalWizardry.common.entity.mob.EntityFallenAngel; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.world.World; - -public class SummoningFallenAngel extends SummoningHelper -{ - public SummoningFallenAngel(int id) - { - super(id); - // TODO Auto-generated constructor stub - } - - public EntityLivingBase getEntity(World worldObj) - { - return new EntityFallenAngel(worldObj); - } -} diff --git a/BM_src/WayofTime/alchemicalWizardry/common/summoning/SummoningHelper.java b/BM_src/WayofTime/alchemicalWizardry/common/summoning/SummoningHelperAW.java similarity index 67% rename from BM_src/WayofTime/alchemicalWizardry/common/summoning/SummoningHelper.java rename to BM_src/WayofTime/alchemicalWizardry/common/summoning/SummoningHelperAW.java index b4b459ee..8d615cf1 100644 --- a/BM_src/WayofTime/alchemicalWizardry/common/summoning/SummoningHelper.java +++ b/BM_src/WayofTime/alchemicalWizardry/common/summoning/SummoningHelperAW.java @@ -1,19 +1,30 @@ package WayofTime.alchemicalWizardry.common.summoning; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.EntityAirElemental; -import WayofTime.alchemicalWizardry.common.entity.mob.*; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.passive.EntityPig; import net.minecraft.world.World; +import WayofTime.alchemicalWizardry.AlchemicalWizardry; +import WayofTime.alchemicalWizardry.api.summoningRegistry.SummoningHelper; +import WayofTime.alchemicalWizardry.common.EntityAirElemental; +import WayofTime.alchemicalWizardry.common.entity.mob.EntityBileDemon; +import WayofTime.alchemicalWizardry.common.entity.mob.EntityBoulderFist; +import WayofTime.alchemicalWizardry.common.entity.mob.EntityEarthElemental; +import WayofTime.alchemicalWizardry.common.entity.mob.EntityFallenAngel; +import WayofTime.alchemicalWizardry.common.entity.mob.EntityFireElemental; +import WayofTime.alchemicalWizardry.common.entity.mob.EntityHolyElemental; +import WayofTime.alchemicalWizardry.common.entity.mob.EntityIceDemon; +import WayofTime.alchemicalWizardry.common.entity.mob.EntityLowerGuardian; +import WayofTime.alchemicalWizardry.common.entity.mob.EntityShade; +import WayofTime.alchemicalWizardry.common.entity.mob.EntityShadeElemental; +import WayofTime.alchemicalWizardry.common.entity.mob.EntitySmallEarthGolem; +import WayofTime.alchemicalWizardry.common.entity.mob.EntityWaterElemental; +import WayofTime.alchemicalWizardry.common.entity.mob.EntityWingedFireDemon; -public class SummoningHelper +public class SummoningHelperAW extends SummoningHelper { - private int id; - - public SummoningHelper(int id) + public SummoningHelperAW(int id) { - this.id = id; + super(id); } public EntityLivingBase getEntity(World worldObj) diff --git a/BM_src/WayofTime/alchemicalWizardry/common/tileEntity/TEPlinth.java b/BM_src/WayofTime/alchemicalWizardry/common/tileEntity/TEPlinth.java index 1eddba97..07f2f01f 100644 --- a/BM_src/WayofTime/alchemicalWizardry/common/tileEntity/TEPlinth.java +++ b/BM_src/WayofTime/alchemicalWizardry/common/tileEntity/TEPlinth.java @@ -1,11 +1,11 @@ package WayofTime.alchemicalWizardry.common.tileEntity; +import WayofTime.alchemicalWizardry.api.summoningRegistry.SummoningRegistry; +import WayofTime.alchemicalWizardry.api.summoningRegistry.SummoningRegistryComponent; import WayofTime.alchemicalWizardry.common.IDemon; import WayofTime.alchemicalWizardry.common.PacketHandler; import WayofTime.alchemicalWizardry.common.PlinthComponent; import WayofTime.alchemicalWizardry.common.items.EnergyBattery; -import WayofTime.alchemicalWizardry.common.summoning.SummoningRegistry; -import WayofTime.alchemicalWizardry.common.summoning.SummoningRegistryComponent; import cpw.mods.fml.common.network.PacketDispatcher; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer;