aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/api/0184-PlayerDeathEvent-shouldDropExperience.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/api/0184-PlayerDeathEvent-shouldDropExperience.patch')
-rw-r--r--patches/api/0184-PlayerDeathEvent-shouldDropExperience.patch79
1 files changed, 79 insertions, 0 deletions
diff --git a/patches/api/0184-PlayerDeathEvent-shouldDropExperience.patch b/patches/api/0184-PlayerDeathEvent-shouldDropExperience.patch
new file mode 100644
index 0000000000..0561046520
--- /dev/null
+++ b/patches/api/0184-PlayerDeathEvent-shouldDropExperience.patch
@@ -0,0 +1,79 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Shane Freeder <[email protected]>
+Date: Tue, 24 Dec 2019 00:35:31 +0000
+Subject: [PATCH] PlayerDeathEvent#shouldDropExperience
+
+
+diff --git a/src/main/java/org/bukkit/event/entity/PlayerDeathEvent.java b/src/main/java/org/bukkit/event/entity/PlayerDeathEvent.java
+index 5f7d0d08be8bca06c9aa89659b7865a7b5a547f8..9d95218b49895ab76b00fe9524d9b25ea9f9b8c2 100644
+--- a/src/main/java/org/bukkit/event/entity/PlayerDeathEvent.java
++++ b/src/main/java/org/bukkit/event/entity/PlayerDeathEvent.java
+@@ -1,6 +1,8 @@
+ package org.bukkit.event.entity;
+
+ import java.util.List;
++
++import org.bukkit.GameMode;
+ import org.bukkit.entity.Player;
+ import org.bukkit.inventory.ItemStack;
+ import org.jetbrains.annotations.NotNull;
+@@ -18,6 +20,8 @@ public class PlayerDeathEvent extends EntityDeathEvent {
+ private boolean keepLevel = false;
+ private boolean keepInventory = false;
+ // Paper start
++ private boolean doExpDrop;
++
+ public PlayerDeathEvent(@NotNull final Player player, @NotNull final List<ItemStack> drops, final int droppedExp, @Nullable final net.kyori.adventure.text.Component adventure$deathMessage) {
+ this(player, drops, droppedExp, 0, adventure$deathMessage, null);
+ }
+@@ -27,12 +31,17 @@ public class PlayerDeathEvent extends EntityDeathEvent {
+ }
+
+ public PlayerDeathEvent(@NotNull final Player player, @NotNull final List<ItemStack> drops, final int droppedExp, final int newExp, final int newTotalExp, final int newLevel, @Nullable final net.kyori.adventure.text.Component adventure$deathMessage, @Nullable String deathMessage) {
++ this(player, drops, droppedExp, newExp, newTotalExp, newLevel, adventure$deathMessage, deathMessage, true);
++ }
++
++ public PlayerDeathEvent(@NotNull final Player player, @NotNull final List<ItemStack> drops, final int droppedExp, final int newExp, final int newTotalExp, final int newLevel, @Nullable final net.kyori.adventure.text.Component adventure$deathMessage, @Nullable String deathMessage, boolean doExpDrop) {
+ super(player, drops, droppedExp);
+ this.newExp = newExp;
+ this.newTotalExp = newTotalExp;
+ this.newLevel = newLevel;
+ this.deathMessage = deathMessage;
+ this.adventure$deathMessage = adventure$deathMessage;
++ this.doExpDrop = doExpDrop;
+ }
+ // Paper end
+
+@@ -47,6 +56,11 @@ public class PlayerDeathEvent extends EntityDeathEvent {
+
+ @Deprecated // Paper
+ public PlayerDeathEvent(@NotNull final Player player, @NotNull final List<ItemStack> drops, final int droppedExp, final int newExp, final int newTotalExp, final int newLevel, @Nullable final String deathMessage) {
++ this(player, drops, droppedExp, newExp, newTotalExp, newLevel, deathMessage, true);
++ }
++
++ @Deprecated // Paper
++ public PlayerDeathEvent(@NotNull final Player player, @NotNull final List<ItemStack> drops, final int droppedExp, final int newExp, final int newTotalExp, final int newLevel, @Nullable final String deathMessage, boolean doExpDrop) {
+ super(player, drops, droppedExp);
+ this.newExp = newExp;
+ this.newTotalExp = newTotalExp;
+@@ -88,6 +102,20 @@ public class PlayerDeathEvent extends EntityDeathEvent {
+ public List<ItemStack> getItemsToKeep() {
+ return itemsToKeep;
+ }
++
++ /**
++ * @return should experience be dropped from this death
++ */
++ public boolean shouldDropExperience() {
++ return doExpDrop;
++ }
++
++ /**
++ * @param doExpDrop sets if experience should be dropped from this death
++ */
++ public void setShouldDropExperience(boolean doExpDrop) {
++ this.doExpDrop = doExpDrop;
++ }
+ // Paper end
+
+ @NotNull