2015-06-23 22:29:05 +00:00
package gregtech.common.tools ;
import gregtech.GT_Mod ;
2015-05-16 00:51:56 +00:00
import gregtech.api.GregTech_API ;
2015-06-23 22:29:05 +00:00
import gregtech.api.interfaces.IIconContainer ;
import gregtech.api.items.GT_MetaGenerated_Tool ;
import gregtech.common.items.behaviors.Behaviour_Crowbar ;
import net.minecraft.block.Block ;
import net.minecraft.block.material.Material ;
import net.minecraft.entity.EntityLivingBase ;
import net.minecraft.entity.player.EntityPlayer ;
import net.minecraft.item.ItemStack ;
import net.minecraft.stats.AchievementList ;
import net.minecraft.util.ChatComponentText ;
import net.minecraft.util.EnumChatFormatting ;
import net.minecraft.util.IChatComponent ;
2015-05-16 00:51:56 +00:00
2015-06-23 22:29:05 +00:00
public class GT_Tool_UniversalSpade
2015-10-22 02:15:09 +00:00
extends GT_Tool {
public int getToolDamagePerBlockBreak ( ) {
return 50 ;
}
public int getToolDamagePerDropConversion ( ) {
return 100 ;
}
public int getToolDamagePerContainerCraft ( ) {
return 400 ;
}
public int getToolDamagePerEntityAttack ( ) {
return 100 ;
}
public int getBaseQuality ( ) {
return 0 ;
}
public float getBaseDamage ( ) {
return 3 . 0F ;
}
public float getSpeedMultiplier ( ) {
return 0 . 75F ;
}
public float getMaxDurabilityMultiplier ( ) {
return 1 . 0F ;
}
public String getCraftingSound ( ) {
return null ;
}
public String getEntityHitSound ( ) {
return null ;
}
public String getBreakingSound ( ) {
return ( String ) GregTech_API . sSoundList . get ( Integer . valueOf ( 0 ) ) ;
}
public String getMiningSound ( ) {
return null ;
}
public boolean canBlock ( ) {
return true ;
}
public boolean isCrowbar ( ) {
return true ;
}
public boolean isWeapon ( ) {
return true ;
}
public boolean isMinableBlock ( Block aBlock , byte aMetaData ) {
String tTool = aBlock . getHarvestTool ( aMetaData ) ;
return ( ( tTool ! = null ) & & ( ( tTool . equals ( " shovel " ) ) | | ( tTool . equals ( " axe " ) ) | | ( tTool . equals ( " saw " ) ) | | ( tTool . equals ( " sword " ) ) | | ( tTool . equals ( " crowbar " ) ) ) ) | | ( aBlock . getMaterial ( ) = = Material . sand ) | | ( aBlock . getMaterial ( ) = = Material . grass ) | | ( aBlock . getMaterial ( ) = = Material . ground ) | | ( aBlock . getMaterial ( ) = = Material . snow ) | | ( aBlock . getMaterial ( ) = = Material . clay ) | | ( aBlock . getMaterial ( ) = = Material . leaves ) | | ( aBlock . getMaterial ( ) = = Material . vine ) | | ( aBlock . getMaterial ( ) = = Material . wood ) | | ( aBlock . getMaterial ( ) = = Material . cactus ) | | ( aBlock . getMaterial ( ) = = Material . circuits ) | | ( aBlock . getMaterial ( ) = = Material . gourd ) | | ( aBlock . getMaterial ( ) = = Material . web ) | | ( aBlock . getMaterial ( ) = = Material . cloth ) | | ( aBlock . getMaterial ( ) = = Material . carpet ) | | ( aBlock . getMaterial ( ) = = Material . plants ) | | ( aBlock . getMaterial ( ) = = Material . cake ) | | ( aBlock . getMaterial ( ) = = Material . tnt ) | | ( aBlock . getMaterial ( ) = = Material . sponge ) ;
}
public ItemStack getBrokenItem ( ItemStack aStack ) {
return null ;
}
public IIconContainer getIcon ( boolean aIsToolHead , ItemStack aStack ) {
return aIsToolHead ? GT_MetaGenerated_Tool . getPrimaryMaterial ( aStack ) . mIconSet . mTextures [ gregtech . api . enums . OrePrefixes . toolHeadUniversalSpade . mTextureIndex ] : GT_MetaGenerated_Tool . getSecondaryMaterial ( aStack ) . mIconSet . mTextures [ gregtech . api . enums . OrePrefixes . stick . mTextureIndex ] ;
}
public short [ ] getRGBa ( boolean aIsToolHead , ItemStack aStack ) {
return aIsToolHead ? GT_MetaGenerated_Tool . getPrimaryMaterial ( aStack ) . mRGBa : GT_MetaGenerated_Tool . getSecondaryMaterial ( aStack ) . mRGBa ;
}
public void onStatsAddedToTool ( GT_MetaGenerated_Tool aItem , int aID ) {
aItem . addItemBehavior ( aID , new Behaviour_Crowbar ( 2 , 2000 ) ) ;
}
public void onToolCrafted ( ItemStack aStack , EntityPlayer aPlayer ) {
super . onToolCrafted ( aStack , aPlayer ) ;
aPlayer . triggerAchievement ( AchievementList . buildSword ) ;
try {
GT_Mod . instance . achievements . issueAchievement ( aPlayer , " unitool " ) ;
} catch ( Exception e ) {
}
}
public IChatComponent getDeathMessage ( EntityLivingBase aPlayer , EntityLivingBase aEntity ) {
return new ChatComponentText ( EnumChatFormatting . RED + aEntity . getCommandSenderName ( ) + EnumChatFormatting . WHITE + " has been digged by " + EnumChatFormatting . GREEN + aPlayer . getCommandSenderName ( ) + EnumChatFormatting . WHITE ) ;
}
2015-06-23 22:29:05 +00:00
}