9
0
mirror of https://github.com/Winds-Studio/Leaf.git synced 2025-12-19 15:09:25 +00:00

Updated Upstream (Gale/Purpur/Leaves/dependencies)

This commit is contained in:
Dreeam
2023-11-11 13:55:28 -05:00
parent 79aeacaf7c
commit 4278129321
26 changed files with 413 additions and 400 deletions

View File

@@ -2,7 +2,7 @@ plugins {
java
`maven-publish`
id("com.github.johnrengelman.shadow") version "8.1.1" apply false
id("io.papermc.paperweight.patcher") version "1.5.9-SNAPSHOT"
id("io.papermc.paperweight.patcher") version "1.5.10-SNAPSHOT"
}
val paperMavenPublicUrl = "https://repo.papermc.io/repository/maven-public/"
@@ -15,7 +15,7 @@ repositories {
}
dependencies {
remapper("net.fabricmc:tiny-remapper:0.8.10:fat")
remapper("net.fabricmc:tiny-remapper:0.8.11:fat")
decompiler("org.vineflower:vineflower:1.9.3")
paperclip("io.papermc:paperclip:3.0.4-SNAPSHOT")
}

View File

@@ -1,7 +1,7 @@
group = org.dreeam.leaf
version = 1.20.2-R0.1-SNAPSHOT
galeCommit = 81e819d54fcf2975decd3b105c02b46c1c17377a
galeCommit = f54e07e42395f4a87725ffad4967bf46d62b0d24
org.gradle.caching = true
org.gradle.parallel = true

View File

