Skip to content

Commit

Permalink
Call BlockRedstoneEvents for lecterns (#9721)
Browse files Browse the repository at this point in the history
  • Loading branch information
Warriorrrr authored Sep 14, 2023
1 parent 7145f41 commit 29d1c7b
Showing 1 changed file with 27 additions and 0 deletions.
27 changes: 27 additions & 0 deletions patches/server/1032-Call-BlockRedstoneEvents-for-lecterns.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Warrior <[email protected]>
Date: Wed, 13 Sep 2023 05:46:10 +0200
Subject: [PATCH] Call BlockRedstoneEvents for lecterns


diff --git a/src/main/java/net/minecraft/world/level/block/LecternBlock.java b/src/main/java/net/minecraft/world/level/block/LecternBlock.java
index d8489fc7bbc57aa2a53026c79d2e2b2718b32912..2da67bd990b3f3762dfe089bf543cebac66378db 100644
--- a/src/main/java/net/minecraft/world/level/block/LecternBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/LecternBlock.java
@@ -171,6 +171,16 @@ public class LecternBlock extends BaseEntityBlock {
}

private static void changePowered(Level world, BlockPos pos, BlockState state, boolean powered) {
+ // Paper start - call BlockRedstoneEvents for lecterns
+ final int currentRedstoneLevel = state.getValue(LecternBlock.POWERED) ? 15 : 0, targetRedstoneLevel = powered ? 15 : 0;
+ if (currentRedstoneLevel != targetRedstoneLevel) {
+ final org.bukkit.event.block.BlockRedstoneEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callRedstoneChange(world, pos, currentRedstoneLevel, targetRedstoneLevel);
+
+ if (event.getNewCurrent() != targetRedstoneLevel) {
+ return;
+ }
+ }
+ // Paper end
world.setBlock(pos, (BlockState) state.setValue(LecternBlock.POWERED, powered), 3);
LecternBlock.updateBelow(world, pos, state);
}

0 comments on commit 29d1c7b

Please sign in to comment.