diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/gregtech/api/items/GT_MetaGenerated_Tool.java | 5 | ||||
-rw-r--r-- | src/main/java/gregtech/common/blocks/GT_Block_Machines.java | 15 |
2 files changed, 18 insertions, 2 deletions
diff --git a/src/main/java/gregtech/api/items/GT_MetaGenerated_Tool.java b/src/main/java/gregtech/api/items/GT_MetaGenerated_Tool.java index de6ca996d5..2526faa0aa 100644 --- a/src/main/java/gregtech/api/items/GT_MetaGenerated_Tool.java +++ b/src/main/java/gregtech/api/items/GT_MetaGenerated_Tool.java @@ -686,12 +686,13 @@ public abstract class GT_MetaGenerated_Tool extends GT_MetaBase_Item if (tStats == null || Math.max(0, getHarvestLevel(aStack, "")) < aBlock.getHarvestLevel(aMetaData)) return 0.0F; return tStats.isMinableBlock(aBlock, (byte) aMetaData) ? Math.max(Float.MIN_NORMAL, tStats.getSpeedMultiplier() * getPrimaryMaterial(aStack).mToolSpeed) - : 0.0F; + : 1.0F; } @Override public final boolean canHarvestBlock(Block aBlock, ItemStack aStack) { - return getDigSpeed(aStack, aBlock, (byte) 0) > 0.0F; + IToolStats tStats = getToolStats(aStack); + return tStats.isMinableBlock(aBlock, (byte) 0) && getDigSpeed(aStack, aBlock, (byte) 0) > 0.0F; } @Override diff --git a/src/main/java/gregtech/common/blocks/GT_Block_Machines.java b/src/main/java/gregtech/common/blocks/GT_Block_Machines.java index af41710054..b2d62e3f3a 100644 --- a/src/main/java/gregtech/common/blocks/GT_Block_Machines.java +++ b/src/main/java/gregtech/common/blocks/GT_Block_Machines.java @@ -37,12 +37,14 @@ import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.GregTech_API; import gregtech.api.enums.Textures; import gregtech.api.interfaces.IDebugableBlock; +import gregtech.api.interfaces.IToolStats; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IColoredTileEntity; import gregtech.api.interfaces.tileentity.ICoverable; import gregtech.api.interfaces.tileentity.IDebugableTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.items.GT_Generic_Block; +import gregtech.api.items.GT_MetaGenerated_Tool; import gregtech.api.metatileentity.BaseMetaPipeEntity; import gregtech.api.metatileentity.BaseMetaTileEntity; import gregtech.api.metatileentity.BaseTileEntity; @@ -73,6 +75,19 @@ public class GT_Block_Machines extends GT_Generic_Block implements IDebugableBlo } @Override + public boolean canHarvestBlock(EntityPlayer player, int meta) { + + ItemStack stack = player.inventory.getCurrentItem(); + if (stack != null && stack.getItem() instanceof GT_MetaGenerated_Tool gTool) { + IToolStats tStats = gTool.getToolStats(stack); + if (tStats == null) return false; + return tStats.isMinableBlock(this, (byte) meta); + } + + return super.canHarvestBlock(player, meta); + } + + @Override public String getHarvestTool(int aMeta) { if (aMeta >= 8 && aMeta <= 11) { return "cutter"; |