diff --git a/gradle.properties b/gradle.properties index 305ffa166..54f12a5f1 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,7 +1,7 @@ group = org.purpurmc.purpur version = 1.19-R0.1-SNAPSHOT -paperCommit = a02874e014462bfdad18d2bea02ce2dd10047775 +paperCommit = 57dfcdf4ebc4b677565fbeb4207c47e16f664d71 org.gradle.caching = true org.gradle.parallel = true diff --git a/patches/api/0011-ExecuteCommandEvent.patch b/patches/api/0011-ExecuteCommandEvent.patch index 741382c89..6a8faa083 100644 --- a/patches/api/0011-ExecuteCommandEvent.patch +++ b/patches/api/0011-ExecuteCommandEvent.patch @@ -39,13 +39,13 @@ index b8623575b1c1b565560c2dd6438190716845a652..0bc24d0effe9b2e44c41a1c00060b0eb server.getPluginManager().callEvent(new com.destroystokyo.paper.event.server.ServerExceptionEvent(new com.destroystokyo.paper.exception.ServerCommandException(ex, target, sender, args))); // Paper diff --git a/src/main/java/org/purpurmc/purpur/event/ExecuteCommandEvent.java b/src/main/java/org/purpurmc/purpur/event/ExecuteCommandEvent.java new file mode 100644 -index 0000000000000000000000000000000000000000..103d5699d0993f358749b3d288b924e48b734693 +index 0000000000000000000000000000000000000000..bc590c4d49d32f4365a50ceb5785e798702a8179 --- /dev/null +++ b/src/main/java/org/purpurmc/purpur/event/ExecuteCommandEvent.java @@ -0,0 +1,130 @@ +package org.purpurmc.purpur.event; + -+import org.apache.commons.lang.Validate; ++import com.google.common.base.Preconditions; +import org.bukkit.command.Command; +import org.bukkit.command.CommandSender; +import org.bukkit.event.Cancellable; @@ -89,7 +89,7 @@ index 0000000000000000000000000000000000000000..103d5699d0993f358749b3d288b924e4 + * @throws IllegalArgumentException if command is null or empty + */ + public void setCommand(@NotNull Command command) throws IllegalArgumentException { -+ Validate.notNull(command, "Command cannot be null"); ++ Preconditions.checkArgument(command != null, "Command cannot be null"); + this.command = command; + } + @@ -110,7 +110,7 @@ index 0000000000000000000000000000000000000000..103d5699d0993f358749b3d288b924e4 + * @throws IllegalArgumentException if the sender provided is null + */ + public void setSender(@NotNull final CommandSender sender) throws IllegalArgumentException { -+ Validate.notNull(sender, "Sender cannot be null"); ++ Preconditions.checkArgument(sender != null, "Sender cannot be null"); + this.sender = sender; + } + diff --git a/patches/api/0018-ItemStack-convenience-methods.patch b/patches/api/0018-ItemStack-convenience-methods.patch index b49fd6353..c09c40f58 100644 --- a/patches/api/0018-ItemStack-convenience-methods.patch +++ b/patches/api/0018-ItemStack-convenience-methods.patch @@ -49,7 +49,7 @@ index 2d39ecea67cd033858eaa713e405260a87c718a3..b20b3d54342a8c81d1ff4062028c7b7d + // Purpur end } diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index b8a344fd900dcbd4b28085a54b85b16c742e9c6f..346788b5524248e5dd431927ab206f073db01c38 100644 +index b8a344fd900dcbd4b28085a54b85b16c742e9c6f..91444a8bb400d1db36df118c8c24645c26fa72be 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java @@ -16,6 +16,18 @@ import org.bukkit.inventory.meta.ItemMeta; @@ -561,7 +561,7 @@ index b8a344fd900dcbd4b28085a54b85b16c742e9c6f..346788b5524248e5dd431927ab206f07 + * @return Set of {@link com.destroystokyo.paper.Namespaced} + */ + @NotNull -+ public Set getDestroyableKeys() { ++ public java.util.Set getDestroyableKeys() { + return getItemMeta().getDestroyableKeys(); + } + @@ -582,7 +582,7 @@ index b8a344fd900dcbd4b28085a54b85b16c742e9c6f..346788b5524248e5dd431927ab206f07 + * @return Set of {@link com.destroystokyo.paper.Namespaced} + */ + @NotNull -+ public Set getPlaceableKeys() { ++ public java.util.Set getPlaceableKeys() { + return getItemMeta().getPlaceableKeys(); + } + diff --git a/patches/server/0006-Configurable-entity-base-attributes.patch b/patches/server/0006-Configurable-entity-base-attributes.patch index e1b5b6292..7f20a6ef0 100644 --- a/patches/server/0006-Configurable-entity-base-attributes.patch +++ b/patches/server/0006-Configurable-entity-base-attributes.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Configurable entity base attributes diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 8f8740b40a37e91eedc3496985ba0d2964cbafe5..be3545469c486f1dd6de42bb29a82a339d5a6a22 100644 +index 4b01ef01efe128cdeac548c592f62d72c9e0169e..cbd0f1ef7b3dad972b2e1f4b1d35c1f66ca9854f 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -155,7 +155,7 @@ import org.bukkit.plugin.PluginManager; @@ -94,7 +94,7 @@ index 2c6e1a970d8922047a186fc7eb82abd7066b1fd9..21bd1f6f24715351d46573964438bcb7 @Override diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java -index dd59f83fd6adff8d1ade76aac6f3563bfbea15b1..ed4a42b850b24eeaa9f885f79868c2c1a9a7e781 100644 +index cc73dffbeb8a118de2b913c6f9d40c61f94dabbd..90ef6c8d5371b62d043320d493d624ae18737f07 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Cat.java +++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java @@ -118,6 +118,11 @@ public class Cat extends TamableAnimal { @@ -491,7 +491,7 @@ index edf7defbd600f289de35af4a7fc57aedf8504442..49b289fce943719a63df454fefab725a @Override diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java -index f4190b1e1f9b4d2af04c15c472001f7f943a3cd3..66dfa478f941b47f470759f6b5e7050dae6387ab 100644 +index f4190b1e1f9b4d2af04c15c472001f7f943a3cd3..075c668b6855dd44102bf521864133565fcf16db 100644 --- a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java @@ -127,6 +127,32 @@ public abstract class AbstractHorse extends Animal implements ContainerListener, @@ -501,9 +501,9 @@ index f4190b1e1f9b4d2af04c15c472001f7f943a3cd3..66dfa478f941b47f470759f6b5e7050d + + @Override + public void initAttributes() { -+ this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.generateRandomMaxHealth()); -+ this.getAttribute(Attributes.MOVEMENT_SPEED).setBaseValue(this.generateRandomSpeed()); -+ this.getAttribute(Attributes.JUMP_STRENGTH).setBaseValue(this.generateRandomJumpStrength()); ++ this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.generateRandomMaxHealth(this.random)); ++ this.getAttribute(Attributes.MOVEMENT_SPEED).setBaseValue(this.generateRandomSpeed(this.random)); ++ this.getAttribute(Attributes.JUMP_STRENGTH).setBaseValue(this.generateRandomJumpStrength(this.random)); + } + + protected double generateRandomMaxHealth(double min, double max) { @@ -537,7 +537,7 @@ index f4190b1e1f9b4d2af04c15c472001f7f943a3cd3..66dfa478f941b47f470759f6b5e7050d } diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java b/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java -index db4d5d5e38a44f85c343b632c914f2252c30a3c3..f0da5d107ddb2987ccc89f880ddba5e79fadf0c5 100644 +index db4d5d5e38a44f85c343b632c914f2252c30a3c3..18550348439a8e5107a25623f0203b7475e95d34 100644 --- a/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java @@ -20,6 +20,21 @@ public class Donkey extends AbstractChestedHorse { @@ -546,24 +546,24 @@ index db4d5d5e38a44f85c343b632c914f2252c30a3c3..f0da5d107ddb2987ccc89f880ddba5e7 } + + @Override -+ public float generateRandomMaxHealth() { ++ public float generateRandomMaxHealth(net.minecraft.util.RandomSource random) { + return (float) generateRandomMaxHealth(this.level.purpurConfig.donkeyMaxHealthMin, this.level.purpurConfig.donkeyMaxHealthMax); + } + + @Override -+ public double generateRandomJumpStrength() { ++ public double generateRandomJumpStrength(net.minecraft.util.RandomSource random) { + return generateRandomJumpStrength(this.level.purpurConfig.donkeyJumpStrengthMin, this.level.purpurConfig.donkeyJumpStrengthMax); + } + + @Override -+ public double generateRandomSpeed() { ++ public double generateRandomSpeed(net.minecraft.util.RandomSource random) { + return generateRandomSpeed(this.level.purpurConfig.donkeyMovementSpeedMin, this.level.purpurConfig.donkeyMovementSpeedMax); + } // Purpur end @Override diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java b/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java -index f711ea32db68fb7aece5081e741c4e161123467f..559378175e0de56b4b4eb3b8ad4cf8a4980895a9 100644 +index f711ea32db68fb7aece5081e741c4e161123467f..390f630462c907cd6e961c6ca432804e2f19f07c 100644 --- a/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java @@ -45,6 +45,21 @@ public class Horse extends AbstractHorse { @@ -572,24 +572,24 @@ index f711ea32db68fb7aece5081e741c4e161123467f..559378175e0de56b4b4eb3b8ad4cf8a4 } + + @Override -+ public float generateRandomMaxHealth() { ++ public float generateRandomMaxHealth(RandomSource random) { + return (float) generateRandomMaxHealth(this.level.purpurConfig.horseMaxHealthMin, this.level.purpurConfig.horseMaxHealthMax); + } + + @Override -+ public double generateRandomJumpStrength() { ++ public double generateRandomJumpStrength(RandomSource random) { + return generateRandomJumpStrength(this.level.purpurConfig.horseJumpStrengthMin, this.level.purpurConfig.horseJumpStrengthMax); + } + + @Override -+ public double generateRandomSpeed() { ++ public double generateRandomSpeed(RandomSource random) { + return generateRandomSpeed(this.level.purpurConfig.horseMovementSpeedMin, this.level.purpurConfig.horseMovementSpeedMax); + } // Purpur end @Override diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java -index b6a5ac35bed88e9d55b4de0551a13ea58901315e..19457fa164c81fd640dbe8bf1f666cb437a20487 100644 +index b6a5ac35bed88e9d55b4de0551a13ea58901315e..fd5802bf7554590a19b3d5fc50c9ced02232f294 100644 --- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java @@ -115,6 +115,21 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob { @@ -598,24 +598,24 @@ index b6a5ac35bed88e9d55b4de0551a13ea58901315e..19457fa164c81fd640dbe8bf1f666cb4 } + + @Override -+ public float generateRandomMaxHealth() { ++ public float generateRandomMaxHealth(RandomSource random) { + return (float) generateRandomMaxHealth(this.level.purpurConfig.llamaMaxHealthMin, this.level.purpurConfig.llamaMaxHealthMax); + } + + @Override -+ public double generateRandomJumpStrength() { ++ public double generateRandomJumpStrength(RandomSource random) { + return generateRandomJumpStrength(this.level.purpurConfig.llamaJumpStrengthMin, this.level.purpurConfig.llamaJumpStrengthMax); + } + + @Override -+ public double generateRandomSpeed() { ++ public double generateRandomSpeed(RandomSource random) { + return generateRandomSpeed(this.level.purpurConfig.llamaMovementSpeedMin, this.level.purpurConfig.llamaMovementSpeedMax); + } // Purpur end public boolean isTraderLlama() { diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java b/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java -index a67061b875468777ee6256c0b28894c62ebb926c..1ba32a3ba56974425762026026d1e5ba21540b3b 100644 +index a67061b875468777ee6256c0b28894c62ebb926c..b3e8bbc6dce346b99a1a59081d1ab89df71ed52f 100644 --- a/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java @@ -19,6 +19,21 @@ public class Mule extends AbstractChestedHorse { @@ -624,24 +624,24 @@ index a67061b875468777ee6256c0b28894c62ebb926c..1ba32a3ba56974425762026026d1e5ba } + + @Override -+ public float generateRandomMaxHealth() { ++ public float generateRandomMaxHealth(net.minecraft.util.RandomSource random) { + return (float) generateRandomMaxHealth(this.level.purpurConfig.muleMaxHealthMin, this.level.purpurConfig.muleMaxHealthMax); + } + + @Override -+ public double generateRandomJumpStrength() { ++ public double generateRandomJumpStrength(net.minecraft.util.RandomSource random) { + return generateRandomJumpStrength(this.level.purpurConfig.muleJumpStrengthMin, this.level.purpurConfig.muleJumpStrengthMax); + } + + @Override -+ public double generateRandomSpeed() { ++ public double generateRandomSpeed(net.minecraft.util.RandomSource random) { + return generateRandomSpeed(this.level.purpurConfig.muleMovementSpeedMin, this.level.purpurConfig.muleMovementSpeedMax); + } // Purpur end @Override diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java -index 9b96cff17568325d5a9ffaf4b38f1ae06630a5b4..c74f6d3384d3d18a5c591c87fc2f0850443b5afc 100644 +index 9b96cff17568325d5a9ffaf4b38f1ae06630a5b4..adde840e3b1c90c718dd964100b88af0b8f734c0 100644 --- a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java @@ -35,6 +35,21 @@ public class SkeletonHorse extends AbstractHorse { @@ -650,24 +650,24 @@ index 9b96cff17568325d5a9ffaf4b38f1ae06630a5b4..c74f6d3384d3d18a5c591c87fc2f0850 } + + @Override -+ public float generateRandomMaxHealth() { ++ public float generateRandomMaxHealth(RandomSource random) { + return (float) generateRandomMaxHealth(this.level.purpurConfig.skeletonHorseMaxHealthMin, this.level.purpurConfig.skeletonHorseMaxHealthMax); + } + + @Override -+ public double generateRandomJumpStrength() { ++ public double generateRandomJumpStrength(RandomSource random) { + return generateRandomJumpStrength(this.level.purpurConfig.skeletonHorseJumpStrengthMin, this.level.purpurConfig.skeletonHorseJumpStrengthMax); + } + + @Override -+ public double generateRandomSpeed() { ++ public double generateRandomSpeed(RandomSource random) { + return generateRandomSpeed(this.level.purpurConfig.skeletonHorseMovementSpeedMin, this.level.purpurConfig.skeletonHorseMovementSpeedMax); + } // Purpur end public static AttributeSupplier.Builder createAttributes() { diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java -index a4a88be0cbf94b633f486ce57d4fccd38002ac9f..89f3c480d2e8cc28bb26fcd65a5a51a652e7365a 100644 +index a4a88be0cbf94b633f486ce57d4fccd38002ac9f..7be0f79e18a3a951f4c5611758739f6db7cfda43 100644 --- a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java @@ -47,6 +47,21 @@ public class TraderLlama extends Llama { @@ -676,24 +676,24 @@ index a4a88be0cbf94b633f486ce57d4fccd38002ac9f..89f3c480d2e8cc28bb26fcd65a5a51a6 } + + @Override -+ public float generateRandomMaxHealth() { ++ public float generateRandomMaxHealth(net.minecraft.util.RandomSource random) { + return (float) generateRandomMaxHealth(this.level.purpurConfig.traderLlamaMaxHealthMin, this.level.purpurConfig.traderLlamaMaxHealthMax); + } + + @Override -+ public double generateRandomJumpStrength() { ++ public double generateRandomJumpStrength(net.minecraft.util.RandomSource random) { + return generateRandomJumpStrength(this.level.purpurConfig.traderLlamaJumpStrengthMin, this.level.purpurConfig.traderLlamaJumpStrengthMax); + } + + @Override -+ public double generateRandomSpeed() { ++ public double generateRandomSpeed(net.minecraft.util.RandomSource random) { + return generateRandomSpeed(this.level.purpurConfig.traderLlamaMovementSpeedMin, this.level.purpurConfig.traderLlamaMovementSpeedMax); + } // Purpur end @Override diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java -index 0f8ce0c6ddbb37a61c6b15bb769b627bcd8105fa..cb5981c2233dcf880fef660fe2c3f39408e8984f 100644 +index 0f8ce0c6ddbb37a61c6b15bb769b627bcd8105fa..6ed9e4e98c46b51cf398641ffb66abf3fc9e5349 100644 --- a/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java @@ -33,6 +33,21 @@ public class ZombieHorse extends AbstractHorse { @@ -702,17 +702,17 @@ index 0f8ce0c6ddbb37a61c6b15bb769b627bcd8105fa..cb5981c2233dcf880fef660fe2c3f394 } + + @Override -+ public float generateRandomMaxHealth() { ++ public float generateRandomMaxHealth(RandomSource random) { + return (float) generateRandomMaxHealth(this.level.purpurConfig.zombieHorseMaxHealthMin, this.level.purpurConfig.zombieHorseMaxHealthMax); + } + + @Override -+ public double generateRandomJumpStrength() { ++ public double generateRandomJumpStrength(RandomSource random) { + return generateRandomJumpStrength(this.level.purpurConfig.zombieHorseJumpStrengthMin, this.level.purpurConfig.zombieHorseJumpStrengthMax); + } + + @Override -+ public double generateRandomSpeed() { ++ public double generateRandomSpeed(RandomSource random) { + return generateRandomSpeed(this.level.purpurConfig.zombieHorseMovementSpeedMin, this.level.purpurConfig.zombieHorseMovementSpeedMax); + } // Purpur end diff --git a/patches/server/0017-Player-invulnerabilities.patch b/patches/server/0017-Player-invulnerabilities.patch index 808083ad4..e400d280c 100644 --- a/patches/server/0017-Player-invulnerabilities.patch +++ b/patches/server/0017-Player-invulnerabilities.patch @@ -82,7 +82,7 @@ index b75986ae56d0a0ad6a8d347852eb94b1e4b16a79..39d86b7b3a01f2eefb7c0725e930a537 public Scoreboard getScoreboard() { return this.getBukkitEntity().getScoreboard().getHandle(); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 90b6b10ddba0224b8bc7e5f0f70edea809670e3c..f9ff242f05fc5b1c0614403a7e81876f0ad85ca0 100644 +index 90b6b10ddba0224b8bc7e5f0f70edea809670e3c..efc2204bd712449a93e132a19d31ae99b702972d 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -2001,12 +2001,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @@ -92,7 +92,7 @@ index 90b6b10ddba0224b8bc7e5f0f70edea809670e3c..f9ff242f05fc5b1c0614403a7e81876f + // Purpur start + if (player.level.purpurConfig.playerInvulnerableWhileAcceptingResourcePack && !this.player.acceptingResourcePack) { + ServerGamePacketListenerImpl.LOGGER.info("Disconnecting {} due to resource pack packet exploitation attempt", this.player.getName()); -+ this.disconnect(new TranslatableComponent("multiplayer.texturePrompt.failure.line1")); // "Server resource pack couldn't be applied" ++ this.disconnect(Component.translatable("multiplayer.texturePrompt.failure.line1")); // "Server resource pack couldn't be applied" + return; + } + // Purpur end @@ -121,7 +121,7 @@ index 0fabd5998c20f6b6a682bed2086db047c19dd9c3..68478f19e029d3544505188fd42950d6 return entityplayer1; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index c8becc0ece63387df0a17d192f92f35609acc181..cc623f511a69c3fdc8bfc196d48d4938010c909a 100644 +index f35f60b6fe470d9bc239ce9017f3a82ed984d342..69db9fb3b319b7f43d93375e719ec13c67388dff 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -2794,5 +2794,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0020-Alternative-Keepalive-Handling.patch b/patches/server/0020-Alternative-Keepalive-Handling.patch index 35d614ee5..c594c5962 100644 --- a/patches/server/0020-Alternative-Keepalive-Handling.patch +++ b/patches/server/0020-Alternative-Keepalive-Handling.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Alternative Keepalive Handling diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index f9ff242f05fc5b1c0614403a7e81876f0ad85ca0..7e290e96bdad4301fbc93b9c58b3a4dcb4ad83f6 100644 +index efc2204bd712449a93e132a19d31ae99b702972d..aa05998ef190e8ee9c3c1bfcb61d0daef81dee3b 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -244,6 +244,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @@ -25,7 +25,7 @@ index f9ff242f05fc5b1c0614403a7e81876f0ad85ca0..7e290e96bdad4301fbc93b9c58b3a4dc + if (elapsedTime >= 1000L) { // 1 second + if (!processedDisconnect && keepAlives.size() > KEEPALIVE_LIMIT) { + LOGGER.warn("{} was kicked due to keepalive timeout!", player.getName()); -+ disconnect(new TranslatableComponent("disconnect.timeout")); ++ disconnect(Component.translatable("disconnect.timeout")); + } else { + keepAliveTime = currentTime; // hijack this field for 1 second intervals + keepAlives.add(currentTime); // currentTime is ID diff --git a/patches/server/0029-Rabbit-naturally-spawn-toast-and-killer.patch b/patches/server/0029-Rabbit-naturally-spawn-toast-and-killer.patch index f81bbf0b6..6fe299a8d 100644 --- a/patches/server/0029-Rabbit-naturally-spawn-toast-and-killer.patch +++ b/patches/server/0029-Rabbit-naturally-spawn-toast-and-killer.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Rabbit naturally spawn toast and killer diff --git a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java -index eaf040f10e33fdfb57391b6e7bc6901c87270853..799ef179e1e02ec0a23a785cf2b31d5390ee29c8 100644 +index eaf040f10e33fdfb57391b6e7bc6901c87270853..47dc84052f1fb0017ff2e608c3f6d8b92c960cc6 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java +++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java @@ -436,7 +436,11 @@ public class Rabbit extends Animal { @@ -14,7 +14,7 @@ index eaf040f10e33fdfb57391b6e7bc6901c87270853..799ef179e1e02ec0a23a785cf2b31d53 } + // Purpur start + } else if (rabbitType == 98) { -+ setCustomName(new TranslatableComponent("Toast")); ++ setCustomName(Component.translatable("Toast")); } + // Purpur end diff --git a/patches/server/0084-Add-vindicator-johnny-spawn-chance.patch b/patches/server/0084-Add-vindicator-johnny-spawn-chance.patch index 9a15ac505..b8d5e0f12 100644 --- a/patches/server/0084-Add-vindicator-johnny-spawn-chance.patch +++ b/patches/server/0084-Add-vindicator-johnny-spawn-chance.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add vindicator johnny spawn chance diff --git a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java -index 656dd2b01250c749db0acfa41992210709f5dcd3..015d0f64e37003907a5ae4e9f5ca11dbe4d7b81a 100644 +index 656dd2b01250c749db0acfa41992210709f5dcd3..036a5835152e2f1d72d2b9f37009ad053d046f2d 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java +++ b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java @@ -154,6 +154,12 @@ public class Vindicator extends AbstractIllager { @@ -15,7 +15,7 @@ index 656dd2b01250c749db0acfa41992210709f5dcd3..015d0f64e37003907a5ae4e9f5ca11db + // Purpur start + Level level = world.getMinecraftWorld(); + if (level.purpurConfig.vindicatorJohnnySpawnChance > 0D && random.nextDouble() <= level.purpurConfig.vindicatorJohnnySpawnChance) { -+ setCustomName(new TranslatableComponent("Johnny")); ++ setCustomName(Component.translatable("Johnny")); + } + // Purpur end return spawnGroupData; diff --git a/patches/server/0108-Make-entity-breeding-times-configurable.patch b/patches/server/0108-Make-entity-breeding-times-configurable.patch index 92ace11ca..0f30edab0 100644 --- a/patches/server/0108-Make-entity-breeding-times-configurable.patch +++ b/patches/server/0108-Make-entity-breeding-times-configurable.patch @@ -236,7 +236,7 @@ index e68782ac48fd9ee11080dfd76c88d9a4768ae769..c0c7edfc243378bce9bb44d29c58d948 @Override diff --git a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java -index 799ef179e1e02ec0a23a785cf2b31d5390ee29c8..e990e6f416854197bd5a4d31e4c7acc3fb69b390 100644 +index 47dc84052f1fb0017ff2e608c3f6d8b92c960cc6..93d65e8e7b15060c9d7931d22aa2ff77a2616d0b 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java +++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java @@ -142,6 +142,11 @@ public class Rabbit extends Animal { @@ -332,11 +332,11 @@ index 49b289fce943719a63df454fefab725a2b3a7de5..6d3a39c0f65e19cff3c13355a53995df @Override diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java b/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java -index f0da5d107ddb2987ccc89f880ddba5e79fadf0c5..113b6d80885717d59c8fefab07afe68779f0051d 100644 +index 18550348439a8e5107a25623f0203b7475e95d34..782e9fae7cdd0b3bbf2e1fb408c18663771cc346 100644 --- a/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java @@ -35,6 +35,11 @@ public class Donkey extends AbstractChestedHorse { - public double generateRandomSpeed() { + public double generateRandomSpeed(net.minecraft.util.RandomSource random) { return generateRandomSpeed(this.level.purpurConfig.donkeyMovementSpeedMin, this.level.purpurConfig.donkeyMovementSpeedMax); } + @@ -348,11 +348,11 @@ index f0da5d107ddb2987ccc89f880ddba5e79fadf0c5..113b6d80885717d59c8fefab07afe687 @Override diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java b/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java -index 559378175e0de56b4b4eb3b8ad4cf8a4980895a9..3144c7e7b018a1e8a907691b798e656500f57430 100644 +index 390f630462c907cd6e961c6ca432804e2f19f07c..6a7d8ff804b184005fda17f3d7a4b9750a7c2fe5 100644 --- a/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java @@ -60,6 +60,11 @@ public class Horse extends AbstractHorse { - public double generateRandomSpeed() { + public double generateRandomSpeed(RandomSource random) { return generateRandomSpeed(this.level.purpurConfig.horseMovementSpeedMin, this.level.purpurConfig.horseMovementSpeedMax); } + @@ -364,11 +364,11 @@ index 559378175e0de56b4b4eb3b8ad4cf8a4980895a9..3144c7e7b018a1e8a907691b798e6565 @Override diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java -index 5b15b9451007a0ffcf442a33de81ff5d8b8649a5..24b80622da9ddebb8544f25e8c01047c41a5fd86 100644 +index 8512103686380c2114851666fce649d573a61355..3c9ea07ded25ac8a479a03fecfdd7ddb9d5a046c 100644 --- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java @@ -131,6 +131,11 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob { - public double generateRandomSpeed() { + public double generateRandomSpeed(RandomSource random) { return generateRandomSpeed(this.level.purpurConfig.llamaMovementSpeedMin, this.level.purpurConfig.llamaMovementSpeedMax); } + @@ -380,11 +380,11 @@ index 5b15b9451007a0ffcf442a33de81ff5d8b8649a5..24b80622da9ddebb8544f25e8c01047c public boolean isTraderLlama() { diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java b/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java -index 1ba32a3ba56974425762026026d1e5ba21540b3b..88e61572f5dd8d05fadab131046f74bd8131f42b 100644 +index b3e8bbc6dce346b99a1a59081d1ab89df71ed52f..762cc54c1812e70aabd18baf2c72930dc72981a7 100644 --- a/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java @@ -34,6 +34,11 @@ public class Mule extends AbstractChestedHorse { - public double generateRandomSpeed() { + public double generateRandomSpeed(net.minecraft.util.RandomSource random) { return generateRandomSpeed(this.level.purpurConfig.muleMovementSpeedMin, this.level.purpurConfig.muleMovementSpeedMax); } + @@ -396,11 +396,11 @@ index 1ba32a3ba56974425762026026d1e5ba21540b3b..88e61572f5dd8d05fadab131046f74bd @Override diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java -index c74f6d3384d3d18a5c591c87fc2f0850443b5afc..063602f2ccced778194b268d3d7dd00bdffd73ff 100644 +index adde840e3b1c90c718dd964100b88af0b8f734c0..57d98741d90e78c11f9ef8f00dbf75e9d452ef9a 100644 --- a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java @@ -50,6 +50,11 @@ public class SkeletonHorse extends AbstractHorse { - public double generateRandomSpeed() { + public double generateRandomSpeed(RandomSource random) { return generateRandomSpeed(this.level.purpurConfig.skeletonHorseMovementSpeedMin, this.level.purpurConfig.skeletonHorseMovementSpeedMax); } + @@ -412,11 +412,11 @@ index c74f6d3384d3d18a5c591c87fc2f0850443b5afc..063602f2ccced778194b268d3d7dd00b public static AttributeSupplier.Builder createAttributes() { diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java -index 89f3c480d2e8cc28bb26fcd65a5a51a652e7365a..bdb71283d402656a3da6dd699d4cd6a5c935e541 100644 +index 7be0f79e18a3a951f4c5611758739f6db7cfda43..53a327f4170ffad9ff1736fa34bc733ecf5ffa9a 100644 --- a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java @@ -62,6 +62,11 @@ public class TraderLlama extends Llama { - public double generateRandomSpeed() { + public double generateRandomSpeed(net.minecraft.util.RandomSource random) { return generateRandomSpeed(this.level.purpurConfig.traderLlamaMovementSpeedMin, this.level.purpurConfig.traderLlamaMovementSpeedMax); } + @@ -428,11 +428,11 @@ index 89f3c480d2e8cc28bb26fcd65a5a51a652e7365a..bdb71283d402656a3da6dd699d4cd6a5 @Override diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java -index cb5981c2233dcf880fef660fe2c3f39408e8984f..5f6235ea148d11c9e875e0d6646ceb84d4fa8d5b 100644 +index 6ed9e4e98c46b51cf398641ffb66abf3fc9e5349..a2636f6e4767d408ef9d2cda4c346abdaa88da37 100644 --- a/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java @@ -48,6 +48,11 @@ public class ZombieHorse extends AbstractHorse { - public double generateRandomSpeed() { + public double generateRandomSpeed(RandomSource random) { return generateRandomSpeed(this.level.purpurConfig.zombieHorseMovementSpeedMin, this.level.purpurConfig.zombieHorseMovementSpeedMax); } + diff --git a/patches/server/0166-Gamemode-extra-permissions.patch b/patches/server/0166-Gamemode-extra-permissions.patch index b0b7bcd49..fd450dcfc 100644 --- a/patches/server/0166-Gamemode-extra-permissions.patch +++ b/patches/server/0166-Gamemode-extra-permissions.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Gamemode extra permissions diff --git a/src/main/java/net/minecraft/commands/CommandSourceStack.java b/src/main/java/net/minecraft/commands/CommandSourceStack.java -index 25b38ae65250a0b3c34dfbf2d853f65368fd916f..82f4438032a42c35ed8940d850a35f64859a572e 100644 +index 25b38ae65250a0b3c34dfbf2d853f65368fd916f..2e83251080e82e6418350199be29f74b69694898 100644 --- a/src/main/java/net/minecraft/commands/CommandSourceStack.java +++ b/src/main/java/net/minecraft/commands/CommandSourceStack.java @@ -203,6 +203,21 @@ public class CommandSourceStack implements SharedSuggestionProvider, com.destroy @@ -20,7 +20,7 @@ index 25b38ae65250a0b3c34dfbf2d853f65368fd916f..82f4438032a42c35ed8940d850a35f64 + String permissionMessage = getLevel().getServer().server.getPermissionMessage(); + if (!permissionMessage.isBlank()) { + for (String line : permissionMessage.replace("", bukkitPermission).split("\n")) { -+ sendFailure(new TextComponent(line)); ++ sendFailure(Component.literal(line)); + } + } + return false; diff --git a/patches/server/0225-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch b/patches/server/0225-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch index fd20588d7..a73f9330a 100644 --- a/patches/server/0225-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch +++ b/patches/server/0225-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Chance for azalea blocks to grow into trees naturally diff --git a/src/main/java/net/minecraft/world/level/block/AzaleaBlock.java b/src/main/java/net/minecraft/world/level/block/AzaleaBlock.java -index b04d224c23ed0039b86aa4169ce38c4f57cc1a7a..cdebea9c76572b51c424bd68ee6c770f4ae0ac13 100644 +index b04d224c23ed0039b86aa4169ce38c4f57cc1a7a..1daffadecee2b830b28377e2549d422922b0007b 100644 --- a/src/main/java/net/minecraft/world/level/block/AzaleaBlock.java +++ b/src/main/java/net/minecraft/world/level/block/AzaleaBlock.java @@ -42,6 +42,20 @@ public class AzaleaBlock extends BushBlock implements BonemealableBlock { @@ -17,14 +17,14 @@ index b04d224c23ed0039b86aa4169ce38c4f57cc1a7a..cdebea9c76572b51c424bd68ee6c770f + } + + @Override -+ public void randomTick(net.minecraft.world.level.block.state.BlockState state, ServerLevel world, BlockPos pos, Random random) { ++ public void randomTick(net.minecraft.world.level.block.state.BlockState state, ServerLevel world, BlockPos pos, RandomSource random) { + double chance = state.getBlock() == Blocks.FLOWERING_AZALEA ? world.purpurConfig.floweringAzaleaGrowthChance : world.purpurConfig.azaleaGrowthChance; + if (chance > 0.0D && world.getMaxLocalRawBrightness(pos.above()) > 9 && random.nextDouble() < chance) { + growTree(world, random, pos, state); + } + } + -+ private void growTree(ServerLevel world, Random random, BlockPos pos, net.minecraft.world.level.block.state.BlockState state) { ++ private void growTree(ServerLevel world, RandomSource random, BlockPos pos, net.minecraft.world.level.block.state.BlockState state) { + // Purpur end TREE_GROWER.growTree(world, world.getChunkSource().getGenerator(), pos, state, random); }