From f648c936ad34dc689df58a56b0a17a1044f85919 Mon Sep 17 00:00:00 2001 From: Florian CUNY Date: Mon, 26 Feb 2018 20:18:09 +0100 Subject: [PATCH] Continued working on the SettingsPanel. Did minor fixes in PanelItemBuilder --- .../us/tastybento/bskyblock/api/flags/Flag.java | 6 +++++- .../us/tastybento/bskyblock/api/panels/Panel.java | 3 ++- .../api/panels/builders/PanelItemBuilder.java | 13 ++++++------- .../java/us/tastybento/bskyblock/lists/Flags.java | 11 +++++++++++ .../tastybento/bskyblock/panels/SettingsPanel.java | 12 +++++++++--- 5 files changed, 33 insertions(+), 12 deletions(-) diff --git a/src/main/java/us/tastybento/bskyblock/api/flags/Flag.java b/src/main/java/us/tastybento/bskyblock/api/flags/Flag.java index 011ba0ffa..e480693a9 100644 --- a/src/main/java/us/tastybento/bskyblock/api/flags/Flag.java +++ b/src/main/java/us/tastybento/bskyblock/api/flags/Flag.java @@ -9,6 +9,7 @@ import org.bukkit.inventory.ItemStack; import us.tastybento.bskyblock.api.commands.User; import us.tastybento.bskyblock.api.panels.PanelItem; import us.tastybento.bskyblock.api.panels.builders.PanelItemBuilder; +import us.tastybento.bskyblock.managers.RanksManager; public class Flag implements Comparable { @@ -108,7 +109,10 @@ public class Flag implements Comparable { public PanelItem toPanelItem(User user) { return new PanelItemBuilder() .icon(new ItemStack(icon)) - .name(user.getTranslation("protection.flags." + id)) + .name(user.getTranslation("protection.panel.flag-item.name-layout", "[name]", user.getTranslation("protection.flags." + id + ".name"))) + .description(user.getTranslation("protection.panel.flag-item.description-layout", + "[description]", user.getTranslation("protection.flags." + id + ".description"), + "[rank]", "Owner")) .clickHandler((clicker, click) -> { clicker.sendRawMessage("You clicked on : " + id); return true; diff --git a/src/main/java/us/tastybento/bskyblock/api/panels/Panel.java b/src/main/java/us/tastybento/bskyblock/api/panels/Panel.java index 0443e0483..4f5dd948e 100644 --- a/src/main/java/us/tastybento/bskyblock/api/panels/Panel.java +++ b/src/main/java/us/tastybento/bskyblock/api/panels/Panel.java @@ -31,7 +31,8 @@ public class Panel { inventory = Bukkit.createInventory(null, size, name); // Fill the inventory and return for (Map.Entry en: items.entrySet()) { - inventory.setItem(en.getKey(), en.getValue().getItem()); + //TODO allow multi-paging + if (en.getKey() < 54) inventory.setItem(en.getKey(), en.getValue().getItem()); } } else { inventory = Bukkit.createInventory(null, 9, name); diff --git a/src/main/java/us/tastybento/bskyblock/api/panels/builders/PanelItemBuilder.java b/src/main/java/us/tastybento/bskyblock/api/panels/builders/PanelItemBuilder.java index 4a61a3435..8ee5e505c 100644 --- a/src/main/java/us/tastybento/bskyblock/api/panels/builders/PanelItemBuilder.java +++ b/src/main/java/us/tastybento/bskyblock/api/panels/builders/PanelItemBuilder.java @@ -1,9 +1,6 @@ package us.tastybento.bskyblock.api.panels.builders; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.UUID; +import java.util.*; import org.bukkit.Bukkit; import org.bukkit.Material; @@ -46,11 +43,11 @@ public class PanelItemBuilder { */ @SuppressWarnings("deprecation") public PanelItemBuilder icon(String playerName) { - ItemStack item = new ItemStack(Material.SKULL_ITEM,1,(short)3); + ItemStack item = new ItemStack(Material.SKULL_ITEM, 1, (short) 3); SkullMeta meta = (SkullMeta)item.getItemMeta(); // This is deprecated, but apparently the only way to make it work right now meta.setOwner(playerName); - item.setItemMeta( meta ); + item.setItemMeta(meta); this.icon = item; return this; } @@ -90,7 +87,9 @@ public class PanelItemBuilder { * @return PanelItemBuilder */ public PanelItemBuilder description(String description) { - this.description.add(description); + for (String line : description.split("\n")) { + this.description.add(line); + } return this; } diff --git a/src/main/java/us/tastybento/bskyblock/lists/Flags.java b/src/main/java/us/tastybento/bskyblock/lists/Flags.java index e0936fc7d..b606eb9ea 100644 --- a/src/main/java/us/tastybento/bskyblock/lists/Flags.java +++ b/src/main/java/us/tastybento/bskyblock/lists/Flags.java @@ -30,6 +30,17 @@ import us.tastybento.bskyblock.listeners.flags.TeleportationListener; public class Flags { + // TODO: add HURT_VILLAGERS + // TODO: add TRAPDOOR + // TODO: add DYEING sheeps + // TODO: add ELYTRA + // TODO: add FISHING + // TODO: rename HURT_MOBS to HURT_ANIMALS + // TODO: add INTERACT_TAMED + // TODO: split LEVER_BUTTON into BUTTON and LEVER + // TODO: add KEEP_INVENTORY + // TODO: rename MOB_SPAWN to ANIMAL_SPAWN + public static final Flag BREAK_BLOCKS = new FlagBuilder().id("BREAK_BLOCKS").icon(Material.STONE).listener(new BreakBlocksListener()).build(); public static final Flag PLACE_BLOCKS = new FlagBuilder().id("PLACE_BLOCKS").icon(Material.BEDROCK).listener(new PlaceBlocksListener()).build(); diff --git a/src/main/java/us/tastybento/bskyblock/panels/SettingsPanel.java b/src/main/java/us/tastybento/bskyblock/panels/SettingsPanel.java index 998c8739d..66dc704f8 100644 --- a/src/main/java/us/tastybento/bskyblock/panels/SettingsPanel.java +++ b/src/main/java/us/tastybento/bskyblock/panels/SettingsPanel.java @@ -5,6 +5,7 @@ import us.tastybento.bskyblock.api.commands.User; import us.tastybento.bskyblock.api.flags.Flag; import us.tastybento.bskyblock.api.panels.PanelItem; import us.tastybento.bskyblock.api.panels.builders.PanelBuilder; +import us.tastybento.bskyblock.api.panels.builders.PanelItemBuilder; /** * @author Poslovitch @@ -17,7 +18,14 @@ public class SettingsPanel { */ public static void openPanel(User user) { PanelBuilder panelBuilder = new PanelBuilder() - .setName(user.getTranslation("panels.settings.title")); + .setName(user.getTranslation("protection.panel.title")); + + PanelItem help = new PanelItemBuilder() + .name(user.getTranslation("protection.panel.help-item.name")) + .icon("crashdummie99") // Question marks + .build(); + + panelBuilder.addItem(8, help); for (Flag flag : BSkyBlock.getInstance().getFlagsManager().getFlags()) { PanelItem flagIcon = flag.toPanelItem(user); @@ -26,6 +34,4 @@ public class SettingsPanel { panelBuilder.build().open(user); } - - }