Skip to content

Commit 503c6f4

Browse files
committed
all feature patches applied?? that was too easy...
1 parent 89ee2e0 commit 503c6f4

20 files changed

Lines changed: 907 additions & 918 deletions

purpur-server/minecraft-patches/unapplied-features/0001-Ridables.patch renamed to purpur-server/minecraft-patches/features/0001-Ridables.patch

Lines changed: 298 additions & 307 deletions
Large diffs are not rendered by default.

purpur-server/minecraft-patches/unapplied-features/0002-Configurable-entity-base-attributes.patch renamed to purpur-server/minecraft-patches/features/0002-Configurable-entity-base-attributes.patch

Lines changed: 140 additions & 140 deletions
Large diffs are not rendered by default.

purpur-server/minecraft-patches/unapplied-features/0003-Barrels-and-enderchests-6-rows.patch renamed to purpur-server/minecraft-patches/features/0003-Barrels-and-enderchests-6-rows.patch

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ Subject: [PATCH] Barrels and enderchests 6 rows
55

66

77
diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java
8-
index f7b12d5924005a24899aef11746b9f056fac3559..aaebaa42eef53af8a8c1606b79caf6bb4a99f4f9 100644
8+
index 7a247b713ceb3a513de1f91cdda1d30a32845d13..f9f3deed9f892ece5568a6ede9955c8e19937b60 100644
99
--- a/net/minecraft/server/players/PlayerList.java
1010
+++ b/net/minecraft/server/players/PlayerList.java
11-
@@ -1041,6 +1041,27 @@ public abstract class PlayerList {
11+
@@ -1040,6 +1040,27 @@ public abstract class PlayerList {
1212
player.getBukkitEntity().recalculatePermissions(); // CraftBukkit
1313
this.server.getCommands().sendCommands(player);
1414
} // Paper - Add sendOpLevel API
@@ -37,10 +37,10 @@ index f7b12d5924005a24899aef11746b9f056fac3559..aaebaa42eef53af8a8c1606b79caf6bb
3737

3838
public boolean isWhiteListed(GameProfile profile) {
3939
diff --git a/net/minecraft/world/entity/player/Player.java b/net/minecraft/world/entity/player/Player.java
40-
index 2417c26a03decf756ad93cd54265277c95c653ca..87c8bc6f9128d2fcb19628bc3ef354e517b632bb 100644
40+
index c421cc7dc6c401a19eaf193abd970f21e910f927..acb53dba83fe9481508fa4d4704203a08f575450 100644
4141
--- a/net/minecraft/world/entity/player/Player.java
4242
+++ b/net/minecraft/world/entity/player/Player.java
43-
@@ -212,6 +212,7 @@ public abstract class Player extends LivingEntity {
43+
@@ -221,6 +221,7 @@ public abstract class Player extends LivingEntity {
4444
public net.kyori.adventure.util.TriState flyingFallDamage = net.kyori.adventure.util.TriState.NOT_SET; // Paper - flying fall damage
4545
public int burpDelay = 0; // Purpur - Burp delay
4646
public boolean canPortalInstant = false; // Purpur - Add portal permission bypass
@@ -84,7 +84,7 @@ index 0fffa384f928ab84451331380968fb4650eafe26..0399092c9f7a43ac100c11505176ade6
8484
return new ChestMenu(MenuType.GENERIC_9x6, containerId, playerInventory, container, 6);
8585
}
8686
diff --git a/net/minecraft/world/inventory/PlayerEnderChestContainer.java b/net/minecraft/world/inventory/PlayerEnderChestContainer.java
87-
index bc2b95973192069fc64581b59583b19df876f55d..b68d57eee9605dba8ecd31f82185ec3ea81d60c1 100644
87+
index beb74bc8398de8b48f41af7daef14d624826310e..7ae8d115b6f4af45db9309b46ed4b4fdd8e25c08 100644
8888
--- a/net/minecraft/world/inventory/PlayerEnderChestContainer.java
8989
+++ b/net/minecraft/world/inventory/PlayerEnderChestContainer.java
9090
@@ -25,11 +25,18 @@ public class PlayerEnderChestContainer extends SimpleContainer {
@@ -159,7 +159,7 @@ index 5077a9ff7b78801bdc53536a37aee07b8d86ee4d..72794e204f7fcc31ece94913b7fd9f36
159159
public BlockEntity newBlockEntity(BlockPos pos, BlockState state) {
160160
return new EnderChestBlockEntity(pos, state);
161161
diff --git a/net/minecraft/world/level/block/entity/BarrelBlockEntity.java b/net/minecraft/world/level/block/entity/BarrelBlockEntity.java
162-
index 027502d0af5512c31878978c4d05c52fa3029cca..f5216355ef13593bc7333d50a003012e25b3d7ea 100644
162+
index d679ab599dfd0bdbdc3ab5530d7fcd1c38baf7fa..0e4f6455ec48c5a7fcd4613c1c5b79d599e4960a 100644
163163
--- a/net/minecraft/world/level/block/entity/BarrelBlockEntity.java
164164
+++ b/net/minecraft/world/level/block/entity/BarrelBlockEntity.java
165165
@@ -56,7 +56,17 @@ public class BarrelBlockEntity extends RandomizableContainerBlockEntity {

purpur-server/minecraft-patches/unapplied-features/0004-Giants-AI-settings.patch renamed to purpur-server/minecraft-patches/features/0004-Giants-AI-settings.patch

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Subject: [PATCH] Giants AI settings
55

66

77
diff --git a/net/minecraft/world/entity/monster/Giant.java b/net/minecraft/world/entity/monster/Giant.java
8-
index 13021800af7cc9263ef4f393f9cfbda5061a32ae..73da18c4b54e250c434fd75971ef0a8f7c8cf6a3 100644
8+
index e673f488bfab9648075857bc40e1339f974a903c..f5565d314ded2145219debc446c7ddcb93b660e9 100644
99
--- a/net/minecraft/world/entity/monster/Giant.java
1010
+++ b/net/minecraft/world/entity/monster/Giant.java
1111
@@ -30,8 +30,25 @@ public class Giant extends Monster {
@@ -36,8 +36,8 @@ index 13021800af7cc9263ef4f393f9cfbda5061a32ae..73da18c4b54e250c434fd75971ef0a8f
3636
}
3737
// Purpur end - Ridables
3838

39-
@@ -49,8 +66,36 @@ public class Giant extends Monster {
40-
return Monster.createMonsterAttributes().add(Attributes.MAX_HEALTH, 100.0).add(Attributes.MOVEMENT_SPEED, 0.5).add(Attributes.ATTACK_DAMAGE, 50.0);
39+
@@ -53,8 +70,36 @@ public class Giant extends Monster {
40+
.add(Attributes.CAMERA_DISTANCE, 16.0);
4141
}
4242

4343
+ // Purpur - Giants AI settings

purpur-server/minecraft-patches/unapplied-features/0005-Chickens-can-retaliate.patch renamed to purpur-server/minecraft-patches/features/0005-Chickens-can-retaliate.patch

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ Subject: [PATCH] Chickens can retaliate
55

66

77
diff --git a/net/minecraft/world/entity/animal/Chicken.java b/net/minecraft/world/entity/animal/Chicken.java
8-
index 40fc57f1c298e1c70fddf8b6eb2f3e8e9e41e60c..fc3291b5e1a2c3956802b268abb58189b24a7a16 100644
8+
index b4b2cebbc8d4645dec0b1bfe4243426a1e7ccda5..6f6d99c075b3e402742e3c7401dea366f2d871b6 100644
99
--- a/net/minecraft/world/entity/animal/Chicken.java
1010
+++ b/net/minecraft/world/entity/animal/Chicken.java
11-
@@ -93,6 +93,11 @@ public class Chicken extends Animal {
11+
@@ -94,6 +94,11 @@ public class Chicken extends Animal {
1212
public void initAttributes() {
1313
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.chickenMaxHealth);
1414
this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.chickenScale);
@@ -20,7 +20,7 @@ index 40fc57f1c298e1c70fddf8b6eb2f3e8e9e41e60c..fc3291b5e1a2c3956802b268abb58189
2020
}
2121
// Purpur end - Configurable entity base attributes
2222

23-
@@ -100,13 +105,21 @@ public class Chicken extends Animal {
23+
@@ -101,13 +106,21 @@ public class Chicken extends Animal {
2424
protected void registerGoals() {
2525
this.goalSelector.addGoal(0, new FloatGoal(this));
2626
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur - Ridables
@@ -43,7 +43,7 @@ index 40fc57f1c298e1c70fddf8b6eb2f3e8e9e41e60c..fc3291b5e1a2c3956802b268abb58189
4343
}
4444

4545
@Override
46-
@@ -115,7 +128,7 @@ public class Chicken extends Animal {
46+
@@ -116,7 +129,7 @@ public class Chicken extends Animal {
4747
}
4848

4949
public static AttributeSupplier.Builder createAttributes() {

purpur-server/minecraft-patches/unapplied-features/0006-Minecart-settings-and-WASD-controls.patch renamed to purpur-server/minecraft-patches/features/0006-Minecart-settings-and-WASD-controls.patch

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ Subject: [PATCH] Minecart settings and WASD controls
55

66

77
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
8-
index f55dc4affffd495b4c02b77c8a60f172c1c6cf79..47a6a607513c97910c7d57e8fb4862f6de74f9ac 100644
8+
index 0c489a6d3357ed0d3dc9341440b87623d007da3f..ed63c0cc2750485ab4d53c242fec94c1a66e9dbe 100644
99
--- a/net/minecraft/server/level/ServerPlayer.java
1010
+++ b/net/minecraft/server/level/ServerPlayer.java
11-
@@ -1192,6 +1192,11 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
11+
@@ -1170,6 +1170,11 @@ public class ServerPlayer extends Player {
1212
} else {
1313
// Purpur start - Add boat fall damage config
1414
if (damageSource.is(net.minecraft.tags.DamageTypeTags.IS_FALL)) {
@@ -21,10 +21,10 @@ index f55dc4affffd495b4c02b77c8a60f172c1c6cf79..47a6a607513c97910c7d57e8fb4862f6
2121
return false;
2222
}
2323
diff --git a/net/minecraft/world/entity/vehicle/AbstractMinecart.java b/net/minecraft/world/entity/vehicle/AbstractMinecart.java
24-
index 99617c08cbd989092ba357d8df928786fd04c89a..9d88b260528c3cea2c5fe8e2760094b0a8a35667 100644
24+
index 7e61d68b36ca2768f70dc1fc130a8d7b95347b6b..00eb9aef52ee54f9750c44832f2b3a9321a9f81a 100644
2525
--- a/net/minecraft/world/entity/vehicle/AbstractMinecart.java
2626
+++ b/net/minecraft/world/entity/vehicle/AbstractMinecart.java
27-
@@ -103,6 +103,10 @@ public abstract class AbstractMinecart extends VehicleEntity {
27+
@@ -102,6 +102,10 @@ public abstract class AbstractMinecart extends VehicleEntity {
2828
private double flyingY = 0.95;
2929
private double flyingZ = 0.95;
3030
public @Nullable Double maxSpeed;
@@ -35,7 +35,7 @@ index 99617c08cbd989092ba357d8df928786fd04c89a..9d88b260528c3cea2c5fe8e2760094b0
3535
public net.kyori.adventure.util.TriState frictionState = net.kyori.adventure.util.TriState.NOT_SET; // Paper - Friction API
3636
// CraftBukkit end
3737

38-
@@ -111,8 +115,13 @@ public abstract class AbstractMinecart extends VehicleEntity {
38+
@@ -110,8 +114,13 @@ public abstract class AbstractMinecart extends VehicleEntity {
3939
this.blocksBuilding = true;
4040
if (useExperimentalMovement(level)) {
4141
this.behavior = new NewMinecartBehavior(this);
@@ -49,7 +49,7 @@ index 99617c08cbd989092ba357d8df928786fd04c89a..9d88b260528c3cea2c5fe8e2760094b0
4949
}
5050
}
5151

52-
@@ -277,6 +286,14 @@ public abstract class AbstractMinecart extends VehicleEntity {
52+
@@ -276,6 +285,14 @@ public abstract class AbstractMinecart extends VehicleEntity {
5353

5454
@Override
5555
public void tick() {
@@ -64,7 +64,7 @@ index 99617c08cbd989092ba357d8df928786fd04c89a..9d88b260528c3cea2c5fe8e2760094b0
6464
// CraftBukkit start
6565
double prevX = this.getX();
6666
double prevY = this.getY();
67-
@@ -384,15 +401,61 @@ public abstract class AbstractMinecart extends VehicleEntity {
67+
@@ -390,15 +407,61 @@ public abstract class AbstractMinecart extends VehicleEntity {
6868
this.behavior.moveAlongTrack(level);
6969
}
7070

purpur-server/minecraft-patches/unapplied-features/0007-Villagers-follow-emerald-blocks.patch renamed to purpur-server/minecraft-patches/features/0007-Villagers-follow-emerald-blocks.patch

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ Subject: [PATCH] Villagers follow emerald blocks
55

66

77
diff --git a/net/minecraft/world/entity/ai/attributes/DefaultAttributes.java b/net/minecraft/world/entity/ai/attributes/DefaultAttributes.java
8-
index 75d8fe03558ba38caf46c826dfea5208f88bde52..46022a0aabc9c319deeb75913d356eeb74f1a12c 100644
8+
index 4bb7a8955182d786a09fd2667b37a93373ff47be..bead2f6800bdc404228500c12caf326559fa47de 100644
99
--- a/net/minecraft/world/entity/ai/attributes/DefaultAttributes.java
1010
+++ b/net/minecraft/world/entity/ai/attributes/DefaultAttributes.java
11-
@@ -162,7 +162,7 @@ public class DefaultAttributes {
11+
@@ -164,7 +164,7 @@ public class DefaultAttributes {
1212
.put(EntityType.VILLAGER, Villager.createAttributes().build())
1313
.put(EntityType.VINDICATOR, Vindicator.createAttributes().build())
1414
.put(EntityType.WARDEN, Warden.createAttributes().build())
@@ -18,10 +18,10 @@ index 75d8fe03558ba38caf46c826dfea5208f88bde52..46022a0aabc9c319deeb75913d356eeb
1818
.put(EntityType.WITHER, WitherBoss.createAttributes().build())
1919
.put(EntityType.WITHER_SKELETON, AbstractSkeleton.createAttributes().build())
2020
diff --git a/net/minecraft/world/entity/ai/goal/TemptGoal.java b/net/minecraft/world/entity/ai/goal/TemptGoal.java
21-
index 438d6347778a94b4fe430320b268a2d67afa209a..f88f618d34fb343b31de3af1a875d6633703df71 100644
21+
index dae935cc68e2e571d50e56ac8913c099a11cf771..a805c9426630c2c46db9d0dd536f1d16769395d3 100644
2222
--- a/net/minecraft/world/entity/ai/goal/TemptGoal.java
2323
+++ b/net/minecraft/world/entity/ai/goal/TemptGoal.java
24-
@@ -58,7 +58,7 @@ public class TemptGoal extends Goal {
24+
@@ -71,7 +71,7 @@ public class TemptGoal extends Goal {
2525
}
2626

2727
private boolean shouldFollow(LivingEntity entity) {
@@ -31,10 +31,10 @@ index 438d6347778a94b4fe430320b268a2d67afa209a..f88f618d34fb343b31de3af1a875d663
3131

3232
@Override
3333
diff --git a/net/minecraft/world/entity/npc/AbstractVillager.java b/net/minecraft/world/entity/npc/AbstractVillager.java
34-
index 1d3381f1481bb2b192bb78462c85c2a185d94ad5..e574c38e1c1c13fc2f96340138f784697cef8c48 100644
34+
index f8782cdcf3015cad2693663a3c222bd60822f45b..d1a77544df7bcaa5f1dbca3139324107d687ae0d 100644
3535
--- a/net/minecraft/world/entity/npc/AbstractVillager.java
3636
+++ b/net/minecraft/world/entity/npc/AbstractVillager.java
37-
@@ -35,6 +35,7 @@ import net.minecraft.world.level.portal.TeleportTransition;
37+
@@ -35,6 +35,7 @@ import net.minecraft.world.level.storage.ValueOutput;
3838
import net.minecraft.world.phys.Vec3;
3939

4040
public abstract class AbstractVillager extends AgeableMob implements InventoryCarrier, Npc, Merchant {
@@ -43,26 +43,26 @@ index 1d3381f1481bb2b192bb78462c85c2a185d94ad5..e574c38e1c1c13fc2f96340138f78469
4343
public static final int VILLAGER_SLOT_OFFSET = 300;
4444
private static final int VILLAGER_INVENTORY_SIZE = 8;
4545
diff --git a/net/minecraft/world/entity/npc/Villager.java b/net/minecraft/world/entity/npc/Villager.java
46-
index b2687ee9494d491971fa4124382b214d7c3ba9be..005af720a6385056f09f939813e97c10a7414a91 100644
46+
index b91c7bdfa4df80bf52ed714efc877a30cdcb3f36..4a68a8124716a57801f2d42a87e4d68c99d2f348 100644
4747
--- a/net/minecraft/world/entity/npc/Villager.java
4848
+++ b/net/minecraft/world/entity/npc/Villager.java
49-
@@ -268,6 +268,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
49+
@@ -269,6 +269,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
5050
@Override
5151
protected void registerGoals() {
5252
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this));
5353
+ if (level().purpurConfig.villagerFollowEmeraldBlock) this.goalSelector.addGoal(3, new net.minecraft.world.entity.ai.goal.TemptGoal(this, 1.0D, TEMPT_ITEMS, false)); // Purpur - Villagers follow emerald blocks
5454
}
5555
// Purpur end - Ridables
5656

57-
@@ -276,6 +277,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
57+
@@ -277,6 +278,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
5858
public void initAttributes() {
5959
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.villagerMaxHealth);
6060
this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.villagerScale);
6161
+ this.getAttribute(Attributes.TEMPT_RANGE).setBaseValue(this.level().purpurConfig.villagerTemptRange); // Purpur - Villagers follow emerald blocks
6262
}
6363
// Purpur end - Configurable entity base attributes
6464

65-
@@ -344,7 +346,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
65+
@@ -345,7 +347,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
6666
}
6767

6868
public static AttributeSupplier.Builder createAttributes() {
@@ -72,10 +72,10 @@ index b2687ee9494d491971fa4124382b214d7c3ba9be..005af720a6385056f09f939813e97c10
7272

7373
public boolean assignProfessionWhenSpawned() {
7474
diff --git a/net/minecraft/world/entity/npc/WanderingTrader.java b/net/minecraft/world/entity/npc/WanderingTrader.java
75-
index 4abc4037a059b9c1dc58bf7a776e6269c5188868..e726893a3ddf49bdfd2d190477bccf6e33de1847 100644
75+
index 28c86505efa994f9c7657538f5ffdf12772fb0a9..2917820bf01b1a2ca7301a7099b7b3dcd6c3ee67 100644
7676
--- a/net/minecraft/world/entity/npc/WanderingTrader.java
7777
+++ b/net/minecraft/world/entity/npc/WanderingTrader.java
78-
@@ -87,9 +87,16 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
78+
@@ -88,9 +88,16 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
7979
@Override
8080
public void initAttributes() {
8181
this.getAttribute(net.minecraft.world.entity.ai.attributes.Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.wanderingTraderMaxHealth);
@@ -92,7 +92,7 @@ index 4abc4037a059b9c1dc58bf7a776e6269c5188868..e726893a3ddf49bdfd2d190477bccf6e
9292
@Override
9393
protected void registerGoals() {
9494
this.goalSelector.addGoal(0, new FloatGoal(this));
95-
@@ -124,6 +131,7 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
95+
@@ -125,6 +132,7 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
9696
this.goalSelector.addGoal(1, new PanicGoal(this, 0.5));
9797
this.goalSelector.addGoal(1, new LookAtTradingPlayerGoal(this));
9898
this.goalSelector.addGoal(2, new WanderingTrader.WanderToPositionGoal(this, 2.0, 0.35));

purpur-server/minecraft-patches/unapplied-features/0008-Implement-elytra-settings.patch renamed to purpur-server/minecraft-patches/features/0008-Implement-elytra-settings.patch

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ Subject: [PATCH] Implement elytra settings
55

66

77
diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java
8-
index a3b83376f1468dbdb4e17fb86d199e66047f686c..5dd1a36b967176f96a18cb0d842ccb73b7b584ef 100644
8+
index ae0c2f41c522656bde37d4f31699ee6172b5a79d..4f149e5e17d2d2f2964e2f6626e20f52121e72d9 100644
99
--- a/net/minecraft/world/entity/LivingEntity.java
1010
+++ b/net/minecraft/world/entity/LivingEntity.java
11-
@@ -3643,7 +3643,18 @@ public abstract class LivingEntity extends Entity implements Attackable {
11+
@@ -3699,7 +3699,18 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
1212
.filter(equipmentSlot1 -> canGlideUsing(this.getItemBySlot(equipmentSlot1), equipmentSlot1))
1313
.toList();
1414
EquipmentSlot equipmentSlot = Util.getRandom(list, this.random);
@@ -29,14 +29,13 @@ index a3b83376f1468dbdb4e17fb86d199e66047f686c..5dd1a36b967176f96a18cb0d842ccb73
2929

3030
this.gameEvent(GameEvent.ELYTRA_GLIDE);
3131
diff --git a/net/minecraft/world/item/FireworkRocketItem.java b/net/minecraft/world/item/FireworkRocketItem.java
32-
index 18d63d2da49451a2d5e1da7bf0c00e05e2f192bc..1f081e098ce3bec61b7f374e9b737838783657bb 100644
32+
index 83cfe63b0245f79d0873477ab3aae75f690ecb68..f32370217735b5e9556a0df7652682d89f23c595 100644
3333
--- a/net/minecraft/world/item/FireworkRocketItem.java
3434
+++ b/net/minecraft/world/item/FireworkRocketItem.java
35-
@@ -62,6 +62,19 @@ public class FireworkRocketItem extends Item implements ProjectileItem {
36-
com.destroystokyo.paper.event.player.PlayerElytraBoostEvent event = new com.destroystokyo.paper.event.player.PlayerElytraBoostEvent((org.bukkit.entity.Player) player.getBukkitEntity(), org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(itemInHand), (org.bukkit.entity.Firework) delayed.projectile().getBukkitEntity(), org.bukkit.craftbukkit.CraftEquipmentSlot.getHand(hand));
37-
if (event.callEvent() && delayed.attemptSpawn()) {
38-
player.awardStat(Stats.ITEM_USED.get(this)); // Moved up from below
39-
+
35+
@@ -72,6 +72,17 @@ public class FireworkRocketItem extends Item implements ProjectileItem {
36+
if (player.dropAllLeashConnections(null)) {
37+
level.playSound(null, player, SoundEvents.LEAD_BREAK, SoundSource.NEUTRAL, 1.0F, 1.0F);
38+
}
4039
+ // Purpur start - Implement elytra settings
4140
+ if (level.purpurConfig.elytraDamagePerFireworkBoost > 0) {
4241
+ java.util.List<net.minecraft.world.entity.EquipmentSlot> list = net.minecraft.world.entity.EquipmentSlot.VALUES.stream().filter((enumitemslot) -> net.minecraft.world.entity.LivingEntity.canGlideUsing(player.getItemBySlot(enumitemslot), enumitemslot)).toList();
@@ -48,15 +47,14 @@ index 18d63d2da49451a2d5e1da7bf0c00e05e2f192bc..1f081e098ce3bec61b7f374e9b737838
4847
+ }
4948
+ }
5049
+ // Purpur end - Implement elytra settings
51-
+
5250
if (event.shouldConsume() && !player.hasInfiniteMaterials()) {
5351
itemInHand.shrink(1); // Moved up from below
5452
} else {
5553
diff --git a/net/minecraft/world/item/ItemStack.java b/net/minecraft/world/item/ItemStack.java
56-
index 6de42886ed681b5e00903f0d213e4d2fcaea1482..36677cb0db42b74fa84d67b85717f629f84b4dd0 100644
54+
index 52aaa325476af53eca97fc14ad5f82fbb9193c80..d512ee6b1039b80b908816b625ef1aa9cd50461c 100644
5755
--- a/net/minecraft/world/item/ItemStack.java
5856
+++ b/net/minecraft/world/item/ItemStack.java
59-
@@ -724,6 +724,14 @@ public final class ItemStack implements DataComponentHolder {
57+
@@ -700,6 +700,14 @@ public final class ItemStack implements DataComponentHolder {
6058
org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerItemBreakEvent(serverPlayer, this); // Paper - Add EntityDamageItemEvent
6159
}
6260
// CraftBukkit end

0 commit comments

Comments
 (0)