Skip to content

Commit

Permalink
Fixed menus not updated when using /is admin reload
Browse files Browse the repository at this point in the history
  • Loading branch information
OmerBenGera committed Dec 9, 2022
1 parent 01558c3 commit f937d1f
Show file tree
Hide file tree
Showing 4 changed files with 86 additions and 39 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -613,7 +613,7 @@ public MissionsManagerImpl getMissions() {
}

@Override
public MenusManager getMenus() {
public MenusManagerImpl getMenus() {
return menusHandler;
}

Expand Down
116 changes: 78 additions & 38 deletions src/main/java/com/bgsoftware/superiorskyblock/core/menu/Menus.java
Original file line number Diff line number Diff line change
Expand Up @@ -46,50 +46,90 @@
public class Menus {

private static final SuperiorSkyblockPlugin plugin = SuperiorSkyblockPlugin.getPlugin();
public static final MenuBankLogs MENU_BANK_LOGS = createMenu(MenuBankLogs.createInstance());
public static final MenuBiomes MENU_BIOMES = createMenu(MenuBiomes.createInstance());
public static final MenuBlank MENU_BLANK = createMenu(MenuBlank.createInstance());
public static final MenuBorderColor MENU_BORDER_COLOR = createMenu(MenuBorderColor.createInstance());
public static final MenuConfirmBan MENU_CONFIRM_BAN = createMenu(MenuConfirmBan.createInstance());
public static final MenuConfigEditor MENU_CONFIG_EDITOR = createMenu(MenuConfigEditor.createInstance());
public static final MenuConfirmDisband MENU_CONFIRM_DISBAND = createMenu(MenuConfirmDisband.createInstance());
public static final MenuConfirmKick MENU_CONFIRM_KICK = createMenu(MenuConfirmKick.createInstance());
public static final MenuConfirmLeave MENU_CONFIRM_LEAVE = createMenu(MenuConfirmLeave.createInstance());
public static final MenuControlPanel MENU_CONTROL_PANEL = createMenu(MenuControlPanel.createInstance());
public static final MenuCoops MENU_COOPS = createMenu(MenuCoops.createInstance());
public static final MenuCounts MENU_COUNTS = createMenu(MenuCounts.createInstance());
public static final MenuGlobalWarps MENU_GLOBAL_WARPS = createMenu(MenuGlobalWarps.createInstance());
public static final MenuIslandBank MENU_ISLAND_BANK = createMenu(MenuIslandBank.createInstance());
public static final MenuIslandChest MENU_ISLAND_CHEST = createMenu(MenuIslandChest.createInstance());
public static final MenuIslandCreation MENU_ISLAND_CREATION = createMenu(MenuIslandCreation.createInstance());
public static final MenuIslandFlags MENU_ISLAND_FLAGS = createMenu(MenuIslandFlags.createInstance());
public static final MenuIslandMembers MENU_ISLAND_MEMBERS = createMenu(MenuIslandMembers.createInstance());
public static final MenuIslandPrivileges MENU_ISLAND_PRIVILEGES = createMenu(MenuIslandPrivileges.createInstance());
public static final MenuIslandRate MENU_ISLAND_RATE = createMenu(MenuIslandRate.createInstance());
public static final MenuIslandRatings MENU_ISLAND_RATINGS = createMenu(MenuIslandRatings.createInstance());
public static final MenuIslandUniqueVisitors MENU_ISLAND_UNIQUE_VISITORS = createMenu(MenuIslandUniqueVisitors.createInstance());
public static final MenuIslandUpgrades MENU_ISLAND_UPGRADES = createMenu(MenuIslandUpgrades.createInstance());
public static final MenuIslandValues MENU_ISLAND_VALUES = createMenu(MenuIslandValues.createInstance());
public static final MenuIslandVisitors MENU_ISLAND_VISITORS = createMenu(MenuIslandVisitors.createInstance());
public static final MenuMemberManage MENU_MEMBER_MANAGE = createMenu(MenuMemberManage.createInstance());
public static final MenuMemberRole MENU_MEMBER_ROLE = createMenu(MenuMemberRole.createInstance());
public static final MenuMissions MENU_MISSIONS = createMenu(MenuMissions.createInstance());
public static final MenuMissionsCategory MENU_MISSIONS_CATEGORY = createMenu(MenuMissionsCategory.createInstance());
public static final MenuPlayerLanguage MENU_PLAYER_LANGUAGE = createMenu(MenuPlayerLanguage.createInstance());
public static final MenuTopIslands MENU_TOP_ISLANDS = createMenu(MenuTopIslands.createInstance());
public static final MenuWarpCategories MENU_WARP_CATEGORIES = createMenu(MenuWarpCategories.createInstance());
public static final MenuWarpCategoryIconEdit MENU_WARP_CATEGORY_ICON_EDIT = createMenu(MenuWarpCategoryIconEdit.createInstance());
public static final MenuWarpCategoryManage MENU_WARP_CATEGORY_MANAGE = createMenu(MenuWarpCategoryManage.createInstance());
public static final MenuWarpIconEdit MENU_WARP_ICON_EDIT = createMenu(MenuWarpIconEdit.createInstance());
public static final MenuWarpManage MENU_WARP_MANAGE = createMenu(MenuWarpManage.createInstance());
public static final MenuWarps MENU_WARPS = createMenu(MenuWarps.createInstance());

public static final MenuBlank MENU_BLANK = MenuBlank.createInstance();
public static final MenuConfigEditor MENU_CONFIG_EDITOR = MenuConfigEditor.createInstance();

public static MenuBankLogs MENU_BANK_LOGS;
public static MenuBiomes MENU_BIOMES;
public static MenuBorderColor MENU_BORDER_COLOR;
public static MenuConfirmBan MENU_CONFIRM_BAN;
public static MenuConfirmDisband MENU_CONFIRM_DISBAND;
public static MenuConfirmKick MENU_CONFIRM_KICK;
public static MenuConfirmLeave MENU_CONFIRM_LEAVE;
public static MenuControlPanel MENU_CONTROL_PANEL;
public static MenuCoops MENU_COOPS;
public static MenuCounts MENU_COUNTS;
public static MenuGlobalWarps MENU_GLOBAL_WARPS;
public static MenuIslandBank MENU_ISLAND_BANK;
public static MenuIslandChest MENU_ISLAND_CHEST;
public static MenuIslandCreation MENU_ISLAND_CREATION;
public static MenuIslandFlags MENU_ISLAND_FLAGS;
public static MenuIslandMembers MENU_ISLAND_MEMBERS;
public static MenuIslandPrivileges MENU_ISLAND_PRIVILEGES;
public static MenuIslandRate MENU_ISLAND_RATE;
public static MenuIslandRatings MENU_ISLAND_RATINGS;
public static MenuIslandUniqueVisitors MENU_ISLAND_UNIQUE_VISITORS;
public static MenuIslandUpgrades MENU_ISLAND_UPGRADES;
public static MenuIslandValues MENU_ISLAND_VALUES;
public static MenuIslandVisitors MENU_ISLAND_VISITORS;
public static MenuMemberManage MENU_MEMBER_MANAGE;
public static MenuMemberRole MENU_MEMBER_ROLE;
public static MenuMissions MENU_MISSIONS;
public static MenuMissionsCategory MENU_MISSIONS_CATEGORY;
public static MenuPlayerLanguage MENU_PLAYER_LANGUAGE;
public static MenuTopIslands MENU_TOP_ISLANDS;
public static MenuWarpCategories MENU_WARP_CATEGORIES;
public static MenuWarpCategoryIconEdit MENU_WARP_CATEGORY_ICON_EDIT;
public static MenuWarpCategoryManage MENU_WARP_CATEGORY_MANAGE;
public static MenuWarpIconEdit MENU_WARP_ICON_EDIT;
public static MenuWarpManage MENU_WARP_MANAGE;
public static MenuWarps MENU_WARPS;

private Menus() {

}

public static void registerMenus() {
// Do nothing, only trigger all the register calls
// We register the internal menus
createMenu(MENU_BLANK);
createMenu(MENU_CONFIG_EDITOR);
// Load menus from files
MENU_BANK_LOGS = createMenu(MenuBankLogs.createInstance());
MENU_BIOMES = createMenu(MenuBiomes.createInstance());
MENU_BORDER_COLOR = createMenu(MenuBorderColor.createInstance());
MENU_CONFIRM_BAN = createMenu(MenuConfirmBan.createInstance());
MENU_CONFIRM_DISBAND = createMenu(MenuConfirmDisband.createInstance());
MENU_CONFIRM_KICK = createMenu(MenuConfirmKick.createInstance());
MENU_CONFIRM_LEAVE = createMenu(MenuConfirmLeave.createInstance());
MENU_CONTROL_PANEL = createMenu(MenuControlPanel.createInstance());
MENU_COOPS = createMenu(MenuCoops.createInstance());
MENU_COUNTS = createMenu(MenuCounts.createInstance());
MENU_GLOBAL_WARPS = createMenu(MenuGlobalWarps.createInstance());
MENU_ISLAND_BANK = createMenu(MenuIslandBank.createInstance());
MENU_ISLAND_CHEST = createMenu(MenuIslandChest.createInstance());
MENU_ISLAND_CREATION = createMenu(MenuIslandCreation.createInstance());
MENU_ISLAND_FLAGS = createMenu(MenuIslandFlags.createInstance());
MENU_ISLAND_MEMBERS = createMenu(MenuIslandMembers.createInstance());
MENU_ISLAND_PRIVILEGES = createMenu(MenuIslandPrivileges.createInstance());
MENU_ISLAND_RATE = createMenu(MenuIslandRate.createInstance());
MENU_ISLAND_RATINGS = createMenu(MenuIslandRatings.createInstance());
MENU_ISLAND_UNIQUE_VISITORS = createMenu(MenuIslandUniqueVisitors.createInstance());
MENU_ISLAND_UPGRADES = createMenu(MenuIslandUpgrades.createInstance());
MENU_ISLAND_VALUES = createMenu(MenuIslandValues.createInstance());
MENU_ISLAND_VISITORS = createMenu(MenuIslandVisitors.createInstance());
MENU_MEMBER_MANAGE = createMenu(MenuMemberManage.createInstance());
MENU_MEMBER_ROLE = createMenu(MenuMemberRole.createInstance());
MENU_MISSIONS = createMenu(MenuMissions.createInstance());
MENU_MISSIONS_CATEGORY = createMenu(MenuMissionsCategory.createInstance());
MENU_PLAYER_LANGUAGE = createMenu(MenuPlayerLanguage.createInstance());
MENU_TOP_ISLANDS = createMenu(MenuTopIslands.createInstance());
MENU_WARP_CATEGORIES = createMenu(MenuWarpCategories.createInstance());
MENU_WARP_CATEGORY_ICON_EDIT = createMenu(MenuWarpCategoryIconEdit.createInstance());
MENU_WARP_CATEGORY_MANAGE = createMenu(MenuWarpCategoryManage.createInstance());
MENU_WARP_ICON_EDIT = createMenu(MenuWarpIconEdit.createInstance());
MENU_WARP_MANAGE = createMenu(MenuWarpManage.createInstance());
MENU_WARPS = createMenu(MenuWarps.createInstance());
}

private static <M extends AbstractMenu<V, A>, V extends AbstractMenuView<V, A>, A extends ViewArgs> M createMenu(@Nullable M menu) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -498,6 +498,10 @@ public void registerMenu(Menu<?, ?> menu) {
this.registeredMenus.put(menu.getIdentifier().toLowerCase(Locale.ENGLISH), menu);
}

public void unregisterMenus() {
this.registeredMenus.clear();
}

@Nullable
@Override
public <V extends MenuView<V, A>, A extends ViewArgs> Menu<V, A> getMenu(String identifier) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,9 @@ public void initializeMenus() {
guiFolder.renameTo(oldGuisFolder);
}

// We first want to unregister all menus
plugin.getMenus().unregisterMenus();

Menus.registerMenus();

File customMenusFolder = new File(plugin.getDataFolder(), "menus/custom");
Expand Down

0 comments on commit f937d1f

Please sign in to comment.