mirror of
https://github.com/BentoBoxWorld/Challenges.git
synced 2024-11-28 13:36:06 +01:00
Cleanup button creation in Settings panel.
This commit is contained in:
parent
7fb5140427
commit
0bb3171c5c
@ -3,15 +3,18 @@ package world.bentobox.challenges.panel.admin;
|
|||||||
|
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import net.wesjd.anvilgui.AnvilGUI;
|
import net.wesjd.anvilgui.AnvilGUI;
|
||||||
|
import world.bentobox.bentobox.api.panels.PanelItem;
|
||||||
import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
|
import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
|
||||||
import world.bentobox.bentobox.api.panels.builders.PanelItemBuilder;
|
import world.bentobox.bentobox.api.panels.builders.PanelItemBuilder;
|
||||||
import world.bentobox.bentobox.api.user.User;
|
import world.bentobox.bentobox.api.user.User;
|
||||||
import world.bentobox.challenges.ChallengesAddon;
|
import world.bentobox.challenges.ChallengesAddon;
|
||||||
|
import world.bentobox.challenges.Settings;
|
||||||
import world.bentobox.challenges.panel.CommonGUI;
|
import world.bentobox.challenges.panel.CommonGUI;
|
||||||
import world.bentobox.challenges.panel.util.NumberGUI;
|
import world.bentobox.challenges.panel.util.NumberGUI;
|
||||||
import world.bentobox.challenges.utils.GuiUtils;
|
import world.bentobox.challenges.utils.GuiUtils;
|
||||||
@ -52,6 +55,7 @@ public class EditSettingsGUI extends CommonGUI
|
|||||||
CommonGUI parentGUI)
|
CommonGUI parentGUI)
|
||||||
{
|
{
|
||||||
super(addon, world, user, topLabel, permissionPrefix, parentGUI);
|
super(addon, world, user, topLabel, permissionPrefix, parentGUI);
|
||||||
|
this.settings = this.addon.getChallengesSettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -66,199 +70,247 @@ public class EditSettingsGUI extends CommonGUI
|
|||||||
PanelBuilder panelBuilder = new PanelBuilder().user(this.user).name(
|
PanelBuilder panelBuilder = new PanelBuilder().user(this.user).name(
|
||||||
this.user.getTranslation("challenges.gui.title.admin.settings-title"));
|
this.user.getTranslation("challenges.gui.title.admin.settings-title"));
|
||||||
|
|
||||||
final int lineLength = this.addon.getChallengesSettings().getLoreLineLength();
|
|
||||||
GuiUtils.fillBorder(panelBuilder);
|
GuiUtils.fillBorder(panelBuilder);
|
||||||
|
|
||||||
// resetChallenges
|
panelBuilder.item(19, this.getSettingsButton(Button.RESET_CHALLENGES));
|
||||||
|
panelBuilder.item(20, this.getSettingsButton(Button.BROADCAST));
|
||||||
List<String> description = new ArrayList<>(2);
|
panelBuilder.item(21, this.getSettingsButton(Button.REMOVE_COMPLETED));
|
||||||
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.reset-on-new"));
|
panelBuilder.item(22, this.getSettingsButton(Button.GLOW_COMPLETED));
|
||||||
description.add(this.user.getTranslation("challenges.gui.descriptions.current-value",
|
panelBuilder.item(23, this.getSettingsButton(Button.FREE_AT_TOP));
|
||||||
"[value]",
|
panelBuilder.item(24, this.getSettingsButton(Button.CHALLENGE_LORE));
|
||||||
this.addon.getChallengesSettings().isResetChallenges() ?
|
panelBuilder.item(33, this.getSettingsButton(Button.LEVEL_LORE));
|
||||||
this.user.getTranslation("challenges.gui.descriptions.enabled") :
|
panelBuilder.item(25, this.getSettingsButton(Button.LORE_LENGTH));
|
||||||
this.user.getTranslation("challenges.gui.descriptions.disabled")));
|
|
||||||
|
|
||||||
panelBuilder.item(19, new PanelItemBuilder().
|
|
||||||
name(this.user.getTranslation("challenges.gui.buttons.admin.reset-on-new")).
|
|
||||||
description(GuiUtils.stringSplit(description, lineLength)).
|
|
||||||
icon(Material.LAVA_BUCKET).
|
|
||||||
clickHandler((panel, user1, clickType, i) -> {
|
|
||||||
this.addon.getChallengesSettings().setResetChallenges(
|
|
||||||
!this.addon.getChallengesSettings().isResetChallenges());
|
|
||||||
this.build();
|
|
||||||
return true;
|
|
||||||
}).
|
|
||||||
glow(this.addon.getChallengesSettings().isResetChallenges()).
|
|
||||||
build());
|
|
||||||
|
|
||||||
// broadcastMessages
|
|
||||||
description.clear();
|
|
||||||
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.broadcast"));
|
|
||||||
description.add(this.user.getTranslation("challenges.gui.descriptions.current-value",
|
|
||||||
"[value]",
|
|
||||||
this.addon.getChallengesSettings().isBroadcastMessages() ?
|
|
||||||
this.user.getTranslation("challenges.gui.descriptions.enabled") :
|
|
||||||
this.user.getTranslation("challenges.gui.descriptions.disabled")));
|
|
||||||
|
|
||||||
panelBuilder.item(20, new PanelItemBuilder().
|
|
||||||
name(this.user.getTranslation("challenges.gui.buttons.admin.broadcast")).
|
|
||||||
description(GuiUtils.stringSplit(description, lineLength)).
|
|
||||||
icon(Material.JUKEBOX).
|
|
||||||
clickHandler((panel, user1, clickType, i) -> {
|
|
||||||
this.addon.getChallengesSettings().setBroadcastMessages(
|
|
||||||
!this.addon.getChallengesSettings().isBroadcastMessages());
|
|
||||||
this.build();
|
|
||||||
return true;
|
|
||||||
}).
|
|
||||||
glow(this.addon.getChallengesSettings().isBroadcastMessages()).
|
|
||||||
build());
|
|
||||||
|
|
||||||
// removeCompleteOneTimeChallenges
|
|
||||||
description.clear();
|
|
||||||
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.remove-completed"));
|
|
||||||
description.add(this.user.getTranslation("challenges.gui.descriptions.current-value",
|
|
||||||
"[value]",
|
|
||||||
this.addon.getChallengesSettings().isRemoveCompleteOneTimeChallenges() ?
|
|
||||||
this.user.getTranslation("challenges.gui.descriptions.enabled") :
|
|
||||||
this.user.getTranslation("challenges.gui.descriptions.disabled")));
|
|
||||||
|
|
||||||
panelBuilder.item(21, new PanelItemBuilder().
|
|
||||||
name(this.user.getTranslation("challenges.gui.buttons.admin.remove-completed")).
|
|
||||||
description(GuiUtils.stringSplit(description, lineLength)).
|
|
||||||
icon(Material.MAGMA_BLOCK).
|
|
||||||
clickHandler((panel, user1, clickType, i) -> {
|
|
||||||
this.addon.getChallengesSettings().setRemoveCompleteOneTimeChallenges(
|
|
||||||
!this.addon.getChallengesSettings().isRemoveCompleteOneTimeChallenges());
|
|
||||||
this.build();
|
|
||||||
return true;
|
|
||||||
}).
|
|
||||||
glow(this.addon.getChallengesSettings().isRemoveCompleteOneTimeChallenges()).
|
|
||||||
build());
|
|
||||||
|
|
||||||
// addCompletedGlow
|
|
||||||
description.clear();
|
|
||||||
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.glow"));
|
|
||||||
description.add(this.user.getTranslation("challenges.gui.descriptions.current-value",
|
|
||||||
"[value]",
|
|
||||||
this.addon.getChallengesSettings().isAddCompletedGlow() ?
|
|
||||||
this.user.getTranslation("challenges.gui.descriptions.enabled") :
|
|
||||||
this.user.getTranslation("challenges.gui.descriptions.disabled")));
|
|
||||||
|
|
||||||
panelBuilder.item(22, new PanelItemBuilder().
|
|
||||||
name(this.user.getTranslation("challenges.gui.buttons.admin.glow")).
|
|
||||||
description(GuiUtils.stringSplit(description, lineLength)).
|
|
||||||
icon(Material.GLOWSTONE).
|
|
||||||
clickHandler((panel, user1, clickType, i) -> {
|
|
||||||
this.addon.getChallengesSettings().setAddCompletedGlow(
|
|
||||||
!this.addon.getChallengesSettings().isAddCompletedGlow());
|
|
||||||
this.build();
|
|
||||||
return true;
|
|
||||||
}).
|
|
||||||
glow(this.addon.getChallengesSettings().isAddCompletedGlow()).
|
|
||||||
build());
|
|
||||||
|
|
||||||
// freeChallengesAtTheTop
|
|
||||||
description.clear();
|
|
||||||
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.free-at-top"));
|
|
||||||
description.add(this.user.getTranslation("challenges.gui.descriptions.current-value",
|
|
||||||
"[value]",
|
|
||||||
this.addon.getChallengesSettings().isAddCompletedGlow() ?
|
|
||||||
this.user.getTranslation("challenges.gui.descriptions.enabled") :
|
|
||||||
this.user.getTranslation("challenges.gui.descriptions.disabled")));
|
|
||||||
|
|
||||||
panelBuilder.item(23, new PanelItemBuilder().
|
|
||||||
name(this.user.getTranslation("challenges.gui.buttons.admin.free-at-top")).
|
|
||||||
description(GuiUtils.stringSplit(description, lineLength)).
|
|
||||||
icon(Material.FILLED_MAP).
|
|
||||||
clickHandler((panel, user1, clickType, i) -> {
|
|
||||||
this.addon.getChallengesSettings().setFreeChallengesFirst(
|
|
||||||
!this.addon.getChallengesSettings().isFreeChallengesFirst());
|
|
||||||
this.build();
|
|
||||||
return true;
|
|
||||||
}).
|
|
||||||
glow(this.addon.getChallengesSettings().isFreeChallengesFirst()).
|
|
||||||
build());
|
|
||||||
|
|
||||||
// Challenge Lore Message
|
|
||||||
description = new ArrayList<>(2);
|
|
||||||
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.challenge-lore"));
|
|
||||||
description.add(this.user.getTranslation("challenges.gui.descriptions.current-value",
|
|
||||||
"[value]", this.addon.getChallengesSettings().getChallengeLoreMessage()));
|
|
||||||
panelBuilder.item(24, new PanelItemBuilder().
|
|
||||||
name(this.user.getTranslation("challenges.gui.buttons.admin.challenge-lore")).
|
|
||||||
description(GuiUtils.stringSplit(description, lineLength)).
|
|
||||||
icon(Material.PAPER).
|
|
||||||
clickHandler((panel, user1, clickType, i) -> {
|
|
||||||
new AnvilGUI(this.addon.getPlugin(),
|
|
||||||
this.user.getPlayer(),
|
|
||||||
this.addon.getChallengesSettings().getChallengeLoreMessage(),
|
|
||||||
(player, reply) -> {
|
|
||||||
this.addon.getChallengesSettings().setChallengeLoreMessage(reply);
|
|
||||||
this.build();
|
|
||||||
return reply;
|
|
||||||
});
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}).
|
|
||||||
glow(false).
|
|
||||||
build());
|
|
||||||
|
|
||||||
// Level Lore Message
|
|
||||||
description = new ArrayList<>(2);
|
|
||||||
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.level-lore"));
|
|
||||||
description.add(this.user.getTranslation("challenges.gui.descriptions.current-value",
|
|
||||||
"[value]", this.addon.getChallengesSettings().getLevelLoreMessage()));
|
|
||||||
panelBuilder.item(33, new PanelItemBuilder().
|
|
||||||
name(this.user.getTranslation("challenges.gui.buttons.admin.level-lore")).
|
|
||||||
description(GuiUtils.stringSplit(description, lineLength)).
|
|
||||||
icon(Material.PAPER).
|
|
||||||
clickHandler((panel, user1, clickType, i) -> {
|
|
||||||
new AnvilGUI(this.addon.getPlugin(),
|
|
||||||
this.user.getPlayer(),
|
|
||||||
this.addon.getChallengesSettings().getLevelLoreMessage(),
|
|
||||||
(player, reply) -> {
|
|
||||||
this.addon.getChallengesSettings().setLevelLoreMessage(reply);
|
|
||||||
this.build();
|
|
||||||
return reply;
|
|
||||||
});
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}).
|
|
||||||
glow(false).
|
|
||||||
build());
|
|
||||||
|
|
||||||
// Lore line length
|
|
||||||
description = new ArrayList<>(2);
|
|
||||||
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.line-length"));
|
|
||||||
description.add(this.user.getTranslation("challenges.gui.descriptions.current-value",
|
|
||||||
"[value]", Integer.toString(this.addon.getChallengesSettings().getLoreLineLength())));
|
|
||||||
panelBuilder.item(25, new PanelItemBuilder().
|
|
||||||
name(this.user.getTranslation("challenges.gui.buttons.admin.line-length")).
|
|
||||||
description(GuiUtils.stringSplit(description, lineLength)).
|
|
||||||
icon(Material.ANVIL).
|
|
||||||
clickHandler((panel, user1, clickType, i) -> {
|
|
||||||
new NumberGUI(this.user,
|
|
||||||
this.addon.getChallengesSettings().getLoreLineLength(),
|
|
||||||
0,
|
|
||||||
lineLength,
|
|
||||||
(status, value) -> {
|
|
||||||
if (status)
|
|
||||||
{
|
|
||||||
this.addon.getChallengesSettings().setLoreLineLength(value);
|
|
||||||
}
|
|
||||||
|
|
||||||
this.build();
|
|
||||||
});
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}).
|
|
||||||
glow(this.addon.getChallengesSettings().isFreeChallengesFirst()).
|
|
||||||
build());
|
|
||||||
|
|
||||||
// Return Button
|
// Return Button
|
||||||
panelBuilder.item(44, this.returnButton);
|
panelBuilder.item(44, this.returnButton);
|
||||||
|
|
||||||
panelBuilder.build();
|
panelBuilder.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private PanelItem getSettingsButton(Button button)
|
||||||
|
{
|
||||||
|
ItemStack icon;
|
||||||
|
String name;
|
||||||
|
List<String> description;
|
||||||
|
boolean glow;
|
||||||
|
PanelItem.ClickHandler clickHandler;
|
||||||
|
|
||||||
|
switch (button)
|
||||||
|
{
|
||||||
|
case RESET_CHALLENGES:
|
||||||
|
{
|
||||||
|
description = new ArrayList<>(2);
|
||||||
|
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.reset-on-new"));
|
||||||
|
description.add(this.user.getTranslation("challenges.gui.descriptions.current-value",
|
||||||
|
"[value]",
|
||||||
|
this.settings.isResetChallenges() ?
|
||||||
|
this.user.getTranslation("challenges.gui.descriptions.enabled") :
|
||||||
|
this.user.getTranslation("challenges.gui.descriptions.disabled")));
|
||||||
|
name = this.user.getTranslation("challenges.gui.buttons.admin.reset-on-new");
|
||||||
|
icon = new ItemStack(Material.LAVA_BUCKET);
|
||||||
|
|
||||||
|
clickHandler = (panel, user1, clickType, i) -> {
|
||||||
|
this.settings.setResetChallenges(
|
||||||
|
!this.settings.isResetChallenges());
|
||||||
|
|
||||||
|
panel.getInventory().setItem(i, this.getSettingsButton(button).getItem());
|
||||||
|
return true;
|
||||||
|
};
|
||||||
|
|
||||||
|
glow = this.settings.isResetChallenges();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case BROADCAST:
|
||||||
|
{
|
||||||
|
description = new ArrayList<>(2);
|
||||||
|
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.broadcast"));
|
||||||
|
description.add(this.user.getTranslation("challenges.gui.descriptions.current-value",
|
||||||
|
"[value]",
|
||||||
|
this.settings.isBroadcastMessages() ?
|
||||||
|
this.user.getTranslation("challenges.gui.descriptions.enabled") :
|
||||||
|
this.user.getTranslation("challenges.gui.descriptions.disabled")));
|
||||||
|
|
||||||
|
description = new ArrayList<>(2);
|
||||||
|
|
||||||
|
name = this.user.getTranslation("challenges.gui.buttons.admin.broadcast");
|
||||||
|
icon = new ItemStack(Material.JUKEBOX);
|
||||||
|
clickHandler = (panel, user1, clickType, i) -> {
|
||||||
|
this.settings.setBroadcastMessages(
|
||||||
|
!this.settings.isBroadcastMessages());
|
||||||
|
panel.getInventory().setItem(i, this.getSettingsButton(button).getItem());
|
||||||
|
return true;
|
||||||
|
};
|
||||||
|
glow = this.settings.isBroadcastMessages();
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case REMOVE_COMPLETED:
|
||||||
|
{
|
||||||
|
description = new ArrayList<>(2);
|
||||||
|
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.remove-completed"));
|
||||||
|
description.add(this.user.getTranslation("challenges.gui.descriptions.current-value",
|
||||||
|
"[value]",
|
||||||
|
this.settings.isRemoveCompleteOneTimeChallenges() ?
|
||||||
|
this.user.getTranslation("challenges.gui.descriptions.enabled") :
|
||||||
|
this.user.getTranslation("challenges.gui.descriptions.disabled")));
|
||||||
|
|
||||||
|
name = this.user.getTranslation("challenges.gui.buttons.admin.remove-completed");
|
||||||
|
icon = new ItemStack(Material.MAGMA_BLOCK);
|
||||||
|
clickHandler = (panel, user1, clickType, i) -> {
|
||||||
|
this.settings.setRemoveCompleteOneTimeChallenges(
|
||||||
|
!this.settings.isRemoveCompleteOneTimeChallenges());
|
||||||
|
panel.getInventory().setItem(i, this.getSettingsButton(button).getItem());
|
||||||
|
return true;
|
||||||
|
};
|
||||||
|
glow = this.settings.isRemoveCompleteOneTimeChallenges();
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case LORE_LENGTH:
|
||||||
|
{
|
||||||
|
description = new ArrayList<>(2);
|
||||||
|
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.line-length"));
|
||||||
|
description.add(this.user.getTranslation("challenges.gui.descriptions.current-value",
|
||||||
|
"[value]", Integer.toString(this.settings.getLoreLineLength())));
|
||||||
|
name = this.user.getTranslation("challenges.gui.buttons.admin.line-length");
|
||||||
|
icon = new ItemStack(Material.ANVIL);
|
||||||
|
clickHandler = (panel, user1, clickType, i) -> {
|
||||||
|
new NumberGUI(this.user,
|
||||||
|
this.settings.getLoreLineLength(),
|
||||||
|
0,
|
||||||
|
this.settings.getLoreLineLength(),
|
||||||
|
(status, value) -> {
|
||||||
|
if (status)
|
||||||
|
{
|
||||||
|
this.settings.setLoreLineLength(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
panel.getInventory().setItem(i, this.getSettingsButton(button).getItem());
|
||||||
|
});
|
||||||
|
|
||||||
|
return true;
|
||||||
|
};
|
||||||
|
glow = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case LEVEL_LORE:
|
||||||
|
{
|
||||||
|
description = new ArrayList<>(2);
|
||||||
|
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.level-lore"));
|
||||||
|
description.add(this.user.getTranslation("challenges.gui.descriptions.current-value",
|
||||||
|
"[value]", this.settings.getLevelLoreMessage()));
|
||||||
|
name = this.user.getTranslation("challenges.gui.buttons.admin.level-lore");
|
||||||
|
icon = new ItemStack(Material.PAPER);
|
||||||
|
clickHandler = (panel, user1, clickType, i) -> {
|
||||||
|
new AnvilGUI(this.addon.getPlugin(),
|
||||||
|
this.user.getPlayer(),
|
||||||
|
this.settings.getLevelLoreMessage(),
|
||||||
|
(player, reply) -> {
|
||||||
|
this.settings.setLevelLoreMessage(reply);
|
||||||
|
panel.getInventory().setItem(i, this.getSettingsButton(button).getItem());
|
||||||
|
return reply;
|
||||||
|
});
|
||||||
|
|
||||||
|
return true;
|
||||||
|
};
|
||||||
|
glow = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case CHALLENGE_LORE:
|
||||||
|
{
|
||||||
|
description = new ArrayList<>(2);
|
||||||
|
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.challenge-lore"));
|
||||||
|
description.add(this.user.getTranslation("challenges.gui.descriptions.current-value",
|
||||||
|
"[value]", this.settings.getChallengeLoreMessage()));
|
||||||
|
name = this.user.getTranslation("challenges.gui.buttons.admin.challenge-lore");
|
||||||
|
icon = new ItemStack(Material.PAPER);
|
||||||
|
clickHandler = (panel, user1, clickType, i) -> {
|
||||||
|
new AnvilGUI(this.addon.getPlugin(),
|
||||||
|
this.user.getPlayer(),
|
||||||
|
this.settings.getChallengeLoreMessage(),
|
||||||
|
(player, reply) -> {
|
||||||
|
this.settings.setChallengeLoreMessage(reply);
|
||||||
|
panel.getInventory().setItem(i, this.getSettingsButton(button).getItem());
|
||||||
|
return reply;
|
||||||
|
});
|
||||||
|
|
||||||
|
return true;
|
||||||
|
};
|
||||||
|
glow = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case FREE_AT_TOP:
|
||||||
|
{
|
||||||
|
description = new ArrayList<>(2);
|
||||||
|
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.free-at-top"));
|
||||||
|
description.add(this.user.getTranslation("challenges.gui.descriptions.current-value",
|
||||||
|
"[value]",
|
||||||
|
this.settings.isAddCompletedGlow() ?
|
||||||
|
this.user.getTranslation("challenges.gui.descriptions.enabled") :
|
||||||
|
this.user.getTranslation("challenges.gui.descriptions.disabled")));
|
||||||
|
name = this.user.getTranslation("challenges.gui.buttons.admin.free-at-top");
|
||||||
|
icon = new ItemStack(Material.FILLED_MAP);
|
||||||
|
clickHandler = (panel, user1, clickType, i) -> {
|
||||||
|
this.settings.setFreeChallengesFirst(!this.settings.isFreeChallengesFirst());
|
||||||
|
panel.getInventory().setItem(i, this.getSettingsButton(button).getItem());
|
||||||
|
return true;
|
||||||
|
};
|
||||||
|
glow = this.settings.isFreeChallengesFirst();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case GLOW_COMPLETED:
|
||||||
|
{
|
||||||
|
description = new ArrayList<>(2);
|
||||||
|
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.glow"));
|
||||||
|
description.add(this.user.getTranslation("challenges.gui.descriptions.current-value",
|
||||||
|
"[value]",
|
||||||
|
this.addon.getChallengesSettings().isAddCompletedGlow() ?
|
||||||
|
this.user.getTranslation("challenges.gui.descriptions.enabled") :
|
||||||
|
this.user.getTranslation("challenges.gui.descriptions.disabled")));
|
||||||
|
|
||||||
|
|
||||||
|
name = this.user.getTranslation("challenges.gui.buttons.admin.glow");
|
||||||
|
icon = new ItemStack(Material.GLOWSTONE);
|
||||||
|
clickHandler = (panel, user1, clickType, i) -> {
|
||||||
|
this.settings.setAddCompletedGlow(!this.settings.isAddCompletedGlow());
|
||||||
|
panel.getInventory().setItem(i, this.getSettingsButton(button).getItem());
|
||||||
|
return true;
|
||||||
|
};
|
||||||
|
glow = this.settings.isAddCompletedGlow();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
return new PanelItemBuilder().build();
|
||||||
|
}
|
||||||
|
|
||||||
|
return new PanelItem(icon, name, GuiUtils.stringSplit(description, this.settings.getLoreLineLength()), glow, clickHandler, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ---------------------------------------------------------------------
|
||||||
|
// Section: Variables
|
||||||
|
// ---------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This enum holds all settings buttons that must have been displayed in this panel.
|
||||||
|
*/
|
||||||
|
private enum Button
|
||||||
|
{
|
||||||
|
RESET_CHALLENGES,
|
||||||
|
BROADCAST,
|
||||||
|
REMOVE_COMPLETED,
|
||||||
|
LORE_LENGTH,
|
||||||
|
LEVEL_LORE,
|
||||||
|
CHALLENGE_LORE,
|
||||||
|
FREE_AT_TOP,
|
||||||
|
GLOW_COMPLETED
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This allows faster access to challenges settings object.
|
||||||
|
*/
|
||||||
|
private Settings settings;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user