Skip to content

Commit 92b60b4

Browse files
committed
fix custom block flashing on place of neighbor
1 parent f2f609f commit 92b60b4

File tree

1 file changed

+10
-8
lines changed

1 file changed

+10
-8
lines changed

parchment-server/minecraft-patches/sources/net/minecraft/world/level/block/NoteBlock.java.patch

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,21 +16,23 @@
1616
if (io.papermc.paper.configuration.GlobalConfiguration.get().blockUpdates.disableNoteblockUpdates) return state; // Paper - prevent noteblock instrument from updating
1717
boolean flag = direction.getAxis() == Direction.Axis.Y;
1818
return flag
19-
@@ -94,6 +_,7 @@
20-
21-
@Override
22-
protected void neighborChanged(BlockState state, Level level, BlockPos pos, Block neighborBlock, @Nullable Orientation orientation, boolean movedByPiston) {
23-
+ if (!new gg.projecteden.parchment.event.block.CustomBlockUpdateEvent(org.bukkit.craftbukkit.block.data.CraftBlockData.fromData(this.defaultBlockState()), gg.projecteden.parchment.event.block.CustomBlockUpdateEvent.UpdateType.POWERED, org.bukkit.craftbukkit.util.CraftLocation.toBukkit(pos, level)).callEvent()) return;
19+
@@ -97,6 +_,7 @@
2420
if (io.papermc.paper.configuration.GlobalConfiguration.get().blockUpdates.disableNoteblockUpdates) return; // Paper - prevent noteblock powered-state from updating
2521
boolean hasNeighborSignal = level.hasNeighborSignal(pos);
2622
if (hasNeighborSignal != state.getValue(POWERED)) {
27-
@@ -125,7 +_,9 @@
23+
+ if (!new gg.projecteden.parchment.event.block.CustomBlockUpdateEvent(org.bukkit.craftbukkit.block.data.CraftBlockData.fromData(this.defaultBlockState()), gg.projecteden.parchment.event.block.CustomBlockUpdateEvent.UpdateType.POWERED, org.bukkit.craftbukkit.util.CraftLocation.toBukkit(pos, level)).callEvent()) return;
24+
if (hasNeighborSignal) {
25+
this.playNote(null, state, level, pos);
26+
state = level.getBlockState(pos); // CraftBukkit - SPIGOT-5617: update in case changed in event
27+
@@ -125,7 +_,11 @@
2828
@Override
2929
protected InteractionResult useWithoutItem(BlockState state, Level level, BlockPos pos, Player player, BlockHitResult hitResult) {
3030
if (!level.isClientSide) {
3131
- if (!io.papermc.paper.configuration.GlobalConfiguration.get().blockUpdates.disableNoteblockUpdates) state = state.cycle(NoteBlock.NOTE); // Paper - prevent noteblock note from updating
32-
+ if (!io.papermc.paper.configuration.GlobalConfiguration.get().blockUpdates.disableNoteblockUpdates ||
33-
+ !new gg.projecteden.parchment.event.block.CustomBlockUpdateEvent(org.bukkit.craftbukkit.block.data.CraftBlockData.fromData(this.defaultBlockState()), gg.projecteden.parchment.event.block.CustomBlockUpdateEvent.UpdateType.PITCH, org.bukkit.craftbukkit.util.CraftLocation.toBukkit(pos, level)).callEvent())
32+
+ if (!new gg.projecteden.parchment.event.block.CustomBlockUpdateEvent(org.bukkit.craftbukkit.block.data.CraftBlockData.fromData(this.defaultBlockState()), gg.projecteden.parchment.event.block.CustomBlockUpdateEvent.UpdateType.PITCH, org.bukkit.craftbukkit.util.CraftLocation.toBukkit(pos, level)).callEvent())
33+
+ return InteractionResult.SUCCESS;
34+
+
35+
+ if (!io.papermc.paper.configuration.GlobalConfiguration.get().blockUpdates.disableNoteblockUpdates)
3436
+ state = (BlockState) state.cycle(NoteBlock.NOTE); // Paper - prevent noteblock note from updating
3537
level.setBlock(pos, state, 3);
3638
this.playNote(player, state, level, pos);

0 commit comments

Comments
 (0)