Skip to content

Commit

Permalink
Merge pull request #934 from squeek502/broad-tools
Browse files Browse the repository at this point in the history
Merge: Buff redstone mod, refactor broad tools to match
  • Loading branch information
bonii-xx committed Aug 28, 2014
2 parents 0cbc341 + fbf7720 commit 52be72d
Show file tree
Hide file tree
Showing 7 changed files with 46 additions and 168 deletions.
52 changes: 7 additions & 45 deletions src/main/java/tconstruct/items/tools/Excavator.java
Original file line number Diff line number Diff line change
Expand Up @@ -239,53 +239,15 @@ public boolean onBlockStartBreak (ItemStack stack, int x, int y, int z, EntityPl
}

@Override
public float getDigSpeed (ItemStack stack, Block block, int meta)
public float breakSpeedModifier ()
{
if (!stack.hasTagCompound())
return 1.0f;

NBTTagCompound tags = stack.getTagCompound().getCompoundTag("InfiTool");
if (tags.getBoolean("Broken"))
return 0.1f;

Material[] materials = getEffectiveMaterials();
for (int i = 0; i < materials.length; i++)
{
if (materials[i] == block.getMaterial())
{
float mineSpeed = tags.getInteger("MiningSpeed");
int heads = 1;
if (tags.hasKey("MiningSpeed2"))
{
mineSpeed += tags.getInteger("MiningSpeed2");
heads++;
}

if (tags.hasKey("MiningSpeedHandle"))
{
mineSpeed += tags.getInteger("MiningSpeedHandle");
heads++;
}

if (tags.hasKey("MiningSpeedExtra"))
{
mineSpeed += tags.getInteger("MiningSpeedExtra");
heads++;
}
float trueSpeed = mineSpeed / (heads * 300f);
int hlvl = block.getHarvestLevel(meta);
int durability = tags.getInteger("Damage");

float stonebound = tags.getFloat("Shoddy");
float bonusLog = (float) Math.log(durability / 216f + 1) * 2 * stonebound;
trueSpeed += bonusLog;
return 0.4f;
}

if (hlvl <= tags.getInteger("HarvestLevel"))
return trueSpeed;
return 0.1f;
}
}
return super.getDigSpeed(stack, block, meta);
@Override
public float stoneboundModifier ()
{
return 216f;
}

}
68 changes: 5 additions & 63 deletions src/main/java/tconstruct/items/tools/Hammer.java
Original file line number Diff line number Diff line change
Expand Up @@ -344,75 +344,17 @@ public boolean onBlockStartBreak (ItemStack stack, int x, int y, int z, EntityPl
}

@Override
public float getDigSpeed (ItemStack stack, Block block, int meta)
public float breakSpeedModifier ()
{
if (!stack.hasTagCompound())
return 1.0f;

NBTTagCompound tags = stack.getTagCompound().getCompoundTag("InfiTool");
if (tags.getBoolean("Broken"))
return 0.1f;

Material[] materials = getEffectiveMaterials();
for (int i = 0; i < materials.length; i++)
{
if (materials[i] == block.getMaterial())
{
return getblockSpeed(tags, block, meta);
}
}

/*
* if (block == Block.silverfish) return getblockSpeed(tags, block,
* meta);
*/

return super.getDigSpeed(stack, block, meta);
return 0.4f;
}

float getblockSpeed (NBTTagCompound tags, Block block, int meta)
@Override
public float stoneboundModifier ()
{
float mineSpeed = tags.getInteger("MiningSpeed");
int heads = 1;
if (tags.hasKey("MiningSpeed2"))
{
mineSpeed += tags.getInteger("MiningSpeed2");
heads++;
}
if (tags.hasKey("MiningSpeedHandle"))
{
mineSpeed += tags.getInteger("MiningSpeedHandle");
heads++;
}

if (tags.hasKey("MiningSpeedExtra"))
{
mineSpeed += tags.getInteger("MiningSpeedExtra");
heads++;
}
float trueSpeed = mineSpeed / (heads * 300f);
int hlvl = block.getHarvestLevel(meta);
int durability = tags.getInteger("Damage");

float stonebound = tags.getFloat("Shoddy");
float bonusLog = (float) Math.log(durability / 216f + 1) * 2 * stonebound;
trueSpeed += bonusLog;

if (hlvl <= tags.getInteger("HarvestLevel"))
return trueSpeed;
return 0.1f;
return 216f;
}

