50 lines
		
	
	
	
		
			1.9 KiB
			
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
	
		
			1.9 KiB
			
		
	
	
	
		
			Diff
		
	
	
	
	
	
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 | 
						|
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
 | 
						|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
 | 
						|
--- a/src/main/java/org/bukkit/entity/Player.java
 | 
						|
+++ b/src/main/java/org/bukkit/entity/Player.java
 | 
						|
@@ -0,0 +0,0 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
 | 
						|
      */
 | 
						|
     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
 | 
						|
+     *
 | 
						|
+     * @param amount Exp to apply
 | 
						|
+     * @return the remaining experience
 | 
						|
+     */
 | 
						|
+    public int applyMending(int amount);
 | 
						|
+    // Paper end
 | 
						|
 
 | 
						|
     /**
 | 
						|
      * Gives the player the amount of experience levels specified. Levels can
 |