Sfoglia il codice sorgente

Fix for CraftOfflinePlayer in Taming yet again

TheYeti 13 anni fa
parent
commit
714f829f3e
2 ha cambiato i file con 10 aggiunte e 1 eliminazioni
  1. 1 0
      Changelog.txt
  2. 9 1
      src/main/java/com/gmail/nossr50/skills/Taming.java

+ 1 - 0
Changelog.txt

@@ -16,6 +16,7 @@ Version 2.0.00-dev
  = Fixed issue with Blast Mining not seeing TNT for detonation due to snow
  ! Changed Call of the Wild to activate on left-click rather than right-click
  ! Changed Blast Mining to track based on Entity ID vs. Location
+ = Fix Taming to hopefully properly handle offline players....again
 
 Version 1.3.02
  + Added in game guides for Mining, Excavation, and Acrobatics. Simply type /skillname ? to access them

+ 9 - 1
src/main/java/com/gmail/nossr50/skills/Taming.java

@@ -1,6 +1,7 @@
 package com.gmail.nossr50.skills;
 
 import org.bukkit.Material;
+import org.bukkit.OfflinePlayer;
 import org.bukkit.World;
 import org.bukkit.entity.Entity;
 import org.bukkit.entity.EntityType;
@@ -103,7 +104,14 @@ public class Taming
 	{
 		DamageCause cause = event.getCause();
 		Wolf wolf = (Wolf) event.getEntity();
-		Player master = (Player) wolf.getOwner();
+        Player master;
+        if ( wolf.getOwner() instanceof Player ) {
+		    master = (Player) wolf.getOwner();
+        }
+        else {
+            OfflinePlayer oMaster = (OfflinePlayer) wolf.getOwner();
+            master = (Player) oMaster.getPlayer();
+        }
 		int skillLevel = Users.getProfile(master).getSkillLevel(SkillType.TAMING);
 		
 		switch(cause)