/*
* @Override public void onUpdate (ItemStack stack, World world, Entity
* entity, int par4, boolean par5) { super.onUpdate(stack, world, entity,
* par4, par5); if (entity instanceof EntityPlayer) { EntityPlayer player =
* (EntityPlayer) entity; ItemStack equipped =
* player.getCurrentEquippedItem(); if (equipped == stack) {
* player.addPotionEffect(new PotionEffect(Potion.digSlowdown.id, 1, 1)); }
* } }
*/

@Override
public String[] getTraits ()
{
Expand Down
52 changes: 7 additions & 45 deletions src/main/java/tconstruct/items/tools/LumberAxe.java
Original file line number Diff line number Diff line change
Expand Up @@ -79,53 +79,15 @@ public boolean onBlockDestroyed (ItemStack itemstack, World world, Block block,
*/

@Override
public float getDigSpeed (ItemStack stack, Block block, int meta)
public float breakSpeedModifier ()
{
if (!stack.hasTagCompound())
return 1.0f;

NBTTagCompound tags = stack.getTagCompound().getCompoundTag("InfiTool");
if (tags.getBoolean("Broken"))
return 0.1f;

Material[] materials = getEffectiveMaterials();
for (int i = 0; i < materials.length; i++)
{
if (materials[i] == block.getMaterial())
{
float mineSpeed = tags.getInteger("MiningSpeed");
int heads = 1;
if (tags.hasKey("MiningSpeed2"))
{
mineSpeed += tags.getInteger("MiningSpeed2");
heads++;
}

if (tags.hasKey("MiningSpeedHandle"))
{
mineSpeed += tags.getInteger("MiningSpeedHandle");
heads++;
}

if (tags.hasKey("MiningSpeedExtra"))
{
mineSpeed += tags.getInteger("MiningSpeedExtra");
heads++;
}
float trueSpeed = mineSpeed / (heads * 300f);
int hlvl = block.getHarvestLevel(meta);
int durability = tags.getInteger("Damage");

float stonebound = tags.getFloat("Shoddy");
float bonusLog = (float) Math.log(durability / 72f + 1) * 2 * stonebound;
trueSpeed += bonusLog;
return 0.4f;
}

if (hlvl <= tags.getInteger("HarvestLevel"))
return trueSpeed;
return 0.1f;
}
}
return super.getDigSpeed(stack, block, meta);
@Override
public float stoneboundModifier ()
{
return 216f;
}

@Override
Expand Down
14 changes: 12 additions & 2 deletions src/main/java/tconstruct/library/tools/HarvestTool.java
Original file line number Diff line number Diff line change
Expand Up @@ -160,18 +160,28 @@ public float calculateStrength (NBTTagCompound tags, Block block, int meta)
mineSpeed += tags.getInteger("MiningSpeedExtra");
heads++;
}
float trueSpeed = mineSpeed / (heads * 100f);
float trueSpeed = mineSpeed / (heads * 100f) * breakSpeedModifier();
int hlvl = block.getHarvestLevel(meta);
int durability = tags.getInteger("Damage");

float stonebound = tags.getFloat("Shoddy");
float bonusLog = (float) Math.log(durability / 72f + 1) * 2 * stonebound;
float bonusLog = (float) Math.log(durability / stoneboundModifier() + 1) * 2 * stonebound;
trueSpeed += bonusLog;

if (hlvl <= tags.getInteger("HarvestLevel"))
return trueSpeed;
return 0.1f;
}

public float breakSpeedModifier()
{
return 1.0f;
}

public float stoneboundModifier()
{
return 72f;
}

@Override
public boolean func_150897_b (Block block)
Expand Down
6 changes: 3 additions & 3 deletions src/main/java/tconstruct/modifiers/tools/ModRepair.java
Original file line number Diff line number Diff line change
Expand Up @@ -80,11 +80,11 @@ private int calculateIncrease (ItemStack tool, int materialValue, int itemsUsed)
int modifiers = tags.getInteger("Modifiers");
float mods = 1.0f;
if (modifiers == 2)
mods = 0.8f;
mods = 0.9f;
else if (modifiers == 1)
mods = 0.6f;
mods = 0.8f;
else if (modifiers == 0)
mods = 0.4f;
mods = 0.7f;

increase *= mods;

Expand Down
11 changes: 6 additions & 5 deletions src/main/java/tconstruct/tools/gui/CraftingStationGui.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
import org.lwjgl.opengl.GL11;

