mirror of
https://github.com/Winds-Studio/Leaf.git
synced 2026-01-04 15:41:40 +00:00
Remove stream in CraftWorld#spawnParticle
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
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,
|
||||
@@ -1190,7 +1190,7 @@ index 0dee18df07c979da6125a4e7a955343e44d67ac2..f033849629518a2afb60cf5bbf3de5ae
|
||||
if (this.entity instanceof ServerPlayer) {
|
||||
((ServerPlayer)this.entity).connection.send(packet);
|
||||
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
|
||||
index 220061621a676e5cefd6a442b40f216f6dced60c..cbc0b9b0ed6537f0cf0997d08fbf81491bf51d1f 100644
|
||||
index c73d4ca35ad35b21a9df283a18928d7738c172d0..d43e2d207e143f35536626c0f3de16dd295b5866 100644
|
||||
--- a/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -216,6 +216,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
@@ -1209,7 +1209,7 @@ index 220061621a676e5cefd6a442b40f216f6dced60c..cbc0b9b0ed6537f0cf0997d08fbf8149
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -2527,7 +2529,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
@@ -2567,7 +2569,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
|
||||
@Override
|
||||
public LevelEntityGetter<Entity> getEntities() {
|
||||
@@ -1218,7 +1218,7 @@ index 220061621a676e5cefd6a442b40f216f6dced60c..cbc0b9b0ed6537f0cf0997d08fbf8149
|
||||
return this.moonrise$getEntityLookup(); // Paper - rewrite chunk system
|
||||
}
|
||||
|
||||
@@ -2799,7 +2801,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
@@ -2839,7 +2841,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
}
|
||||
|
||||
map.carriedByPlayers.remove(player);
|
||||
@@ -119,7 +119,7 @@ index 50bc5b940812432bc472e5b272582efb8bbfc7a7..d55677f66ec7e2d4f2a96556f874e719
|
||||
// Paper end - rewrite chunk system
|
||||
}
|
||||
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
|
||||
index cbc0b9b0ed6537f0cf0997d08fbf81491bf51d1f..2dfdf64386c75557050e458fd56644f909950865 100644
|
||||
index d43e2d207e143f35536626c0f3de16dd295b5866..175c4ab639f1516de06e3a16e89e779c59754e1c 100644
|
||||
--- a/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -508,7 +508,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
@@ -131,7 +131,7 @@ index cbc0b9b0ed6537f0cf0997d08fbf81491bf51d1f..2dfdf64386c75557050e458fd56644f9
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -2612,7 +2612,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
@@ -2652,7 +2652,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
|
||||
public boolean areEntitiesActuallyLoadedAndTicking(ChunkPos chunkPos) {
|
||||
// Paper start - rewrite chunk system
|
||||
@@ -140,7 +140,7 @@ index cbc0b9b0ed6537f0cf0997d08fbf81491bf51d1f..2dfdf64386c75557050e458fd56644f9
|
||||
return chunkHolder != null && chunkHolder.isEntityTickingReady();
|
||||
// Paper end - rewrite chunk system
|
||||
}
|
||||
@@ -2627,7 +2627,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
@@ -2667,7 +2667,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
|
||||
public boolean canSpawnEntitiesInChunk(ChunkPos chunkPos) {
|
||||
// Paper start - rewrite chunk system
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] optimize mob despawn
|
||||
|
||||
|
||||
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
|
||||
index 2dfdf64386c75557050e458fd56644f909950865..30bb5b9d021d01dea272313763b0748856ce28a6 100644
|
||||
index 175c4ab639f1516de06e3a16e89e779c59754e1c..073dec29d48b5ab8dd379a1e66a0de6ef101ca1f 100644
|
||||
--- a/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -797,13 +797,19 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
@@ -379,7 +379,7 @@ index eaaa66c4d86d4ebda0acf8f1dbe8ecb55aa28285..908cd08e33fed1c4cd4bd34c3e63cbbe
|
||||
continue;
|
||||
}
|
||||
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
|
||||
index 30bb5b9d021d01dea272313763b0748856ce28a6..e3718c93b05fa87781eb916ebd4e54fb82b2808c 100644
|
||||
index 073dec29d48b5ab8dd379a1e66a0de6ef101ca1f..e0bd79a371e2c2d370518ae1b9c31064304f7c7d 100644
|
||||
--- a/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -180,7 +180,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
@@ -27,7 +27,7 @@ index 51efe9aadb377c35d6ed2b7eadead3c9e1c745f8..d3c6f7f78d895cca4abe1da79abb595c
|
||||
CrashReport crashReport = CrashReport.forThrowable(levelTickingException, "Exception ticking world");
|
||||
serverLevel.fillReportDetails(crashReport);
|
||||
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
|
||||
index f1ce73c615f1804c1f44f140dc17965877937078..52eab2c9eaf7f9f1de82d096a3cbe85aabf4ed10 100644
|
||||
index e0bd79a371e2c2d370518ae1b9c31064304f7c7d..8866cf1a431a8fc2188d05b3e1365ad6e21af52f 100644
|
||||
--- a/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -573,6 +573,12 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
@@ -234,7 +234,7 @@ index f12b9e4e8a78c713782af548d1cb15ef363305b4..99a6d549d968b5df227c3b96febf0e3a
|
||||
player.getInventory().removeItem(ammo);
|
||||
}
|
||||
diff --git a/net/minecraft/world/level/Level.java b/net/minecraft/world/level/Level.java
|
||||
index 2087557416757b17ccdc24a59354eee67ce85627..7447b5e99c9aa4b3507839d0653fb0582c7a72ad 100644
|
||||
index 779ed937e35ebf10ce49a04bde31cd78de264ba4..612d8f8aa1d4cce646fb3a878d62ce8136925308 100644
|
||||
--- a/net/minecraft/world/level/Level.java
|
||||
+++ b/net/minecraft/world/level/Level.java
|
||||
@@ -172,6 +172,7 @@ public abstract class Level implements LevelAccessor, UUIDLookup<Entity>, AutoCl
|
||||
@@ -9,7 +9,7 @@ Leaf: ~48ms (-36%)
|
||||
This should help drastically on the farms that use actively changing fluids.
|
||||
|
||||
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
|
||||
index f416e95cea3dfcc92bca33b1be68f7f3f773439e..19e28494f3bee1d8fe47264da07ca86e46e6b249 100644
|
||||
index 8866cf1a431a8fc2188d05b3e1365ad6e21af52f..e49cef515a605311ba6afca4101ef75e5c8378eb 100644
|
||||
--- a/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -1450,6 +1450,10 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
@@ -25,7 +25,7 @@ index d638821595138ef972163925136eb57207b31719..02c02314a4a6a7a6da427f0d064dbc61
|
||||
}
|
||||
|
||||
diff --git a/net/minecraft/world/level/Level.java b/net/minecraft/world/level/Level.java
|
||||
index 7447b5e99c9aa4b3507839d0653fb0582c7a72ad..ceba364a50fc96865cadf30674655a109baae06d 100644
|
||||
index 612d8f8aa1d4cce646fb3a878d62ce8136925308..45260128dbeb29891fa80aab5256623def3bcabe 100644
|
||||
--- a/net/minecraft/world/level/Level.java
|
||||
+++ b/net/minecraft/world/level/Level.java
|
||||
@@ -1179,6 +1179,12 @@ public abstract class Level implements LevelAccessor, UUIDLookup<Entity>, AutoCl
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Micro optimizations for random tick
|
||||
|
||||
|
||||
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
|
||||
index 19e28494f3bee1d8fe47264da07ca86e46e6b249..900ea52d7da342522db3c206ed671d881a747f4b 100644
|
||||
index e49cef515a605311ba6afca4101ef75e5c8378eb..29158e9cb73aa6670c6a0fa494cc8011b7dfaa95 100644
|
||||
--- a/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -1048,7 +1048,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
@@ -27,7 +27,7 @@ index 525f29f3ecd7eb12e3d7447898005d3a6d62c093..24f0d13922748eb8a96fd83f14204984
|
||||
public static final int GENERATED_TICKET_LEVEL = ChunkHolderManager.FULL_LOADED_TICKET_LEVEL;
|
||||
public static final int LOADED_TICKET_LEVEL = ChunkTaskScheduler.getTicketLevel(ChunkStatus.EMPTY);
|
||||
diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java
|
||||
index 26a0f9aa63596572f10de5e0b435660e379bcf78..0261568809e7e67431a41dbb78bfb4349ee2b21a 100644
|
||||
index 8f5d037fcd307b88abfae13e590e987200114b8a..e0ca8832b08009bfd6ad906143acd10400b96eb6 100644
|
||||
--- a/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/net/minecraft/server/players/PlayerList.java
|
||||
@@ -440,6 +440,13 @@ public abstract class PlayerList {
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Optimize BlockEntities tickersInLevel
|
||||
|
||||
|
||||
diff --git a/net/minecraft/world/level/chunk/LevelChunk.java b/net/minecraft/world/level/chunk/LevelChunk.java
|
||||
index 514a918fff9bf60293fbfa6def4a2f9fead30825..a3674ddb883eecb255279375a5e2eece7e016c0f 100644
|
||||
index 248058bdc7339a327d80a3db3a126cda6c4b6705..af4abc9bef1b147bd6435923177968258873113e 100644
|
||||
--- a/net/minecraft/world/level/chunk/LevelChunk.java
|
||||
+++ b/net/minecraft/world/level/chunk/LevelChunk.java
|
||||
@@ -75,7 +75,7 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Only tick items at hand
|
||||
|
||||
|
||||
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
|
||||
index be9d5c760e192df17a6513b819f956ad526e6d67..228838f51d9906f37e75838bc0b18037d2bd2bb2 100644
|
||||
index 1ac4ad7e9adf9840951d6d22c3a49e072eb3183f..b7e5c7b681b2775367f707825b132ce6e00e570a 100644
|
||||
--- a/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -848,12 +848,19 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Optimise player movement checks
|
||||
|
||||
|
||||
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
|
||||
index 7160a31e2d6b4315d3aa46b857a7a175fd7d08f5..d62d82dfab6fff45ca53c38510443adb85caeb6a 100644
|
||||
index 23ee355071a3dcfdbff66a4816f5ab9e933116bc..722aee1df41ee3a0d39137963724cf86e9853d08 100644
|
||||
--- a/net/minecraft/world/entity/Entity.java
|
||||
+++ b/net/minecraft/world/entity/Entity.java
|
||||
@@ -1183,7 +1183,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Add configurable death item drop knockback settings
|
||||
|
||||
|
||||
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
|
||||
index 228838f51d9906f37e75838bc0b18037d2bd2bb2..896e50276e4e70f694562f0626dc53d3ecd21258 100644
|
||||
index b7e5c7b681b2775367f707825b132ce6e00e570a..9f4bed1c2211f58ceda837385facf36137d27200 100644
|
||||
--- a/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -1067,7 +1067,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Optimize getScaledTrackingDistance
|
||||
|
||||
|
||||
diff --git a/net/minecraft/server/dedicated/DedicatedServer.java b/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
index dd6e59fea9e8a9e7660649c491eec30e1055f459..29c111e9576063b510fd2f4e56da518881b29c80 100644
|
||||
index 2139fc5c3c3e6b45e148d6f8798b9fbfcdef626c..ee20dd09bba40a4a98df501614d208552905c3cd 100644
|
||||
--- a/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
+++ b/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
@@ -777,7 +777,13 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Optimize isEyeInFluid
|
||||
|
||||
|
||||
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
|
||||
index f89f449c325845e334a5d710211a61280e5ce862..634d870b81dcb4491889811aaf904e8917f36c04 100644
|
||||
index 9f4bed1c2211f58ceda837385facf36137d27200..083d0086d1afdee5961401bcb10ad6e7811dc12f 100644
|
||||
--- a/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -1914,7 +1914,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
||||
@@ -18,7 +18,7 @@ index f89f449c325845e334a5d710211a61280e5ce862..634d870b81dcb4491889811aaf904e89
|
||||
if (rounded > 0) {
|
||||
this.awardStat(Stats.WALK_UNDER_WATER_ONE_CM, rounded);
|
||||
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
|
||||
index acd8041cd984ff1d4c424d9b3f4c1a21022ec6d4..7c625f9fee3887326518e8e38cb4f04e72a4dbf7 100644
|
||||
index 722aee1df41ee3a0d39137963724cf86e9853d08..d50464e802455c39625701512930d6eb5f1da65b 100644
|
||||
--- a/net/minecraft/world/entity/Entity.java
|
||||
+++ b/net/minecraft/world/entity/Entity.java
|
||||
@@ -288,7 +288,14 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -188,7 +188,7 @@ index 908cd08e33fed1c4cd4bd34c3e63cbbe84ffead4..f5b58c181726536bedabd4b6f64769e3
|
||||
}
|
||||
}
|
||||
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
|
||||
index 900ea52d7da342522db3c206ed671d881a747f4b..cab92314a479e50ca0d6402d3a6da161546ab5f7 100644
|
||||
index 29158e9cb73aa6670c6a0fa494cc8011b7dfaa95..4a21cafb1895236744693cf924843fa82428ce41 100644
|
||||
--- a/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -1098,6 +1098,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user