Commits
Cynthia Yantis authored and md_5 committed 3d53d261f8d
1 1 | --- a/net/minecraft/world/entity/monster/EntitySkeletonAbstract.java |
2 2 | +++ b/net/minecraft/world/entity/monster/EntitySkeletonAbstract.java |
3 - | |
3 + | |
4 + | import net.minecraft.world.level.block.Blocks; |
5 + | import net.minecraft.world.level.block.state.IBlockData; |
6 + | |
7 + | +// CraftBukkit start |
8 + | +import org.bukkit.craftbukkit.event.CraftEventFactory; |
9 + | +import org.bukkit.event.entity.EntityArmorChangeEvent; |
10 + | +// CraftBukkit end |
11 + | + |
12 + | public abstract class EntitySkeletonAbstract extends EntityMonster implements IRangedEntity { |
13 + | |
14 + | private final PathfinderGoalBowShoot<EntitySkeletonAbstract> bowGoal = new PathfinderGoalBowShoot<>(this, 1.0D, 20, 15.0F); |
15 + | |
16 + | if (itemstack.f()) { |
17 + | itemstack.setDamage(itemstack.getDamage() + this.random.nextInt(2)); |
18 + | if (itemstack.getDamage() >= itemstack.i()) { |
19 + | + CraftEventFactory.callEntityEquipArmorEvent(this, itemstack, ItemStack.EMPTY, EntityArmorChangeEvent.ChangeReason.BREAK, EnumItemSlot.HEAD); // CraftBukkit |
20 + | this.broadcastItemBreak(EnumItemSlot.HEAD); |
21 + | this.setSlot(EnumItemSlot.HEAD, ItemStack.EMPTY); |
22 + | } |
23 + | |
4 24 | double d3 = Math.sqrt(d0 * d0 + d2 * d2); |
5 25 | |
6 26 | entityarrow.shoot(d0, d1 + d3 * 0.20000000298023224D, d2, 1.6F, (float) (14 - this.level.getDifficulty().a() * 4)); |
7 27 | + // CraftBukkit start |
8 28 | + org.bukkit.event.entity.EntityShootBowEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callEntityShootBowEvent(this, this.getItemInMainHand(), null, entityarrow, net.minecraft.world.EnumHand.MAIN_HAND, 0.8F, true); |
9 29 | + if (event.isCancelled()) { |
10 30 | + event.getProjectile().remove(); |
11 31 | + return; |
12 32 | + } |
13 33 | + |