forked from PaperMC/Paper
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Prevent duplicate/superfluous BlockPhysicsEvent (PaperMC#11609)
- Loading branch information
1 parent
f4741f2
commit 7e789e8
Showing
2 changed files
with
42 additions
and
32 deletions.
There are no files selected for viewing
42 changes: 42 additions & 0 deletions
42
patches/server/0732-Add-source-block-to-BlockPhysicsEvent.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 | ||
From: Lulu13022002 <[email protected]> | ||
Date: Sun, 7 Aug 2022 22:16:36 +0200 | ||
Subject: [PATCH] Add source block to BlockPhysicsEvent | ||
|
||
|
||
diff --git a/src/main/java/net/minecraft/world/level/redstone/CollectingNeighborUpdater.java b/src/main/java/net/minecraft/world/level/redstone/CollectingNeighborUpdater.java | ||
index 5821c802ec880501df025fcd3fbbd98242ed952c..3a95e3236eafd14baed035e53503b58c2e21b68a 100644 | ||
--- a/src/main/java/net/minecraft/world/level/redstone/CollectingNeighborUpdater.java | ||
+++ b/src/main/java/net/minecraft/world/level/redstone/CollectingNeighborUpdater.java | ||
@@ -135,7 +135,7 @@ public class CollectingNeighborUpdater implements NeighborUpdater { | ||
orientation = this.orientation.withFront(direction); | ||
} | ||
|
||
- NeighborUpdater.executeUpdate(world, blockState, blockPos, this.sourceBlock, orientation, false); | ||
+ NeighborUpdater.executeUpdate(world, blockState, blockPos, this.sourceBlock, orientation, false, this.sourcePos); // Paper - Add source block to BlockPhysicsEvent | ||
if (this.idx < NeighborUpdater.UPDATE_ORDER.length && NeighborUpdater.UPDATE_ORDER[this.idx] == this.skipDirection) { | ||
this.idx++; | ||
} | ||
diff --git a/src/main/java/net/minecraft/world/level/redstone/NeighborUpdater.java b/src/main/java/net/minecraft/world/level/redstone/NeighborUpdater.java | ||
index be8f34dd222e43b2db7f05e5e5839df8446e1b02..e414da8a51bb9b49c28a74eca166046cbee44835 100644 | ||
--- a/src/main/java/net/minecraft/world/level/redstone/NeighborUpdater.java | ||
+++ b/src/main/java/net/minecraft/world/level/redstone/NeighborUpdater.java | ||
@@ -55,11 +55,17 @@ public interface NeighborUpdater { | ||
} | ||
|
||
static void executeUpdate(Level world, BlockState state, BlockPos pos, Block sourceBlock, @Nullable Orientation orientation, boolean notify) { | ||
+ // Paper start - Add source block to BlockPhysicsEvent | ||
+ executeUpdate(world, state, pos, sourceBlock, orientation, notify, pos); | ||
+ } | ||
+ | ||
+ static void executeUpdate(Level world, BlockState state, BlockPos pos, Block sourceBlock, @Nullable Orientation orientation, boolean notify, BlockPos sourcePos) { | ||
+ // Paper end - Add source block to BlockPhysicsEvent | ||
try { | ||
// CraftBukkit start | ||
CraftWorld cworld = ((ServerLevel) world).getWorld(); | ||
if (cworld != null) { | ||
- BlockPhysicsEvent event = new BlockPhysicsEvent(CraftBlock.at(world, pos), CraftBlockData.fromData(state)); | ||
+ BlockPhysicsEvent event = new BlockPhysicsEvent(CraftBlock.at(world, pos), CraftBlockData.fromData(state), CraftBlock.at(world, sourcePos)); // Paper - Add source block to BlockPhysicsEvent | ||
((ServerLevel) world).getCraftServer().getPluginManager().callEvent(event); | ||
|
||
if (event.isCancelled()) { |
32 changes: 0 additions & 32 deletions
32
patches/server/0732-Call-BlockPhysicsEvent-more-often.patch
This file was deleted.
Oops, something went wrong.