Skip to content

Commit

Permalink
Apply single GUI style to all admin GUIs.
Browse files Browse the repository at this point in the history
  • Loading branch information
BONNe committed Jan 21, 2019
1 parent c78c690 commit 10a5dc1
Show file tree
Hide file tree
Showing 9 changed files with 188 additions and 130 deletions.
24 changes: 14 additions & 10 deletions src/main/java/world/bentobox/challenges/panel/admin/AdminGUI.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
import world.bentobox.bentobox.api.user.User;
import world.bentobox.challenges.ChallengesAddon;
import world.bentobox.challenges.panel.CommonGUI;
import world.bentobox.challenges.utils.GuiUtils;


/**
Expand Down Expand Up @@ -89,28 +90,31 @@ public void build()
PanelBuilder panelBuilder = new PanelBuilder().user(this.user).name(
this.user.getTranslation("challenges.admin.gui-title"));

GuiUtils.fillBorder(panelBuilder);

panelBuilder.item(1, this.createButton(Button.COMPLETE_USER_CHALLENGES));
panelBuilder.item(10, this.createButton(Button.RESET_USER_CHALLENGES));
panelBuilder.item(10, this.createButton(Button.COMPLETE_USER_CHALLENGES));
panelBuilder.item(19, this.createButton(Button.RESET_USER_CHALLENGES));

// Add Challenges
panelBuilder.item(3, this.createButton(Button.ADD_CHALLENGE));
panelBuilder.item(12, this.createButton(Button.ADD_LEVEL));
panelBuilder.item(12, this.createButton(Button.ADD_CHALLENGE));
panelBuilder.item(13, this.createButton(Button.ADD_LEVEL));

// Edit Challenges
panelBuilder.item(4, this.createButton(Button.EDIT_CHALLENGE));
panelBuilder.item(13, this.createButton(Button.EDIT_LEVEL));
panelBuilder.item(21, this.createButton(Button.EDIT_CHALLENGE));
panelBuilder.item(22, this.createButton(Button.EDIT_LEVEL));

// Remove Challenges
panelBuilder.item(5, this.createButton(Button.DELETE_CHALLENGE));
panelBuilder.item(14, this.createButton(Button.DELETE_LEVEL));
panelBuilder.item(30, this.createButton(Button.DELETE_CHALLENGE));
panelBuilder.item(31, this.createButton(Button.DELETE_LEVEL));


// Import Challenges
panelBuilder.item(7, this.createButton(Button.IMPORT_CHALLENGES));
panelBuilder.item(15, this.createButton(Button.IMPORT_CHALLENGES));

// Edit Addon Settings
panelBuilder.item(8, this.createButton(Button.EDIT_SETTINGS));
panelBuilder.item(16, this.createButton(Button.EDIT_SETTINGS));

panelBuilder.item(44, this.returnButton);

panelBuilder.build();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
import world.bentobox.challenges.panel.util.NumberGUI;
import world.bentobox.challenges.panel.util.SelectEnvironmentGUI;
import world.bentobox.challenges.panel.util.StringListGUI;
import world.bentobox.challenges.utils.GuiUtils;


/**
Expand Down Expand Up @@ -81,6 +82,8 @@ public void build()
PanelBuilder panelBuilder = new PanelBuilder().user(this.user).name(
this.user.getTranslation("challenges.gui.admin.edit-challenge-title"));

GuiUtils.fillBorder(panelBuilder);

panelBuilder.item(2, this.createMenuButton(MenuType.PROPERTIES));
panelBuilder.item(4, this.createMenuButton(MenuType.REQUIREMENTS));
panelBuilder.item(6, this.createMenuButton(MenuType.REWARDS));
Expand Down Expand Up @@ -109,7 +112,7 @@ else if (this.currentMenuType.equals(MenuType.REWARDS))
this.buildRewardsPanel(panelBuilder);
}

panelBuilder.item(53, this.returnButton);
panelBuilder.item(44, this.returnButton);

panelBuilder.build();
}
Expand Down Expand Up @@ -140,14 +143,14 @@ private void buildMainPropertiesPanel(PanelBuilder panelBuilder)
*/
private void buildIslandRequirementsPanel(PanelBuilder panelBuilder)
{
panelBuilder.item(10, this.createButton(Button.REQUIRED_ENTITIES));
panelBuilder.item(11, this.createButton(Button.REMOVE_ENTITIES));
panelBuilder.item(19, this.createButton(Button.REQUIRED_ENTITIES));
panelBuilder.item(28, this.createButton(Button.REMOVE_ENTITIES));

panelBuilder.item(15, this.createButton(Button.REQUIRED_BLOCKS));
panelBuilder.item(16, this.createButton(Button.REMOVE_BLOCKS));
panelBuilder.item(21, this.createButton(Button.REQUIRED_BLOCKS));
panelBuilder.item(29, this.createButton(Button.REMOVE_BLOCKS));

panelBuilder.item(19, this.createButton(Button.SEARCH_RADIUS));
panelBuilder.item(28, this.createButton(Button.REQUIRED_PERMISSIONS));
panelBuilder.item(23, this.createButton(Button.SEARCH_RADIUS));
panelBuilder.item(25, this.createButton(Button.REQUIRED_PERMISSIONS));
}


