9
0
mirror of https://github.com/Winds-Studio/Leaf.git synced 2025-12-19 06:59:20 +00:00

Updated Upstream (Paper/Purpur)

Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@88a3a870 Configurable xp orb merge group count (#12503)
PaperMC/Paper@53d1d04e Disable Item Obfuscation for entity related stacks (#12297)
PaperMC/Paper@c98cd658 Add configuration interface to expose certain config values (#12273)
PaperMC/Paper@42a2a6c2 Supports the ability for commands to be registered internally (#12520)
PaperMC/Paper@753cff7c Improvements for Dump paper commands (#12512)
PaperMC/Paper@e2da5d2f Registry API for supported Mob Variants (#12417)
PaperMC/Paper@ab0253fe Expand PlayerDeathEvent API (#12221)
PaperMC/Paper@cbcf75a5 Update visual fire handling with TriState support (#12303)
PaperMC/Paper@6c3964d2 Properly save level data async (#12530)
PaperMC/Paper@d2ad2e66 Add missing EntityLookup#getAllMapped from Moonrise
PaperMC/Paper@358e72ec Remove simplify remote item matching stuff for now
PaperMC/Paper@04ffca0b Also remove CraftPlayer methods
PaperMC/Paper@a2525819 Update mache
PaperMC/Paper@d683970d Add FishHookStateChangeEvent (#12165)
PaperMC/Paper@369ad170 Cached tag parser for itemstack reading (#12547)
PaperMC/Paper@841d6342 Fix ItemStack#addUnsafeEnchantment ignored for missing enchantment component (#12549)
PaperMC/Paper@c000b352 fix(bukkit-brig-forwarding-map): Invert isEmpty method (#12555)
PaperMC/Paper@28d7df75 Backport HeroesOfTheVillage datafixer fix
PaperMC/Paper@f1dbed07 Implement BlocksAttack DamageReduction and ItemDamage (#12538)
PaperMC/Paper@cc38032b Deprecate TeleportCause CHORUS_FRUIT for CONSUMABLE_EFFECT (#12546)
PaperMC/Paper@35878677 [ci/skip] Fix format and mentions for ItemDamageFunction (#12560)
PaperMC/Paper@7171d299 [ci/skip] Mention CAN_PLACE/CAN_BREAK component in ItemMeta (#12559)
PaperMC/Paper@6f73e62e Add getPickItemStack (#12552)
PaperMC/Paper@ce0fa4c4 Replace old version command with brigadier equivalent (#12502)
PaperMC/Paper@fa360aa8 Add some missing annotations and an incorrect one (#12204)
PaperMC/Paper@113b18ee Update paperweight and Gradle wrapper (#12573)
PaperMC/Paper@f303a076 fix: Don't hardcode checks for translation registries (#12571)
PaperMC/Paper@87349c31 Fix CombatTracker stale on death (#12562)
PaperMC/Paper@b70bca6b Revert "fix: Don't hardcode checks for translation registries (#12571)"

Purpur Changes:
PurpurMC/Purpur@93011bc1 Add configuration setting to re-add End void rings (#1656)
PurpurMC/Purpur@c2f48591 [ci/skip] only set default world config values once
PurpurMC/Purpur@6f5bbae5 [ci/skip] move some code around
PurpurMC/Purpur@5c1a9835 fix issue with `shift-right-click-repairs-mending-points`
PurpurMC/Purpur@3156e446 check damage value of tool correctly
PurpurMC/Purpur@a9fe4f25 Updated Upstream (Paper)
PurpurMC/Purpur@9d0aa8eb Updated Upstream (Paper)
PurpurMC/Purpur@603c7557 Updated Upstream (Paper)
PurpurMC/Purpur@eca78060 Updated Upstream (Paper)
PurpurMC/Purpur@e4e9cfdf Updated Upstream (Paper)
PurpurMC/Purpur@3de2fc7d Updated Upstream (Paper)
PurpurMC/Purpur@09f547de add `mob-griefing-override` config options (#1661)
PurpurMC/Purpur@1dd9bd0c Updated Upstream (Paper)
PurpurMC/Purpur@7a8aa86a finish updating gradle
PurpurMC/Purpur@fd78b90f bandaid fix: increase the daemon heap for now
This commit is contained in:
Dreeam
2025-05-24 22:06:22 +08:00
parent 2d1c044de6
commit 5ddabb083e
60 changed files with 549 additions and 387 deletions

View File

@@ -3,7 +3,7 @@ import org.gradle.api.tasks.testing.logging.TestLogEvent
plugins {
`maven-publish`
id("io.papermc.paperweight.patcher") version "2.0.0-beta.16"
id("io.papermc.paperweight.patcher") version "2.0.0-beta.17"
}
val paperMavenPublicUrl = "https://repo.papermc.io/repository/maven-public/"

View File

@@ -2,7 +2,7 @@ group=cn.dreeam.leaf
mcVersion=1.21.5
version=1.21.5-R0.1-SNAPSHOT
paperCommit=6f1f5b67e044b151feec164e4fad13ce282417c1
paperCommit=b70bca6b698cfc172891d7bfa149649160d08ba2
org.gradle.configuration-cache=true
org.gradle.caching=true

Binary file not shown.

View File

@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.1-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME

6
gradlew vendored
View File

@@ -114,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.
@@ -205,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.
@@ -213,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.

4
gradlew.bat vendored
View File

@@ -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

View File

@@ -75,10 +75,10 @@ index 652ff54e7c50412503725d628bfe72ed03059790..f738bbcefe288474c5f591dda03d7138
* Gets the {@code ServerBuildInfo}.
*
diff --git a/src/main/java/org/bukkit/command/defaults/VersionCommand.java b/src/main/java/org/bukkit/command/defaults/VersionCommand.java
index 26bc02a534cbf77fb3f605ee9d27cea6258fea0f..3c4e127cbd3b8310070f94e38d501d68860710a3 100644
index 29756f4ea6c6abf3b35106ee05a4f9ffd404a6af..d14d29364c4f180053158c1af0d9b49aba6cb641 100644
--- a/src/main/java/org/bukkit/command/defaults/VersionCommand.java
+++ b/src/main/java/org/bukkit/command/defaults/VersionCommand.java
@@ -213,7 +213,7 @@ public class VersionCommand extends BukkitCommand {
@@ -214,7 +214,7 @@ public class VersionCommand extends BukkitCommand {
String version = Bukkit.getVersion();
// Paper start
if (version.startsWith("null")) { // running from ide?

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Leaf config
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 5f649c86c919666297db94b9dffed9a8fed3eb9b..6d94c4f06988a3bcfe3a56821fde606af9abd818 100644
index ed899c4cb4b5261ceff56bbc9ca806e20904508e..68e2cf06b59b1e3353ad57544d7edfeebcfc3ae0 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -2368,6 +2368,14 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@@ -2380,6 +2380,14 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
}
// Paper end

View File

@@ -13,10 +13,10 @@ As part of: Paper (https://github.com/PaperMC/Paper)
Licensed under: MIT (https://opensource.org/licenses/MIT)
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 6d94c4f06988a3bcfe3a56821fde606af9abd818..99dd957604e0408b91b5459e28d9c04dbb161793 100644
index 68e2cf06b59b1e3353ad57544d7edfeebcfc3ae0..c1e4f01dbec2a796025ef35b6fdd68a82fa319d1 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -2366,6 +2366,15 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@@ -2378,6 +2378,15 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
{
throw new UnsupportedOperationException("Not supported yet.");
}

View File

@@ -7,10 +7,10 @@ License: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html)
Gale - https://galemc.org
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index ee791bf6299d654fb56300fbda1f6ea50620a3e2..da63ffc2deedc0f431ed84bce2f8750162d30e3c 100644
index c9ea6559f809a6732588b8908001807be3d91196..1e810d7f61e07cddd99d3f827673b724ac93b6b5 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -2428,6 +2428,35 @@ public final class Bukkit {
@@ -2438,6 +2438,35 @@ public final class Bukkit {
return server.getTPS();
}
@@ -47,10 +47,10 @@ index ee791bf6299d654fb56300fbda1f6ea50620a3e2..da63ffc2deedc0f431ed84bce2f87501
* Get a sample of the servers last tick times (in nanos)
*
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 99dd957604e0408b91b5459e28d9c04dbb161793..078edd89f599d7309feb4740d1a905ad2442803a 100644
index c1e4f01dbec2a796025ef35b6fdd68a82fa319d1..cfe600ed503994376284d71d6754d1a736048401 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -2118,6 +2118,29 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@@ -2126,6 +2126,29 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
*/
public double @NotNull [] getTPS();

View File

@@ -37,10 +37,10 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index da63ffc2deedc0f431ed84bce2f8750162d30e3c..ccdd6fba261cb148cf02017c2bf779b3d3bb070b 100644
index 1e810d7f61e07cddd99d3f827673b724ac93b6b5..f998208e0b26132d29d79fc2653d9f5572046f70 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -2428,7 +2428,30 @@ public final class Bukkit {
@@ -2438,7 +2438,30 @@ public final class Bukkit {
return server.getTPS();
}
@@ -72,10 +72,10 @@ index da63ffc2deedc0f431ed84bce2f8750162d30e3c..ccdd6fba261cb148cf02017c2bf779b3
* Gets the average server TPS over the last 1 minute
*
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 078edd89f599d7309feb4740d1a905ad2442803a..4265607a6f5ca535a17756b417e22ac3478cfa5c 100644
index cfe600ed503994376284d71d6754d1a736048401..d57a77ff531e8bc5c0fa41e66c64c28f9a4a1515 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -2118,7 +2118,27 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@@ -2126,7 +2126,27 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
*/
public double @NotNull [] getTPS();

View File

@@ -23,10 +23,10 @@ The above copyright notice and this permission notice shall be included in all c
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index ccdd6fba261cb148cf02017c2bf779b3d3bb070b..10662089e8a08bae6c6077b72c30b14bb94cc2c7 100644
index f998208e0b26132d29d79fc2653d9f5572046f70..2e316238da9377c046105249273b260912ebfcab 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -3034,6 +3034,20 @@ public final class Bukkit {
@@ -3044,6 +3044,20 @@ public final class Bukkit {
}
// Paper end - Folia region threading API
@@ -48,10 +48,10 @@ index ccdd6fba261cb148cf02017c2bf779b3d3bb070b..10662089e8a08bae6c6077b72c30b14b
* @deprecated All methods on this class have been deprecated, see the individual methods for replacements.
*/
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 4265607a6f5ca535a17756b417e22ac3478cfa5c..ea27c7ba247e7726ca623e6a22110f94f70f81c9 100644
index d57a77ff531e8bc5c0fa41e66c64c28f9a4a1515..e8f192bad2ffa3cb1c5217293420a863d57b5377 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -2764,4 +2764,29 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@@ -2776,4 +2776,29 @@ 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

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Purpur API Changes
Original license: MIT
Original project: https://github.com/PurpurMC/Purpur
Commit: 8c77678e81c813e57dda10c646599b0ab3144218
Commit: fd78b90f2041e50b2a94110859b951fc8fa320e9
Patches listed below are removed in this patch, They exists in Gale or Leaf:
* "co/aikar/timings/TimedEventExecutor.java.patch"
@@ -69,10 +69,10 @@ index f738bbcefe288474c5f591dda03d713850633854..5c10ab3deb359bd0045ba5999bcbce19
/**
* The brand id for Gale.
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index 10662089e8a08bae6c6077b72c30b14bb94cc2c7..6a599344d3cf2df5219f7afac3b3bc3722e9f26a 100644
index 2e316238da9377c046105249273b260912ebfcab..98cfd68226494dbb1a2eaa6680e23a76c2129a62 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -3063,4 +3063,133 @@ public final class Bukkit {
@@ -3073,4 +3073,133 @@ public final class Bukkit {
public static void restart() {
server.restart();
}
@@ -443,10 +443,10 @@ index 6f83097b1097d0ffa81a95e6f0300cb410dfee2b..c1f19d5c1b819873fce1185b4fbf4c72
+ // Purpur end - OfflinePlayer API
}
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index ea27c7ba247e7726ca623e6a22110f94f70f81c9..e5684bffdcc68ede5952c6ce28e3e16752c49b37 100644
index e8f192bad2ffa3cb1c5217293420a863d57b5377..002c998368dea33872d65beb79eb4931ce1158d2 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -2420,6 +2420,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@@ -2432,6 +2432,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
// Paper end
@@ -465,7 +465,7 @@ index ea27c7ba247e7726ca623e6a22110f94f70f81c9..e5684bffdcc68ede5952c6ce28e3e167
// Leaf start - Leaf config - API
@NotNull
public org.bukkit.configuration.file.YamlConfiguration getLeafConfig()
@@ -2789,4 +2801,121 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@@ -2801,4 +2813,121 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
*/
long getLastTickOversleepTime();
// Gale end - YAPFA - last tick time - API
@@ -709,10 +709,10 @@ index 739911cda33b373f99df627a3a378b37d7d461aa..58e16c12b06fa11d30b67f5038844ff9
* Add an entity to the block.
*
diff --git a/src/main/java/org/bukkit/command/SimpleCommandMap.java b/src/main/java/org/bukkit/command/SimpleCommandMap.java
index 5df19bd701c67506689fc7f49d91f99ebfbc83f0..32c81559507a8e5085c91d466cda69d0dc11327e 100644
index 4acda947b7d69ab4133b4cc94e76d945e4d148d5..613a0bad5c07cf14098218652eba1f4deaf77c6d 100644
--- a/src/main/java/org/bukkit/command/SimpleCommandMap.java
+++ b/src/main/java/org/bukkit/command/SimpleCommandMap.java
@@ -153,6 +153,19 @@ public class SimpleCommandMap implements CommandMap {
@@ -146,6 +146,19 @@ public class SimpleCommandMap implements CommandMap {
return false;
}
@@ -732,7 +732,7 @@ index 5df19bd701c67506689fc7f49d91f99ebfbc83f0..32c81559507a8e5085c91d466cda69d0
// Paper start - Plugins do weird things to workaround normal registration
if (target.timings == null) {
target.timings = co.aikar.timings.TimingsManager.getCommandTiming(null, target);
@@ -162,7 +175,7 @@ public class SimpleCommandMap implements CommandMap {
@@ -155,7 +168,7 @@ public class SimpleCommandMap implements CommandMap {
try {
try (co.aikar.timings.Timing ignored = target.timings.startTiming()) { // Paper - use try with resources
// Note: we don't return the result of target.execute as thats success / failure, we return handled (true) or not handled (false)
@@ -811,10 +811,10 @@ index 332c55fd6b4b3a8c0cad920a6e765ecc40e684e4..10a8d64ad2da0be2c14f34c3e7d1957c
// Paper start
/**
diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
index dc91a3cf3bd706ab9b2b02967adf18c07f186c5b..3a3c6ab87a164df706f59f6b59bfe977492658d7 100644
index 66a31c5d83b78dddb43e70cfd5ce7c7fb8a551b6..b6ee04873c1ee57f7e8804f6d247806f2c0e448f 100644
--- a/src/main/java/org/bukkit/entity/Entity.java
+++ b/src/main/java/org/bukkit/entity/Entity.java
@@ -1224,4 +1224,59 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
@@ -1261,4 +1261,59 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
*/
void broadcastHurtAnimation(@NotNull java.util.Collection<Player> players);
// Paper end - broadcast hurt animation
@@ -1017,7 +1017,7 @@ 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 28a3224c32e1890c95d540080fc5c04bc930a1e9..953ee95c692d91e1bd222f9224ea990f9d4feca0 100644
index 868085a98ec22841d0337583ade3e4fb291abcbc..72f0c460cb06c386f2ee6228de214ae130a38cbb 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -3920,4 +3920,123 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -1213,10 +1213,10 @@ index 11ae1b3ad8c215f9245945d223c52f4a62ac47d9..7f23eb5a60ff08fb31e8ba3731a43bd7
+ // Purpur end
}
diff --git a/src/main/java/org/bukkit/entity/Wolf.java b/src/main/java/org/bukkit/entity/Wolf.java
index a1c7b6ba655f40e0b48202a511267f606114bca5..af4f8ba59d00eadb26dbbc3b92492088e6bf5fac 100644
index a6414ffc4a6d8ebef3486abc877688507e34e5c8..ade8b061f0a3d94f990e997659d5ad32aa1631c4 100644
--- a/src/main/java/org/bukkit/entity/Wolf.java
+++ b/src/main/java/org/bukkit/entity/Wolf.java
@@ -164,4 +164,20 @@ public interface Wolf extends Tameable, Sittable, io.papermc.paper.entity.Collar
@@ -163,4 +163,20 @@ public interface Wolf extends Tameable, Sittable, io.papermc.paper.entity.Collar
return RegistryAccess.registryAccess().getRegistry(RegistryKey.WOLF_SOUND_VARIANT).getOrThrow(NamespacedKey.minecraft(key));
}
}

View File

@@ -2861,18 +2861,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 32c81559507a8e5085c91d466cda69d0dc11327e..7e9f1237f197094318fc41df2e2fa58fbc81e528 100644
index 613a0bad5c07cf14098218652eba1f4deaf77c6d..25a0414cc9482925ad0426dde57e65012d62e637 100644
--- a/src/main/java/org/bukkit/command/SimpleCommandMap.java
+++ b/src/main/java/org/bukkit/command/SimpleCommandMap.java
@@ -39,7 +39,6 @@ public class SimpleCommandMap implements CommandMap {
register("bukkit", new VersionCommand("version"));
@@ -32,7 +32,6 @@ public class SimpleCommandMap implements CommandMap {
private void setDefaultCommands() {
register("bukkit", new ReloadCommand("reload"));
//register("bukkit", new PluginsCommand("plugins")); // Paper
- register("bukkit", new co.aikar.timings.TimingsCommand("timings")); // Paper
- register("bukkit", new co.aikar.timings.TimingsCommand("timings"));
}
public void setFallbackCommands() {
@@ -71,7 +70,6 @@ public class SimpleCommandMap implements CommandMap {
@@ -64,7 +63,6 @@ public class SimpleCommandMap implements CommandMap {
*/
@Override
public boolean register(@NotNull String label, @NotNull String fallbackPrefix, @NotNull Command command) {
@@ -2880,7 +2880,7 @@ index 32c81559507a8e5085c91d466cda69d0dc11327e..7e9f1237f197094318fc41df2e2fa58f
label = label.toLowerCase(Locale.ROOT).trim();
fallbackPrefix = fallbackPrefix.toLowerCase(Locale.ROOT).trim();
boolean registered = register(label, command, false, fallbackPrefix);
@@ -166,23 +164,13 @@ public class SimpleCommandMap implements CommandMap {
@@ -159,23 +157,13 @@ public class SimpleCommandMap implements CommandMap {
parsedArgs = event.getArgs();
// Purpur end - ExecuteCommandEvent

View File

@@ -7,7 +7,7 @@
+val leafMavenPublicUrl = "https://maven.nostal.ink/repository/maven-snapshots/" // Leaf - project setup - Add publish repo
dependencies {
mache("io.papermc:mache:1.21.5+build.1")
mache("io.papermc:mache:1.21.5+build.2")
- paperclip("io.papermc:paperclip:3.0.3")
+ paperclip("cn.dreeam:quantumleaper:1.0.0-SNAPSHOT") // Leaf - project setup - Use own paperclip fork
testRuntimeOnly("org.junit.platform:junit-platform-launcher")

View File

@@ -93,7 +93,7 @@ index 31e02f50edd46220dac81500dbb273f1ccdbe0b9..aa44476e7d732a51d226533ccf6fb550
// Paper start - fix converting txt to json file; convert old users earlier after PlayerList creation but before file load/save
if (this.convertOldUsers()) {
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
index d50d2928ad9f8b34a14621b1fe5c188547e04bd1..845d03dc893df2200327e9ee2710474874750c93 100644
index bfbfbaa9660d21071c420b60b10be0a02a1bc87e..f66aca0b506390ca5c2f95aacb9495417de325e7 100644
--- a/net/minecraft/server/level/ServerLevel.java
+++ b/net/minecraft/server/level/ServerLevel.java
@@ -580,7 +580,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -106,7 +106,7 @@ index d50d2928ad9f8b34a14621b1fe5c188547e04bd1..845d03dc893df2200327e9ee27104748
this.levelStorageAccess = levelStorageAccess;
this.uuid = org.bukkit.craftbukkit.util.WorldUUID.getOrCreate(levelStorageAccess.levelDirectory.path().toFile());
diff --git a/net/minecraft/world/level/Level.java b/net/minecraft/world/level/Level.java
index 013ed7dbe2309f562f63e66203179a90566e8115..e2829222337ed5a5061b60a153c8224eb53de9e8 100644
index 418d3958b7510d469142178f9427c829b6387d83..4c31b039eb697ba84598dd1fdded707a2f155ce5 100644
--- a/net/minecraft/world/level/Level.java
+++ b/net/minecraft/world/level/Level.java
@@ -159,6 +159,12 @@ public abstract class Level implements LevelAccessor, UUIDLookup<Entity>, AutoCl
@@ -123,7 +123,7 @@ index 013ed7dbe2309f562f63e66203179a90566e8115..e2829222337ed5a5061b60a153c8224e
public static @Nullable BlockPos lastPhysicsProblem; // Spigot
private int tileTickPosition;
@@ -827,6 +833,8 @@ public abstract class Level implements LevelAccessor, UUIDLookup<Entity>, AutoCl
org.bukkit.World.Environment env, // CraftBukkit
org.bukkit.World.Environment environment, // Paper
java.util.function.Function<org.spigotmc.SpigotWorldConfig, // Spigot - create per world config
io.papermc.paper.configuration.WorldConfiguration> paperWorldConfigCreator, // Paper - create paper world config
+ java.util.function.Function<org.spigotmc.SpigotWorldConfig, // Gale - Gale configuration
@@ -136,6 +136,6 @@ index 013ed7dbe2309f562f63e66203179a90566e8115..e2829222337ed5a5061b60a153c8224e
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) levelData).getLevelName()); // Spigot
this.paperConfig = paperWorldConfigCreator.apply(this.spigotConfig); // Paper - create paper world config
+ this.galeConfig = galeWorldConfigCreator.apply(this.spigotConfig); // Gale - Gale configuration
this.generator = gen;
this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env);
this.generator = generator;
this.world = new CraftWorld((ServerLevel) this, generator, biomeProvider, environment);

View File

@@ -37,7 +37,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
diff --git a/net/minecraft/commands/Commands.java b/net/minecraft/commands/Commands.java
index 9dd86cf63dd93620adb539a7a80a8d01c7ac08a2..2c20ffe36ebba53e9cb2ffc79bb25e8fb3bae207 100644
index 1927163db5d44383b69f41e4b9855535e853d127..f1a637272a8e4ec9c46209ca6b58a4905c925a86 100644
--- a/net/minecraft/commands/Commands.java
+++ b/net/minecraft/commands/Commands.java
@@ -55,7 +55,6 @@ import net.minecraft.server.commands.CloneCommands;
@@ -536,10 +536,10 @@ index d8179f1b7441679a96ac8ccbd67c2cb1c4fc4fd6..923fc9d611d46017cf7ac8e6de6cf096
public static class TickTimes {
private final long[] times;
diff --git a/net/minecraft/server/ReloadableServerResources.java b/net/minecraft/server/ReloadableServerResources.java
index 84e2b940ab8301b789a01d5b739d69cb50db5bf4..f4205dca158f90450892af1223cc7912e494c05e 100644
index c891715968193f2ab4579b4a2b4aeeae6a210070..42326fc40b834c944e714fec91811d5c39dbe40c 100644
--- a/net/minecraft/server/ReloadableServerResources.java
+++ b/net/minecraft/server/ReloadableServerResources.java
@@ -98,7 +98,7 @@ public class ReloadableServerResources {
@@ -99,7 +99,7 @@ public class ReloadableServerResources {
backgroundExecutor,
gameExecutor,
DATA_RELOAD_INITIAL_TASK,
@@ -889,7 +889,7 @@ index 59e8a5e1b35c81883c9b1ca00c6e55d77584d8cc..4167b46148fc370f20b35c2a261e38c0
}
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
index 3a53ea9a02cb04781502d7525c95f47701013f8b..90d77499350b67d738d0fad8f2eb056607acb0cc 100644
index f66aca0b506390ca5c2f95aacb9495417de325e7..c130a4c61fed477f32be2d1b233ec1293a2ec70b 100644
--- a/net/minecraft/server/level/ServerLevel.java
+++ b/net/minecraft/server/level/ServerLevel.java
@@ -74,8 +74,6 @@ import net.minecraft.util.Mth;
@@ -1079,10 +1079,10 @@ index 3a53ea9a02cb04781502d7525c95f47701013f8b..90d77499350b67d738d0fad8f2eb0566
for (Entity entity : passengerEntity.getPassengers()) {
this.tickPassenger(passengerEntity, entity, isActive); // Paper - EAR 2
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
index ee6ad1474510b15eaa9a67d29ab8267ff43e0410..16b390f527cf18a000ebed2950a35bcfb15c6c21 100644
index 3781d9cc174b7aecacb9b9855d52c7b1ff05835c..eb61b2c6323d2b3dad8939e73d7b95450c09ef6c 100644
--- a/net/minecraft/server/level/ServerPlayer.java
+++ b/net/minecraft/server/level/ServerPlayer.java
@@ -104,8 +104,6 @@ import net.minecraft.util.HashOps;
@@ -103,8 +103,6 @@ import net.minecraft.util.HashOps;
import net.minecraft.util.Mth;
import net.minecraft.util.RandomSource;
import net.minecraft.util.Unit;
@@ -1091,7 +1091,7 @@ index ee6ad1474510b15eaa9a67d29ab8267ff43e0410..16b390f527cf18a000ebed2950a35bcf
import net.minecraft.world.Container;
import net.minecraft.world.Difficulty;
import net.minecraft.world.InteractionHand;
@@ -1372,14 +1370,10 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
@@ -1375,14 +1373,10 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
this.unsetRemoved();
*/
// CraftBukkit end
@@ -1106,7 +1106,7 @@ index ee6ad1474510b15eaa9a67d29ab8267ff43e0410..16b390f527cf18a000ebed2950a35bcf
// CraftBukkit start
this.isChangingDimension = true; // CraftBukkit - Set teleport invulnerability only if player changing worlds
LevelData worlddata = level.getLevelData();
@@ -1396,7 +1390,6 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
@@ -1399,7 +1393,6 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
this.connection.internalTeleport(PositionMoveRotation.of(teleportTransition), teleportTransition.relatives()); // CraftBukkit - use internal teleport without event
this.connection.resetPosition();
level.addDuringTeleport(this);
@@ -1234,7 +1234,7 @@ index 64b0508ef21952c65b0b967b756b2a4c64d96899..b6b03fbbd669e6331b30255df5419611
protected abstract T prepare(ResourceManager resourceManager, ProfilerFiller profiler);
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
index 43f0777683039a6e8e57eebc9445538487d35c53..5e4b7e420c46e011293618fb52f8a273dacb4a33 100644
index af123cc567b5e53703f9555ea6f5ad322c679eb7..ad8e2e90940adbb5bb471833710ee29fff3b6e9a 100644
--- a/net/minecraft/world/entity/Entity.java
+++ b/net/minecraft/world/entity/Entity.java
@@ -82,8 +82,6 @@ import net.minecraft.tags.FluidTags;
@@ -1306,7 +1306,7 @@ index 43f0777683039a6e8e57eebc9445538487d35c53..5e4b7e420c46e011293618fb52f8a273
}
}
// Paper start - detailed watchdog information
@@ -3192,8 +3179,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -3208,8 +3195,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
this.processPortalCooldown();
if (this.portalProcess != null) {
if (this.portalProcess.processPortalTeleportation(serverLevel, this, this.canUsePortal(false))) {
@@ -1315,7 +1315,7 @@ index 43f0777683039a6e8e57eebc9445538487d35c53..5e4b7e420c46e011293618fb52f8a273
this.setPortalCooldown();
TeleportTransition portalDestination = this.portalProcess.getPortalDestination(serverLevel, this);
if (portalDestination != null) {
@@ -3204,7 +3189,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -3220,7 +3205,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
}
@@ -1323,7 +1323,7 @@ index 43f0777683039a6e8e57eebc9445538487d35c53..5e4b7e420c46e011293618fb52f8a273
} else if (this.portalProcess.hasExpired()) {
this.portalProcess = null;
}
@@ -3759,15 +3743,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -3775,15 +3759,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
entity.teleport(this.calculatePassengerTransition(teleportTransition, entity));
}
@@ -1339,7 +1339,7 @@ index 43f0777683039a6e8e57eebc9445538487d35c53..5e4b7e420c46e011293618fb52f8a273
return this;
}
@@ -3783,11 +3764,8 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -3799,11 +3780,8 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
}
@@ -1351,7 +1351,7 @@ index 43f0777683039a6e8e57eebc9445538487d35c53..5e4b7e420c46e011293618fb52f8a273
return null;
} else {
// Paper start - Fix item duplication and teleport issues
@@ -3806,7 +3784,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -3822,7 +3800,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
level.resetEmptyTime();
teleportTransition.postTeleportTransition().onTransition(entityx);
@@ -2074,7 +2074,7 @@ index e0e0d2ea7fc60e3142c675404d152eca60263240..09d559adb603e3d34bb82b944a2a3e8c
this.assignProfessionWhenSpawned = false;
}
diff --git a/net/minecraft/world/level/Level.java b/net/minecraft/world/level/Level.java
index e2829222337ed5a5061b60a153c8224eb53de9e8..9a5447dfa8cba271fdb205d21e4236c94074a7da 100644
index 4c31b039eb697ba84598dd1fdded707a2f155ce5..2ebb7f0f3686fa631de874fee9474f7ab530631f 100644
--- a/net/minecraft/world/level/Level.java
+++ b/net/minecraft/world/level/Level.java
@@ -35,8 +35,6 @@ import net.minecraft.util.AbortableIterationConsumer;

View File

@@ -13,10 +13,10 @@ As part of: EmpireCraft (https://github.com/starlis/empirecraft)
Licensed under: MIT (https://opensource.org/licenses/MIT)
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
index 16b390f527cf18a000ebed2950a35bcfb15c6c21..671393424ca6773ffeb05c4183cf833181f1c1a9 100644
index eb61b2c6323d2b3dad8939e73d7b95450c09ef6c..c2f16ad046a24a1d6fba9f91d832a870e904457d 100644
--- a/net/minecraft/server/level/ServerPlayer.java
+++ b/net/minecraft/server/level/ServerPlayer.java
@@ -422,6 +422,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
@@ -414,6 +414,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
public boolean sentListPacket = false;
public boolean supressTrackerForLogin = false; // Paper - Fire PlayerJoinEvent when Player is actually ready
// CraftBukkit end

View File

@@ -13,7 +13,7 @@ As part of: VMP (https://github.com/RelativityMC/VMP-fabric)
Licensed under: MIT (https://opensource.org/licenses/MIT)
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
index e1e075303f0e857c054572ed970dad1a8f38b10b..6cb01e3ca083d37d38675994ad030a6416023011 100644
index c68233c5953f7a760b9c0b74c19bdfbeb61f349f..51b899299a655af6b85b69fbf7fef03f7cb83369 100644
--- a/net/minecraft/world/entity/Entity.java
+++ b/net/minecraft/world/entity/Entity.java
@@ -240,6 +240,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -36,7 +36,7 @@ index e1e075303f0e857c054572ed970dad1a8f38b10b..6cb01e3ca083d37d38675994ad030a64
final Vec3 originalMovement = movement; // Paper - Expose pre-collision velocity
// Paper start - detailed watchdog information
ca.spottedleaf.moonrise.common.util.TickThread.ensureTickThread("Cannot move an entity off-main");
@@ -4135,6 +4141,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -4151,6 +4157,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
public final void setBoundingBox(AABB bb) {

View File

@@ -7,10 +7,10 @@ License: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html)
Gale - https://galemc.org
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
index dfb904ab37f0ebd5caf8bdb958d1ccc8ecc1717b..df9424c0eff76ee664919930cc8b3a4ce49ed67e 100644
index 358de5a663874f56e381d65e63db5787fe9af83c..a28a1d5213900153bbc302b8c6462586a430c06b 100644
--- a/net/minecraft/world/entity/Entity.java
+++ b/net/minecraft/world/entity/Entity.java
@@ -4645,6 +4645,16 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -4661,6 +4661,16 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
return this.inBlockState;
}

View File

@@ -13,10 +13,10 @@ As part of: MultiPaper (https://github.com/MultiPaper/MultiPaper)
Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html)
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
index 671393424ca6773ffeb05c4183cf833181f1c1a9..08a4454a8dbbd75b60b8aaeafc03d2323a583c12 100644
index c2f16ad046a24a1d6fba9f91d832a870e904457d..f1fb5a87844ca7fb1de6afc532e7e0b058e6f580 100644
--- a/net/minecraft/server/level/ServerPlayer.java
+++ b/net/minecraft/server/level/ServerPlayer.java
@@ -2076,12 +2076,18 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
@@ -2079,12 +2079,18 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
@Override
public void crit(Entity entityHit) {

View File

@@ -26,10 +26,10 @@ index d381800ad054be6b054dcca43fbe80d3f0c0c771..5904b9d985487ff8bd1f330667c43096
double d1 = center.y - maxRange;
double d2 = center.x + maxRange;
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
index 08a4454a8dbbd75b60b8aaeafc03d2323a583c12..29e61a4cc550e4a627f4da99d116da5d4af9a45d 100644
index f1fb5a87844ca7fb1de6afc532e7e0b058e6f580..7f18fb7f61e9219eb23073d9215f3bd6c57dc320 100644
--- a/net/minecraft/server/level/ServerPlayer.java
+++ b/net/minecraft/server/level/ServerPlayer.java
@@ -496,7 +496,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
@@ -488,7 +488,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
long l1 = l * l;
int i = l1 > 2147483647L ? Integer.MAX_VALUE : (int)l1;
int coprime = this.getCoprime(i);
@@ -52,7 +52,7 @@ index 0b8d279a53196f3998b1f6901738ca8e02ef7311..9add567d2ec2f5e9cd5bee84423c5a44
}
diff --git a/net/minecraft/world/entity/projectile/FishingHook.java b/net/minecraft/world/entity/projectile/FishingHook.java
index 9476a33ff4ec272a2c3b3cf9685cb4653138c57e..1ecfcb37a0d1c3f3810c5c8ce8043626ce8c25a9 100644
index ca5cd9354d53c6c05bd7ba50c6e1dbd1ed548f67..6cfd384aea8c8e90b4e4ae08ece86d52640c95d7 100644
--- a/net/minecraft/world/entity/projectile/FishingHook.java
+++ b/net/minecraft/world/entity/projectile/FishingHook.java
@@ -48,7 +48,7 @@ import org.slf4j.Logger;

View File

@@ -9,10 +9,10 @@ Original project: https://github.com/Cryptite/Slice
Co-authored-by: HaHaWTH <102713261+HaHaWTH@users.noreply.github.com>
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
index 5e9c02f66f6606fd2eaa8298eddbdff2889cffed..f3ccabaf4ff9bd0265415193831fd22b1868c00e 100644
index 6bc6000c45f35ff85b36bede9d6010d8452b1f21..a05cd22bfe3a2c25a5e37c973766a162ce8e7244 100644
--- a/net/minecraft/server/level/ServerPlayer.java
+++ b/net/minecraft/server/level/ServerPlayer.java
@@ -431,6 +431,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
@@ -423,6 +423,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
private boolean tpsBar = false; // Purpur - Implement TPSBar
private boolean compassBar = false; // Purpur - Add compass command
private boolean ramBar = false; // Purpur - Implement rambar commands

View File

@@ -83,10 +83,10 @@ index 39489c8a347031fb4f73faca46039786e35762ac..4de1d0966157b20526386becee10b9be
}
diff --git a/org/purpurmc/purpur/PurpurWorldConfig.java b/org/purpurmc/purpur/PurpurWorldConfig.java
index ed5bbc49da258f8db249b1387f51ed1b22a29053..5bfb5228316441a913b506a438f7a0135582933a 100644
index 31cc4e6e68a9743aaaeb296cb31e64526d3f1f73..67739ba7cb82d615a5f0c4db7aaa5552c53a42c5 100644
--- a/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1570,6 +1570,7 @@ public class PurpurWorldConfig {
@@ -1625,6 +1625,7 @@ public class PurpurWorldConfig {
public boolean drownedTakeDamageFromWater = false;
public boolean drownedBreakDoors = false;
public boolean drownedAlwaysDropExp = false;
@@ -94,7 +94,7 @@ index ed5bbc49da258f8db249b1387f51ed1b22a29053..5bfb5228316441a913b506a438f7a013
private void drownedSettings() {
drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable);
drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater);
@@ -1588,6 +1589,7 @@ public class PurpurWorldConfig {
@@ -1643,6 +1644,7 @@ public class PurpurWorldConfig {
drownedTakeDamageFromWater = getBoolean("mobs.drowned.takes-damage-from-water", drownedTakeDamageFromWater);
drownedBreakDoors = getBoolean("mobs.drowned.can-break-doors", drownedBreakDoors);
drownedAlwaysDropExp = getBoolean("mobs.drowned.always-drop-exp", drownedAlwaysDropExp);
@@ -102,7 +102,7 @@ index ed5bbc49da258f8db249b1387f51ed1b22a29053..5bfb5228316441a913b506a438f7a013
}
public boolean elderGuardianRidable = false;
@@ -1962,6 +1964,7 @@ public class PurpurWorldConfig {
@@ -2037,6 +2039,7 @@ public class PurpurWorldConfig {
public boolean huskJockeyTryExistingChickens = true;
public boolean huskTakeDamageFromWater = false;
public boolean huskAlwaysDropExp = false;
@@ -110,7 +110,7 @@ index ed5bbc49da258f8db249b1387f51ed1b22a29053..5bfb5228316441a913b506a438f7a013
private void huskSettings() {
huskRidable = getBoolean("mobs.husk.ridable", huskRidable);
huskRidableInWater = getBoolean("mobs.husk.ridable-in-water", huskRidableInWater);
@@ -1979,6 +1982,7 @@ public class PurpurWorldConfig {
@@ -2054,6 +2057,7 @@ public class PurpurWorldConfig {
huskJockeyTryExistingChickens = getBoolean("mobs.husk.jockey.try-existing-chickens", huskJockeyTryExistingChickens);
huskTakeDamageFromWater = getBoolean("mobs.husk.takes-damage-from-water", huskTakeDamageFromWater);
huskAlwaysDropExp = getBoolean("mobs.husk.always-drop-exp", huskAlwaysDropExp);
@@ -118,7 +118,7 @@ index ed5bbc49da258f8db249b1387f51ed1b22a29053..5bfb5228316441a913b506a438f7a013
}
public boolean illusionerRidable = false;
@@ -3297,6 +3301,7 @@ public class PurpurWorldConfig {
@@ -3417,6 +3421,7 @@ public class PurpurWorldConfig {
public boolean zombieTakeDamageFromWater = false;
public boolean zombieAlwaysDropExp = false;
public double zombieHeadVisibilityPercent = 0.5D;
@@ -126,7 +126,7 @@ index ed5bbc49da258f8db249b1387f51ed1b22a29053..5bfb5228316441a913b506a438f7a013
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -3317,6 +3322,7 @@ public class PurpurWorldConfig {
@@ -3442,6 +3447,7 @@ public class PurpurWorldConfig {
zombieTakeDamageFromWater = getBoolean("mobs.zombie.takes-damage-from-water", zombieTakeDamageFromWater);
zombieAlwaysDropExp = getBoolean("mobs.zombie.always-drop-exp", zombieAlwaysDropExp);
zombieHeadVisibilityPercent = getDouble("mobs.zombie.head-visibility-percent", zombieHeadVisibilityPercent);
@@ -134,7 +134,7 @@ index ed5bbc49da258f8db249b1387f51ed1b22a29053..5bfb5228316441a913b506a438f7a013
}
public boolean zombieHorseRidable = false;
@@ -3366,6 +3372,7 @@ public class PurpurWorldConfig {
@@ -3491,6 +3497,7 @@ public class PurpurWorldConfig {
public int zombieVillagerCuringTimeMax = 6000;
public boolean zombieVillagerCureEnabled = true;
public boolean zombieVillagerAlwaysDropExp = false;
@@ -142,7 +142,7 @@ index ed5bbc49da258f8db249b1387f51ed1b22a29053..5bfb5228316441a913b506a438f7a013
private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -3386,6 +3393,7 @@ public class PurpurWorldConfig {
@@ -3511,6 +3518,7 @@ public class PurpurWorldConfig {
zombieVillagerCuringTimeMax = getInt("mobs.zombie_villager.curing_time.max", zombieVillagerCuringTimeMax);
zombieVillagerCureEnabled = getBoolean("mobs.zombie_villager.cure.enabled", zombieVillagerCureEnabled);
zombieVillagerAlwaysDropExp = getBoolean("mobs.zombie_villager.always-drop-exp", zombieVillagerAlwaysDropExp);
@@ -150,7 +150,7 @@ index ed5bbc49da258f8db249b1387f51ed1b22a29053..5bfb5228316441a913b506a438f7a013
}
public boolean zombifiedPiglinRidable = false;
@@ -3400,6 +3408,7 @@ public class PurpurWorldConfig {
@@ -3525,6 +3533,7 @@ public class PurpurWorldConfig {
public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = false;
public boolean zombifiedPiglinTakeDamageFromWater = false;
public boolean zombifiedPiglinAlwaysDropExp = false;
@@ -158,7 +158,7 @@ index ed5bbc49da258f8db249b1387f51ed1b22a29053..5bfb5228316441a913b506a438f7a013
private void zombifiedPiglinSettings() {
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
@@ -3421,6 +3430,7 @@ public class PurpurWorldConfig {
@@ -3546,6 +3555,7 @@ public class PurpurWorldConfig {
zombifiedPiglinCountAsPlayerKillWhenAngry = getBoolean("mobs.zombified_piglin.count-as-player-kill-when-angry", zombifiedPiglinCountAsPlayerKillWhenAngry);
zombifiedPiglinTakeDamageFromWater = getBoolean("mobs.zombified_piglin.takes-damage-from-water", zombifiedPiglinTakeDamageFromWater);
zombifiedPiglinAlwaysDropExp = getBoolean("mobs.zombified_piglin.always-drop-exp", zombifiedPiglinAlwaysDropExp);

View File

@@ -243,7 +243,7 @@ index 900c2fdd58da1ba6441f74175b6967b608248315..bf7f1338584d67ed93bd73f5de83a981
@Override
diff --git a/org/purpurmc/purpur/PurpurConfig.java b/org/purpurmc/purpur/PurpurConfig.java
index f71afc2b7f32dfe2c10ba2c14713778208cd6de3..23e959e348a1875d63b5862411dae162625a1aac 100644
index 234f123959830cc2adb78b9dc8752906140e5b11..e0dceff32b47b334ddcb76271e3cf3ea0d27e5f1 100644
--- a/org/purpurmc/purpur/PurpurConfig.java
+++ b/org/purpurmc/purpur/PurpurConfig.java
@@ -322,6 +322,7 @@ public class PurpurConfig {
@@ -263,10 +263,10 @@ index f71afc2b7f32dfe2c10ba2c14713778208cd6de3..23e959e348a1875d63b5862411dae162
org.bukkit.event.inventory.InventoryType.ENDER_CHEST.setDefaultSize(enderChestSixRows ? 54 : 27);
enderChestPermissionRows = getBoolean("settings.blocks.ender_chest.use-permissions-for-rows", enderChestPermissionRows);
diff --git a/org/purpurmc/purpur/PurpurWorldConfig.java b/org/purpurmc/purpur/PurpurWorldConfig.java
index 5bfb5228316441a913b506a438f7a0135582933a..0bcc19dbd8f3107ea5f99e3ad81c3b8cd9ee5783 100644
index 67739ba7cb82d615a5f0c4db7aaa5552c53a42c5..d81e06592aa9521f866c2c910b43a7364de3796e 100644
--- a/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1139,12 +1139,20 @@ public class PurpurWorldConfig {
@@ -1189,12 +1189,20 @@ public class PurpurWorldConfig {
public boolean allayControllable = true;
public double allayMaxHealth = 20.0D;
public double allayScale = 1.0D;
@@ -287,7 +287,7 @@ index 5bfb5228316441a913b506a438f7a0135582933a..0bcc19dbd8f3107ea5f99e3ad81c3b8c
}
public boolean armadilloRidable = false;
@@ -1299,6 +1307,10 @@ public class PurpurWorldConfig {
@@ -1349,6 +1357,10 @@ public class PurpurWorldConfig {
public double camelMovementSpeedMin = 0.09D;
public double camelMovementSpeedMax = 0.09D;
public int camelBreedingTicks = 6000;
@@ -298,7 +298,7 @@ index 5bfb5228316441a913b506a438f7a0135582933a..0bcc19dbd8f3107ea5f99e3ad81c3b8c
private void camelSettings() {
camelRidableInWater = getBoolean("mobs.camel.ridable-in-water", camelRidableInWater);
camelMaxHealthMin = getDouble("mobs.camel.attributes.max_health.min", camelMaxHealthMin);
@@ -1308,6 +1320,10 @@ public class PurpurWorldConfig {
@@ -1358,6 +1370,10 @@ public class PurpurWorldConfig {
camelMovementSpeedMin = getDouble("mobs.camel.attributes.movement_speed.min", camelMovementSpeedMin);
camelMovementSpeedMax = getDouble("mobs.camel.attributes.movement_speed.max", camelMovementSpeedMax);
camelBreedingTicks = getInt("mobs.camel.breeding-delay-ticks", camelBreedingTicks);
@@ -309,7 +309,7 @@ index 5bfb5228316441a913b506a438f7a0135582933a..0bcc19dbd8f3107ea5f99e3ad81c3b8c
}
public boolean catRidable = false;
@@ -1454,12 +1470,20 @@ public class PurpurWorldConfig {
@@ -1504,12 +1520,20 @@ public class PurpurWorldConfig {
public boolean creakingControllable = true;
public double creakingMaxHealth = 1.0D;
public double creakingScale = 1.0D;
@@ -330,7 +330,7 @@ index 5bfb5228316441a913b506a438f7a0135582933a..0bcc19dbd8f3107ea5f99e3ad81c3b8c
}
public boolean creeperRidable = false;
@@ -1766,12 +1790,22 @@ public class PurpurWorldConfig {
@@ -1841,12 +1865,22 @@ public class PurpurWorldConfig {
public boolean frogControllable = true;
public float frogRidableJumpHeight = 0.65F;
public int frogBreedingTicks = 6000;
@@ -353,7 +353,7 @@ index 5bfb5228316441a913b506a438f7a0135582933a..0bcc19dbd8f3107ea5f99e3ad81c3b8c
}
public boolean ghastRidable = false;
@@ -2801,6 +2835,10 @@ public class PurpurWorldConfig {
@@ -2911,6 +2945,10 @@ public class PurpurWorldConfig {
public double snifferMaxHealth = 14.0D;
public double snifferScale = 1.0D;
public int snifferBreedingTicks = 6000;
@@ -364,7 +364,7 @@ index 5bfb5228316441a913b506a438f7a0135582933a..0bcc19dbd8f3107ea5f99e3ad81c3b8c
private void snifferSettings() {
snifferRidable = getBoolean("mobs.sniffer.ridable", snifferRidable);
snifferRidableInWater = getBoolean("mobs.sniffer.ridable-in-water", snifferRidableInWater);
@@ -2808,6 +2846,10 @@ public class PurpurWorldConfig {
@@ -2918,6 +2956,10 @@ public class PurpurWorldConfig {
snifferMaxHealth = getDouble("mobs.sniffer.attributes.max_health", snifferMaxHealth);
snifferScale = Mth.clamp(getDouble("mobs.sniffer.attributes.scale", snifferScale), 0.0625D, 16.0D);
snifferBreedingTicks = getInt("mobs.sniffer.breeding-delay-ticks", snifferBreedingTicks);
@@ -375,7 +375,7 @@ index 5bfb5228316441a913b506a438f7a0135582933a..0bcc19dbd8f3107ea5f99e3ad81c3b8c
}
public boolean squidRidable = false;
@@ -2909,10 +2951,20 @@ public class PurpurWorldConfig {
@@ -3019,10 +3061,20 @@ public class PurpurWorldConfig {
public boolean tadpoleRidable = false;
public boolean tadpoleRidableInWater = true;
public boolean tadpoleControllable = true;
@@ -396,7 +396,7 @@ index 5bfb5228316441a913b506a438f7a0135582933a..0bcc19dbd8f3107ea5f99e3ad81c3b8c
}
public boolean traderLlamaRidable = false;
@@ -3141,10 +3193,20 @@ public class PurpurWorldConfig {
@@ -3256,10 +3308,20 @@ public class PurpurWorldConfig {
public boolean wardenRidable = false;
public boolean wardenRidableInWater = true;
public boolean wardenControllable = true;

View File

@@ -7,7 +7,7 @@ AFK command & command cooldown
AFK title message
diff --git a/net/minecraft/commands/Commands.java b/net/minecraft/commands/Commands.java
index bcecf48b43eef377354e32695d4258ea8020f73d..aba02a7e3139030050c3c61aabf7708c6c088a68 100644
index eb600398e4802bb47231bbc0c55fb24ce24a6efb..54cc28bb1693be2077cb30d1dc85f9ae24a6c954 100644
--- a/net/minecraft/commands/Commands.java
+++ b/net/minecraft/commands/Commands.java
@@ -247,6 +247,7 @@ public class Commands {
@@ -19,10 +19,10 @@ index bcecf48b43eef377354e32695d4258ea8020f73d..aba02a7e3139030050c3c61aabf7708c
org.purpurmc.purpur.command.DemoCommand.register(this.dispatcher); // Purpur - Add demo command
org.purpurmc.purpur.command.PingCommand.register(this.dispatcher); // Purpur - Add ping command
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
index f3ccabaf4ff9bd0265415193831fd22b1868c00e..6d3b895fcbb3c2fe4438e1e30d87dc2150c7f462 100644
index a05cd22bfe3a2c25a5e37c973766a162ce8e7244..602a087122a6baa3cb33e1bf5e6c4d98e500fa05 100644
--- a/net/minecraft/server/level/ServerPlayer.java
+++ b/net/minecraft/server/level/ServerPlayer.java
@@ -2382,6 +2382,10 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
@@ -2385,6 +2385,10 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
// Purpur start - AFK API
private boolean isAfk = false;
@@ -33,7 +33,7 @@ index f3ccabaf4ff9bd0265415193831fd22b1868c00e..6d3b895fcbb3c2fe4438e1e30d87dc21
@Override
public void setAfk(boolean afk) {
@@ -2419,6 +2423,18 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
@@ -2422,6 +2426,18 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
String prefix = (split.length > 0 ? split[0] : "").replace(org.purpurmc.purpur.PurpurConfig.afkTabListPrefix, "");
String suffix = (split.length > 1 ? split[1] : "").replace(org.purpurmc.purpur.PurpurConfig.afkTabListSuffix, "");
if (afk) {
@@ -164,7 +164,7 @@ index 536fea9622cdec212aa61adbb627704c59a8999f..37ba75bd50f785da11a0127fb40d86ee
player.awardStat(Stats.LEAVE_GAME);
// CraftBukkit start - Quitting must be before we do final save of data, in case plugins need to modify it
diff --git a/org/purpurmc/purpur/PurpurConfig.java b/org/purpurmc/purpur/PurpurConfig.java
index 23e959e348a1875d63b5862411dae162625a1aac..78e90d4e173c52c0dadc6c8e00326829a7c57575 100644
index e0dceff32b47b334ddcb76271e3cf3ea0d27e5f1..ba206b753afe26a5b4c6a2fd1fc438d9a581c3dc 100644
--- a/org/purpurmc/purpur/PurpurConfig.java
+++ b/org/purpurmc/purpur/PurpurConfig.java
@@ -175,6 +175,11 @@ public class PurpurConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable unknown command message
diff --git a/net/minecraft/commands/Commands.java b/net/minecraft/commands/Commands.java
index aba02a7e3139030050c3c61aabf7708c6c088a68..4bc1aa7a85596fa1bb275e88834b25f4fe2c6ea0 100644
index 54cc28bb1693be2077cb30d1dc85f9ae24a6c954..1e84f726f23877ed4be1aa901d7df0b11aa95552 100644
--- a/net/minecraft/commands/Commands.java
+++ b/net/minecraft/commands/Commands.java
@@ -403,31 +403,8 @@ public class Commands {
@@ -41,7 +41,7 @@ index aba02a7e3139030050c3c61aabf7708c6c088a68..4bc1aa7a85596fa1bb275e88834b25f4
org.bukkit.Bukkit.getServer().getPluginManager().callEvent(event);
if (event.message() != null) {
source.sendFailure(io.papermc.paper.adventure.PaperAdventure.asVanilla(event.message()), false);
@@ -677,6 +654,92 @@ public class Commands {
@@ -678,6 +655,92 @@ public class Commands {
};
}

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Fix MC-119417
Related MC issue: https://bugs.mojang.com/browse/MC/issues/MC-119417
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
index 6d3b895fcbb3c2fe4438e1e30d87dc2150c7f462..87651c9286fa61a7eeed95d0679230ee77616c9e 100644
index 602a087122a6baa3cb33e1bf5e6c4d98e500fa05..f898961de04ad0b224d0405e2cd43d61665cc1b1 100644
--- a/net/minecraft/server/level/ServerPlayer.java
+++ b/net/minecraft/server/level/ServerPlayer.java
@@ -2186,6 +2186,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
@@ -2189,6 +2189,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
this.connection.send(new ClientboundGameEventPacket(ClientboundGameEventPacket.CHANGE_GAME_MODE, gameMode.getId()));
if (gameMode == GameType.SPECTATOR) {
this.removeEntitiesOnShoulder();

View File

@@ -8,7 +8,7 @@ avoids multiple casting in Entity#distanceTo, using Math#sqrt directly instead o
these methods more able to be inlined by the JIT compiler.
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
index 689d5d215ab372b482ad715fc86df257ba04ed53..0fc0a69d377060aab39f179240c25031bebb2d97 100644
index c3d4cdfece32a05acd03b892cd5b343f0d230e64..1cbc319a9b5ce3b15f79fcfec8cf9c46d0d3d1d0 100644
--- a/net/minecraft/world/entity/Entity.java
+++ b/net/minecraft/world/entity/Entity.java
@@ -2186,31 +2186,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -43,7 +43,7 @@ index 689d5d215ab372b482ad715fc86df257ba04ed53..0fc0a69d377060aab39f179240c25031
public void playerTouch(Player player) {
}
@@ -5249,4 +5224,34 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -5265,4 +5240,34 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
return false;
}
// Purpur end - Ridables

View File

@@ -9,10 +9,10 @@ happen but the visual "refresh" of a world change is hidden. Depending on the de
this can act as a "smooth teleport" to a world if the new world is very similar looking to the old one.
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
index 87651c9286fa61a7eeed95d0679230ee77616c9e..a909056b922ad29607a5f85b6affa4fb5aa82d67 100644
index f898961de04ad0b224d0405e2cd43d61665cc1b1..afbac4f2da3aa58da82b9a06d656851f12756f32 100644
--- a/net/minecraft/server/level/ServerPlayer.java
+++ b/net/minecraft/server/level/ServerPlayer.java
@@ -1414,6 +1414,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
@@ -1417,6 +1417,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
LevelData worlddata = level.getLevelData();
this.connection.send(new ClientboundRespawnPacket(this.createCommonSpawnInfo(level), (byte) 3));
@@ -20,7 +20,7 @@ index 87651c9286fa61a7eeed95d0679230ee77616c9e..a909056b922ad29607a5f85b6affa4fb
this.connection.send(new ClientboundChangeDifficultyPacket(worlddata.getDifficulty(), worlddata.isDifficultyLocked()));
PlayerList playerList = this.server.getPlayerList();
@@ -1423,7 +1424,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
@@ -1426,7 +1427,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
// CraftBukkit end
this.portalPos = org.bukkit.craftbukkit.util.CraftLocation.toBlockPosition(exit); // Purpur - Fix stuck in portals
this.setServerLevel(level);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Cache eligible players for despawn checks
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
index c8c99323b6397c3e595e7a9007e5d801ee2ac14a..7ca4fd418599cdb1bb1de44f4c3c57f1770a4038 100644
index 1f3020f5a051d5f4e5c8fa088f844962c3105573..c6eb136e8db0aa232681ac9bd28c4b70fbbacb40 100644
--- a/net/minecraft/server/level/ServerLevel.java
+++ b/net/minecraft/server/level/ServerLevel.java
@@ -723,6 +723,8 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -38,10 +38,10 @@ index c8c99323b6397c3e595e7a9007e5d801ee2ac14a..7ca4fd418599cdb1bb1de44f4c3c57f1
.forEach(
entity -> {
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
index a909056b922ad29607a5f85b6affa4fb5aa82d67..ff4ca34dca8e0061977ea63707eb34c6e06dd66a 100644
index afbac4f2da3aa58da82b9a06d656851f12756f32..f765cc0044282ad592a146773ab93f82fefcebc4 100644
--- a/net/minecraft/server/level/ServerPlayer.java
+++ b/net/minecraft/server/level/ServerPlayer.java
@@ -1514,6 +1514,13 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
@@ -1517,6 +1517,13 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
this.containerMenu.broadcastChanges();
}
@@ -56,7 +56,7 @@ index a909056b922ad29607a5f85b6affa4fb5aa82d67..ff4ca34dca8e0061977ea63707eb34c6
private Either<Player.BedSleepingProblem, Unit> getBedResult(BlockPos at, Direction direction) {
if (this.isSleeping() || !this.isAlive()) {
diff --git a/net/minecraft/world/entity/Mob.java b/net/minecraft/world/entity/Mob.java
index d473c09e98eb5d3ef7b3e096197c7bf9a6219c56..77075bf43e7e2301e58aa6d9f8bfe934cce42f55 100644
index c15b6e32bd00650366dc4ecba2abeb6bfb98d638..81bd431e641be474f7a43a78df083756de1798de 100644
--- a/net/minecraft/world/entity/Mob.java
+++ b/net/minecraft/world/entity/Mob.java
@@ -705,7 +705,24 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab

View File

@@ -11,10 +11,10 @@ As part of: Airplane (https://github.com/TECHNOVE/Airplane)
Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html)
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
index 74b05983ae3e24f489ca9b0058c5d5c6dcd8cafb..658b8af9b1db252d5664956907a5c0db538018b0 100644
index 309a31215cb63452215fd880590cffd569aee208..1db32873588673900a8afa9767c3af12c7b6742a 100644
--- a/net/minecraft/world/entity/Entity.java
+++ b/net/minecraft/world/entity/Entity.java
@@ -4563,10 +4563,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -4579,10 +4579,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
// Paper start - optimise collisions
public boolean updateFluidHeightAndDoFluidPushing(final TagKey<Fluid> fluid, final double flowScale) {
@@ -26,7 +26,7 @@ index 74b05983ae3e24f489ca9b0058c5d5c6dcd8cafb..658b8af9b1db252d5664956907a5c0db
final AABB boundingBox = this.getBoundingBox().deflate(1.0E-3);
final Level world = this.level;
@@ -4602,7 +4599,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -4618,7 +4615,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
for (int currChunkZ = minChunkZ; currChunkZ <= maxChunkZ; ++currChunkZ) {
for (int currChunkX = minChunkX; currChunkX <= maxChunkX; ++currChunkX) {

View File

@@ -149,7 +149,7 @@ index 54910c2e1d6e6bb556e536fda060bd09402e04e8..747eb54f84650a9a507398e3d5352e00
// Gale start - Pufferfish - SIMD support
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
index 461b620b703c9fca2691f724a9b865ad54aa90a4..48e06770ee9789e0b64e7369e26f23eea72f691a 100644
index 1346cff0018e6d17cb892892c3aeebfb86453b60..a753481afe02a2367c378c7f39206fde23eda00d 100644
--- a/net/minecraft/server/level/ServerLevel.java
+++ b/net/minecraft/server/level/ServerLevel.java
@@ -173,7 +173,16 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -237,7 +237,7 @@ index 461b620b703c9fca2691f724a9b865ad54aa90a4..48e06770ee9789e0b64e7369e26f23ee
// Paper start - log detailed entity tick information
diff --git a/net/minecraft/world/entity/Mob.java b/net/minecraft/world/entity/Mob.java
index 77075bf43e7e2301e58aa6d9f8bfe934cce42f55..edd9de6992489404f421164dd25edc4023fb14d6 100644
index 81bd431e641be474f7a43a78df083756de1798de..7092599cfbce0c632775f70fc599172b51d9e2cd 100644
--- a/net/minecraft/world/entity/Mob.java
+++ b/net/minecraft/world/entity/Mob.java
@@ -135,6 +135,12 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
@@ -1327,12 +1327,12 @@ index 4ba5f7da27f7f6842790c0093bc0f25e138fa982..0f2841a9681997c0d4b915284f7f5b38
public boolean canContinueToUse() {
return this.tick > 0;
diff --git a/net/minecraft/world/entity/ai/goal/RemoveBlockGoal.java b/net/minecraft/world/entity/ai/goal/RemoveBlockGoal.java
index 084156166905562beb8d36db400bc9cab5c14be2..3eed1ac1cab130034f47da6efa33c0ad2a77a7e2 100644
index 16ec032d84f128fc44a836843fafef303f52b699..767dff2aa4c1d71cc3c22104366605486a5004b9 100644
--- a/net/minecraft/world/entity/ai/goal/RemoveBlockGoal.java
+++ b/net/minecraft/world/entity/ai/goal/RemoveBlockGoal.java
@@ -37,7 +37,14 @@ public class RemoveBlockGoal extends MoveToBlockGoal {
public boolean canUse() {
if (!getServerLevel(this.removerMob).purpurConfig.zombieBypassMobGriefing == !getServerLevel(this.removerMob).getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING)) { // Purpur - Add mobGriefing bypass to everything affected
if (!getServerLevel(this.removerMob).getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING, getServerLevel(this.removerMob).purpurConfig.zombieMobGriefingOverride)) { // Purpur - Add mobGriefing override to everything affected
return false;
- } else if (this.nextStartTick > 0) {
+ }
@@ -1796,7 +1796,7 @@ index 002d3c0d8b1107a275020d5c582c37e9a5c536ee..6fa0b8defbd1d06b3bf5d9b32ffd08f3
// Gale start - Petal - reduce line of sight cache lookups - merge sets
int cached = this.seen.get(id);
diff --git a/net/minecraft/world/entity/animal/Fox.java b/net/minecraft/world/entity/animal/Fox.java
index fcda990a5575288b39f6aa16b0ec48d2a57542e9..fb956c0bd8a877117ec33f753f6e6bb096831f78 100644
index ff20a6e9745c7724dfae41d5868912c8cc19eb8e..9eb9b978e2cc8570d8b884603172f2718e770d93 100644
--- a/net/minecraft/world/entity/animal/Fox.java
+++ b/net/minecraft/world/entity/animal/Fox.java
@@ -870,6 +870,11 @@ public class Fox extends Animal {
@@ -1867,7 +1867,7 @@ index 99d99d59ec0eb13dc40bc88bd70ad884bb9e2859..d0be031cedcc895b8cca8666f826628a
ServerLevel serverLevel = getServerLevel(this.mob);
if (this.lookAtType == Player.class) {
diff --git a/net/minecraft/world/entity/animal/Rabbit.java b/net/minecraft/world/entity/animal/Rabbit.java
index 38e2698c5084f0c14c7fde5de542ed61a7cb7f1d..d96eb5a6fde72a9e7e7799624b63ec72e9b77f90 100644
index fd8026cf1d884e95e8260ad52d4e0bbad20b0fdf..7ea36f2de5ecad35651d5333235e079a28bd0101 100644
--- a/net/minecraft/world/entity/animal/Rabbit.java
+++ b/net/minecraft/world/entity/animal/Rabbit.java
@@ -669,7 +669,13 @@ public class Rabbit extends Animal {
@@ -1987,7 +1987,7 @@ index 2e04078664cd723e3e0c80565e4b6e6416b13901..ed790a407b4be9e2f7fcb8cf36b8d03c
static class DrownedGoToWaterGoal extends Goal {
diff --git a/net/minecraft/world/entity/monster/EnderMan.java b/net/minecraft/world/entity/monster/EnderMan.java
index b9160f939894f784e8a733b0c00055b51aec694a..1baaf3dd103c1dd8a1c7d9457e5f878f5d31d04d 100644
index b57f16d8faca315a2b080407e007e9a18ca3c2fc..13d4d25191c4ed262acc54eb6d3517587846c1ae 100644
--- a/net/minecraft/world/entity/monster/EnderMan.java
+++ b/net/minecraft/world/entity/monster/EnderMan.java
@@ -590,10 +590,34 @@ public class EnderMan extends Monster implements NeutralMob {
@@ -2047,7 +2047,7 @@ index e1717b5c854aa81fdd7b7e715d7c3498d9f86072..3627e7479b4deea28e268245410ec4cd
static class StriderPathNavigation extends GroundPathNavigation {
diff --git a/net/minecraft/world/level/Level.java b/net/minecraft/world/level/Level.java
index 20be5c4200bfee01d62fa1103a3663b91107d5d8..3f5fb9d0002f7e11cd6dbe38eaa054c63a625d9a 100644
index 309dbb3b7a485ef5e13f893e53bbdbec1401422e..1ef49db44e8dcfd944b600ef64dbcaee36546688 100644
--- a/net/minecraft/world/level/Level.java
+++ b/net/minecraft/world/level/Level.java
@@ -1525,6 +1525,7 @@ public abstract class Level implements LevelAccessor, UUIDLookup<Entity>, AutoCl

View File

@@ -47,10 +47,10 @@ index 867936866d952c559b6ffa49fdf78acd70a9bab9..b1953701583ba88c524368a52988fea6
private Stream<Entity> mountedOrDismounted(List<Entity> entities) {
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
index ff4ca34dca8e0061977ea63707eb34c6e06dd66a..30783379baee569ec7ff51d34524ccdcba38d764 100644
index f765cc0044282ad592a146773ab93f82fefcebc4..4a611930d8b153f60611275b2b5acacf26add509 100644
--- a/net/minecraft/server/level/ServerPlayer.java
+++ b/net/minecraft/server/level/ServerPlayer.java
@@ -809,6 +809,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
@@ -801,6 +801,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
}
}
// Purpur end - Ridables

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Only tick items at hand
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
index 30783379baee569ec7ff51d34524ccdcba38d764..e2178e12a5c41ab525eea2cd13f14aadd8d66f49 100644
index 4a611930d8b153f60611275b2b5acacf26add509..487d3f1856ac9a0977bbc3a2c54cd1e85328ad73 100644
--- a/net/minecraft/server/level/ServerPlayer.java
+++ b/net/minecraft/server/level/ServerPlayer.java
@@ -838,12 +838,19 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
@@ -830,12 +830,19 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
super.tick();
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add configurable death item drop knockback settings
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
index e2178e12a5c41ab525eea2cd13f14aadd8d66f49..8cc4ee6b62a7f7bd86dce0b5cd7c470156872fdc 100644
index 487d3f1856ac9a0977bbc3a2c54cd1e85328ad73..432362df2401ec5d05f80fea7756befd7f30e6d4 100644
--- a/net/minecraft/server/level/ServerPlayer.java
+++ b/net/minecraft/server/level/ServerPlayer.java
@@ -1033,7 +1033,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
@@ -1049,7 +1049,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
if (!keepInventory) {
for (ItemStack item : this.getInventory().getContents()) {
if (!item.isEmpty() && !EnchantmentHelper.has(item, net.minecraft.world.item.enchantment.EnchantmentEffectComponents.PREVENT_EQUIPMENT_DROP)) {
@@ -18,7 +18,7 @@ index e2178e12a5c41ab525eea2cd13f14aadd8d66f49..8cc4ee6b62a7f7bd86dce0b5cd7c4701
}
}
diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java
index 8461be7c6723925d26f7f162564a18f4aa162089..27dffa0a104b27687fd7ec0add46657bcab4299a 100644
index c46bc07e6bd8f121bb6df922408a931ab01ce2ca..ebe8b4c51152e691322571750949e13a986ea7a5 100644
--- a/net/minecraft/world/entity/LivingEntity.java
+++ b/net/minecraft/world/entity/LivingEntity.java
@@ -4088,9 +4088,9 @@ public abstract class LivingEntity extends Entity implements Attackable {

View File

@@ -94,7 +94,7 @@ index 0f9d18dd29e210ad656da211a3cb1cb25cd4efb1..d1c36cd17c83e7e0167046093c4a2b84
for (LevelChunk levelChunk : list) {
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
index 48e06770ee9789e0b64e7369e26f23eea72f691a..31599270e0827db49037d54b0bf5f7a78e3a5e5e 100644
index a753481afe02a2367c378c7f39206fde23eda00d..753b4255d9e9b9628bc5825a6b4f0f2540f06e7a 100644
--- a/net/minecraft/server/level/ServerLevel.java
+++ b/net/minecraft/server/level/ServerLevel.java
@@ -1367,13 +1367,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -126,7 +126,7 @@ index 48e06770ee9789e0b64e7369e26f23eea72f691a..31599270e0827db49037d54b0bf5f7a7
private void tickPassenger(Entity ridingEntity, Entity passengerEntity, final boolean isActive) { // Paper - EAR 2
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
index fbdc7e54df6cf28264b1dc0d395b9f91206cd50e..fa315f46e9b917ef2329d7071c0790d7a4b8ed53 100644
index f3a6c98fb803f2141be0ef8315ed9294515f1b73..6d8c7d90b0a64e99a2e811ccdb84a03be95e27b3 100644
--- a/net/minecraft/world/entity/Entity.java
+++ b/net/minecraft/world/entity/Entity.java
@@ -1140,16 +1140,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -177,7 +177,7 @@ index fbdc7e54df6cf28264b1dc0d395b9f91206cd50e..fa315f46e9b917ef2329d7071c0790d7
}
private void applyMovementEmissionAndPlaySound(Entity.MovementEmission movementEmission, Vec3 movement, BlockPos pos, BlockState state) {
@@ -4801,9 +4775,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -4817,9 +4791,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
public void setDeltaMovement(Vec3 deltaMovement) {
@@ -187,7 +187,7 @@ index fbdc7e54df6cf28264b1dc0d395b9f91206cd50e..fa315f46e9b917ef2329d7071c0790d7
}
public void addDeltaMovement(Vec3 addend) {
@@ -4911,9 +4883,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -4927,9 +4899,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
// Paper end - Fix MC-4
if (this.position.x != x || this.position.y != y || this.position.z != z) {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] optimize getEntityStatus
diff --git a/ca/spottedleaf/moonrise/patches/chunk_system/level/entity/EntityLookup.java b/ca/spottedleaf/moonrise/patches/chunk_system/level/entity/EntityLookup.java
index 7554c109c35397bc1a43dd80e87764fd78645bbf..151476fd036839a416c226599279d0d8bf79717b 100644
index 2d24d03bbdb5ee0d862cbfff2219f58afffafe12..11f4f2f3bc4c9f9f6a1f83b90f3de34c8edb9819 100644
--- a/ca/spottedleaf/moonrise/patches/chunk_system/level/entity/EntityLookup.java
+++ b/ca/spottedleaf/moonrise/patches/chunk_system/level/entity/EntityLookup.java
@@ -93,8 +93,14 @@ public abstract class EntityLookup implements LevelEntityGetter<Entity> {
@@ -25,7 +25,7 @@ index 7554c109c35397bc1a43dd80e87764fd78645bbf..151476fd036839a416c226599279d0d8
}
@Override
@@ -394,7 +400,14 @@ public abstract class EntityLookup implements LevelEntityGetter<Entity> {
@@ -398,7 +404,14 @@ public abstract class EntityLookup implements LevelEntityGetter<Entity> {
return Visibility.TICKING;
}
final FullChunkStatus entityStatus = ((ChunkSystemEntity)entity).moonrise$getChunkStatus();
@@ -42,7 +42,7 @@ index 7554c109c35397bc1a43dd80e87764fd78645bbf..151476fd036839a416c226599279d0d8
protected boolean addEntity(final Entity entity, final boolean fromDisk, final boolean event) {
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
index fa315f46e9b917ef2329d7071c0790d7a4b8ed53..f130002b8bdfbf3ae9fa1a8166fd502924c5a42f 100644
index 6d8c7d90b0a64e99a2e811ccdb84a03be95e27b3..f00a981ef03886f17852f38ba5e83baf856fd1c1 100644
--- a/net/minecraft/world/entity/Entity.java
+++ b/net/minecraft/world/entity/Entity.java
@@ -370,6 +370,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess

View File

@@ -220,7 +220,7 @@ index 94a9ed024d3859793618152ea559a168bbcbb5e2..e60008693e017bec1b4eb49c84be3898
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
+<https://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java b/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java
index bad941054349efe53756d6ab53ba7f6872de8e6f..8f42fba5615c7e1bda4c27334e39a8e3e434db81 100644
index d0554ed6631535815e5932930911e3fe1dee8710..8f42fba5615c7e1bda4c27334e39a8e3e434db81 100644
--- a/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java
+++ b/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java
@@ -9,6 +9,7 @@ import com.google.gson.JsonObject;
@@ -271,7 +271,7 @@ index bad941054349efe53756d6ab53ba7f6872de8e6f..8f42fba5615c7e1bda4c27334e39a8e3
}
@Override
- public Component getVersionMessage(final String serverVersion) {
- public Component getVersionMessage() {
- final Component updateMessage;
- final ServerBuildInfo build = ServerBuildInfo.buildInfo();
- if (build.buildNumber().isEmpty() && build.gitCommit().isEmpty()) {
@@ -429,7 +429,7 @@ index 1354ccfbf525e5e64483ac5f443cc2325ba63850..f6f787db016f4d1ac14648ebf2b8e162
// (async tasks must live with race-conditions if they attempt to cancel between these few lines of code)
}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
index f78cfd9c03014a10187dae58e2af1e137149dbc7..e0a7e8f97b1e00c9de7f764c686d4de9579cd93a 100644
index a287ad5cce532229f2a514956d34a9358175bc45..d705eae9da291b7d3095994bc4baa7a2c570ddeb 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 {

View File

@@ -13,10 +13,10 @@ As part of: Paper (https://github.com/PaperMC/Paper)
Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html)
diff --git a/src/main/java/io/papermc/paper/configuration/Configurations.java b/src/main/java/io/papermc/paper/configuration/Configurations.java
index 4a9258b62db3a9d1150f0dfbe916fa549b596686..7c2f3b46f94989e532694ce3fbba90489caceb7f 100644
index d0c4037c3cc60c54ea4c60ffc2c227107fecd01c..c01f3bd5022371b71f2bdc00ebf9d1340afe86d2 100644
--- a/src/main/java/io/papermc/paper/configuration/Configurations.java
+++ b/src/main/java/io/papermc/paper/configuration/Configurations.java
@@ -94,7 +94,7 @@ public abstract class Configurations<G, W> {
@@ -95,7 +95,7 @@ public abstract class Configurations<G, W> {
};
}
@@ -25,7 +25,7 @@ index 4a9258b62db3a9d1150f0dfbe916fa549b596686..7c2f3b46f94989e532694ce3fbba9048
return node -> {
ObjectMapper.Factory factory = (ObjectMapper.Factory) Objects.requireNonNull(node.options().serializers().get(type));
ObjectMapper.Mutable<T> mutable = (ObjectMapper.Mutable<T>) factory.get(type);
@@ -168,7 +168,7 @@ public abstract class Configurations<G, W> {
@@ -169,7 +169,7 @@ public abstract class Configurations<G, W> {
final YamlConfigurationLoader loader = result.loader();
final ConfigurationNode node = loader.load();
if (result.isNewFile()) { // add version to new files
@@ -34,7 +34,7 @@ index 4a9258b62db3a9d1150f0dfbe916fa549b596686..7c2f3b46f94989e532694ce3fbba9048
} else {
this.verifyWorldConfigVersion(contextMap, node);
}
@@ -230,7 +230,7 @@ public abstract class Configurations<G, W> {
@@ -231,7 +231,7 @@ public abstract class Configurations<G, W> {
.build();
final ConfigurationNode worldNode = worldLoader.load();
if (newFile) { // set the version field if new file
@@ -43,7 +43,7 @@ index 4a9258b62db3a9d1150f0dfbe916fa549b596686..7c2f3b46f94989e532694ce3fbba9048
} else {
this.verifyWorldConfigVersion(contextMap, worldNode);
}
@@ -356,4 +356,25 @@ public abstract class Configurations<G, W> {
@@ -357,4 +357,25 @@ public abstract class Configurations<G, W> {
return "ContextKey{" + this.name + "}";
}
}
@@ -144,10 +144,10 @@ index 05339a176083af667c16f77d76dc1878dafce3f0..9ca55cba185b9de566f911b08d671bee
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 41bf483b13d43c8fd20d91c2d800677833674ebf..e299baae86bf0aa21294b2afc82623db838ce427 100644
index 1da86b25e3b89c79d4f3920c8d2ef10ee2757f65..c92adb939892e1054f7b2d24070f43e6104dda2b 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1070,6 +1070,7 @@ public final class CraftServer implements Server {
@@ -1073,6 +1073,7 @@ public final class CraftServer implements Server {
org.spigotmc.SpigotConfig.init((File) this.console.options.valueOf("spigot-settings")); // Spigot
this.console.paperConfigurations.reloadConfigs(this.console);
@@ -155,7 +155,7 @@ index 41bf483b13d43c8fd20d91c2d800677833674ebf..e299baae86bf0aa21294b2afc82623db
for (ServerLevel world : this.console.getAllLevels()) {
// world.serverLevelData.setDifficulty(config.difficulty); // Paper - per level difficulty
world.setSpawnSettings(world.serverLevelData.getDifficulty() != Difficulty.PEACEFUL && config.spawnMonsters); // Paper - per level difficulty (from MinecraftServer#setDifficulty(ServerLevel, Difficulty, boolean))
@@ -2959,6 +2960,14 @@ public final class CraftServer implements Server {
@@ -2967,6 +2968,14 @@ public final class CraftServer implements Server {
return CraftServer.this.console.paperConfigurations.createLegacyObject(CraftServer.this.console);
}

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Purpur Server Paper Changes
Original license: MIT
Original project: https://github.com/PurpurMC/Purpur
Commit: 8c77678e81c813e57dda10c646599b0ab3144218
Commit: fd78b90f2041e50b2a94110859b951fc8fa320e9
Patches listed below are removed in this patch, They exists in Gale or Leaf:
* "Rebrand.patch"
@@ -486,10 +486,10 @@ index 43ae147ae15668d3357ff1f7ae66bcad241d3ff3..ecd9e392e9e026cbeac4c65bfdb7467f
+ // Purpur end - OfflinePlayer API
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index e299baae86bf0aa21294b2afc82623db838ce427..144bb76945677eaa63381db67ff8feac2e433021 100644
index c92adb939892e1054f7b2d24070f43e6104dda2b..23bd30ad769507e3eeb4e397e57a2c0ac01f8b7a 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -426,6 +426,20 @@ public final class CraftServer implements Server {
@@ -429,6 +429,20 @@ public final class CraftServer implements Server {
this.paperPluginManager = new io.papermc.paper.plugin.manager.PaperPluginManagerImpl(this, this.commandMap, pluginManager);
this.pluginManager.paperPluginManager = this.paperPluginManager;
// Paper end
@@ -510,7 +510,7 @@ index e299baae86bf0aa21294b2afc82623db838ce427..144bb76945677eaa63381db67ff8feac
CraftRegistry.setMinecraftRegistry(console.registryAccess());
@@ -1071,6 +1085,7 @@ public final class CraftServer implements Server {
@@ -1074,6 +1088,7 @@ public final class CraftServer implements Server {
org.spigotmc.SpigotConfig.init((File) this.console.options.valueOf("spigot-settings")); // Spigot
this.console.paperConfigurations.reloadConfigs(this.console);
this.console.galeConfigurations.reloadConfigs(this.console); // Gale - Gale configuration
@@ -518,7 +518,7 @@ index e299baae86bf0aa21294b2afc82623db838ce427..144bb76945677eaa63381db67ff8feac
for (ServerLevel world : this.console.getAllLevels()) {
// world.serverLevelData.setDifficulty(config.difficulty); // Paper - per level difficulty
world.setSpawnSettings(world.serverLevelData.getDifficulty() != Difficulty.PEACEFUL && config.spawnMonsters); // Paper - per level difficulty (from MinecraftServer#setDifficulty(ServerLevel, Difficulty, boolean))
@@ -1086,6 +1101,7 @@ public final class CraftServer implements Server {
@@ -1089,6 +1104,7 @@ public final class CraftServer implements Server {
}
}
world.spigotConfig.init(); // Spigot
@@ -526,7 +526,7 @@ index e299baae86bf0aa21294b2afc82623db838ce427..144bb76945677eaa63381db67ff8feac
}
Plugin[] pluginClone = pluginManager.getPlugins().clone(); // Paper
@@ -1103,6 +1119,7 @@ public final class CraftServer implements Server {
@@ -1106,6 +1122,7 @@ public final class CraftServer implements Server {
org.spigotmc.SpigotConfig.registerCommands(); // Spigot
io.papermc.paper.command.PaperCommands.registerCommands(this.console); // Paper
this.spark.registerCommandBeforePlugins(this); // Paper - spark
@@ -534,7 +534,7 @@ index e299baae86bf0aa21294b2afc82623db838ce427..144bb76945677eaa63381db67ff8feac
this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*");
this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions");
@@ -1602,6 +1619,60 @@ public final class CraftServer implements Server {
@@ -1605,6 +1622,60 @@ public final class CraftServer implements Server {
return true;
}
@@ -595,7 +595,7 @@ index e299baae86bf0aa21294b2afc82623db838ce427..144bb76945677eaa63381db67ff8feac
@Override
public List<Recipe> getRecipesFor(ItemStack result) {
Preconditions.checkArgument(result != null, "ItemStack cannot be null");
@@ -2968,6 +3039,18 @@ public final class CraftServer implements Server {
@@ -2976,6 +3047,18 @@ public final class CraftServer implements Server {
}
// Gale end - Gale configuration - API
@@ -614,7 +614,7 @@ index e299baae86bf0aa21294b2afc82623db838ce427..144bb76945677eaa63381db67ff8feac
@Override
public void restart() {
CraftServer.this.restart();
@@ -3207,4 +3290,18 @@ public final class CraftServer implements Server {
@@ -3215,4 +3298,18 @@ public final class CraftServer implements Server {
public void allowPausing(final Plugin plugin, final boolean value) {
this.console.addPluginAllowingSleep(plugin.getName(), value);
}
@@ -634,7 +634,7 @@ index e299baae86bf0aa21294b2afc82623db838ce427..144bb76945677eaa63381db67ff8feac
+ // Purpur end - Lagging threshold
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 4a405744061b2689a207aa085bec9a6a223342f2..28ece1167907558c21d292cb36960a026d0c0897 100644
index aae378697b2f2e388d2a5dfaca24c9197b8abf3e..0ea7df63498492e320f98ddec5bdf33b203cc770 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -2352,6 +2352,50 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -859,10 +859,10 @@ index 000c5ea5d39d5ab6e5592012ab1cc7ee547505dc..140da7078217f833f490d88faaf803ab
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
index cd145edc45776c3b7af6295872b65ca74e5b3107..58c60172c4e71afa5ac41f56b15d6b1592b7e082 100644
index 3b41a37f852c3b494b158e447eade9b030f26556..395951c968e95adffa97e1851d104faf192744fd 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -98,6 +98,25 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
@@ -100,6 +100,25 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
this.entityType = CraftEntityType.minecraftToBukkit(entity.getType());
}
@@ -888,7 +888,7 @@ index cd145edc45776c3b7af6295872b65ca74e5b3107..58c60172c4e71afa5ac41f56b15d6b15
public static <T extends Entity> CraftEntity getEntity(CraftServer server, T entity) {
Preconditions.checkArgument(entity != null, "Unknown entity");
@@ -287,6 +306,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
@@ -289,6 +308,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
boolean retainPassengers = flagSet.contains(io.papermc.paper.entity.TeleportFlag.EntityState.RETAIN_PASSENGERS);
// Don't allow teleporting between worlds while keeping passengers
if (flagSet.contains(io.papermc.paper.entity.TeleportFlag.EntityState.RETAIN_PASSENGERS) && this.entity.isVehicle() && location.getWorld() != this.getWorld()) {
@@ -896,7 +896,7 @@ index cd145edc45776c3b7af6295872b65ca74e5b3107..58c60172c4e71afa5ac41f56b15d6b15
return false;
}
@@ -1293,4 +1313,26 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
@@ -1313,4 +1333,26 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
return this.entity.get(io.papermc.paper.datacomponent.PaperDataComponentType.bukkitToMinecraft(type)) != null;
}
@@ -1016,10 +1016,10 @@ index ca656d97a00eef86773be9833fd908283002c885..01759ae999cd158e540f1e2824737407
+ // Purpur end - Item entity immunities
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
index ff8987ca8f0d88c80f7229b33e6b356f1e342010..fda6883bca79e99e486aef87866d8877eea9f140 100644
index 13feb2f7a0e4be92cc8d57512475b7e335d581a8..5f30621d717bd0728ddc074072ab7a02c487b253 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -518,7 +518,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
@@ -513,7 +513,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
net.minecraft.server.level.ServerPlayer nmsKiller = killer == null ? null : ((CraftPlayer) killer).getHandle();
this.getHandle().setLastHurtByMob(nmsKiller);
if (nmsKiller != null) {
@@ -1028,9 +1028,9 @@ index ff8987ca8f0d88c80f7229b33e6b356f1e342010..fda6883bca79e99e486aef87866d8877
} else {
this.getHandle().lastHurtByPlayer = null;
this.getHandle().lastHurtByPlayerMemoryTime = 0;
@@ -1170,4 +1170,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
@@ -1165,4 +1165,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
public CombatTracker getCombatTracker() {
return this.combatTracker;
return this.getHandle().getCombatTracker().paperCombatTracker;
}
+
+ // Purpur start - API for any mob to burn daylight
@@ -1068,10 +1068,10 @@ index 02deb9c37250144be9afa0fe55df2a49017a7070..dfb597fcb8d01ed6cf20eae57e260949
+ // Purpur end - Llama API
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index c6ca86dbbb483c2093cbedd8588755dad67c981a..09fc84319df0adb741dc29092ae33768878c8676 100644
index 8a1e2785d4a3dd6f5d97c152e9b42d5c257d1ee6..616c25e3e447923235e2586f8a74d1eca39cbb32 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -612,10 +612,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -611,10 +611,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void setPlayerListName(String name) {
@@ -1088,7 +1088,7 @@ index c6ca86dbbb483c2093cbedd8588755dad67c981a..09fc84319df0adb741dc29092ae33768
if (this.getHandle().connection == null) return; // Paper - Updates are possible before the player has fully joined
for (ServerPlayer player : (List<ServerPlayer>) this.server.getHandle().players) {
if (player.getBukkitEntity().canSee(this)) {
@@ -1429,6 +1434,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1428,6 +1433,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
// Paper start - Teleport passenger API
// Don't allow teleporting between worlds while keeping passengers
if (ignorePassengers && entity.isVehicle() && location.getWorld() != this.getWorld()) {
@@ -1096,7 +1096,7 @@ index c6ca86dbbb483c2093cbedd8588755dad67c981a..09fc84319df0adb741dc29092ae33768
return false;
}
@@ -1450,6 +1456,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1449,6 +1455,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
if (entity.isVehicle() && !ignorePassengers) { // Paper - Teleport API
@@ -1104,13 +1104,13 @@ index c6ca86dbbb483c2093cbedd8588755dad67c981a..09fc84319df0adb741dc29092ae33768
return false;
}
@@ -2723,6 +2730,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2720,6 +2727,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return this.getHandle().getAbilities().walkingSpeed * 2f;
}
+ // Purpur start - OfflinePlayer API
+ @Override
+ public boolean teleportOffline(@NotNull Location destination) {
+ public boolean teleportOffline(Location destination) {
+ return this.teleport(destination);
+ }
+
@@ -1120,12 +1120,12 @@ index c6ca86dbbb483c2093cbedd8588755dad67c981a..09fc84319df0adb741dc29092ae33768
+ }
+
+ @Override
+ public java.util.concurrent.CompletableFuture<Boolean> teleportOfflineAsync(@NotNull Location destination) {
+ public java.util.concurrent.CompletableFuture<Boolean> teleportOfflineAsync(Location destination) {
+ return this.teleportAsync(destination);
+ }
+
+ @Override
+ public java.util.concurrent.CompletableFuture<Boolean> teleportOfflineAsync(@NotNull Location destination, PlayerTeleportEvent.TeleportCause cause) {
+ public java.util.concurrent.CompletableFuture<Boolean> teleportOfflineAsync(Location destination, PlayerTeleportEvent.TeleportCause cause) {
+ return this.teleportAsync(destination, cause);
+ }
+ // Purpur end - OfflinePlayer API
@@ -1133,9 +1133,9 @@ index c6ca86dbbb483c2093cbedd8588755dad67c981a..09fc84319df0adb741dc29092ae33768
private void validateSpeed(float value) {
Preconditions.checkArgument(value <= 1f && value >= -1f, "Speed value (%s) need to be between -1f and 1f", value);
}
@@ -3585,4 +3614,76 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public void setSimplifyContainerDesyncCheck(final boolean simplifyContainerDesyncCheck) {
this.simplifyContainerDesyncCheck = simplifyContainerDesyncCheck;
@@ -3566,4 +3595,76 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public void setDeathScreenScore(final int score) {
getHandle().setScore(score);
}
+
+ // Purpur start - Purpur client support
@@ -1293,7 +1293,7 @@ index c3bd4cc1458bf62639d43854c2fdd0b479993b22..52a492ed8651e2ecb8b47cc3394fa4c7
+ // Purpur end - Configurable chance for wolves to spawn rabid
}
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index a7e3afe04ffbb0fd5fa5fcf7cd15efd7cea1c4e0..f32316b0357f1cb0501a052361a0221f8e9d1438 100644
index 6f86a505c99010eb80e76e2fbe36414fcde80a39..3a3fbbfa0b82092cd9ac8eab2d179fb9f590aec8 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -514,6 +514,15 @@ public class CraftEventFactory {
@@ -1416,10 +1416,10 @@ index 792cb6adf0c7a6335cc5985fce8bed2e0f1149af..5734c5caffda79383ae30df20c3defb5
+ // Purpur end - Anvil API
}
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
index 1aa17423f4ecbba0b13f0ed3351916eb98dcd364..44a5cbd6ba26ea4f36188c48f2f9510d67a5c476 100644
index 02109a3ca53796fa4733e98eefd5829f71681daa..9f30b3d8f457301a552440afc2e48d52179d6abb 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
@@ -669,4 +669,285 @@ public final class CraftItemStack extends ItemStack {
@@ -667,4 +667,285 @@ public final class CraftItemStack extends ItemStack {
}
// Paper end - data component API

View File

@@ -31,10 +31,10 @@ 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/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 144bb76945677eaa63381db67ff8feac2e433021..2ca0a5e491e22fb049e8132dcfceaad97613ec1f 100644
index 23bd30ad769507e3eeb4e397e57a2c0ac01f8b7a..889687ee9bcea490e8a7ee29d0a1f81011cd4a34 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1181,6 +1181,13 @@ public final class CraftServer implements Server {
@@ -1184,6 +1184,13 @@ public final class CraftServer implements Server {
plugin.getPluginMeta().getDisplayName(),
"This plugin is not properly shutting down its async tasks when it is being shut down. This task may throw errors during the final shutdown logs and might not complete before process dies."
));

View File

@@ -98,10 +98,10 @@ index db92261a6cb3758391108361096417c61bc82cdc..1a14fddb36ca3c14d243304db629d0c5
public SortedList(final E[] elements, final Comparator<? super E> comparator) {
diff --git a/src/main/java/io/papermc/paper/command/brigadier/PaperCommands.java b/src/main/java/io/papermc/paper/command/brigadier/PaperCommands.java
index 4b6d845423ca845cb8780499757d627773c688da..9c2864675bc0b13ba088ba699be3c5692c2fa0a4 100644
index 84fab94f38e8ee51f2c82fc8c3ddffe2a24d7148..6d1d05caa7c3b6a43770aa185070317a89c1bd74 100644
--- a/src/main/java/io/papermc/paper/command/brigadier/PaperCommands.java
+++ b/src/main/java/io/papermc/paper/command/brigadier/PaperCommands.java
@@ -175,7 +175,7 @@ public class PaperCommands implements Commands, PaperRegistrar<LifecycleEventOwn
@@ -178,7 +178,7 @@ public class PaperCommands implements Commands, PaperRegistrar<LifecycleEventOwn
})
)
.executes((stack) -> {

View File

@@ -13,10 +13,10 @@ As part of: MultiPaper (https://github.com/MultiPaper/MultiPaper)
Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html)
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 2ca0a5e491e22fb049e8132dcfceaad97613ec1f..d2b9af1ddf67d751422ff994475669a00c187a4e 100644
index 889687ee9bcea490e8a7ee29d0a1f81011cd4a34..616eeec8a0d075064727a69a08341d853a3f5482 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -285,6 +285,7 @@ public final class CraftServer implements Server {
@@ -287,6 +287,7 @@ public final class CraftServer implements Server {
final DedicatedServer console;
private final DedicatedPlayerList playerList;
private final Map<String, World> worlds = new LinkedHashMap<>();
@@ -24,7 +24,7 @@ index 2ca0a5e491e22fb049e8132dcfceaad97613ec1f..d2b9af1ddf67d751422ff994475669a0
private YamlConfiguration configuration;
private YamlConfiguration commandsConfiguration;
private final Yaml yaml = new Yaml(new SafeConstructor(new LoaderOptions()));
@@ -1509,6 +1510,7 @@ public final class CraftServer implements Server {
@@ -1512,6 +1513,7 @@ public final class CraftServer implements Server {
this.getLogger().log(Level.SEVERE, null, ex);
}
@@ -32,7 +32,7 @@ index 2ca0a5e491e22fb049e8132dcfceaad97613ec1f..d2b9af1ddf67d751422ff994475669a0
this.worlds.remove(world.getName().toLowerCase(Locale.ROOT));
this.console.removeLevel(handle);
return true;
@@ -1527,12 +1529,7 @@ public final class CraftServer implements Server {
@@ -1530,12 +1532,7 @@ public final class CraftServer implements Server {
@Override
public World getWorld(UUID uid) {
@@ -46,7 +46,7 @@ index 2ca0a5e491e22fb049e8132dcfceaad97613ec1f..d2b9af1ddf67d751422ff994475669a0
}
@Override
@@ -1548,6 +1545,7 @@ public final class CraftServer implements Server {
@@ -1551,6 +1548,7 @@ public final class CraftServer implements Server {
System.out.println("World " + world.getName() + " is a duplicate of another world and has been prevented from loading. Please delete the uid.dat file from " + world.getName() + "'s world directory if you want to be able to load the duplicate world.");
return;
}

View File

@@ -7,10 +7,10 @@ License: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html)
Gale - https://galemc.org
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index d2b9af1ddf67d751422ff994475669a00c187a4e..2a79af83a4a2f0c28bf8f54eac46b5b9f14714fc 100644
index 616eeec8a0d075064727a69a08341d853a3f5482..8876ab2bb2f01b89caab2951de09c7b989a985fb 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -3094,6 +3094,23 @@ public final class CraftServer implements Server {
@@ -3102,6 +3102,23 @@ public final class CraftServer implements Server {
};
}

View File

@@ -58,10 +58,10 @@ index 12b327eea95e0de9e9c39b7d039badee8ec46508..6178f0212214a2a075cea60c758dca79
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 2a79af83a4a2f0c28bf8f54eac46b5b9f14714fc..7f7f0cdfd07ba4cece20d11c580c7956efeea3ed 100644
index 8876ab2bb2f01b89caab2951de09c7b989a985fb..d2fb5f28293bffe72fd312b76a8317350924028f 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -3094,7 +3094,26 @@ public final class CraftServer implements Server {
@@ -3102,7 +3102,26 @@ public final class CraftServer implements Server {
};
}

View File

@@ -23,10 +23,10 @@ The above copyright notice and this permission notice shall be included in all c
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 7f7f0cdfd07ba4cece20d11c580c7956efeea3ed..28c3404f5d578b0f389cad9130150191d36cae66 100644
index d2fb5f28293bffe72fd312b76a8317350924028f..fd956a7c81e4b7407f70dee6a65f973d43f747b2 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -3345,4 +3345,21 @@ public final class CraftServer implements Server {
@@ -3353,4 +3353,21 @@ public final class CraftServer implements Server {
return getServer().lagging;
}
// Purpur end - Lagging threshold

View File

@@ -7,10 +7,10 @@ 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 09fc84319df0adb741dc29092ae33768878c8676..3136caefa8c663b27cda29ff4de911ac71a1110d 100644
index 616c25e3e447923235e2586f8a74d1eca39cbb32..ce96e14ac8b2ebb8c651360564b75c9dacb496e8 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -3686,4 +3686,31 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -3667,4 +3667,31 @@ 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 - Death screen API

View File

@@ -9,10 +9,10 @@ Original project: https://github.com/Cryptite/Slice
Co-authored-by: HaHaWTH <102713261+HaHaWTH@users.noreply.github.com>
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 3136caefa8c663b27cda29ff4de911ac71a1110d..43ddb8b40563542212c96df4459be4f61bf254ee 100644
index ce96e14ac8b2ebb8c651360564b75c9dacb496e8..ba42606bb754aaad29eec238ccc1acac3f47683e 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1379,6 +1379,25 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1378,6 +1378,25 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
// Paper end - Teleportation API
}

View File

@@ -88,10 +88,10 @@ index c03608fec96b51e1867f43d8f42e5aefb1520e46..56268cf8d184e0b6cd46de8c2e893ad3
+ // Leaf end - SparklyPaper - skip EntityScheduler's executeTick checks if there isn't any tasks to be run
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
index 8f9af0c5396abf25534eaee17b81982024eb9fcd..31fe8bd91b5d2825af445e3d37d582a206202bf8 100644
index 395951c968e95adffa97e1851d104faf192744fd..2a63e8e725fa97da5d4b9fba6bfe19377c7cfbe1 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -83,7 +83,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
@@ -85,7 +85,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
private final CraftPersistentDataContainer persistentDataContainer = new CraftPersistentDataContainer(CraftEntity.DATA_TYPE_REGISTRY);
protected net.kyori.adventure.pointer.Pointers adventure$pointers; // Paper - implement pointers
// Paper start - Folia shedulers
@@ -100,7 +100,7 @@ index 8f9af0c5396abf25534eaee17b81982024eb9fcd..31fe8bd91b5d2825af445e3d37d582a2
private final io.papermc.paper.threadedregions.scheduler.FoliaEntityScheduler apiScheduler = new io.papermc.paper.threadedregions.scheduler.FoliaEntityScheduler(this);
@Override
@@ -96,6 +96,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
@@ -98,6 +98,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
this.server = server;
this.entity = entity;
this.entityType = CraftEntityType.minecraftToBukkit(entity.getType());

View File

@@ -16,10 +16,10 @@ This seems stupid, but it does seem that it improves the performance a bit, and
We also create a "canSee" method tailored for "ChunkMap#updatePlayer()", a method without the equals check (the "updatePlayer()" already checks if the entity is the same entity) because the CraftPlayer's `equals()` check is a *bit* expensive compared to only checking the object's identity, and because the identity has already been check, we don't need to check it twice.
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 43ddb8b40563542212c96df4459be4f61bf254ee..6355c24d0feed63b139433b49986d3337f8c44db 100644
index ba42606bb754aaad29eec238ccc1acac3f47683e..e95510055134be9c85f43b0640b6ac9feba73780 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -212,7 +212,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -213,7 +213,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
private boolean hasPlayedBefore = false;
private final ConversationTracker conversationTracker = new ConversationTracker();
private final Set<String> channels = new HashSet<String>();
@@ -28,7 +28,7 @@ index 43ddb8b40563542212c96df4459be4f61bf254ee..6355c24d0feed63b139433b49986d333
private final Set<UUID> unlistedEntities = new HashSet<>(); // Paper - Add Listing API for Player
private static final WeakHashMap<Plugin, WeakReference<Plugin>> pluginWeakReferences = new WeakHashMap<>();
private int hash = 0;
@@ -2287,9 +2287,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2285,9 +2285,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public boolean canSee(org.bukkit.entity.Entity entity) {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Including 5s in getTPS()
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 28c3404f5d578b0f389cad9130150191d36cae66..ebabca940f34f31176e9b82c1a9f584229571b6b 100644
index fd956a7c81e4b7407f70dee6a65f973d43f747b2..f258a36b960048cb89d445639b822f030b31f8f9 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -3087,6 +3087,8 @@ public final class CraftServer implements Server {
@@ -3095,6 +3095,8 @@ public final class CraftServer implements Server {
@Override
public double[] getTPS() {

View File

@@ -34,10 +34,10 @@ index 400e632208d133a3f49fc7f14bceb48a1026769b..8c4e5b0c81d90a0eeee4ab9e5882b137
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index ebabca940f34f31176e9b82c1a9f584229571b6b..b4cddcf1075df81224e25ecdc298eb7fd6446ba6 100644
index f258a36b960048cb89d445639b822f030b31f8f9..619fa9c092dbdbb428d7254c171c02eb73b27c7f 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1377,7 +1377,11 @@ public final class CraftServer implements Server {
@@ -1380,7 +1380,11 @@ public final class CraftServer implements Server {
registryAccess = levelDataAndDimensions.dimensions().dimensionsRegistryAccess();
} else {
LevelSettings levelSettings;

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Replace world map with optimized collection
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index b4cddcf1075df81224e25ecdc298eb7fd6446ba6..78fe9bea28907ac18746f8851f474f2c1cec0864 100644
index 619fa9c092dbdbb428d7254c171c02eb73b27c7f..828f454c73f042610940cbe62cc7ed1ae8294e9b 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -284,7 +284,7 @@ public final class CraftServer implements Server {
@@ -286,7 +286,7 @@ public final class CraftServer implements Server {
private final StructureManager structureManager;
final DedicatedServer console;
private final DedicatedPlayerList playerList;

View File

@@ -41,10 +41,10 @@ index db031298c2090eb36032de4b52335c62186e4cfb..84905d7802f8a5c3f68e15f1b17ef082
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
index d891595b25cf04980cc24a6e6b9bd95553527100..216a273d65fc7eda8f2e229e4257b2708294849c 100644
index 2a63e8e725fa97da5d4b9fba6bfe19377c7cfbe1..0c286eabd8e4d5e599d93a151874af6bf3642265 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -738,7 +738,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
@@ -758,7 +758,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
ChunkMap.TrackedEntity entityTracker = world.getChunkSource().chunkMap.entityMap.get(this.getEntityId());
if (entityTracker != null) {
@@ -53,7 +53,7 @@ index d891595b25cf04980cc24a6e6b9bd95553527100..216a273d65fc7eda8f2e229e4257b270
players.add(connection.getPlayer().getBukkitEntity());
}
}
@@ -1054,7 +1054,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
@@ -1074,7 +1074,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
return;
}
@@ -62,7 +62,7 @@ index d891595b25cf04980cc24a6e6b9bd95553527100..216a273d65fc7eda8f2e229e4257b270
this.getHandle().resendPossiblyDesyncedEntityData(connection.getPlayer());
}
}
@@ -1201,7 +1201,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
@@ -1221,7 +1221,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
}
Set<org.bukkit.entity.Player> set = new java.util.HashSet<>(tracker.seenBy.size());
@@ -72,7 +72,7 @@ index d891595b25cf04980cc24a6e6b9bd95553527100..216a273d65fc7eda8f2e229e4257b270
}
return set;
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index f32316b0357f1cb0501a052361a0221f8e9d1438..ebb07b9b9f6bef9195978c8ecdd5f4ef3ee198bc 100644
index 3a3fbbfa0b82092cd9ac8eab2d179fb9f590aec8..566eab1add471266c8617747c8c25ee04e13c02f 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -1751,6 +1751,26 @@ public class CraftEventFactory {

View File

@@ -8,10 +8,10 @@ replacing ArrayList with Fastutil ObjectArrayList
brings about 40% performance improvement in benchmark.
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 78fe9bea28907ac18746f8851f474f2c1cec0864..65e1ba2e51e1114fc31c2083152441ab5633cf1a 100644
index 828f454c73f042610940cbe62cc7ed1ae8294e9b..80ea506bacb206dabb6d12aeea1cc2000f8ea4b7 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -974,7 +974,7 @@ public final class CraftServer implements Server {
@@ -977,7 +977,7 @@ public final class CraftServer implements Server {
@Override
public List<World> getWorlds() {

View File

@@ -24,6 +24,7 @@ import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URI;
import java.nio.charset.StandardCharsets;
import java.util.Optional;
import static net.kyori.adventure.text.Component.text;
@@ -66,7 +67,7 @@ public abstract class AbstractPaperVersionFetcher implements VersionFetcher {
}
@Override
public @NotNull Component getVersionMessage(final @NotNull String serverVersion) {
public @NotNull Component getVersionMessage() {
final Component updateMessage;
final ServerBuildInfo build = ServerBuildInfo.buildInfo();
if (build.buildNumber().isEmpty() && build.gitCommit().isEmpty()) {
@@ -118,9 +119,8 @@ public abstract class AbstractPaperVersionFetcher implements VersionFetcher {
try {
final HttpURLConnection connection = (HttpURLConnection) URI.create("https://api.github.com/repos/%s/compare/%s...%s".formatted(repo, branch, hash)).toURL().openConnection();
connection.connect();
if (connection.getResponseCode() == HttpURLConnection.HTTP_NOT_FOUND)
return DISTANCE_UNKNOWN; // Unknown commit
try (final BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), Charsets.UTF_8))) {
if (connection.getResponseCode() == HttpURLConnection.HTTP_NOT_FOUND) return DISTANCE_UNKNOWN; // Unknown commit
try (final BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), StandardCharsets.UTF_8))) {
final JsonObject obj = new Gson().fromJson(reader, JsonObject.class);
final String status = obj.get("status").getAsString();
return switch (status) {

View File

@@ -8,7 +8,7 @@ pluginManagement {
}
plugins {
id("org.gradle.toolchains.foojay-resolver-convention") version "0.9.0"
id("org.gradle.toolchains.foojay-resolver-convention") version "1.0.0"
}
if (!file(".git").exists()) {

View File

@@ -12,4 +12,5 @@
- [ ] Remove stream in Inventory and check new changes
- [ ] Check Purpur's Projectile offset config, in BowItem shoot
- [ ] Remove Gale's attribute patch
- [ ] Check SparklyPaper's mapitem update skip
- [ ] Update from Leaf 1.21.4 (curr commit: `a022d84c5b5b52f7e8a62f6bff774d0c23176ed5`)