mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-11 09:23:42 +01:00
36f34f01c0
Upstream has released updates that appears to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: da9ef3c5 #496: Add methods to get/set ItemStacks in EquipmentSlots 3abebc9f #492: Let Tameable extend Animals rather than Entity 941111a0 #495: Expose ItemStack and hand used in PlayerShearEntityEvent 4fe19cae #494: InventoryView - Add missing Brewing FUEL_TIME CraftBukkit Changes:933e9094
#664: Add methods to get/set ItemStacks in EquipmentSlots18722312
#662: Expose ItemStack and hand used in PlayerShearEntityEvent
61 lines
2.5 KiB
Diff
61 lines
2.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 1e97d04b3f3509f82d4cda1773909f91800bf5bc..3a743430acb5eecc4d8db068fa62fe6d38a249e5 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;
|
|
@@ -49,6 +51,23 @@ public class PlayerDeathEvent extends EntityDeathEvent {
|
|
public List<ItemStack> getItemsToKeep() {
|
|
return itemsToKeep;
|
|
}
|
|
+
|
|
+ private boolean doExpDrop;
|
|
+
|
|
+ /**
|
|
+ * @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
|
|
|
|
public PlayerDeathEvent(@NotNull final Player player, @NotNull final List<ItemStack> drops, final int droppedExp, @Nullable final String deathMessage) {
|
|
@@ -60,11 +79,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 String deathMessage) {
|
|
+ // Paper start
|
|
+ this(player, drops, droppedExp, newExp, newTotalExp, newLevel, deathMessage, player.getGameMode() != GameMode.SPECTATOR);
|
|
+ }
|
|
+ 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) {
|
|
+ // Paper end
|
|
super(player, drops, droppedExp);
|
|
this.newExp = newExp;
|
|
this.newTotalExp = newTotalExp;
|
|
this.newLevel = newLevel;
|
|
this.deathMessage = deathMessage;
|
|
+ this.doExpDrop = doExpDrop; // Paper
|
|
}
|
|
|
|
@NotNull
|