From 15c0141c3d931f9a928d92930322a76375985e15 Mon Sep 17 00:00:00 2001 From: NavidK0 Date: Sun, 29 Mar 2015 22:47:29 -0400 Subject: [PATCH] Added config option ContactMojangServers which disables player skins, but stops the plugin from pinging Mojang servers. Added reload command to reload the config. Tweaked a couple of things. Fixed isInvulnerable issue. --- .../2.2.1/taskArtifacts/cache.properties.lock | Bin 17 -> 17 bytes .gradle/2.2.1/taskArtifacts/fileHashes.bin | Bin 33319 -> 33767 bytes .gradle/2.2.1/taskArtifacts/fileSnapshots.bin | Bin 436542 -> 800400 bytes .../2.2.1/taskArtifacts/outputFileStates.bin | Bin 18752 -> 18752 bytes .gradle/2.2.1/taskArtifacts/taskArtifacts.bin | Bin 35885 -> 35885 bytes .../libraryaddict/disguise/DisguiseAPI.java | 4 +- .../disguise/DisguiseListener.java | 17 ++- .../libraryaddict/disguise/LibsDisguises.java | 107 +++--------------- .../commands/DisguiseCloneCommand.java | 9 +- .../disguise/commands/DisguiseCommand.java | 2 +- .../commands/DisguiseEntityCommand.java | 11 +- .../commands/DisguiseHelpCommand.java | 6 +- .../commands/DisguisePlayerCommand.java | 2 +- .../commands/DisguiseRadiusCommand.java | 2 +- .../commands/LibsDisguisesCommand.java | 14 ++- .../commands/UndisguiseEntityCommand.java | 8 +- .../disguise/disguisetypes/Disguise.java | 20 ++-- .../disguise/disguisetypes/DisguiseType.java | 8 +- .../disguise/disguisetypes/FlagWatcher.java | 6 +- .../disguisetypes/PlayerDisguise.java | 38 +++---- .../disguisetypes/watchers/LivingWatcher.java | 6 +- .../disguisetypes/watchers/PlayerWatcher.java | 2 +- .../utilities/BaseDisguiseCommand.java | 4 +- .../disguise/utilities/ClassGetter.java | 2 +- .../disguise/utilities/DisguiseUtilities.java | 38 +++---- .../disguise/utilities/PacketsManager.java | 40 +++---- .../disguise/utilities/ReflectionManager.java | 64 +++++------ 27 files changed, 174 insertions(+), 236 deletions(-) diff --git a/.gradle/2.2.1/taskArtifacts/cache.properties.lock b/.gradle/2.2.1/taskArtifacts/cache.properties.lock index a699e1f0c88a0de85939e75b2f51163387af60f1..d213237a4e8b1e738894747d59623bdfea2382a7 100644 GIT binary patch literal 17 UcmZQh*}BJ}f~m2C0Spv#0507GDF6Tf literal 17 UcmZQh*}BJ}f~m2C0SrXh04`qxw*UYD diff --git a/.gradle/2.2.1/taskArtifacts/fileHashes.bin b/.gradle/2.2.1/taskArtifacts/fileHashes.bin index 6e6c5bff55acc8591abfa5a5d5444c7e8f363d77..b91ba843d9abfc0a59166b45755154de998d7a45 100644 GIT binary patch delta 6226 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 diff --git a/.gradle/2.2.1/taskArtifacts/fileSnapshots.bin b/.gradle/2.2.1/taskArtifacts/fileSnapshots.bin index 58fa38cd6cfd0915e6c47dd9586a8b46eae7bf8a..39d90df481822f70c5e06f4bc925563d69ceea7a 100644 GIT binary patch delta 24050 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 eTWxjr?P&LouTxLkRT zQc>fjkm2s>VN=RUv0ip3hisBqw)GM^9W0~l%pK!p&)Plvhv%H<-g`d3=RV)>_xasR zcgbs;2hfhF$0pe*O7RRq_>T@v4@d2>^Dhu2REL-c;pBrLN&(Z3x)K%lW^ZIQSdk+` zV=Ob!**#~?x$Eu`TNiEQmXa%vy?8mwI&NISny$$>j-`0K;$0sF*6h8LW?6r2tCjB> zmXRuywYYN}Nes2}>Z+vBke~V_7M^j?%CFir)&w=S<`i%R^mN9nf=g-a6M@$gj^mOt zEAMsLR#5C-YRY9E1$ryzmoHGK1fgOJ*G;f;``GxoJ;y>%Sa_+AmCK_`4EEH$Pb@sA z=CHL8{CW1sz=3{zOF{E0!PF~o?ZGC^6^>)JF4pxiotG|v;QN-7Lvp;WeE#MAiIXav zM|0~*SJujtZ;h;!WfczLIMFKN_)ybT{fu5Udc>YFT!9KhtuLheg9_gBX)~CP{;tHR z(OF|Q4{#uA8gnn3@7vqy7_O5njcsr=T^?a<)Z~S>OoXnK|7CjGmgCtW1|~YO&;yqs zXa7*#QA%ed@3}i<$KKnnC(TM*?(~tn%?~YS+ccp22jREOSgiwF8`qyQJ%}0QT@?@; zQ77i>G8qt5;bQJ!igr;afWZ}A&iE=knP8oW3CJnsdr|8aDU8T8i=H@Hr+tz?sdD@I z_yoGh2is>>Q5oAs>p8v4#eM|01?#I&p@KNg^PY+2HEDdPAu;jJm!LH{#5g}=VFkn$E4h$&ki2-J<}bj0y_v)#K^U_OozgOO)6?8{=bV$ zO{)8E=HU7_y*huYf4NW0%l-wZ9xsgDFj#xiJN;)ta7l>S{c5-Dldt>743AvExnX^F z({E<6&&%3BV$Ri&cV=-?dd++*i#DnbM%AGgrc#O?1X1*W?ld05SH~`^A83p`0HW=9 z`GReGQtc)F8?-4<5=MQ2!$He%r2~w5M(#sFL>?}Inl6EofJHRU;4l*K3=|k#i%CI; zfky#35IBQ+U*Q=LQp^*>=w88hIP6z|U37%vC~SK@8IK?n;^83)z668025f16m~so{ z6H*D%yX5wR+TPh7Z4p`D9G{pi2PjD#1*&sAJJ9Eb^I+QpOi#iJe@sU~+K8<~fg%Jy z4LbPb@6aw3e~QD0wxkCM{V?n|0Rd^pIG|a@Use@`4R(Wj)9^gqTcM*>yH>>C4O(Fd zJ!pB{S5tv8c^kEVoG;^TQTI|ScMfm;bj$luKeCd{N#aLj-3%Vz zlTv9>)H?;noNCDPR=;jCkizUb>O=A$oBX2)ip%goTk&G;ln7bQx?ri1T_3>|ya4Jj zVKW@2$H$T84$rp{&*AGk6};zDjDamP!^tEy*jY_9fgKIJPH;?#cSBd2e?bItTL>wr zR^wgLS@r7FvjGS)&(AbH%@c~ksCnFn2c*E{=^|8g3YXw;S{^>xp(;Rl7=?AMR2lYP omfA>Y`mH^M|6&Q6EXDMLegQU{F|bdKi=j<3o{167l6i%H0WwcXO8@`> diff --git a/.gradle/2.2.1/taskArtifacts/outputFileStates.bin b/.gradle/2.2.1/taskArtifacts/outputFileStates.bin index d494556d90e897dc2bb78f4851fb2120bb59a111..495bf37934680b9722d0b99b4c43806e78ff76a9 100644 GIT binary patch delta 175 zcmX>wiSfWB#tB9&vToOsH#*)GpBTVBSx#alwiSfWB#tB9&JO;g48y)Y8PYmFmEGMy&@x>n05Jy$`&2!#b^M&W4#;NU>(p;Yl@;!;T4NG@ d*8wEExN!F(RN0{2Q@xE=Y6pX4k8PMZ2LPypJuCnK diff --git a/.gradle/2.2.1/taskArtifacts/taskArtifacts.bin b/.gradle/2.2.1/taskArtifacts/taskArtifacts.bin index ff8c24e1d66b25f4a11704db40ed2b22bac799aa..c0243cac519ee367b7283e6053c781f0656b118e 100644 GIT binary patch delta 263 zcmZ2GgK6yyrVa5P0^2ecgr~c-ES%)vXl8qHR>9!=Y6U8OYH8%a6JLREyk?!Ptj|&1%r8ABx{w(O{->b9us_o=o zV8O|;w`yL!cy-;FYo)>ll~(!5`d(L9^u(<1ZN3;km2t8_ILqb*KHnGx_HJ)oS*mg( zU_l7#QG`x>LG{tesmQ;`+ z2LllFUFDsy`C`Em#?6<5`gH_tE~_#}dB)7rEY5lNM disguiseRunnable = new HashMap<>(); private String latestVersion; private LibsDisguises plugin; + private BukkitTask updaterTask; public DisguiseListener(LibsDisguises libsDisguises) { plugin = libsDisguises; if (plugin.getConfig().getBoolean("NotifyUpdate")) { currentVersion = plugin.getDescription().getVersion(); - Bukkit.getScheduler().runTaskTimerAsynchronously(plugin, new Runnable() { + updaterTask = Bukkit.getScheduler().runTaskTimerAsynchronously(plugin, new Runnable() { public void run() { try { UpdateChecker updateChecker = new UpdateChecker(); @@ -77,6 +79,17 @@ public class DisguiseListener implements Listener { // 20 ticks * 60 seconds * 60 minutes * 6 hours } } + + public void cleanup() { + for (BukkitRunnable r : disguiseRunnable.values()) { + r.cancel(); + } + for (Disguise d : disguiseEntity.values()) { + d.removeDisguise(); + } + disguiseClone.clear(); + updaterTask.cancel(); + } private void checkPlayerCanBlowDisguise(Player entity) { Disguise[] disguises = DisguiseAPI.getDisguises(entity); @@ -115,7 +128,7 @@ public class DisguiseListener implements Listener { } } } catch (InvocationTargetException e) { - e.printStackTrace(); + e.printStackTrace(System.out); } } diff --git a/src/main/java/me/libraryaddict/disguise/LibsDisguises.java b/src/main/java/me/libraryaddict/disguise/LibsDisguises.java index 9a18a838..21695a03 100644 --- a/src/main/java/me/libraryaddict/disguise/LibsDisguises.java +++ b/src/main/java/me/libraryaddict/disguise/LibsDisguises.java @@ -41,68 +41,34 @@ import org.bukkit.plugin.java.JavaPlugin; import com.comphenix.protocol.wrappers.WrappedDataWatcher; import com.comphenix.protocol.wrappers.WrappedWatchableObject; import me.libraryaddict.disguise.utilities.Metrics; +import org.bukkit.event.HandlerList; public class LibsDisguises extends JavaPlugin { public static LibsDisguises instance; //I'm sorry Sun MicroSystems and all mighty Java God + private DisguiseListener listener; @Override public void onEnable() { saveDefaultConfig(); - File configFile = new File(getDataFolder(), "config.yml"); - InputStream stream = null; - FileReader reader = null; - try { - stream = getClassLoader().getResource("config.yml").openStream(); - String toWrite = read(new InputStreamReader(stream)); - reader = new FileReader(configFile); - String toRead = read(reader); - - if (!toRead.equals(toWrite)) { - try { - FileWriter writer = new FileWriter(configFile); - try { - writer.write(toWrite); - } finally { - writer.close(); - } - } catch (IOException e) { - e.printStackTrace(); - } - } - } catch (IOException e) { - e.printStackTrace(); - } finally { - tryClose(stream); - tryClose(reader); - } PacketsManager.init(this); DisguiseUtilities.init(this); DisguiseConfig.initConfig(getConfig()); - try { - // Here I use reflection to set the plugin for Disguise.. - // Kind of stupid but I don't want open API calls for a commonly used class. - Field field = Disguise.class.getDeclaredField("plugin"); - field.setAccessible(true); - field.set(null, this); - } catch (Exception ex) { - ex.printStackTrace(); - } PacketsManager.addPacketListeners(); - DisguiseListener listener = new DisguiseListener(this); + listener = new DisguiseListener(this); Bukkit.getPluginManager().registerEvents(listener, this); getCommand("disguise").setExecutor(new DisguiseCommand()); getCommand("undisguise").setExecutor(new UndisguiseCommand()); getCommand("disguiseplayer").setExecutor(new DisguisePlayerCommand()); getCommand("undisguiseplayer").setExecutor(new UndisguisePlayerCommand()); - getCommand("undisguiseentity").setExecutor(new UndisguiseEntityCommand(listener)); - getCommand("disguiseentity").setExecutor(new DisguiseEntityCommand(listener)); + getCommand("undisguiseentity").setExecutor(new UndisguiseEntityCommand()); + getCommand("disguiseentity").setExecutor(new DisguiseEntityCommand()); getCommand("disguiseradius").setExecutor(new DisguiseRadiusCommand(getConfig().getInt("DisguiseRadiusMax"))); getCommand("undisguiseradius").setExecutor(new UndisguiseRadiusCommand(getConfig().getInt("UndisguiseRadiusMax"))); getCommand("disguisehelp").setExecutor(new DisguiseHelpCommand()); - getCommand("disguiseclone").setExecutor(new DisguiseCloneCommand(listener)); + getCommand("disguiseclone").setExecutor(new DisguiseCloneCommand()); getCommand("libsdisguises").setExecutor(new LibsDisguisesCommand()); registerValues(); instance = this; @@ -111,46 +77,14 @@ public class LibsDisguises extends JavaPlugin { metrics.start(); } catch (IOException e) {} } - - private String read(Reader reader) { - String toWrite = ""; - BufferedReader input = null; - - try { - input = new BufferedReader(reader); - String currentPath = ""; - String line; - - while ((line = input.readLine()) != null) { - if (line.replace(" ", "").startsWith("#")) { - toWrite += line; - } else if (line.contains(":")) { - if (line.substring(line.indexOf(":") + 1).equals("")) { - currentPath = line.substring(0, line.length() - 1) + "."; - toWrite += line; - } else { - if (!line.startsWith(" ")) { - currentPath = ""; - } - String obj = line.substring(0, line.indexOf(":")).replace(" ", ""); - Object value = getConfig().get(currentPath + obj); - if (value instanceof String) { - value = "'" + value + "'"; - } - toWrite += (currentPath.length() == 0 ? "" : " ") + obj + ": " + value; - } - } - if (input.ready()) { - toWrite += "\n"; - } - } - } catch (Exception ex) { - ex.printStackTrace(); - } finally { - tryClose(input); - tryClose(reader); - } - return toWrite; + + /** + * Reloads the config with new config options. + */ + public void reload() { + HandlerList.unregisterAll(listener); + reloadConfig(); + DisguiseConfig.initConfig(getConfig()); } /** @@ -312,7 +246,7 @@ public class LibsDisguises extends JavaPlugin { + "http://assets.comphenix.net/job/ProtocolLib/ and (LibsDisguises) http://ci.md-5.net/job/LibsDisguises/"); } - ex.printStackTrace(); + ex.printStackTrace(System.out); } } } @@ -325,14 +259,7 @@ public class LibsDisguises extends JavaPlugin { return builder.toString(); } - private void tryClose(Closeable input) { - if (input != null) { - try { - input.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } + public DisguiseListener getListener() { + return listener; } - } diff --git a/src/main/java/me/libraryaddict/disguise/commands/DisguiseCloneCommand.java b/src/main/java/me/libraryaddict/disguise/commands/DisguiseCloneCommand.java index 54124509..ae4cfe63 100644 --- a/src/main/java/me/libraryaddict/disguise/commands/DisguiseCloneCommand.java +++ b/src/main/java/me/libraryaddict/disguise/commands/DisguiseCloneCommand.java @@ -5,6 +5,7 @@ import java.util.HashMap; import me.libraryaddict.disguise.DisguiseConfig; import me.libraryaddict.disguise.DisguiseListener; +import me.libraryaddict.disguise.LibsDisguises; import me.libraryaddict.disguise.disguisetypes.DisguiseType; import me.libraryaddict.disguise.utilities.BaseDisguiseCommand; @@ -15,12 +16,6 @@ import org.bukkit.command.CommandSender; public class DisguiseCloneCommand extends BaseDisguiseCommand { - private DisguiseListener listener; - - public DisguiseCloneCommand(DisguiseListener listener) { - this.listener = listener; - } - @Override public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { if (sender.getName().equals("CONSOLE")) { @@ -48,7 +43,7 @@ public class DisguiseCloneCommand extends BaseDisguiseCommand { return true; } } - listener.setDisguiseClone(sender.getName(), new Boolean[] { doEquipment, doSneak, doSprint }); + LibsDisguises.instance.getListener().setDisguiseClone(sender.getName(), new Boolean[] { doEquipment, doSneak, doSprint }); sender.sendMessage(ChatColor.RED + "Right click a entity in the next " + DisguiseConfig.getDisguiseCloneExpire() + " seconds to grab the disguise reference!"); } else { diff --git a/src/main/java/me/libraryaddict/disguise/commands/DisguiseCommand.java b/src/main/java/me/libraryaddict/disguise/commands/DisguiseCommand.java index 6c647006..4604c214 100644 --- a/src/main/java/me/libraryaddict/disguise/commands/DisguiseCommand.java +++ b/src/main/java/me/libraryaddict/disguise/commands/DisguiseCommand.java @@ -33,7 +33,7 @@ public class DisguiseCommand extends BaseDisguiseCommand { } return true; } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); return true; } if (DisguiseConfig.isNameOfPlayerShownAboveDisguise()) { diff --git a/src/main/java/me/libraryaddict/disguise/commands/DisguiseEntityCommand.java b/src/main/java/me/libraryaddict/disguise/commands/DisguiseEntityCommand.java index 7e01edc5..8c1d250b 100644 --- a/src/main/java/me/libraryaddict/disguise/commands/DisguiseEntityCommand.java +++ b/src/main/java/me/libraryaddict/disguise/commands/DisguiseEntityCommand.java @@ -5,6 +5,7 @@ import java.util.HashMap; import me.libraryaddict.disguise.DisguiseConfig; import me.libraryaddict.disguise.DisguiseListener; +import me.libraryaddict.disguise.LibsDisguises; import me.libraryaddict.disguise.disguisetypes.Disguise; import me.libraryaddict.disguise.disguisetypes.DisguiseType; import me.libraryaddict.disguise.utilities.BaseDisguiseCommand; @@ -15,12 +16,6 @@ import org.bukkit.command.CommandSender; public class DisguiseEntityCommand extends BaseDisguiseCommand { - private DisguiseListener listener; - - public DisguiseEntityCommand(DisguiseListener listener) { - this.listener = listener; - } - @Override public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { if (sender.getName().equals("CONSOLE")) { @@ -36,10 +31,10 @@ public class DisguiseEntityCommand extends BaseDisguiseCommand { } return true; } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); return true; } - listener.setDisguiseEntity(sender.getName(), disguise); + LibsDisguises.instance.getListener().setDisguiseEntity(sender.getName(), disguise); sender.sendMessage(ChatColor.RED + "Right click a entity in the next " + DisguiseConfig.getDisguiseEntityExpire() + " seconds to disguise it as a " + disguise.getType().toReadable() + "!"); return true; diff --git a/src/main/java/me/libraryaddict/disguise/commands/DisguiseHelpCommand.java b/src/main/java/me/libraryaddict/disguise/commands/DisguiseHelpCommand.java index 4602ba77..01f0a270 100644 --- a/src/main/java/me/libraryaddict/disguise/commands/DisguiseHelpCommand.java +++ b/src/main/java/me/libraryaddict/disguise/commands/DisguiseHelpCommand.java @@ -70,7 +70,7 @@ public class DisguiseHelpCommand extends BaseDisguiseCommand { enumHelp.add(new EnumHelp("AnimalColor", "Animal colors", ChatColor.RED + "/disguisehelp AnimalColors " + ChatColor.GREEN + "- View all the colors you can use for a animal color", AnimalColor.values())); } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); } try { enumHelp.add(new EnumHelp("Art", "Arts", ChatColor.RED + "/disguisehelp Art " + ChatColor.GREEN @@ -107,7 +107,7 @@ public class DisguiseHelpCommand extends BaseDisguiseCommand { + ChatColor.GREEN + "- View all the potion effects you can set", enumReturns.toArray(new String[enumReturns .size()]))); } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); } try { enumHelp.add(new EnumHelp("Profession", "Villager professions", ChatColor.RED + "/disguisehelp Professions " @@ -234,7 +234,7 @@ public class DisguiseHelpCommand extends BaseDisguiseCommand { } } } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); } Collections.sort(methods, String.CASE_INSENSITIVE_ORDER); for (int i = 0; i < methods.size(); i++) { diff --git a/src/main/java/me/libraryaddict/disguise/commands/DisguisePlayerCommand.java b/src/main/java/me/libraryaddict/disguise/commands/DisguisePlayerCommand.java index 33d7486b..342d8006 100644 --- a/src/main/java/me/libraryaddict/disguise/commands/DisguisePlayerCommand.java +++ b/src/main/java/me/libraryaddict/disguise/commands/DisguisePlayerCommand.java @@ -49,7 +49,7 @@ public class DisguisePlayerCommand extends BaseDisguiseCommand { } return true; } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); return true; } if (disguise.isMiscDisguise() && !DisguiseConfig.isMiscDisguisesForLivingEnabled()) { diff --git a/src/main/java/me/libraryaddict/disguise/commands/DisguiseRadiusCommand.java b/src/main/java/me/libraryaddict/disguise/commands/DisguiseRadiusCommand.java index 32b33b05..d7941e83 100644 --- a/src/main/java/me/libraryaddict/disguise/commands/DisguiseRadiusCommand.java +++ b/src/main/java/me/libraryaddict/disguise/commands/DisguiseRadiusCommand.java @@ -105,7 +105,7 @@ public class DisguiseRadiusCommand extends BaseDisguiseCommand { } return true; } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); return true; } // Time to use it! int disguisedEntitys = 0; diff --git a/src/main/java/me/libraryaddict/disguise/commands/LibsDisguisesCommand.java b/src/main/java/me/libraryaddict/disguise/commands/LibsDisguisesCommand.java index 25da418e..b052433c 100644 --- a/src/main/java/me/libraryaddict/disguise/commands/LibsDisguisesCommand.java +++ b/src/main/java/me/libraryaddict/disguise/commands/LibsDisguisesCommand.java @@ -1,5 +1,6 @@ package me.libraryaddict.disguise.commands; +import me.libraryaddict.disguise.LibsDisguises; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.command.Command; @@ -10,11 +11,22 @@ public class LibsDisguisesCommand implements CommandExecutor { @Override public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { + if (args.length == 0) { sender.sendMessage(ChatColor.DARK_GREEN + "This server is running " + "Lib's Disguises v." + Bukkit.getPluginManager().getPlugin("LibsDisguises").getDescription().getVersion() - + "by libraryaddict, maintained by NavidK0"); + + " by libraryaddict, maintained by NavidK0.\n" + + "Use /libsdisguises reload to reload the config. All disguises will be blown by doing this."); + } else if (args.length > 0) { + if (args[0].equalsIgnoreCase("reload")) { + LibsDisguises.instance.reload(); + sender.sendMessage(ChatColor.GREEN + "[LibsDisguises] Reloaded config."); + return true; + } else { + sender.sendMessage(ChatColor.RED + "[LibsDisguises] That command doesn't exist!"); + } + } return true; } } diff --git a/src/main/java/me/libraryaddict/disguise/commands/UndisguiseEntityCommand.java b/src/main/java/me/libraryaddict/disguise/commands/UndisguiseEntityCommand.java index 9807b7c7..8bc52e65 100644 --- a/src/main/java/me/libraryaddict/disguise/commands/UndisguiseEntityCommand.java +++ b/src/main/java/me/libraryaddict/disguise/commands/UndisguiseEntityCommand.java @@ -1,6 +1,7 @@ package me.libraryaddict.disguise.commands; import me.libraryaddict.disguise.DisguiseListener; +import me.libraryaddict.disguise.LibsDisguises; import org.bukkit.ChatColor; import org.bukkit.command.Command; @@ -8,11 +9,6 @@ import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; public class UndisguiseEntityCommand implements CommandExecutor { - private DisguiseListener listener; - - public UndisguiseEntityCommand(DisguiseListener listener) { - this.listener = listener; - } @Override public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { @@ -21,7 +17,7 @@ public class UndisguiseEntityCommand implements CommandExecutor { return true; } if (sender.hasPermission("libsdisguises.undisguiseentity")) { - listener.setDisguiseEntity(sender.getName(), null); + LibsDisguises.instance.getListener().setDisguiseEntity(sender.getName(), null); sender.sendMessage(ChatColor.RED + "Right click a disguised entity to undisguise them!"); } else sender.sendMessage(ChatColor.RED + "You are forbidden to use this command."); diff --git a/src/main/java/me/libraryaddict/disguise/disguisetypes/Disguise.java b/src/main/java/me/libraryaddict/disguise/disguisetypes/Disguise.java index 6a492c6e..376d25c3 100644 --- a/src/main/java/me/libraryaddict/disguise/disguisetypes/Disguise.java +++ b/src/main/java/me/libraryaddict/disguise/disguisetypes/Disguise.java @@ -35,9 +35,9 @@ import com.comphenix.protocol.PacketType; import com.comphenix.protocol.ProtocolLibrary; import com.comphenix.protocol.events.PacketContainer; import com.comphenix.protocol.reflect.StructureModifier; +import me.libraryaddict.disguise.LibsDisguises; public abstract class Disguise { - private static JavaPlugin plugin; private boolean disguiseInUse; private DisguiseType disguiseType; private Entity entity; @@ -54,7 +54,7 @@ public abstract class Disguise { private boolean velocitySent = DisguiseConfig.isVelocitySent(); private boolean viewSelfDisguise = DisguiseConfig.isViewDisguises(); private FlagWatcher watcher; - + @Override public abstract Disguise clone(); @@ -81,7 +81,7 @@ public abstract class Disguise { // Construct the FlagWatcher from the stored class setWatcher((FlagWatcher) getType().getWatcherClass().getConstructor(Disguise.class).newInstance(this)); } catch (Exception e) { - e.printStackTrace(); + e.printStackTrace(System.out); } // Set the disguise if its a baby or not if (!isAdult) { @@ -261,7 +261,7 @@ public abstract class Disguise { ProtocolLibrary.getProtocolManager().sendServerPacket((Player) getEntity(), selfLookPacket, false); } catch (InvocationTargetException e) { - e.printStackTrace(); + e.printStackTrace(System.out); } } } @@ -287,7 +287,7 @@ public abstract class Disguise { false); } } catch (Exception e) { - e.printStackTrace(); + e.printStackTrace(System.out); } } // If we need to send a packet to update the exp position as it likes to gravitate client sided to @@ -307,12 +307,12 @@ public abstract class Disguise { ProtocolLibrary.getProtocolManager().sendServerPacket((Player) getEntity(), selfPacket, false); } catch (InvocationTargetException e) { - e.printStackTrace(); + e.printStackTrace(System.out); } } } } catch (InvocationTargetException e) { - e.printStackTrace(); + e.printStackTrace(System.out); } } } @@ -707,7 +707,7 @@ public abstract class Disguise { // Just return. if (!event.isCancelled()) { disguiseInUse = true; - task = Bukkit.getScheduler().runTaskTimer(plugin, velocityRunnable, 1, 1); + task = Bukkit.getScheduler().runTaskTimer(LibsDisguises.instance, velocityRunnable, 1, 1); // Stick the disguise in the disguises bin DisguiseUtilities.addDisguise(entity.getUniqueId(), (TargetedDisguise) this); if (isSelfDisguiseVisible() && getEntity() instanceof Player) { @@ -716,7 +716,7 @@ public abstract class Disguise { // Resend the disguised entity's packet DisguiseUtilities.refreshTrackers((TargetedDisguise) this); // If he is a player, then self disguise himself - Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, new Runnable() { + Bukkit.getScheduler().scheduleSyncDelayedTask(LibsDisguises.instance, new Runnable() { public void run() { DisguiseUtilities.setupFakeDisguise(Disguise.this); } @@ -730,4 +730,4 @@ public abstract class Disguise { public boolean stopDisguise() { return removeDisguise(); } -} \ No newline at end of file +} diff --git a/src/main/java/me/libraryaddict/disguise/disguisetypes/DisguiseType.java b/src/main/java/me/libraryaddict/disguise/disguisetypes/DisguiseType.java index b811f723..43407153 100644 --- a/src/main/java/me/libraryaddict/disguise/disguisetypes/DisguiseType.java +++ b/src/main/java/me/libraryaddict/disguise/disguisetypes/DisguiseType.java @@ -213,7 +213,7 @@ public enum DisguiseType { disguiseType = DisguiseType.ZOMBIE_VILLAGER; } } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); } break; case HORSE: @@ -221,7 +221,7 @@ public enum DisguiseType { Object variant = getVariant.invoke(entity); disguiseType = DisguiseType.valueOf(((Enum) variant).name()); } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); } break; case SKELETON: @@ -231,7 +231,7 @@ public enum DisguiseType { disguiseType = DisguiseType.WITHER_SKELETON; } } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); } break; case GUARDIAN: @@ -240,7 +240,7 @@ public enum DisguiseType { disguiseType = DisguiseType.ELDER_GUARDIAN; } } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); } break; default: diff --git a/src/main/java/me/libraryaddict/disguise/disguisetypes/FlagWatcher.java b/src/main/java/me/libraryaddict/disguise/disguisetypes/FlagWatcher.java index a16a4348..70d3391b 100644 --- a/src/main/java/me/libraryaddict/disguise/disguisetypes/FlagWatcher.java +++ b/src/main/java/me/libraryaddict/disguise/disguisetypes/FlagWatcher.java @@ -70,7 +70,7 @@ public class FlagWatcher { try { cloned = getClass().getConstructor(Disguise.class).newInstance(getDisguise()); } catch (Exception e) { - e.printStackTrace(); + e.printStackTrace(System.out); cloned = new FlagWatcher(getDisguise()); } cloned.entityValues = (HashMap) entityValues.clone(); @@ -267,7 +267,7 @@ public class FlagWatcher { try { ProtocolLibrary.getProtocolManager().sendServerPacket(player, packet); } catch (InvocationTargetException e) { - e.printStackTrace(); + e.printStackTrace(System.out); } } } @@ -359,7 +359,7 @@ public class FlagWatcher { try { ProtocolLibrary.getProtocolManager().sendServerPacket(player, packet); } catch (InvocationTargetException e) { - e.printStackTrace(); + e.printStackTrace(System.out); } } } diff --git a/src/main/java/me/libraryaddict/disguise/disguisetypes/PlayerDisguise.java b/src/main/java/me/libraryaddict/disguise/disguisetypes/PlayerDisguise.java index 20453cba..f776555c 100644 --- a/src/main/java/me/libraryaddict/disguise/disguisetypes/PlayerDisguise.java +++ b/src/main/java/me/libraryaddict/disguise/disguisetypes/PlayerDisguise.java @@ -154,9 +154,6 @@ public class PlayerDisguise extends TargetedDisguise { public PlayerDisguise setSkin(String skinToUse) { this.skinToUse = skinToUse; - if (!LibsDisguises.instance.getConfig().getBoolean("ContactMojangServers")) { - return this; - } if (skinToUse == null) { this.currentLookup = null; this.gameProfile = null; @@ -164,21 +161,23 @@ public class PlayerDisguise extends TargetedDisguise { if (skinToUse.length() > 16) { this.skinToUse = skinToUse.substring(0, 16); } - currentLookup = new LibsProfileLookup() { - @Override - public void onLookup(WrappedGameProfile gameProfile) { - if (currentLookup == this && gameProfile != null) { - setSkin(gameProfile); - if (!gameProfile.getProperties().isEmpty() && DisguiseUtilities.isDisguiseInUse(PlayerDisguise.this)) { - DisguiseUtilities.refreshTrackers(PlayerDisguise.this); + if (LibsDisguises.instance.getConfig().getBoolean("ContactMojangServers", true)) { + currentLookup = new LibsProfileLookup() { + @Override + public void onLookup(WrappedGameProfile gameProfile) { + if (currentLookup == this && gameProfile != null) { + setSkin(gameProfile); + if (!gameProfile.getProperties().isEmpty() && DisguiseUtilities.isDisguiseInUse(PlayerDisguise.this)) { + DisguiseUtilities.refreshTrackers(PlayerDisguise.this); + } + currentLookup = null; } - currentLookup = null; } + }; + WrappedGameProfile gameProfile = DisguiseUtilities.getProfileFromMojang(this.skinToUse, currentLookup); + if (gameProfile != null) { + setSkin(gameProfile); } - }; - WrappedGameProfile gameProfile = DisguiseUtilities.getProfileFromMojang(this.skinToUse, currentLookup); - if (gameProfile != null) { - setSkin(gameProfile); } } return this; @@ -197,10 +196,11 @@ public class PlayerDisguise extends TargetedDisguise { this.skinToUse = null; return this; } - - Validate.notEmpty(gameProfile.getName(), "Name must be set"); - this.skinToUse = gameProfile.getName(); - this.gameProfile = ReflectionManager.getGameProfileWithThisSkin(null, getName(), gameProfile); + if (LibsDisguises.instance.getConfig().getBoolean("ContactMojangServers", true)) { + Validate.notEmpty(gameProfile.getName(), "Name must be set"); + this.skinToUse = gameProfile.getName(); + this.gameProfile = ReflectionManager.getGameProfileWithThisSkin(null, getName(), gameProfile); + } return this; } diff --git a/src/main/java/me/libraryaddict/disguise/disguisetypes/watchers/LivingWatcher.java b/src/main/java/me/libraryaddict/disguise/disguisetypes/watchers/LivingWatcher.java index d15c6395..36288cc9 100644 --- a/src/main/java/me/libraryaddict/disguise/disguisetypes/watchers/LivingWatcher.java +++ b/src/main/java/me/libraryaddict/disguise/disguisetypes/watchers/LivingWatcher.java @@ -41,7 +41,7 @@ public class LivingWatcher extends FlagWatcher { } } } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); } } private double maxHealth; @@ -101,7 +101,7 @@ public class LivingWatcher extends FlagWatcher { f4 += 1.0F; } } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); } f1 = f1 / f4 * 255.0F; @@ -160,7 +160,7 @@ public class LivingWatcher extends FlagWatcher { try { ProtocolLibrary.getProtocolManager().sendServerPacket(player, packet, false); } catch (InvocationTargetException e) { - e.printStackTrace(); + e.printStackTrace(System.out); } } } diff --git a/src/main/java/me/libraryaddict/disguise/disguisetypes/watchers/PlayerWatcher.java b/src/main/java/me/libraryaddict/disguise/disguisetypes/watchers/PlayerWatcher.java index 6cd3206e..8fe68611 100644 --- a/src/main/java/me/libraryaddict/disguise/disguisetypes/watchers/PlayerWatcher.java +++ b/src/main/java/me/libraryaddict/disguise/disguisetypes/watchers/PlayerWatcher.java @@ -117,7 +117,7 @@ public class PlayerWatcher extends LivingWatcher { } } } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); } } } diff --git a/src/main/java/me/libraryaddict/disguise/utilities/BaseDisguiseCommand.java b/src/main/java/me/libraryaddict/disguise/utilities/BaseDisguiseCommand.java index bc20d45e..d54cb250 100644 --- a/src/main/java/me/libraryaddict/disguise/utilities/BaseDisguiseCommand.java +++ b/src/main/java/me/libraryaddict/disguise/utilities/BaseDisguiseCommand.java @@ -95,7 +95,7 @@ public abstract class BaseDisguiseCommand implements CommandExecutor { try { methods[methods.length - i--] = Disguise.class.getMethod(methodName, boolean.class); } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); } } return methods; @@ -630,7 +630,7 @@ public abstract class BaseDisguiseCommand implements CommandExecutor { storedEx = ex; methodToUse = null; } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); methodToUse = null; } } diff --git a/src/main/java/me/libraryaddict/disguise/utilities/ClassGetter.java b/src/main/java/me/libraryaddict/disguise/utilities/ClassGetter.java index 3990089c..6e1f6aa5 100644 --- a/src/main/java/me/libraryaddict/disguise/utilities/ClassGetter.java +++ b/src/main/java/me/libraryaddict/disguise/utilities/ClassGetter.java @@ -64,7 +64,7 @@ public class ClassGetter { } } } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); } } } diff --git a/src/main/java/me/libraryaddict/disguise/utilities/DisguiseUtilities.java b/src/main/java/me/libraryaddict/disguise/utilities/DisguiseUtilities.java index e9982bc3..ee323cd7 100644 --- a/src/main/java/me/libraryaddict/disguise/utilities/DisguiseUtilities.java +++ b/src/main/java/me/libraryaddict/disguise/utilities/DisguiseUtilities.java @@ -113,7 +113,7 @@ public class DisguiseUtilities { zChunk = bedChunk.getClass().getField("locZ"); zChunk.setAccessible(true); } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); } } @@ -266,7 +266,7 @@ public class DisguiseUtilities { } } } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); } } @@ -317,7 +317,7 @@ public class DisguiseUtilities { xChunk.set(bedChunk, chunkX); zChunk.set(bedChunk, chunkZ); } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); } // Make unload packets try { @@ -448,7 +448,7 @@ public class DisguiseUtilities { } } } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); } return players; } @@ -628,7 +628,7 @@ public class DisguiseUtilities { try { DisguiseUtilities.sendSelfDisguise((Player) disguise.getEntity(), disguise); } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); } } }, 2); @@ -652,7 +652,7 @@ public class DisguiseUtilities { try { updatePlayer.invoke(entityTrackerEntry, p); } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); } } }, 2); @@ -662,7 +662,7 @@ public class DisguiseUtilities { } } } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); } } } @@ -693,7 +693,7 @@ public class DisguiseUtilities { try { updatePlayer.invoke(entityTrackerEntry, p); } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); } } }, 2); @@ -701,7 +701,7 @@ public class DisguiseUtilities { } } } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); } } } @@ -722,7 +722,7 @@ public class DisguiseUtilities { try { DisguiseUtilities.sendSelfDisguise((Player) disguise.getEntity(), disguise); } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); } } }, 2); @@ -746,7 +746,7 @@ public class DisguiseUtilities { try { updatePlayer.invoke(entityTrackerEntry, p); } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); } } }, 2); @@ -754,7 +754,7 @@ public class DisguiseUtilities { } } } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); } } } @@ -789,7 +789,7 @@ public class DisguiseUtilities { try { ProtocolLibrary.getProtocolManager().sendServerPacket(player, packet); } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); } // Remove the fake entity ID from the disguise bin selfDisguised.remove(player.getUniqueId()); @@ -803,7 +803,7 @@ public class DisguiseUtilities { trackedPlayers.remove(ReflectionManager.getNmsEntity(player)); } } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); } // Resend entity metadata else he will be invisible to himself until its resent try { @@ -815,7 +815,7 @@ public class DisguiseUtilities { WrappedDataWatcher.getEntityWatcher(player), true) .createPacket(player.getEntityId(), WrappedDataWatcher.getEntityWatcher(player), true)); } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); } player.updateInventory(); } @@ -864,7 +864,7 @@ public class DisguiseUtilities { field.setAccessible(true); isMoving = field.getBoolean(entityTrackerEntry); } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); } // Send the velocity packets if (isMoving) { @@ -920,7 +920,7 @@ public class DisguiseUtilities { .createPacket(player.getEntityId(), mobEffect)); } } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); } } @@ -948,13 +948,13 @@ public class DisguiseUtilities { ProtocolLibrary.getProtocolManager().sendServerPacket(player, packet, false); } } catch (InvocationTargetException e) { - e.printStackTrace(); + e.printStackTrace(System.out); } } }); } } catch (InvocationTargetException e) { - e.printStackTrace(); + e.printStackTrace(System.out); } } diff --git a/src/main/java/me/libraryaddict/disguise/utilities/PacketsManager.java b/src/main/java/me/libraryaddict/disguise/utilities/PacketsManager.java index 2fe8978b..e04cde40 100644 --- a/src/main/java/me/libraryaddict/disguise/utilities/PacketsManager.java +++ b/src/main/java/me/libraryaddict/disguise/utilities/PacketsManager.java @@ -106,7 +106,7 @@ public class PacketsManager { } } } catch (Exception e) { - e.printStackTrace(); + e.printStackTrace(System.out); } } }; @@ -114,7 +114,7 @@ public class PacketsManager { // Now I call this and the main listener is registered! setupMainPacketsListener(); } - + /** * Construct the packets I need to spawn in the disguise */ @@ -372,7 +372,7 @@ public class PacketsManager { newWatcher.setObject(watchableObject.getIndex(), watchableObject.getValue()); } } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); } return newWatcher; } @@ -571,7 +571,7 @@ public class PacketsManager { obj = null; } } catch (Exception e) { - e.printStackTrace(); + e.printStackTrace(System.out); } } if (obj == null) { @@ -587,7 +587,7 @@ public class PacketsManager { .invoke(nmsEntity, DamageSource.GENERIC); } } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); } soundType = entitySound.getType(soundName, !hasInvun); } @@ -624,7 +624,7 @@ public class PacketsManager { .invoke(step)); } } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); } // There is no else statement. Because seriously. This should never be null. Unless // someone is @@ -704,7 +704,7 @@ public class PacketsManager { obj = null; } } catch (Exception e) { - e.printStackTrace(); + e.printStackTrace(System.out); } } if (obj == null) { @@ -745,7 +745,7 @@ public class PacketsManager { try { ProtocolLibrary.getProtocolManager().sendServerPacket(observer, packet); } catch (InvocationTargetException e) { - e.printStackTrace(); + e.printStackTrace(System.out); } } } @@ -787,7 +787,7 @@ public class PacketsManager { try { ProtocolLibrary.getProtocolManager().sendServerPacket(observer, packet, false); } catch (InvocationTargetException e) { - e.printStackTrace(); + e.printStackTrace(System.out); } } if (delayedPackets != null && delayedPackets.length > 0) { @@ -798,7 +798,7 @@ public class PacketsManager { ProtocolLibrary.getProtocolManager().sendServerPacket(observer, packet, false); } } catch (InvocationTargetException e) { - e.printStackTrace(); + e.printStackTrace(System.out); } } }, 2); @@ -828,7 +828,7 @@ public class PacketsManager { try { ProtocolLibrary.getProtocolManager().sendServerPacket(observer, packet); } catch (InvocationTargetException e) { - e.printStackTrace(); + e.printStackTrace(System.out); } } else if (event.getPacketType() == PacketType.Play.Server.ANIMATION) { if (event.getPacket().getIntegers().read(1) != 2) { @@ -886,7 +886,7 @@ public class PacketsManager { ProtocolLibrary.getProtocolManager().sendServerPacket(event.getPlayer(), packet, false); } catch (InvocationTargetException e) { - e.printStackTrace(); + e.printStackTrace(System.out); } } } @@ -905,7 +905,7 @@ public class PacketsManager { ProtocolLibrary.getProtocolManager().sendServerPacket(event.getPlayer(), packet, false); } catch (InvocationTargetException e) { - e.printStackTrace(); + e.printStackTrace(System.out); } } } @@ -930,7 +930,7 @@ public class PacketsManager { try { ProtocolLibrary.getProtocolManager().sendServerPacket(event.getPlayer(), packet, false); } catch (InvocationTargetException e) { - e.printStackTrace(); + e.printStackTrace(System.out); } } org.bukkit.inventory.ItemStack newHeld = event.getPlayer().getInventory() @@ -945,7 +945,7 @@ public class PacketsManager { try { ProtocolLibrary.getProtocolManager().sendServerPacket(event.getPlayer(), packet, false); } catch (InvocationTargetException e) { - e.printStackTrace(); + e.printStackTrace(System.out); } } } @@ -986,7 +986,7 @@ public class PacketsManager { ProtocolLibrary.getProtocolManager().sendServerPacket(event.getPlayer(), packet, false); } catch (InvocationTargetException e) { - e.printStackTrace(); + e.printStackTrace(System.out); } } // Else if its a hotbar slot @@ -1004,7 +1004,7 @@ public class PacketsManager { ProtocolLibrary.getProtocolManager().sendServerPacket(event.getPlayer(), packet, false); } catch (InvocationTargetException e) { - e.printStackTrace(); + e.printStackTrace(System.out); } } } @@ -1219,13 +1219,13 @@ public class PacketsManager { ProtocolLibrary.getProtocolManager().sendServerPacket(observer, packet, false); } } catch (InvocationTargetException e) { - e.printStackTrace(); + e.printStackTrace(System.out); } } }, 2); } } catch (InvocationTargetException ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); } } } @@ -1493,7 +1493,7 @@ public class PacketsManager { } } catch (Exception e) { - e.printStackTrace(); + e.printStackTrace(System.out); } return packets == null ? null : new PacketContainer[][] { packets, delayedPackets }; } diff --git a/src/main/java/me/libraryaddict/disguise/utilities/ReflectionManager.java b/src/main/java/me/libraryaddict/disguise/utilities/ReflectionManager.java index fb6b1897..9aaa871b 100644 --- a/src/main/java/me/libraryaddict/disguise/utilities/ReflectionManager.java +++ b/src/main/java/me/libraryaddict/disguise/utilities/ReflectionManager.java @@ -162,11 +162,11 @@ public class ReflectionManager { System.out.println("[LibsDisguises] Loaded " + ForgeFieldMappings.size() + " Cauldron field mappings"); System.out.println("[LibsDisguises] Loaded " + ForgeMethodMappings.size() + " Cauldron method mappings"); } catch (ClassNotFoundException e) { - e.printStackTrace(); + e.printStackTrace(System.out); System.err .println("Warning: Running on Cauldron server, but couldn't load mappings file. LibsDisguises will likely crash!"); } catch (IOException e) { - e.printStackTrace(); + e.printStackTrace(System.out); System.err .println("Warning: Running on Cauldron server, but couldn't load mappings file. LibsDisguises will likely crash!"); } @@ -187,7 +187,7 @@ public class ReflectionManager { } } } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); } } craftItemClass = getCraftClass("inventory.CraftItemStack"); @@ -221,7 +221,7 @@ public class ReflectionManager { } return entityObject; } catch (Exception e) { - e.printStackTrace(); + e.printStackTrace(System.out); } return null; } @@ -231,7 +231,7 @@ public class ReflectionManager { return getNmsClass("MobEffect").getConstructor(int.class, int.class, int.class, boolean.class, boolean.class) .newInstance(id, duration, amplification, ambient, particles); } catch (Exception e) { - e.printStackTrace(); + e.printStackTrace(System.out); } return null; } @@ -279,7 +279,7 @@ public class ReflectionManager { return new FakeBoundingBox(x, y, z); } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); } return null; } @@ -288,7 +288,7 @@ public class ReflectionManager { try { return (Entity) getNmsMethod("Entity", "getBukkitEntity").invoke(nmsEntity); } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); } return null; } @@ -297,7 +297,7 @@ public class ReflectionManager { try { return (ItemStack) craftItemClass.getMethod("asBukkitCopy", getNmsClass("ItemStack")).invoke(null, nmsItem); } catch (Exception e) { - e.printStackTrace(); + e.printStackTrace(System.out); } return null; } @@ -310,7 +310,7 @@ public class ReflectionManager { try { return Class.forName("org.bukkit.craftbukkit." + getBukkitVersion() + "." + className); } catch (Exception e) { - e.printStackTrace(); + e.printStackTrace(System.out); } return null; } @@ -319,7 +319,7 @@ public class ReflectionManager { try { return (String) getCraftClass("CraftSound").getMethod("getSound", Sound.class).invoke(null, sound); } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); } return null; } @@ -340,7 +340,7 @@ public class ReflectionManager { } } } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); } return null; } @@ -349,7 +349,7 @@ public class ReflectionManager { try { return getNmsClass("BlockPosition").getConstructor(int.class, int.class, int.class).newInstance(x, y, z); } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); } return null; } @@ -358,7 +358,7 @@ public class ReflectionManager { try { return (Enum) getNmsMethod("EnumDirection", "fromType2", int.class).invoke(null, direction); } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); } return null; } @@ -367,7 +367,7 @@ public class ReflectionManager { try { return (Enum) getNmsClass("PacketPlayOutPlayerInfo$EnumPlayerInfoAction").getEnumConstants()[action]; } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); } return null; } @@ -381,7 +381,7 @@ public class ReflectionManager { .newInstance(playerInfoPacket, gameProfile.getHandle(), 0, getNmsClass("WorldSettings$EnumGamemode").getEnumConstants()[1], playerListName); } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); } return null; } @@ -394,7 +394,7 @@ public class ReflectionManager { try { return new WrappedGameProfile(uuid != null ? uuid : UUID.randomUUID(), playerName); } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); } return null; } @@ -405,7 +405,7 @@ public class ReflectionManager { gameProfile.getProperties().putAll(profileWithSkin.getProperties()); return gameProfile; } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); } return null; } @@ -426,7 +426,7 @@ public class ReflectionManager { try { return Class.forName("net.minecraft.server." + getBukkitVersion() + "." + className); } catch (Exception e) { - e.printStackTrace(); + e.printStackTrace(System.out); } return null; } @@ -435,7 +435,7 @@ public class ReflectionManager { try { return clazz.getConstructor(parameters); } catch (NoSuchMethodException e) { - e.printStackTrace(); + e.printStackTrace(System.out); } return null; } @@ -448,7 +448,7 @@ public class ReflectionManager { try { return getCraftClass("entity.CraftEntity").getMethod("getHandle").invoke(entity); } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); } return null; } @@ -458,14 +458,14 @@ public class ReflectionManager { try { return clazz.getField(ForgeFieldMappings.get(clazz.getName()).get(fieldName)); } catch (NoSuchFieldException ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); } catch (NullPointerException ignored) { } } try { return clazz.getField(fieldName); } catch (NoSuchFieldException e) { - e.printStackTrace(); + e.printStackTrace(System.out); } return null; } @@ -478,7 +478,7 @@ public class ReflectionManager { try { return craftItemClass.getMethod("asNMSCopy", ItemStack.class).invoke(null, itemstack); } catch (Exception e) { - e.printStackTrace(); + e.printStackTrace(System.out); } return null; } @@ -493,14 +493,14 @@ public class ReflectionManager { } return clazz.getMethod(innerMap.get(sb.toString()), parameters); } catch (NoSuchMethodException e) { - e.printStackTrace(); + e.printStackTrace(System.out); } catch (NullPointerException ignored) { } } try { return clazz.getMethod(methodName, parameters); } catch (NoSuchMethodException e) { - e.printStackTrace(); + e.printStackTrace(System.out); } return null; } @@ -513,7 +513,7 @@ public class ReflectionManager { try { return (double) pingField.getInt(ReflectionManager.getNmsEntity(player)); } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); } return 0D; } @@ -525,7 +525,7 @@ public class ReflectionManager { float height = (Float) getNmsMethod("Entity", "getHeadHeight").invoke(getNmsEntity(entity)); return new float[] { length, width, height }; } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); } return null; } @@ -542,7 +542,7 @@ public class ReflectionManager { } } } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); } return null; } @@ -560,7 +560,7 @@ public class ReflectionManager { try { return getCraftClass("CraftWorld").getMethod("getHandle").invoke(world); } catch (Exception e) { - e.printStackTrace(); + e.printStackTrace(System.out); } return null; } @@ -585,7 +585,7 @@ public class ReflectionManager { } } } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); } return null; } @@ -615,7 +615,7 @@ public class ReflectionManager { Field check = getNmsField(connection.getClass(), "checkMovement"); check.setBoolean(connection, true); } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); } } @@ -626,7 +626,7 @@ public class ReflectionManager { loc.getZ() - newBox.getZ(), loc.getX() + newBox.getX(), loc.getY() + newBox.getY(), loc.getZ() + newBox.getZ()); setBoundingBoxMethod.invoke(getNmsEntity(entity), boundingBox); } catch (Exception ex) { - ex.printStackTrace(); + ex.printStackTrace(System.out); } }