diff --git a/patches/server/0938-Improve-tag-parser-handling.patch b/patches/server/0938-Improve-tag-parser-handling.patch index 91b570e5aa..9435db11ac 100644 --- a/patches/server/0938-Improve-tag-parser-handling.patch +++ b/patches/server/0938-Improve-tag-parser-handling.patch @@ -53,6 +53,19 @@ index 0000000000000000000000000000000000000000..a375ad4ba9db990b24a2b9ff366fcba6 + super(EXCEPTION_TYPE, Component.literal(message)); + } +} +diff --git a/src/main/java/net/minecraft/commands/arguments/selector/SelectorPattern.java b/src/main/java/net/minecraft/commands/arguments/selector/SelectorPattern.java +index 82ecd9c034a2ee5040b6a66233070ce1cb4e48d2..50e66b10ec3943b9068e546763087161395f673a 100644 +--- a/src/main/java/net/minecraft/commands/arguments/selector/SelectorPattern.java ++++ b/src/main/java/net/minecraft/commands/arguments/selector/SelectorPattern.java +@@ -13,7 +13,7 @@ public record SelectorPattern(String pattern, EntitySelector resolved) { + EntitySelectorParser entitySelectorParser = new EntitySelectorParser(new StringReader(selector), true); + return DataResult.success(new SelectorPattern(selector, entitySelectorParser.parse())); + } catch (CommandSyntaxException var2) { +- return DataResult.error(() -> "Invalid selector component: " + selector + ": " + var2.getMessage()); ++ return DataResult.error(() -> "Invalid selector component"); // Paper - limit selector error message + } + } + diff --git a/src/main/java/net/minecraft/nbt/TagParser.java b/src/main/java/net/minecraft/nbt/TagParser.java index da101bca71f4710812621b98f0a0d8cab180346a..3cd112584accb8e8f050ac99738eed11c902e60e 100644 --- a/src/main/java/net/minecraft/nbt/TagParser.java diff --git a/patches/server/0941-Properly-track-the-changed-item-from-dispense-events.patch b/patches/server/0941-Properly-track-the-changed-item-from-dispense-events.patch index 4b58da1d33..3885b9f8a2 100644 --- a/patches/server/0941-Properly-track-the-changed-item-from-dispense-events.patch +++ b/patches/server/0941-Properly-track-the-changed-item-from-dispense-events.patch @@ -72,7 +72,7 @@ index 63b8c806b6ee0ea3cc5e6a7f613b5e57c94bfcf1..cd77e86ff289634d2dd1c56002e569ff } else { return this.defaultDispenseItemBehavior.dispense(pointer, stack); diff --git a/src/main/java/net/minecraft/core/dispenser/ProjectileDispenseBehavior.java b/src/main/java/net/minecraft/core/dispenser/ProjectileDispenseBehavior.java -index a9d230d6ff22d5e3a11b2f31e7d751f44888a12c..df495161a5842cf38518adabd359bb35193ee2b3 100644 +index a9d230d6ff22d5e3a11b2f31e7d751f44888a12c..af222679d0d44d24b2b10455eb52fa8a797ca28a 100644 --- a/src/main/java/net/minecraft/core/dispenser/ProjectileDispenseBehavior.java +++ b/src/main/java/net/minecraft/core/dispenser/ProjectileDispenseBehavior.java @@ -64,7 +64,7 @@ public class ProjectileDispenseBehavior extends DefaultDispenseItemBehavior { @@ -80,7 +80,7 @@ index a9d230d6ff22d5e3a11b2f31e7d751f44888a12c..df495161a5842cf38518adabd359bb35 } - Projectile iprojectile = Projectile.spawnProjectileUsingShoot(this.projectileItem.asProjectile(worldserver, iposition, stack, enumdirection), worldserver, stack, event.getVelocity().getX(), event.getVelocity().getY(), event.getVelocity().getZ(), this.dispenseConfig.power(), this.dispenseConfig.uncertainty()); -+ Projectile iprojectile = Projectile.spawnProjectileUsingShoot(this.projectileItem.asProjectile(worldserver, iposition, CraftItemStack.unwrap(event.getItem()), enumdirection), worldserver, stack, event.getVelocity().getX(), event.getVelocity().getY(), event.getVelocity().getZ(), this.dispenseConfig.power(), this.dispenseConfig.uncertainty()); // Paper - mtrack changed items in the dispense event; unwrap is safe here because all uses of the stack make their own copies ++ Projectile iprojectile = Projectile.spawnProjectileUsingShoot(this.projectileItem.asProjectile(worldserver, iposition, CraftItemStack.unwrap(event.getItem()), enumdirection), worldserver, stack, event.getVelocity().getX(), event.getVelocity().getY(), event.getVelocity().getZ(), this.dispenseConfig.power(), this.dispenseConfig.uncertainty()); // Paper - track changed items in the dispense event; unwrap is safe here because all uses of the stack make their own copies ((Entity) iprojectile).projectileSource = new org.bukkit.craftbukkit.projectiles.CraftBlockProjectileSource(pointer.blockEntity()); // itemstack.shrink(1); // CraftBukkit - Handled during event processing // CraftBukkit end diff --git a/patches/server/0951-improve-checking-handled-tags-in-itemmeta.patch b/patches/server/0951-improve-checking-handled-tags-in-itemmeta.patch index 41f857627a..8d257c881d 100644 --- a/patches/server/0951-improve-checking-handled-tags-in-itemmeta.patch +++ b/patches/server/0951-improve-checking-handled-tags-in-itemmeta.patch @@ -456,7 +456,7 @@ index 4941e0afff8df5f10f06c715b54bf58eb86051c5..566d893a413fd04b99e83dc2da8fe958 getOrEmpty(tag, CraftMetaFirework.FIREWORKS).ifPresent((fireworks) -> { this.power = fireworks.flightDuration(); diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 6b3eed94c26bc16177f9b9fadd140f9a89163af2..86045b7c4aa6ce9007cdeb1bb1ffdce98de6568b 100644 +index 6b3eed94c26bc16177f9b9fadd140f9a89163af2..13b19adc21ece31476b2980c5bc01a50f15df634 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java @@ -389,7 +389,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @@ -565,7 +565,7 @@ index 6b3eed94c26bc16177f9b9fadd140f9a89163af2..86045b7c4aa6ce9007cdeb1bb1ffdce9 + CraftMetaItem.ITEM_NAME.TYPE, + CraftMetaItem.LORE.TYPE, + CraftMetaItem.CUSTOM_MODEL_DATA.TYPE, -+ CraftMetaItem.CUSTOM_MODEL_DATA.TYPE, ++ CraftMetaItem.ENCHANTABLE.TYPE, + CraftMetaItem.BLOCK_DATA.TYPE, + CraftMetaItem.REPAIR.TYPE, + CraftMetaItem.ENCHANTMENTS.TYPE, @@ -577,13 +577,13 @@ index 6b3eed94c26bc16177f9b9fadd140f9a89163af2..86045b7c4aa6ce9007cdeb1bb1ffdce9 + CraftMetaItem.ENCHANTMENT_GLINT_OVERRIDE.TYPE, + CraftMetaItem.GLIDER.TYPE, + CraftMetaItem.DAMAGE_RESISTANT.TYPE, -+ CraftMetaItem.ENCHANTABLE.TYPE, + CraftMetaItem.MAX_STACK_SIZE.TYPE, + CraftMetaItem.RARITY.TYPE, + CraftMetaItem.USE_REMAINDER.TYPE, + CraftMetaItem.USE_COOLDOWN.TYPE, + CraftMetaItem.FOOD.TYPE, + CraftMetaItem.TOOL.TYPE, ++ CraftMetaItem.EQUIPPABLE.TYPE, + CraftMetaItem.JUKEBOX_PLAYABLE.TYPE, + CraftMetaItem.DAMAGE.TYPE, + CraftMetaItem.MAX_DAMAGE.TYPE,