mirror of
https://github.com/LeavesMC/Leaves.git
synced 2025-12-19 14:59:32 +00:00
Start 1.21.7
This commit is contained in:
@@ -1,7 +1,11 @@
|
||||
group=org.leavesmc.leaves
|
||||
version=1.21.5-R0.1-SNAPSHOT
|
||||
mcVersion=1.21.5
|
||||
paperRef=2ba1675c7506cadd8a540ea452e5dafb79ae8947
|
||||
version=1.21.7-R0.1-SNAPSHOT
|
||||
mcVersion=1.21.7
|
||||
paperRef=0cadaefc094c1d25eb19332cfebc02f9b5885c4a
|
||||
|
||||
# Set to true while updating Minecraft version
|
||||
updatingMinecraft=true
|
||||
|
||||
preVersion=true
|
||||
org.gradle.caching=true
|
||||
org.gradle.parallel=true
|
||||
|
||||
2
gradle/wrapper/gradle-wrapper.properties
vendored
2
gradle/wrapper/gradle-wrapper.properties
vendored
@@ -1,6 +1,6 @@
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.2-bin.zip
|
||||
networkTimeout=10000
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
|
||||
9
gradlew
vendored
9
gradlew
vendored
@@ -86,8 +86,7 @@ done
|
||||
# shellcheck disable=SC2034
|
||||
APP_BASE_NAME=${0##*/}
|
||||
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
|
||||
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s
|
||||
' "$PWD" ) || exit
|
||||
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit
|
||||
|
||||
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
||||
MAX_FD=maximum
|
||||
@@ -115,7 +114,7 @@ case "$( uname )" in #(
|
||||
NONSTOP* ) nonstop=true ;;
|
||||
esac
|
||||
|
||||
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
|
||||
CLASSPATH="\\\"\\\""
|
||||
|
||||
|
||||
# Determine the Java command to use to start the JVM.
|
||||
@@ -206,7 +205,7 @@ fi
|
||||
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
||||
|
||||
# Collect all arguments for the java command:
|
||||
# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
|
||||
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
|
||||
# and any embedded shellness will be escaped.
|
||||
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
|
||||
# treated as '${Hostname}' itself on the command line.
|
||||
@@ -214,7 +213,7 @@ DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
||||
set -- \
|
||||
"-Dorg.gradle.appname=$APP_BASE_NAME" \
|
||||
-classpath "$CLASSPATH" \
|
||||
org.gradle.wrapper.GradleWrapperMain \
|
||||
-jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \
|
||||
"$@"
|
||||
|
||||
# Stop when "xargs" is not available.
|
||||
|
||||
6
gradlew.bat
vendored
6
gradlew.bat
vendored
@@ -70,11 +70,11 @@ goto fail
|
||||
:execute
|
||||
@rem Setup the command line
|
||||
|
||||
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
|
||||
set CLASSPATH=
|
||||
|
||||
|
||||
@rem Execute Gradle
|
||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
|
||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %*
|
||||
|
||||
:end
|
||||
@rem End local scope for the variables with windows NT shell
|
||||
@@ -91,4 +91,4 @@ exit /b %EXIT_CODE%
|
||||
:mainEnd
|
||||
if "%OS%"=="Windows_NT" endlocal
|
||||
|
||||
:omega
|
||||
:omega
|
||||
@@ -2904,18 +2904,18 @@ index 59fada9b1eb78238d280c6bbb711f52facba52c6..eb4d78c6111a530d015a0b91d14c40ad
|
||||
return i >= j && i <= k;
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/command/SimpleCommandMap.java b/src/main/java/org/bukkit/command/SimpleCommandMap.java
|
||||
index 4acda947b7d69ab4133b4cc94e76d945e4d148d5..d356f1895e8f3fae14bbbe1f60e589af3856b9ec 100644
|
||||
index ad1330d87223dfcf3c9da40aa5ece8c21141f0d6..f561ac4ebd8d40266ae9f066e79045bb93113a53 100644
|
||||
--- a/src/main/java/org/bukkit/command/SimpleCommandMap.java
|
||||
+++ b/src/main/java/org/bukkit/command/SimpleCommandMap.java
|
||||
@@ -32,7 +32,6 @@ public class SimpleCommandMap implements CommandMap {
|
||||
|
||||
private void setDefaultCommands() {
|
||||
register("bukkit", new ReloadCommand("reload"));
|
||||
@@ -34,7 +34,6 @@ public class SimpleCommandMap implements CommandMap {
|
||||
final ReloadCommand reload = new ReloadCommand("reload");
|
||||
this.knownCommands.put("bukkit:reload", reload);
|
||||
this.knownCommands.put("bukkit:rl", reload);
|
||||
- register("bukkit", new co.aikar.timings.TimingsCommand("timings"));
|
||||
}
|
||||
|
||||
public void setFallbackCommands() {
|
||||
@@ -64,7 +63,6 @@ public class SimpleCommandMap implements CommandMap {
|
||||
@@ -66,7 +65,6 @@ public class SimpleCommandMap implements CommandMap {
|
||||
*/
|
||||
@Override
|
||||
public boolean register(@NotNull String label, @NotNull String fallbackPrefix, @NotNull Command command) {
|
||||
@@ -2923,7 +2923,7 @@ index 4acda947b7d69ab4133b4cc94e76d945e4d148d5..d356f1895e8f3fae14bbbe1f60e589af
|
||||
label = label.toLowerCase(Locale.ROOT).trim();
|
||||
fallbackPrefix = fallbackPrefix.toLowerCase(Locale.ROOT).trim();
|
||||
boolean registered = register(label, command, false, fallbackPrefix);
|
||||
@@ -146,17 +144,9 @@ public class SimpleCommandMap implements CommandMap {
|
||||
@@ -148,17 +146,9 @@ public class SimpleCommandMap implements CommandMap {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -2942,7 +2942,7 @@ index 4acda947b7d69ab4133b4cc94e76d945e4d148d5..d356f1895e8f3fae14bbbe1f60e589af
|
||||
server.getPluginManager().callEvent(new com.destroystokyo.paper.event.server.ServerExceptionEvent(new com.destroystokyo.paper.exception.ServerCommandException(ex, target, sender, args))); // Paper
|
||||
//target.timings.stopTiming(); // Spigot // Paper
|
||||
diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
|
||||
index 001465eedafa51ac027a4db51cba6223edfe1171..dd98b4886d21ac92d9f9139450258754e985fb85 100644
|
||||
index dfc2d76403993640e6283f25f9f3647bb6d1a30c..cc2a208b7cb118134ca4088c622644b5d2fac1c0 100644
|
||||
--- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java
|
||||
+++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
|
||||
@@ -720,7 +720,6 @@ public final class SimplePluginManager implements PluginManager {
|
||||
|
||||
@@ -140,6 +140,8 @@ public enum PacketType {
|
||||
ServerboundMoveVehicle,
|
||||
ServerboundPaddleBoat,
|
||||
ServerboundPickItem,
|
||||
ServerboundPickItemFromBlock,
|
||||
ServerboundPickItemFromEntity,
|
||||
ServerboundPlaceRecipe,
|
||||
ServerboundPlayerAbilities,
|
||||
ServerboundPlayerAction,
|
||||
@@ -188,5 +190,7 @@ public enum PacketType {
|
||||
ServerboundPong,
|
||||
ServerboundResourcePack,
|
||||
ServerboundPingRequest,
|
||||
ClientboundPongResponse
|
||||
ClientboundPongResponse,
|
||||
ClientboundShowDialog,
|
||||
ClientboundClearDialog
|
||||
}
|
||||
|
||||
@@ -1,20 +1,27 @@
|
||||
--- a/paper-server/build.gradle.kts
|
||||
+++ b/paper-server/build.gradle.kts
|
||||
@@ -9,25 +_,38 @@
|
||||
@@ -1,4 +_,4 @@
|
||||
-import io.papermc.fill.model.BuildChannel
|
||||
+//import io.papermc.fill.model.BuildChannel
|
||||
import io.papermc.paperweight.attribute.DevBundleOutput
|
||||
import io.papermc.paperweight.util.*
|
||||
import io.papermc.paperweight.util.data.FileEntry
|
||||
@@ -10,22 +_,35 @@
|
||||
`java-library`
|
||||
`maven-publish`
|
||||
idea
|
||||
- id("io.papermc.paperweight.core")
|
||||
+ id("org.leavesmc.leavesweight.core") // Leaves - build change
|
||||
id("io.papermc.fill.gradle") version "1.0.3"
|
||||
}
|
||||
|
||||
val paperMavenPublicUrl = "https://repo.papermc.io/repository/maven-public/"
|
||||
+val leavesMavenPublicUrl = "https://repo.leavesmc.com/snapshots/" // Leaves - build change
|
||||
|
||||
dependencies {
|
||||
mache("io.papermc:mache:1.21.5+build.2")
|
||||
mache("io.papermc:mache:1.21.7+build.1")
|
||||
- paperclip("io.papermc:paperclip:3.0.3")
|
||||
+ leavesclip("org.leavesmc:leavesclip:3.0.0") // Leaves - build change
|
||||
+ leavesclip("org.leavesmc:leavesclip:3.0.2") // Leaves - build change
|
||||
testRuntimeOnly("org.junit.platform:junit-platform-launcher")
|
||||
}
|
||||
|
||||
@@ -23,10 +30,6 @@
|
||||
+ minecraftVersion = rootProject.providers.gradleProperty("mcVersion") // Leaves - build change
|
||||
gitFilePatches = false
|
||||
|
||||
//updatingMinecraft {
|
||||
// oldPaperCommit = "f4f275519f7c1fbe9db173b7144a4fe81440e365"
|
||||
//}
|
||||
|
||||
+ // Leaves start - build change
|
||||
+ val leaves = forks.register("leaves") {
|
||||
+ upstream.patchDir("paperServer") {
|
||||
@@ -40,9 +43,9 @@
|
||||
+ // Leaves end - build change
|
||||
+
|
||||
spigot {
|
||||
buildDataRef = "702e1a0a5072b2c4082371d5228cb30525687efc"
|
||||
packageVersion = "v1_21_R4" // also needs to be updated in MappingEnvironment
|
||||
@@ -50,6 +_,7 @@
|
||||
enabled = true
|
||||
buildDataRef = "436eac9815c211be1a2a6ca0702615f995e81c44"
|
||||
@@ -49,6 +_,7 @@
|
||||
libraryRepositories.addAll(
|
||||
"https://repo.maven.apache.org/maven2/",
|
||||
paperMavenPublicUrl,
|
||||
@@ -50,7 +53,7 @@
|
||||
)
|
||||
}
|
||||
|
||||
@@ -108,7 +_,22 @@
|
||||
@@ -107,7 +_,22 @@
|
||||
}
|
||||
}
|
||||
|
||||
@@ -74,12 +77,13 @@
|
||||
configurations.named(log4jPlugins.compileClasspathConfigurationName) {
|
||||
extendsFrom(configurations.compileClasspath.get())
|
||||
}
|
||||
@@ -130,7 +_,18 @@
|
||||
@@ -129,7 +_,19 @@
|
||||
}
|
||||
|
||||
dependencies {
|
||||
- implementation(project(":paper-api"))
|
||||
+ implementation(project(":leaves-api")) // Leaves - build change
|
||||
+ implementation("commons-lang:commons-lang:2.6") // Leaves - build change
|
||||
+ // Leaves start - linear
|
||||
+ implementation("com.github.luben:zstd-jni:1.5.4-1")
|
||||
+ implementation("org.lz4:lz4-java:1.8.0")
|
||||
@@ -94,18 +98,15 @@
|
||||
implementation("ca.spottedleaf:concurrentutil:0.0.3")
|
||||
implementation("org.jline:jline-terminal-ffm:3.27.1") // use ffm on java 22+
|
||||
implementation("org.jline:jline-terminal-jni:3.27.1") // fall back to jni on java 21
|
||||
@@ -157,9 +_,9 @@
|
||||
implementation("org.ow2.asm:asm-commons:9.8")
|
||||
implementation("org.spongepowered:configurate-yaml:4.2.0-20250225.064233-199")
|
||||
@@ -158,7 +_,6 @@
|
||||
implementation("org.spongepowered:configurate-core:4.2.0-20250225.064233-204") // Pinned dependency of above pinned yaml snapshot.
|
||||
+ implementation("commons-lang:commons-lang:2.6") // Leaves
|
||||
|
||||
// Deps that were previously in the API but have now been moved here for backwards compat, eventually to be removed
|
||||
- runtimeOnly("commons-lang:commons-lang:2.6")
|
||||
runtimeOnly("org.xerial:sqlite-jdbc:3.49.1.0")
|
||||
runtimeOnly("com.mysql:mysql-connector-j:9.2.0")
|
||||
runtimeOnly("com.lmax:disruptor:3.4.4")
|
||||
@@ -194,6 +_,16 @@
|
||||
@@ -193,6 +_,16 @@
|
||||
implementation("me.lucko:spark-paper:1.10.133-20250413.112336-1")
|
||||
}
|
||||
|
||||
@@ -122,7 +123,7 @@
|
||||
tasks.jar {
|
||||
manifest {
|
||||
val git = Git(rootProject.layout.projectDirectory.path)
|
||||
@@ -206,14 +_,14 @@
|
||||
@@ -205,14 +_,14 @@
|
||||
val gitBranch = git.exec(providers, "rev-parse", "--abbrev-ref", "HEAD").get().trim()
|
||||
attributes(
|
||||
"Main-Class" to "org.bukkit.craftbukkit.Main",
|
||||
@@ -142,7 +143,7 @@
|
||||
"Build-Number" to (build ?: ""),
|
||||
"Build-Time" to buildTime.toString(),
|
||||
"Git-Branch" to gitBranch,
|
||||
@@ -267,7 +_,7 @@
|
||||
@@ -271,7 +_,7 @@
|
||||
jvmArgumentProviders.add(provider)
|
||||
}
|
||||
|
||||
@@ -151,7 +152,7 @@
|
||||
idea {
|
||||
module {
|
||||
generatedSourceDirs.add(generatedDir.toFile())
|
||||
@@ -360,13 +_,26 @@
|
||||
@@ -364,17 +_,32 @@
|
||||
classpath(tasks.createReobfBundlerJar.flatMap { it.outputZip })
|
||||
mainClass.set(null as String?)
|
||||
}
|
||||
@@ -165,6 +166,7 @@
|
||||
- classpath(tasks.createReobfPaperclipJar.flatMap { it.outputZip })
|
||||
- mainClass.set(null as String?)
|
||||
-}
|
||||
-
|
||||
+
|
||||
+// Leaves start - build change
|
||||
+tasks.registerRunTask("runLeavesclip") {
|
||||
@@ -188,3 +190,16 @@
|
||||
+ classpath(sourceSets.main.map { it.runtimeClasspath })
|
||||
+}
|
||||
+// Leaves end - create config file
|
||||
+
|
||||
+// Leaves start - what is it?
|
||||
+/*
|
||||
fill {
|
||||
project("paper")
|
||||
versionFamily(paperweight.minecraftVersion.map { it.split(".", "-").takeWhile { part -> part.toIntOrNull() != null }.take(2).joinToString(".") })
|
||||
@@ -391,3 +_,6 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
+
|
||||
+*/
|
||||
+// Leaves end - what is it?
|
||||
|
||||
@@ -93,7 +93,7 @@ index 6abc57669e87f7f98f3b76af3c0e50825fea6eb1..c7ee6d3a158ca7d3de54bc12622affbf
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/io/papermc/paper/ServerBuildInfoImpl.java b/src/main/java/io/papermc/paper/ServerBuildInfoImpl.java
|
||||
index 790bad0494454ca12ee152e3de6da3da634d9b20..c060857cb0551fff8f5033553b887f3a6b8f935a 100644
|
||||
index 74ffdc823e66fc5ec027c4b7c462382bcbfe2be2..f38f8e5851ec65a8f3f98018d55de74ea6ff165c 100644
|
||||
--- a/src/main/java/io/papermc/paper/ServerBuildInfoImpl.java
|
||||
+++ b/src/main/java/io/papermc/paper/ServerBuildInfoImpl.java
|
||||
@@ -30,7 +30,7 @@ public record ServerBuildInfoImpl(
|
||||
@@ -119,10 +119,10 @@ index a7d1a959af6a810c0ce6d5baa08e4429e14d4f5b..88dbb30dd736b63f562918fb166678ba
|
||||
|
||||
public static LiteralCommandNode<CommandSourceStack> create() {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
index a11fc64b4933a5abce0182ba46f1da22043eb0d8..c311381d7d6841153f9f29f9a2e6718811bdf1c7 100644
|
||||
index 7675acdca2162e403f4ff523bcdd6efe0cb42d49..a950bfb0c6aeb0b19150c59cea13337005c2752a 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
@@ -232,7 +232,7 @@ public class Main {
|
||||
@@ -231,7 +231,7 @@ public class Main {
|
||||
if (buildDate.before(deadline.getTime())) {
|
||||
// Paper start - This is some stupid bullshit
|
||||
System.err.println("*** Warning, you've not updated in a while! ***");
|
||||
@@ -132,10 +132,10 @@ index a11fc64b4933a5abce0182ba46f1da22043eb0d8..c311381d7d6841153f9f29f9a2e67188
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
||||
index a287ad5cce532229f2a514956d34a9358175bc45..27f1a050882c7b00649ab2bea2e4d00c575080eb 100644
|
||||
index c1aad9203af20102e560571435dfa75150b37c1b..ea97ea679b1ba64c9d33e52f39d010a923ef4385 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
||||
@@ -485,7 +485,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
|
||||
@@ -481,7 +481,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
|
||||
|
||||
@Override
|
||||
public com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() {
|
||||
|
||||
@@ -36,10 +36,10 @@ index 5c52b1563d20d7e977a5bb958c18b19dec5c365a..65664441c5692620a8b22513ded497b7
|
||||
} catch (CommandException ex) {
|
||||
sender.sendMessage(Component.text("An internal error occurred while attempting to tab-complete this command", NamedTextColor.RED));
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 1da86b25e3b89c79d4f3920c8d2ef10ee2757f65..8dc17473e580df2ba9273e612868ad325a952bee 100644
|
||||
index 03dfcb4665d0279c825a74f3f999c92fe2bd22cb..8646070885a65bcd6e60198bdaeb538613798389 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -1101,6 +1101,7 @@ public final class CraftServer implements Server {
|
||||
@@ -1073,6 +1073,7 @@ public final class CraftServer implements Server {
|
||||
playerMetadata.removeAll(plugin);
|
||||
}
|
||||
// Paper end
|
||||
@@ -48,10 +48,10 @@ index 1da86b25e3b89c79d4f3920c8d2ef10ee2757f65..8dc17473e580df2ba9273e612868ad32
|
||||
org.spigotmc.SpigotConfig.registerCommands(); // Spigot
|
||||
io.papermc.paper.command.PaperCommands.registerCommands(this.console); // Paper
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
index c311381d7d6841153f9f29f9a2e6718811bdf1c7..d855a6543433ce520fb26e536f32c22b847ea0b6 100644
|
||||
index a950bfb0c6aeb0b19150c59cea13337005c2752a..7f68edab68fc82a7ae269f01633c786b2d1026a8 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
@@ -170,6 +170,14 @@ public class Main {
|
||||
@@ -169,6 +169,14 @@ public class Main {
|
||||
.ofType(String.class)
|
||||
.defaultsTo("Unknown Server")
|
||||
.describedAs("Name");
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Leaves Protocol Core
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 8dc17473e580df2ba9273e612868ad325a952bee..4ffe2623badcaca80c192b3ea79488f274c125e9 100644
|
||||
index 8646070885a65bcd6e60198bdaeb538613798389..bd128202f1618a88b67def9c829ef7b269dad09c 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -497,6 +497,7 @@ public final class CraftServer implements Server {
|
||||
@@ -496,6 +496,7 @@ public final class CraftServer implements Server {
|
||||
this.potionBrewer = new io.papermc.paper.potion.PaperPotionBrewer(console); // Paper - custom potion mixes
|
||||
datapackManager = new io.papermc.paper.datapack.PaperDatapackManager(console.getPackRepository()); // Paper
|
||||
this.spark = new io.papermc.paper.SparksFly(this); // Paper - spark
|
||||
@@ -16,7 +16,7 @@ index 8dc17473e580df2ba9273e612868ad325a952bee..4ffe2623badcaca80c192b3ea79488f2
|
||||
}
|
||||
|
||||
public boolean getCommandBlockOverride(String command) {
|
||||
@@ -1108,6 +1109,7 @@ public final class CraftServer implements Server {
|
||||
@@ -1080,6 +1081,7 @@ public final class CraftServer implements Server {
|
||||
this.spark.registerCommandBeforePlugins(this); // Paper - spark
|
||||
this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*");
|
||||
this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions");
|
||||
|
||||
@@ -22,10 +22,10 @@ index a589689e3a9de1fffef62e0e3dcd79bb2e848c5b..a0a6cde96322df8e455b26b32b1c593f
|
||||
RegisteredListener[] listeners = handlers.getRegisteredListeners();
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java
|
||||
index 1775eb659ef1a10868cfc6721aedd5096fe0a17c..1eb1a3c9736bf97fbdcd1e17a86f49c030a6cdf3 100644
|
||||
index 0a10f49ee410d93e95ceb90108200a1a9d12b54b..b836e047e9a4ae9a4cbde5caf761013d2c99e12c 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java
|
||||
@@ -424,6 +424,7 @@ public abstract class CraftRegionAccessor implements RegionAccessor {
|
||||
@@ -423,6 +423,7 @@ public abstract class CraftRegionAccessor implements RegionAccessor {
|
||||
@SuppressWarnings("unchecked")
|
||||
public <T extends Entity> T addEntity(T entity) {
|
||||
Preconditions.checkArgument(!entity.isInWorld(), "Entity has already been added to a world");
|
||||
@@ -34,10 +34,10 @@ index 1775eb659ef1a10868cfc6721aedd5096fe0a17c..1eb1a3c9736bf97fbdcd1e17a86f49c0
|
||||
if (nmsEntity.level() != this.getHandle().getLevel()) {
|
||||
nmsEntity = nmsEntity.teleport(new TeleportTransition(this.getHandle().getLevel(), nmsEntity, TeleportTransition.DO_NOTHING));
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 4ffe2623badcaca80c192b3ea79488f274c125e9..25c11fbe0b4e0cdc0aa63982d185935e2016ba79 100644
|
||||
index bd128202f1618a88b67def9c829ef7b269dad09c..2a9fc317284a4e0bac4f0b64482b57de78d8bc30 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -316,6 +316,7 @@ public final class CraftServer implements Server {
|
||||
@@ -315,6 +315,7 @@ public final class CraftServer implements Server {
|
||||
private final io.papermc.paper.potion.PaperPotionBrewer potionBrewer;
|
||||
public final io.papermc.paper.SparksFly spark;
|
||||
private final ServerConfiguration serverConfig = new PaperServerConfiguration();
|
||||
@@ -45,7 +45,7 @@ index 4ffe2623badcaca80c192b3ea79488f274c125e9..25c11fbe0b4e0cdc0aa63982d185935e
|
||||
|
||||
// Paper start - Folia region threading API
|
||||
private final io.papermc.paper.threadedregions.scheduler.FallbackRegionScheduler regionizedScheduler = new io.papermc.paper.threadedregions.scheduler.FallbackRegionScheduler();
|
||||
@@ -498,6 +499,7 @@ public final class CraftServer implements Server {
|
||||
@@ -497,6 +498,7 @@ public final class CraftServer implements Server {
|
||||
datapackManager = new io.papermc.paper.datapack.PaperDatapackManager(console.getPackRepository()); // Paper
|
||||
this.spark = new io.papermc.paper.SparksFly(this); // Paper - spark
|
||||
org.leavesmc.leaves.protocol.core.LeavesProtocolManager.init(); // Leaves - protocol
|
||||
@@ -53,7 +53,7 @@ index 4ffe2623badcaca80c192b3ea79488f274c125e9..25c11fbe0b4e0cdc0aa63982d185935e
|
||||
}
|
||||
|
||||
public boolean getCommandBlockOverride(String command) {
|
||||
@@ -1469,7 +1471,7 @@ public final class CraftServer implements Server {
|
||||
@@ -1441,7 +1443,7 @@ public final class CraftServer implements Server {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -62,7 +62,7 @@ index 4ffe2623badcaca80c192b3ea79488f274c125e9..25c11fbe0b4e0cdc0aa63982d185935e
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -3209,4 +3211,11 @@ public final class CraftServer implements Server {
|
||||
@@ -3186,4 +3188,11 @@ public final class CraftServer implements Server {
|
||||
public void allowPausing(final Plugin plugin, final boolean value) {
|
||||
this.console.addPluginAllowingSleep(plugin.getName(), value);
|
||||
}
|
||||
@@ -75,10 +75,10 @@ index 4ffe2623badcaca80c192b3ea79488f274c125e9..25c11fbe0b4e0cdc0aa63982d185935e
|
||||
+ // Leaves end - Bot API
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
index aae378697b2f2e388d2a5dfaca24c9197b8abf3e..6773681bfaf0edb03cc17bcdfa43b98c8b7c9c20 100644
|
||||
index 68351e47609ae06f0a1641b4ad2013ce6261ae4e..2d726d5878dc3033129ad30782871aae56c0595d 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
@@ -238,7 +238,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
@@ -247,7 +247,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
|
||||
@Override
|
||||
public int getPlayerCount() {
|
||||
@@ -87,7 +87,7 @@ index aae378697b2f2e388d2a5dfaca24c9197b8abf3e..6773681bfaf0edb03cc17bcdfa43b98c
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -1242,9 +1242,9 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
@@ -1264,9 +1264,9 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
|
||||
@Override
|
||||
public List<Player> getPlayers() {
|
||||
@@ -99,7 +99,7 @@ index aae378697b2f2e388d2a5dfaca24c9197b8abf3e..6773681bfaf0edb03cc17bcdfa43b98c
|
||||
HumanEntity bukkitEntity = human.getBukkitEntity();
|
||||
|
||||
if ((bukkitEntity != null) && (bukkitEntity instanceof Player)) {
|
||||
@@ -1926,7 +1926,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
@@ -1948,7 +1948,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
public void playSound(final net.kyori.adventure.sound.Sound sound) {
|
||||
org.spigotmc.AsyncCatcher.catchOp("play sound"); // Paper
|
||||
final long seed = sound.seed().orElseGet(this.world.getRandom()::nextLong);
|
||||
@@ -108,7 +108,7 @@ index aae378697b2f2e388d2a5dfaca24c9197b8abf3e..6773681bfaf0edb03cc17bcdfa43b98c
|
||||
player.connection.send(io.papermc.paper.adventure.PaperAdventure.asSoundPacket(sound, player.getX(), player.getY(), player.getZ(), seed, null));
|
||||
}
|
||||
}
|
||||
@@ -1954,7 +1954,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
@@ -1976,7 +1976,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
org.spigotmc.AsyncCatcher.catchOp("play sound"); // Paper
|
||||
final long seed = sound.seed().orElseGet(this.getHandle().getRandom()::nextLong);
|
||||
if (emitter == net.kyori.adventure.sound.Sound.Emitter.self()) {
|
||||
@@ -117,7 +117,7 @@ index aae378697b2f2e388d2a5dfaca24c9197b8abf3e..6773681bfaf0edb03cc17bcdfa43b98c
|
||||
player.connection.send(io.papermc.paper.adventure.PaperAdventure.asSoundPacket(sound, player, seed, null));
|
||||
}
|
||||
} else if (emitter instanceof CraftEntity craftEntity) {
|
||||
@@ -2184,7 +2184,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
@@ -2206,7 +2206,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
Preconditions.checkArgument(particle.getDataType().isInstance(data), "data (%s) should be %s", data.getClass(), particle.getDataType());
|
||||
}
|
||||
this.getHandle().sendParticlesSource(
|
||||
@@ -127,10 +127,10 @@ index aae378697b2f2e388d2a5dfaca24c9197b8abf3e..6773681bfaf0edb03cc17bcdfa43b98c
|
||||
CraftParticle.createParticleParam(particle, data), // Particle
|
||||
force,
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
index 3b41a37f852c3b494b158e447eade9b030f26556..656586dc3bda8aefc8b2e648e9f3d008cb2908fd 100644
|
||||
index b38073628d3b1381ccc4e5c6c44b2b7ec8ba1273..656d599060449a4fd53360915378aca177b7e6e7 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
@@ -108,6 +108,8 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
@@ -121,6 +121,8 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
return new CraftHumanEntity(server, (net.minecraft.world.entity.player.Player) entity);
|
||||
}
|
||||
|
||||
@@ -140,10 +140,10 @@ index 3b41a37f852c3b494b158e447eade9b030f26556..656586dc3bda8aefc8b2e648e9f3d008
|
||||
if (entity instanceof EnderDragonPart complexPart) {
|
||||
if (complexPart.parentMob instanceof EnderDragon) {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
index 9774c9c72a910ccd919b903d92f4068c06d199d7..03778c286144d8f04147f37aa59fb73fcc584833 100644
|
||||
index 1d112510093d5eb5117adf16b92dd3411a610a4a..d74ce689380246eb176596f5905275fa5187aace 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
@@ -885,7 +885,11 @@ public class CraftEventFactory {
|
||||
@@ -896,7 +896,11 @@ public class CraftEventFactory {
|
||||
event.setKeepInventory(keepInventory);
|
||||
event.setKeepLevel(victim.keepLevel); // SPIGOT-2222: pre-set keepLevel
|
||||
populateFields(victim, event); // Paper - make cancellable
|
||||
|
||||
@@ -18,10 +18,10 @@ index a0a6cde96322df8e455b26b32b1c593f332d4db6..b5031ba5c48c7d007a7c05766a2beff4
|
||||
}
|
||||
// Leaves end - skip bot
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 25c11fbe0b4e0cdc0aa63982d185935e2016ba79..b6c8536c143b9ff64e7a7cb7016d113e7f766fb1 100644
|
||||
index 2a9fc317284a4e0bac4f0b64482b57de78d8bc30..3c130ecb6c2898596d5e4749b04b4aa14c34f289 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -317,6 +317,7 @@ public final class CraftServer implements Server {
|
||||
@@ -316,6 +316,7 @@ public final class CraftServer implements Server {
|
||||
public final io.papermc.paper.SparksFly spark;
|
||||
private final ServerConfiguration serverConfig = new PaperServerConfiguration();
|
||||
private final org.leavesmc.leaves.entity.CraftBotManager botManager; // Leaves
|
||||
@@ -29,7 +29,7 @@ index 25c11fbe0b4e0cdc0aa63982d185935e2016ba79..b6c8536c143b9ff64e7a7cb7016d113e
|
||||
|
||||
// Paper start - Folia region threading API
|
||||
private final io.papermc.paper.threadedregions.scheduler.FallbackRegionScheduler regionizedScheduler = new io.papermc.paper.threadedregions.scheduler.FallbackRegionScheduler();
|
||||
@@ -411,7 +412,7 @@ public final class CraftServer implements Server {
|
||||
@@ -410,7 +411,7 @@ public final class CraftServer implements Server {
|
||||
public CraftServer(DedicatedServer console, PlayerList playerList) {
|
||||
this.console = console;
|
||||
this.playerList = (DedicatedPlayerList) playerList;
|
||||
@@ -38,7 +38,7 @@ index 25c11fbe0b4e0cdc0aa63982d185935e2016ba79..b6c8536c143b9ff64e7a7cb7016d113e
|
||||
@Override
|
||||
public CraftPlayer apply(ServerPlayer player) {
|
||||
return player.getBukkitEntity();
|
||||
@@ -3218,4 +3219,11 @@ public final class CraftServer implements Server {
|
||||
@@ -3195,4 +3196,11 @@ public final class CraftServer implements Server {
|
||||
return botManager;
|
||||
}
|
||||
// Leaves end - Bot API
|
||||
@@ -51,10 +51,10 @@ index 25c11fbe0b4e0cdc0aa63982d185935e2016ba79..b6c8536c143b9ff64e7a7cb7016d113e
|
||||
+ // Leaves end - replay mod api
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
index 656586dc3bda8aefc8b2e648e9f3d008cb2908fd..b0e3471b3f18994c9ccaea4afe34a31709e68571 100644
|
||||
index 656d599060449a4fd53360915378aca177b7e6e7..1e94a2e2f9669c8130a228c440720b424e1bd080 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
@@ -109,6 +109,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
@@ -122,6 +122,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
}
|
||||
|
||||
if (entity instanceof org.leavesmc.leaves.bot.ServerBot bot) { return new org.leavesmc.leaves.entity.CraftBot(server, bot); }
|
||||
@@ -63,10 +63,10 @@ index 656586dc3bda8aefc8b2e648e9f3d008cb2908fd..b0e3471b3f18994c9ccaea4afe34a317
|
||||
// Special case complex part, since there is no extra entity type for them
|
||||
if (entity instanceof EnderDragonPart complexPart) {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 1db6276ae7a547860cf2c6f85b37ec4d6b33655a..e09e9daadb9f8d8230d72f50ab34bffd1c5c3ecd 100644
|
||||
index 1e2e8d81e6d05b9e94fdb40dcdc4a7e0e4ceb0ac..231007b5f7a97e0fa4cc2f259ed8ac9740895298 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -2257,7 +2257,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -2205,7 +2205,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player, PluginMessa
|
||||
|
||||
@Override
|
||||
public boolean canSee(Player player) {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Bytebuf API
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index b6c8536c143b9ff64e7a7cb7016d113e7f766fb1..eb49cf958cbbd1d53f0bb4556ade8bc407ae7a20 100644
|
||||
index 3c130ecb6c2898596d5e4749b04b4aa14c34f289..164830c0d9bae7849a4953e489ea144919d9911a 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -318,6 +318,7 @@ public final class CraftServer implements Server {
|
||||
@@ -317,6 +317,7 @@ public final class CraftServer implements Server {
|
||||
private final ServerConfiguration serverConfig = new PaperServerConfiguration();
|
||||
private final org.leavesmc.leaves.entity.CraftBotManager botManager; // Leaves
|
||||
private final org.leavesmc.leaves.entity.CraftPhotographerManager photographerManager = new org.leavesmc.leaves.entity.CraftPhotographerManager(); // Leaves
|
||||
@@ -16,7 +16,7 @@ index b6c8536c143b9ff64e7a7cb7016d113e7f766fb1..eb49cf958cbbd1d53f0bb4556ade8bc4
|
||||
|
||||
// Paper start - Folia region threading API
|
||||
private final io.papermc.paper.threadedregions.scheduler.FallbackRegionScheduler regionizedScheduler = new io.papermc.paper.threadedregions.scheduler.FallbackRegionScheduler();
|
||||
@@ -3226,4 +3227,15 @@ public final class CraftServer implements Server {
|
||||
@@ -3203,4 +3204,15 @@ public final class CraftServer implements Server {
|
||||
return photographerManager;
|
||||
}
|
||||
// Leaves end - replay mod api
|
||||
@@ -33,12 +33,12 @@ index b6c8536c143b9ff64e7a7cb7016d113e7f766fb1..eb49cf958cbbd1d53f0bb4556ade8bc4
|
||||
+ // Leaves end - Bytebuf API
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index e09e9daadb9f8d8230d72f50ab34bffd1c5c3ecd..32b866b5327634af3c5fdf80d80839e219789b21 100644
|
||||
index 231007b5f7a97e0fa4cc2f259ed8ac9740895298..25b9ff06411d1675672a7ee630dcfab5baf8d974 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -3576,4 +3576,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
public void setDeathScreenScore(final int score) {
|
||||
getHandle().setScore(score);
|
||||
@@ -3503,4 +3503,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player, PluginMessa
|
||||
public PlayerGameConnection getConnection() {
|
||||
return this.getHandle().connection.playerGameConnection;
|
||||
}
|
||||
+
|
||||
+ // Leaves start - Bytebuf API
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
package org.leavesmc.leaves.bytebuf;
|
||||
|
||||
import com.google.gson.JsonElement;
|
||||
import com.mojang.datafixers.util.Pair;
|
||||
import com.mojang.serialization.JsonOps;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import net.minecraft.core.RegistryAccess;
|
||||
import net.minecraft.network.FriendlyByteBuf;
|
||||
@@ -226,7 +228,7 @@ public class WrappedBytebuf implements Bytebuf {
|
||||
|
||||
@Override
|
||||
public Bytebuf writeComponentJson(JsonElement json) {
|
||||
Component component = Component.Serializer.fromJson(json, RegistryAccess.EMPTY);
|
||||
Component component = ComponentSerialization.CODEC.decode(JsonOps.INSTANCE, json).mapOrElse(Pair::getFirst, v -> null);
|
||||
if (component == null) {
|
||||
throw new IllegalArgumentException("Null can not be serialize to Minecraft chat component");
|
||||
}
|
||||
@@ -236,7 +238,7 @@ public class WrappedBytebuf implements Bytebuf {
|
||||
|
||||
@Override
|
||||
public JsonElement readComponentJson() {
|
||||
return Component.Serializer.serialize(ComponentSerialization.STREAM_CODEC.decode(new RegistryFriendlyByteBuf(buf, RegistryAccess.EMPTY)), RegistryAccess.EMPTY);
|
||||
return ComponentSerialization.CODEC.encodeStart(JsonOps.INSTANCE, ComponentSerialization.STREAM_CODEC.decode(new RegistryFriendlyByteBuf(buf, RegistryAccess.EMPTY))).getOrThrow();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -8,7 +8,7 @@ import net.minecraft.core.IdMap;
|
||||
import net.minecraft.network.FriendlyByteBuf;
|
||||
import net.minecraft.network.VarInt;
|
||||
import net.minecraft.world.level.chunk.Palette;
|
||||
import net.minecraft.world.level.chunk.PaletteResize;
|
||||
import net.minecraft.world.level.chunk.Palette.PaletteResize;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
55
leaves-server/unapplied/0012-Bytebuf-API.patch
Normal file
55
leaves-server/unapplied/0012-Bytebuf-API.patch
Normal file
@@ -0,0 +1,55 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Lumine1909 <133463833+Lumine1909@users.noreply.github.com>
|
||||
Date: Thu, 6 Feb 2025 00:14:23 +0800
|
||||
Subject: [PATCH] Bytebuf API
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index b6c8536c143b9ff64e7a7cb7016d113e7f766fb1..eb49cf958cbbd1d53f0bb4556ade8bc407ae7a20 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -318,6 +318,7 @@ public final class CraftServer implements Server {
|
||||
private final ServerConfiguration serverConfig = new PaperServerConfiguration();
|
||||
private final org.leavesmc.leaves.entity.CraftBotManager botManager; // Leaves
|
||||
private final org.leavesmc.leaves.entity.CraftPhotographerManager photographerManager = new org.leavesmc.leaves.entity.CraftPhotographerManager(); // Leaves
|
||||
+ private final org.leavesmc.leaves.bytebuf.internal.InternalBytebufHandler internalBytebufHandler = new org.leavesmc.leaves.bytebuf.internal.InternalBytebufHandler(); // Leaves
|
||||
|
||||
// Paper start - Folia region threading API
|
||||
private final io.papermc.paper.threadedregions.scheduler.FallbackRegionScheduler regionizedScheduler = new io.papermc.paper.threadedregions.scheduler.FallbackRegionScheduler();
|
||||
@@ -3226,4 +3227,15 @@ public final class CraftServer implements Server {
|
||||
return photographerManager;
|
||||
}
|
||||
// Leaves end - replay mod api
|
||||
+
|
||||
+ // Leaves start - Bytebuf API
|
||||
+ @Override
|
||||
+ public org.leavesmc.leaves.bytebuf.BytebufManager getBytebufManager() {
|
||||
+ return internalBytebufHandler.getManager();
|
||||
+ }
|
||||
+
|
||||
+ public org.leavesmc.leaves.bytebuf.internal.InternalBytebufHandler getBytebufHandler() {
|
||||
+ return internalBytebufHandler;
|
||||
+ }
|
||||
+ // Leaves end - Bytebuf API
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index e09e9daadb9f8d8230d72f50ab34bffd1c5c3ecd..32b866b5327634af3c5fdf80d80839e219789b21 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -3576,4 +3576,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
public void setDeathScreenScore(final int score) {
|
||||
getHandle().setScore(score);
|
||||
}
|
||||
+
|
||||
+ // Leaves start - Bytebuf API
|
||||
+ @Override
|
||||
+ public void sendPacket(org.leavesmc.leaves.bytebuf.packet.Packet packet) {
|
||||
+ this.server.getBytebufHandler().applyPacketToPlayer(this.getHandle(), packet);
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void sendPacket(org.leavesmc.leaves.bytebuf.Bytebuf bytebuf, org.leavesmc.leaves.bytebuf.packet.PacketType type) {
|
||||
+ this.server.getBytebufHandler().applyPacketToPlayer(this.getHandle(), new org.leavesmc.leaves.bytebuf.packet.Packet(type, bytebuf));
|
||||
+ }
|
||||
+ // Leaves end - Bytebuf API
|
||||
}
|
||||
262
leaves-server/unapplied/0013-Leaves-plugin.patch
Normal file
262
leaves-server/unapplied/0013-Leaves-plugin.patch
Normal file
@@ -0,0 +1,262 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: MC_XiaoHei <xiaohei.xor7@outlook.com>
|
||||
Date: Mon, 22 Jul 2024 09:05:56 +0000
|
||||
Subject: [PATCH] Leaves plugin
|
||||
|
||||
This patch is licensed under the MIT license.
|
||||
|
||||
diff --git a/src/main/java/io/papermc/paper/command/PaperPluginsCommand.java b/src/main/java/io/papermc/paper/command/PaperPluginsCommand.java
|
||||
index 41c95f00b4b2bea6d31f85e268c33d7f6184823e..a9154645554379d80b43171562f6f64a01ed3792 100644
|
||||
--- a/src/main/java/io/papermc/paper/command/PaperPluginsCommand.java
|
||||
+++ b/src/main/java/io/papermc/paper/command/PaperPluginsCommand.java
|
||||
@@ -172,28 +172,41 @@ public class PaperPluginsCommand extends BukkitCommand {
|
||||
|
||||
final TreeMap<String, PluginProvider<JavaPlugin>> paperPlugins = new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
|
||||
final TreeMap<String, PluginProvider<JavaPlugin>> spigotPlugins = new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
|
||||
+ // Leaves start - leaves plugin
|
||||
+ final TreeMap<String, PluginProvider<JavaPlugin>> leavesPlugins = new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
|
||||
|
||||
for (final PluginProvider<JavaPlugin> provider : LaunchEntryPointHandler.INSTANCE.get(Entrypoint.PLUGIN).getRegisteredProviders()) {
|
||||
final PluginMeta configuration = provider.getMeta();
|
||||
|
||||
if (provider instanceof SpigotPluginProvider) {
|
||||
spigotPlugins.put(configuration.getDisplayName(), provider);
|
||||
+ } else if (provider instanceof PaperPluginParent.LeavesServerPluginProvider) {
|
||||
+ leavesPlugins.put(configuration.getDisplayName(), provider);
|
||||
} else if (provider instanceof PaperPluginParent.PaperServerPluginProvider) {
|
||||
paperPlugins.put(configuration.getDisplayName(), provider);
|
||||
}
|
||||
}
|
||||
|
||||
+ final int sizeLeavesPlugins = leavesPlugins.size();
|
||||
final int sizePaperPlugins = paperPlugins.size();
|
||||
final int sizeSpigotPlugins = spigotPlugins.size();
|
||||
- final int sizePlugins = sizePaperPlugins + sizeSpigotPlugins;
|
||||
- final boolean hasAllPluginTypes = (sizePaperPlugins > 0 && sizeSpigotPlugins > 0);
|
||||
+ final int sizePlugins = sizePaperPlugins + sizeSpigotPlugins + sizeLeavesPlugins;
|
||||
+ final boolean showSize = (sizePaperPlugins > 0 && sizeSpigotPlugins > 0) || (sizePaperPlugins > 0 && sizeLeavesPlugins > 0) || (sizeSpigotPlugins > 0 && sizeLeavesPlugins > 0);
|
||||
|
||||
final Component infoMessage = Component.text().append(INFO_ICON_SERVER_PLUGIN).append(Component.text("Server Plugins (%s):".formatted(sizePlugins), NamedTextColor.WHITE)).build();
|
||||
|
||||
sender.sendMessage(infoMessage);
|
||||
|
||||
+ if (!leavesPlugins.isEmpty()) {
|
||||
+ sender.sendMessage(header("Leaves Plugins", 0x37D1AB, sizeLeavesPlugins, showSize));
|
||||
+ }
|
||||
+
|
||||
+ for (final Component component : formatProviders(leavesPlugins)) {
|
||||
+ sender.sendMessage(component);
|
||||
+ }
|
||||
+
|
||||
if (!paperPlugins.isEmpty()) {
|
||||
- sender.sendMessage(header("Paper Plugins", 0x0288D1, sizePaperPlugins, hasAllPluginTypes));
|
||||
+ sender.sendMessage(header("Paper Plugins", 0x0288D1, sizePaperPlugins, showSize));
|
||||
}
|
||||
|
||||
for (final Component component : formatProviders(paperPlugins)) {
|
||||
@@ -201,8 +214,9 @@ public class PaperPluginsCommand extends BukkitCommand {
|
||||
}
|
||||
|
||||
if (!spigotPlugins.isEmpty()) {
|
||||
- sender.sendMessage(header("Bukkit Plugins", 0xED8106, sizeSpigotPlugins, hasAllPluginTypes));
|
||||
+ sender.sendMessage(header("Bukkit Plugins", 0xED8106, sizeSpigotPlugins, showSize));
|
||||
}
|
||||
+ // Leaves end - leaves plugin
|
||||
|
||||
for (final Component component : formatProviders(spigotPlugins)) {
|
||||
sender.sendMessage(component);
|
||||
diff --git a/src/main/java/io/papermc/paper/plugin/PluginInitializerManager.java b/src/main/java/io/papermc/paper/plugin/PluginInitializerManager.java
|
||||
index 70413fddd23ca1165cb5090cce4fddcb1bbca93f..2cdf32d5f08b575cf0fe755634242ddb05b59774 100644
|
||||
--- a/src/main/java/io/papermc/paper/plugin/PluginInitializerManager.java
|
||||
+++ b/src/main/java/io/papermc/paper/plugin/PluginInitializerManager.java
|
||||
@@ -117,19 +117,30 @@ public class PluginInitializerManager {
|
||||
java.util.List<Path> files = ((java.util.List<File>) optionSet.valuesOf("add-plugin")).stream().map(File::toPath).toList();
|
||||
io.papermc.paper.plugin.util.EntrypointUtil.registerProvidersFromSource(io.papermc.paper.plugin.provider.source.PluginFlagProviderSource.INSTANCE, files);
|
||||
|
||||
+ // Leaves start - leaves plugin
|
||||
+ final Set<String> leavesPluginNames = new TreeSet<>();
|
||||
final Set<String> paperPluginNames = new TreeSet<>();
|
||||
final Set<String> legacyPluginNames = new TreeSet<>();
|
||||
LaunchEntryPointHandler.INSTANCE.getStorage().forEach((entrypoint, providerStorage) -> {
|
||||
providerStorage.getRegisteredProviders().forEach(provider -> {
|
||||
if (provider instanceof final SpigotPluginProvider legacy) {
|
||||
legacyPluginNames.add(String.format("%s (%s)", legacy.getMeta().getName(), legacy.getMeta().getVersion()));
|
||||
+ } else if (provider instanceof final PaperPluginParent.LeavesServerPluginProvider leaves) {
|
||||
+ leavesPluginNames.add(String.format("%s (%s)", provider.getMeta().getName(), provider.getMeta().getVersion()));
|
||||
} else if (provider instanceof final PaperPluginParent.PaperServerPluginProvider paper) {
|
||||
paperPluginNames.add(String.format("%s (%s)", provider.getMeta().getName(), provider.getMeta().getVersion()));
|
||||
}
|
||||
});
|
||||
});
|
||||
- final int total = paperPluginNames.size() + legacyPluginNames.size();
|
||||
+ final int total = leavesPluginNames.size() + paperPluginNames.size() + legacyPluginNames.size();
|
||||
LOGGER.info("Initialized {} plugin{}", total, total == 1 ? "" : "s");
|
||||
+ if (!leavesPluginNames.isEmpty()) {
|
||||
+ if (LOGGER.isDebugEnabled()) {
|
||||
+ LOGGER.info("Leaves plugins ({}):\n - {}", leavesPluginNames.size(), String.join("\n - ", leavesPluginNames));
|
||||
+ } else {
|
||||
+ LOGGER.info("Leaves plugins ({}):\n - {}", leavesPluginNames.size(), String.join(", ", leavesPluginNames));
|
||||
+ }
|
||||
+ } // Leaves end - leaves plugin
|
||||
if (!paperPluginNames.isEmpty()) {
|
||||
if (LOGGER.isDebugEnabled()) {
|
||||
LOGGER.info("Paper plugins ({}):\n - {}", paperPluginNames.size(), String.join("\n - ", paperPluginNames));
|
||||
diff --git a/src/main/java/io/papermc/paper/plugin/provider/configuration/LegacyPaperMeta.java b/src/main/java/io/papermc/paper/plugin/provider/configuration/LegacyPaperMeta.java
|
||||
index 8cd649c977172f6b757d68565fcbb9eb8ae100a3..c18a94af99c827d73c31279e324e15ec8217a31d 100644
|
||||
--- a/src/main/java/io/papermc/paper/plugin/provider/configuration/LegacyPaperMeta.java
|
||||
+++ b/src/main/java/io/papermc/paper/plugin/provider/configuration/LegacyPaperMeta.java
|
||||
@@ -18,7 +18,7 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
-class LegacyPaperMeta {
|
||||
+public class LegacyPaperMeta {
|
||||
|
||||
|
||||
private static final TypeToken<Map<PluginDependencyLifeCycle, Map<String, DependencyConfiguration>>> TYPE_TOKEN = new TypeToken<>() {
|
||||
@@ -28,6 +28,12 @@ class LegacyPaperMeta {
|
||||
ConfigurationTransformation.chain(notVersioned()).apply(node);
|
||||
}
|
||||
|
||||
+ // Leaves start - leaves plugin
|
||||
+ public static void migrate(org.spongepowered.configurate.ConfigurationNode node) throws ConfigurateException {
|
||||
+ ConfigurationTransformation.chain(notVersioned()).apply(node);
|
||||
+ }
|
||||
+ // Leaves end - leaves plugin
|
||||
+
|
||||
private static ConfigurationTransformation notVersioned() {
|
||||
return ConfigurationTransformation.builder()
|
||||
.addAction(NodePath.path(), (path, value) -> {
|
||||
diff --git a/src/main/java/io/papermc/paper/plugin/provider/configuration/PaperPluginMeta.java b/src/main/java/io/papermc/paper/plugin/provider/configuration/PaperPluginMeta.java
|
||||
index d3b3a8baca013909fa9c6204d964d7d7efeb2719..753fdb9782ee6b4cb8e232ebfdd52dea5d9e2a66 100644
|
||||
--- a/src/main/java/io/papermc/paper/plugin/provider/configuration/PaperPluginMeta.java
|
||||
+++ b/src/main/java/io/papermc/paper/plugin/provider/configuration/PaperPluginMeta.java
|
||||
@@ -55,7 +55,7 @@ public class PaperPluginMeta implements PluginMeta {
|
||||
@Required
|
||||
private String version;
|
||||
private String description;
|
||||
- private List<String> authors = List.of();
|
||||
+ protected List<String> authors = List.of(); // Leaves - leaves plugin
|
||||
private List<String> contributors = List.of();
|
||||
private String website;
|
||||
private String prefix;
|
||||
diff --git a/src/main/java/io/papermc/paper/plugin/provider/type/PluginFileType.java b/src/main/java/io/papermc/paper/plugin/provider/type/PluginFileType.java
|
||||
index 8d0da6e46d4eb5eb05c3144510c4ef083559d0ec..331a4e98699f65adfad275bde923c0f57ef4dd18 100644
|
||||
--- a/src/main/java/io/papermc/paper/plugin/provider/type/PluginFileType.java
|
||||
+++ b/src/main/java/io/papermc/paper/plugin/provider/type/PluginFileType.java
|
||||
@@ -23,6 +23,7 @@ import java.util.jar.JarFile;
|
||||
public abstract class PluginFileType<T, C extends PluginMeta> {
|
||||
|
||||
public static final String PAPER_PLUGIN_YML = "paper-plugin.yml";
|
||||
+ public static final String LEAVES_PLUGIN_JSON = "leaves-plugin.json"; // Leaves - leaves plugin
|
||||
private static final List<String> CONFIG_TYPES = new ArrayList<>();
|
||||
|
||||
public static final PluginFileType<PaperPluginParent, PaperPluginMeta> PAPER = new PluginFileType<>(PAPER_PLUGIN_YML, PaperPluginParent.FACTORY) {
|
||||
@@ -43,8 +44,21 @@ public abstract class PluginFileType<T, C extends PluginMeta> {
|
||||
entrypointHandler.register(Entrypoint.PLUGIN, provider);
|
||||
}
|
||||
};
|
||||
+ // Leaves start - leaves plugin
|
||||
+ public static final PluginFileType<PaperPluginParent, org.leavesmc.leaves.plugin.provider.configuration.LeavesPluginMeta> LEAVES = new PluginFileType<>(LEAVES_PLUGIN_JSON, PaperPluginParent.LEAVES_FACTORY) {
|
||||
+ @Override
|
||||
+ protected void register(EntrypointHandler entrypointHandler, PaperPluginParent parent) {
|
||||
+ PaperPluginParent.LeavesBootstrapProvider bootstrapPluginProvider = null;
|
||||
+ if (parent.shouldCreateBootstrap()) {
|
||||
+ bootstrapPluginProvider = parent.createLeavesBootstrapProvider();
|
||||
+ entrypointHandler.register(Entrypoint.BOOTSTRAPPER, bootstrapPluginProvider);
|
||||
+ }
|
||||
+ entrypointHandler.register(Entrypoint.PLUGIN, parent.createLeavesPluginProvider(bootstrapPluginProvider));
|
||||
+ }
|
||||
+ };
|
||||
|
||||
- private static final List<PluginFileType<?, ?>> VALUES = List.of(PAPER, SPIGOT);
|
||||
+ private static final List<PluginFileType<?, ?>> VALUES = List.of(LEAVES, PAPER, SPIGOT);
|
||||
+ // Leaves end - leaves plugin
|
||||
|
||||
private final String config;
|
||||
private final PluginTypeFactory<T, C> factory;
|
||||
diff --git a/src/main/java/io/papermc/paper/plugin/provider/type/paper/PaperPluginParent.java b/src/main/java/io/papermc/paper/plugin/provider/type/paper/PaperPluginParent.java
|
||||
index 55a6898e95704cddafda1ca5dc0951c7102fe10b..283f046c6f34c83f01e1ca1d80cbd7cc35a2b7d2 100644
|
||||
--- a/src/main/java/io/papermc/paper/plugin/provider/type/paper/PaperPluginParent.java
|
||||
+++ b/src/main/java/io/papermc/paper/plugin/provider/type/paper/PaperPluginParent.java
|
||||
@@ -27,6 +27,7 @@ import java.util.jar.JarFile;
|
||||
public class PaperPluginParent {
|
||||
|
||||
public static final PluginTypeFactory<PaperPluginParent, PaperPluginMeta> FACTORY = new PaperPluginProviderFactory();
|
||||
+ public static final PluginTypeFactory<PaperPluginParent, org.leavesmc.leaves.plugin.provider.configuration.LeavesPluginMeta> LEAVES_FACTORY = new org.leavesmc.leaves.plugin.provider.LeavesPluginProviderFactory(); // Leaves - leaves plugin
|
||||
private final Path path;
|
||||
private final JarFile jarFile;
|
||||
private final PaperPluginMeta description;
|
||||
@@ -51,6 +52,32 @@ public class PaperPluginParent {
|
||||
return new PaperBootstrapProvider();
|
||||
}
|
||||
|
||||
+ // Leaves start - leaves plugin
|
||||
+ public LeavesBootstrapProvider createLeavesBootstrapProvider() {
|
||||
+ return new io.papermc.paper.plugin.provider.type.paper.PaperPluginParent.LeavesBootstrapProvider();
|
||||
+ }
|
||||
+ public LeavesServerPluginProvider createLeavesPluginProvider(LeavesBootstrapProvider provider) {
|
||||
+ return new LeavesServerPluginProvider(provider);
|
||||
+ }
|
||||
+
|
||||
+ public class LeavesBootstrapProvider extends PaperBootstrapProvider {
|
||||
+ @Override
|
||||
+ public org.leavesmc.leaves.plugin.provider.configuration.LeavesPluginMeta getMeta() {
|
||||
+ return (org.leavesmc.leaves.plugin.provider.configuration.LeavesPluginMeta) super.getMeta();
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ public class LeavesServerPluginProvider extends PaperServerPluginProvider {
|
||||
+ LeavesServerPluginProvider(PaperPluginParent.LeavesBootstrapProvider bootstrapProvider) {
|
||||
+ super(bootstrapProvider);
|
||||
+ }
|
||||
+ @Override
|
||||
+ public org.leavesmc.leaves.plugin.provider.configuration.LeavesPluginMeta getMeta() {
|
||||
+ return (org.leavesmc.leaves.plugin.provider.configuration.LeavesPluginMeta) super.getMeta();
|
||||
+ }
|
||||
+ }
|
||||
+ // Leaves end - leaves plugin
|
||||
+
|
||||
public PaperServerPluginProvider createPluginProvider(PaperBootstrapProvider provider) {
|
||||
return new PaperServerPluginProvider(provider);
|
||||
}
|
||||
diff --git a/src/main/java/io/papermc/paper/plugin/storage/SimpleProviderStorage.java b/src/main/java/io/papermc/paper/plugin/storage/SimpleProviderStorage.java
|
||||
index 26422904751647a061397ce978bba752149003cd..884ed63dab16acca83fe8f421762f2561400b1fb 100644
|
||||
--- a/src/main/java/io/papermc/paper/plugin/storage/SimpleProviderStorage.java
|
||||
+++ b/src/main/java/io/papermc/paper/plugin/storage/SimpleProviderStorage.java
|
||||
@@ -26,6 +26,16 @@ public abstract class SimpleProviderStorage<T> implements ProviderStorage<T> {
|
||||
|
||||
@Override
|
||||
public void register(PluginProvider<T> provider) {
|
||||
+ // Leaves start - leaves plugin
|
||||
+ if (provider instanceof final io.papermc.paper.plugin.provider.type.paper.PaperPluginParent.LeavesServerPluginProvider leaves) {
|
||||
+ org.leavesmc.leaves.plugin.provider.configuration.LeavesPluginMeta meta = leaves.getMeta();
|
||||
+ java.util.List<String> unavailableFeatures = meta.getFeatures().getRequired().stream().filter(feature -> !org.leavesmc.leaves.plugin.ServerFeatureManager.INSTANCE.isFeatureAvailable(feature)).toList();
|
||||
+ if (!unavailableFeatures.isEmpty()) {
|
||||
+ LOGGER.warn("The plugin {} ({}) requires some unavailable feature(s) {}. The plugin has been skipped.", meta.getName(), meta.getVersion(), unavailableFeatures);
|
||||
+ return;
|
||||
+ }
|
||||
+ }
|
||||
+ // Leaves end - leaves plugin
|
||||
this.providers.add(provider);
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/io/papermc/paper/pluginremap/PluginRemapper.java b/src/main/java/io/papermc/paper/pluginremap/PluginRemapper.java
|
||||
index fbad4a2242aa1ab910b2e2ae4cce973ff63fda84..89d4fa952d072dd6e071dc9eef51f4050f7e750e 100644
|
||||
--- a/src/main/java/io/papermc/paper/pluginremap/PluginRemapper.java
|
||||
+++ b/src/main/java/io/papermc/paper/pluginremap/PluginRemapper.java
|
||||
@@ -337,7 +337,13 @@ public final class PluginRemapper {
|
||||
}
|
||||
index.skip(inputFile);
|
||||
return CompletableFuture.completedFuture(inputFile);
|
||||
- }
|
||||
+ } else if (ns == null && Files.exists(fs.getPath(PluginFileType.LEAVES_PLUGIN_JSON))) { // Leaves start - leaves plugin
|
||||
+ if (DEBUG_LOGGING) {
|
||||
+ LOGGER.info("Plugin '{}' is a Leaves plugin with no namespace specified.", inputFile);
|
||||
+ }
|
||||
+ index.skip(inputFile);
|
||||
+ return CompletableFuture.completedFuture(inputFile);
|
||||
+ } // Leaves end - leaves plugin
|
||||
}
|
||||
} catch (final IOException ex) {
|
||||
return CompletableFuture.failedFuture(new RuntimeException("Failed to open plugin jar " + inputFile, ex));
|
||||
@@ -0,0 +1,35 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: violetc <58360096+s-yh-china@users.noreply.github.com>
|
||||
Date: Sun, 6 Apr 2025 10:42:46 +0800
|
||||
Subject: [PATCH] Fix SculkCatalyst exp skip
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
index 03778c286144d8f04147f37aa59fb73fcc584833..daea37a117101a9f3b463e87bfc8f0f9db394aca 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
@@ -851,7 +851,7 @@ public class CraftEventFactory {
|
||||
CraftLivingEntity entity = (CraftLivingEntity) victim.getBukkitEntity();
|
||||
CraftDamageSource bukkitDamageSource = new CraftDamageSource(damageSource);
|
||||
CraftWorld world = (CraftWorld) entity.getWorld();
|
||||
- EntityDeathEvent event = new EntityDeathEvent(entity, bukkitDamageSource, new io.papermc.paper.util.TransformingRandomAccessList<>(drops, Entity.DefaultDrop::stack, FROM_FUNCTION), victim.getExpReward(world.getHandle(), damageSource.getEntity())); // Paper - Restore vanilla drops behavior
|
||||
+ EntityDeathEvent event = new EntityDeathEvent(entity, bukkitDamageSource, new io.papermc.paper.util.TransformingRandomAccessList<>(drops, Entity.DefaultDrop::stack, FROM_FUNCTION), victim.getExpReward(world.getHandle(), damageSource.getEntity()), victim.getExperienceReward(world.getHandle(), damageSource.getEntity())); // Paper - Restore vanilla drops behavior // Leaves - exp fix
|
||||
populateFields(victim, event); // Paper - make cancellable
|
||||
Bukkit.getServer().getPluginManager().callEvent(event);
|
||||
|
||||
@@ -862,6 +862,7 @@ public class CraftEventFactory {
|
||||
playDeathSound(victim, event, damageSource);
|
||||
// Paper end
|
||||
victim.expToDrop = event.getDroppedExp();
|
||||
+ victim.expToReward = event.getRewardExp(); // Leaves - exp fix
|
||||
lootCheck.run(); // Paper - advancement triggers before destroying items
|
||||
|
||||
// Paper start - Restore vanilla drops behavior
|
||||
@@ -901,6 +902,7 @@ public class CraftEventFactory {
|
||||
victim.newLevel = event.getNewLevel();
|
||||
victim.newTotalExp = event.getNewTotalExp();
|
||||
victim.expToDrop = event.getDroppedExp();
|
||||
+ victim.expToReward = event.getRewardExp(); // Leaves - exp fix
|
||||
victim.newExp = event.getNewExp();
|
||||
|
||||
// Paper start - Restore vanilla drops behavior
|
||||
22
leaves-server/unapplied/0015-Leaves-Config-API.patch
Normal file
22
leaves-server/unapplied/0015-Leaves-Config-API.patch
Normal file
@@ -0,0 +1,22 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Lumine1909 <133463833+Lumine1909@users.noreply.github.com>
|
||||
Date: Sun, 18 May 2025 19:58:42 +0800
|
||||
Subject: [PATCH] Leaves Config API
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index eb49cf958cbbd1d53f0bb4556ade8bc407ae7a20..6fbcde3248ec35d0188eea0e99922759d5f1d5cf 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -3238,4 +3238,11 @@ public final class CraftServer implements Server {
|
||||
return internalBytebufHandler;
|
||||
}
|
||||
// Leaves end - Bytebuf API
|
||||
+
|
||||
+ // Leaves start - Config API
|
||||
+ @Override
|
||||
+ public org.leavesmc.leaves.config.LeavesConfigProvider getLeavesConfig() {
|
||||
+ return org.leavesmc.leaves.config.InternalConfigProvider.INSTANCE;
|
||||
+ }
|
||||
+ // Leaves end - Config API
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user