Files
Purpur/purpur-server/paper-patches/features/0006-lightning-transforms-blocks.patch
2025-12-17 20:23:42 -08:00

26 lines
1.5 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: granny <granny@purpurmc.org>
Date: Sun, 27 Aug 2023 02:09:51 -0700
Subject: [PATCH] lightning transforms blocks
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index 690181c032667326c2e9c7edf678b2cdcd319c64..3d7a26bed64c53be69eb19d14c1991dee224da46 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -1962,7 +1962,13 @@ public class CraftEventFactory {
}
public static LightningStrikeEvent callLightningStrikeEvent(LightningStrike entity, LightningStrikeEvent.Cause cause) {
- LightningStrikeEvent event = new LightningStrikeEvent(entity.getWorld(), entity, cause);
+ // Purpur start - lightning transforms blocks
+ List<CraftBlockState> blocks = ((org.bukkit.craftbukkit.entity.CraftLightningStrike) entity).getHandle().blocks;
+ LightningStrikeEvent event = new LightningStrikeEvent(entity.getWorld(), entity, cause, (List<org.bukkit.block.BlockState>) (List) blocks);
+ if (!event.getBlocks().equals(blocks)) {
+ ((org.bukkit.craftbukkit.entity.CraftLightningStrike) entity).getHandle().blocks = (List<org.bukkit.craftbukkit.block.CraftBlockState>) (List) event.getBlocks();
+ }
+ // Purpur end - lightning transforms blocks
Bukkit.getPluginManager().callEvent(event);
return event;
}