9
0
mirror of https://github.com/Winds-Studio/Leaf.git synced 2025-12-23 17:09:29 +00:00

Re-add Sakura: Optimise check inside blocks and traverse blocks

This commit is contained in:
Dreeam
2025-08-14 22:37:10 +08:00
parent a74b57b875
commit a1b39f41d6
51 changed files with 80 additions and 80 deletions

View File

@@ -0,0 +1,27 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Pascalpex <pascalpex@gmail.com>
Date: Wed, 4 Jun 2025 17:03:32 +0200
Subject: [PATCH] Add BlockExplosionHitEvent
diff --git a/net/minecraft/world/level/ServerExplosion.java b/net/minecraft/world/level/ServerExplosion.java
index 1669c21534a453c9cf16b992df7a6bf276dea887..1039cf820ecac54e290dc5dfe7f714bf2b9d2bdd 100644
--- a/net/minecraft/world/level/ServerExplosion.java
+++ b/net/minecraft/world/level/ServerExplosion.java
@@ -615,9 +615,13 @@ public class ServerExplosion implements Explosion {
}
// CraftBukkit end
- this.level
- .getBlockState(blockPos)
- .onExplosionHit(this.level, blockPos, this, (itemStack, blockPos1) -> addOrAppendStack(list, itemStack, blockPos1));
+ // Leaf start - Add BlockExplosionHitEvent
+ if (new org.dreeam.leaf.event.BlockExplosionHitEvent(CraftLocation.toBukkit(blockPos, this.level.getWorld()).getBlock(), this.source == null ? null : this.source.getBukkitEntity(), org.bukkit.craftbukkit.CraftExplosionResult.toExplosionResult(this.blockInteraction)).callEvent()) {
+ this.level
+ .getBlockState(blockPos)
+ .onExplosionHit(this.level, blockPos, this, (itemStack, blockPos1) -> addOrAppendStack(list, itemStack, blockPos1));
+ }
+ // Leaf end - Add BlockExplosionHitEvent
}
for (ServerExplosion.StackCollector stackCollector : list) {