public virtual void DamageItemInHand(ItemDamageReason reason, Entity target, Block block) { if (Player.GameMode != GameMode.Survival) { return; } var itemInHand = GetItemInHand(); var unbreakingLevel = itemInHand.GetEnchantingLevel(EnchantingType.Unbreaking); if (unbreakingLevel > 0) { if (new Random().Next(1 + unbreakingLevel) != 0) { return; } } if (itemInHand.DamageItem(Player, reason, target, block)) { Slots[InHandSlot] = new ItemAir(); var sound = McpeLevelSoundEventOld.CreateObject(); sound.soundId = 5; sound.blockId = -1; sound.entityType = 1; sound.position = Player.KnownPosition; Player.Level.RelayBroadcast(sound); } SendSetSlot(InHandSlot); }
public override bool DamageItem(Player player, ItemDamageReason reason, Entity target, Block block) { switch (reason) { case ItemDamageReason.BlockBreak: { Metadata++; return(Metadata >= GetMaxUses() - 1); } case ItemDamageReason.BlockInteract: { if (block is Grass) { Metadata++; return(Metadata >= GetMaxUses() - 1); } return(false); } case ItemDamageReason.EntityAttack: { Metadata += 2; return(Metadata >= GetMaxUses() - 1); } default: return(false); } }
public override bool DamageItem(Player player, ItemDamageReason reason, Entity target, Block block) { switch (reason) { case ItemDamageReason.BlockBreak: { if (block is Web || block is Leaves || block is Leaves2 || block is Wool || block is Vine) { Metadata++; return(Metadata >= GetMaxUses() - 1); } return(false); } case ItemDamageReason.EntityInteract: { if (target is Sheep) { Metadata++; return(Metadata >= GetMaxUses() - 1); } return(false); } default: return(false); } }
public override bool DamageItem(Player player, ItemDamageReason reason, Entity target, Block block) { switch (reason) { case ItemDamageReason.ItemUse: { Metadata++; return(Metadata >= GetMaxUses()); } default: return(false); } }
public virtual bool DamageItem(Player player, ItemDamageReason reason, Entity target, Block block) { return(false); }