51 lines
		
	
	
	
		
			1.9 KiB
			
		
	
	
	
		
			Diff
		
	
	
	
	
	
		
		
			
		
	
	
			51 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
							 |