From 3e5f9a68fcae710e4090815afb8f635865e12f0b Mon Sep 17 00:00:00 2001 From: Eearslya Sleiarion Date: Mon, 24 Jun 2019 21:27:32 -0700 Subject: [PATCH] PaperPR - Add BellRingEvent --- src/main/java/net/minecraft/server/BlockBell.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/minecraft/server/BlockBell.java b/src/main/java/net/minecraft/server/BlockBell.java index dbdbfb8ad..0bbd1e159 100644 --- a/src/main/java/net/minecraft/server/BlockBell.java +++ b/src/main/java/net/minecraft/server/BlockBell.java @@ -45,7 +45,7 @@ public class BlockBell extends BlockTileEntity { Entity entity1 = ((EntityArrow) entity).getShooter(); EntityHuman entityhuman = entity1 instanceof EntityHuman ? (EntityHuman) entity1 : null; - this.a(world, iblockdata, movingobjectpositionblock, entityhuman, true); + this.handleBellRing(world, iblockdata, movingobjectpositionblock, entityhuman, true, entity); // Purpur } } @@ -56,11 +56,23 @@ public class BlockBell extends BlockTileEntity { } public boolean a(World world, IBlockData iblockdata, MovingObjectPositionBlock movingobjectpositionblock, @Nullable EntityHuman entityhuman, boolean flag) { + // Purpur start - BellRingEvent + return this.handleBellRing(world, iblockdata, movingobjectpositionblock, entityhuman, true, entityhuman); + } + + public boolean handleBellRing(World world, IBlockData iblockdata, MovingObjectPositionBlock movingobjectpositionblock, @Nullable EntityHuman entityhuman, boolean flag, @Nullable Entity entity) { + // Purpur end EnumDirection enumdirection = movingobjectpositionblock.getDirection(); BlockPosition blockposition = movingobjectpositionblock.getBlockPosition(); boolean flag1 = !flag || this.a(iblockdata, enumdirection, movingobjectpositionblock.getPos().y - (double) blockposition.getY()); if (flag1) { + // Purpur start - BellRingEvent + org.bukkit.block.Block block = world.getWorld().getBlockAt(blockposition.getX(), blockposition.getY(), blockposition.getZ()); + if (!new com.destroystokyo.paper.event.block.BellRingEvent(block, (org.bukkit.entity.Entity) entity.getBukkitEntity()).callEvent()) { + return true; + } + // Purpur end boolean flag2 = this.a(world, blockposition, enumdirection); if (flag2 && entityhuman != null) { -- 2.26.2