summaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorLance5057 <Lance5057@gmail.com>2015-07-25 13:51:31 -0500
committerLance5057 <Lance5057@gmail.com>2015-07-25 13:51:31 -0500
commit28e0f71e68e8b94a1b5249f38fab54d0f796c1fd (patch)
tree37bb58ecf66494a1f91f5d4910bfd49c2e52ae90 /src/main/java
parenteb7abd4ef915fd5ec6783d93cf7ba17d7f43d208 (diff)
Graphics, lots of graphics
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/gmail/Lance5057/TinkersDefense.java46
-rw-r--r--src/main/java/gmail/Lance5057/items/Injector.java61
-rw-r--r--src/main/java/gmail/Lance5057/items/tools/HeaterShield.java124
-rw-r--r--src/main/java/gmail/Lance5057/items/tools/RoundShield.java359
-rw-r--r--src/main/java/gmail/Lance5057/items/tools/Shield.java81
-rw-r--r--src/main/java/gmail/Lance5057/proxy/CommonProxy.java7
6 files changed, 292 insertions, 386 deletions
diff --git a/src/main/java/gmail/Lance5057/TinkersDefense.java b/src/main/java/gmail/Lance5057/TinkersDefense.java
index aa55913..63111d6 100644
--- a/src/main/java/gmail/Lance5057/TinkersDefense.java
+++ b/src/main/java/gmail/Lance5057/TinkersDefense.java
@@ -148,8 +148,8 @@ public class TinkersDefense {
public static Pattern woodPattern;
public static Pattern metalPattern;
- public static DynamicToolPart partRivet;
- public static DynamicToolPart partArmorplate;
+ public static Item partRivet;
+ public static Item partArmorplate;
public static Injector tcInject;
@@ -346,16 +346,32 @@ public class TinkersDefense {
// network.registerMessage(messageHandler, requestMessageType,
// discriminator, side);
+
+
}
@EventHandler
public void init(FMLInitializationEvent e) {
System.out.print(Reference.MOD_ID);
- //tcInject = new Injector();
- //GameRegistry.registerItem(tcInject, "debugger");
-
+ tcInject = new Injector(0);
+ GameRegistry.registerItem(tcInject, "debugger");
+ StencilBuilder.registerStencil(50, woodPattern, 0); // rivets
+ StencilBuilder.registerStencil(51, woodPattern, 1); // clasp
+ StencilBuilder.registerStencil(52, woodPattern, 2); // armorplate
+
+ PatternBuilder.instance.addToolPattern(woodPattern);
+
+ partRivet = new DynamicToolPart("_rivets", "Rivets");
+ GameRegistry.registerItem(partRivet, "RivetPart");
+
+ partArmorplate = new DynamicToolPart("_armorplate", "Armor Plate");
+ GameRegistry.registerItem(partArmorplate, "ArmorPlatePart");
+
+ buildParts(partRivet, 0);
+ // buildParts(clasp, 1);
+ buildParts(partArmorplate, 2);
PatternBuilder pb = PatternBuilder.instance;
@@ -531,31 +547,17 @@ public class TinkersDefense {
// Shields
TConstructRegistry.addToolRecipe(tool_roundShield,
- TinkerTools.largePlate, TinkerTools.toolRod,
+ partArmorplate, TinkerTools.toolRod,
TinkerTools.frypanHead);
TConstructRegistry.addToolRecipe(tool_heaterShield,
- TinkerTools.largePlate, TinkerTools.toughRod,
- TinkerTools.largePlate, TinkerTools.toughBinding);
+ partArmorplate, TinkerTools.toughRod,
+ partArmorplate, TinkerTools.toughBinding);
TConstructRegistry.addToolRecipe(tool_wrench, TinkerTools.handGuard,
TinkerTools.toolRod, TinkerTools.binding);
- StencilBuilder.registerStencil(50, woodPattern, 0); // rivets
- StencilBuilder.registerStencil(51, woodPattern, 1); // clasp
- StencilBuilder.registerStencil(52, woodPattern, 2); // armorplate
-
- PatternBuilder.instance.addToolPattern(woodPattern);
-
- partRivet = new DynamicToolPart("_rivets", "Rivets");
- GameRegistry.registerItem(partRivet, "RivetPart");
-
- partArmorplate = new DynamicToolPart("_armorplate", "Armor Plate");
- GameRegistry.registerItem(partArmorplate, "ArmorPlatePart");
- buildParts(partRivet, 0);
- // buildParts(clasp, 1);
- buildParts(partArmorplate, 2);
}
diff --git a/src/main/java/gmail/Lance5057/items/Injector.java b/src/main/java/gmail/Lance5057/items/Injector.java
index 9297932..6ab5ff0 100644
--- a/src/main/java/gmail/Lance5057/items/Injector.java
+++ b/src/main/java/gmail/Lance5057/items/Injector.java
@@ -1,12 +1,21 @@
package gmail.Lance5057.items;
+import java.util.Map;
+
+import tconstruct.library.crafting.PatternBuilder;
+import tconstruct.library.crafting.PatternBuilder.MaterialSet;
import tconstruct.library.tools.ToolCore;
import tconstruct.tools.TinkerTools;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.item.Item;
-public class Injector extends Item
+public class Injector extends ToolCore
{
+ public Injector(int baseDamage) {
+ super(baseDamage);
+ // TODO Auto-generated constructor stub
+ }
+
int headsIndex;
int accessoryIndex;
int handleIndex;
@@ -21,9 +30,57 @@ public class Injector extends Item
protected void Inject(ToolCore tc, IIconRegister iconRegister)
{
tc.accessoryStrings.clear();
- tc.accessoryStrings.put(19, "tinkersdefense:broadsword/_smallguard");
+ tc.accessoryIcons.clear();
+ PatternBuilder pb = PatternBuilder.instance;
+ for(Map.Entry<String, MaterialSet> entry : pb.materialSets.entrySet())
+ {
+ String test = entry.getKey();
+ String icon = "tinkersdefense:";
+ icon += tc.getDefaultFolder() + "/";
+ icon += test + "_smallguard";
+ //toolIcons[i] = icon;
+ tc.accessoryStrings.put(entry.getValue().materialID, icon);
+ }
+
+ //tc.accessoryStrings.put(0, "tinkersdefense:broadsword/_smallguard");
tc.registerIcons(iconRegister);
}
+
+ @Override
+ public Item getAccessoryItem() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String getDefaultFolder() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String getEffectSuffix() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public Item getHeadItem() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String getIconSuffix(int arg0) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String[] getTraits() {
+ // TODO Auto-generated method stub
+ return null;
+ }
}
diff --git a/src/main/java/gmail/Lance5057/items/tools/HeaterShield.java b/src/main/java/gmail/Lance5057/items/tools/HeaterShield.java
index 8f20f48..14d87bb 100644
--- a/src/main/java/gmail/Lance5057/items/tools/HeaterShield.java
+++ b/src/main/java/gmail/Lance5057/items/tools/HeaterShield.java
@@ -1,5 +1,7 @@
package gmail.Lance5057.items.tools;
+import gmail.Lance5057.TinkersDefense;
+
import java.util.List;
import mods.battlegear2.api.ISheathed;
@@ -34,7 +36,7 @@ public class HeaterShield extends Shield {
@Override
public Item getHeadItem() {
- return TinkerTools.largePlate;
+ return TinkersDefense.partArmorplate;
}
@Override
@@ -44,7 +46,7 @@ public class HeaterShield extends Shield {
@Override
public Item getAccessoryItem() {
- return TinkerTools.largePlate;
+ return TinkersDefense.partArmorplate;
}
@Override
@@ -111,22 +113,22 @@ public class HeaterShield extends Shield {
return "heatershield";
}
- /* tool_TinkerShield specific */
- @Override
- public boolean onLeftClickEntity(ItemStack stack, EntityPlayer player,
- Entity entity) {
- if (AbilityHelper.onLeftClickEntity(stack, player, entity, this)) {
- entity.hurtResistantTime += 7;
- /*
- * if (entity instanceof EntityLiving) { EntityLiving living =
- * (EntityLiving) entity; if (living.getHealth() <= 0) {
- *
- * } }
- */
- // if (entity.getHealth() <= 0)
- }
- return true;
- }
+// /* tool_TinkerShield specific */
+// @Override
+// public boolean onLeftClickEntity(ItemStack stack, EntityPlayer player,
+// Entity entity) {
+// if (AbilityHelper.onLeftClickEntity(stack, player, entity, this)) {
+// entity.hurtResistantTime += 7;
+// /*
+// * if (entity instanceof EntityLiving) { EntityLiving living =
+// * (EntityLiving) entity; if (living.getHealth() <= 0) {
+// *
+// * } }
+// */
+// // if (entity.getHealth() <= 0)
+// }
+// return true;
+// }
@Override
public void onUpdate(ItemStack stack, World world, Entity entity, int par4,
@@ -134,91 +136,7 @@ public class HeaterShield extends Shield {
super.onUpdate(stack, world, entity, par4, par5);
}
-
- @Override
- public int getArrowCount(ItemStack stack) {
- if (stack.hasTagCompound() && stack.getTagCompound().hasKey("arrows")) {
- return stack.getTagCompound().getShort("arrows");
- } else
- return 0;
- }
-
- @Override
- public void setArrowCount(ItemStack stack, int count) {
- if (!stack.hasTagCompound()) {
- stack.setTagCompound(new NBTTagCompound());
- }
- // Should never happen, you would need A LOT of arrows for this to
- // happen
- if (count > Short.MAX_VALUE) {
- count = Short.MAX_VALUE;
- }
- stack.getTagCompound().setShort("arrows", (short) count);
- }
-
- @Override
- public boolean catchArrow(ItemStack shield, EntityPlayer player,
- IProjectile arrow) {
- if (arrow instanceof EntityArrow) {
- setArrowCount(shield, getArrowCount(shield) + 1);
- player.setArrowCountInEntity(player.getArrowCountInEntity() - 1);
- ((EntityArrow) arrow).setDead();
- return true;
- }
- return false;
- }
-
- @Override
- public boolean sheatheOnBack(ItemStack arg0) {
- return true;
- }
-
- @Override
- public void blockAnimation(EntityPlayer player, float dmg) {
- player.worldObj.playSoundAtEntity(player, "battlegear2:shield", 1, 1);
- }
-
- @Override
- public boolean canBlock(ItemStack shield, DamageSource source) {
- return !source.isUnblockable();
- }
-
- @Override
- public int getBashTimer(ItemStack arg0) {
- return 10;
- }
-
- @Override
- public float getBlockAngle(ItemStack arg0) {
- return 60;
- }
-
- @Override
- public float getDamageDecayRate(ItemStack shield, float amount) {
- return 0;
- }
-
- @Override
- public float getDamageReduction(ItemStack arg0, DamageSource arg1) {
- return 1f;
- }
-
- @Override
- public float getDecayRate(ItemStack stack) {
- NBTTagCompound tags = stack.getTagCompound();
- float recovery = tags.getCompoundTag("InfiTool").getInteger(
- "MiningSpeed") / 1.5f;
- return 10f / recovery;
- }
-
- @Override
- public float getRecoveryRate(ItemStack stack) {
- NBTTagCompound tags = stack.getTagCompound();
- float recovery = tags.getCompoundTag("InfiTool").getInteger(
- "MiningSpeed") / 1.5f;
- return 10f / recovery;
- }
-
+
@Override
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack par1ItemStack,
diff --git a/src/main/java/gmail/Lance5057/items/tools/RoundShield.java b/src/main/java/gmail/Lance5057/items/tools/RoundShield.java
index 17aec1c..d940077 100644
--- a/src/main/java/gmail/Lance5057/items/tools/RoundShield.java
+++ b/src/main/java/gmail/Lance5057/items/tools/RoundShield.java
@@ -1,244 +1,157 @@
package gmail.Lance5057.items.tools;
+import gmail.Lance5057.TinkersDefense;
+
import java.util.List;
-import java.util.Random;
import mods.battlegear2.api.ISheathed;
import mods.battlegear2.api.shield.IArrowCatcher;
import mods.battlegear2.api.shield.IArrowDisplay;
import mods.battlegear2.api.shield.IShield;
-import mods.battlegear2.api.shield.ShieldType;
-import mods.battlegear2.utils.BattlegearConfig;
-import cpw.mods.fml.relauncher.*;
import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.Entity;
import net.minecraft.entity.IProjectile;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.projectile.EntityArrow;
-import net.minecraft.item.*;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.potion.*;
import net.minecraft.util.DamageSource;
import net.minecraft.util.EnumChatFormatting;
-import net.minecraft.util.IIcon;
import net.minecraft.util.StatCollector;
import net.minecraft.world.World;
-import net.minecraftforge.event.entity.player.PlayerInteractEvent;
-import tconstruct.library.tools.*;
+import tconstruct.library.tools.AbilityHelper;
+import tconstruct.library.tools.HarvestTool;
import tconstruct.tools.TinkerTools;
-public class RoundShield extends Shield
-{
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+
+public class RoundShield extends Shield {
int induceDamage = 0;
-public RoundShield()
-{
-super(0);
-this.setUnlocalizedName("roundshield");
-}
-@Override
-public Item getHeadItem ()
-{
-return TinkerTools.largePlate;
-}
-@Override
-public Item getHandleItem ()
-{
-return TinkerTools.toolRod;
-}
-@Override
-public Item getAccessoryItem ()
-{
-return TinkerTools.frypanHead;
-}
-@Override
-public int durabilityTypeAccessory ()
-{
-return 2;
-}
-@Override
-public float getRepairCost ()
-{
-return 4.0f;
-}
-@Override
-public float getDurabilityModifier ()
-{
-return 2.5f;
-}
-@Override
-public float breakSpeedModifier ()
-{
-return 0.4f;
-}
-@Override
-public float getDamageModifier ()
-{
-return 1.4f;
-}
-@SideOnly(Side.CLIENT)
-@Override
-public int getPartAmount ()
-{
-return 3;
-}
-@Override
-public String getIconSuffix (int partType)
-{
-switch (partType)
-{
-case 0:
-return "_shield_face";
-case 1:
-return "_shield_face_broken";
-case 2:
-return "_shield_edge";
-case 3:
-return "_shield_boss";
-default:
-return "";
-}
-}
-@Override
-public String getEffectSuffix ()
-{
-return "_shield_effect";
-}
-@Override
-public String getDefaultFolder ()
-{
-return "shield";
-}
-/* tool_TinkerShield specific */
-@Override
-public boolean onLeftClickEntity (ItemStack stack, EntityPlayer player, Entity entity)
-{
-if (AbilityHelper.onLeftClickEntity(stack, player, entity, this))
-{
-entity.hurtResistantTime += 7;
-/*
-* if (entity instanceof EntityLiving) { EntityLiving living =
-* (EntityLiving) entity; if (living.getHealth() <= 0) {
-*
-* } }
-*/
-// if (entity.getHealth() <= 0)
-}
-return true;
-}
-@Override
-public void onUpdate (ItemStack stack, World world, Entity entity, int par4, boolean par5)
-{
-super.onUpdate(stack, world, entity, par4, par5);
-
-}
-
-@Override
-public int getArrowCount(ItemStack stack)
-{
- if(stack.hasTagCompound() && stack.getTagCompound().hasKey("arrows"))
- {
- return stack.getTagCompound().getShort("arrows");
- }
- else
- return 0;
-}
-@Override
-public void setArrowCount(ItemStack stack, int count)
-{
- if(!stack.hasTagCompound()){
- stack.setTagCompound(new NBTTagCompound());
- }
- //Should never happen, you would need A LOT of arrows for this to happen
- if(count > Short.MAX_VALUE){
- count = Short.MAX_VALUE;
- }
- stack.getTagCompound().setShort("arrows", (short)count);
-}
-@Override
-public boolean catchArrow(ItemStack shield, EntityPlayer player, IProjectile arrow)
-{
- if(arrow instanceof EntityArrow)
- {
- setArrowCount(shield, getArrowCount(shield)+1);
- player.setArrowCountInEntity(player.getArrowCountInEntity() - 1);
- ((EntityArrow)arrow).setDead();
- return true;
- }
- return false;
-}
-@Override
-public boolean sheatheOnBack(ItemStack arg0) {
- return true;
-}
-@Override
-public void blockAnimation(EntityPlayer player, float dmg)
-{
- player.worldObj.playSoundAtEntity(player, "battlegear2:shield", 1, 1);
-}
-@Override
-public boolean canBlock(ItemStack shield, DamageSource source) {
- return !source.isUnblockable();
-}
-@Override
-public int getBashTimer(ItemStack arg0) {
- // TODO Auto-generated method stub
- return 10;
-}
-@Override
-public float getBlockAngle(ItemStack arg0) {
- // TODO Auto-generated method stub
- return 60;
-}
-@Override
-public float getDamageDecayRate(ItemStack shield, float amount)
-{
- return 2;
-}
-@Override
-public float getDamageReduction(ItemStack arg0, DamageSource arg1) {
- return 1f;
-}
-@Override
-public float getDecayRate(ItemStack stack)
-{
- NBTTagCompound tags = stack.getTagCompound();
- float recovery = tags.getCompoundTag("InfiTool").getInteger("MiningSpeed");
- return 10f / recovery * 2;
-}
-@Override
-public float getRecoveryRate(ItemStack stack)
-{
- NBTTagCompound tags = stack.getTagCompound();
- float recovery = tags.getCompoundTag("InfiTool").getInteger("MiningSpeed");
- return 10f / recovery * 2;
-}
-
-@Override
-@SideOnly(Side.CLIENT)
-public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4)
-{
- NBTTagCompound tags = par1ItemStack.getTagCompound();
- super.addInformation(par1ItemStack, par2EntityPlayer, par3List, par4);
- par3List.add("");
- par3List.add(EnumChatFormatting.DARK_GREEN+
- ItemStack.field_111284_a.format( 1F / (10f / tags.getCompoundTag("InfiTool").getInteger("MiningSpeed") * 2) / 20F)+
- StatCollector.translateToLocal("attribute.shield.block.time"));
- int arrowCount = getArrowCount(par1ItemStack);
- if(arrowCount > 0)
- {
- par3List.add(String.format("%s%s %s", EnumChatFormatting.GOLD, arrowCount, StatCollector.translateToLocal("attribute.shield.arrow.count")));
- }
-}
-@Override
-protected Material[] getEffectiveMaterials ()
-{
- return materials;
-}
- static Material[] materials = new Material[] { Material.rock, Material.iron, Material.ice, Material.glass, Material.piston, Material.anvil, Material.circuits };
-
-@Override
-protected String getHarvestType() {
- // TODO Auto-generated method stub
- return "pickaxe";
-}
+
+ public RoundShield() {
+ super(0);
+ this.setUnlocalizedName("shield");
+ }
+
+ @Override
+ public Item getHeadItem() {
+ return TinkersDefense.partArmorplate;
+ }
+
+ @Override
+ public Item getHandleItem() {
+ return TinkerTools.toolRod;
+ }
+
+ @Override
+ public Item getAccessoryItem() {
+ return TinkerTools.binding;
+ }
+
+ @Override
+ public int durabilityTypeAccessory() {
+ return 2;
+ }
+
+ @Override
+ public float getRepairCost() {
+ return 4.0f;
+ }
+
+ @Override
+ public float getDurabilityModifier() {
+ return 1.5f;
+ }
+
+ @Override
+ public float breakSpeedModifier() {
+ return 0.4f;
+ }
+
+ @Override
+ public float getDamageModifier() {
+ return 0f;
+ }
+
+ @SideOnly(Side.CLIENT)
+ @Override
+ public int getPartAmount() {
+ return 3;
+ }
+
+ @Override
+ public String getIconSuffix(int partType) {
+ switch (partType) {
+ case 0:
+ return "_shield_face";
+ case 1:
+ return "_shield_face_broken";
+ case 2:
+ return "_shield_edge";
+ case 3:
+ return "_shield_boss";
+ default:
+ return "";
+ }
+ }
+
+ @Override
+ public String getEffectSuffix() {
+ return "_shield_effect";
+ }
+
+ @Override
+ public String getDefaultFolder() {
+ return "shield";
+ }
+
+// /* tool_TinkerShield specific */
+// @Override
+// public boolean onLeftClickEntity(ItemStack stack, EntityPlayer player,
+// Entity entity) {
+// if (AbilityHelper.onLeftClickEntity(stack, player, entity, this)) {
+// entity.hurtResistantTime += 7;
+// /*
+// * if (entity instanceof EntityLiving) { EntityLiving living =
+// * (EntityLiving) entity; if (living.getHealth() <= 0) {
+// *
+// * } }
+// */
+// // if (entity.getHealth() <= 0)
+// }
+// return true;
+// }
+
+ @Override
+ public void onUpdate(ItemStack stack, World world, Entity entity, int par4,
+ boolean par5) {
+ super.onUpdate(stack, world, entity, par4, par5);
+
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public void addInformation(ItemStack par1ItemStack,
+ EntityPlayer par2EntityPlayer, List par3List, boolean par4) {
+ NBTTagCompound tags = par1ItemStack.getTagCompound();
+ super.addInformation(par1ItemStack, par2EntityPlayer, par3List, par4);
+ par3List.add("");
+ par3List.add(EnumChatFormatting.DARK_GREEN
+ + ItemStack.field_111284_a
+ .format(1F / (10f / (tags.getCompoundTag("InfiTool")
+ .getInteger("MiningSpeed") / 1.5f)) / 20F)
+ + StatCollector.translateToLocal("attribute.shield.block.time"));
+ int arrowCount = getArrowCount(par1ItemStack);
+ if (arrowCount > 0) {
+ par3List.add(String.format("%s%s %s", EnumChatFormatting.GOLD,
+ arrowCount, StatCollector
+ .translateToLocal("attribute.shield.arrow.count")));
+ }
+ }
+
+ @Override
+ protected String getHarvestType() {
+ return "shield";
+ }
} \ No newline at end of file
diff --git a/src/main/java/gmail/Lance5057/items/tools/Shield.java b/src/main/java/gmail/Lance5057/items/tools/Shield.java
index 58dc60b..5c8af46 100644
--- a/src/main/java/gmail/Lance5057/items/tools/Shield.java
+++ b/src/main/java/gmail/Lance5057/items/tools/Shield.java
@@ -13,7 +13,9 @@ import net.minecraft.client.entity.EntityPlayerSP;
import net.minecraft.entity.Entity;
import net.minecraft.entity.IProjectile;
import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.projectile.EntityArrow;
import net.minecraft.item.*;
+import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.DamageSource;
import net.minecraft.world.World;
@@ -132,123 +134,130 @@ public class Shield extends ToolCore implements IShield, ISheathed,
public static Material[] none = new Material[0];
protected String getHarvestType() {
- // TODO Auto-generated method stub
return null;
}
@Override
@Optional.Method(modid = "battlegear2")
- public int getArrowCount(ItemStack arg0) {
- // TODO Auto-generated method stub
- return 0;
+ public int getArrowCount(ItemStack stack) {
+ if (stack.hasTagCompound() && stack.getTagCompound().hasKey("arrows")) {
+ return stack.getTagCompound().getShort("arrows");
+ } else
+ return 0;
}
@Override
@Optional.Method(modid = "battlegear2")
- public void setArrowCount(ItemStack arg0, int arg1) {
- // TODO Auto-generated method stub
+ public void setArrowCount(ItemStack stack, int count) {
+ if (!stack.hasTagCompound()) {
+ stack.setTagCompound(new NBTTagCompound());
+ }
+ // Should never happen, you would need A LOT of arrows for this to
+ // happen
+ if (count > Short.MAX_VALUE) {
+ count = Short.MAX_VALUE;
+ }
+ stack.getTagCompound().setShort("arrows", (short) count);
}
@Override
@Optional.Method(modid = "battlegear2")
- public boolean catchArrow(ItemStack arg0, EntityPlayer arg1,
- IProjectile arg2) {
- // TODO Auto-generated method stub
+ public boolean catchArrow(ItemStack shield, EntityPlayer player,
+ IProjectile arrow) {
+ if (arrow instanceof EntityArrow) {
+ setArrowCount(shield, getArrowCount(shield) + 1);
+ player.setArrowCountInEntity(player.getArrowCountInEntity() - 1);
+ ((EntityArrow) arrow).setDead();
+ return true;
+ }
return false;
}
+
@Override
@Optional.Method(modid = "battlegear2")
public boolean sheatheOnBack(ItemStack item) {
- // TODO Auto-generated method stub
- return false;
+ return true;
}
@Override
@Optional.Method(modid = "battlegear2")
- public void blockAnimation(EntityPlayer arg0, float arg1) {
- // TODO Auto-generated method stub
-
+ public void blockAnimation(EntityPlayer player, float dmg) {
+ player.worldObj.playSoundAtEntity(player, "battlegear2:shield", 1, 1);
}
@Override
@Optional.Method(modid = "battlegear2")
- public boolean canBlock(ItemStack arg0, DamageSource arg1) {
- // TODO Auto-generated method stub
- return false;
+ public boolean canBlock(ItemStack shield, DamageSource source) {
+ return !source.isUnblockable();
}
@Override
@Optional.Method(modid = "battlegear2")
public int getBashTimer(ItemStack arg0) {
- // TODO Auto-generated method stub
- return 0;
+ return 10;
}
@Override
@Optional.Method(modid = "battlegear2")
public float getBlockAngle(ItemStack arg0) {
- // TODO Auto-generated method stub
- return 0;
+ return 60;
}
@Override
@Optional.Method(modid = "battlegear2")
- public float getDamageDecayRate(ItemStack arg0, float arg1) {
- // TODO Auto-generated method stub
+ public float getDamageDecayRate(ItemStack shield, float amount) {
return 0;
}
@Override
@Optional.Method(modid = "battlegear2")
public float getDamageReduction(ItemStack arg0, DamageSource arg1) {
- // TODO Auto-generated method stub
- return 0;
+ return 1f;
}
@Override
@Optional.Method(modid = "battlegear2")
- public float getDecayRate(ItemStack arg0) {
- // TODO Auto-generated method stub
- return 0;
+ public float getDecayRate(ItemStack stack) {
+ NBTTagCompound tags = stack.getTagCompound();
+ float recovery = tags.getCompoundTag("InfiTool").getInteger(
+ "MiningSpeed") / 1.5f;
+ return 10f / recovery;
}
@Override
@Optional.Method(modid = "battlegear2")
- public float getRecoveryRate(ItemStack arg0) {
- // TODO Auto-generated method stub
- return 0;
+ public float getRecoveryRate(ItemStack stack) {
+ NBTTagCompound tags = stack.getTagCompound();
+ float recovery = tags.getCompoundTag("InfiTool").getInteger(
+ "MiningSpeed") / 1.5f;
+ return 10f / recovery;
}
@Override
public Item getAccessoryItem() {
- // TODO Auto-generated method stub
return null;
}
@Override
public String getDefaultFolder() {
- // TODO Auto-generated method stub
return null;
}
@Override
public String getEffectSuffix() {
- // TODO Auto-generated method stub
return null;
}
@Override
public Item getHeadItem() {
- // TODO Auto-generated method stub
return null;
}
@Override
public String getIconSuffix(int arg0) {
- // TODO Auto-generated method stub
return null;
}
} \ No newline at end of file
diff --git a/src/main/java/gmail/Lance5057/proxy/CommonProxy.java b/src/main/java/gmail/Lance5057/proxy/CommonProxy.java
index 981ab0f..a46a2d5 100644
--- a/src/main/java/gmail/Lance5057/proxy/CommonProxy.java
+++ b/src/main/java/gmail/Lance5057/proxy/CommonProxy.java
@@ -2,6 +2,7 @@ package gmail.Lance5057.proxy;
import gmail.Lance5057.TinkersDefense;
import gmail.Lance5057.containers.Container_CrestMount;
+import gmail.Lance5057.containers.Container_FinishingAnvil;
import gmail.Lance5057.gui.Gui_CrestMount;
import gmail.Lance5057.gui.Gui_FinishingAnvil;
import gmail.Lance5057.tileentities.TileEntity_CrestMount;
@@ -47,6 +48,12 @@ public class CommonProxy implements IGuiHandler {
// Use the player's held item to create the inventory
return new Container_CrestMount(player.inventory, (TileEntity_CrestMount)world.getTileEntity(x, y, z));
}
+ if (ID == TinkersDefense.GUI_ANVIL_INV)
+ {
+ // Use the player's held item to create the inventory
+ return new Container_FinishingAnvil(player.inventory, (TileEntity_FinishingAnvil)world.getTileEntity(x, y, z));
+ }
+
return null;
}