mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
50 lines
2.5 KiB
Diff
50 lines
2.5 KiB
Diff
From ecc3e2323ee4c0eca11c76b6f4c0e4d4116299b9 Mon Sep 17 00:00:00 2001
|
|
From: Eearslya Sleiarion <eearslya@gmail.com>
|
|
Date: Mon, 24 Jun 2019 21:27:32 -0700
|
|
Subject: [PATCH] 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.24.0
|
|
|