1.0.1d push
This commit is contained in:
parent
e13818e2da
commit
1c0deadfc6
|
@ -20,6 +20,13 @@ import net.minecraftforge.fluids.Fluid;
|
||||||
import net.minecraftforge.fluids.FluidContainerRegistry;
|
import net.minecraftforge.fluids.FluidContainerRegistry;
|
||||||
import net.minecraftforge.fluids.FluidRegistry;
|
import net.minecraftforge.fluids.FluidRegistry;
|
||||||
import net.minecraftforge.oredict.OreDictionary;
|
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.AlchemicalWizardryEventHooks;
|
||||||
import WayofTime.alchemicalWizardry.common.AlchemicalWizardryFuelHandler;
|
import WayofTime.alchemicalWizardry.common.AlchemicalWizardryFuelHandler;
|
||||||
import WayofTime.alchemicalWizardry.common.CommonProxy;
|
import WayofTime.alchemicalWizardry.common.CommonProxy;
|
||||||
|
@ -28,9 +35,6 @@ import WayofTime.alchemicalWizardry.common.LifeBucketHandler;
|
||||||
import WayofTime.alchemicalWizardry.common.LifeEssence;
|
import WayofTime.alchemicalWizardry.common.LifeEssence;
|
||||||
import WayofTime.alchemicalWizardry.common.ModLivingDropsEvent;
|
import WayofTime.alchemicalWizardry.common.ModLivingDropsEvent;
|
||||||
import WayofTime.alchemicalWizardry.common.NewPacketHandler;
|
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.block.ArmourForge;
|
||||||
import WayofTime.alchemicalWizardry.common.bloodAltarUpgrade.UpgradedAltars;
|
import WayofTime.alchemicalWizardry.common.bloodAltarUpgrade.UpgradedAltars;
|
||||||
import WayofTime.alchemicalWizardry.common.entity.mob.EntityBileDemon;
|
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.entity.mob.EntityWingedFireDemon;
|
||||||
import WayofTime.alchemicalWizardry.common.items.ItemRitualDiviner;
|
import WayofTime.alchemicalWizardry.common.items.ItemRitualDiviner;
|
||||||
import WayofTime.alchemicalWizardry.common.items.sigil.SigilOfHolding;
|
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.PotionBoost;
|
||||||
import WayofTime.alchemicalWizardry.common.potion.PotionDrowning;
|
import WayofTime.alchemicalWizardry.common.potion.PotionDrowning;
|
||||||
import WayofTime.alchemicalWizardry.common.potion.PotionFireFuse;
|
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.PotionPlanarBinding;
|
||||||
import WayofTime.alchemicalWizardry.common.potion.PotionProjectileProtect;
|
import WayofTime.alchemicalWizardry.common.potion.PotionProjectileProtect;
|
||||||
import WayofTime.alchemicalWizardry.common.potion.PotionReciprocation;
|
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.HomSpellRegistry;
|
||||||
import WayofTime.alchemicalWizardry.common.spell.simple.SpellEarthBender;
|
import WayofTime.alchemicalWizardry.common.spell.simple.SpellEarthBender;
|
||||||
import WayofTime.alchemicalWizardry.common.spell.simple.SpellExplosions;
|
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.SpellTeleport;
|
||||||
import WayofTime.alchemicalWizardry.common.spell.simple.SpellWateryGrave;
|
import WayofTime.alchemicalWizardry.common.spell.simple.SpellWateryGrave;
|
||||||
import WayofTime.alchemicalWizardry.common.spell.simple.SpellWindGust;
|
import WayofTime.alchemicalWizardry.common.spell.simple.SpellWindGust;
|
||||||
import WayofTime.alchemicalWizardry.common.summoning.SummoningHelper;
|
import WayofTime.alchemicalWizardry.common.summoning.SummoningHelperAW;
|
||||||
import WayofTime.alchemicalWizardry.common.summoning.SummoningRegistry;
|
|
||||||
import WayofTime.alchemicalWizardry.common.summoning.meteor.MeteorRegistry;
|
import WayofTime.alchemicalWizardry.common.summoning.meteor.MeteorRegistry;
|
||||||
import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar;
|
import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar;
|
||||||
import WayofTime.alchemicalWizardry.common.tileEntity.TEConduit;
|
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.network.NetworkRegistry;
|
||||||
import cpw.mods.fml.common.registry.EntityRegistry;
|
import cpw.mods.fml.common.registry.EntityRegistry;
|
||||||
import cpw.mods.fml.common.registry.GameRegistry;
|
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)
|
//@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 class AlchemicalWizardry
|
||||||
|
@ -143,6 +169,8 @@ public class AlchemicalWizardry
|
||||||
|
|
||||||
public static boolean isThaumcraftLoaded;
|
public static boolean isThaumcraftLoaded;
|
||||||
public static boolean isForestryLoaded;
|
public static boolean isForestryLoaded;
|
||||||
|
|
||||||
|
public static boolean wimpySettings;
|
||||||
|
|
||||||
public static CreativeTabs tabBloodMagic = new CreativeTabs("tabBloodMagic")
|
public static CreativeTabs tabBloodMagic = new CreativeTabs("tabBloodMagic")
|
||||||
{
|
{
|
||||||
|
@ -496,13 +524,16 @@ public class AlchemicalWizardry
|
||||||
|
|
||||||
//Gui registration
|
//Gui registration
|
||||||
// NetworkRegistry.instance().registerGuiHandler(this, new GuiHandlerAltar());
|
// NetworkRegistry.instance().registerGuiHandler(this, new GuiHandlerAltar());
|
||||||
Rituals.loadRituals();
|
|
||||||
UpgradedAltars.loadAltars();
|
UpgradedAltars.loadAltars();
|
||||||
SigilOfHolding.initiateSigilOfHolding();
|
SigilOfHolding.initiateSigilOfHolding();
|
||||||
ArmourForge.initializeRecipes();
|
ArmourForge.initializeRecipes();
|
||||||
TEPlinth.initialize();
|
TEPlinth.initialize();
|
||||||
AlchemicalPotionCreationHandler.initializePotions();
|
|
||||||
AltarRecipeRegistry.initRecipes();
|
this.initAlchemyPotionRecipes();
|
||||||
|
this.initAltarRecipes();
|
||||||
|
this.initRituals();
|
||||||
|
this.initBindingRecipes();
|
||||||
|
|
||||||
//MinecraftForge.setToolClass(ModItems.boundPickaxe, "pickaxe", 5);
|
//MinecraftForge.setToolClass(ModItems.boundPickaxe, "pickaxe", 5);
|
||||||
//MinecraftForge.setToolClass(ModItems.boundAxe, "axe", 5);
|
//MinecraftForge.setToolClass(ModItems.boundAxe, "axe", 5);
|
||||||
//MinecraftForge.setToolClass(ModItems.boundShovel, "shovel", 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(Items.water_bucket), new SpellWateryGrave());
|
||||||
HomSpellRegistry.registerBasicSpell(new ItemStack(Blocks.obsidian), new SpellEarthBender());
|
HomSpellRegistry.registerBasicSpell(new ItemStack(Blocks.obsidian), new SpellEarthBender());
|
||||||
HomSpellRegistry.registerBasicSpell(new ItemStack(Items.ender_pearl), new SpellTeleport());
|
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 SummoningHelperAW(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 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 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 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 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 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 SummoningHelper(this.entitySmallEarthGolemID), new ItemStack[]{new ItemStack(Items.clay_ball), terraeStack, terraeStack}, new ItemStack[]{}, new ItemStack[]{}, 0, 4);
|
SummoningRegistry.registerSummon(new SummoningHelperAW(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 SummoningHelperAW(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 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 SummoningHelper(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.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 SummoningHelperAW(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 SummoningHelperAW(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 SummoningHelperAW(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);
|
SummoningRegistry.registerSummon(new SummoningHelperAW(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 SummoningHelperAW(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.entityHolyElementalID), new ItemStack[]{sanctusStack, sanctusStack, sanctusStack, sanctusStack, sanctusStack, sanctusStack}, new ItemStack[]{}, new ItemStack[]{}, 0, 4);
|
||||||
//Custom mobs
|
//Custom mobs
|
||||||
EntityRegistry.registerModEntity(EntityFallenAngel.class, "FallenAngel", this.entityFallenAngelID, this, 80, 3, true);
|
EntityRegistry.registerModEntity(EntityFallenAngel.class, "FallenAngel", this.entityFallenAngelID, this, 80, 3, true);
|
||||||
EntityRegistry.registerModEntity(EntityLowerGuardian.class, "LowerGuardian", this.entityLowerGuardianID, 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.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(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(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);
|
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;
|
this.isThaumcraftLoaded = true;
|
||||||
|
|
||||||
// try
|
try
|
||||||
// {
|
{
|
||||||
// //do stuff
|
//do stuff
|
||||||
// ModItems.sanguineHelmet = new ItemSanguineArmour(sanguineHelmetItemID).setUnlocalizedName("sanguineHelmet");
|
ModItems.sanguineHelmet = new ItemSanguineArmour().setUnlocalizedName("sanguineHelmet");
|
||||||
// LanguageRegistry.addName(ModItems.sanguineHelmet, "Sanguine Helmet");
|
GameRegistry.registerItem(ModItems.sanguineHelmet, "sanguineHelmet");
|
||||||
//// focusBloodBlast = new FocusBloodBlast(focusBloodBlastItemID);
|
|
||||||
//// LanguageRegistry.addName(focusBloodBlast,"Wand Focus: Blood Blast");
|
ItemStack itemGoggles = ItemApi.getItem("itemGoggles", 0);
|
||||||
////
|
|
||||||
//// focusGravityWell = new FocusGravityWell(focusGravityWellItemID);
|
if (itemGoggles != null)
|
||||||
//// LanguageRegistry.addName(focusGravityWell,"Wand Focus: Gravity Well");
|
{
|
||||||
// ItemStack itemGoggles = ItemApi.getItem("itemGoggles", 0);
|
BindingRegistry.registerRecipe(new ItemStack(ModItems.sanguineHelmet), itemGoggles);
|
||||||
//
|
|
||||||
// if (itemGoggles != null)
|
}
|
||||||
// {
|
|
||||||
// //GameRegistry.addShapelessRecipe(new ItemStack(this.sanguineHelmet), itemGoggles);
|
//LogHelper.log(Level.INFO, "Loaded RP2 World addon");
|
||||||
// }
|
} catch (Exception e)
|
||||||
//
|
{
|
||||||
// //LogHelper.log(Level.INFO, "Loaded RP2 World addon");
|
//LogHelper.log(Level.SEVERE, "Could not load RP2 World addon");
|
||||||
// } catch (Exception e)
|
e.printStackTrace(System.err);
|
||||||
// {
|
}
|
||||||
// //LogHelper.log(Level.SEVERE, "Could not load RP2 World addon");
|
|
||||||
// e.printStackTrace(System.err);
|
|
||||||
// }
|
|
||||||
} else
|
} else
|
||||||
{
|
{
|
||||||
this.isThaumcraftLoaded = false;
|
this.isThaumcraftLoaded = false;
|
||||||
|
@ -787,4 +818,100 @@ public class AlchemicalWizardry
|
||||||
this.isForestryLoaded = false;
|
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));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -62,125 +62,8 @@ public class BloodMagicConfiguration
|
||||||
AlchemicalWizardry.netherStarMeteorRadius = config.get("meteor", "netherStarMeteorRadius", 3).getInt();
|
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.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.wimpySettings = config.get("WimpySettings","IDontLikeFun",false).getBoolean(false);
|
||||||
// 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();
|
|
||||||
|
|
||||||
} catch (Exception e)
|
} catch (Exception e)
|
||||||
{
|
{
|
||||||
|
|
|
@ -51,6 +51,7 @@ public class ModBlocks
|
||||||
public static Block blockSpellParadigm;
|
public static Block blockSpellParadigm;
|
||||||
public static Block blockSpellModifier;
|
public static Block blockSpellModifier;
|
||||||
public static Block blockSpellEnhancement;
|
public static Block blockSpellEnhancement;
|
||||||
|
public static Block blockSpectralContainer;
|
||||||
|
|
||||||
public static void init()
|
public static void init()
|
||||||
{
|
{
|
||||||
|
@ -81,6 +82,7 @@ public class ModBlocks
|
||||||
blockSpellParadigm = new BlockSpellParadigm();
|
blockSpellParadigm = new BlockSpellParadigm();
|
||||||
blockSpellModifier = new BlockSpellModifier();
|
blockSpellModifier = new BlockSpellModifier();
|
||||||
blockSpellEnhancement = new BlockSpellEnhancement();
|
blockSpellEnhancement = new BlockSpellEnhancement();
|
||||||
|
blockSpectralContainer = new BlockSpectralContainer();
|
||||||
|
|
||||||
blockLifeEssence = new LifeEssenceBlock();
|
blockLifeEssence = new LifeEssenceBlock();
|
||||||
}
|
}
|
||||||
|
@ -117,6 +119,8 @@ public class ModBlocks
|
||||||
GameRegistry.registerBlock(ModBlocks.blockSpellModifier, ItemSpellModifierBlock.class,"AlchemicalWizardry" + (ModBlocks.blockSpellModifier.getUnlocalizedName()));
|
GameRegistry.registerBlock(ModBlocks.blockSpellModifier, ItemSpellModifierBlock.class,"AlchemicalWizardry" + (ModBlocks.blockSpellModifier.getUnlocalizedName()));
|
||||||
GameRegistry.registerBlock(ModBlocks.blockSpellEffect, ItemSpellEffectBlock.class,"AlchemicalWizardry" + (ModBlocks.blockSpellEffect.getUnlocalizedName()));
|
GameRegistry.registerBlock(ModBlocks.blockSpellEffect, ItemSpellEffectBlock.class,"AlchemicalWizardry" + (ModBlocks.blockSpellEffect.getUnlocalizedName()));
|
||||||
|
|
||||||
|
GameRegistry.registerBlock(ModBlocks.blockSpectralContainer, "spectralContainer");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void registerBlocksInInit()
|
public static void registerBlocksInInit()
|
||||||
|
|
|
@ -57,6 +57,7 @@ import WayofTime.alchemicalWizardry.common.items.sigil.AirSigil;
|
||||||
import WayofTime.alchemicalWizardry.common.items.sigil.DivinationSigil;
|
import WayofTime.alchemicalWizardry.common.items.sigil.DivinationSigil;
|
||||||
import WayofTime.alchemicalWizardry.common.items.sigil.ItemBloodLightSigil;
|
import WayofTime.alchemicalWizardry.common.items.sigil.ItemBloodLightSigil;
|
||||||
import WayofTime.alchemicalWizardry.common.items.sigil.ItemSigilOfEnderSeverance;
|
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.LavaSigil;
|
||||||
import WayofTime.alchemicalWizardry.common.items.sigil.SigilOfElementalAffinity;
|
import WayofTime.alchemicalWizardry.common.items.sigil.SigilOfElementalAffinity;
|
||||||
import WayofTime.alchemicalWizardry.common.items.sigil.SigilOfGrowth;
|
import WayofTime.alchemicalWizardry.common.items.sigil.SigilOfGrowth;
|
||||||
|
@ -165,6 +166,7 @@ public class ModItems
|
||||||
public static Item itemBloodFrame;
|
public static Item itemBloodFrame;
|
||||||
|
|
||||||
public static Item itemSigilOfEnderSeverance;
|
public static Item itemSigilOfEnderSeverance;
|
||||||
|
public static Item itemSigilOfSupression;
|
||||||
|
|
||||||
public static Item bucketLife;
|
public static Item bucketLife;
|
||||||
|
|
||||||
|
@ -251,6 +253,7 @@ public class ModItems
|
||||||
itemSigilOfEnderSeverance = (new ItemSigilOfEnderSeverance()).setUnlocalizedName("itemSigilOfEnderSeverance");
|
itemSigilOfEnderSeverance = (new ItemSigilOfEnderSeverance()).setUnlocalizedName("itemSigilOfEnderSeverance");
|
||||||
baseItems = new ItemComponents().setUnlocalizedName("baseItems");
|
baseItems = new ItemComponents().setUnlocalizedName("baseItems");
|
||||||
baseAlchemyItems = new ItemAlchemyBase().setUnlocalizedName("baseAlchemyItems");
|
baseAlchemyItems = new ItemAlchemyBase().setUnlocalizedName("baseAlchemyItems");
|
||||||
|
itemSigilOfSupression = new ItemSigilOfSupression().setUnlocalizedName("itemSigilOfSupression");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void registerItems()
|
public static void registerItems()
|
||||||
|
@ -337,6 +340,7 @@ public class ModItems
|
||||||
GameRegistry.registerItem(ModItems.energyBazooka, "energyBazooka");
|
GameRegistry.registerItem(ModItems.energyBazooka, "energyBazooka");
|
||||||
GameRegistry.registerItem(ModItems.itemBloodLightSigil, "itemBloodLightSigil");
|
GameRegistry.registerItem(ModItems.itemBloodLightSigil, "itemBloodLightSigil");
|
||||||
GameRegistry.registerItem(ModItems.itemComplexSpellCrystal, "itemComplexSpellCrystal");
|
GameRegistry.registerItem(ModItems.itemComplexSpellCrystal, "itemComplexSpellCrystal");
|
||||||
|
GameRegistry.registerItem(ModItems.itemSigilOfSupression, "sigilOfSupression");
|
||||||
GameRegistry.registerItem(ModItems.itemSigilOfEnderSeverance, "sigilOfEnderSeverance");
|
GameRegistry.registerItem(ModItems.itemSigilOfEnderSeverance, "sigilOfEnderSeverance");
|
||||||
|
|
||||||
GameRegistry.registerItem(ModItems.bucketLife, "bucketLife");
|
GameRegistry.registerItem(ModItems.bucketLife, "bucketLife");
|
||||||
|
|
|
@ -0,0 +1,79 @@
|
||||||
|
package WayofTime.alchemicalWizardry.api.alchemy;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
|
||||||
|
public class AlchemicalPotionCreationHandler
|
||||||
|
{
|
||||||
|
public static ArrayList<AlchemyPotionHandlerComponent> 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;
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
package WayofTime.alchemicalWizardry.common.alchemy;
|
package WayofTime.alchemicalWizardry.api.alchemy;
|
||||||
|
|
||||||
import net.minecraft.item.ItemBlock;
|
import net.minecraft.item.ItemBlock;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
|
@ -1,4 +1,4 @@
|
||||||
package WayofTime.alchemicalWizardry.common.alchemy;
|
package WayofTime.alchemicalWizardry.api.alchemy;
|
||||||
|
|
||||||
import net.minecraft.nbt.NBTTagCompound;
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
import net.minecraft.potion.Potion;
|
import net.minecraft.potion.Potion;
|
|
@ -1,4 +1,4 @@
|
||||||
package WayofTime.alchemicalWizardry.common.alchemy;
|
package WayofTime.alchemicalWizardry.api.alchemy;
|
||||||
|
|
||||||
import net.minecraft.item.ItemBlock;
|
import net.minecraft.item.ItemBlock;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
|
@ -1,11 +1,11 @@
|
||||||
package WayofTime.alchemicalWizardry.common.alchemy;
|
package WayofTime.alchemicalWizardry.api.alchemy;
|
||||||
|
|
||||||
import WayofTime.alchemicalWizardry.common.items.EnergyBattery;
|
|
||||||
import net.minecraft.item.ItemStack;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import WayofTime.alchemicalWizardry.api.items.interfaces.IBloodOrb;
|
||||||
|
|
||||||
public class AlchemyRecipeRegistry
|
public class AlchemyRecipeRegistry
|
||||||
{
|
{
|
||||||
public static List<AlchemyRecipe> recipes = new ArrayList();
|
public static List<AlchemyRecipe> recipes = new ArrayList();
|
||||||
|
@ -22,12 +22,12 @@ public class AlchemyRecipeRegistry
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(bloodOrb.getItem() instanceof EnergyBattery))
|
if (!(bloodOrb.getItem() instanceof IBloodOrb))
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
int bloodOrbLevel = ((EnergyBattery) bloodOrb.getItem()).getOrbLevel();
|
int bloodOrbLevel = ((IBloodOrb) bloodOrb.getItem()).getOrbLevel();
|
||||||
|
|
||||||
for (AlchemyRecipe ar : recipes)
|
for (AlchemyRecipe ar : recipes)
|
||||||
{
|
{
|
||||||
|
@ -47,12 +47,12 @@ public class AlchemyRecipeRegistry
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(bloodOrb.getItem() instanceof EnergyBattery))
|
if (!(bloodOrb.getItem() instanceof IBloodOrb))
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int bloodOrbLevel = ((EnergyBattery) bloodOrb.getItem()).getOrbLevel();
|
int bloodOrbLevel = ((IBloodOrb) bloodOrb.getItem()).getOrbLevel();
|
||||||
|
|
||||||
for (AlchemyRecipe ar : recipes)
|
for (AlchemyRecipe ar : recipes)
|
||||||
{
|
{
|
|
@ -1,4 +1,4 @@
|
||||||
package WayofTime.alchemicalWizardry.common.altarRecipeRegistry;
|
package WayofTime.alchemicalWizardry.api.altarRecipeRegistry;
|
||||||
|
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
|
|
@ -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<AltarRecipe> 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;
|
||||||
|
}
|
||||||
|
}
|
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
|
@ -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<BindingRecipe> 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();
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
package WayofTime.alchemicalWizardry.common;
|
package WayofTime.alchemicalWizardry.api.items.interfaces;
|
||||||
|
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
|
@ -0,0 +1,5 @@
|
||||||
|
package WayofTime.alchemicalWizardry.api.items.interfaces;
|
||||||
|
|
||||||
|
public interface IBindable
|
||||||
|
{
|
||||||
|
}
|
|
@ -0,0 +1,8 @@
|
||||||
|
package WayofTime.alchemicalWizardry.api.items.interfaces;
|
||||||
|
|
||||||
|
public interface IBloodOrb
|
||||||
|
{
|
||||||
|
public int getMaxEssence();
|
||||||
|
|
||||||
|
public int getOrbLevel();
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
package WayofTime.alchemicalWizardry.api.items.interfaces;
|
||||||
|
|
||||||
|
public interface IHolding
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
|
@ -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();
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
package WayofTime.alchemicalWizardry.api.rituals;
|
||||||
|
|
||||||
|
public interface IRitualStone
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
package WayofTime.alchemicalWizardry.common.rituals;
|
package WayofTime.alchemicalWizardry.api.rituals;
|
||||||
|
|
||||||
public class RitualComponent
|
public class RitualComponent
|
||||||
{
|
{
|
|
@ -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<RitualComponent> getRitualComponentList();
|
||||||
|
}
|
252
1.7.2/java/WayofTime/alchemicalWizardry/api/rituals/Rituals.java
Normal file
252
1.7.2/java/WayofTime/alchemicalWizardry/api/rituals/Rituals.java
Normal file
|
@ -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<Rituals> 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<RitualComponent> 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<RitualComponent> getRitualList(int ritualID)
|
||||||
|
{
|
||||||
|
if (ritualID <= ritualList.size())
|
||||||
|
{
|
||||||
|
return ritualList.get(ritualID - 1).obtainComponents();
|
||||||
|
} else
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<RitualComponent> 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 "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
package WayofTime.alchemicalWizardry.common;
|
package WayofTime.alchemicalWizardry.api.soulNetwork;
|
||||||
|
|
||||||
import net.minecraft.nbt.NBTTagCompound;
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
|
|
|
@ -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();
|
||||||
|
}
|
||||||
|
}
|
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
package WayofTime.alchemicalWizardry.common.summoning;
|
package WayofTime.alchemicalWizardry.api.summoningRegistry;
|
||||||
|
|
||||||
import net.minecraft.entity.EntityLivingBase;
|
import net.minecraft.entity.EntityLivingBase;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
|
@ -1,4 +1,4 @@
|
||||||
package WayofTime.alchemicalWizardry.common.summoning;
|
package WayofTime.alchemicalWizardry.api.summoningRegistry;
|
||||||
|
|
||||||
import net.minecraft.entity.EntityLivingBase;
|
import net.minecraft.entity.EntityLivingBase;
|
||||||
import net.minecraft.item.ItemBlock;
|
import net.minecraft.item.ItemBlock;
|
|
@ -1,5 +0,0 @@
|
||||||
package WayofTime.alchemicalWizardry.common;
|
|
||||||
|
|
||||||
public interface IBindable
|
|
||||||
{
|
|
||||||
}
|
|
|
@ -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<AlchemyPotionHandlerComponent> 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;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -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<AltarRecipe> 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;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -16,8 +16,8 @@ import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
||||||
import WayofTime.alchemicalWizardry.ModItems;
|
import WayofTime.alchemicalWizardry.ModItems;
|
||||||
|
import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade;
|
||||||
import WayofTime.alchemicalWizardry.common.ArmourComponent;
|
import WayofTime.alchemicalWizardry.common.ArmourComponent;
|
||||||
import WayofTime.alchemicalWizardry.common.ArmourUpgrade;
|
|
||||||
import WayofTime.alchemicalWizardry.common.items.BoundArmour;
|
import WayofTime.alchemicalWizardry.common.items.BoundArmour;
|
||||||
import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper;
|
import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper;
|
||||||
import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar;
|
import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar;
|
||||||
|
|
|
@ -15,7 +15,7 @@ import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraft.util.IIcon;
|
import net.minecraft.util.IIcon;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
||||||
import WayofTime.alchemicalWizardry.common.ArmourUpgrade;
|
import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade;
|
||||||
import WayofTime.alchemicalWizardry.common.tileEntity.TESocket;
|
import WayofTime.alchemicalWizardry.common.tileEntity.TESocket;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
|
|
@ -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();
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,7 +1,5 @@
|
||||||
package WayofTime.alchemicalWizardry.common.block;
|
package WayofTime.alchemicalWizardry.common.block;
|
||||||
|
|
||||||
import javax.swing.Icon;
|
|
||||||
|
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.block.material.Material;
|
import net.minecraft.block.material.Material;
|
||||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||||
|
@ -11,11 +9,12 @@ import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.util.IIcon;
|
import net.minecraft.util.IIcon;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
||||||
|
import WayofTime.alchemicalWizardry.api.rituals.IRitualStone;
|
||||||
import WayofTime.alchemicalWizardry.common.items.ScribeTool;
|
import WayofTime.alchemicalWizardry.common.items.ScribeTool;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
|
||||||
public class RitualStone extends Block
|
public class RitualStone extends Block implements IRitualStone
|
||||||
{
|
{
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly(Side.CLIENT)
|
||||||
private static IIcon blankIcon;
|
private static IIcon blankIcon;
|
||||||
|
|
|
@ -110,17 +110,11 @@ public class EntityBloodLightProjectile extends EnergyBlastProjectile
|
||||||
if (mop instanceof EntityLivingBase)
|
if (mop instanceof EntityLivingBase)
|
||||||
{
|
{
|
||||||
//((EntityLivingBase)mop).addPotionEffect(new PotionEffect(Potion.weakness.id, 60,2));
|
//((EntityLivingBase)mop).addPotionEffect(new PotionEffect(Potion.weakness.id, 60,2));
|
||||||
((EntityLivingBase) mop).setFire(50);
|
|
||||||
((EntityLivingBase) mop).setRevengeTarget(shootingEntity);
|
((EntityLivingBase) mop).setRevengeTarget(shootingEntity);
|
||||||
|
|
||||||
if (((EntityLivingBase) mop).isPotionActive(Potion.fireResistance) || ((EntityLivingBase) mop).isImmuneToFire())
|
doDamage(1, mop);
|
||||||
{
|
|
||||||
((EntityLivingBase) mop).attackEntityFrom(DamageSource.causeMobDamage(shootingEntity), 1);
|
|
||||||
} else
|
|
||||||
{
|
|
||||||
doDamage(projectileDamage, mop);
|
|
||||||
((EntityLivingBase) mop).hurtResistantTime = 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//worldObj.createExplosion(this, this.posX, this.posY, this.posZ, (float)(0.1), true);
|
//worldObj.createExplosion(this, this.posX, this.posY, this.posZ, (float)(0.1), true);
|
||||||
|
|
|
@ -17,7 +17,7 @@ import net.minecraft.world.World;
|
||||||
import org.lwjgl.input.Keyboard;
|
import org.lwjgl.input.Keyboard;
|
||||||
|
|
||||||
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
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.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@ import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
||||||
import WayofTime.alchemicalWizardry.ModItems;
|
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.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
|
||||||
|
|
|
@ -17,17 +17,19 @@ import net.minecraft.util.IIcon;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraftforge.common.ISpecialArmor;
|
import net.minecraftforge.common.ISpecialArmor;
|
||||||
import net.minecraftforge.common.util.Constants;
|
import net.minecraftforge.common.util.Constants;
|
||||||
|
import thaumcraft.api.IGoggles;
|
||||||
|
import thaumcraft.api.nodes.IRevealer;
|
||||||
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
||||||
import WayofTime.alchemicalWizardry.ModItems;
|
import WayofTime.alchemicalWizardry.ModItems;
|
||||||
import WayofTime.alchemicalWizardry.common.ArmourUpgrade;
|
import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade;
|
||||||
import WayofTime.alchemicalWizardry.common.IBindable;
|
import WayofTime.alchemicalWizardry.api.items.interfaces.IBindable;
|
||||||
import cpw.mods.fml.common.Optional;
|
import cpw.mods.fml.common.Optional;
|
||||||
import cpw.mods.fml.common.Optional.Interface;
|
import cpw.mods.fml.common.Optional.Interface;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
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,IBindable //,IRevealer, IGoggles
|
public class BoundArmour extends ItemArmor implements ISpecialArmor,IBindable ,IRevealer, IGoggles
|
||||||
{
|
{
|
||||||
private static int invSize = 9;
|
private static int invSize = 9;
|
||||||
private static IIcon helmetIcon;
|
private static IIcon helmetIcon;
|
||||||
|
@ -119,7 +121,7 @@ public class BoundArmour extends ItemArmor implements ISpecialArmor,IBindable //
|
||||||
{
|
{
|
||||||
if (source.isUnblockable())
|
if (source.isUnblockable())
|
||||||
{
|
{
|
||||||
return new ArmorProperties(-1, 3, 3);
|
return new ArmorProperties(-1, 3, 4);
|
||||||
}
|
}
|
||||||
|
|
||||||
return new ArmorProperties(-1, 3, 100000);
|
return new ArmorProperties(-1, 3, 100000);
|
||||||
|
@ -474,57 +476,57 @@ public class BoundArmour extends ItemArmor implements ISpecialArmor,IBindable //
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// @Override
|
@Optional.Method(modid = "Thaumcraft")
|
||||||
// public boolean hasIRevealer(ItemStack itemStack)
|
public boolean hasIRevealer(ItemStack itemStack)
|
||||||
// {
|
{
|
||||||
// ItemStack[] inv = getInternalInventory(itemStack);
|
ItemStack[] inv = getInternalInventory(itemStack);
|
||||||
//
|
|
||||||
// if (inv == null)
|
if (inv == null)
|
||||||
// {
|
{
|
||||||
// return false;
|
return false;
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
// for (ItemStack item : inv)
|
for (ItemStack item : inv)
|
||||||
// {
|
{
|
||||||
// if (item == null)
|
if (item == null)
|
||||||
// {
|
{
|
||||||
// continue;
|
continue;
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
// if (item.getItem() instanceof IRevealer)
|
if (item.getItem() instanceof IRevealer)
|
||||||
// {
|
{
|
||||||
// return true;
|
return true;
|
||||||
// }
|
}
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
// return false;
|
return false;
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
// @Override
|
@Optional.Method(modid = "Thaumcraft")
|
||||||
// public boolean hasIGoggles(ItemStack itemStack)
|
public boolean hasIGoggles(ItemStack itemStack)
|
||||||
// {
|
{
|
||||||
// ItemStack[] inv = getInternalInventory(itemStack);
|
ItemStack[] inv = getInternalInventory(itemStack);
|
||||||
//
|
|
||||||
// if (inv == null)
|
if (inv == null)
|
||||||
// {
|
{
|
||||||
// return false;
|
return false;
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
// for (ItemStack item : inv)
|
for (ItemStack item : inv)
|
||||||
// {
|
{
|
||||||
// if (item == null)
|
if (item == null)
|
||||||
// {
|
{
|
||||||
// continue;
|
continue;
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
// if (item.getItem() instanceof IGoggles)
|
if (item.getItem() instanceof IGoggles)
|
||||||
// {
|
{
|
||||||
// return true;
|
return true;
|
||||||
// }
|
}
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
// return false;
|
return false;
|
||||||
// }
|
}
|
||||||
|
|
||||||
public float getUpgradeCostMultiplier(ItemStack itemStack)
|
public float getUpgradeCostMultiplier(ItemStack itemStack)
|
||||||
{
|
{
|
||||||
|
@ -576,15 +578,17 @@ public class BoundArmour extends ItemArmor implements ISpecialArmor,IBindable //
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// @Override
|
@Override
|
||||||
// public boolean showNodes(ItemStack itemstack, EntityLivingBase player)
|
@Optional.Method(modid = "Thaumcraft")
|
||||||
// {
|
public boolean showNodes(ItemStack itemstack, EntityLivingBase player)
|
||||||
// return this.hasIRevealer(itemstack);
|
{
|
||||||
// }
|
return this.hasIRevealer(itemstack);
|
||||||
//
|
}
|
||||||
// @Override
|
|
||||||
// public boolean showIngamePopups(ItemStack itemstack, EntityLivingBase player)
|
@Override
|
||||||
// {
|
@Optional.Method(modid = "Thaumcraft")
|
||||||
// return this.hasIGoggles(itemstack);
|
public boolean showIngamePopups(ItemStack itemstack, EntityLivingBase player)
|
||||||
// }
|
{
|
||||||
|
return this.hasIGoggles(itemstack);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,7 +23,7 @@ import net.minecraft.util.Vec3;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraftforge.common.ForgeHooks;
|
import net.minecraftforge.common.ForgeHooks;
|
||||||
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
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 WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
|
|
@ -19,7 +19,7 @@ import net.minecraft.util.Vec3;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraftforge.common.ForgeHooks;
|
import net.minecraftforge.common.ForgeHooks;
|
||||||
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
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 WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
|
|
@ -21,7 +21,7 @@ import net.minecraft.util.Vec3;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraftforge.common.ForgeHooks;
|
import net.minecraftforge.common.ForgeHooks;
|
||||||
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
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 WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper;
|
||||||
|
|
||||||
import com.google.common.collect.Multimap;
|
import com.google.common.collect.Multimap;
|
||||||
|
|
|
@ -12,8 +12,8 @@ import net.minecraft.util.DamageSource;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraftforge.common.util.FakePlayer;
|
import net.minecraftforge.common.util.FakePlayer;
|
||||||
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
||||||
import WayofTime.alchemicalWizardry.common.IBindable;
|
import WayofTime.alchemicalWizardry.api.items.interfaces.IBindable;
|
||||||
import WayofTime.alchemicalWizardry.common.LifeEssenceNetwork;
|
import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork;
|
||||||
import WayofTime.alchemicalWizardry.common.PacketHandler;
|
import WayofTime.alchemicalWizardry.common.PacketHandler;
|
||||||
import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper;
|
import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper;
|
||||||
import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar;
|
import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar;
|
||||||
|
|
|
@ -20,8 +20,8 @@ import net.minecraft.util.IIcon;
|
||||||
import net.minecraft.util.MathHelper;
|
import net.minecraft.util.MathHelper;
|
||||||
import net.minecraft.util.MovingObjectPosition;
|
import net.minecraft.util.MovingObjectPosition;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
import WayofTime.alchemicalWizardry.api.summoningRegistry.SummoningRegistry;
|
||||||
import WayofTime.alchemicalWizardry.common.entity.mob.EntityDemon;
|
import WayofTime.alchemicalWizardry.common.entity.mob.EntityDemon;
|
||||||
import WayofTime.alchemicalWizardry.common.summoning.SummoningRegistry;
|
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
|
||||||
|
|
|
@ -4,25 +4,22 @@ import java.util.List;
|
||||||
|
|
||||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.entity.player.EntityPlayerMP;
|
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.nbt.NBTTagCompound;
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
import net.minecraft.server.MinecraftServer;
|
import net.minecraft.server.MinecraftServer;
|
||||||
import net.minecraft.util.DamageSource;
|
import net.minecraft.util.DamageSource;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraftforge.common.util.FakePlayer;
|
|
||||||
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
||||||
import WayofTime.alchemicalWizardry.common.ArmourUpgrade;
|
import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade;
|
||||||
import WayofTime.alchemicalWizardry.common.IBindable;
|
import WayofTime.alchemicalWizardry.api.items.interfaces.IBindable;
|
||||||
import WayofTime.alchemicalWizardry.common.LifeEssenceNetwork;
|
import WayofTime.alchemicalWizardry.api.items.interfaces.IBloodOrb;
|
||||||
import WayofTime.alchemicalWizardry.common.PacketHandler;
|
import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork;
|
||||||
import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper;
|
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.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
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;
|
private int maxEssence;
|
||||||
protected int orbLevel;
|
protected int orbLevel;
|
||||||
|
|
|
@ -8,8 +8,8 @@ import net.minecraft.server.MinecraftServer;
|
||||||
import net.minecraft.util.DamageSource;
|
import net.minecraft.util.DamageSource;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
||||||
import WayofTime.alchemicalWizardry.common.IBindable;
|
import WayofTime.alchemicalWizardry.api.items.interfaces.IBindable;
|
||||||
import WayofTime.alchemicalWizardry.common.LifeEssenceNetwork;
|
import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork;
|
||||||
import WayofTime.alchemicalWizardry.common.PacketHandler;
|
import WayofTime.alchemicalWizardry.common.PacketHandler;
|
||||||
import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper;
|
import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper;
|
||||||
import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar;
|
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)
|
public static boolean syphonBatteries(ItemStack ist, EntityPlayer player, int damageToBeDone)
|
||||||
{
|
{
|
||||||
if (!player.worldObj.isRemote)
|
if (!player.worldObj.isRemote)
|
||||||
|
|
|
@ -1,6 +0,0 @@
|
||||||
package WayofTime.alchemicalWizardry.common.items;
|
|
||||||
|
|
||||||
public interface IHolding
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
|
@ -15,7 +15,7 @@ import net.minecraft.world.World;
|
||||||
import org.lwjgl.input.Keyboard;
|
import org.lwjgl.input.Keyboard;
|
||||||
|
|
||||||
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
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.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,7 @@ import net.minecraft.world.World;
|
||||||
import org.lwjgl.input.Keyboard;
|
import org.lwjgl.input.Keyboard;
|
||||||
|
|
||||||
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
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.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,7 @@ import net.minecraft.world.World;
|
||||||
import net.minecraftforge.common.util.FakePlayer;
|
import net.minecraftforge.common.util.FakePlayer;
|
||||||
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
||||||
import WayofTime.alchemicalWizardry.ModItems;
|
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.spell.complex.effect.SpellHelper;
|
||||||
import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar;
|
import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
|
|
|
@ -17,8 +17,8 @@ import net.minecraft.world.World;
|
||||||
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
||||||
import WayofTime.alchemicalWizardry.ModBlocks;
|
import WayofTime.alchemicalWizardry.ModBlocks;
|
||||||
import WayofTime.alchemicalWizardry.ModItems;
|
import WayofTime.alchemicalWizardry.ModItems;
|
||||||
import WayofTime.alchemicalWizardry.common.rituals.RitualComponent;
|
import WayofTime.alchemicalWizardry.api.rituals.RitualComponent;
|
||||||
import WayofTime.alchemicalWizardry.common.rituals.Rituals;
|
import WayofTime.alchemicalWizardry.api.rituals.Rituals;
|
||||||
import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone;
|
import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
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("Current owner: " + par1ItemStack.stackTagCompound.getString("ownerName"));
|
||||||
par3List.add("RitualID: " + (ritualID + 1));
|
par3List.add("RitualID: " + (ritualID + 1));
|
||||||
List<RitualComponent> ritualList = Rituals.getRitualList(this.getCurrentRitual(par1ItemStack) + 1);
|
List<RitualComponent> ritualList = Rituals.getRitualList(this.getCurrentRitual(par1ItemStack) + 1);
|
||||||
|
|
||||||
int blankStones = 0;
|
int blankStones = 0;
|
||||||
int airStones = 0;
|
int airStones = 0;
|
||||||
int waterStones = 0;
|
int waterStones = 0;
|
||||||
|
|
|
@ -8,7 +8,7 @@ import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.server.MinecraftServer;
|
import net.minecraft.server.MinecraftServer;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
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.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
|
||||||
|
|
|
@ -30,13 +30,25 @@ public class SacrificialDagger extends Item
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly(Side.CLIENT)
|
||||||
public void registerIcons(IIconRegister iconRegister)
|
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)
|
public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4)
|
||||||
{
|
{
|
||||||
par3List.add("Just a prick of the");
|
if(AlchemicalWizardry.wimpySettings)
|
||||||
par3List.add("finger will suffice...");
|
{
|
||||||
|
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)
|
public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)
|
||||||
|
@ -134,4 +146,14 @@ public class SacrificialDagger extends Item
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getItemStackDisplayName(ItemStack par1ItemStack)
|
||||||
|
{
|
||||||
|
if(AlchemicalWizardry.wimpySettings)
|
||||||
|
{
|
||||||
|
return "Sacrificial Orb";
|
||||||
|
}
|
||||||
|
return super.getItemStackDisplayName(par1ItemStack);
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -25,7 +25,7 @@ import net.minecraft.util.StatCollector;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraftforge.common.util.Constants;
|
import net.minecraftforge.common.util.Constants;
|
||||||
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
||||||
import WayofTime.alchemicalWizardry.common.alchemy.AlchemyPotionHelper;
|
import WayofTime.alchemicalWizardry.api.alchemy.AlchemyPotionHelper;
|
||||||
|
|
||||||
import com.google.common.collect.HashMultimap;
|
import com.google.common.collect.HashMultimap;
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,7 @@ import org.lwjgl.input.Keyboard;
|
||||||
|
|
||||||
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
||||||
import WayofTime.alchemicalWizardry.ModItems;
|
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.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
package WayofTime.alchemicalWizardry.common.items.potion;
|
package WayofTime.alchemicalWizardry.common.items.potion;
|
||||||
|
|
||||||
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
||||||
|
import WayofTime.alchemicalWizardry.api.alchemy.AlchemyRecipeRegistry;
|
||||||
import WayofTime.alchemicalWizardry.common.ICatalyst;
|
import WayofTime.alchemicalWizardry.common.ICatalyst;
|
||||||
import WayofTime.alchemicalWizardry.common.alchemy.AlchemyRecipeRegistry;
|
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
package WayofTime.alchemicalWizardry.common.items.potion;
|
package WayofTime.alchemicalWizardry.common.items.potion;
|
||||||
|
|
||||||
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
||||||
|
import WayofTime.alchemicalWizardry.api.alchemy.AlchemyRecipeRegistry;
|
||||||
import WayofTime.alchemicalWizardry.common.ICatalyst;
|
import WayofTime.alchemicalWizardry.common.ICatalyst;
|
||||||
import WayofTime.alchemicalWizardry.common.alchemy.AlchemyRecipeRegistry;
|
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
|
|
@ -11,8 +11,8 @@ import net.minecraft.util.EnumChatFormatting;
|
||||||
import org.lwjgl.input.Keyboard;
|
import org.lwjgl.input.Keyboard;
|
||||||
|
|
||||||
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
||||||
|
import WayofTime.alchemicalWizardry.api.alchemy.AlchemyRecipeRegistry;
|
||||||
import WayofTime.alchemicalWizardry.common.IBindingAgent;
|
import WayofTime.alchemicalWizardry.common.IBindingAgent;
|
||||||
import WayofTime.alchemicalWizardry.common.alchemy.AlchemyRecipeRegistry;
|
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
|
||||||
|
|
|
@ -12,8 +12,8 @@ import net.minecraft.util.EnumChatFormatting;
|
||||||
import org.lwjgl.input.Keyboard;
|
import org.lwjgl.input.Keyboard;
|
||||||
|
|
||||||
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
||||||
|
import WayofTime.alchemicalWizardry.api.alchemy.AlchemyRecipeRegistry;
|
||||||
import WayofTime.alchemicalWizardry.common.IFillingAgent;
|
import WayofTime.alchemicalWizardry.common.IFillingAgent;
|
||||||
import WayofTime.alchemicalWizardry.common.alchemy.AlchemyRecipeRegistry;
|
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,7 @@ import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.util.Vec3;
|
import net.minecraft.util.Vec3;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
||||||
import WayofTime.alchemicalWizardry.common.ArmourUpgrade;
|
import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade;
|
||||||
import WayofTime.alchemicalWizardry.common.items.EnergyItems;
|
import WayofTime.alchemicalWizardry.common.items.EnergyItems;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
|
|
@ -12,7 +12,7 @@ import net.minecraft.potion.PotionEffect;
|
||||||
import net.minecraft.util.ChatComponentText;
|
import net.minecraft.util.ChatComponentText;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
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.PacketHandler;
|
||||||
import WayofTime.alchemicalWizardry.common.items.EnergyItems;
|
import WayofTime.alchemicalWizardry.common.items.EnergyItems;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
|
@ -68,7 +68,7 @@ public class DivinationSigil extends Item implements ArmourUpgrade
|
||||||
//PacketDispatcher.sendPacketToServer(PacketHandler.getPacket(ownerName));
|
//PacketDispatcher.sendPacketToServer(PacketHandler.getPacket(ownerName));
|
||||||
int currentEssence = EnergyItems.getCurrentEssence(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;
|
return par1ItemStack;
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,8 +12,8 @@ import net.minecraft.potion.PotionEffect;
|
||||||
import net.minecraft.util.IIcon;
|
import net.minecraft.util.IIcon;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
||||||
|
import WayofTime.alchemicalWizardry.api.items.interfaces.IHolding;
|
||||||
import WayofTime.alchemicalWizardry.common.items.EnergyItems;
|
import WayofTime.alchemicalWizardry.common.items.EnergyItems;
|
||||||
import WayofTime.alchemicalWizardry.common.items.IHolding;
|
|
||||||
import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper;
|
import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
@ -56,9 +56,9 @@ public class ItemSigilOfEnderSeverance extends EnergyItems implements IHolding
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly(Side.CLIENT)
|
||||||
public void registerIcons(IIconRegister iconRegister)
|
public void registerIcons(IIconRegister iconRegister)
|
||||||
{
|
{
|
||||||
this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:SigilOfTheFastMiner");
|
this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:SigilOfSeverance_deactivated");
|
||||||
this.activeIcon = iconRegister.registerIcon("AlchemicalWizardry:ElementalSigil_activated");
|
this.activeIcon = iconRegister.registerIcon("AlchemicalWizardry:SigilOfSeverance_activated");
|
||||||
this.passiveIcon = iconRegister.registerIcon("AlchemicalWizardry:ElementalSigil_deactivated");
|
this.passiveIcon = iconRegister.registerIcon("AlchemicalWizardry:SigilOfSeverance_deactivated");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -152,7 +152,7 @@ public class ItemSigilOfEnderSeverance extends EnergyItems implements IHolding
|
||||||
{
|
{
|
||||||
if(!entity.equals(par3Entity)&&entity instanceof EntityLiving)
|
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));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
|
@ -14,7 +14,7 @@ import net.minecraft.potion.PotionEffect;
|
||||||
import net.minecraft.util.MovingObjectPosition;
|
import net.minecraft.util.MovingObjectPosition;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
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.EnergyBattery;
|
||||||
import WayofTime.alchemicalWizardry.common.items.EnergyItems;
|
import WayofTime.alchemicalWizardry.common.items.EnergyItems;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
|
|
|
@ -23,7 +23,7 @@ import net.minecraftforge.common.IPlantable;
|
||||||
import net.minecraftforge.common.MinecraftForge;
|
import net.minecraftforge.common.MinecraftForge;
|
||||||
import net.minecraftforge.event.entity.player.BonemealEvent;
|
import net.minecraftforge.event.entity.player.BonemealEvent;
|
||||||
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
||||||
import WayofTime.alchemicalWizardry.common.ArmourUpgrade;
|
import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade;
|
||||||
import WayofTime.alchemicalWizardry.common.items.EnergyItems;
|
import WayofTime.alchemicalWizardry.common.items.EnergyItems;
|
||||||
import cpw.mods.fml.common.eventhandler.Event.Result;
|
import cpw.mods.fml.common.eventhandler.Event.Result;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
|
|
|
@ -13,7 +13,7 @@ import net.minecraft.potion.PotionEffect;
|
||||||
import net.minecraft.util.IIcon;
|
import net.minecraft.util.IIcon;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
||||||
import WayofTime.alchemicalWizardry.common.ArmourUpgrade;
|
import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade;
|
||||||
import WayofTime.alchemicalWizardry.common.items.EnergyItems;
|
import WayofTime.alchemicalWizardry.common.items.EnergyItems;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
|
|
@ -15,8 +15,8 @@ import net.minecraft.world.World;
|
||||||
import net.minecraftforge.common.util.Constants;
|
import net.minecraftforge.common.util.Constants;
|
||||||
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
||||||
import WayofTime.alchemicalWizardry.ModItems;
|
import WayofTime.alchemicalWizardry.ModItems;
|
||||||
|
import WayofTime.alchemicalWizardry.api.items.interfaces.IHolding;
|
||||||
import WayofTime.alchemicalWizardry.common.items.EnergyItems;
|
import WayofTime.alchemicalWizardry.common.items.EnergyItems;
|
||||||
import WayofTime.alchemicalWizardry.common.items.IHolding;
|
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,7 @@ import net.minecraft.util.AxisAlignedBB;
|
||||||
import net.minecraft.util.IIcon;
|
import net.minecraft.util.IIcon;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
||||||
import WayofTime.alchemicalWizardry.common.ArmourUpgrade;
|
import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade;
|
||||||
import WayofTime.alchemicalWizardry.common.items.EnergyItems;
|
import WayofTime.alchemicalWizardry.common.items.EnergyItems;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
|
|
@ -14,7 +14,7 @@ import net.minecraft.util.IIcon;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
||||||
import WayofTime.alchemicalWizardry.ModBlocks;
|
import WayofTime.alchemicalWizardry.ModBlocks;
|
||||||
import WayofTime.alchemicalWizardry.common.ArmourUpgrade;
|
import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade;
|
||||||
import WayofTime.alchemicalWizardry.common.items.EnergyItems;
|
import WayofTime.alchemicalWizardry.common.items.EnergyItems;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
|
|
@ -12,7 +12,7 @@ import net.minecraft.potion.PotionEffect;
|
||||||
import net.minecraft.util.IIcon;
|
import net.minecraft.util.IIcon;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
||||||
import WayofTime.alchemicalWizardry.common.ArmourUpgrade;
|
import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade;
|
||||||
import WayofTime.alchemicalWizardry.common.items.EnergyItems;
|
import WayofTime.alchemicalWizardry.common.items.EnergyItems;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
|
|
@ -11,7 +11,7 @@ import net.minecraft.potion.PotionEffect;
|
||||||
import net.minecraft.util.IIcon;
|
import net.minecraft.util.IIcon;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
||||||
import WayofTime.alchemicalWizardry.common.ArmourUpgrade;
|
import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade;
|
||||||
import WayofTime.alchemicalWizardry.common.items.EnergyItems;
|
import WayofTime.alchemicalWizardry.common.items.EnergyItems;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
|
|
@ -14,7 +14,7 @@ import net.minecraft.world.World;
|
||||||
import net.minecraftforge.common.MinecraftForge;
|
import net.minecraftforge.common.MinecraftForge;
|
||||||
import net.minecraftforge.event.entity.player.FillBucketEvent;
|
import net.minecraftforge.event.entity.player.FillBucketEvent;
|
||||||
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
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.EnergyBattery;
|
||||||
import WayofTime.alchemicalWizardry.common.items.EnergyItems;
|
import WayofTime.alchemicalWizardry.common.items.EnergyItems;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
|
|
|
@ -14,7 +14,7 @@ import net.minecraft.potion.PotionEffect;
|
||||||
import net.minecraft.util.MovingObjectPosition;
|
import net.minecraft.util.MovingObjectPosition;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
||||||
import WayofTime.alchemicalWizardry.common.ArmourUpgrade;
|
import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade;
|
||||||
import WayofTime.alchemicalWizardry.common.items.EnergyItems;
|
import WayofTime.alchemicalWizardry.common.items.EnergyItems;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
|
|
@ -10,13 +10,17 @@ import net.minecraft.item.ItemArmor;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.util.IIcon;
|
import net.minecraft.util.IIcon;
|
||||||
import net.minecraft.world.World;
|
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.AlchemicalWizardry;
|
||||||
import WayofTime.alchemicalWizardry.ModItems;
|
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.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
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;
|
private static IIcon helmetIcon;
|
||||||
|
|
||||||
|
@ -47,12 +51,12 @@ public class ItemSanguineArmour extends ItemArmor implements ArmourUpgrade//, IG
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
// @Override
|
@Override
|
||||||
// public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4)
|
public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4)
|
||||||
// {
|
{
|
||||||
// par3List.add("A pair of goggles imbued with power");
|
par3List.add("A pair of goggles imbued with power");
|
||||||
// par3List.add("Vis discount: " + this.getVisDiscount() + "%");
|
par3List.add("Vis discount: " + 8 + "%");
|
||||||
// }
|
}
|
||||||
|
|
||||||
|
|
||||||
// @Override
|
// @Override
|
||||||
|
@ -79,15 +83,21 @@ public class ItemSanguineArmour extends ItemArmor implements ArmourUpgrade//, IG
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// @Override
|
@Override
|
||||||
// public boolean showIngamePopups(ItemStack itemstack, EntityLivingBase player)
|
public boolean showNodes(ItemStack itemstack, EntityLivingBase player)
|
||||||
// {
|
{
|
||||||
// return true;
|
return true;
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
// @Override
|
@Override
|
||||||
// public int getVisDiscount()
|
public int getVisDiscount(ItemStack stack, EntityPlayer player, Aspect aspect)
|
||||||
// {
|
{
|
||||||
// return 10;
|
return 8;
|
||||||
// }
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean showIngamePopups(ItemStack itemstack, EntityLivingBase player)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,5 +1,6 @@
|
||||||
package WayofTime.alchemicalWizardry.common.rituals;
|
package WayofTime.alchemicalWizardry.common.rituals;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
@ -10,13 +11,15 @@ import net.minecraft.potion.PotionEffect;
|
||||||
import net.minecraft.server.MinecraftServer;
|
import net.minecraft.server.MinecraftServer;
|
||||||
import net.minecraft.util.AxisAlignedBB;
|
import net.minecraft.util.AxisAlignedBB;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import WayofTime.alchemicalWizardry.common.LifeEssenceNetwork;
|
import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone;
|
||||||
import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone;
|
import WayofTime.alchemicalWizardry.api.rituals.RitualComponent;
|
||||||
|
import WayofTime.alchemicalWizardry.api.rituals.RitualEffect;
|
||||||
|
import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork;
|
||||||
|
|
||||||
public class RitualEffectAnimalGrowth extends RitualEffect
|
public class RitualEffectAnimalGrowth extends RitualEffect
|
||||||
{
|
{
|
||||||
@Override
|
@Override
|
||||||
public void performEffect(TEMasterStone ritualStone)
|
public void performEffect(IMasterRitualStone ritualStone)
|
||||||
{
|
{
|
||||||
String owner = ritualStone.getOwner();
|
String owner = ritualStone.getOwner();
|
||||||
World worldSave = MinecraftServer.getServer().worldServers[0];
|
World worldSave = MinecraftServer.getServer().worldServers[0];
|
||||||
|
@ -29,10 +32,10 @@ public class RitualEffectAnimalGrowth extends RitualEffect
|
||||||
}
|
}
|
||||||
|
|
||||||
int currentEssence = data.currentEssence;
|
int currentEssence = data.currentEssence;
|
||||||
World world = ritualStone.getWorldObj();
|
World world = ritualStone.getWorld();
|
||||||
int x = ritualStone.xCoord;
|
int x = ritualStone.getXCoord();
|
||||||
int y = ritualStone.yCoord;
|
int y = ritualStone.getYCoord();
|
||||||
int z = ritualStone.zCoord;
|
int z = ritualStone.getZCoord();
|
||||||
|
|
||||||
if (world.getWorldTime() % 20 != 0)
|
if (world.getWorldTime() % 20 != 0)
|
||||||
{
|
{
|
||||||
|
@ -87,7 +90,30 @@ public class RitualEffectAnimalGrowth extends RitualEffect
|
||||||
@Override
|
@Override
|
||||||
public int getCostPerRefresh()
|
public int getCostPerRefresh()
|
||||||
{
|
{
|
||||||
// TODO Auto-generated method stub
|
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<RitualComponent> getRitualComponentList()
|
||||||
|
{
|
||||||
|
ArrayList<RitualComponent> 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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,19 +1,22 @@
|
||||||
package WayofTime.alchemicalWizardry.common.rituals;
|
package WayofTime.alchemicalWizardry.common.rituals;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.potion.Potion;
|
import net.minecraft.potion.Potion;
|
||||||
import net.minecraft.potion.PotionEffect;
|
import net.minecraft.potion.PotionEffect;
|
||||||
import net.minecraft.server.MinecraftServer;
|
import net.minecraft.server.MinecraftServer;
|
||||||
import net.minecraft.tileentity.TileEntity;
|
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import WayofTime.alchemicalWizardry.common.LifeEssenceNetwork;
|
import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone;
|
||||||
import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar;
|
import WayofTime.alchemicalWizardry.api.rituals.RitualComponent;
|
||||||
import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone;
|
import WayofTime.alchemicalWizardry.api.rituals.RitualEffect;
|
||||||
|
import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork;
|
||||||
|
|
||||||
public class RitualEffectApiaryOverclock extends RitualEffect
|
public class RitualEffectApiaryOverclock extends RitualEffect
|
||||||
{
|
{
|
||||||
@Override
|
@Override
|
||||||
public void performEffect(TEMasterStone ritualStone)
|
public void performEffect(IMasterRitualStone ritualStone)
|
||||||
{
|
{
|
||||||
String owner = ritualStone.getOwner();
|
String owner = ritualStone.getOwner();
|
||||||
World worldSave = MinecraftServer.getServer().worldServers[0];
|
World worldSave = MinecraftServer.getServer().worldServers[0];
|
||||||
|
@ -26,10 +29,10 @@ public class RitualEffectApiaryOverclock extends RitualEffect
|
||||||
}
|
}
|
||||||
|
|
||||||
int currentEssence = data.currentEssence;
|
int currentEssence = data.currentEssence;
|
||||||
World world = ritualStone.getWorldObj();
|
World world = ritualStone.getWorld();
|
||||||
int x = ritualStone.xCoord;
|
int x = ritualStone.getXCoord();
|
||||||
int y = ritualStone.yCoord;
|
int y = ritualStone.getYCoord();
|
||||||
int z = ritualStone.zCoord;
|
int z = ritualStone.getZCoord();
|
||||||
|
|
||||||
|
|
||||||
if (currentEssence < this.getCostPerRefresh())
|
if (currentEssence < this.getCostPerRefresh())
|
||||||
|
@ -78,4 +81,19 @@ public class RitualEffectApiaryOverclock extends RitualEffect
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
return 10;
|
return 10;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<RitualComponent> getRitualComponentList()
|
||||||
|
{
|
||||||
|
ArrayList<RitualComponent> 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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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<outputInv.getSizeInventory(); i++)
|
||||||
|
{
|
||||||
|
ItemStack curStack = outputInv.getStackInSlot(i);
|
||||||
|
if(curStack==null)
|
||||||
|
{
|
||||||
|
ItemStack copyStack = outputStack.copy();
|
||||||
|
copyStack.stackSize = 1;
|
||||||
|
|
||||||
|
outputStack.stackSize--;
|
||||||
|
if(outputStack.stackSize<=0)
|
||||||
|
{
|
||||||
|
alchemyEntity.setInventorySlotContents(6, null);
|
||||||
|
}else
|
||||||
|
{
|
||||||
|
alchemyEntity.setInventorySlotContents(6, outputStack);
|
||||||
|
}
|
||||||
|
|
||||||
|
outputInv.setInventorySlotContents(i, copyStack);
|
||||||
|
flag++;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
else if(curStack.isItemEqual(outputStack)&&curStack.stackSize<curStack.getMaxStackSize())
|
||||||
|
{
|
||||||
|
outputStack.stackSize--;
|
||||||
|
if(outputStack.stackSize<=0)
|
||||||
|
{
|
||||||
|
alchemyEntity.setInventorySlotContents(6, null);
|
||||||
|
}else
|
||||||
|
{
|
||||||
|
alchemyEntity.setInventorySlotContents(6, outputStack);
|
||||||
|
}
|
||||||
|
|
||||||
|
curStack.stackSize++;
|
||||||
|
outputInv.setInventorySlotContents(i, curStack);
|
||||||
|
flag++;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for(int i=0; i<5;i++)
|
||||||
|
{
|
||||||
|
ItemStack recItem;
|
||||||
|
if(recipe.length<=i)
|
||||||
|
{
|
||||||
|
recItem = null;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
recItem = recipe[i];
|
||||||
|
}
|
||||||
|
|
||||||
|
ItemStack alchStack = alchemyEntity.getStackInSlot(i+1);
|
||||||
|
if((recItem==null&&alchStack!=null) || (alchStack!=null&&!(areItemStacksEqualWithWildcard(recItem,alchStack))))
|
||||||
|
{
|
||||||
|
for(int j=0;j<outputInv.getSizeInventory();j++)
|
||||||
|
{
|
||||||
|
ItemStack curStack = outputInv.getStackInSlot(j);
|
||||||
|
if(curStack==null)
|
||||||
|
{
|
||||||
|
ItemStack copyStack = alchStack.copy();
|
||||||
|
copyStack.stackSize = 1;
|
||||||
|
|
||||||
|
alchStack.stackSize--;
|
||||||
|
if(alchStack.stackSize<=0)
|
||||||
|
{
|
||||||
|
alchemyEntity.setInventorySlotContents(i+1, null);
|
||||||
|
}else
|
||||||
|
{
|
||||||
|
alchemyEntity.setInventorySlotContents(i+1, alchStack);
|
||||||
|
}
|
||||||
|
|
||||||
|
outputInv.setInventorySlotContents(j, copyStack);
|
||||||
|
flag++;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
else if(curStack.isItemEqual(alchStack)&&curStack.stackSize<curStack.getMaxStackSize())
|
||||||
|
{
|
||||||
|
alchStack.stackSize--;
|
||||||
|
if(alchStack.stackSize<=0)
|
||||||
|
{
|
||||||
|
alchemyEntity.setInventorySlotContents(i+1, null);
|
||||||
|
}else
|
||||||
|
{
|
||||||
|
alchemyEntity.setInventorySlotContents(i+1, alchStack);
|
||||||
|
}
|
||||||
|
|
||||||
|
curStack.stackSize++;
|
||||||
|
outputInv.setInventorySlotContents(j, curStack);
|
||||||
|
flag++;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if(world.getWorldTime()%10 == 0)
|
||||||
|
{
|
||||||
|
if(flag==0&&inputInv1!=null)
|
||||||
|
{
|
||||||
|
for(int i=0;i<recipe.length;i++)
|
||||||
|
{
|
||||||
|
ItemStack recItem = recipe[i];
|
||||||
|
if(recItem==null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
ItemStack alchStack = alchemyEntity.getStackInSlot(i+1);
|
||||||
|
|
||||||
|
if(alchStack!=null&&((!areItemStacksEqualWithWildcard(recItem,alchStack))||alchStack.stackSize>=alchStack.getMaxStackSize()))
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
for(int j=0;j<inputInv1.getSizeInventory();j++)
|
||||||
|
{
|
||||||
|
ItemStack curItem = inputInv1.getStackInSlot(j);
|
||||||
|
if(curItem==null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if(areItemStacksEqualWithWildcard(recItem,curItem))
|
||||||
|
{
|
||||||
|
if(alchStack==null)
|
||||||
|
{
|
||||||
|
ItemStack copyStack = recItem.copy();
|
||||||
|
copyStack.stackSize = 1;
|
||||||
|
alchemyEntity.setInventorySlotContents(i+1, copyStack);
|
||||||
|
|
||||||
|
curItem.stackSize--;
|
||||||
|
if(curItem.stackSize<=0)
|
||||||
|
{
|
||||||
|
inputInv1.setInventorySlotContents(j, null);
|
||||||
|
}else
|
||||||
|
{
|
||||||
|
inputInv1.setInventorySlotContents(j, curItem);
|
||||||
|
}
|
||||||
|
|
||||||
|
flag++;
|
||||||
|
break;
|
||||||
|
|
||||||
|
}else
|
||||||
|
{
|
||||||
|
alchStack.stackSize++;
|
||||||
|
alchemyEntity.setInventorySlotContents(i+1, alchStack);
|
||||||
|
|
||||||
|
curItem.stackSize--;
|
||||||
|
if(curItem.stackSize<=0)
|
||||||
|
{
|
||||||
|
inputInv1.setInventorySlotContents(j, null);
|
||||||
|
}else
|
||||||
|
{
|
||||||
|
inputInv1.setInventorySlotContents(j, curItem);
|
||||||
|
}
|
||||||
|
|
||||||
|
flag++;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(flag==0&&inputInv2!=null)
|
||||||
|
{
|
||||||
|
for(int i=0;i<recipe.length;i++)
|
||||||
|
{
|
||||||
|
ItemStack recItem = recipe[i];
|
||||||
|
if(recItem==null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
ItemStack alchStack = alchemyEntity.getStackInSlot(i+1);
|
||||||
|
if(alchStack!=null&&((!areItemStacksEqualWithWildcard(recItem,alchStack))||alchStack.stackSize>=alchStack.getMaxStackSize()))
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
for(int j=0;j<inputInv2.getSizeInventory();j++)
|
||||||
|
{
|
||||||
|
ItemStack curItem = inputInv2.getStackInSlot(j);
|
||||||
|
if(curItem==null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if(areItemStacksEqualWithWildcard(recItem,curItem))
|
||||||
|
{
|
||||||
|
if(alchStack==null)
|
||||||
|
{
|
||||||
|
ItemStack copyStack = recItem.copy();
|
||||||
|
copyStack.stackSize = 1;
|
||||||
|
alchemyEntity.setInventorySlotContents(i+1, copyStack);
|
||||||
|
|
||||||
|
curItem.stackSize--;
|
||||||
|
if(curItem.stackSize<=0)
|
||||||
|
{
|
||||||
|
inputInv2.setInventorySlotContents(j, null);
|
||||||
|
}else
|
||||||
|
{
|
||||||
|
inputInv2.setInventorySlotContents(j, curItem);
|
||||||
|
}
|
||||||
|
|
||||||
|
flag++;
|
||||||
|
break;
|
||||||
|
|
||||||
|
}else
|
||||||
|
{
|
||||||
|
alchStack.stackSize++;
|
||||||
|
alchemyEntity.setInventorySlotContents(i+1, alchStack);
|
||||||
|
|
||||||
|
curItem.stackSize--;
|
||||||
|
if(curItem.stackSize<=0)
|
||||||
|
{
|
||||||
|
inputInv2.setInventorySlotContents(j, null);
|
||||||
|
}else
|
||||||
|
{
|
||||||
|
inputInv2.setInventorySlotContents(j, curItem);
|
||||||
|
}
|
||||||
|
|
||||||
|
flag++;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (flag>0)
|
||||||
|
{
|
||||||
|
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<RitualComponent> getRitualComponentList()
|
||||||
|
{
|
||||||
|
ArrayList<RitualComponent> 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());
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,5 +1,8 @@
|
||||||
package WayofTime.alchemicalWizardry.common.rituals;
|
package WayofTime.alchemicalWizardry.common.rituals;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.entity.effect.EntityLightningBolt;
|
import net.minecraft.entity.effect.EntityLightningBolt;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
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.biome.BiomeGenBase;
|
||||||
import net.minecraft.world.chunk.Chunk;
|
import net.minecraft.world.chunk.Chunk;
|
||||||
import WayofTime.alchemicalWizardry.ModBlocks;
|
import WayofTime.alchemicalWizardry.ModBlocks;
|
||||||
import WayofTime.alchemicalWizardry.common.LifeEssenceNetwork;
|
import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone;
|
||||||
import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone;
|
import WayofTime.alchemicalWizardry.api.rituals.RitualComponent;
|
||||||
|
import WayofTime.alchemicalWizardry.api.rituals.RitualEffect;
|
||||||
|
import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork;
|
||||||
import WayofTime.alchemicalWizardry.common.tileEntity.TEPlinth;
|
import WayofTime.alchemicalWizardry.common.tileEntity.TEPlinth;
|
||||||
|
|
||||||
public class RitualEffectBiomeChanger extends RitualEffect
|
public class RitualEffectBiomeChanger extends RitualEffect
|
||||||
{
|
{
|
||||||
@Override
|
@Override
|
||||||
public void performEffect(TEMasterStone ritualStone)
|
public void performEffect(IMasterRitualStone ritualStone)
|
||||||
{
|
{
|
||||||
String owner = ritualStone.getOwner();
|
String owner = ritualStone.getOwner();
|
||||||
World worldSave = MinecraftServer.getServer().worldServers[0];
|
World worldSave = MinecraftServer.getServer().worldServers[0];
|
||||||
|
@ -36,24 +41,25 @@ public class RitualEffectBiomeChanger extends RitualEffect
|
||||||
}
|
}
|
||||||
|
|
||||||
int cooldown = ritualStone.getCooldown();
|
int cooldown = ritualStone.getCooldown();
|
||||||
|
World world = ritualStone.getWorld();
|
||||||
|
int x = ritualStone.getXCoord();
|
||||||
|
int y = ritualStone.getYCoord();
|
||||||
|
int z = ritualStone.getZCoord();
|
||||||
if (cooldown > 0)
|
if (cooldown > 0)
|
||||||
{
|
{
|
||||||
ritualStone.setCooldown(cooldown - 1);
|
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;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
int currentEssence = data.currentEssence;
|
int currentEssence = data.currentEssence;
|
||||||
World world = ritualStone.getWorldObj();
|
|
||||||
int x = ritualStone.xCoord;
|
|
||||||
int y = ritualStone.yCoord;
|
|
||||||
int z = ritualStone.zCoord;
|
|
||||||
int range = 10;
|
int range = 10;
|
||||||
|
|
||||||
if (currentEssence < this.getCostPerRefresh())
|
if (currentEssence < this.getCostPerRefresh())
|
||||||
|
@ -315,4 +321,127 @@ public class RitualEffectBiomeChanger extends RitualEffect
|
||||||
{
|
{
|
||||||
return 200;
|
return 200;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<RitualComponent> getRitualComponentList()
|
||||||
|
{
|
||||||
|
ArrayList<RitualComponent> 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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package WayofTime.alchemicalWizardry.common.rituals;
|
package WayofTime.alchemicalWizardry.common.rituals;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
@ -10,15 +11,16 @@ import net.minecraft.potion.PotionEffect;
|
||||||
import net.minecraft.server.MinecraftServer;
|
import net.minecraft.server.MinecraftServer;
|
||||||
import net.minecraft.util.AxisAlignedBB;
|
import net.minecraft.util.AxisAlignedBB;
|
||||||
import net.minecraft.world.World;
|
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.spell.complex.effect.SpellHelper;
|
||||||
import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar;
|
|
||||||
import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone;
|
|
||||||
|
|
||||||
public class RitualEffectContainment extends RitualEffect
|
public class RitualEffectContainment extends RitualEffect
|
||||||
{
|
{
|
||||||
@Override
|
@Override
|
||||||
public void performEffect(TEMasterStone ritualStone)
|
public void performEffect(IMasterRitualStone ritualStone)
|
||||||
{
|
{
|
||||||
String owner = ritualStone.getOwner();
|
String owner = ritualStone.getOwner();
|
||||||
World worldSave = MinecraftServer.getServer().worldServers[0];
|
World worldSave = MinecraftServer.getServer().worldServers[0];
|
||||||
|
@ -31,10 +33,10 @@ public class RitualEffectContainment extends RitualEffect
|
||||||
}
|
}
|
||||||
|
|
||||||
int currentEssence = data.currentEssence;
|
int currentEssence = data.currentEssence;
|
||||||
World world = ritualStone.getWorldObj();
|
World world = ritualStone.getWorld();
|
||||||
int x = ritualStone.xCoord;
|
int x = ritualStone.getXCoord();
|
||||||
int y = ritualStone.yCoord;
|
int y = ritualStone.getYCoord();
|
||||||
int z = ritualStone.zCoord;
|
int z = ritualStone.getZCoord();
|
||||||
|
|
||||||
if (currentEssence < this.getCostPerRefresh())
|
if (currentEssence < this.getCostPerRefresh())
|
||||||
{
|
{
|
||||||
|
@ -99,4 +101,27 @@ public class RitualEffectContainment extends RitualEffect
|
||||||
{
|
{
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<RitualComponent> getRitualComponentList()
|
||||||
|
{
|
||||||
|
ArrayList<RitualComponent> 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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,12 @@
|
||||||
package WayofTime.alchemicalWizardry.common.rituals;
|
package WayofTime.alchemicalWizardry.common.rituals;
|
||||||
|
|
||||||
import WayofTime.alchemicalWizardry.ModBlocks;
|
import java.util.ArrayList;
|
||||||
import WayofTime.alchemicalWizardry.common.LifeEssenceNetwork;
|
import java.util.List;
|
||||||
import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone;
|
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.entity.item.EntityItem;
|
import net.minecraft.entity.item.EntityItem;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
import net.minecraft.init.Blocks;
|
||||||
import net.minecraft.inventory.IInventory;
|
import net.minecraft.inventory.IInventory;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.potion.Potion;
|
import net.minecraft.potion.Potion;
|
||||||
|
@ -13,13 +14,16 @@ import net.minecraft.potion.PotionEffect;
|
||||||
import net.minecraft.server.MinecraftServer;
|
import net.minecraft.server.MinecraftServer;
|
||||||
import net.minecraft.tileentity.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
import WayofTime.alchemicalWizardry.ModBlocks;
|
||||||
import java.util.ArrayList;
|
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
|
public class RitualEffectCrushing extends RitualEffect
|
||||||
{
|
{
|
||||||
@Override
|
@Override
|
||||||
public void performEffect(TEMasterStone ritualStone)
|
public void performEffect(IMasterRitualStone ritualStone)
|
||||||
{
|
{
|
||||||
String owner = ritualStone.getOwner();
|
String owner = ritualStone.getOwner();
|
||||||
World worldSave = MinecraftServer.getServer().worldServers[0];
|
World worldSave = MinecraftServer.getServer().worldServers[0];
|
||||||
|
@ -32,16 +36,17 @@ public class RitualEffectCrushing extends RitualEffect
|
||||||
}
|
}
|
||||||
|
|
||||||
int currentEssence = data.currentEssence;
|
int currentEssence = data.currentEssence;
|
||||||
World world = ritualStone.getWorldObj();
|
World world = ritualStone.getWorld();
|
||||||
|
|
||||||
if (world.getWorldTime() % 40 != 0)
|
if (world.getWorldTime() % 40 != 20)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
int x = ritualStone.xCoord;
|
|
||||||
int y = ritualStone.yCoord;
|
int x = ritualStone.getXCoord();
|
||||||
int z = ritualStone.zCoord;
|
int y = ritualStone.getYCoord();
|
||||||
|
int z = ritualStone.getZCoord();
|
||||||
TileEntity tile = world.getTileEntity(x, y + 1, z);
|
TileEntity tile = world.getTileEntity(x, y + 1, z);
|
||||||
IInventory tileEntity;
|
IInventory tileEntity;
|
||||||
|
|
||||||
|
@ -58,6 +63,9 @@ public class RitualEffectCrushing extends RitualEffect
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
boolean isSilkTouch = this.isSilkTouch(world, x, y, z);
|
||||||
|
int fortuneLevel = this.getFortuneLevel(world, x, y, z);
|
||||||
|
|
||||||
if (currentEssence < this.getCostPerRefresh())
|
if (currentEssence < this.getCostPerRefresh())
|
||||||
{
|
{
|
||||||
EntityPlayer entityOwner = MinecraftServer.getServer().getConfigurationManager().getPlayerForUsername(owner);
|
EntityPlayer entityOwner = MinecraftServer.getServer().getConfigurationManager().getPlayerForUsername(owner);
|
||||||
|
@ -87,55 +95,106 @@ public class RitualEffectCrushing extends RitualEffect
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
ArrayList<ItemStack> itemDropList = block.getDrops(world, x + i, y + j, z + k, meta, 0);
|
if(isSilkTouch && block.canSilkHarvest(world, null, x + i, y + j, z + k, meta))
|
||||||
|
|
||||||
if (itemDropList != null)
|
|
||||||
{
|
{
|
||||||
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);
|
if (tileEntity.isItemValidForSlot(n, copyStack) && copyStack.stackSize != 0)
|
||||||
|
|
||||||
for (int n = 0; n < invSize; n++)
|
|
||||||
{
|
{
|
||||||
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)
|
if (copySize + itemSize < maxSize)
|
||||||
{
|
|
||||||
tileEntity.setInventorySlotContents(n, copyStack);
|
|
||||||
copyStack.stackSize = 0;
|
|
||||||
} else
|
|
||||||
{
|
|
||||||
if (itemStack.getItem().equals(copyStack.getItem()))
|
|
||||||
{
|
{
|
||||||
int itemSize = itemStack.stackSize;
|
copyStack.stackSize = 0;
|
||||||
int copySize = copyStack.stackSize;
|
itemStack.stackSize = itemSize + copySize;
|
||||||
int maxSize = itemStack.getMaxStackSize();
|
tileEntity.setInventorySlotContents(n, itemStack);
|
||||||
|
} else
|
||||||
if (copySize + itemSize < maxSize)
|
{
|
||||||
{
|
copyStack.stackSize = itemSize + copySize - maxSize;
|
||||||
copyStack.stackSize = 0;
|
itemStack.stackSize = maxSize;
|
||||||
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<ItemStack> 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)
|
//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
|
@Override
|
||||||
public int getCostPerRefresh()
|
public int getCostPerRefresh()
|
||||||
{
|
{
|
||||||
return 7;
|
return 7;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<RitualComponent> getRitualComponentList()
|
||||||
|
{
|
||||||
|
ArrayList<RitualComponent> 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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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<RitualComponent> getRitualComponentList()
|
||||||
|
{
|
||||||
|
ArrayList<RitualComponent> 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;
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,7 +1,8 @@
|
||||||
package WayofTime.alchemicalWizardry.common.rituals;
|
package WayofTime.alchemicalWizardry.common.rituals;
|
||||||
|
|
||||||
import WayofTime.alchemicalWizardry.common.LifeEssenceNetwork;
|
import java.util.ArrayList;
|
||||||
import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone;
|
import java.util.List;
|
||||||
|
|
||||||
import net.minecraft.entity.EntityLivingBase;
|
import net.minecraft.entity.EntityLivingBase;
|
||||||
import net.minecraft.entity.effect.EntityLightningBolt;
|
import net.minecraft.entity.effect.EntityLightningBolt;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
@ -10,13 +11,15 @@ import net.minecraft.potion.PotionEffect;
|
||||||
import net.minecraft.server.MinecraftServer;
|
import net.minecraft.server.MinecraftServer;
|
||||||
import net.minecraft.util.AxisAlignedBB;
|
import net.minecraft.util.AxisAlignedBB;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone;
|
||||||
import java.util.List;
|
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
|
public class RitualEffectFeatheredEarth extends RitualEffect //Nullifies all fall damage in the area of effect
|
||||||
{
|
{
|
||||||
@Override
|
@Override
|
||||||
public void performEffect(TEMasterStone ritualStone)
|
public void performEffect(IMasterRitualStone ritualStone)
|
||||||
{
|
{
|
||||||
String owner = ritualStone.getOwner();
|
String owner = ritualStone.getOwner();
|
||||||
World worldSave = MinecraftServer.getServer().worldServers[0];
|
World worldSave = MinecraftServer.getServer().worldServers[0];
|
||||||
|
@ -29,10 +32,10 @@ public class RitualEffectFeatheredEarth extends RitualEffect //Nullifies all fal
|
||||||
}
|
}
|
||||||
|
|
||||||
int currentEssence = data.currentEssence;
|
int currentEssence = data.currentEssence;
|
||||||
World world = ritualStone.getWorldObj();
|
World world = ritualStone.getWorld();
|
||||||
int x = ritualStone.xCoord;
|
int x = ritualStone.getXCoord();
|
||||||
int y = ritualStone.yCoord;
|
int y = ritualStone.getYCoord();
|
||||||
int z = ritualStone.zCoord;
|
int z = ritualStone.getZCoord();
|
||||||
|
|
||||||
if (ritualStone.getCooldown() > 0)
|
if (ritualStone.getCooldown() > 0)
|
||||||
{
|
{
|
||||||
|
@ -87,4 +90,51 @@ public class RitualEffectFeatheredEarth extends RitualEffect //Nullifies all fal
|
||||||
{
|
{
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<RitualComponent> getRitualComponentList()
|
||||||
|
{
|
||||||
|
ArrayList<RitualComponent> 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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
package WayofTime.alchemicalWizardry.common.rituals;
|
package WayofTime.alchemicalWizardry.common.rituals;
|
||||||
|
|
||||||
import WayofTime.alchemicalWizardry.common.LifeEssenceNetwork;
|
import java.util.ArrayList;
|
||||||
import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar;
|
import java.util.Iterator;
|
||||||
import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone;
|
import java.util.List;
|
||||||
|
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.entity.player.EntityPlayerMP;
|
import net.minecraft.entity.player.EntityPlayerMP;
|
||||||
import net.minecraft.potion.Potion;
|
import net.minecraft.potion.Potion;
|
||||||
|
@ -10,9 +11,11 @@ import net.minecraft.potion.PotionEffect;
|
||||||
import net.minecraft.server.MinecraftServer;
|
import net.minecraft.server.MinecraftServer;
|
||||||
import net.minecraft.util.AxisAlignedBB;
|
import net.minecraft.util.AxisAlignedBB;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone;
|
||||||
import java.util.Iterator;
|
import WayofTime.alchemicalWizardry.api.rituals.RitualComponent;
|
||||||
import java.util.List;
|
import WayofTime.alchemicalWizardry.api.rituals.RitualEffect;
|
||||||
|
import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork;
|
||||||
|
import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar;
|
||||||
|
|
||||||
public class RitualEffectFeatheredKnife extends RitualEffect
|
public class RitualEffectFeatheredKnife extends RitualEffect
|
||||||
{
|
{
|
||||||
|
@ -20,7 +23,7 @@ public class RitualEffectFeatheredKnife extends RitualEffect
|
||||||
public final int amount = 100;
|
public final int amount = 100;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void performEffect(TEMasterStone ritualStone)
|
public void performEffect(IMasterRitualStone ritualStone)
|
||||||
{
|
{
|
||||||
String owner = ritualStone.getOwner();
|
String owner = ritualStone.getOwner();
|
||||||
World worldSave = MinecraftServer.getServer().worldServers[0];
|
World worldSave = MinecraftServer.getServer().worldServers[0];
|
||||||
|
@ -33,10 +36,10 @@ public class RitualEffectFeatheredKnife extends RitualEffect
|
||||||
}
|
}
|
||||||
|
|
||||||
int currentEssence = data.currentEssence;
|
int currentEssence = data.currentEssence;
|
||||||
World world = ritualStone.getWorldObj();
|
World world = ritualStone.getWorld();
|
||||||
int x = ritualStone.xCoord;
|
int x = ritualStone.getXCoord();
|
||||||
int y = ritualStone.yCoord;
|
int y = ritualStone.getYCoord();
|
||||||
int z = ritualStone.zCoord;
|
int z = ritualStone.getZCoord();
|
||||||
|
|
||||||
if (world.getWorldTime() % this.timeDelay != 0)
|
if (world.getWorldTime() % this.timeDelay != 0)
|
||||||
{
|
{
|
||||||
|
@ -138,4 +141,51 @@ public class RitualEffectFeatheredKnife extends RitualEffect
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
return 20;
|
return 20;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<RitualComponent> getRitualComponentList()
|
||||||
|
{
|
||||||
|
ArrayList<RitualComponent> 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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,21 +1,24 @@
|
||||||
package WayofTime.alchemicalWizardry.common.rituals;
|
package WayofTime.alchemicalWizardry.common.rituals;
|
||||||
|
|
||||||
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
import java.util.ArrayList;
|
||||||
import WayofTime.alchemicalWizardry.common.LifeEssenceNetwork;
|
import java.util.List;
|
||||||
import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone;
|
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.potion.Potion;
|
import net.minecraft.potion.Potion;
|
||||||
import net.minecraft.potion.PotionEffect;
|
import net.minecraft.potion.PotionEffect;
|
||||||
import net.minecraft.server.MinecraftServer;
|
import net.minecraft.server.MinecraftServer;
|
||||||
import net.minecraft.util.AxisAlignedBB;
|
import net.minecraft.util.AxisAlignedBB;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
||||||
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 RitualEffectFlight extends RitualEffect
|
public class RitualEffectFlight extends RitualEffect
|
||||||
{
|
{
|
||||||
@Override
|
@Override
|
||||||
public void performEffect(TEMasterStone ritualStone)
|
public void performEffect(IMasterRitualStone ritualStone)
|
||||||
{
|
{
|
||||||
String owner = ritualStone.getOwner();
|
String owner = ritualStone.getOwner();
|
||||||
World worldSave = MinecraftServer.getServer().worldServers[0];
|
World worldSave = MinecraftServer.getServer().worldServers[0];
|
||||||
|
@ -28,10 +31,10 @@ public class RitualEffectFlight extends RitualEffect
|
||||||
}
|
}
|
||||||
|
|
||||||
int currentEssence = data.currentEssence;
|
int currentEssence = data.currentEssence;
|
||||||
World world = ritualStone.getWorldObj();
|
World world = ritualStone.getWorld();
|
||||||
int x = ritualStone.xCoord;
|
int x = ritualStone.getXCoord();
|
||||||
int y = ritualStone.yCoord;
|
int y = ritualStone.getYCoord();
|
||||||
int z = ritualStone.zCoord;
|
int z = ritualStone.getZCoord();
|
||||||
|
|
||||||
if (ritualStone.getCooldown() > 0)
|
if (ritualStone.getCooldown() > 0)
|
||||||
{
|
{
|
||||||
|
@ -85,4 +88,92 @@ public class RitualEffectFlight extends RitualEffect
|
||||||
{
|
{
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<RitualComponent> getRitualComponentList()
|
||||||
|
{
|
||||||
|
ArrayList<RitualComponent> 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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
package WayofTime.alchemicalWizardry.common.rituals;
|
package WayofTime.alchemicalWizardry.common.rituals;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.potion.Potion;
|
import net.minecraft.potion.Potion;
|
||||||
|
@ -7,14 +10,16 @@ import net.minecraft.potion.PotionEffect;
|
||||||
import net.minecraft.server.MinecraftServer;
|
import net.minecraft.server.MinecraftServer;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraftforge.common.IPlantable;
|
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.spell.complex.effect.SpellHelper;
|
||||||
import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone;
|
|
||||||
|
|
||||||
public class RitualEffectGrowth extends RitualEffect
|
public class RitualEffectGrowth extends RitualEffect
|
||||||
{
|
{
|
||||||
@Override
|
@Override
|
||||||
public void performEffect(TEMasterStone ritualStone)
|
public void performEffect(IMasterRitualStone ritualStone)
|
||||||
{
|
{
|
||||||
String owner = ritualStone.getOwner();
|
String owner = ritualStone.getOwner();
|
||||||
World worldSave = MinecraftServer.getServer().worldServers[0];
|
World worldSave = MinecraftServer.getServer().worldServers[0];
|
||||||
|
@ -27,10 +32,10 @@ public class RitualEffectGrowth extends RitualEffect
|
||||||
}
|
}
|
||||||
|
|
||||||
int currentEssence = data.currentEssence;
|
int currentEssence = data.currentEssence;
|
||||||
World world = ritualStone.getWorldObj();
|
World world = ritualStone.getWorld();
|
||||||
int x = ritualStone.xCoord;
|
int x = ritualStone.getXCoord();
|
||||||
int y = ritualStone.yCoord;
|
int y = ritualStone.getYCoord();
|
||||||
int z = ritualStone.zCoord;
|
int z = ritualStone.getZCoord();
|
||||||
|
|
||||||
if (currentEssence < this.getCostPerRefresh())
|
if (currentEssence < this.getCostPerRefresh())
|
||||||
{
|
{
|
||||||
|
@ -81,4 +86,19 @@ public class RitualEffectGrowth extends RitualEffect
|
||||||
{
|
{
|
||||||
return 100;
|
return 100;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<RitualComponent> getRitualComponentList()
|
||||||
|
{
|
||||||
|
ArrayList<RitualComponent> 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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
package WayofTime.alchemicalWizardry.common.rituals;
|
package WayofTime.alchemicalWizardry.common.rituals;
|
||||||
|
|
||||||
import WayofTime.alchemicalWizardry.common.LifeEssenceNetwork;
|
import java.util.ArrayList;
|
||||||
import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone;
|
import java.util.Iterator;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import net.minecraft.entity.EntityLivingBase;
|
import net.minecraft.entity.EntityLivingBase;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.potion.Potion;
|
import net.minecraft.potion.Potion;
|
||||||
|
@ -9,9 +11,10 @@ import net.minecraft.potion.PotionEffect;
|
||||||
import net.minecraft.server.MinecraftServer;
|
import net.minecraft.server.MinecraftServer;
|
||||||
import net.minecraft.util.AxisAlignedBB;
|
import net.minecraft.util.AxisAlignedBB;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone;
|
||||||
import java.util.Iterator;
|
import WayofTime.alchemicalWizardry.api.rituals.RitualComponent;
|
||||||
import java.util.List;
|
import WayofTime.alchemicalWizardry.api.rituals.RitualEffect;
|
||||||
|
import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork;
|
||||||
|
|
||||||
public class RitualEffectHealing extends RitualEffect
|
public class RitualEffectHealing extends RitualEffect
|
||||||
{
|
{
|
||||||
|
@ -19,7 +22,7 @@ public class RitualEffectHealing extends RitualEffect
|
||||||
//public final int amount = 10;
|
//public final int amount = 10;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void performEffect(TEMasterStone ritualStone)
|
public void performEffect(IMasterRitualStone ritualStone)
|
||||||
{
|
{
|
||||||
String owner = ritualStone.getOwner();
|
String owner = ritualStone.getOwner();
|
||||||
World worldSave = MinecraftServer.getServer().worldServers[0];
|
World worldSave = MinecraftServer.getServer().worldServers[0];
|
||||||
|
@ -32,10 +35,10 @@ public class RitualEffectHealing extends RitualEffect
|
||||||
}
|
}
|
||||||
|
|
||||||
int currentEssence = data.currentEssence;
|
int currentEssence = data.currentEssence;
|
||||||
World world = ritualStone.getWorldObj();
|
World world = ritualStone.getWorld();
|
||||||
int x = ritualStone.xCoord;
|
int x = ritualStone.getXCoord();
|
||||||
int y = ritualStone.yCoord;
|
int y = ritualStone.getYCoord();
|
||||||
int z = ritualStone.zCoord;
|
int z = ritualStone.getZCoord();
|
||||||
|
|
||||||
if (world.getWorldTime() % this.timeDelay != 0)
|
if (world.getWorldTime() % this.timeDelay != 0)
|
||||||
{
|
{
|
||||||
|
@ -123,4 +126,55 @@ public class RitualEffectHealing extends RitualEffect
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
return 20;
|
return 20;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<RitualComponent> getRitualComponentList()
|
||||||
|
{
|
||||||
|
ArrayList<RitualComponent> 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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
package WayofTime.alchemicalWizardry.common.rituals;
|
package WayofTime.alchemicalWizardry.common.rituals;
|
||||||
|
|
||||||
import WayofTime.alchemicalWizardry.common.LifeEssenceNetwork;
|
import java.util.ArrayList;
|
||||||
import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper;
|
import java.util.Iterator;
|
||||||
import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone;
|
import java.util.List;
|
||||||
|
|
||||||
import net.minecraft.entity.EntityLivingBase;
|
import net.minecraft.entity.EntityLivingBase;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.potion.Potion;
|
import net.minecraft.potion.Potion;
|
||||||
|
@ -10,14 +11,16 @@ import net.minecraft.potion.PotionEffect;
|
||||||
import net.minecraft.server.MinecraftServer;
|
import net.minecraft.server.MinecraftServer;
|
||||||
import net.minecraft.util.AxisAlignedBB;
|
import net.minecraft.util.AxisAlignedBB;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone;
|
||||||
import java.util.Iterator;
|
import WayofTime.alchemicalWizardry.api.rituals.RitualComponent;
|
||||||
import java.util.List;
|
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
|
public class RitualEffectInterdiction extends RitualEffect
|
||||||
{
|
{
|
||||||
@Override
|
@Override
|
||||||
public void performEffect(TEMasterStone ritualStone)
|
public void performEffect(IMasterRitualStone ritualStone)
|
||||||
{
|
{
|
||||||
String owner = ritualStone.getOwner();
|
String owner = ritualStone.getOwner();
|
||||||
World worldSave = MinecraftServer.getServer().worldServers[0];
|
World worldSave = MinecraftServer.getServer().worldServers[0];
|
||||||
|
@ -30,10 +33,10 @@ public class RitualEffectInterdiction extends RitualEffect
|
||||||
}
|
}
|
||||||
|
|
||||||
int currentEssence = data.currentEssence;
|
int currentEssence = data.currentEssence;
|
||||||
World world = ritualStone.getWorldObj();
|
World world = ritualStone.getWorld();
|
||||||
int x = ritualStone.xCoord;
|
int x = ritualStone.getXCoord();
|
||||||
int y = ritualStone.yCoord;
|
int y = ritualStone.getYCoord();
|
||||||
int z = ritualStone.zCoord;
|
int z = ritualStone.getZCoord();
|
||||||
|
|
||||||
if (currentEssence < this.getCostPerRefresh())
|
if (currentEssence < this.getCostPerRefresh())
|
||||||
{
|
{
|
||||||
|
@ -91,4 +94,19 @@ public class RitualEffectInterdiction extends RitualEffect
|
||||||
{
|
{
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<RitualComponent> getRitualComponentList()
|
||||||
|
{
|
||||||
|
ArrayList<RitualComponent> 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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
package WayofTime.alchemicalWizardry.common.rituals;
|
package WayofTime.alchemicalWizardry.common.rituals;
|
||||||
|
|
||||||
import ibxm.Player;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
@ -12,15 +11,16 @@ import net.minecraft.potion.PotionEffect;
|
||||||
import net.minecraft.server.MinecraftServer;
|
import net.minecraft.server.MinecraftServer;
|
||||||
import net.minecraft.util.AxisAlignedBB;
|
import net.minecraft.util.AxisAlignedBB;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import WayofTime.alchemicalWizardry.common.LifeEssenceNetwork;
|
import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone;
|
||||||
import WayofTime.alchemicalWizardry.common.PacketHandler;
|
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.complex.effect.SpellHelper;
|
||||||
import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone;
|
|
||||||
|
|
||||||
public class RitualEffectJumping extends RitualEffect
|
public class RitualEffectJumping extends RitualEffect
|
||||||
{
|
{
|
||||||
@Override
|
@Override
|
||||||
public void performEffect(TEMasterStone ritualStone)
|
public void performEffect(IMasterRitualStone ritualStone)
|
||||||
{
|
{
|
||||||
String owner = ritualStone.getOwner();
|
String owner = ritualStone.getOwner();
|
||||||
World worldSave = MinecraftServer.getServer().worldServers[0];
|
World worldSave = MinecraftServer.getServer().worldServers[0];
|
||||||
|
@ -33,10 +33,10 @@ public class RitualEffectJumping extends RitualEffect
|
||||||
}
|
}
|
||||||
|
|
||||||
int currentEssence = data.currentEssence;
|
int currentEssence = data.currentEssence;
|
||||||
World world = ritualStone.getWorldObj();
|
World world = ritualStone.getWorld();
|
||||||
int x = ritualStone.xCoord;
|
int x = ritualStone.getXCoord();
|
||||||
int y = ritualStone.yCoord;
|
int y = ritualStone.getYCoord();
|
||||||
int z = ritualStone.zCoord;
|
int z = ritualStone.getZCoord();
|
||||||
|
|
||||||
if (currentEssence < this.getCostPerRefresh())
|
if (currentEssence < this.getCostPerRefresh())
|
||||||
{
|
{
|
||||||
|
@ -96,4 +96,19 @@ public class RitualEffectJumping extends RitualEffect
|
||||||
{
|
{
|
||||||
return 5;
|
return 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<RitualComponent> getRitualComponentList()
|
||||||
|
{
|
||||||
|
ArrayList<RitualComponent> 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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,20 +1,26 @@
|
||||||
package WayofTime.alchemicalWizardry.common.rituals;
|
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.entity.player.EntityPlayer;
|
||||||
import net.minecraft.init.Blocks;
|
import net.minecraft.init.Blocks;
|
||||||
import net.minecraft.potion.Potion;
|
import net.minecraft.potion.Potion;
|
||||||
import net.minecraft.potion.PotionEffect;
|
import net.minecraft.potion.PotionEffect;
|
||||||
import net.minecraft.server.MinecraftServer;
|
import net.minecraft.server.MinecraftServer;
|
||||||
import net.minecraft.world.World;
|
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.spell.complex.effect.SpellHelper;
|
||||||
import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar;
|
|
||||||
import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone;
|
|
||||||
|
|
||||||
public class RitualEffectLava extends RitualEffect
|
public class RitualEffectLava extends RitualEffect
|
||||||
{
|
{
|
||||||
@Override
|
@Override
|
||||||
public void performEffect(TEMasterStone ritualStone)
|
public void performEffect(IMasterRitualStone ritualStone)
|
||||||
{
|
{
|
||||||
String owner = ritualStone.getOwner();
|
String owner = ritualStone.getOwner();
|
||||||
World worldSave = MinecraftServer.getServer().worldServers[0];
|
World worldSave = MinecraftServer.getServer().worldServers[0];
|
||||||
|
@ -27,12 +33,14 @@ public class RitualEffectLava extends RitualEffect
|
||||||
}
|
}
|
||||||
|
|
||||||
int currentEssence = data.currentEssence;
|
int currentEssence = data.currentEssence;
|
||||||
World world = ritualStone.getWorldObj();
|
World world = ritualStone.getWorld();
|
||||||
int x = ritualStone.xCoord;
|
int x = ritualStone.getXCoord();
|
||||||
int y = ritualStone.yCoord;
|
int y = ritualStone.getYCoord();
|
||||||
int z = ritualStone.zCoord;
|
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())
|
if (currentEssence < this.getCostPerRefresh())
|
||||||
{
|
{
|
||||||
|
@ -64,4 +72,15 @@ public class RitualEffectLava extends RitualEffect
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
return 500;
|
return 500;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<RitualComponent> getRitualComponentList()
|
||||||
|
{
|
||||||
|
ArrayList<RitualComponent> 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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package WayofTime.alchemicalWizardry.common.rituals;
|
package WayofTime.alchemicalWizardry.common.rituals;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
@ -10,14 +11,16 @@ import net.minecraft.potion.PotionEffect;
|
||||||
import net.minecraft.server.MinecraftServer;
|
import net.minecraft.server.MinecraftServer;
|
||||||
import net.minecraft.util.AxisAlignedBB;
|
import net.minecraft.util.AxisAlignedBB;
|
||||||
import net.minecraft.world.World;
|
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.spell.complex.effect.SpellHelper;
|
||||||
import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone;
|
|
||||||
|
|
||||||
public class RitualEffectLeap extends RitualEffect
|
public class RitualEffectLeap extends RitualEffect
|
||||||
{
|
{
|
||||||
@Override
|
@Override
|
||||||
public void performEffect(TEMasterStone ritualStone)
|
public void performEffect(IMasterRitualStone ritualStone)
|
||||||
{
|
{
|
||||||
String owner = ritualStone.getOwner();
|
String owner = ritualStone.getOwner();
|
||||||
World worldSave = MinecraftServer.getServer().worldServers[0];
|
World worldSave = MinecraftServer.getServer().worldServers[0];
|
||||||
|
@ -30,10 +33,10 @@ public class RitualEffectLeap extends RitualEffect
|
||||||
}
|
}
|
||||||
|
|
||||||
int currentEssence = data.currentEssence;
|
int currentEssence = data.currentEssence;
|
||||||
World world = ritualStone.getWorldObj();
|
World world = ritualStone.getWorld();
|
||||||
int x = ritualStone.xCoord;
|
int x = ritualStone.getXCoord();
|
||||||
int y = ritualStone.yCoord;
|
int y = ritualStone.getYCoord();
|
||||||
int z = ritualStone.zCoord;
|
int z = ritualStone.getZCoord();
|
||||||
|
|
||||||
if (currentEssence < this.getCostPerRefresh())
|
if (currentEssence < this.getCostPerRefresh())
|
||||||
{
|
{
|
||||||
|
@ -136,4 +139,20 @@ public class RitualEffectLeap extends RitualEffect
|
||||||
{
|
{
|
||||||
return 5;
|
return 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<RitualComponent> getRitualComponentList()
|
||||||
|
{
|
||||||
|
ArrayList<RitualComponent> 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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
package WayofTime.alchemicalWizardry.common.rituals;
|
package WayofTime.alchemicalWizardry.common.rituals;
|
||||||
|
|
||||||
import WayofTime.alchemicalWizardry.common.LifeEssenceNetwork;
|
import java.util.ArrayList;
|
||||||
import WayofTime.alchemicalWizardry.common.block.BlockTeleposer;
|
import java.util.List;
|
||||||
import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone;
|
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
@ -11,11 +11,16 @@ import net.minecraft.potion.PotionEffect;
|
||||||
import net.minecraft.server.MinecraftServer;
|
import net.minecraft.server.MinecraftServer;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraftforge.oredict.OreDictionary;
|
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
|
public class RitualEffectMagnetic extends RitualEffect
|
||||||
{
|
{
|
||||||
@Override
|
@Override
|
||||||
public void performEffect(TEMasterStone ritualStone)
|
public void performEffect(IMasterRitualStone ritualStone)
|
||||||
{
|
{
|
||||||
String owner = ritualStone.getOwner();
|
String owner = ritualStone.getOwner();
|
||||||
World worldSave = MinecraftServer.getServer().worldServers[0];
|
World worldSave = MinecraftServer.getServer().worldServers[0];
|
||||||
|
@ -28,10 +33,10 @@ public class RitualEffectMagnetic extends RitualEffect
|
||||||
}
|
}
|
||||||
|
|
||||||
int currentEssence = data.currentEssence;
|
int currentEssence = data.currentEssence;
|
||||||
World world = ritualStone.getWorldObj();
|
World world = ritualStone.getWorld();
|
||||||
int x = ritualStone.xCoord;
|
int x = ritualStone.getXCoord();
|
||||||
int y = ritualStone.yCoord;
|
int y = ritualStone.getYCoord();
|
||||||
int z = ritualStone.zCoord;
|
int z = ritualStone.getZCoord();
|
||||||
|
|
||||||
if (world.getWorldTime() % 40 != 0)
|
if (world.getWorldTime() % 40 != 0)
|
||||||
{
|
{
|
||||||
|
@ -118,4 +123,27 @@ public class RitualEffectMagnetic extends RitualEffect
|
||||||
{
|
{
|
||||||
return 50;
|
return 50;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<RitualComponent> getRitualComponentList()
|
||||||
|
{
|
||||||
|
ArrayList<RitualComponent> 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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
package WayofTime.alchemicalWizardry.common.rituals;
|
package WayofTime.alchemicalWizardry.common.rituals;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import net.minecraft.entity.effect.EntityLightningBolt;
|
import net.minecraft.entity.effect.EntityLightningBolt;
|
||||||
import net.minecraft.entity.item.EntityItem;
|
import net.minecraft.entity.item.EntityItem;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.init.Items;
|
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.potion.Potion;
|
import net.minecraft.potion.Potion;
|
||||||
|
@ -14,17 +14,17 @@ import net.minecraft.potion.PotionEffect;
|
||||||
import net.minecraft.server.MinecraftServer;
|
import net.minecraft.server.MinecraftServer;
|
||||||
import net.minecraft.util.AxisAlignedBB;
|
import net.minecraft.util.AxisAlignedBB;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
import WayofTime.alchemicalWizardry.api.bindingRegistry.BindingRegistry;
|
||||||
import WayofTime.alchemicalWizardry.ModItems;
|
import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone;
|
||||||
import WayofTime.alchemicalWizardry.common.LifeEssenceNetwork;
|
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.complex.effect.SpellHelper;
|
||||||
import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar;
|
|
||||||
import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone;
|
|
||||||
|
|
||||||
public class RitualEffectSoulBound extends RitualEffect
|
public class RitualEffectSoulBound extends RitualEffect
|
||||||
{
|
{
|
||||||
@Override
|
@Override
|
||||||
public void performEffect(TEMasterStone ritualStone)
|
public void performEffect(IMasterRitualStone ritualStone)
|
||||||
{
|
{
|
||||||
String owner = ritualStone.getOwner();
|
String owner = ritualStone.getOwner();
|
||||||
World worldSave = MinecraftServer.getServer().worldServers[0];
|
World worldSave = MinecraftServer.getServer().worldServers[0];
|
||||||
|
@ -37,10 +37,10 @@ public class RitualEffectSoulBound extends RitualEffect
|
||||||
}
|
}
|
||||||
|
|
||||||
int currentEssence = data.currentEssence;
|
int currentEssence = data.currentEssence;
|
||||||
World world = ritualStone.getWorldObj();
|
World world = ritualStone.getWorld();
|
||||||
int x = ritualStone.xCoord;
|
int x = ritualStone.getXCoord();
|
||||||
int y = ritualStone.yCoord;
|
int y = ritualStone.getYCoord();
|
||||||
int z = ritualStone.zCoord;
|
int z = ritualStone.getZCoord();
|
||||||
|
|
||||||
if (currentEssence < this.getCostPerRefresh())
|
if (currentEssence < this.getCostPerRefresh())
|
||||||
{
|
{
|
||||||
|
@ -75,58 +75,16 @@ public class RitualEffectSoulBound extends RitualEffect
|
||||||
continue;
|
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)
|
if (world.rand.nextInt(10) == 0)
|
||||||
{
|
{
|
||||||
SpellHelper.sendIndexedParticleToAllAround(world, x, y, z, 20, world.provider.dimensionId, 1, x, y, z);
|
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)
|
if (ritualStone.getCooldown() <= 0)
|
||||||
{
|
{
|
||||||
ItemStack spawnedItem = new ItemStack(Item.getItemById(ritualStone.getVar1()), 1, 0);
|
|
||||||
|
ItemStack spawnedItem = BindingRegistry.getOutputForIndex(ritualStone.getVar1()-1);
|
||||||
|
|
||||||
if (spawnedItem != null)
|
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);
|
world.spawnEntityInWorld(newItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -206,4 +165,35 @@ public class RitualEffectSoulBound extends RitualEffect
|
||||||
{
|
{
|
||||||
return 200;
|
return 200;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<RitualComponent> getRitualComponentList()
|
||||||
|
{
|
||||||
|
ArrayList<RitualComponent> 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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,8 @@
|
||||||
package WayofTime.alchemicalWizardry.common.rituals;
|
package WayofTime.alchemicalWizardry.common.rituals;
|
||||||
|
|
||||||
import WayofTime.alchemicalWizardry.common.LifeEssenceNetwork;
|
import java.util.ArrayList;
|
||||||
import WayofTime.alchemicalWizardry.common.entity.projectile.EntityMeteor;
|
import java.util.List;
|
||||||
import WayofTime.alchemicalWizardry.common.summoning.meteor.MeteorRegistry;
|
|
||||||
import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone;
|
|
||||||
import net.minecraft.entity.item.EntityItem;
|
import net.minecraft.entity.item.EntityItem;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.potion.Potion;
|
import net.minecraft.potion.Potion;
|
||||||
|
@ -11,13 +10,17 @@ import net.minecraft.potion.PotionEffect;
|
||||||
import net.minecraft.server.MinecraftServer;
|
import net.minecraft.server.MinecraftServer;
|
||||||
import net.minecraft.util.AxisAlignedBB;
|
import net.minecraft.util.AxisAlignedBB;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone;
|
||||||
import java.util.List;
|
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
|
public class RitualEffectSummonMeteor extends RitualEffect
|
||||||
{
|
{
|
||||||
@Override
|
@Override
|
||||||
public void performEffect(TEMasterStone ritualStone)
|
public void performEffect(IMasterRitualStone ritualStone)
|
||||||
{
|
{
|
||||||
String owner = ritualStone.getOwner();
|
String owner = ritualStone.getOwner();
|
||||||
World worldSave = MinecraftServer.getServer().worldServers[0];
|
World worldSave = MinecraftServer.getServer().worldServers[0];
|
||||||
|
@ -30,10 +33,10 @@ public class RitualEffectSummonMeteor extends RitualEffect
|
||||||
}
|
}
|
||||||
|
|
||||||
int currentEssence = data.currentEssence;
|
int currentEssence = data.currentEssence;
|
||||||
World world = ritualStone.getWorldObj();
|
World world = ritualStone.getWorld();
|
||||||
int x = ritualStone.xCoord;
|
int x = ritualStone.getXCoord();
|
||||||
int y = ritualStone.yCoord;
|
int y = ritualStone.getYCoord();
|
||||||
int z = ritualStone.zCoord;
|
int z = ritualStone.getZCoord();
|
||||||
|
|
||||||
if (ritualStone.getCooldown() > 0)
|
if (ritualStone.getCooldown() > 0)
|
||||||
{
|
{
|
||||||
|
@ -88,4 +91,113 @@ public class RitualEffectSummonMeteor extends RitualEffect
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<RitualComponent> getRitualComponentList()
|
||||||
|
{
|
||||||
|
ArrayList<RitualComponent> 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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,15 +10,17 @@ import net.minecraft.potion.PotionEffect;
|
||||||
import net.minecraft.server.MinecraftServer;
|
import net.minecraft.server.MinecraftServer;
|
||||||
import net.minecraft.util.AxisAlignedBB;
|
import net.minecraft.util.AxisAlignedBB;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import WayofTime.alchemicalWizardry.common.IBindable;
|
import WayofTime.alchemicalWizardry.api.items.interfaces.IBindable;
|
||||||
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.EnergyItems;
|
import WayofTime.alchemicalWizardry.common.items.EnergyItems;
|
||||||
import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone;
|
|
||||||
|
|
||||||
public class RitualEffectSummonPlayer extends RitualEffect //Summons a player via the bound item
|
public class RitualEffectSummonPlayer extends RitualEffect //Summons a player via the bound item
|
||||||
{
|
{
|
||||||
@Override
|
@Override
|
||||||
public void performEffect(TEMasterStone ritualStone)
|
public void performEffect(IMasterRitualStone ritualStone)
|
||||||
{
|
{
|
||||||
String owner = ritualStone.getOwner();
|
String owner = ritualStone.getOwner();
|
||||||
World worldSave = MinecraftServer.getServer().worldServers[0];
|
World worldSave = MinecraftServer.getServer().worldServers[0];
|
||||||
|
@ -31,10 +33,10 @@ public class RitualEffectSummonPlayer extends RitualEffect //Summons a player vi
|
||||||
}
|
}
|
||||||
|
|
||||||
int currentEssence = data.currentEssence;
|
int currentEssence = data.currentEssence;
|
||||||
World world = ritualStone.getWorldObj();
|
World world = ritualStone.getWorld();
|
||||||
int x = ritualStone.xCoord;
|
int x = ritualStone.getXCoord();
|
||||||
int y = ritualStone.yCoord;
|
int y = ritualStone.getYCoord();
|
||||||
int z = ritualStone.zCoord;
|
int z = ritualStone.getZCoord();
|
||||||
|
|
||||||
if (ritualStone.getCooldown() > 0)
|
if (ritualStone.getCooldown() > 0)
|
||||||
{
|
{
|
||||||
|
@ -100,4 +102,10 @@ public class RitualEffectSummonPlayer extends RitualEffect //Summons a player vi
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<RitualComponent> getRitualComponentList() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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<RitualComponent> getRitualComponentList()
|
||||||
|
{
|
||||||
|
ArrayList<RitualComponent> 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;
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,9 +1,9 @@
|
||||||
package WayofTime.alchemicalWizardry.common.rituals;
|
package WayofTime.alchemicalWizardry.common.rituals;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import net.minecraft.block.Block;
|
|
||||||
import net.minecraft.entity.effect.EntityLightningBolt;
|
import net.minecraft.entity.effect.EntityLightningBolt;
|
||||||
import net.minecraft.entity.item.EntityItem;
|
import net.minecraft.entity.item.EntityItem;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
@ -16,17 +16,18 @@ import net.minecraft.util.AxisAlignedBB;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import WayofTime.alchemicalWizardry.ModBlocks;
|
import WayofTime.alchemicalWizardry.ModBlocks;
|
||||||
import WayofTime.alchemicalWizardry.ModItems;
|
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.BoundArmour;
|
||||||
import WayofTime.alchemicalWizardry.common.items.sigil.SigilOfHolding;
|
import WayofTime.alchemicalWizardry.common.items.sigil.SigilOfHolding;
|
||||||
import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper;
|
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
|
public class RitualEffectUnbinding extends RitualEffect
|
||||||
{
|
{
|
||||||
@Override
|
@Override
|
||||||
public void performEffect(TEMasterStone ritualStone)
|
public void performEffect(IMasterRitualStone ritualStone)
|
||||||
{
|
{
|
||||||
String owner = ritualStone.getOwner();
|
String owner = ritualStone.getOwner();
|
||||||
World worldSave = MinecraftServer.getServer().worldServers[0];
|
World worldSave = MinecraftServer.getServer().worldServers[0];
|
||||||
|
@ -39,10 +40,10 @@ public class RitualEffectUnbinding extends RitualEffect
|
||||||
}
|
}
|
||||||
|
|
||||||
int currentEssence = data.currentEssence;
|
int currentEssence = data.currentEssence;
|
||||||
World world = ritualStone.getWorldObj();
|
World world = ritualStone.getWorld();
|
||||||
int x = ritualStone.xCoord;
|
int x = ritualStone.getXCoord();
|
||||||
int y = ritualStone.yCoord;
|
int y = ritualStone.getYCoord();
|
||||||
int z = ritualStone.zCoord;
|
int z = ritualStone.getZCoord();
|
||||||
|
|
||||||
if (currentEssence < this.getCostPerRefresh())
|
if (currentEssence < this.getCostPerRefresh())
|
||||||
{
|
{
|
||||||
|
@ -163,4 +164,43 @@ public class RitualEffectUnbinding extends RitualEffect
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<RitualComponent> getRitualComponentList()
|
||||||
|
{
|
||||||
|
ArrayList<RitualComponent> 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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,19 +1,25 @@
|
||||||
package WayofTime.alchemicalWizardry.common.rituals;
|
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.entity.player.EntityPlayer;
|
||||||
import net.minecraft.init.Blocks;
|
import net.minecraft.init.Blocks;
|
||||||
import net.minecraft.potion.Potion;
|
import net.minecraft.potion.Potion;
|
||||||
import net.minecraft.potion.PotionEffect;
|
import net.minecraft.potion.PotionEffect;
|
||||||
import net.minecraft.server.MinecraftServer;
|
import net.minecraft.server.MinecraftServer;
|
||||||
import net.minecraft.world.World;
|
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.spell.complex.effect.SpellHelper;
|
||||||
import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar;
|
|
||||||
import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone;
|
|
||||||
|
|
||||||
public class RitualEffectWater extends RitualEffect
|
public class RitualEffectWater extends RitualEffect
|
||||||
{
|
{
|
||||||
public void performEffect(TEMasterStone ritualStone)
|
public void performEffect(IMasterRitualStone ritualStone)
|
||||||
{
|
{
|
||||||
String owner = ritualStone.getOwner();
|
String owner = ritualStone.getOwner();
|
||||||
World worldSave = MinecraftServer.getServer().worldServers[0];
|
World worldSave = MinecraftServer.getServer().worldServers[0];
|
||||||
|
@ -26,12 +32,14 @@ public class RitualEffectWater extends RitualEffect
|
||||||
}
|
}
|
||||||
|
|
||||||
int currentEssence = data.currentEssence;
|
int currentEssence = data.currentEssence;
|
||||||
World world = ritualStone.getWorldObj();
|
World world = ritualStone.getWorld();
|
||||||
int x = ritualStone.xCoord;
|
int x = ritualStone.getXCoord();
|
||||||
int y = ritualStone.yCoord;
|
int y = ritualStone.getYCoord();
|
||||||
int z = ritualStone.zCoord;
|
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())
|
if (currentEssence < this.getCostPerRefresh())
|
||||||
{
|
{
|
||||||
|
@ -61,4 +69,15 @@ public class RitualEffectWater extends RitualEffect
|
||||||
{
|
{
|
||||||
return 25;
|
return 25;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<RitualComponent> getRitualComponentList()
|
||||||
|
{
|
||||||
|
ArrayList<RitualComponent> 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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
package WayofTime.alchemicalWizardry.common.rituals;
|
package WayofTime.alchemicalWizardry.common.rituals;
|
||||||
|
|
||||||
import WayofTime.alchemicalWizardry.common.LifeEssenceNetwork;
|
import java.util.ArrayList;
|
||||||
import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar;
|
import java.util.Iterator;
|
||||||
import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone;
|
import java.util.List;
|
||||||
|
|
||||||
import net.minecraft.entity.EntityLivingBase;
|
import net.minecraft.entity.EntityLivingBase;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.potion.Potion;
|
import net.minecraft.potion.Potion;
|
||||||
|
@ -11,9 +12,11 @@ import net.minecraft.server.MinecraftServer;
|
||||||
import net.minecraft.util.AxisAlignedBB;
|
import net.minecraft.util.AxisAlignedBB;
|
||||||
import net.minecraft.util.DamageSource;
|
import net.minecraft.util.DamageSource;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone;
|
||||||
import java.util.Iterator;
|
import WayofTime.alchemicalWizardry.api.rituals.RitualComponent;
|
||||||
import java.util.List;
|
import WayofTime.alchemicalWizardry.api.rituals.RitualEffect;
|
||||||
|
import WayofTime.alchemicalWizardry.api.soulNetwork.LifeEssenceNetwork;
|
||||||
|
import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar;
|
||||||
|
|
||||||
public class RitualEffectWellOfSuffering extends RitualEffect
|
public class RitualEffectWellOfSuffering extends RitualEffect
|
||||||
{
|
{
|
||||||
|
@ -21,7 +24,7 @@ public class RitualEffectWellOfSuffering extends RitualEffect
|
||||||
public final int amount = 10;
|
public final int amount = 10;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void performEffect(TEMasterStone ritualStone)
|
public void performEffect(IMasterRitualStone ritualStone)
|
||||||
{
|
{
|
||||||
String owner = ritualStone.getOwner();
|
String owner = ritualStone.getOwner();
|
||||||
World worldSave = MinecraftServer.getServer().worldServers[0];
|
World worldSave = MinecraftServer.getServer().worldServers[0];
|
||||||
|
@ -34,10 +37,10 @@ public class RitualEffectWellOfSuffering extends RitualEffect
|
||||||
}
|
}
|
||||||
|
|
||||||
int currentEssence = data.currentEssence;
|
int currentEssence = data.currentEssence;
|
||||||
World world = ritualStone.getWorldObj();
|
World world = ritualStone.getWorld();
|
||||||
int x = ritualStone.xCoord;
|
int x = ritualStone.getXCoord();
|
||||||
int y = ritualStone.yCoord;
|
int y = ritualStone.getYCoord();
|
||||||
int z = ritualStone.zCoord;
|
int z = ritualStone.getZCoord();
|
||||||
|
|
||||||
if (world.getWorldTime() % this.timeDelay != 0)
|
if (world.getWorldTime() % this.timeDelay != 0)
|
||||||
{
|
{
|
||||||
|
@ -132,4 +135,47 @@ public class RitualEffectWellOfSuffering extends RitualEffect
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<RitualComponent> getRitualComponentList()
|
||||||
|
{
|
||||||
|
ArrayList<RitualComponent> 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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -16,9 +16,11 @@ import net.minecraft.item.crafting.FurnaceRecipes;
|
||||||
import net.minecraft.util.AxisAlignedBB;
|
import net.minecraft.util.AxisAlignedBB;
|
||||||
import net.minecraft.util.Vec3;
|
import net.minecraft.util.Vec3;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
import net.minecraftforge.common.util.FakePlayer;
|
||||||
import net.minecraftforge.common.util.ForgeDirection;
|
import net.minecraftforge.common.util.ForgeDirection;
|
||||||
import net.minecraftforge.oredict.OreDictionary;
|
import net.minecraftforge.oredict.OreDictionary;
|
||||||
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
|
||||||
|
import WayofTime.alchemicalWizardry.api.soulNetwork.SoulNetworkHandler;
|
||||||
import WayofTime.alchemicalWizardry.common.NewPacketHandler;
|
import WayofTime.alchemicalWizardry.common.NewPacketHandler;
|
||||||
|
|
||||||
public class SpellHelper
|
public class SpellHelper
|
||||||
|
@ -121,7 +123,7 @@ public class SpellHelper
|
||||||
|
|
||||||
public static String getUsername(EntityPlayer player)
|
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)
|
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)
|
public static void smashBlock(World world, int posX, int posY, int posZ)
|
||||||
{
|
{
|
||||||
Block block = world.getBlock(posX, posY, posZ);
|
Block block = world.getBlock(posX, posY, posZ);
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue