From 7fe6133d936c241efdb00bb607960965e9fa58e3 Mon Sep 17 00:00:00 2001 From: Jasupa Date: Tue, 20 Jan 2026 18:41:14 +0100 Subject: [PATCH] fix: if you type /bp now, the latest applied filters are still there (menu doesn't reset anymore) --- .../net/buildtheearth/modules/ModuleHandler.java | 6 +++++- .../blockpalettegui/BlockPaletteCommand.java | 15 +++++++++++---- src/main/resources/plugin.yml | 6 +++--- 3 files changed, 19 insertions(+), 8 deletions(-) diff --git a/src/main/java/net/buildtheearth/modules/ModuleHandler.java b/src/main/java/net/buildtheearth/modules/ModuleHandler.java index d2ad004..a8d890c 100644 --- a/src/main/java/net/buildtheearth/modules/ModuleHandler.java +++ b/src/main/java/net/buildtheearth/modules/ModuleHandler.java @@ -45,13 +45,17 @@ public void registerModule(Module module) { * @param modules {@link Module} */ public void registerModules(Module @NotNull ... modules) { + List disabled = BuildTeamTools.getInstance().getConfig().getList(ConfigPaths.DISABLED_MODULES); + if (disabled == null) disabled = new ArrayList<>(); + for (Module m : modules) { - if (!Objects.requireNonNull(BuildTeamTools.getInstance().getConfig().getList(ConfigPaths.DISABLED_MODULES)).contains(m.getModuleName())) { + if (!disabled.contains(m.getModuleName())) { registerModule(m); } } } + /** * Enables a specific module * diff --git a/src/main/java/net/buildtheearth/modules/miscellaneous/blockpalettegui/BlockPaletteCommand.java b/src/main/java/net/buildtheearth/modules/miscellaneous/blockpalettegui/BlockPaletteCommand.java index b8b9632..fc766f5 100644 --- a/src/main/java/net/buildtheearth/modules/miscellaneous/blockpalettegui/BlockPaletteCommand.java +++ b/src/main/java/net/buildtheearth/modules/miscellaneous/blockpalettegui/BlockPaletteCommand.java @@ -35,11 +35,17 @@ public boolean onCommand(CommandSender sender, sender.sendMessage("This command can only be used by players."); return true; } + Player player = (Player) sender; - // /bp or /bp menu ⇒ default filters + open block menu - if (args.length == 0 - || (args.length == 1 && args[0].equalsIgnoreCase("menu"))) { + // /bp ⇒ open block menu with remembered filters (do NOT reset to "color") + if (args.length == 0) { + blockPalletManager.openBlockMenu(player); + return true; + } + + // /bp menu ⇒ reset to default filters + open block menu + if (args.length == 1 && args[0].equalsIgnoreCase("menu")) { blockPalletManager.setPlayerFiltersAndOpen(player); return true; } @@ -61,7 +67,8 @@ public boolean onCommand(CommandSender sender, } // invalid usage ⇒ show help - sender.sendMessage("§cUsage: §7/bp menu\n" + sender.sendMessage("§cUsage: §7/bp\n" + + "§c or §7/bp menu\n" + "§c or §7/bp filter\n" + "§c or §7/bp filter …"); return true; diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index dece42e..cfa8352 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -41,10 +41,10 @@ commands: plotsystemterra: description: Sends info about the plugin usage: /plotsystemterra - blockpalette: + bp: description: Opens the block palette menu. - usage: /blockpalette [filter|menu|filter ...] - aliases: [bp, blocks] + usage: /bp [filter|menu|filter ...] + aliases: [blockpalette, blocks] permission: blockpalette.use buildteam: description: Sends the player to the specified BuildTeam