That's one heck of a commit you've got there...
I may have got a bit behind with version control. A lot behind, in fact. Maybe I'll go back and split this sometime - then again, I probably won't. But hey, at least it's here!
This commit is contained in:
@@ -1,30 +1,44 @@
|
||||
package electroblob.wizardry.item;
|
||||
|
||||
import electroblob.wizardry.registry.Spells;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.EnumRarity;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemPickaxe;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
public class ItemSpectralPickaxe extends ItemPickaxe implements IConjuredItem {
|
||||
|
||||
private EnumRarity rarity = EnumRarity.COMMON;
|
||||
|
||||
public ItemSpectralPickaxe(ToolMaterial material){
|
||||
super(material);
|
||||
setMaxDamage(getBaseDuration());
|
||||
setMaxDamage(1200);
|
||||
setNoRepair();
|
||||
setCreativeTab(null);
|
||||
addAnimationPropertyOverrides();
|
||||
}
|
||||
|
||||
public Item setRarity(EnumRarity rarity){
|
||||
this.rarity = rarity;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getBaseDuration(){
|
||||
return 1200;
|
||||
public EnumRarity getRarity(ItemStack stack){
|
||||
return rarity;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxDamage(ItemStack stack){
|
||||
return this.getMaxDamageFromNBT(stack);
|
||||
return this.getMaxDamageFromNBT(stack, Spells.conjure_pickaxe);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -47,6 +61,18 @@ public class ItemSpectralPickaxe extends ItemPickaxe implements IConjuredItem {
|
||||
stack.setItemDamage(damage + 1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getDestroySpeed(ItemStack stack, IBlockState state){
|
||||
float speed = super.getDestroySpeed(stack, state);
|
||||
return speed > 1 ? speed * IConjuredItem.getDamageMultiplier(stack) : speed;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getHarvestLevel(ItemStack stack, String toolClass, @Nullable EntityPlayer player, @Nullable IBlockState blockState){
|
||||
// Reuses the standard bonus amplifier calculation from SpellBuff to increase the mining level at advanced and master tier
|
||||
return super.getHarvestLevel(stack, toolClass, player, blockState) + (int)((IConjuredItem.getDamageMultiplier(stack) - 1) / 0.4);
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public boolean hasEffect(ItemStack stack){
|
||||
@@ -63,10 +89,19 @@ public class ItemSpectralPickaxe extends ItemPickaxe implements IConjuredItem {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isEnchantable(ItemStack stack){
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isBookEnchantable(ItemStack stack, ItemStack book){
|
||||
return false;
|
||||
}
|
||||
|
||||
// Cannot be dropped
|
||||
@Override
|
||||
public boolean onDroppedByPlayer(ItemStack item, EntityPlayer player){
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user