diff --git a/patches/removed/server/0037-Patch-large-selector-distance-crash.patch b/patches/removed/server/0033-Patch-large-selector-distance-crash.patch similarity index 57% rename from patches/removed/server/0037-Patch-large-selector-distance-crash.patch rename to patches/removed/server/0033-Patch-large-selector-distance-crash.patch index 034c00b..82c3be1 100644 --- a/patches/removed/server/0037-Patch-large-selector-distance-crash.patch +++ b/patches/removed/server/0033-Patch-large-selector-distance-crash.patch @@ -5,23 +5,38 @@ Subject: [PATCH] Patch large selector distance crash diff --git a/src/main/java/net/minecraft/advancements/critereon/MinMaxBounds.java b/src/main/java/net/minecraft/advancements/critereon/MinMaxBounds.java -index 60d32afe2eecdfebdc91531ca3672f8f130ac30e..73b0f516f80ef810379860ea74697a3429c646e5 100644 +index 8897496323378080135127f53db004d576476c21..109fbcddd1814013692b1200d37fea09d069cfd5 100644 --- a/src/main/java/net/minecraft/advancements/critereon/MinMaxBounds.java +++ b/src/main/java/net/minecraft/advancements/critereon/MinMaxBounds.java -@@ -177,7 +177,7 @@ public abstract class MinMaxBounds { - return value == null ? null : value * value; +@@ -131,7 +131,7 @@ public interface MinMaxBounds { + public static final MinMaxBounds.Doubles ANY = new MinMaxBounds.Doubles(Optional.empty(), Optional.empty()); + public static final Codec CODEC = MinMaxBounds.createCodec(Codec.DOUBLE, MinMaxBounds.Doubles::new); + +- private Doubles(Optional optional, Optional optional2) { ++ public Doubles(Optional optional, Optional optional2) { + this(optional, optional2, squareOpt(optional), squareOpt(optional2)); } -- private Doubles(@Nullable Double min, @Nullable Double max) { -+ public Doubles(@Nullable Double min, @Nullable Double max) { // Scissors - private -> public - super(min, max); - this.minSq = squareOpt(min); - this.maxSq = squareOpt(max); +@@ -143,7 +143,7 @@ public interface MinMaxBounds { + } + } + +- private static Optional squareOpt(Optional optional) { ++ public static Optional squareOpt(Optional optional) { + return optional.map((double_) -> { + return double_ * double_; + }); diff --git a/src/main/java/net/minecraft/commands/arguments/selector/EntitySelector.java b/src/main/java/net/minecraft/commands/arguments/selector/EntitySelector.java -index f25b9330e068c7d9e12cb57a7761cfef9ebaf7bc..e8cf963f0190438bbf65f827d144775ab0b02b63 100644 +index 73c15a0c56a103ba4e62f0a51af8d42566b07245..ef54de7a77cda9793c723ce58403fb1a610a7956 100644 --- a/src/main/java/net/minecraft/commands/arguments/selector/EntitySelector.java +++ b/src/main/java/net/minecraft/commands/arguments/selector/EntitySelector.java -@@ -10,6 +10,7 @@ import java.util.function.BiConsumer; +@@ -5,11 +5,13 @@ import com.mojang.brigadier.exceptions.CommandSyntaxException; + import java.util.Collections; + import java.util.Iterator; + import java.util.List; ++import java.util.Optional; + import java.util.UUID; + import java.util.function.BiConsumer; import java.util.function.Function; import java.util.function.Predicate; import javax.annotation.Nullable; @@ -29,7 +44,7 @@ index f25b9330e068c7d9e12cb57a7761cfef9ebaf7bc..e8cf963f0190438bbf65f827d144775a import net.minecraft.advancements.critereon.MinMaxBounds; import net.minecraft.commands.CommandSourceStack; import net.minecraft.commands.arguments.EntityArgument; -@@ -60,9 +61,27 @@ public class EntitySelector { +@@ -60,9 +62,27 @@ public class EntitySelector { this.includesEntities = includesNonPlayers; this.worldLimited = localWorldOnly; this.predicate = basePredicate; @@ -37,8 +52,8 @@ index f25b9330e068c7d9e12cb57a7761cfef9ebaf7bc..e8cf963f0190438bbf65f827d144775a + + // Scissors start - Patch large selector distance crash + this.range = new MinMaxBounds.Doubles( -+ distance.getMin() != null ? Math.min(distance.getMin(), 1024) : null, -+ distance.getMax() != null ? Math.min(distance.getMax(), 1024) : null ++ distance.min().isPresent() ? Optional.of(Math.min(distance.min().get(), 1024)) : null, ++ distance.max().isPresent() ? Optional.of(Math.min(distance.max().get(), 1024)) : null + ); this.position = positionOffset; - this.aabb = box; diff --git a/patches/removed/server/0015-Reject-oversized-components-from-updating.patch b/patches/server/0013-Reject-oversized-components-from-updating.patch similarity index 89% rename from patches/removed/server/0015-Reject-oversized-components-from-updating.patch rename to patches/server/0013-Reject-oversized-components-from-updating.patch index 140079f..62ee5c6 100644 --- a/patches/removed/server/0015-Reject-oversized-components-from-updating.patch +++ b/patches/server/0013-Reject-oversized-components-from-updating.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Reject oversized components from updating diff --git a/src/main/java/net/minecraft/network/chat/ComponentUtils.java b/src/main/java/net/minecraft/network/chat/ComponentUtils.java -index 584a58659fae6ba3d8b53858890bc6ec509ffb0e..54a7dae26854d320d9e53f63eb411a85a2d78159 100644 +index 7daca712816a79cc4a30b084afbd3d07b5d3755f..a7e04eb4284e7d5148e1c7b991620d666785ec70 100644 --- a/src/main/java/net/minecraft/network/chat/ComponentUtils.java +++ b/src/main/java/net/minecraft/network/chat/ComponentUtils.java -@@ -39,8 +39,9 @@ public class ComponentUtils { +@@ -38,8 +38,9 @@ public class ComponentUtils { } public static MutableComponent updateForEntity(@Nullable CommandSourceStack source, Component text, @Nullable Entity sender, int depth) throws CommandSyntaxException { @@ -19,7 +19,7 @@ index 584a58659fae6ba3d8b53858890bc6ec509ffb0e..54a7dae26854d320d9e53f63eb411a85 } else { // Paper start if (text instanceof io.papermc.paper.adventure.AdventureComponent adventureComponent) { -@@ -53,8 +54,9 @@ public class ComponentUtils { +@@ -52,8 +53,9 @@ public class ComponentUtils { mutableComponent.append(updateForEntity(source, component, sender, depth + 1)); } diff --git a/patches/removed/server/0016-Add-Scissors-configuration-file-command.patch b/patches/server/0014-Add-Scissors-configuration-file-command.patch similarity index 97% rename from patches/removed/server/0016-Add-Scissors-configuration-file-command.patch rename to patches/server/0014-Add-Scissors-configuration-file-command.patch index 3cad371..a1ef884 100644 --- a/patches/removed/server/0016-Add-Scissors-configuration-file-command.patch +++ b/patches/server/0014-Add-Scissors-configuration-file-command.patch @@ -414,10 +414,10 @@ index 0000000000000000000000000000000000000000..8cd2848aa6b06c5efbe797ed2d75ff4b +} + diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java -index a7ebf851a65231074c89a24f30de4ac2fb5b63e4..641fe69cb2131413654c39a32a73c62e2bc092f6 100644 +index ec268189b19b6fa5c4521f96ce211a531db35ec5..343cb72710ef100cf7e4de1e081cfdc2744aab46 100644 --- a/src/main/java/net/minecraft/server/Main.java +++ b/src/main/java/net/minecraft/server/Main.java -@@ -147,6 +147,7 @@ public class Main { +@@ -144,6 +144,7 @@ public class Main { // Paper start - load config files for access below if needed org.bukkit.configuration.file.YamlConfiguration bukkitConfiguration = io.papermc.paper.configuration.PaperConfigurations.loadLegacyConfigFile((File) optionset.valueOf("bukkit-settings")); org.bukkit.configuration.file.YamlConfiguration spigotConfiguration = io.papermc.paper.configuration.PaperConfigurations.loadLegacyConfigFile((File) optionset.valueOf("spigot-settings")); @@ -426,7 +426,7 @@ index a7ebf851a65231074c89a24f30de4ac2fb5b63e4..641fe69cb2131413654c39a32a73c62e if (optionset.has("initSettings")) { // CraftBukkit diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java -index c49802c936ae8e3f4dc1badd98414d96714ecd60..c9725f2df7a66eba3d5994a2b4b16b07ff0f696d 100644 +index dbccbcb9b44e4efacdf53c2d161115cc20b36cff..c3eb9eef724fa04ede965c5875b948c829fafb5d 100644 --- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java @@ -222,6 +222,16 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface @@ -447,10 +447,10 @@ index c49802c936ae8e3f4dc1badd98414d96714ecd60..c9725f2df7a66eba3d5994a2b4b16b07 this.setFlightAllowed(dedicatedserverproperties.allowFlight); this.setMotd(dedicatedserverproperties.motd); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 26937b8dd0411b0c96e461c57eeee6ae8595211e..bf8ade78a771b0295811f48cba96aeb05a39524e 100644 +index 5d8b8b17854c1ae2a5e2ccfb8df1d7b927191f03..f14def6e5923afa4880ef3e5626cc973d4b01e48 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1036,6 +1036,7 @@ public final class CraftServer implements Server { +@@ -1038,6 +1038,7 @@ public final class CraftServer implements Server { } org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot @@ -458,7 +458,7 @@ index 26937b8dd0411b0c96e461c57eeee6ae8595211e..bf8ade78a771b0295811f48cba96aeb0 this.console.paperConfigurations.reloadConfigs(this.console); for (ServerLevel world : this.console.getAllLevels()) { // world.serverLevelData.setDifficulty(config.difficulty); // Paper - per level difficulty -@@ -1067,6 +1068,7 @@ public final class CraftServer implements Server { +@@ -1069,6 +1070,7 @@ public final class CraftServer implements Server { this.reloadData(); org.spigotmc.SpigotConfig.registerCommands(); // Spigot io.papermc.paper.command.PaperCommands.registerCommands(this.console); // Paper @@ -466,7 +466,7 @@ index 26937b8dd0411b0c96e461c57eeee6ae8595211e..bf8ade78a771b0295811f48cba96aeb0 this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*"); this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions"); -@@ -2912,6 +2914,14 @@ public final class CraftServer implements Server { +@@ -2914,6 +2916,14 @@ public final class CraftServer implements Server { return CraftServer.this.console.paperConfigurations.createLegacyObject(CraftServer.this.console); } @@ -482,7 +482,7 @@ index 26937b8dd0411b0c96e461c57eeee6ae8595211e..bf8ade78a771b0295811f48cba96aeb0 public void restart() { org.spigotmc.RestartCommand.restart(); diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index d1c8671ba5ca95c425e4c679445d55c4bbba217e..3be40632c70f5a7994ada3e61616dca632cef2da 100644 +index e3c230fd2a054a8cb60328c9309410a2f53dad26..d2e06850ec9edadb76668e41403203c66731a961 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -180,6 +180,20 @@ public class Main { diff --git a/patches/removed/server/0017-Prevent-attributes-with-invalid-namespaces-from-bein.patch b/patches/server/0015-Prevent-attributes-with-invalid-namespaces-from-bein.patch similarity index 90% rename from patches/removed/server/0017-Prevent-attributes-with-invalid-namespaces-from-bein.patch rename to patches/server/0015-Prevent-attributes-with-invalid-namespaces-from-bein.patch index 365cd35..5cf9b5b 100644 --- a/patches/removed/server/0017-Prevent-attributes-with-invalid-namespaces-from-bein.patch +++ b/patches/server/0015-Prevent-attributes-with-invalid-namespaces-from-bein.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Prevent attributes with invalid namespaces from being applied diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index f9741039dada19391e80d9623f2d8cabc1089506..38238d9e6d464990caf10557997c6ca88ee100c0 100644 +index 5bd581c1a82236359c810037333590d0d9741587..35d640654ec483b98eeddb4887107a07f93f57aa 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java @@ -46,6 +46,7 @@ import net.minecraft.nbt.NbtIo; @@ -17,7 +17,7 @@ index f9741039dada19391e80d9623f2d8cabc1089506..38238d9e6d464990caf10557997c6ca8 import net.minecraft.world.item.BlockItem; import net.minecraft.world.level.block.state.BlockState; import org.apache.commons.lang3.EnumUtils; -@@ -486,7 +487,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -487,7 +488,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { AttributeModifier attribMod = CraftAttributeInstance.convert(nmsModifier); String attributeName = CraftAttributeMap.convertIfNeeded(entry.getString(ATTRIBUTES_IDENTIFIER.NBT)); // Paper diff --git a/patches/removed/server/0018-Don-t-query-player-data-in-the-nbt-component.patch b/patches/server/0016-Don-t-query-player-data-in-the-nbt-component.patch similarity index 100% rename from patches/removed/server/0018-Don-t-query-player-data-in-the-nbt-component.patch rename to patches/server/0016-Don-t-query-player-data-in-the-nbt-component.patch diff --git a/patches/removed/server/0019-Limit-string-tag-visitors-to-1024-elements.patch b/patches/server/0017-Limit-string-tag-visitors-to-1024-elements.patch similarity index 100% rename from patches/removed/server/0019-Limit-string-tag-visitors-to-1024-elements.patch rename to patches/server/0017-Limit-string-tag-visitors-to-1024-elements.patch diff --git a/patches/removed/server/0021-Fix-negative-death-times.patch b/patches/server/0018-Fix-negative-death-times.patch similarity index 90% rename from patches/removed/server/0021-Fix-negative-death-times.patch rename to patches/server/0018-Fix-negative-death-times.patch index 61c8bd3..aabc6c6 100644 --- a/patches/removed/server/0021-Fix-negative-death-times.patch +++ b/patches/server/0018-Fix-negative-death-times.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix negative death times diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index e11d7283662834047b2ff81a2fd25a4263792deb..4bd7eea49a0720063db2a8ed10f53bd19e9499ad 100644 +index c039c77d0dd6ec1d336948ca6b5351d6fae1d8bb..6d851bf1cff06edf0717080c65a504c63914b8cd 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -629,7 +629,7 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/removed/server/0023-Add-custom-classes-used-by-Scissors.patch b/patches/server/0019-Add-custom-classes-used-by-Scissors.patch similarity index 100% rename from patches/removed/server/0023-Add-custom-classes-used-by-Scissors.patch rename to patches/server/0019-Add-custom-classes-used-by-Scissors.patch diff --git a/patches/removed/server/0024-Reset-large-tags.patch b/patches/server/0020-Reset-large-tags.patch similarity index 95% rename from patches/removed/server/0024-Reset-large-tags.patch rename to patches/server/0020-Reset-large-tags.patch index ec6657d..ea31410 100644 --- a/patches/removed/server/0024-Reset-large-tags.patch +++ b/patches/server/0020-Reset-large-tags.patch @@ -59,7 +59,7 @@ index 4092c7a8c2b0d9d26e6f4d97386735236300d132..04c47cf1a920ae6c356449df801227ee } } diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index d138660e459b2d09ba9dd7ae2bf3da499d9ae25c..8c5fe0166a5442a2fa4f212d7c53343c937f53f1 100644 +index 16f087adbf94b8fd6726ffd300b103dd709ad406..71c5d49bfe7c39c11f27e17b156dd4e6d0fef285 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -21,6 +21,7 @@ import java.util.function.Predicate; @@ -70,7 +70,7 @@ index d138660e459b2d09ba9dd7ae2bf3da499d9ae25c..8c5fe0166a5442a2fa4f212d7c53343c import net.minecraft.ChatFormatting; import net.minecraft.Util; import net.minecraft.advancements.CriteriaTriggers; -@@ -253,6 +254,12 @@ public final class ItemStack { +@@ -254,6 +255,12 @@ public final class ItemStack { // CraftBukkit - break into own method private void load(CompoundTag nbttagcompound) { @@ -83,7 +83,7 @@ index d138660e459b2d09ba9dd7ae2bf3da499d9ae25c..8c5fe0166a5442a2fa4f212d7c53343c this.item = (Item) BuiltInRegistries.ITEM.get(new ResourceLocation(nbttagcompound.getString("id"))); this.count = nbttagcompound.getByte("Count"); if (nbttagcompound.contains("tag", 10)) { -@@ -556,7 +563,11 @@ public final class ItemStack { +@@ -561,7 +568,11 @@ public final class ItemStack { nbt.putString("id", minecraftkey == null ? "minecraft:air" : minecraftkey.toString()); nbt.putByte("Count", (byte) this.count); if (this.tag != null) { @@ -96,7 +96,7 @@ index d138660e459b2d09ba9dd7ae2bf3da499d9ae25c..8c5fe0166a5442a2fa4f212d7c53343c } return nbt; -@@ -886,6 +897,7 @@ public final class ItemStack { +@@ -891,6 +902,7 @@ public final class ItemStack { // Paper end public void setTag(@Nullable CompoundTag nbt) { @@ -105,7 +105,7 @@ index d138660e459b2d09ba9dd7ae2bf3da499d9ae25c..8c5fe0166a5442a2fa4f212d7c53343c this.processEnchantOrder(this.tag); // Paper if (this.getItem().canBeDepleted()) { diff --git a/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java -index 40e59b8db83aec1143e3c394427e916beea7c01f..f292aa0016e6f741b36ddc1417f6f63d248f987f 100644 +index f5ad7ddf13cbb6452c2927aef9b54eae3335b4c6..041e3c8fb7c9ca69a7c7c1c952ed9915a75d7752 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java @@ -9,6 +9,7 @@ import java.util.Iterator; @@ -252,7 +252,7 @@ index 881379681c39230a00b3a1f11cd87498984396c7..d0513b72cdaec3b67b9341d251367b19 } diff --git a/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java -index b11f51762ca289d99eaa49e66e31e58595bcea4e..06adfdc61f1064c1ec0db34632a8740fc09a1782 100644 +index 1d9b23c6e458caddc2c738164e6c079cd85d3ce9..9bf6bcdae4c3f1cfd769d47dedd6cba140a80e09 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java @@ -6,6 +6,7 @@ import java.util.function.BooleanSupplier; @@ -282,10 +282,10 @@ index b11f51762ca289d99eaa49e66e31e58595bcea4e..06adfdc61f1064c1ec0db34632a8740f } diff --git a/src/main/java/net/minecraft/world/level/block/entity/ShulkerBoxBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/ShulkerBoxBlockEntity.java -index b7686fd63b7c5d88c3a12ec4ee9bc01a17f997e0..db3a4a8cd19da9775bb0884c33494f1e8591b1fa 100644 +index 1fa22445a4ecc8c08dbcf0cc6bd39dc5003604c4..9f12fbcd8d0c75de1d8c06bed2c64a0acdc877c9 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/ShulkerBoxBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/ShulkerBoxBlockEntity.java -@@ -3,6 +3,7 @@ package net.minecraft.world.level.block.entity; +@@ -4,6 +4,7 @@ import java.util.Iterator; import java.util.List; import java.util.stream.IntStream; import javax.annotation.Nullable; @@ -293,7 +293,7 @@ index b7686fd63b7c5d88c3a12ec4ee9bc01a17f997e0..db3a4a8cd19da9775bb0884c33494f1e import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.core.NonNullList; -@@ -60,6 +61,17 @@ public class ShulkerBoxBlockEntity extends RandomizableContainerBlockEntity impl +@@ -61,6 +62,17 @@ public class ShulkerBoxBlockEntity extends RandomizableContainerBlockEntity impl public boolean opened; public List getContents() { diff --git a/patches/removed/server/0025-Don-t-log-invalid-teams-to-console.patch b/patches/server/0021-Don-t-log-invalid-teams-to-console.patch similarity index 91% rename from patches/removed/server/0025-Don-t-log-invalid-teams-to-console.patch rename to patches/server/0021-Don-t-log-invalid-teams-to-console.patch index 5f0933c..a9f6fa2 100644 --- a/patches/removed/server/0025-Don-t-log-invalid-teams-to-console.patch +++ b/patches/server/0021-Don-t-log-invalid-teams-to-console.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Don't log invalid teams to console diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 4bd7eea49a0720063db2a8ed10f53bd19e9499ad..953c2702880b358c0da4b8117c77b76bae849271 100644 +index 6d851bf1cff06edf0717080c65a504c63914b8cd..93f3eab8008af9fa91dca88ebd2dfbdf27c8281a 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -861,7 +861,7 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/removed/server/0026-Fixes-out-of-bounds-HangingEntity-crash-exploit.patch b/patches/server/0022-Fixes-out-of-bounds-HangingEntity-crash-exploit.patch similarity index 100% rename from patches/removed/server/0026-Fixes-out-of-bounds-HangingEntity-crash-exploit.patch rename to patches/server/0022-Fixes-out-of-bounds-HangingEntity-crash-exploit.patch diff --git a/patches/removed/server/0027-Add-MasterBlockFireEvent.patch b/patches/server/0023-Add-MasterBlockFireEvent.patch similarity index 97% rename from patches/removed/server/0027-Add-MasterBlockFireEvent.patch rename to patches/server/0023-Add-MasterBlockFireEvent.patch index 02eb901..b90aea3 100644 --- a/patches/removed/server/0027-Add-MasterBlockFireEvent.patch +++ b/patches/server/0023-Add-MasterBlockFireEvent.patch @@ -77,7 +77,7 @@ index 182e16c1d968707a11329150d71b7d01df6c6e52..8582a9369cffe0eebeb82a81fc413d0b Registry registry = world.registryAccess().registryOrThrow(Registries.TEMPLATE_POOL); // Paper start - Replace getHolderOrThrow with a null check diff --git a/src/main/java/net/minecraft/world/level/block/entity/StructureBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/StructureBlockEntity.java -index 9792bf3ee083f571f1f4089d30beb586839f5f6b..fa6592cdc916d3578fccc6c0075eb616fd3f73eb 100644 +index e8ecced687261861953899a3bea162dbc03977b4..30720203173b23ccdbb0789f7e2adbbe180c7c69 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/StructureBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/StructureBlockEntity.java @@ -5,6 +5,7 @@ import java.util.Objects; @@ -107,7 +107,7 @@ index 9792bf3ee083f571f1f4089d30beb586839f5f6b..fa6592cdc916d3578fccc6c0075eb616 Stream stream = this.getRelatedCorners(blockPos2, blockPos3); @@ -321,6 +323,16 @@ public class StructureBlockEntity extends BlockEntity { - public boolean saveStructure(boolean bl) { + public boolean saveStructure(boolean interactive) { if (this.mode == StructureMode.SAVE && !this.level.isClientSide && this.structureName != null) { + // Scissors start - Add master block fire event + final BlockPos pos = this.getBlockPos(); @@ -124,7 +124,7 @@ index 9792bf3ee083f571f1f4089d30beb586839f5f6b..fa6592cdc916d3578fccc6c0075eb616 StructureTemplateManager structureTemplateManager = serverLevel.getStructureManager(); @@ -358,6 +370,16 @@ public class StructureBlockEntity extends BlockEntity { - public boolean loadStructure(ServerLevel world, boolean bl) { + public boolean loadStructure(ServerLevel world, boolean interactive) { if (this.mode == StructureMode.LOAD && this.structureName != null) { + // Scissors start - Add master block fire event + final BlockPos blockPos = this.getBlockPos(); diff --git a/patches/removed/server/0028-Add-spectator-teleport-event.patch b/patches/server/0024-Add-spectator-teleport-event.patch similarity index 66% rename from patches/removed/server/0028-Add-spectator-teleport-event.patch rename to patches/server/0024-Add-spectator-teleport-event.patch index b51d312..2b5dd57 100644 --- a/patches/removed/server/0028-Add-spectator-teleport-event.patch +++ b/patches/server/0024-Add-spectator-teleport-event.patch @@ -1,32 +1,31 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Allink -Date: Tue, 5 Jul 2022 04:12:31 +0100 +From: Telesphoreo +Date: Sun, 24 Sep 2023 16:19:52 -0500 Subject: [PATCH] Add spectator teleport event diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 3c0651fa5a5db880202c9a3805a6455269c5f16d..d7ddd44fb9b571850515edc6ee2e6801092f6446 100644 +index b5fe3786b337fb99920aac72b865e6a25bcb9649..8e1b95371ed0bac1a4fff2d6550de118ba399650 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1,5 +1,6 @@ - package net.minecraft.server.network; - -+import me.totalfreedom.scissors.event.player.SpectatorTeleportEvent; // Scissors - import com.google.common.collect.Lists; - import com.google.common.primitives.Floats; - import com.mojang.brigadier.ParseResults; -@@ -2113,6 +2114,14 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -29,6 +29,7 @@ import java.util.function.UnaryOperator; + import java.util.stream.Collectors; + import java.util.stream.Stream; + import javax.annotation.Nullable; ++import me.totalfreedom.scissors.event.player.SpectatorTeleportEvent; + import net.minecraft.ChatFormatting; + import net.minecraft.SharedConstants; + import net.minecraft.Util; +@@ -2005,6 +2006,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl Entity entity = packet.getEntity(worldserver); if (entity != null) { + // Scissors start - Add spectator teleport event + final SpectatorTeleportEvent event = new SpectatorTeleportEvent(this.player.getBukkitEntity(), entity.getBukkitEntity()); -+ -+ if(!event.callEvent()) { ++ if (!event.callEvent()) { + return; + } + // Scissors end -+ this.player.teleportTo(worldserver, entity.getX(), entity.getY(), entity.getZ(), entity.getYRot(), entity.getXRot(), org.bukkit.event.player.PlayerTeleportEvent.TeleportCause.SPECTATE); // CraftBukkit return; } diff --git a/patches/removed/server/0029-Prevent-invalid-container-events.patch b/patches/server/0025-Prevent-invalid-container-events.patch similarity index 80% rename from patches/removed/server/0029-Prevent-invalid-container-events.patch rename to patches/server/0025-Prevent-invalid-container-events.patch index 5f46b67..129b334 100644 --- a/patches/removed/server/0029-Prevent-invalid-container-events.patch +++ b/patches/server/0025-Prevent-invalid-container-events.patch @@ -5,18 +5,18 @@ Subject: [PATCH] Prevent invalid container events diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index bf7cf2108c0273552a41a9734dfd66b6a68a24d4..1c102fa91711ed595626633e127c89a83ed6b6c5 100644 +index 8e1b95371ed0bac1a4fff2d6550de118ba399650..e6d7b277b3b305d5069c73d9107c20ff11e34b7c 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -30,6 +30,7 @@ import java.util.function.UnaryOperator; - import java.util.stream.Collectors; +@@ -30,6 +30,7 @@ import java.util.stream.Collectors; import java.util.stream.Stream; import javax.annotation.Nullable; + import me.totalfreedom.scissors.event.player.SpectatorTeleportEvent; +import net.kyori.adventure.text.format.NamedTextColor; // Scissors import net.minecraft.ChatFormatting; - import net.minecraft.CrashReport; - import net.minecraft.CrashReportCategory; -@@ -3037,6 +3038,18 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic + import net.minecraft.SharedConstants; + import net.minecraft.Util; +@@ -2899,6 +2900,18 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl return; } diff --git a/patches/removed/server/0030-Disable-running-commands-in-books-by-default.patch b/patches/server/0026-Disable-running-commands-in-books-by-default.patch similarity index 100% rename from patches/removed/server/0030-Disable-running-commands-in-books-by-default.patch rename to patches/server/0026-Disable-running-commands-in-books-by-default.patch diff --git a/patches/removed/server/0031-Validate-block-entity-entity-tag-query-positions.patch b/patches/server/0027-Validate-block-entity-entity-tag-query-positions.patch similarity index 86% rename from patches/removed/server/0031-Validate-block-entity-entity-tag-query-positions.patch rename to patches/server/0027-Validate-block-entity-entity-tag-query-positions.patch index bb50463..ed9d6cd 100644 --- a/patches/removed/server/0031-Validate-block-entity-entity-tag-query-positions.patch +++ b/patches/server/0027-Validate-block-entity-entity-tag-query-positions.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Validate block entity/entity tag query positions diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 3c4825e295eefc7fcd628ba804fcc7dd5f160f28..280ebeee9bfae3059b6681873fa5633a9e929161 100644 +index e6d7b277b3b305d5069c73d9107c20ff11e34b7c..001b7ae2067809d7da1d84d7637639f21a1aa980 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1376,7 +1376,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1261,7 +1261,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl if (this.player.hasPermissions(2)) { Entity entity = this.player.level().getEntity(packet.getEntityId()); @@ -17,7 +17,7 @@ index 3c4825e295eefc7fcd628ba804fcc7dd5f160f28..280ebeee9bfae3059b6681873fa5633a CompoundTag nbttagcompound = entity.saveWithoutId(new CompoundTag()); this.player.connection.send(new ClientboundTagQueryPacket(packet.getTransactionId(), nbttagcompound)); -@@ -1388,7 +1388,10 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1273,7 +1273,10 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @Override public void handleBlockEntityTagQuery(ServerboundBlockEntityTagQuery packet) { PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel()); diff --git a/patches/removed/server/0032-Fix-ClickEvents-on-Signs-bypassing-permissions.patch b/patches/server/0028-Fix-ClickEvents-on-Signs-bypassing-permissions.patch similarity index 97% rename from patches/removed/server/0032-Fix-ClickEvents-on-Signs-bypassing-permissions.patch rename to patches/server/0028-Fix-ClickEvents-on-Signs-bypassing-permissions.patch index 10b87d3..56e90f5 100644 --- a/patches/removed/server/0032-Fix-ClickEvents-on-Signs-bypassing-permissions.patch +++ b/patches/server/0028-Fix-ClickEvents-on-Signs-bypassing-permissions.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix ClickEvents on Signs bypassing permissions diff --git a/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java -index f356196aaeb498a6d2c9ad2112329cef5a3103d6..a8d8445be1cfb67de1adcaf64847d0bfaf8c503d 100644 +index 38cde466714e5663cd416b6afd5d2558e139ec09..ed48eaae75e709361a260421934b6b925ae9b427 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java @@ -8,8 +8,10 @@ import java.util.Objects; diff --git a/patches/removed/server/0033-Refuse-to-convert-legacy-messages-over-1k-characters.patch b/patches/server/0029-Refuse-to-convert-legacy-messages-over-1k-characters.patch similarity index 100% rename from patches/removed/server/0033-Refuse-to-convert-legacy-messages-over-1k-characters.patch rename to patches/server/0029-Refuse-to-convert-legacy-messages-over-1k-characters.patch diff --git a/patches/removed/server/0034-Prevent-velocity-freeze.patch b/patches/server/0030-Prevent-velocity-freeze.patch similarity index 100% rename from patches/removed/server/0034-Prevent-velocity-freeze.patch rename to patches/server/0030-Prevent-velocity-freeze.patch diff --git a/patches/removed/server/0035-Add-configuration-option-to-disable-chat-signatures.patch b/patches/server/0031-Add-configuration-option-to-disable-chat-signatures.patch similarity index 90% rename from patches/removed/server/0035-Add-configuration-option-to-disable-chat-signatures.patch rename to patches/server/0031-Add-configuration-option-to-disable-chat-signatures.patch index d931082..474113d 100644 --- a/patches/removed/server/0035-Add-configuration-option-to-disable-chat-signatures.patch +++ b/patches/server/0031-Add-configuration-option-to-disable-chat-signatures.patch @@ -60,17 +60,18 @@ index c0a80824a0307ea673805015119cc834b268f0dc..9f28f86b1b56ea55ab39f6ac988c1f47 } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 562289bbe08b8d8e75436ad94cfc02e7c0e95d2e..a98134b3b59e194c03bb8110652a9208263c420d 100644 +index 001b7ae2067809d7da1d84d7637639f21a1aa980..ad87d90de1679955cb5a9d1c925be7d281cc64c9 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1,5 +1,6 @@ +@@ -1,5 +1,7 @@ package net.minecraft.server.network; +import me.totalfreedom.scissors.ScissorsConfig; // Scissors - import me.totalfreedom.scissors.event.player.SpectatorTeleportEvent; // Scissors ++import me.totalfreedom.scissors.event.player.SpectatorTeleportEvent; // Scissors import com.google.common.collect.Lists; import com.google.common.primitives.Floats; -@@ -2368,7 +2369,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic + import com.mojang.authlib.GameProfile; +@@ -2219,7 +2221,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl } private void handleMessageDecodeFailure(SignedMessageChain.DecodeException exception) { @@ -79,7 +80,7 @@ index 562289bbe08b8d8e75436ad94cfc02e7c0e95d2e..a98134b3b59e194c03bb8110652a9208 this.disconnect(exception.getComponent(), exception.kickCause); // Paper - kick event causes } else { this.player.sendSystemMessage(exception.getComponent().copy().withStyle(ChatFormatting.RED)); -@@ -2424,6 +2425,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2275,6 +2277,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl Optional optional = this.lastSeenMessages.applyUpdate(acknowledgment); if (optional.isEmpty()) { @@ -87,7 +88,7 @@ index 562289bbe08b8d8e75436ad94cfc02e7c0e95d2e..a98134b3b59e194c03bb8110652a9208 ServerGamePacketListenerImpl.LOGGER.warn("Failed to validate message acknowledgements from {}", this.player.getName().getString()); this.disconnect(ServerGamePacketListenerImpl.CHAT_VALIDATION_FAILED, org.bukkit.event.player.PlayerKickEvent.Cause.CHAT_VALIDATION_FAILED); // Paper - kick event causes } -@@ -2632,6 +2634,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2483,6 +2486,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl synchronized (this.lastSeenMessages) { if (!this.lastSeenMessages.applyOffset(packet.offset())) { @@ -95,7 +96,7 @@ index 562289bbe08b8d8e75436ad94cfc02e7c0e95d2e..a98134b3b59e194c03bb8110652a9208 ServerGamePacketListenerImpl.LOGGER.warn("Failed to validate message acknowledgements from {}", this.player.getName().getString()); this.disconnect(ServerGamePacketListenerImpl.CHAT_VALIDATION_FAILED, org.bukkit.event.player.PlayerKickEvent.Cause.CHAT_VALIDATION_FAILED); // Paper - kick event causes } -@@ -3673,6 +3676,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3456,6 +3460,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @Override public void handleChatSessionUpdate(ServerboundChatSessionUpdatePacket packet) { PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel()); diff --git a/patches/removed/server/0036-Patch-invalid-entity-rotation-log-spam.patch b/patches/server/0032-Patch-invalid-entity-rotation-log-spam.patch similarity index 83% rename from patches/removed/server/0036-Patch-invalid-entity-rotation-log-spam.patch rename to patches/server/0032-Patch-invalid-entity-rotation-log-spam.patch index 4e9445c..cd2b1bf 100644 --- a/patches/removed/server/0036-Patch-invalid-entity-rotation-log-spam.patch +++ b/patches/server/0032-Patch-invalid-entity-rotation-log-spam.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Patch invalid entity rotation log spam diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 842f8af14b2bd694a48ee6573d98e6cfcf910e16..e9e98f09e13d7f21333450d892cdc80b0667c915 100644 +index 7f5b2787482f52114c62f8b9d19755f3baeaefa0..759ca876613e334805aa041f049b2f556a0e92a2 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -4617,7 +4617,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4658,7 +4658,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { public void setXRot(float pitch) { if (!Float.isFinite(pitch)) {