Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
1f600a0
Start 1.21.11
Lumine1909 Dec 18, 2025
abf4781
Remove unused file
Lumine1909 Dec 18, 2025
90203ec
Rearrange import
Lumine1909 Dec 18, 2025
19c3a8e
No vanilla fluid pushing
Lumine1909 Dec 18, 2025
8311680
Rewrite config & action system, fix bugs
Lumine1909 Jan 15, 2026
b42e39a
Update paper, fix all paper patches
Lumine1909 Jan 17, 2026
b27d9f8
Merge remote-tracking branch 'upstream/master' into dev/1.21.11
Lumine1909 Jan 17, 2026
291a197
Fix up & start minecraft patch
Lumine1909 Jan 17, 2026
50ba6bf
0050/0145
Lumine1909 Jan 17, 2026
be82af5
Restore paper api patches
Lumine1909 Jan 17, 2026
da12a58
Finish patch work, make it builable
Lumine1909 Jan 17, 2026
da976ff
Enable ci, clean up
Lumine1909 Jan 17, 2026
5ea0e62
Fix bot config
Lumine1909 Jan 17, 2026
6411f50
[stupid-me] Fix action bug
Lumine1909 Jan 20, 2026
0b8d976
Fix nan minecart
Lumine1909 Jan 20, 2026
fe94da4
Modify inf minecart
Lumine1909 Jan 22, 2026
4937bbb
Fix patch
Lumine1909 Jan 22, 2026
e86ff92
Fix command reload & report command
Lumine1909 Jan 28, 2026
b5c8179
Merge branch 'master' into dev/1.21.11
Lumine1909 Feb 12, 2026
7bc06b0
Resolves #814
Lumine1909 Feb 12, 2026
e6450b6
Merge branch 'master' into dev/1.21.11
Lumine1909 Feb 15, 2026
b02d631
Merge from master
Lumine1909 Mar 15, 2026
357fd48
Goodbye, allowGrindstoneOverstaking
Lumine1909 Mar 25, 2026
a2617db
[stupid me] Fix build
Lumine1909 Mar 25, 2026
d5dbf77
Some refactor
Lumine1909 Mar 25, 2026
2d58c86
New Bytebuf API (#819)
Lumine1909 Mar 25, 2026
550792d
Merge branch 'master' into dev/1.21.11
Lumine1909 Apr 16, 2026
a0dda41
Evil mojang
Lumine1909 Apr 16, 2026
6378d08
[ci skip] Clean up
Lumine1909 Apr 16, 2026
085e36f
Try to fix #833 (#836)
Lumine1909 Apr 17, 2026
926ff03
Update Lithium faster chunk serialization (Thank you Winds-Studio/Leaf)
Lumine1909 Apr 17, 2026
180ff38
Update upstream
Lumine1909 Apr 23, 2026
2094015
Fix #848
Lumine1909 Apr 26, 2026
ab03806
Add warning when loading bot that does not exist
Lumine1909 Apr 26, 2026
0b175ef
[stupid me] Fix a stupid mistake
Lumine1909 Apr 26, 2026
868a38d
Fix new bug arise from #848
Lumine1909 Apr 26, 2026
0009d01
More generic for actions
Lumine1909 Apr 26, 2026
d5ef29c
Fix action stop notification
Lumine1909 Apr 26, 2026
d8af68d
Resolve other problems
Lumine1909 Apr 26, 2026
5f5021c
Merge branch 'master' into dev/1.21.11
Lumine1909 Apr 26, 2026
81b9079
1/?
Lumine1909 Apr 26, 2026
fb00937
Fix up
Lumine1909 Apr 26, 2026
d6a7000
Rename...
Lumine1909 Apr 27, 2026
12df0a5
Modify config load
Lumine1909 Apr 27, 2026
0a394bf
Try to fix 840
Lumine1909 Apr 27, 2026
e145905
Fixup
Lumine1909 Apr 28, 2026
fb450b2
Stupid me
Lumine1909 Apr 28, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
10 changes: 7 additions & 3 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
group=org.leavesmc.leaves
version=1.21.10-R0.1-SNAPSHOT
mcVersion=1.21.10
paperRef=af06383701d3c02e3e3cbd2ef5c5b55e2bbd0742
version=1.21.11-R0.1-SNAPSHOT
mcVersion=1.21.11
paperRef=c5a2736aaa33a6447badd2ed294fbf5940cb014b
preVersion=true
paper.runDisableWatchdog=true

# This is the current API version for use in (paper-/leaves-)plugin.yml files
# During snapshot cycles this should be the anticipated version of the release target
apiVersion=1.21.11

org.gradle.configuration-cache=false
org.gradle.caching=true
org.gradle.parallel=true
Expand Down
14 changes: 7 additions & 7 deletions leaves-api/build.gradle.kts.patch
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
--- a/paper-api/build.gradle.kts
+++ b/paper-api/build.gradle.kts
@@ -89,19 +_,33 @@
@@ -91,19 +_,33 @@
testRuntimeOnly("org.junit.platform:junit-platform-launcher")
}

