aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/gregtech/api/items/GT_MetaGenerated_Tool.java5
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Block_Machines.java15
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";