2020-05-06 11:48:49 +02:00
|
|
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
2017-12-20 23:50:26 +01:00
|
|
|
From: Aikar <aikar@aikar.co>
|
|
|
|
Date: Wed, 20 Dec 2017 17:38:07 -0500
|
|
|
|
Subject: [PATCH] Ability to apply mending to XP API
|
|
|
|
|
|
|
|
This allows plugins that give players the ability to apply the experience
|
|
|
|
points to the Item Mending formula, which will repair an item instead
|
|
|
|
of giving the player experience points.
|
|
|
|
|
|
|
|
Both an API To standalone mend, and apply mending logic to .giveExp has been added.
|
|
|
|
|
|
|
|
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
2021-02-23 14:46:02 +01:00
|
|
|
index 3edd2fd88d16c5a2a804583cd6f47e9b321821f7..3a8e43a950549a0a77ffe93865a2fef546349d40 100644
|
2017-12-20 23:50:26 +01:00
|
|
|
--- a/src/main/java/org/bukkit/entity/Player.java
|
|
|
|
+++ b/src/main/java/org/bukkit/entity/Player.java
|
2021-02-23 14:46:02 +01:00
|
|
|
@@ -881,12 +881,33 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
2017-12-20 23:50:26 +01:00
|
|
|
*/
|
|
|
|
public void resetPlayerWeather();
|
|
|
|
|
|
|
|
+ // Paper start
|
|
|
|
+ /**
|
|
|
|
+ * Gives the player the amount of experience specified.
|
|
|
|
+ *
|
|
|
|
+ * @param amount Exp amount to give
|
|
|
|
+ */
|
|
|
|
+ public default void giveExp(int amount) {
|
|
|
|
+ giveExp(amount, false);
|
|
|
|
+ }
|
|
|
|
/**
|
|
|
|
* Gives the player the amount of experience specified.
|
|
|
|
*
|
|
|
|
* @param amount Exp amount to give
|
|
|
|
+ * @param applyMending Mend players items with mending, with same behavior as picking up orbs. calls {@link #applyMending(int)}
|
|
|
|
*/
|
|
|
|
- public void giveExp(int amount);
|
|
|
|
+ public void giveExp(int amount, boolean applyMending);
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * Applies the mending effect to any items just as picking up an orb would.
|
|
|
|
+ *
|
|
|
|
+ * Can also be called with {@link #giveExp(int, boolean)} by passing true to applyMending
|
|
|
|
+ *
|
2018-08-16 13:20:58 +02:00
|
|
|
+ * @param amount Exp to apply
|
|
|
|
+ * @return the remaining experience
|
2017-12-20 23:50:26 +01:00
|
|
|
+ */
|
|
|
|
+ public int applyMending(int amount);
|
|
|
|
+ // Paper end
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Gives the player the amount of experience levels specified. Levels can
|