Merge pull request #3 from OneEyeMaker/RunesOverride

More config options for energy items.
This commit is contained in:
Martin authored and GitHub committed 2016-06-26 18:02:22 +02:00
commit 8e1da130c6
7 files changed
+147 -94

No files matched your search

@@ -317,8 +317,27 @@ public class AlchemicalWizardry
public static HashMap<Class<?>, Integer> lpPerSactificeCustom;
public static int energyBlastDamage = 12;
public static int energyBlastSecondTierDamage = 12;
public static int energyBlastLPPerShot = 150;
public static int energyBlastSecondTierLPPerShot = 150;
public static int energyBlastMaxDelay = 15;
public static int energyBlastMaxDelayAfterActivation = 100;
public static int energyBlastSecondTierMaxDelay = 15;
public static int energyBlastSecondTierMaxDelayAfterActivation = 100;
public static int energyBlastLPPerActivation = 50;
public static int energyBlastSecondTierLPPerActivation = 50;
public static int energyBazookaDamage = 12;
public static int energyBazookaSecondTierDamage = 12;
public static int energyBazookaSecondaryDamage = 15;
public static int energyBazookaSecondTierSecondaryDamage = 15;
public static int energyBazookaLPPerShot = 20000;
public static int energyBazookaSecondTierLPPerShot = 20000;
public static int energyBazookaMaxDelay = 150;
public static int energyBazookaMaxDelayAfterActivation = 100;
public static int energyBazookaSecondTierMaxDelay = 150;
public static int energyBazookaSecondTierMaxDelayAfterActivation = 100;
public static int energyBazookaLPPerActivation = 50;
public static int energyBazookaSecondTierLPPerActivation = 50;
public static List<Class> wellBlacklist;
@@ -289,9 +289,28 @@ public class BloodMagicConfiguration
AlchemicalWizardry.lpPerSacrificeWellOfSuffering = config.get("sacrifice", "LP per sacrifice with Well of Suffering ritual", AlchemicalWizardry.lpPerSacrificeWellOfSuffering).getInt(AlchemicalWizardry.lpPerSacrificeWellOfSuffering);
AlchemicalWizardry.lpPerSacrificeIncense = config.get("sacrifice", "LP per (self-)sacrifice with incense", AlchemicalWizardry.lpPerSacrificeIncense).getDouble(AlchemicalWizardry.lpPerSacrificeIncense);
AlchemicalWizardry.energyBlastDamage = config.get("energy items damage", "Energy Blast damage", AlchemicalWizardry.energyBlastDamage).getInt(AlchemicalWizardry.energyBlastDamage);
AlchemicalWizardry.energyBazookaDamage = config.get("energy items damage", "Energy Bazooka damage", AlchemicalWizardry.energyBazookaDamage).getInt(AlchemicalWizardry.energyBazookaDamage);
AlchemicalWizardry.energyBazookaSecondaryDamage = config.get("energy items damage", "Energy Bazooka secondary damage", AlchemicalWizardry.energyBazookaSecondaryDamage).getInt(AlchemicalWizardry.energyBazookaSecondaryDamage);
AlchemicalWizardry.energyBlastDamage = config.get("energy items", "Energy Blast damage", AlchemicalWizardry.energyBlastDamage).getInt(AlchemicalWizardry.energyBlastDamage);
AlchemicalWizardry.energyBlastSecondTierDamage = config.get("energy items", "Energy Blast Tier II damage", AlchemicalWizardry.energyBlastSecondTierDamage).getInt(AlchemicalWizardry.energyBlastSecondTierDamage);
AlchemicalWizardry.energyBlastLPPerShot = config.get("energy items", "Energy Blast LP per shot", AlchemicalWizardry.energyBlastLPPerShot).getInt(AlchemicalWizardry.energyBlastLPPerShot);
AlchemicalWizardry.energyBlastSecondTierLPPerShot = config.get("energy items", "Energy Blast Tier II LP per shot", AlchemicalWizardry.energyBlastSecondTierLPPerShot).getInt(AlchemicalWizardry.energyBlastSecondTierLPPerShot);
AlchemicalWizardry.energyBlastMaxDelay = config.get("energy items", "Energy Blast maximum delay", AlchemicalWizardry.energyBlastMaxDelay).getInt(AlchemicalWizardry.energyBlastMaxDelay);
AlchemicalWizardry.energyBlastMaxDelayAfterActivation = config.get("energy items", "Energy Blast maximum delay after (re-)activation", AlchemicalWizardry.energyBlastMaxDelayAfterActivation).getInt(AlchemicalWizardry.energyBlastMaxDelayAfterActivation);
AlchemicalWizardry.energyBlastSecondTierMaxDelay = config.get("energy items", "Energy Blast Tier II maximum delay", AlchemicalWizardry.energyBlastSecondTierMaxDelay).getInt(AlchemicalWizardry.energyBlastSecondTierMaxDelay);
AlchemicalWizardry.energyBlastSecondTierMaxDelayAfterActivation = config.get("energy items", "Energy Blast Tier II maximum delay after (re-)activation", AlchemicalWizardry.energyBlastSecondTierMaxDelayAfterActivation).getInt(AlchemicalWizardry.energyBlastSecondTierMaxDelayAfterActivation);
AlchemicalWizardry.energyBlastLPPerActivation = config.get("energy items", "Energy Blast LP per activation", AlchemicalWizardry.energyBlastLPPerActivation).getInt(AlchemicalWizardry.energyBlastLPPerActivation);
AlchemicalWizardry.energyBlastSecondTierLPPerActivation = config.get("energy items", "Energy Blast Tier II LP per activation", AlchemicalWizardry.energyBlastSecondTierLPPerActivation).getInt(AlchemicalWizardry.energyBlastSecondTierLPPerActivation);
AlchemicalWizardry.energyBazookaDamage = config.get("energy items", "Energy Bazooka damage", AlchemicalWizardry.energyBazookaDamage).getInt(AlchemicalWizardry.energyBazookaDamage);
AlchemicalWizardry.energyBazookaSecondaryDamage = config.get("energy items", "Energy Bazooka secondary damage", AlchemicalWizardry.energyBazookaSecondaryDamage).getInt(AlchemicalWizardry.energyBazookaSecondaryDamage);
AlchemicalWizardry.energyBazookaSecondTierDamage = config.get("energy items", "Energy Bazooka Tier II damage", AlchemicalWizardry.energyBazookaSecondTierDamage).getInt(AlchemicalWizardry.energyBazookaSecondTierDamage);
AlchemicalWizardry.energyBazookaSecondTierSecondaryDamage = config.get("energy items", "Energy Bazooka Tier II secondary damage", AlchemicalWizardry.energyBazookaSecondTierSecondaryDamage).getInt(AlchemicalWizardry.energyBazookaSecondTierSecondaryDamage);
AlchemicalWizardry.energyBazookaLPPerShot = config.get("energy items", "Energy Bazooka LP per shot", AlchemicalWizardry.energyBazookaLPPerShot).getInt(AlchemicalWizardry.energyBazookaLPPerShot);
AlchemicalWizardry.energyBazookaSecondTierLPPerShot = config.get("energy items", "Energy Bazooka Tier II LP per shot", AlchemicalWizardry.energyBazookaSecondTierLPPerShot).getInt(AlchemicalWizardry.energyBazookaSecondTierLPPerShot);
AlchemicalWizardry.energyBazookaMaxDelay = config.get("energy items", "Energy Bazooka maximum delay", AlchemicalWizardry.energyBazookaMaxDelay).getInt(AlchemicalWizardry.energyBazookaMaxDelay);
AlchemicalWizardry.energyBazookaMaxDelayAfterActivation = config.get("energy items", "Energy Bazooka maximum delay after (re-)activation", AlchemicalWizardry.energyBazookaMaxDelayAfterActivation).getInt(AlchemicalWizardry.energyBazookaMaxDelayAfterActivation);
AlchemicalWizardry.energyBazookaSecondTierMaxDelay = config.get("energy items", "Energy Bazooka Tier II maximum delay", AlchemicalWizardry.energyBazookaSecondTierMaxDelay).getInt(AlchemicalWizardry.energyBazookaSecondTierMaxDelay);
AlchemicalWizardry.energyBazookaSecondTierMaxDelayAfterActivation = config.get("energy items", "Energy Bazooka Tier II maximum delay after (re-)activation", AlchemicalWizardry.energyBazookaSecondTierMaxDelayAfterActivation).getInt(AlchemicalWizardry.energyBazookaSecondTierMaxDelayAfterActivation);
AlchemicalWizardry.energyBazookaLPPerActivation = config.get("energy items", "Energy Bazooka LP per activation", AlchemicalWizardry.energyBazookaLPPerActivation).getInt(AlchemicalWizardry.energyBazookaLPPerActivation);
AlchemicalWizardry.energyBazookaSecondTierLPPerActivation = config.get("energy items", "Energy Bazooka Tier II LP per activation", AlchemicalWizardry.energyBazookaSecondTierLPPerActivation).getInt(AlchemicalWizardry.energyBazookaSecondTierLPPerActivation);
Side side = FMLCommonHandler.instance().getSide();
if (side == Side.CLIENT)
@@ -65,6 +65,7 @@ public class ModItems
public static Item apprenticeBloodOrb;
public static Item magicianBloodOrb;
public static Item energyBlaster;
public static Item energyBlasterSecondTier;
public static Item energySword;
public static Item lavaCrystal;
public static Item waterSigil;
@@ -148,6 +149,7 @@ public class ModItems
public static Item sigilOfMagnetism;
public static Item itemKeyOfDiablo;
public static Item energyBazooka;
public static Item energyBazookaSecondTier;
public static Item itemBloodLightSigil;
public static Item itemComplexSpellCrystal;
public static Item itemBloodFrame;
@@ -163,42 +165,42 @@ public class ModItems
public static Item itemAttunedCrystal;
public static Item itemTankSegmenter;
public static Item itemDestinationClearer;
public static Item itemHarvestSigil;
public static Item itemCompressionSigil;
public static Item bucketLife;
public static Item itemBloodPack;
public static Item transcendentBloodOrb;
public static Item itemAssassinSigil;
public static Item boundHelmetWater;
public static Item boundPlateWater;
public static Item boundLeggingsWater;
public static Item boundBootsWater;
public static Item boundHelmetEarth;
public static Item boundPlateEarth;
public static Item boundLeggingsEarth;
public static Item boundBootsEarth;
public static Item boundHelmetWind;
public static Item boundPlateWind;
public static Item boundLeggingsWind;
public static Item boundBootsWind;
public static Item boundHelmetFire;
public static Item boundPlateFire;
public static Item boundLeggingsFire;
public static Item boundBootsFire;
public static Item inputRoutingFocus;
public static Item outputRoutingFocus;
public static Item itemMailCatalogue;
public static Item itemIncense;
public static Item ritualDismantler;
@@ -211,7 +213,8 @@ public class ModItems
masterBloodOrb = new MasterBloodOrb(1000000).setUnlocalizedName("masterBloodOrb");
archmageBloodOrb = new ArchmageBloodOrb(10000000).setUnlocalizedName("archmageBloodOrb");
transcendentBloodOrb = new TranscendentBloodOrb(30000000).setUnlocalizedName("transcendentBloodOrb");
energyBlaster = new EnergyBlast().setUnlocalizedName("energyBlast");
energyBlaster = new EnergyBlast(1).setUnlocalizedName("energyBlast");
energyBlasterSecondTier = new EnergyBlast(2).setUnlocalizedName("energyBlastSecondTier");
energySword = new EnergySword().setUnlocalizedName("energySword");
lavaCrystal = new LavaCrystal().setUnlocalizedName("lavaCrystal");
waterSigil = new SigilWater().setUnlocalizedName("waterSigil");
@@ -281,7 +284,8 @@ public class ModItems
itemRitualDiviner = new ItemRitualDiviner().setUnlocalizedName("ritualDiviner");
sigilOfMagnetism = new SigilOfMagnetism().setUnlocalizedName("sigilOfMagnetism");
itemKeyOfDiablo = new ItemDiabloKey().setUnlocalizedName("itemDiabloKey");
energyBazooka = new EnergyBazooka().setUnlocalizedName("energyBazooka");
energyBazooka = new EnergyBazooka(1).setUnlocalizedName("energyBazooka");
energyBazookaSecondTier = new EnergyBazooka(2).setUnlocalizedName("energyBazookaSecondTier");
itemBloodLightSigil = new SigilBloodLight().setUnlocalizedName("bloodLightSigil");
itemComplexSpellCrystal = new ItemComplexSpellCrystal().setUnlocalizedName("itemComplexSpellCrystal");
bucketLife = new LifeBucket(ModBlocks.blockLifeEssence).setUnlocalizedName("bucketLife").setContainerItem(Items.bucket).setCreativeTab(CreativeTabs.tabMisc);
@@ -292,44 +296,44 @@ public class ModItems
itemFluidSigil = new SigilFluid().setUnlocalizedName("itemFluidSigil");
itemSeerSigil = new SigilSeer().setUnlocalizedName("itemSeerSigil");
customTool = new ItemSpellMultiTool().setUnlocalizedName("multiTool");
SpellParadigmTool.customTool = customTool;
itemCombinationalCatalyst = new CombinationalCatalyst().setUnlocalizedName("itemCombinationalCatalyst");
itemAttunedCrystal = new ItemAttunedCrystal().setUnlocalizedName("itemAttunedCrystal");
itemTankSegmenter = new ItemTankSegmenter().setUnlocalizedName("itemTankSegmenter");
itemDestinationClearer = new ItemDestinationClearer().setUnlocalizedName("destinationClearer");
dawnScribeTool = new DawnScribeTool().setUnlocalizedName("dawnScribeTool");
itemBloodPack = new ItemBloodLetterPack().setUnlocalizedName("itemBloodPack");
itemHarvestSigil = new SigilHarvest().setUnlocalizedName("itemHarvestSigil");
itemCompressionSigil = new SigilPackRat().setUnlocalizedName("itemCompressionSigil");
itemAssassinSigil = new SigilOfTheAssassin().setUnlocalizedName("itemAssassinSigil");
boundHelmetWater = new OmegaArmourWater(0).setUnlocalizedName("boundHelmetWater");
boundPlateWater = new OmegaArmourWater(1).setUnlocalizedName("boundPlateWater");
boundLeggingsWater = new OmegaArmourWater(2).setUnlocalizedName("boundLeggingsWater");
boundBootsWater = new OmegaArmourWater(3).setUnlocalizedName("boundBootsWater");
boundHelmetEarth = new OmegaArmourEarth(0).setUnlocalizedName("boundHelmetEarth");
boundPlateEarth = new OmegaArmourEarth(1).setUnlocalizedName("boundPlateEarth");
boundLeggingsEarth = new OmegaArmourEarth(2).setUnlocalizedName("boundLeggingsEarth");
boundBootsEarth = new OmegaArmourEarth(3).setUnlocalizedName("boundBootsEarth");
boundHelmetWind = new OmegaArmourWind(0).setUnlocalizedName("boundHelmetWind");
boundPlateWind = new OmegaArmourWind(1).setUnlocalizedName("boundPlateWind");
boundLeggingsWind = new OmegaArmourWind(2).setUnlocalizedName("boundLeggingsWind");
boundBootsWind = new OmegaArmourWind(3).setUnlocalizedName("boundBootsWind");
boundHelmetFire = new OmegaArmourFire(0).setUnlocalizedName("boundHelmetFire");
boundPlateFire = new OmegaArmourFire(1).setUnlocalizedName("boundPlateFire");
boundLeggingsFire = new OmegaArmourFire(2).setUnlocalizedName("boundLeggingsFire");
boundBootsFire = new OmegaArmourFire(3).setUnlocalizedName("boundBootsFire");
inputRoutingFocus = new InputRoutingFocus().setUnlocalizedName("inputRoutingFocus");
outputRoutingFocus = new OutputRoutingFocus().setUnlocalizedName("outputRoutingFocus");
itemIncense = new ItemIncense().setUnlocalizedName("bloodMagicIncenseItem");
ritualDismantler = new ItemRitualDismantler().setUnlocalizedName("ritualDismantler");
@@ -341,6 +345,7 @@ public class ModItems
GameRegistry.registerItem(ModItems.apprenticeBloodOrb, "apprenticeBloodOrb");
GameRegistry.registerItem(ModItems.magicianBloodOrb, "magicianBloodOrb");
GameRegistry.registerItem(ModItems.energyBlaster, "energyBlaster");
GameRegistry.registerItem(ModItems.energyBlasterSecondTier, "energyBlasterSecondTier");
GameRegistry.registerItem(ModItems.energySword, "energySword");
GameRegistry.registerItem(ModItems.lavaCrystal, "lavaCrystal");
@@ -416,6 +421,7 @@ public class ModItems
GameRegistry.registerItem(ModItems.sigilOfMagnetism, "sigilOfMagnetism");
GameRegistry.registerItem(ModItems.itemKeyOfDiablo, "itemKeyOfDiablo");
GameRegistry.registerItem(ModItems.energyBazooka, "energyBazooka");
GameRegistry.registerItem(ModItems.energyBazookaSecondTier, "energyBazookaSecondTier");
GameRegistry.registerItem(ModItems.itemBloodLightSigil, "itemBloodLightSigil");
GameRegistry.registerItem(ModItems.itemComplexSpellCrystal, "itemComplexSpellCrystal");
GameRegistry.registerItem(ModItems.itemSigilOfSupression, "sigilOfSupression");
@@ -431,40 +437,40 @@ public class ModItems
GameRegistry.registerItem(ModItems.itemAttunedCrystal, "itemAttunedCrystal");
GameRegistry.registerItem(ModItems.itemTankSegmenter, "itemTankSegmenter");
GameRegistry.registerItem(ModItems.itemDestinationClearer, "itemDestinationClearer");
GameRegistry.registerItem(ModItems.baseItems, "bloodMagicBaseItems");
GameRegistry.registerItem(ModItems.baseAlchemyItems, "bloodMagicBaseAlchemyItems");
GameRegistry.registerItem(ModItems.dawnScribeTool, "dawnScribeTool");
GameRegistry.registerItem(ModItems.itemBloodPack, "itemBloodPack");
GameRegistry.registerItem(ModItems.itemHarvestSigil, "itemHarvestSigil");
GameRegistry.registerItem(ModItems.itemCompressionSigil, "itemCompressionSigil");
GameRegistry.registerItem(ModItems.itemAssassinSigil, "itemAssassinSigil");
GameRegistry.registerItem(ModItems.boundHelmetWater, "boundHelmetWater");
GameRegistry.registerItem(ModItems.boundPlateWater, "boundPlateWater");
GameRegistry.registerItem(ModItems.boundLeggingsWater, "boundLeggingsWater");
GameRegistry.registerItem(ModItems.boundBootsWater, "boundBootsWater");
GameRegistry.registerItem(ModItems.boundHelmetEarth, "boundHelmetEarth");
GameRegistry.registerItem(ModItems.boundPlateEarth, "boundPlateEarth");
GameRegistry.registerItem(ModItems.boundLeggingsEarth, "boundLeggingsEarth");
GameRegistry.registerItem(ModItems.boundBootsEarth, "boundBootsEarth");
GameRegistry.registerItem(ModItems.boundHelmetWind, "boundHelmetWind");
GameRegistry.registerItem(ModItems.boundPlateWind, "boundPlateWind");
GameRegistry.registerItem(ModItems.boundLeggingsWind, "boundLeggingsWind");
GameRegistry.registerItem(ModItems.boundBootsWind, "boundBootsWind");
GameRegistry.registerItem(ModItems.boundHelmetFire, "boundHelmetFire");
GameRegistry.registerItem(ModItems.boundPlateFire, "boundPlateFire");
GameRegistry.registerItem(ModItems.boundLeggingsFire, "boundLeggingsFire");
GameRegistry.registerItem(ModItems.boundBootsFire, "boundBootsFire");
GameRegistry.registerItem(ModItems.inputRoutingFocus, "inputRoutingFocus");
GameRegistry.registerItem(ModItems.outputRoutingFocus, "outputRoutingFocus");
GameRegistry.registerItem(ModItems.itemIncense, "bloodMagicIncenseItem");
GameRegistry.registerItem(ModItems.ritualDismantler, "ritualDismantler");
}
@@ -85,7 +85,9 @@ public class EntityEnergyBazookaMainProjectile extends EnergyBlastProjectile
{
for (int i = 0; i < 20; i++)
{
EntityEnergyBazookaSecondaryProjectile secProj = new EntityEnergyBazookaSecondaryProjectile(worldObj, this.posX, this.posY, this.posZ, AlchemicalWizardry.energyBazookaSecondaryDamage);
EntityEnergyBazookaSecondaryProjectile secProj = new EntityEnergyBazookaSecondaryProjectile(worldObj, this.posX, this.posY, this.posZ, this.projectileDamage == AlchemicalWizardry.energyBazookaDamage ?
AlchemicalWizardry.energyBazookaSecondaryDamage :
AlchemicalWizardry.energyBazookaSecondTierSecondaryDamage);
secProj.shootingEntity = this.shootingEntity;
float xVel = rand.nextFloat() - rand.nextFloat();
float yVel = rand.nextFloat() - rand.nextFloat();
@@ -21,18 +21,22 @@ public class EnergyBazooka extends EnergyItems
@SideOnly(Side.CLIENT)
private IIcon activeIcon;
@SideOnly(Side.CLIENT)
private IIcon activeIconTier2;
@SideOnly(Side.CLIENT)
private IIcon passiveIcon;
private int tier;
private int damage;
public EnergyBazooka()
public EnergyBazooka(int tier)
{
super();
setMaxStackSize(1);
setCreativeTab(AlchemicalWizardry.tabBloodMagic);
setFull3D();
setMaxDamage(250);
this.setEnergyUsed(20000);
damage = AlchemicalWizardry.energyBazookaDamage;
this.tier = tier;
this.setEnergyUsed(tier == 1 ? AlchemicalWizardry.energyBazookaLPPerShot : AlchemicalWizardry.energyBazookaSecondTierLPPerShot);
this.damage = tier == 1 ? AlchemicalWizardry.energyBazookaDamage : AlchemicalWizardry.energyBazookaSecondTierDamage;
}
@Override
@@ -41,6 +45,7 @@ public class EnergyBazooka extends EnergyItems
{
this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:EnergyBazooka_activated");
this.activeIcon = iconRegister.registerIcon("AlchemicalWizardry:EnergyBazooka_activated");
this.activeIconTier2 = iconRegister.registerIcon("AlchemicalWizardry:EnergyBazooka_activated");
this.passiveIcon = iconRegister.registerIcon("AlchemicalWizardry:SheathedItem");
}
@@ -56,8 +61,9 @@ public class EnergyBazooka extends EnergyItems
if (tag.getBoolean("isActive"))
{
return this.activeIcon;
} else
return tier == 1 ? this.activeIcon : this.activeIconTier2;
}
else
{
return this.passiveIcon;
}
@@ -66,12 +72,15 @@ public class EnergyBazooka extends EnergyItems
@Override
public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)
{
final int maxDelay = 150;
final int maxDelay = tier == 1 ? AlchemicalWizardry.energyBazookaMaxDelay : AlchemicalWizardry.energyBazookaSecondTierMaxDelay;
if (!EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer) || par3EntityPlayer.isSneaking())
{
this.setActivated(par1ItemStack, !getActivated(par1ItemStack));
par1ItemStack.getTagCompound().setInteger("worldTimeDelay", (int) (par2World.getWorldTime() - 1) % 100);
par1ItemStack.getTagCompound().setInteger("worldTimeDelay", (int) (par2World.getWorldTime() - 1) %
(tier == 1 ?
AlchemicalWizardry.energyBazookaMaxDelayAfterActivation + 1 :
AlchemicalWizardry.energyBazookaSecondTierMaxDelayAfterActivation + 1));
return par1ItemStack;
}
@@ -132,11 +141,14 @@ public class EnergyBazooka extends EnergyItems
this.setDelay(par1ItemStack, delay - 1);
}
if (par2World.getWorldTime() % 100 == par1ItemStack.getTagCompound().getInteger("worldTimeDelay") && par1ItemStack.getTagCompound().getBoolean("isActive"))
if (par2World.getWorldTime() % (tier == 1 ?
AlchemicalWizardry.energyBazookaMaxDelayAfterActivation + 1 :
AlchemicalWizardry.energyBazookaSecondTierMaxDelayAfterActivation + 1) == par1ItemStack.getTagCompound().getInteger("worldTimeDelay") &&
par1ItemStack.getTagCompound().getBoolean("isActive"))
{
if (!par3EntityPlayer.capabilities.isCreativeMode)
{
if(!EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, 50))
if(!EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, tier == 1 ? AlchemicalWizardry.energyBazookaLPPerActivation : AlchemicalWizardry.energyBazookaSecondTierLPPerActivation))
{
this.setActivated(par1ItemStack, false);
}
@@ -147,6 +159,8 @@ public class EnergyBazooka extends EnergyItems
}
@Override
@SideOnly(Side.CLIENT)
@SuppressWarnings({"unchecked", "rawtypes"})
public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4)
{
par3List.add(StatCollector.translateToLocal("tooltip.energybazooka.desc"));
@@ -170,49 +184,37 @@ public class EnergyBazooka extends EnergyItems
public void setActivated(ItemStack par1ItemStack, boolean newActivated)
{
NBTTagCompound itemTag = par1ItemStack.getTagCompound();
if (itemTag == null)
if (par1ItemStack.getTagCompound() == null)
{
par1ItemStack.setTagCompound(new NBTTagCompound());
}
itemTag.setBoolean("isActive", newActivated);
par1ItemStack.getTagCompound().setBoolean("isActive", newActivated);
}
public boolean getActivated(ItemStack par1ItemStack)
{
NBTTagCompound itemTag = par1ItemStack.getTagCompound();
if (itemTag == null)
if (par1ItemStack.getTagCompound() == null)
{
par1ItemStack.setTagCompound(new NBTTagCompound());
}
return itemTag.getBoolean("isActive");
return par1ItemStack.getTagCompound().getBoolean("isActive");
}
public void setDelay(ItemStack par1ItemStack, int newDelay)
{
NBTTagCompound itemTag = par1ItemStack.getTagCompound();
if (itemTag == null)
if (par1ItemStack.getTagCompound() == null)
{
par1ItemStack.setTagCompound(new NBTTagCompound());
}
itemTag.setInteger("delay", newDelay);
par1ItemStack.getTagCompound().setInteger("delay", newDelay);
}
public int getDelay(ItemStack par1ItemStack)
{
NBTTagCompound itemTag = par1ItemStack.getTagCompound();
if (itemTag == null)
if (par1ItemStack.getTagCompound() == null)
{
par1ItemStack.setTagCompound(new NBTTagCompound());
}
return itemTag.getInteger("delay");
return par1ItemStack.getTagCompound().getInteger("delay");
}
}
@@ -20,10 +20,13 @@ public class EnergyBlast extends EnergyItems
@SideOnly(Side.CLIENT)
private IIcon activeIcon;
@SideOnly(Side.CLIENT)
private IIcon activeIconTier2;
@SideOnly(Side.CLIENT)
private IIcon passiveIcon;
private int tier;
private int damage;
public EnergyBlast()
public EnergyBlast(int tier)
{
super();
setMaxStackSize(1);
@@ -31,8 +34,9 @@ public class EnergyBlast extends EnergyItems
setUnlocalizedName("energyBlaster");
setFull3D();
setMaxDamage(250);
this.setEnergyUsed(150);
damage = AlchemicalWizardry.energyBlastDamage;
this.tier = tier;
this.setEnergyUsed(this.tier == 1 ? AlchemicalWizardry.energyBlastLPPerShot : AlchemicalWizardry.energyBlastSecondTierLPPerShot);
this.damage = this.tier == 1 ? AlchemicalWizardry.energyBlastDamage : AlchemicalWizardry.energyBlastSecondTierDamage;
}
@Override
@@ -41,10 +45,12 @@ public class EnergyBlast extends EnergyItems
{
this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:EnergyBlaster_activated");
this.activeIcon = iconRegister.registerIcon("AlchemicalWizardry:EnergyBlaster_activated");
this.activeIconTier2 = iconRegister.registerIcon("AlchemicalWizardry:EnergyBlaster_activated");
this.passiveIcon = iconRegister.registerIcon("AlchemicalWizardry:SheathedItem");
}
@Override
@SideOnly(Side.CLIENT)
public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining)
{
if (stack.getTagCompound() == null)
@@ -56,8 +62,9 @@ public class EnergyBlast extends EnergyItems
if (tag.getBoolean("isActive"))
{
return this.activeIcon;
} else
return this.tier == 1 ? this.activeIcon : this.activeIconTier2;
}
else
{
return this.passiveIcon;
}
@@ -66,12 +73,15 @@ public class EnergyBlast extends EnergyItems
@Override
public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)
{
final int maxDelay = 15;
final int maxDelay = this.tier == 1 ? AlchemicalWizardry.energyBlastMaxDelay : AlchemicalWizardry.energyBlastSecondTierMaxDelay;
if (!EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer) || par3EntityPlayer.isSneaking())
{
this.setActivated(par1ItemStack, !getActivated(par1ItemStack));
par1ItemStack.getTagCompound().setInteger("worldTimeDelay", (int) (par2World.getWorldTime() - 1) % 100);
par1ItemStack.getTagCompound().setInteger("worldTimeDelay", (int) (par2World.getWorldTime() - 1) %
(this.tier == 1 ?
AlchemicalWizardry.energyBlastMaxDelayAfterActivation + 1 :
AlchemicalWizardry.energyBlastSecondTierMaxDelayAfterActivation + 1));
return par1ItemStack;
}
@@ -124,11 +134,14 @@ public class EnergyBlast extends EnergyItems
this.setDelay(par1ItemStack, delay - 1);
}
if (par2World.getWorldTime() % 100 == par1ItemStack.getTagCompound().getInteger("worldTimeDelay") && par1ItemStack.getTagCompound().getBoolean("isActive"))
if (par2World.getWorldTime() % (this.tier == 1 ?
AlchemicalWizardry.energyBlastMaxDelayAfterActivation + 1 :
AlchemicalWizardry.energyBlastSecondTierMaxDelayAfterActivation + 1) == par1ItemStack.getTagCompound().getInteger("worldTimeDelay") &&
par1ItemStack.getTagCompound().getBoolean("isActive"))
{
if (!par3EntityPlayer.capabilities.isCreativeMode)
{
if(!EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, 50))
if(!EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, tier == 1 ? AlchemicalWizardry.energyBlastLPPerActivation : AlchemicalWizardry.energyBlastSecondTierLPPerActivation))
{
this.setActivated(par1ItemStack, false);
}
@@ -139,6 +152,8 @@ public class EnergyBlast extends EnergyItems
}
@Override
@SideOnly(Side.CLIENT)
@SuppressWarnings({"unchecked", "rawtypes"})
public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4)
{
par3List.add(StatCollector.translateToLocal("tooltip.energyblast.desc1"));
@@ -164,49 +179,37 @@ public class EnergyBlast extends EnergyItems
public void setActivated(ItemStack par1ItemStack, boolean newActivated)
{
NBTTagCompound itemTag = par1ItemStack.getTagCompound();
if (itemTag == null)
if (par1ItemStack.getTagCompound() == null)
{
par1ItemStack.setTagCompound(new NBTTagCompound());
}
itemTag.setBoolean("isActive", newActivated);
par1ItemStack.getTagCompound().setBoolean("isActive", newActivated);
}
public boolean getActivated(ItemStack par1ItemStack)
{
NBTTagCompound itemTag = par1ItemStack.getTagCompound();
if (itemTag == null)
if (par1ItemStack.getTagCompound() == null)
{
par1ItemStack.setTagCompound(new NBTTagCompound());
}
return itemTag.getBoolean("isActive");
return par1ItemStack.getTagCompound().getBoolean("isActive");
}
public void setDelay(ItemStack par1ItemStack, int newDelay)
{
NBTTagCompound itemTag = par1ItemStack.getTagCompound();
if (itemTag == null)
if (par1ItemStack.getTagCompound() == null)
{
par1ItemStack.setTagCompound(new NBTTagCompound());
}
itemTag.setInteger("delay", newDelay);
par1ItemStack.getTagCompound().setInteger("delay", newDelay);
}
public int getDelay(ItemStack par1ItemStack)
{
NBTTagCompound itemTag = par1ItemStack.getTagCompound();
if (itemTag == null)
if (par1ItemStack.getTagCompound() == null)
{
par1ItemStack.setTagCompound(new NBTTagCompound());
}
return itemTag.getInteger("delay");
return par1ItemStack.getTagCompound().getInteger("delay");
}
}
@@ -76,6 +76,7 @@ item.magicianBloodOrb.name=Magician's Blood Orb
item.masterBloodOrb.name=Master Blood Orb
item.archmageBloodOrb.name=Archmage's Blood Orb
item.energyBlast.name=Energy Blaster
item.energyBlastSecondTier.name=Energy Blaster II
item.energySword.name=Bound Blade
item.lavaCrystal.name=Lava Crystal
item.waterSigil.name=Water Sigil
@@ -147,6 +148,7 @@ item.ritualDismantler.name=Ritual Dismantler
item.sigilOfMagnetism.name=Sigil of Magnetism
item.itemDiabloKey.name=Key of Binding
item.energyBazooka.name=Energy Bazooka
item.energyBazookaSecondTier.name=Energy Bazooka II
item.bloodLightSigil.name=Sigil of the Blood Lamp
item.itemComplexSpellCrystal.name=Complex Spell Crystal
item.itemSigilOfSupression.name=Sigil of Supression
@@ -501,7 +503,7 @@ message.ritualdemonportal.missingjar=A jar on one of the pillars appears to be m
message.tanksegmenter.nowhas=Tank now has
message.tanksegmenter.setto=Tank Segmenter now set to:
message.tanksegmenter.tankssetto=tank(s) set to:
message.routerfocus.limit=Focus' Item Limit set to:
message.routerfocus.limit=Focus' Item Limit set to:
#Achievements
achievement.alchemicalwizardry:firstPrick=Your First Prick!