Sort files and make 4 new options in the disguise class viewable with commands
This commit is contained in:
		| @@ -157,7 +157,7 @@ public class DisguiseHelpCommand extends BaseDisguiseCommand { | |||||||
|                     Class watcher = type.getWatcherClass(); |                     Class watcher = type.getWatcherClass(); | ||||||
|                     int ignored = 0; |                     int ignored = 0; | ||||||
|                     try { |                     try { | ||||||
|                         for (Method method : watcher.getMethods()) { |                         for (Method method : this.getDisguiseWatcherMethods(watcher)) { | ||||||
|                             if (!method.getName().startsWith("get") && method.getParameterTypes().length == 1 |                             if (!method.getName().startsWith("get") && method.getParameterTypes().length == 1 | ||||||
|                                     && method.getAnnotation(Deprecated.class) == null) { |                                     && method.getAnnotation(Deprecated.class) == null) { | ||||||
|                                 if (args.length < 2 || !args[1].equalsIgnoreCase("show")) { |                                 if (args.length < 2 || !args[1].equalsIgnoreCase("show")) { | ||||||
|   | |||||||
| @@ -157,6 +157,10 @@ public class FlagWatcher { | |||||||
|         return armor; |         return armor; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     public String getCustomName() { | ||||||
|  |         return (String) getValue(10, null); | ||||||
|  |     } | ||||||
|  |  | ||||||
|     protected TargetedDisguise getDisguise() { |     protected TargetedDisguise getDisguise() { | ||||||
|         return disguise; |         return disguise; | ||||||
|     } |     } | ||||||
| @@ -190,6 +194,10 @@ public class FlagWatcher { | |||||||
|         return watchableObjects; |         return watchableObjects; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     public boolean hasCustomName() { | ||||||
|  |         return getCustomName() != null; | ||||||
|  |     } | ||||||
|  |  | ||||||
|     protected boolean hasValue(int no) { |     protected boolean hasValue(int no) { | ||||||
|         return entityValues.containsKey(no); |         return entityValues.containsKey(no); | ||||||
|     } |     } | ||||||
| @@ -198,6 +206,10 @@ public class FlagWatcher { | |||||||
|         return getFlag(0); |         return getFlag(0); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     public boolean isCustomNameVisible() { | ||||||
|  |         return (Byte) getValue(11, (byte) 0) == 1; | ||||||
|  |     } | ||||||
|  |  | ||||||
|     public boolean isEntityAnimationsAdded() { |     public boolean isEntityAnimationsAdded() { | ||||||
|         return addEntityAnimations; |         return addEntityAnimations; | ||||||
|     } |     } | ||||||
| @@ -206,31 +218,6 @@ public class FlagWatcher { | |||||||
|         return getFlag(5); |         return getFlag(5); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     public String getCustomName() { |  | ||||||
|         return (String) getValue(10, null); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public boolean hasCustomName() { |  | ||||||
|         return getCustomName() != null; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public boolean isCustomNameVisible() { |  | ||||||
|         return (Byte) getValue(11, (byte) 0) == 1; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public void setCustomName(String name) { |  | ||||||
|         if (name != null && name.length() > 64) { |  | ||||||
|             name = name.substring(0, 64); |  | ||||||
|         } |  | ||||||
|         setValue(10, name); |  | ||||||
|         sendData(10); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public void setCustomNameVisible(boolean display) { |  | ||||||
|         setValue(11, (byte) (display ? 1 : 0)); |  | ||||||
|         sendData(11); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public boolean isRightClicking() { |     public boolean isRightClicking() { | ||||||
|         return getFlag(4); |         return getFlag(4); | ||||||
|     } |     } | ||||||
| @@ -305,6 +292,19 @@ public class FlagWatcher { | |||||||
|         sendData(0); |         sendData(0); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     public void setCustomName(String name) { | ||||||
|  |         if (name != null && name.length() > 64) { | ||||||
|  |             name = name.substring(0, 64); | ||||||
|  |         } | ||||||
|  |         setValue(10, name); | ||||||
|  |         sendData(10); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setCustomNameVisible(boolean display) { | ||||||
|  |         setValue(11, (byte) (display ? 1 : 0)); | ||||||
|  |         sendData(11); | ||||||
|  |     } | ||||||
|  |  | ||||||
|     private void setFlag(int byteValue, boolean flag) { |     private void setFlag(int byteValue, boolean flag) { | ||||||
|         modifiedEntityAnimations.add(byteValue); |         modifiedEntityAnimations.add(byteValue); | ||||||
|         byte b0 = (Byte) getValue(0, (byte) 0); |         byte b0 = (Byte) getValue(0, (byte) 0); | ||||||
|   | |||||||
| @@ -2,12 +2,14 @@ package me.libraryaddict.disguise.utilities; | |||||||
|  |  | ||||||
| import java.lang.reflect.Method; | import java.lang.reflect.Method; | ||||||
| import java.util.ArrayList; | import java.util.ArrayList; | ||||||
|  | import java.util.Arrays; | ||||||
| import java.util.Collections; | import java.util.Collections; | ||||||
| import java.util.HashMap; | import java.util.HashMap; | ||||||
|  |  | ||||||
| import me.libraryaddict.disguise.disguisetypes.AnimalColor; | import me.libraryaddict.disguise.disguisetypes.AnimalColor; | ||||||
| import me.libraryaddict.disguise.disguisetypes.Disguise; | import me.libraryaddict.disguise.disguisetypes.Disguise; | ||||||
| import me.libraryaddict.disguise.disguisetypes.DisguiseType; | import me.libraryaddict.disguise.disguisetypes.DisguiseType; | ||||||
|  | import me.libraryaddict.disguise.disguisetypes.FlagWatcher; | ||||||
| import me.libraryaddict.disguise.disguisetypes.MiscDisguise; | import me.libraryaddict.disguise.disguisetypes.MiscDisguise; | ||||||
| import me.libraryaddict.disguise.disguisetypes.MobDisguise; | import me.libraryaddict.disguise.disguisetypes.MobDisguise; | ||||||
| import me.libraryaddict.disguise.disguisetypes.PlayerDisguise; | import me.libraryaddict.disguise.disguisetypes.PlayerDisguise; | ||||||
| @@ -68,6 +70,21 @@ public abstract class BaseDisguiseCommand implements CommandExecutor { | |||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     protected Method[] getDisguiseWatcherMethods(Class<? extends FlagWatcher> watcherClass) { | ||||||
|  |         Method[] methods = watcherClass.getMethods(); | ||||||
|  |         methods = Arrays.copyOf(methods, methods.length + 4); | ||||||
|  |         int i = 4; | ||||||
|  |         for (String methodName : new String[] { "setViewSelfDisguise", "setHideHeldItemFromSelf", "setHideArmorFromSelf", | ||||||
|  |                 "setHearSelfDisguise" }) { | ||||||
|  |             try { | ||||||
|  |                 methods[methods.length - i--] = Disguise.class.getMethod(methodName, boolean.class); | ||||||
|  |             } catch (Exception ex) { | ||||||
|  |                 ex.printStackTrace(); | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |         return methods; | ||||||
|  |     } | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * Get perms for the node. Returns a hashmap of allowed disguisetypes and their options |      * Get perms for the node. Returns a hashmap of allowed disguisetypes and their options | ||||||
|      */ |      */ | ||||||
| @@ -432,12 +449,13 @@ public abstract class BaseDisguiseCommand implements CommandExecutor { | |||||||
|         String[] newArgs = new String[args.length - toSkip]; |         String[] newArgs = new String[args.length - toSkip]; | ||||||
|         System.arraycopy(args, toSkip, newArgs, 0, args.length - toSkip); |         System.arraycopy(args, toSkip, newArgs, 0, args.length - toSkip); | ||||||
|         args = newArgs; |         args = newArgs; | ||||||
|  |         Method[] methods = this.getDisguiseWatcherMethods(disguise.getWatcher().getClass()); | ||||||
|         for (int i = 0; i < args.length; i += 2) { |         for (int i = 0; i < args.length; i += 2) { | ||||||
|             String methodName = args[i]; |             String methodName = args[i]; | ||||||
|             String valueString = (args.length - 1 == i ? null : args[i + 1]); |             String valueString = (args.length - 1 == i ? null : args[i + 1]); | ||||||
|             Method methodToUse = null; |             Method methodToUse = null; | ||||||
|             Object value = null; |             Object value = null; | ||||||
|             for (Method method : disguise.getWatcher().getClass().getMethods()) { |             for (Method method : methods) { | ||||||
|                 if (!method.getName().startsWith("get") && method.getName().equalsIgnoreCase(methodName) |                 if (!method.getName().startsWith("get") && method.getName().equalsIgnoreCase(methodName) | ||||||
|                         && method.getAnnotation(Deprecated.class) == null && method.getParameterTypes().length == 1) { |                         && method.getAnnotation(Deprecated.class) == null && method.getParameterTypes().length == 1) { | ||||||
|                     methodToUse = method; |                     methodToUse = method; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user