summaryrefslogtreecommitdiff
path: root/src/main/java/gmail
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gmail')
-rw-r--r--src/main/java/gmail/Lance5057/TD_Config.java33
-rw-r--r--src/main/java/gmail/Lance5057/TinkersDefense.java75
-rw-r--r--src/main/java/gmail/Lance5057/armor/items/TinkerArmor.java43
-rw-r--r--src/main/java/gmail/Lance5057/armor/renderers/ModelChainArmor.java170
-rw-r--r--src/main/java/gmail/Lance5057/events/TDEventHandler.java14
-rw-r--r--src/main/java/gmail/Lance5057/items/tools/HeaterShield.java14
-rw-r--r--src/main/java/gmail/Lance5057/items/tools/Shield.java2
-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
-rw-r--r--src/main/java/gmail/Lance5057/proxy/ClientProxy.java2
11 files changed, 367 insertions, 160 deletions
diff --git a/src/main/java/gmail/Lance5057/TD_Config.java b/src/main/java/gmail/Lance5057/TD_Config.java
new file mode 100644
index 0000000..f729b59
--- /dev/null
+++ b/src/main/java/gmail/Lance5057/TD_Config.java
@@ -0,0 +1,33 @@
+package gmail.Lance5057;
+
+import cpw.mods.fml.common.event.FMLPreInitializationEvent;
+import net.minecraftforge.common.config.Configuration;
+import net.minecraftforge.common.config.Property;
+
+public class TD_Config
+{
+ public int AeonsteelMatID;
+ public int QueensGoldMatID;
+ public int DogbeariumMatID;
+
+ public int DazeID;
+ public int CrestFeathersID;
+ public int CrestMirrorsID;
+
+ public TD_Config(FMLPreInitializationEvent e)
+ {
+ Configuration config = new Configuration(e.getSuggestedConfigurationFile());
+
+ config.load();
+
+ AeonsteelMatID = config.get("Material Configs", "Aeonsteel Material ID", 201).getInt();
+ QueensGoldMatID = config.get("Material Configs", "QueensGold Material ID", 202).getInt();
+ DogbeariumMatID = config.get("Material Configs", "Dogbearium Material ID", 203).getInt();
+
+ DazeID = config.get("Modifier Configs", "Daze ID", 18).getInt();
+ CrestFeathersID = config.get("Modifier Configs", "Crest of Feathers ID", 19).getInt();
+ CrestMirrorsID = config.get("Modifier Configs", "Crest of Mirrors ID", 20).getInt();
+
+ config.save();
+ }
+}
diff --git a/src/main/java/gmail/Lance5057/TinkersDefense.java b/src/main/java/gmail/Lance5057/TinkersDefense.java
index 030f8d9..8bf5ce3 100644
--- a/src/main/java/gmail/Lance5057/TinkersDefense.java
+++ b/src/main/java/gmail/Lance5057/TinkersDefense.java
@@ -44,6 +44,8 @@ import net.minecraft.item.ItemArmor.ArmorMaterial;
import net.minecraft.item.ItemStack;
import net.minecraft.util.StatCollector;
import net.minecraftforge.common.MinecraftForge;
+import net.minecraftforge.common.config.Configuration;
+import net.minecraftforge.common.config.Property;
import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fluids.FluidStack;
@@ -91,6 +93,8 @@ public class TinkersDefense {
};
public static TDEventHandler TDevents;
+
+ public static TD_Config config;
public static final SimpleNetworkWrapper INSTANCE = NetworkRegistry.INSTANCE
.newSimpleChannel(Reference.MOD_ID);
@@ -145,7 +149,9 @@ public class TinkersDefense {
@EventHandler
public void preInit(FMLPreInitializationEvent e) {
PacketHandler.init();
- TDevents = new TDEventHandler();
+ //TDevents = new TDEventHandler();
+ config = new TD_Config(e);
+
block_CrestMount = new CrestMount().setHardness(4.0F)
.setStepSound(Block.soundTypeStone).setBlockName("CrestMount")
@@ -342,30 +348,23 @@ public class TinkersDefense {
PatternBuilder pb = PatternBuilder.instance;
- ModifyBuilder.registerModifier(new modifierDaze("Daze", 18, new ItemStack[] { new ItemStack(Blocks.light_weighted_pressure_plate), new ItemStack(Items.potionitem,1,8202)},
+ ModifyBuilder.registerModifier(new modifierDaze("Daze", config.DazeID, new ItemStack[] { new ItemStack(Blocks.light_weighted_pressure_plate), new ItemStack(Items.potionitem,1,8202)},
new int[] {1,0}));
- ModifyBuilder.registerModifier(new modifierCrestofFeathers("Crest of Feathers", 19, new ItemStack[] { new ItemStack(item_Crest_Feathers)},
+ ModifyBuilder.registerModifier(new modifierCrestofFeathers("Crest of Feathers", config.CrestFeathersID, new ItemStack[] { new ItemStack(item_Crest_Feathers)},
new int[] {1}));
- ModifyBuilder.registerModifier(new modifierCrestofMirrors("Crest of Mirrors", 20, new ItemStack[] { new ItemStack(Blocks.glass_pane)},
+ ModifyBuilder.registerModifier(new modifierCrestofMirrors("Crest of Mirrors", config.CrestMirrorsID, new ItemStack[] { new ItemStack(Blocks.glass_pane)},
new int[] {1}));
TConstructRegistry.registerActiveToolMod(new TDefenseActiveToolMod());
for (ToolCore tool : TConstructRegistry.getToolMapping())
{
- TConstructClientRegistry.addEffectRenderMapping(tool, 18, "tinkersdefense", "daze", true);
- }
- //TODO clean this mess up
- for (ToolCore tool : TConstructRegistry.getToolMapping())
- {
- TConstructClientRegistry.addEffectRenderMapping(tool, 19, "tinkersdefense", "crest_feather", true);
- }
-
- for (ToolCore tool : TConstructRegistry.getToolMapping())
- {
- TConstructClientRegistry.addEffectRenderMapping(tool, 20, "tinkersdefense", "crest_mirrors", true);
+ TConstructClientRegistry.addEffectRenderMapping(tool, config.DazeID, "tinker", "daze", true);
+ TConstructClientRegistry.addEffectRenderMapping(tool, config.CrestFeathersID, "tinker", "feathers", true);
+ TConstructClientRegistry.addEffectRenderMapping(tool, config.CrestMirrorsID, "tinker", "mirrors", true);
}
+
TConstructClientRegistry.toolButtons
.add(TConstructClientRegistry.toolButtons.size(),
@@ -401,16 +400,16 @@ public class TinkersDefense {
TinkerTools.toolShard, 1, 10), new ItemStack(
TinkerTools.toolRod, 1, 10), 10);
- TConstructClientRegistry.addMaterialRenderMapping(201, "tinker",
+ TConstructClientRegistry.addMaterialRenderMapping(config.AeonsteelMatID, "tinker",
"aeonsteel", true);
// Tool Materials: id, name, harvestlevel, durability, speed, damage,
// handlemodifier, reinforced, shoddy, style color, primary color for
// block use
- TConstructRegistry.addToolMaterial(201, "AeonSteel", 4, 822, 1100, 3,
+ TConstructRegistry.addToolMaterial(config.AeonsteelMatID, "AeonSteel", 4, 822, 1100, 3,
1.6F, 2, 0f, LIGHT_PURPLE.toString(), 0xb565e6);
TinkerTools.registerPatternMaterial("AeonSteelIngot", 2, "AeonSteel");
- TConstructRegistry.addDefaultToolPartMaterial(201);
+ TConstructRegistry.addDefaultToolPartMaterial(config.AeonsteelMatID);
Smeltery.addMelting(new ItemStack(item_AeonSteelIngot, 1, 0),
block_AeonSteelBlock, 0, 500, new FluidStack(moltenAeonsteel,
@@ -429,24 +428,24 @@ public class TinkersDefense {
new FluidStack(moltenAeonsteel,
TConstruct.ingotLiquidValue * 9), 100);
- castMolten(moltenAeonsteel, 201);
+ castMolten(moltenAeonsteel, config.AeonsteelMatID);
PatternBuilder.instance.registerFullMaterial(new ItemStack(
item_AeonSteelIngot, 1, 0), 2, "Aeonsteel", new ItemStack(
- TinkerTools.toolShard, 1, 201), new ItemStack(
- TinkerTools.toolRod, 1, 201), 201);
+ TinkerTools.toolShard, 1, config.AeonsteelMatID), new ItemStack(
+ TinkerTools.toolRod, 1, config.AeonsteelMatID), config.AeonsteelMatID);
Smeltery.addAlloyMixing(new FluidStack(moltenAeonsteel, 144),
new FluidStack[] {
new FluidStack(TinkerSmeltery.moltenAlumiteFluid, 144),
new FluidStack(TinkerSmeltery.moltenCobaltFluid, 144) });
// Queen's Gold
- TConstructClientRegistry.addMaterialRenderMapping(202, "tinker",
+ TConstructClientRegistry.addMaterialRenderMapping(config.QueensGoldMatID, "tinker",
"queensgold", true);
- TConstructRegistry.addToolMaterial(202, "QueensGold", 3, 100, 500, 2,
+ TConstructRegistry.addToolMaterial(config.QueensGoldMatID, "QueensGold", 3, 100, 500, 2,
1.0F, 0, 0f, GOLD.toString(), 0xeaee57);
TinkerTools.registerPatternMaterial("QueensGoldIngot", 2, "QueensGold");
- TConstructRegistry.addDefaultToolPartMaterial(202);
+ TConstructRegistry.addDefaultToolPartMaterial(config.QueensGoldMatID);
Smeltery.addMelting(new ItemStack(item_QueensGoldIngot, 1, 0),
block_QueensGoldBlock, 0, 500, new FluidStack(moltenQueensGold,
@@ -464,12 +463,12 @@ public class TinkersDefense {
new FluidStack(moltenQueensGold,
TConstruct.ingotLiquidValue * 9), 100);
- castMolten(moltenQueensGold, 202);
+ castMolten(moltenQueensGold, config.QueensGoldMatID);
PatternBuilder.instance.registerFullMaterial(new ItemStack(
item_QueensGoldIngot, 1, 0), 2, "QueensGold", new ItemStack(
- TinkerTools.toolShard, 1, 202), new ItemStack(
- TinkerTools.toolRod, 1, 202), 202);
+ TinkerTools.toolShard, 1, config.QueensGoldMatID), new ItemStack(
+ TinkerTools.toolRod, 1, config.QueensGoldMatID), config.QueensGoldMatID);
Smeltery.addAlloyMixing(
new FluidStack(moltenQueensGold, 144 * 8),
@@ -477,16 +476,13 @@ public class TinkersDefense {
new FluidStack(TinkerSmeltery.moltenGoldFluid, 144 * 8),
new FluidStack(TinkerSmeltery.moltenEmeraldFluid, 80) });
- // Tool Materials: id, name, harvestlevel, durability, speed, damage,
- // handlemodifier, reinforced, shoddy, style color, primary color for
- // block use
// Dogbearium
- TConstructClientRegistry.addMaterialRenderMapping(203, "tinker",
+ TConstructClientRegistry.addMaterialRenderMapping(config.DogbeariumMatID, "tinker",
"dogbearium", true);
- TConstructRegistry.addToolMaterial(203, "Dogbearium", 4, 600, 800, 2,
+ TConstructRegistry.addToolMaterial(config.DogbeariumMatID, "Dogbearium", 4, 600, 800, 2,
1.6F, 0, -2f, DARK_RED.toString(), 0x754200);
TinkerTools.registerPatternMaterial("DogbeariumIngot", 2, "Dogbearium");
- TConstructRegistry.addDefaultToolPartMaterial(203);
+ TConstructRegistry.addDefaultToolPartMaterial(config.DogbeariumMatID);
Smeltery.addMelting(new ItemStack(item_DogbeariumIngot, 1, 0),
block_DogbeariumBlock, 0, 500, new FluidStack(moltenDogbearium,
@@ -504,12 +500,12 @@ public class TinkersDefense {
new FluidStack(moltenDogbearium,
TConstruct.ingotLiquidValue * 9), 100);
- castMolten(moltenDogbearium, 203);
+ castMolten(moltenDogbearium, config.DogbeariumMatID);
PatternBuilder.instance.registerFullMaterial(new ItemStack(
item_DogbeariumIngot, 1, 0), 2, "Dogbearium", new ItemStack(
- TinkerTools.toolShard, 1, 203), new ItemStack(
- TinkerTools.toolRod, 1, 203), 203);
+ TinkerTools.toolShard, 1, config.DogbeariumMatID), new ItemStack(
+ TinkerTools.toolRod, 1, config.DogbeariumMatID), config.DogbeariumMatID);
Smeltery.addAlloyMixing(new FluidStack(moltenDogbearium, 144 * 2),
new FluidStack[] {
@@ -530,7 +526,7 @@ public class TinkersDefense {
TinkerTools.toolRod, TinkerTools.binding);
StencilBuilder.registerStencil(50, woodPattern, 0); // rivets
- StencilBuilder.registerStencil(51, woodPattern, 1); // spike
+ StencilBuilder.registerStencil(51, woodPattern, 1); // clasp
StencilBuilder.registerStencil(52, woodPattern, 2); // armorplate
PatternBuilder.instance.addToolPattern(woodPattern);
@@ -549,11 +545,6 @@ public class TinkersDefense {
@EventHandler
public void postInit(FMLPostInitializationEvent e) {
-// ItemStack ironlongsword = ToolBuilder.instance.buildTool(new ItemStack(TinkerTools.swordBlade, 1, 6), new ItemStack(TinkerTools.toolRod, 1, 2), new ItemStack(TinkerTools.handGuard, 1, 10), "");
-// MantleClientRegistry.registerManualIcon("ironlongsword", ironlongsword);
-//
-// TConstructClientRegistry.registerManualModifier("dazemod", ironlongsword.copy(), new ItemStack(Items.fermented_spider_eye));
-//
}
diff --git a/src/main/java/gmail/Lance5057/armor/items/TinkerArmor.java b/src/main/java/gmail/Lance5057/armor/items/TinkerArmor.java
index ba0fc1b..811f18c 100644
--- a/src/main/java/gmail/Lance5057/armor/items/TinkerArmor.java
+++ b/src/main/java/gmail/Lance5057/armor/items/TinkerArmor.java
@@ -20,24 +20,25 @@ public class TinkerArmor extends ItemArmor {
@Override
@SideOnly(Side.CLIENT)
public void registerIcons(IIconRegister par1IconRegister) {
- String itemName = "tinkersdefense:textures/armor/Sheath";
+ String itemName = "tinkersdefense:textures/armor/ChainArmor";
this.itemIcon = par1IconRegister.registerIcon(itemName);
}
@Override
public String getArmorTexture(ItemStack stack, Entity entity, int slot,
String type) {
- return "tinkersdefense:textures/armor/Sheath.png";
+ return "tinkersdefense:textures/armor/ChainArmor.png";
}
@Override
@SideOnly(Side.CLIENT)
public ModelBiped getArmorModel(EntityLivingBase entityLiving,
- ItemStack itemStack, int armorSlot) {
+ ItemStack itemStack, int armorSlot)
+ {
- return ClientProxy.sheath;
-// ModelBiped armorModel = null;
-// if (itemStack != null) {
+// return ClientProxy.chain;
+ ModelBiped armorModel = ClientProxy.chain;
+ if (itemStack != null) {
// if (itemStack.getItem() instanceof TinkerArmor) {
// int type = ((ItemArmor) itemStack.getItem()).armorType;
// if (type == 1 || type == 3) {
@@ -47,7 +48,7 @@ public class TinkerArmor extends ItemArmor {
// }
//
// }
-// if (armorModel != null) {
+ if (armorModel != null) {
// armorModel.bipedHead.showModel = armorSlot == 0;
// armorModel.bipedHeadwear.showModel = armorSlot == 0;
// armorModel.bipedBody.showModel = armorSlot == 1
@@ -58,20 +59,20 @@ public class TinkerArmor extends ItemArmor {
// || armorSlot == 3;
// armorModel.bipedLeftLeg.showModel = armorSlot == 2
// || armorSlot == 3;
-// armorModel.isSneak = entityLiving.isSneaking();
-// armorModel.isRiding = entityLiving.isRiding();
-// armorModel.isChild = entityLiving.isChild();
-// armorModel.heldItemRight = entityLiving.getHeldItem() != null ? 1
-// : 0;
-//
-// if (entityLiving instanceof EntityPlayer) {
-// armorModel.aimedBow = ((EntityPlayer) entityLiving)
-// .getItemInUseDuration() > 2;
-// }
-// return armorModel;
-// }
-// }
-// return armorModel;
+ armorModel.isSneak = entityLiving.isSneaking();
+ armorModel.isRiding = entityLiving.isRiding();
+ armorModel.isChild = entityLiving.isChild();
+ armorModel.heldItemRight = entityLiving.getHeldItem() != null ? 1
+ : 0;
+
+ if (entityLiving instanceof EntityPlayer) {
+ armorModel.aimedBow = ((EntityPlayer) entityLiving)
+ .getItemInUseDuration() > 2;
+ }
+ return armorModel;
+ }
+ }
+ return armorModel;
}
} \ No newline at end of file
diff --git a/src/main/java/gmail/Lance5057/armor/renderers/ModelChainArmor.java b/src/main/java/gmail/Lance5057/armor/renderers/ModelChainArmor.java
new file mode 100644
index 0000000..5b3fc2a
--- /dev/null
+++ b/src/main/java/gmail/Lance5057/armor/renderers/ModelChainArmor.java
@@ -0,0 +1,170 @@
+package gmail.Lance5057.armor.renderers;
+
+import net.minecraft.client.model.ModelBiped;
+import net.minecraft.client.model.ModelRenderer;
+import net.minecraft.entity.Entity;
+
+import org.lwjgl.opengl.GL11;
+
+public class ModelChainArmor extends ModelBiped
+{
+ public ModelRenderer Pauldron1R;
+ public ModelRenderer Pauldron2R;
+ public ModelRenderer Pauldron3R;
+ public ModelRenderer ArmR;
+ public ModelRenderer Belt;
+ public ModelRenderer BeltBuckle;
+ public ModelRenderer Body;
+ public ModelRenderer Coif;
+ public ModelRenderer Head;
+ public ModelRenderer LegR;
+ public ModelRenderer FootR;
+ public ModelRenderer HipGuardR;
+ public ModelRenderer HipGuardBR;
+ public ModelRenderer Pauldron1L;
+ public ModelRenderer Pauldron2L;
+ public ModelRenderer Pauldron3L;
+ public ModelRenderer ArmL;
+ public ModelRenderer LegL;
+ public ModelRenderer FootL;
+ public ModelRenderer HipGuardL;
+ public ModelRenderer HipGuardBL;
+
+ public ModelChainArmor(float f) {
+ super(f, 0, 64,96);
+
+ this.textureWidth = 64;
+ this.textureHeight = 96;
+
+ this.BeltBuckle = new ModelRenderer(this, 0, 32);
+ this.BeltBuckle.setRotationPoint(0.0F, 0.0F, 0.0F);
+ this.BeltBuckle.addBox(-1.0F, 10.0F, -2.4F, 2, 2, 1, 0.2F);
+ this.bipedBody.addChild(BeltBuckle);
+
+ this.Pauldron3L = new ModelRenderer(this, 16, 64);
+ this.Pauldron3L.setRotationPoint(0.0F, 0.0F, 0.0F);
+ this.Pauldron3L.addBox(-1.3F, -1.3F, -2.5F, 2, 2, 5, 0.1F);
+ this.setRotateAngle(Pauldron3L, 0.0F, 3.141592653589793F, 0.2617993877991494F);
+ this.bipedLeftArm.addChild(Pauldron3L);
+
+ this.LegL = new ModelRenderer(this, 0, 48);
+ this.LegL.setRotationPoint(0.0F, 0.0F, 0.0F);
+ this.LegL.addBox(-2.0F, 0.0F, -2.0F, 4, 12, 4, 0.1F);
+ this.bipedLeftLeg.addChild(LegL);
+
+ this.LegR = new ModelRenderer(this, 0, 48);
+ this.LegR.setRotationPoint(0.0F, 0.0F, 0.0F);
+ this.LegR.addBox(-2.0F, 0.0F, -2.0F, 4, 12, 4, 0.1F);
+ this.bipedRightLeg.addChild(LegR);
+
+ this.FootR = new ModelRenderer(this, 0, 75);
+ this.FootR.setRotationPoint(0.0F, 0.0F, 0.0F);
+ this.FootR.addBox(-2.0F, 10.0F, -3.0F, 4, 2, 1, 0.0F);
+ this.bipedRightLeg.addChild(FootR);
+
+ this.Pauldron1R = new ModelRenderer(this, 30, 64);
+ this.Pauldron1R.setRotationPoint(0.0F, 0.0F, 0.0F);
+ this.Pauldron1R.addBox(-3.5F, -1.6F, -2.5F, 3, 4, 5, 0.0F);
+ this.setRotateAngle(Pauldron1R, 0.0F, 0.0F, 0.2617993877991494F);
+ this.bipedRightArm.addChild(Pauldron1R);
+
+ this.ArmR = new ModelRenderer(this, 40, 48);
+ this.ArmR.setRotationPoint(0.0F, 0.0F, 0.0F);
+ this.ArmR.addBox(-3.0F, -2.0F, -2.0F, 4, 12, 4, 0.1F);
+ this.bipedRightArm.addChild(ArmR);
+
+ this.ArmL = new ModelRenderer(this, 40, 48);
+ this.ArmL.setRotationPoint(0.0F, 0.0F, 0.0F);
+ this.ArmL.addBox(-3.0F, -2.0F, -2.0F, 4, 12, 4, 0.1F);
+ this.setRotateAngle(ArmL, 0.0F, 3.141592653589793F, 0.0F);
+ this.bipedLeftArm.addChild(ArmL);
+
+ this.HipGuardL = new ModelRenderer(this, 24, 32);
+ this.HipGuardL.setRotationPoint(0.0F, 0.0F, 0.0F);
+ this.HipGuardL.addBox(-2.1F, 0.0F, 1.5F, 4, 6, 1, -0.1F);
+ this.setRotateAngle(HipGuardL, 0.17453292519943295F, 1.5707963267948966F, 0.0F);
+ this.bipedLeftLeg.addChild(HipGuardL);
+
+ this.Pauldron2R = new ModelRenderer(this, 0, 64);
+ this.Pauldron2R.setRotationPoint(0.0F, 0.0F, 0.0F);
+ this.Pauldron2R.addBox(-2.4F, -2.7F, -2.5F, 3, 3, 5, -0.1F);
+ this.setRotateAngle(Pauldron2R, 0.0F, 0.0F, -0.2617993877991494F);
+ this.bipedRightArm.addChild(Pauldron2R);
+
+ this.Body = new ModelRenderer(this, 16, 48);
+ this.Body.setRotationPoint(0.0F, 0.0F, 0.0F);
+ this.Body.addBox(-4.0F, 0.0F, -2.0F, 8, 12, 4, 0.1F);
+ this.bipedBody.addChild(Body);
+
+ this.Pauldron2L = new ModelRenderer(this, 0, 64);
+ this.Pauldron2L.setRotationPoint(0.0F, 0.0F, 0.0F);
+ this.Pauldron2L.addBox(-2.4F, -2.7F, -2.5F, 3, 3, 5, -0.1F);
+ this.setRotateAngle(Pauldron2L, 0.0F, 3.141592653589793F, 0.2617993877991494F);
+ this.bipedLeftArm.addChild(Pauldron2L);
+
+ this.Coif = new ModelRenderer(this, 0, 78);
+ this.Coif.setRotationPoint(0.0F, 0.0F, 0.0F);
+ this.Coif.addBox(-4.0F, -8.0F, -4.0F, 8, 10, 8, 0.5F);
+ this.bipedHead.addChild(Coif);
+
+ this.HipGuardBR = new ModelRenderer(this, 24, 32);
+ this.HipGuardBR.setRotationPoint(0.0F, 0.0F, 0.0F);
+ this.HipGuardBR.addBox(-2.0F, 0.0F, 1.0F, 4, 6, 1, 0.0F);
+ this.setRotateAngle(HipGuardBR, 0.17453292519943295F, 0.0F, 0.0F);
+ this.bipedRightLeg.addChild(HipGuardBR);
+
+ this.Pauldron3R = new ModelRenderer(this, 16, 64);
+ this.Pauldron3R.setRotationPoint(0.0F, 0.0F, 0.0F);
+ this.Pauldron3R.addBox(-1.3F, -1.3F, -2.5F, 2, 2, 5, 0.1F);
+ this.setRotateAngle(Pauldron3R, 0.0F, 0.0F, -0.2617993877991494F);
+ this.bipedRightArm.addChild(Pauldron3R);
+
+ this.Head = new ModelRenderer(this, 0, 32);
+ this.Head.setRotationPoint(0.0F, 0.0F, 0.0F);
+ this.Head.addBox(-4.0F, -8.0F, -4.0F, 8, 8, 8, 0.1F);
+ this.bipedHead.addChild(Head);
+
+ this.FootL = new ModelRenderer(this, 0, 75);
+ this.FootL.setRotationPoint(0.0F, 0.0F, 0.0F);
+ this.FootL.addBox(-2.0F, 10.0F, -3.0F, 4, 2, 1, 0.0F);
+ this.bipedLeftLeg.addChild(FootL);
+
+ this.Belt = new ModelRenderer(this, 32, 90);
+ this.Belt.setRotationPoint(0.0F, 0.0F, 0.0F);
+ this.Belt.addBox(-4.0F, 10.0F, -2.0F, 8, 2, 4, 0.2F);
+ this.bipedBody.addChild(Belt);
+
+ this.HipGuardBL = new ModelRenderer(this, 24, 32);
+ this.HipGuardBL.setRotationPoint(0.0F, 0.0F, 0.0F);
+ this.HipGuardBL.addBox(-2.0F, 0.0F, 1.0F, 4, 6, 1, 0.0F);
+ this.setRotateAngle(HipGuardBL, 0.17453292519943295F, 0.0F, 0.0F);
+ this.bipedLeftLeg.addChild(HipGuardBL);
+
+ this.Pauldron1L = new ModelRenderer(this, 30, 64);
+ this.Pauldron1L.setRotationPoint(0.0F, 0.0F, 0.0F);
+ this.Pauldron1L.addBox(-3.5F, -1.6F, -2.5F, 3, 4, 5, 0.0F);
+ this.setRotateAngle(Pauldron1L, 0.0F, 3.141592653589793F, -0.2617993877991494F);
+ this.bipedLeftArm.addChild(Pauldron1L);
+
+ this.HipGuardR = new ModelRenderer(this, 24, 32);
+ this.HipGuardR.setRotationPoint(0.0F, 0.0F, 0.0F);
+ this.HipGuardR.addBox(-2.1F, 0.0F, -2.5F, 4, 6, 1, -0.1F);
+ this.setRotateAngle(HipGuardR, -0.17453292519943295F, 1.5707963267948966F, 0.0F);
+ this.bipedRightLeg.addChild(HipGuardR);
+ }
+
+ @Override
+ public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) {
+ super.render(entity, f, f1, f2, f3, f4, f5);
+ setRotationAngles(f, f1, f2, f3, f4, f5, entity);
+ }
+
+ /**
+ * This is a helper function from Tabula to set the rotation of model parts
+ */
+ public void setRotateAngle(ModelRenderer modelRenderer, float x, float y, float z) {
+ modelRenderer.rotateAngleX = x;
+ modelRenderer.rotateAngleY = y;
+ modelRenderer.rotateAngleZ = z;
+ }
+}
diff --git a/src/main/java/gmail/Lance5057/events/TDEventHandler.java b/src/main/java/gmail/Lance5057/events/TDEventHandler.java
index a65156f..bd46ed9 100644
--- a/src/main/java/gmail/Lance5057/events/TDEventHandler.java
+++ b/src/main/java/gmail/Lance5057/events/TDEventHandler.java
@@ -6,6 +6,8 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.projectile.EntityFireball;
import net.minecraft.entity.projectile.EntityLargeFireball;
import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.potion.Potion;
+import net.minecraft.potion.PotionEffect;
import net.minecraft.util.ChatComponentText;
import net.minecraft.util.DamageSource;
import net.minecraft.util.Vec3;
@@ -65,6 +67,18 @@ public class TDEventHandler {
event.getPlayer().addChatComponentMessage(new ChatComponentText("Nom"));
}
}
+
+ if(tags.hasKey("Crest of Legends"))
+ {
+ event.getPlayer().addPotionEffect(new PotionEffect(Potion.fireResistance.getId(),4,30));
+ event.getPlayer().addPotionEffect(new PotionEffect(Potion.moveSpeed.getId(),4,30));
+ event.getPlayer().addPotionEffect(new PotionEffect(Potion.resistance.getId(),4,30));
+ }
+
+ if(tags.hasKey("Crest of Vampires"))
+ {
+ event.getPlayer().heal(event.ammount/tags.getInteger("Crest of Vampires"));
+ }
}
}
}
diff --git a/src/main/java/gmail/Lance5057/items/tools/HeaterShield.java b/src/main/java/gmail/Lance5057/items/tools/HeaterShield.java
index 8455bc2..8f20f48 100644
--- a/src/main/java/gmail/Lance5057/items/tools/HeaterShield.java
+++ b/src/main/java/gmail/Lance5057/items/tools/HeaterShield.java
@@ -185,13 +185,11 @@ public class HeaterShield extends Shield {
@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;
}
@@ -242,17 +240,7 @@ public class HeaterShield extends Shield {
}
@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";
+ 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 af33f84..90b5dd4 100644
--- a/src/main/java/gmail/Lance5057/items/tools/Shield.java
+++ b/src/main/java/gmail/Lance5057/items/tools/Shield.java
@@ -116,7 +116,7 @@ public class Shield extends ToolCore implements IShield, ISheathed,
@Override
public String[] getTraits() {
- return new String[] { "shield", "melee" };
+ return new String[] { "shield", "blocking" };
}
public static Material[] web = new Material[] { Material.web,
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);
}
}
diff --git a/src/main/java/gmail/Lance5057/proxy/ClientProxy.java b/src/main/java/gmail/Lance5057/proxy/ClientProxy.java
index b295671..0bae0b8 100644
--- a/src/main/java/gmail/Lance5057/proxy/ClientProxy.java
+++ b/src/main/java/gmail/Lance5057/proxy/ClientProxy.java
@@ -1,6 +1,7 @@
package gmail.Lance5057.proxy;
import gmail.Lance5057.TinkersDefense;
+import gmail.Lance5057.armor.renderers.ModelChainArmor;
import gmail.Lance5057.armor.renderers.ModelSheath;
import gmail.Lance5057.armor.renderers.ModelTinkerArmor;
import gmail.Lance5057.models.Renderer_ArmorAnvil;
@@ -17,6 +18,7 @@ import cpw.mods.fml.client.registry.ClientRegistry;
public class ClientProxy extends CommonProxy {
private static final ModelTinkerArmor tutChest = new ModelTinkerArmor(1.0f);
public static final ModelSheath sheath = new ModelSheath();
+ public static final ModelChainArmor chain = new ModelChainArmor(0.1f);
@Override
public void registerRenderers() {