import tconstruct.library.armor.ArmorCore;
import tconstruct.library.tools.HarvestTool;
import tconstruct.library.tools.ToolCore;
import tconstruct.tools.logic.CraftingStationLogic;

Expand Down Expand Up @@ -286,9 +287,9 @@ void drawModularToolStats (ItemStack stack, ToolCore tool, NBTTagCompound tags)
// Mining
if (categories.contains("dualharvest"))
{
float mineSpeed = tags.getInteger("MiningSpeed") / 100f;
float mineSpeed2 = tags.getInteger("MiningSpeed2") / 100f;
float stoneboundSpeed = (float) Math.log(durability / 72f + 1) * 2 * stonebound;
float mineSpeed = tags.getInteger("MiningSpeed") / 100f * ((HarvestTool) tool).breakSpeedModifier();
float mineSpeed2 = tags.getInteger("MiningSpeed2") / 100f * ((HarvestTool) tool).breakSpeedModifier();
float stoneboundSpeed = (float) Math.log(durability / ((HarvestTool) tool).stoneboundModifier() + 1) * 2 * stonebound;
DecimalFormat df = new DecimalFormat("##.##");
df.setRoundingMode(RoundingMode.DOWN);
float trueSpeed = mineSpeed + stoneboundSpeed;
Expand Down Expand Up @@ -335,9 +336,9 @@ else if (categories.contains("harvest"))
heads++;
}

float trueSpeed = mineSpeed / (heads * 100f);
float trueSpeed = mineSpeed / (heads * 100f) * ((HarvestTool) tool).breakSpeedModifier();

float stoneboundSpeed = (float) Math.log(durability / 72f + 1) * 2 * stonebound;
float stoneboundSpeed = (float) Math.log(durability / ((HarvestTool) tool).stoneboundModifier() + 1) * 2 * stonebound;
DecimalFormat df = new DecimalFormat("##.##");
df.setRoundingMode(RoundingMode.DOWN);
trueSpeed += stoneboundSpeed;
Expand Down
11 changes: 6 additions & 5 deletions src/main/java/tconstruct/tools/gui/ToolStationGui.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
import tconstruct.TConstruct;
import tconstruct.library.client.TConstructClientRegistry;
import tconstruct.library.client.ToolGuiElement;
import tconstruct.library.tools.HarvestTool;
import tconstruct.library.tools.ToolCore;
import tconstruct.library.util.HarvestLevels;
import tconstruct.smeltery.inventory.ActiveContainer;
Expand Down Expand Up @@ -296,9 +297,9 @@ void drawModularToolStats (ItemStack stack, ToolCore tool, NBTTagCompound tags)
// Mining
if (categories.contains("dualharvest"))
{
float mineSpeed = tags.getInteger("MiningSpeed") / 100f;
float mineSpeed2 = tags.getInteger("MiningSpeed2") / 100f;
float stoneboundSpeed = (float) Math.log(durability / 72f + 1) * 2 * stonebound;
float mineSpeed = tags.getInteger("MiningSpeed") / 100f * ((HarvestTool) tool).breakSpeedModifier();
float mineSpeed2 = tags.getInteger("MiningSpeed2") / 100f * ((HarvestTool) tool).breakSpeedModifier();
float stoneboundSpeed = (float) Math.log(durability / ((HarvestTool) tool).stoneboundModifier() + 1) * 2 * stonebound;
DecimalFormat df = new DecimalFormat("##.##");
df.setRoundingMode(RoundingMode.DOWN);
float trueSpeed = mineSpeed + stoneboundSpeed;
Expand Down Expand Up @@ -344,9 +345,9 @@ else if (categories.contains("harvest"))
heads++;
}

float trueSpeed = mineSpeed / (heads * 100f);
float trueSpeed = mineSpeed / (heads * 100f) * ((HarvestTool) tool).breakSpeedModifier();

float stoneboundSpeed = (float) Math.log(durability / 72f + 1) * 2 * stonebound;
float stoneboundSpeed = (float) Math.log(durability / ((HarvestTool) tool).stoneboundModifier() + 1) * 2 * stonebound;
DecimalFormat df = new DecimalFormat("##.##");
df.setRoundingMode(RoundingMode.DOWN);
trueSpeed += stoneboundSpeed;
Expand Down

0 comments on commit 52be72d

Please sign in to comment.