
net.minecraft.server.ItemSword Maven / Gradle / Ivy
package net.minecraft.server;
import com.google.common.collect.Multimap;
public class ItemSword extends Item {
private final EnumToolMaterial b;
private final float a;
public ItemSword(EnumToolMaterial item_enumtoolmaterial) {
this.b = item_enumtoolmaterial;
this.maxStackSize = 1;
this.setMaxDurability(item_enumtoolmaterial.a());
this.a(CreativeModeTab.j);
this.a = 4.0F + item_enumtoolmaterial.c();
}
public float g() {
return this.b.c();
}
public float getDestroySpeed(ItemStack itemstack, Block block) {
if (block == Blocks.WEB) {
return 15.0F;
} else {
Material material = block.getMaterial();
return material != Material.PLANT && material != Material.REPLACEABLE_PLANT && material != Material.CORAL && material != Material.LEAVES && material != Material.PUMPKIN ? 1.0F : 1.5F;
}
}
public boolean a(ItemStack itemstack, EntityLiving entityliving, EntityLiving entityliving1) {
itemstack.damageItem(1, entityliving1);
return true;
}
public boolean a(ItemStack itemstack, World world, Block block, BlockPosition blockposition, EntityLiving entityliving) {
if ((double) block.g(world, blockposition) != 0.0D) {
itemstack.damageItem(2, entityliving);
}
return true;
}
public EnumAnimation e(ItemStack itemstack) {
return EnumAnimation.BLOCK;
}
public int d(ItemStack itemstack) {
return 72000;
}
public ItemStack a(ItemStack itemstack, World world, EntityHuman entityhuman) {
entityhuman.a(itemstack, this.d(itemstack));
return itemstack;
}
public boolean canDestroySpecialBlock(Block block) {
return block == Blocks.WEB;
}
public int b() {
return this.b.e();
}
public String h() {
return this.b.toString();
}
public boolean a(ItemStack itemstack, ItemStack itemstack1) {
return this.b.f() == itemstack1.getItem() || super.a(itemstack, itemstack1);
}
public Multimap i() {
Multimap multimap = super.i();
multimap.put(GenericAttributes.ATTACK_DAMAGE.getName(), new AttributeModifier(ItemSword.f, "Weapon modifier", this.a, 0));
return multimap;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy