Files
Purpur/patches/server/0121-PaperPR-Add-BellRingEvent.patch
William Blake Galbreath 2fbbafa299 Updated Upstream (Paper)
Upstream has released updates that appears to apply and compile correctly

Paper Changes:
9dfe1321 Delay Chunk Unloads based on Player Movement
f0409edc Drop Close region files patch, doesn't add any value.
700070c5 Fix undesirable behavior around world level changes due to priority
2020-06-08 20:04:51 -05:00

50 lines
2.5 KiB
Diff

From af0ccd63a3f9f4c93e5a3ccc1dc6d6ce70b8622c Mon Sep 17 00:00:00 2001
From: Eearslya Sleiarion <eearslya@gmail.com>
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 dbdbfb8ad9..0bbd1e1594 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