فهرست منبع

Fixed issue with repair event not returning the proper repair amount.

GJ 13 سال پیش
والد
کامیت
dd170ec7ef
2فایلهای تغییر یافته به همراه5 افزوده شده و 3 حذف شده
  1. 2 0
      Changelog.txt
  2. 3 3
      src/main/java/com/gmail/nossr50/skills/Repair.java

+ 2 - 0
Changelog.txt

@@ -8,10 +8,12 @@ Key:
   - Removal
   
 Version 1.3.04-dev
+ + Added McMMOPlayerRepairEvent for API usage - fires after completion of a repair.
  = Fixed Shake ability dropping bonemeal instead of ink for squids.
  = Fixed Green Terra & Super Breaker awarding 4x drops at high levels.
  = Fixed summoned ocelots never changing skins.
  ! Changed MySQL to reload all player information on reconnection
+ ! Move "fake" events to their own package - be sure to update these if you're using the API in your plugin
  
 Version 1.3.03
  + Added Ocelots to Taming XP tables

+ 3 - 3
src/main/java/com/gmail/nossr50/skills/Repair.java

@@ -433,16 +433,16 @@ public class Repair {
      * @param enchantsLevel The level of the enchantments on the item
      */
     public static void repairItem(Player player, ItemStack is) {
+        short initialDurability = is.getDurability();
 
         /* Handle the enchants */
         if (LoadProperties.mayLoseEnchants && !mcPermissions.getInstance().arcaneBypass(player)) {
             addEnchants(player, is);
         }
 
-        short repairAmount = getRepairAmount(is, player);
-        is.setDurability(repairAmount);
+        is.setDurability(getRepairAmount(is, player));
 
-        McMMOPlayerRepairEvent event = new McMMOPlayerRepairEvent(player, is, repairAmount);
+        McMMOPlayerRepairEvent event = new McMMOPlayerRepairEvent(player, is, (short) (initialDurability - is.getDurability()));
         Bukkit.getPluginManager().callEvent(event);
     }