Skip to content

Commit

Permalink
Removed all instances where slots are treated as 1 slot only
Browse files Browse the repository at this point in the history
  • Loading branch information
OmerBenGera committed May 5, 2023
1 parent 8b9488b commit 31842fe
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 33 deletions.
Expand Up @@ -382,8 +382,7 @@ private static TemplateItem getItemStackUnsafe(String fileName, ConfigurationSec
}

public List<Integer> parseButtonSlots(ConfigurationSection section, String key, MenuPatternSlots menuPatternSlots) {
return !section.contains(key) ? Collections.singletonList(-1) :
menuPatternSlots.getSlots(section.getString(key), -1);
return !section.contains(key) ? Collections.emptyList() : menuPatternSlots.getSlots(section.getString(key));
}

public interface IMenuConverter {
Expand Down
@@ -1,7 +1,7 @@
package com.bgsoftware.superiorskyblock.core.menu;

import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
Expand All @@ -22,37 +22,19 @@ public void addSlot(char character, int slot) {
this.charSlots.computeIfAbsent(character, ch -> new LinkedList<>()).add(slot);
}

public List<Integer> getSlots(char character, Integer... defaultSlots) {
public List<Integer> getSlots(char character) {
List<Integer> slots = this.charSlots.get(character);
return slots == null ? Arrays.asList(defaultSlots) : slots;
return slots == null ? Collections.emptyList() : slots;
}

public List<Integer> getSlots(String str, Integer... defaultSlots) {
public List<Integer> getSlots(String str) {
for (char ch : str.toCharArray()) {
List<Integer> slots = getSlots(ch);
if (!slots.isEmpty())
return slots;
}

return Arrays.asList(defaultSlots);
}

public int getSlot(char character, int defaultSlot) {
List<Integer> slots = getSlots(character);
return slots.isEmpty() ? defaultSlot : slots.get(0);
}

public int getSlot(char character) {
return getSlot(character, -1);
}

public int getSlot(String str, int defaultSlot) {
List<Integer> slots = getSlots(str);
return slots.isEmpty() ? defaultSlot : slots.get(0);
}

public int getSlot(String str) {
return getSlot(str, -1);
return Collections.emptyList();
}

}
Expand Up @@ -76,8 +76,7 @@ public static MenuIslandValues createInstance() {
Key blockKey = KeyImpl.of(block);
keysToUpdate.add(blockKey);

patternBuilder.mapButton(menuPatternSlots.getSlot(itemsSectionName),
new ValuesButton.Builder(blockKey));
patternBuilder.mapButtons(menuPatternSlots.getSlots(itemsSectionName), new ValuesButton.Builder(blockKey));
}
}

Expand Down
Expand Up @@ -256,16 +256,16 @@ private void convertNonCategorizedMissions(SuperiorSkyblockPlugin plugin, File f
MenuPatternSlots menuPatternSlots = menuLoadResult.getPatternSlots();
YamlConfiguration missionsMenuConfig = menuLoadResult.getConfig();

int islandsCategorySlot = menuPatternSlots.getSlot(missionsMenuConfig.getString("island-missions", ""));
if (islandsCategorySlot != -1) {
List<Integer> islandsCategorySlot = menuPatternSlots.getSlots(missionsMenuConfig.getString("island-missions", ""));
if (islandsCategorySlot.isEmpty()) {
categoriesSection.set("islands.name", "Islands");
categoriesSection.set("islands.slot", islandsCategorySlot);
categoriesSection.set("islands.slot", islandsCategorySlot.get(0));
}

int playersCategorySlot = menuPatternSlots.getSlot(missionsMenuConfig.getString("player-missions", ""));
if (playersCategorySlot != -1) {
List<Integer> playersCategorySlot = menuPatternSlots.getSlots(missionsMenuConfig.getString("player-missions", ""));
if (playersCategorySlot.isEmpty()) {
categoriesSection.set("players.name", "Players");
categoriesSection.set("players.slot", playersCategorySlot);
categoriesSection.set("players.slot", playersCategorySlot.get(0));
}

File islandsCategoryFile = new File(getModuleFolder(), "categories/islands");
Expand Down

0 comments on commit 31842fe

Please sign in to comment.