Upstream Paper's upgrade to vineflower 12.0.0 (#1782)

This commit is contained in:
granny
2026-05-31 16:42:41 -07:00
committed by GitHub
parent dc4a255969
commit 3fe5edd4b5
116 changed files with 1321 additions and 1333 deletions

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Implement elytra settings
diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java
index 8f536177aabda1387d3562912b48ae8fce1dd278..fbb288020b0526d44312610782f41ab443a42ad9 100644
index 3bc8a8d26569a3c26e518cd48c52b9b6c9e38294..34d122f58ff32cb47b79ab1348fee3224315d2dd 100644
--- a/net/minecraft/world/entity/LivingEntity.java
+++ b/net/minecraft/world/entity/LivingEntity.java
@@ -3937,7 +3937,16 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
@@ -3943,7 +3943,16 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
if (freeFallInterval % 2 == 0) {
List<EquipmentSlot> slotsWithGliders = EquipmentSlot.VALUES.stream().filter(slot -> canGlideUsing(this.getItemBySlot(slot), slot)).toList();
EquipmentSlot slotToDamage = Util.getRandom(slotsWithGliders, this.random);
@@ -27,7 +27,7 @@ index 8f536177aabda1387d3562912b48ae8fce1dd278..fbb288020b0526d44312610782f41ab4
this.gameEvent(GameEvent.ELYTRA_GLIDE);
diff --git a/net/minecraft/world/item/FireworkRocketItem.java b/net/minecraft/world/item/FireworkRocketItem.java
index 0afc0916e358d4b9c9c360358a6c1aebe1ac723b..ce4380f76c89008b5fa8cd5fd666a0c22e93b26b 100644
index b3443ff2d06af328493046e723efc11d299a2824..3c001b3810097d5cb60ad64e0727d8d9907f6a38 100644
--- a/net/minecraft/world/item/FireworkRocketItem.java
+++ b/net/minecraft/world/item/FireworkRocketItem.java
@@ -73,6 +73,17 @@ public class FireworkRocketItem extends Item implements ProjectileItem {
@@ -49,7 +49,7 @@ index 0afc0916e358d4b9c9c360358a6c1aebe1ac723b..ce4380f76c89008b5fa8cd5fd666a0c2
itemStack.shrink(1); // Moved up from below
} else {
diff --git a/net/minecraft/world/item/ItemStack.java b/net/minecraft/world/item/ItemStack.java
index aa62f69da48884f1d4e8834fe4cb9c02ce1d472e..2e511d2adaedef5e954532783beb8a77b3e000d4 100644
index d71fe8e6699e2e3298240e091832d33215837a4a..f9d2aa76bd273c40d39c30e1c9fddb2749b18865 100644
--- a/net/minecraft/world/item/ItemStack.java
+++ b/net/minecraft/world/item/ItemStack.java
@@ -694,6 +694,14 @@ public final class ItemStack implements DataComponentHolder, ItemInstance {
@@ -68,13 +68,13 @@ index aa62f69da48884f1d4e8834fe4cb9c02ce1d472e..2e511d2adaedef5e954532783beb8a77
onBreak.accept(item);
}
diff --git a/net/minecraft/world/item/TridentItem.java b/net/minecraft/world/item/TridentItem.java
index 4352c807848acbac4e58cd84f376425c3ae6f2f7..50e38d147934d060a0cf342cec609d7d10476298 100644
index 0321dffbbea8bf35640680eedd21cd9f9daa6c04..91f81dbf4e1fbf029c8f70ad3a80a489e1188a54 100644
--- a/net/minecraft/world/item/TridentItem.java
+++ b/net/minecraft/world/item/TridentItem.java
@@ -125,6 +125,16 @@ public class TridentItem extends Item implements ProjectileItem {
yd *= riptideStrength / dist;
zd *= riptideStrength / dist;
if (!org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerRiptideEvent(player, itemStack, xd, yd, zd)) return false; // Paper - Add player riptide event
@@ -127,6 +127,16 @@ public class TridentItem extends Item implements ProjectileItem {
yd *= riptideStrength / dist;
zd *= riptideStrength / dist;
if (!org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerRiptideEvent(player, itemStack, xd, yd, zd)) return false; // Paper - Add player riptide event
+ // Purpur start - Implement elytra settings
+ List<net.minecraft.world.entity.EquipmentSlot> list = net.minecraft.world.entity.EquipmentSlot.VALUES.stream().filter((enumitemslot) -> LivingEntity.canGlideUsing(entity.getItemBySlot(enumitemslot), enumitemslot)).toList();
+ if (!list.isEmpty()) {
@@ -85,6 +85,6 @@ index 4352c807848acbac4e58cd84f376425c3ae6f2f7..50e38d147934d060a0cf342cec609d7d
+ }
+ }
+ // Purpur end - Implement elytra settings
player.push(xd, yd, zd);
player.startAutoSpinAttack(20, 8.0F, itemStack);
if (player.onGround()) {
player.push(xd, yd, zd);
player.startAutoSpinAttack(20, 8.0F, itemStack);
if (player.onGround()) {