From 0801043ea6434f0ddda35a4b9b4a971428c9569a Mon Sep 17 00:00:00 2001 From: Brianna O'Keefe Date: Tue, 6 Nov 2018 19:43:59 -0500 Subject: [PATCH] Will now display chance in preview when enabled. Fixed issue with rewriting command in preview. --- .../java/com/songoda/ultimatekits/Lang.java | 2 ++ .../ultimatekits/editor/KitEditor.java | 2 +- .../com/songoda/ultimatekits/kit/Kit.java | 28 ++++++++++++------- .../com/songoda/ultimatekits/kit/KitItem.java | 17 +++++++++++ .../ultimatekits/utils/SettingsManager.java | 1 + 5 files changed, 39 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/songoda/ultimatekits/Lang.java b/src/main/java/com/songoda/ultimatekits/Lang.java index 26d0b47..bce82ea 100644 --- a/src/main/java/com/songoda/ultimatekits/Lang.java +++ b/src/main/java/com/songoda/ultimatekits/Lang.java @@ -58,6 +58,8 @@ public enum Lang { COMMAND("Command", "&7Command"), + CHANCE("Chance", "Chance"), + MONEY("Money", "&6Money"), LINK("Link", "&9Link"), diff --git a/src/main/java/com/songoda/ultimatekits/editor/KitEditor.java b/src/main/java/com/songoda/ultimatekits/editor/KitEditor.java index b1108a9..8b0a6c1 100644 --- a/src/main/java/com/songoda/ultimatekits/editor/KitEditor.java +++ b/src/main/java/com/songoda/ultimatekits/editor/KitEditor.java @@ -101,7 +101,7 @@ public class KitEditor { if (meta.hasLore()) itemLore = meta.getLore(); else itemLore = new ArrayList<>(); itemLore.add(TextComponent.convertToInvisibleString("----")); - itemLore.add(TextComponent.formatText("&7Chance: &6" + item.getChance() + "%")); + itemLore.add(TextComponent.formatText("&7" + Lang.CHANCE.getConfigValue() + ": &6" + item.getChance() + "%")); if (playerData.isInFuction()) { itemLore.add(TextComponent.formatText("&7Display Item: &6" + (item.getDisplayItem() == null ? "null" : item.getDisplayItem().name()))); itemLore.add(TextComponent.formatText("&7Display Name: &6" + TextComponent.formatText(item.getDisplayName()))); diff --git a/src/main/java/com/songoda/ultimatekits/kit/Kit.java b/src/main/java/com/songoda/ultimatekits/kit/Kit.java index 4bb6cbc..5347f6b 100644 --- a/src/main/java/com/songoda/ultimatekits/kit/Kit.java +++ b/src/main/java/com/songoda/ultimatekits/kit/Kit.java @@ -316,17 +316,25 @@ public class Kit { if (num == (max - 18)) num++; } - if (is.getAmount() > 64) { - if (is.hasItemMeta() && is.getItemMeta().hasLore()) { - ArrayList lore = new ArrayList<>(); - for (String str : is.getItemMeta().getLore()) { - str = str.replace("{PLAYER}", p.getName()); - str = str.replace("", p.getName()); - lore.add(str); - } - is.getItemMeta().setLore(lore); - } + ItemMeta meta = is.hasItemMeta() ? is.getItemMeta() : Bukkit.getItemFactory().getItemMeta(is.getType()); + ArrayDeque lore; + if (meta.hasLore()) { + lore = new ArrayDeque<>(meta.getLore()); + } else { + lore = new ArrayDeque<>(); + } + + List newLore = new ArrayList<>(); + for (String str : lore) { + str = str.replace("{PLAYER}", p.getName()).replace("", p.getName()); + newLore.add(str); + } + + meta.setLore(newLore); + is.setItemMeta(meta); + + if (is.getAmount() > 64) { int overflow = is.getAmount() % 64; int stackamt = is.getAmount() / 64; int num3 = 0; diff --git a/src/main/java/com/songoda/ultimatekits/kit/KitItem.java b/src/main/java/com/songoda/ultimatekits/kit/KitItem.java index 382c751..26ba66b 100644 --- a/src/main/java/com/songoda/ultimatekits/kit/KitItem.java +++ b/src/main/java/com/songoda/ultimatekits/kit/KitItem.java @@ -1,17 +1,21 @@ package com.songoda.ultimatekits.kit; import com.songoda.arconix.api.methods.formatting.TextComponent; +import com.songoda.ultimatekits.Lang; import com.songoda.ultimatekits.UltimateKits; import com.songoda.ultimatekits.kit.type.KitContent; import com.songoda.ultimatekits.kit.type.KitContentCommand; import com.songoda.ultimatekits.kit.type.KitContentEconomy; import com.songoda.ultimatekits.kit.type.KitContentItem; import com.songoda.ultimatekits.utils.Methods; +import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.Material; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; +import java.util.ArrayDeque; +import java.util.ArrayList; import java.util.Arrays; public class KitItem { @@ -170,6 +174,19 @@ public class KitItem { meta.setLore(Arrays.asList(TextComponent.formatText(displayLore))); } + if (UltimateKits.getInstance().getConfig().getBoolean("Main.Display Chance In Preview")) { + ArrayDeque lore; + if (meta.hasLore()) { + lore = new ArrayDeque<>(meta.getLore()); + } else { + lore = new ArrayDeque<>(); + } + + if (lore.size() != 0) lore.addFirst(""); + lore.addFirst(TextComponent.formatText("&7" + Lang.CHANCE.getConfigValue() + ": &6" + (chance == 0 ? 100 : chance) + "%")); + meta.setLore(new ArrayList<>(lore)); + } + item.setItemMeta(meta); return item; } diff --git a/src/main/java/com/songoda/ultimatekits/utils/SettingsManager.java b/src/main/java/com/songoda/ultimatekits/utils/SettingsManager.java index 88b5ee1..53e2646 100644 --- a/src/main/java/com/songoda/ultimatekits/utils/SettingsManager.java +++ b/src/main/java/com/songoda/ultimatekits/utils/SettingsManager.java @@ -222,6 +222,7 @@ public class SettingsManager implements Listener { o7("EnableSound", "Main.Sounds Enabled", true), o8("Sound", "Main.Sound Played While Clicking In Inventories", "ENTITY_ENDERMAN_TELEPORT"), o85("-", "Main.Prevent The Redeeming of a Kit When Inventory Is Full", true), + o342("-", "Main.Display Chance In Preview", true), CURRENCY_SYMBOL("-", "Main.Currency Symbol", "$"), o9("Exit-Icon", "Interfaces.Exit Icon", "OAK_DOOR"),