Expand All @@ -158,9 +161,9 @@ private void buildIslandRequirementsPanel(PanelBuilder panelBuilder)
private void buildInventoryRequirementsPanel(PanelBuilder panelBuilder)
{
panelBuilder.item(10, this.createButton(Button.REQUIRED_ITEMS));
panelBuilder.item(11, this.createButton(Button.REMOVE_ITEMS));
panelBuilder.item(19, this.createButton(Button.REMOVE_ITEMS));

panelBuilder.item(28, this.createButton(Button.REQUIRED_PERMISSIONS));
panelBuilder.item(25, this.createButton(Button.REQUIRED_PERMISSIONS));
}


Expand All @@ -171,14 +174,14 @@ private void buildInventoryRequirementsPanel(PanelBuilder panelBuilder)
private void buildOtherRequirementsPanel(PanelBuilder panelBuilder)
{
panelBuilder.item(10, this.createButton(Button.REQUIRED_EXPERIENCE));
panelBuilder.item(11, this.createButton(Button.REMOVE_EXPERIENCE));
panelBuilder.item(19, this.createButton(Button.REMOVE_EXPERIENCE));

panelBuilder.item(13, this.createButton(Button.REQUIRED_LEVEL));
panelBuilder.item(12, this.createButton(Button.REQUIRED_MONEY));
panelBuilder.item(21, this.createButton(Button.REMOVE_MONEY));

panelBuilder.item(15, this.createButton(Button.REQUIRED_MONEY));
panelBuilder.item(16, this.createButton(Button.REMOVE_MONEY));
panelBuilder.item(23, this.createButton(Button.REQUIRED_LEVEL));

panelBuilder.item(28, this.createButton(Button.REQUIRED_PERMISSIONS));
panelBuilder.item(25, this.createButton(Button.REQUIRED_PERMISSIONS));
}


