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

Updated Upstream (Gale/Purpur/Leaves)

This commit is contained in:
Dreeam
2024-06-14 03:18:51 +08:00
parent 8742091121
commit 2e32ca3a7a
55 changed files with 281 additions and 571 deletions

View File

@@ -2,7 +2,7 @@ group = cn.dreeam.leaf
mcVersion = 1.20.6
version = 1.20.6-R0.1-SNAPSHOT
galeCommit = c67ad06166d774550eb1e177857acdae6ac72fb8
galeCommit = 2a97bf832e63e6905be5f08621b20180fb39914d
org.gradle.caching = true
org.gradle.parallel = true

View File

@@ -23,10 +23,10 @@ index bdc8d830f54e4567ec0b03041221fdcd016ce76c..957f15a91f6aa1235c12b82079e32bb4
* 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 fd5d9881abfd930bb883120f018f76dc78b62b14..dac207f2f5ae1838ca1b5092f7fe032adc038849 100644
index e64bb57f74e6d6f78927be228825b3e0bdf41f48..5bccca7740dbec750960d96d4d951cff5da688da 100644
--- a/src/main/java/org/bukkit/command/defaults/VersionCommand.java
+++ b/src/main/java/org/bukkit/command/defaults/VersionCommand.java
@@ -214,7 +214,7 @@ public class VersionCommand extends BukkitCommand {
@@ -215,7 +215,7 @@ public class VersionCommand extends BukkitCommand {
String version = Bukkit.getVersion();
// Paper start
if (version.startsWith("null")) { // running from ide?

View File

@@ -190,10 +190,10 @@ index 0000000000000000000000000000000000000000..c7772aac00f6db664f7a5673bc2585fa
+ }
+}
diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
index 07a9c9e254188c251165ca84c8e961fccda01175..5dc64d8c9aeae612fd31af0673f3530a9e777dfc 100644
index 003bece642b682985625db93cad93026352bfc66..e8ba4f1108f2548a487877027e37d81fc150e042 100644
--- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java
+++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
@@ -596,7 +596,9 @@ public final class SimplePluginManager implements PluginManager {
@@ -597,7 +597,9 @@ public final class SimplePluginManager implements PluginManager {
// Paper start
private void handlePluginException(String msg, Throwable ex, Plugin plugin) {
@@ -203,7 +203,7 @@ index 07a9c9e254188c251165ca84c8e961fccda01175..5dc64d8c9aeae612fd31af0673f3530a
callEvent(new com.destroystokyo.paper.event.server.ServerExceptionEvent(new com.destroystokyo.paper.exception.ServerPluginEnableDisableException(msg, ex, plugin)));
}
// Paper end
@@ -666,9 +668,11 @@ public final class SimplePluginManager implements PluginManager {
@@ -667,9 +669,11 @@ public final class SimplePluginManager implements PluginManager {
));
}
} catch (Throwable ex) {

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Purpur API Changes
Original license: MIT
Original project: https://github.com/PurpurMC/Purpur
Commit: 79d199c7f07d4acd9af6a9858cd895722ce16429
Commit: 72192634b0629433aa531dedaf8c918755f82fbe
Patches below are removed in this patch:
Pufferfish-API-Changes.patch
@@ -167,18 +167,10 @@ index d8cd53f7e45d3b5276aa360b10ff05ce7275a3a3..8c4619de2a52003a9684cc95f920b12e
+ // Purpur end
}
diff --git a/src/main/java/org/bukkit/ChatColor.java b/src/main/java/org/bukkit/ChatColor.java
index 918a045165cdcde264bc24082b7afebb407271de..687d11619379aead7f665d4a5f8f8bcc857cb8e9 100644
index 918a045165cdcde264bc24082b7afebb407271de..e98d6321c5f2cdde91b54f8a74cbcc045eae75a8 100644
--- a/src/main/java/org/bukkit/ChatColor.java
+++ b/src/main/java/org/bukkit/ChatColor.java
@@ -3,6 +3,7 @@ package org.bukkit;
import com.google.common.base.Preconditions;
import com.google.common.collect.Maps;
import java.util.Map;
+import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.jetbrains.annotations.Contract;
import org.jetbrains.annotations.NotNull;
@@ -456,4 +457,77 @@ public enum ChatColor {
@@ -456,4 +456,77 @@ public enum ChatColor {
BY_CHAR.put(color.code, color);
}
}
@@ -193,7 +185,7 @@ index 918a045165cdcde264bc24082b7afebb407271de..687d11619379aead7f665d4a5f8f8bcc
+ @NotNull
+ public static String toMM(@NotNull String str) {
+ StringBuilder sb = new StringBuilder(str);
+ Matcher m = STRIP_COLOR_PATTERN.matcher(sb);
+ java.util.regex.Matcher m = STRIP_COLOR_PATTERN.matcher(sb);
+ while (m.find()) {
+ sb.replace(m.start(), m.end(), sb.substring(m.start(), m.end()).toLowerCase());
+ }
@@ -257,10 +249,10 @@ index 918a045165cdcde264bc24082b7afebb407271de..687d11619379aead7f665d4a5f8f8bcc
+ // Purpur end
}
diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java
index 7509b61dfdc0a6675256970cb850b08f9e814580..c1986ca90c3adb81daca4f72b62cda65e5465bff 100644
index 762216a117145676d3df2b74036799b024461fb7..54c080d650f807b05e5d8347f78e2bc243791172 100644
--- a/src/main/java/org/bukkit/Material.java
+++ b/src/main/java/org/bukkit/Material.java
@@ -5733,4 +5733,40 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
@@ -5764,4 +5764,40 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
}
return Registry.BLOCK.get(material.key);
}
@@ -541,10 +533,10 @@ index 12dd25921625db145287edba783ae6d7e904ce80..9ed8f4e3e3d33e4bdefc7db85d5f65e3
+ // Purpur end
}
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
index 26622cafbb9811fafe18d5dd9b25f56960154772..7707963157ef98eedbf7143a0dbd9c22580a426d 100644
index fdb87adfb8d6eff2bfabe7a41398c53d15d4cd98..0f2f7cb8acb226d6f9a1085ec9cac3f8faa77813 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -4249,6 +4249,86 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@@ -4276,6 +4276,86 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@Nullable
public DragonBattle getEnderDragonBattle();
@@ -661,10 +653,10 @@ index 739911cda33b373f99df627a3a378b37d7d461aa..51e78c22cd021722b963fe31d1d9175d
* 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 c3a9cf65db73ed534bf20996c7f05b5eb0aaebe1..83f84a76cbfdf5138ecccf3a886d38151a500bf2 100644
index 5df19bd701c67506689fc7f49d91f99ebfbc83f0..a09b5458191eb5df4787859b72a37fa1fa2bffba 100644
--- a/src/main/java/org/bukkit/command/SimpleCommandMap.java
+++ b/src/main/java/org/bukkit/command/SimpleCommandMap.java
@@ -152,6 +152,19 @@ public class SimpleCommandMap implements CommandMap {
@@ -153,6 +153,19 @@ public class SimpleCommandMap implements CommandMap {
return false;
}
@@ -684,7 +676,7 @@ index c3a9cf65db73ed534bf20996c7f05b5eb0aaebe1..83f84a76cbfdf5138ecccf3a886d3815
// Paper start - Plugins do weird things to workaround normal registration
if (target.timings == null) {
target.timings = co.aikar.timings.TimingsManager.getCommandTiming(null, target);
@@ -161,7 +174,7 @@ public class SimpleCommandMap implements CommandMap {
@@ -162,7 +175,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)
@@ -970,10 +962,10 @@ index bc84b892cae5fe7019a3ad481e9da79956efa1fe..48eb5b00c460cccde29d327cef1d63fc
+ // Purpur end
}
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index dbd6eba668cd20a72ca6df9968c69743bca116ee..7e0aab5a34b45a032b73e566ce94bbb86a14ecf0 100644
index 6324b7980dc0e4fc2194cbf55a2bb56f142d318c..6a11a44099ceced971e2909b564d40ed687f62e2 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -3816,4 +3816,123 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -3864,4 +3864,123 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@Override
Spigot spigot();
// Spigot end
@@ -1255,7 +1247,7 @@ index c60be4fd24c7fdf65251dd6169e5e1ac3b588d95..569deccd2f1cf21da9b5906433ac493c
+ // Purpur end
}
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
index c64413a6740b604282984dea2a8430a6e7478d68..5c609d916e2d2f08ba90ebd23f13c5c9a14bc73c 100644
index 40cde68c7b73a0a92e2a96667a90138d67ce66ff..fee2469bdedff0e55ef4dcda410cac35c6319258 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
@@ -19,6 +19,17 @@ import org.bukkit.inventory.meta.ItemMeta;
@@ -1276,7 +1268,7 @@ index c64413a6740b604282984dea2a8430a6e7478d68..5c609d916e2d2f08ba90ebd23f13c5c9
/**
* Represents a stack of items.
@@ -1079,4 +1090,565 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
@@ -1081,4 +1092,565 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
return Bukkit.getUnsafe().computeTooltipLines(this, tooltipContext, player);
}
// Paper end - expose itemstack tooltip lines
@@ -1843,18 +1835,10 @@ index c64413a6740b604282984dea2a8430a6e7478d68..5c609d916e2d2f08ba90ebd23f13c5c9
+ // Purpur end
}
diff --git a/src/main/java/org/bukkit/inventory/RecipeChoice.java b/src/main/java/org/bukkit/inventory/RecipeChoice.java
index 1cd6601c9d2e86ef850011fcb9e59811207b4af7..5ec7d9dab1935bb743e3264d9f7390795fd9f55c 100644
index e7796054f3f65f5bea7f93c75320195f6c2f0561..1b1d05b77e93abe93ed782883f8d791f6559f778 100644
--- a/src/main/java/org/bukkit/inventory/RecipeChoice.java
+++ b/src/main/java/org/bukkit/inventory/RecipeChoice.java
@@ -10,6 +10,7 @@ import java.util.function.Predicate;
import org.bukkit.Material;
import org.bukkit.Tag;
import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable; // Purpur
/**
* Represents a potential item match within a recipe. All choices within a
@@ -180,6 +181,7 @@ public interface RecipeChoice extends Predicate<ItemStack>, Cloneable {
@@ -191,6 +191,7 @@ public interface RecipeChoice extends Predicate<ItemStack>, Cloneable {
public static class ExactChoice implements RecipeChoice {
private List<ItemStack> choices;
@@ -1862,7 +1846,7 @@ index 1cd6601c9d2e86ef850011fcb9e59811207b4af7..5ec7d9dab1935bb743e3264d9f739079
public ExactChoice(@NotNull ItemStack stack) {
this(Arrays.asList(stack));
@@ -229,6 +231,7 @@ public interface RecipeChoice extends Predicate<ItemStack>, Cloneable {
@@ -241,6 +242,7 @@ public interface RecipeChoice extends Predicate<ItemStack>, Cloneable {
@Override
public boolean test(@NotNull ItemStack t) {
@@ -1870,17 +1854,17 @@ index 1cd6601c9d2e86ef850011fcb9e59811207b4af7..5ec7d9dab1935bb743e3264d9f739079
for (ItemStack match : choices) {
if (t.isSimilar(match)) {
return true;
@@ -238,6 +241,17 @@ public interface RecipeChoice extends Predicate<ItemStack>, Cloneable {
@@ -250,6 +252,17 @@ public interface RecipeChoice extends Predicate<ItemStack>, Cloneable {
return false;
}
+ // Purpur start
+ @Nullable
+ @org.jetbrains.annotations.Nullable
+ public Predicate<ItemStack> getPredicate() {
+ return predicate;
+ }
+
+ public void setPredicate(@Nullable Predicate<ItemStack> predicate) {
+ public void setPredicate(@org.jetbrains.annotations.Nullable Predicate<ItemStack> predicate) {
+ this.predicate = predicate;
+ }
+ // Purpur end
@@ -1906,25 +1890,25 @@ index cb7040876a99a5a7e49b81684ef0f3b79584c376..22d8f31b1b8a5dbb5ab3275068642937
+ // Purpur - end
}
diff --git a/src/main/java/org/bukkit/permissions/PermissibleBase.java b/src/main/java/org/bukkit/permissions/PermissibleBase.java
index cd3296fea01648592d2af89b3d80135acb6d0958..45797a6fbae1d8edc4211cb30def24ad4f59bd49 100644
index 75b77cc4fe189b4b6baa1af3663dc492e992a266..30b98d1645c571ba5c18e5cc93b0bec3f74b1d3b 100644
--- a/src/main/java/org/bukkit/permissions/PermissibleBase.java
+++ b/src/main/java/org/bukkit/permissions/PermissibleBase.java
@@ -168,7 +168,7 @@ public class PermissibleBase implements Permissible {
@@ -169,7 +169,7 @@ public class PermissibleBase implements Permissible {
for (Permission perm : defaults) {
String name = perm.getName().toLowerCase(java.util.Locale.ENGLISH);
String name = perm.getName().toLowerCase(Locale.ROOT);
- permissions.put(name, new PermissionAttachmentInfo(parent, name, null, true));
+ permissions.put(name, new PermissionAttachmentInfo(parent, name, null, perm.getDefault().getValue(isOp()))); // Purpur
Bukkit.getServer().getPluginManager().subscribeToPermission(name, parent);
calculateChildPermissions(perm.getChildren(), false, null);
}
@@ -196,7 +196,7 @@ public class PermissibleBase implements Permissible {
@@ -197,7 +197,7 @@ public class PermissibleBase implements Permissible {
String name = entry.getKey();
Permission perm = Bukkit.getServer().getPluginManager().getPermission(name);
- boolean value = entry.getValue() ^ invert;
+ boolean value = (entry.getValue() == null && perm != null ? perm.getDefault().getValue(isOp()) : entry.getValue()) ^ invert; // Purpur
String lname = name.toLowerCase(java.util.Locale.ENGLISH);
String lname = name.toLowerCase(Locale.ROOT);
permissions.put(lname, new PermissionAttachmentInfo(parent, lname, attachment, value));
diff --git a/src/main/java/org/bukkit/util/permissions/CommandPermissions.java b/src/main/java/org/bukkit/util/permissions/CommandPermissions.java

View File

@@ -720,10 +720,10 @@ index 51d54b87106aa17c2de9ab22eae22d176c7d0bfc..00000000000000000000000000000000
-}
diff --git a/src/main/java/co/aikar/timings/TimingHistory.java b/src/main/java/co/aikar/timings/TimingHistory.java
deleted file mode 100644
index 02e88db63be2d5e31da6b65157ba7b971b1f10f3..0000000000000000000000000000000000000000
index 2d87237ea99d42c6ce896d52a1b2e5c3ec4d4568..0000000000000000000000000000000000000000
--- a/src/main/java/co/aikar/timings/TimingHistory.java
+++ /dev/null
@@ -1,355 +0,0 @@
@@ -1,352 +0,0 @@
-/*
- * This file is licensed under the MIT License (MIT).
- *
@@ -877,18 +877,15 @@ index 02e88db63be2d5e31da6b65157ba7b971b1f10f3..00000000000000000000000000000000
- }
- }
- ),
- toObjectMapper(input.tileEntityCounts.entrySet(),
- new Function<Map.Entry<Material, Counter>, JSONPair>() {
- @NotNull
- @Override
- public JSONPair apply(Map.Entry<Material, Counter> entry) {
- toObjectMapper(
- input.tileEntityCounts.entrySet(),
- entry -> {
- tileEntityTypeSet.add(entry.getKey());
- return pair(
- String.valueOf(entry.getKey().ordinal()),
- entry.getValue().count()
- );
- }
- }
- )
- );
- }
@@ -2830,7 +2827,7 @@ index 3e61a926620a67daec3af54b72a1b911eaef2ed4..00000000000000000000000000000000
- }
-}
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
index 0857a65ecbc36e0e4b8a7d0cda52be35f238f660..eabc229dd6c2cdfcc7d533e0eae44e97070922ba 100644
index 0e9ccfee7a03d341e7c4d271f53b4ed168b404ef..1a38d70284e3644ba4bad87061974e58761c5a37 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
@@ -151,7 +151,8 @@ public interface UnsafeValues {
@@ -2907,10 +2904,10 @@ index abe256e1e45ce28036da4aa1586715bc8a1a3414..9eab8024e0675865f17669847759a26d
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 83f84a76cbfdf5138ecccf3a886d38151a500bf2..4ba2d258114259691a453c03751b5b7fa3d6b525 100644
index a09b5458191eb5df4787859b72a37fa1fa2bffba..6551a74b5c900d52f162c38c2b2ca94a8fc5c444 100644
--- a/src/main/java/org/bukkit/command/SimpleCommandMap.java
+++ b/src/main/java/org/bukkit/command/SimpleCommandMap.java
@@ -38,7 +38,6 @@ public class SimpleCommandMap implements CommandMap {
@@ -39,7 +39,6 @@ public class SimpleCommandMap implements CommandMap {
register("bukkit", new VersionCommand("version"));
register("bukkit", new ReloadCommand("reload"));
//register("bukkit", new PluginsCommand("plugins")); // Paper
@@ -2918,15 +2915,15 @@ index 83f84a76cbfdf5138ecccf3a886d38151a500bf2..4ba2d258114259691a453c03751b5b7f
}
public void setFallbackCommands() {
@@ -70,7 +69,6 @@ public class SimpleCommandMap implements CommandMap {
@@ -71,7 +70,6 @@ public class SimpleCommandMap implements CommandMap {
*/
@Override
public boolean register(@NotNull String label, @NotNull String fallbackPrefix, @NotNull Command command) {
- command.timings = co.aikar.timings.TimingsManager.getCommandTiming(fallbackPrefix, command); // Paper
label = label.toLowerCase(java.util.Locale.ENGLISH).trim();
fallbackPrefix = fallbackPrefix.toLowerCase(java.util.Locale.ENGLISH).trim();
label = label.toLowerCase(Locale.ROOT).trim();
fallbackPrefix = fallbackPrefix.toLowerCase(Locale.ROOT).trim();
boolean registered = register(label, command, false, fallbackPrefix);
@@ -165,23 +163,13 @@ public class SimpleCommandMap implements CommandMap {
@@ -166,23 +164,13 @@ public class SimpleCommandMap implements CommandMap {
parsedArgs = event.getArgs();
// Purpur end
@@ -2951,10 +2948,10 @@ index 83f84a76cbfdf5138ecccf3a886d38151a500bf2..4ba2d258114259691a453c03751b5b7f
server.getPluginManager().callEvent(new com.destroystokyo.paper.event.server.ServerExceptionEvent(new com.destroystokyo.paper.exception.ServerCommandException(ex, target, sender, args))); // Paper
throw new CommandException(msg, ex);
diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
index 5dc64d8c9aeae612fd31af0673f3530a9e777dfc..b598ad80bbcc256c1440a5ab79321b93ae9f12ed 100644
index e8ba4f1108f2548a487877027e37d81fc150e042..bfb3a06abc8c9b24cb217946f8f77d7027c8dbc1 100644
--- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java
+++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
@@ -60,7 +60,6 @@ public final class SimplePluginManager implements PluginManager {
@@ -61,7 +61,6 @@ public final class SimplePluginManager implements PluginManager {
public final Map<Boolean, Map<Permissible, Boolean>> defSubs = new HashMap<Boolean, Map<Permissible, Boolean>>();
public PluginManager paperPluginManager;
// Paper end
@@ -2962,7 +2959,7 @@ index 5dc64d8c9aeae612fd31af0673f3530a9e777dfc..b598ad80bbcc256c1440a5ab79321b93
public SimplePluginManager(@NotNull Server instance, @NotNull SimpleCommandMap commandMap) {
server = instance;
@@ -723,12 +722,7 @@ public final class SimplePluginManager implements PluginManager {
@@ -724,12 +723,7 @@ public final class SimplePluginManager implements PluginManager {
throw new IllegalPluginAccessException("Plugin attempted to register " + event + " while not enabled");
}
@@ -2976,7 +2973,7 @@ index 5dc64d8c9aeae612fd31af0673f3530a9e777dfc..b598ad80bbcc256c1440a5ab79321b93
}
@NotNull
@@ -958,17 +952,7 @@ public final class SimplePluginManager implements PluginManager {
@@ -959,17 +953,7 @@ public final class SimplePluginManager implements PluginManager {
@Override
public boolean useTimings() {
@@ -3117,7 +3114,7 @@ index 12946bd55fcf7c40d39081779a7fa30049ee6165..00000000000000000000000000000000
-
-}
diff --git a/src/test/java/org/bukkit/AnnotationTest.java b/src/test/java/org/bukkit/AnnotationTest.java
index 88f1ca89fa640a686231b8eec87e70419b2d73ef..ef113b3b89f40ed7242d5c6361ea822693f87518 100644
index 057dc3ebea3516863dda24252fe05d344c16fab3..3d0c2ef20810ff2dad479e84e6987ec47bada56f 100644
--- a/src/test/java/org/bukkit/AnnotationTest.java
+++ b/src/test/java/org/bukkit/AnnotationTest.java
@@ -50,15 +50,6 @@ public class AnnotationTest {

View File

@@ -7,10 +7,10 @@ Original license: MIT
Original project: https://github.com/KeYiMC/KeYi
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index d09618735f42fc3a0f9fd0de15499860f96ce0b3..f5a371a55c17adda48d988be8b249ae63f2e3b19 100644
index 6a11a44099ceced971e2909b564d40ed687f62e2..bd00c8f6d9a90ab42e541a52d16d6233c37ce79b 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -3935,4 +3935,22 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -3983,4 +3983,22 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
sendDeathScreen(message);
}
// Purpur end

View File

@@ -7,10 +7,10 @@ Original license: MIT
Original project: https://github.com/Cryptite/Slice
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index f5a371a55c17adda48d988be8b249ae63f2e3b19..c0a334713576621f2e134db7264ae2dadbe69b1f 100644
index bd00c8f6d9a90ab42e541a52d16d6233c37ce79b..54d4bff74eb1e83ad7540d2089033444a7c07cd0 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -3638,6 +3638,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -3686,6 +3686,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
String getClientBrandName();
// Paper end

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Purpur generated-api Changes
Original license: MIT
Original project: https://github.com/PurpurMC/Purpur
Commit: 79d199c7f07d4acd9af6a9858cd895722ce16429
Commit: 72192634b0629433aa531dedaf8c918755f82fbe
diff --git a/com/destroystokyo/paper/entity/ai/VanillaGoal.java b/com/destroystokyo/paper/entity/ai/VanillaGoal.java
index 43f4deacef349502cbb207aafc4f9cb7a75177c5..6b692c24a62e2172116a6b9c371b1c0e2411c27e 100644

File diff suppressed because it is too large Load Diff

View File

@@ -27,7 +27,7 @@ index e94224ed280247ee69dfdff8dc960f2b8729be33..5b9725a9a81c0850dc2809c150529e5f
for (Component component : formatProviders(spigotPlugins, sender)) { // Purpur
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index c7c4a56cb09ca513abdbaf5674c325e551ea2909..ede6cd55688e573e003a6568100b18d5e620f878 100644
index 7bba8f957d7b4cbe80000bdd39793ce600201496..1f166b48af314ee85239ae39358a47fb0e6d423c 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -293,7 +293,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -86,7 +86,7 @@ index 096c89bd01cec2abd151bf6fffc4847d1bcd548f..cd0a8a6a1be75cab8bbb8ee3ac17bb73
this.values[this.vp++ & 0xFF] = (int)(l * 100L / Runtime.getRuntime().maxMemory());
this.repaint();
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
index af4fe64e190e73dcc5f2495d0b533547d8f57f1d..1af3a2c078dc802aca2297d188c5ac068e073d26 100644
index 4242f2c048a4d1045d4d70680767d943dadf1698..360e1df4574c8257ff52b4a38a26314c0ec1a05e 100644
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
@@ -540,7 +540,7 @@ public class ServerChunkCache extends ChunkSource {
@@ -112,7 +112,7 @@ index b9d9ef327753272a537bebccc54d9fbc16ed3bdc..f8d11853af6bfc08d1bd8a0f537fd576
j = this.levelData.getDayTime() + 24000L;
TimeSkipEvent event = new TimeSkipEvent(this.getWorld(), TimeSkipEvent.SkipReason.NIGHT_SKIP, (j - j % 24000L) - this.getDayTime());
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index b96be9429a43439e27558d6f945d7c11fffa6b73..b152cf0c89e735470ea61b4bb0d88f3467f1a8d0 100644
index 2afa65c3c8ee8e502fa473bf0b485a02b32989f7..0fafe65e9f0ee85469d80a1033078b20a7abbfcf 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -567,13 +567,29 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -158,7 +158,7 @@ index b96be9429a43439e27558d6f945d7c11fffa6b73..b152cf0c89e735470ea61b4bb0d88f34
}
// Pufferfish end - entity TTL
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 335de9b1272eab2428a45de35f820f93d0dbc314..d112423b368ccfd2041974aac0274564eefa6010 100644
index 1b092cdccba089684301266a90fe715a55a6f4f8..fa773a29ec77f277546e418aab9b06ccd9567a8f 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1068,17 +1068,19 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -186,10 +186,10 @@ index 335de9b1272eab2428a45de35f820f93d0dbc314..d112423b368ccfd2041974aac0274564
// Purpur start
if (entity instanceof LivingEntity entityliving) {
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index 3a9ab3be32524b4e84588880a4055786410fdd0f..e4c8a9571bccbdad7e4f369e50a79a1423b3d15e 100644
index 42ba2c7b037aaea4ae16dec8bc1413a15fbb8317..2e030baabb57de26dcc7340430f0ae0a3a5c1f9f 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -747,7 +747,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti
@@ -746,7 +746,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti
@Override
public void aiStep() {
super.aiStep();
@@ -198,7 +198,7 @@ index 3a9ab3be32524b4e84588880a4055786410fdd0f..e4c8a9571bccbdad7e4f369e50a79a14
Vec3i baseblockposition = this.getPickupReach();
List<ItemEntity> list = this.level().getEntitiesOfClass(ItemEntity.class, this.getBoundingBox().inflate((double) baseblockposition.getX(), (double) baseblockposition.getY(), (double) baseblockposition.getZ()));
Iterator iterator = list.iterator();
@@ -1860,11 +1860,6 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti
@@ -1859,11 +1859,6 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti
return flag;
}

View File

@@ -964,7 +964,7 @@ index 57e76b53e5e314c3e6b8856010f7a84188121582..d6daa27a8d7aca00b181e90d789f4249
} catch (Exception exception) {
if (exception instanceof ReportedException) {
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 9b18c076cabdbfc4b266fa605f38e2ad375e8271..24a10554efcf7a24d2d2f82b6981c8d35d13338d 100644
index 5bf2d1cca0661ff35533c41e84e4f387f1a18af8..03a787c9bafee3a6b300703cf05a6a65bd4e9c03 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -181,8 +181,6 @@ import org.bukkit.craftbukkit.CraftRegistry;
@@ -1127,7 +1127,7 @@ index 9b18c076cabdbfc4b266fa605f38e2ad375e8271..24a10554efcf7a24d2d2f82b6981c8d3
iterator = this.playerList.getPlayers().iterator();
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index 0bba378572f01b8998fd4cad544e93b3da248f08..ee99b0e74abc6447937b1af627c10ffbeeb9e0c0 100644
index 62379ebae3e6972f88742ff29f607a99879f567d..ee99b0e74abc6447937b1af627c10ffbeeb9e0c0 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -62,7 +62,6 @@ import org.apache.logging.log4j.Level;
@@ -1161,7 +1161,7 @@ index 0bba378572f01b8998fd4cad544e93b3da248f08..ee99b0e74abc6447937b1af627c10ffb
}
- // Paper start
command.set(event.getCommand());
- if (event.getCommand().toLowerCase().startsWith("timings") && event.getCommand().toLowerCase().matches("timings (report|paste|get|merged|seperate)")) {
- if (event.getCommand().toLowerCase(java.util.Locale.ROOT).startsWith("timings") && event.getCommand().toLowerCase(java.util.Locale.ROOT).matches("timings (report|paste|get|merged|seperate)")) {
- org.bukkit.command.BufferedCommandSender sender = new org.bukkit.command.BufferedCommandSender();
- Waitable<String> waitable = new Waitable<>() {
- @Override
@@ -1257,7 +1257,7 @@ index 54c3e32c7ae869d55408d77ea2aa1635f980a39b..1dc4ccbd999964eee18a420c8166e1a8
}
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
index 1af3a2c078dc802aca2297d188c5ac068e073d26..e769e8d8e853b2731d85b75d273b029fd08861fa 100644
index 360e1df4574c8257ff52b4a38a26314c0ec1a05e..9115054c05d261dd959e1f1f091c9b96c6a01a79 100644
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
@@ -272,10 +272,8 @@ public class ServerChunkCache extends ChunkSource {
@@ -1294,7 +1294,7 @@ index 1af3a2c078dc802aca2297d188c5ac068e073d26..e769e8d8e853b2731d85b75d273b029f
@Override
public void tick(BooleanSupplier shouldKeepTicking, boolean tickChunks) {
- this.level.timings.doChunkMap.startTiming(); // Spigot
if (this.level.tickRateManager().runsNormally() || !tickChunks) {
if (this.level.tickRateManager().runsNormally() || !tickChunks || this.level.spigotConfig.unloadFrozenChunks) { // Spigot
this.distanceManager.purgeStaleTickets();
}
@@ -1862,10 +1862,10 @@ index f2a1787ba10bcb67ad5a2a36165bac55ea7f0a3e..184b69dc39749734f8176d3f3c2bf9f6
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 14379b1d2e53abdc57edf2bcd25c3248463ab442..a3e90368e1e34c08508a54fc8c279f12b2bf763e 100644
index 0523fef009b23eb801acfb6bcc45c02dfbef1833..c8e424d6646f782c8fbd97c1e699115304983533 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -472,7 +472,6 @@ public final class CraftServer implements Server {
@@ -474,7 +474,6 @@ public final class CraftServer implements Server {
this.saveCommandsConfig();
this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*");
this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions");
@@ -1874,7 +1874,7 @@ index 14379b1d2e53abdc57edf2bcd25c3248463ab442..a3e90368e1e34c08508a54fc8c279f12
console.autosavePeriod = this.configuration.getInt("ticks-per.autosave");
this.warningState = WarningState.value(this.configuration.getString("settings.deprecated-verbose"));
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index 1b85f74a74b41d1f715abc55bf49613abbc3c97a..fa843d5b5ac9e0fe8886a95246a999ac02aacd6f 100644
index 9f873c07bec896b6c91b306efa51e0f07da1c6a8..ce3572f8044d7a4732d9411a622be79c48da1346 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -375,8 +375,6 @@ public class Main {
@@ -2027,10 +2027,10 @@ index b3e1adeb932da9b3bed16acd94e2f16da48a7c72..e9798517b9211c50a20ea5c69603aab3
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
index 53908cec6f3f5c834ace105c9143cb39dc47c827..bbcd357791c648036c614401c0fd94ad51a047f7 100644
index 2918b61675e16a0dd023d3ca10f232c4675bf4b0..c8dc6333cddbf25c8211be6d24ce39f5ee64b70a 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -218,9 +218,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
@@ -219,9 +219,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
// ========================================================================
// Paper start
@Override
@@ -2041,7 +2041,7 @@ index 53908cec6f3f5c834ace105c9143cb39dc47c827..bbcd357791c648036c614401c0fd94ad
// Paper end
public static byte toLegacyData(BlockState data) {
@@ -498,7 +496,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
@@ -499,7 +497,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
// Paper start
@Override
public String getTimingsServerName() {
@@ -2051,7 +2051,7 @@ index 53908cec6f3f5c834ace105c9143cb39dc47c827..bbcd357791c648036c614401c0fd94ad
@Override
diff --git a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
index b1fc5368d439ef77128c77468c497dc3fbb0ccb8..b95cd1755fb9187db75eec266bf79a901d16f570 100644
index b4cca06a583fbb7918237de256f43ee61fd8ec6c..dd4a5f610e6e84a73051a8ed46e1961804356ca3 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
@@ -80,41 +80,6 @@ public class GaleGlobalConfiguration extends ConfigurationPart {
@@ -2095,7 +2095,7 @@ index b1fc5368d439ef77128c77468c497dc3fbb0ccb8..b95cd1755fb9187db75eec266bf79a90
-
public Keepalive keepalive;
public class Keepalive extends ConfigurationPart {
public boolean sendMultiple = false; // Gale - Purpur - send multiple keep-alive packets
public boolean sendMultiple = true; // Gale - Purpur - send multiple keep-alive packets
diff --git a/src/main/java/org/galemc/gale/configuration/timingsexport/GaleConfigurationTimingsExport.java b/src/main/java/org/galemc/gale/configuration/timingsexport/GaleConfigurationTimingsExport.java
deleted file mode 100644
index 579c2e69d8f6ce8398eb1297d1d1ead98c9068a5..0000000000000000000000000000000000000000
@@ -2257,10 +2257,10 @@ index 139d946346594d2a59a8b2930c4eae794c880dbc..00000000000000000000000000000000
-
-}
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
index 9edb1e43dc9c55202443ef5f893d8e2bd0301de3..f5822d9778ebf8256d6e184d6c21335830bcf045 100644
index 638bed116e4c36974b6096524f3f878a1ecb89c5..37e35606e3f47325db4da5deeff02aad9d541e87 100644
--- a/src/main/java/org/spigotmc/ActivationRange.java
+++ b/src/main/java/org/spigotmc/ActivationRange.java
@@ -35,7 +35,6 @@ import net.minecraft.world.entity.projectile.FireworkRocketEntity;
@@ -34,7 +34,6 @@ import net.minecraft.world.entity.projectile.FireworkRocketEntity;
import net.minecraft.world.entity.projectile.ThrowableProjectile;
import net.minecraft.world.entity.projectile.ThrownTrident;
import net.minecraft.world.entity.raid.Raider;
@@ -2268,7 +2268,7 @@ index 9edb1e43dc9c55202443ef5f893d8e2bd0301de3..f5822d9778ebf8256d6e184d6c213358
import net.minecraft.world.entity.schedule.Activity;
import net.minecraft.world.level.Level;
import net.minecraft.world.phys.AABB;
@@ -186,7 +185,6 @@ public class ActivationRange
@@ -185,7 +184,6 @@ public class ActivationRange
*/
public static void activateEntities(Level world)
{
@@ -2276,7 +2276,7 @@ index 9edb1e43dc9c55202443ef5f893d8e2bd0301de3..f5822d9778ebf8256d6e184d6c213358
final int miscActivationRange = world.spigotConfig.miscActivationRange;
final int raiderActivationRange = world.spigotConfig.raiderActivationRange;
final int animalActivationRange = world.spigotConfig.animalActivationRange;
@@ -265,7 +263,6 @@ public class ActivationRange
@@ -264,7 +262,6 @@ public class ActivationRange
}
// Paper end
}

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 241340a6d66f17f2a31fb03ff0dfab121b856368..f2f6184589c72b82d041abae2c978edf084cc63f 100644
index 8211ec2c701687d8e5334156772cf435b89f3cb3..055c72f90d235b1aafaf5ddc6b868660bbad9113 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -3616,4 +3616,27 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -3625,4 +3625,27 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.getHandle().connection.send(new net.minecraft.network.protocol.game.ClientboundPlayerCombatKillPacket(getEntityId(), io.papermc.paper.adventure.PaperAdventure.asVanilla(message)));
}
// Purpur end

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Leaves: Server Utils
Original license: GPLv3
Original project: https://github.com/LeavesMC/Leaves
Commit: 6951bdc2153bcb14aa64787ab007fa39fee7c007
Commit: e234432bd99e1c4b07c24d1dd247977226a7516a
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 0fafe65e9f0ee85469d80a1033078b20a7abbfcf..fd937544baae6835e1826a686676dcbfa58aca33 100644

View File

@@ -8,7 +8,7 @@ TODO - Dreeam: Configurable leaves protocol listening
Original license: GPLv3
Original project: https://github.com/LeavesMC/Leaves
Commit: 6951bdc2153bcb14aa64787ab007fa39fee7c007
Commit: e234432bd99e1c4b07c24d1dd247977226a7516a
diff --git a/src/main/java/net/minecraft/network/protocol/common/custom/CustomPacketPayload.java b/src/main/java/net/minecraft/network/protocol/common/custom/CustomPacketPayload.java
index 663b3b12d9a7cdc04b7f86ccfe6bc6fcfd5028bc..a58ad6f41fc0eacf020e9ab6c8e5f7dfc4977f8d 100644
@@ -40,7 +40,7 @@ index 663b3b12d9a7cdc04b7f86ccfe6bc6fcfd5028bc..a58ad6f41fc0eacf020e9ab6c8e5f7df
};
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 24a10554efcf7a24d2d2f82b6981c8d35d13338d..8ca3f0e06f163d9ae2910c9fb2475af70b39b943 100644
index 03a787c9bafee3a6b300703cf05a6a65bd4e9c03..3e150865ba40413a9caf5e92cd6c4d60debb59da 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1785,6 +1785,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -53,7 +53,7 @@ index 24a10554efcf7a24d2d2f82b6981c8d35d13338d..8ca3f0e06f163d9ae2910c9fb2475af7
((Runnable) this.tickables.get(i)).run();
}
diff --git a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
index bc14f7ae7c5d3dab3a3fc1ce56c975c32943076c..9fa1cb2146bb8173a246981c0f73cd8c1bc44abe 100644
index 0805eae5d770a5cc9c0b96ec11de6d9c9faf2d1d..392a8ce9c36c5d464df3a7d6a75737e19c22bdbb 100644
--- a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
@@ -168,6 +168,11 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack
@@ -98,10 +98,10 @@ index 2e98c6598e589b498991c745058db3c0efb9cbf6..0d65a53b23c82cbc4539afd28c52b5fd
org.purpurmc.purpur.task.BossBarTask.removeFromAll(entityplayer.getBukkitEntity()); // Purpur
ServerLevel worldserver = entityplayer.serverLevel();
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index a3e90368e1e34c08508a54fc8c279f12b2bf763e..88bc9033981662e8ba62b833eac2a0301ab504da 100644
index c8e424d6646f782c8fbd97c1e699115304983533..31b5beb4c3a3712d4f38a4ffef09675050f2eb04 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -485,6 +485,7 @@ public final class CraftServer implements Server {
@@ -488,6 +488,7 @@ public final class CraftServer implements Server {
}
this.potionBrewer = new io.papermc.paper.potion.PaperPotionBrewer(console); // Paper - custom potion mixes
datapackManager = new io.papermc.paper.datapack.PaperDatapackManager(console.getPackRepository()); // Paper
@@ -109,7 +109,7 @@ index a3e90368e1e34c08508a54fc8c279f12b2bf763e..88bc9033981662e8ba62b833eac2a030
}
public boolean getCommandBlockOverride(String command) {
@@ -1087,6 +1088,7 @@ public final class CraftServer implements Server {
@@ -1110,6 +1111,7 @@ public final class CraftServer implements Server {
org.purpurmc.purpur.PurpurConfig.registerCommands(); // Purpur
this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*");
this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions");

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Leaves: Jade Protocol
Original license: GPLv3
Original project: https://github.com/LeavesMC/Leaves
Commit: 6951bdc2153bcb14aa64787ab007fa39fee7c007
Commit: e234432bd99e1c4b07c24d1dd247977226a7516a
This patch is Powered by Jade (https://github.com/Snownee/Jade)

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Leaves: Appleskin Protocol
Original license: GPLv3
Original project: https://github.com/LeavesMC/Leaves
Commit: 6951bdc2153bcb14aa64787ab007fa39fee7c007
Commit: e234432bd99e1c4b07c24d1dd247977226a7516a
This patch is Powered by AppleSkin (https://github.com/squeek502/AppleSkin)

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Leaves: Xaero Map Protocol
Original license: GPLv3
Original project: https://github.com/LeavesMC/Leaves
Commit: 6951bdc2153bcb14aa64787ab007fa39fee7c007
Commit: e234432bd99e1c4b07c24d1dd247977226a7516a
This patch is Powered by Xaero Map

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Leaves: Disable moved wrongly threshold
Original license: GPLv3
Original project: https://github.com/LeavesMC/Leaves
Commit: 6951bdc2153bcb14aa64787ab007fa39fee7c007
Commit: e234432bd99e1c4b07c24d1dd247977226a7516a
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 2461fdfe02dc2252178e442f54ef4f584ba75cf8..a0abb0182aa6166b1d2702aa9964132889dc9d86 100644

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Leaves: Fix vehicle teleport by end gateway
Original license: GPLv3
Original project: https://github.com/LeavesMC/Leaves
Commit: 6951bdc2153bcb14aa64787ab007fa39fee7c007
Commit: e234432bd99e1c4b07c24d1dd247977226a7516a
diff --git a/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java
index 0e58011d22536051a18388c2d45fd1a30c2f5ffd..2910af920a746f90529f94038922e2a9e6ad3bc1 100644

View File

@@ -15,10 +15,10 @@ This patch was ported downstream from the Petal fork.
Makes most pathfinding-related work happen asynchronously
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index 965a92f9a8e8efada117d208290271bc94b23db7..f82c85a09004448350611e406f1a373b2a07f9ec 100644
index 2e030baabb57de26dcc7340430f0ae0a3a5c1f9f..e14ba4cf64b7bfff6b6e3630e56d84a5b6fb42b4 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -303,6 +303,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti
@@ -302,6 +302,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti
@Nullable
@Override
public LivingEntity getTarget() {
@@ -562,10 +562,10 @@ index 7c4e7d55874fa968d52eab683e9979ba38e91c2e..da026533b15a1981000e73bba6c5209c
}
}
diff --git a/src/main/java/net/minecraft/world/entity/monster/Drowned.java b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
index 15afee3c4f6307557321424560d2340e23cd472b..05ed15bcd5974af13395316b50f4ae78385f2ee4 100644
index d1197b313f16f43f60ed242081a6164026e3c6a7..53c205f6ba3d63140a7d9c1f6cea1729326b2558 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Drowned.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
@@ -296,7 +296,7 @@ public class Drowned extends Zombie implements RangedAttackMob {
@@ -295,7 +295,7 @@ public class Drowned extends Zombie implements RangedAttackMob {
protected boolean closeToNextPos() {
Path pathentity = this.getNavigation().getPath();

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable movement speed of more entities
diff --git a/src/main/java/net/minecraft/world/entity/monster/Drowned.java b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
index 05ed15bcd5974af13395316b50f4ae78385f2ee4..a7495d74d849d3723555da3ec0d65022399d63e4 100644
index 53c205f6ba3d63140a7d9c1f6cea1729326b2558..c0840449288338c0baebae59c691188f29e3ee37 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Drowned.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
@@ -92,6 +92,7 @@ public class Drowned extends Zombie implements RangedAttackMob {
@@ -91,6 +91,7 @@ public class Drowned extends Zombie implements RangedAttackMob {
@Override
public void initAttributes() {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.drownedMaxHealth);

View File

@@ -216,7 +216,7 @@ index e0aec3b3e04d603dc208029554f981c6b9e6b43e..8d45048622be6b85bf9f31badd71cd93
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index eaa8b63b0fb1f0ebefba9014cfec7f1065332171..276e605eae9034a19a382c36df04fcef8b7e3d9f 100644
index d3a8f712b48b66f8452332668819967cb268f984..ecd3f2c3dde43082809851f2e71d18c5d7926ed8 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -323,6 +323,7 @@ public class PurpurConfig {
@@ -227,7 +227,7 @@ index eaa8b63b0fb1f0ebefba9014cfec7f1065332171..276e605eae9034a19a382c36df04fcef
public static boolean enderChestSixRows = false;
public static boolean enderChestPermissionRows = false;
public static boolean cryingObsidianValidForPortalFrame = false;
@@ -363,6 +364,7 @@ public class PurpurConfig {
@@ -365,6 +366,7 @@ public class PurpurConfig {
case 1 -> 9;
default -> 27;
});

View File

@@ -32,7 +32,7 @@ index f164256d59b761264876ca0c85f812d101bfd5de..10465a33d90a1e43b9dbd7764c895dd3
final TrackedChunk chunk = this.byChunk.get(CoordinateUtils.getChunkKey(chunkX, chunkZ));
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
index 6e19dc2d167e47ead14aba57bb2ae2fa5eb2282a..e6f6304724ae6acaf94ed9553c90c9650be5c0c6 100644
index 5e1268be4331d8e6fdb3eac3feadba4a696c3c3d..9cc83985e3222fdfd32359aab17d6b27bb96870d 100644
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
@@ -591,7 +591,7 @@ public class ServerChunkCache extends ChunkSource {

View File

@@ -29,7 +29,7 @@ index 5e95d84c37d2d36d62a0b5b3f55bf28bd40bf7ee..2109fedc6d09fb783e0042289a9c5d37
}
// CraftBukkit end
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index bbc8135343b8206c5348eab802a257555b16836f..3bb35f002cecee7b5ffac8f8aedcce2336d662f1 100644
index ff547f908b0390fac7e165c5765f0f9f4d9ce5b8..547bb44769e3cf23cd0fee669d335c37ff15aa92 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -198,7 +198,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {

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 88bc9033981662e8ba62b833eac2a0301ab504da..15208e87f583f2670fa4b2ffcef2a6c774f2ef6f 100644
index 31b5beb4c3a3712d4f38a4ffef09675050f2eb04..f4b9a74ee268273098e4286354e436bbd3fc07f2 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -3154,6 +3154,8 @@ public final class CraftServer implements Server {
@@ -3177,6 +3177,8 @@ public final class CraftServer implements Server {
@Override
public double[] getTPS() {

View File

@@ -83,7 +83,7 @@ index a0abb0182aa6166b1d2702aa9964132889dc9d86..2c630eddcacee445f44beeefa842e90a
// CraftBukkit start - SPIGOT-7346: Prevent disconnected players from executing commands
if (this.player.hasDisconnected()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 276e605eae9034a19a382c36df04fcef8b7e3d9f..fef833511a749593d4ecf4ec82f940855ace1598 100644
index ecd3f2c3dde43082809851f2e71d18c5d7926ed8..af5eebca926ba5e4bbec8e25da5013fd3e491dbd 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -176,9 +176,13 @@ public class PurpurConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Virtual Thread for async scheduler
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index fa843d5b5ac9e0fe8886a95246a999ac02aacd6f..b547c95d50ade495940c146ec5c39e4ef7d1d79e 100644
index ce3572f8044d7a4732d9411a622be79c48da1346..dbdb4276c3689d477be6a06f3a826ec0382d1408 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -387,7 +387,6 @@ public class Main {

View File

@@ -83,10 +83,10 @@ index ee99b0e74abc6447937b1af627c10ffbeeb9e0c0..18554ce89a6de5dc6a8116e27f7210c0
// Paper start - Add setting for proxy online mode status
diff --git a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
index 487e24f1a26428cdaee3ca946ac8f5f1f599b260..46120f0771dcd52af1a93ab67f00572921c834e7 100644
index 392a8ce9c36c5d464df3a7d6a75737e19c22bdbb..3754ea28fca1fbcd72866942d72c3567f588d460 100644
--- a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
@@ -335,10 +335,29 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack
@@ -336,10 +336,29 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack
}
public void send(Packet<?> packet) {

View File

@@ -34,7 +34,7 @@ index 2c630eddcacee445f44beeefa842e90aff75c0a6..ea1383691d57bfe9da958b6071bdb936
for (int i = 0; i < message.length(); ++i) {
if (!StringUtil.isAllowedChatCharacter(message.charAt(i))) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 3bb35f002cecee7b5ffac8f8aedcce2336d662f1..8dd5fb89dbab34562c1bdb6ccced24606e5dc6f6 100644
index 547bb44769e3cf23cd0fee669d335c37ff15aa92..14678f175a02592db1305584d36421e20e6263d8 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -751,6 +751,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player {

View File

@@ -47,7 +47,7 @@ index 307a7596024528ad194eb01d6468aff1f5fe02cf..c873c85643ce21d7362673af311e9609
return GsonHelper.parse(!s1.isEmpty() ? s1 : "{}");
}, new JsonObject()), (String) this.get("level-type", (s1) -> {
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
index e6f6304724ae6acaf94ed9553c90c9650be5c0c6..e0f13719a239a2e06330b03a2e4b8d5715b0ea63 100644
index 9cc83985e3222fdfd32359aab17d6b27bb96870d..50fad3d6c5872b52b59e4b714cf5fb09d6be5629 100644
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
@@ -44,6 +44,10 @@ import net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemp
@@ -565,10 +565,10 @@ index 7f4c5e9355a6f562f668e9b8134bfe65dde35f90..7a1c21696f6531c7dded774f45073df1
public class MineshaftStructure extends Structure {
public static final MapCodec<MineshaftStructure> CODEC = RecordCodecBuilder.mapCodec(
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
index 82b4bd669c57b18fb0b443bcd94495023cd5a528..2d336a8bb12e9e41b717caf883d39de146ea32d3 100644
index 92f1ea81b5e90529905d9c508aca18c31443ff6a..71aeb3f5feb813ef02d07c7952c67817f8a6866e 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
@@ -202,7 +202,10 @@ public class CraftChunk implements Chunk {
@@ -203,7 +203,10 @@ public class CraftChunk implements Chunk {
@Override
public boolean isSlimeChunk() {
// 987234911L is deterimined in EntitySlime when seeing if a slime can spawn in a chunk
@@ -581,10 +581,10 @@ index 82b4bd669c57b18fb0b443bcd94495023cd5a528..2d336a8bb12e9e41b717caf883d39de1
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 15208e87f583f2670fa4b2ffcef2a6c774f2ef6f..4b00b6d66ebe578778e103335747183b9e44c94c 100644
index f4b9a74ee268273098e4286354e436bbd3fc07f2..80bb1c1b49d80cc8d98ddb3c2c29a0e597b797e8 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -266,6 +266,10 @@ import net.md_5.bungee.api.chat.BaseComponent; // Spigot
@@ -267,6 +267,10 @@ import net.md_5.bungee.api.chat.BaseComponent; // Spigot
import javax.annotation.Nullable; // Paper
import javax.annotation.Nonnull; // Paper
@@ -595,7 +595,7 @@ index 15208e87f583f2670fa4b2ffcef2a6c774f2ef6f..4b00b6d66ebe578778e103335747183b
public final class CraftServer implements Server {
private final String serverName = io.papermc.paper.ServerBuildInfo.buildInfo().brandName(); // Paper
private final String serverVersion;
@@ -1363,7 +1367,7 @@ public final class CraftServer implements Server {
@@ -1386,7 +1390,7 @@ public final class CraftServer implements Server {
iregistrycustom_dimension = leveldataanddimensions.dimensions().dimensionsRegistryAccess();
} else {
LevelSettings worldsettings;

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Ignore terminal provider warning
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index b547c95d50ade495940c146ec5c39e4ef7d1d79e..1bcca095e70f586af1758447c29314a4256666ce 100644
index dbdb4276c3689d477be6a06f3a826ec0382d1408..4b3ca7cc331d60fe02f1068467bed6ce0c81001e 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -354,6 +354,9 @@ public class Main {

View File

@@ -7,7 +7,7 @@ Revert to old console provider, Fix https://github.com/PaperMC/Paper/issues/1040
Solution refers to https://inside.java/2023/07/31/quality-heads-up
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index 1bcca095e70f586af1758447c29314a4256666ce..d1565ffdb17460df4d788652e1c1afffba4e82d6 100644
index 4b3ca7cc331d60fe02f1068467bed6ce0c81001e..f310722b6f6b5e487e876e42070fdaaa01b62efb 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -356,6 +356,7 @@ public class Main {

View File

@@ -1,175 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: HaHaWTH <102713261+HaHaWTH@users.noreply.github.com>
Date: Wed, 12 Jun 2024 23:31:54 +0800
Subject: [PATCH] Implement-Noisium
diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java
index 121459fdb47904d448f86362f535765c713a4b67..93bcb7441063c56524e58c10cc7d402507524192 100644
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java
+++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java
@@ -19,8 +19,8 @@ public class LevelChunkSection {
public static final int SECTION_HEIGHT = 16;
public static final int SECTION_SIZE = 4096;
public static final int BIOME_CONTAINER_BITS = 2;
- short nonEmptyBlockCount; // Paper - package private
- private short tickingBlockCount;
+ public short nonEmptyBlockCount; // Paper - package private // Leaf - public
+ public short tickingBlockCount; // Leaf - package private -> public
private short tickingFluidCount;
public final PalettedContainer<BlockState> states;
// CraftBukkit start - read/write
@@ -233,13 +233,15 @@ public class LevelChunkSection {
PalettedContainer<Holder<Biome>> datapaletteblock = this.biomes.recreate();
boolean flag = true;
- for (int l = 0; l < 4; ++l) {
- for (int i1 = 0; i1 < 4; ++i1) {
- for (int j1 = 0; j1 < 4; ++j1) {
- datapaletteblock.getAndSetUnchecked(l, i1, j1, biomeSupplier.getNoiseBiome(x + l, y + i1, z + j1, sampler));
+ // Leaf start - Noisium optimization
+ for (int y1 = 0; y1 < 4; ++y1) {
+ for (int z1 = 0; z1 < 4; ++z1) {
+ for (int x1 = 0; x1 < 4; ++x1) {
+ datapaletteblock.getAndSetUnchecked(x1, y1, z1, biomeSupplier.getNoiseBiome(x + x1, y + y1, z + z1, sampler));
}
}
}
+ // Leaf end
this.biomes = datapaletteblock;
}
diff --git a/src/main/java/net/minecraft/world/level/chunk/PalettedContainer.java b/src/main/java/net/minecraft/world/level/chunk/PalettedContainer.java
index 6402665ae8cc8664921ae0298e8b6fa4c31d8b23..471a31e60804e8315926ef706bec6128c1c33cb0 100644
--- a/src/main/java/net/minecraft/world/level/chunk/PalettedContainer.java
+++ b/src/main/java/net/minecraft/world/level/chunk/PalettedContainer.java
@@ -46,8 +46,8 @@ public class PalettedContainer<T> implements PaletteResize<T>, PalettedContainer
private final PaletteResize<T> dummyPaletteResize = (newSize, added) -> 0;
public final IdMap<T> registry;
private final T @org.jetbrains.annotations.Nullable [] presetValues; // Paper - Anti-Xray - Add preset values
- private volatile PalettedContainer.Data<T> data;
- private final PalettedContainer.Strategy strategy;
+ public volatile PalettedContainer.Data<T> data; // Leaf - private -> public
+ public final PalettedContainer.Strategy strategy; // Leaf - private -> public
// private final ThreadingDetector threadingDetector = new ThreadingDetector("PalettedContainer"); // Paper - unused
public void acquire() {
@@ -459,7 +459,7 @@ public class PalettedContainer<T> implements PaletteResize<T>, PalettedContainer
void accept(T object, int count);
}
- static record Data<T>(PalettedContainer.Configuration<T> configuration, BitStorage storage, Palette<T> palette) {
+ public static record Data<T>(PalettedContainer.Configuration<T> configuration, BitStorage storage, Palette<T> palette) {
public void copyFrom(Palette<T> palette, BitStorage storage) {
for (int i = 0; i < storage.getSize(); i++) {
T object = palette.valueFor(storage.get(i));
diff --git a/src/main/java/net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator.java b/src/main/java/net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator.java
index 0b8c15b079f9b57876692e272b3535cfb125829b..07d88aad0bbb717127153dada73238ee7336b3bb 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator.java
@@ -271,37 +271,31 @@ public final class NoiseBasedChunkGenerator extends ChunkGenerator {
@Override
public CompletableFuture<ChunkAccess> fillFromNoise(Executor executor, Blender blender, RandomState noiseConfig, StructureManager structureAccessor, ChunkAccess chunk) {
NoiseSettings noisesettings = ((NoiseGeneratorSettings) this.settings.value()).noiseSettings().clampToHeightAccessor(chunk.getHeightAccessorForGeneration());
- int i = noisesettings.minY();
- int j = Mth.floorDiv(i, noisesettings.getCellHeight());
- int k = Mth.floorDiv(noisesettings.height(), noisesettings.getCellHeight());
+ // Leaf start - Noisium optimization
+ int minY = noisesettings.minY();
+ int minYDiv = Mth.floorDiv(minY, noisesettings.getCellHeight());
+ int cellHeightDiv = Mth.floorDiv(noisesettings.height(), noisesettings.getCellHeight());
- if (k <= 0) {
+ if (cellHeightDiv <= 0) {
return CompletableFuture.completedFuture(chunk);
- } else {
- int l = chunk.getSectionIndex(k * noisesettings.getCellHeight() - 1 + i);
- int i1 = chunk.getSectionIndex(i);
- Set<LevelChunkSection> set = Sets.newHashSet();
-
- for (int j1 = l; j1 >= i1; --j1) {
- LevelChunkSection chunksection = chunk.getSection(j1);
-
- chunksection.acquire();
- set.add(chunksection);
- }
-
- return CompletableFuture.supplyAsync(Util.wrapThreadWithTaskName("wgen_fill_noise", () -> {
- return this.doFill(blender, structureAccessor, noiseConfig, chunk, j, k);
- }), executor).whenCompleteAsync((ichunkaccess1, throwable) -> { // Paper - run with supplied executor
- Iterator iterator = set.iterator();
-
- while (iterator.hasNext()) {
- LevelChunkSection chunksection1 = (LevelChunkSection) iterator.next();
+ }
- chunksection1.release();
- }
+ int startIndex = chunk.getSectionIndex(cellHeightDiv * noisesettings.getCellHeight() - 1 + minY);
+ int minYIndex = chunk.getSectionIndex(minY);
- }, executor);
+ LevelChunkSection[] sections = chunk.getSections();
+ for (int i = startIndex; i >= minYIndex; --i) {
+ sections[i].acquire();
}
+ return CompletableFuture.supplyAsync(Util.wrapThreadWithTaskName(
+ "wgen_fill_noise",
+ () -> this.doFill(blender, structureAccessor, noiseConfig, chunk, minYDiv, cellHeightDiv)
+ ), Util.backgroundExecutor()).whenCompleteAsync((result, ignored) -> {
+ for (int i = startIndex; i >= minYIndex; --i) {
+ sections[i].release();
+ }
+ }, executor);
+ // Leaf end
}
private ChunkAccess doFill(Blender blender, StructureManager structureAccessor, RandomState noiseConfig, ChunkAccess chunk, int minimumCellY, int cellHeight) {
@@ -367,6 +361,15 @@ public final class NoiseBasedChunkGenerator extends ChunkGenerator {
iblockdata = this.debugPreliminarySurfaceLevel(noisechunk, j4, j3, i5, iblockdata);
if (iblockdata != NoiseBasedChunkGenerator.AIR && !SharedConstants.debugVoidTerrain(chunk.getPos())) {
+ // Leaf start - Noisium
+ chunksection.nonEmptyBlockCount++;
+ if (!iblockdata.getFluidState().isEmpty()) chunksection.nonEmptyBlockCount++;
+ if (iblockdata.isRandomlyTicking()) chunksection.tickingBlockCount++;
+ chunksection.states.data.storage().set(
+ chunksection.states.strategy.getIndex(k4, k3, j5),
+ chunksection.states.data.palette().idFor(iblockdata)
+ );
+ // Leaf end - Noisium
chunksection.setBlockState(k4, k3, j5, iblockdata, false);
heightmap.update(k4, j3, j5, iblockdata);
heightmap1.update(k4, j3, j5, iblockdata);
diff --git a/src/main/java/net/minecraft/world/level/levelgen/NoiseSettings.java b/src/main/java/net/minecraft/world/level/levelgen/NoiseSettings.java
index 52fcf1b92854e5c67c51a83d31b4a136413b54e0..26ffc28359b18daf28212e72922be8bd3bfa7746 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/NoiseSettings.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/NoiseSettings.java
@@ -8,7 +8,12 @@ import net.minecraft.core.QuartPos;
import net.minecraft.world.level.LevelHeightAccessor;
import net.minecraft.world.level.dimension.DimensionType;
-public record NoiseSettings(int minY, int height, int noiseSizeHorizontal, int noiseSizeVertical) {
+// Leaf start - Noisium
+public record NoiseSettings(int minY, int height, int noiseSizeHorizontal, int noiseSizeVertical, int cellHeight, int cellWidth) {
+ public NoiseSettings(int minY, int height, int noiseSizeHorizontal, int noiseSizeVertical) {
+ this(minY, height, noiseSizeHorizontal, noiseSizeVertical, QuartPos.toBlock(noiseSizeHorizontal), QuartPos.toBlock(noiseSizeVertical));
+ }
+ // Leaf end - Noisium
public static final Codec<NoiseSettings> CODEC = RecordCodecBuilder.<NoiseSettings>create(
instance -> instance.group(
Codec.intRange(DimensionType.MIN_Y, DimensionType.MAX_Y).fieldOf("min_y").forGetter(NoiseSettings::minY),
@@ -44,11 +49,11 @@ public record NoiseSettings(int minY, int height, int noiseSizeHorizontal, int n
}
public int getCellHeight() {
- return QuartPos.toBlock(this.noiseSizeVertical());
+ return this.cellHeight; // Leaf - Noisium
}
public int getCellWidth() {
- return QuartPos.toBlock(this.noiseSizeHorizontal());
+ return this.cellWidth; // Leaf - Noisium
}
public NoiseSettings clampToHeightAccessor(LevelHeightAccessor world) {