summaryrefslogtreecommitdiff
path: root/src/main/java/gmail/Lance5057/modifiers
diff options
context:
space:
mode:
authorLance5057 <Lance5057@gmail.com>2015-06-26 05:40:18 -0500
committerLance5057 <Lance5057@gmail.com>2015-06-26 05:40:18 -0500
commita918009626db55c1fc5f359c557f0e848da15f46 (patch)
treece02b76ae1f1e7963e43b39dda2c7be5e1584404 /src/main/java/gmail/Lance5057/modifiers
parent5feaf85cb1817fc564f6bc9830518fb8c2e577be (diff)
Added parts of Mirrors, Feathers, Vampirism, and Legends crests
Diffstat (limited to 'src/main/java/gmail/Lance5057/modifiers')
-rw-r--r--src/main/java/gmail/Lance5057/modifiers/TDefenseActiveToolMod.java51
-rw-r--r--src/main/java/gmail/Lance5057/modifiers/modifierDaze.java38
-rw-r--r--src/main/java/gmail/Lance5057/modifiers/shields/modifierCrestofMirrors.java85
3 files changed, 91 insertions, 83 deletions
diff --git a/src/main/java/gmail/Lance5057/modifiers/TDefenseActiveToolMod.java b/src/main/java/gmail/Lance5057/modifiers/TDefenseActiveToolMod.java
index a6ea354..fa47e3e 100644
--- a/src/main/java/gmail/Lance5057/modifiers/TDefenseActiveToolMod.java
+++ b/src/main/java/gmail/Lance5057/modifiers/TDefenseActiveToolMod.java
@@ -1,19 +1,18 @@
package gmail.Lance5057.modifiers;
+import java.util.ArrayList;
import java.util.Random;
-import mods.battlegear2.api.PlayerEventChild;
import mods.battlegear2.api.core.IBattlePlayer;
-import mods.battlegear2.api.core.InventoryPlayerBattle;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.projectile.EntityFireball;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.potion.PotionEffect;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.Vec3;
import net.minecraft.world.World;
-import net.minecraftforge.event.entity.player.PlayerEvent;
import tconstruct.library.ActiveToolMod;
import tconstruct.library.tools.ToolCore;
@@ -21,17 +20,39 @@ public class TDefenseActiveToolMod extends ActiveToolMod {
@Override
public void updateTool(ToolCore tool, ItemStack stack, World world, Entity entity)
{
-// NBTTagCompound tags = stack.getTagCompound().getCompoundTag("InfiTool");
-//
-// if (!tags.hasKey("Broken")) {
-// if(((IBattlePlayer)entity).isBlockingWithShield())
-// {
-// if(ShieldEvent.source.getEntity() instanceof EntityFireball)
-// {
-//
-// }
-// }
-// }
+ NBTTagCompound tags = stack.getTagCompound().getCompoundTag("InfiTool");
+
+ if (!tags.getBoolean("Broken"))
+ {
+ //stack.getTagCompound().getCompoundTag("InfiTool").setInteger("RenderHead", 100);
+ if(((IBattlePlayer)entity).isBlockingWithShield())
+ {
+ if(tags.hasKey("Crest of Mirrors"))
+ {
+ AxisAlignedBB boundingBox = AxisAlignedBB.getBoundingBox(((EntityLivingBase)entity).posX - 3, ((EntityLivingBase)entity).posY - 3, ((EntityLivingBase)entity).posZ - 3, ((EntityLivingBase)entity).posX + 3, ((EntityLivingBase)entity).posY + 3, ((EntityLivingBase)entity).posZ + 3);
+
+ ArrayList<EntityFireball> fireballs = (ArrayList<EntityFireball>) world.getEntitiesWithinAABB(EntityFireball.class, boundingBox);
+ for (EntityFireball fireball : fireballs)
+ {
+ if (fireball.getDistanceSqToEntity(((EntityLivingBase)entity)) <= 25)
+ {
+ Vec3 playerlook = ((EntityLivingBase)entity).getLookVec();
+
+ fireball.motionX = playerlook.xCoord;
+ fireball.motionY = playerlook.yCoord;
+ fireball.motionZ = playerlook.zCoord;
+ fireball.accelerationX = fireball.motionX * 0.1D;
+ fireball.accelerationY = fireball.motionY * 0.1D;
+ fireball.accelerationZ = fireball.motionZ * 0.1D;
+
+ fireball.shootingEntity = ((EntityLivingBase)entity);
+
+ ((EntityLivingBase)entity).worldObj.playSoundAtEntity(((EntityLivingBase)entity), "battlegear2:shield", 1, 1);
+ }
+ }
+ }
+ }
+ }
}
@Override
diff --git a/src/main/java/gmail/Lance5057/modifiers/modifierDaze.java b/src/main/java/gmail/Lance5057/modifiers/modifierDaze.java
index 8b63791..cf30e66 100644
--- a/src/main/java/gmail/Lance5057/modifiers/modifierDaze.java
+++ b/src/main/java/gmail/Lance5057/modifiers/modifierDaze.java
@@ -1,7 +1,11 @@
package gmail.Lance5057.modifiers;
+import java.util.Arrays;
+import java.util.List;
+
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
+import tconstruct.library.tools.ToolCore;
import tconstruct.modifiers.tools.ItemModTypeFilter;
public class modifierDaze extends ItemModTypeFilter
@@ -20,21 +24,27 @@ public class modifierDaze extends ItemModTypeFilter
@Override
protected boolean canModify (ItemStack tool, ItemStack[] input)
{
- NBTTagCompound tags = tool.getTagCompound().getCompoundTag("InfiTool");
- if (!tags.hasKey(key))
- return tags.getInteger("Modifiers") > 0 && matchingAmount(input) <= max;
-
- if (matchingAmount(input) > max)
- return false;
-
- int keyPair[] = tags.getIntArray(key);
- if (keyPair[0] + matchingAmount(input) <= keyPair[1])
- return true;
-
- else if (keyPair[0] == keyPair[1])
- return tags.getInteger("Modifiers") > 0;
+ if (tool.getItem() instanceof ToolCore)
+ {
+ List list = Arrays.asList(((ToolCore)tool.getItem()).getTraits());
+ if (list.contains("weapon"))
+ {
+ NBTTagCompound tags = tool.getTagCompound().getCompoundTag("InfiTool");
+ if (!tags.hasKey(key))
+ return tags.getInteger("Modifiers") > 0 && matchingAmount(input) <= max;
+
+ if (matchingAmount(input) > max)
+ return false;
+
+ int keyPair[] = tags.getIntArray(key);
+ if (keyPair[0] + matchingAmount(input) <= keyPair[1])
+ return true;
+
+ else if (keyPair[0] == keyPair[1])
+ return tags.getInteger("Modifiers") > 0;
+ }
+ }
- else
return false;
}
diff --git a/src/main/java/gmail/Lance5057/modifiers/shields/modifierCrestofMirrors.java b/src/main/java/gmail/Lance5057/modifiers/shields/modifierCrestofMirrors.java
index 22d053f..35cf9a9 100644
--- a/src/main/java/gmail/Lance5057/modifiers/shields/modifierCrestofMirrors.java
+++ b/src/main/java/gmail/Lance5057/modifiers/shields/modifierCrestofMirrors.java
@@ -1,18 +1,21 @@
package gmail.Lance5057.modifiers.shields;
-import tconstruct.modifiers.tools.ItemModTypeFilter;
+import java.util.Arrays;
+import java.util.List;
+
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
+import tconstruct.library.tools.ToolCore;
+import tconstruct.modifiers.tools.ModBoolean;
-public class modifierCrestofMirrors extends ItemModTypeFilter
+public class modifierCrestofMirrors extends ModBoolean
{
String tooltipName;
- int max = 5;
String guiType;
public modifierCrestofMirrors(String type, int effect, ItemStack[] items, int[] values)
{
- super(effect, "Crest of Mirrors", items, values);
+ super(items, effect, "Mirrors", "\u00A7", "");
tooltipName = "\u00A7bCrest of Mirrors";
guiType = type;
}
@@ -20,68 +23,42 @@ public class modifierCrestofMirrors extends ItemModTypeFilter
@Override
protected boolean canModify (ItemStack tool, ItemStack[] input)
{
- NBTTagCompound tags = tool.getTagCompound().getCompoundTag("InfiTool");
- if (!tags.hasKey(key))
- return tags.getInteger("Modifiers") > 0 && matchingAmount(input) <= max;
-
- if (matchingAmount(input) > max)
- return false;
-
- int keyPair[] = tags.getIntArray(key);
- if (keyPair[0] + matchingAmount(input) <= keyPair[1])
+ if (tool.getItem() instanceof ToolCore)
+ {
+ List list = Arrays.asList(((ToolCore)tool.getItem()).getTraits());
+ if (list.contains("shield"))
+ {
+
+ NBTTagCompound tags = tool.getTagCompound().getCompoundTag("InfiTool");
+
+ if (tags.hasKey(key))
+ return false;
+
return true;
-
- else if (keyPair[0] == keyPair[1])
- return tags.getInteger("Modifiers") > 0;
-
- else
- return false;
+ }
+ }
+ return false;
+
}
@Override
public void modify (ItemStack[] input, ItemStack tool)
{
- NBTTagCompound tags = tool.getTagCompound().getCompoundTag("InfiTool");
- int increase = matchingAmount(input);
- if (tags.hasKey(key))
- {
- int[] keyPair = tags.getIntArray(key);
-
- if (keyPair[0] % max == 0)
- {
- keyPair[0] += increase;
- keyPair[1] += max;
- tags.setIntArray(key, keyPair);
-
- int modifiers = tags.getInteger("Modifiers");
- modifiers -= 1;
- tags.setInteger("Modifiers", modifiers);
- }
- else
- {
- keyPair[0] += increase;
- tags.setIntArray(key, keyPair);
- }
- updateModTag(tool, keyPair);
-
- }
- else
- {
- int modifiers = tags.getInteger("Modifiers");
- modifiers -= 1;
- tags.setInteger("Modifiers", modifiers);
- String modName = "\u00A76" + guiType + " (" + increase + "/" + max + ")";
- int tooltipIndex = addToolTip(tool, tooltipName, modName);
- int[] keyPair = new int[] { increase, max, tooltipIndex };
- tags.setIntArray(key, keyPair);
- }
+ NBTTagCompound tags = tool.getTagCompound().getCompoundTag("InfiTool");
+ tags.setBoolean(key, true);
+
+ int modifiers = tags.getInteger("Modifiers");
+ modifiers -= 1;
+ tags.setInteger("Modifiers", modifiers);
+
+ addToolTip(tool, "\u00A7b" + tooltipName, "\u00A7b" + key);
}
void updateModTag (ItemStack tool, int[] keys)
{
NBTTagCompound tags = tool.getTagCompound().getCompoundTag("InfiTool");
String tip = "ModifierTip" + keys[2];
- String modName = "\u00A76" + guiType + " (" + keys[0] + "/" + keys[1] + ")";
+ String modName = "\u00A7b" + guiType;
tags.setString(tip, modName);
}
}