Expand All @@ -188,12 +191,12 @@ private void buildOtherRequirementsPanel(PanelBuilder panelBuilder)
*/
private void buildRewardsPanel(PanelBuilder panelBuilder)
{
panelBuilder.item(11, this.createButton(Button.REWARD_TEXT));
panelBuilder.item(20, this.createButton(Button.REWARD_ITEM));
panelBuilder.item(29, this.createButton(Button.REWARD_EXPERIENCE));
panelBuilder.item(38, this.createButton(Button.REWARD_MONEY));
panelBuilder.item(47, this.createButton(Button.REWARD_COMMANDS));
panelBuilder.item(10, this.createButton(Button.REWARD_TEXT));
panelBuilder.item(19, this.createButton(Button.REWARD_COMMANDS));

panelBuilder.item(11, this.createButton(Button.REWARD_ITEM));
panelBuilder.item(20, this.createButton(Button.REWARD_EXPERIENCE));
panelBuilder.item(29, this.createButton(Button.REWARD_MONEY));

panelBuilder.item(22, this.createButton(Button.REPEATABLE));

Expand All @@ -202,10 +205,11 @@ private void buildRewardsPanel(PanelBuilder panelBuilder)
panelBuilder.item(31, this.createButton(Button.REPEAT_COUNT));

panelBuilder.item(15, this.createButton(Button.REPEAT_REWARD_TEXT));
panelBuilder.item(24, this.createButton(Button.REPEAT_REWARD_ITEM));
panelBuilder.item(33, this.createButton(Button.REPEAT_REWARD_EXPERIENCE));
panelBuilder.item(42, this.createButton(Button.REPEAT_REWARD_MONEY));
panelBuilder.item(51, this.createButton(Button.REPEAT_REWARD_COMMANDS));
panelBuilder.item(24, this.createButton(Button.REPEAT_REWARD_COMMANDS));

panelBuilder.item(16, this.createButton(Button.REPEAT_REWARD_ITEM));
panelBuilder.item(25, this.createButton(Button.REPEAT_REWARD_EXPERIENCE));
panelBuilder.item(34, this.createButton(Button.REPEAT_REWARD_MONEY));
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
import world.bentobox.challenges.panel.util.NumberGUI;
import world.bentobox.challenges.panel.util.SelectChallengeGUI;
import world.bentobox.challenges.panel.util.StringListGUI;
import world.bentobox.challenges.utils.GuiUtils;


/**
Expand Down Expand Up @@ -82,6 +83,8 @@ public void build()
PanelBuilder panelBuilder = new PanelBuilder().user(this.user).name(
this.user.getTranslation("challenges.gui.admin.edit-level-title"));

GuiUtils.fillBorder(panelBuilder);

panelBuilder.item(2, this.createMenuButton(MenuType.PROPERTIES));
panelBuilder.item(4, this.createMenuButton(MenuType.REWARDS));
panelBuilder.item(6, this.createMenuButton(MenuType.CHALLENGES));
Expand All @@ -99,7 +102,7 @@ else if (this.currentMenuType.equals(MenuType.REWARDS))
this.buildRewardsPanel(panelBuilder);
}

panelBuilder.item(53, this.returnButton);
panelBuilder.item(44, this.returnButton);

panelBuilder.build();
}
Expand Down Expand Up @@ -127,11 +130,12 @@ private void buildMainPropertiesPanel(PanelBuilder panelBuilder)
*/
private void buildRewardsPanel(PanelBuilder panelBuilder)
{
panelBuilder.item(11, this.createButton(Button.REWARD_DESCRIPTION));
panelBuilder.item(20, this.createButton(Button.REWARD_ITEM));
panelBuilder.item(29, this.createButton(Button.REWARD_EXPERIENCE));
panelBuilder.item(38, this.createButton(Button.REWARD_MONEY));
panelBuilder.item(47, this.createButton(Button.REWARD_COMMANDS));
panelBuilder.item(12, this.createButton(Button.REWARD_DESCRIPTION));
panelBuilder.item(21, this.createButton(Button.REWARD_COMMANDS));

panelBuilder.item(13, this.createButton(Button.REWARD_ITEM));
panelBuilder.item(22, this.createButton(Button.REWARD_EXPERIENCE));
panelBuilder.item(31, this.createButton(Button.REWARD_MONEY));
}


Expand All @@ -141,39 +145,45 @@ private void buildRewardsPanel(PanelBuilder panelBuilder)
*/
private void buildChallengesPanel(PanelBuilder panelBuilder)
{
List<Challenges> challenges = this.addon.getChallengesManager().getChallenges(this.challengeLevel);
List<Challenges> challengeList = this.addon.getChallengesManager().getChallenges(this.challengeLevel);

final int MAX_ELEMENTS = 21;

if (this.pageIndex < 0)
{
this.pageIndex = 0;
this.pageIndex = challengeList.size() / MAX_ELEMENTS;
}
else if (this.pageIndex > (challenges.size() / 18))
else if (this.pageIndex > (challengeList.size() / MAX_ELEMENTS))
{
this.pageIndex = challenges.size() / 18;
this.pageIndex = 0;
}

int challengeIndex = 18 * this.pageIndex;
int elementIndex = 9;
int challengeIndex = MAX_ELEMENTS * this.pageIndex;

while (challengeIndex < ((this.pageIndex + 1) * 18) &&
challengeIndex < challenges.size())
{
panelBuilder.item(elementIndex++, this.createChallengeIcon(challenges.get(challengeIndex)));
challengeIndex++;
}
// I want first row to be only for navigation and return button.
int index = 10;

if (this.pageIndex > 0)
while (challengeIndex < ((this.pageIndex + 1) * MAX_ELEMENTS) &&
challengeIndex < challengeList.size() &&
index < 36)
{
panelBuilder.item(29, this.getButton(CommonButtons.PREVIOUS));
if (!panelBuilder.slotOccupied(index))
{
panelBuilder.item(index, this.createChallengeIcon(challengeList.get(challengeIndex++)));
}

index++;
}

if (challengeIndex < challenges.size())
// Navigation buttons only if necessary
if (challengeList.size() > MAX_ELEMENTS)
{
panelBuilder.item(33, this.getButton(CommonButtons.NEXT));
panelBuilder.item(18, this.getButton(CommonButtons.PREVIOUS));
panelBuilder.item(26, this.getButton(CommonButtons.NEXT));
}

panelBuilder.item(30, this.createButton(Button.ADD_CHALLENGE));
panelBuilder.item(32, this.createButton(Button.REMOVE_CHALLENGE));
panelBuilder.item(39, this.createButton(Button.ADD_CHALLENGE));
panelBuilder.item(41, this.createButton(Button.REMOVE_CHALLENGE));
}


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import world.bentobox.bentobox.api.user.User;
import world.bentobox.challenges.ChallengesAddon;
import world.bentobox.challenges.panel.CommonGUI;
import world.bentobox.challenges.utils.GuiUtils;


/**
Expand Down Expand Up @@ -60,8 +61,10 @@ public void build()
PanelBuilder panelBuilder = new PanelBuilder().user(this.user).name(
this.user.getTranslation("challenges.gui.admin.settings-title"));

GuiUtils.fillBorder(panelBuilder);

// resetChallenges
panelBuilder.item(0, new PanelItemBuilder().
panelBuilder.item(19, new PanelItemBuilder().
name(this.user.getTranslation("challenges.gui.admin.buttons.reset")).
description(this.user.getTranslation("challenges.gui.admin.descriptions.reset")).
icon(Material.LAVA_BUCKET).
Expand All @@ -74,7 +77,7 @@ public void build()
build());

// broadcastMessages
panelBuilder.item(1, new PanelItemBuilder().
panelBuilder.item(20, new PanelItemBuilder().
name(this.user.getTranslation("challenges.gui.admin.buttons.broadcast")).
description(this.user.getTranslation("challenges.gui.admin.descriptions.broadcast")).
icon(Material.JUKEBOX).
Expand All @@ -87,7 +90,7 @@ public void build()
build());

// removeCompleteOneTimeChallenges
panelBuilder.item(2, new PanelItemBuilder().
panelBuilder.item(21, new PanelItemBuilder().
name(this.user.getTranslation("challenges.gui.admin.buttons.remove-on-complete")).
description(this.user.getTranslation("challenges.gui.admin.descriptions.remove-on-complete")).
icon(Material.MAGMA_BLOCK).
Expand All @@ -100,7 +103,7 @@ public void build()
build());

// addCompletedGlow
panelBuilder.item(3, new PanelItemBuilder().
panelBuilder.item(22, new PanelItemBuilder().
name(this.user.getTranslation("challenges.gui.admin.buttons.glow")).
description(this.user.getTranslation("challenges.gui.admin.descriptions.glow")).
icon(Material.GLOWSTONE).
Expand All @@ -112,8 +115,21 @@ public void build()
glow(this.addon.getChallengesSettings().isAddCompletedGlow()).
build());

// freeChallengesAtTheTop
panelBuilder.item(23, new PanelItemBuilder().
name(this.user.getTranslation("challenges.gui.admin.buttons.free-challenges")).
description(this.user.getTranslation("challenges.gui.admin.descriptions.free-challenges")).
icon(Material.FILLED_MAP).
clickHandler((panel, user1, clickType, i) -> {
this.addon.getChallengesSettings().setFreeChallengesFirst(
!this.addon.getChallengesSettings().isFreeChallengesFirst());
return true;
}).
glow(this.addon.getChallengesSettings().isFreeChallengesFirst()).
build());

// Return Button
panelBuilder.item(8, this.returnButton);
panelBuilder.item(44, this.returnButton);

panelBuilder.build();
}
Expand Down

0 comments on commit 10a5dc1

Please sign in to comment.