Expand Down Expand Up @@ -35,7 +35,7 @@

val outgoingVariants = arrayOf("runtimeElements", "apiElements", "sourcesElements", "javadocElements")
val mainCapability = "${project.group}:${project.name}:${project.version}"
@@ -146,6 +_,16 @@
@@ -138,6 +_,16 @@
}
}

Expand All @@ -49,10 +49,10 @@
+}
+// Leaves end - hide irrelevant compilation warnings
+
tasks.jar {
from(generateApiVersioningFile.map { it.outputs.files.singleFile }) {
into("META-INF/maven/${project.group}/${project.name}")
@@ -165,7 +_,7 @@
abstract class GenerateApiVersioningFile : DefaultTask() {
@get:OutputFile
abstract val outputFile: RegularFileProperty
@@ -183,7 +_,7 @@

tasks.withType<Javadoc>().configureEach {
val options = options as StandardJavadocDocletOptions
Expand All @@ -61,7 +61,7 @@
options.use()
options.isDocFilesSubDirs = true
options.links(
@@ -198,16 +_,18 @@
@@ -217,16 +_,18 @@
}

// workaround for https://github.com/gradle/gradle/issues/4046
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2859,7 +2859,7 @@ index 3e61a926620a67daec3af54b72a1b911eaef2ed4..00000000000000000000000000000000
- }
-}
diff --git a/src/main/java/org/bukkit/command/Command.java b/src/main/java/org/bukkit/command/Command.java
index e387ba67f0b6cde8ee2be7acba8f791792802ad4..06402e9d811b62ea59c67ecbffe9272c73f2040d 100644
index 3171a20c8fcff10a8da3dd822c8bba3f58f59e02..9fd50b3ffaa7edebf5d975b35475e451bc8de8d8 100644
--- a/src/main/java/org/bukkit/command/Command.java
+++ b/src/main/java/org/bukkit/command/Command.java
@@ -32,16 +32,6 @@ public abstract class Command {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Subject: [PATCH] Add isShrink to EntityResurrectEvent


diff --git a/src/main/java/org/bukkit/event/entity/EntityResurrectEvent.java b/src/main/java/org/bukkit/event/entity/EntityResurrectEvent.java
index fa60c0ce5c79757952ad39932e1c5fac8b068811..71fd070aaebfd9fa0fbfd6eb7cd26c8b34120203 100644
index b3e4c6b3c882888b4bc2b93dc4ed2ae0c149ec19..a8d36f0b120740b4c6ea5fbf205b28aba1473206 100644
--- a/src/main/java/org/bukkit/event/entity/EntityResurrectEvent.java
+++ b/src/main/java/org/bukkit/event/entity/EntityResurrectEvent.java
@@ -17,22 +17,46 @@ public class EntityResurrectEvent extends EntityEvent implements Cancellable {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,10 @@ index 14d81c7b138ebf999d5812d26fbf869209c100f3..3b0513fbbf46e7cbb1790264eebaed98
+ // Leaves end - Bot API
}
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 964b57bb240151ddf4f11c203b67e8be6469e473..865842a857e5371bd82133a018582c7b88566403 100644
index 0ec885b97d655c03371840d739b47063494ed36f..bc9bdaadf6b6bb7cc7a8cf2d4e9b8e7724f36445 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -2760,4 +2760,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@@ -2761,4 +2761,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
*/
void allowPausing(@NotNull org.bukkit.plugin.Plugin plugin, boolean value);
// Paper end - API to check if the server is sleeping
Expand Down
8 changes: 3 additions & 5 deletions leaves-api/paper-patches/features/0004-Replay-Mod-API.patch
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,13 @@ index 3b0513fbbf46e7cbb1790264eebaed9862d48eb5..44ee8036e2f813e947c2c166e1876030
+ // Leaves end - Photographer API
}
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 865842a857e5371bd82133a018582c7b88566403..74f704d4245199205afff5a992805f40a365cc81 100644
index bc9bdaadf6b6bb7cc7a8cf2d4e9b8e7724f36445..f2d616b896ac7998c75c9ded8dd28cf2b49dd416 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -2769,4 +2769,8 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@@ -2770,4 +2770,6 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
*/
@NotNull org.leavesmc.leaves.entity.bot.BotManager getBotManager();
// Leaves end - Bot API
+
+ // Leaves start - Photographer API
+ @NotNull org.leavesmc.leaves.entity.photographer.PhotographerManager getPhotographerManager();
+ // Leaves end - Photographer API
+ @NotNull org.leavesmc.leaves.entity.photographer.PhotographerManager getPhotographerManager(); // Leaves - Photographer API
}
40 changes: 17 additions & 23 deletions leaves-api/paper-patches/features/0005-Bytebuf-API.patch
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Subject: [PATCH] Bytebuf API


diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index 44ee8036e2f813e947c2c166e1876030cabf86ff..c25729882f87a904e59680967f3d20b02df50eae 100644
index 44ee8036e2f813e947c2c166e1876030cabf86ff..29570b8bcf34806af2f8d3dfdd656319176a61e5 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -3020,4 +3020,10 @@ public final class Bukkit {
Expand All @@ -14,38 +14,32 @@ index 44ee8036e2f813e947c2c166e1876030cabf86ff..c25729882f87a904e59680967f3d20b0
// Leaves end - Photographer API
+
+ // Leaves start - Bytebuf API
+ public static org.leavesmc.leaves.bytebuf.BytebufManager getBytebufManager() {
+ return server.getBytebufManager();
+ public static org.leavesmc.leaves.bytebuf.BytebufAllocator getBytebufManager() {
+ return server.getBytebufAllocator();
+ }
+ // Leaves end - Bytebuf API
}
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 74f704d4245199205afff5a992805f40a365cc81..9f9051214c81e1fc4a6f1a0b0d18ea98bdf2fe92 100644
index f2d616b896ac7998c75c9ded8dd28cf2b49dd416..9544b376e457b3b62f6c025bd31f2bb2a5318269 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -2773,4 +2773,8 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
// Leaves start - Photographer API
@NotNull org.leavesmc.leaves.entity.photographer.PhotographerManager getPhotographerManager();
// Leaves end - Photographer API
@@ -2772,4 +2772,6 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
// Leaves end - Bot API

@NotNull org.leavesmc.leaves.entity.photographer.PhotographerManager getPhotographerManager(); // Leaves - Photographer API
+
+ // Leaves start - Bytebuf API
+ org.leavesmc.leaves.bytebuf.BytebufManager getBytebufManager();
+ // Leaves end - Bytebuf API
+ org.leavesmc.leaves.bytebuf.BytebufAllocator getBytebufAllocator(); // Leaves - Bytebuf API
}
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 3eef8d533c2aa65d66fbd58f2260b4764a964ebe..73285735653a3aec90df4866b3f97f8ca38a5394 100644
index 26d9139886d851824829734228e0bcceabba92d5..3b3a5072fda47ee483e6e7c73263ffc321ea9a6b 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -3931,6 +3931,12 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
boolean isChunkSent(long chunkKey);
// Paper end
@@ -66,7 +66,7 @@ import org.jspecify.annotations.Nullable;
* Represents a player, connected or not
*/
@NullMarked
-public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginMessageRecipient, net.kyori.adventure.identity.Identified, net.kyori.adventure.bossbar.BossBarViewer, com.destroystokyo.paper.network.NetworkClient { // Paper
+public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginMessageRecipient, net.kyori.adventure.identity.Identified, net.kyori.adventure.bossbar.BossBarViewer, com.destroystokyo.paper.network.NetworkClient, org.leavesmc.leaves.bytebuf.PacketAudience { // Paper // Leaves - Bytbuf API

+ // Leaves start - Bytebuf API
+ void sendPacket(org.leavesmc.leaves.bytebuf.packet.Packet packet);
+
+ void sendPacket(org.leavesmc.leaves.bytebuf.Bytebuf buf, org.leavesmc.leaves.bytebuf.packet.PacketType type);
+ // Leaves end - Bytebuf API
+
// Paper start
@Override
Spigot spigot();
// Spigot end
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ Subject: [PATCH] Revert raid changes


diff --git a/src/main/java/org/bukkit/event/entity/EntityPotionEffectEvent.java b/src/main/java/org/bukkit/event/entity/EntityPotionEffectEvent.java
index 22e14ba522510d659c191d72536cde895458d9ed..253f937dbd130fac064963b4af7572e1302fee8f 100644
index 61ff80a91c392e9e3c8eb393356b40721d28b6ec..57a24231962883affbcc5b46c0b952470398acb8 100644
--- a/src/main/java/org/bukkit/event/entity/EntityPotionEffectEvent.java
+++ b/src/main/java/org/bukkit/event/entity/EntityPotionEffectEvent.java
@@ -221,9 +221,7 @@ public class EntityPotionEffectEvent extends EntityEvent implements Cancellable
@@ -225,9 +225,7 @@ public class EntityPotionEffectEvent extends EntityEvent implements Cancellable
/**
* When a player gets bad omen after killing a patrol captain.
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ index 76c08499b704a6cb0cb95ce69b9a9248d69cc127..316bbf8c95e4803190897d66a0c7d8b4
public boolean isCancelled() {
return this.cancelled;
diff --git a/src/main/java/org/bukkit/event/entity/PlayerDeathEvent.java b/src/main/java/org/bukkit/event/entity/PlayerDeathEvent.java
index 6316a2f1d2dc0314397e33e6dbd354fb8bc50541..16d4e3d42710be5eb87372d31c0ea9935d441de0 100644
index 78497c423edaff9550315610ccc2f3d4d3614dce..6e9f3b0dc789103e208a806cbecaea7ee1790ff4 100644
--- a/src/main/java/org/bukkit/event/entity/PlayerDeathEvent.java
+++ b/src/main/java/org/bukkit/event/entity/PlayerDeathEvent.java
@@ -23,6 +23,7 @@ public class PlayerDeathEvent extends EntityDeathEvent {
Expand Down
18 changes: 8 additions & 10 deletions leaves-api/paper-patches/features/0008-Leaves-Config-API.patch
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ Subject: [PATCH] Leaves Config API


diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index c25729882f87a904e59680967f3d20b02df50eae..5cc913f9e903ea5ef51c2e2b8cc18fdad8838c1e 100644
index 29570b8bcf34806af2f8d3dfdd656319176a61e5..786546ba9503a6fc7762589059b998afc62d8e22 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -3026,4 +3026,10 @@ public final class Bukkit {
return server.getBytebufManager();
return server.getBytebufAllocator();
}
// Leaves end - Bytebuf API
+
Expand All @@ -20,15 +20,13 @@ index c25729882f87a904e59680967f3d20b02df50eae..5cc913f9e903ea5ef51c2e2b8cc18fda
+ // Leaves end - Config API
}
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 9f9051214c81e1fc4a6f1a0b0d18ea98bdf2fe92..95621c3b4279f4d1b7786772cc035f3747e9d84f 100644
index 9544b376e457b3b62f6c025bd31f2bb2a5318269..bd84c7725effc55b00510d0b7a050343e2ff0361 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -2777,4 +2777,8 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
// Leaves start - Bytebuf API
org.leavesmc.leaves.bytebuf.BytebufManager getBytebufManager();
// Leaves end - Bytebuf API
@@ -2774,4 +2774,6 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@NotNull org.leavesmc.leaves.entity.photographer.PhotographerManager getPhotographerManager(); // Leaves - Photographer API

org.leavesmc.leaves.bytebuf.BytebufAllocator getBytebufAllocator(); // Leaves - Bytebuf API
+
+ // Leaves start - Config API
+ org.leavesmc.leaves.config.LeavesConfigProvider getLeavesConfig();
+ // Leaves End - Config API
+ org.leavesmc.leaves.config.LeavesConfigProvider getLeavesConfig(); // Leaves - Config API
}
4 changes: 2 additions & 2 deletions leaves-api/paper-patches/features/0009-Leaves-Plugin.patch
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,10 @@ index 5cc913f9e903ea5ef51c2e2b8cc18fdad8838c1e..554b8977c9b358f177e29907bcebaed8
/**
* Returns a bot manager.
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 95621c3b4279f4d1b7786772cc035f3747e9d84f..cdc5295db1dbbd4b20a0acc99fdcc9013d6a5489 100644
index 0a52d9cffa58c922079bf97deb32dd4f057da097..23b878d9cfe4bdc0ddbd1d2d0663efecc7e5e8fb 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -2761,6 +2761,10 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@@ -2762,6 +2762,10 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
void allowPausing(@NotNull org.bukkit.plugin.Plugin plugin, boolean value);
// Paper end - API to check if the server is sleeping

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ static Bytebuf of(byte[] bytes) {

byte[] toArray();

Bytebuf clear();

Bytebuf skipBytes(int i);

int readerIndex();
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package org.leavesmc.leaves.bytebuf;

public interface BytebufAllocator {

Bytebuf newBytebuf(int size);

Bytebuf toBytebuf(byte[] bytes);
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package org.leavesmc.leaves.bytebuf;

import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

public interface PacketAudience {

void send(PacketType packetType, Bytebuf bytebuf);

@Nullable Player getPlayer();

@Nullable String getName();

@NotNull Object getChannel();
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package org.leavesmc.leaves.bytebuf;

public enum PacketFlow {
SERVERBOUND, CLIENTBOUND
}
Loading
Loading