From 693ecdeff88db45bdb0a51c0519077f39c97e4de Mon Sep 17 00:00:00 2001 From: Samsuik Date: Thu, 25 Sep 2025 15:00:26 +0100 Subject: [PATCH] Set the blockList capacity in Explosion#interactWithBlocks --- .../features/0006-Optimise-paper-explosions.patch | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/sakura-server/minecraft-patches/features/0006-Optimise-paper-explosions.patch b/sakura-server/minecraft-patches/features/0006-Optimise-paper-explosions.patch index 8574a3e..d935487 100644 --- a/sakura-server/minecraft-patches/features/0006-Optimise-paper-explosions.patch +++ b/sakura-server/minecraft-patches/features/0006-Optimise-paper-explosions.patch @@ -40,7 +40,7 @@ index b2bcfb3557a0326fd7ec1059f95d6da4568dfd80..8df264c86ab14f4e7aa9918a3341ef35 if (this.count == 0) { return; diff --git a/net/minecraft/world/level/ServerExplosion.java b/net/minecraft/world/level/ServerExplosion.java -index f99a254d140f96feab9436b7799eec4804500033..cc6ee993470a274cdad124b4a7befb016d9a2b6e 100644 +index f99a254d140f96feab9436b7799eec4804500033..0b3abcd143e7f81d5feaf75f74ce19a6915be7be 100644 --- a/net/minecraft/world/level/ServerExplosion.java +++ b/net/minecraft/world/level/ServerExplosion.java @@ -86,7 +86,7 @@ public class ServerExplosion implements Explosion { @@ -165,3 +165,12 @@ index f99a254d140f96feab9436b7799eec4804500033..cc6ee993470a274cdad124b4a7befb01 } // CraftBukkit end } +@@ -570,7 +623,7 @@ public class ServerExplosion implements Explosion { + + // CraftBukkit start + Location location = CraftLocation.toBukkit(this.center, this.level.getWorld()); +- List blockList = new ObjectArrayList<>(); ++ List blockList = new ObjectArrayList<>(fire ? ObjectArrayList.DEFAULT_INITIAL_CAPACITY : blocks.size()); // Sakura - optimise paper explosions + for (int i1 = blocks.size() - 1; i1 >= 0; i1--) { + org.bukkit.block.Block bblock = org.bukkit.craftbukkit.block.CraftBlock.at(this.level, blocks.get(i1)); + if (!bblock.getType().isAir()) {