@@ -7,14 +7,14 @@ Original license: GPL v3
Original project: https://github.com/pufferfish-gg/Pufferfish
diff --git a/build.gradle.kts b/build.gradle.kts
index d5d99ee9dca23783f5b70b96790143e689a49ae4..d0cfdfc846d0d644349ee59c3a9b0ad8d32e4352 100644
index d5d99ee9dca23783f5b70b96790143e689a49ae4..d6966b751c4ec3cae6f778f56ebb7ab52373959f 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -46,6 +46,7 @@ dependencies {
apiAndDocs("net.kyori:adventure-text-logger-slf4j")
api("org.apache.logging.log4j:log4j-api:$log4jVersion")
api("org.slf4j:slf4j-api:$slf4jVersion")
+ api("io.sentry:sentry:7.0.0-beta.1") // Pufferfish
+ api("io.sentry:sentry:7.0.0-rc.1") // Pufferfish
implementation("org.ow2.asm:asm:9.4")
implementation("org.ow2.asm:asm-commons:9.4")

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Purpur API Changes
Original license: MIT
Original project: https://github.com/PurpurMC/Purpur
Commit: 6bb7f82f3b685113c92ce6480e2ba698d05ab57c
Commit: ea2835bfe1e1625a02f7c7d26c06fe34a6674be1
Patches below are removed in this patch:
Pufferfish-API-Changes.patch
@@ -578,10 +578,10 @@ index a5938b0a960121bd77a13e4c8fc8a053bea481c5..c55819f56b4a3850496feef6900c1ec8
+ // Purpur end
}
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
index 91eb95b04094394e8dc1e3a3343efc63690c87e4..d8ef44761148f928a671ceba74a5d1cb87af81d9 100644
index 17d404d6d1a5b46b58d612fca38f17e71adee92e..b012cc979e38ef1ef1ec61e71a887b91eb3de223 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -4072,6 +4072,86 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@@ -4160,6 +4160,86 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@Nullable
public DragonBattle getEnderDragonBattle();
@@ -1027,10 +1027,10 @@ index bc84b892cae5fe7019a3ad481e9da79956efa1fe..48eb5b00c460cccde29d327cef1d63fc
+ // Purpur end
}
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index a8bd76124340cbee9e68b5924c8cee44b16a3fe4..e63dc87f0c4d110b71dfd589f4a299772171c304 100644
index da30f805556086c557bfd125c43f6ae791a8bdbd..d19e67b4a828727da0b8dcb8973c1deb09c28ade 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -3290,4 +3290,122 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -3322,4 +3322,123 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@Override
Spigot spigot();
// Spigot end
@@ -1059,6 +1059,7 @@ index a8bd76124340cbee9e68b5924c8cee44b16a3fe4..e63dc87f0c4d110b71dfd589f4a29977
+
+ /**
+ * Reset the idle timer back to 0
+ * @deprecated Use {@link #resetIdleDuration()} instead
+ */
+ void resetIdleTimer();
+
@@ -1297,10 +1298,10 @@ index c60be4fd24c7fdf65251dd6169e5e1ac3b588d95..569deccd2f1cf21da9b5906433ac493c
+ // Purpur end
}
diff --git a/src/main/java/org/bukkit/inventory/ItemFactory.java b/src/main/java/org/bukkit/inventory/ItemFactory.java
index ab73893656932f54009340df59293df2a732be51..2ac5b6b3fe9d8c3c68504cff485a516f38da9956 100644
index 1c4e0c7356047163a38f5ac4dd544129d0b36271..15bab5a00ebfde750b827569e407a5663d94411f 100644
--- a/src/main/java/org/bukkit/inventory/ItemFactory.java
+++ b/src/main/java/org/bukkit/inventory/ItemFactory.java
@@ -298,4 +298,15 @@ public interface ItemFactory {
@@ -299,4 +299,15 @@ public interface ItemFactory {
@Deprecated
net.md_5.bungee.api.chat.hover.content.Content hoverContentOf(@NotNull org.bukkit.entity.Entity entity, @NotNull net.md_5.bungee.api.chat.BaseComponent[] customName);
// Paper end - bungee hover events

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Bump Dependencies
diff --git a/build.gradle.kts b/build.gradle.kts
index d0cfdfc846d0d644349ee59c3a9b0ad8d32e4352..463f4e0851f0bc3d227caaf12acc0dc8573d0010 100644
index d6966b751c4ec3cae6f778f56ebb7ab52373959f..3d00401d4eac8461155916af09eb63242bd88e9a 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -11,8 +11,8 @@ java {
@@ -15,7 +15,7 @@ index d0cfdfc846d0d644349ee59c3a9b0ad8d32e4352..463f4e0851f0bc3d227caaf12acc0dc8
-val slf4jVersion = "1.8.0-beta4"
-val log4jVersion = "2.17.1"
+val slf4jVersion = "2.0.9" // Leaf - Bump Dependencies
+val log4jVersion = "2.21.0" // Leaf - Bump Dependencies
+val log4jVersion = "2.21.1" // Leaf - Bump Dependencies
val apiAndDocs: Configuration by configurations.creating {
attributes {
attribute(Category.CATEGORY_ATTRIBUTE, objects.named(Category.DOCUMENTATION))
@@ -39,7 +39,7 @@ index d0cfdfc846d0d644349ee59c3a9b0ad8d32e4352..463f4e0851f0bc3d227caaf12acc0dc8
apiAndDocs("net.kyori:adventure-text-minimessage")
@@ -48,30 +48,32 @@ dependencies {
api("org.slf4j:slf4j-api:$slf4jVersion")
api("io.sentry:sentry:7.0.0-beta.1") // Pufferfish
api("io.sentry:sentry:7.0.0-rc.1") // Pufferfish
- implementation("org.ow2.asm:asm:9.4")
- implementation("org.ow2.asm:asm-commons:9.4")
@@ -63,18 +63,19 @@ index d0cfdfc846d0d644349ee59c3a9b0ad8d32e4352..463f4e0851f0bc3d227caaf12acc0dc8
// Paper start - add checker
- val checkerQual = "org.checkerframework:checker-qual:3.21.0"
+ val checkerQual = "org.checkerframework:checker-qual:3.39.0" // Leaf - Bump Dependencies
+ val checkerQual = "org.checkerframework:checker-qual:3.40.0" // Leaf - Bump Dependencies
compileOnlyApi(checkerQual)
testCompileOnly(checkerQual)
// Paper end
- testImplementation("org.apache.commons:commons-lang3:3.12.0")
- testImplementation("org.junit.jupiter:junit-jupiter:5.10.0")
+ testImplementation("org.apache.commons:commons-lang3:3.13.0")
testImplementation("org.junit.jupiter:junit-jupiter:5.10.0")
+ testImplementation("org.junit.jupiter:junit-jupiter:5.10.1")
testImplementation("org.hamcrest:hamcrest:2.2")
- testImplementation("org.mockito:mockito-core:5.5.0")
- testImplementation("org.ow2.asm:asm-tree:9.5")
+ testImplementation("org.mockito:mockito-core:5.6.0")
+ testImplementation("org.mockito:mockito-core:5.7.0")
+ testImplementation("org.ow2.asm:asm-tree:9.6")
+ // Leaf end
}

View File

@@ -87,10 +87,10 @@ index 3b3d9642a8d63798dc28f2f8df77f0466451cbff..8d3605f25e97a375971705c737bc7bac
}
}
diff --git a/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java b/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java
index 13da387d3b59bc67c0d73e3fbd3a4034b1281527..238384d4ecd3e39ca31bf232384dd4369e40ae20 100644
index f9b57b872780aa6b9b959494874b57c7a8ff0c53..a2114da1d3df87f9018ee10c024c3a4bb57c6b6e 100644
--- a/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java
+++ b/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java
@@ -304,4 +304,12 @@ public final class PluginClassLoader extends URLClassLoader implements io.paperm
@@ -318,4 +318,12 @@ public final class PluginClassLoader extends URLClassLoader implements io.paperm
}
// Paper end

View File

@@ -7,7 +7,7 @@ Original license: MIT
Original project: https://github.com/KeYiMC/KeYi
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 2156418958fb25eb9de08e39e42b90a5337bf92e..726e9436a68a438482947ed2569acfe6f72ed2d4 100644
index d19e67b4a828727da0b8dcb8973c1deb09c28ade..a1e823e36d4448f724cea187de146d8f7199acf3 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -8,8 +8,11 @@ import java.util.Collection;
@@ -23,7 +23,7 @@ index 2156418958fb25eb9de08e39e42b90a5337bf92e..726e9436a68a438482947ed2569acfe6
import org.bukkit.DyeColor;
import org.bukkit.Effect;
import org.bukkit.GameMode;
@@ -3408,4 +3411,22 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -3441,4 +3444,22 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
sendDeathScreen(message);
}
// Purpur end

View File

@@ -7,10 +7,10 @@ Original license: MIT
Original project: https://github.com/Cryptite/Slice
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 726e9436a68a438482947ed2569acfe6f72ed2d4..6ee7d6b8109fb858629b1d593d66743a421fc2be 100644
index a1e823e36d4448f724cea187de146d8f7199acf3..6c34bacb8f60b0e066191b5a33c4c2664d4678a9 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -3175,6 +3175,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -3184,6 +3184,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
String getClientBrandName();
// Paper end

View File

@@ -20,7 +20,7 @@ and, in my opinion, worth the low risk of minor mob-spawning-related
inconsistencies.
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 889886a949df9eb49a26c6fec9a32ddfbf938847..a8535f791188b2d8ba8d663372e688a1bfebe3c0 100644
index a93db76e432d485690d996d821bf8ec68c599b48..c5f86ffb98bf9790e58e22473762a58546564100 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -295,6 +295,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -33,7 +33,7 @@ index 889886a949df9eb49a26c6fec9a32ddfbf938847..a8535f791188b2d8ba8d663372e688a1
AtomicReference<S> atomicreference = new AtomicReference();
Thread thread = new io.papermc.paper.util.TickThread(() -> { // Paper - rewrite chunk system
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index f74efb12626a3f027d716bcd3bdb69d9225b3fac..6ae953902a9ed246246660c8da7654c7e897eef2 100644
index d41a5cd97255663c54b45cb8f68b5ff5f74d9c14..dc6e4bcdbaef000869fcd35d125f71e45f3f2258 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -350,6 +350,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -45,10 +45,10 @@ index f74efb12626a3f027d716bcd3bdb69d9225b3fac..6ae953902a9ed246246660c8da7654c7
}
}
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
index f95ee3367a8d1ef400c52660d162c63367648d96..03b3abccf4313d489a7223bd044816a85369f3a0 100644
index 7fab09e8edf26bd841ab6e51ddf45ac316aa113b..f2070cc0c1a665520b7270b3d72d425535288f08 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -206,7 +206,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -244,7 +244,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
// Paper end
// Paper start - optimise chunk tick iteration
public final it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet<ChunkHolder> needsChangeBroadcasting = new it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet<>();
@@ -58,7 +58,7 @@ index f95ee3367a8d1ef400c52660d162c63367648d96..03b3abccf4313d489a7223bd044816a8
public ChunkMap(ServerLevel world, LevelStorageSource.LevelStorageAccess session, DataFixer dataFixer, StructureTemplateManager structureTemplateManager, Executor executor, BlockableEventLoop<Runnable> mainThreadExecutor, LightChunkGetter chunkProvider, ChunkGenerator chunkGenerator, ChunkProgressListener worldGenerationProgressListener, ChunkStatusUpdateListener chunkStatusChangeListener, Supplier<DimensionDataStorage> persistentStateManagerFactory, int viewDistance, boolean dsync) {
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
index 18e521e77e58a9f786937192249c884aa317988c..adc23cbcff21701ef751e39322a1e03a85953077 100644
index 292a6450a2031756b3037c77dfc501e9396d7440..c466991236490bd05bde99e01862fb0e02ff41f1 100644
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
@@ -74,6 +74,9 @@ public class ServerChunkCache extends ChunkSource {

View File

@@ -30,22 +30,22 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index fbfef5678423f1224bfcfe62073e0603bb0bd58d..ccbc0c3d4f151194fb937aed75837ca1afa1306b 100644
index fcf17d4faffe60bd2b2ba288c919debec735d432..7a63134b143e9ef67554bcfd6bcdaaf1ce2917d9 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -864,6 +864,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
org.spigotmc.ActivationRange.activateEntities(this); // Spigot
timings.entityTick.startTiming(); // Spigot
this.timings.entityTick.startTiming(); // Spigot
this.entityTickList.forEach((entity) -> {
+ entity.activatedPriorityReset = false; // Pufferfish - DAB
if (!entity.isRemoved()) {
if (false && this.shouldDiscardEntity(entity)) { // CraftBukkit - We prevent spawning in general, so this butchering is not needed
entity.discard();
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 0f993e020a733a518641f8a2125d8e970d2974d0..1b47b15cc4e9b277cc68beec8795b45f34d9f18d 100644
index a11ab3630fdc5848440e0df0f450337b02ca965a..ab359bca07ec86f14be8b2fb7cc0972d79bc0411 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -435,6 +435,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -436,6 +436,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
}
// Paper end
@@ -70,7 +70,7 @@ index 73871f456a85bda1e51f54986d0e61fb629822e8..ebf05a484175548c0e411adfd35fd1f6
private String descriptionId;
@Nullable
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index 23900bc67d20aaf773d593fef6eb7308a96bbe51..bb32b2d71b65254ccfa6a73e7debc63f801e7dc5 100644
index b35d9c04f0a9d73d6483526e396035d72fa33825..770fb085a259cf4af6e0c81c43f9968529659210 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -226,10 +226,10 @@ public abstract class Mob extends LivingEntity implements Targeting {
@@ -86,7 +86,7 @@ index 23900bc67d20aaf773d593fef6eb7308a96bbe51..bb32b2d71b65254ccfa6a73e7debc63f
this.targetSelector.tick();
}
}
@@ -906,10 +906,14 @@ public abstract class Mob extends LivingEntity implements Targeting {
@@ -904,10 +904,14 @@ public abstract class Mob extends LivingEntity implements Targeting {
int i = this.level().getServer().getTickCount() + this.getId();
if (i % 2 != 0 && this.tickCount > 1) {
@@ -153,7 +153,7 @@ index 26731a659fe3c40fc20135d473bacf105cc15300..c521ff04be40bfa892021f67acc1b324
AllayAi.updateActivity(this);
super.customServerAiStep();
diff --git a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
index 1125b7d7fdb700d692061f163ca742a1aaa560fc..8624331c81be6fe857c90c8f61fa39d5446975cd 100644
index 120fc4e35eb6eedb401b2741a5617bb90d0ee533..26f0430a92aaa5dd5210b255ffb82291c5a7b278 100644
--- a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
+++ b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
@@ -280,8 +280,10 @@ public class Axolotl extends Animal implements LerpingModel, VariantHolder<Axolo
@@ -260,7 +260,7 @@ index db09d5c6b709f746e69111cedebd29f82c1f9e32..f172cf9f754b73e44c3688581c984baa
super.customServerAiStep();
if ((this.tickCount + this.getId()) % 120 == 0) {
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index e157e11933710e0ceb73c6d41f673332fbeee303..f4ba301189b8bb77c653725347d4bfdbf5144727 100644
index fdc63df66c41a26c9b417fc64df0120f1f3cb594..892101a78dbf2311f74abdad79b3d4dff8597a3a 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -144,6 +144,8 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@@ -357,7 +357,7 @@ index 5d161351e7517acf57e98203bab8c9f9ab9d4005..634a4e46022f1d63a67c64f19f255538
private static void network() {
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
index c5924bd66cc238a361cb56f623ea3e2c1579b02c..9893084bacba0087ea5241d6ea4eb5ef5fabe462 100644
index 7f9efe9429f9dcceb52d72f231a7a4bbae0f9738..4295d8257616628727e7dc4aaf6d20b7eb18dc76 100644
--- a/src/main/java/org/spigotmc/ActivationRange.java
+++ b/src/main/java/org/spigotmc/ActivationRange.java
@@ -40,6 +40,9 @@ import net.minecraft.world.level.Level;

View File

@@ -7,10 +7,10 @@ Original license: GPL v3
Original project: https://github.com/pufferfish-gg/Pufferfish
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 1b47b15cc4e9b277cc68beec8795b45f34d9f18d..c59ce8a083eb0ca616f9d17932457b899dc946a5 100644
index ab359bca07ec86f14be8b2fb7cc0972d79bc0411..e8e7f56860720f560f5abf48ea91dc0ff5b34380 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -772,6 +772,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -805,6 +805,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
}
public void tick() {

File diff suppressed because it is too large Load Diff

View File

@@ -962,7 +962,7 @@ index 9a49f5271ec1d9de17632bfffe8309cb1ba0d8b1..1bf374d482acba25614ae303d1fa72ed
} catch (Exception exception) {
if (exception instanceof ReportedException) {
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index ee53c964c86e281120958aa0d2a7e1b7ca9d070f..b54a764c2a24f8e09792ade7a9a4ebb17d9d4e7b 100644
index badb81539ce8c19a4fd15bcbdde074688c16db92..6dd82dca0c02a92e220d99ea4f2e6e3eaf0752ec 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -179,8 +179,6 @@ import org.bukkit.craftbukkit.Main;
@@ -1146,7 +1146,7 @@ index 0d1d4d2b1ed46a9f4ee383112ea20ac68295f026..662ad3887cc4a6fe3084ba63895e3f0c
i = this.context.runTopCommand(customfunction1, source);
} finally {
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index 7b703cd286b3819eb67b6ee95605d95ef9c44af4..2d9bf21bc0e947d221ab237da24d730560591a10 100644
index 3df4ec7b699055c87c8b3a04fc6340ef87d82f43..3cc0f68c54c89a57abd4af4a5718c1037a25c4cd 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -57,7 +57,6 @@ import org.apache.logging.log4j.Level;
@@ -1166,7 +1166,7 @@ index 7b703cd286b3819eb67b6ee95605d95ef9c44af4..2d9bf21bc0e947d221ab237da24d7305
ConsoleInput servercommand;
while ((servercommand = this.serverCommandQueue.poll()) != null) {
@@ -549,8 +547,6 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
server.dispatchServerCommand(console, servercommand);
this.server.dispatchServerCommand(this.console, servercommand);
// CraftBukkit end
}
-
@@ -1174,10 +1174,10 @@ index 7b703cd286b3819eb67b6ee95605d95ef9c44af4..2d9bf21bc0e947d221ab237da24d7305
}
@Override
@@ -819,23 +815,8 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -821,23 +817,9 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
if (event.isCancelled()) {
return;
}
- // Paper start
- command.set(event.getCommand());
- if (event.getCommand().toLowerCase().startsWith("timings") && event.getCommand().toLowerCase().matches("timings (report|paste|get|merged|seperate)")) {
@@ -1192,14 +1192,15 @@ index 7b703cd286b3819eb67b6ee95605d95ef9c44af4..2d9bf21bc0e947d221ab237da24d7305
- co.aikar.timings.Timings.generateReport(new co.aikar.timings.TimingsReportListener(sender, waitable));
- } else {
- // Paper end
ConsoleInput serverCommand = new ConsoleInput(event.getCommand(), wrapper);
server.dispatchServerCommand(event.getSender(), serverCommand);
+
ConsoleInput serverCommand = new ConsoleInput(event.getCommand(), wrapper);
this.server.dispatchServerCommand(event.getSender(), serverCommand);
- } // Paper
});
// Paper start
if (waitableArray[0] != null) {
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
index 03b3abccf4313d489a7223bd044816a85369f3a0..3fe61c302e4bb355edf2e8d6f608bcc31cc0197b 100644
index f2070cc0c1a665520b7270b3d72d425535288f08..6c3c4ec6cef581da45f6cdbb68cb74ea099a93a0 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -1,6 +1,5 @@
@@ -1209,7 +1210,7 @@ index 03b3abccf4313d489a7223bd044816a85369f3a0..3fe61c302e4bb355edf2e8d6f608bcc3
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableList.Builder;
import com.google.common.collect.Iterables;
@@ -466,13 +465,9 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -546,13 +545,9 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
}
protected void tick(BooleanSupplier shouldKeepTicking) {
@@ -1223,7 +1224,33 @@ index 03b3abccf4313d489a7223bd044816a85369f3a0..3fe61c302e4bb355edf2e8d6f608bcc3
}
}
@@ -1084,7 +1079,6 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -1150,25 +1145,14 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
// Paper start - optimised tracker
private final void processTrackQueue() {
- this.level.timings.tracker1.startTiming();
- try {
for (TrackedEntity tracker : this.entityMap.values()) {
// update tracker entry
tracker.updatePlayers(tracker.entity.getPlayersInTrackRange());
}
- } finally {
- this.level.timings.tracker1.stopTiming();
- }
-
- this.level.timings.tracker2.startTiming();
- try {
for (TrackedEntity tracker : this.entityMap.values()) {
tracker.serverEntity.sendChanges();
}
- } finally {
- this.level.timings.tracker2.stopTiming();
- }
}
// Paper end - optimised tracker
@@ -1182,7 +1166,6 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
List<ServerPlayer> list = Lists.newArrayList();
List<ServerPlayer> list1 = this.level.players();
ObjectIterator objectiterator = this.entityMap.values().iterator();
@@ -1231,7 +1258,7 @@ index 03b3abccf4313d489a7223bd044816a85369f3a0..3fe61c302e4bb355edf2e8d6f608bcc3
ChunkMap.TrackedEntity playerchunkmap_entitytracker;
@@ -1109,17 +1103,14 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -1207,17 +1190,14 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
playerchunkmap_entitytracker.serverEntity.sendChanges();
}
}
@@ -1250,7 +1277,7 @@ index 03b3abccf4313d489a7223bd044816a85369f3a0..3fe61c302e4bb355edf2e8d6f608bcc3
}
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
index adc23cbcff21701ef751e39322a1e03a85953077..25bbb4afdb616d827db4a511ebc503445bec27fa 100644
index c466991236490bd05bde99e01862fb0e02ff41f1..cb5a808ff5902ddae52c400c0f60f02c5463d867 100644
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
@@ -293,10 +293,8 @@ public class ServerChunkCache extends ChunkSource {
@@ -1354,7 +1381,7 @@ index adc23cbcff21701ef751e39322a1e03a85953077..25bbb4afdb616d827db4a511ebc50344
this.chunkMap.tick();
}
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index f925951ec36a020d26c2012589d8d458df297a3c..7d607175686ceae222e45fd217dcd390551a4ff8 100644
index 875c70c6358fa8b26c9db2ae6ccbfb68e70e18ab..fb7b3004fa97cd5b3d89db3f4ddcfcc6a8e8ddb9 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -1,7 +1,6 @@
@@ -1369,13 +1396,13 @@ index f925951ec36a020d26c2012589d8d458df297a3c..7d607175686ceae222e45fd217dcd390
this.updateSkyBrightness();
this.tickTime();
- timings.scheduledBlocks.startTiming(); // Paper
- this.timings.scheduledBlocks.startTiming(); // Paper
if (!this.isDebug()) {
j = this.getGameTime();
this.blockTicks.tick(j, 65536, this::tickBlock);
this.fluidTicks.tick(j, 65536, this::tickFluid);
}
- timings.scheduledBlocks.stopTiming(); // Paper
- this.timings.scheduledBlocks.stopTiming(); // Paper
- this.timings.raids.startTiming(); // Paper - timings
this.raids.tick();
@@ -1383,9 +1410,9 @@ index f925951ec36a020d26c2012589d8d458df297a3c..7d607175686ceae222e45fd217dcd390
- this.timings.chunkProviderTick.startTiming(); // Paper - timings
this.getChunkSource().tick(shouldKeepTicking, true);
- this.timings.chunkProviderTick.stopTiming(); // Paper - timings
- timings.doSounds.startTiming(); // Spigot
- this.timings.doSounds.startTiming(); // Spigot
this.runBlockEvents();
- timings.doSounds.stopTiming(); // Spigot
- this.timings.doSounds.stopTiming(); // Spigot
this.handlingTick = false;
boolean flag = true || !this.players.isEmpty() || !this.getForcedChunks().isEmpty(); // CraftBukkit - this prevents entity cleanup, other issues on servers with no players
@@ -1393,13 +1420,13 @@ index f925951ec36a020d26c2012589d8d458df297a3c..7d607175686ceae222e45fd217dcd390
}
if (flag || this.emptyTime++ < 300) {
- timings.tickEntities.startTiming(); // Spigot
- this.timings.tickEntities.startTiming(); // Spigot
if (this.dragonFight != null) {
this.dragonFight.tick();
}
org.spigotmc.ActivationRange.activateEntities(this); // Spigot
- timings.entityTick.startTiming(); // Spigot
- this.timings.entityTick.startTiming(); // Spigot
this.entityTickList.forEach((entity) -> {
entity.activatedPriorityReset = false; // Pufferfish - DAB
if (!entity.isRemoved()) {
@@ -1407,8 +1434,8 @@ index f925951ec36a020d26c2012589d8d458df297a3c..7d607175686ceae222e45fd217dcd390
}
}
});
- timings.entityTick.stopTiming(); // Spigot
- timings.tickEntities.stopTiming(); // Spigot
- this.timings.entityTick.stopTiming(); // Spigot
- this.timings.tickEntities.stopTiming(); // Spigot
this.tickBlockEntities();
}
@@ -1514,7 +1541,7 @@ index f925951ec36a020d26c2012589d8d458df297a3c..7d607175686ceae222e45fd217dcd390
@@ -1536,7 +1500,6 @@ public class ServerLevel extends Level implements WorldGenLevel {
if (!savingDisabled) {
org.bukkit.Bukkit.getPluginManager().callEvent(new org.bukkit.event.world.WorldSaveEvent(getWorld())); // CraftBukkit
org.bukkit.Bukkit.getPluginManager().callEvent(new org.bukkit.event.world.WorldSaveEvent(this.getWorld())); // CraftBukkit
- try (co.aikar.timings.Timing ignored = timings.worldSave.startTiming()) { // Paper
if (progressListener != null) {
progressListener.progressStartNoAbort(Component.translatable("menu.savingLevel"));
@@ -1532,10 +1559,10 @@ index f925951ec36a020d26c2012589d8d458df297a3c..7d607175686ceae222e45fd217dcd390
} else if (close) { chunkproviderserver.close(false); } // Paper - rewrite chunk system
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 4e67556e1eb0a429a87fd07ae1c593e8bd4b6aab..adac48b53ba0e38f2df0150c02cb6f8dee637c07 100644
index b1b1a91d691851e755b259d339c66d8adb7b3af8..33e7cff1208b1e21ca5ea68ae4a01513a3dc222f 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2480,7 +2480,6 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -2483,7 +2483,6 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
public void handleCommand(String s) { // Paper - private -> public
org.spigotmc.AsyncCatcher.catchOp("Command Dispatched Async: " + s); // Paper - Add async catcher
@@ -1543,7 +1570,7 @@ index 4e67556e1eb0a429a87fd07ae1c593e8bd4b6aab..adac48b53ba0e38f2df0150c02cb6f8d
if ( org.spigotmc.SpigotConfig.logCommands ) // Spigot
this.LOGGER.info(this.player.getScoreboardName() + " issued server command: " + s);
@@ -2490,7 +2489,6 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -2493,7 +2492,6 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
this.cserver.getPluginManager().callEvent(event);
if (event.isCancelled()) {
@@ -1551,7 +1578,7 @@ index 4e67556e1eb0a429a87fd07ae1c593e8bd4b6aab..adac48b53ba0e38f2df0150c02cb6f8d
return;
}
@@ -2502,8 +2500,6 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -2505,8 +2503,6 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
player.sendMessage(org.bukkit.ChatColor.RED + "An internal error occurred while attempting to perform this command");
java.util.logging.Logger.getLogger(ServerGamePacketListenerImpl.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
return;
@@ -1561,7 +1588,7 @@ index 4e67556e1eb0a429a87fd07ae1c593e8bd4b6aab..adac48b53ba0e38f2df0150c02cb6f8d
}
// CraftBukkit end
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index b1a327b0208a30bc44e97dfd5c5e38014aafc197..20c061849cbb424fee66a47d9339cfd8a1920660 100644
index 9d6e8747850d1e805200e8f89a0a79474e3a20f3..1dd4bea0d5cf4aec51220253af8981c5aba29634 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -1,6 +1,5 @@
@@ -1571,7 +1598,7 @@ index b1a327b0208a30bc44e97dfd5c5e38014aafc197..20c061849cbb424fee66a47d9339cfd8
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
@@ -1313,7 +1312,6 @@ public abstract class PlayerList {
@@ -1334,7 +1333,6 @@ public abstract class PlayerList {
public void saveAll(int interval) {
io.papermc.paper.util.MCUtil.ensureMain("Save Players" , () -> { // Paper - Ensure main
@@ -1579,7 +1606,7 @@ index b1a327b0208a30bc44e97dfd5c5e38014aafc197..20c061849cbb424fee66a47d9339cfd8
int numSaved = 0;
long now = MinecraftServer.currentTick;
for (int i = 0; i < this.players.size(); ++i) {
@@ -1324,7 +1322,6 @@ public abstract class PlayerList {
@@ -1345,7 +1343,6 @@ public abstract class PlayerList {
}
// Paper end
}
@@ -1727,7 +1754,7 @@ index fcdb9bde8e1605e30dde3e580491522d4b62cdc0..4de18d00cc464313b777874430da3f55
}
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index 5e233fc3c9cf7d2dfc9de02d7543dce52570c355..ed2bfe717406741583b9c261c6ba18cd4a47f67b 100644
index c694b9a10815031631905f8d72c09d3ff5305c0e..192026f9edab53248dbd6db4fdb7d3955dff247e 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -176,7 +176,6 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -1742,23 +1769,23 @@ index 5e233fc3c9cf7d2dfc9de02d7543dce52570c355..ed2bfe717406741583b9c261c6ba18cd
public void onBorderSetDamageSafeZOne(WorldBorder border, double safeZoneRadius) {}
});
// CraftBukkit end
- timings = new co.aikar.timings.WorldTimingsHandler(this); // Paper - code below can generate new world and access timings
- this.timings = new co.aikar.timings.WorldTimingsHandler(this); // Paper - code below can generate new world and access timings
this.keepSpawnInMemory = this.paperConfig().spawn.keepSpawnLoaded; // Paper
this.entityLimiter = new org.spigotmc.TickLimiter(spigotConfig.entityMaxTickTime);
this.tileLimiter = new org.spigotmc.TickLimiter(spigotConfig.tileMaxTickTime);
this.entityLimiter = new org.spigotmc.TickLimiter(this.spigotConfig.entityMaxTickTime);
this.tileLimiter = new org.spigotmc.TickLimiter(this.spigotConfig.tileMaxTickTime);
@@ -1316,15 +1314,12 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
}
protected void tickBlockEntities() {
- timings.tileEntityPending.startTiming(); // Spigot
- this.timings.tileEntityPending.startTiming(); // Spigot
this.tickingBlockEntities = true;
if (!this.pendingBlockEntityTickers.isEmpty()) {
this.blockEntityTickers.addAll(this.pendingBlockEntityTickers);
this.pendingBlockEntityTickers.clear();
}
- timings.tileEntityPending.stopTiming(); // Spigot
- this.timings.tileEntityPending.stopTiming(); // Spigot
- timings.tileEntityTick.startTiming(); // Spigot
- this.timings.tileEntityTick.startTiming(); // Spigot
// Spigot start
// Iterator iterator = this.blockEntityTickers.iterator();
int tilesThisCycle = 0;
@@ -1766,10 +1793,10 @@ index 5e233fc3c9cf7d2dfc9de02d7543dce52570c355..ed2bfe717406741583b9c261c6ba18cd
}
this.blockEntityTickers.removeAll(toRemove);
- timings.tileEntityTick.stopTiming(); // Spigot
- this.timings.tileEntityTick.stopTiming(); // Spigot
this.tickingBlockEntities = false;
- co.aikar.timings.TimingHistory.tileEntityTicks += this.blockEntityTickers.size(); // Paper
spigotConfig.currentPrimedTnt = 0; // Spigot
this.spigotConfig.currentPrimedTnt = 0; // Spigot
}
diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
@@ -1831,7 +1858,7 @@ index 3431f1a00ae2918b91a6b7a449e613e6e12ff6d4..cad0931ebd4b0ee8fab4fbbf111bb3cf
private static final CraftPersistentDataTypeRegistry DATA_TYPE_REGISTRY = new CraftPersistentDataTypeRegistry();
public CraftPersistentDataContainer persistentDataContainer;
diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
index 1c9659fc14d13934ce618dff0ec589dd65564966..7acf26bceff059de686274bb802160b99fc179be 100644
index cd375184c63453829be96449c4df88372f905d9e..6e67591750ae8395f7f7b8a1299d657316bec6d6 100644
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
+++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
@@ -793,7 +793,6 @@ public class LevelChunk extends ChunkAccess {
@@ -1874,7 +1901,7 @@ index 1c9659fc14d13934ce618dff0ec589dd65564966..7acf26bceff059de686274bb802160b9
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index a50d36ab25d379239088f89b451f525bc57a3306..76621b258b2d63099959e77d113f279aa71d7d4f 100644
index 82da14eda8f3b89932a1fdc26173a26dba4ae096..042ee3ec33bc42ded4a1490bd5acfb992f3627ca 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -475,7 +475,6 @@ public final class CraftServer implements Server {
@@ -1886,7 +1913,7 @@ index a50d36ab25d379239088f89b451f525bc57a3306..76621b258b2d63099959e77d113f279a
console.autosavePeriod = this.configuration.getInt("ticks-per.autosave");
this.warningState = WarningState.value(this.configuration.getString("settings.deprecated-verbose"));
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index 9213110d0084ff06657e08437ae079f1c5a9cb66..bb42788a84cd161d22f29e271da7373df50cac21 100644
index fc897f011f93ff7dd703bd54d0b164accc30d0d3..ff89ba8a42d4ee8a539ba3541fae52c8a6c5ebad 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -371,8 +371,6 @@ public class Main {
@@ -1899,7 +1926,7 @@ index 9213110d0084ff06657e08437ae079f1c5a9cb66..bb42788a84cd161d22f29e271da7373d
tryPreloadClass("io.netty.channel.AbstractChannelHandlerContext$11");
tryPreloadClass("io.netty.channel.AbstractChannelHandlerContext$12");
diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
index 65566adec52a51df05c5ce9c1e673f3c4885ac5e..0756ab78eaae2943e1f6594c0095421affeccfcd 100644
index b07be33bf62a0d4f0a0f44ac6bfbb023086a6b0d..801166b152e14ca266c574b17fad8d695c743f35 100644
--- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
+++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
@@ -1,6 +1,5 @@
@@ -1955,7 +1982,7 @@ index 65566adec52a51df05c5ce9c1e673f3c4885ac5e..0756ab78eaae2943e1f6594c0095421a
private boolean isReady(final int currentTick) {
diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java
index 3f45bab0e9f7b3697e6d9d1092a1e6e579f7066f..dc785cb249e0d6c556e404bc77fb8c5ee9cd3eb5 100644
index ea26d9464644b5217879b8c21b4da28e57708dcb..cee5c35ac2ba48d092f4227119c915e641a498c6 100644
--- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java
+++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java
@@ -2,15 +2,10 @@ package org.bukkit.craftbukkit.scheduler;
@@ -2018,10 +2045,10 @@ index 3f45bab0e9f7b3697e6d9d1092a1e6e579f7066f..dc785cb249e0d6c556e404bc77fb8c5e
long getCreatedAt() {
diff --git a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java
index 7a2f46579352870cfbb32c343d7c68919758ffe3..16676b8be6ad1614ee261edd6bf4c0f91ff9801c 100644
index 891f850ea99dac1433f3e395e26be14c8abf2bfb..e9fd08ea4c03429d186d2ceecc51c3fc8371f85d 100644
--- a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java
+++ b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java
@@ -113,18 +113,12 @@ public final class CraftScoreboardManager implements ScoreboardManager {
@@ -113,18 +113,10 @@ public final class CraftScoreboardManager implements ScoreboardManager {
// CraftBukkit method
public void getScoreboardScores(ObjectiveCriteria criteria, String name, Consumer<Score> consumer) {
@@ -2029,7 +2056,7 @@ index 7a2f46579352870cfbb32c343d7c68919758ffe3..16676b8be6ad1614ee261edd6bf4c0f9
// plugins leaking scoreboards will make this very expensive, let server owners debug it easily
- co.aikar.timings.MinecraftTimings.scoreboardScoreSearch.startTimingIfSync();
- try {
// Paper end - add timings for scoreboard search
- // Paper end - add timings for scoreboard search
for (CraftScoreboard scoreboard : this.scoreboards) {
Scoreboard board = scoreboard.board;
board.forAllObjectives(criteria, name, (score) -> consumer.accept(score));
@@ -2037,11 +2064,11 @@ index 7a2f46579352870cfbb32c343d7c68919758ffe3..16676b8be6ad1614ee261edd6bf4c0f9
- } finally { // Paper start - add timings for scoreboard search
- co.aikar.timings.MinecraftTimings.scoreboardScoreSearch.stopTimingIfSync();
- }
// Paper end - add timings for scoreboard search
- // Paper end - add timings for scoreboard search
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
index d28ccf22bba9bebae7fbdeaee94620de24365785..8f3d52c4a9cb38875334d0aeeb1ddfe76a93ba97 100644
index ce5817b8660ca3c3fb93314bfd326a6bc20b4832..823e858cc73d7dba6fc8ddc12eea47c5c9dd7dc4 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -211,12 +211,6 @@ public final class CraftMagicNumbers implements UnsafeValues {
@@ -2057,7 +2084,7 @@ index d28ccf22bba9bebae7fbdeaee94620de24365785..8f3d52c4a9cb38875334d0aeeb1ddfe7
public static byte toLegacyData(BlockState data) {
return CraftLegacy.toLegacyData(data);
@@ -468,10 +462,6 @@ public final class CraftMagicNumbers implements UnsafeValues {
@@ -478,10 +472,6 @@ public final class CraftMagicNumbers implements UnsafeValues {
}
// Paper start
@@ -2275,7 +2302,7 @@ index 139d946346594d2a59a8b2930c4eae794c880dbc..00000000000000000000000000000000
-
-}
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
index 4490f1240304ac8c4600ca1182bfa363c2aae69c..1c5a23890b5f0daa96951b0f7d5c4e2d704f2869 100644
index 62514cc02d0b210283e7999a6f34976355d1b2d9..95ec734e17d98aff08cba1b40de79ac50bf5ba78 100644
--- a/src/main/java/org/spigotmc/ActivationRange.java
+++ b/src/main/java/org/spigotmc/ActivationRange.java
@@ -35,7 +35,6 @@ import net.minecraft.world.entity.projectile.FireworkRocketEntity;

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Bump Dependencies
diff --git a/build.gradle.kts b/build.gradle.kts
index ab5aee09874e2258d05b22ca1be3c273cb1afb34..e3980e3e0eae7e6e6f2b4162a2ef5c318444b605 100644
index ab5aee09874e2258d05b22ca1be3c273cb1afb34..8e3fdb7720dde4e3983285099139c901e1aadb90 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -22,7 +22,7 @@ dependencies {
@@ -13,7 +13,7 @@ index ab5aee09874e2258d05b22ca1be3c273cb1afb34..e3980e3e0eae7e6e6f2b4162a2ef5c31
// Gale end - project setup
// Paper start
- implementation("org.jline:jline-terminal-jansi:3.21.0")
+ implementation("org.jline:jline-terminal-jansi:3.23.0") // Leaf - Bump Dependencies
+ implementation("org.jline:jline-terminal-jansi:3.24.1") // Leaf - Bump Dependencies
implementation("net.minecrell:terminalconsoleappender:1.3.0")
implementation("net.kyori:adventure-text-serializer-ansi:4.14.0") // Keep in sync with adventureVersion from Paper-API build file
implementation("net.kyori:ansi:1.0.3") // Manually bump beyond above transitive dep
@@ -24,27 +24,28 @@ index ab5aee09874e2258d05b22ca1be3c273cb1afb34..e3980e3e0eae7e6e6f2b4162a2ef5c31
- implementation("org.apache.logging.log4j:log4j-core:2.19.0") // Paper - implementation
- log4jPlugins.annotationProcessorConfigurationName("org.apache.logging.log4j:log4j-core:2.19.0") // Paper - Needed to generate meta for our Log4j plugins
+ // Leaf start - Bump Dependencies
+ implementation("org.apache.logging.log4j:log4j-core:2.21.0") // Paper - implementation
+ log4jPlugins.annotationProcessorConfigurationName("org.apache.logging.log4j:log4j-core:2.21.0") // Paper - Needed to generate meta for our Log4j plugins
+ implementation("org.apache.logging.log4j:log4j-core:2.21.1") // Paper - implementation
+ log4jPlugins.annotationProcessorConfigurationName("org.apache.logging.log4j:log4j-core:2.21.1") // Paper - Needed to generate meta for our Log4j plugins
runtimeOnly(log4jPlugins.output)
alsoShade(log4jPlugins.output)
- implementation("io.netty:netty-codec-haproxy:4.1.97.Final") // Paper - Add support for proxy protocol
+ implementation("io.netty:netty-codec-haproxy:4.1.100.Final") // Paper - Add support for proxy protocol
+ implementation("io.netty:netty-codec-haproxy:4.1.101.Final") // Paper - Add support for proxy protocol
// Paper end
- implementation("org.apache.logging.log4j:log4j-iostreams:2.19.0") // Paper - remove exclusion
- implementation("org.ow2.asm:asm:9.5")
- implementation("org.ow2.asm:asm-commons:9.5") // Paper - ASM event executor generation
+ implementation("org.apache.logging.log4j:log4j-iostreams:2.21.0") // Paper - remove exclusion
+ implementation("org.apache.logging.log4j:log4j-iostreams:2.21.1") // Paper - remove exclusion
+ implementation("org.ow2.asm:asm:9.6")
+ implementation("org.ow2.asm:asm-commons:9.6") // Paper - ASM event executor generation
implementation("org.spongepowered:configurate-yaml:4.2.0-SNAPSHOT") // Paper - config files
implementation("commons-lang:commons-lang:2.6")
- implementation("net.fabricmc:mapping-io:0.3.0") // Paper - needed to read mappings for stacktrace deobfuscation
- runtimeOnly("org.xerial:sqlite-jdbc:3.42.0.1")
+ implementation("net.fabricmc:mapping-io:0.5.0-beta.1") // Paper - needed to read mappings for stacktrace deobfuscation
+ runtimeOnly("org.xerial:sqlite-jdbc:3.43.2.1")
runtimeOnly("com.mysql:mysql-connector-j:8.1.0")
- runtimeOnly("com.mysql:mysql-connector-j:8.1.0")
- runtimeOnly("com.lmax:disruptor:3.4.4") // Paper
+ implementation("net.fabricmc:mapping-io:0.5.0-beta.3") // Paper - needed to read mappings for stacktrace deobfuscation
+ runtimeOnly("org.xerial:sqlite-jdbc:3.43.2.2")
+ runtimeOnly("com.mysql:mysql-connector-j:8.2.0")
+ runtimeOnly("com.lmax:disruptor:3.4.4") // Paper // Leaf - Bump Dependencies - Waiting Log4j 3.x that supported disruptor 4.0.0
+ // Leaf end
// Paper start - Use Velocity cipher
@@ -65,22 +66,25 @@ index ab5aee09874e2258d05b22ca1be3c273cb1afb34..e3980e3e0eae7e6e6f2b4162a2ef5c31
// Pufferfish start
implementation("org.yaml:snakeyaml:2.2")
@@ -68,10 +72,12 @@ dependencies {
@@ -68,10 +72,14 @@ dependencies {
implementation("org.mozilla:rhino-engine:1.7.14") // Purpur
implementation("dev.omega24:upnp4j:1.0") // Purpur
- testImplementation("io.github.classgraph:classgraph:4.8.47") // Paper - mob goal test
- testImplementation("org.junit.jupiter:junit-jupiter:5.10.0")
+ // Leaf start - Bump Dependencies
+ testImplementation("io.github.classgraph:classgraph:4.8.163") // Paper - mob goal test
testImplementation("org.junit.jupiter:junit-jupiter:5.10.0")
+ testImplementation("io.github.classgraph:classgraph:4.8.164") // Paper - mob goal test
+ testImplementation("org.junit.jupiter:junit-jupiter:5.10.1")
testImplementation("org.hamcrest:hamcrest:2.2")
- testImplementation("org.mockito:mockito-core:5.5.0")
+ testImplementation("org.mockito:mockito-core:5.6.0")
+ testImplementation("org.mockito:mockito-core:5.7.0")
+
+ implementation("io.netty:netty-all:4.1.101.Final")
+ // Leaf end
}
val craftbukkitPackageVersion = "1_20_R2" // Paper
@@ -263,3 +269,7 @@ sourceSets {
@@ -263,3 +271,7 @@ sourceSets {
}
}
// Gale end - package license into jar

View File

@@ -5,12 +5,12 @@ Subject: [PATCH] Remove Spigot Check for Broken BungeeCord Configurations
diff --git a/src/main/java/net/minecraft/server/network/ServerHandshakePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerHandshakePacketListenerImpl.java
index b76f4b62d58087325d01983effe0a508d551d4ab..eb84043a3b39d899b83c8168e17fa19bc98a8a63 100644
index 8e7488277bc30f83fa39f7435ca9f1724452e92e..db3cee1f3d5d3ca090f5f4b1fd6ab01bf19f85d9 100644
--- a/src/main/java/net/minecraft/server/network/ServerHandshakePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerHandshakePacketListenerImpl.java
@@ -145,7 +145,7 @@ public class ServerHandshakePacketListenerImpl implements ServerHandshakePacketL
{
connection.spoofedProfile = ServerHandshakePacketListenerImpl.gson.fromJson(split[3], com.mojang.authlib.properties.Property[].class);
this.connection.spoofedProfile = ServerHandshakePacketListenerImpl.gson.fromJson(split[3], com.mojang.authlib.properties.Property[].class);
}
- } else if ( ( split.length == 3 || split.length == 4 ) && ( ServerHandshakePacketListenerImpl.HOST_PATTERN.matcher( split[1] ).matches() ) ) {
+ } else if ( ( split.length == 3 || split.length == 4 ) && ( ServerHandshakePacketListenerImpl.HOST_PATTERN.matcher( split[1] ).matches() ) && !(org.dreeam.leaf.LeafConfig.removeSpigotCheckBungeeConfig)) { // Leaf - Remove Spigot check for broken BungeeCord configurations

View File

@@ -7,10 +7,10 @@ This Check is added in 1.17.x -> 1.18.x update by Mojang.
By removing this check, it enable hackers to use some modules of hack clients.
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index adac48b53ba0e38f2df0150c02cb6f8dee637c07..7c56e6bd76e8f8e5f9e925dc704be95e8a5532a1 100644
index 33e7cff1208b1e21ca5ea68ae4a01513a3dc222f..09ae63d9894ef7658ac32f1615d6a4836b9721c9 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1977,7 +1977,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -1980,7 +1980,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
Vec3 vec3d2 = vec3d.subtract(vec3d1);
double d0 = 1.0000001D;

View File

@@ -7,7 +7,7 @@ Original license: MIT
Original project: https://github.com/KeYiMC/KeYi
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index b6515c469ae3ff06daf631f0d5e5f792b41f8e48..1c06a414abe91085216c07b12cd4310b586fecb3 100644
index 692387ba5f313191ba324df666ea7086241153ee..91a6079d0b808e3b72aa60fadb73a0a0b2b4ad61 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -29,6 +29,11 @@ import java.util.Optional;
@@ -30,7 +30,7 @@ index b6515c469ae3ff06daf631f0d5e5f792b41f8e48..1c06a414abe91085216c07b12cd4310b
import org.bukkit.map.MapCursor;
import org.bukkit.map.MapView;
import org.bukkit.metadata.MetadataValue;
@@ -3380,4 +3386,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -3384,4 +3390,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.getHandle().connection.send(new net.minecraft.network.protocol.game.ClientboundPlayerCombatKillPacket(getEntityId(), io.papermc.paper.adventure.PaperAdventure.asVanilla(message)));
}
// Purpur end

View File

@@ -7,7 +7,7 @@ Original license: MIT
Original project: https://github.com/Cryptite/Slice
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 28d58b0b09cc4a694d0a00b378cdc8148bab48d2..1e3cd5c91affc9b14d1b4f042907f0c5d29f775d 100644
index c7caf3166990d2165b4ca8206706a71f10141db1..f02d94b3195b33927a9cdac0207365cc0ac11bbd 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -279,6 +279,7 @@ public class ServerPlayer extends Player {
@@ -19,10 +19,10 @@ index 28d58b0b09cc4a694d0a00b378cdc8148bab48d2..1e3cd5c91affc9b14d1b4f042907f0c5
// Paper start - replace player chunk loader
private final java.util.concurrent.atomic.AtomicReference<io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances> viewDistances = new java.util.concurrent.atomic.AtomicReference<>(new io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances(-1, -1, -1));
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 20c061849cbb424fee66a47d9339cfd8a1920660..d20eed35c85cf5118206dbf9ca2c706b51d4460e 100644
index 1dd4bea0d5cf4aec51220253af8981c5aba29634..fa9264af129acc046822ac0a7769e45e42142baf 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -951,10 +951,10 @@ public abstract class PlayerList {
@@ -972,10 +972,10 @@ public abstract class PlayerList {
ServerLevel worldserver2 = entityplayer1.serverLevel();
LevelData worlddata = worldserver2.getLevelData();
@@ -36,10 +36,10 @@ index 20c061849cbb424fee66a47d9339cfd8a1920660..d20eed35c85cf5118206dbf9ca2c706b
entityplayer1.connection.send(new ClientboundChangeDifficultyPacket(worlddata.getDifficulty(), worlddata.isDifficultyLocked()));
entityplayer1.connection.send(new ClientboundSetExperiencePacket(entityplayer1.experienceProgress, entityplayer1.totalExperience, entityplayer1.experienceLevel));
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 1c06a414abe91085216c07b12cd4310b586fecb3..57d3b887b606800d0d1e12b46ae793c50f09bee3 100644
index 91a6079d0b808e3b72aa60fadb73a0a0b2b4ad61..9452e30892505b9749023c7867ac6e3e071e9194 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1267,6 +1267,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1257,6 +1257,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
// Paper end
}

View File

@@ -7,10 +7,10 @@ Original license: GPLv3
Original project: https://github.com/LeavesMC/Leaves
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index fad58fc3e46ee5ba333d07204c7389eef5dbd7c6..fb2d63fbe1b6c1144f878c417d1407c1fe5d4141 100644
index fbd449a30469e449744f085cf7a9e497d1198764..6c884cbe6bff9c681240557078e0f87044a7f8b9 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -418,6 +418,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -419,6 +419,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
public boolean freezeLocked = false; // Paper - Freeze Tick Lock API
public boolean collidingWithWorldBorder; // Paper
public boolean fixedPose = false; // Paper
@@ -18,7 +18,7 @@ index fad58fc3e46ee5ba333d07204c7389eef5dbd7c6..fb2d63fbe1b6c1144f878c417d1407c1
public void setOrigin(@javax.annotation.Nonnull Location location) {
this.origin = location.toVector();
@@ -2474,6 +2475,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -2507,6 +2508,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
nbt.putBoolean("Paper.FreezeLock", true);
}
// Paper end
@@ -26,7 +26,7 @@ index fad58fc3e46ee5ba333d07204c7389eef5dbd7c6..fb2d63fbe1b6c1144f878c417d1407c1
return nbt;
} catch (Throwable throwable) {
CrashReport crashreport = CrashReport.forThrowable(throwable, "Saving entity NBT");
@@ -2642,6 +2644,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -2654,6 +2656,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
freezeLocked = nbt.getBoolean("Paper.FreezeLock");
}
// Paper end
@@ -38,7 +38,7 @@ index fad58fc3e46ee5ba333d07204c7389eef5dbd7c6..fb2d63fbe1b6c1144f878c417d1407c1
} catch (Throwable throwable) {
CrashReport crashreport = CrashReport.forThrowable(throwable, "Loading entity NBT");
@@ -5034,4 +5041,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -5046,4 +5053,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
return false;
}
// Purpur end

View File

@@ -7,7 +7,7 @@ Original license: GPLv3
Original project: https://github.com/LeavesMC/Leaves
diff --git a/src/main/java/net/minecraft/network/protocol/common/ServerboundCustomPayloadPacket.java b/src/main/java/net/minecraft/network/protocol/common/ServerboundCustomPayloadPacket.java
index 975da2529d18391ed4ecc7359a2d7319129bd872..ae5590b015a2b018188bd7a45b44ec4d4af048a5 100644
index af86f752c33a2990405fea058b7c41c437ba9d46..bada9fae1e7178162429e1f5a1608b9c4a680a6c 100644
--- a/src/main/java/net/minecraft/network/protocol/common/ServerboundCustomPayloadPacket.java
+++ b/src/main/java/net/minecraft/network/protocol/common/ServerboundCustomPayloadPacket.java
@@ -20,7 +20,12 @@ public record ServerboundCustomPayloadPacket(CustomPacketPayload payload) implem
@@ -25,7 +25,7 @@ index 975da2529d18391ed4ecc7359a2d7319129bd872..ae5590b015a2b018188bd7a45b44ec4d
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index b54a764c2a24f8e09792ade7a9a4ebb17d9d4e7b..e060a6990173ede14ddb3b88df8d703244412755 100644
index 6dd82dca0c02a92e220d99ea4f2e6e3eaf0752ec..0a077053884d4303ff0ae360cebcd8d455d8d00f 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1560,6 +1560,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -38,7 +38,7 @@ index b54a764c2a24f8e09792ade7a9a4ebb17d9d4e7b..e060a6990173ede14ddb3b88df8d7032
((Runnable) this.tickables.get(i)).run();
}
diff --git a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
index 1eef67ca260434e8627dba35792a7c5d97df891f..69be29fcd38876e70db9df440869bee1b3c75f00 100644
index c2f73ac74d59f05cc4db657304de26132b78e506..1cb6c157331f6ab7f63e88a6d5fc1237fecde35d 100644
--- a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
@@ -135,6 +135,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack
@@ -58,10 +58,10 @@ index 1eef67ca260434e8627dba35792a7c5d97df891f..69be29fcd38876e70db9df440869bee1
} catch (Exception ex) {
ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t register custom payload", ex);
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index d20eed35c85cf5118206dbf9ca2c706b51d4460e..963d5b4d2bc44c32d23da0f45480e0b0bd293ec2 100644
index fa9264af129acc046822ac0a7769e45e42142baf..032a682d6be24bbb3bdef1447ccdfe7da109f0e8 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -342,6 +342,7 @@ public abstract class PlayerList {
@@ -363,6 +363,7 @@ public abstract class PlayerList {
}
player.didPlayerJoinEvent = true; // Gale - EMC - do not process chat/commands before player has joined
@@ -69,7 +69,7 @@ index d20eed35c85cf5118206dbf9ca2c706b51d4460e..963d5b4d2bc44c32d23da0f45480e0b0
final net.kyori.adventure.text.Component jm = playerJoinEvent.joinMessage();
@@ -601,6 +602,7 @@ public abstract class PlayerList {
@@ -622,6 +623,7 @@ public abstract class PlayerList {
return this.remove(entityplayer, net.kyori.adventure.text.Component.translatable("multiplayer.player.left", net.kyori.adventure.text.format.NamedTextColor.YELLOW, io.papermc.paper.configuration.GlobalConfiguration.get().messages.useDisplayNameInQuitMessage ? entityplayer.getBukkitEntity().displayName() : io.papermc.paper.adventure.PaperAdventure.asAdventure(entityplayer.getDisplayName())));
}
public net.kyori.adventure.text.Component remove(ServerPlayer entityplayer, net.kyori.adventure.text.Component leaveMessage) {
@@ -78,7 +78,7 @@ index d20eed35c85cf5118206dbf9ca2c706b51d4460e..963d5b4d2bc44c32d23da0f45480e0b0
org.purpurmc.purpur.task.BossBarTask.removeFromAll(entityplayer.getBukkitEntity()); // Purpur
ServerLevel worldserver = entityplayer.serverLevel();
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 76621b258b2d63099959e77d113f279aa71d7d4f..c5308e8104fe16d1c529e220e9714770a470fdbd 100644
index 042ee3ec33bc42ded4a1490bd5acfb992f3627ca..4fe7326d3365b0055aefa5eea213420ac8ad9292 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -487,6 +487,7 @@ public final class CraftServer implements Server {
@@ -121,10 +121,10 @@ index 0000000000000000000000000000000000000000..64a1d25973b032e8cab64bbffa6824a1
+}
diff --git a/src/main/java/top/leavesmc/leaves/protocol/core/LeavesProtocolManager.java b/src/main/java/top/leavesmc/leaves/protocol/core/LeavesProtocolManager.java
new file mode 100644
index 0000000000000000000000000000000000000000..399a757ed4d064823eb1797d12546c9792c19dc0
index 0000000000000000000000000000000000000000..055f044ce6cef4377f6f577efdbfad0ec9a2d57b
--- /dev/null
+++ b/src/main/java/top/leavesmc/leaves/protocol/core/LeavesProtocolManager.java
@@ -0,0 +1,302 @@
@@ -0,0 +1,340 @@
+package top.leavesmc.leaves.protocol.core;
+
+import net.minecraft.network.FriendlyByteBuf;
@@ -140,6 +140,7 @@ index 0000000000000000000000000000000000000000..399a757ed4d064823eb1797d12546c97
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
+import java.net.JarURLConnection;
+import java.net.URL;
+import java.net.URLDecoder;
+import java.nio.charset.StandardCharsets;
@@ -148,9 +149,12 @@ index 0000000000000000000000000000000000000000..399a757ed4d064823eb1797d12546c97
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.jar.JarEntry;
+import java.util.jar.JarFile;
+
+public class LeavesProtocolManager {
+
@@ -352,7 +356,7 @@ index 0000000000000000000000000000000000000000..399a757ed4d064823eb1797d12546c97
+ Map<ProtocolHandler.MinecraftRegister, Method> map = MINECRAFT_REGISTER.get(protocol);
+ for (ProtocolHandler.MinecraftRegister register : map.keySet()) {
+ if (register.ignoreId() || register.channelId().equals(channel[1]) ||
+ ArrayUtils.contains(register.channelIds(), channel[1])) {
+ ArrayUtils.contains(register.channelIds(), channel[1])) {
+ try {
+ map.get(register).invoke(null, player);
+ } catch (InvocationTargetException | IllegalAccessException e) {
@@ -363,42 +367,76 @@ index 0000000000000000000000000000000000000000..399a757ed4d064823eb1797d12546c97
+ }
+ }
+
+ private static List<Class<?>> getClasses(String packageName) {
+ List<Class<?>> classes = new ArrayList<>();
+ String packageDirName = packageName.replace('.', '/');
+ public static Set<Class<?>> getClasses(String pack) {
+ Set<Class<?>> classes = new LinkedHashSet<Class<?>>();
+ String packageDirName = pack.replace('.', '/');
+ Enumeration<URL> dirs;
+ try {
+ dirs = Thread.currentThread().getContextClassLoader().getResources(packageDirName);
+ while (dirs.hasMoreElements()) {
+ URL url = dirs.nextElement();
+ findClassInPackageByFile(packageName, URLDecoder.decode(url.getFile(), StandardCharsets.UTF_8), classes);
+ String protocol = url.getProtocol();
+ if ("file".equals(protocol)) {
+ String filePath = URLDecoder.decode(url.getFile(), StandardCharsets.UTF_8);
+ findClassesInPackageByFile(pack, filePath, classes);
+ } else if ("jar".equals(protocol)) {
+ JarFile jar;
+ try {
+ jar = ((JarURLConnection) url.openConnection()).getJarFile();
+ Enumeration<JarEntry> entries = jar.entries();
+ findClassesInPackageByJar(pack, entries, packageDirName, classes);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ e.printStackTrace();
+ }
+ return classes;
+ }
+
+ private static void findClassInPackageByFile(String packageName, String filePath, List<Class<?>> classes) {
+ File dir = new File(filePath);
+ private static void findClassesInPackageByFile(String packageName, String packagePath, Set<Class<?>> classes) {
+ File dir = new File(packagePath);
+ if (!dir.exists() || !dir.isDirectory()) {
+ return;
+ }
+
+ File[] dirFiles = dir.listFiles(file -> file.getName().endsWith("class") || file.isDirectory());
+ if (dirFiles != null) {
+ for (File file : dirFiles) {
+ File[] dirfiles = dir.listFiles((file) -> file.isDirectory() || file.getName().endsWith(".class"));
+ if (dirfiles != null) {
+ for (File file : dirfiles) {
+ if (file.isDirectory()) {
+ if (!file.getName().equals("core")) {
+ findClassInPackageByFile(packageName + "." + file.getName(), file.getPath(), classes);
+ findClassesInPackageByFile(packageName + "." + file.getName(), file.getAbsolutePath(), classes);
+ } else {
+ String className = file.getName().substring(0, file.getName().length() - 6);
+ try {
+ classes.add(Class.forName(packageName + '.' + className));
+ } catch (ClassNotFoundException e) {
+ e.printStackTrace();
+ }
+ continue;
+ }
+ String className = file.getName().substring(0, file.getName().length() - 6);
+ try {
+ classes.add(Thread.currentThread().getContextClassLoader().loadClass(packageName + "." + className));
+ } catch (ClassNotFoundException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ }
+
+ private static void findClassesInPackageByJar(String packageName, Enumeration<JarEntry> entries, String packageDirName, Set<Class<?>> classes) {
+ while (entries.hasMoreElements()) {
+ JarEntry entry = entries.nextElement();
+ String name = entry.getName();
+ if (name.charAt(0) == '/') {
+ name = name.substring(1);
+ }
+ if (name.startsWith(packageDirName)) {
+ int idx = name.lastIndexOf('/');
+ if (idx != -1) {
+ packageName = name.substring(0, idx).replace('/', '.');
+ }
+ if (name.endsWith(".class") && !entry.isDirectory()) {
+ String className = name.substring(packageName.length() + 1, name.length() - 6);
+ try {
+ classes.add(Class.forName(packageName + '.' + className));
+ } catch (ClassNotFoundException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ }

View File

@@ -23,10 +23,10 @@ index 9445177d2cb64ae1cd0bd88d0c0b2ad89ef924f6..56dc6cb0b5659619ec5df42088fbecf7
public static String sentryDsn = "";
diff --git a/src/main/java/top/leavesmc/leaves/protocol/AppleSkinProtocol.java b/src/main/java/top/leavesmc/leaves/protocol/AppleSkinProtocol.java
new file mode 100644
index 0000000000000000000000000000000000000000..da1b2a0485ee99921ea61e5409ddbb4483b80951
index 0000000000000000000000000000000000000000..a16cf0afc41e903dda7033bcca6f8cdc9b533390
--- /dev/null
+++ b/src/main/java/top/leavesmc/leaves/protocol/AppleSkinProtocol.java
@@ -0,0 +1,106 @@
@@ -0,0 +1,105 @@
+package top.leavesmc.leaves.protocol;
+
+import net.minecraft.resources.ResourceLocation;
@@ -68,7 +68,6 @@ index 0000000000000000000000000000000000000000..da1b2a0485ee99921ea61e5409ddbb44
+ @ProtocolHandler.PlayerJoin
+ public static void onPlayerLoggedIn(@NotNull ServerPlayer player) {
+ if (org.dreeam.leaf.LeafConfig.appleskinProtocol) {
+ players.add(player);
+ resetPlayerData(player);
+ }
+ }

View File

@@ -7,10 +7,10 @@ Original license: GPLv3
Original project: https://github.com/LeavesMC/Leaves
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 963d5b4d2bc44c32d23da0f45480e0b0bd293ec2..8042254407f7aabfa41483ef6b5661ca7cb11a75 100644
index 032a682d6be24bbb3bdef1447ccdfe7da109f0e8..a5b21b5bc20b43c77cb6d276f89aceaef1ebc33a 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -1351,6 +1351,7 @@ public abstract class PlayerList {
@@ -1372,6 +1372,7 @@ public abstract class PlayerList {
player.connection.send(new ClientboundInitializeBorderPacket(worldborder));
player.connection.send(new ClientboundSetTimePacket(world.getGameTime(), world.getDayTime(), world.getGameRules().getBoolean(GameRules.RULE_DAYLIGHT)));
player.connection.send(new ClientboundSetDefaultSpawnPositionPacket(world.getSharedSpawnPos(), world.getSharedSpawnAngle()));

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Fix tracker NPE
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
index 3fe61c302e4bb355edf2e8d6f608bcc31cc0197b..870ad0318cd6799b66ac2b0c73b498b95ac49821 100644
index 6c3c4ec6cef581da45f6cdbb68cb74ea099a93a0..80badf34e9af7ef656f33e1bfe76208362778c3b 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -204,7 +204,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -242,7 +242,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
public final io.papermc.paper.util.player.NearbyPlayers nearbyPlayers;
// Paper end
// Paper start - optimise chunk tick iteration
@@ -17,7 +17,7 @@ index 3fe61c302e4bb355edf2e8d6f608bcc31cc0197b..870ad0318cd6799b66ac2b0c73b498b9
public final com.destroystokyo.paper.util.misc.PlayerAreaMap playerMobSpawnMap = new gg.pufferfish.pufferfish.util.AsyncPlayerAreaMap(this.pooledLinkedPlayerHashSets); // Pufferfish
// Paper end - optimise chunk tick iteration
@@ -1212,7 +1212,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -1299,7 +1299,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
final Entity entity;
private final int range;
SectionPos lastSectionPos;
@@ -27,7 +27,7 @@ index 3fe61c302e4bb355edf2e8d6f608bcc31cc0197b..870ad0318cd6799b66ac2b0c73b498b9
public TrackedEntity(Entity entity, int i, int j, boolean flag) {
this.serverEntity = new ServerEntity(ChunkMap.this.level, entity, j, flag, this::broadcast, this.seenBy); // CraftBukkit
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
index 448f3a5197901c9d861bfca92ab3105056726624..363901a4084ca275a6fef752290bc11a0053ab38 100644
index ba0fe0786479fcfd81202a02fe8feb382986116e..e413ebfb34a10b1ca8a323a9511ed48721919cea 100644
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
@@ -10,6 +10,7 @@ import java.util.Arrays;

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Reduce canSee work
Credit by: Martijn Muijsers <martijnmuijsers@live.nl>, MachineBreaker<machinebreaker>
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index ed2bfe717406741583b9c261c6ba18cd4a47f67b..1916e5f1d6bc4c2b14a138a46477adea939caf81 100644
index 192026f9edab53248dbd6db4fdb7d3955dff247e..bbfa6415fad20f3380c169c325d138e34b5e001b 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -383,11 +383,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -35,7 +35,7 @@ index ed2bfe717406741583b9c261c6ba18cd4a47f67b..1916e5f1d6bc4c2b14a138a46477adea
return false;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 57d3b887b606800d0d1e12b46ae793c50f09bee3..af472e1532000a764eb7464a1661fbcce561a8e5 100644
index 9452e30892505b9749023c7867ac6e3e071e9194..2065c1f4f485d088a3fa0814ae50ddad53037d05 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -580,12 +580,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -53,7 +53,7 @@ index 57d3b887b606800d0d1e12b46ae793c50f09bee3..af472e1532000a764eb7464a1661fbcc
if ((this.getUniqueId() == null) || (other.getUniqueId() == null)) {
return false;
}
@@ -2102,6 +2104,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2092,6 +2094,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return this.canSee((org.bukkit.entity.Entity) player);
}

View File

@@ -1,61 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com>
Date: Tue, 24 Oct 2023 19:50:01 -0400
Subject: [PATCH] Update method use
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
index 6eb0e250101d10064fe150f03d98086afeba67ca..adff3b47b283998ae5137b1336b818a332bfd09d 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
@@ -155,42 +155,42 @@ public class CraftItem extends CraftEntity implements Item {
// Purpur start
@Override
public void setImmuneToCactus(boolean immuneToCactus) {
- item.immuneToCactus = immuneToCactus;
+ this.getHandle().immuneToCactus = immuneToCactus;
}
@Override
public boolean isImmuneToCactus() {
- return item.immuneToCactus;
+ return this.getHandle().immuneToCactus;
}
@Override
public void setImmuneToExplosion(boolean immuneToExplosion) {
- item.immuneToExplosion = immuneToExplosion;
+ this.getHandle().immuneToExplosion = immuneToExplosion;
}
@Override
public boolean isImmuneToExplosion() {
- return item.immuneToExplosion;
+ return this.getHandle().immuneToExplosion;
}
@Override
public void setImmuneToFire(boolean immuneToFire) {
- item.immuneToFire = immuneToFire;
+ this.getHandle().immuneToFire = immuneToFire;
}
@Override
public boolean isImmuneToFire() {
- return item.immuneToFire;
+ return this.getHandle().immuneToFire;
}
@Override
public void setImmuneToLightning(boolean immuneToLightning) {
- item.immuneToLightning = immuneToLightning;
+ this.getHandle().immuneToLightning = immuneToLightning;
}
@Override
public boolean isImmuneToLightning() {
- return item.immuneToLightning;
+ return this.getHandle().immuneToLightning;
}
// Purpur end
}