Skip to content
Open
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Subject: [PATCH] Purpur config files


diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 1f012a7c5c3129c1dcaacb5377051c6285b3486a..8805b385dd7c123d3de74520ca2ba702ea351b00 100644
index fe1c09c874d1d65a8434d9ff40b3bcaa33914591..2c895293585fede17057744dc230c0635778f83b 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -2440,6 +2440,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: granny <granny@purpurmc.org>
Date: Sun, 27 Aug 2023 02:09:51 -0700
Subject: [PATCH] lightning transforms blocks


diff --git a/src/main/java/org/bukkit/event/weather/LightningStrikeEvent.java b/src/main/java/org/bukkit/event/weather/LightningStrikeEvent.java
index a16aadadae7b70a8f3140478feb8846b7fec13ff..3bd96049a57f0dfd3a51fbe06d4533bf0f9e8fd1 100644
--- a/src/main/java/org/bukkit/event/weather/LightningStrikeEvent.java
+++ b/src/main/java/org/bukkit/event/weather/LightningStrikeEvent.java
@@ -16,6 +16,7 @@ public class LightningStrikeEvent extends WeatherEvent implements Cancellable {

private final LightningStrike bolt;
private final Cause cause;
+ private final java.util.List<org.bukkit.block.BlockState> blocks; // Purpur - lightning transforms blocks

private boolean cancelled;

@@ -27,9 +28,16 @@ public class LightningStrikeEvent extends WeatherEvent implements Cancellable {

@ApiStatus.Internal
public LightningStrikeEvent(@NotNull final World world, @NotNull final LightningStrike bolt, @NotNull final Cause cause) {
+ // Purpur start - lightning transforms blocks
+ this(world, bolt, cause, new java.util.ArrayList<>());
+ }
+ @ApiStatus.Internal
+ public LightningStrikeEvent(@NotNull final World world, @NotNull final LightningStrike bolt, @NotNull final Cause cause, @NotNull final java.util.List<org.bukkit.block.BlockState> blocks) {
+ // Purpur end - lightning transforms blocks
super(world);
this.bolt = bolt;
this.cause = cause;
+ this.blocks = blocks; // Purpur - lightning transforms blocks
}

/**
@@ -62,6 +70,24 @@ public class LightningStrikeEvent extends WeatherEvent implements Cancellable {
this.cancelled = cancel;
}

+ // Purpur start - lightning transforms blocks
+ /**
+ * Get a list of all blocks that will be modified by the lightning strike.
+ * <br>
+ * This list is mutable and contains the blocks in their changed state.
+ * The set of possible transformations is defined by the server's
+ * {@code gameplay-mechanics.lightning-transforms-blocks.block-map} configuration.
+ * Both the directly struck block and nearby blocks of any mapped type
+ * may be included.
+ *
+ * @return list of the modified blocks.
+ */
+ @NotNull
+ public java.util.List<org.bukkit.block.BlockState> getBlocks() {
+ return blocks;
+ }
+ // Purpur end - lightning transforms blocks
+
@NotNull
@Override
public HandlerList getHandlers() {
4 changes: 2 additions & 2 deletions purpur-server/minecraft-patches/features/0001-Ridables.patch
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ index 01438fdfcd047c4d0e9a9f0ebfd9e01434161dc5..3db9626ae55aae9c9fef22771f06ac37

private void updatePlayerAttributes() {
diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index f677c17b84ad46ad129c87417d6cf1e8aa44b1e1..cc895257b6f0de151c73cbf25d070514f6e78ead 100644
index c267c3da1cebeeff0b52ee5d1035fd7151bfa54b..d731cea2005dff7be6e8e82d602b11355a143ec7 100644
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2988,6 +2988,8 @@ public class ServerGamePacketListenerImpl
Expand Down Expand Up @@ -4425,7 +4425,7 @@ index 96776d23370736da3408e6a86ed89b7f3d686732..0ac7a442a0ea79f190aceb60b771d616
public SoundEvent getHurtSound(final DamageSource source) {
return this.isTiny() ? SoundEvents.SLIME_HURT_SMALL : SoundEvents.SLIME_HURT;
diff --git a/net/minecraft/world/entity/monster/cubemob/SulfurCube.java b/net/minecraft/world/entity/monster/cubemob/SulfurCube.java
index 4069caebb344039539f1f916d2349ecbb324396a..2bd8897ed82271e246a31fd5ba5f2f2e8a6d8e98 100644
index fd18cd4305bf43b130089fea9c0b4ce0feaf6678..04a4c860729b85b4119becb018cc9048342ed507 100644
--- a/net/minecraft/world/entity/monster/cubemob/SulfurCube.java
+++ b/net/minecraft/world/entity/monster/cubemob/SulfurCube.java
@@ -129,6 +129,28 @@ public class SulfurCube extends AbstractCubeMob implements Bucketable, Shearable
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Subject: [PATCH] Configurable entity base attributes


diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java
index e9d53d0708cd1c49d1ed1257d10d22f7201873a0..abb90115fc17722bebf5b7c50301ba570f7949e0 100644
index 142f099e912a65b6ac8659096c8ecd5e55bc0c39..9d1e75ed918897a937aa7c16dac9ce7820129d5b 100644
--- a/net/minecraft/world/entity/LivingEntity.java
+++ b/net/minecraft/world/entity/LivingEntity.java
@@ -310,6 +310,7 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
Expand Down Expand Up @@ -1029,7 +1029,7 @@ index 60c02127a504a5130a202a3b532b63bef4c47a31..33005c82880f7e765e9a16d7630edaf4

// CraftBukkit start - SPIGOT-2420: Special case, the ender dragon drops 12000 xp for the first kill and 500 xp for every other kill and this over time.
diff --git a/net/minecraft/world/entity/boss/wither/WitherBoss.java b/net/minecraft/world/entity/boss/wither/WitherBoss.java
index ab1c7889e7742c27589c72d1f73960eda9091078..a6327fbd4eb57421abbff3b7a155c05483208834 100644
index 5ca3a7b36d0ac2936463a5c26fc03aa92eca9362..e5e4e675089a72943d2bf9e1b688ace64a2293f3 100644
--- a/net/minecraft/world/entity/boss/wither/WitherBoss.java
+++ b/net/minecraft/world/entity/boss/wither/WitherBoss.java
@@ -213,6 +213,14 @@ public class WitherBoss extends Monster implements RangedAttackMob {
Expand Down Expand Up @@ -1548,7 +1548,7 @@ index 0ac7a442a0ea79f190aceb60b771d616b377e613..22c20e4360473cdbe9cda8bb7b3b30be
+ }
}
diff --git a/net/minecraft/world/entity/monster/cubemob/SulfurCube.java b/net/minecraft/world/entity/monster/cubemob/SulfurCube.java
index e5fd7eefb749394ee8613339bf5802315c0bb4bf..a74793c70daa6c4f1bbdd41044026033bf86c860 100644
index 04a4c860729b85b4119becb018cc9048342ed507..086dcec654028bb07f95fa8697a1989b9d118b5c 100644
--- a/net/minecraft/world/entity/monster/cubemob/SulfurCube.java
+++ b/net/minecraft/world/entity/monster/cubemob/SulfurCube.java
@@ -151,6 +151,20 @@ public class SulfurCube extends AbstractCubeMob implements Bucketable, Shearable
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Subject: [PATCH] Chickens can retaliate


diff --git a/net/minecraft/world/entity/animal/chicken/Chicken.java b/net/minecraft/world/entity/animal/chicken/Chicken.java
index f5d2a74c81d9ba8aeaf6c3f50069f529dde68e72..122ebcf1a7fb7e7856a8f73d4a0355672d5c9655 100644
index 2d9043763be094376f75b88758a2f487ec89d7c0..1f49e50339e1cc280fa0b88e5cdc6e2c075ed59a 100644
--- a/net/minecraft/world/entity/animal/chicken/Chicken.java
+++ b/net/minecraft/world/entity/animal/chicken/Chicken.java
@@ -103,6 +103,11 @@ public class Chicken extends Animal {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Subject: [PATCH] Minecart settings and WASD controls


diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
index c7e81ed584a3da2521fad58049ee44c18947ca23..77e8d62979b421d1fddc0c4d2b224ceec14a297f 100644
index 3db9626ae55aae9c9fef22771f06ac37c8ad2890..2eb8df8c91ea3e2cd96ea8ba87b514a1cae8962c 100644
--- a/net/minecraft/server/level/ServerPlayer.java
+++ b/net/minecraft/server/level/ServerPlayer.java
@@ -1315,6 +1315,11 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ index b3443ff2d06af328493046e723efc11d299a2824..3c001b3810097d5cb60ad64e0727d8d9
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 56ace1be8e29ff1c06a550b15769c3cfcad41466..c0fce943b33ebe63798a35ea17ec3ceb9cf6209a 100644
index 66cef5498b89479a385a85927a1f27a608d2303b..95f4d1a002e6da049657d5927800df15d5e4e686 100644
--- a/net/minecraft/world/item/ItemStack.java
+++ b/net/minecraft/world/item/ItemStack.java
@@ -666,6 +666,14 @@ public final class ItemStack implements DataComponentHolder, ItemInstance {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ index 7a3747d67f1ce93e0703965144e32d134adbdee8..91800961ba5b724aac905ccd4fd1d0f9
public boolean isSunSensitive() {
return false;
diff --git a/net/minecraft/world/entity/monster/zombie/Zombie.java b/net/minecraft/world/entity/monster/zombie/Zombie.java
index 51e9175cf7f0c487d063247dca4e700012283431..f47f4a3f8e0f4f5a40f520a25e87e0068a564b4c 100644
index 3a6fb7734b725afd932c5d066ff512a72bc2d854..d15c29736ddc0ceb27eb91c8d2e10016d8e9084c 100644
--- a/net/minecraft/world/entity/monster/zombie/Zombie.java
+++ b/net/minecraft/world/entity/monster/zombie/Zombie.java
@@ -138,6 +138,20 @@ public class Zombie extends Monster {
Expand Down Expand Up @@ -120,7 +120,7 @@ index 51e9175cf7f0c487d063247dca4e700012283431..f47f4a3f8e0f4f5a40f520a25e87e006
}
}
diff --git a/net/minecraft/world/entity/monster/zombie/ZombieVillager.java b/net/minecraft/world/entity/monster/zombie/ZombieVillager.java
index 2323ef6faec7bc62b28240e6dcc9f350de427c8e..155ba4d03e7864b21e7a3dab854315b62d3b9e5b 100644
index da190239c12da5150b1bcd48ad6649e8d5fe0fbe..d5abbe6c4d33a327e4f34a33c5e50a01ee72739e 100644
--- a/net/minecraft/world/entity/monster/zombie/ZombieVillager.java
+++ b/net/minecraft/world/entity/monster/zombie/ZombieVillager.java
@@ -116,6 +116,23 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ index c1c9387a54ed219f8da58a9a417c85a15eea7bec..235c2acd9781979d4cf621cdfae2d6f7
this.deathDropItems = new java.util.ArrayList<>(); // Paper
this.deathDropItems.add(new DefaultDrop(result, stack -> Block.popResource(this.level(), this.blockPosition(), stack))); // CraftBukkit - add to drops // Paper - Restore vanilla drops behavior
diff --git a/net/minecraft/world/entity/decoration/ItemFrame.java b/net/minecraft/world/entity/decoration/ItemFrame.java
index 7fa894e6052dd35a87b19f6bac6031bfd0243deb..19bd80e860a520f6a07baa3e66cc40c8a419c79f 100644
index 4d0d58d5cbfa88fdd0f5ea3b9d96b21a88f2f988..73f47e37ecd70a45548e2ce574347671cb676de4 100644
--- a/net/minecraft/world/entity/decoration/ItemFrame.java
+++ b/net/minecraft/world/entity/decoration/ItemFrame.java
@@ -249,7 +249,11 @@ public class ItemFrame extends HangingEntity {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -675,7 +675,7 @@ index 404b894a80c2400a1ca6d495049157637c0418f4..773351cd6c40e57a9c81d3d1b25161f2
return Mob.createMobAttributes().add(Attributes.MAX_HEALTH, 200.0).add(Attributes.CAMERA_DISTANCE, 16.0);
}
diff --git a/net/minecraft/world/entity/boss/wither/WitherBoss.java b/net/minecraft/world/entity/boss/wither/WitherBoss.java
index 22f075e040f80e8cb0764056c456625b614855cb..874d347797b1aea439dc5cde2d5da679479cc352 100644
index 888dcbe33c51b505efc328843b9633f0b76fb606..0999929a132ea76710de43f0c2959ce4e044e95d 100644
--- a/net/minecraft/world/entity/boss/wither/WitherBoss.java
+++ b/net/minecraft/world/entity/boss/wither/WitherBoss.java
@@ -221,6 +221,13 @@ public class WitherBoss extends Monster implements RangedAttackMob {
Expand Down Expand Up @@ -1047,7 +1047,7 @@ index 22c20e4360473cdbe9cda8bb7b3b30be85f16fe6..3c09f472ba54f8929782ac6a080ceabf
public SoundEvent getHurtSound(final DamageSource source) {
return this.isTiny() ? SoundEvents.SLIME_HURT_SMALL : SoundEvents.SLIME_HURT;
diff --git a/net/minecraft/world/entity/monster/cubemob/SulfurCube.java b/net/minecraft/world/entity/monster/cubemob/SulfurCube.java
index a74793c70daa6c4f1bbdd41044026033bf86c860..076a0ab563dd3b7e41eb6c7d229634a3b3016a15 100644
index 086dcec654028bb07f95fa8697a1989b9d118b5c..76d4d5423eddc9b5a4dc1808381d71aaeec29d47 100644
--- a/net/minecraft/world/entity/monster/cubemob/SulfurCube.java
+++ b/net/minecraft/world/entity/monster/cubemob/SulfurCube.java
@@ -165,6 +165,13 @@ public class SulfurCube extends AbstractCubeMob implements Bucketable, Shearable
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -707,7 +707,7 @@ index cdc12cabee85c7090ff317068a98b0acc973fdbe..af82e593ac58eaa0e7e8b4abd0d152cf
protected void registerGoals() {
this.goalSelector.addGoal(1, new FloatGoal(this));
diff --git a/net/minecraft/world/entity/boss/wither/WitherBoss.java b/net/minecraft/world/entity/boss/wither/WitherBoss.java
index 874d347797b1aea439dc5cde2d5da679479cc352..cc17c8d1615e6f5a0cf164e05abad566722444bd 100644
index 0999929a132ea76710de43f0c2959ce4e044e95d..24d7b1ba448ba26f9631643014f3ed45098366c6 100644
--- a/net/minecraft/world/entity/boss/wither/WitherBoss.java
+++ b/net/minecraft/world/entity/boss/wither/WitherBoss.java
@@ -228,6 +228,13 @@ public class WitherBoss extends Monster implements RangedAttackMob {
Expand Down Expand Up @@ -1067,7 +1067,7 @@ index 3c09f472ba54f8929782ac6a080ceabf10f09699..1faab89a0c6febdbbb15c8f1345fbd8e
public SoundEvent getHurtSound(final DamageSource source) {
return this.isTiny() ? SoundEvents.SLIME_HURT_SMALL : SoundEvents.SLIME_HURT;
diff --git a/net/minecraft/world/entity/monster/cubemob/SulfurCube.java b/net/minecraft/world/entity/monster/cubemob/SulfurCube.java
index 076a0ab563dd3b7e41eb6c7d229634a3b3016a15..ac302c326ea5dfa5826ff85197f147123b8a83bf 100644
index 76d4d5423eddc9b5a4dc1808381d71aaeec29d47..01df35b5a7c4a22b6741f439dc410afa3a78f9a2 100644
--- a/net/minecraft/world/entity/monster/cubemob/SulfurCube.java
+++ b/net/minecraft/world/entity/monster/cubemob/SulfurCube.java
@@ -172,6 +172,13 @@ public class SulfurCube extends AbstractCubeMob implements Bucketable, Shearable
Expand Down
Loading
Loading