LoParkour/src/main/java/dev/loki/loparkour/menu/settings/SettingsMenu.java

49 lines
1.9 KiB
Java

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);
}
}