diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/AlchemicalWizardry.java b/1.7.2/java/WayofTime/alchemicalWizardry/AlchemicalWizardry.java index ea2cfe79..c34f84d4 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/AlchemicalWizardry.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/AlchemicalWizardry.java @@ -20,6 +20,13 @@ import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidContainerRegistry; import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.oredict.OreDictionary; +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.Rituals; +import WayofTime.alchemicalWizardry.api.summoningRegistry.SummoningRegistry; import WayofTime.alchemicalWizardry.common.AlchemicalWizardryEventHooks; import WayofTime.alchemicalWizardry.common.AlchemicalWizardryFuelHandler; import WayofTime.alchemicalWizardry.common.CommonProxy; @@ -28,9 +35,6 @@ import WayofTime.alchemicalWizardry.common.LifeBucketHandler; import WayofTime.alchemicalWizardry.common.LifeEssence; import WayofTime.alchemicalWizardry.common.ModLivingDropsEvent; import WayofTime.alchemicalWizardry.common.NewPacketHandler; -import WayofTime.alchemicalWizardry.common.alchemy.AlchemicalPotionCreationHandler; -import WayofTime.alchemicalWizardry.common.alchemy.AlchemyRecipeRegistry; -import WayofTime.alchemicalWizardry.common.altarRecipeRegistry.AltarRecipeRegistry; import WayofTime.alchemicalWizardry.common.block.ArmourForge; import WayofTime.alchemicalWizardry.common.bloodAltarUpgrade.UpgradedAltars; import WayofTime.alchemicalWizardry.common.entity.mob.EntityBileDemon; @@ -48,6 +52,7 @@ import WayofTime.alchemicalWizardry.common.entity.mob.EntityWaterElemental; import WayofTime.alchemicalWizardry.common.entity.mob.EntityWingedFireDemon; import WayofTime.alchemicalWizardry.common.items.ItemRitualDiviner; import WayofTime.alchemicalWizardry.common.items.sigil.SigilOfHolding; +import WayofTime.alchemicalWizardry.common.items.thaumcraft.ItemSanguineArmour; import WayofTime.alchemicalWizardry.common.potion.PotionBoost; import WayofTime.alchemicalWizardry.common.potion.PotionDrowning; import WayofTime.alchemicalWizardry.common.potion.PotionFireFuse; @@ -59,7 +64,28 @@ import WayofTime.alchemicalWizardry.common.potion.PotionInhibit; import WayofTime.alchemicalWizardry.common.potion.PotionPlanarBinding; import WayofTime.alchemicalWizardry.common.potion.PotionProjectileProtect; import WayofTime.alchemicalWizardry.common.potion.PotionReciprocation; -import WayofTime.alchemicalWizardry.common.rituals.Rituals; +import WayofTime.alchemicalWizardry.common.rituals.RitualEffectAnimalGrowth; +import WayofTime.alchemicalWizardry.common.rituals.RitualEffectAutoAlchemy; +import WayofTime.alchemicalWizardry.common.rituals.RitualEffectBiomeChanger; +import WayofTime.alchemicalWizardry.common.rituals.RitualEffectContainment; +import WayofTime.alchemicalWizardry.common.rituals.RitualEffectCrushing; +import WayofTime.alchemicalWizardry.common.rituals.RitualEffectExpulsion; +import WayofTime.alchemicalWizardry.common.rituals.RitualEffectFeatheredEarth; +import WayofTime.alchemicalWizardry.common.rituals.RitualEffectFeatheredKnife; +import WayofTime.alchemicalWizardry.common.rituals.RitualEffectFlight; +import WayofTime.alchemicalWizardry.common.rituals.RitualEffectGrowth; +import WayofTime.alchemicalWizardry.common.rituals.RitualEffectHealing; +import WayofTime.alchemicalWizardry.common.rituals.RitualEffectInterdiction; +import WayofTime.alchemicalWizardry.common.rituals.RitualEffectJumping; +import WayofTime.alchemicalWizardry.common.rituals.RitualEffectLava; +import WayofTime.alchemicalWizardry.common.rituals.RitualEffectLeap; +import WayofTime.alchemicalWizardry.common.rituals.RitualEffectMagnetic; +import WayofTime.alchemicalWizardry.common.rituals.RitualEffectSoulBound; +import WayofTime.alchemicalWizardry.common.rituals.RitualEffectSummonMeteor; +import WayofTime.alchemicalWizardry.common.rituals.RitualEffectSupression; +import WayofTime.alchemicalWizardry.common.rituals.RitualEffectUnbinding; +import WayofTime.alchemicalWizardry.common.rituals.RitualEffectWater; +import WayofTime.alchemicalWizardry.common.rituals.RitualEffectWellOfSuffering; import WayofTime.alchemicalWizardry.common.spell.simple.HomSpellRegistry; import WayofTime.alchemicalWizardry.common.spell.simple.SpellEarthBender; import WayofTime.alchemicalWizardry.common.spell.simple.SpellExplosions; @@ -70,8 +96,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; @@ -99,8 +124,9 @@ import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.network.NetworkRegistry; import cpw.mods.fml.common.registry.EntityRegistry; import cpw.mods.fml.common.registry.GameRegistry; +import cpw.mods.fml.common.registry.LanguageRegistry; -@Mod(modid = "AWWayofTime", name = "AlchemicalWizardry", version = "v1.0.0b") +@Mod(modid = "AWWayofTime", name = "AlchemicalWizardry", version = "v1.0.1d") //@NetworkMod(clientSideRequired = true, serverSideRequired = false, channels = {"BloodAltar", "particle", "SetLifeEssence", "GetLifeEssence", "Ritual", "GetAltarEssence", "TESocket", "TEWritingTable", "CustomParticle", "SetPlayerVel", "SetPlayerPos", "TEPedestal", "TEPlinth", "TETeleposer", "InfiniteLPPath", "TEOrientor"}, packetHandler = PacketHandler.class) public class AlchemicalWizardry @@ -143,6 +169,8 @@ public class AlchemicalWizardry public static boolean isThaumcraftLoaded; public static boolean isForestryLoaded; + + public static boolean wimpySettings; public static CreativeTabs tabBloodMagic = new CreativeTabs("tabBloodMagic") { @@ -496,13 +524,16 @@ public class AlchemicalWizardry //Gui registration // NetworkRegistry.instance().registerGuiHandler(this, new GuiHandlerAltar()); - Rituals.loadRituals(); UpgradedAltars.loadAltars(); SigilOfHolding.initiateSigilOfHolding(); ArmourForge.initializeRecipes(); TEPlinth.initialize(); - AlchemicalPotionCreationHandler.initializePotions(); - AltarRecipeRegistry.initRecipes(); + + this.initAlchemyPotionRecipes(); + this.initAltarRecipes(); + this.initRituals(); + this.initBindingRecipes(); + //MinecraftForge.setToolClass(ModItems.boundPickaxe, "pickaxe", 5); //MinecraftForge.setToolClass(ModItems.boundAxe, "axe", 5); //MinecraftForge.setToolClass(ModItems.boundShovel, "shovel", 5); @@ -579,20 +610,20 @@ public class AlchemicalWizardry HomSpellRegistry.registerBasicSpell(new ItemStack(Items.water_bucket), new SpellWateryGrave()); HomSpellRegistry.registerBasicSpell(new ItemStack(Blocks.obsidian), new SpellEarthBender()); HomSpellRegistry.registerBasicSpell(new ItemStack(Items.ender_pearl), 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(Items.iron_ingot), new ItemStack(Items.gold_nugget)}, new ItemStack[]{}, new ItemStack[]{}, 0, 4); - SummoningRegistry.registerSummon(new SummoningHelper(this.entityBileDemonID), new ItemStack[]{new ItemStack(Items.poisonous_potato), tennebraeStack, terraeStack, new ItemStack(Items.porkchop), new ItemStack(Items.egg), new ItemStack(Items.beef)}, 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(Blocks.netherrack)}, new ItemStack[]{diamondStack, new ItemStack(Blocks.gold_block), magicalesStack, magicalesStack, new ItemStack(Items.fire_charge), new ItemStack(Blocks.coal_block)}, new ItemStack[]{}, 0, 5); - SummoningRegistry.registerSummon(new SummoningHelper(this.entitySmallEarthGolemID), new ItemStack[]{new ItemStack(Items.clay_ball), 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(Items.bone), new ItemStack(Items.cooked_beef), new ItemStack(Items.cooked_beef)}, new ItemStack[]{}, new ItemStack[]{}, 0, 4); - SummoningRegistry.registerSummon(new SummoningHelper(this.entityShadeID), new ItemStack[]{tennebraeStack, tennebraeStack, tennebraeStack, aetherStack, glassStack, new ItemStack(Items.glass_bottle)}, 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(Items.iron_ingot), new ItemStack(Items.gold_nugget)}, new ItemStack[]{}, new ItemStack[]{}, 0, 4); + SummoningRegistry.registerSummon(new SummoningHelperAW(this.entityBileDemonID), new ItemStack[]{new ItemStack(Items.poisonous_potato), tennebraeStack, terraeStack, new ItemStack(Items.porkchop), new ItemStack(Items.egg), new ItemStack(Items.beef)}, 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(Blocks.netherrack)}, new ItemStack[]{diamondStack, new ItemStack(Blocks.gold_block), magicalesStack, magicalesStack, new ItemStack(Items.fire_charge), new ItemStack(Blocks.coal_block)}, new ItemStack[]{}, 0, 5); + SummoningRegistry.registerSummon(new SummoningHelperAW(this.entitySmallEarthGolemID), new ItemStack[]{new ItemStack(Items.clay_ball), 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(Items.bone), new ItemStack(Items.cooked_beef), new ItemStack(Items.cooked_beef)}, new ItemStack[]{}, new ItemStack[]{}, 0, 4); + SummoningRegistry.registerSummon(new SummoningHelperAW(this.entityShadeID), new ItemStack[]{tennebraeStack, tennebraeStack, tennebraeStack, aetherStack, glassStack, new ItemStack(Items.glass_bottle)}, 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); + 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); @@ -718,6 +749,9 @@ public class AlchemicalWizardry GameRegistry.addShapelessRecipe(new ItemStack(Items.dye,5,15),fracturedBoneStack); + GameRegistry.addRecipe(new ItemStack(ModItems.itemSigilOfSupression),"wtl","wvl","wol",'v',new ItemStack(ModItems.voidSigil),'t',new ItemStack(ModBlocks.blockTeleposer),'o',masterBloodOrbStack,'l',lavaBucketStack,'w',waterBucketStack); + + AlchemyRecipeRegistry.registerRecipe(new ItemStack(Items.flint,2,0), 1, new ItemStack[]{new ItemStack(Blocks.gravel),new ItemStack(Items.flint)}, 1); AlchemyRecipeRegistry.registerRecipe(new ItemStack(Blocks.grass), 2, new ItemStack[]{new ItemStack(Blocks.dirt),new ItemStack(Items.dye,1,15),new ItemStack(Items.wheat_seeds),new ItemStack(Items.wheat_seeds)}, 1); AlchemyRecipeRegistry.registerRecipe(new ItemStack(Items.leather,3,0), 2, new ItemStack[]{new ItemStack(Items.rotten_flesh),new ItemStack(Items.rotten_flesh),new ItemStack(Items.rotten_flesh),waterBucketStack,new ItemStack(Items.flint)}, 1); @@ -742,29 +776,26 @@ public class AlchemicalWizardry { this.isThaumcraftLoaded = true; -// try -// { -// //do stuff -// ModItems.sanguineHelmet = new ItemSanguineArmour(sanguineHelmetItemID).setUnlocalizedName("sanguineHelmet"); -// LanguageRegistry.addName(ModItems.sanguineHelmet, "Sanguine Helmet"); -//// focusBloodBlast = new FocusBloodBlast(focusBloodBlastItemID); -//// LanguageRegistry.addName(focusBloodBlast,"Wand Focus: Blood Blast"); -//// -//// focusGravityWell = new FocusGravityWell(focusGravityWellItemID); -//// LanguageRegistry.addName(focusGravityWell,"Wand Focus: Gravity Well"); -// ItemStack itemGoggles = ItemApi.getItem("itemGoggles", 0); -// -// if (itemGoggles != null) -// { -// //GameRegistry.addShapelessRecipe(new ItemStack(this.sanguineHelmet), itemGoggles); -// } -// -// //LogHelper.log(Level.INFO, "Loaded RP2 World addon"); -// } catch (Exception e) -// { -// //LogHelper.log(Level.SEVERE, "Could not load RP2 World addon"); -// e.printStackTrace(System.err); -// } + try + { + //do stuff + ModItems.sanguineHelmet = new ItemSanguineArmour().setUnlocalizedName("sanguineHelmet"); + GameRegistry.registerItem(ModItems.sanguineHelmet, "sanguineHelmet"); + + ItemStack itemGoggles = ItemApi.getItem("itemGoggles", 0); + + if (itemGoggles != null) + { + BindingRegistry.registerRecipe(new ItemStack(ModItems.sanguineHelmet), itemGoggles); + + } + + //LogHelper.log(Level.INFO, "Loaded RP2 World addon"); + } catch (Exception e) + { + //LogHelper.log(Level.SEVERE, "Could not load RP2 World addon"); + e.printStackTrace(System.err); + } } else { this.isThaumcraftLoaded = false; @@ -787,4 +818,100 @@ public class AlchemicalWizardry this.isForestryLoaded = false; } } + + public static void initAlchemyPotionRecipes() + { + AlchemicalPotionCreationHandler.addPotion(new ItemStack(Items.ghast_tear), Potion.regeneration.id, 450); + AlchemicalPotionCreationHandler.addPotion(new ItemStack(Items.golden_carrot), Potion.nightVision.id, 2 * 60 * 20); + AlchemicalPotionCreationHandler.addPotion(new ItemStack(Items.magma_cream), Potion.fireResistance.id, 2 * 60 * 20); + AlchemicalPotionCreationHandler.addPotion(new ItemStack(Items.water_bucket), Potion.waterBreathing.id, 2 * 60 * 20); + AlchemicalPotionCreationHandler.addPotion(new ItemStack(Items.sugar), Potion.moveSpeed.id, 2 * 60 * 20); + AlchemicalPotionCreationHandler.addPotion(new ItemStack(Items.speckled_melon), Potion.heal.id, 2 * 60 * 20); + AlchemicalPotionCreationHandler.addPotion(new ItemStack(Items.spider_eye), Potion.poison.id, 450); + AlchemicalPotionCreationHandler.addPotion(new ItemStack(Items.fermented_spider_eye), Potion.weakness.id, 450); + AlchemicalPotionCreationHandler.addPotion(new ItemStack(Items.blaze_powder), Potion.damageBoost.id, 2 * 60 * 20); + AlchemicalPotionCreationHandler.addPotion(new ItemStack(ModItems.aether), Potion.jump.id, 2 * 60 * 20); + AlchemicalPotionCreationHandler.addPotion(new ItemStack(Items.clay_ball), Potion.moveSlowdown.id, 450); + AlchemicalPotionCreationHandler.addPotion(new ItemStack(Items.redstone), Potion.digSpeed.id, 2 * 60 * 20); + AlchemicalPotionCreationHandler.addPotion(new ItemStack(Items.potionitem, 1, 0), AlchemicalWizardry.customPotionDrowning.id, 450); + //AlchemicalPotionCreationHandler.addPotion(new ItemStack(Item.goldenCarrot),Potion.nightVision.id,2*60*20); + AlchemicalPotionCreationHandler.addPotion(new ItemStack(Items.glass_bottle), Potion.invisibility.id, 2 * 60 * 20); + AlchemicalPotionCreationHandler.addPotion(new ItemStack(Items.diamond), Potion.resistance.id, 2 * 60 * 20); + AlchemicalPotionCreationHandler.addPotion(new ItemStack(Items.poisonous_potato), Potion.field_76443_y.id, 2); //saturation + AlchemicalPotionCreationHandler.addPotion(new ItemStack(ModItems.demonBloodShard), Potion.field_76434_w.id, 4 * 60 * 20); //health boost + AlchemicalPotionCreationHandler.addPotion(new ItemStack(ModItems.weakBloodShard), Potion.field_76444_x.id, 4 * 60 * 20); //Absorption + AlchemicalPotionCreationHandler.addPotion(new ItemStack(ModItems.terrae), AlchemicalWizardry.customPotionBoost.id, 1 * 60 * 20); + AlchemicalPotionCreationHandler.addPotion(new ItemStack(Items.feather), AlchemicalWizardry.customPotionFlight.id, 1 * 60 * 20); + AlchemicalPotionCreationHandler.addPotion(new ItemStack(Items.arrow), AlchemicalWizardry.customPotionReciprocation.id, 1 * 60 * 20); + AlchemicalPotionCreationHandler.addPotion(new ItemStack(Items.ender_pearl),AlchemicalWizardry.customPotionPlanarBinding.id,1*60*20); + } + + public static void initAltarRecipes() + { + AltarRecipeRegistry.registerAltarRecipe(new ItemStack(ModItems.weakBloodOrb), new ItemStack(Items.diamond),1,2000,2,1,false); + AltarRecipeRegistry.registerAltarRecipe(new ItemStack(ModItems.apprenticeBloodOrb), new ItemStack(Items.emerald),2,5000,5,5,false); + AltarRecipeRegistry.registerAltarRecipe(new ItemStack(ModItems.magicianBloodOrb), new ItemStack(Blocks.gold_block),3,25000,20,20,false); + AltarRecipeRegistry.registerAltarRecipe(new ItemStack(ModItems.masterBloodOrb), new ItemStack(ModItems.weakBloodShard),4,40000,30,50,false); + AltarRecipeRegistry.registerAltarRecipe(new ItemStack(ModItems.archmageBloodOrb), new ItemStack(ModItems.demonBloodShard),5,75000,50,100,false); + + AltarRecipeRegistry.registerAltarOrbRecipe(new ItemStack(ModItems.weakBloodOrb),1,2); + AltarRecipeRegistry.registerAltarOrbRecipe(new ItemStack(ModItems.apprenticeBloodOrb),2,5); + AltarRecipeRegistry.registerAltarOrbRecipe(new ItemStack(ModItems.magicianBloodOrb),3,15); + AltarRecipeRegistry.registerAltarOrbRecipe(new ItemStack(ModItems.masterBloodOrb),4,25); + AltarRecipeRegistry.registerAltarOrbRecipe(new ItemStack(ModItems.archmageBloodOrb),5,50); + + AltarRecipeRegistry.registerAltarRecipe(new ItemStack(ModItems.telepositionFocus), new ItemStack(Items.ender_pearl),4,2000,10,10,false); + AltarRecipeRegistry.registerAltarRecipe(new ItemStack(ModItems.enhancedTelepositionFocus), new ItemStack(ModItems.telepositionFocus),4,10000,25,15,false); + AltarRecipeRegistry.registerAltarRecipe(new ItemStack(ModItems.demonicSlate), new ItemStack(ModItems.imbuedSlate),4,15000,20,20,false); + AltarRecipeRegistry.registerAltarRecipe(new ItemStack(ModItems.duskScribeTool), new ItemStack(Blocks.coal_block),4,2000,20,10,false); + AltarRecipeRegistry.registerAltarRecipe(new ItemStack(ModBlocks.bloodSocket), new ItemStack(ModBlocks.emptySocket),3,30000,40,10,false); + AltarRecipeRegistry.registerAltarRecipe(new ItemStack(ModItems.earthScribeTool), new ItemStack(Blocks.obsidian),3,1000,5,5,false); + AltarRecipeRegistry.registerAltarRecipe(new ItemStack(ModItems.waterScribeTool), new ItemStack(Blocks.lapis_block),3,1000,5,5,false); + AltarRecipeRegistry.registerAltarRecipe(new ItemStack(ModItems.blankSpell), new ItemStack(Blocks.glass),2,1000,5,5,false); + AltarRecipeRegistry.registerAltarRecipe(new ItemStack(ModItems.blankSlate), new ItemStack(Blocks.stone),1,1000,5,5,false); + AltarRecipeRegistry.registerAltarRecipe(new ItemStack(ModItems.activationCrystal), new ItemStack(ModItems.lavaCrystal),3,10000,20,10,false); + AltarRecipeRegistry.registerAltarRecipe(new ItemStack(ModItems.fireScribeTool), new ItemStack(Items.magma_cream),3,1000,5,5,false); + AltarRecipeRegistry.registerAltarRecipe(new ItemStack(ModItems.airScribeTool), new ItemStack(Items.ghast_tear),3,1000,5,5,false); + AltarRecipeRegistry.registerAltarRecipe(new ItemStack(ModItems.imbuedSlate), new ItemStack(ModItems.reinforcedSlate),3,5000,15,10,false); + AltarRecipeRegistry.registerAltarRecipe(new ItemStack(ModItems.daggerOfSacrifice), new ItemStack(Items.iron_sword),2,3000,5,5,false); + AltarRecipeRegistry.registerAltarRecipe(new ItemStack(ModItems.alchemyFlask), new ItemStack(Items.glass_bottle),2,2000,5,5,false); + AltarRecipeRegistry.registerAltarRecipe(new ItemStack(ModItems.reinforcedSlate), new ItemStack(ModItems.blankSlate),2,2000,5,5,false); + AltarRecipeRegistry.registerAltarRecipe(new ItemStack(ModItems.bucketLife), new ItemStack(Items.bucket),1,1000,5,0,false); + } + + public static void initRituals() + { + Rituals.ritualList.add(new Rituals(1, 500, new RitualEffectWater(), "Ritual of the Full Spring")); + Rituals.ritualList.add(new Rituals(1, 10000, new RitualEffectLava(), "Serenade of the Nether")); + Rituals.ritualList.add(new Rituals(1, 1000, new RitualEffectGrowth(), "Ritual of the Green Grove")); + Rituals.ritualList.add(new Rituals(1, 1000, new RitualEffectInterdiction(), "Interdiction Ritual")); + Rituals.ritualList.add(new Rituals(1, 2000, new RitualEffectContainment(), "Ritual of Containment")); + Rituals.ritualList.add(new Rituals(1, 5000, new RitualEffectSoulBound(), "Ritual of Binding")); + Rituals.ritualList.add(new Rituals(1, 30000, new RitualEffectUnbinding(), "Ritual of Unbinding")); + Rituals.ritualList.add(new Rituals(1, 1000, new RitualEffectJumping(), "Ritual of the High Jump")); + Rituals.ritualList.add(new Rituals(1, 5000, new RitualEffectMagnetic(), "Ritual of Magnetism")); + Rituals.ritualList.add(new Rituals(1, 2500, new RitualEffectCrushing(), "Ritual of the Crusher")); + Rituals.ritualList.add(new Rituals(1, 1000, new RitualEffectLeap(), "Ritual of Speed")); + Rituals.ritualList.add(new Rituals(1, 10000, new RitualEffectAnimalGrowth(), "Ritual of the Shepherd")); + Rituals.ritualList.add(new Rituals(1, 50000, new RitualEffectWellOfSuffering(), "Well of Suffering")); + Rituals.ritualList.add(new Rituals(1, 25000, new RitualEffectHealing(), "Ritual of Regeneration")); + Rituals.ritualList.add(new Rituals(1, 50000, new RitualEffectFeatheredKnife(), "Ritual of the Feathered Knife")); + Rituals.ritualList.add(new Rituals(2, 100000, new RitualEffectFeatheredEarth(), "Ritual of the Feathered Earth")); + Rituals.ritualList.add(new Rituals(2, 1000000, new RitualEffectBiomeChanger(), "Ritual of Gaia's Transformation")); + Rituals.ritualList.add(new Rituals(2, 1000000, new RitualEffectFlight(), "Reverence of the Condor")); + Rituals.ritualList.add(new Rituals(2, 1000000, new RitualEffectSummonMeteor(), "Mark of the Falling Tower")); + Rituals.ritualList.add(new Rituals(1, 20000,new RitualEffectAutoAlchemy(), "Ballad of Alchemy")); + Rituals.ritualList.add(new Rituals(1, 1000000,new RitualEffectExpulsion(), "Aura of Expulsion")); + Rituals.ritualList.add(new Rituals(1, 10000,new RitualEffectSupression(), "Dome of Supression")); + //Rituals.ritualList.add(new Rituals(1,100,new RitualEffectApiaryOverclock(),"Apiary Overclock")); + } + + public static void initBindingRecipes() + { + BindingRegistry.registerRecipe(new ItemStack(ModItems.boundPickaxe), new ItemStack(Items.diamond_pickaxe)); + BindingRegistry.registerRecipe(new ItemStack(ModItems.boundAxe), new ItemStack(Items.diamond_axe)); + BindingRegistry.registerRecipe(new ItemStack(ModItems.boundShovel), new ItemStack(Items.diamond_shovel)); + BindingRegistry.registerRecipe(new ItemStack(ModItems.energySword), new ItemStack(Items.diamond_sword)); + BindingRegistry.registerRecipe(new ItemStack(ModItems.energyBlaster), new ItemStack(ModItems.apprenticeBloodOrb)); + } } diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/BloodMagicConfiguration.java b/1.7.2/java/WayofTime/alchemicalWizardry/BloodMagicConfiguration.java index e2b55612..b13dcdd9 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/BloodMagicConfiguration.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/BloodMagicConfiguration.java @@ -62,125 +62,8 @@ public class BloodMagicConfiguration AlchemicalWizardry.netherStarMeteorRadius = config.get("meteor", "netherStarMeteorRadius", 3).getInt(); AlchemicalWizardry.allowedCrushedOresArray = config.get("oreCrushing", "allowedOres", new String[]{"iron","gold","copper","tin","lead","silver","osmium"}).getStringList(); -// AlchemicalWizardry.testingBlockBlockID = config.getBlock("TestingBlock", 1400).getInt(); -// AlchemicalWizardry.lifeEssenceFlowingBlockID = config.getBlock("LifeEssenceFlowing", 1401).getInt(); -// AlchemicalWizardry.lifeEssenceStillBlockID = config.getBlock("LifeEssenceStill", 1402).getInt(); -// AlchemicalWizardry.blockAltarBlockID = config.getBlock("BloodAltar", 1403).getInt(); -// AlchemicalWizardry.bloodRuneBlockID = config.getBlock("BloodRune", 1404).getInt(); -// AlchemicalWizardry.speedRuneBlockID = config.getBlock("SpeedRune", 1405).getInt(); -// AlchemicalWizardry.efficiencyRuneBlockID = config.getBlock("EfficiencyRune", 1406).getInt(); -// AlchemicalWizardry.lifeEssenceFluidID = config.getBlock("LifeEssenceFluid", 1407).getInt(); -// AlchemicalWizardry.runeOfSacrificeBlockID = config.getBlock("RuneOfSacrifice", 1408).getInt(); -// AlchemicalWizardry.runeOfSelfSacrificeBlockID = config.getBlock("RuneOfSelfSacrifice", 1409).getInt(); -// AlchemicalWizardry.ritualStoneBlockID = config.getBlock("RitualStone", 1410).getInt(); -// AlchemicalWizardry.blockMasterStoneBlockID = config.getBlock("MasterStone", 1411).getInt(); -// AlchemicalWizardry.imperfectRitualStoneBlockID = config.getBlock("ImperfectRitualStone", 1412).getInt(); -// AlchemicalWizardry.emptySocketBlockID = config.getBlock("EmptySocket", 1413).getInt(); -// AlchemicalWizardry.bloodSocketBlockID = config.getBlock("BloodSocket", 1414).getInt(); -// AlchemicalWizardry.armourForgeBlockID = config.getBlock("ArmourForge", 1415).getInt(); -// AlchemicalWizardry.largeBloodStoneBrickBlockID = config.getBlock("LargeBloodStoneBrick", 1416).getInt(); -// AlchemicalWizardry.bloodStoneBrickBlockID = config.getBlock("BloodStoneBrick", 1417).getInt(); -// AlchemicalWizardry.blockWritingTableBlockID = config.getBlock("BlockWritingTable", 1418).getInt(); -// AlchemicalWizardry.blockHomHeartBlockID = config.getBlock("BlockHomHeart", 1419).getInt(); -// AlchemicalWizardry.blockPedestalBlockID = config.getBlock("BlockPedestal", 1420).getInt(); -// AlchemicalWizardry.blockPlinthBlockID = config.getBlock("BlockPlinth", 1421).getInt(); -// AlchemicalWizardry.blockTeleposerBlockID = config.getBlock("BlockTeleposer", 1422).getInt(); -// AlchemicalWizardry.spectralBlockBlockID = config.getBlock("SpectralBlock", 1423).getInt(); -// AlchemicalWizardry.blockBloodLightBlockID = config.getBlock("BloodLight", 1424).getInt(); -// AlchemicalWizardry.blockConduitBlockID = config.getBlock("BlockConduit", 1425).getInt(); -// AlchemicalWizardry.blockSpellEffectBlockID = config.getBlock("BlockSpellEffect", 1426).getInt(); -// AlchemicalWizardry.blockSpellParadigmBlockID = config.getBlock("BlockSpellParadigm", 1427).getInt(); -// AlchemicalWizardry.blockSpellModifierBlockID = config.getBlock("BlockSpellModifier", 1428).getInt(); -// AlchemicalWizardry.blockSpellEnhancementBlockID = config.getBlock("BlockSpellEnhancement", 1429).getInt(); -// //Items -// AlchemicalWizardry.weakBloodOrbItemID = config.getItem("WeakBloodOrb", 17000).getInt(); -// AlchemicalWizardry.energyBlasterItemID = config.getItem("EnergyBlaster", 17001).getInt(); -// AlchemicalWizardry.energySwordItemID = config.getItem("EnergySword", 17002).getInt(); -// AlchemicalWizardry.lavaCrystalItemID = config.getItem("LavaCrystal", 17003).getInt(); -// AlchemicalWizardry.waterSigilItemID = config.getItem("WaterSigil", 17004).getInt(); -// AlchemicalWizardry.lavaSigilItemID = config.getItem("LavaSigil", 17005).getInt(); -// AlchemicalWizardry.voidSigilItemID = config.getItem("VoidSigil", 17006).getInt(); -// AlchemicalWizardry.blankSlateItemID = config.getItem("BlankSlate", 17007).getInt(); -// AlchemicalWizardry.reinforcedSlateItemID = config.getItem("ReinforcedSlate", 17008).getInt(); -// AlchemicalWizardry.sacrificialDaggerItemID = config.getItem("SacrificialDagger", 17009).getInt(); -// AlchemicalWizardry.bucketLifeItemID = config.getItem("BucketLife", 17010).getInt(); -// AlchemicalWizardry.apprenticeBloodOrbItemID = config.getItem("ApprenticeBloodOrb", 17011).getInt(); -// AlchemicalWizardry.daggerOfSacrificeItemID = config.getItem("DaggerOfSacrifice", 17012).getInt(); -// AlchemicalWizardry.airSigilItemID = config.getItem("AirSigil", 17013).getInt(); -// AlchemicalWizardry.sigilOfTheFastMinerItemID = config.getItem("SigilOfTheFastMiner", 17014).getInt(); -//// elementalInkWaterItemID = config.getItem("ElementalInkWater", 17015).getInt(); -//// elementalInkFireItemID = config.getItem("ElementalInkFire", 17016).getInt(); -//// elementalInkEarthItemID = config.getItem("ElementalInkEarth", 17017).getInt(); -//// elementalInkAirItemID = config.getItem("ElementalInkAir", 17018).getInt(); -// AlchemicalWizardry.duskScribeToolItemID = config.getItem("DuskScribeTool", 17015).getInt(); -// AlchemicalWizardry.demonPlacerItemID = config.getItem("DemonPlacer", 17016).getInt(); -// AlchemicalWizardry.itemBloodRuneBlockItemID = config.getItem("ItemBloodRuneBlock", 17017).getInt(); -// AlchemicalWizardry.armourInhibitorItemID = config.getItem("ArmourInhibitor", 17018).getInt(); -// AlchemicalWizardry.divinationSigilItemID = config.getItem("DivinationSigin", 17019).getInt(); -// AlchemicalWizardry.waterScribeToolItemID = config.getItem("WaterScribeTool", 17020).getInt(); -// AlchemicalWizardry.fireScribeToolItemID = config.getItem("FireScribeTool", 17021).getInt(); -// AlchemicalWizardry.earthScribeToolItemID = config.getItem("EarthScribeTool", 17022).getInt(); -// AlchemicalWizardry.airScribeToolItemID = config.getItem("AirScribeTool", 17023).getInt(); -// AlchemicalWizardry.weakActivationCrystalItemID = config.getItem("WeakActivationCrystal", 17024).getInt(); -// AlchemicalWizardry.magicianBloodOrbItemID = config.getItem("MagicianBloodOrb", 17025).getInt(); -// AlchemicalWizardry.sigilOfElementalAffinityItemID = config.getItem("SigilOfElementalAffinity", 17026).getInt(); -// AlchemicalWizardry.sigilOfHasteItemID = config.getItem("SigilOfHaste", 17027).getInt(); -// AlchemicalWizardry.sigilOfHoldingItemID = config.getItem("SigilOfHolding", 17028).getInt(); -// AlchemicalWizardry.boundPickaxeItemID = config.getItem("BoundPickaxe", 17029).getInt(); -// AlchemicalWizardry.boundAxeItemID = config.getItem("BoundAxe", 17030).getInt(); -// AlchemicalWizardry.boundShovelItemID = config.getItem("BoundShovel", 17031).getInt(); -// AlchemicalWizardry.boundHelmetItemID = config.getItem("BoundHelmet", 17032).getInt(); -// AlchemicalWizardry.boundPlateItemID = config.getItem("BoundPlate", 17033).getInt(); -// AlchemicalWizardry.boundLeggingsItemID = config.getItem("BoundLeggings", 17034).getInt(); -// AlchemicalWizardry.boundBootsItemID = config.getItem("BoundBoots", 17035).getInt(); -// AlchemicalWizardry.weakBloodShardItemID = config.getItem("WeakBloodShard", 17036).getInt(); -// AlchemicalWizardry.growthSigilItemID = config.getItem("SigilOfGrowth", 17037).getInt(); -// AlchemicalWizardry.masterBloodOrbItemID = config.getItem("MasterBloodOrb", 17038).getInt(); -// AlchemicalWizardry.blankSpellItemID = config.getItem("BlankSpell", 17039).getInt(); -// AlchemicalWizardry.alchemyFlaskItemID = config.getItem("AlchemyFlask", 17040).getInt(); -// AlchemicalWizardry.standardBindingAgentItemID = config.getItem("StandardBindingAgent", 17041).getInt(); -// AlchemicalWizardry.mundanePowerCatalystItemID = config.getItem("MundanePowerCatalyst", 17042).getInt(); -// AlchemicalWizardry.averagePowerCatalystItemID = config.getItem("AveragePowerCatalyst", 17043).getInt(); -// AlchemicalWizardry.greaterPowerCatalystItemID = config.getItem("GreaterPowerCatalyst", 17044).getInt(); -// AlchemicalWizardry.mundaneLengtheningCatalystItemID = config.getItem("MundaneLengtheningCatalyst", 17045).getInt(); -// AlchemicalWizardry.averageLengtheningCatalystItemID = config.getItem("AverageLengtheningCatalyst", 17046).getInt(); -// AlchemicalWizardry.greaterLengtheningCatalystItemID = config.getItem("GreaterLengtheningCatalyst", 17047).getInt(); -// AlchemicalWizardry.demonBloodShardItemID = config.getItem("DemonBloodShard", 17048).getInt(); -// AlchemicalWizardry.archmageBloodOrbItemID = config.getItem("ArchmageBloodOrb", 17049).getInt(); -// AlchemicalWizardry.sigilOfWindItemID = config.getItem("SigilOfWind", 17050).getInt(); -// AlchemicalWizardry.telepositionFocusItemID = config.getItem("TelepositionFocusItemID", 17051).getInt(); -// AlchemicalWizardry.enhancedTelepositionFocusItemID = config.getItem("EnhancedTelepositionFocus", 17052).getInt(); -// AlchemicalWizardry.reinforcedTelepositionFocusItemID = config.getItem("ReinforcedTelepositionFocus", 17053).getInt(); -// AlchemicalWizardry.demonicTelepositionFocusItemID = config.getItem("DemonicTelepositionFocus", 17054).getInt(); -// AlchemicalWizardry.imbuedSlateItemID = config.getItem("ImbuedSlate", 17055).getInt(); -// AlchemicalWizardry.demonicSlateItemID = config.getItem("DemonicSlate", 17056).getInt(); -// AlchemicalWizardry.sigilOfTheBridgeItemID = config.getItem("SigilOfTheBridge", 17057).getInt(); -// AlchemicalWizardry.creativeFillerItemID = config.getItem("CreativeFiller", 17058).getInt(); -// AlchemicalWizardry.itemRitualDivinerItemID = config.getItem("ItemRitualDiviner", 17059).getInt(); -// AlchemicalWizardry.itemKeyOfDiabloItemID = config.getItem("ItemKeyOfDiablo", 17081).getInt(); -// AlchemicalWizardry.energyBazookaItemID = config.getItem("EnergyBazooka", 17082).getInt(); -// AlchemicalWizardry.itemBloodLightSigilItemID = config.getItem("BloodLightSigil", 17083).getInt(); -// AlchemicalWizardry.simpleCatalystItemID = config.getItem("SimpleCatalyst", 17060).getInt(); -// AlchemicalWizardry.incendiumItemID = config.getItem("Incendium", 17061).getInt(); -// AlchemicalWizardry.magicalesItemID = config.getItem("Magicales", 17062).getInt(); -// AlchemicalWizardry.sanctusItemID = config.getItem("Sanctus", 17063).getInt(); -// AlchemicalWizardry.aetherItemID = config.getItem("Aether", 17064).getInt(); -// AlchemicalWizardry.crepitousItemID = config.getItem("Crepitous", 17065).getInt(); -// AlchemicalWizardry.crystallosItemID = config.getItem("Crystallos", 17066).getInt(); -// -// AlchemicalWizardry.terraeItemID = config.getItem("Terrae", 17067).getInt(); -// AlchemicalWizardry.aquasalusItemID = config.getItem("Aquasalus", 17068).getInt(); -// AlchemicalWizardry.tennebraeItemID = config.getItem("Tennebrae", 17069).getInt(); -// AlchemicalWizardry.weakBindingAgentItemID = config.getItem("WeakBindingAgent", 17070).getInt(); -// AlchemicalWizardry.weakFillingAgentItemID = config.getItem("WeakFillingAgent", 17072).getInt(); -// AlchemicalWizardry.standardFillingAgentItemID = config.getItem("StandardFillingAgent", 17073).getInt(); -// AlchemicalWizardry.enhancedFillingAgentItemID = config.getItem("EnhancedFillingAgent", 17074).getInt(); -// AlchemicalWizardry.sanguineHelmetItemID = config.getItem("SanguineHelmet", 17075).getInt(); -// AlchemicalWizardry.focusBloodBlastItemID = config.getItem("FocusBloodBlast", 17076).getInt(); -// AlchemicalWizardry.focusGravityWellItemID = config.getItem("FocusGravityWell", 17077).getInt(); -// AlchemicalWizardry.sigilOfMagnetismItemID = config.getItem("SigilOfMagnetism", 17080).getInt(); -// AlchemicalWizardry.itemComplexSpellCrystalItemID = config.getItem("ComplexSpellCrystal",17081).getInt(); -// AlchemicalWizardry.itemBloodFrameItemID = config.getItem("BloodFrame", 17082).getInt(); + + AlchemicalWizardry.wimpySettings = config.get("WimpySettings","IDontLikeFun",false).getBoolean(false); } catch (Exception e) { diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/ModBlocks.java b/1.7.2/java/WayofTime/alchemicalWizardry/ModBlocks.java index 19a2a061..37042571 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/ModBlocks.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/ModBlocks.java @@ -51,6 +51,7 @@ public class ModBlocks public static Block blockSpellParadigm; public static Block blockSpellModifier; public static Block blockSpellEnhancement; + public static Block blockSpectralContainer; public static void init() { @@ -81,6 +82,7 @@ public class ModBlocks blockSpellParadigm = new BlockSpellParadigm(); blockSpellModifier = new BlockSpellModifier(); blockSpellEnhancement = new BlockSpellEnhancement(); + blockSpectralContainer = new BlockSpectralContainer(); blockLifeEssence = new LifeEssenceBlock(); } @@ -117,6 +119,8 @@ public class ModBlocks GameRegistry.registerBlock(ModBlocks.blockSpellModifier, ItemSpellModifierBlock.class,"AlchemicalWizardry" + (ModBlocks.blockSpellModifier.getUnlocalizedName())); GameRegistry.registerBlock(ModBlocks.blockSpellEffect, ItemSpellEffectBlock.class,"AlchemicalWizardry" + (ModBlocks.blockSpellEffect.getUnlocalizedName())); + GameRegistry.registerBlock(ModBlocks.blockSpectralContainer, "spectralContainer"); + } public static void registerBlocksInInit() diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/ModItems.java b/1.7.2/java/WayofTime/alchemicalWizardry/ModItems.java index 82ae2cff..a30da1bd 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/ModItems.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/ModItems.java @@ -57,6 +57,7 @@ import WayofTime.alchemicalWizardry.common.items.sigil.AirSigil; import WayofTime.alchemicalWizardry.common.items.sigil.DivinationSigil; import WayofTime.alchemicalWizardry.common.items.sigil.ItemBloodLightSigil; import WayofTime.alchemicalWizardry.common.items.sigil.ItemSigilOfEnderSeverance; +import WayofTime.alchemicalWizardry.common.items.sigil.ItemSigilOfSupression; import WayofTime.alchemicalWizardry.common.items.sigil.LavaSigil; import WayofTime.alchemicalWizardry.common.items.sigil.SigilOfElementalAffinity; import WayofTime.alchemicalWizardry.common.items.sigil.SigilOfGrowth; @@ -165,6 +166,7 @@ public class ModItems public static Item itemBloodFrame; public static Item itemSigilOfEnderSeverance; + public static Item itemSigilOfSupression; public static Item bucketLife; @@ -251,6 +253,7 @@ public class ModItems itemSigilOfEnderSeverance = (new ItemSigilOfEnderSeverance()).setUnlocalizedName("itemSigilOfEnderSeverance"); baseItems = new ItemComponents().setUnlocalizedName("baseItems"); baseAlchemyItems = new ItemAlchemyBase().setUnlocalizedName("baseAlchemyItems"); + itemSigilOfSupression = new ItemSigilOfSupression().setUnlocalizedName("itemSigilOfSupression"); } public static void registerItems() @@ -337,6 +340,7 @@ public class ModItems GameRegistry.registerItem(ModItems.energyBazooka, "energyBazooka"); GameRegistry.registerItem(ModItems.itemBloodLightSigil, "itemBloodLightSigil"); GameRegistry.registerItem(ModItems.itemComplexSpellCrystal, "itemComplexSpellCrystal"); + GameRegistry.registerItem(ModItems.itemSigilOfSupression, "sigilOfSupression"); GameRegistry.registerItem(ModItems.itemSigilOfEnderSeverance, "sigilOfEnderSeverance"); GameRegistry.registerItem(ModItems.bucketLife, "bucketLife"); diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/api/alchemy/AlchemicalPotionCreationHandler.java b/1.7.2/java/WayofTime/alchemicalWizardry/api/alchemy/AlchemicalPotionCreationHandler.java new file mode 100644 index 00000000..4a4b40e0 --- /dev/null +++ b/1.7.2/java/WayofTime/alchemicalWizardry/api/alchemy/AlchemicalPotionCreationHandler.java @@ -0,0 +1,79 @@ +package WayofTime.alchemicalWizardry.api.alchemy; + +import java.util.ArrayList; + +import net.minecraft.item.ItemStack; + +public class AlchemicalPotionCreationHandler +{ + public static ArrayList registeredPotionEffects = new ArrayList(); + + public static void addPotion(ItemStack itemStack, int potionID, int tickDuration) + { + registeredPotionEffects.add(new AlchemyPotionHandlerComponent(itemStack, potionID, tickDuration)); + } + + public static int getPotionIDForStack(ItemStack itemStack) + { + for (AlchemyPotionHandlerComponent aphc : registeredPotionEffects) + { + if (aphc.compareItemStack(itemStack)) + { + return aphc.getPotionID(); + } + } + + return -1; + } + + public static int getPotionTickDurationForStack(ItemStack itemStack) + { + { + for (AlchemyPotionHandlerComponent aphc : registeredPotionEffects) + { + if (aphc.compareItemStack(itemStack)) + { + return aphc.getTickDuration(); + } + } + + return -1; + } + } + + public static boolean containsRegisteredPotionIngredient(ItemStack[] stackList) + { + for (ItemStack is : stackList) + { + for (AlchemyPotionHandlerComponent aphc : registeredPotionEffects) + { + if (aphc.compareItemStack(is)) + { + return true; + } + } + } + + return false; + } + + public static int getRegisteredPotionIngredientPosition(ItemStack[] stackList) + { + int i = 0; + + for (ItemStack is : stackList) + { + for (AlchemyPotionHandlerComponent aphc : registeredPotionEffects) + { + if (aphc.compareItemStack(is)) + { + return i; + } + } + + i++; + } + + return -1; + } +} diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/alchemy/AlchemyPotionHandlerComponent.java b/1.7.2/java/WayofTime/alchemicalWizardry/api/alchemy/AlchemyPotionHandlerComponent.java similarity index 96% rename from 1.7.2/java/WayofTime/alchemicalWizardry/common/alchemy/AlchemyPotionHandlerComponent.java rename to 1.7.2/java/WayofTime/alchemicalWizardry/api/alchemy/AlchemyPotionHandlerComponent.java index 79765ee4..6f0d461d 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/alchemy/AlchemyPotionHandlerComponent.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/api/alchemy/AlchemyPotionHandlerComponent.java @@ -1,4 +1,4 @@ -package WayofTime.alchemicalWizardry.common.alchemy; +package WayofTime.alchemicalWizardry.api.alchemy; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/alchemy/AlchemyPotionHelper.java b/1.7.2/java/WayofTime/alchemicalWizardry/api/alchemy/AlchemyPotionHelper.java similarity index 97% rename from 1.7.2/java/WayofTime/alchemicalWizardry/common/alchemy/AlchemyPotionHelper.java rename to 1.7.2/java/WayofTime/alchemicalWizardry/api/alchemy/AlchemyPotionHelper.java index 47bcd609..d3462552 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/alchemy/AlchemyPotionHelper.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/api/alchemy/AlchemyPotionHelper.java @@ -1,4 +1,4 @@ -package WayofTime.alchemicalWizardry.common.alchemy; +package WayofTime.alchemicalWizardry.api.alchemy; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.potion.Potion; diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/alchemy/AlchemyRecipe.java b/1.7.2/java/WayofTime/alchemicalWizardry/api/alchemy/AlchemyRecipe.java similarity index 98% rename from 1.7.2/java/WayofTime/alchemicalWizardry/common/alchemy/AlchemyRecipe.java rename to 1.7.2/java/WayofTime/alchemicalWizardry/api/alchemy/AlchemyRecipe.java index f54ebb3d..f773d063 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/alchemy/AlchemyRecipe.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/api/alchemy/AlchemyRecipe.java @@ -1,4 +1,4 @@ -package WayofTime.alchemicalWizardry.common.alchemy; +package WayofTime.alchemicalWizardry.api.alchemy; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/alchemy/AlchemyRecipeRegistry.java b/1.7.2/java/WayofTime/alchemicalWizardry/api/alchemy/AlchemyRecipeRegistry.java similarity index 80% rename from 1.7.2/java/WayofTime/alchemicalWizardry/common/alchemy/AlchemyRecipeRegistry.java rename to 1.7.2/java/WayofTime/alchemicalWizardry/api/alchemy/AlchemyRecipeRegistry.java index 297697a0..5753cff2 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/alchemy/AlchemyRecipeRegistry.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/api/alchemy/AlchemyRecipeRegistry.java @@ -1,11 +1,11 @@ -package WayofTime.alchemicalWizardry.common.alchemy; - -import WayofTime.alchemicalWizardry.common.items.EnergyBattery; -import net.minecraft.item.ItemStack; +package WayofTime.alchemicalWizardry.api.alchemy; import java.util.ArrayList; import java.util.List; +import net.minecraft.item.ItemStack; +import WayofTime.alchemicalWizardry.api.items.interfaces.IBloodOrb; + public class AlchemyRecipeRegistry { public static List recipes = new ArrayList(); @@ -22,12 +22,12 @@ public class AlchemyRecipeRegistry return null; } - if (!(bloodOrb.getItem() instanceof EnergyBattery)) + if (!(bloodOrb.getItem() instanceof IBloodOrb)) { return null; } - int bloodOrbLevel = ((EnergyBattery) bloodOrb.getItem()).getOrbLevel(); + int bloodOrbLevel = ((IBloodOrb) bloodOrb.getItem()).getOrbLevel(); for (AlchemyRecipe ar : recipes) { @@ -47,12 +47,12 @@ public class AlchemyRecipeRegistry return 0; } - if (!(bloodOrb.getItem() instanceof EnergyBattery)) + if (!(bloodOrb.getItem() instanceof IBloodOrb)) { return 0; } - int bloodOrbLevel = ((EnergyBattery) bloodOrb.getItem()).getOrbLevel(); + int bloodOrbLevel = ((IBloodOrb) bloodOrb.getItem()).getOrbLevel(); for (AlchemyRecipe ar : recipes) { diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/altarRecipeRegistry/AltarRecipe.java b/1.7.2/java/WayofTime/alchemicalWizardry/api/altarRecipeRegistry/AltarRecipe.java similarity index 95% rename from 1.7.2/java/WayofTime/alchemicalWizardry/common/altarRecipeRegistry/AltarRecipe.java rename to 1.7.2/java/WayofTime/alchemicalWizardry/api/altarRecipeRegistry/AltarRecipe.java index a7599f70..624f219b 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/altarRecipeRegistry/AltarRecipe.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/api/altarRecipeRegistry/AltarRecipe.java @@ -1,4 +1,4 @@ -package WayofTime.alchemicalWizardry.common.altarRecipeRegistry; +package WayofTime.alchemicalWizardry.api.altarRecipeRegistry; import net.minecraft.item.ItemStack; diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/api/altarRecipeRegistry/AltarRecipeRegistry.java b/1.7.2/java/WayofTime/alchemicalWizardry/api/altarRecipeRegistry/AltarRecipeRegistry.java new file mode 100644 index 00000000..89c0be46 --- /dev/null +++ b/1.7.2/java/WayofTime/alchemicalWizardry/api/altarRecipeRegistry/AltarRecipeRegistry.java @@ -0,0 +1,60 @@ +package WayofTime.alchemicalWizardry.api.altarRecipeRegistry; + +import java.util.LinkedList; +import java.util.List; + +import net.minecraft.item.ItemStack; + +public class AltarRecipeRegistry +{ + public static List altarRecipes = new LinkedList(); + + public static void registerAltarRecipe(ItemStack result, ItemStack requiredItem, int minTier, int liquidRequired, int consumptionRate, int drainRate, boolean canBeFilled) + { + altarRecipes.add(new AltarRecipe(result, requiredItem, minTier, liquidRequired, consumptionRate, drainRate, canBeFilled)); + } + + public static void registerAltarOrbRecipe(ItemStack orbStack, int minTier, int consumptionRate) + { + registerAltarRecipe(null, orbStack, minTier, 0, consumptionRate, 0, true); + } + + public static boolean isRequiredItemValid(ItemStack testItem, int currentTierAltar) + { + for(AltarRecipe recipe : altarRecipes) + { + if(recipe.doesRequiredItemMatch(testItem, currentTierAltar)) + { + return true; + } + } + + return false; + } + + public static ItemStack getItemForItemAndTier(ItemStack testItem, int currentTierAltar) + { + for(AltarRecipe recipe : altarRecipes) + { + if(recipe.doesRequiredItemMatch(testItem, currentTierAltar)) + { + return ItemStack.copyItemStack(recipe.getResult()); + } + } + + return null; + } + + public static AltarRecipe getAltarRecipeForItemAndTier(ItemStack testItem, int currentTierAltar) + { + for(AltarRecipe recipe : altarRecipes) + { + if(recipe.doesRequiredItemMatch(testItem, currentTierAltar)) + { + return recipe; + } + } + + return null; + } +} diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/api/bindingRegistry/BindingRecipe.java b/1.7.2/java/WayofTime/alchemicalWizardry/api/bindingRegistry/BindingRecipe.java new file mode 100644 index 00000000..f8d63855 --- /dev/null +++ b/1.7.2/java/WayofTime/alchemicalWizardry/api/bindingRegistry/BindingRecipe.java @@ -0,0 +1,30 @@ +package WayofTime.alchemicalWizardry.api.bindingRegistry; + +import net.minecraft.item.ItemStack; + +public class BindingRecipe +{ + public ItemStack requiredItem; + public ItemStack outputItem; + + public BindingRecipe(ItemStack outputItem, ItemStack requiredItem) + { + this.requiredItem = requiredItem; + this.outputItem = outputItem; + } + + public boolean doesRequiredItemMatch(ItemStack testStack) + { + if(testStack == null || this.requiredItem == null) + { + return false; + } + + return this.requiredItem.isItemEqual(testStack); + } + + public ItemStack getResult() + { + return this.outputItem; + } +} diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/api/bindingRegistry/BindingRegistry.java b/1.7.2/java/WayofTime/alchemicalWizardry/api/bindingRegistry/BindingRegistry.java new file mode 100644 index 00000000..68f34e4c --- /dev/null +++ b/1.7.2/java/WayofTime/alchemicalWizardry/api/bindingRegistry/BindingRegistry.java @@ -0,0 +1,67 @@ +package WayofTime.alchemicalWizardry.api.bindingRegistry; + +import java.util.LinkedList; +import java.util.List; + +import net.minecraft.item.ItemStack; + +public class BindingRegistry +{ + public static List bindingRecipes = new LinkedList(); + + public static void registerRecipe(ItemStack output, ItemStack input) + { + bindingRecipes.add(new BindingRecipe(output, input)); + } + + public static boolean isRequiredItemValid(ItemStack testItem) + { + for(BindingRecipe recipe : bindingRecipes) + { + if(recipe.doesRequiredItemMatch(testItem)) + { + return true; + } + } + + return false; + } + + public static ItemStack getItemForItemAndTier(ItemStack testItem) + { + for(BindingRecipe recipe : bindingRecipes) + { + if(recipe.doesRequiredItemMatch(testItem)) + { + return recipe.getResult().copy(); + } + } + + 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/1.7.2/java/WayofTime/alchemicalWizardry/common/ArmourUpgrade.java b/1.7.2/java/WayofTime/alchemicalWizardry/api/items/interfaces/ArmourUpgrade.java similarity index 85% rename from 1.7.2/java/WayofTime/alchemicalWizardry/common/ArmourUpgrade.java rename to 1.7.2/java/WayofTime/alchemicalWizardry/api/items/interfaces/ArmourUpgrade.java index ce14e417..7fce7cd0 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/ArmourUpgrade.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/api/items/interfaces/ArmourUpgrade.java @@ -1,4 +1,4 @@ -package WayofTime.alchemicalWizardry.common; +package WayofTime.alchemicalWizardry.api.items.interfaces; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/api/items/interfaces/IBindable.java b/1.7.2/java/WayofTime/alchemicalWizardry/api/items/interfaces/IBindable.java new file mode 100644 index 00000000..46a79939 --- /dev/null +++ b/1.7.2/java/WayofTime/alchemicalWizardry/api/items/interfaces/IBindable.java @@ -0,0 +1,5 @@ +package WayofTime.alchemicalWizardry.api.items.interfaces; + +public interface IBindable +{ +} diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/api/items/interfaces/IBloodOrb.java b/1.7.2/java/WayofTime/alchemicalWizardry/api/items/interfaces/IBloodOrb.java new file mode 100644 index 00000000..794172cc --- /dev/null +++ b/1.7.2/java/WayofTime/alchemicalWizardry/api/items/interfaces/IBloodOrb.java @@ -0,0 +1,8 @@ +package WayofTime.alchemicalWizardry.api.items.interfaces; + +public interface IBloodOrb +{ + public int getMaxEssence(); + + public int getOrbLevel(); +} diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/api/items/interfaces/IHolding.java b/1.7.2/java/WayofTime/alchemicalWizardry/api/items/interfaces/IHolding.java new file mode 100644 index 00000000..cb07b998 --- /dev/null +++ b/1.7.2/java/WayofTime/alchemicalWizardry/api/items/interfaces/IHolding.java @@ -0,0 +1,6 @@ +package WayofTime.alchemicalWizardry.api.items.interfaces; + +public interface IHolding +{ + +} diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/api/rituals/IMasterRitualStone.java b/1.7.2/java/WayofTime/alchemicalWizardry/api/rituals/IMasterRitualStone.java new file mode 100644 index 00000000..a89c1dd2 --- /dev/null +++ b/1.7.2/java/WayofTime/alchemicalWizardry/api/rituals/IMasterRitualStone.java @@ -0,0 +1,30 @@ +package WayofTime.alchemicalWizardry.api.rituals; + +import net.minecraft.world.World; + +public interface IMasterRitualStone +{ + public void performRitual(World world, int x, int y, int z, int ritualID); + + public String getOwner(); + + public void setCooldown(int newCooldown); + + public int getCooldown(); + + public void setVar1(int newVar1); + + public int getVar1(); + + public void setActive(boolean active); + + public int getDirection(); + + public World getWorld(); + + public int getXCoord(); + + public int getYCoord(); + + public int getZCoord(); +} diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/api/rituals/IRitualStone.java b/1.7.2/java/WayofTime/alchemicalWizardry/api/rituals/IRitualStone.java new file mode 100644 index 00000000..078cfd40 --- /dev/null +++ b/1.7.2/java/WayofTime/alchemicalWizardry/api/rituals/IRitualStone.java @@ -0,0 +1,6 @@ +package WayofTime.alchemicalWizardry.api.rituals; + +public interface IRitualStone +{ + +} diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualComponent.java b/1.7.2/java/WayofTime/alchemicalWizardry/api/rituals/RitualComponent.java similarity index 93% rename from 1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualComponent.java rename to 1.7.2/java/WayofTime/alchemicalWizardry/api/rituals/RitualComponent.java index e929ac69..b7149858 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualComponent.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/api/rituals/RitualComponent.java @@ -1,4 +1,4 @@ -package WayofTime.alchemicalWizardry.common.rituals; +package WayofTime.alchemicalWizardry.api.rituals; public class RitualComponent { diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/api/rituals/RitualEffect.java b/1.7.2/java/WayofTime/alchemicalWizardry/api/rituals/RitualEffect.java new file mode 100644 index 00000000..70f89f59 --- /dev/null +++ b/1.7.2/java/WayofTime/alchemicalWizardry/api/rituals/RitualEffect.java @@ -0,0 +1,17 @@ +package WayofTime.alchemicalWizardry.api.rituals; + +import java.util.List; + +public abstract class RitualEffect +{ + public abstract void performEffect(IMasterRitualStone ritualStone); + + public abstract int getCostPerRefresh(); + + public int getInitialCooldown() + { + return 0; + } + + public abstract List getRitualComponentList(); +} diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/api/rituals/Rituals.java b/1.7.2/java/WayofTime/alchemicalWizardry/api/rituals/Rituals.java new file mode 100644 index 00000000..188ea6ee --- /dev/null +++ b/1.7.2/java/WayofTime/alchemicalWizardry/api/rituals/Rituals.java @@ -0,0 +1,252 @@ +package WayofTime.alchemicalWizardry.api.rituals; + +import java.util.ArrayList; +import java.util.List; + +import net.minecraft.block.Block; +import net.minecraft.world.World; +import net.minecraftforge.oredict.OreDictionary; + +public class Rituals +{ + private int crystalLevel; + private int actCost; + private RitualEffect effect; + private String name; + + public static List ritualList = new ArrayList(); + + public Rituals(int crystalLevel, int actCost, RitualEffect effect, String name) + { + this.crystalLevel = crystalLevel; + this.actCost = actCost; + this.effect = effect; + this.name = name; + } + + public static int checkValidRitual(World world, int x, int y, int z) + { + for (int i = 1; i <= ritualList.size(); i++) + { + if (checkRitualIsValid(world, x, y, z, i)) + { + return i; + } + } + + return 0; + } + + public static boolean canCrystalActivate(int ritual, int crystalLevel) + { + if (ritual <= ritualList.size()) + { + return ritualList.get(ritual - 1).crystalLevel <= crystalLevel; + } else + { + return false; + } + } + + public static boolean checkRitualIsValid(World world, int x, int y, int z, int ritualID) + { + int direction = Rituals.getDirectionOfRitual(world, x, y, z, ritualID); + + if (direction != -1) + { + return true; + } + + return false; + } + + /** + * 1 - NORTH + * 2 - EAST + * 3 - SOUTH + * 4 - WEST + */ + public static boolean checkDirectionOfRitualValid(World world, int x, int y, int z, int ritualID, int direction) + { + List ritual = Rituals.getRitualList(ritualID); + + if (ritual == null) + { + return false; + } + + Block test = null; + + switch (direction) + { + case 1: + for (RitualComponent rc : ritual) + { + test = world.getBlock(x + rc.getX(), y + rc.getY(), z + rc.getZ()); + + if (!(test instanceof IRitualStone)) + { + return false; + } + + if (world.getBlockMetadata(x + rc.getX(), y + rc.getY(), z + rc.getZ()) != rc.getStoneType()) + { + return false; + } + } + + return true; + + case 2: + for (RitualComponent rc : ritual) + { + test = world.getBlock(x - rc.getZ(), y + rc.getY(), z + rc.getX()); + + if (!(test instanceof IRitualStone)) + { + return false; + } + + if (world.getBlockMetadata(x - rc.getZ(), y + rc.getY(), z + rc.getX()) != rc.getStoneType()) + { + return false; + } + } + + return true; + + case 3: + for (RitualComponent rc : ritual) + { + test = world.getBlock(x - rc.getX(), y + rc.getY(), z - rc.getZ()); + + if (!(test instanceof IRitualStone)) + { + return false; + } + + if (world.getBlockMetadata(x - rc.getX(), y + rc.getY(), z - rc.getZ()) != rc.getStoneType()) + { + return false; + } + } + + return true; + + case 4: + for (RitualComponent rc : ritual) + { + test = world.getBlock(x + rc.getZ(), y + rc.getY(), z - rc.getX()); + + if (!(test instanceof IRitualStone)) + { + return false; + } + + if (world.getBlockMetadata(x + rc.getZ(), y + rc.getY(), z - rc.getX()) != rc.getStoneType()) + { + return false; + } + } + + return true; + } + + return false; + } + + public static int getDirectionOfRitual(World world, int x, int y, int z, int ritualID) + { + for (int i = 1; i <= 4; i++) + { + if (Rituals.checkDirectionOfRitualValid(world, x, y, z, ritualID, i)) + { + return i; + } + } + + return -1; + } + + public static int getCostForActivation(int ritualID) + { + if (ritualID <= ritualList.size()) + { + return ritualList.get(ritualID - 1).actCost; + } else + { + return 0; + } + } + + public static int getInitialCooldown(int ritualID) + { + if (ritualID <= ritualList.size()) + { + RitualEffect ef = ritualList.get(ritualID - 1).effect; + + if (ef != null) + { + OreDictionary d; + return ef.getInitialCooldown(); + } + } + + return 0; + } + + public static List getRitualList(int ritualID) + { + if (ritualID <= ritualList.size()) + { + return ritualList.get(ritualID - 1).obtainComponents(); + } else + { + return null; + } + } + + private List obtainComponents() + { + return this.effect.getRitualComponentList(); + } + + private int getCrystalLevel() + { + return this.crystalLevel; + } + + public static void performEffect(IMasterRitualStone ritualStone, int ritualID) + { + if (ritualID <= ritualList.size()) + { + RitualEffect ef = ritualList.get(ritualID - 1).effect; + + if (ef != null) + { + ef.performEffect(ritualStone); + } + } + } + + public static int getNumberOfRituals() + { + return ritualList.size(); + } + + public String getRitualName() + { + return this.name; + } + + public static String getNameOfRitual(int id) + { + if (ritualList.get(id) != null) + { + return ritualList.get(id).getRitualName(); + } else + { + return ""; + } + } +} diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/LifeEssenceNetwork.java b/1.7.2/java/WayofTime/alchemicalWizardry/api/soulNetwork/LifeEssenceNetwork.java similarity index 91% rename from 1.7.2/java/WayofTime/alchemicalWizardry/common/LifeEssenceNetwork.java rename to 1.7.2/java/WayofTime/alchemicalWizardry/api/soulNetwork/LifeEssenceNetwork.java index 3eadeea0..61d24eee 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/LifeEssenceNetwork.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/api/soulNetwork/LifeEssenceNetwork.java @@ -1,4 +1,4 @@ -package WayofTime.alchemicalWizardry.common; +package WayofTime.alchemicalWizardry.api.soulNetwork; import net.minecraft.nbt.NBTTagCompound; diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/api/soulNetwork/SoulNetworkHandler.java b/1.7.2/java/WayofTime/alchemicalWizardry/api/soulNetwork/SoulNetworkHandler.java new file mode 100644 index 00000000..a4d68583 --- /dev/null +++ b/1.7.2/java/WayofTime/alchemicalWizardry/api/soulNetwork/SoulNetworkHandler.java @@ -0,0 +1,228 @@ +package WayofTime.alchemicalWizardry.api.soulNetwork; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.server.MinecraftServer; +import net.minecraft.util.DamageSource; +import net.minecraft.world.World; + +public class SoulNetworkHandler +{ + public static int syphonFromNetwork(ItemStack ist, int damageToBeDone) + { + if (ist.getTagCompound() != null && !(ist.getTagCompound().getString("ownerName").equals(""))) + { + String ownerName = ist.getTagCompound().getString("ownerName"); + + if (MinecraftServer.getServer() == null) + { + return 0; + } + + World world = MinecraftServer.getServer().worldServers[0]; + LifeEssenceNetwork data = (LifeEssenceNetwork) world.loadItemData(LifeEssenceNetwork.class, ownerName); + + if (data == null) + { + data = new LifeEssenceNetwork(ownerName); + world.setItemData(ownerName, data); + } + + if (data.currentEssence >= damageToBeDone) + { + data.currentEssence -= damageToBeDone; + data.markDirty(); + return damageToBeDone; + } + } + return 0; + } + + /** + * Master method used to syphon from the player's network, and will damage them accordingly if they do not have enough LP. + * Does not drain on the client side. + * + * @param ist Owned itemStack + * @param player Player using the item + * @param damageToBeDone + * @return True if server-sided, false if client-sided + */ + public static boolean syphonAndDamageFromNetwork(ItemStack ist, EntityPlayer player, int damageToBeDone) + { + if(player.worldObj.isRemote) + { + return false; + } + + int amount = SoulNetworkHandler.syphonFromNetwork(ist, damageToBeDone); + + hurtPlayer(player, damageToBeDone-amount); + + return true; + } + + public static boolean canSyphonFromOnlyNetwork(ItemStack ist, int damageToBeDone) + { + if (ist.getTagCompound() != null && !(ist.getTagCompound().getString("ownerName").equals(""))) + { + String ownerName = ist.getTagCompound().getString("ownerName"); + + if (MinecraftServer.getServer() == null) + { + return false; + } + + World world = MinecraftServer.getServer().worldServers[0]; + LifeEssenceNetwork data = (LifeEssenceNetwork) world.loadItemData(LifeEssenceNetwork.class, ownerName); + + if (data == null) + { + data = new LifeEssenceNetwork(ownerName); + world.setItemData(ownerName, data); + } + + return data.currentEssence >= damageToBeDone; + } + + return false; + } + + public static int getCurrentEssence(String ownerName) + { + if (MinecraftServer.getServer() == null) + { + return 0; + } + + World world = MinecraftServer.getServer().worldServers[0]; + LifeEssenceNetwork data = (LifeEssenceNetwork) world.loadItemData(LifeEssenceNetwork.class, ownerName); + + if (data == null) + { + data = new LifeEssenceNetwork(ownerName); + world.setItemData(ownerName, data); + } + + return data.currentEssence; + } + + public static void setCurrentEssence(String ownerName, int essence) + { + if (MinecraftServer.getServer() == null) + { + return; + } + + World world = MinecraftServer.getServer().worldServers[0]; + LifeEssenceNetwork data = (LifeEssenceNetwork) world.loadItemData(LifeEssenceNetwork.class, ownerName); + + if (data == null) + { + data = new LifeEssenceNetwork(ownerName); + world.setItemData(ownerName, data); + } + + data.currentEssence = essence; + data.markDirty(); + } + + /** + * A method to add to an owner's network up to a maximum value. + * + * @param ownerName + * @param addedEssence + * @param maximum + * @return amount added to the network + */ + public static int addCurrentEssenceToMaximum(String ownerName, int addedEssence, int maximum) + { + if (MinecraftServer.getServer() == null) + { + return 0; + } + + World world = MinecraftServer.getServer().worldServers[0]; + LifeEssenceNetwork data = (LifeEssenceNetwork) world.loadItemData(LifeEssenceNetwork.class, ownerName); + + if (data == null) + { + data = new LifeEssenceNetwork(ownerName); + world.setItemData(ownerName, data); + } + + int currEss = data.currentEssence; + + if(currEss>=maximum) + { + return 0; + } + + int newEss = Math.min(maximum, currEss+addedEssence); + data.currentEssence = newEss; + + return newEss-currEss; + } + + public static void hurtPlayer(EntityPlayer user, int energySyphoned) + { + if (energySyphoned < 100 && energySyphoned > 0) + { + if (!user.capabilities.isCreativeMode) + { + user.setHealth((user.getHealth() - 1)); + + if (user.getHealth() <= 0.0005f) + { + user.onDeath(DamageSource.generic); + } + } + } else if (energySyphoned >= 100) + { + if (!user.capabilities.isCreativeMode) + { + for (int i = 0; i < ((energySyphoned + 99) / 100); i++) + { + user.setHealth((user.getHealth() - 1)); + + if (user.getHealth() <= 0.0005f) + { + user.onDeath(DamageSource.generic); + break; + } + } + } + } + } + + public static void checkAndSetItemOwner(ItemStack item, EntityPlayer player) + { + if (item.stackTagCompound == null) + { + item.setTagCompound(new NBTTagCompound()); + } + + if (item.stackTagCompound.getString("ownerName").equals("")) + { + item.stackTagCompound.setString("ownerName", SoulNetworkHandler.getUsername(player)); + } + } + + public static void checkAndSetItemOwner(ItemStack item, String ownerName) + { + if (item.stackTagCompound == null) + { + item.setTagCompound(new NBTTagCompound()); + } + + if (item.stackTagCompound.getString("ownerName").equals("")) + { + item.stackTagCompound.setString("ownerName", ownerName); + } + } + + public static String getUsername(EntityPlayer player) + { + return player.getDisplayName(); + } +} diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/api/summoningRegistry/SummoningHelper.java b/1.7.2/java/WayofTime/alchemicalWizardry/api/summoningRegistry/SummoningHelper.java new file mode 100644 index 00000000..cccfe3f4 --- /dev/null +++ b/1.7.2/java/WayofTime/alchemicalWizardry/api/summoningRegistry/SummoningHelper.java @@ -0,0 +1,21 @@ +package WayofTime.alchemicalWizardry.api.summoningRegistry; + +import net.minecraft.entity.EntityLivingBase; +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/1.7.2/java/WayofTime/alchemicalWizardry/common/summoning/SummoningRegistry.java b/1.7.2/java/WayofTime/alchemicalWizardry/api/summoningRegistry/SummoningRegistry.java similarity index 97% rename from 1.7.2/java/WayofTime/alchemicalWizardry/common/summoning/SummoningRegistry.java rename to 1.7.2/java/WayofTime/alchemicalWizardry/api/summoningRegistry/SummoningRegistry.java index 8f4fac89..9fda5822 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/summoning/SummoningRegistry.java +++ b/1.7.2/java/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/1.7.2/java/WayofTime/alchemicalWizardry/common/summoning/SummoningRegistryComponent.java b/1.7.2/java/WayofTime/alchemicalWizardry/api/summoningRegistry/SummoningRegistryComponent.java similarity index 98% rename from 1.7.2/java/WayofTime/alchemicalWizardry/common/summoning/SummoningRegistryComponent.java rename to 1.7.2/java/WayofTime/alchemicalWizardry/api/summoningRegistry/SummoningRegistryComponent.java index c44efedf..8496b0f2 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/summoning/SummoningRegistryComponent.java +++ b/1.7.2/java/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/1.7.2/java/WayofTime/alchemicalWizardry/common/IBindable.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/IBindable.java deleted file mode 100644 index 5ecb1f5b..00000000 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/IBindable.java +++ /dev/null @@ -1,5 +0,0 @@ -package WayofTime.alchemicalWizardry.common; - -public interface IBindable -{ -} diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/alchemy/AlchemicalPotionCreationHandler.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/alchemy/AlchemicalPotionCreationHandler.java deleted file mode 100644 index 86bf3f8f..00000000 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/alchemy/AlchemicalPotionCreationHandler.java +++ /dev/null @@ -1,110 +0,0 @@ -package WayofTime.alchemicalWizardry.common.alchemy; - -import java.util.ArrayList; - -import net.minecraft.init.Items; -import net.minecraft.item.ItemStack; -import net.minecraft.potion.Potion; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.ModItems; - -public class AlchemicalPotionCreationHandler -{ - public static ArrayList registeredPotionEffects = new ArrayList(); - - public static void initializePotions() - { - addPotion(new ItemStack(Items.ghast_tear), Potion.regeneration.id, 450); - addPotion(new ItemStack(Items.golden_carrot), Potion.nightVision.id, 2 * 60 * 20); - addPotion(new ItemStack(Items.magma_cream), Potion.fireResistance.id, 2 * 60 * 20); - addPotion(new ItemStack(Items.water_bucket), Potion.waterBreathing.id, 2 * 60 * 20); - addPotion(new ItemStack(Items.sugar), Potion.moveSpeed.id, 2 * 60 * 20); - addPotion(new ItemStack(Items.speckled_melon), Potion.heal.id, 2 * 60 * 20); - addPotion(new ItemStack(Items.spider_eye), Potion.poison.id, 450); - addPotion(new ItemStack(Items.fermented_spider_eye), Potion.weakness.id, 450); - addPotion(new ItemStack(Items.blaze_powder), Potion.damageBoost.id, 2 * 60 * 20); - addPotion(new ItemStack(ModItems.aether), Potion.jump.id, 2 * 60 * 20); - addPotion(new ItemStack(Items.clay_ball), Potion.moveSlowdown.id, 450); - addPotion(new ItemStack(Items.redstone), Potion.digSpeed.id, 2 * 60 * 20); - addPotion(new ItemStack(Items.potionitem, 1, 0), AlchemicalWizardry.customPotionDrowning.id, 450); - //addPotion(new ItemStack(Item.goldenCarrot),Potion.nightVision.id,2*60*20); - addPotion(new ItemStack(Items.glass_bottle), Potion.invisibility.id, 2 * 60 * 20); - addPotion(new ItemStack(Items.diamond), Potion.resistance.id, 2 * 60 * 20); - addPotion(new ItemStack(Items.poisonous_potato), Potion.field_76443_y.id, 2); //saturation - addPotion(new ItemStack(ModItems.demonBloodShard), Potion.field_76434_w.id, 4 * 60 * 20); //health boost - addPotion(new ItemStack(ModItems.weakBloodShard), Potion.field_76444_x.id, 4 * 60 * 20); //Absorption - addPotion(new ItemStack(ModItems.terrae), AlchemicalWizardry.customPotionBoost.id, 1 * 60 * 20); - addPotion(new ItemStack(Items.feather), AlchemicalWizardry.customPotionFlight.id, 1 * 60 * 20); - addPotion(new ItemStack(Items.arrow), AlchemicalWizardry.customPotionReciprocation.id, 1 * 60 * 20); - addPotion(new ItemStack(Items.ender_pearl),AlchemicalWizardry.customPotionPlanarBinding.id,1*60*20); - } - - public static void addPotion(ItemStack itemStack, int potionID, int tickDuration) - { - registeredPotionEffects.add(new AlchemyPotionHandlerComponent(itemStack, potionID, tickDuration)); - } - - public static int getPotionIDForStack(ItemStack itemStack) - { - for (AlchemyPotionHandlerComponent aphc : registeredPotionEffects) - { - if (aphc.compareItemStack(itemStack)) - { - return aphc.getPotionID(); - } - } - - return -1; - } - - public static int getPotionTickDurationForStack(ItemStack itemStack) - { - { - for (AlchemyPotionHandlerComponent aphc : registeredPotionEffects) - { - if (aphc.compareItemStack(itemStack)) - { - return aphc.getTickDuration(); - } - } - - return -1; - } - } - - public static boolean containsRegisteredPotionIngredient(ItemStack[] stackList) - { - for (ItemStack is : stackList) - { - for (AlchemyPotionHandlerComponent aphc : registeredPotionEffects) - { - if (aphc.compareItemStack(is)) - { - return true; - } - } - } - - return false; - } - - public static int getRegisteredPotionIngredientPosition(ItemStack[] stackList) - { - int i = 0; - - for (ItemStack is : stackList) - { - for (AlchemyPotionHandlerComponent aphc : registeredPotionEffects) - { - if (aphc.compareItemStack(is)) - { - return i; - } - } - - i++; - } - - return -1; - } -} diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/altarRecipeRegistry/AltarRecipeRegistry.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/altarRecipeRegistry/AltarRecipeRegistry.java deleted file mode 100644 index 45d8d91c..00000000 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/altarRecipeRegistry/AltarRecipeRegistry.java +++ /dev/null @@ -1,100 +0,0 @@ -package WayofTime.alchemicalWizardry.common.altarRecipeRegistry; - -import java.util.LinkedList; -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.ModBlocks; -import WayofTime.alchemicalWizardry.ModItems; - -public class AltarRecipeRegistry -{ - public static List altarRecipes = new LinkedList(); - - public static void registerAltarRecipe(ItemStack result, ItemStack requiredItem, int minTier, int liquidRequired, int consumptionRate, int drainRate, boolean canBeFilled) - { - altarRecipes.add(new AltarRecipe(result, requiredItem, minTier, liquidRequired, consumptionRate, drainRate, canBeFilled)); - } - - public static void registerAltarOrbRecipe(ItemStack orbStack, int minTier, int consumptionRate) - { - registerAltarRecipe(null, orbStack, minTier, 0, consumptionRate, 0, true); - } - - public static void initRecipes() - { - registerAltarRecipe(new ItemStack(ModItems.weakBloodOrb), new ItemStack(Items.diamond),1,2000,2,1,false); - registerAltarRecipe(new ItemStack(ModItems.apprenticeBloodOrb), new ItemStack(Items.emerald),2,5000,5,5,false); - registerAltarRecipe(new ItemStack(ModItems.magicianBloodOrb), new ItemStack(Blocks.gold_block),3,25000,20,20,false); - registerAltarRecipe(new ItemStack(ModItems.masterBloodOrb), new ItemStack(ModItems.weakBloodShard),4,40000,30,50,false); - registerAltarRecipe(new ItemStack(ModItems.archmageBloodOrb), new ItemStack(ModItems.demonBloodShard),5,75000,50,100,false); - - registerAltarOrbRecipe(new ItemStack(ModItems.weakBloodOrb),1,2); - registerAltarOrbRecipe(new ItemStack(ModItems.apprenticeBloodOrb),2,5); - registerAltarOrbRecipe(new ItemStack(ModItems.magicianBloodOrb),3,15); - registerAltarOrbRecipe(new ItemStack(ModItems.masterBloodOrb),4,25); - registerAltarOrbRecipe(new ItemStack(ModItems.archmageBloodOrb),5,50); - - registerAltarRecipe(new ItemStack(ModItems.telepositionFocus), new ItemStack(Items.ender_pearl),4,2000,10,10,false); - registerAltarRecipe(new ItemStack(ModItems.enhancedTelepositionFocus), new ItemStack(ModItems.telepositionFocus),4,10000,25,15,false); - registerAltarRecipe(new ItemStack(ModItems.demonicSlate), new ItemStack(ModItems.imbuedSlate),4,15000,20,20,false); - registerAltarRecipe(new ItemStack(ModItems.duskScribeTool), new ItemStack(Blocks.coal_block),4,2000,20,10,false); - registerAltarRecipe(new ItemStack(ModBlocks.bloodSocket), new ItemStack(ModBlocks.emptySocket),3,30000,40,10,false); - registerAltarRecipe(new ItemStack(ModItems.earthScribeTool), new ItemStack(Blocks.obsidian),3,1000,5,5,false); - registerAltarRecipe(new ItemStack(ModItems.waterScribeTool), new ItemStack(Blocks.lapis_block),3,1000,5,5,false); - registerAltarRecipe(new ItemStack(ModItems.blankSpell), new ItemStack(Blocks.glass),2,1000,5,5,false); - registerAltarRecipe(new ItemStack(ModItems.blankSlate), new ItemStack(Blocks.stone),1,1000,5,5,false); - registerAltarRecipe(new ItemStack(ModItems.activationCrystal), new ItemStack(ModItems.lavaCrystal),3,10000,20,10,false); - registerAltarRecipe(new ItemStack(ModItems.fireScribeTool), new ItemStack(Items.magma_cream),3,1000,5,5,false); - registerAltarRecipe(new ItemStack(ModItems.airScribeTool), new ItemStack(Items.ghast_tear),3,1000,5,5,false); - registerAltarRecipe(new ItemStack(ModItems.imbuedSlate), new ItemStack(ModItems.reinforcedSlate),3,5000,15,10,false); - registerAltarRecipe(new ItemStack(ModItems.daggerOfSacrifice), new ItemStack(Items.iron_sword),2,3000,5,5,false); - registerAltarRecipe(new ItemStack(ModItems.alchemyFlask), new ItemStack(Items.glass_bottle),2,2000,5,5,false); - registerAltarRecipe(new ItemStack(ModItems.reinforcedSlate), new ItemStack(ModItems.blankSlate),2,2000,5,5,false); - registerAltarRecipe(new ItemStack(ModItems.bucketLife), new ItemStack(Items.bucket),1,1000,5,0,false); - } - - public static boolean isRequiredItemValid(ItemStack testItem, int currentTierAltar) - { - for(AltarRecipe recipe : altarRecipes) - { - if(recipe.doesRequiredItemMatch(testItem, currentTierAltar)) - { - return true; - } - } - - return false; - } - - public static ItemStack getItemForItemAndTier(ItemStack testItem, int currentTierAltar) - { - for(AltarRecipe recipe : altarRecipes) - { - if(recipe.doesRequiredItemMatch(testItem, currentTierAltar)) - { - return ItemStack.copyItemStack(recipe.getResult()); - } - } - - return null; - } - - public static AltarRecipe getAltarRecipeForItemAndTier(ItemStack testItem, int currentTierAltar) - { - for(AltarRecipe recipe : altarRecipes) - { - if(recipe.doesRequiredItemMatch(testItem, currentTierAltar)) - { - return recipe; - } - } - - return null; - } -} diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/block/ArmourForge.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/block/ArmourForge.java index c679fe1e..d1bc6a1d 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/block/ArmourForge.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/block/ArmourForge.java @@ -16,8 +16,8 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import WayofTime.alchemicalWizardry.AlchemicalWizardry; import WayofTime.alchemicalWizardry.ModItems; +import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade; import WayofTime.alchemicalWizardry.common.ArmourComponent; -import WayofTime.alchemicalWizardry.common.ArmourUpgrade; import WayofTime.alchemicalWizardry.common.items.BoundArmour; import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar; diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/block/BlockSocket.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/block/BlockSocket.java index 49d50d7a..e4e53890 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/block/BlockSocket.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/block/BlockSocket.java @@ -15,7 +15,7 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; import net.minecraft.world.World; import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.ArmourUpgrade; +import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade; import WayofTime.alchemicalWizardry.common.tileEntity.TESocket; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/block/BlockSpectralContainer.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/block/BlockSpectralContainer.java new file mode 100644 index 00000000..95a48ce3 --- /dev/null +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/block/BlockSpectralContainer.java @@ -0,0 +1,75 @@ +package WayofTime.alchemicalWizardry.common.block; + +import java.util.List; +import java.util.Random; + +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.Entity; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import WayofTime.alchemicalWizardry.common.tileEntity.TESpectralContainer; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class BlockSpectralContainer extends BlockContainer +{ + public BlockSpectralContainer() + { + super(Material.cloth); + //setCreativeTab(AlchemicalWizardry.tabBloodMagic); + this.setBlockName("blockSpectralContainer"); + this.setBlockBounds(0,0,0,0,0,0); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) + { + this.blockIcon = iconRegister.registerIcon("AlchemicalWizardry:BlockBloodLight"); + } + + @Override + public boolean isOpaqueCube() + { + return false; + } + + @Override + public boolean renderAsNormalBlock() + { + return false; + } + + @Override + public void addCollisionBoxesToList(World par1World, int par2, int par3, int par4, AxisAlignedBB par5AxisAlignedBB, List par6List, Entity par7Entity) + { + + } + + public int quantityDropped(Random par1Random) + { + return 0; + } + + @Override + public boolean isReplaceable(IBlockAccess world, int x, int y, int z) + { + return true; + } + + @Override + public boolean isAir(IBlockAccess world, int x, int y, int z) + { + return true; + } + + @Override + public TileEntity createNewTileEntity(World var1, int var2) + { + return new TESpectralContainer(); + } +} diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/block/RitualStone.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/block/RitualStone.java index 4d5db92e..a847c360 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/block/RitualStone.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/block/RitualStone.java @@ -1,7 +1,5 @@ package WayofTime.alchemicalWizardry.common.block; -import javax.swing.Icon; - import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; @@ -11,11 +9,12 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; import net.minecraft.world.World; import WayofTime.alchemicalWizardry.AlchemicalWizardry; +import WayofTime.alchemicalWizardry.api.rituals.IRitualStone; import WayofTime.alchemicalWizardry.common.items.ScribeTool; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -public class RitualStone extends Block +public class RitualStone extends Block implements IRitualStone { @SideOnly(Side.CLIENT) private static IIcon blankIcon; diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/entity/projectile/EntityBloodLightProjectile.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/entity/projectile/EntityBloodLightProjectile.java index 51934b4c..4a1729a0 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/entity/projectile/EntityBloodLightProjectile.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/entity/projectile/EntityBloodLightProjectile.java @@ -110,17 +110,11 @@ public class EntityBloodLightProjectile extends EnergyBlastProjectile if (mop instanceof EntityLivingBase) { //((EntityLivingBase)mop).addPotionEffect(new PotionEffect(Potion.weakness.id, 60,2)); - ((EntityLivingBase) mop).setFire(50); + ((EntityLivingBase) mop).setRevengeTarget(shootingEntity); - if (((EntityLivingBase) mop).isPotionActive(Potion.fireResistance) || ((EntityLivingBase) mop).isImmuneToFire()) - { - ((EntityLivingBase) mop).attackEntityFrom(DamageSource.causeMobDamage(shootingEntity), 1); - } else - { - doDamage(projectileDamage, mop); - ((EntityLivingBase) mop).hurtResistantTime = 0; - } + doDamage(1, mop); + } //worldObj.createExplosion(this, this.posX, this.posY, this.posZ, (float)(0.1), true); diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/ActivationCrystal.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/ActivationCrystal.java index 1ee98d4e..6c6c6fc2 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/ActivationCrystal.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/ActivationCrystal.java @@ -17,7 +17,7 @@ import net.minecraft.world.World; import org.lwjgl.input.Keyboard; import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.alchemy.AlchemyRecipeRegistry; +import WayofTime.alchemicalWizardry.api.alchemy.AlchemyRecipeRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/BloodShard.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/BloodShard.java index 2c40e314..43b5e5b8 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/BloodShard.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/BloodShard.java @@ -7,7 +7,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.world.World; import WayofTime.alchemicalWizardry.AlchemicalWizardry; import WayofTime.alchemicalWizardry.ModItems; -import WayofTime.alchemicalWizardry.common.ArmourUpgrade; +import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/BoundArmour.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/BoundArmour.java index a507fa76..e756bc86 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/BoundArmour.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/BoundArmour.java @@ -17,17 +17,19 @@ import net.minecraft.util.IIcon; import net.minecraft.world.World; import net.minecraftforge.common.ISpecialArmor; import net.minecraftforge.common.util.Constants; +import thaumcraft.api.IGoggles; +import thaumcraft.api.nodes.IRevealer; import WayofTime.alchemicalWizardry.AlchemicalWizardry; import WayofTime.alchemicalWizardry.ModItems; -import WayofTime.alchemicalWizardry.common.ArmourUpgrade; -import WayofTime.alchemicalWizardry.common.IBindable; +import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade; +import WayofTime.alchemicalWizardry.api.items.interfaces.IBindable; import cpw.mods.fml.common.Optional; import cpw.mods.fml.common.Optional.Interface; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -@Optional.InterfaceList(value = {@Interface(iface="IRevealer", modid = "Thaumcraft"), @Interface(iface="IGoggles", modid = "Thaumcraft")}) -public class BoundArmour extends ItemArmor implements ISpecialArmor,IBindable //,IRevealer, IGoggles +@Optional.InterfaceList(value = {@Interface(iface="thaumcraft.api.nodes.IRevealer", modid = "Thaumcraft"), @Interface(iface="thaumcraft.api.IGoggles", modid = "Thaumcraft")}) +public class BoundArmour extends ItemArmor implements ISpecialArmor,IBindable ,IRevealer, IGoggles { private static int invSize = 9; private static IIcon helmetIcon; @@ -119,7 +121,7 @@ public class BoundArmour extends ItemArmor implements ISpecialArmor,IBindable // { if (source.isUnblockable()) { - return new ArmorProperties(-1, 3, 3); + return new ArmorProperties(-1, 3, 4); } return new ArmorProperties(-1, 3, 100000); @@ -474,57 +476,57 @@ public class BoundArmour extends ItemArmor implements ISpecialArmor,IBindable // return false; } -// @Override -// public boolean hasIRevealer(ItemStack itemStack) -// { -// ItemStack[] inv = getInternalInventory(itemStack); -// -// if (inv == null) -// { -// return false; -// } -// -// for (ItemStack item : inv) -// { -// if (item == null) -// { -// continue; -// } -// -// if (item.getItem() instanceof IRevealer) -// { -// return true; -// } -// } -// -// return false; -// } -// -// @Override -// public boolean hasIGoggles(ItemStack itemStack) -// { -// ItemStack[] inv = getInternalInventory(itemStack); -// -// if (inv == null) -// { -// return false; -// } -// -// for (ItemStack item : inv) -// { -// if (item == null) -// { -// continue; -// } -// -// if (item.getItem() instanceof IGoggles) -// { -// return true; -// } -// } -// -// return false; -// } + @Optional.Method(modid = "Thaumcraft") + public boolean hasIRevealer(ItemStack itemStack) + { + ItemStack[] inv = getInternalInventory(itemStack); + + if (inv == null) + { + return false; + } + + for (ItemStack item : inv) + { + if (item == null) + { + continue; + } + + if (item.getItem() instanceof IRevealer) + { + return true; + } + } + + return false; + } + + @Optional.Method(modid = "Thaumcraft") + public boolean hasIGoggles(ItemStack itemStack) + { + ItemStack[] inv = getInternalInventory(itemStack); + + if (inv == null) + { + return false; + } + + for (ItemStack item : inv) + { + if (item == null) + { + continue; + } + + if (item.getItem() instanceof IGoggles) + { + return true; + } + } + + return false; + } public float getUpgradeCostMultiplier(ItemStack itemStack) { @@ -576,15 +578,17 @@ public class BoundArmour extends ItemArmor implements ISpecialArmor,IBindable // return 0; } -// @Override -// public boolean showNodes(ItemStack itemstack, EntityLivingBase player) -// { -// return this.hasIRevealer(itemstack); -// } -// -// @Override -// public boolean showIngamePopups(ItemStack itemstack, EntityLivingBase player) -// { -// return this.hasIGoggles(itemstack); -// } + @Override + @Optional.Method(modid = "Thaumcraft") + public boolean showNodes(ItemStack itemstack, EntityLivingBase player) + { + return this.hasIRevealer(itemstack); + } + + @Override + @Optional.Method(modid = "Thaumcraft") + public boolean showIngamePopups(ItemStack itemstack, EntityLivingBase player) + { + return this.hasIGoggles(itemstack); + } } diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/BoundAxe.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/BoundAxe.java index 3af40dc7..3f5f7ec1 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/BoundAxe.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/BoundAxe.java @@ -23,7 +23,7 @@ import net.minecraft.util.Vec3; import net.minecraft.world.World; import net.minecraftforge.common.ForgeHooks; import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.IBindable; +import WayofTime.alchemicalWizardry.api.items.interfaces.IBindable; import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/BoundPickaxe.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/BoundPickaxe.java index 6d3f82f3..9b369c81 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/BoundPickaxe.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/BoundPickaxe.java @@ -19,7 +19,7 @@ import net.minecraft.util.Vec3; import net.minecraft.world.World; import net.minecraftforge.common.ForgeHooks; import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.IBindable; +import WayofTime.alchemicalWizardry.api.items.interfaces.IBindable; import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/BoundShovel.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/BoundShovel.java index 7c03848e..f4f6333e 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/BoundShovel.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/BoundShovel.java @@ -21,7 +21,7 @@ import net.minecraft.util.Vec3; import net.minecraft.world.World; import net.minecraftforge.common.ForgeHooks; import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.IBindable; +import WayofTime.alchemicalWizardry.api.items.interfaces.IBindable; import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; import com.google.common.collect.Multimap; diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/CheatyItem.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/CheatyItem.java index 4596e507..8b44398d 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/CheatyItem.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/CheatyItem.java @@ -12,8 +12,8 @@ import net.minecraft.util.DamageSource; import net.minecraft.world.World; import net.minecraftforge.common.util.FakePlayer; import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.IBindable; -import WayofTime.alchemicalWizardry.common.LifeEssenceNetwork; +import WayofTime.alchemicalWizardry.api.items.interfaces.IBindable; +import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; import WayofTime.alchemicalWizardry.common.PacketHandler; import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar; diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/DemonPlacer.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/DemonPlacer.java index 68596a3f..a8403618 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/DemonPlacer.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/DemonPlacer.java @@ -20,8 +20,8 @@ import net.minecraft.util.IIcon; import net.minecraft.util.MathHelper; import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; +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; diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/EnergyBattery.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/EnergyBattery.java index 34185f0e..e935437e 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/EnergyBattery.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/EnergyBattery.java @@ -4,25 +4,22 @@ import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.server.MinecraftServer; import net.minecraft.util.DamageSource; import net.minecraft.world.World; -import net.minecraftforge.common.util.FakePlayer; import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.ArmourUpgrade; -import WayofTime.alchemicalWizardry.common.IBindable; -import WayofTime.alchemicalWizardry.common.LifeEssenceNetwork; -import WayofTime.alchemicalWizardry.common.PacketHandler; +import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade; +import WayofTime.alchemicalWizardry.api.items.interfaces.IBindable; +import WayofTime.alchemicalWizardry.api.items.interfaces.IBloodOrb; +import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; -import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -public class EnergyBattery extends Item implements ArmourUpgrade, IBindable +public class EnergyBattery extends Item implements ArmourUpgrade, IBindable, IBloodOrb { private int maxEssence; protected int orbLevel; diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/EnergyItems.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/EnergyItems.java index 37b00765..95de3aba 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/EnergyItems.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/EnergyItems.java @@ -8,8 +8,8 @@ import net.minecraft.server.MinecraftServer; import net.minecraft.util.DamageSource; import net.minecraft.world.World; import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.IBindable; -import WayofTime.alchemicalWizardry.common.LifeEssenceNetwork; +import WayofTime.alchemicalWizardry.api.items.interfaces.IBindable; +import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; import WayofTime.alchemicalWizardry.common.PacketHandler; import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar; @@ -68,45 +68,6 @@ public class EnergyItems extends Item implements IBindable } } -// public static boolean syphonBatteriesWithoutParticles(ItemStack ist, EntityPlayer player, int damageToBeDone, boolean particles) -// { -// if (!player.capabilities.isCreativeMode) -// { -// NBTTagCompound itemTag = ist.stackTagCompound; -// -// if (itemTag == null || itemTag.getString("ownerName").equals("")) -// { -// return false; -// } -// -// World world = player.worldObj; -// -// if (world != null) -// { -// double posX = player.posX; -// double posY = player.posY; -// double posZ = player.posZ; -// -// if (particles) -// { -// SpellHelper.sendIndexedParticleToAllAround(world, posX, posY, posZ, 20, world.provider.dimensionId, 4, posX, posY, posZ); -// world.playSoundEffect((double) ((float) player.posX + 0.5F), (double) ((float) player.posY + 0.5F), (double) ((float) player.posZ + 0.5F), "random.fizz", 0.5F, 2.6F + (world.rand.nextFloat() - world.rand.nextFloat()) * 0.8F); -// } -// } -// -// if (!player.worldObj.isRemote) -// { -// return false; -// } -// -// PacketDispatcher.sendPacketToServer(PacketHandler.getPacket(itemTag.getString("ownerName"), -damageToBeDone, 0)); -// return true; -// } else -// { -// return true; -// } -// } - public static boolean syphonBatteries(ItemStack ist, EntityPlayer player, int damageToBeDone) { if (!player.worldObj.isRemote) diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/IHolding.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/IHolding.java deleted file mode 100644 index 29de5115..00000000 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/IHolding.java +++ /dev/null @@ -1,6 +0,0 @@ -package WayofTime.alchemicalWizardry.common.items; - -public interface IHolding -{ - -} diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/ItemAlchemyBase.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/ItemAlchemyBase.java index cdc33112..8319c4a8 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/ItemAlchemyBase.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/ItemAlchemyBase.java @@ -15,7 +15,7 @@ import net.minecraft.world.World; import org.lwjgl.input.Keyboard; import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.alchemy.AlchemyRecipeRegistry; +import WayofTime.alchemicalWizardry.api.alchemy.AlchemyRecipeRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/ItemComponents.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/ItemComponents.java index a885702e..9f9d949f 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/ItemComponents.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/ItemComponents.java @@ -15,7 +15,7 @@ import net.minecraft.world.World; import org.lwjgl.input.Keyboard; import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.alchemy.AlchemyRecipeRegistry; +import WayofTime.alchemicalWizardry.api.alchemy.AlchemyRecipeRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/ItemDiabloKey.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/ItemDiabloKey.java index b4d5b989..c172a714 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/ItemDiabloKey.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/ItemDiabloKey.java @@ -14,7 +14,7 @@ import net.minecraft.world.World; import net.minecraftforge.common.util.FakePlayer; import WayofTime.alchemicalWizardry.AlchemicalWizardry; import WayofTime.alchemicalWizardry.ModItems; -import WayofTime.alchemicalWizardry.common.IBindable; +import WayofTime.alchemicalWizardry.api.items.interfaces.IBindable; import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar; import cpw.mods.fml.relauncher.Side; diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/ItemRitualDiviner.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/ItemRitualDiviner.java index b3cf576c..a640cee8 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/ItemRitualDiviner.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/ItemRitualDiviner.java @@ -17,8 +17,8 @@ import net.minecraft.world.World; import WayofTime.alchemicalWizardry.AlchemicalWizardry; import WayofTime.alchemicalWizardry.ModBlocks; import WayofTime.alchemicalWizardry.ModItems; -import WayofTime.alchemicalWizardry.common.rituals.RitualComponent; -import WayofTime.alchemicalWizardry.common.rituals.Rituals; +import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; +import WayofTime.alchemicalWizardry.api.rituals.Rituals; import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -63,6 +63,7 @@ public class ItemRitualDiviner extends EnergyItems par3List.add("Current owner: " + par1ItemStack.stackTagCompound.getString("ownerName")); par3List.add("RitualID: " + (ritualID + 1)); List ritualList = Rituals.getRitualList(this.getCurrentRitual(par1ItemStack) + 1); + int blankStones = 0; int airStones = 0; int waterStones = 0; diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/LavaCrystal.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/LavaCrystal.java index d6159472..87610c5e 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/LavaCrystal.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/LavaCrystal.java @@ -8,7 +8,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.server.MinecraftServer; import net.minecraft.world.World; import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.LifeEssenceNetwork; +import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/SacrificialDagger.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/SacrificialDagger.java index 3c280fb4..9282ff57 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/SacrificialDagger.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/SacrificialDagger.java @@ -30,13 +30,25 @@ public class SacrificialDagger extends Item @SideOnly(Side.CLIENT) public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon("alchemicalwizardry:SacrificialDagger"); + if(AlchemicalWizardry.wimpySettings) + { + this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:SheathedItem"); + }else + { + this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:SacrificialDagger"); + } } public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - par3List.add("Just a prick of the"); - par3List.add("finger will suffice..."); + if(AlchemicalWizardry.wimpySettings) + { + par3List.add("A slight draining feeling tickles your fingers"); + }else + { + par3List.add("Just a prick of the"); + par3List.add("finger will suffice..."); + } } public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) @@ -134,4 +146,14 @@ public class SacrificialDagger extends Item return null; } + + @Override + public String getItemStackDisplayName(ItemStack par1ItemStack) + { + if(AlchemicalWizardry.wimpySettings) + { + return "Sacrificial Orb"; + } + return super.getItemStackDisplayName(par1ItemStack); + } } \ No newline at end of file diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/potion/AlchemyFlask.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/potion/AlchemyFlask.java index 2e625415..11588be5 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/potion/AlchemyFlask.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/potion/AlchemyFlask.java @@ -25,7 +25,7 @@ import net.minecraft.util.StatCollector; import net.minecraft.world.World; import net.minecraftforge.common.util.Constants; import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.alchemy.AlchemyPotionHelper; +import WayofTime.alchemicalWizardry.api.alchemy.AlchemyPotionHelper; import com.google.common.collect.HashMultimap; diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/potion/AlchemyReagent.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/potion/AlchemyReagent.java index 93338041..3987c581 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/potion/AlchemyReagent.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/potion/AlchemyReagent.java @@ -12,7 +12,7 @@ import org.lwjgl.input.Keyboard; import WayofTime.alchemicalWizardry.AlchemicalWizardry; import WayofTime.alchemicalWizardry.ModItems; -import WayofTime.alchemicalWizardry.common.alchemy.AlchemyRecipeRegistry; +import WayofTime.alchemicalWizardry.api.alchemy.AlchemyRecipeRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/potion/LengtheningCatalyst.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/potion/LengtheningCatalyst.java index d149e8de..7476f689 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/potion/LengtheningCatalyst.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/potion/LengtheningCatalyst.java @@ -1,8 +1,8 @@ package WayofTime.alchemicalWizardry.common.items.potion; import WayofTime.alchemicalWizardry.AlchemicalWizardry; +import WayofTime.alchemicalWizardry.api.alchemy.AlchemyRecipeRegistry; import WayofTime.alchemicalWizardry.common.ICatalyst; -import WayofTime.alchemicalWizardry.common.alchemy.AlchemyRecipeRegistry; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/potion/PowerCatalyst.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/potion/PowerCatalyst.java index d73c6cc2..60d98566 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/potion/PowerCatalyst.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/potion/PowerCatalyst.java @@ -1,8 +1,8 @@ package WayofTime.alchemicalWizardry.common.items.potion; import WayofTime.alchemicalWizardry.AlchemicalWizardry; +import WayofTime.alchemicalWizardry.api.alchemy.AlchemyRecipeRegistry; import WayofTime.alchemicalWizardry.common.ICatalyst; -import WayofTime.alchemicalWizardry.common.alchemy.AlchemyRecipeRegistry; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/potion/StandardBindingAgent.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/potion/StandardBindingAgent.java index 4cdf979a..6a2edc0b 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/potion/StandardBindingAgent.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/potion/StandardBindingAgent.java @@ -11,8 +11,8 @@ import net.minecraft.util.EnumChatFormatting; import org.lwjgl.input.Keyboard; import WayofTime.alchemicalWizardry.AlchemicalWizardry; +import WayofTime.alchemicalWizardry.api.alchemy.AlchemyRecipeRegistry; import WayofTime.alchemicalWizardry.common.IBindingAgent; -import WayofTime.alchemicalWizardry.common.alchemy.AlchemyRecipeRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/potion/WeakFillingAgent.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/potion/WeakFillingAgent.java index 82a5f856..cd858f16 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/potion/WeakFillingAgent.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/potion/WeakFillingAgent.java @@ -12,8 +12,8 @@ import net.minecraft.util.EnumChatFormatting; import org.lwjgl.input.Keyboard; import WayofTime.alchemicalWizardry.AlchemicalWizardry; +import WayofTime.alchemicalWizardry.api.alchemy.AlchemyRecipeRegistry; import WayofTime.alchemicalWizardry.common.IFillingAgent; -import WayofTime.alchemicalWizardry.common.alchemy.AlchemyRecipeRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/AirSigil.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/AirSigil.java index 166fe2cf..8858819b 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/AirSigil.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/AirSigil.java @@ -8,7 +8,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.Vec3; import net.minecraft.world.World; import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.ArmourUpgrade; +import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade; import WayofTime.alchemicalWizardry.common.items.EnergyItems; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/DivinationSigil.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/DivinationSigil.java index dfcce632..393bcd57 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/DivinationSigil.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/DivinationSigil.java @@ -12,7 +12,7 @@ import net.minecraft.potion.PotionEffect; import net.minecraft.util.ChatComponentText; import net.minecraft.world.World; import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.ArmourUpgrade; +import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade; import WayofTime.alchemicalWizardry.common.PacketHandler; import WayofTime.alchemicalWizardry.common.items.EnergyItems; import cpw.mods.fml.relauncher.Side; @@ -68,7 +68,7 @@ public class DivinationSigil extends Item implements ArmourUpgrade //PacketDispatcher.sendPacketToServer(PacketHandler.getPacket(ownerName)); int currentEssence = EnergyItems.getCurrentEssence(ownerName); - par3EntityPlayer.addChatMessage(new ChatComponentText("Current Essence: " + EnergyItems.getCurrentEssence(ownerName))); + par3EntityPlayer.addChatMessage(new ChatComponentText("Current Essence: " + EnergyItems.getCurrentEssence(ownerName) + "LP")); return par1ItemStack; } diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/ItemSigilOfEnderSeverance.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/ItemSigilOfEnderSeverance.java index b2751264..b341e859 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/ItemSigilOfEnderSeverance.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/ItemSigilOfEnderSeverance.java @@ -12,8 +12,8 @@ import net.minecraft.potion.PotionEffect; import net.minecraft.util.IIcon; import net.minecraft.world.World; import WayofTime.alchemicalWizardry.AlchemicalWizardry; +import WayofTime.alchemicalWizardry.api.items.interfaces.IHolding; import WayofTime.alchemicalWizardry.common.items.EnergyItems; -import WayofTime.alchemicalWizardry.common.items.IHolding; import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -56,9 +56,9 @@ public class ItemSigilOfEnderSeverance extends EnergyItems implements IHolding @SideOnly(Side.CLIENT) public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:SigilOfTheFastMiner"); - this.activeIcon = iconRegister.registerIcon("AlchemicalWizardry:ElementalSigil_activated"); - this.passiveIcon = iconRegister.registerIcon("AlchemicalWizardry:ElementalSigil_deactivated"); + this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:SigilOfSeverance_deactivated"); + this.activeIcon = iconRegister.registerIcon("AlchemicalWizardry:SigilOfSeverance_activated"); + this.passiveIcon = iconRegister.registerIcon("AlchemicalWizardry:SigilOfSeverance_deactivated"); } @Override @@ -152,7 +152,7 @@ public class ItemSigilOfEnderSeverance extends EnergyItems implements IHolding { if(!entity.equals(par3Entity)&&entity instanceof EntityLiving) { - ((EntityLiving)entity).addPotionEffect(new PotionEffect(AlchemicalWizardry.customPotionPlanarBinding.id,2,0)); + ((EntityLiving)entity).addPotionEffect(new PotionEffect(AlchemicalWizardry.customPotionPlanarBinding.id,5,0)); } } } diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/ItemSigilOfSupression.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/ItemSigilOfSupression.java new file mode 100644 index 00000000..c7c607c4 --- /dev/null +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/ItemSigilOfSupression.java @@ -0,0 +1,270 @@ +package WayofTime.alchemicalWizardry.common.items.sigil; + +import java.util.List; + +import javax.swing.Icon; + +import net.minecraft.block.Block; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; +import WayofTime.alchemicalWizardry.AlchemicalWizardry; +import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade; +import WayofTime.alchemicalWizardry.common.items.EnergyItems; +import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; +import WayofTime.alchemicalWizardry.common.tileEntity.TESpectralContainer; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class ItemSigilOfSupression extends EnergyItems implements ArmourUpgrade +{ + private static IIcon activeIcon; + private static IIcon passiveIcon; + private int tickDelay = 200; + private int radius = 5; + private int refresh = 100; + + public ItemSigilOfSupression() + { + super(); + this.maxStackSize = 1; + setEnergyUsed(400); + setCreativeTab(AlchemicalWizardry.tabBloodMagic); + } + + @Override + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) + { + par3List.add("Better than telekinesis"); + + if (!(par1ItemStack.stackTagCompound == null)) + { + if (par1ItemStack.stackTagCompound.getBoolean("isActive")) + { + par3List.add("Activated"); + } else + { + par3List.add("Deactivated"); + } + + par3List.add("Current owner: " + par1ItemStack.stackTagCompound.getString("ownerName")); + } + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister iconRegister) + { + this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:SigilOfSupression_deactivated"); + this.activeIcon = iconRegister.registerIcon("AlchemicalWizardry:SigilOfSupression_activated"); + this.passiveIcon = iconRegister.registerIcon("AlchemicalWizardry:SigilOfSupression_deactivated"); + } + + @Override + public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) + { + if (stack.stackTagCompound == null) + { + stack.setTagCompound(new NBTTagCompound()); + } + + NBTTagCompound tag = stack.stackTagCompound; + + if (tag.getBoolean("isActive")) + { + return this.activeIcon; + } else + { + return this.passiveIcon; + } + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIconFromDamage(int par1) + { + if (par1 == 1) + { + return this.activeIcon; + } else + { + return this.passiveIcon; + } + } + + @Override + public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) + { + EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer); + + if(SpellHelper.isFakePlayer(par2World, par3EntityPlayer)) + { + return par1ItemStack; + } + + if (par3EntityPlayer.isSneaking()) + { + return par1ItemStack; + } + + if (par1ItemStack.stackTagCompound == null) + { + par1ItemStack.setTagCompound(new NBTTagCompound()); + } + + NBTTagCompound tag = par1ItemStack.stackTagCompound; + tag.setBoolean("isActive", !(tag.getBoolean("isActive"))); + + if (tag.getBoolean("isActive")) + { + par1ItemStack.setItemDamage(1); + tag.setInteger("worldTimeDelay", (int) (par2World.getWorldTime() - 1) % tickDelay); + + if (!par3EntityPlayer.capabilities.isCreativeMode) + { + EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, getEnergyUsed()); + } + } else + { + par1ItemStack.setItemDamage(par1ItemStack.getMaxDamage()); + } + + return par1ItemStack; + } + + @Override + public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) + { + if (!(par3Entity instanceof EntityPlayer)) + { + return; + } + + if(SpellHelper.isFakePlayer(par2World, (EntityPlayer)par3Entity)) + { + return; + } + + EntityPlayer par3EntityPlayer = (EntityPlayer) par3Entity; + + if (par1ItemStack.stackTagCompound == null) + { + par1ItemStack.setTagCompound(new NBTTagCompound()); + } + + if (par1ItemStack.stackTagCompound.getBoolean("isActive")&&(!par2World.isRemote)) + { + Vec3 blockVec = SpellHelper.getEntityBlockVector(par3EntityPlayer); + int x = (int)blockVec.xCoord; + int y = (int)blockVec.yCoord; + int z = (int)blockVec.zCoord; + + for (int i = -radius; i <= radius; i++) + { + for (int j = -radius; j <= radius; j++) + { + for(int k = -radius; k <= radius; k++) + { + if (i * i + j * j + k * k >= (radius + 0.50f) * (radius + 0.50f)) + { + continue; + } + + Block block = par2World.getBlock(x+i, y+j, z+k); + + + if(SpellHelper.isBlockFluid(block)) + { + if(par2World.getTileEntity(x+i, y+j, z+k)!=null) + { + par2World.setBlockToAir(x+i, y+j, z+k); + } + TESpectralContainer.createSpectralBlockAtLocation(par2World, x+i, y+j, z+k, refresh); + } + else + { + TileEntity tile = par2World.getTileEntity(x+i, y+j, z+k); + if(tile instanceof TESpectralContainer) + { + ((TESpectralContainer) tile).resetDuration(refresh); + } + } + } + } + } + } + + if (par2World.getWorldTime() % 200 == par1ItemStack.stackTagCompound.getInteger("worldTimeDelay") && par1ItemStack.stackTagCompound.getBoolean("isActive")) + { + //par3EntityPlayer.addPotionEffect(new PotionEffect(Potion.field_76444_x.id, 2400,99)); + if (!par3EntityPlayer.capabilities.isCreativeMode) + { + EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, getEnergyUsed()); + + } + } + + return; + } + + @Override + public void onArmourUpdate(World world, EntityPlayer player, ItemStack thisItemStack) + { + Vec3 blockVec = SpellHelper.getEntityBlockVector(player); + int x = (int)blockVec.xCoord; + int y = (int)blockVec.yCoord; + int z = (int)blockVec.zCoord; + + for (int i = -radius; i <= radius; i++) + { + for (int j = -radius; j <= radius; j++) + { + for(int k = -radius; k <= radius; k++) + { + if (i * i + j * j + k * k >= (radius + 0.50f) * (radius + 0.50f)) + { + continue; + } + + Block block = world.getBlock(x+i, y+j, z+k); + + + if(SpellHelper.isBlockFluid(block)) + { + if(world.getTileEntity(x+i, y+j, z+k)!=null) + { + world.setBlockToAir(x+i, y+j, z+k); + } + TESpectralContainer.createSpectralBlockAtLocation(world, x+i, y+j, z+k, refresh); + } + else + { + TileEntity tile = world.getTileEntity(x+i, y+j, z+k); + if(tile instanceof TESpectralContainer) + { + ((TESpectralContainer) tile).resetDuration(refresh); + } + } + } + } + } + } + + @Override + public boolean isUpgrade() + { + return true; + } + + @Override + public int getEnergyForTenSeconds() + { + return 200; + } +} diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/LavaSigil.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/LavaSigil.java index 61829765..69d26007 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/LavaSigil.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/LavaSigil.java @@ -14,7 +14,7 @@ import net.minecraft.potion.PotionEffect; import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.ArmourUpgrade; +import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade; import WayofTime.alchemicalWizardry.common.items.EnergyBattery; import WayofTime.alchemicalWizardry.common.items.EnergyItems; import cpw.mods.fml.relauncher.Side; diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/SigilOfGrowth.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/SigilOfGrowth.java index 52965663..710b3315 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/SigilOfGrowth.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/SigilOfGrowth.java @@ -23,7 +23,7 @@ import net.minecraftforge.common.IPlantable; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.player.BonemealEvent; import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.ArmourUpgrade; +import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade; import WayofTime.alchemicalWizardry.common.items.EnergyItems; import cpw.mods.fml.common.eventhandler.Event.Result; import cpw.mods.fml.relauncher.Side; diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/SigilOfHaste.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/SigilOfHaste.java index aa84d0e0..0ae157d9 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/SigilOfHaste.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/SigilOfHaste.java @@ -13,7 +13,7 @@ import net.minecraft.potion.PotionEffect; import net.minecraft.util.IIcon; import net.minecraft.world.World; import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.ArmourUpgrade; +import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade; import WayofTime.alchemicalWizardry.common.items.EnergyItems; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/SigilOfHolding.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/SigilOfHolding.java index db18ae01..1e3d9af8 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/SigilOfHolding.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/SigilOfHolding.java @@ -15,8 +15,8 @@ import net.minecraft.world.World; import net.minecraftforge.common.util.Constants; import WayofTime.alchemicalWizardry.AlchemicalWizardry; import WayofTime.alchemicalWizardry.ModItems; +import WayofTime.alchemicalWizardry.api.items.interfaces.IHolding; import WayofTime.alchemicalWizardry.common.items.EnergyItems; -import WayofTime.alchemicalWizardry.common.items.IHolding; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/SigilOfMagnetism.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/SigilOfMagnetism.java index 5be81fa4..5693d17f 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/SigilOfMagnetism.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/SigilOfMagnetism.java @@ -12,7 +12,7 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.IIcon; import net.minecraft.world.World; import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.ArmourUpgrade; +import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade; import WayofTime.alchemicalWizardry.common.items.EnergyItems; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/SigilOfTheBridge.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/SigilOfTheBridge.java index 69327b4b..a4575728 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/SigilOfTheBridge.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/SigilOfTheBridge.java @@ -14,7 +14,7 @@ import net.minecraft.util.IIcon; import net.minecraft.world.World; import WayofTime.alchemicalWizardry.AlchemicalWizardry; import WayofTime.alchemicalWizardry.ModBlocks; -import WayofTime.alchemicalWizardry.common.ArmourUpgrade; +import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade; import WayofTime.alchemicalWizardry.common.items.EnergyItems; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/SigilOfTheFastMiner.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/SigilOfTheFastMiner.java index 277e8bc6..4f439bfe 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/SigilOfTheFastMiner.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/SigilOfTheFastMiner.java @@ -12,7 +12,7 @@ import net.minecraft.potion.PotionEffect; import net.minecraft.util.IIcon; import net.minecraft.world.World; import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.ArmourUpgrade; +import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade; import WayofTime.alchemicalWizardry.common.items.EnergyItems; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/SigilOfWind.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/SigilOfWind.java index dc6ddb90..752797a7 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/SigilOfWind.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/SigilOfWind.java @@ -11,7 +11,7 @@ import net.minecraft.potion.PotionEffect; import net.minecraft.util.IIcon; import net.minecraft.world.World; import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.ArmourUpgrade; +import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade; import WayofTime.alchemicalWizardry.common.items.EnergyItems; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/VoidSigil.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/VoidSigil.java index 4bb65354..6b73fc03 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/VoidSigil.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/VoidSigil.java @@ -14,7 +14,7 @@ import net.minecraft.world.World; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.player.FillBucketEvent; import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.ArmourUpgrade; +import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade; import WayofTime.alchemicalWizardry.common.items.EnergyBattery; import WayofTime.alchemicalWizardry.common.items.EnergyItems; import cpw.mods.fml.relauncher.Side; diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/WaterSigil.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/WaterSigil.java index 474d519c..ef4d1672 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/WaterSigil.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/sigil/WaterSigil.java @@ -14,7 +14,7 @@ import net.minecraft.potion.PotionEffect; import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.ArmourUpgrade; +import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade; import WayofTime.alchemicalWizardry.common.items.EnergyItems; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/thaumcraft/ItemSanguineArmour.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/thaumcraft/ItemSanguineArmour.java index 7551bddf..92ec9342 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/items/thaumcraft/ItemSanguineArmour.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/items/thaumcraft/ItemSanguineArmour.java @@ -10,13 +10,17 @@ import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; import net.minecraft.world.World; +import thaumcraft.api.IGoggles; +import thaumcraft.api.IVisDiscountGear; +import thaumcraft.api.aspects.Aspect; +import thaumcraft.api.nodes.IRevealer; import WayofTime.alchemicalWizardry.AlchemicalWizardry; import WayofTime.alchemicalWizardry.ModItems; -import WayofTime.alchemicalWizardry.common.ArmourUpgrade; +import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -public class ItemSanguineArmour extends ItemArmor implements ArmourUpgrade//, IGoggles, IVisDiscounter, IRevealer +public class ItemSanguineArmour extends ItemArmor implements ArmourUpgrade, IGoggles, IVisDiscountGear, IRevealer { private static IIcon helmetIcon; @@ -47,12 +51,12 @@ public class ItemSanguineArmour extends ItemArmor implements ArmourUpgrade//, IG return null; } -// @Override -// public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) -// { -// par3List.add("A pair of goggles imbued with power"); -// par3List.add("Vis discount: " + this.getVisDiscount() + "%"); -// } + @Override + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) + { + par3List.add("A pair of goggles imbued with power"); + par3List.add("Vis discount: " + 8 + "%"); + } // @Override @@ -79,15 +83,21 @@ public class ItemSanguineArmour extends ItemArmor implements ArmourUpgrade//, IG return 0; } -// @Override -// public boolean showIngamePopups(ItemStack itemstack, EntityLivingBase player) -// { -// return true; -// } -// -// @Override -// public int getVisDiscount() -// { -// return 10; -// } + @Override + public boolean showNodes(ItemStack itemstack, EntityLivingBase player) + { + return true; + } + + @Override + public int getVisDiscount(ItemStack stack, EntityPlayer player, Aspect aspect) + { + return 8; + } + + @Override + public boolean showIngamePopups(ItemStack itemstack, EntityLivingBase player) + { + return true; + } } diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffect.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffect.java deleted file mode 100644 index 4652c83c..00000000 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffect.java +++ /dev/null @@ -1,15 +0,0 @@ -package WayofTime.alchemicalWizardry.common.rituals; - -import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone; - -public abstract class RitualEffect -{ - public abstract void performEffect(TEMasterStone ritualStone); - - public abstract int getCostPerRefresh(); - - public int getInitialCooldown() - { - return 0; - } -} diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectAnimalGrowth.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectAnimalGrowth.java index 886effc4..1f6709b3 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectAnimalGrowth.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectAnimalGrowth.java @@ -1,5 +1,6 @@ package WayofTime.alchemicalWizardry.common.rituals; +import java.util.ArrayList; import java.util.Iterator; import java.util.List; @@ -10,13 +11,15 @@ import net.minecraft.potion.PotionEffect; import net.minecraft.server.MinecraftServer; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.common.LifeEssenceNetwork; -import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone; +import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; +import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; +import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; +import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; public class RitualEffectAnimalGrowth extends RitualEffect { @Override - public void performEffect(TEMasterStone ritualStone) + public void performEffect(IMasterRitualStone ritualStone) { String owner = ritualStone.getOwner(); World worldSave = MinecraftServer.getServer().worldServers[0]; @@ -29,10 +32,10 @@ public class RitualEffectAnimalGrowth extends RitualEffect } int currentEssence = data.currentEssence; - World world = ritualStone.getWorldObj(); - int x = ritualStone.xCoord; - int y = ritualStone.yCoord; - int z = ritualStone.zCoord; + World world = ritualStone.getWorld(); + int x = ritualStone.getXCoord(); + int y = ritualStone.getYCoord(); + int z = ritualStone.getZCoord(); if (world.getWorldTime() % 20 != 0) { @@ -87,7 +90,30 @@ public class RitualEffectAnimalGrowth extends RitualEffect @Override public int getCostPerRefresh() { - // TODO Auto-generated method stub + return 2; } + + @Override + public List getRitualComponentList() + { + ArrayList animalGrowthRitual = new ArrayList(); + animalGrowthRitual.add(new RitualComponent(0, 0, 2, RitualComponent.DUSK)); + animalGrowthRitual.add(new RitualComponent(2, 0, 0, RitualComponent.DUSK)); + animalGrowthRitual.add(new RitualComponent(0, 0, -2, RitualComponent.DUSK)); + animalGrowthRitual.add(new RitualComponent(-2, 0, 0, RitualComponent.DUSK)); + animalGrowthRitual.add(new RitualComponent(0, 0, 1, RitualComponent.WATER)); + animalGrowthRitual.add(new RitualComponent(1, 0, 0, RitualComponent.WATER)); + animalGrowthRitual.add(new RitualComponent(0, 0, -1, RitualComponent.WATER)); + animalGrowthRitual.add(new RitualComponent(-1, 0, 0, RitualComponent.WATER)); + animalGrowthRitual.add(new RitualComponent(1, 0, 2, RitualComponent.EARTH)); + animalGrowthRitual.add(new RitualComponent(-1, 0, 2, RitualComponent.EARTH)); + animalGrowthRitual.add(new RitualComponent(1, 0, -2, RitualComponent.EARTH)); + animalGrowthRitual.add(new RitualComponent(-1, 0, -2, RitualComponent.EARTH)); + animalGrowthRitual.add(new RitualComponent(2, 0, 1, RitualComponent.AIR)); + animalGrowthRitual.add(new RitualComponent(2, 0, -1, RitualComponent.AIR)); + animalGrowthRitual.add(new RitualComponent(-2, 0, 1, RitualComponent.AIR)); + animalGrowthRitual.add(new RitualComponent(-2, 0, -1, RitualComponent.AIR)); + return animalGrowthRitual; + } } diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectApiaryOverclock.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectApiaryOverclock.java index f52a9dd9..af4cfc98 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectApiaryOverclock.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectApiaryOverclock.java @@ -1,19 +1,22 @@ package WayofTime.alchemicalWizardry.common.rituals; +import java.util.ArrayList; +import java.util.List; + import net.minecraft.entity.player.EntityPlayer; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; import net.minecraft.server.MinecraftServer; -import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.common.LifeEssenceNetwork; -import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar; -import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone; +import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; +import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; +import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; +import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; public class RitualEffectApiaryOverclock extends RitualEffect { @Override - public void performEffect(TEMasterStone ritualStone) + public void performEffect(IMasterRitualStone ritualStone) { String owner = ritualStone.getOwner(); World worldSave = MinecraftServer.getServer().worldServers[0]; @@ -26,10 +29,10 @@ public class RitualEffectApiaryOverclock extends RitualEffect } int currentEssence = data.currentEssence; - World world = ritualStone.getWorldObj(); - int x = ritualStone.xCoord; - int y = ritualStone.yCoord; - int z = ritualStone.zCoord; + World world = ritualStone.getWorld(); + int x = ritualStone.getXCoord(); + int y = ritualStone.getYCoord(); + int z = ritualStone.getZCoord(); if (currentEssence < this.getCostPerRefresh()) @@ -78,4 +81,19 @@ public class RitualEffectApiaryOverclock extends RitualEffect // TODO Auto-generated method stub return 10; } + + @Override + public List getRitualComponentList() + { + ArrayList apiaryRitual = new ArrayList(); + apiaryRitual.add(new RitualComponent(1,0,0, RitualComponent.DUSK)); + apiaryRitual.add(new RitualComponent(1,0,1, RitualComponent.DUSK)); + apiaryRitual.add(new RitualComponent(1,0,-1, RitualComponent.DUSK)); + apiaryRitual.add(new RitualComponent(-1,0,-1, RitualComponent.DUSK)); + apiaryRitual.add(new RitualComponent(-1,0,1, RitualComponent.DUSK)); + apiaryRitual.add(new RitualComponent(-1,0,0, RitualComponent.DUSK)); + apiaryRitual.add(new RitualComponent(0,0,-1, RitualComponent.DUSK)); + apiaryRitual.add(new RitualComponent(0,0,1, RitualComponent.DUSK)); + return apiaryRitual; + } } diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectAutoAlchemy.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectAutoAlchemy.java new file mode 100644 index 00000000..bbe93c15 --- /dev/null +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectAutoAlchemy.java @@ -0,0 +1,430 @@ +package WayofTime.alchemicalWizardry.common.rituals; + +import java.util.ArrayList; +import java.util.List; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.IInventory; +import net.minecraft.item.ItemStack; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraft.server.MinecraftServer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import net.minecraftforge.oredict.OreDictionary; +import WayofTime.alchemicalWizardry.api.alchemy.AlchemyRecipeRegistry; +import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; +import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; +import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; +import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; +import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar; +import WayofTime.alchemicalWizardry.common.tileEntity.TEWritingTable; + +public class RitualEffectAutoAlchemy extends RitualEffect +{ + @Override + public void performEffect(IMasterRitualStone ritualStone) + { + String owner = ritualStone.getOwner(); + World worldSave = MinecraftServer.getServer().worldServers[0]; + LifeEssenceNetwork data = (LifeEssenceNetwork) worldSave.loadItemData(LifeEssenceNetwork.class, owner); + + if (data == null) + { + data = new LifeEssenceNetwork(owner); + worldSave.setItemData(owner, data); + } + + int currentEssence = data.currentEssence; + World world = ritualStone.getWorld(); + int x = ritualStone.getXCoord(); + int y = ritualStone.getYCoord(); + int z = ritualStone.getZCoord(); + + if (currentEssence < this.getCostPerRefresh()*6) + { + EntityPlayer entityOwner = MinecraftServer.getServer().getConfigurationManager().getPlayerForUsername(owner); + + if (entityOwner == null) + { + return; + } + + entityOwner.addPotionEffect(new PotionEffect(Potion.confusion.id, 80)); + } else + { + int flag = 0; + + TileEntity topEntity = world.getTileEntity(x, y+1, z); + if(!(topEntity instanceof TEAltar)) + { + return; + } + + TEAltar tileAltar = (TEAltar)topEntity; + ItemStack targetStack = tileAltar.getStackInSlot(0); + if(targetStack == null) + { + return; + } + + ItemStack[] recipe = AlchemyRecipeRegistry.getRecipeForItemStack(targetStack); + if(recipe!=null) + { + TEWritingTable alchemyEntity; + IInventory outputInv = null; + IInventory inputInv1 = null; + IInventory inputInv2 = null; + + TileEntity northEntity = world.getTileEntity(x,y,z-1); + TileEntity southEntity = world.getTileEntity(x,y,z+1); + TileEntity eastEntity = world.getTileEntity(x+1,y,z); + TileEntity westEntity = world.getTileEntity(x-1,y,z); + + if(northEntity instanceof TEWritingTable) + { + alchemyEntity = (TEWritingTable)northEntity; + if(southEntity instanceof IInventory && !(southEntity instanceof TEWritingTable)) + { + outputInv = (IInventory)southEntity; + } + if(eastEntity instanceof IInventory && !(eastEntity instanceof TEWritingTable)) + { + inputInv1 = (IInventory)eastEntity; + } + if(westEntity instanceof IInventory && !(westEntity instanceof TEWritingTable)) + { + inputInv2 = (IInventory)westEntity; + } + }else if(southEntity instanceof TEWritingTable) + { + alchemyEntity = (TEWritingTable)southEntity; + if(northEntity instanceof IInventory && !(northEntity instanceof TEWritingTable)) + { + outputInv = (IInventory)northEntity; + } + if(eastEntity instanceof IInventory && !(eastEntity instanceof TEWritingTable)) + { + inputInv1 = (IInventory)eastEntity; + } + if(westEntity instanceof IInventory && !(westEntity instanceof TEWritingTable)) + { + inputInv2 = (IInventory)westEntity; + } + }else if(eastEntity instanceof TEWritingTable) + { + alchemyEntity = (TEWritingTable)eastEntity; + if(westEntity instanceof IInventory && !(westEntity instanceof TEWritingTable)) + { + outputInv = (IInventory)westEntity; + } + if(northEntity instanceof IInventory && !(northEntity instanceof TEWritingTable)) + { + inputInv1 = (IInventory)northEntity; + } + if(southEntity instanceof IInventory && !(southEntity instanceof TEWritingTable)) + { + inputInv2 = (IInventory)southEntity; + } + }else if(westEntity instanceof TEWritingTable) + { + alchemyEntity = (TEWritingTable)westEntity; + if(eastEntity instanceof IInventory && !(eastEntity instanceof TEWritingTable)) + { + outputInv = (IInventory)eastEntity; + } + if(northEntity instanceof IInventory && !(northEntity instanceof TEWritingTable)) + { + inputInv1 = (IInventory)northEntity; + } + if(southEntity instanceof IInventory && !(southEntity instanceof TEWritingTable)) + { + inputInv2 = (IInventory)southEntity; + } + }else + { + return; + } + + if(outputInv!=null) + { + ItemStack outputStack = alchemyEntity.getStackInSlot(6); + if(outputStack!=null) + { + for(int i=0; i=alchStack.getMaxStackSize())) + { + continue; + } + + for(int j=0;j=alchStack.getMaxStackSize())) + { + continue; + } + + for(int j=0;j0) + { + world.markBlockForUpdate(x, y, z+1); + world.markBlockForUpdate(x, y, z-1); + world.markBlockForUpdate(x+1, y, z); + world.markBlockForUpdate(x-1, y, z); + data.currentEssence = currentEssence - this.getCostPerRefresh()*flag; + data.markDirty(); + } + } + } + + @Override + public int getCostPerRefresh() + { + return 10; + } + + @Override + public List getRitualComponentList() + { + ArrayList autoAlchemyRitual = new ArrayList(); + autoAlchemyRitual.add(new RitualComponent(1,0,1, RitualComponent.DUSK)); + autoAlchemyRitual.add(new RitualComponent(1,0,-1, RitualComponent.DUSK)); + autoAlchemyRitual.add(new RitualComponent(-1,0,-1, RitualComponent.DUSK)); + autoAlchemyRitual.add(new RitualComponent(-1,0,1, RitualComponent.DUSK)); + autoAlchemyRitual.add(new RitualComponent(2,0,2, RitualComponent.WATER)); + autoAlchemyRitual.add(new RitualComponent(2,0,-2, RitualComponent.WATER)); + autoAlchemyRitual.add(new RitualComponent(-2,0,-2, RitualComponent.WATER)); + autoAlchemyRitual.add(new RitualComponent(-2,0,2, RitualComponent.WATER)); + autoAlchemyRitual.add(new RitualComponent(-3,0,-2, RitualComponent.FIRE)); + autoAlchemyRitual.add(new RitualComponent(-2,0,-3, RitualComponent.FIRE)); + autoAlchemyRitual.add(new RitualComponent(-3,0,2, RitualComponent.FIRE)); + autoAlchemyRitual.add(new RitualComponent(-2,0,3, RitualComponent.FIRE)); + autoAlchemyRitual.add(new RitualComponent(3,0,-2, RitualComponent.FIRE)); + autoAlchemyRitual.add(new RitualComponent(2,0,-3, RitualComponent.FIRE)); + autoAlchemyRitual.add(new RitualComponent(3,0,2, RitualComponent.FIRE)); + autoAlchemyRitual.add(new RitualComponent(2,0,3, RitualComponent.FIRE)); + return autoAlchemyRitual; + } + + public boolean areItemStacksEqualWithWildcard(ItemStack recipeStack, ItemStack comparedStack) + { + return recipeStack.isItemEqual(comparedStack) || (recipeStack.getItemDamage() == OreDictionary.WILDCARD_VALUE && recipeStack.getItem() == comparedStack.getItem()); + } +} diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectBiomeChanger.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectBiomeChanger.java index 5374368d..c49432b2 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectBiomeChanger.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectBiomeChanger.java @@ -1,5 +1,8 @@ package WayofTime.alchemicalWizardry.common.rituals; +import java.util.ArrayList; +import java.util.List; + import net.minecraft.block.Block; import net.minecraft.entity.effect.EntityLightningBolt; import net.minecraft.entity.player.EntityPlayer; @@ -16,14 +19,16 @@ import net.minecraft.world.World; import net.minecraft.world.biome.BiomeGenBase; import net.minecraft.world.chunk.Chunk; import WayofTime.alchemicalWizardry.ModBlocks; -import WayofTime.alchemicalWizardry.common.LifeEssenceNetwork; -import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone; +import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; +import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; +import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; +import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; import WayofTime.alchemicalWizardry.common.tileEntity.TEPlinth; public class RitualEffectBiomeChanger extends RitualEffect { @Override - public void performEffect(TEMasterStone ritualStone) + public void performEffect(IMasterRitualStone ritualStone) { String owner = ritualStone.getOwner(); World worldSave = MinecraftServer.getServer().worldServers[0]; @@ -36,24 +41,25 @@ public class RitualEffectBiomeChanger extends RitualEffect } int cooldown = ritualStone.getCooldown(); - + World world = ritualStone.getWorld(); + int x = ritualStone.getXCoord(); + int y = ritualStone.getYCoord(); + int z = ritualStone.getZCoord(); if (cooldown > 0) { ritualStone.setCooldown(cooldown - 1); - if (ritualStone.getWorldObj().rand.nextInt(15) == 0) + if (world.rand.nextInt(15) == 0) { - ritualStone.getWorldObj().addWeatherEffect(new EntityLightningBolt(ritualStone.getWorldObj(), ritualStone.xCoord - 1 + ritualStone.getWorldObj().rand.nextInt(3), ritualStone.yCoord + 1, ritualStone.zCoord - 1 + ritualStone.getWorldObj().rand.nextInt(3))); + world.addWeatherEffect(new EntityLightningBolt(world, x - 1 + world.rand.nextInt(3), y + 1, z - 1 + world.rand.nextInt(3))); } return; } int currentEssence = data.currentEssence; - World world = ritualStone.getWorldObj(); - int x = ritualStone.xCoord; - int y = ritualStone.yCoord; - int z = ritualStone.zCoord; + + int range = 10; if (currentEssence < this.getCostPerRefresh()) @@ -315,4 +321,127 @@ public class RitualEffectBiomeChanger extends RitualEffect { return 200; } + + @Override + public List getRitualComponentList() + { + ArrayList biomeChangerRitual = new ArrayList(); + biomeChangerRitual.add(new RitualComponent(1, 0, -2, RitualComponent.AIR)); + biomeChangerRitual.add(new RitualComponent(1, 0, -3, RitualComponent.AIR)); + biomeChangerRitual.add(new RitualComponent(2, 0, -1, RitualComponent.AIR)); + biomeChangerRitual.add(new RitualComponent(3, 0, -1, RitualComponent.AIR)); + biomeChangerRitual.add(new RitualComponent(1, 0, 2, RitualComponent.AIR)); + biomeChangerRitual.add(new RitualComponent(1, 0, 3, RitualComponent.AIR)); + biomeChangerRitual.add(new RitualComponent(2, 0, 1, RitualComponent.AIR)); + biomeChangerRitual.add(new RitualComponent(3, 0, 1, RitualComponent.AIR)); + biomeChangerRitual.add(new RitualComponent(-1, 0, -2, RitualComponent.AIR)); + biomeChangerRitual.add(new RitualComponent(-1, 0, -3, RitualComponent.AIR)); + biomeChangerRitual.add(new RitualComponent(-2, 0, -1, RitualComponent.AIR)); + biomeChangerRitual.add(new RitualComponent(-3, 0, -1, RitualComponent.AIR)); + biomeChangerRitual.add(new RitualComponent(-1, 0, 2, RitualComponent.AIR)); + biomeChangerRitual.add(new RitualComponent(-1, 0, 3, RitualComponent.AIR)); + biomeChangerRitual.add(new RitualComponent(-2, 0, 1, RitualComponent.AIR)); + biomeChangerRitual.add(new RitualComponent(-3, 0, 1, RitualComponent.AIR)); + biomeChangerRitual.add(new RitualComponent(3, 0, -3, RitualComponent.EARTH)); + biomeChangerRitual.add(new RitualComponent(3, 0, -4, RitualComponent.EARTH)); + biomeChangerRitual.add(new RitualComponent(4, 0, -3, RitualComponent.EARTH)); + biomeChangerRitual.add(new RitualComponent(4, 0, -5, RitualComponent.FIRE)); + biomeChangerRitual.add(new RitualComponent(5, 0, -4, RitualComponent.FIRE)); + biomeChangerRitual.add(new RitualComponent(3, 0, 3, RitualComponent.EARTH)); + biomeChangerRitual.add(new RitualComponent(3, 0, 4, RitualComponent.EARTH)); + biomeChangerRitual.add(new RitualComponent(4, 0, 3, RitualComponent.EARTH)); + biomeChangerRitual.add(new RitualComponent(4, 0, 5, RitualComponent.FIRE)); + biomeChangerRitual.add(new RitualComponent(5, 0, 4, RitualComponent.FIRE)); + biomeChangerRitual.add(new RitualComponent(-3, 0, 3, RitualComponent.EARTH)); + biomeChangerRitual.add(new RitualComponent(-3, 0, 4, RitualComponent.EARTH)); + biomeChangerRitual.add(new RitualComponent(-4, 0, 3, RitualComponent.EARTH)); + biomeChangerRitual.add(new RitualComponent(-4, 0, 5, RitualComponent.FIRE)); + biomeChangerRitual.add(new RitualComponent(-5, 0, 4, RitualComponent.FIRE)); + biomeChangerRitual.add(new RitualComponent(-3, 0, -3, RitualComponent.EARTH)); + biomeChangerRitual.add(new RitualComponent(-3, 0, -4, RitualComponent.EARTH)); + biomeChangerRitual.add(new RitualComponent(-4, 0, -3, RitualComponent.EARTH)); + biomeChangerRitual.add(new RitualComponent(-4, 0, -5, RitualComponent.FIRE)); + biomeChangerRitual.add(new RitualComponent(-5, 0, -4, RitualComponent.FIRE)); + biomeChangerRitual.add(new RitualComponent(0, 0, -5, RitualComponent.WATER)); + biomeChangerRitual.add(new RitualComponent(-1, 0, -6, RitualComponent.WATER)); + biomeChangerRitual.add(new RitualComponent(1, 0, -6, RitualComponent.WATER)); + biomeChangerRitual.add(new RitualComponent(-1, 0, -8, RitualComponent.BLANK)); + biomeChangerRitual.add(new RitualComponent(0, 0, -8, RitualComponent.BLANK)); + biomeChangerRitual.add(new RitualComponent(1, 0, -8, RitualComponent.BLANK)); + biomeChangerRitual.add(new RitualComponent(-1, 0, -10, RitualComponent.DUSK)); + biomeChangerRitual.add(new RitualComponent(0, 0, -10, RitualComponent.DUSK)); + biomeChangerRitual.add(new RitualComponent(1, 0, -10, RitualComponent.DUSK)); + biomeChangerRitual.add(new RitualComponent(0, 0, 5, RitualComponent.WATER)); + biomeChangerRitual.add(new RitualComponent(-1, 0, 6, RitualComponent.WATER)); + biomeChangerRitual.add(new RitualComponent(1, 0, 6, RitualComponent.WATER)); + biomeChangerRitual.add(new RitualComponent(-1, 0, 8, RitualComponent.BLANK)); + biomeChangerRitual.add(new RitualComponent(0, 0, 8, RitualComponent.BLANK)); + biomeChangerRitual.add(new RitualComponent(1, 0, 8, RitualComponent.BLANK)); + biomeChangerRitual.add(new RitualComponent(-1, 0, 10, RitualComponent.DUSK)); + biomeChangerRitual.add(new RitualComponent(0, 0, 10, RitualComponent.DUSK)); + biomeChangerRitual.add(new RitualComponent(1, 0, 10, RitualComponent.DUSK)); + biomeChangerRitual.add(new RitualComponent(-5, 0, 0, RitualComponent.WATER)); + biomeChangerRitual.add(new RitualComponent(-6, 0, -1, RitualComponent.WATER)); + biomeChangerRitual.add(new RitualComponent(-6, 0, 1, RitualComponent.WATER)); + biomeChangerRitual.add(new RitualComponent(-8, 0, -1, RitualComponent.BLANK)); + biomeChangerRitual.add(new RitualComponent(-8, 0, 0, RitualComponent.BLANK)); + biomeChangerRitual.add(new RitualComponent(-8, 0, 1, RitualComponent.BLANK)); + biomeChangerRitual.add(new RitualComponent(-10, 0, -1, RitualComponent.DUSK)); + biomeChangerRitual.add(new RitualComponent(-10, 0, 0, RitualComponent.DUSK)); + biomeChangerRitual.add(new RitualComponent(-10, 0, 1, RitualComponent.DUSK)); + biomeChangerRitual.add(new RitualComponent(5, 0, 0, RitualComponent.WATER)); + biomeChangerRitual.add(new RitualComponent(6, 0, -1, RitualComponent.WATER)); + biomeChangerRitual.add(new RitualComponent(6, 0, 1, RitualComponent.WATER)); + biomeChangerRitual.add(new RitualComponent(8, 0, -1, RitualComponent.BLANK)); + biomeChangerRitual.add(new RitualComponent(8, 0, 0, RitualComponent.BLANK)); + biomeChangerRitual.add(new RitualComponent(8, 0, 1, RitualComponent.BLANK)); + biomeChangerRitual.add(new RitualComponent(10, 0, -1, RitualComponent.DUSK)); + biomeChangerRitual.add(new RitualComponent(10, 0, 0, RitualComponent.DUSK)); + biomeChangerRitual.add(new RitualComponent(10, 0, 1, RitualComponent.DUSK)); + biomeChangerRitual.add(new RitualComponent(6, 0, -6, RitualComponent.AIR)); + biomeChangerRitual.add(new RitualComponent(6, 0, -7, RitualComponent.AIR)); + biomeChangerRitual.add(new RitualComponent(7, 0, -6, RitualComponent.AIR)); + biomeChangerRitual.add(new RitualComponent(7, 0, -5, RitualComponent.EARTH)); + biomeChangerRitual.add(new RitualComponent(5, 0, -7, RitualComponent.EARTH)); + biomeChangerRitual.add(new RitualComponent(8, 0, -5, RitualComponent.DUSK)); + biomeChangerRitual.add(new RitualComponent(8, 0, -4, RitualComponent.EARTH)); + biomeChangerRitual.add(new RitualComponent(9, 0, -4, RitualComponent.EARTH)); + biomeChangerRitual.add(new RitualComponent(5, 0, -8, RitualComponent.DUSK)); + biomeChangerRitual.add(new RitualComponent(4, 0, -8, RitualComponent.EARTH)); + biomeChangerRitual.add(new RitualComponent(4, 0, -9, RitualComponent.EARTH)); + biomeChangerRitual.add(new RitualComponent(-6, 0, 6, RitualComponent.AIR)); + biomeChangerRitual.add(new RitualComponent(-6, 0, 7, RitualComponent.AIR)); + biomeChangerRitual.add(new RitualComponent(-7, 0, 6, RitualComponent.AIR)); + biomeChangerRitual.add(new RitualComponent(-7, 0, 5, RitualComponent.EARTH)); + biomeChangerRitual.add(new RitualComponent(-5, 0, 7, RitualComponent.EARTH)); + biomeChangerRitual.add(new RitualComponent(-8, 0, 5, RitualComponent.DUSK)); + biomeChangerRitual.add(new RitualComponent(-8, 0, 4, RitualComponent.EARTH)); + biomeChangerRitual.add(new RitualComponent(-9, 0, 4, RitualComponent.EARTH)); + biomeChangerRitual.add(new RitualComponent(-5, 0, 8, RitualComponent.DUSK)); + biomeChangerRitual.add(new RitualComponent(-4, 0, 8, RitualComponent.EARTH)); + biomeChangerRitual.add(new RitualComponent(-4, 0, 9, RitualComponent.EARTH)); + biomeChangerRitual.add(new RitualComponent(6, 0, 6, RitualComponent.FIRE)); + biomeChangerRitual.add(new RitualComponent(6, 0, 7, RitualComponent.FIRE)); + biomeChangerRitual.add(new RitualComponent(7, 0, 6, RitualComponent.FIRE)); + biomeChangerRitual.add(new RitualComponent(7, 0, 5, RitualComponent.WATER)); + biomeChangerRitual.add(new RitualComponent(5, 0, 7, RitualComponent.WATER)); + biomeChangerRitual.add(new RitualComponent(8, 0, 5, RitualComponent.DUSK)); + biomeChangerRitual.add(new RitualComponent(8, 0, 4, RitualComponent.WATER)); + biomeChangerRitual.add(new RitualComponent(9, 0, 4, RitualComponent.WATER)); + biomeChangerRitual.add(new RitualComponent(5, 0, 8, RitualComponent.DUSK)); + biomeChangerRitual.add(new RitualComponent(4, 0, 8, RitualComponent.WATER)); + biomeChangerRitual.add(new RitualComponent(4, 0, 9, RitualComponent.WATER)); + biomeChangerRitual.add(new RitualComponent(-6, 0, -6, RitualComponent.FIRE)); + biomeChangerRitual.add(new RitualComponent(-6, 0, -7, RitualComponent.FIRE)); + biomeChangerRitual.add(new RitualComponent(-7, 0, -6, RitualComponent.FIRE)); + biomeChangerRitual.add(new RitualComponent(-7, 0, -5, RitualComponent.WATER)); + biomeChangerRitual.add(new RitualComponent(-5, 0, -7, RitualComponent.WATER)); + biomeChangerRitual.add(new RitualComponent(-8, 0, -5, RitualComponent.DUSK)); + biomeChangerRitual.add(new RitualComponent(-8, 0, -4, RitualComponent.WATER)); + biomeChangerRitual.add(new RitualComponent(-9, 0, -4, RitualComponent.WATER)); + biomeChangerRitual.add(new RitualComponent(-5, 0, -8, RitualComponent.DUSK)); + biomeChangerRitual.add(new RitualComponent(-4, 0, -8, RitualComponent.WATER)); + biomeChangerRitual.add(new RitualComponent(-4, 0, -9, RitualComponent.WATER)); + return biomeChangerRitual; + } } diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectContainment.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectContainment.java index 8b64e3cf..42fa5b9a 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectContainment.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectContainment.java @@ -1,5 +1,6 @@ package WayofTime.alchemicalWizardry.common.rituals; +import java.util.ArrayList; import java.util.Iterator; import java.util.List; @@ -10,15 +11,16 @@ import net.minecraft.potion.PotionEffect; import net.minecraft.server.MinecraftServer; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.common.LifeEssenceNetwork; +import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; +import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; +import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; +import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; -import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar; -import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone; public class RitualEffectContainment extends RitualEffect { @Override - public void performEffect(TEMasterStone ritualStone) + public void performEffect(IMasterRitualStone ritualStone) { String owner = ritualStone.getOwner(); World worldSave = MinecraftServer.getServer().worldServers[0]; @@ -31,10 +33,10 @@ public class RitualEffectContainment extends RitualEffect } int currentEssence = data.currentEssence; - World world = ritualStone.getWorldObj(); - int x = ritualStone.xCoord; - int y = ritualStone.yCoord; - int z = ritualStone.zCoord; + World world = ritualStone.getWorld(); + int x = ritualStone.getXCoord(); + int y = ritualStone.getYCoord(); + int z = ritualStone.getZCoord(); if (currentEssence < this.getCostPerRefresh()) { @@ -99,4 +101,27 @@ public class RitualEffectContainment extends RitualEffect { return 1; } + + @Override + public List getRitualComponentList() + { + ArrayList containmentRitual = new ArrayList(); + containmentRitual.add(new RitualComponent(1, 0, 0, 3)); + containmentRitual.add(new RitualComponent(-1, 0, 0, 3)); + containmentRitual.add(new RitualComponent(0, 0, 1, 3)); + containmentRitual.add(new RitualComponent(0, 0, -1, 3)); + containmentRitual.add(new RitualComponent(2, 0, 2, 3)); + containmentRitual.add(new RitualComponent(2, 0, -2, 3)); + containmentRitual.add(new RitualComponent(-2, 0, 2, 3)); + containmentRitual.add(new RitualComponent(-2, 0, -2, 3)); + containmentRitual.add(new RitualComponent(1, 5, 0, 3)); + containmentRitual.add(new RitualComponent(-1, 5, 0, 3)); + containmentRitual.add(new RitualComponent(0, 5, 1, 3)); + containmentRitual.add(new RitualComponent(0, 5, -1, 3)); + containmentRitual.add(new RitualComponent(2, 5, 2, 3)); + containmentRitual.add(new RitualComponent(2, 5, -2, 3)); + containmentRitual.add(new RitualComponent(-2, 5, 2, 3)); + containmentRitual.add(new RitualComponent(-2, 5, -2, 3)); + return containmentRitual; + } } diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectCrushing.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectCrushing.java index b467590f..ce5bec6d 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectCrushing.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectCrushing.java @@ -1,11 +1,12 @@ package WayofTime.alchemicalWizardry.common.rituals; -import WayofTime.alchemicalWizardry.ModBlocks; -import WayofTime.alchemicalWizardry.common.LifeEssenceNetwork; -import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone; +import java.util.ArrayList; +import java.util.List; + import net.minecraft.block.Block; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; import net.minecraft.potion.Potion; @@ -13,13 +14,16 @@ import net.minecraft.potion.PotionEffect; import net.minecraft.server.MinecraftServer; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; - -import java.util.ArrayList; +import WayofTime.alchemicalWizardry.ModBlocks; +import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; +import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; +import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; +import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; public class RitualEffectCrushing extends RitualEffect { @Override - public void performEffect(TEMasterStone ritualStone) + public void performEffect(IMasterRitualStone ritualStone) { String owner = ritualStone.getOwner(); World worldSave = MinecraftServer.getServer().worldServers[0]; @@ -32,16 +36,17 @@ public class RitualEffectCrushing extends RitualEffect } int currentEssence = data.currentEssence; - World world = ritualStone.getWorldObj(); + World world = ritualStone.getWorld(); - if (world.getWorldTime() % 40 != 0) + if (world.getWorldTime() % 40 != 20) { return; } - int x = ritualStone.xCoord; - int y = ritualStone.yCoord; - int z = ritualStone.zCoord; + + int x = ritualStone.getXCoord(); + int y = ritualStone.getYCoord(); + int z = ritualStone.getZCoord(); TileEntity tile = world.getTileEntity(x, y + 1, z); IInventory tileEntity; @@ -58,6 +63,9 @@ public class RitualEffectCrushing extends RitualEffect return; } + boolean isSilkTouch = this.isSilkTouch(world, x, y, z); + int fortuneLevel = this.getFortuneLevel(world, x, y, z); + if (currentEssence < this.getCostPerRefresh()) { EntityPlayer entityOwner = MinecraftServer.getServer().getConfigurationManager().getPlayerForUsername(owner); @@ -87,55 +95,106 @@ public class RitualEffectCrushing extends RitualEffect continue; } - ArrayList itemDropList = block.getDrops(world, x + i, y + j, z + k, meta, 0); - - if (itemDropList != null) + if(isSilkTouch && block.canSilkHarvest(world, null, x + i, y + j, z + k, meta)) { - int invSize = tileEntity.getSizeInventory(); + int invSize = tileEntity.getSizeInventory(); + + ItemStack item = new ItemStack(block,1,meta); + ItemStack copyStack = item.copyItemStack(item); - for (ItemStack item : itemDropList) + for (int n = 0; n < invSize; n++) { - ItemStack copyStack = item.copyItemStack(item); - - for (int n = 0; n < invSize; n++) + if (tileEntity.isItemValidForSlot(n, copyStack) && copyStack.stackSize != 0) { - if (tileEntity.isItemValidForSlot(n, copyStack) && copyStack.stackSize != 0) + ItemStack itemStack = tileEntity.getStackInSlot(n); + + if (itemStack == null) { - ItemStack itemStack = tileEntity.getStackInSlot(n); + tileEntity.setInventorySlotContents(n, item); + copyStack.stackSize = 0; + } else + { + if (itemStack.getItem().equals(copyStack.getItem())) + { + int itemSize = itemStack.stackSize; + int copySize = copyStack.stackSize; + int maxSize = itemStack.getMaxStackSize(); - if (itemStack == null) - { - tileEntity.setInventorySlotContents(n, copyStack); - copyStack.stackSize = 0; - } else - { - if (itemStack.getItem().equals(copyStack.getItem())) + if (copySize + itemSize < maxSize) { - int itemSize = itemStack.stackSize; - int copySize = copyStack.stackSize; - int maxSize = itemStack.getMaxStackSize(); - - if (copySize + itemSize < maxSize) - { - copyStack.stackSize = 0; - itemStack.stackSize = itemSize + copySize; - tileEntity.setInventorySlotContents(n, itemStack); - } else - { - copyStack.stackSize = itemSize + copySize - maxSize; - itemStack.stackSize = maxSize; - } + copyStack.stackSize = 0; + itemStack.stackSize = itemSize + copySize; + tileEntity.setInventorySlotContents(n, itemStack); + } else + { + copyStack.stackSize = itemSize + copySize - maxSize; + itemStack.stackSize = maxSize; } } } } - - if (copyStack.stackSize > 0) - { - world.spawnEntityInWorld(new EntityItem(world, x + 0.4, y + 2, z + 0.5, copyStack)); - //flag=true; - } } + + if (copyStack.stackSize > 0) + { + world.spawnEntityInWorld(new EntityItem(world, x + 0.4, y + 2, z + 0.5, copyStack)); + //flag=true; + } + + } + else + { + ArrayList itemDropList = block.getDrops(world, x + i, y + j, z + k, meta, fortuneLevel); + + if (itemDropList != null) + { + int invSize = tileEntity.getSizeInventory(); + + for (ItemStack item : itemDropList) + { + ItemStack copyStack = item.copyItemStack(item); + + for (int n = 0; n < invSize; n++) + { + if (tileEntity.isItemValidForSlot(n, copyStack) && copyStack.stackSize != 0) + { + ItemStack itemStack = tileEntity.getStackInSlot(n); + + if (itemStack == null) + { + tileEntity.setInventorySlotContents(n, item); + copyStack.stackSize = 0; + } else + { + if (itemStack.getItem().equals(copyStack.getItem())) + { + int itemSize = itemStack.stackSize; + int copySize = copyStack.stackSize; + int maxSize = itemStack.getMaxStackSize(); + + if (copySize + itemSize < maxSize) + { + copyStack.stackSize = 0; + itemStack.stackSize = itemSize + copySize; + tileEntity.setInventorySlotContents(n, itemStack); + } else + { + copyStack.stackSize = itemSize + copySize - maxSize; + itemStack.stackSize = maxSize; + } + } + } + } + } + + if (copyStack.stackSize > 0) + { + world.spawnEntityInWorld(new EntityItem(world, x + 0.4, y + 2, z + 0.5, copyStack)); + //flag=true; + } + } + } + } //if(flag) @@ -150,10 +209,92 @@ public class RitualEffectCrushing extends RitualEffect } } } + + public boolean isSilkTouch(World world, int x, int y, int z) + { + int index = 0; + for(int i=-2; i<=2; i++) + { + for(int j=-2; j<=2; j++) + { + int index1 = Math.abs(i); + int index2 = Math.abs(j); + + if((index1 == 2 && (index2 == 2 || index2 == 1)) || (index1 == 1 && index2 == 2)) + { + Block block = world.getBlock(x + i, y + 1, z + j); + if(block == Blocks.gold_block) + { + index++; + } + } + } + } + + return index>=12; + } + + public int getFortuneLevel(World world, int x, int y, int z) + { + int index = 0; + for(int i=-2; i<=2; i++) + { + for(int j=-2; j<=2; j++) + { + int index1 = Math.abs(i); + int index2 = Math.abs(j); + + if((index1 == 2 && (index2 == 2 || index2 == 1)) || (index1 == 1 && index2 == 2)) + { + Block block = world.getBlock(x + i, y + 1, z + j); + if(block == Blocks.emerald_block) + { + index++; + } + } + } + } + + if(index>=12) + { + return 3; + }else if(index>=8) + { + return 2; + }else if(index>=4) + { + return 1; + } + + return 0; + } @Override public int getCostPerRefresh() { return 7; } + + @Override + public List getRitualComponentList() + { + ArrayList crushingRitual = new ArrayList(); + crushingRitual.add(new RitualComponent(0, 0, 1, RitualComponent.EARTH)); + crushingRitual.add(new RitualComponent(1, 0, 0, RitualComponent.EARTH)); + crushingRitual.add(new RitualComponent(0, 0, -1, RitualComponent.EARTH)); + crushingRitual.add(new RitualComponent(-1, 0, 0, RitualComponent.EARTH)); + crushingRitual.add(new RitualComponent(2, 0, 0, RitualComponent.FIRE)); + crushingRitual.add(new RitualComponent(0, 0, 2, RitualComponent.FIRE)); + crushingRitual.add(new RitualComponent(-2, 0, 0, RitualComponent.FIRE)); + crushingRitual.add(new RitualComponent(0, 0, -2, RitualComponent.FIRE)); + crushingRitual.add(new RitualComponent(2, 0, 2, RitualComponent.DUSK)); + crushingRitual.add(new RitualComponent(2, 0, -2, RitualComponent.DUSK)); + crushingRitual.add(new RitualComponent(-2, 0, 2, RitualComponent.DUSK)); + crushingRitual.add(new RitualComponent(-2, 0, -2, RitualComponent.DUSK)); + crushingRitual.add(new RitualComponent(2, 1, 0, RitualComponent.AIR)); + crushingRitual.add(new RitualComponent(-2, 1, 0, RitualComponent.AIR)); + crushingRitual.add(new RitualComponent(0, 1, 2, RitualComponent.AIR)); + crushingRitual.add(new RitualComponent(0, 1, -2, RitualComponent.AIR)); + return crushingRitual; + } } diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectExpulsion.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectExpulsion.java new file mode 100644 index 00000000..947d6a94 --- /dev/null +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectExpulsion.java @@ -0,0 +1,286 @@ +package WayofTime.alchemicalWizardry.common.rituals; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.Random; + +import net.minecraft.block.Block; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraft.server.MinecraftServer; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; +import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.event.entity.living.EnderTeleportEvent; +import WayofTime.alchemicalWizardry.AlchemicalWizardry; +import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; +import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; +import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; +import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; +import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; +import WayofTime.alchemicalWizardry.common.spell.simple.SpellTeleport; + +public class RitualEffectExpulsion extends RitualEffect +{ + @Override + public void performEffect(IMasterRitualStone ritualStone) + { + String owner = ritualStone.getOwner(); + World worldSave = MinecraftServer.getServer().worldServers[0]; + LifeEssenceNetwork data = (LifeEssenceNetwork) worldSave.loadItemData(LifeEssenceNetwork.class, owner); + + if (data == null) + { + data = new LifeEssenceNetwork(owner); + worldSave.setItemData(owner, data); + } + + int currentEssence = data.currentEssence; + World world = ritualStone.getWorld(); + int x = ritualStone.getXCoord(); + int y = ritualStone.getYCoord(); + int z = ritualStone.getZCoord(); + + if (currentEssence < this.getCostPerRefresh()) + { + EntityPlayer entityOwner = MinecraftServer.getServer().getConfigurationManager().getPlayerForUsername(owner); + + if (entityOwner == null) + { + return; + } + + entityOwner.addPotionEffect(new PotionEffect(Potion.confusion.id, 80)); + } else + { + int d0 = 25; + AxisAlignedBB axisalignedbb = AxisAlignedBB.getAABBPool().getAABB((double) x, (double) y, (double) z, (double) (x + 1), (double) (y + 1), (double) (z + 1)).expand(d0, d0, d0); + axisalignedbb.maxY = Math.min((double) world.getHeight(), (double) (y + 1 + d0)); + List list = world.getEntitiesWithinAABB(EntityPlayer.class, axisalignedbb); + Iterator iterator = list.iterator(); + EntityPlayer entityplayer; + boolean flag = false; + + while (iterator.hasNext()) + { + entityplayer = (EntityPlayer) iterator.next(); + + if (!(SpellHelper.getUsername(entityplayer).equals(owner))) + { + if(entityplayer.isPotionActive(AlchemicalWizardry.customPotionPlanarBinding)||entityplayer.capabilities.isCreativeMode) + { + continue; + } + + flag = teleportRandomly(entityplayer,100); + } + } + + if (flag) + { + data.currentEssence = currentEssence - this.getCostPerRefresh(); + data.markDirty(); + } + } + } + + @Override + public int getCostPerRefresh() + { + return 1000; + } + + public boolean teleportRandomly(EntityLivingBase entityLiving, double distance) + { + double x = entityLiving.posX; + double y = entityLiving.posY; + double z = entityLiving.posZ; + Random rand = new Random(); + double d0 = x + (rand.nextDouble() - 0.5D) * distance; + double d1 = y + (double) (rand.nextInt((int) distance) - (distance) / 2); + double d2 = z + (rand.nextDouble() - 0.5D) * distance; + int i = 0; + + while (!teleportTo(entityLiving, d0, d1, d2, x, y, z) && i < 100) + { + d0 = x + (rand.nextDouble() - 0.5D) * distance; + d1 = y + (double) (rand.nextInt((int) distance) - (distance) / 2); + d2 = z + (rand.nextDouble() - 0.5D) * distance; + i++; + } + + if (i >= 100) + { + return false; + } + + return true; + //return SpellTeleport.teleportTo(entityLiving, d0, d1, d2,x,y,z); + } + + public boolean teleportTo(EntityLivingBase entityLiving, double par1, double par3, double par5, double lastX, double lastY, double lastZ) + { + EnderTeleportEvent event = new EnderTeleportEvent(entityLiving, par1, par3, par5, 0); + + if (MinecraftForge.EVENT_BUS.post(event)) + { + return false; + } + + double d3 = lastX; + double d4 = lastY; + double d5 = lastZ; + SpellTeleport.moveEntityViaTeleport(entityLiving, event.targetX, event.targetY, event.targetZ); + boolean flag = false; + int i = MathHelper.floor_double(entityLiving.posX); + int j = MathHelper.floor_double(entityLiving.posY); + int k = MathHelper.floor_double(entityLiving.posZ); + int l; + + if (entityLiving.worldObj.blockExists(i, j, k)) + { + boolean flag1 = false; + + while (!flag1 && j > 0) + { + Block block = entityLiving.worldObj.getBlock(i, j - 1, k); + + if (block != null && block.getMaterial().blocksMovement()) + { + flag1 = true; + } else + { + --entityLiving.posY; + --j; + } + } + + if (flag1) + { + SpellTeleport.moveEntityViaTeleport(entityLiving, entityLiving.posX, entityLiving.posY, entityLiving.posZ); + + if (entityLiving.worldObj.getCollidingBoundingBoxes(entityLiving, entityLiving.boundingBox).isEmpty() && !entityLiving.worldObj.isAnyLiquid(entityLiving.boundingBox)) + { + flag = true; + } + } + } + + if (!flag) + { + SpellTeleport.moveEntityViaTeleport(entityLiving, d3, d4, d5); + return false; + } else + { + short short1 = 128; + + for (l = 0; l < short1; ++l) + { + double d6 = (double) l / ((double) short1 - 1.0D); + float f = (entityLiving.worldObj.rand.nextFloat() - 0.5F) * 0.2F; + float f1 = (entityLiving.worldObj.rand.nextFloat() - 0.5F) * 0.2F; + float f2 = (entityLiving.worldObj.rand.nextFloat() - 0.5F) * 0.2F; + double d7 = d3 + (entityLiving.posX - d3) * d6 + (entityLiving.worldObj.rand.nextDouble() - 0.5D) * (double) entityLiving.width * 2.0D; + double d8 = d4 + (entityLiving.posY - d4) * d6 + entityLiving.worldObj.rand.nextDouble() * (double) entityLiving.height; + double d9 = d5 + (entityLiving.posZ - d5) * d6 + (entityLiving.worldObj.rand.nextDouble() - 0.5D) * (double) entityLiving.width * 2.0D; + entityLiving.worldObj.spawnParticle("portal", d7, d8, d9, (double) f, (double) f1, (double) f2); + } + +// this.worldObj.playSoundEffect(d3, d4, d5, "mob.endermen.portal", 1.0F, 1.0F); +// this.playSound("mob.endermen.portal", 1.0F, 1.0F); + return true; + } + } + + public void moveEntityViaTeleport(EntityLivingBase entityLiving, double x, double y, double z) + { + if (entityLiving instanceof EntityPlayer) + { + if (entityLiving != null && entityLiving instanceof EntityPlayerMP) + { + EntityPlayerMP entityplayermp = (EntityPlayerMP) entityLiving; + + if (entityplayermp.worldObj == entityLiving.worldObj) + { + EnderTeleportEvent event = new EnderTeleportEvent(entityplayermp, x, y, z, 5.0F); + + if (!MinecraftForge.EVENT_BUS.post(event)) + { + if (entityLiving.isRiding()) + { + entityLiving.mountEntity((Entity) null); + } + + entityLiving.setPositionAndUpdate(event.targetX, event.targetY, event.targetZ); +// this.getThrower().fallDistance = 0.0F; +// this.getThrower().attackEntityFrom(DamageSource.fall, event.attackDamage); + } + } + } + } else if (entityLiving != null) + { + entityLiving.setPosition(x, y, z); + } + } + + @Override + public List getRitualComponentList() + { + ArrayList expulsionRitual = new ArrayList(); + expulsionRitual.add(new RitualComponent(2,0,2, RitualComponent.EARTH)); + expulsionRitual.add(new RitualComponent(2,0,1, RitualComponent.EARTH)); + expulsionRitual.add(new RitualComponent(1,0,2, RitualComponent.EARTH)); + expulsionRitual.add(new RitualComponent(2,0,-2, RitualComponent.EARTH)); + expulsionRitual.add(new RitualComponent(2,0,-1, RitualComponent.EARTH)); + expulsionRitual.add(new RitualComponent(-1,0,2, RitualComponent.EARTH)); + expulsionRitual.add(new RitualComponent(-2,0,2, RitualComponent.EARTH)); + expulsionRitual.add(new RitualComponent(-2,0,1, RitualComponent.EARTH)); + expulsionRitual.add(new RitualComponent(1,0,-2, RitualComponent.EARTH)); + expulsionRitual.add(new RitualComponent(-2,0,-2, RitualComponent.EARTH)); + expulsionRitual.add(new RitualComponent(-2,0,-1, RitualComponent.EARTH)); + expulsionRitual.add(new RitualComponent(-1,0,-2, RitualComponent.EARTH)); + expulsionRitual.add(new RitualComponent(4,0,2, RitualComponent.AIR)); + expulsionRitual.add(new RitualComponent(5,0,2, RitualComponent.AIR)); + expulsionRitual.add(new RitualComponent(4,0,-2, RitualComponent.AIR)); + expulsionRitual.add(new RitualComponent(5,0,-2, RitualComponent.AIR)); + expulsionRitual.add(new RitualComponent(-4,0,2, RitualComponent.AIR)); + expulsionRitual.add(new RitualComponent(-5,0,2, RitualComponent.AIR)); + expulsionRitual.add(new RitualComponent(-4,0,-2, RitualComponent.AIR)); + expulsionRitual.add(new RitualComponent(-5,0,-2, RitualComponent.AIR)); + expulsionRitual.add(new RitualComponent(2,0,4, RitualComponent.AIR)); + expulsionRitual.add(new RitualComponent(2,0,5, RitualComponent.AIR)); + expulsionRitual.add(new RitualComponent(-2,0,4, RitualComponent.AIR)); + expulsionRitual.add(new RitualComponent(-2,0,5, RitualComponent.AIR)); + expulsionRitual.add(new RitualComponent(2,0,-4, RitualComponent.AIR)); + expulsionRitual.add(new RitualComponent(2,0,-5, RitualComponent.AIR)); + expulsionRitual.add(new RitualComponent(-2,0,-4, RitualComponent.AIR)); + expulsionRitual.add(new RitualComponent(-2,0,-5, RitualComponent.AIR)); + expulsionRitual.add(new RitualComponent(0,0,6, RitualComponent.EARTH)); + expulsionRitual.add(new RitualComponent(0,0,-6, RitualComponent.EARTH)); + expulsionRitual.add(new RitualComponent(6,0,0, RitualComponent.EARTH)); + expulsionRitual.add(new RitualComponent(-6,0,0, RitualComponent.EARTH)); + expulsionRitual.add(new RitualComponent(-5,0,0, RitualComponent.DUSK)); + expulsionRitual.add(new RitualComponent(-6,0,1, RitualComponent.DUSK)); + expulsionRitual.add(new RitualComponent(-6,0,-1, RitualComponent.DUSK)); + expulsionRitual.add(new RitualComponent(5,0,0, RitualComponent.DUSK)); + expulsionRitual.add(new RitualComponent(6,0,1, RitualComponent.DUSK)); + expulsionRitual.add(new RitualComponent(6,0,-1, RitualComponent.DUSK)); + expulsionRitual.add(new RitualComponent(0,0,5, RitualComponent.DUSK)); + expulsionRitual.add(new RitualComponent(1,0,6, RitualComponent.DUSK)); + expulsionRitual.add(new RitualComponent(-1,0,6, RitualComponent.DUSK)); + expulsionRitual.add(new RitualComponent(0,0,-5, RitualComponent.DUSK)); + expulsionRitual.add(new RitualComponent(1,0,-6, RitualComponent.DUSK)); + expulsionRitual.add(new RitualComponent(-1,0,-6, RitualComponent.DUSK)); + expulsionRitual.add(new RitualComponent(4,0,4, RitualComponent.FIRE)); + expulsionRitual.add(new RitualComponent(4,0,-4, RitualComponent.FIRE)); + expulsionRitual.add(new RitualComponent(-4,0,4, RitualComponent.FIRE)); + expulsionRitual.add(new RitualComponent(-4,0,-4, RitualComponent.FIRE)); + return expulsionRitual; + } +} diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectFeatheredEarth.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectFeatheredEarth.java index 19c23d46..b9d466e6 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectFeatheredEarth.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectFeatheredEarth.java @@ -1,7 +1,8 @@ package WayofTime.alchemicalWizardry.common.rituals; -import WayofTime.alchemicalWizardry.common.LifeEssenceNetwork; -import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone; +import java.util.ArrayList; +import java.util.List; + import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.effect.EntityLightningBolt; import net.minecraft.entity.player.EntityPlayer; @@ -10,13 +11,15 @@ import net.minecraft.potion.PotionEffect; import net.minecraft.server.MinecraftServer; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; - -import java.util.List; +import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; +import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; +import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; +import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; public class RitualEffectFeatheredEarth extends RitualEffect //Nullifies all fall damage in the area of effect { @Override - public void performEffect(TEMasterStone ritualStone) + public void performEffect(IMasterRitualStone ritualStone) { String owner = ritualStone.getOwner(); World worldSave = MinecraftServer.getServer().worldServers[0]; @@ -29,10 +32,10 @@ public class RitualEffectFeatheredEarth extends RitualEffect //Nullifies all fal } int currentEssence = data.currentEssence; - World world = ritualStone.getWorldObj(); - int x = ritualStone.xCoord; - int y = ritualStone.yCoord; - int z = ritualStone.zCoord; + World world = ritualStone.getWorld(); + int x = ritualStone.getXCoord(); + int y = ritualStone.getYCoord(); + int z = ritualStone.getZCoord(); if (ritualStone.getCooldown() > 0) { @@ -87,4 +90,51 @@ public class RitualEffectFeatheredEarth extends RitualEffect //Nullifies all fal { return 1; } + + @Override + public List getRitualComponentList() + { + ArrayList featheredEarthRitual = new ArrayList(); + featheredEarthRitual.add(new RitualComponent(1, 0, 0, RitualComponent.DUSK)); + featheredEarthRitual.add(new RitualComponent(-1, 0, 0, RitualComponent.DUSK)); + featheredEarthRitual.add(new RitualComponent(0, 0, 1, RitualComponent.DUSK)); + featheredEarthRitual.add(new RitualComponent(0, 0, -1, RitualComponent.DUSK)); + featheredEarthRitual.add(new RitualComponent(2, 0, 2, RitualComponent.AIR)); + featheredEarthRitual.add(new RitualComponent(-2, 0, 2, RitualComponent.AIR)); + featheredEarthRitual.add(new RitualComponent(-2, 0, -2, RitualComponent.AIR)); + featheredEarthRitual.add(new RitualComponent(2, 0, -2, RitualComponent.AIR)); + featheredEarthRitual.add(new RitualComponent(1, 0, 3, RitualComponent.EARTH)); + featheredEarthRitual.add(new RitualComponent(0, 0, 3, RitualComponent.EARTH)); + featheredEarthRitual.add(new RitualComponent(-1, 0, 3, RitualComponent.EARTH)); + featheredEarthRitual.add(new RitualComponent(1, 0, -3, RitualComponent.EARTH)); + featheredEarthRitual.add(new RitualComponent(0, 0, -3, RitualComponent.EARTH)); + featheredEarthRitual.add(new RitualComponent(-1, 0, -3, RitualComponent.EARTH)); + featheredEarthRitual.add(new RitualComponent(3, 0, 1, RitualComponent.EARTH)); + featheredEarthRitual.add(new RitualComponent(3, 0, 0, RitualComponent.EARTH)); + featheredEarthRitual.add(new RitualComponent(3, 0, -1, RitualComponent.EARTH)); + featheredEarthRitual.add(new RitualComponent(-3, 0, 1, RitualComponent.EARTH)); + featheredEarthRitual.add(new RitualComponent(-3, 0, 0, RitualComponent.EARTH)); + featheredEarthRitual.add(new RitualComponent(-3, 0, -1, RitualComponent.EARTH)); + featheredEarthRitual.add(new RitualComponent(4, 4, 4, RitualComponent.FIRE)); + featheredEarthRitual.add(new RitualComponent(-4, 4, 4, RitualComponent.FIRE)); + featheredEarthRitual.add(new RitualComponent(-4, 4, -4, RitualComponent.FIRE)); + featheredEarthRitual.add(new RitualComponent(4, 4, -4, RitualComponent.FIRE)); + featheredEarthRitual.add(new RitualComponent(4, 5, 5, RitualComponent.AIR)); + featheredEarthRitual.add(new RitualComponent(4, 5, 3, RitualComponent.AIR)); + featheredEarthRitual.add(new RitualComponent(5, 5, 4, RitualComponent.AIR)); + featheredEarthRitual.add(new RitualComponent(3, 5, 4, RitualComponent.AIR)); + featheredEarthRitual.add(new RitualComponent(-4, 5, 5, RitualComponent.AIR)); + featheredEarthRitual.add(new RitualComponent(-4, 5, 3, RitualComponent.AIR)); + featheredEarthRitual.add(new RitualComponent(-5, 5, 4, RitualComponent.AIR)); + featheredEarthRitual.add(new RitualComponent(-3, 5, 4, RitualComponent.AIR)); + featheredEarthRitual.add(new RitualComponent(4, 5, -5, RitualComponent.AIR)); + featheredEarthRitual.add(new RitualComponent(4, 5, -3, RitualComponent.AIR)); + featheredEarthRitual.add(new RitualComponent(5, 5, -4, RitualComponent.AIR)); + featheredEarthRitual.add(new RitualComponent(3, 5, -4, RitualComponent.AIR)); + featheredEarthRitual.add(new RitualComponent(-4, 5, -5, RitualComponent.AIR)); + featheredEarthRitual.add(new RitualComponent(-4, 5, -3, RitualComponent.AIR)); + featheredEarthRitual.add(new RitualComponent(-5, 5, -4, RitualComponent.AIR)); + featheredEarthRitual.add(new RitualComponent(-3, 5, -4, RitualComponent.AIR)); + return featheredEarthRitual; + } } diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectFeatheredKnife.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectFeatheredKnife.java index 792ea2f9..85f505e3 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectFeatheredKnife.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectFeatheredKnife.java @@ -1,8 +1,9 @@ package WayofTime.alchemicalWizardry.common.rituals; -import WayofTime.alchemicalWizardry.common.LifeEssenceNetwork; -import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar; -import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.potion.Potion; @@ -10,9 +11,11 @@ import net.minecraft.potion.PotionEffect; import net.minecraft.server.MinecraftServer; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; - -import java.util.Iterator; -import java.util.List; +import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; +import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; +import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; +import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; +import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar; public class RitualEffectFeatheredKnife extends RitualEffect { @@ -20,7 +23,7 @@ public class RitualEffectFeatheredKnife extends RitualEffect public final int amount = 100; @Override - public void performEffect(TEMasterStone ritualStone) + public void performEffect(IMasterRitualStone ritualStone) { String owner = ritualStone.getOwner(); World worldSave = MinecraftServer.getServer().worldServers[0]; @@ -33,10 +36,10 @@ public class RitualEffectFeatheredKnife extends RitualEffect } int currentEssence = data.currentEssence; - World world = ritualStone.getWorldObj(); - int x = ritualStone.xCoord; - int y = ritualStone.yCoord; - int z = ritualStone.zCoord; + World world = ritualStone.getWorld(); + int x = ritualStone.getXCoord(); + int y = ritualStone.getYCoord(); + int z = ritualStone.getZCoord(); if (world.getWorldTime() % this.timeDelay != 0) { @@ -138,4 +141,51 @@ public class RitualEffectFeatheredKnife extends RitualEffect // TODO Auto-generated method stub return 20; } + + @Override + public List getRitualComponentList() + { + ArrayList featheredKnifeRitual = new ArrayList(); + featheredKnifeRitual.add(new RitualComponent(1, 0, 0, RitualComponent.DUSK)); + featheredKnifeRitual.add(new RitualComponent(-1, 0, 0, RitualComponent.DUSK)); + featheredKnifeRitual.add(new RitualComponent(0, 0, 1, RitualComponent.DUSK)); + featheredKnifeRitual.add(new RitualComponent(0, 0, -1, RitualComponent.DUSK)); + featheredKnifeRitual.add(new RitualComponent(2, -1, 0, RitualComponent.WATER)); + featheredKnifeRitual.add(new RitualComponent(-2, -1, 0, RitualComponent.WATER)); + featheredKnifeRitual.add(new RitualComponent(0, -1, 2, RitualComponent.WATER)); + featheredKnifeRitual.add(new RitualComponent(0, -1, -2, RitualComponent.WATER)); + featheredKnifeRitual.add(new RitualComponent(1, -1, 1, RitualComponent.AIR)); + featheredKnifeRitual.add(new RitualComponent(1, -1, -1, RitualComponent.AIR)); + featheredKnifeRitual.add(new RitualComponent(-1, -1, 1, RitualComponent.AIR)); + featheredKnifeRitual.add(new RitualComponent(-1, -1, -1, RitualComponent.AIR)); + featheredKnifeRitual.add(new RitualComponent(4, -1, 2, RitualComponent.FIRE)); + featheredKnifeRitual.add(new RitualComponent(2, -1, 4, RitualComponent.FIRE)); + featheredKnifeRitual.add(new RitualComponent(-4, -1, 2, RitualComponent.FIRE)); + featheredKnifeRitual.add(new RitualComponent(2, -1, -4, RitualComponent.FIRE)); + featheredKnifeRitual.add(new RitualComponent(4, -1, -2, RitualComponent.FIRE)); + featheredKnifeRitual.add(new RitualComponent(-2, -1, 4, RitualComponent.FIRE)); + featheredKnifeRitual.add(new RitualComponent(-4, -1, -2, RitualComponent.FIRE)); + featheredKnifeRitual.add(new RitualComponent(-2, -1, -4, RitualComponent.FIRE)); + featheredKnifeRitual.add(new RitualComponent(4, 0, 2, RitualComponent.EARTH)); + featheredKnifeRitual.add(new RitualComponent(2, 0, 4, RitualComponent.EARTH)); + featheredKnifeRitual.add(new RitualComponent(-4, 0, 2, RitualComponent.EARTH)); + featheredKnifeRitual.add(new RitualComponent(2, 0, -4, RitualComponent.EARTH)); + featheredKnifeRitual.add(new RitualComponent(4, 0, -2, RitualComponent.EARTH)); + featheredKnifeRitual.add(new RitualComponent(-2, 0, 4, RitualComponent.EARTH)); + featheredKnifeRitual.add(new RitualComponent(-4, 0, -2, RitualComponent.EARTH)); + featheredKnifeRitual.add(new RitualComponent(-2, 0, -4, RitualComponent.EARTH)); + featheredKnifeRitual.add(new RitualComponent(4, 0, 3, RitualComponent.EARTH)); + featheredKnifeRitual.add(new RitualComponent(3, 0, 4, RitualComponent.EARTH)); + featheredKnifeRitual.add(new RitualComponent(-4, 0, 3, RitualComponent.EARTH)); + featheredKnifeRitual.add(new RitualComponent(3, 0, -4, RitualComponent.EARTH)); + featheredKnifeRitual.add(new RitualComponent(4, 0, -3, RitualComponent.EARTH)); + featheredKnifeRitual.add(new RitualComponent(-3, 0, 4, RitualComponent.EARTH)); + featheredKnifeRitual.add(new RitualComponent(-4, 0, -3, RitualComponent.EARTH)); + featheredKnifeRitual.add(new RitualComponent(-3, 0, -4, RitualComponent.EARTH)); + featheredKnifeRitual.add(new RitualComponent(3, 0, 3, RitualComponent.AIR)); + featheredKnifeRitual.add(new RitualComponent(3, 0, -3, RitualComponent.AIR)); + featheredKnifeRitual.add(new RitualComponent(-3, 0, 3, RitualComponent.AIR)); + featheredKnifeRitual.add(new RitualComponent(-3, 0, -3, RitualComponent.AIR)); + return featheredKnifeRitual; + } } diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectFlight.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectFlight.java index 5f2af95f..0dba9fcb 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectFlight.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectFlight.java @@ -1,21 +1,24 @@ package WayofTime.alchemicalWizardry.common.rituals; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.LifeEssenceNetwork; -import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone; +import java.util.ArrayList; +import java.util.List; + import net.minecraft.entity.player.EntityPlayer; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; import net.minecraft.server.MinecraftServer; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; - -import java.util.List; +import WayofTime.alchemicalWizardry.AlchemicalWizardry; +import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; +import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; +import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; +import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; public class RitualEffectFlight extends RitualEffect { @Override - public void performEffect(TEMasterStone ritualStone) + public void performEffect(IMasterRitualStone ritualStone) { String owner = ritualStone.getOwner(); World worldSave = MinecraftServer.getServer().worldServers[0]; @@ -28,10 +31,10 @@ public class RitualEffectFlight extends RitualEffect } int currentEssence = data.currentEssence; - World world = ritualStone.getWorldObj(); - int x = ritualStone.xCoord; - int y = ritualStone.yCoord; - int z = ritualStone.zCoord; + World world = ritualStone.getWorld(); + int x = ritualStone.getXCoord(); + int y = ritualStone.getYCoord(); + int z = ritualStone.getZCoord(); if (ritualStone.getCooldown() > 0) { @@ -85,4 +88,92 @@ public class RitualEffectFlight extends RitualEffect { return 1; } + + @Override + public List getRitualComponentList() + { + ArrayList flightRitual = new ArrayList(); + flightRitual.add(new RitualComponent(1, 0, 0, RitualComponent.DUSK)); + flightRitual.add(new RitualComponent(-1, 0, 0, RitualComponent.DUSK)); + flightRitual.add(new RitualComponent(0, 0, 1, RitualComponent.DUSK)); + flightRitual.add(new RitualComponent(0, 0, -1, RitualComponent.DUSK)); + flightRitual.add(new RitualComponent(2, 0, 2, RitualComponent.AIR)); + flightRitual.add(new RitualComponent(-2, 0, 2, RitualComponent.AIR)); + flightRitual.add(new RitualComponent(-2, 0, -2, RitualComponent.AIR)); + flightRitual.add(new RitualComponent(2, 0, -2, RitualComponent.AIR)); + flightRitual.add(new RitualComponent(1, 0, 3, RitualComponent.EARTH)); + flightRitual.add(new RitualComponent(0, 0, 3, RitualComponent.EARTH)); + flightRitual.add(new RitualComponent(-1, 0, 3, RitualComponent.EARTH)); + flightRitual.add(new RitualComponent(1, 0, -3, RitualComponent.EARTH)); + flightRitual.add(new RitualComponent(0, 0, -3, RitualComponent.EARTH)); + flightRitual.add(new RitualComponent(-1, 0, -3, RitualComponent.EARTH)); + flightRitual.add(new RitualComponent(3, 0, 1, RitualComponent.EARTH)); + flightRitual.add(new RitualComponent(3, 0, 0, RitualComponent.EARTH)); + flightRitual.add(new RitualComponent(3, 0, -1, RitualComponent.EARTH)); + flightRitual.add(new RitualComponent(-3, 0, 1, RitualComponent.EARTH)); + flightRitual.add(new RitualComponent(-3, 0, 0, RitualComponent.EARTH)); + flightRitual.add(new RitualComponent(-3, 0, -1, RitualComponent.EARTH)); + flightRitual.add(new RitualComponent(-3, 0, -4, RitualComponent.WATER)); + flightRitual.add(new RitualComponent(-4, 0, -3, RitualComponent.WATER)); + flightRitual.add(new RitualComponent(-3, 0, 4, RitualComponent.WATER)); + flightRitual.add(new RitualComponent(4, 0, -3, RitualComponent.WATER)); + flightRitual.add(new RitualComponent(3, 0, -4, RitualComponent.WATER)); + flightRitual.add(new RitualComponent(-4, 0, 3, RitualComponent.WATER)); + flightRitual.add(new RitualComponent(3, 0, 4, RitualComponent.WATER)); + flightRitual.add(new RitualComponent(4, 0, 3, RitualComponent.WATER)); + flightRitual.add(new RitualComponent(-1, 1, 0, RitualComponent.FIRE)); + flightRitual.add(new RitualComponent(1, 1, 0, RitualComponent.FIRE)); + flightRitual.add(new RitualComponent(0, 1, -1, RitualComponent.FIRE)); + flightRitual.add(new RitualComponent(0, 1, 1, RitualComponent.FIRE)); + flightRitual.add(new RitualComponent(-2, 1, 0, RitualComponent.BLANK)); + flightRitual.add(new RitualComponent(2, 1, 0, RitualComponent.BLANK)); + flightRitual.add(new RitualComponent(0, 1, -2, RitualComponent.BLANK)); + flightRitual.add(new RitualComponent(0, 1, 2, RitualComponent.BLANK)); + flightRitual.add(new RitualComponent(-4, 1, 0, RitualComponent.BLANK)); + flightRitual.add(new RitualComponent(4, 1, 0, RitualComponent.BLANK)); + flightRitual.add(new RitualComponent(0, 1, -4, RitualComponent.BLANK)); + flightRitual.add(new RitualComponent(0, 1, 4, RitualComponent.BLANK)); + flightRitual.add(new RitualComponent(-5, 1, 0, RitualComponent.AIR)); + flightRitual.add(new RitualComponent(5, 1, 0, RitualComponent.AIR)); + flightRitual.add(new RitualComponent(0, 1, -5, RitualComponent.AIR)); + flightRitual.add(new RitualComponent(0, 1, 5, RitualComponent.AIR)); + flightRitual.add(new RitualComponent(5, 0, 0, RitualComponent.DUSK)); + flightRitual.add(new RitualComponent(-5, 0, 0, RitualComponent.DUSK)); + flightRitual.add(new RitualComponent(0, 0, 5, RitualComponent.DUSK)); + flightRitual.add(new RitualComponent(0, 0, -5, RitualComponent.DUSK)); + + for (int i = 2; i <= 4; i++) + { + flightRitual.add(new RitualComponent(-i, 2, 0, RitualComponent.EARTH)); + flightRitual.add(new RitualComponent(i, 2, 0, RitualComponent.EARTH)); + flightRitual.add(new RitualComponent(0, 2, -i, RitualComponent.EARTH)); + flightRitual.add(new RitualComponent(0, 2, i, RitualComponent.EARTH)); + } + + flightRitual.add(new RitualComponent(2, 4, 1, RitualComponent.FIRE)); + flightRitual.add(new RitualComponent(1, 4, 2, RitualComponent.FIRE)); + flightRitual.add(new RitualComponent(-2, 4, 1, RitualComponent.FIRE)); + flightRitual.add(new RitualComponent(1, 4, -2, RitualComponent.FIRE)); + flightRitual.add(new RitualComponent(2, 4, -1, RitualComponent.FIRE)); + flightRitual.add(new RitualComponent(-1, 4, 2, RitualComponent.FIRE)); + flightRitual.add(new RitualComponent(-2, 4, -1, RitualComponent.FIRE)); + flightRitual.add(new RitualComponent(-1, 4, -2, RitualComponent.FIRE)); + flightRitual.add(new RitualComponent(2, 4, 2, RitualComponent.AIR)); + flightRitual.add(new RitualComponent(-2, 4, 2, RitualComponent.AIR)); + flightRitual.add(new RitualComponent(2, 4, -2, RitualComponent.AIR)); + flightRitual.add(new RitualComponent(-2, 4, -2, RitualComponent.AIR)); + flightRitual.add(new RitualComponent(-4, 2, -4, RitualComponent.FIRE)); + flightRitual.add(new RitualComponent(4, 2, 4, RitualComponent.FIRE)); + flightRitual.add(new RitualComponent(4, 2, -4, RitualComponent.FIRE)); + flightRitual.add(new RitualComponent(-4, 2, 4, RitualComponent.FIRE)); + + for (int i = -1; i <= 1; i++) + { + flightRitual.add(new RitualComponent(3, 4, i, RitualComponent.EARTH)); + flightRitual.add(new RitualComponent(-3, 4, i, RitualComponent.EARTH)); + flightRitual.add(new RitualComponent(i, 4, 3, RitualComponent.EARTH)); + flightRitual.add(new RitualComponent(i, 4, -3, RitualComponent.EARTH)); + } + return flightRitual; + } } diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectGrowth.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectGrowth.java index 29eccf22..17d4672c 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectGrowth.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectGrowth.java @@ -1,5 +1,8 @@ package WayofTime.alchemicalWizardry.common.rituals; +import java.util.ArrayList; +import java.util.List; + import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.potion.Potion; @@ -7,14 +10,16 @@ import net.minecraft.potion.PotionEffect; import net.minecraft.server.MinecraftServer; import net.minecraft.world.World; import net.minecraftforge.common.IPlantable; -import WayofTime.alchemicalWizardry.common.LifeEssenceNetwork; +import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; +import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; +import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; +import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; -import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone; public class RitualEffectGrowth extends RitualEffect { @Override - public void performEffect(TEMasterStone ritualStone) + public void performEffect(IMasterRitualStone ritualStone) { String owner = ritualStone.getOwner(); World worldSave = MinecraftServer.getServer().worldServers[0]; @@ -27,10 +32,10 @@ public class RitualEffectGrowth extends RitualEffect } int currentEssence = data.currentEssence; - World world = ritualStone.getWorldObj(); - int x = ritualStone.xCoord; - int y = ritualStone.yCoord; - int z = ritualStone.zCoord; + World world = ritualStone.getWorld(); + int x = ritualStone.getXCoord(); + int y = ritualStone.getYCoord(); + int z = ritualStone.getZCoord(); if (currentEssence < this.getCostPerRefresh()) { @@ -81,4 +86,19 @@ public class RitualEffectGrowth extends RitualEffect { return 100; } + + @Override + public List getRitualComponentList() + { + ArrayList growthRitual = new ArrayList(); + growthRitual.add(new RitualComponent(1, 0, 0, 1)); + growthRitual.add(new RitualComponent(-1, 0, 0, 1)); + growthRitual.add(new RitualComponent(0, 0, 1, 1)); + growthRitual.add(new RitualComponent(0, 0, -1, 1)); + growthRitual.add(new RitualComponent(-1, 0, 1, 3)); + growthRitual.add(new RitualComponent(1, 0, 1, 3)); + growthRitual.add(new RitualComponent(-1, 0, -1, 3)); + growthRitual.add(new RitualComponent(1, 0, -1, 3)); + return growthRitual; + } } diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectHealing.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectHealing.java index 5cc4afd1..1e4bec32 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectHealing.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectHealing.java @@ -1,7 +1,9 @@ package WayofTime.alchemicalWizardry.common.rituals; -import WayofTime.alchemicalWizardry.common.LifeEssenceNetwork; -import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.potion.Potion; @@ -9,9 +11,10 @@ import net.minecraft.potion.PotionEffect; import net.minecraft.server.MinecraftServer; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; - -import java.util.Iterator; -import java.util.List; +import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; +import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; +import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; +import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; public class RitualEffectHealing extends RitualEffect { @@ -19,7 +22,7 @@ public class RitualEffectHealing extends RitualEffect //public final int amount = 10; @Override - public void performEffect(TEMasterStone ritualStone) + public void performEffect(IMasterRitualStone ritualStone) { String owner = ritualStone.getOwner(); World worldSave = MinecraftServer.getServer().worldServers[0]; @@ -32,10 +35,10 @@ public class RitualEffectHealing extends RitualEffect } int currentEssence = data.currentEssence; - World world = ritualStone.getWorldObj(); - int x = ritualStone.xCoord; - int y = ritualStone.yCoord; - int z = ritualStone.zCoord; + World world = ritualStone.getWorld(); + int x = ritualStone.getXCoord(); + int y = ritualStone.getYCoord(); + int z = ritualStone.getZCoord(); if (world.getWorldTime() % this.timeDelay != 0) { @@ -123,4 +126,55 @@ public class RitualEffectHealing extends RitualEffect // TODO Auto-generated method stub return 20; } + + @Override + public List getRitualComponentList() + { + ArrayList healingRitual = new ArrayList(); + healingRitual.add(new RitualComponent(4, 0, 0, RitualComponent.AIR)); + healingRitual.add(new RitualComponent(5, 0, -1, RitualComponent.AIR)); + healingRitual.add(new RitualComponent(5, 0, 1, RitualComponent.AIR)); + healingRitual.add(new RitualComponent(-4, 0, 0, RitualComponent.AIR)); + healingRitual.add(new RitualComponent(-5, 0, -1, RitualComponent.AIR)); + healingRitual.add(new RitualComponent(-5, 0, 1, RitualComponent.AIR)); + healingRitual.add(new RitualComponent(0, 0, 4, RitualComponent.FIRE)); + healingRitual.add(new RitualComponent(-1, 0, 5, RitualComponent.FIRE)); + healingRitual.add(new RitualComponent(1, 0, 5, RitualComponent.FIRE)); + healingRitual.add(new RitualComponent(0, 0, -4, RitualComponent.FIRE)); + healingRitual.add(new RitualComponent(-1, 0, -5, RitualComponent.FIRE)); + healingRitual.add(new RitualComponent(1, 0, -5, RitualComponent.FIRE)); + healingRitual.add(new RitualComponent(3, 0, 5, RitualComponent.WATER)); + healingRitual.add(new RitualComponent(5, 0, 3, RitualComponent.WATER)); + healingRitual.add(new RitualComponent(3, 0, -5, RitualComponent.WATER)); + healingRitual.add(new RitualComponent(5, 0, -3, RitualComponent.WATER)); + healingRitual.add(new RitualComponent(-3, 0, 5, RitualComponent.WATER)); + healingRitual.add(new RitualComponent(-5, 0, 3, RitualComponent.WATER)); + healingRitual.add(new RitualComponent(-3, 0, -5, RitualComponent.WATER)); + healingRitual.add(new RitualComponent(-5, 0, -3, RitualComponent.WATER)); + healingRitual.add(new RitualComponent(-3, 0, -3, RitualComponent.DUSK)); + healingRitual.add(new RitualComponent(-3, 0, 3, RitualComponent.DUSK)); + healingRitual.add(new RitualComponent(3, 0, -3, RitualComponent.DUSK)); + healingRitual.add(new RitualComponent(3, 0, 3, RitualComponent.DUSK)); + healingRitual.add(new RitualComponent(4, 0, 5, RitualComponent.EARTH)); + healingRitual.add(new RitualComponent(4, -1, 5, RitualComponent.EARTH)); + healingRitual.add(new RitualComponent(5, 0, 4, RitualComponent.EARTH)); + healingRitual.add(new RitualComponent(5, -1, 4, RitualComponent.EARTH)); + healingRitual.add(new RitualComponent(5, 0, 5, RitualComponent.EARTH)); + healingRitual.add(new RitualComponent(4, 0, -5, RitualComponent.EARTH)); + healingRitual.add(new RitualComponent(4, -1, -5, RitualComponent.EARTH)); + healingRitual.add(new RitualComponent(5, 0, -4, RitualComponent.EARTH)); + healingRitual.add(new RitualComponent(5, -1, -4, RitualComponent.EARTH)); + healingRitual.add(new RitualComponent(5, 0, -5, RitualComponent.EARTH)); + healingRitual.add(new RitualComponent(-4, 0, 5, RitualComponent.EARTH)); + healingRitual.add(new RitualComponent(-4, -1, 5, RitualComponent.EARTH)); + healingRitual.add(new RitualComponent(-5, 0, 4, RitualComponent.EARTH)); + healingRitual.add(new RitualComponent(-5, -1, 4, RitualComponent.EARTH)); + healingRitual.add(new RitualComponent(-5, 0, 5, RitualComponent.EARTH)); + healingRitual.add(new RitualComponent(-4, 0, -5, RitualComponent.EARTH)); + healingRitual.add(new RitualComponent(-4, -1, -5, RitualComponent.EARTH)); + healingRitual.add(new RitualComponent(-5, 0, -4, RitualComponent.EARTH)); + healingRitual.add(new RitualComponent(-5, -1, -4, RitualComponent.EARTH)); + healingRitual.add(new RitualComponent(-5, 0, -5, RitualComponent.EARTH)); + return healingRitual; + } } diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectInterdiction.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectInterdiction.java index 407db900..9ddce8ca 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectInterdiction.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectInterdiction.java @@ -1,8 +1,9 @@ package WayofTime.alchemicalWizardry.common.rituals; -import WayofTime.alchemicalWizardry.common.LifeEssenceNetwork; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; -import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.potion.Potion; @@ -10,14 +11,16 @@ import net.minecraft.potion.PotionEffect; import net.minecraft.server.MinecraftServer; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; - -import java.util.Iterator; -import java.util.List; +import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; +import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; +import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; +import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; +import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; public class RitualEffectInterdiction extends RitualEffect { @Override - public void performEffect(TEMasterStone ritualStone) + public void performEffect(IMasterRitualStone ritualStone) { String owner = ritualStone.getOwner(); World worldSave = MinecraftServer.getServer().worldServers[0]; @@ -30,10 +33,10 @@ public class RitualEffectInterdiction extends RitualEffect } int currentEssence = data.currentEssence; - World world = ritualStone.getWorldObj(); - int x = ritualStone.xCoord; - int y = ritualStone.yCoord; - int z = ritualStone.zCoord; + World world = ritualStone.getWorld(); + int x = ritualStone.getXCoord(); + int y = ritualStone.getYCoord(); + int z = ritualStone.getZCoord(); if (currentEssence < this.getCostPerRefresh()) { @@ -91,4 +94,19 @@ public class RitualEffectInterdiction extends RitualEffect { return 1; } + + @Override + public List getRitualComponentList() + { + ArrayList interdictionRitual = new ArrayList(); + interdictionRitual.add(new RitualComponent(1, 0, 0, 4)); + interdictionRitual.add(new RitualComponent(-1, 0, 0, 4)); + interdictionRitual.add(new RitualComponent(0, 0, 1, 4)); + interdictionRitual.add(new RitualComponent(0, 0, -1, 4)); + interdictionRitual.add(new RitualComponent(-1, 0, 1, 4)); + interdictionRitual.add(new RitualComponent(1, 0, 1, 4)); + interdictionRitual.add(new RitualComponent(-1, 0, -1, 4)); + interdictionRitual.add(new RitualComponent(1, 0, -1, 4)); + return interdictionRitual; + } } diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectJumping.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectJumping.java index 68e14b3e..044de29e 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectJumping.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectJumping.java @@ -1,7 +1,6 @@ package WayofTime.alchemicalWizardry.common.rituals; -import ibxm.Player; - +import java.util.ArrayList; import java.util.Iterator; import java.util.List; @@ -12,15 +11,16 @@ import net.minecraft.potion.PotionEffect; import net.minecraft.server.MinecraftServer; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.common.LifeEssenceNetwork; -import WayofTime.alchemicalWizardry.common.PacketHandler; +import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; +import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; +import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; +import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; -import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone; public class RitualEffectJumping extends RitualEffect { @Override - public void performEffect(TEMasterStone ritualStone) + public void performEffect(IMasterRitualStone ritualStone) { String owner = ritualStone.getOwner(); World worldSave = MinecraftServer.getServer().worldServers[0]; @@ -33,10 +33,10 @@ public class RitualEffectJumping extends RitualEffect } int currentEssence = data.currentEssence; - World world = ritualStone.getWorldObj(); - int x = ritualStone.xCoord; - int y = ritualStone.yCoord; - int z = ritualStone.zCoord; + World world = ritualStone.getWorld(); + int x = ritualStone.getXCoord(); + int y = ritualStone.getYCoord(); + int z = ritualStone.getZCoord(); if (currentEssence < this.getCostPerRefresh()) { @@ -96,4 +96,19 @@ public class RitualEffectJumping extends RitualEffect { return 5; } + + @Override + public List getRitualComponentList() + { + ArrayList jumpingRitual = new ArrayList(); + + for (int i = -1; i <= 1; i++) + { + jumpingRitual.add(new RitualComponent(1, i, 1, RitualComponent.AIR)); + jumpingRitual.add(new RitualComponent(-1, i, 1, RitualComponent.AIR)); + jumpingRitual.add(new RitualComponent(-1, i, -1, RitualComponent.AIR)); + jumpingRitual.add(new RitualComponent(1, i, -1, RitualComponent.AIR)); + } + return jumpingRitual; + } } diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectLava.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectLava.java index 5be932a5..498291bf 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectLava.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectLava.java @@ -1,20 +1,26 @@ package WayofTime.alchemicalWizardry.common.rituals; +import java.util.ArrayList; +import java.util.List; + +import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; import net.minecraft.server.MinecraftServer; import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.common.LifeEssenceNetwork; +import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; +import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; +import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; +import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; +import WayofTime.alchemicalWizardry.common.block.BlockSpectralContainer; import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; -import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar; -import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone; public class RitualEffectLava extends RitualEffect { @Override - public void performEffect(TEMasterStone ritualStone) + public void performEffect(IMasterRitualStone ritualStone) { String owner = ritualStone.getOwner(); World worldSave = MinecraftServer.getServer().worldServers[0]; @@ -27,12 +33,14 @@ public class RitualEffectLava extends RitualEffect } int currentEssence = data.currentEssence; - World world = ritualStone.getWorldObj(); - int x = ritualStone.xCoord; - int y = ritualStone.yCoord; - int z = ritualStone.zCoord; + World world = ritualStone.getWorld(); + int x = ritualStone.getXCoord(); + int y = ritualStone.getYCoord(); + int z = ritualStone.getZCoord(); - if (world.isAirBlock(x, y + 1, z)) + Block block = world.getBlock(x, y + 1, z); + + if (world.isAirBlock(x, y + 1, z) && !(block instanceof BlockSpectralContainer)) { if (currentEssence < this.getCostPerRefresh()) { @@ -64,4 +72,15 @@ public class RitualEffectLava extends RitualEffect // TODO Auto-generated method stub return 500; } + + @Override + public List getRitualComponentList() + { + ArrayList lavaRitual = new ArrayList(); + lavaRitual.add(new RitualComponent(1, 0, 0, 2)); + lavaRitual.add(new RitualComponent(-1, 0, 0, 2)); + lavaRitual.add(new RitualComponent(0, 0, 1, 2)); + lavaRitual.add(new RitualComponent(0, 0, -1, 2)); + return lavaRitual; + } } diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectLeap.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectLeap.java index 3798c560..3e8c939b 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectLeap.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectLeap.java @@ -1,5 +1,6 @@ package WayofTime.alchemicalWizardry.common.rituals; +import java.util.ArrayList; import java.util.Iterator; import java.util.List; @@ -10,14 +11,16 @@ import net.minecraft.potion.PotionEffect; import net.minecraft.server.MinecraftServer; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.common.LifeEssenceNetwork; +import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; +import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; +import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; +import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; -import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone; public class RitualEffectLeap extends RitualEffect { @Override - public void performEffect(TEMasterStone ritualStone) + public void performEffect(IMasterRitualStone ritualStone) { String owner = ritualStone.getOwner(); World worldSave = MinecraftServer.getServer().worldServers[0]; @@ -30,10 +33,10 @@ public class RitualEffectLeap extends RitualEffect } int currentEssence = data.currentEssence; - World world = ritualStone.getWorldObj(); - int x = ritualStone.xCoord; - int y = ritualStone.yCoord; - int z = ritualStone.zCoord; + World world = ritualStone.getWorld(); + int x = ritualStone.getXCoord(); + int y = ritualStone.getYCoord(); + int z = ritualStone.getZCoord(); if (currentEssence < this.getCostPerRefresh()) { @@ -136,4 +139,20 @@ public class RitualEffectLeap extends RitualEffect { return 5; } + + @Override + public List getRitualComponentList() + { + ArrayList leapingRitual = new ArrayList(); + leapingRitual.add(new RitualComponent(0, 0, -2, RitualComponent.DUSK)); + leapingRitual.add(new RitualComponent(1, 0, -1, RitualComponent.AIR)); + leapingRitual.add(new RitualComponent(-1, 0, -1, RitualComponent.AIR)); + + for (int i = 0; i <= 2; i++) + { + leapingRitual.add(new RitualComponent(2, 0, i, RitualComponent.AIR)); + leapingRitual.add(new RitualComponent(-2, 0, i, RitualComponent.AIR)); + } + return leapingRitual; + } } diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectMagnetic.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectMagnetic.java index c137b655..0fcc6a22 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectMagnetic.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectMagnetic.java @@ -1,8 +1,8 @@ package WayofTime.alchemicalWizardry.common.rituals; -import WayofTime.alchemicalWizardry.common.LifeEssenceNetwork; -import WayofTime.alchemicalWizardry.common.block.BlockTeleposer; -import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone; +import java.util.ArrayList; +import java.util.List; + import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -11,11 +11,16 @@ import net.minecraft.potion.PotionEffect; import net.minecraft.server.MinecraftServer; import net.minecraft.world.World; import net.minecraftforge.oredict.OreDictionary; +import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; +import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; +import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; +import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; +import WayofTime.alchemicalWizardry.common.block.BlockTeleposer; public class RitualEffectMagnetic extends RitualEffect { @Override - public void performEffect(TEMasterStone ritualStone) + public void performEffect(IMasterRitualStone ritualStone) { String owner = ritualStone.getOwner(); World worldSave = MinecraftServer.getServer().worldServers[0]; @@ -28,10 +33,10 @@ public class RitualEffectMagnetic extends RitualEffect } int currentEssence = data.currentEssence; - World world = ritualStone.getWorldObj(); - int x = ritualStone.xCoord; - int y = ritualStone.yCoord; - int z = ritualStone.zCoord; + World world = ritualStone.getWorld(); + int x = ritualStone.getXCoord(); + int y = ritualStone.getYCoord(); + int z = ritualStone.getZCoord(); if (world.getWorldTime() % 40 != 0) { @@ -118,4 +123,27 @@ public class RitualEffectMagnetic extends RitualEffect { return 50; } + + @Override + public List getRitualComponentList() + { + ArrayList magneticRitual = new ArrayList(); + magneticRitual.add(new RitualComponent(1, 0, 1, RitualComponent.EARTH)); + magneticRitual.add(new RitualComponent(1, 0, -1, RitualComponent.EARTH)); + magneticRitual.add(new RitualComponent(-1, 0, 1, RitualComponent.EARTH)); + magneticRitual.add(new RitualComponent(-1, 0, -1, RitualComponent.EARTH)); + magneticRitual.add(new RitualComponent(2, 1, 0, RitualComponent.EARTH)); + magneticRitual.add(new RitualComponent(0, 1, 2, RitualComponent.EARTH)); + magneticRitual.add(new RitualComponent(-2, 1, 0, RitualComponent.EARTH)); + magneticRitual.add(new RitualComponent(0, 1, -2, RitualComponent.EARTH)); + magneticRitual.add(new RitualComponent(2, 1, 2, RitualComponent.AIR)); + magneticRitual.add(new RitualComponent(2, 1, -2, RitualComponent.AIR)); + magneticRitual.add(new RitualComponent(-2, 1, 2, RitualComponent.AIR)); + magneticRitual.add(new RitualComponent(-2, 1, -2, RitualComponent.AIR)); + magneticRitual.add(new RitualComponent(2, 2, 0, RitualComponent.FIRE)); + magneticRitual.add(new RitualComponent(0, 2, 2, RitualComponent.FIRE)); + magneticRitual.add(new RitualComponent(-2, 2, 0, RitualComponent.FIRE)); + magneticRitual.add(new RitualComponent(0, 2, -2, RitualComponent.FIRE)); + return magneticRitual; + } } diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectSoulBound.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectSoulBound.java index 7c93c470..3b349fed 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectSoulBound.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectSoulBound.java @@ -1,12 +1,12 @@ package WayofTime.alchemicalWizardry.common.rituals; +import java.util.ArrayList; import java.util.Iterator; import java.util.List; import net.minecraft.entity.effect.EntityLightningBolt; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.potion.Potion; @@ -14,17 +14,17 @@ import net.minecraft.potion.PotionEffect; import net.minecraft.server.MinecraftServer; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.ModItems; -import WayofTime.alchemicalWizardry.common.LifeEssenceNetwork; +import WayofTime.alchemicalWizardry.api.bindingRegistry.BindingRegistry; +import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; +import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; +import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; +import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; -import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar; -import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone; public class RitualEffectSoulBound extends RitualEffect { @Override - public void performEffect(TEMasterStone ritualStone) + public void performEffect(IMasterRitualStone ritualStone) { String owner = ritualStone.getOwner(); World worldSave = MinecraftServer.getServer().worldServers[0]; @@ -37,10 +37,10 @@ public class RitualEffectSoulBound extends RitualEffect } int currentEssence = data.currentEssence; - World world = ritualStone.getWorldObj(); - int x = ritualStone.xCoord; - int y = ritualStone.yCoord; - int z = ritualStone.zCoord; + World world = ritualStone.getWorld(); + int x = ritualStone.getXCoord(); + int y = ritualStone.getYCoord(); + int z = ritualStone.getZCoord(); if (currentEssence < this.getCostPerRefresh()) { @@ -75,58 +75,16 @@ public class RitualEffectSoulBound extends RitualEffect continue; } - ItemStack itemGoggles = null; - if (AlchemicalWizardry.isThaumcraftLoaded) + if(BindingRegistry.isRequiredItemValid(itemStack)) { - //itemGoggles = ItemApi.getItem("itemGoggles", 0); + ritualStone.setVar1(BindingRegistry.getIndexForItem(itemStack)+1); + world.addWeatherEffect(new EntityLightningBolt(world, x, y + 1, z)); + ritualStone.setCooldown(ritualStone.getCooldown() - 1); + item.setDead(); + break; } - if (itemStack.getItem() == ModItems.apprenticeBloodOrb) - { - ritualStone.setVar1(Item.getIdFromItem(ModItems.energyBlaster)); - world.addWeatherEffect(new EntityLightningBolt(world, x, y + 1, z)); - ritualStone.setCooldown(ritualStone.getCooldown() - 1); - item.setDead(); - return; - } else if (itemStack.getItem() == Items.diamond_sword) - { - ritualStone.setVar1(Item.getIdFromItem(ModItems.energySword)); - world.addWeatherEffect(new EntityLightningBolt(world, x, y + 1, z)); - ritualStone.setCooldown(ritualStone.getCooldown() - 1); - item.setDead(); - return; - } else if (itemStack.getItem() == Items.diamond_pickaxe) - { - ritualStone.setVar1(Item.getIdFromItem(ModItems.boundPickaxe)); - world.addWeatherEffect(new EntityLightningBolt(world, x, y + 1, z)); - ritualStone.setCooldown(ritualStone.getCooldown() - 1); - item.setDead(); - return; - } else if (itemStack.getItem() == Items.diamond_axe) - { - ritualStone.setVar1(Item.getIdFromItem(ModItems.boundAxe)); - world.addWeatherEffect(new EntityLightningBolt(world, x, y + 1, z)); - ritualStone.setCooldown(ritualStone.getCooldown() - 1); - item.setDead(); - return; - } else if (itemStack.getItem() == Items.diamond_shovel) - { - ritualStone.setVar1(Item.getIdFromItem(ModItems.boundShovel)); - 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(Item.getIdFromItem(ModItems.sanguineHelmet)); -// world.addWeatherEffect(new EntityLightningBolt(world, x, y + 1, z)); -// ritualStone.setCooldown(ritualStone.getCooldown() - 1); -// item.setDead(); -// return; -// } - if (world.rand.nextInt(10) == 0) { SpellHelper.sendIndexedParticleToAllAround(world, x, y, z, 20, world.provider.dimensionId, 1, x, y, z); @@ -181,11 +139,12 @@ public class RitualEffectSoulBound extends RitualEffect if (ritualStone.getCooldown() <= 0) { - ItemStack spawnedItem = new ItemStack(Item.getItemById(ritualStone.getVar1()), 1, 0); + + ItemStack spawnedItem = BindingRegistry.getOutputForIndex(ritualStone.getVar1()-1); if (spawnedItem != null) { - EntityItem newItem = new EntityItem(world, x + 0.5, y + 1, z + 0.5, spawnedItem); + EntityItem newItem = new EntityItem(world, x + 0.5, y + 1, z + 0.5, spawnedItem.copy()); world.spawnEntityInWorld(newItem); } @@ -206,4 +165,35 @@ public class RitualEffectSoulBound extends RitualEffect { return 200; } + + @Override + public List getRitualComponentList() + { + ArrayList boundSoulRitual = new ArrayList(); + boundSoulRitual.add(new RitualComponent(3, 0, 0, 2)); + boundSoulRitual.add(new RitualComponent(-3, 0, 0, 2)); + boundSoulRitual.add(new RitualComponent(0, 0, 3, 2)); + boundSoulRitual.add(new RitualComponent(0, 0, -3, 2)); + boundSoulRitual.add(new RitualComponent(2, 0, 2, 4)); + boundSoulRitual.add(new RitualComponent(-2, 0, 2, 4)); + boundSoulRitual.add(new RitualComponent(2, 0, -2, 4)); + boundSoulRitual.add(new RitualComponent(-2, 0, -2, 4)); + boundSoulRitual.add(new RitualComponent(4, 2, 0, 1)); + boundSoulRitual.add(new RitualComponent(-4, 2, 0, 1)); + boundSoulRitual.add(new RitualComponent(0, 2, 4, 1)); + boundSoulRitual.add(new RitualComponent(0, 2, -4, 1)); + boundSoulRitual.add(new RitualComponent(3, 2, 3, 3)); + boundSoulRitual.add(new RitualComponent(3, 2, -3, 3)); + boundSoulRitual.add(new RitualComponent(-3, 2, 3, 3)); + boundSoulRitual.add(new RitualComponent(-3, 2, -3, 3)); + boundSoulRitual.add(new RitualComponent(4, 1, 0, 0)); + boundSoulRitual.add(new RitualComponent(-4, 1, 0, 0)); + boundSoulRitual.add(new RitualComponent(0, 1, 4, 0)); + boundSoulRitual.add(new RitualComponent(0, 1, -4, 0)); + boundSoulRitual.add(new RitualComponent(3, 1, 3, 0)); + boundSoulRitual.add(new RitualComponent(3, 1, -3, 0)); + boundSoulRitual.add(new RitualComponent(-3, 1, 3, 0)); + boundSoulRitual.add(new RitualComponent(-3, 1, -3, 0)); + return boundSoulRitual; + } } diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectSummonMeteor.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectSummonMeteor.java index a7173b4d..9bf1b52d 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectSummonMeteor.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectSummonMeteor.java @@ -1,9 +1,8 @@ package WayofTime.alchemicalWizardry.common.rituals; -import WayofTime.alchemicalWizardry.common.LifeEssenceNetwork; -import WayofTime.alchemicalWizardry.common.entity.projectile.EntityMeteor; -import WayofTime.alchemicalWizardry.common.summoning.meteor.MeteorRegistry; -import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone; +import java.util.ArrayList; +import java.util.List; + import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.potion.Potion; @@ -11,13 +10,17 @@ import net.minecraft.potion.PotionEffect; import net.minecraft.server.MinecraftServer; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; - -import java.util.List; +import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; +import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; +import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; +import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; +import WayofTime.alchemicalWizardry.common.entity.projectile.EntityMeteor; +import WayofTime.alchemicalWizardry.common.summoning.meteor.MeteorRegistry; public class RitualEffectSummonMeteor extends RitualEffect { @Override - public void performEffect(TEMasterStone ritualStone) + public void performEffect(IMasterRitualStone ritualStone) { String owner = ritualStone.getOwner(); World worldSave = MinecraftServer.getServer().worldServers[0]; @@ -30,10 +33,10 @@ public class RitualEffectSummonMeteor extends RitualEffect } int currentEssence = data.currentEssence; - World world = ritualStone.getWorldObj(); - int x = ritualStone.xCoord; - int y = ritualStone.yCoord; - int z = ritualStone.zCoord; + World world = ritualStone.getWorld(); + int x = ritualStone.getXCoord(); + int y = ritualStone.getYCoord(); + int z = ritualStone.getZCoord(); if (ritualStone.getCooldown() > 0) { @@ -88,4 +91,113 @@ public class RitualEffectSummonMeteor extends RitualEffect { return 0; } + + @Override + public List getRitualComponentList() + { + ArrayList meteorRitual = new ArrayList(); + meteorRitual.add(new RitualComponent(2, 0, 0, RitualComponent.FIRE)); + meteorRitual.add(new RitualComponent(-2, 0, 0, RitualComponent.FIRE)); + meteorRitual.add(new RitualComponent(0, 0, 2, RitualComponent.FIRE)); + meteorRitual.add(new RitualComponent(0, 0, -2, RitualComponent.FIRE)); + meteorRitual.add(new RitualComponent(3, 0, 1, RitualComponent.AIR)); + meteorRitual.add(new RitualComponent(3, 0, -1, RitualComponent.AIR)); + meteorRitual.add(new RitualComponent(-3, 0, 1, RitualComponent.AIR)); + meteorRitual.add(new RitualComponent(-3, 0, -1, RitualComponent.AIR)); + meteorRitual.add(new RitualComponent(1, 0, 3, RitualComponent.AIR)); + meteorRitual.add(new RitualComponent(-1, 0, 3, RitualComponent.AIR)); + meteorRitual.add(new RitualComponent(1, 0, -3, RitualComponent.AIR)); + meteorRitual.add(new RitualComponent(-1, 0, -3, RitualComponent.AIR)); + meteorRitual.add(new RitualComponent(4, 0, 2, RitualComponent.AIR)); + meteorRitual.add(new RitualComponent(4, 0, -2, RitualComponent.AIR)); + meteorRitual.add(new RitualComponent(-4, 0, 2, RitualComponent.AIR)); + meteorRitual.add(new RitualComponent(-4, 0, -2, RitualComponent.AIR)); + meteorRitual.add(new RitualComponent(2, 0, 4, RitualComponent.AIR)); + meteorRitual.add(new RitualComponent(-2, 0, 4, RitualComponent.AIR)); + meteorRitual.add(new RitualComponent(2, 0, -4, RitualComponent.AIR)); + meteorRitual.add(new RitualComponent(-2, 0, -4, RitualComponent.AIR)); + meteorRitual.add(new RitualComponent(5, 0, 3, RitualComponent.DUSK)); + meteorRitual.add(new RitualComponent(5, 0, -3, RitualComponent.DUSK)); + meteorRitual.add(new RitualComponent(-5, 0, 3, RitualComponent.DUSK)); + meteorRitual.add(new RitualComponent(-5, 0, -3, RitualComponent.DUSK)); + meteorRitual.add(new RitualComponent(3, 0, 5, RitualComponent.DUSK)); + meteorRitual.add(new RitualComponent(-3, 0, 5, RitualComponent.DUSK)); + meteorRitual.add(new RitualComponent(3, 0, -5, RitualComponent.DUSK)); + meteorRitual.add(new RitualComponent(-3, 0, -5, RitualComponent.DUSK)); + meteorRitual.add(new RitualComponent(-4, 0, -4, RitualComponent.DUSK)); + meteorRitual.add(new RitualComponent(-4, 0, 4, RitualComponent.DUSK)); + meteorRitual.add(new RitualComponent(4, 0, 4, RitualComponent.DUSK)); + meteorRitual.add(new RitualComponent(4, 0, -4, RitualComponent.DUSK)); + + for (int i = 4; i <= 6; i++) + { + meteorRitual.add(new RitualComponent(i, 0, 0, RitualComponent.EARTH)); + meteorRitual.add(new RitualComponent(-i, 0, 0, RitualComponent.EARTH)); + meteorRitual.add(new RitualComponent(0, 0, i, RitualComponent.EARTH)); + meteorRitual.add(new RitualComponent(0, 0, -i, RitualComponent.EARTH)); + } + + meteorRitual.add(new RitualComponent(8, 0, 0, RitualComponent.EARTH)); + meteorRitual.add(new RitualComponent(-8, 0, 0, RitualComponent.EARTH)); + meteorRitual.add(new RitualComponent(0, 0, 8, RitualComponent.EARTH)); + meteorRitual.add(new RitualComponent(0, 0, -8, RitualComponent.EARTH)); + meteorRitual.add(new RitualComponent(8, 1, 0, RitualComponent.EARTH)); + meteorRitual.add(new RitualComponent(-8, 1, 0, RitualComponent.EARTH)); + meteorRitual.add(new RitualComponent(0, 1, 8, RitualComponent.EARTH)); + meteorRitual.add(new RitualComponent(0, 1, -8, RitualComponent.EARTH)); + meteorRitual.add(new RitualComponent(7, 1, 0, RitualComponent.EARTH)); + meteorRitual.add(new RitualComponent(-7, 1, 0, RitualComponent.EARTH)); + meteorRitual.add(new RitualComponent(0, 1, 7, RitualComponent.EARTH)); + meteorRitual.add(new RitualComponent(0, 1, -7, RitualComponent.EARTH)); + meteorRitual.add(new RitualComponent(7, 2, 0, RitualComponent.FIRE)); + meteorRitual.add(new RitualComponent(-7, 2, 0, RitualComponent.FIRE)); + meteorRitual.add(new RitualComponent(0, 2, 7, RitualComponent.FIRE)); + meteorRitual.add(new RitualComponent(0, 2, -7, RitualComponent.FIRE)); + meteorRitual.add(new RitualComponent(6, 2, 0, RitualComponent.FIRE)); + meteorRitual.add(new RitualComponent(-6, 2, 0, RitualComponent.FIRE)); + meteorRitual.add(new RitualComponent(0, 2, 6, RitualComponent.FIRE)); + meteorRitual.add(new RitualComponent(0, 2, -6, RitualComponent.FIRE)); + meteorRitual.add(new RitualComponent(6, 3, 0, RitualComponent.WATER)); + meteorRitual.add(new RitualComponent(-6, 3, 0, RitualComponent.WATER)); + meteorRitual.add(new RitualComponent(0, 3, 6, RitualComponent.WATER)); + meteorRitual.add(new RitualComponent(0, 3, -6, RitualComponent.WATER)); + meteorRitual.add(new RitualComponent(5, 3, 0, RitualComponent.WATER)); + meteorRitual.add(new RitualComponent(-5, 3, 0, RitualComponent.WATER)); + meteorRitual.add(new RitualComponent(0, 3, 5, RitualComponent.WATER)); + meteorRitual.add(new RitualComponent(0, 3, -5, RitualComponent.WATER)); + meteorRitual.add(new RitualComponent(5, 4, 0, RitualComponent.AIR)); + meteorRitual.add(new RitualComponent(-5, 4, 0, RitualComponent.AIR)); + meteorRitual.add(new RitualComponent(0, 4, 5, RitualComponent.AIR)); + meteorRitual.add(new RitualComponent(0, 4, -5, RitualComponent.AIR)); + + for (int i = -1; i <= 1; i++) + { + meteorRitual.add(new RitualComponent(i, 4, 4, RitualComponent.AIR)); + meteorRitual.add(new RitualComponent(i, 4, -4, RitualComponent.AIR)); + meteorRitual.add(new RitualComponent(4, 4, i, RitualComponent.AIR)); + meteorRitual.add(new RitualComponent(-4, 4, i, RitualComponent.AIR)); + } + + meteorRitual.add(new RitualComponent(2, 4, 4, RitualComponent.WATER)); + meteorRitual.add(new RitualComponent(4, 4, 2, RitualComponent.WATER)); + meteorRitual.add(new RitualComponent(2, 4, -4, RitualComponent.WATER)); + meteorRitual.add(new RitualComponent(-4, 4, 2, RitualComponent.WATER)); + meteorRitual.add(new RitualComponent(-2, 4, 4, RitualComponent.WATER)); + meteorRitual.add(new RitualComponent(4, 4, -2, RitualComponent.WATER)); + meteorRitual.add(new RitualComponent(-2, 4, -4, RitualComponent.WATER)); + meteorRitual.add(new RitualComponent(-4, 4, -2, RitualComponent.WATER)); + meteorRitual.add(new RitualComponent(2, 4, 3, RitualComponent.FIRE)); + meteorRitual.add(new RitualComponent(3, 4, 2, RitualComponent.FIRE)); + meteorRitual.add(new RitualComponent(3, 4, 3, RitualComponent.FIRE)); + meteorRitual.add(new RitualComponent(-2, 4, 3, RitualComponent.FIRE)); + meteorRitual.add(new RitualComponent(3, 4, -2, RitualComponent.FIRE)); + meteorRitual.add(new RitualComponent(3, 4, -3, RitualComponent.FIRE)); + meteorRitual.add(new RitualComponent(2, 4, -3, RitualComponent.FIRE)); + meteorRitual.add(new RitualComponent(-3, 4, 2, RitualComponent.FIRE)); + meteorRitual.add(new RitualComponent(-3, 4, 3, RitualComponent.FIRE)); + meteorRitual.add(new RitualComponent(-2, 4, -3, RitualComponent.FIRE)); + meteorRitual.add(new RitualComponent(-3, 4, -2, RitualComponent.FIRE)); + meteorRitual.add(new RitualComponent(-3, 4, -3, RitualComponent.FIRE)); + return meteorRitual; + } } diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectSummonPlayer.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectSummonPlayer.java index 38863ff0..adb9d6d4 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectSummonPlayer.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectSummonPlayer.java @@ -10,15 +10,17 @@ import net.minecraft.potion.PotionEffect; import net.minecraft.server.MinecraftServer; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.common.IBindable; -import WayofTime.alchemicalWizardry.common.LifeEssenceNetwork; +import WayofTime.alchemicalWizardry.api.items.interfaces.IBindable; +import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; +import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; +import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; +import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; import WayofTime.alchemicalWizardry.common.items.EnergyItems; -import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone; public class RitualEffectSummonPlayer extends RitualEffect //Summons a player via the bound item { @Override - public void performEffect(TEMasterStone ritualStone) + public void performEffect(IMasterRitualStone ritualStone) { String owner = ritualStone.getOwner(); World worldSave = MinecraftServer.getServer().worldServers[0]; @@ -31,10 +33,10 @@ public class RitualEffectSummonPlayer extends RitualEffect //Summons a player vi } int currentEssence = data.currentEssence; - World world = ritualStone.getWorldObj(); - int x = ritualStone.xCoord; - int y = ritualStone.yCoord; - int z = ritualStone.zCoord; + World world = ritualStone.getWorld(); + int x = ritualStone.getXCoord(); + int y = ritualStone.getYCoord(); + int z = ritualStone.getZCoord(); if (ritualStone.getCooldown() > 0) { @@ -100,4 +102,10 @@ public class RitualEffectSummonPlayer extends RitualEffect //Summons a player vi { return 0; } + + @Override + public List getRitualComponentList() { + // TODO Auto-generated method stub + return null; + } } diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectSupression.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectSupression.java new file mode 100644 index 00000000..07569f9f --- /dev/null +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectSupression.java @@ -0,0 +1,180 @@ +package WayofTime.alchemicalWizardry.common.rituals; + +import java.util.ArrayList; +import java.util.List; + +import net.minecraft.block.Block; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraft.server.MinecraftServer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; +import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; +import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; +import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; +import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; +import WayofTime.alchemicalWizardry.common.tileEntity.TESpectralContainer; + +public class RitualEffectSupression extends RitualEffect +{ + @Override + public void performEffect(IMasterRitualStone ritualStone) + { + String owner = ritualStone.getOwner(); + World worldSave = MinecraftServer.getServer().worldServers[0]; + LifeEssenceNetwork data = (LifeEssenceNetwork) worldSave.loadItemData(LifeEssenceNetwork.class, owner); + + if (data == null) + { + data = new LifeEssenceNetwork(owner); + worldSave.setItemData(owner, data); + } + + int currentEssence = data.currentEssence; + World world = ritualStone.getWorld(); + int x = ritualStone.getXCoord(); + int y = ritualStone.getYCoord(); + int z = ritualStone.getZCoord(); + + Block blockish = world.getBlock(x, y-1, z); + int costMod = this.getCostModifier(blockish); + int radius = this.getRadiusForModifierBlock(blockish); + int masterRadius = radius; + + int yIndex = (int)(world.getWorldTime() % (2*radius + 1))-radius; + boolean expansion = false; + + if(ritualStone.getVar1()<(radius+1)) + { + expansion = true; + radius = ritualStone.getVar1(); + ritualStone.setVar1(ritualStone.getVar1() + 1); + } + + if (currentEssence < this.getCostPerRefresh()*costMod) + { + EntityPlayer entityOwner = MinecraftServer.getServer().getConfigurationManager().getPlayerForUsername(owner); + + if (entityOwner == null) + { + return; + } + + entityOwner.addPotionEffect(new PotionEffect(Potion.confusion.id, 80)); + } else + { + for (int i = -radius; i <= radius; i++) + { + for (int j = (expansion ? -radius : yIndex); j <= (expansion ? radius : yIndex); j++) + { + for(int k = -radius; k <= radius; k++) + { + if (i * i + j * j + k * k >= (radius + 0.50f) * (radius + 0.50f)) + { + continue; + } + + Block block = world.getBlock(x+i, y+j, z+k); + + + if(SpellHelper.isBlockFluid(block)) + { + TESpectralContainer.createSpectralBlockAtLocation(world, x+i, y+j, z+k, 3*masterRadius); + } + else + { + TileEntity tile = world.getTileEntity(x+i, y+j, z+k); + if(tile instanceof TESpectralContainer) + { + ((TESpectralContainer) tile).resetDuration(3*masterRadius); + } + } + } + } + } + + + data.currentEssence = currentEssence - this.getCostPerRefresh()*costMod; + data.markDirty(); + + } + } + + @Override + public int getCostPerRefresh() + { + return 2; + } + + @Override + public List getRitualComponentList() + { + ArrayList supressionRitual = new ArrayList(); + supressionRitual.add(new RitualComponent(2,0,2, RitualComponent.WATER)); + supressionRitual.add(new RitualComponent(2,0,-2, RitualComponent.WATER)); + supressionRitual.add(new RitualComponent(-2,0,2, RitualComponent.WATER)); + supressionRitual.add(new RitualComponent(-2,0,-2, RitualComponent.WATER)); + supressionRitual.add(new RitualComponent(-2,0,-1, RitualComponent.AIR)); + supressionRitual.add(new RitualComponent(-1,0,-2, RitualComponent.AIR)); + supressionRitual.add(new RitualComponent(-2,0,1, RitualComponent.AIR)); + supressionRitual.add(new RitualComponent(1,0,-2, RitualComponent.AIR)); + supressionRitual.add(new RitualComponent(2,0,1, RitualComponent.AIR)); + supressionRitual.add(new RitualComponent(1,0,2, RitualComponent.AIR)); + supressionRitual.add(new RitualComponent(2,0,-1, RitualComponent.AIR)); + supressionRitual.add(new RitualComponent(-1,0,2, RitualComponent.AIR)); + return supressionRitual; + } + + public int getRadiusForModifierBlock(Block block) + { + if(block == null) + { + return 10; + } + + if(block == Blocks.diamond_block) + { + return 30; + } + + if(block == Blocks.gold_block) + { + return 20; + } + + if(block == Blocks.iron_block) + { + return 15; + } + + return 10; + } + + public int getCostModifier(Block block) + { + if(block == null) + { + return 1; + } + + if(block == Blocks.diamond_block) + { + return 20; + } + + if(block == Blocks.gold_block) + { + return 10; + } + + if(block == Blocks.iron_block) + { + return 5; + } + + return 1; + } +} diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectUnbinding.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectUnbinding.java index 6f0a1ab5..a0980498 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectUnbinding.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectUnbinding.java @@ -1,9 +1,9 @@ package WayofTime.alchemicalWizardry.common.rituals; +import java.util.ArrayList; import java.util.Iterator; import java.util.List; -import net.minecraft.block.Block; import net.minecraft.entity.effect.EntityLightningBolt; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; @@ -16,17 +16,18 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; import WayofTime.alchemicalWizardry.ModBlocks; import WayofTime.alchemicalWizardry.ModItems; -import WayofTime.alchemicalWizardry.common.LifeEssenceNetwork; +import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; +import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; +import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; +import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; import WayofTime.alchemicalWizardry.common.items.BoundArmour; import WayofTime.alchemicalWizardry.common.items.sigil.SigilOfHolding; import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; -import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar; -import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone; public class RitualEffectUnbinding extends RitualEffect { @Override - public void performEffect(TEMasterStone ritualStone) + public void performEffect(IMasterRitualStone ritualStone) { String owner = ritualStone.getOwner(); World worldSave = MinecraftServer.getServer().worldServers[0]; @@ -39,10 +40,10 @@ public class RitualEffectUnbinding extends RitualEffect } int currentEssence = data.currentEssence; - World world = ritualStone.getWorldObj(); - int x = ritualStone.xCoord; - int y = ritualStone.yCoord; - int z = ritualStone.zCoord; + World world = ritualStone.getWorld(); + int x = ritualStone.getXCoord(); + int y = ritualStone.getYCoord(); + int z = ritualStone.getZCoord(); if (currentEssence < this.getCostPerRefresh()) { @@ -163,4 +164,43 @@ public class RitualEffectUnbinding extends RitualEffect // TODO Auto-generated method stub return 0; } + + @Override + public List getRitualComponentList() + { + ArrayList unbindingRitual = new ArrayList(); + unbindingRitual.add(new RitualComponent(-2, 0, 0, 4)); + unbindingRitual.add(new RitualComponent(2, 0, 0, 4)); + unbindingRitual.add(new RitualComponent(0, 0, 2, 4)); + unbindingRitual.add(new RitualComponent(0, 0, -2, 4)); + unbindingRitual.add(new RitualComponent(-2, 0, -2, 3)); + unbindingRitual.add(new RitualComponent(-2, 0, -3, 3)); + unbindingRitual.add(new RitualComponent(-3, 0, -2, 3)); + unbindingRitual.add(new RitualComponent(2, 0, -2, 3)); + unbindingRitual.add(new RitualComponent(2, 0, -3, 3)); + unbindingRitual.add(new RitualComponent(3, 0, -2, 3)); + unbindingRitual.add(new RitualComponent(-2, 0, 2, 3)); + unbindingRitual.add(new RitualComponent(-2, 0, 3, 3)); + unbindingRitual.add(new RitualComponent(-3, 0, 2, 3)); + unbindingRitual.add(new RitualComponent(2, 0, 2, 3)); + unbindingRitual.add(new RitualComponent(2, 0, 3, 3)); + unbindingRitual.add(new RitualComponent(3, 0, 2, 3)); + unbindingRitual.add(new RitualComponent(3, 1, 3, 0)); + unbindingRitual.add(new RitualComponent(3, 1, -3, 0)); + unbindingRitual.add(new RitualComponent(-3, 1, -3, 0)); + unbindingRitual.add(new RitualComponent(-3, 1, 3, 0)); + unbindingRitual.add(new RitualComponent(3, 2, 3, 0)); + unbindingRitual.add(new RitualComponent(3, 2, -3, 0)); + unbindingRitual.add(new RitualComponent(-3, 2, -3, 0)); + unbindingRitual.add(new RitualComponent(-3, 2, 3, 0)); + unbindingRitual.add(new RitualComponent(3, 3, 3, 2)); + unbindingRitual.add(new RitualComponent(3, 3, -3, 2)); + unbindingRitual.add(new RitualComponent(-3, 3, -3, 2)); + unbindingRitual.add(new RitualComponent(-3, 3, 3, 2)); + unbindingRitual.add(new RitualComponent(-5, 0, 0, 2)); + unbindingRitual.add(new RitualComponent(5, 0, 0, 2)); + unbindingRitual.add(new RitualComponent(0, 0, 5, 2)); + unbindingRitual.add(new RitualComponent(0, 0, -5, 2)); + return unbindingRitual; + } } diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectWater.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectWater.java index 6483de50..27ec25d4 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectWater.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectWater.java @@ -1,19 +1,25 @@ package WayofTime.alchemicalWizardry.common.rituals; +import java.util.ArrayList; +import java.util.List; + +import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; import net.minecraft.server.MinecraftServer; import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.common.LifeEssenceNetwork; +import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; +import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; +import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; +import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; +import WayofTime.alchemicalWizardry.common.block.BlockSpectralContainer; import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; -import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar; -import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone; public class RitualEffectWater extends RitualEffect { - public void performEffect(TEMasterStone ritualStone) + public void performEffect(IMasterRitualStone ritualStone) { String owner = ritualStone.getOwner(); World worldSave = MinecraftServer.getServer().worldServers[0]; @@ -26,12 +32,14 @@ public class RitualEffectWater extends RitualEffect } int currentEssence = data.currentEssence; - World world = ritualStone.getWorldObj(); - int x = ritualStone.xCoord; - int y = ritualStone.yCoord; - int z = ritualStone.zCoord; - - if (world.isAirBlock(x, y + 1, z)) + World world = ritualStone.getWorld(); + int x = ritualStone.getXCoord(); + int y = ritualStone.getYCoord(); + int z = ritualStone.getZCoord(); + + Block block = world.getBlock(x, y + 1, z); + + if (world.isAirBlock(x, y + 1, z) && !(block instanceof BlockSpectralContainer)) { if (currentEssence < this.getCostPerRefresh()) { @@ -61,4 +69,15 @@ public class RitualEffectWater extends RitualEffect { return 25; } + + @Override + public List getRitualComponentList() + { + ArrayList waterRitual = new ArrayList(); + waterRitual.add(new RitualComponent(-1, 0, 1, 1)); + waterRitual.add(new RitualComponent(-1, 0, -1, 1)); + waterRitual.add(new RitualComponent(1, 0, -1, 1)); + waterRitual.add(new RitualComponent(1, 0, 1, 1)); + return waterRitual; + } } diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectWellOfSuffering.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectWellOfSuffering.java index 390d3894..ccc9d394 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectWellOfSuffering.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectWellOfSuffering.java @@ -1,8 +1,9 @@ package WayofTime.alchemicalWizardry.common.rituals; -import WayofTime.alchemicalWizardry.common.LifeEssenceNetwork; -import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar; -import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.potion.Potion; @@ -11,9 +12,11 @@ import net.minecraft.server.MinecraftServer; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.DamageSource; import net.minecraft.world.World; - -import java.util.Iterator; -import java.util.List; +import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; +import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; +import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; +import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; +import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar; public class RitualEffectWellOfSuffering extends RitualEffect { @@ -21,7 +24,7 @@ public class RitualEffectWellOfSuffering extends RitualEffect public final int amount = 10; @Override - public void performEffect(TEMasterStone ritualStone) + public void performEffect(IMasterRitualStone ritualStone) { String owner = ritualStone.getOwner(); World worldSave = MinecraftServer.getServer().worldServers[0]; @@ -34,10 +37,10 @@ public class RitualEffectWellOfSuffering extends RitualEffect } int currentEssence = data.currentEssence; - World world = ritualStone.getWorldObj(); - int x = ritualStone.xCoord; - int y = ritualStone.yCoord; - int z = ritualStone.zCoord; + World world = ritualStone.getWorld(); + int x = ritualStone.getXCoord(); + int y = ritualStone.getYCoord(); + int z = ritualStone.getZCoord(); if (world.getWorldTime() % this.timeDelay != 0) { @@ -132,4 +135,47 @@ public class RitualEffectWellOfSuffering extends RitualEffect // TODO Auto-generated method stub return 2; } + + @Override + public List getRitualComponentList() + { + ArrayList wellOfSufferingRitual = new ArrayList(); + wellOfSufferingRitual.add(new RitualComponent(1, 0, 1, RitualComponent.FIRE)); + wellOfSufferingRitual.add(new RitualComponent(-1, 0, 1, RitualComponent.FIRE)); + wellOfSufferingRitual.add(new RitualComponent(1, 0, -1, RitualComponent.FIRE)); + wellOfSufferingRitual.add(new RitualComponent(-1, 0, -1, RitualComponent.FIRE)); + wellOfSufferingRitual.add(new RitualComponent(2, -1, 2, RitualComponent.FIRE)); + wellOfSufferingRitual.add(new RitualComponent(2, -1, -2, RitualComponent.FIRE)); + wellOfSufferingRitual.add(new RitualComponent(-2, -1, 2, RitualComponent.FIRE)); + wellOfSufferingRitual.add(new RitualComponent(-2, -1, -2, RitualComponent.FIRE)); + wellOfSufferingRitual.add(new RitualComponent(0, -1, 2, RitualComponent.EARTH)); + wellOfSufferingRitual.add(new RitualComponent(2, -1, 0, RitualComponent.EARTH)); + wellOfSufferingRitual.add(new RitualComponent(0, -1, -2, RitualComponent.EARTH)); + wellOfSufferingRitual.add(new RitualComponent(-2, -1, 0, RitualComponent.EARTH)); + wellOfSufferingRitual.add(new RitualComponent(-3, -1, -3, RitualComponent.DUSK)); + wellOfSufferingRitual.add(new RitualComponent(3, -1, -3, RitualComponent.DUSK)); + wellOfSufferingRitual.add(new RitualComponent(-3, -1, 3, RitualComponent.DUSK)); + wellOfSufferingRitual.add(new RitualComponent(3, -1, 3, RitualComponent.DUSK)); + wellOfSufferingRitual.add(new RitualComponent(2, -1, 4, RitualComponent.WATER)); + wellOfSufferingRitual.add(new RitualComponent(4, -1, 2, RitualComponent.WATER)); + wellOfSufferingRitual.add(new RitualComponent(-2, -1, 4, RitualComponent.WATER)); + wellOfSufferingRitual.add(new RitualComponent(4, -1, -2, RitualComponent.WATER)); + wellOfSufferingRitual.add(new RitualComponent(2, -1, -4, RitualComponent.WATER)); + wellOfSufferingRitual.add(new RitualComponent(-4, -1, 2, RitualComponent.WATER)); + wellOfSufferingRitual.add(new RitualComponent(-2, -1, -4, RitualComponent.WATER)); + wellOfSufferingRitual.add(new RitualComponent(-4, -1, -2, RitualComponent.WATER)); + wellOfSufferingRitual.add(new RitualComponent(1, 0, 4, RitualComponent.WATER)); + wellOfSufferingRitual.add(new RitualComponent(4, 0, 1, RitualComponent.WATER)); + wellOfSufferingRitual.add(new RitualComponent(1, 0, -4, RitualComponent.WATER)); + wellOfSufferingRitual.add(new RitualComponent(-4, 0, 1, RitualComponent.WATER)); + wellOfSufferingRitual.add(new RitualComponent(-1, 0, 4, RitualComponent.WATER)); + wellOfSufferingRitual.add(new RitualComponent(4, 0, -1, RitualComponent.WATER)); + wellOfSufferingRitual.add(new RitualComponent(-1, 0, -4, RitualComponent.WATER)); + wellOfSufferingRitual.add(new RitualComponent(-4, 0, -1, RitualComponent.WATER)); + wellOfSufferingRitual.add(new RitualComponent(4, 1, 0, RitualComponent.AIR)); + wellOfSufferingRitual.add(new RitualComponent(0, 1, 4, RitualComponent.AIR)); + wellOfSufferingRitual.add(new RitualComponent(-4, 1, 0, RitualComponent.AIR)); + wellOfSufferingRitual.add(new RitualComponent(0, 1, -4, RitualComponent.AIR)); + return wellOfSufferingRitual; + } } diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/Rituals.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/Rituals.java deleted file mode 100644 index b28c52d1..00000000 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/rituals/Rituals.java +++ /dev/null @@ -1,1079 +0,0 @@ -package WayofTime.alchemicalWizardry.common.rituals; - -import WayofTime.alchemicalWizardry.common.block.RitualStone; -import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone; -import net.minecraft.block.Block; -import net.minecraft.world.World; -import net.minecraftforge.oredict.OreDictionary; - -import java.util.ArrayList; -import java.util.List; - -public class Rituals -{ - private List components; - private int crystalLevel; - private int actCost; - private RitualEffect effect; - private String name; - - public static List ritualList = new ArrayList(); - - public Rituals(List components, int crystalLevel, int actCost, RitualEffect effect, String name) - { - this.components = components; - this.crystalLevel = crystalLevel; - this.actCost = actCost; - this.effect = effect; - this.name = name; - } - - public Rituals(List components, int crystalLevel, int actCost, RitualEffect effect) - { - this.components = components; - this.crystalLevel = crystalLevel; - this.actCost = actCost; - this.effect = effect; - this.name = ""; - } - - //public static final int totalRituals = 1; - - public static int checkValidRitual(World world, int x, int y, int z) - { - for (int i = 1; i <= ritualList.size(); i++) - { - if (checkRitualIsValid(world, x, y, z, i)) - { - return i; - } - } - - return 0; - } - - public static boolean canCrystalActivate(int ritual, int crystalLevel) - { - if (ritual <= ritualList.size()) - { - return ritualList.get(ritual - 1).crystalLevel <= crystalLevel; - } else - { - return false; - } - -// switch (crystalLevel) -// { -// case 1: -// return(ritual <= 8); -// -// case 2: -// return(ritual <= 16); -// -// default: -// return false; -// } - } - - public static boolean checkRitualIsValid(World world, int x, int y, int z, int ritualID) - { - int direction = Rituals.getDirectionOfRitual(world, x, y, z, ritualID); - - if (direction != -1) - { - return true; - } - - return false; -// List ritual = Rituals.getRitualList(ritualID); -// -// if (ritual == null) -// { -// return false; -// } -// -// Block test = null; -// -// for (RitualComponent rc : ritual) -// { -// test = Block.blocksList[world.getBlockId(x + rc.getX(), y + rc.getY(), z + rc.getZ())]; -// -// if (!(test instanceof RitualStone)) -// { -// return false; -// } -// -// if (world.getBlockMetadata(x + rc.getX(), y + rc.getY(), z + rc.getZ()) != rc.getStoneType()) -// { -// return false; -// } -// } -// -// return true; - } - - /** - * 1 - NORTH - * 2 - EAST - * 3 - SOUTH - * 4 - WEST - */ - public static boolean checkDirectionOfRitualValid(World world, int x, int y, int z, int ritualID, int direction) - { - List ritual = Rituals.getRitualList(ritualID); - - if (ritual == null) - { - return false; - } - - Block test = null; - - switch (direction) - { - case 1: - for (RitualComponent rc : ritual) - { - test = world.getBlock(x + rc.getX(), y + rc.getY(), z + rc.getZ()); - - if (!(test instanceof RitualStone)) - { - return false; - } - - if (world.getBlockMetadata(x + rc.getX(), y + rc.getY(), z + rc.getZ()) != rc.getStoneType()) - { - return false; - } - } - - return true; - - case 2: - for (RitualComponent rc : ritual) - { - test = world.getBlock(x - rc.getZ(), y + rc.getY(), z + rc.getX()); - - if (!(test instanceof RitualStone)) - { - return false; - } - - if (world.getBlockMetadata(x - rc.getZ(), y + rc.getY(), z + rc.getX()) != rc.getStoneType()) - { - return false; - } - } - - return true; - - case 3: - for (RitualComponent rc : ritual) - { - test = world.getBlock(x - rc.getX(), y + rc.getY(), z - rc.getZ()); - - if (!(test instanceof RitualStone)) - { - return false; - } - - if (world.getBlockMetadata(x - rc.getX(), y + rc.getY(), z - rc.getZ()) != rc.getStoneType()) - { - return false; - } - } - - return true; - - case 4: - for (RitualComponent rc : ritual) - { - test = world.getBlock(x + rc.getZ(), y + rc.getY(), z - rc.getX()); - - if (!(test instanceof RitualStone)) - { - return false; - } - - if (world.getBlockMetadata(x + rc.getZ(), y + rc.getY(), z - rc.getX()) != rc.getStoneType()) - { - return false; - } - } - - return true; - } - - return false; - } - - public static int getDirectionOfRitual(World world, int x, int y, int z, int ritualID) - { - for (int i = 1; i <= 4; i++) - { - if (Rituals.checkDirectionOfRitualValid(world, x, y, z, ritualID, i)) - { - return i; - } - } - - return -1; - } - - public static void loadRituals() - { - ArrayList waterRitual = new ArrayList(); - waterRitual.add(new RitualComponent(-1, 0, 1, 1)); - waterRitual.add(new RitualComponent(-1, 0, -1, 1)); - waterRitual.add(new RitualComponent(1, 0, -1, 1)); - waterRitual.add(new RitualComponent(1, 0, 1, 1)); - ArrayList lavaRitual = new ArrayList(); - lavaRitual.add(new RitualComponent(1, 0, 0, 2)); - lavaRitual.add(new RitualComponent(-1, 0, 0, 2)); - lavaRitual.add(new RitualComponent(0, 0, 1, 2)); - lavaRitual.add(new RitualComponent(0, 0, -1, 2)); - ArrayList growthRitual = new ArrayList(); - growthRitual.add(new RitualComponent(1, 0, 0, 1)); - growthRitual.add(new RitualComponent(-1, 0, 0, 1)); - growthRitual.add(new RitualComponent(0, 0, 1, 1)); - growthRitual.add(new RitualComponent(0, 0, -1, 1)); - growthRitual.add(new RitualComponent(-1, 0, 1, 3)); - growthRitual.add(new RitualComponent(1, 0, 1, 3)); - growthRitual.add(new RitualComponent(-1, 0, -1, 3)); - growthRitual.add(new RitualComponent(1, 0, -1, 3)); - ArrayList interdictionRitual = new ArrayList(); - interdictionRitual.add(new RitualComponent(1, 0, 0, 4)); - interdictionRitual.add(new RitualComponent(-1, 0, 0, 4)); - interdictionRitual.add(new RitualComponent(0, 0, 1, 4)); - interdictionRitual.add(new RitualComponent(0, 0, -1, 4)); - interdictionRitual.add(new RitualComponent(-1, 0, 1, 4)); - interdictionRitual.add(new RitualComponent(1, 0, 1, 4)); - interdictionRitual.add(new RitualComponent(-1, 0, -1, 4)); - interdictionRitual.add(new RitualComponent(1, 0, -1, 4)); - ArrayList containmentRitual = new ArrayList(); - containmentRitual.add(new RitualComponent(1, 0, 0, 3)); - containmentRitual.add(new RitualComponent(-1, 0, 0, 3)); - containmentRitual.add(new RitualComponent(0, 0, 1, 3)); - containmentRitual.add(new RitualComponent(0, 0, -1, 3)); - containmentRitual.add(new RitualComponent(2, 0, 2, 3)); - containmentRitual.add(new RitualComponent(2, 0, -2, 3)); - containmentRitual.add(new RitualComponent(-2, 0, 2, 3)); - containmentRitual.add(new RitualComponent(-2, 0, -2, 3)); - containmentRitual.add(new RitualComponent(1, 5, 0, 3)); - containmentRitual.add(new RitualComponent(-1, 5, 0, 3)); - containmentRitual.add(new RitualComponent(0, 5, 1, 3)); - containmentRitual.add(new RitualComponent(0, 5, -1, 3)); - containmentRitual.add(new RitualComponent(2, 5, 2, 3)); - containmentRitual.add(new RitualComponent(2, 5, -2, 3)); - containmentRitual.add(new RitualComponent(-2, 5, 2, 3)); - containmentRitual.add(new RitualComponent(-2, 5, -2, 3)); - //Bound soul ritual - ArrayList boundSoulRitual = new ArrayList(); - boundSoulRitual.add(new RitualComponent(3, 0, 0, 2)); - boundSoulRitual.add(new RitualComponent(-3, 0, 0, 2)); - boundSoulRitual.add(new RitualComponent(0, 0, 3, 2)); - boundSoulRitual.add(new RitualComponent(0, 0, -3, 2)); - boundSoulRitual.add(new RitualComponent(2, 0, 2, 4)); - boundSoulRitual.add(new RitualComponent(-2, 0, 2, 4)); - boundSoulRitual.add(new RitualComponent(2, 0, -2, 4)); - boundSoulRitual.add(new RitualComponent(-2, 0, -2, 4)); - boundSoulRitual.add(new RitualComponent(4, 2, 0, 1)); - boundSoulRitual.add(new RitualComponent(-4, 2, 0, 1)); - boundSoulRitual.add(new RitualComponent(0, 2, 4, 1)); - boundSoulRitual.add(new RitualComponent(0, 2, -4, 1)); - boundSoulRitual.add(new RitualComponent(3, 2, 3, 3)); - boundSoulRitual.add(new RitualComponent(3, 2, -3, 3)); - boundSoulRitual.add(new RitualComponent(-3, 2, 3, 3)); - boundSoulRitual.add(new RitualComponent(-3, 2, -3, 3)); - boundSoulRitual.add(new RitualComponent(4, 1, 0, 0)); - boundSoulRitual.add(new RitualComponent(-4, 1, 0, 0)); - boundSoulRitual.add(new RitualComponent(0, 1, 4, 0)); - boundSoulRitual.add(new RitualComponent(0, 1, -4, 0)); - boundSoulRitual.add(new RitualComponent(3, 1, 3, 0)); - boundSoulRitual.add(new RitualComponent(3, 1, -3, 0)); - boundSoulRitual.add(new RitualComponent(-3, 1, 3, 0)); - boundSoulRitual.add(new RitualComponent(-3, 1, -3, 0)); - // - ArrayList unbindingRitual = new ArrayList(); - unbindingRitual.add(new RitualComponent(-2, 0, 0, 4)); - unbindingRitual.add(new RitualComponent(2, 0, 0, 4)); - unbindingRitual.add(new RitualComponent(0, 0, 2, 4)); - unbindingRitual.add(new RitualComponent(0, 0, -2, 4)); - unbindingRitual.add(new RitualComponent(-2, 0, -2, 3)); - unbindingRitual.add(new RitualComponent(-2, 0, -3, 3)); - unbindingRitual.add(new RitualComponent(-3, 0, -2, 3)); - unbindingRitual.add(new RitualComponent(2, 0, -2, 3)); - unbindingRitual.add(new RitualComponent(2, 0, -3, 3)); - unbindingRitual.add(new RitualComponent(3, 0, -2, 3)); - unbindingRitual.add(new RitualComponent(-2, 0, 2, 3)); - unbindingRitual.add(new RitualComponent(-2, 0, 3, 3)); - unbindingRitual.add(new RitualComponent(-3, 0, 2, 3)); - unbindingRitual.add(new RitualComponent(2, 0, 2, 3)); - unbindingRitual.add(new RitualComponent(2, 0, 3, 3)); - unbindingRitual.add(new RitualComponent(3, 0, 2, 3)); - unbindingRitual.add(new RitualComponent(3, 1, 3, 0)); - unbindingRitual.add(new RitualComponent(3, 1, -3, 0)); - unbindingRitual.add(new RitualComponent(-3, 1, -3, 0)); - unbindingRitual.add(new RitualComponent(-3, 1, 3, 0)); - unbindingRitual.add(new RitualComponent(3, 2, 3, 0)); - unbindingRitual.add(new RitualComponent(3, 2, -3, 0)); - unbindingRitual.add(new RitualComponent(-3, 2, -3, 0)); - unbindingRitual.add(new RitualComponent(-3, 2, 3, 0)); - unbindingRitual.add(new RitualComponent(3, 3, 3, 2)); - unbindingRitual.add(new RitualComponent(3, 3, -3, 2)); - unbindingRitual.add(new RitualComponent(-3, 3, -3, 2)); - unbindingRitual.add(new RitualComponent(-3, 3, 3, 2)); - unbindingRitual.add(new RitualComponent(-5, 0, 0, 2)); - unbindingRitual.add(new RitualComponent(5, 0, 0, 2)); - unbindingRitual.add(new RitualComponent(0, 0, 5, 2)); - unbindingRitual.add(new RitualComponent(0, 0, -5, 2)); - ArrayList jumpingRitual = new ArrayList(); - - for (int i = -1; i <= 1; i++) - { - jumpingRitual.add(new RitualComponent(1, i, 1, RitualComponent.AIR)); - jumpingRitual.add(new RitualComponent(-1, i, 1, RitualComponent.AIR)); - jumpingRitual.add(new RitualComponent(-1, i, -1, RitualComponent.AIR)); - jumpingRitual.add(new RitualComponent(1, i, -1, RitualComponent.AIR)); - } - - ArrayList magneticRitual = new ArrayList(); - magneticRitual.add(new RitualComponent(1, 0, 1, RitualComponent.EARTH)); - magneticRitual.add(new RitualComponent(1, 0, -1, RitualComponent.EARTH)); - magneticRitual.add(new RitualComponent(-1, 0, 1, RitualComponent.EARTH)); - magneticRitual.add(new RitualComponent(-1, 0, -1, RitualComponent.EARTH)); - magneticRitual.add(new RitualComponent(2, 1, 0, RitualComponent.EARTH)); - magneticRitual.add(new RitualComponent(0, 1, 2, RitualComponent.EARTH)); - magneticRitual.add(new RitualComponent(-2, 1, 0, RitualComponent.EARTH)); - magneticRitual.add(new RitualComponent(0, 1, -2, RitualComponent.EARTH)); - magneticRitual.add(new RitualComponent(2, 1, 2, RitualComponent.AIR)); - magneticRitual.add(new RitualComponent(2, 1, -2, RitualComponent.AIR)); - magneticRitual.add(new RitualComponent(-2, 1, 2, RitualComponent.AIR)); - magneticRitual.add(new RitualComponent(-2, 1, -2, RitualComponent.AIR)); - magneticRitual.add(new RitualComponent(2, 2, 0, RitualComponent.FIRE)); - magneticRitual.add(new RitualComponent(0, 2, 2, RitualComponent.FIRE)); - magneticRitual.add(new RitualComponent(-2, 2, 0, RitualComponent.FIRE)); - magneticRitual.add(new RitualComponent(0, 2, -2, RitualComponent.FIRE)); - ArrayList crushingRitual = new ArrayList(); - crushingRitual.add(new RitualComponent(0, 0, 1, RitualComponent.EARTH)); - crushingRitual.add(new RitualComponent(1, 0, 0, RitualComponent.EARTH)); - crushingRitual.add(new RitualComponent(0, 0, -1, RitualComponent.EARTH)); - crushingRitual.add(new RitualComponent(-1, 0, 0, RitualComponent.EARTH)); - crushingRitual.add(new RitualComponent(2, 0, 0, RitualComponent.FIRE)); - crushingRitual.add(new RitualComponent(0, 0, 2, RitualComponent.FIRE)); - crushingRitual.add(new RitualComponent(-2, 0, 0, RitualComponent.FIRE)); - crushingRitual.add(new RitualComponent(0, 0, -2, RitualComponent.FIRE)); - crushingRitual.add(new RitualComponent(2, 0, 2, RitualComponent.DUSK)); - crushingRitual.add(new RitualComponent(2, 0, -2, RitualComponent.DUSK)); - crushingRitual.add(new RitualComponent(-2, 0, 2, RitualComponent.DUSK)); - crushingRitual.add(new RitualComponent(-2, 0, -2, RitualComponent.DUSK)); - crushingRitual.add(new RitualComponent(2, 1, 0, RitualComponent.AIR)); - crushingRitual.add(new RitualComponent(-2, 1, 0, RitualComponent.AIR)); - crushingRitual.add(new RitualComponent(0, 1, 2, RitualComponent.AIR)); - crushingRitual.add(new RitualComponent(0, 1, -2, RitualComponent.AIR)); - ArrayList leapingRitual = new ArrayList(); - leapingRitual.add(new RitualComponent(0, 0, -2, RitualComponent.DUSK)); - leapingRitual.add(new RitualComponent(1, 0, -1, RitualComponent.AIR)); - leapingRitual.add(new RitualComponent(-1, 0, -1, RitualComponent.AIR)); - - for (int i = 0; i <= 2; i++) - { - leapingRitual.add(new RitualComponent(2, 0, i, RitualComponent.AIR)); - leapingRitual.add(new RitualComponent(-2, 0, i, RitualComponent.AIR)); - } - - //Animal Growth - ArrayList animalGrowthRitual = new ArrayList(); - animalGrowthRitual.add(new RitualComponent(0, 0, 2, RitualComponent.DUSK)); - animalGrowthRitual.add(new RitualComponent(2, 0, 0, RitualComponent.DUSK)); - animalGrowthRitual.add(new RitualComponent(0, 0, -2, RitualComponent.DUSK)); - animalGrowthRitual.add(new RitualComponent(-2, 0, 0, RitualComponent.DUSK)); - animalGrowthRitual.add(new RitualComponent(0, 0, 1, RitualComponent.WATER)); - animalGrowthRitual.add(new RitualComponent(1, 0, 0, RitualComponent.WATER)); - animalGrowthRitual.add(new RitualComponent(0, 0, -1, RitualComponent.WATER)); - animalGrowthRitual.add(new RitualComponent(-1, 0, 0, RitualComponent.WATER)); - animalGrowthRitual.add(new RitualComponent(1, 0, 2, RitualComponent.EARTH)); - animalGrowthRitual.add(new RitualComponent(-1, 0, 2, RitualComponent.EARTH)); - animalGrowthRitual.add(new RitualComponent(1, 0, -2, RitualComponent.EARTH)); - animalGrowthRitual.add(new RitualComponent(-1, 0, -2, RitualComponent.EARTH)); - animalGrowthRitual.add(new RitualComponent(2, 0, 1, RitualComponent.AIR)); - animalGrowthRitual.add(new RitualComponent(2, 0, -1, RitualComponent.AIR)); - animalGrowthRitual.add(new RitualComponent(-2, 0, 1, RitualComponent.AIR)); - animalGrowthRitual.add(new RitualComponent(-2, 0, -1, RitualComponent.AIR)); - //Well of Suffering - ArrayList wellOfSufferingRitual = new ArrayList(); - wellOfSufferingRitual.add(new RitualComponent(1, 0, 1, RitualComponent.FIRE)); - wellOfSufferingRitual.add(new RitualComponent(-1, 0, 1, RitualComponent.FIRE)); - wellOfSufferingRitual.add(new RitualComponent(1, 0, -1, RitualComponent.FIRE)); - wellOfSufferingRitual.add(new RitualComponent(-1, 0, -1, RitualComponent.FIRE)); - wellOfSufferingRitual.add(new RitualComponent(2, -1, 2, RitualComponent.FIRE)); - wellOfSufferingRitual.add(new RitualComponent(2, -1, -2, RitualComponent.FIRE)); - wellOfSufferingRitual.add(new RitualComponent(-2, -1, 2, RitualComponent.FIRE)); - wellOfSufferingRitual.add(new RitualComponent(-2, -1, -2, RitualComponent.FIRE)); - wellOfSufferingRitual.add(new RitualComponent(0, -1, 2, RitualComponent.EARTH)); - wellOfSufferingRitual.add(new RitualComponent(2, -1, 0, RitualComponent.EARTH)); - wellOfSufferingRitual.add(new RitualComponent(0, -1, -2, RitualComponent.EARTH)); - wellOfSufferingRitual.add(new RitualComponent(-2, -1, 0, RitualComponent.EARTH)); - wellOfSufferingRitual.add(new RitualComponent(-3, -1, -3, RitualComponent.DUSK)); - wellOfSufferingRitual.add(new RitualComponent(3, -1, -3, RitualComponent.DUSK)); - wellOfSufferingRitual.add(new RitualComponent(-3, -1, 3, RitualComponent.DUSK)); - wellOfSufferingRitual.add(new RitualComponent(3, -1, 3, RitualComponent.DUSK)); - wellOfSufferingRitual.add(new RitualComponent(2, -1, 4, RitualComponent.WATER)); - wellOfSufferingRitual.add(new RitualComponent(4, -1, 2, RitualComponent.WATER)); - wellOfSufferingRitual.add(new RitualComponent(-2, -1, 4, RitualComponent.WATER)); - wellOfSufferingRitual.add(new RitualComponent(4, -1, -2, RitualComponent.WATER)); - wellOfSufferingRitual.add(new RitualComponent(2, -1, -4, RitualComponent.WATER)); - wellOfSufferingRitual.add(new RitualComponent(-4, -1, 2, RitualComponent.WATER)); - wellOfSufferingRitual.add(new RitualComponent(-2, -1, -4, RitualComponent.WATER)); - wellOfSufferingRitual.add(new RitualComponent(-4, -1, -2, RitualComponent.WATER)); - wellOfSufferingRitual.add(new RitualComponent(1, 0, 4, RitualComponent.WATER)); - wellOfSufferingRitual.add(new RitualComponent(4, 0, 1, RitualComponent.WATER)); - wellOfSufferingRitual.add(new RitualComponent(1, 0, -4, RitualComponent.WATER)); - wellOfSufferingRitual.add(new RitualComponent(-4, 0, 1, RitualComponent.WATER)); - wellOfSufferingRitual.add(new RitualComponent(-1, 0, 4, RitualComponent.WATER)); - wellOfSufferingRitual.add(new RitualComponent(4, 0, -1, RitualComponent.WATER)); - wellOfSufferingRitual.add(new RitualComponent(-1, 0, -4, RitualComponent.WATER)); - wellOfSufferingRitual.add(new RitualComponent(-4, 0, -1, RitualComponent.WATER)); - wellOfSufferingRitual.add(new RitualComponent(4, 1, 0, RitualComponent.AIR)); - wellOfSufferingRitual.add(new RitualComponent(0, 1, 4, RitualComponent.AIR)); - wellOfSufferingRitual.add(new RitualComponent(-4, 1, 0, RitualComponent.AIR)); - wellOfSufferingRitual.add(new RitualComponent(0, 1, -4, RitualComponent.AIR)); - ArrayList healingRitual = new ArrayList(); - healingRitual.add(new RitualComponent(4, 0, 0, RitualComponent.AIR)); - healingRitual.add(new RitualComponent(5, 0, -1, RitualComponent.AIR)); - healingRitual.add(new RitualComponent(5, 0, 1, RitualComponent.AIR)); - healingRitual.add(new RitualComponent(-4, 0, 0, RitualComponent.AIR)); - healingRitual.add(new RitualComponent(-5, 0, -1, RitualComponent.AIR)); - healingRitual.add(new RitualComponent(-5, 0, 1, RitualComponent.AIR)); - healingRitual.add(new RitualComponent(0, 0, 4, RitualComponent.FIRE)); - healingRitual.add(new RitualComponent(-1, 0, 5, RitualComponent.FIRE)); - healingRitual.add(new RitualComponent(1, 0, 5, RitualComponent.FIRE)); - healingRitual.add(new RitualComponent(0, 0, -4, RitualComponent.FIRE)); - healingRitual.add(new RitualComponent(-1, 0, -5, RitualComponent.FIRE)); - healingRitual.add(new RitualComponent(1, 0, -5, RitualComponent.FIRE)); - healingRitual.add(new RitualComponent(3, 0, 5, RitualComponent.WATER)); - healingRitual.add(new RitualComponent(5, 0, 3, RitualComponent.WATER)); - healingRitual.add(new RitualComponent(3, 0, -5, RitualComponent.WATER)); - healingRitual.add(new RitualComponent(5, 0, -3, RitualComponent.WATER)); - healingRitual.add(new RitualComponent(-3, 0, 5, RitualComponent.WATER)); - healingRitual.add(new RitualComponent(-5, 0, 3, RitualComponent.WATER)); - healingRitual.add(new RitualComponent(-3, 0, -5, RitualComponent.WATER)); - healingRitual.add(new RitualComponent(-5, 0, -3, RitualComponent.WATER)); - healingRitual.add(new RitualComponent(-3, 0, -3, RitualComponent.DUSK)); - healingRitual.add(new RitualComponent(-3, 0, 3, RitualComponent.DUSK)); - healingRitual.add(new RitualComponent(3, 0, -3, RitualComponent.DUSK)); - healingRitual.add(new RitualComponent(3, 0, 3, RitualComponent.DUSK)); - healingRitual.add(new RitualComponent(4, 0, 5, RitualComponent.EARTH)); - healingRitual.add(new RitualComponent(4, -1, 5, RitualComponent.EARTH)); - healingRitual.add(new RitualComponent(5, 0, 4, RitualComponent.EARTH)); - healingRitual.add(new RitualComponent(5, -1, 4, RitualComponent.EARTH)); - healingRitual.add(new RitualComponent(5, 0, 5, RitualComponent.EARTH)); - healingRitual.add(new RitualComponent(4, 0, -5, RitualComponent.EARTH)); - healingRitual.add(new RitualComponent(4, -1, -5, RitualComponent.EARTH)); - healingRitual.add(new RitualComponent(5, 0, -4, RitualComponent.EARTH)); - healingRitual.add(new RitualComponent(5, -1, -4, RitualComponent.EARTH)); - healingRitual.add(new RitualComponent(5, 0, -5, RitualComponent.EARTH)); - healingRitual.add(new RitualComponent(-4, 0, 5, RitualComponent.EARTH)); - healingRitual.add(new RitualComponent(-4, -1, 5, RitualComponent.EARTH)); - healingRitual.add(new RitualComponent(-5, 0, 4, RitualComponent.EARTH)); - healingRitual.add(new RitualComponent(-5, -1, 4, RitualComponent.EARTH)); - healingRitual.add(new RitualComponent(-5, 0, 5, RitualComponent.EARTH)); - healingRitual.add(new RitualComponent(-4, 0, -5, RitualComponent.EARTH)); - healingRitual.add(new RitualComponent(-4, -1, -5, RitualComponent.EARTH)); - healingRitual.add(new RitualComponent(-5, 0, -4, RitualComponent.EARTH)); - healingRitual.add(new RitualComponent(-5, -1, -4, RitualComponent.EARTH)); - healingRitual.add(new RitualComponent(-5, 0, -5, RitualComponent.EARTH)); - ArrayList featheredKnifeRitual = new ArrayList(); - featheredKnifeRitual.add(new RitualComponent(1, 0, 0, RitualComponent.DUSK)); - featheredKnifeRitual.add(new RitualComponent(-1, 0, 0, RitualComponent.DUSK)); - featheredKnifeRitual.add(new RitualComponent(0, 0, 1, RitualComponent.DUSK)); - featheredKnifeRitual.add(new RitualComponent(0, 0, -1, RitualComponent.DUSK)); - featheredKnifeRitual.add(new RitualComponent(2, -1, 0, RitualComponent.WATER)); - featheredKnifeRitual.add(new RitualComponent(-2, -1, 0, RitualComponent.WATER)); - featheredKnifeRitual.add(new RitualComponent(0, -1, 2, RitualComponent.WATER)); - featheredKnifeRitual.add(new RitualComponent(0, -1, -2, RitualComponent.WATER)); - featheredKnifeRitual.add(new RitualComponent(1, -1, 1, RitualComponent.AIR)); - featheredKnifeRitual.add(new RitualComponent(1, -1, -1, RitualComponent.AIR)); - featheredKnifeRitual.add(new RitualComponent(-1, -1, 1, RitualComponent.AIR)); - featheredKnifeRitual.add(new RitualComponent(-1, -1, -1, RitualComponent.AIR)); - featheredKnifeRitual.add(new RitualComponent(4, -1, 2, RitualComponent.FIRE)); - featheredKnifeRitual.add(new RitualComponent(2, -1, 4, RitualComponent.FIRE)); - featheredKnifeRitual.add(new RitualComponent(-4, -1, 2, RitualComponent.FIRE)); - featheredKnifeRitual.add(new RitualComponent(2, -1, -4, RitualComponent.FIRE)); - featheredKnifeRitual.add(new RitualComponent(4, -1, -2, RitualComponent.FIRE)); - featheredKnifeRitual.add(new RitualComponent(-2, -1, 4, RitualComponent.FIRE)); - featheredKnifeRitual.add(new RitualComponent(-4, -1, -2, RitualComponent.FIRE)); - featheredKnifeRitual.add(new RitualComponent(-2, -1, -4, RitualComponent.FIRE)); - featheredKnifeRitual.add(new RitualComponent(4, 0, 2, RitualComponent.EARTH)); - featheredKnifeRitual.add(new RitualComponent(2, 0, 4, RitualComponent.EARTH)); - featheredKnifeRitual.add(new RitualComponent(-4, 0, 2, RitualComponent.EARTH)); - featheredKnifeRitual.add(new RitualComponent(2, 0, -4, RitualComponent.EARTH)); - featheredKnifeRitual.add(new RitualComponent(4, 0, -2, RitualComponent.EARTH)); - featheredKnifeRitual.add(new RitualComponent(-2, 0, 4, RitualComponent.EARTH)); - featheredKnifeRitual.add(new RitualComponent(-4, 0, -2, RitualComponent.EARTH)); - featheredKnifeRitual.add(new RitualComponent(-2, 0, -4, RitualComponent.EARTH)); - featheredKnifeRitual.add(new RitualComponent(4, 0, 3, RitualComponent.EARTH)); - featheredKnifeRitual.add(new RitualComponent(3, 0, 4, RitualComponent.EARTH)); - featheredKnifeRitual.add(new RitualComponent(-4, 0, 3, RitualComponent.EARTH)); - featheredKnifeRitual.add(new RitualComponent(3, 0, -4, RitualComponent.EARTH)); - featheredKnifeRitual.add(new RitualComponent(4, 0, -3, RitualComponent.EARTH)); - featheredKnifeRitual.add(new RitualComponent(-3, 0, 4, RitualComponent.EARTH)); - featheredKnifeRitual.add(new RitualComponent(-4, 0, -3, RitualComponent.EARTH)); - featheredKnifeRitual.add(new RitualComponent(-3, 0, -4, RitualComponent.EARTH)); - featheredKnifeRitual.add(new RitualComponent(3, 0, 3, RitualComponent.AIR)); - featheredKnifeRitual.add(new RitualComponent(3, 0, -3, RitualComponent.AIR)); - featheredKnifeRitual.add(new RitualComponent(-3, 0, 3, RitualComponent.AIR)); - featheredKnifeRitual.add(new RitualComponent(-3, 0, -3, RitualComponent.AIR)); - ArrayList featheredEarthRitual = new ArrayList(); - featheredEarthRitual.add(new RitualComponent(1, 0, 0, RitualComponent.DUSK)); - featheredEarthRitual.add(new RitualComponent(-1, 0, 0, RitualComponent.DUSK)); - featheredEarthRitual.add(new RitualComponent(0, 0, 1, RitualComponent.DUSK)); - featheredEarthRitual.add(new RitualComponent(0, 0, -1, RitualComponent.DUSK)); - featheredEarthRitual.add(new RitualComponent(2, 0, 2, RitualComponent.AIR)); - featheredEarthRitual.add(new RitualComponent(-2, 0, 2, RitualComponent.AIR)); - featheredEarthRitual.add(new RitualComponent(-2, 0, -2, RitualComponent.AIR)); - featheredEarthRitual.add(new RitualComponent(2, 0, -2, RitualComponent.AIR)); - featheredEarthRitual.add(new RitualComponent(1, 0, 3, RitualComponent.EARTH)); - featheredEarthRitual.add(new RitualComponent(0, 0, 3, RitualComponent.EARTH)); - featheredEarthRitual.add(new RitualComponent(-1, 0, 3, RitualComponent.EARTH)); - featheredEarthRitual.add(new RitualComponent(1, 0, -3, RitualComponent.EARTH)); - featheredEarthRitual.add(new RitualComponent(0, 0, -3, RitualComponent.EARTH)); - featheredEarthRitual.add(new RitualComponent(-1, 0, -3, RitualComponent.EARTH)); - featheredEarthRitual.add(new RitualComponent(3, 0, 1, RitualComponent.EARTH)); - featheredEarthRitual.add(new RitualComponent(3, 0, 0, RitualComponent.EARTH)); - featheredEarthRitual.add(new RitualComponent(3, 0, -1, RitualComponent.EARTH)); - featheredEarthRitual.add(new RitualComponent(-3, 0, 1, RitualComponent.EARTH)); - featheredEarthRitual.add(new RitualComponent(-3, 0, 0, RitualComponent.EARTH)); - featheredEarthRitual.add(new RitualComponent(-3, 0, -1, RitualComponent.EARTH)); - featheredEarthRitual.add(new RitualComponent(4, 4, 4, RitualComponent.FIRE)); - featheredEarthRitual.add(new RitualComponent(-4, 4, 4, RitualComponent.FIRE)); - featheredEarthRitual.add(new RitualComponent(-4, 4, -4, RitualComponent.FIRE)); - featheredEarthRitual.add(new RitualComponent(4, 4, -4, RitualComponent.FIRE)); - featheredEarthRitual.add(new RitualComponent(4, 5, 5, RitualComponent.AIR)); - featheredEarthRitual.add(new RitualComponent(4, 5, 3, RitualComponent.AIR)); - featheredEarthRitual.add(new RitualComponent(5, 5, 4, RitualComponent.AIR)); - featheredEarthRitual.add(new RitualComponent(3, 5, 4, RitualComponent.AIR)); - featheredEarthRitual.add(new RitualComponent(-4, 5, 5, RitualComponent.AIR)); - featheredEarthRitual.add(new RitualComponent(-4, 5, 3, RitualComponent.AIR)); - featheredEarthRitual.add(new RitualComponent(-5, 5, 4, RitualComponent.AIR)); - featheredEarthRitual.add(new RitualComponent(-3, 5, 4, RitualComponent.AIR)); - featheredEarthRitual.add(new RitualComponent(4, 5, -5, RitualComponent.AIR)); - featheredEarthRitual.add(new RitualComponent(4, 5, -3, RitualComponent.AIR)); - featheredEarthRitual.add(new RitualComponent(5, 5, -4, RitualComponent.AIR)); - featheredEarthRitual.add(new RitualComponent(3, 5, -4, RitualComponent.AIR)); - featheredEarthRitual.add(new RitualComponent(-4, 5, -5, RitualComponent.AIR)); - featheredEarthRitual.add(new RitualComponent(-4, 5, -3, RitualComponent.AIR)); - featheredEarthRitual.add(new RitualComponent(-5, 5, -4, RitualComponent.AIR)); - featheredEarthRitual.add(new RitualComponent(-3, 5, -4, RitualComponent.AIR)); - //Biome Changer - ArrayList biomeChangerRitual = new ArrayList(); - biomeChangerRitual.add(new RitualComponent(1, 0, -2, RitualComponent.AIR)); - biomeChangerRitual.add(new RitualComponent(1, 0, -3, RitualComponent.AIR)); - biomeChangerRitual.add(new RitualComponent(2, 0, -1, RitualComponent.AIR)); - biomeChangerRitual.add(new RitualComponent(3, 0, -1, RitualComponent.AIR)); - biomeChangerRitual.add(new RitualComponent(1, 0, 2, RitualComponent.AIR)); - biomeChangerRitual.add(new RitualComponent(1, 0, 3, RitualComponent.AIR)); - biomeChangerRitual.add(new RitualComponent(2, 0, 1, RitualComponent.AIR)); - biomeChangerRitual.add(new RitualComponent(3, 0, 1, RitualComponent.AIR)); - biomeChangerRitual.add(new RitualComponent(-1, 0, -2, RitualComponent.AIR)); - biomeChangerRitual.add(new RitualComponent(-1, 0, -3, RitualComponent.AIR)); - biomeChangerRitual.add(new RitualComponent(-2, 0, -1, RitualComponent.AIR)); - biomeChangerRitual.add(new RitualComponent(-3, 0, -1, RitualComponent.AIR)); - biomeChangerRitual.add(new RitualComponent(-1, 0, 2, RitualComponent.AIR)); - biomeChangerRitual.add(new RitualComponent(-1, 0, 3, RitualComponent.AIR)); - biomeChangerRitual.add(new RitualComponent(-2, 0, 1, RitualComponent.AIR)); - biomeChangerRitual.add(new RitualComponent(-3, 0, 1, RitualComponent.AIR)); - biomeChangerRitual.add(new RitualComponent(3, 0, -3, RitualComponent.EARTH)); - biomeChangerRitual.add(new RitualComponent(3, 0, -4, RitualComponent.EARTH)); - biomeChangerRitual.add(new RitualComponent(4, 0, -3, RitualComponent.EARTH)); - biomeChangerRitual.add(new RitualComponent(4, 0, -5, RitualComponent.FIRE)); - biomeChangerRitual.add(new RitualComponent(5, 0, -4, RitualComponent.FIRE)); - biomeChangerRitual.add(new RitualComponent(3, 0, 3, RitualComponent.EARTH)); - biomeChangerRitual.add(new RitualComponent(3, 0, 4, RitualComponent.EARTH)); - biomeChangerRitual.add(new RitualComponent(4, 0, 3, RitualComponent.EARTH)); - biomeChangerRitual.add(new RitualComponent(4, 0, 5, RitualComponent.FIRE)); - biomeChangerRitual.add(new RitualComponent(5, 0, 4, RitualComponent.FIRE)); - biomeChangerRitual.add(new RitualComponent(-3, 0, 3, RitualComponent.EARTH)); - biomeChangerRitual.add(new RitualComponent(-3, 0, 4, RitualComponent.EARTH)); - biomeChangerRitual.add(new RitualComponent(-4, 0, 3, RitualComponent.EARTH)); - biomeChangerRitual.add(new RitualComponent(-4, 0, 5, RitualComponent.FIRE)); - biomeChangerRitual.add(new RitualComponent(-5, 0, 4, RitualComponent.FIRE)); - biomeChangerRitual.add(new RitualComponent(-3, 0, -3, RitualComponent.EARTH)); - biomeChangerRitual.add(new RitualComponent(-3, 0, -4, RitualComponent.EARTH)); - biomeChangerRitual.add(new RitualComponent(-4, 0, -3, RitualComponent.EARTH)); - biomeChangerRitual.add(new RitualComponent(-4, 0, -5, RitualComponent.FIRE)); - biomeChangerRitual.add(new RitualComponent(-5, 0, -4, RitualComponent.FIRE)); - biomeChangerRitual.add(new RitualComponent(0, 0, -5, RitualComponent.WATER)); - biomeChangerRitual.add(new RitualComponent(-1, 0, -6, RitualComponent.WATER)); - biomeChangerRitual.add(new RitualComponent(1, 0, -6, RitualComponent.WATER)); - biomeChangerRitual.add(new RitualComponent(-1, 0, -8, RitualComponent.BLANK)); - biomeChangerRitual.add(new RitualComponent(0, 0, -8, RitualComponent.BLANK)); - biomeChangerRitual.add(new RitualComponent(1, 0, -8, RitualComponent.BLANK)); - biomeChangerRitual.add(new RitualComponent(-1, 0, -10, RitualComponent.DUSK)); - biomeChangerRitual.add(new RitualComponent(0, 0, -10, RitualComponent.DUSK)); - biomeChangerRitual.add(new RitualComponent(1, 0, -10, RitualComponent.DUSK)); - biomeChangerRitual.add(new RitualComponent(0, 0, 5, RitualComponent.WATER)); - biomeChangerRitual.add(new RitualComponent(-1, 0, 6, RitualComponent.WATER)); - biomeChangerRitual.add(new RitualComponent(1, 0, 6, RitualComponent.WATER)); - biomeChangerRitual.add(new RitualComponent(-1, 0, 8, RitualComponent.BLANK)); - biomeChangerRitual.add(new RitualComponent(0, 0, 8, RitualComponent.BLANK)); - biomeChangerRitual.add(new RitualComponent(1, 0, 8, RitualComponent.BLANK)); - biomeChangerRitual.add(new RitualComponent(-1, 0, 10, RitualComponent.DUSK)); - biomeChangerRitual.add(new RitualComponent(0, 0, 10, RitualComponent.DUSK)); - biomeChangerRitual.add(new RitualComponent(1, 0, 10, RitualComponent.DUSK)); - biomeChangerRitual.add(new RitualComponent(-5, 0, 0, RitualComponent.WATER)); - biomeChangerRitual.add(new RitualComponent(-6, 0, -1, RitualComponent.WATER)); - biomeChangerRitual.add(new RitualComponent(-6, 0, 1, RitualComponent.WATER)); - biomeChangerRitual.add(new RitualComponent(-8, 0, -1, RitualComponent.BLANK)); - biomeChangerRitual.add(new RitualComponent(-8, 0, 0, RitualComponent.BLANK)); - biomeChangerRitual.add(new RitualComponent(-8, 0, 1, RitualComponent.BLANK)); - biomeChangerRitual.add(new RitualComponent(-10, 0, -1, RitualComponent.DUSK)); - biomeChangerRitual.add(new RitualComponent(-10, 0, 0, RitualComponent.DUSK)); - biomeChangerRitual.add(new RitualComponent(-10, 0, 1, RitualComponent.DUSK)); - biomeChangerRitual.add(new RitualComponent(5, 0, 0, RitualComponent.WATER)); - biomeChangerRitual.add(new RitualComponent(6, 0, -1, RitualComponent.WATER)); - biomeChangerRitual.add(new RitualComponent(6, 0, 1, RitualComponent.WATER)); - biomeChangerRitual.add(new RitualComponent(8, 0, -1, RitualComponent.BLANK)); - biomeChangerRitual.add(new RitualComponent(8, 0, 0, RitualComponent.BLANK)); - biomeChangerRitual.add(new RitualComponent(8, 0, 1, RitualComponent.BLANK)); - biomeChangerRitual.add(new RitualComponent(10, 0, -1, RitualComponent.DUSK)); - biomeChangerRitual.add(new RitualComponent(10, 0, 0, RitualComponent.DUSK)); - biomeChangerRitual.add(new RitualComponent(10, 0, 1, RitualComponent.DUSK)); - biomeChangerRitual.add(new RitualComponent(6, 0, -6, RitualComponent.AIR)); - biomeChangerRitual.add(new RitualComponent(6, 0, -7, RitualComponent.AIR)); - biomeChangerRitual.add(new RitualComponent(7, 0, -6, RitualComponent.AIR)); - biomeChangerRitual.add(new RitualComponent(7, 0, -5, RitualComponent.EARTH)); - biomeChangerRitual.add(new RitualComponent(5, 0, -7, RitualComponent.EARTH)); - biomeChangerRitual.add(new RitualComponent(8, 0, -5, RitualComponent.DUSK)); - biomeChangerRitual.add(new RitualComponent(8, 0, -4, RitualComponent.EARTH)); - biomeChangerRitual.add(new RitualComponent(9, 0, -4, RitualComponent.EARTH)); - biomeChangerRitual.add(new RitualComponent(5, 0, -8, RitualComponent.DUSK)); - biomeChangerRitual.add(new RitualComponent(4, 0, -8, RitualComponent.EARTH)); - biomeChangerRitual.add(new RitualComponent(4, 0, -9, RitualComponent.EARTH)); - biomeChangerRitual.add(new RitualComponent(-6, 0, 6, RitualComponent.AIR)); - biomeChangerRitual.add(new RitualComponent(-6, 0, 7, RitualComponent.AIR)); - biomeChangerRitual.add(new RitualComponent(-7, 0, 6, RitualComponent.AIR)); - biomeChangerRitual.add(new RitualComponent(-7, 0, 5, RitualComponent.EARTH)); - biomeChangerRitual.add(new RitualComponent(-5, 0, 7, RitualComponent.EARTH)); - biomeChangerRitual.add(new RitualComponent(-8, 0, 5, RitualComponent.DUSK)); - biomeChangerRitual.add(new RitualComponent(-8, 0, 4, RitualComponent.EARTH)); - biomeChangerRitual.add(new RitualComponent(-9, 0, 4, RitualComponent.EARTH)); - biomeChangerRitual.add(new RitualComponent(-5, 0, 8, RitualComponent.DUSK)); - biomeChangerRitual.add(new RitualComponent(-4, 0, 8, RitualComponent.EARTH)); - biomeChangerRitual.add(new RitualComponent(-4, 0, 9, RitualComponent.EARTH)); - biomeChangerRitual.add(new RitualComponent(6, 0, 6, RitualComponent.FIRE)); - biomeChangerRitual.add(new RitualComponent(6, 0, 7, RitualComponent.FIRE)); - biomeChangerRitual.add(new RitualComponent(7, 0, 6, RitualComponent.FIRE)); - biomeChangerRitual.add(new RitualComponent(7, 0, 5, RitualComponent.WATER)); - biomeChangerRitual.add(new RitualComponent(5, 0, 7, RitualComponent.WATER)); - biomeChangerRitual.add(new RitualComponent(8, 0, 5, RitualComponent.DUSK)); - biomeChangerRitual.add(new RitualComponent(8, 0, 4, RitualComponent.WATER)); - biomeChangerRitual.add(new RitualComponent(9, 0, 4, RitualComponent.WATER)); - biomeChangerRitual.add(new RitualComponent(5, 0, 8, RitualComponent.DUSK)); - biomeChangerRitual.add(new RitualComponent(4, 0, 8, RitualComponent.WATER)); - biomeChangerRitual.add(new RitualComponent(4, 0, 9, RitualComponent.WATER)); - biomeChangerRitual.add(new RitualComponent(-6, 0, -6, RitualComponent.FIRE)); - biomeChangerRitual.add(new RitualComponent(-6, 0, -7, RitualComponent.FIRE)); - biomeChangerRitual.add(new RitualComponent(-7, 0, -6, RitualComponent.FIRE)); - biomeChangerRitual.add(new RitualComponent(-7, 0, -5, RitualComponent.WATER)); - biomeChangerRitual.add(new RitualComponent(-5, 0, -7, RitualComponent.WATER)); - biomeChangerRitual.add(new RitualComponent(-8, 0, -5, RitualComponent.DUSK)); - biomeChangerRitual.add(new RitualComponent(-8, 0, -4, RitualComponent.WATER)); - biomeChangerRitual.add(new RitualComponent(-9, 0, -4, RitualComponent.WATER)); - biomeChangerRitual.add(new RitualComponent(-5, 0, -8, RitualComponent.DUSK)); - biomeChangerRitual.add(new RitualComponent(-4, 0, -8, RitualComponent.WATER)); - biomeChangerRitual.add(new RitualComponent(-4, 0, -9, RitualComponent.WATER)); - ArrayList flightRitual = new ArrayList(); - flightRitual.add(new RitualComponent(1, 0, 0, RitualComponent.DUSK)); - flightRitual.add(new RitualComponent(-1, 0, 0, RitualComponent.DUSK)); - flightRitual.add(new RitualComponent(0, 0, 1, RitualComponent.DUSK)); - flightRitual.add(new RitualComponent(0, 0, -1, RitualComponent.DUSK)); - flightRitual.add(new RitualComponent(2, 0, 2, RitualComponent.AIR)); - flightRitual.add(new RitualComponent(-2, 0, 2, RitualComponent.AIR)); - flightRitual.add(new RitualComponent(-2, 0, -2, RitualComponent.AIR)); - flightRitual.add(new RitualComponent(2, 0, -2, RitualComponent.AIR)); - flightRitual.add(new RitualComponent(1, 0, 3, RitualComponent.EARTH)); - flightRitual.add(new RitualComponent(0, 0, 3, RitualComponent.EARTH)); - flightRitual.add(new RitualComponent(-1, 0, 3, RitualComponent.EARTH)); - flightRitual.add(new RitualComponent(1, 0, -3, RitualComponent.EARTH)); - flightRitual.add(new RitualComponent(0, 0, -3, RitualComponent.EARTH)); - flightRitual.add(new RitualComponent(-1, 0, -3, RitualComponent.EARTH)); - flightRitual.add(new RitualComponent(3, 0, 1, RitualComponent.EARTH)); - flightRitual.add(new RitualComponent(3, 0, 0, RitualComponent.EARTH)); - flightRitual.add(new RitualComponent(3, 0, -1, RitualComponent.EARTH)); - flightRitual.add(new RitualComponent(-3, 0, 1, RitualComponent.EARTH)); - flightRitual.add(new RitualComponent(-3, 0, 0, RitualComponent.EARTH)); - flightRitual.add(new RitualComponent(-3, 0, -1, RitualComponent.EARTH)); - flightRitual.add(new RitualComponent(-3, 0, -4, RitualComponent.WATER)); - flightRitual.add(new RitualComponent(-4, 0, -3, RitualComponent.WATER)); - flightRitual.add(new RitualComponent(-3, 0, 4, RitualComponent.WATER)); - flightRitual.add(new RitualComponent(4, 0, -3, RitualComponent.WATER)); - flightRitual.add(new RitualComponent(3, 0, -4, RitualComponent.WATER)); - flightRitual.add(new RitualComponent(-4, 0, 3, RitualComponent.WATER)); - flightRitual.add(new RitualComponent(3, 0, 4, RitualComponent.WATER)); - flightRitual.add(new RitualComponent(4, 0, 3, RitualComponent.WATER)); - flightRitual.add(new RitualComponent(-1, 1, 0, RitualComponent.FIRE)); - flightRitual.add(new RitualComponent(1, 1, 0, RitualComponent.FIRE)); - flightRitual.add(new RitualComponent(0, 1, -1, RitualComponent.FIRE)); - flightRitual.add(new RitualComponent(0, 1, 1, RitualComponent.FIRE)); - flightRitual.add(new RitualComponent(-2, 1, 0, RitualComponent.BLANK)); - flightRitual.add(new RitualComponent(2, 1, 0, RitualComponent.BLANK)); - flightRitual.add(new RitualComponent(0, 1, -2, RitualComponent.BLANK)); - flightRitual.add(new RitualComponent(0, 1, 2, RitualComponent.BLANK)); - flightRitual.add(new RitualComponent(-4, 1, 0, RitualComponent.BLANK)); - flightRitual.add(new RitualComponent(4, 1, 0, RitualComponent.BLANK)); - flightRitual.add(new RitualComponent(0, 1, -4, RitualComponent.BLANK)); - flightRitual.add(new RitualComponent(0, 1, 4, RitualComponent.BLANK)); - flightRitual.add(new RitualComponent(-5, 1, 0, RitualComponent.AIR)); - flightRitual.add(new RitualComponent(5, 1, 0, RitualComponent.AIR)); - flightRitual.add(new RitualComponent(0, 1, -5, RitualComponent.AIR)); - flightRitual.add(new RitualComponent(0, 1, 5, RitualComponent.AIR)); - flightRitual.add(new RitualComponent(5, 0, 0, RitualComponent.DUSK)); - flightRitual.add(new RitualComponent(-5, 0, 0, RitualComponent.DUSK)); - flightRitual.add(new RitualComponent(0, 0, 5, RitualComponent.DUSK)); - flightRitual.add(new RitualComponent(0, 0, -5, RitualComponent.DUSK)); - - for (int i = 2; i <= 4; i++) - { - flightRitual.add(new RitualComponent(-i, 2, 0, RitualComponent.EARTH)); - flightRitual.add(new RitualComponent(i, 2, 0, RitualComponent.EARTH)); - flightRitual.add(new RitualComponent(0, 2, -i, RitualComponent.EARTH)); - flightRitual.add(new RitualComponent(0, 2, i, RitualComponent.EARTH)); - } - - flightRitual.add(new RitualComponent(2, 4, 1, RitualComponent.FIRE)); - flightRitual.add(new RitualComponent(1, 4, 2, RitualComponent.FIRE)); - flightRitual.add(new RitualComponent(-2, 4, 1, RitualComponent.FIRE)); - flightRitual.add(new RitualComponent(1, 4, -2, RitualComponent.FIRE)); - flightRitual.add(new RitualComponent(2, 4, -1, RitualComponent.FIRE)); - flightRitual.add(new RitualComponent(-1, 4, 2, RitualComponent.FIRE)); - flightRitual.add(new RitualComponent(-2, 4, -1, RitualComponent.FIRE)); - flightRitual.add(new RitualComponent(-1, 4, -2, RitualComponent.FIRE)); - flightRitual.add(new RitualComponent(2, 4, 2, RitualComponent.AIR)); - flightRitual.add(new RitualComponent(-2, 4, 2, RitualComponent.AIR)); - flightRitual.add(new RitualComponent(2, 4, -2, RitualComponent.AIR)); - flightRitual.add(new RitualComponent(-2, 4, -2, RitualComponent.AIR)); - flightRitual.add(new RitualComponent(-4, 2, -4, RitualComponent.FIRE)); - flightRitual.add(new RitualComponent(4, 2, 4, RitualComponent.FIRE)); - flightRitual.add(new RitualComponent(4, 2, -4, RitualComponent.FIRE)); - flightRitual.add(new RitualComponent(-4, 2, 4, RitualComponent.FIRE)); - - for (int i = -1; i <= 1; i++) - { - flightRitual.add(new RitualComponent(3, 4, i, RitualComponent.EARTH)); - flightRitual.add(new RitualComponent(-3, 4, i, RitualComponent.EARTH)); - flightRitual.add(new RitualComponent(i, 4, 3, RitualComponent.EARTH)); - flightRitual.add(new RitualComponent(i, 4, -3, RitualComponent.EARTH)); - } - - ArrayList meteorRitual = new ArrayList(); - meteorRitual.add(new RitualComponent(2, 0, 0, RitualComponent.FIRE)); - meteorRitual.add(new RitualComponent(-2, 0, 0, RitualComponent.FIRE)); - meteorRitual.add(new RitualComponent(0, 0, 2, RitualComponent.FIRE)); - meteorRitual.add(new RitualComponent(0, 0, -2, RitualComponent.FIRE)); - meteorRitual.add(new RitualComponent(3, 0, 1, RitualComponent.AIR)); - meteorRitual.add(new RitualComponent(3, 0, -1, RitualComponent.AIR)); - meteorRitual.add(new RitualComponent(-3, 0, 1, RitualComponent.AIR)); - meteorRitual.add(new RitualComponent(-3, 0, -1, RitualComponent.AIR)); - meteorRitual.add(new RitualComponent(1, 0, 3, RitualComponent.AIR)); - meteorRitual.add(new RitualComponent(-1, 0, 3, RitualComponent.AIR)); - meteorRitual.add(new RitualComponent(1, 0, -3, RitualComponent.AIR)); - meteorRitual.add(new RitualComponent(-1, 0, -3, RitualComponent.AIR)); - meteorRitual.add(new RitualComponent(4, 0, 2, RitualComponent.AIR)); - meteorRitual.add(new RitualComponent(4, 0, -2, RitualComponent.AIR)); - meteorRitual.add(new RitualComponent(-4, 0, 2, RitualComponent.AIR)); - meteorRitual.add(new RitualComponent(-4, 0, -2, RitualComponent.AIR)); - meteorRitual.add(new RitualComponent(2, 0, 4, RitualComponent.AIR)); - meteorRitual.add(new RitualComponent(-2, 0, 4, RitualComponent.AIR)); - meteorRitual.add(new RitualComponent(2, 0, -4, RitualComponent.AIR)); - meteorRitual.add(new RitualComponent(-2, 0, -4, RitualComponent.AIR)); - meteorRitual.add(new RitualComponent(5, 0, 3, RitualComponent.DUSK)); - meteorRitual.add(new RitualComponent(5, 0, -3, RitualComponent.DUSK)); - meteorRitual.add(new RitualComponent(-5, 0, 3, RitualComponent.DUSK)); - meteorRitual.add(new RitualComponent(-5, 0, -3, RitualComponent.DUSK)); - meteorRitual.add(new RitualComponent(3, 0, 5, RitualComponent.DUSK)); - meteorRitual.add(new RitualComponent(-3, 0, 5, RitualComponent.DUSK)); - meteorRitual.add(new RitualComponent(3, 0, -5, RitualComponent.DUSK)); - meteorRitual.add(new RitualComponent(-3, 0, -5, RitualComponent.DUSK)); - meteorRitual.add(new RitualComponent(-4, 0, -4, RitualComponent.DUSK)); - meteorRitual.add(new RitualComponent(-4, 0, 4, RitualComponent.DUSK)); - meteorRitual.add(new RitualComponent(4, 0, 4, RitualComponent.DUSK)); - meteorRitual.add(new RitualComponent(4, 0, -4, RitualComponent.DUSK)); - - for (int i = 4; i <= 6; i++) - { - meteorRitual.add(new RitualComponent(i, 0, 0, RitualComponent.EARTH)); - meteorRitual.add(new RitualComponent(-i, 0, 0, RitualComponent.EARTH)); - meteorRitual.add(new RitualComponent(0, 0, i, RitualComponent.EARTH)); - meteorRitual.add(new RitualComponent(0, 0, -i, RitualComponent.EARTH)); - } - - meteorRitual.add(new RitualComponent(8, 0, 0, RitualComponent.EARTH)); - meteorRitual.add(new RitualComponent(-8, 0, 0, RitualComponent.EARTH)); - meteorRitual.add(new RitualComponent(0, 0, 8, RitualComponent.EARTH)); - meteorRitual.add(new RitualComponent(0, 0, -8, RitualComponent.EARTH)); - meteorRitual.add(new RitualComponent(8, 1, 0, RitualComponent.EARTH)); - meteorRitual.add(new RitualComponent(-8, 1, 0, RitualComponent.EARTH)); - meteorRitual.add(new RitualComponent(0, 1, 8, RitualComponent.EARTH)); - meteorRitual.add(new RitualComponent(0, 1, -8, RitualComponent.EARTH)); - meteorRitual.add(new RitualComponent(7, 1, 0, RitualComponent.EARTH)); - meteorRitual.add(new RitualComponent(-7, 1, 0, RitualComponent.EARTH)); - meteorRitual.add(new RitualComponent(0, 1, 7, RitualComponent.EARTH)); - meteorRitual.add(new RitualComponent(0, 1, -7, RitualComponent.EARTH)); - meteorRitual.add(new RitualComponent(7, 2, 0, RitualComponent.FIRE)); - meteorRitual.add(new RitualComponent(-7, 2, 0, RitualComponent.FIRE)); - meteorRitual.add(new RitualComponent(0, 2, 7, RitualComponent.FIRE)); - meteorRitual.add(new RitualComponent(0, 2, -7, RitualComponent.FIRE)); - meteorRitual.add(new RitualComponent(6, 2, 0, RitualComponent.FIRE)); - meteorRitual.add(new RitualComponent(-6, 2, 0, RitualComponent.FIRE)); - meteorRitual.add(new RitualComponent(0, 2, 6, RitualComponent.FIRE)); - meteorRitual.add(new RitualComponent(0, 2, -6, RitualComponent.FIRE)); - meteorRitual.add(new RitualComponent(6, 3, 0, RitualComponent.WATER)); - meteorRitual.add(new RitualComponent(-6, 3, 0, RitualComponent.WATER)); - meteorRitual.add(new RitualComponent(0, 3, 6, RitualComponent.WATER)); - meteorRitual.add(new RitualComponent(0, 3, -6, RitualComponent.WATER)); - meteorRitual.add(new RitualComponent(5, 3, 0, RitualComponent.WATER)); - meteorRitual.add(new RitualComponent(-5, 3, 0, RitualComponent.WATER)); - meteorRitual.add(new RitualComponent(0, 3, 5, RitualComponent.WATER)); - meteorRitual.add(new RitualComponent(0, 3, -5, RitualComponent.WATER)); - meteorRitual.add(new RitualComponent(5, 4, 0, RitualComponent.AIR)); - meteorRitual.add(new RitualComponent(-5, 4, 0, RitualComponent.AIR)); - meteorRitual.add(new RitualComponent(0, 4, 5, RitualComponent.AIR)); - meteorRitual.add(new RitualComponent(0, 4, -5, RitualComponent.AIR)); - - for (int i = -1; i <= 1; i++) - { - meteorRitual.add(new RitualComponent(i, 4, 4, RitualComponent.AIR)); - meteorRitual.add(new RitualComponent(i, 4, -4, RitualComponent.AIR)); - meteorRitual.add(new RitualComponent(4, 4, i, RitualComponent.AIR)); - meteorRitual.add(new RitualComponent(-4, 4, i, RitualComponent.AIR)); - } - - meteorRitual.add(new RitualComponent(2, 4, 4, RitualComponent.WATER)); - meteorRitual.add(new RitualComponent(4, 4, 2, RitualComponent.WATER)); - meteorRitual.add(new RitualComponent(2, 4, -4, RitualComponent.WATER)); - meteorRitual.add(new RitualComponent(-4, 4, 2, RitualComponent.WATER)); - meteorRitual.add(new RitualComponent(-2, 4, 4, RitualComponent.WATER)); - meteorRitual.add(new RitualComponent(4, 4, -2, RitualComponent.WATER)); - meteorRitual.add(new RitualComponent(-2, 4, -4, RitualComponent.WATER)); - meteorRitual.add(new RitualComponent(-4, 4, -2, RitualComponent.WATER)); - meteorRitual.add(new RitualComponent(2, 4, 3, RitualComponent.FIRE)); - meteorRitual.add(new RitualComponent(3, 4, 2, RitualComponent.FIRE)); - meteorRitual.add(new RitualComponent(3, 4, 3, RitualComponent.FIRE)); - meteorRitual.add(new RitualComponent(-2, 4, 3, RitualComponent.FIRE)); - meteorRitual.add(new RitualComponent(3, 4, -2, RitualComponent.FIRE)); - meteorRitual.add(new RitualComponent(3, 4, -3, RitualComponent.FIRE)); - meteorRitual.add(new RitualComponent(2, 4, -3, RitualComponent.FIRE)); - meteorRitual.add(new RitualComponent(-3, 4, 2, RitualComponent.FIRE)); - meteorRitual.add(new RitualComponent(-3, 4, 3, RitualComponent.FIRE)); - meteorRitual.add(new RitualComponent(-2, 4, -3, RitualComponent.FIRE)); - meteorRitual.add(new RitualComponent(-3, 4, -2, RitualComponent.FIRE)); - meteorRitual.add(new RitualComponent(-3, 4, -3, RitualComponent.FIRE)); - - ArrayList apiaryRitual = new ArrayList(); - apiaryRitual.add(new RitualComponent(1,0,0, RitualComponent.DUSK)); - apiaryRitual.add(new RitualComponent(1,0,1, RitualComponent.DUSK)); - apiaryRitual.add(new RitualComponent(1,0,-1, RitualComponent.DUSK)); - apiaryRitual.add(new RitualComponent(-1,0,-1, RitualComponent.DUSK)); - apiaryRitual.add(new RitualComponent(-1,0,1, RitualComponent.DUSK)); - apiaryRitual.add(new RitualComponent(-1,0,0, RitualComponent.DUSK)); - apiaryRitual.add(new RitualComponent(0,0,-1, RitualComponent.DUSK)); - apiaryRitual.add(new RitualComponent(0,0,1, RitualComponent.DUSK)); - - - ritualList.add(new Rituals(waterRitual, 1, 500, new RitualEffectWater(), "Ritual of the Full Spring")); - ritualList.add(new Rituals(lavaRitual, 1, 10000, new RitualEffectLava(), "Serenade of the Nether")); - ritualList.add(new Rituals(growthRitual, 1, 1000, new RitualEffectGrowth(), "Ritual of the Green Grove")); - ritualList.add(new Rituals(interdictionRitual, 1, 1000, new RitualEffectInterdiction(), "Interdiction Ritual")); - ritualList.add(new Rituals(containmentRitual, 1, 2000, new RitualEffectContainment(), "Ritual of Containment")); - ritualList.add(new Rituals(boundSoulRitual, 1, 5000, new RitualEffectSoulBound(), "Ritual of Binding")); - ritualList.add(new Rituals(unbindingRitual, 1, 30000, new RitualEffectUnbinding(), "Ritual of Unbinding")); - ritualList.add(new Rituals(jumpingRitual, 1, 1000, new RitualEffectJumping(), "Ritual of the High Jump")); - ritualList.add(new Rituals(magneticRitual, 1, 5000, new RitualEffectMagnetic(), "Ritual of Magnetism")); - ritualList.add(new Rituals(crushingRitual, 1, 2500, new RitualEffectCrushing(), "Ritual of the Crusher")); - ritualList.add(new Rituals(leapingRitual, 1, 1000, new RitualEffectLeap(), "Ritual of Speed")); - ritualList.add(new Rituals(animalGrowthRitual, 1, 10000, new RitualEffectAnimalGrowth(), "Ritual of the Shepherd")); - ritualList.add(new Rituals(wellOfSufferingRitual, 1, 50000, new RitualEffectWellOfSuffering(), "Well of Suffering")); - ritualList.add(new Rituals(healingRitual, 1, 25000, new RitualEffectHealing(), "Ritual of Regeneration")); - ritualList.add(new Rituals(featheredKnifeRitual, 1, 50000, new RitualEffectFeatheredKnife(), "Ritual of the Feathered Knife")); - ritualList.add(new Rituals(featheredEarthRitual, 2, 100000, new RitualEffectFeatheredEarth(), "Ritual of the Feathered Earth")); - ritualList.add(new Rituals(biomeChangerRitual, 2, 1000000, new RitualEffectBiomeChanger(), "Ritual of Gaia's Transformation")); - ritualList.add(new Rituals(flightRitual, 2, 1000000, new RitualEffectFlight(), "Reverence of the Condor")); - ritualList.add(new Rituals(meteorRitual, 2, 1000000, new RitualEffectSummonMeteor(), "Mark of the Falling Tower")); - ritualList.add(new Rituals(apiaryRitual,1,100,new RitualEffectApiaryOverclock(),"Apiary Overclock")); - } - - public static int getCostForActivation(int ritualID) - { - if (ritualID <= ritualList.size()) - { - return ritualList.get(ritualID - 1).actCost; - } else - { - return 0; - } - -// switch (ritualID) -// { -// case 1: -// return 500; -// -// case 2: -// return 20000; -// -// case 3: -// return 250; -// -// case 4: -// return 1000; -// -// case 5: -// return 2000; -// -// case 6: -// return 5000; -// -// case 7: -// return 50000; -// -// case 8: -// return 1000; -// default: -// return 0; -// } - } - -// public static int getCostPerRefresh(int ritualID) -// { -// switch (ritualID) -// { -// case 1: -// return 25; -// -// case 2: -// return 500; -// -// case 3: -// return 20; -// -// case 4: -// return 1; -// -// case 5: -// return 1; -// -// case 6: -// return 0; -// -// case 7: -// return 0; -// -// case 8: -// return 1; -// -// default: -// return 0; -// } -// } - - public static int getInitialCooldown(int ritualID) - { - if (ritualID <= ritualList.size()) - { - RitualEffect ef = ritualList.get(ritualID - 1).effect; - - if (ef != null) - { - OreDictionary d; - return ef.getInitialCooldown(); - } - } - - return 0; - } - - public static List getRitualList(int ritualID) - { - if (ritualID <= ritualList.size()) - { - return ritualList.get(ritualID - 1).obtainComponents(); - } else - { - return null; - } - -// switch (ritualID) -// { -// case 1: -// return waterRitual; -// -// case 2: -// return lavaRitual; -// -// case 3: -// return growthRitual; -// -// case 4: -// return interdictionRitual; -// -// case 5: -// return containmentRitual; -// -// case 6: -// return boundSoulRitual; -// -// case 7: -// return unbindingRitual; -// -// case 8: -// return jumpingRitual; -// -// default: -// return null; -// } - } - - private List obtainComponents() - { - return this.components; - } - - private int getCrystalLevel() - { - return this.crystalLevel; - } - - public static void performEffect(TEMasterStone ritualStone, int ritualID) - { - if (ritualID <= ritualList.size()) - { - RitualEffect ef = ritualList.get(ritualID - 1).effect; - - if (ef != null) - { - ef.performEffect(ritualStone); - } - } - } - - public static int getNumberOfRituals() - { - return ritualList.size(); - } - - public String getRitualName() - { - return this.name; - } - - public static String getNameOfRitual(int id) - { - if (ritualList.get(id) != null) - { - return ritualList.get(id).getRitualName(); - } else - { - return ""; - } - } -} diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/SpellHelper.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/SpellHelper.java index 0454570f..d3c01b09 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/SpellHelper.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/SpellHelper.java @@ -16,9 +16,11 @@ import net.minecraft.item.crafting.FurnaceRecipes; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.Vec3; import net.minecraft.world.World; +import net.minecraftforge.common.util.FakePlayer; import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.oredict.OreDictionary; import WayofTime.alchemicalWizardry.AlchemicalWizardry; +import WayofTime.alchemicalWizardry.api.soulNetwork.SoulNetworkHandler; import WayofTime.alchemicalWizardry.common.NewPacketHandler; public class SpellHelper @@ -121,7 +123,7 @@ public class SpellHelper public static String getUsername(EntityPlayer player) { - return player.getDisplayName(); + return SoulNetworkHandler.getUsername(player); } public static void sendParticleToPlayer(EntityPlayer player, String str, double xCoord, double yCoord, double zCoord, double xVel, double yVel, double zVel) @@ -197,6 +199,32 @@ public class SpellHelper } } + public static boolean isFakePlayer(World world, EntityPlayer player) + { + if(world.isRemote) + { + return false; + } + + if(player instanceof FakePlayer || SpellHelper.getUsername(player).contains("[CoFH]")) + { + return true; + } + + String str = player.getClass().getSimpleName(); + if(str.contains("GC")) + { + return false; + } + + if(player.getClass().equals(EntityPlayerMP.class)) + { + return false; + } + + return false; + } + public static void smashBlock(World world, int posX, int posY, int posZ) { Block block = world.getBlock(posX, posY, posZ); diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/summoning/SummoningFallenAngel.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/summoning/SummoningFallenAngel.java index eaea8feb..bade513d 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/summoning/SummoningFallenAngel.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/summoning/SummoningFallenAngel.java @@ -1,5 +1,6 @@ package WayofTime.alchemicalWizardry.common.summoning; +import WayofTime.alchemicalWizardry.api.summoningRegistry.SummoningHelper; import WayofTime.alchemicalWizardry.common.entity.mob.EntityFallenAngel; import net.minecraft.entity.EntityLivingBase; import net.minecraft.world.World; diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/summoning/SummoningHelper.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/summoning/SummoningHelperAW.java similarity index 67% rename from 1.7.2/java/WayofTime/alchemicalWizardry/common/summoning/SummoningHelper.java rename to 1.7.2/java/WayofTime/alchemicalWizardry/common/summoning/SummoningHelperAW.java index b4b459ee..8d615cf1 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/summoning/SummoningHelper.java +++ b/1.7.2/java/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/1.7.2/java/WayofTime/alchemicalWizardry/common/tileEntity/TEAltar.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/tileEntity/TEAltar.java index e94d382d..eda93956 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/tileEntity/TEAltar.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/tileEntity/TEAltar.java @@ -1,9 +1,5 @@ package WayofTime.alchemicalWizardry.common.tileEntity; -import java.io.ByteArrayOutputStream; -import java.io.DataOutputStream; -import java.io.IOException; - import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; import net.minecraft.item.Item; @@ -11,7 +7,6 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.network.Packet; -import net.minecraft.network.play.server.S35PacketUpdateTileEntity; import net.minecraft.server.MinecraftServer; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ChatComponentText; @@ -27,14 +22,13 @@ import net.minecraftforge.fluids.FluidTankInfo; import net.minecraftforge.fluids.IFluidHandler; import net.minecraftforge.fluids.IFluidTank; import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.LifeEssenceNetwork; +import WayofTime.alchemicalWizardry.api.altarRecipeRegistry.AltarRecipe; +import WayofTime.alchemicalWizardry.api.altarRecipeRegistry.AltarRecipeRegistry; +import WayofTime.alchemicalWizardry.api.items.interfaces.IBloodOrb; +import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; import WayofTime.alchemicalWizardry.common.NewPacketHandler; -import WayofTime.alchemicalWizardry.common.altarRecipeRegistry.AltarRecipe; -import WayofTime.alchemicalWizardry.common.altarRecipeRegistry.AltarRecipeRegistry; import WayofTime.alchemicalWizardry.common.bloodAltarUpgrade.AltarUpgradeComponent; import WayofTime.alchemicalWizardry.common.bloodAltarUpgrade.UpgradedAltars; -import WayofTime.alchemicalWizardry.common.items.EnergyBattery; -import WayofTime.alchemicalWizardry.common.items.EnergyItems; import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; public class TEAltar extends TileEntity implements IInventory, IFluidTank, IFluidHandler @@ -583,12 +577,12 @@ public class TEAltar extends TileEntity implements IInventory, IFluidTank, IFlui { ItemStack returnedItem = getStackInSlot(0); - if (!(returnedItem.getItem() instanceof EnergyBattery)) + if (!(returnedItem.getItem() instanceof IBloodOrb)) { return; } - EnergyBattery item = (EnergyBattery) (returnedItem.getItem()); + IBloodOrb item = (IBloodOrb) (returnedItem.getItem()); NBTTagCompound itemTag = returnedItem.stackTagCompound; if (itemTag == null) diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/tileEntity/TEMasterStone.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/tileEntity/TEMasterStone.java index e4e40c82..26429085 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/tileEntity/TEMasterStone.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/tileEntity/TEMasterStone.java @@ -4,11 +4,12 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.server.MinecraftServer; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.common.LifeEssenceNetwork; -import WayofTime.alchemicalWizardry.common.rituals.Rituals; +import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; +import WayofTime.alchemicalWizardry.api.rituals.Rituals; +import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork; import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; -public class TEMasterStone extends TileEntity +public class TEMasterStone extends TileEntity implements IMasterRitualStone { private int currentRitual; private boolean isActive; @@ -26,6 +27,7 @@ public class TEMasterStone extends TileEntity cooldown = 0; var1 = 0; direction = 0; + varString1 = ""; } @Override @@ -38,7 +40,7 @@ public class TEMasterStone extends TileEntity cooldown = par1NBTTagCompound.getInteger("cooldown"); var1 = par1NBTTagCompound.getInteger("var1"); direction = par1NBTTagCompound.getInteger("direction"); - varString1 = par1NBTTagCompound.getString("varString1"); +// varString1 = par1NBTTagCompound.getString("varString1"); } @Override @@ -51,7 +53,7 @@ public class TEMasterStone extends TileEntity par1NBTTagCompound.setInteger("cooldown", cooldown); par1NBTTagCompound.setInteger("var1", var1); par1NBTTagCompound.setInteger("direction", direction); - par1NBTTagCompound.setString(varString1, "varString1"); +// par1NBTTagCompound.setString("varString1", varString1); } public void activateRitual(World world, int crystalLevel) @@ -183,16 +185,6 @@ public class TEMasterStone extends TileEntity { return this.var1; } - - public void setVarString1(String newVar) - { - this.varString1 = newVar; - } - - public String getVarString1() - { - return this.varString1; - } public void setActive(boolean active) { @@ -203,4 +195,28 @@ public class TEMasterStone extends TileEntity { return this.direction; } + + @Override + public World getWorld() + { + return this.getWorldObj(); + } + + @Override + public int getXCoord() + { + return xCoord; + } + + @Override + public int getYCoord() + { + return yCoord; + } + + @Override + public int getZCoord() + { + return zCoord; + } } \ No newline at end of file diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/tileEntity/TEPlinth.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/tileEntity/TEPlinth.java index 43c42cf2..f9cfdbf4 100644 --- a/1.7.2/java/WayofTime/alchemicalWizardry/common/tileEntity/TEPlinth.java +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/tileEntity/TEPlinth.java @@ -16,12 +16,12 @@ import net.minecraft.network.play.server.S35PacketUpdateTileEntity; import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.util.Constants; import net.minecraftforge.oredict.OreDictionary; +import WayofTime.alchemicalWizardry.api.summoningRegistry.SummoningRegistry; +import WayofTime.alchemicalWizardry.api.summoningRegistry.SummoningRegistryComponent; import WayofTime.alchemicalWizardry.common.IDemon; import WayofTime.alchemicalWizardry.common.NewPacketHandler; import WayofTime.alchemicalWizardry.common.PlinthComponent; import WayofTime.alchemicalWizardry.common.items.EnergyBattery; -import WayofTime.alchemicalWizardry.common.summoning.SummoningRegistry; -import WayofTime.alchemicalWizardry.common.summoning.SummoningRegistryComponent; public class TEPlinth extends TileEntity implements IInventory { diff --git a/1.7.2/java/WayofTime/alchemicalWizardry/common/tileEntity/TESpectralContainer.java b/1.7.2/java/WayofTime/alchemicalWizardry/common/tileEntity/TESpectralContainer.java new file mode 100644 index 00000000..25994003 --- /dev/null +++ b/1.7.2/java/WayofTime/alchemicalWizardry/common/tileEntity/TESpectralContainer.java @@ -0,0 +1,149 @@ +package WayofTime.alchemicalWizardry.common.tileEntity; + +import net.minecraft.block.Block; +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import net.minecraftforge.common.util.Constants; +import net.minecraftforge.fluids.IFluidBlock; +import WayofTime.alchemicalWizardry.ModBlocks; + +public class TESpectralContainer extends TileEntity +{ + private ItemStack[] inv; + + private int ticksRemaining; + + public TESpectralContainer() + { + this.inv = new ItemStack[1]; + + ticksRemaining = 0; + } + + @Override + public void readFromNBT(NBTTagCompound par1NBTTagCompound) + { + super.readFromNBT(par1NBTTagCompound); + NBTTagList tagList = par1NBTTagCompound.getTagList("Inventory", Constants.NBT.TAG_COMPOUND); + + for (int i = 0; i < tagList.tagCount(); i++) + { + NBTTagCompound tag = (NBTTagCompound) tagList.getCompoundTagAt(i); + int slot = tag.getByte("Slot"); + + if (slot >= 0 && slot < inv.length) + { + inv[slot] = ItemStack.loadItemStackFromNBT(tag); + } + } + + ticksRemaining = par1NBTTagCompound.getInteger("ticksRemaining"); + } + + @Override + public void writeToNBT(NBTTagCompound par1NBTTagCompound) + { + super.writeToNBT(par1NBTTagCompound); + NBTTagList itemList = new NBTTagList(); + + for (int i = 0; i < inv.length; i++) + { + ItemStack stack = inv[i]; + + if (inv[i] != null) + { + NBTTagCompound tag = new NBTTagCompound(); + tag.setByte("Slot", (byte) i); + inv[i].writeToNBT(tag); + itemList.appendTag(tag); + } + } + + par1NBTTagCompound.setTag("Inventory", itemList); + par1NBTTagCompound.setInteger("ticksRemaining", ticksRemaining); + } + + @Override + public void updateEntity() + { + super.updateEntity(); + + this.ticksRemaining--; + + if(this.ticksRemaining<=0) + { + this.returnContainedBlock(); + } + } + + public static boolean createSpectralBlockAtLocation(World world, int x, int y, int z, int duration) + { + Block block = world.getBlock(x, y, z); + + if(block==null) + { + return false; + } + + if(world.getTileEntity(x, y, z)==null || block instanceof IFluidBlock) + { + int meta = world.getBlockMetadata(x, y, z); + ItemStack item = new ItemStack(block, 1, meta); + + world.setBlock(x, y, z, ModBlocks.blockSpectralContainer); + TileEntity tile = world.getTileEntity(x, y, z); + if(tile instanceof TESpectralContainer) + { + ((TESpectralContainer) tile).setContainedItem(item); + ((TESpectralContainer) tile).setDuration(duration); + return true; + } + } + + return false; + } + + public void setDuration(int dur) + { + this.ticksRemaining = dur; + } + + public void resetDuration(int dur) + { + if(this.ticksRemaining + + + + The Architect + +My name is Tiberius. I was a kid when the demons came for my village during The Wars. They ransacked the houses and turned the shacks into splinters, wielding fire and water to blast the land asunder. I woke up to some travelling merchants that were passing by, equipping the warriors who were futily trying to drive off the demons that still clawed the village. + +I was brought to a village nearby, where a magician named Magus helped tend to my wounds. The magic that he used was something that I had never seen before – it wasn’t Thaumaturgy, nor Alchemy, and it was definitely not Botany. He winked at me once he saw that my eyes were open, holding his finger to his lips. + + + + + Fast-forward several years, and I have learned almost everything from Master Magus, being his third student ever to master his arts. Against his wishes, I have recorded my research and put several wards and spells on this book. So welcome, apprentice. I am known as The Architect, and I am a Blood Mage. + +It took several years of pestering before I managed to convince Magus to teach me. He kept on telling me that, “Magic that uses the life essence of living beings requires patience and preparation in order to master it. One false move, go a little past your natural endurance, and you may find yourself taking a nice vacation in Tartarus.” The thing was, I wanted to go there – I had some unfinished business with the demons. + + + + + The process that Magus originally constructed required powerful artifacts that he constructed himself, but were rather lacking where teaching was concerned. After studying a bit of alchemy and the process of “Equivalent Exchange,” I managed to construct myself an altar that would transmute items inside of its basin into new powerful forms. The only issue was that it needed a worthy catalyst, and so with a prick of the finger I set the Blood Altar alight! + + + + + The Blood Altar + +To start any form of transmutation involving blood, you would need to construct a blood altar and a sacrificial knife, as well as have a solitary diamond in your possession. After placing the blood altar down, Magus advised me to be careful as I filled it slowly with my blood, and said that I would need to be really close to the altar (about a metre) for the knife to work. With about 2 buckets of blood in the altar, which Master Magus reminds me is about 10 hearts worth, I placed the diamond inside of the altar by activating it with the diamond in hand. + +The blood dissipated in a cloud of red swirls as I waited for the atoms of the diamond to shift and reform. There were a few + + + + + moments where the particles turned gray, which meant that the altar was empty and I had to hurry to fill it. After the diamond burst in a shower of red particles, what finally sat in the altar was a Weak Blood Orb. + + + + + + Blood Altar + + bloodAltar + three + + + + + Sacrificial Knife + + sacrificialKnife + three + + + + + The Soul Network + +One thing that I initially didn’t understand was the overarching connection between the blood orb and myself. When I initially met Magus, I could see many sparkling strands branching off of him, flowing throughout his house and linking with intricate stones and runic drawings. I asked Magus about the strands, but he had no clue what I was talking about. It took three years of thorough research to finally find the answer, and when I brought my notes to him he was really impressed with what I have found. + +When you send power into the orb, the energy is transmitted from the strand connecting the orb and into the very soul of the person the orb is bound to. Similarly, and Magus + + + + + + managed to show this effect with several of his rituals, when you use something that drains energy it will drain the energy directly from the soul. The thing is that if you use an item whose owner has no energy left, the item will instead grab the requisite energy from the user of the item. Directly. From his or her life force. As such, the unit of measurement is called “Life Points,” or LP. I experimented with this, and one heart equals 200 LP. + +I have christened this system to be the “Soul Network,” and is used in all branches of Blood Magic indirectly. + + + + + + Sigils + +Magus is a master at rituals. His power in the intricate layering of stones and inks is unmatched. The problem is that these rituals are rather… static in nature. Sure, being able to summon a meteor is all fine and dandy, but won’t exactly protect you when you are on fire. To this end, I decided to link my soul network to powerful items that I have created. To start, I decided to transmute a piece of smooth stone in the Blood Altar with just 1kLP to create a blank slate. + +The first thing I did was to arrange the blank slate with some reflective glass and my weak blood orb. Pouring my power into the configuration created a Divination Sigil, which I could link to my network and see + + + + + + how much power that my soul network holds. What is more, holding the sigil to the Blood Altar flooded my mind with information, giving me the knowledge about its current tier, capacity, and even how much it was holding. + + Happy with the sigil, I brought a fresh unbound one to Master Magus for him to use. When I took the divination sigil back in my hands and tried to use it to view his network, for some reason I could not gleam any information from him. I don’t really see why this is, considering that I used this same method for other people and I saw that they had no power at all, but to gleam actually … nothing from Magus is strange. + + + + + Divination Sigil + + divinationSigil + three + + + + + + + + + + + \ No newline at end of file diff --git a/1.7.2/resources/assets/alchemicalwizardry/gui/bookleft.png b/1.7.2/resources/assets/alchemicalwizardry/gui/bookleft.png new file mode 100644 index 00000000..08b462df Binary files /dev/null and b/1.7.2/resources/assets/alchemicalwizardry/gui/bookleft.png differ diff --git a/1.7.2/resources/assets/alchemicalwizardry/lang/en_US.lang b/1.7.2/resources/assets/alchemicalwizardry/lang/en_US.lang index dfed0691..cb05cce3 100644 --- a/1.7.2/resources/assets/alchemicalwizardry/lang/en_US.lang +++ b/1.7.2/resources/assets/alchemicalwizardry/lang/en_US.lang @@ -127,6 +127,8 @@ item.itemDiabloKey.name=Key of Binding item.energyBazooka.name=Energy Bazooka item.bloodLightSigil.name=Sigil of the Blood Lamp item.itemComplexSpellCrystal.name=Complex Spell Crystal +item.itemSigilOfSupression.name=Sigil of Supression +item.itemSigilOfEnderSeverance.name=Sigil of Ender Severance item.bucketLive.name=Bucket of Life item.bloodMagicBaseItem.quartzRod.name=Quartz Rod item.bloodMagicBaseItem.EmptyCore.name=Empty Core @@ -163,6 +165,8 @@ item.bloodMagicAlchemyItem.FracturedBone.name=Fractured Bone item.bloodMagicAlchemyItem.Virtus.name=Virtus item.bloodMagicAlchemyItem.Reductus.name=Reductus item.bloodMagicAlchemyItem.Potentia.name=Potentia +item.sanguineHelmet.name=Sanguine Helmet + #Creative Tab itemGroup.tabBloodMagic=Blood Magic diff --git a/1.7.2/resources/assets/alchemicalwizardry/textures/gui/bookcrafting.png b/1.7.2/resources/assets/alchemicalwizardry/textures/gui/bookcrafting.png new file mode 100644 index 00000000..e9ee759f Binary files /dev/null and b/1.7.2/resources/assets/alchemicalwizardry/textures/gui/bookcrafting.png differ diff --git a/1.7.2/resources/assets/alchemicalwizardry/textures/gui/bookfurnace.png b/1.7.2/resources/assets/alchemicalwizardry/textures/gui/bookfurnace.png new file mode 100644 index 00000000..cda94fb0 Binary files /dev/null and b/1.7.2/resources/assets/alchemicalwizardry/textures/gui/bookfurnace.png differ diff --git a/1.7.2/resources/assets/alchemicalwizardry/textures/gui/bookleft.png b/1.7.2/resources/assets/alchemicalwizardry/textures/gui/bookleft.png new file mode 100644 index 00000000..08b462df Binary files /dev/null and b/1.7.2/resources/assets/alchemicalwizardry/textures/gui/bookleft.png differ diff --git a/1.7.2/resources/assets/alchemicalwizardry/textures/gui/bookright.png b/1.7.2/resources/assets/alchemicalwizardry/textures/gui/bookright.png new file mode 100644 index 00000000..8c255a77 Binary files /dev/null and b/1.7.2/resources/assets/alchemicalwizardry/textures/gui/bookright.png differ diff --git a/1.7.2/resources/assets/alchemicalwizardry/textures/items/SheathedItem.png b/1.7.2/resources/assets/alchemicalwizardry/textures/items/SheathedItem.png index 03a3915a..beec20e9 100644 Binary files a/1.7.2/resources/assets/alchemicalwizardry/textures/items/SheathedItem.png and b/1.7.2/resources/assets/alchemicalwizardry/textures/items/SheathedItem.png differ diff --git a/1.7.2/resources/assets/alchemicalwizardry/textures/items/SigilOfSeverance_activated.png b/1.7.2/resources/assets/alchemicalwizardry/textures/items/SigilOfSeverance_activated.png new file mode 100644 index 00000000..2311f509 Binary files /dev/null and b/1.7.2/resources/assets/alchemicalwizardry/textures/items/SigilOfSeverance_activated.png differ diff --git a/1.7.2/resources/assets/alchemicalwizardry/textures/items/SigilOfSeverance_deactivated.png b/1.7.2/resources/assets/alchemicalwizardry/textures/items/SigilOfSeverance_deactivated.png new file mode 100644 index 00000000..7fcc68cd Binary files /dev/null and b/1.7.2/resources/assets/alchemicalwizardry/textures/items/SigilOfSeverance_deactivated.png differ diff --git a/1.7.2/resources/assets/alchemicalwizardry/textures/items/SigilOfSupression_activated.png b/1.7.2/resources/assets/alchemicalwizardry/textures/items/SigilOfSupression_activated.png new file mode 100644 index 00000000..eb2d7dee Binary files /dev/null and b/1.7.2/resources/assets/alchemicalwizardry/textures/items/SigilOfSupression_activated.png differ diff --git a/1.7.2/resources/assets/alchemicalwizardry/textures/items/SigilOfSupression_deactivated.png b/1.7.2/resources/assets/alchemicalwizardry/textures/items/SigilOfSupression_deactivated.png new file mode 100644 index 00000000..b8d835a3 Binary files /dev/null and b/1.7.2/resources/assets/alchemicalwizardry/textures/items/SigilOfSupression_deactivated.png differ diff --git a/1.7.2/resources/mcmod.info b/1.7.2/resources/mcmod.info index e7148b21..7000cb30 100644 --- a/1.7.2/resources/mcmod.info +++ b/1.7.2/resources/mcmod.info @@ -1,14 +1,14 @@ [ { - "modid": "examplemod", - "name": "Example Mod", + "modid": "AWWayofTime", + "name": "Blood Magic: Alchemical Wizardry", "description": "Example placeholder mod.", "version": "${version}", "mcversion": "${mcversion}", "url": "", "updateUrl": "", - "authors": ["ExampleDude"], - "credits": "The Forge and FML guys, for making this example", + "authors": ["WayofTime"], + "credits": "", "logoFile": "", "screenshots": [], "dependencies": [] diff --git a/BM_src/WayofTime/alchemicalWizardry/AlchemicalWizardry.java b/BM_src/WayofTime/alchemicalWizardry/AlchemicalWizardry.java index 1de36af1..fbdf5a0d 100644 --- a/BM_src/WayofTime/alchemicalWizardry/AlchemicalWizardry.java +++ b/BM_src/WayofTime/alchemicalWizardry/AlchemicalWizardry.java @@ -135,7 +135,7 @@ import cpw.mods.fml.common.registry.EntityRegistry; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.LanguageRegistry; -@Mod(modid = "AWWayofTime", name = "AlchemicalWizardry", version = "v1.0.1c") +@Mod(modid = "AWWayofTime", name = "AlchemicalWizardry", version = "v1.0.1d") @NetworkMod(clientSideRequired = true, serverSideRequired = false, channels = {"BloodAltar", "particle", "SetLifeEssence", "GetLifeEssence", "Ritual", "GetAltarEssence", "TESocket", "TEWritingTable", "CustomParticle", "SetPlayerVel", "SetPlayerPos", "TEPedestal", "TEPlinth", "TETeleposer", "InfiniteLPPath", "TEOrientor"}, packetHandler = PacketHandler.class) public class AlchemicalWizardry diff --git a/BM_src/WayofTime/alchemicalWizardry/common/items/BoundArmour.java b/BM_src/WayofTime/alchemicalWizardry/common/items/BoundArmour.java index 88d4c2aa..4546b125 100644 --- a/BM_src/WayofTime/alchemicalWizardry/common/items/BoundArmour.java +++ b/BM_src/WayofTime/alchemicalWizardry/common/items/BoundArmour.java @@ -27,7 +27,7 @@ import cpw.mods.fml.common.Optional.Interface; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -@Optional.InterfaceList(value = {@Interface(iface="IRevealer", modid = "Thaumcraft"), @Interface(iface="IGoggles", modid = "Thaumcraft")}) +@Optional.InterfaceList(value = {@Interface(iface="thaumcraft.api.nodes.IRevealer", modid = "Thaumcraft"), @Interface(iface="thaumcraft.api.IGoggles", modid = "Thaumcraft")}) public class BoundArmour extends ItemArmor implements ISpecialArmor, IRevealer, IGoggles, IBindable { private static int invSize = 9; @@ -493,6 +493,7 @@ public class BoundArmour extends ItemArmor implements ISpecialArmor, IRevealer, return false; } + @Optional.Method(modid = "Thaumcraft") public boolean hasIRevealer(ItemStack itemStack) { ItemStack[] inv = getInternalInventory(itemStack); @@ -518,6 +519,7 @@ public class BoundArmour extends ItemArmor implements ISpecialArmor, IRevealer, return false; } + @Optional.Method(modid = "Thaumcraft") public boolean hasIGoggles(ItemStack itemStack) { ItemStack[] inv = getInternalInventory(itemStack); @@ -593,11 +595,13 @@ public class BoundArmour extends ItemArmor implements ISpecialArmor, IRevealer, return 0; } + @Optional.Method(modid = "Thaumcraft") public boolean showNodes(ItemStack itemstack, EntityLivingBase player) { return this.hasIRevealer(itemstack); } + @Optional.Method(modid = "Thaumcraft") public boolean showIngamePopups(ItemStack itemstack, EntityLivingBase player) { return this.hasIGoggles(itemstack); diff --git a/BM_src/WayofTime/alchemicalWizardry/common/rituals/RitualEffectAutoAlchemy.java b/BM_src/WayofTime/alchemicalWizardry/common/rituals/RitualEffectAutoAlchemy.java index 7325d0b2..e82e90f1 100644 --- a/BM_src/WayofTime/alchemicalWizardry/common/rituals/RitualEffectAutoAlchemy.java +++ b/BM_src/WayofTime/alchemicalWizardry/common/rituals/RitualEffectAutoAlchemy.java @@ -11,6 +11,7 @@ import net.minecraft.potion.PotionEffect; import net.minecraft.server.MinecraftServer; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; +import net.minecraftforge.oredict.OreDictionary; import WayofTime.alchemicalWizardry.api.alchemy.AlchemyRecipeRegistry; import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; @@ -190,15 +191,20 @@ public class RitualEffectAutoAlchemy extends RitualEffect } } - for(int i=0; i=alchStack.getMaxStackSize())) - { - continue; - } - - for(int j=0;j=alchStack.getMaxStackSize())) - { - continue; - } - - for(int j=0;j=alchStack.getMaxStackSize())) + { + continue; + } + + for(int j=0;j=alchStack.getMaxStackSize())) + { + continue; + } + + for(int j=0;j itemDropList = block.getBlockDropped(world, x + i, y + j, z + k, meta, 0); - - if (itemDropList != null) + + if(isSilkTouch && block.canSilkHarvest(world, null, x + i, y + j, z + k, meta)) { - int invSize = tileEntity.getSizeInventory(); + int invSize = tileEntity.getSizeInventory(); + + ItemStack item = new ItemStack(block,1,meta); + ItemStack copyStack = item.copyItemStack(item); - for (ItemStack item : itemDropList) + for (int n = 0; n < invSize; n++) { - ItemStack copyStack = item.copyItemStack(item); - - for (int n = 0; n < invSize; n++) + if (tileEntity.isItemValidForSlot(n, copyStack) && copyStack.stackSize != 0) { - if (tileEntity.isItemValidForSlot(n, copyStack) && copyStack.stackSize != 0) + ItemStack itemStack = tileEntity.getStackInSlot(n); + + if (itemStack == null) { - ItemStack itemStack = tileEntity.getStackInSlot(n); + tileEntity.setInventorySlotContents(n, item); + copyStack.stackSize = 0; + } else + { + if (itemStack.getItem().equals(copyStack.getItem())) + { + int itemSize = itemStack.stackSize; + int copySize = copyStack.stackSize; + int maxSize = itemStack.getMaxStackSize(); - if (itemStack == null) - { - tileEntity.setInventorySlotContents(n, copyStack); - copyStack.stackSize = 0; - } else - { - if (itemStack.getItem().equals(copyStack.getItem())) + if (copySize + itemSize < maxSize) { - int itemSize = itemStack.stackSize; - int copySize = copyStack.stackSize; - int maxSize = itemStack.getMaxStackSize(); - - if (copySize + itemSize < maxSize) - { - copyStack.stackSize = 0; - itemStack.stackSize = itemSize + copySize; - tileEntity.setInventorySlotContents(n, itemStack); - } else - { - copyStack.stackSize = itemSize + copySize - maxSize; - itemStack.stackSize = maxSize; - } + copyStack.stackSize = 0; + itemStack.stackSize = itemSize + copySize; + tileEntity.setInventorySlotContents(n, itemStack); + } else + { + copyStack.stackSize = itemSize + copySize - maxSize; + itemStack.stackSize = maxSize; } } } } - - if (copyStack.stackSize > 0) - { - world.spawnEntityInWorld(new EntityItem(world, x + 0.4, y + 2, z + 0.5, copyStack)); - //flag=true; - } } + + if (copyStack.stackSize > 0) + { + world.spawnEntityInWorld(new EntityItem(world, x + 0.4, y + 2, z + 0.5, copyStack)); + //flag=true; + } + } + else + { + ArrayList itemDropList = block.getBlockDropped(world, x + i, y + j, z + k, meta, fortuneLevel); + + if (itemDropList != null) + { + int invSize = tileEntity.getSizeInventory(); + + for (ItemStack item : itemDropList) + { + ItemStack copyStack = item.copyItemStack(item); + + for (int n = 0; n < invSize; n++) + { + if (tileEntity.isItemValidForSlot(n, copyStack) && copyStack.stackSize != 0) + { + ItemStack itemStack = tileEntity.getStackInSlot(n); + + if (itemStack == null) + { + tileEntity.setInventorySlotContents(n, item); + copyStack.stackSize = 0; + } else + { + if (itemStack.getItem().equals(copyStack.getItem())) + { + int itemSize = itemStack.stackSize; + int copySize = copyStack.stackSize; + int maxSize = itemStack.getMaxStackSize(); + + if (copySize + itemSize < maxSize) + { + copyStack.stackSize = 0; + itemStack.stackSize = itemSize + copySize; + tileEntity.setInventorySlotContents(n, itemStack); + } else + { + copyStack.stackSize = itemSize + copySize - maxSize; + itemStack.stackSize = maxSize; + } + } + } + } + } + + if (copyStack.stackSize > 0) + { + world.spawnEntityInWorld(new EntityItem(world, x + 0.4, y + 2, z + 0.5, copyStack)); + //flag=true; + } + } + } + + } //if(flag) world.setBlockToAir(x + i, y + j, z + k); @@ -154,6 +209,67 @@ public class RitualEffectCrushing extends RitualEffect } } } + + public boolean isSilkTouch(World world, int x, int y, int z) + { + int index = 0; + for(int i=-2; i<=2; i++) + { + for(int j=-2; j<=2; j++) + { + int index1 = Math.abs(i); + int index2 = Math.abs(j); + + if((index1 == 2 && (index2 == 2 || index2 == 1)) || (index1 == 1 && index2 == 2)) + { + int blockID = world.getBlockId(x + i, y + 1, z + j); + Block block = Block.blocksList[blockID]; + if(block == Block.blockGold) + { + index++; + } + } + } + } + + return index>=12; + } + + public int getFortuneLevel(World world, int x, int y, int z) + { + int index = 0; + for(int i=-2; i<=2; i++) + { + for(int j=-2; j<=2; j++) + { + int index1 = Math.abs(i); + int index2 = Math.abs(j); + + if((index1 == 2 && (index2 == 2 || index2 == 1)) || (index1 == 1 && index2 == 2)) + { + int blockID = world.getBlockId(x + i, y + 1, z + j); + Block block = Block.blocksList[blockID]; + if(block == Block.blockEmerald) + { + index++; + } + } + } + } + + if(index>=12) + { + return 3; + }else if(index>=8) + { + return 2; + }else if(index>=4) + { + return 1; + } + + return 0; + } @Override public int getCostPerRefresh() diff --git a/BM_src/WayofTime/alchemicalWizardry/common/tileEntity/TEWritingTable.java b/BM_src/WayofTime/alchemicalWizardry/common/tileEntity/TEWritingTable.java index 936b2525..04601957 100644 --- a/BM_src/WayofTime/alchemicalWizardry/common/tileEntity/TEWritingTable.java +++ b/BM_src/WayofTime/alchemicalWizardry/common/tileEntity/TEWritingTable.java @@ -751,10 +751,7 @@ public class TEWritingTable extends TileEntity implements ISidedInventory progress = 0; this.setInventorySlotContents(6, getResultingItemStack()); - for (int i = 0; i < 5; i++) - { - this.decrStackSizeLeaveContainer(i + 1, 1); - } + this.decrementSlots(AlchemyRecipeRegistry.getRecipeForItemStack(getResultingItemStack())); if (worldObj != null) { @@ -782,10 +779,7 @@ public class TEWritingTable extends TileEntity implements ISidedInventory result.stackSize += getStackInSlot(6).stackSize; this.setInventorySlotContents(6, result); - for (int i = 0; i < 5; i++) - { - this.decrStackSizeLeaveContainer(i + 1, 1); - } + this.decrementSlots(AlchemyRecipeRegistry.getRecipeForItemStack(getResultingItemStack())); if (worldObj != null) { @@ -842,4 +836,31 @@ public class TEWritingTable extends TileEntity implements ISidedInventory { return true; } + + public void decrementSlots(ItemStack[] recipe) + { + boolean[] decrementedList = new boolean[]{false,false,false,false,false}; + + for(int i=0; i<(Math.min(recipe.length,5)); i++) + { + ItemStack decStack = recipe[i]; + + if(decStack == null) + { + continue; + } + + for(int j=0; j<5; j++) + { + ItemStack testStack = this.getStackInSlot(j+1); + + if(testStack != null && testStack.isItemEqual(decStack) && !(decrementedList[j])) + { + this.decrStackSize(j+1, 1); + decrementedList[j] = true; + break; + } + } + } + } } \ No newline at end of file diff --git a/BM_src/WayofTime/alchemicalWizardry/common/tileEntity/container/ContainerWritingTable.java b/BM_src/WayofTime/alchemicalWizardry/common/tileEntity/container/ContainerWritingTable.java index 619be77d..4f505bff 100644 --- a/BM_src/WayofTime/alchemicalWizardry/common/tileEntity/container/ContainerWritingTable.java +++ b/BM_src/WayofTime/alchemicalWizardry/common/tileEntity/container/ContainerWritingTable.java @@ -1,11 +1,12 @@ package WayofTime.alchemicalWizardry.common.tileEntity.container; -import WayofTime.alchemicalWizardry.common.tileEntity.TEWritingTable; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; +import WayofTime.alchemicalWizardry.api.items.interfaces.IBloodOrb; +import WayofTime.alchemicalWizardry.common.tileEntity.TEWritingTable; public class ContainerWritingTable extends Container { @@ -52,7 +53,7 @@ public class ContainerWritingTable extends Container @Override public ItemStack transferStackInSlot(EntityPlayer player, int slot) { - ItemStack stack = null; + ItemStack stack = null; Slot slotObject = (Slot) inventorySlots.get(slot); //null checks and checks if the item can be stacked (maxStackSize > 1) @@ -61,26 +62,23 @@ public class ContainerWritingTable extends Container ItemStack stackInSlot = slotObject.getStack(); stack = stackInSlot.copy(); - if (slot == 7) + //merges the item into player inventory since its in the tileEntity + if (slot <= 6) { - if (!this.mergeItemStack(stackInSlot, 7, 35, true)) + if (!this.mergeItemStack(stackInSlot, 7, 43, true)) { return null; } - - slotObject.onSlotChange(stackInSlot, stack); } - - //merges the item into player inventory since its in the tileEntity - if (slot < 6) + else if(stack.getItem() instanceof IBloodOrb) { - if (!this.mergeItemStack(stackInSlot, 7, 35, true)) + if (!this.mergeItemStack(stackInSlot, 0, 1, false)) { return null; } } //places it into the tileEntity is possible since its in the player inventory - else if (!this.mergeItemStack(stackInSlot, 0, 7, false)) + else if (!this.mergeItemStack(stackInSlot, 1, 6, false)) { return null; } diff --git a/resources/assets/alchemicalwizardry/lang/en_US.lang b/resources/assets/alchemicalwizardry/lang/en_US.lang index 30a46972..d9162edb 100644 --- a/resources/assets/alchemicalwizardry/lang/en_US.lang +++ b/resources/assets/alchemicalwizardry/lang/en_US.lang @@ -126,7 +126,44 @@ item.sigilOfMagnetism.name=Sigil of Magnetism item.itemDiabloKey.name=Key of Binding item.energyBazooka.name=Energy Bazooka item.bloodLightSigil.name=Sigil of the Blood Lamp -item.itemComplexSpellCrystal.name=[WIP] Complex Spell Crystal +item.itemComplexSpellCrystal.name=Complex Spell Crystal +item.bucketLive.name=Bucket of Life +item.bloodMagicBaseItem.quartzRod.name=Quartz Rod +item.bloodMagicBaseItem.EmptyCore.name=Empty Core +item.bloodMagicBaseItem.MagicalesCable.name=Magicales Cable +item.bloodMagicBaseItem.WoodBrace.name=Wooden Brace +item.bloodMagicBaseItem.StoneBrace.name=Stone Brace +item.bloodMagicBaseItem.ProjectileCore.name=Projectile Core +item.bloodMagicBaseItem.SelfCore.name=Self Core +item.bloodMagicBaseItem.MeleeCore.name=Melee Core +item.bloodMagicBaseItem.ParadigmBackPlate.name=Paradigm Plate +item.bloodMagicBaseItem.OutputCable.name=Output Spell Cable +item.bloodMagicBaseItem.InputCable.name=Input Spell Cable +item.bloodMagicBaseItem.FlameCore.name=Fire Core +item.bloodMagicBaseItem.IcyCore.name=Icy Core +item.bloodMagicBaseItem.GustCore.name=Gusty Core +item.bloodMagicBaseItem.EarthenCore.name=Earthen Core +item.bloodMagicBaseItem.CrackedRunicPlate.name=Cracked Runic Plate +item.bloodMagicBaseItem.RunicPlate.name=Runic Plate +item.bloodMagicBaseItem.ScribedRunicPlate.name=Imbued Runic Plate +item.bloodMagicBaseItem.DefaultCore.name=Unattuned Core +item.bloodMagicBaseItem.OffensiveCore.name=Offensive Core +item.bloodMagicBaseItem.DefensiveCore.name=Defensive Core +item.bloodMagicBaseItem.EnvironmentalCore.name=Environmental Core +item.bloodMagicBaseItem.PowerCore.name=Power Core +item.bloodMagicBaseItem.CostCore.name=Reduction Core +item.bloodMagicBaseItem.PotencyCore.name=Potency Core +item.bloodMagicBaseItem.ObsidianBrace.name=Obsidian Brace +item.bloodMagicAlchemyItem.Offensa.name=Offensa +item.bloodMagicAlchemyItem.Praesidium.name=Praesidium +item.bloodMagicAlchemyItem.OrbisTerrae.name=Orbis Terrae +item.bloodMagicAlchemyItem.StrengthenedCatalyst.name=Strengthened Catalyst +item.bloodMagicAlchemyItem.ConcentratedCatalyst.name=Concentrated Catalyst +item.bloodMagicAlchemyItem.FracturedBone.name=Fractured Bone +item.bloodMagicAlchemyItem.Virtus.name=Virtus +item.bloodMagicAlchemyItem.Reductus.name=Reductus +item.bloodMagicAlchemyItem.Potentia.name=Potentia + #Creative Tab itemGroup.tabBloodMagic=Blood Magic