Skip to content

Commit 50cba36

Browse files
committed
📝 Fix requirements
1 parent e4c18e5 commit 50cba36

7 files changed

Lines changed: 33 additions & 20 deletions

File tree

API/src/main/java/fr/maxlego08/menu/api/MenuPlugin.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -263,4 +263,6 @@ public interface MenuPlugin extends Plugin {
263263
ComponentsManager getComponentsManager();
264264

265265
VInvManager getVInventoryManager();
266+
267+
String[] getClickRequirementKeys();
266268
}

src/main/java/fr/maxlego08/menu/ZInventoryManager.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -815,6 +815,11 @@ public List<ClickType> loadClicks(List<String> loadClicks) {
815815
}
816816
}
817817
});
818+
819+
if (clickTypes.isEmpty()) { // Use all clicks by default
820+
clickTypes.addAll(Configuration.allClicksType);
821+
}
822+
818823
return clickTypes;
819824
}
820825

src/main/java/fr/maxlego08/menu/ZMenuPlugin.java

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -189,14 +189,14 @@ public void onEnable() {
189189
servicesManager.register(Enchantments.class, this.enchantments, this, ServicePriority.Highest);
190190
servicesManager.register(TitleAnimationManager.class, this.titleAnimationManager, this, ServicePriority.Highest);
191191

192-
if (this.isPaperOrFolia() && NmsVersion.getCurrentVersion().isDialogsVersion()){
193-
if (Configuration.enableMiniMessageFormat){
192+
if (this.isPaperOrFolia() && NmsVersion.getCurrentVersion().isDialogsVersion()) {
193+
if (Configuration.enableMiniMessageFormat) {
194194
Logger.info("Paper server detected, loading Dialogs support");
195195
ConfigManager configManager = new ConfigManager(this);
196196
this.dialogManager = new ZDialogManager(this, configManager);
197197
servicesManager.register(DialogManager.class, this.dialogManager, this, ServicePriority.Highest);
198198
ConfigDialogBuilder configDialogBuilder = new ConfigDialogBuilder("zMenu Config", "zMenu Configuration");
199-
configManager.registerConfig(configDialogBuilder,Configuration.class, this);
199+
configManager.registerConfig(configDialogBuilder, Configuration.class, this);
200200
} else {
201201
Logger.info("Paper server detected but MiniMessage format is disabled, Dialogs support will not be loaded. Enable MiniMessage format in config.yml to use Dialogs.");
202202
}
@@ -366,7 +366,7 @@ private void registerHooks() {
366366
this.inventoryManager.registerMaterialLoader(new MMOItemsLoader());
367367
this.getLogger().info("Registered MMOItems material loader");
368368
}
369-
if (this.isActive(Plugins.PACKETEVENTS)){
369+
if (this.isActive(Plugins.PACKETEVENTS)) {
370370
this.titleAnimationManager.registerLoader("packet-events", new PacketEventTitleAnimationLoader());
371371
}
372372
}
@@ -415,7 +415,7 @@ public void onDisable() {
415415
if (this.vinventoryManager != null) this.vinventoryManager.close();
416416
this.inventoriesPlayer.restoreAllInventories();
417417

418-
Configuration.getInstance().save(getConfig(), this.configFile);
418+
Configuration.getInstance().save(getConfig(), this.configFile);
419419

420420
YamlFileCache.clearCache();
421421

@@ -496,6 +496,11 @@ public ComponentsManager getComponentsManager() {
496496
return this.componentsManager;
497497
}
498498

499+
@Override
500+
public String[] getClickRequirementKeys() {
501+
return new String[]{"click_requirement.", "click-requirement.", "click_requirements.", "click-requirements.", "clicks_requirement.", "clicks-requirement.", "clicks_requirements.", "clicks-requirements."};
502+
}
503+
499504
@Override
500505
public StorageManager getStorageManager() {
501506
return this.storageManager;

src/main/java/fr/maxlego08/menu/loader/ZButtonLoader.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -390,7 +390,7 @@ public Button load(@NonNull YamlConfiguration configuration, @NonNull String pat
390390
loadRefreshRequirements(button, configuration, path, file);
391391
// Load actions
392392
boolean stopOnEmpty = configuration.getBoolean(path + "stop-on-empty", true);
393-
List<Action> actions = buttonManager.loadActions((List<Map<String, Object>>) configuration.getList(path + "actions", new ArrayList<>()), path + "actions", file, actionPatterns,true,stopOnEmpty);
393+
List<Action> actions = buttonManager.loadActions((List<Map<String, Object>>) configuration.getList(path + "actions", new ArrayList<>()), path + "actions", file, actionPatterns, true, stopOnEmpty);
394394

395395
button.setActions(actions);
396396

@@ -436,8 +436,9 @@ private void loadDefaultPatternValues(YamlConfiguration patternConfig, Map<Strin
436436
* @param file the file
437437
* @param path current path in configuration
438438
*/
439-
private void loadClickRequirements(Button button, YamlConfiguration configuration, String path, File file,List<ActionPattern> actionPatterns) throws InventoryException {
440-
String[] sectionStrings = {"click_requirement.", "click-requirement.", "click_requirements.", "click-requirements.", "clicks_requirement.", "clicks-requirement.", "clicks_requirements.", "clicks-requirements."};
439+
private void loadClickRequirements(Button button, YamlConfiguration configuration, String path, File file, List<ActionPattern> actionPatterns) throws InventoryException {
440+
441+
String[] sectionStrings = this.plugin.getClickRequirementKeys();
441442
ConfigurationSection section = null;
442443
String sectionString = "";
443444
for (String string : sectionStrings) {
@@ -450,7 +451,7 @@ private void loadClickRequirements(Button button, YamlConfiguration configuratio
450451
Loader<Requirement> loader = new RequirementLoader(this.plugin);
451452
List<Requirement> requirements = new ArrayList<>();
452453
for (String key : section.getKeys(false)) {
453-
requirements.add(loader.load(configuration, path + sectionString + key + ".", file,actionPatterns));
454+
requirements.add(loader.load(configuration, path + sectionString + key + ".", file, actionPatterns));
454455
}
455456
button.setClickRequirements(requirements);
456457
}

src/main/java/fr/maxlego08/menu/requirement/checker/InventoryRequirementChecker.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ private void checkButton(YamlConfiguration configuration, InventoryLoadRequireme
179179
*/
180180
private void checkClickRequirements(YamlConfiguration configuration, InventoryLoadRequirement inventoryLoadRequirement, String path) {
181181

182-
String[] sectionStrings = {"click_requirement.", "click-requirement.", "click_requirements.", "click-requirements.", "clicks_requirement.", "clicks-requirement.", "clicks_requirements.", "clicks-requirements."};
182+
String[] sectionStrings = this.plugin.getClickRequirementKeys();
183183
ConfigurationSection section = null;
184184
String sectionString = "";
185185
for (String string : sectionStrings) {

src/main/resources/inventories/pro_inventory.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ name: "#454545sʜᴏᴘ"
4343
#
4444
# In the example if below, if the player to the permission "zmenu.shop.show" then the inventory will open, otherwise a message will be sent
4545
#
46-
open_requirement:
46+
open-requirement:
4747
requirements:
4848
- type: permission
4949
permission: "zmenu.shop.show"
@@ -85,9 +85,9 @@ items:
8585
- 35-44 # slot 35 to 44
8686

8787
#
88-
# The item if below will use the click_requirement and view_requirement.
89-
# You will have the same configuration items as for the open_requirement.
90-
# Attention, for the click_requirement you will have to define several requirements according to your need.
88+
# The item if below will use the click-requirement and view-requirement.
89+
# You will have the same configuration items as for the open-requirement.
90+
# Attention, for the click-requirement you will have to define several requirements according to your need.
9191
# You also need to specify clicks. So you can create multiple requirements for each click.
9292
#
9393
# In the example if below, if the player has enough money, and he has the zmenu.shop.use permission then the item will be displayed, otherwise another item will be displayed.
@@ -96,15 +96,15 @@ items:
9696
# You want to make a shop with zMenu ? Use zShop https://www.spigotmc.org/resources/zshop-1-8-1-20-advanced-inventory-plugin.74073/
9797
shop1:
9898
slot: 22
99-
view_requirement:
99+
view-requirement:
100100
requirements:
101101
- type: placeholder
102102
placeholder: "%vault_eco_balance%"
103103
value: 500
104104
action: SUPERIOR_OR_EQUAL
105105
- type: permission
106106
permission: "zmenu.shop.use"
107-
click_requirement:
107+
click-requirement:
108108
purchase:
109109
clicks:
110110
- ANY # or ALL for all clicks type

src/main/resources/patterns/playtime_reward.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ button:
44
updateOnClick: true
55
page: '%page%'
66
slot: '%slot%'
7-
view_requirement:
7+
view-requirement:
88
requirements:
99
- type: placeholder
1010
placeholder: "%zmenu_player_value_playtime_level%"
@@ -27,7 +27,7 @@ button:
2727
sound: ENTITY_VILLAGER_NO
2828
else:
2929
updateOnClick: true
30-
view_requirement:
30+
view-requirement:
3131
requirements:
3232
- type: placeholder
3333
placeholder: "%zmenu_statistic_hours_played%"
@@ -50,7 +50,7 @@ button:
5050
- '#ff0000✘ ʏᴏᴜ ᴅᴏɴ’ᴛ ʜᴀᴠᴇ ᴇɴᴏᴜɢʜ ᴘʟᴀʏ ᴛɪᴍᴇ'
5151
else:
5252
updateOnClick: true
53-
view_requirement:
53+
view-requirement:
5454
requirements:
5555
- type: placeholder
5656
placeholder: "%zmenu_player_value_playtime_level%"
@@ -72,7 +72,7 @@ button:
7272
updateOnClick: true
7373
refreshOnClick: true
7474

75-
click_requirement:
75+
click-requirement:
7676
right_click:
7777
clicks:
7878
- ALL

0 commit comments

Comments
 (0)