From dc2a8fbdca15d280d3f8686329f1e06900ed19ff Mon Sep 17 00:00:00 2001 From: "saviorseven11@gmail.com" Date: Sat, 26 Jun 2021 23:16:00 -0700 Subject: [PATCH] Add in CustomModelData int's for Knot. This permits custom models for textures on Vanilla Clients. I will attach a pastebin that contains the ID's matched to their respective items for the sake of organization. https://pastebin.com/raw/5dt8f6VB --- .../mc/namelayer/gui/AbstractGroupGUI.java | 42 +++++++++++++++---- .../mc/namelayer/gui/AdminFunctionsGUI.java | 6 +++ .../mc/namelayer/gui/GUIGroupOverview.java | 27 ++++++++++++ .../mc/namelayer/gui/InvitationGUI.java | 13 ++++++ .../mc/namelayer/gui/MainGroupGUI.java | 35 ++++++++++++++++ .../mc/namelayer/gui/PermissionManageGUI.java | 11 +++++ 6 files changed, 127 insertions(+), 7 deletions(-) diff --git a/namelayer-spigot/src/main/java/vg/civcraft/mc/namelayer/gui/AbstractGroupGUI.java b/namelayer-spigot/src/main/java/vg/civcraft/mc/namelayer/gui/AbstractGroupGUI.java index cad9b09d..cbca3387 100644 --- a/namelayer-spigot/src/main/java/vg/civcraft/mc/namelayer/gui/AbstractGroupGUI.java +++ b/namelayer-spigot/src/main/java/vg/civcraft/mc/namelayer/gui/AbstractGroupGUI.java @@ -67,19 +67,35 @@ public Group getGroup() { } public static ItemStack goBackStack() { - if (mats != null) return mats.getItemStack(MaterialInterface.Specific.BACK); + if (mats != null) { + ItemStack is = mats.getItemStack(MaterialInterface.Specific.BACK); + is.setCustomModelData(706); + return is; + } return new ItemStack(Material.BARRIER); // common for now } public static ItemStack yesStack() { - if (mats != null) return mats.getItemStack(MaterialInterface.Specific.GREEN); + if (mats != null) { + ItemStack is = mats.getItemStack(MaterialInterface.Specific.GREEN); + is.setCustomModelData(705); + return is; + } return new ItemStack(Material.BARRIER); // common for now } public static ItemStack noStack() { - if (mats != null) return mats.getItemStack(MaterialInterface.Specific.RED); + if (mats != null) { + ItemStack is = mats.getItemStack(MaterialInterface.Specific.RED); + is.setCustomModelData(707); + return is; + } return new ItemStack(Material.BARRIER); // common for now } public static ItemStack modStack() { - if (mats != null) return mats.getItemStack(MaterialInterface.Specific.MOD); + if (mats != null) { + ItemStack is = mats.getItemStack(MaterialInterface.Specific.MOD); + is.setCustomModelData(708); + return is; + } return new ItemStack(Material.BARRIER); // common for now } public Material modMat() { @@ -87,11 +103,19 @@ public Material modMat() { return Material.BARRIER; // common for now } public ItemStack blacklistStack() { - if (mats != null) return mats.getItemStack(MaterialInterface.Specific.BLACKLIST); + if (mats != null) { + ItemStack is = mats.getItemStack(MaterialInterface.Specific.BLACKLIST); + is.setCustomModelData(709); + return is; + } return new ItemStack(Material.BARRIER); // common for now } public ItemStack permsStack() { - if (mats != null) return mats.getItemStack(MaterialInterface.Specific.PERMS); + if (mats != null) { + ItemStack is = mats.getItemStack(MaterialInterface.Specific.PERMS); + is.setCustomModelData(710); + return is; + } return new ItemStack(Material.BARRIER); // common for now } public ItemStack mergeStack() { @@ -99,7 +123,11 @@ public ItemStack mergeStack() { return new ItemStack(Material.BARRIER); // common for now } public ItemStack defaultStack() { - if (mats != null) return mats.getItemStack(MaterialInterface.Specific.DEFAULT); + if (mats != null) { + ItemStack is = mats.getItemStack(MaterialInterface.Specific.DEFAULT); + is.setCustomModelData(711); + return is; + } return new ItemStack(Material.BARRIER); // common for now } diff --git a/namelayer-spigot/src/main/java/vg/civcraft/mc/namelayer/gui/AdminFunctionsGUI.java b/namelayer-spigot/src/main/java/vg/civcraft/mc/namelayer/gui/AdminFunctionsGUI.java index 419e93b9..93872010 100644 --- a/namelayer-spigot/src/main/java/vg/civcraft/mc/namelayer/gui/AdminFunctionsGUI.java +++ b/namelayer-spigot/src/main/java/vg/civcraft/mc/namelayer/gui/AdminFunctionsGUI.java @@ -36,6 +36,7 @@ public void showScreen() { // linking ItemStack linkStack = new ItemStack(Material.GOLD_INGOT); ItemUtils.setDisplayName(linkStack, ChatColor.GOLD + "Link group"); + linkStack.setCustomModelData(700); Clickable linkClick; ItemUtils.addLore(linkStack, ChatColor.RED @@ -46,6 +47,7 @@ public void showScreen() { // merging ItemStack mergeStack = new ItemStack(Material.SPONGE); ItemUtils.setDisplayName(mergeStack, ChatColor.GOLD + "Merge group"); + mergeStack.setCustomModelData(701); Clickable mergeClick; ItemUtils.addLore(mergeStack, ChatColor.RED @@ -68,6 +70,7 @@ public void showScreen() { ci.setSlot(mergeClick, 12); // transferring group ItemStack transferStack = new ItemStack(Material.PACKED_ICE); + transferStack.setCustomModelData(702); ItemUtils.setDisplayName(transferStack, ChatColor.GOLD + "Transfer group to new primary owner"); Clickable transferClick; @@ -86,6 +89,7 @@ public void clicked(Player p) { ci.setSlot(transferClick, 14); // deleting group ItemStack deletionStack = new ItemStack(Material.BARRIER); + deletionStack.setCustomModelData(703); ItemUtils.setDisplayName(deletionStack, ChatColor.GOLD + "Delete group"); Clickable deletionClick; if (gm.hasAccess(g, p.getUniqueId(), @@ -165,6 +169,7 @@ public void onReply(String[] arg0) { ClickableInventory confirmInv = new ClickableInventory(27, g.getName()); ItemStack info = new ItemStack(Material.PAPER); + info.setCustomModelData(704); ItemUtils.setDisplayName(info, ChatColor.GOLD + "Transfer group to " + playerName); ItemUtils.addLore(info, ChatColor.RED @@ -213,6 +218,7 @@ public void clicked(Player p) { private void showDeletionMenu() { ClickableInventory confirmInv = new ClickableInventory(27, g.getName()); ItemStack info = new ItemStack(Material.PAPER); + info.setCustomModelData(712); ItemUtils.setDisplayName(info, ChatColor.GOLD + "Delete group"); ItemUtils.addLore(info, ChatColor.RED + "Are you sure that you want to", ChatColor.RED + "delete this group? You can not undo this!"); diff --git a/namelayer-spigot/src/main/java/vg/civcraft/mc/namelayer/gui/GUIGroupOverview.java b/namelayer-spigot/src/main/java/vg/civcraft/mc/namelayer/gui/GUIGroupOverview.java index 57200660..71c3af65 100644 --- a/namelayer-spigot/src/main/java/vg/civcraft/mc/namelayer/gui/GUIGroupOverview.java +++ b/namelayer-spigot/src/main/java/vg/civcraft/mc/namelayer/gui/GUIGroupOverview.java @@ -95,6 +95,7 @@ public void clicked(Player p) { // previous button if (currentPage > 0) { ItemStack back = new ItemStack(Material.ARROW); + back.setCustomModelData(713); ItemUtils.setDisplayName(back, ChatColor.GOLD + "Go to previous page"); Clickable baCl = new Clickable(back) { @@ -111,6 +112,7 @@ public void clicked(Player arg0) { // next button if ((45 * (currentPage + 1)) <= groups.size()) { ItemStack forward = new ItemStack(Material.ARROW); + forward.setCustomModelData(714); ItemUtils.setDisplayName(forward, ChatColor.GOLD + "Go to next page"); Clickable forCl = new Clickable(forward) { @@ -160,6 +162,7 @@ private List getGroupClickables() { switch (pType) { case MEMBERS: is = new ItemStack(Material.LEATHER_CHESTPLATE); + is.setCustomModelData(715); ItemUtils.addLore(is, ChatColor.AQUA + "Your rank: Member"); break; case MODS: @@ -168,11 +171,15 @@ private List getGroupClickables() { break; case ADMINS: is = new ItemStack(Material.IRON_CHESTPLATE); + is.setCustomModelData(716); ItemUtils.addLore(is, ChatColor.AQUA + "Your rank: Admin"); break; case OWNER: is = new ItemStack(Material.DIAMOND_CHESTPLATE); + is.setCustomModelData(717); if (g.isOwner(p.getUniqueId())) { + //set custom for prim owner + is.setCustomModelData(718); ItemUtils.addLore(is, ChatColor.AQUA + "Your rank: Primary owner"); } else { @@ -188,6 +195,24 @@ private List getGroupClickables() { if (g.getName().equals(defaultGroupName)) { List lore = im.getLore(); lore.add(ChatColor.DARK_AQUA + "Your current default group"); + switch(is.getCustomModelData()) { + //Member ID + case 715: + is.setCustomModelData(719); + //Mod ID + case 708: + is.setCustomModelData(720); + //Admin ID + case 716: + is.setCustomModelData(721); + //Owner ID + case 717: + is.setCustomModelData(722); + //PrimOwner ID + case 718: + is.setCustomModelData(723); + default: + } im.setLore(lore); im.addEnchant(Enchantment.DURABILITY, 1, true); } @@ -225,6 +250,7 @@ public void clicked(Player arg0) { private Clickable getCreateGroupClickable() { ItemStack is = new ItemStack(Material.APPLE); + is.setCustomModelData(724); ItemUtils.setDisplayName(is, ChatColor.GOLD + "Create group"); Clickable c = new Clickable(is) { @@ -339,6 +365,7 @@ public void run() { private Clickable getJoinGroupClickable() { ItemStack is = new ItemStack(Material.CHEST); + is.setCustomModelData(725); ItemUtils.setDisplayName(is, ChatColor.GOLD + "Join password protected group"); Clickable c = new Clickable(is) { diff --git a/namelayer-spigot/src/main/java/vg/civcraft/mc/namelayer/gui/InvitationGUI.java b/namelayer-spigot/src/main/java/vg/civcraft/mc/namelayer/gui/InvitationGUI.java index e9e30d0e..c8390de8 100644 --- a/namelayer-spigot/src/main/java/vg/civcraft/mc/namelayer/gui/InvitationGUI.java +++ b/namelayer-spigot/src/main/java/vg/civcraft/mc/namelayer/gui/InvitationGUI.java @@ -40,6 +40,7 @@ private void showScreen() { ClickableInventory ci = new ClickableInventory(27, g.getName()); ItemStack explain = new ItemStack(Material.PAPER); + explain.setCustomModelData(726); ItemUtils.setDisplayName(explain, ChatColor.GOLD + "Select an option"); ItemUtils.addLore(explain, ChatColor.AQUA + "Please select the rank ", ChatColor.AQUA + "you want the invited player to have"); ci.setSlot(new DecorationStack(explain), 4); @@ -52,6 +53,18 @@ private void showScreen() { private Clickable produceOptionStack(Material item, String niceRankName, final PlayerType pType, PermissionType perm) { ItemStack is = new ItemStack(item); + switch(item) { + case LEATHER_CHESTPLATE: + is.setCustomModelData(715); + case GOLDEN_CHESTPLATE: + is.setCustomModelData(708); + case IRON_CHESTPLATE: + is.setCustomModelData(716); + case DIAMOND_CHESTPLATE: + is.setCustomModelData(717); + default: + //uh + } ItemMeta im = is.getItemMeta(); im.addItemFlags(ItemFlag.HIDE_ATTRIBUTES); is.setItemMeta(im); diff --git a/namelayer-spigot/src/main/java/vg/civcraft/mc/namelayer/gui/MainGroupGUI.java b/namelayer-spigot/src/main/java/vg/civcraft/mc/namelayer/gui/MainGroupGUI.java index 83a80739..74b702d7 100644 --- a/namelayer-spigot/src/main/java/vg/civcraft/mc/namelayer/gui/MainGroupGUI.java +++ b/namelayer-spigot/src/main/java/vg/civcraft/mc/namelayer/gui/MainGroupGUI.java @@ -94,6 +94,7 @@ public void showScreen() { // back button if (currentPage > 0) { ItemStack back = new ItemStack(Material.ARROW); + back.setCustomModelData(713); ItemUtils.setDisplayName(back, ChatColor.GOLD + "Go to previous page"); Clickable baCl = new Clickable(back) { @@ -110,6 +111,7 @@ public void clicked(Player arg0) { // next button if ((45 * (currentPage + 1)) <= clicks.size()) { ItemStack forward = new ItemStack(Material.ARROW); + forward.setCustomModelData(714); ItemUtils.setDisplayName(forward, ChatColor.GOLD + "Go to next page"); Clickable forCl = new Clickable(forward) { @@ -177,6 +179,7 @@ private List constructClickables() { final BlackList black = NameLayerPlugin.getBlackList(); for (final UUID uuid : black.getBlacklist(g)) { ItemStack is = new ItemStack(Material.LEATHER_CHESTPLATE); + is.setCustomModelData(709); LeatherArmorMeta meta = (LeatherArmorMeta) is.getItemMeta(); meta.setColor(Color.BLACK); meta.addItemFlags(ItemFlag.HIDE_ATTRIBUTES); @@ -227,6 +230,7 @@ public void clicked(Player arg0) { .getGroupManagerDao().getInvitesForGroup(g.getName()); for (Entry entry : invites.entrySet()) { ItemStack is = new ItemStack(Material.CHAINMAIL_CHESTPLATE); + is.setCustomModelData(727); ItemMeta im = is.getItemMeta(); im.addItemFlags(ItemFlag.HIDE_ATTRIBUTES); is.setItemMeta(im); @@ -423,6 +427,18 @@ private Clickable constructMemberClickable(Material material, final UUID toDisplay, PlayerType rank) { Clickable c; ItemStack is = new ItemStack(material); + switch(material) { + case LEATHER_CHESTPLATE: + is.setCustomModelData(715); + case GOLDEN_CHESTPLATE: + is.setCustomModelData(708); + case IRON_CHESTPLATE: + is.setCustomModelData(716); + case DIAMOND_CHESTPLATE: + is.setCustomModelData(717); + default: + //how + } ItemMeta im = is.getItemMeta(); im.addItemFlags(ItemFlag.HIDE_ATTRIBUTES); is.setItemMeta(im); @@ -473,6 +489,7 @@ public void showDetail(final UUID uuid) { String playerName = NameAPI.getCurrentName(uuid); ItemStack info = new ItemStack(Material.PAPER); + info.setCustomModelData(728); ItemUtils.setDisplayName(info, ChatColor.GOLD + playerName); String rankName = getRankName(uuid); ItemUtils.addLore(info, ChatColor.GOLD + "Current rank: " + rankName); @@ -511,6 +528,18 @@ private Clickable setupDetailSlot(Material slotMaterial, final UUID toChange, final PlayerType pType) { final PlayerType rank = g.getCurrentRank(toChange); ItemStack mod = new ItemStack(slotMaterial); + switch (slotMaterial) { + case LEATHER_CHESTPLATE: + mod.setCustomModelData(715); + case GOLDEN_CHESTPLATE: + mod.setCustomModelData(708); + case IRON_CHESTPLATE: + mod.setCustomModelData(716); + case DIAMOND_CHESTPLATE: + mod.setCustomModelData(717); + default: + //please stop breaking + } ItemMeta im = mod.getItemMeta(); im.addItemFlags(ItemFlag.HIDE_ATTRIBUTES); mod.setItemMeta(im); @@ -806,6 +835,7 @@ public void onReply(String[] message) { private Clickable getPasswordClickable() { Clickable c; ItemStack is = new ItemStack(Material.OAK_SIGN); + is.setCustomModelData(729); ItemUtils.setDisplayName(is, ChatColor.GOLD + "Add or change password"); if (gm.hasAccess(g, p.getUniqueId(), PermissionType.getPermission("PASSWORD"))) { @@ -915,6 +945,7 @@ public void clicked(Player arg0) { private Clickable getInvitePlayerClickable() { ItemStack inviteStack = new ItemStack(Material.COOKIE); + inviteStack.setCustomModelData(730); ItemUtils.setDisplayName(inviteStack, ChatColor.GOLD + "Invite new member"); return new Clickable(inviteStack) { @@ -968,6 +999,7 @@ public void clicked(Player p) { private Clickable getSuperMenuClickable() { ItemStack is = new ItemStack(Material.DIAMOND); + is.setCustomModelData(731); ItemUtils.setDisplayName(is, ChatColor.GOLD + "Return to overview for all your groups"); return new Clickable(is) { @@ -981,6 +1013,7 @@ public void clicked(Player p) { private Clickable getAdminStuffClickable() { ItemStack is = new ItemStack(Material.DIAMOND); + is.setCustomModelData(732); ItemUtils.setDisplayName(is, ChatColor.GOLD + "Owner functions"); return new Clickable(is) { @@ -999,6 +1032,7 @@ public void clicked(Player p) { private Clickable getLeaveGroupClickable() { Clickable c; ItemStack is = new ItemStack(Material.IRON_DOOR); + is.setCustomModelData(733); ItemUtils.setDisplayName(is, ChatColor.GOLD + "Leave group"); if (g.isOwner(p.getUniqueId())) { ItemUtils.addLore(is, ChatColor.RED + "You cant leave this group,", @@ -1063,6 +1097,7 @@ public void clicked(Player p) { private Clickable getInfoStack() { Clickable c; ItemStack is = new ItemStack(Material.PAPER); + is.setCustomModelData(734); ItemUtils.setDisplayName(is, ChatColor.GOLD + "Stats for " + g.getName()); ItemUtils.addLore(is, ChatColor.DARK_AQUA + "Your current rank: " + ChatColor.YELLOW diff --git a/namelayer-spigot/src/main/java/vg/civcraft/mc/namelayer/gui/PermissionManageGUI.java b/namelayer-spigot/src/main/java/vg/civcraft/mc/namelayer/gui/PermissionManageGUI.java index 354a267b..983d364c 100644 --- a/namelayer-spigot/src/main/java/vg/civcraft/mc/namelayer/gui/PermissionManageGUI.java +++ b/namelayer-spigot/src/main/java/vg/civcraft/mc/namelayer/gui/PermissionManageGUI.java @@ -59,6 +59,7 @@ public void showScreen() { produceSelectionClickable(Material.DIAMOND_CHESTPLATE, PlayerType.OWNER), 17); ItemStack backStack = new ItemStack(Material.ARROW); + backStack.setCustomModelData(735); ItemUtils.setDisplayName(backStack, ChatColor.GOLD + "Go back to member management"); ci.setSlot(new Clickable(backStack) { @@ -74,6 +75,16 @@ public void clicked(Player arg0) { private Clickable produceSelectionClickable(Material mat, final PlayerType pType) { ItemStack is = new ItemStack(mat); + switch (mat) { + case LEATHER_CHESTPLATE: + is.setCustomModelData(715); + case GOLDEN_CHESTPLATE: + is.setCustomModelData(708); + case IRON_CHESTPLATE: + is.setCustomModelData(716); + case DIAMOND_CHESTPLATE: + is.setCustomModelData(717); + } ItemMeta im = is.getItemMeta(); im.addItemFlags(ItemFlag.HIDE_ATTRIBUTES); is.setItemMeta(im);