Skip to content

Commit

Permalink
Update HarvestTool.java
Browse files Browse the repository at this point in the history
Some light testing suggests it isn't 100% broken.
  • Loading branch information
purpleposeidon committed Sep 18, 2013
1 parent be73c39 commit dfacbe5
Showing 1 changed file with 39 additions and 30 deletions.
69 changes: 39 additions & 30 deletions src/tconstruct/library/tools/HarvestTool.java
Expand Up @@ -70,40 +70,49 @@ public float getStrVsBlock (ItemStack stack, Block block, int meta)
{
if (materials[i] == block.blockMaterial)
{
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 * 100f);
int hlvl = MinecraftForge.getBlockHarvestLevel(block, meta, getHarvestType());
int durability = tags.getInteger("Damage");

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

if (hlvl <= tags.getInteger("HarvestLevel"))
return trueSpeed;
return 0.1f;
return calculateStrength(tags, block, meta);
}
}
if (MinecraftForge.getBlockHarvestLevel(block, meta, getHarvestType()) > 0)
{
return calculateStrength(tags, block, meta); //
}
return super.getStrVsBlock(stack, block, meta);
}

float calculateStrength(NBTTagCompound tags, Block block, int meta)
{
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 * 100f);
int hlvl = MinecraftForge.getBlockHarvestLevel(block, meta, getHarvestType());
int durability = tags.getInteger("Damage");

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

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

public boolean canHarvestBlock (Block block)
{
Expand Down

0 comments on commit dfacbe5

Please sign in to comment.