Use another method to get entity classes, due to inferior jar system someone is using
This commit is contained in:
		| @@ -33,9 +33,16 @@ public class DisguiseRadiusCommand extends DisguiseBaseCommand implements TabCom | |||||||
|  |  | ||||||
|     public DisguiseRadiusCommand(int maxRadius) { |     public DisguiseRadiusCommand(int maxRadius) { | ||||||
|         this.maxRadius = maxRadius; |         this.maxRadius = maxRadius; | ||||||
|         for (Class c : ClassGetter.getClassesForPackage("org.bukkit.entity")) { |  | ||||||
|             if (c != Entity.class && Entity.class.isAssignableFrom(c) && c.getAnnotation(Deprecated.class) == null) { |         validClasses.add(Entity.class); | ||||||
|  |  | ||||||
|  |         for (EntityType type : EntityType.values()) { | ||||||
|  |             Class c = type.getEntityClass(); | ||||||
|  |  | ||||||
|  |             while (!validClasses.contains(c)) { | ||||||
|                 validClasses.add(c); |                 validClasses.add(c); | ||||||
|  |  | ||||||
|  |                 c = c.getSuperclass(); | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|   | |||||||
| @@ -7,8 +7,10 @@ import me.libraryaddict.disguise.utilities.params.ParamInfoManager; | |||||||
| import me.libraryaddict.disguise.utilities.reflection.ClassGetter; | import me.libraryaddict.disguise.utilities.reflection.ClassGetter; | ||||||
| import org.apache.commons.lang.StringUtils; | import org.apache.commons.lang.StringUtils; | ||||||
| import org.bukkit.entity.Entity; | import org.bukkit.entity.Entity; | ||||||
|  | import org.bukkit.entity.EntityType; | ||||||
|  |  | ||||||
| import java.lang.reflect.Method; | import java.lang.reflect.Method; | ||||||
|  | import java.util.ArrayList; | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Created by libraryaddict on 10/06/2017. |  * Created by libraryaddict on 10/06/2017. | ||||||
| @@ -81,19 +83,24 @@ public class TranslateFiller { | |||||||
|         TranslateType.DISGUISE_OPTIONS.save("baby", "Used as a shortcut for setBaby when disguising an entity"); |         TranslateType.DISGUISE_OPTIONS.save("baby", "Used as a shortcut for setBaby when disguising an entity"); | ||||||
|         TranslateType.DISGUISE_OPTIONS.save("adult", "Used as a shortcut for setBaby(false) when disguising an entity"); |         TranslateType.DISGUISE_OPTIONS.save("adult", "Used as a shortcut for setBaby(false) when disguising an entity"); | ||||||
|  |  | ||||||
|         try { |         ArrayList<Class> validClasses = new ArrayList<>(); | ||||||
|             for (Class c : ClassGetter.getClassesForPackage("org.bukkit.entity")) { |         validClasses.add(Entity.class); | ||||||
|                 if (c != Entity.class && Entity.class.isAssignableFrom(c) && |  | ||||||
|                         c.getAnnotation(Deprecated.class) == null) { |         for (EntityType type : EntityType.values()) { | ||||||
|                     TranslateType.DISGUISES.save(c.getSimpleName(), |             Class c = type.getEntityClass(); | ||||||
|                             "Name for the " + c.getSimpleName() + " EntityType, " + "this is used in radius commands"); |  | ||||||
|                 } |             while (!validClasses.contains(c)) { | ||||||
|  |                 validClasses.add(c); | ||||||
|  |  | ||||||
|  |                 c = c.getSuperclass(); | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|         catch (Exception ex) { |  | ||||||
|             DisguiseUtilities.getLogger() |         for (Class c : validClasses) { | ||||||
|                     .severe("Error while trying to read entity types, assuming you're using a weird jar loader and " + |             if (c != Entity.class && Entity.class.isAssignableFrom(c) && c.getAnnotation(Deprecated.class) == null) { | ||||||
|                             "not making this fatal.."); |                 TranslateType.DISGUISES.save(c.getSimpleName(), | ||||||
|  |                         "Name for the " + c.getSimpleName() + " EntityType, " + "this is used in radius commands"); | ||||||
|  |             } | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         TranslateType.DISGUISES.save("EntityType", "Used for the disgiuse radius command to list all entitytypes"); |         TranslateType.DISGUISES.save("EntityType", "Used for the disgiuse radius command to list all entitytypes"); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user