summaryrefslogtreecommitdiff
path: root/src/main/java/darkknight/jewelrycraft/effects/EffectBlazePowder.java
diff options
context:
space:
mode:
authorOnyxDarkKnight <sor1n.iliutza16@gmail.com>2015-04-12 16:29:24 +0300
committerOnyxDarkKnight <sor1n.iliutza16@gmail.com>2015-04-12 16:29:24 +0300
commit4f29b0ed24e393be7074abd851e207aadab38196 (patch)
treebe8e5211a2956589c08b5e88b5e083e6aaeb96ce /src/main/java/darkknight/jewelrycraft/effects/EffectBlazePowder.java
parent6312636fd9a4d0f56dc7c9ff474a99d879bcb4e9 (diff)
I rearranged files and added a few cool stuff.
Diffstat (limited to 'src/main/java/darkknight/jewelrycraft/effects/EffectBlazePowder.java')
-rw-r--r--src/main/java/darkknight/jewelrycraft/effects/EffectBlazePowder.java71
1 files changed, 30 insertions, 41 deletions
diff --git a/src/main/java/darkknight/jewelrycraft/effects/EffectBlazePowder.java b/src/main/java/darkknight/jewelrycraft/effects/EffectBlazePowder.java
index 949d0d8..fdcdd3b 100644
--- a/src/main/java/darkknight/jewelrycraft/effects/EffectBlazePowder.java
+++ b/src/main/java/darkknight/jewelrycraft/effects/EffectBlazePowder.java
@@ -15,6 +15,7 @@ import darkknight.jewelrycraft.item.ItemNecklace;
import darkknight.jewelrycraft.item.ItemRing;
import darkknight.jewelrycraft.util.JewelryNBT;
import darkknight.jewelrycraft.util.PlayerUtils;
+import darkknight.jewelrycraft.util.Variables;
public class EffectBlazePowder extends ModifierEffects
{
@@ -26,70 +27,58 @@ public class EffectBlazePowder extends ModifierEffects
@Override
public void action(ItemStack item, EntityPlayer player, Item jewelry)
{
- int pos = JewelryNBT.doesModifierExist(item, modifier);
- if (jewelry instanceof ItemNecklace && pos != -1){
- //Positive for necklace
- player.extinguish();
-
- //Negative for necklace
- if (player.isInWater()) player.attackEntityFrom(DamageSource.drown, 1f);
+ boolean exists = JewelryNBT.doesModifierExist(item, modifier);
+ if (jewelry instanceof ItemNecklace && exists){
+ // Positive for necklace
+ if (player.isBurning() && rand.nextInt(JewelryNBT.numberOfModifiers(item)) == 0) player.extinguish();
+ // Negative for necklace
+ if (player.isInWater()) player.attackEntityFrom(DamageSource.drown, 1f + (JewelryNBT.numberOfModifiers(item) - 1) * 0.1F);
}
- //Negative for bracelet
- if (jewelry instanceof ItemBracelet && pos != -1 && player.isInWater()){
- player.motionX *= 0.6D;
- player.motionY *= 0.6D;
- player.motionZ *= 0.6D;
- player.motionY -= 0.02D;
+ // Negative for bracelet
+ if (jewelry instanceof ItemBracelet && exists && player.isInWater()){
+ double slowAmount = 0.6D + (JewelryNBT.numberOfModifiers(item) - 1) * 0.05D;
+ player.motionX *= slowAmount;
+ player.motionY *= slowAmount;
+ player.motionZ *= slowAmount;
+ player.motionY -= (0.02D + (JewelryNBT.numberOfModifiers(item) - 1) * 0.005D);
if (player.isCollidedHorizontally) player.motionY = 0.30000001192092896D;
}
-
- //Negative for earrings
- if (jewelry instanceof ItemEarrings && pos != -1){
+ // Negative for earrings
+ if (jewelry instanceof ItemEarrings && exists){
if (player.getAir() >= 300) player.setAir(player.getAir() / 2);
- else player.setAir(player.getAir() - 1);
- }
+ else player.setAir(player.getAir() - JewelryNBT.numberOfModifiers(item));
+ }
}
@Override
public boolean onEntityAttackedCacellable(ItemStack item, EntityPlayer player, Entity target, Item jewelry, float amount)
{
- int pos = JewelryNBT.doesModifierExist(item, modifier);
- //Balanced for ring
- if (jewelry instanceof ItemRing && pos != -1 && !player.isInWater()) target.setFire(2);
+ boolean exists = JewelryNBT.doesModifierExist(item, modifier);
+ // Balanced for ring
+ if (jewelry instanceof ItemRing && exists && !player.isInWater() && rand.nextInt(JewelryNBT.numberOfModifiers(item)) == 0) target.setFire(2);
return false;
}
@Override
public boolean onPlayerAttackedCacellable(ItemStack item, EntityPlayer player, DamageSource source, Item jewelry, float amount)
{
-// int pos = JewelryNBT.doesModifierExist(item, modifier);
-// if (jewelry instanceof ItemEarrings && pos != -1 && rand.nextInt(4) == 0) if (source == DamageSource.lava || source == DamageSource.inFire || source == DamageSource.onFire){
-// //Positive for earrings
-// int stackSize = JewelryNBT.modifier(item).get(pos).stackSize;
-// player.heal((float)(0.05 * stackSize));
-// return true;
-// }
-// //Positive for bracelet
-// if (jewelry instanceof ItemBracelet && pos != -1) if (source == DamageSource.inFire || source == DamageSource.onFire || source == DamageSource.lava && player.worldObj.isMaterialInBB(AxisAlignedBB.getBoundingBox(player.boundingBox.minX, player.boundingBox.minY, player.boundingBox.minZ, player.boundingBox.maxX, player.boundingBox.maxY - 0.7, player.boundingBox.maxZ), Material.lava) && !player.worldObj.isMaterialInBB(AxisAlignedBB.getBoundingBox(player.boundingBox.minX, player.boundingBox.minY + 0.9, player.boundingBox.minZ, player.boundingBox.maxX, player.boundingBox.maxY, player.boundingBox.maxZ), Material.lava)) return true;
return false;
}
public void onEntityAttacked(ItemStack item, EntityPlayer player, Entity target, Item jewelry, float amount)
- {
-
- }
+ {}
public void onPlayerAttacked(ItemStack item, EntityPlayer player, DamageSource source, Item jewelry, float amount)
{
- int pos = JewelryNBT.doesModifierExist(item, modifier);
- NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, "Jewelrycraft");
- if (jewelry instanceof ItemEarrings && pos != -1 && rand.nextInt(4) == 0) if (source == DamageSource.lava || source == DamageSource.inFire || source == DamageSource.onFire){
- //Positive for earrings
- int stackSize = JewelryNBT.modifier(item).get(pos).stackSize;
- player.heal((float)(0.05 * stackSize));
+ boolean exists = JewelryNBT.doesModifierExist(item, modifier);
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+ if (jewelry instanceof ItemEarrings && exists && rand.nextInt(4) == 0) if (source == DamageSource.lava || source == DamageSource.inFire || source == DamageSource.onFire){
+ // Positive for earrings
+ int stackSize = JewelryNBT.modifierSize(item, modifier);
+ player.heal(stackSize*0.05F - (JewelryNBT.numberOfModifiers(item) - 1)*0.01F);
playerInfo.setBoolean("negateDamage", true);
}
- //Positive for bracelet
- if (jewelry instanceof ItemBracelet && pos != -1) if (source == DamageSource.inFire || source == DamageSource.onFire || source == DamageSource.lava && player.worldObj.isMaterialInBB(AxisAlignedBB.getBoundingBox(player.boundingBox.minX, player.boundingBox.minY, player.boundingBox.minZ, player.boundingBox.maxX, player.boundingBox.maxY - 0.7, player.boundingBox.maxZ), Material.lava) && !player.worldObj.isMaterialInBB(AxisAlignedBB.getBoundingBox(player.boundingBox.minX, player.boundingBox.minY + 0.9, player.boundingBox.minZ, player.boundingBox.maxX, player.boundingBox.maxY, player.boundingBox.maxZ), Material.lava)) playerInfo.setBoolean("negateDamage", true);
+ // Positive for bracelet
+ if (jewelry instanceof ItemBracelet && exists) if (source == DamageSource.inFire || source == DamageSource.onFire || source == DamageSource.lava && player.worldObj.isMaterialInBB(AxisAlignedBB.getBoundingBox(player.boundingBox.minX, player.boundingBox.minY, player.boundingBox.minZ, player.boundingBox.maxX, player.boundingBox.maxY - 0.7, player.boundingBox.maxZ), Material.lava) && !player.worldObj.isMaterialInBB(AxisAlignedBB.getBoundingBox(player.boundingBox.minX, player.boundingBox.minY + 0.9, player.boundingBox.minZ, player.boundingBox.maxX, player.boundingBox.maxY, player.boundingBox.maxZ), Material.lava)) playerInfo.setBoolean("negateDamage", true);
}
}