package dev.loki.loparkour.menu.settings; import dev.loki.loparkour.config.locale.Locales; import dev.loki.loparkour.menu.core.LPMenu; import dev.loki.loparkour.menu.core.Menus; import dev.loki.loparkour.menu.core.screen.ParkourOption; import dev.loki.loparkour.player.core.ParkourPlayer; import dev.loki.loparkour.player.core.ParkourUser; import dev.loki.loparkour.menu.gui.inventory.InventoryGui; import org.bukkit.entity.Player; import org.jetbrains.annotations.NotNull; public class SettingsMenu extends LPMenu { private static final int ROWS = 3; private static final int SLOT_PARKOUR_SETTINGS = 11; private static final int SLOT_LANG = 13; private static final int SLOT_CLOSE = 22; @Override public void open(@NotNull Player player) { final String locale = locale(player); final String title = Locales.getString(locale, "settings.name"); InventoryGui gui = baseGui(title, ROWS); if (ParkourOption.PARKOUR_SETTINGS.mayPerform(player) && ParkourPlayer.isPlayer(player)) { gui = gui.setItem(SLOT_PARKOUR_SETTINGS, localeItem(player, "settings.parkour_settings.item"), e -> { final ParkourPlayer pp = ParkourPlayer.getPlayer(player); if (pp != null) { pp.session.generator.menu(pp); } }); } if (ParkourOption.LANG.mayPerform(player) && ParkourUser.isUser(player)) { final String langName = Locales.getString(locale, "name"); gui = gui.setItem(SLOT_LANG, localeItem(locale, "settings.lang.item", langName), e -> { final ParkourPlayer pp = ParkourPlayer.getPlayer(player); if (pp != null) { Menus.LANG.open(pp); } }); } gui.setItem(SLOT_CLOSE, closeButton(player), e -> player.closeInventory()) .open(player); } }