BloodMagic/1.7.2/java/WayofTime/alchemicalWizardry/AlchemicalWizardry.java

651 lines
52 KiB
Java
Raw Normal View History

2014-02-14 20:20:20 +00:00
package WayofTime.alchemicalWizardry;
import java.io.File;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import net.minecraft.block.Block;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.Item.ToolMaterial;
import net.minecraft.item.ItemArmor.ArmorMaterial;
import net.minecraft.item.ItemStack;
import net.minecraft.potion.Potion;
import net.minecraft.util.WeightedRandomChestContent;
import net.minecraftforge.common.ChestGenHooks;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.common.util.EnumHelper;
import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidContainerRegistry;
import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.oredict.OreDictionary;
import WayofTime.alchemicalWizardry.common.AlchemicalWizardryEventHooks;
import WayofTime.alchemicalWizardry.common.AlchemicalWizardryFuelHandler;
import WayofTime.alchemicalWizardry.common.AlchemicalWizardryTickHandler;
import WayofTime.alchemicalWizardry.common.CommonProxy;
import WayofTime.alchemicalWizardry.common.EntityAirElemental;
import WayofTime.alchemicalWizardry.common.LifeBucketHandler;
2014-02-19 22:03:56 +00:00
import WayofTime.alchemicalWizardry.common.LifeEssence;
2014-02-14 20:20:20 +00:00
import WayofTime.alchemicalWizardry.common.ModLivingDropsEvent;
import WayofTime.alchemicalWizardry.common.NewPacketHandler;
import WayofTime.alchemicalWizardry.common.PacketHandler;
import WayofTime.alchemicalWizardry.common.PotionBoost;
import WayofTime.alchemicalWizardry.common.PotionDrowning;
import WayofTime.alchemicalWizardry.common.PotionFlameCloak;
import WayofTime.alchemicalWizardry.common.PotionFlight;
import WayofTime.alchemicalWizardry.common.PotionIceCloak;
import WayofTime.alchemicalWizardry.common.PotionInhibit;
import WayofTime.alchemicalWizardry.common.PotionProjectileProtect;
import WayofTime.alchemicalWizardry.common.PotionReciprocation;
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.block.LifeEssenceBlock;
import WayofTime.alchemicalWizardry.common.bloodAltarUpgrade.UpgradedAltars;
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;
import WayofTime.alchemicalWizardry.common.items.ItemBloodRuneBlock;
import WayofTime.alchemicalWizardry.common.items.ItemRitualDiviner;
import WayofTime.alchemicalWizardry.common.items.ItemSpellEffectBlock;
import WayofTime.alchemicalWizardry.common.items.ItemSpellEnhancementBlock;
import WayofTime.alchemicalWizardry.common.items.ItemSpellModifierBlock;
import WayofTime.alchemicalWizardry.common.items.ItemSpellParadigmBlock;
import WayofTime.alchemicalWizardry.common.items.LifeBucket;
import WayofTime.alchemicalWizardry.common.items.forestry.ItemBloodFrame;
import WayofTime.alchemicalWizardry.common.items.sigil.SigilOfHolding;
import WayofTime.alchemicalWizardry.common.items.thaumcraft.ItemSanguineArmour;
import WayofTime.alchemicalWizardry.common.rituals.Rituals;
import WayofTime.alchemicalWizardry.common.spell.simple.HomSpellRegistry;
import WayofTime.alchemicalWizardry.common.spell.simple.SpellEarthBender;
import WayofTime.alchemicalWizardry.common.spell.simple.SpellExplosions;
import WayofTime.alchemicalWizardry.common.spell.simple.SpellFireBurst;
import WayofTime.alchemicalWizardry.common.spell.simple.SpellFrozenWater;
import WayofTime.alchemicalWizardry.common.spell.simple.SpellHolyBlast;
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.meteor.MeteorRegistry;
import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar;
import WayofTime.alchemicalWizardry.common.tileEntity.TEConduit;
import WayofTime.alchemicalWizardry.common.tileEntity.TEHomHeart;
import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone;
import WayofTime.alchemicalWizardry.common.tileEntity.TEOrientable;
import WayofTime.alchemicalWizardry.common.tileEntity.TEPedestal;
import WayofTime.alchemicalWizardry.common.tileEntity.TEPlinth;
import WayofTime.alchemicalWizardry.common.tileEntity.TESocket;
import WayofTime.alchemicalWizardry.common.tileEntity.TESpellEffectBlock;
import WayofTime.alchemicalWizardry.common.tileEntity.TESpellEnhancementBlock;
import WayofTime.alchemicalWizardry.common.tileEntity.TESpellModifierBlock;
import WayofTime.alchemicalWizardry.common.tileEntity.TESpellParadigmBlock;
import WayofTime.alchemicalWizardry.common.tileEntity.TETeleposer;
import WayofTime.alchemicalWizardry.common.tileEntity.TEWritingTable;
import WayofTime.alchemicalWizardry.common.tileEntity.gui.GuiHandler;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.Loader;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.Mod.Instance;
import cpw.mods.fml.common.SidedProxy;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
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;
import cpw.mods.fml.relauncher.Side;
@Mod(modid = "AWWayofTime", name = "AlchemicalWizardry", version = "v0.8.0")
//@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
{
public static boolean doMeteorsDestroyBlocks = true;
public static String[] diamondMeteorArray;
public static int diamondMeteorRadius;
public static String[] stoneMeteorArray;
public static int stoneMeteorRadius;
public static String[] ironBlockMeteorArray;
public static int ironBlockMeteorRadius;
public static String[] netherStarMeteorArray;
public static int netherStarMeteorRadius;
public static Potion customPotionDrowning;
public static Potion customPotionBoost;
public static Potion customPotionProjProt;
public static Potion customPotionInhibit;
public static Potion customPotionFlight;
public static Potion customPotionReciprocation;
public static Potion customPotionFlameCloak;
public static Potion customPotionIceCloak;
public static int customPotionDrowningID;
public static int customPotionBoostID;
public static int customPotionProjProtID;
public static int customPotionInhibitID;
public static int customPotionFlightID;
public static int customPotionReciprocationID;
public static int customPotionFlameCloakID;
public static int customPotionIceCloakID;
public static boolean isThaumcraftLoaded;
public static boolean isForestryLoaded;
public static CreativeTabs tabBloodMagic = new CreativeTabs("tabBloodMagic")
{
@Override
public ItemStack getIconItemStack()
{
return new ItemStack(ModItems.weakBloodOrb, 1, 0);
}
@Override
public Item getTabIconItem()
{
return ModItems.weakBloodOrb;
}
};
public static ToolMaterial bloodBoundToolMaterial = EnumHelper.addToolMaterial("BoundBlood", 4, 1000, 12.0f, 8.0f, 50);
public static ArmorMaterial sanguineArmourArmourMaterial = EnumHelper.addArmorMaterial("SanguineArmour", 1000, new int[]{3, 6, 5, 2}, 30);
//Dungeon loot chances
public static int standardBindingAgentDungeonChance;
public static int mundanePowerCatalystDungeonChance;
public static int averagePowerCatalystDungeonChance;
public static int greaterPowerCatalystDungeonChance;
public static int mundaneLengtheningCatalystDungeonChance;
public static int averageLengtheningCatalystDungeonChance;
public static int greaterLengtheningCatalystDungeonChance;
//Mob IDs
public static int entityFallenAngelID = 20;
public static int entityLowerGuardianID = 21;
public static int entityBileDemonID = 22;
public static int entityWingedFireDemonID = 23;
public static int entitySmallEarthGolemID = 24;
public static int entityIceDemonID = 25;
public static int entityBoulderFistID = 26;
public static int entityShadeID = 27;
public static int entityAirElementalID = 28;
public static int entityWaterElementalID = 29;
public static int entityEarthElementalID = 30;
public static int entityFireElementalID = 31;
public static int entityShadeElementalID = 32;
public static int entityHolyElementalID = 33;
public static Fluid lifeEssenceFluid;
// The instance of your mod that Forge uses.
@Instance("AWWayofTime")
public static AlchemicalWizardry instance;
// Says where the client and server 'proxy' code is loaded.
@SidedProxy(clientSide = "WayofTime.alchemicalWizardry.client.ClientProxy", serverSide = "WayofTime.alchemicalWizardry.common.CommonProxy")
public static CommonProxy proxy;
@EventHandler
public void preInit(FMLPreInitializationEvent event)
{
MinecraftForge.EVENT_BUS.register(new LifeBucketHandler());
BloodMagicConfiguration.init(new File(event.getModConfigurationDirectory(), "AWWayofTime.cfg"));
//Custom config stuff goes here
Potion[] potionTypes = null;
for (Field f : Potion.class.getDeclaredFields())
{
f.setAccessible(true);
try
{
if (f.getName().equals("potionTypes") || f.getName().equals("field_76425_a"))
{
Field modfield = Field.class.getDeclaredField("modifiers");
modfield.setAccessible(true);
modfield.setInt(f, f.getModifiers() & ~Modifier.FINAL);
potionTypes = (Potion[]) f.get(null);
final Potion[] newPotionTypes = new Potion[256];
System.arraycopy(potionTypes, 0, newPotionTypes, 0, potionTypes.length);
f.set(null, newPotionTypes);
}
} catch (Exception e)
{
System.err.println("Severe error, please report this to the mod author:");
System.err.println(e);
}
}
2014-02-19 22:03:56 +00:00
AlchemicalWizardry.lifeEssenceFluid = new LifeEssence("Life Essence");
FluidRegistry.registerFluid(lifeEssenceFluid);
2014-02-14 20:20:20 +00:00
ModBlocks.init();
2014-02-19 22:03:56 +00:00
ModBlocks.registerBlocksInPre();
2014-02-14 20:20:20 +00:00
ModItems.init();
ModItems.registerItems();
2014-02-24 02:25:10 +00:00
//FMLCommonHandler.instance().bus().register(new AlchemicalWizardryEventHooks());
MinecraftForge.EVENT_BUS.register(new AlchemicalWizardryEventHooks());
2014-02-14 20:20:20 +00:00
NewPacketHandler.INSTANCE.ordinal();
}
@EventHandler
public void load(FMLInitializationEvent event)
{
int craftingConstant = OreDictionary.WILDCARD_VALUE;
//TickRegistry.registerTickHandler(new AlchemicalWizardryTickHandler(), Side.SERVER);
2014-02-19 22:03:56 +00:00
ModBlocks.registerBlocksInInit();
2014-02-14 20:20:20 +00:00
//blocks
proxy.registerRenderers();
proxy.registerEntities();
2014-02-24 02:25:10 +00:00
proxy.registerEntityTrackers();
2014-02-14 20:20:20 +00:00
//ItemStacks used for crafting go here
ItemStack lavaBucketStack = new ItemStack(Items.lava_bucket);
ItemStack cobblestoneStack = new ItemStack(Blocks.cobblestone);
ItemStack glassStack = new ItemStack(Blocks.glass, 1, craftingConstant);
ItemStack ironStack = new ItemStack(Items.iron_ingot);
ItemStack diamondStack = new ItemStack(Items.diamond, 1, craftingConstant);
ItemStack woolStack = new ItemStack(Blocks.wool);
ItemStack goldNuggetStack = new ItemStack(Items.gold_nugget);
ItemStack stoneStack = new ItemStack(Blocks.stone, 1, craftingConstant);
ItemStack redstoneStack = new ItemStack(Items.redstone);
ItemStack glowstoneBlockStack = new ItemStack(Blocks.glowstone);
ItemStack ironBlockStack = new ItemStack(Blocks.iron_block);
ItemStack waterBucketStack = new ItemStack(Items.water_bucket);
ItemStack emptyBucketStack = new ItemStack(Items.bucket);
ItemStack magmaCreamStack = new ItemStack(Items.magma_cream);
ItemStack stringStack = new ItemStack(Items.string);
ItemStack obsidianStack = new ItemStack(Blocks.obsidian);
ItemStack diamondSwordStack = new ItemStack(Items.diamond_sword);
ItemStack goldIngotStack = new ItemStack(Items.gold_ingot);
ItemStack cauldronStack = new ItemStack(Blocks.cauldron);
ItemStack furnaceStack = new ItemStack(Blocks.furnace);
ItemStack sugarStack = new ItemStack(Items.sugar);
ItemStack featherStack = new ItemStack(Items.feather);
ItemStack ghastTearStack = new ItemStack(Items.ghast_tear);
ItemStack ironPickaxeStack = new ItemStack(Items.iron_pickaxe);
ItemStack ironAxeStack = new ItemStack(Items.iron_axe);
ItemStack ironShovelStack = new ItemStack(Items.iron_shovel);
ItemStack glowstoneDustStack = new ItemStack(Items.glowstone_dust);
ItemStack saplingStack = new ItemStack(Blocks.sapling);
ItemStack reedStack = new ItemStack(Items.reeds);
ItemStack blankSlateStack = new ItemStack(ModItems.blankSlate, 1, craftingConstant);
//ItemStack glassShardStack = new ItemStack(glassShard);
ItemStack weakBloodOrbStackCrafted = new ItemStack(ModItems.weakBloodOrb);
//ItemStack bloodiedShardStack = new ItemStack(bloodiedShard);
ItemStack reinforcedSlateStack = new ItemStack(ModItems.reinforcedSlate, 1, craftingConstant);
ItemStack weakBloodOrbStack = new ItemStack(ModItems.weakBloodOrb, 1, craftingConstant);
ItemStack imbuedSlateStack = new ItemStack(ModItems.imbuedSlate, 1, craftingConstant);
ItemStack demonSlateStack = new ItemStack(ModItems.demonicSlate, 1, craftingConstant);
ItemStack apprenticeBloodOrbStack = new ItemStack(ModItems.apprenticeBloodOrb, 1, craftingConstant);
ItemStack magicianBloodOrbStack = new ItemStack(ModItems.magicianBloodOrb, 1, craftingConstant);
ItemStack waterSigilStackCrafted = new ItemStack(ModItems.waterSigil);
ItemStack lavaSigilStackCrafted = new ItemStack(ModItems.lavaSigil);
ItemStack voidSigilStackCrafted = new ItemStack(ModItems.voidSigil);
ItemStack airSigilStack = new ItemStack(ModItems.airSigil);
ItemStack lavaCrystalStackCrafted = new ItemStack(ModItems.lavaCrystal);
ItemStack lavaCrystalStack = new ItemStack(ModItems.lavaCrystal);
ItemStack energySwordStack = new ItemStack(ModItems.energySword);
ItemStack energyBlasterStack = new ItemStack(ModItems.energyBlaster);
ItemStack sacrificialDaggerStack = new ItemStack(ModItems.sacrificialDagger);
2014-02-19 22:03:56 +00:00
ItemStack bloodAltarStack = new ItemStack(ModBlocks.blockAltar,1,0);
2014-02-14 20:20:20 +00:00
ItemStack bloodRuneCraftedStack = new ItemStack(ModBlocks.bloodRune, 1);
ItemStack bloodRuneStack = new ItemStack(ModBlocks.bloodRune);
ItemStack speedRuneStack = new ItemStack(ModBlocks.speedRune);
ItemStack efficiencyRuneStack = new ItemStack(ModBlocks.efficiencyRune);
ItemStack runeOfSacrificeStack = new ItemStack(ModBlocks.runeOfSacrifice);
ItemStack runeOfSelfSacrificeStack = new ItemStack(ModBlocks.runeOfSelfSacrifice);
ItemStack miningSigilStackCrafted = new ItemStack(ModItems.sigilOfTheFastMiner);
ItemStack divinationSigilStackCrafted = new ItemStack(ModItems.divinationSigil);
// ItemStack elementalInkWaterStack = new ItemStack(elementalInkWater);
// ItemStack elementalInkFireStack = new ItemStack(elementalInkFire);
// ItemStack elementalInkEarthStack = new ItemStack(elementalInkEarth);
// ItemStack elementalInkAirStack = new ItemStack(elementalInkAir);
ItemStack waterScribeToolStack = new ItemStack(ModItems.waterScribeTool);
ItemStack fireScribeToolStack = new ItemStack(ModItems.fireScribeTool);
ItemStack earthScribeToolStack = new ItemStack(ModItems.earthScribeTool);
ItemStack airScribeToolStack = new ItemStack(ModItems.airScribeTool);
ItemStack ritualStoneStackCrafted = new ItemStack(ModBlocks.ritualStone, 4);
ItemStack ritualStoneStack = new ItemStack(ModBlocks.ritualStone);
ItemStack masterRitualStoneStack = new ItemStack(ModBlocks.blockMasterStone);
ItemStack imperfectRitualStoneStack = new ItemStack(ModBlocks.imperfectRitualStone);
ItemStack sigilOfElementalAffinityStackCrafted = new ItemStack(ModItems.sigilOfElementalAffinity);
ItemStack lavaSigilStack = new ItemStack(ModItems.lavaSigil);
ItemStack waterSigilStack = new ItemStack(ModItems.waterSigil);
ItemStack sigilOfHoldingStack = new ItemStack(ModItems.sigilOfHolding);
ItemStack weakBloodShardStack = new ItemStack(ModItems.weakBloodShard);
ItemStack emptySocketStack = new ItemStack(ModBlocks.emptySocket);
ItemStack bloodSocketStack = new ItemStack(ModBlocks.bloodSocket);
ItemStack armourForgeStack = new ItemStack(ModBlocks.armourForge);
ItemStack largeBloodStoneBrickStackCrafted = new ItemStack(ModBlocks.largeBloodStoneBrick, 32);
ItemStack largeBloodStoneBrickStack = new ItemStack(ModBlocks.largeBloodStoneBrick);
ItemStack bloodStoneBrickStackCrafted = new ItemStack(ModBlocks.bloodStoneBrick, 4);
ItemStack growthSigilStack = new ItemStack(ModItems.growthSigil);
ItemStack blockHomHeartStack = new ItemStack(ModBlocks.blockHomHeart);
ItemStack redWoolStack = new ItemStack(Blocks.wool, 1, 14);
ItemStack zombieHead = new ItemStack(Items.skull, 1, 2);
ItemStack simpleCatalystStack = new ItemStack(ModItems.simpleCatalyst);
ItemStack duskRitualDivinerStack = new ItemStack(ModItems.itemRitualDiviner);
((ItemRitualDiviner) duskRitualDivinerStack.getItem()).setMaxRuneDisplacement(duskRitualDivinerStack, 1);
//weakBloodOrbStackCrafted.setItemDamage(weakBloodOrbStackCrafted.getMaxDamage());
waterSigilStackCrafted.setItemDamage(waterSigilStackCrafted.getMaxDamage());
lavaSigilStackCrafted.setItemDamage(lavaSigilStackCrafted.getMaxDamage());
voidSigilStackCrafted.setItemDamage(voidSigilStackCrafted.getMaxDamage());
lavaCrystalStackCrafted.setItemDamage(lavaCrystalStackCrafted.getMaxDamage());
miningSigilStackCrafted.setItemDamage(miningSigilStackCrafted.getMaxDamage());
sigilOfElementalAffinityStackCrafted.setItemDamage(sigilOfElementalAffinityStackCrafted.getMaxDamage());
ItemStack archmageBloodOrbStack = new ItemStack(ModItems.archmageBloodOrb);
ItemStack sanctusStack = new ItemStack(ModItems.sanctus);
ItemStack aetherStack = new ItemStack(ModItems.aether);
ItemStack terraeStack = new ItemStack(ModItems.terrae);
ItemStack incendiumStack = new ItemStack(ModItems.incendium);
ItemStack tennebraeStack = new ItemStack(ModItems.tennebrae);
ItemStack aquasalusStack = new ItemStack(ModItems.aquasalus);
ItemStack crystallosStack = new ItemStack(ModItems.crystallos);
ItemStack crepitousStack = new ItemStack(ModItems.crepitous);
ItemStack magicalesStack = new ItemStack(ModItems.magicales);
//All crafting goes here
// GameRegistry.addRecipe(orbOfTestingStack, "x x", " ", "x x", 'x', cobblestoneStack);
//GameRegistry.addRecipe(glassShardStack, " x", "y ", 'x', ironStack, 'y', glassStack);
//GameRegistry.addRecipe(weakBloodOrbStackCrafted, "xxx", "xdx", "www", 'x', bloodiedShardStack, 'd', diamondStack, 'w', woolStack);
GameRegistry.addRecipe(sacrificialDaggerStack, "ggg", " dg", "i g", 'g', glassStack, 'd', goldIngotStack, 'i', ironStack);
//GameRegistry.addRecipe(blankSlateStack, "sgs", "gig", "sgs", 's', stoneStack, 'g', goldNuggetStack, 'i', ironStack);
//GameRegistry.addRecipe(reinforcedSlateStack, "rir", "ibi", "gig", 'r', redstoneStack, 'i', ironStack, 'b', blankSlateStack, 'g', glowstoneBlockStack);
GameRegistry.addRecipe(lavaCrystalStackCrafted, "glg", "lbl", "odo", 'g', glassStack, 'l', lavaBucketStack, 'b', weakBloodOrbStack, 'd', diamondStack, 'o', obsidianStack);
GameRegistry.addRecipe(waterSigilStackCrafted, "www", "wbw", "wow", 'w', waterBucketStack, 'b', blankSlateStack, 'o', weakBloodOrbStack);
GameRegistry.addRecipe(lavaSigilStackCrafted, "lml", "lbl", "lcl", 'l', lavaBucketStack, 'b', blankSlateStack, 'm', magmaCreamStack, 'c', lavaCrystalStack);
GameRegistry.addRecipe(voidSigilStackCrafted, "ese", "ere", "eoe", 'e', emptyBucketStack, 'r', reinforcedSlateStack, 'o', apprenticeBloodOrbStack, 's', stringStack);
GameRegistry.addRecipe(bloodAltarStack, "s s", "scs", "gdg", 's', stoneStack, 'c', furnaceStack, 'd', diamondStack, 'g', goldIngotStack);
//GameRegistry.addRecipe(energySwordStack, " o ", " o ", " s ", 'o', weakBloodOrbStack, 's', diamondSwordStack);
//GameRegistry.addRecipe(energyBlasterStack, "oi ", "gdi", " rd", 'o', weakBloodOrbStack, 'i', ironStack, 'd', diamondStack, 'r', reinforcedSlateStack, 'g', goldIngotStack);
GameRegistry.addRecipe(bloodRuneCraftedStack, "sss", "ror", "sss", 's', stoneStack, 'o', weakBloodOrbStack, 'r', blankSlateStack);
GameRegistry.addRecipe(speedRuneStack, "sbs", "uru", "sbs", 'u', sugarStack, 's', stoneStack, 'r', bloodRuneStack, 'b', blankSlateStack);
//GameRegistry.addRecipe(efficiencyRuneStack, "sbs", "rur", "sbs", 'r', redstoneStack, 's', stoneStack, 'u', bloodRuneStack,'b',blankSlateStack);
GameRegistry.addRecipe(new ItemStack(ModBlocks.bloodRune, 1, 1), "sbs", "bob", "srs", 's', stoneStack, 'o', magicianBloodOrbStack, 'b', emptyBucketStack, 'r', new ItemStack(ModItems.imbuedSlate));
GameRegistry.addRecipe(new ItemStack(ModBlocks.bloodRune, 1, 2), "sbs", "bob", "srs", 's', stoneStack, 'o', magicianBloodOrbStack, 'b', waterBucketStack, 'r', new ItemStack(ModItems.imbuedSlate));
GameRegistry.addRecipe(new ItemStack(ModBlocks.bloodRune, 1, 3), "sws", "ror", "sws", 's', stoneStack, 'o', new ItemStack(ModItems.masterBloodOrb), 'w', weakBloodOrbStack, 'r', new ItemStack(ModItems.demonicSlate));
GameRegistry.addRecipe(airSigilStack, "fgf", "fsf", "fof", 'f', featherStack, 'g', ghastTearStack, 's', reinforcedSlateStack, 'o', apprenticeBloodOrbStack);
GameRegistry.addRecipe(miningSigilStackCrafted, "sps", "hra", "sos", 'o', apprenticeBloodOrbStack, 's', stoneStack, 'p', ironPickaxeStack, 'h', ironShovelStack, 'a', ironAxeStack, 'r', reinforcedSlateStack);
GameRegistry.addRecipe(runeOfSacrificeStack, "srs", "gog", "srs", 's', stoneStack, 'g', goldIngotStack, 'o', apprenticeBloodOrbStack, 'r', reinforcedSlateStack);
GameRegistry.addRecipe(runeOfSelfSacrificeStack, "srs", "gog", "srs", 's', stoneStack, 'g', glowstoneDustStack, 'o', apprenticeBloodOrbStack, 'r', reinforcedSlateStack);
GameRegistry.addRecipe(divinationSigilStackCrafted, "ggg", "gsg", "gog", 'g', glassStack, 's', blankSlateStack, 'o', weakBloodOrbStack);
// GameRegistry.addRecipe(waterScribeToolStack, "f", "i", 'f', featherStack, 'i', elementalInkWaterStack);
// GameRegistry.addRecipe(fireScribeToolStack, "f", "i", 'f', featherStack, 'i', elementalInkFireStack);
// GameRegistry.addRecipe(earthScribeToolStack, "f", "i", 'f', featherStack, 'i', elementalInkEarthStack);
// GameRegistry.addRecipe(airScribeToolStack, "f", "i", 'f', featherStack, 'i', elementalInkAirStack);
GameRegistry.addRecipe(ritualStoneStackCrafted, "srs", "ror", "srs", 's', obsidianStack, 'o', apprenticeBloodOrbStack, 'r', reinforcedSlateStack);
GameRegistry.addRecipe(masterRitualStoneStack, "brb", "ror", "brb", 'b', obsidianStack, 'o', magicianBloodOrbStack, 'r', ritualStoneStack);
GameRegistry.addRecipe(imperfectRitualStoneStack, "bsb", "sos", "bsb", 's', stoneStack, 'b', obsidianStack, 'o', weakBloodOrbStack);
GameRegistry.addRecipe(sigilOfElementalAffinityStackCrafted, "oao", "wsl", "oro", 'o', obsidianStack, 'a', airSigilStack, 'w', waterSigilStack, 'l', lavaSigilStack, 'r', magicianBloodOrbStack, 's', imbuedSlateStack);
GameRegistry.addRecipe(sigilOfHoldingStack, "asa", "srs", "aoa", 'a', blankSlateStack, 's', stoneStack, 'r', imbuedSlateStack, 'o', magicianBloodOrbStack);
GameRegistry.addRecipe(emptySocketStack, "bgb", "gdg", "bgb", 'b', weakBloodShardStack, 'g', glassStack, 'd', diamondStack);
GameRegistry.addRecipe(armourForgeStack, "sfs", "fof", "sfs", 'f', bloodSocketStack, 's', stoneStack, 'o', magicianBloodOrbStack);
GameRegistry.addShapelessRecipe(largeBloodStoneBrickStackCrafted, weakBloodShardStack, stoneStack);
GameRegistry.addRecipe(bloodStoneBrickStackCrafted, "bb", "bb", 'b', largeBloodStoneBrickStack);
GameRegistry.addRecipe(growthSigilStack, "srs", "rer", "sos", 's', saplingStack, 'r', reedStack, 'o', apprenticeBloodOrbStack, 'e', reinforcedSlateStack);
GameRegistry.addRecipe(blockHomHeartStack, "www", "srs", "sos", 'w', redWoolStack, 's', stoneStack, 'r', bloodRuneStack, 'o', apprenticeBloodOrbStack);
GameRegistry.addShapelessRecipe(new ItemStack(Items.skull, 1, 2), new ItemStack(Items.skull, 1, 1), new ItemStack(Items.rotten_flesh), new ItemStack(Items.iron_ingot), new ItemStack(Items.leather));
GameRegistry.addShapelessRecipe(new ItemStack(Items.skull, 1, 0), new ItemStack(Items.skull, 1, 1), new ItemStack(Items.bow, 1, 0), new ItemStack(Items.arrow, 1, 0), new ItemStack(Items.bone));
GameRegistry.addShapelessRecipe(new ItemStack(Items.skull, 1, 4), new ItemStack(Items.skull, 1, 1), new ItemStack(Items.gunpowder), new ItemStack(Blocks.dirt), new ItemStack(Blocks.sand));
GameRegistry.addRecipe(new ItemStack(ModBlocks.blockWritingTable), " s ", "ror", 's', new ItemStack(Items.brewing_stand), 'r', obsidianStack, 'o', weakBloodOrbStack);
GameRegistry.addRecipe(new ItemStack(ModBlocks.blockPedestal), "ooo", " c ", "ooo", 'o', obsidianStack, 'c', weakBloodShardStack);
GameRegistry.addRecipe(new ItemStack(ModBlocks.blockPlinth), "iii", " p ", "iii", 'i', ironBlockStack, 'p', new ItemStack(ModBlocks.blockPedestal));
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.alchemyFlask, 1, 0), new ItemStack(ModItems.alchemyFlask, 1, craftingConstant), new ItemStack(Items.nether_wart), redstoneStack, glowstoneDustStack);
GameRegistry.addRecipe(new ItemStack(ModItems.sigilOfHaste), "csc", "sts", "ror", 'c', new ItemStack(Items.cookie), 's', new ItemStack(Items.sugar), 't', ModItems.demonicSlate, 'r', obsidianStack, 'o', new ItemStack(ModItems.masterBloodOrb));
GameRegistry.addRecipe(new ItemStack(ModItems.sigilOfWind), "faf", "grg", "fof", 'f', featherStack, 'g', ghastTearStack, 'a', new ItemStack(ModItems.airSigil), 'o', new ItemStack(ModItems.masterBloodOrb), 'r', ModItems.demonicSlate);
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.weakBloodShard, 5, 0), new ItemStack(ModItems.masterBloodOrb), new ItemStack(ModItems.weakBloodShard), imbuedSlateStack);
GameRegistry.addRecipe(new ItemStack(ModBlocks.blockTeleposer), "ggg", "efe", "ggg", 'g', goldIngotStack, 'f', new ItemStack(ModItems.telepositionFocus), 'e', new ItemStack(Items.ender_pearl));
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.reinforcedTelepositionFocus), new ItemStack(ModItems.enhancedTelepositionFocus), new ItemStack(ModItems.weakBloodShard));
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.demonicTelepositionFocus), new ItemStack(ModItems.reinforcedTelepositionFocus), new ItemStack(ModItems.demonBloodShard));
GameRegistry.addRecipe(new ItemStack(ModItems.sigilOfTheBridge), "nnn", "nsn", "ror", 'n', stoneStack, 'r', new ItemStack(Blocks.soul_sand), 's', imbuedSlateStack, 'o', magicianBloodOrbStack);
GameRegistry.addRecipe(new ItemStack(ModItems.armourInhibitor), " gg", "gsg", "gg ", 'g', goldIngotStack, 's', new ItemStack(ModItems.weakBloodShard));
GameRegistry.addRecipe(new ItemStack(ModItems.itemRitualDiviner), "d1d", "2e3", "d4d", '1', new ItemStack(ModItems.airScribeTool), '2', new ItemStack(ModItems.waterScribeTool), '3', new ItemStack(ModItems.fireScribeTool), '4', new ItemStack(ModItems.earthScribeTool), 'd', diamondStack, 'e', new ItemStack(Items.emerald));
GameRegistry.addRecipe(duskRitualDivinerStack, " d ", "srs", " d ", 'd', new ItemStack(ModItems.duskScribeTool), 's', new ItemStack(ModItems.demonicSlate), 'r', new ItemStack(ModItems.itemRitualDiviner));
GameRegistry.addRecipe(new ItemStack(ModItems.sigilOfMagnetism), "bgb", "gsg", "bob", 'b', new ItemStack(Blocks.iron_block), 'g', goldIngotStack, 's', new ItemStack(ModItems.imbuedSlate), 'o', magicianBloodOrbStack);
GameRegistry.addRecipe(new ItemStack(ModItems.energyBazooka), "Ocd", "cb ", "d w", 'O', archmageBloodOrbStack, 'c', crepitousStack, 'b', new ItemStack(ModItems.energyBlaster), 'd', diamondStack, 'w', new ItemStack(ModItems.weakBloodShard));
GameRegistry.addRecipe(new ItemStack(ModItems.itemBloodLightSigil), "btb", "sss", "bob", 'o', magicianBloodOrbStack, 'b', glowstoneBlockStack, 't', new ItemStack(Blocks.torch), 's', imbuedSlateStack);
GameRegistry.addRecipe(new ItemStack(ModItems.itemKeyOfDiablo), " gw", "gdg", "wg ", 'w', weakBloodShardStack, 'g', goldIngotStack, 'd', diamondStack);
customPotionDrowning = (new PotionDrowning(customPotionDrowningID, true, 0)).setIconIndex(0, 0).setPotionName("Drowning");
customPotionBoost = (new PotionBoost(customPotionBoostID, false, 0)).setIconIndex(0, 0).setPotionName("Boost");
customPotionProjProt = (new PotionProjectileProtect(customPotionProjProtID, false, 0)).setIconIndex(0, 0).setPotionName("Whirlwind");
customPotionInhibit = (new PotionInhibit(customPotionInhibitID, false, 0)).setIconIndex(0, 0).setPotionName("Inhibit");
customPotionFlight = (new PotionFlight(customPotionFlightID, false, 0)).setIconIndex(0, 0).setPotionName("Flight");
customPotionReciprocation = (new PotionReciprocation(customPotionReciprocationID, false, 0xFFFFFF)).setIconIndex(0, 0).setPotionName("Reciprocation");
customPotionFlameCloak = (new PotionFlameCloak(customPotionFlameCloakID,false,0).setIconIndex(0,0).setPotionName("Flame Cloak"));
customPotionIceCloak = (new PotionIceCloak(customPotionIceCloakID,false,0).setIconIndex(0,0).setPotionName("Ice Cloak"));
2014-02-19 22:03:56 +00:00
2014-02-14 20:20:20 +00:00
//FluidStack lifeEssenceFluidStack = new FluidStack(lifeEssenceFluid, 1);
//LiquidStack lifeEssence = new LiquidStack(lifeEssenceFlowing, 1);
//LiquidDictionary.getOrCreateLiquid("Life Essence", lifeEssence);
2014-02-19 22:03:56 +00:00
2014-02-14 20:20:20 +00:00
// ModBlocks.blockLifeEssence.setUnlocalizedName("lifeEssenceBlock");
FluidContainerRegistry.registerFluidContainer(lifeEssenceFluid, new ItemStack(ModItems.bucketLife), FluidContainerRegistry.EMPTY_BUCKET);
2014-02-19 22:03:56 +00:00
2014-02-14 20:20:20 +00:00
//lifeEssenceFluid.setUnlocalizedName("lifeEssence");
//LiquidContainerRegistry.registerLiquid(new LiquidContainerData(LiquidDictionary.getLiquid("Life Essence", LiquidContainerRegistry.BUCKET_VOLUME), new ItemStack(AlchemicalWizardry.bucketLife), new ItemStack(Item.bucketEmpty)));
//GameRegistry.registerBlock(testingBlock, "testingBlock");
//LanguageRegistry.addName(testingBlock, "Testing Block");
//(testingBlock, "pickaxe", 0);
ModBlocks.blockAltar.setHarvestLevel("pickaxe", 1);
//Register Tile Entity
GameRegistry.registerTileEntity(TEAltar.class, "containerAltar");
GameRegistry.registerTileEntity(TEMasterStone.class, "containerMasterStone");
GameRegistry.registerTileEntity(TESocket.class, "containerSocket");
GameRegistry.registerTileEntity(TEWritingTable.class, "containerWritingTable");
GameRegistry.registerTileEntity(TEHomHeart.class, "containerHomHeart");
GameRegistry.registerTileEntity(TEPedestal.class, "containerPedestal");
GameRegistry.registerTileEntity(TEPlinth.class, "containerPlinth");
GameRegistry.registerTileEntity(TETeleposer.class, "containerTeleposer");
GameRegistry.registerTileEntity(TEConduit.class, "containerConduit");
GameRegistry.registerTileEntity(TEOrientable.class, "containerOrientable");
GameRegistry.registerTileEntity(TESpellParadigmBlock.class, "containerSpellParadigmBlock");
GameRegistry.registerTileEntity(TESpellEffectBlock.class, "containerSpellEffectBlock");
GameRegistry.registerTileEntity(TESpellModifierBlock.class, "containerSpellModifierBlock");
GameRegistry.registerTileEntity(TESpellEnhancementBlock.class, "containerSpellEnhancementBlock");
2014-02-19 22:03:56 +00:00
2014-02-14 20:20:20 +00:00
//GameRegistry.registerBlock(ModBlocks.blockSpellEffect,"blockSpellEffect");
ModBlocks.bloodRune.setHarvestLevel("pickaxe", 2);
ModBlocks.speedRune.setHarvestLevel("pickaxe", 2);
ModBlocks.efficiencyRune.setHarvestLevel("pickaxe", 2);
ModBlocks.runeOfSacrifice.setHarvestLevel("pickaxe", 2);
ModBlocks.runeOfSelfSacrifice.setHarvestLevel("pickaxe", 2);
ModBlocks.ritualStone.setHarvestLevel("pickaxe", 2);
ModBlocks.bloodSocket.setHarvestLevel("pickaxe", 2);
ModBlocks.ritualStone.setHarvestLevel("pickaxe", 2);
ModBlocks.imperfectRitualStone.setHarvestLevel("pickaxe", 2);
ModBlocks.blockMasterStone.setHarvestLevel("pickaxe", 2);
ModBlocks.emptySocket.setHarvestLevel("pickaxe", 2);
ModBlocks.bloodStoneBrick.setHarvestLevel("pickaxe", 0);
ModBlocks.largeBloodStoneBrick.setHarvestLevel("pickaxe", 0);
ModBlocks.blockWritingTable.setHarvestLevel("pickaxe", 1);
ModBlocks.blockHomHeart.setHarvestLevel("pickaxe", 1);
ModBlocks.blockPedestal.setHarvestLevel("pickaxe", 2);
ModBlocks.blockPlinth.setHarvestLevel("pickaxe", 2);
ModBlocks.blockTeleposer.setHarvestLevel("pickaxe", 2);
//Fuel handler
GameRegistry.registerFuelHandler(new AlchemicalWizardryFuelHandler());
//EntityRegistry.registerModEntity(EnergyBlastProjectile.class, "BlasterProj", 0, this, 128, 5, true);
2014-02-24 02:25:10 +00:00
2014-02-14 20:20:20 +00:00
//Gui registration
// NetworkRegistry.instance().registerGuiHandler(this, new GuiHandlerAltar());
Rituals.loadRituals();
UpgradedAltars.loadAltars();
SigilOfHolding.initiateSigilOfHolding();
ArmourForge.initializeRecipes();
TEPlinth.initialize();
AlchemicalPotionCreationHandler.initializePotions();
AltarRecipeRegistry.initRecipes();
//MinecraftForge.setToolClass(ModItems.boundPickaxe, "pickaxe", 5);
//MinecraftForge.setToolClass(ModItems.boundAxe, "axe", 5);
//MinecraftForge.setToolClass(ModItems.boundShovel, "shovel", 5);
2014-02-24 02:25:10 +00:00
MinecraftForge.EVENT_BUS.register(new ModLivingDropsEvent());
2014-02-14 20:20:20 +00:00
proxy.InitRendering();
NetworkRegistry.INSTANCE.registerGuiHandler(this, new GuiHandler());
// ItemStack[] comp = new ItemStack[5];
// for(int i=0;i<5;i++)
// {
// comp[i] = redstoneStack;
// }
// AlchemyRecipeRegistry.registerRecipe(glowstoneDustStack, 2, comp, 2);
//TODO NEW RECIPES!
AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.weakBindingAgent), 10, new ItemStack[]{simpleCatalystStack, simpleCatalystStack, new ItemStack(Items.clay_ball)}, 2);
AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.standardBindingAgent), 15, new ItemStack[]{new ItemStack(ModItems.weakBindingAgent), sanctusStack, new ItemStack(ModItems.crystallos)}, 3);
AlchemyRecipeRegistry.registerRecipe(simpleCatalystStack, 2, new ItemStack[]{sugarStack, redstoneStack, redstoneStack, glowstoneDustStack, new ItemStack(Items.gunpowder)}, 1);
AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.incendium), 5, new ItemStack[]{lavaBucketStack, new ItemStack(Items.blaze_powder), new ItemStack(Items.blaze_powder), new ItemStack(Blocks.netherrack), simpleCatalystStack}, 1);
AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.aether), 5, new ItemStack[]{featherStack, featherStack, glowstoneDustStack, ghastTearStack, simpleCatalystStack}, 2);
AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.sanctus), 5, new ItemStack[]{glowstoneDustStack, new ItemStack(Items.gold_nugget), glowstoneDustStack, glassStack, simpleCatalystStack}, 2);
AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.crepitous), 5, new ItemStack[]{new ItemStack(Items.gunpowder), new ItemStack(Items.gunpowder), cobblestoneStack, cobblestoneStack, simpleCatalystStack}, 2);
AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.crystallos), 5, new ItemStack[]{new ItemStack(Blocks.ice), new ItemStack(Blocks.ice), new ItemStack(Blocks.snow), new ItemStack(Blocks.snow), simpleCatalystStack}, 2);
AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.terrae), 5, new ItemStack[]{new ItemStack(Blocks.dirt), new ItemStack(Blocks.sand), obsidianStack, obsidianStack, simpleCatalystStack}, 2);
AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.aquasalus), 5, new ItemStack[]{simpleCatalystStack, new ItemStack(Items.dye, 1, 0), new ItemStack(Items.potionitem, 1, 0), new ItemStack(Items.potionitem, 1, 0), new ItemStack(Items.potionitem, 1, 0)}, 2);
AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.tennebrae), 5, new ItemStack[]{simpleCatalystStack, new ItemStack(Items.coal), new ItemStack(Items.coal), new ItemStack(Blocks.obsidian), new ItemStack(Items.clay_ball)}, 2);
AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.magicales), 5, new ItemStack[]{redstoneStack, simpleCatalystStack, new ItemStack(Items.gunpowder), new ItemStack(Items.glowstone_dust), new ItemStack(Items.glowstone_dust)}, 2);
AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.mundanePowerCatalyst), 10, new ItemStack[]{glowstoneDustStack, glowstoneDustStack, glowstoneDustStack, new ItemStack(ModItems.weakBindingAgent), simpleCatalystStack}, 3);
AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.mundaneLengtheningCatalyst), 10, new ItemStack[]{redstoneStack, redstoneStack, redstoneStack, new ItemStack(ModItems.weakBindingAgent), simpleCatalystStack}, 3);
AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.averagePowerCatalyst), 20, new ItemStack[]{new ItemStack(ModItems.mundanePowerCatalyst), new ItemStack(ModItems.mundanePowerCatalyst), new ItemStack(ModItems.standardBindingAgent)}, 4);
AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.averageLengtheningCatalyst), 20, new ItemStack[]{new ItemStack(ModItems.mundaneLengtheningCatalyst), new ItemStack(ModItems.mundaneLengtheningCatalyst), new ItemStack(ModItems.standardBindingAgent)}, 4);
AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.greaterPowerCatalyst), 30, new ItemStack[]{new ItemStack(ModItems.averagePowerCatalyst), new ItemStack(ModItems.averagePowerCatalyst), new ItemStack(ModItems.incendium)}, 4);
AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.greaterLengtheningCatalyst), 30, new ItemStack[]{new ItemStack(ModItems.averageLengtheningCatalyst), new ItemStack(ModItems.averageLengtheningCatalyst), new ItemStack(ModItems.aquasalus)}, 4);
AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.weakFillingAgent), 5, new ItemStack[]{simpleCatalystStack, new ItemStack(Items.nether_wart), redstoneStack, glowstoneDustStack}, 3);
AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.standardFillingAgent), 10, new ItemStack[]{new ItemStack(ModItems.weakFillingAgent), new ItemStack(ModItems.terrae)}, 3);
AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.enhancedFillingAgent), 25, new ItemStack[]{new ItemStack(ModItems.standardFillingAgent), new ItemStack(ModItems.aquasalus), new ItemStack(ModItems.magicales)}, 4);
AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.activationCrystal, 1, 1), 100, new ItemStack[]{new ItemStack(ModItems.activationCrystal, 1, 0), new ItemStack(ModItems.demonBloodShard), incendiumStack, aquasalusStack, aetherStack}, 4);
AlchemyRecipeRegistry.registerRecipe(new ItemStack(ModItems.activationCrystal, 1, 1), 100, new ItemStack[]{new ItemStack(ModItems.activationCrystal, 1, 0), new ItemStack(Items.nether_star), incendiumStack, aquasalusStack, aetherStack}, 4);
HomSpellRegistry.registerBasicSpell(new ItemStack(Items.flint_and_steel), new SpellFireBurst());
HomSpellRegistry.registerBasicSpell(new ItemStack(Blocks.ice), new SpellFrozenWater());
HomSpellRegistry.registerBasicSpell(new ItemStack(Blocks.tnt), new SpellExplosions());
HomSpellRegistry.registerBasicSpell(new ItemStack(ModItems.apprenticeBloodOrb), new SpellHolyBlast());
HomSpellRegistry.registerBasicSpell(new ItemStack(Items.ghast_tear), new SpellWindGust());
HomSpellRegistry.registerBasicSpell(new ItemStack(Items.glowstone_dust), new SpellLightningBolt());
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);
//Custom mobs
EntityRegistry.registerModEntity(EntityFallenAngel.class, "FallenAngel", this.entityFallenAngelID, this, 80, 3, true);
EntityRegistry.registerModEntity(EntityLowerGuardian.class, "LowerGuardian", this.entityLowerGuardianID, this, 80, 3, true);
EntityRegistry.registerModEntity(EntityBileDemon.class, "BileDemon", this.entityBileDemonID, this, 80, 3, true);
EntityRegistry.registerModEntity(EntityWingedFireDemon.class, "WingedFireDemon", this.entityWingedFireDemonID, this, 80, 3, true);
EntityRegistry.registerModEntity(EntitySmallEarthGolem.class, "SmallEarthGolem", this.entitySmallEarthGolemID, this, 80, 3, true);
EntityRegistry.registerModEntity(EntityIceDemon.class, "IceDemon", this.entityIceDemonID, this, 80, 3, true);
EntityRegistry.registerModEntity(EntityBoulderFist.class, "BoulderFist", this.entityBoulderFistID, this, 80, 3, true);
EntityRegistry.registerModEntity(EntityShade.class, "Shade", this.entityShadeID, this, 80, 3, true);
EntityRegistry.registerModEntity(EntityAirElemental.class, "AirElemental", this.entityAirElementalID, this, 120, 3, true);
EntityRegistry.registerModEntity(EntityWaterElemental.class, "WaterElemental", this.entityWaterElementalID, this, 120, 3, true);
EntityRegistry.registerModEntity(EntityEarthElemental.class, "EarthElemental", this.entityEarthElementalID, this, 120, 3, true);
EntityRegistry.registerModEntity(EntityFireElemental.class, "FireElemental", this.entityFireElementalID, this, 120, 3, true);
EntityRegistry.registerModEntity(EntityShadeElemental.class, "ShadeElemental", this.entityShadeElementalID, this, 120, 3, true);
EntityRegistry.registerModEntity(EntityHolyElemental.class, "HolyElemental", this.entityHolyElementalID, this, 120, 3, true);
//EntityRegistry.addSpawn(EntityFallenAngel.class, 5, 1, 5, EnumCreatureType.creature, BiomeGenBase.biomeList);
ChestGenHooks.getInfo(ChestGenHooks.DUNGEON_CHEST).addItem(new WeightedRandomChestContent(new ItemStack(ModItems.standardBindingAgent), 1, 3, this.standardBindingAgentDungeonChance));
ChestGenHooks.getInfo(ChestGenHooks.DUNGEON_CHEST).addItem(new WeightedRandomChestContent(new ItemStack(ModItems.mundanePowerCatalyst), 1, 1, this.mundanePowerCatalystDungeonChance));
ChestGenHooks.getInfo(ChestGenHooks.DUNGEON_CHEST).addItem(new WeightedRandomChestContent(new ItemStack(ModItems.mundaneLengtheningCatalyst), 1, 1, this.mundaneLengtheningCatalystDungeonChance));
ChestGenHooks.getInfo(ChestGenHooks.DUNGEON_CHEST).addItem(new WeightedRandomChestContent(new ItemStack(ModItems.averagePowerCatalyst), 1, 1, this.averagePowerCatalystDungeonChance));
ChestGenHooks.getInfo(ChestGenHooks.DUNGEON_CHEST).addItem(new WeightedRandomChestContent(new ItemStack(ModItems.averageLengtheningCatalyst), 1, 1, this.averageLengtheningCatalystDungeonChance));
ChestGenHooks.getInfo(ChestGenHooks.DUNGEON_CHEST).addItem(new WeightedRandomChestContent(new ItemStack(ModItems.greaterPowerCatalyst), 1, 1, this.greaterPowerCatalystDungeonChance));
ChestGenHooks.getInfo(ChestGenHooks.DUNGEON_CHEST).addItem(new WeightedRandomChestContent(new ItemStack(ModItems.greaterLengtheningCatalyst), 1, 1, this.greaterLengtheningCatalystDungeonChance));
//Ore Dictionary Registration
OreDictionary.registerOre("oreCoal", Blocks.coal_ore);
MeteorRegistry.registerMeteorParadigm(diamondStack, diamondMeteorArray, diamondMeteorRadius);
MeteorRegistry.registerMeteorParadigm(stoneStack, this.stoneMeteorArray, this.stoneMeteorRadius);
MeteorRegistry.registerMeteorParadigm(ironBlockStack, this.ironBlockMeteorArray, this.ironBlockMeteorRadius);
MeteorRegistry.registerMeteorParadigm(new ItemStack(Items.nether_star), this.netherStarMeteorArray, this.netherStarMeteorRadius);
// sanguineHelmet = new ItemSanguineArmour(sanguineHelmetItemID).setUnlocalizedName("sanguineHelmet");
//
// LanguageRegistry.addName(sanguineHelmet,"Sanguine Helmet");
}
@EventHandler
public void postInit(FMLPostInitializationEvent event)
{
//TODO Thaumcraft Integration
if (Loader.isModLoaded("Thaumcraft"))
{
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);
// }
} else
{
this.isThaumcraftLoaded = false;
}
if(Loader.isModLoaded("Forestry"))
{
this.isForestryLoaded = true;
// ModItems.itemBloodFrame = new ItemBloodFrame(this.itemBloodFrameItemID).setUnlocalizedName("bloodFrame");
//
// ItemStack provenFrame = GameRegistry.findItemStack("Forestry", "frameImpregnated", 1);
//
// if(provenFrame !=null)
// {
// AltarRecipeRegistry.registerAltarRecipe(new ItemStack(ModItems.itemBloodFrame), provenFrame, 3, 30000, 20, 20, false);
// }
}else
{
this.isForestryLoaded = false;
}
}
}