diff --git a/src/main/java/de/presti/trollv4/api/RequestUtility.java b/src/main/java/de/presti/trollv4/api/RequestUtility.java index 48b8a7a..0a13910 100644 --- a/src/main/java/de/presti/trollv4/api/RequestUtility.java +++ b/src/main/java/de/presti/trollv4/api/RequestUtility.java @@ -23,11 +23,9 @@ private static InputStream GET(String url) { int responseCode = con.getResponseCode(); if (responseCode == HttpsURLConnection.HTTP_OK) { // success return con.getInputStream(); - } else { - Main.getInstance().getLogger().warning("GET request not worked"); } } catch (Exception exception) { - Main.getInstance().getLogger().warning("Error while sending GET request to " + url); + Main.getInstance().getLogger().warning("Error while sending GET request to " + url + "\nException: " + exception.getMessage()); } return null; @@ -38,7 +36,7 @@ public static JsonElement getJSON(String url) { if (inputStream == null) return new JsonObject(); return new JsonParser().parse(new InputStreamReader(inputStream)); } catch (Exception exception) { - Main.getInstance().getLogger().warning("Error while getting JSON from " + url); + Main.getInstance().getLogger().warning("Error while getting JSON from " + url + "\nException: " + exception.getMessage()); } return new JsonObject(); @@ -51,7 +49,7 @@ public static byte[] getBytes(String url) { return IOUtils.toByteArray(inputStream); } catch (Exception exception) { - Main.getInstance().getLogger().warning("Error while getting JSON from " + url); + Main.getInstance().getLogger().warning("Error while getting JSON from " + url + "\nException: " + exception.getMessage()); } return new byte[0]; diff --git a/src/main/java/de/presti/trollv4/invs/InvManager.java b/src/main/java/de/presti/trollv4/invs/InvManager.java index fdaeaf3..46c01f9 100644 --- a/src/main/java/de/presti/trollv4/invs/InvManager.java +++ b/src/main/java/de/presti/trollv4/invs/InvManager.java @@ -157,7 +157,7 @@ public void run() { @Override public void run() { items.add(SetItems.buildSkull(ArrayUtils.trolling.get(p.getName()), - "§2Youre Trolling §c" + ArrayUtils.trolling.get(p.getName()))); + "§2You're Trolling §c" + ArrayUtils.trolling.get(p.getName()), false)); new BukkitRunnable() { @@ -328,7 +328,7 @@ public void run() { @Override public void run() { items.add(SetItems.buildSkull(ArrayUtils.trolling.get(p.getName()), - "§2Youre Trolling §c" + ArrayUtils.trolling.get(p.getName()))); + "§2You're Trolling §c" + ArrayUtils.trolling.get(p.getName()), false)); new BukkitRunnable() { @@ -380,7 +380,7 @@ public static void setPageOneTrolls(Inventory inv) { inv.setItem(34, SetItems.buildItem(Items.getItem("gui.trolls.lsd"), XMaterial.RED_MUSHROOM.parseMaterial(), "§cLag out the Game of the Player!")); inv.setItem(37, SetItems.buildItem(Items.getItem("gui.trolls.guardian"), XMaterial.BLAZE_ROD.parseMaterial())); inv.setItem(38, SetItems.buildItem(Items.getItem("gui.trolls.arrowspam"), XMaterial.BOW.parseMaterial())); - inv.setItem(39, SetItems.buildSkull("Herobrine", Items.getItem("gui.trolls.herobrine"))); + inv.setItem(39, SetItems.buildSkull("Herobrine", Items.getItem("gui.trolls.herobrine"), true)); inv.setItem(40, SetItems.buildItem(Items.getItem("gui.trolls.tornado"), XMaterial.WHITE_WOOL.parseMaterial(), "§cDestroys the Map!")); inv.setItem(41, SetItems.buildItem(Items.getItem("gui.trolls.fakeinv"), XMaterial.CHEST.parseMaterial())); inv.setItem(42, @@ -402,7 +402,7 @@ public static void setPageTwoTrolls(Inventory inv, Player p) { @Override public void run() { items.add(SetItems.buildSkull(ArrayUtils.trolling.get(p.getName()), - "§2Youre Trolling §c" + ArrayUtils.trolling.get(p.getName()))); + "§2You're Trolling §c" + ArrayUtils.trolling.get(p.getName()), false)); new BukkitRunnable() { @@ -465,7 +465,7 @@ public void run() { for (Player all : Bukkit.getOnlinePlayers()) { if (i != 45) { try { - items.add(SetItems.buildSkull(all.getName(), "§2" + all.getName())); + items.add(SetItems.buildSkull(all.getName(), "§2" + all.getName(), false)); } catch (Exception e) { e.printStackTrace(); } @@ -492,7 +492,7 @@ public void run() { for (Player all : Bukkit.getOnlinePlayers()) { if (i != 45) { try { - cpinv.addItem(SetItems.buildSkull(all.getName(), "§2" + all.getName())); + cpinv.addItem(SetItems.buildSkull(all.getName(), "§2" + all.getName(), false)); } catch (Exception e) { e.printStackTrace(); diff --git a/src/main/java/de/presti/trollv4/invs/SetItems.java b/src/main/java/de/presti/trollv4/invs/SetItems.java index 3006655..21f7f0d 100644 --- a/src/main/java/de/presti/trollv4/invs/SetItems.java +++ b/src/main/java/de/presti/trollv4/invs/SetItems.java @@ -5,6 +5,7 @@ import org.bukkit.Bukkit; import org.bukkit.Material; +import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; import com.cryptomorin.xseries.SkullUtils; @@ -14,36 +15,40 @@ public class SetItems { - public static ItemStack buildSkull(String p, String name) { + public static ItemStack buildSkull(String p, String name, boolean forceOnlineLookup) { ArrayList lore = new ArrayList(); - String uuid = ""; + UUID uuid = null; - try { - uuid = PlayerInfo.getUUID(p); - } catch (Exception e) { - uuid = "cracked"; - } + Player player = Bukkit.getPlayer(p); - if (uuid == null || uuid.equalsIgnoreCase("") || uuid.isEmpty()) { - uuid = "cracked"; + if (forceOnlineLookup) { + try { + String infoUUID = PlayerInfo.getUUID(p); + if (infoUUID != null) + uuid = UUID.fromString(infoUUID); + } catch (Exception ignore) {} + } else { + if (player != null) { + uuid = player.getUniqueId(); + } } - ItemStack skull = (uuid.equalsIgnoreCase("cracked") ? new ItemStack(XMaterial.PLAYER_HEAD.parseMaterial()) - : SkullUtils.getSkull(UUID.fromString(uuid))); + ItemStack skull = uuid == null ? new ItemStack(XMaterial.PLAYER_HEAD.parseMaterial()) + : SkullUtils.getSkull(uuid); + ItemMeta skullm = skull.getItemMeta(); - if (Bukkit.getPlayer(p) != null) { - if (Bukkit.getPlayer(p).isOp()) { + if (player != null) { + if (player.isOp()) { lore.add("§cThis User has OP!"); } - if (Bukkit.getPlayer(p).hasPermission("troll.player")) { + if (player.hasPermission("troll.player")) { lore.add("§cThis User can acces the Troll Gui!"); } skullm.setLore(lore); - } skullm.setDisplayName(name); diff --git a/src/main/java/de/presti/trollv4/listener/GuiListener.java b/src/main/java/de/presti/trollv4/listener/GuiListener.java index 9401287..d4be6b6 100644 --- a/src/main/java/de/presti/trollv4/listener/GuiListener.java +++ b/src/main/java/de/presti/trollv4/listener/GuiListener.java @@ -246,7 +246,7 @@ public void run() { int i = 0; for (Player all : Bukkit.getOnlinePlayers()) { if (i > (45 * page)) { - items.add(SetItems.buildSkull(all.getName(), "§2" + all.getName())); + items.add(SetItems.buildSkull(all.getName(), "§2" + all.getName(), false)); } i++; } @@ -269,7 +269,7 @@ public void run() { for (Player all : Bukkit.getOnlinePlayers()) { if (i > (45 * page)) { e.getInventory() - .addItem(SetItems.buildSkull(all.getName(), "§2" + all.getName())); + .addItem(SetItems.buildSkull(all.getName(), "§2" + all.getName(), false)); } i++; } diff --git a/src/main/java/de/presti/trollv4/main/Changelog.java b/src/main/java/de/presti/trollv4/main/Changelog.java index 170e8db..ced0753 100644 --- a/src/main/java/de/presti/trollv4/main/Changelog.java +++ b/src/main/java/de/presti/trollv4/main/Changelog.java @@ -137,13 +137,55 @@ public static void logGUI(Player p) { Data.changelogRemove + "Fixed a bug related to the Selection GUI." } )); - inv.setItem(35, + + inv.setItem(37, SetItems.buildItem("§2Version » §c4.5.10", XMaterial.PAPER, new String[]{ Data.changelogAdd + "Adding a config value for the spooky world generation." } )); + inv.setItem(38, + SetItems.buildItem("§2Version » §c4.5.11", XMaterial.PAPER, + new String[]{ + Data.changelogChange + "NPC based trolls should work on every version now." + } + )); + + inv.setItem(40, + SetItems.buildItem("§2Version » §c4.5.12 §a+ §c4.5.13", XMaterial.PAPER, + new String[]{ + Data.changelogAdd + "Added a warning if the whitelist is on while having community-surprise active.", + Data.changelogAdd + "Option for custom spookyworld name.", + Data.changelogChange + "Spooky world will now ONLY be created on start." + } + )); + + inv.setItem(41, + SetItems.buildItem("§2Version » §c4.5.14", XMaterial.PAPER, + new String[]{ + Data.changelogAdd + "Added confirmation menu for desturctiv trolls.", + Data.changelogAdd + "Added vomit troll.", + Data.changelogAdd + "Added infinite loading screen troll." + } + )); + + inv.setItem(42, + SetItems.buildItem("§2Version » §c4.5.15 §a", XMaterial.PAPER, + new String[]{ + Data.changelogAdd + "1.20 Support.", + Data.changelogChange + "A lot of code cleanup and dependency fixing." + } + )); + + inv.setItem(43, + SetItems.buildItem("§2Version » §c4.5.16", XMaterial.PAPER, + new String[]{ + Data.changelogChange + "Bug fixing for cracked servers.", + Data.changelogChange + "Reducing console spamming." + } + )); + inv.setItem(53, SetItems.buildItem("§3Credits", XMaterial.WRITABLE_BOOK));