mirror of
https://github.com/Winds-Studio/Leaf.git
synced 2025-12-28 19:39:17 +00:00
67 lines
3.4 KiB
Diff
67 lines
3.4 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com>
|
|
Date: Wed, 29 Oct 2025 02:13:08 -0400
|
|
Subject: [PATCH] Remove stream in CraftWorld#spawnParticle
|
|
|
|
|
|
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
|
|
index 220061621a676e5cefd6a442b40f216f6dced60c..c73d4ca35ad35b21a9df283a18928d7738c172d0 100644
|
|
--- a/net/minecraft/server/level/ServerLevel.java
|
|
+++ b/net/minecraft/server/level/ServerLevel.java
|
|
@@ -2108,7 +2108,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
|
|
|
for (int i1 = 0; i1 < receivers.size(); i1++) { // Paper - particle API
|
|
ServerPlayer serverPlayer = receivers.get(i1); // Paper - particle API
|
|
- if (sender != null && !serverPlayer.getBukkitEntity().canSee(sender.getBukkitEntity())) continue; // CraftBukkit
|
|
+ if (sender != null && !serverPlayer.getBukkitEntity().canSee(sender.getBukkitEntity())) continue; // CraftBukkit // Leaf - Remove stream in CraftWorld#spawnParticle - diff on change
|
|
if (this.sendParticles(serverPlayer, overrideLimiter, posX, posY, posZ, clientboundLevelParticlesPacket)) {
|
|
i++;
|
|
}
|
|
@@ -2117,6 +2117,46 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
|
return i;
|
|
}
|
|
|
|
+ // Leaf start - Remove stream in CraftWorld#spawnParticle
|
|
+ // Copy from ServerLevel#sendParticlesSource
|
|
+ public <T extends ParticleOptions> void sendParticlesSourceBukkit(
|
|
+ List<org.bukkit.entity.Player> bukkitReceivers,
|
|
+ @Nullable Entity sender,
|
|
+ T type,
|
|
+ boolean overrideLimiter,
|
|
+ boolean alwaysShow,
|
|
+ double posX,
|
|
+ double posY,
|
|
+ double posZ,
|
|
+ int particleCount,
|
|
+ double xOffset,
|
|
+ double yOffset,
|
|
+ double zOffset,
|
|
+ double speed
|
|
+ ) {
|
|
+ ClientboundLevelParticlesPacket clientboundLevelParticlesPacket = new ClientboundLevelParticlesPacket(
|
|
+ type, overrideLimiter, alwaysShow, posX, posY, posZ, (float) xOffset, (float) yOffset, (float) zOffset, (float) speed, particleCount
|
|
+ );
|
|
+
|
|
+ if (bukkitReceivers == null) {
|
|
+ for (int i = 0, size = players.size(); i < size; i++) { // Paper - particle API
|
|
+ ServerPlayer serverPlayer = players.get(i); // Paper - particle API
|
|
+ if (sender != null && !serverPlayer.getBukkitEntity().canSee(sender.getBukkitEntity())) continue; // CraftBukkit
|
|
+
|
|
+ this.sendParticles(serverPlayer, overrideLimiter, posX, posY, posZ, clientboundLevelParticlesPacket);
|
|
+ }
|
|
+ } else {
|
|
+ for (int i = 0, size = bukkitReceivers.size(); i < size; i++) { // Paper - particle API
|
|
+ org.bukkit.entity.Player bukkitPlayer = bukkitReceivers.get(i); // Paper - particle API
|
|
+ ServerPlayer serverPlayer = ((org.bukkit.craftbukkit.entity.CraftPlayer) bukkitPlayer).getHandle();
|
|
+ if (sender != null && !serverPlayer.getBukkitEntity().canSee(sender.getBukkitEntity())) continue; // CraftBukkit
|
|
+
|
|
+ this.sendParticles(serverPlayer, overrideLimiter, posX, posY, posZ, clientboundLevelParticlesPacket);
|
|
+ }
|
|
+ }
|
|
+ }
|
|
+ // Leaf end - Remove stream in CraftWorld#spawnParticle
|
|
+
|
|
public <T extends ParticleOptions> boolean sendParticles(
|
|
ServerPlayer player,
|
|
T particle,
|