mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-29 15:49:00 +01:00
4e958e229f
Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com> Co-authored-by: zml <zml@stellardrift.ca> Co-authored-by: Mariell Hoversholm <proximyst@proximyst.com>
78 lines
3.5 KiB
Diff
78 lines
3.5 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Shane Freeder <theboyetronic@gmail.com>
|
|
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 cf83b3369d65b5ed3607d09ce5e079dfc847be2c..199d0d2f02833690cbac3db63d3b9504cca7dd27 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;
|
|
@@ -17,6 +19,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 deathMessage) {
|
|
this(player, drops, droppedExp, 0, deathMessage);
|
|
}
|
|
@@ -26,11 +30,16 @@ 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 deathMessage) {
|
|
+ this(player, drops, droppedExp, newExp, newTotalExp, newLevel, 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 deathMessage, boolean doExpDrop) {
|
|
super(player, drops, droppedExp);
|
|
this.newExp = newExp;
|
|
this.newTotalExp = newTotalExp;
|
|
this.newLevel = newLevel;
|
|
this.deathMessage = deathMessage;
|
|
+ this.doExpDrop = doExpDrop;
|
|
}
|
|
// Paper end
|
|
|
|
@@ -45,6 +54,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;
|
|
@@ -85,6 +99,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
|