fix 50%
This commit is contained in:
parent
547fe6d9bb
commit
8705cad578
118 changed files with 2714 additions and 4761 deletions
|
|
@ -1,8 +1,6 @@
|
|||
package dev.loki.loparkour.menu;
|
||||
|
||||
import dev.loki.loparkour.player.ParkourUser;
|
||||
import dev.efnilite.vilib.inventory.Menu;
|
||||
import dev.efnilite.vilib.inventory.item.MenuItem;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
|
@ -29,7 +27,9 @@ public abstract class DynamicMenu {
|
|||
* @param item The item
|
||||
* @param shouldDisplay Whether this item should be displayed right now.
|
||||
*/
|
||||
public void registerMainItem(int row, int id, BiFunction<@NotNull Player, @Nullable ParkourUser, MenuItem> item, Predicate<Player> shouldDisplay) {
|
||||
// TODO: Migrate to LoLib GUI system
|
||||
/*
|
||||
public void registerMainItem(int row, int id, BiFunction<@NotNull Player, @Nullable ParkourUser, dev.loki.loparkour.util.MenuItem> item, Predicate<Player> shouldDisplay) {
|
||||
if (id < 0 || row < 0 || row > 4) {
|
||||
return;
|
||||
}
|
||||
|
|
@ -42,6 +42,7 @@ public abstract class DynamicMenu {
|
|||
|
||||
registeredItems.put(row, existing);
|
||||
}
|
||||
*/
|
||||
|
||||
/**
|
||||
* Opens this dynamic menu to a player
|
||||
|
|
@ -49,6 +50,8 @@ public abstract class DynamicMenu {
|
|||
* @param player The player
|
||||
* @param menu The menu
|
||||
*/
|
||||
// TODO: Migrate to LoLib GUI system
|
||||
/*
|
||||
public void display(Player player, Menu menu) {
|
||||
ParkourUser user = ParkourUser.getUser(player);
|
||||
for (int row : registeredItems.keySet()) {
|
||||
|
|
@ -67,10 +70,11 @@ public abstract class DynamicMenu {
|
|||
|
||||
menu.open(player);
|
||||
}
|
||||
*/
|
||||
|
||||
/**
|
||||
* Data class for registered items
|
||||
*/
|
||||
protected record ItemContainer(int id, BiFunction<@NotNull Player, @Nullable ParkourUser, MenuItem> item,
|
||||
protected record ItemContainer(int id, BiFunction<@NotNull Player, @Nullable ParkourUser, dev.loki.loparkour.util.MenuItem> item,
|
||||
Predicate<Player> predicate) {}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,11 +4,12 @@ import dev.loki.loparkour.config.Config;
|
|||
import dev.loki.loparkour.config.Locales;
|
||||
import dev.loki.loparkour.player.ParkourPlayer;
|
||||
import dev.loki.loparkour.player.ParkourUser;
|
||||
import dev.efnilite.vilib.inventory.Menu;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class MainMenu extends DynamicMenu {
|
||||
|
||||
// TODO: Migrate to LoLib GUI system
|
||||
/*
|
||||
public MainMenu() {
|
||||
registerMainItem(1, 0, (player, user) -> Locales.getItem(player, "play.item").click(event -> Menus.PLAY.open(event.getPlayer())), player -> ParkourOption.PLAY.mayPerform(player) && Config.CONFIG.getBoolean("joining"));
|
||||
registerMainItem(1, 1, (player, user) -> Locales.getItem(player, "community.item").click(event -> Menus.COMMUNITY.open(event.getPlayer())), ParkourOption.COMMUNITY::mayPerform);
|
||||
|
|
@ -16,9 +17,13 @@ public class MainMenu extends DynamicMenu {
|
|||
registerMainItem(1, 3, (player, user) -> Locales.getItem(player, "lobby.item").click(event -> Menus.LOBBY.open(event.getPlayer())), player -> ParkourOption.LOBBY.mayPerform(player) && ParkourUser.isUser(player));
|
||||
registerMainItem(1, 4, (player, user) -> Locales.getItem(player, "other.quit").click(event -> ParkourPlayer.leave(player)), player -> ParkourOption.QUIT.mayPerform(player) && ParkourUser.isUser(player));
|
||||
}
|
||||
*/
|
||||
|
||||
// TODO: Migrate to LoLib GUI system
|
||||
/*
|
||||
public void open(Player player) {
|
||||
display(player, new Menu(3, Locales.getString(player, "main.name"))
|
||||
.distributeRowsEvenly());
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
|
|
|||
34
src/main/java/dev/loki/loparkour/menu/MenuStub.java
Normal file
34
src/main/java/dev/loki/loparkour/menu/MenuStub.java
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
package dev.loki.loparkour.menu;
|
||||
|
||||
import dev.loki.loparkour.leaderboard.Leaderboard;
|
||||
import dev.loki.loparkour.mode.Mode;
|
||||
import dev.loki.loparkour.player.ParkourPlayer;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
/**
|
||||
* Temporary stub for menu system during migration
|
||||
* TODO: Implement proper menu system using LoLib GUI or custom implementation
|
||||
*/
|
||||
public class MenuStub {
|
||||
|
||||
// TODO: Migrate to LoLib GUI system
|
||||
/*
|
||||
public void open(Player player) {
|
||||
player.sendMessage("§cМеню временно недоступно во время миграции");
|
||||
}
|
||||
*/
|
||||
|
||||
// TODO: Migrate to LoLib GUI system
|
||||
/*
|
||||
public void open(Player player, Mode mode, Leaderboard.Sort sort) {
|
||||
player.sendMessage("§cМеню временно недоступно во время миграции");
|
||||
}
|
||||
*/
|
||||
|
||||
// TODO: Migrate to LoLib GUI system
|
||||
/*
|
||||
public void open(ParkourPlayer player) {
|
||||
player.player.sendMessage("§cМеню временно недоступно во время миграции");
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
|
@ -4,7 +4,6 @@ import dev.loki.loparkour.config.Locales;
|
|||
import dev.loki.loparkour.menu.DynamicMenu;
|
||||
import dev.loki.loparkour.menu.Menus;
|
||||
import dev.loki.loparkour.menu.ParkourOption;
|
||||
import dev.efnilite.vilib.inventory.Menu;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
/**
|
||||
|
|
@ -12,13 +11,19 @@ import org.bukkit.entity.Player;
|
|||
*/
|
||||
public class CommunityMenu extends DynamicMenu {
|
||||
|
||||
// TODO: Migrate to LoLib GUI system
|
||||
/*
|
||||
public CommunityMenu() {
|
||||
registerMainItem(1, 1, (player, user) -> Locales.getItem(player, "community.leaderboards.item").click(event -> Menus.LEADERBOARDS.open(event.getPlayer())), ParkourOption.LEADERBOARDS::mayPerform);
|
||||
registerMainItem(2, 10, (player, user) -> Locales.getItem(player, "other.close").click(event -> event.getPlayer().closeInventory()), player -> true);
|
||||
}
|
||||
*/
|
||||
|
||||
// TODO: Migrate to LoLib GUI system
|
||||
/*
|
||||
public void open(Player player) {
|
||||
display(player, new Menu(3, Locales.getString(player, "community.name"))
|
||||
.distributeRowsEvenly());
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,9 +8,6 @@ import dev.loki.loparkour.menu.Menus;
|
|||
import dev.loki.loparkour.menu.ParkourOption;
|
||||
import dev.loki.loparkour.mode.Mode;
|
||||
import dev.loki.loparkour.player.ParkourUser;
|
||||
import dev.efnilite.vilib.inventory.PagedMenu;
|
||||
import dev.efnilite.vilib.inventory.item.Item;
|
||||
import dev.efnilite.vilib.inventory.item.MenuItem;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
|
|
@ -22,6 +19,8 @@ import java.util.List;
|
|||
*/
|
||||
public class LeaderboardsMenu {
|
||||
|
||||
// TODO: Migrate to LoLib GUI system
|
||||
/*
|
||||
public void open(Player player) {
|
||||
ParkourUser user = ParkourUser.getUser(player);
|
||||
String locale = user == null ? Option.OPTIONS_DEFAULTS.get(ParkourOption.LANG) : user.locale;
|
||||
|
|
@ -46,12 +45,12 @@ public class LeaderboardsMenu {
|
|||
Menus.SINGLE_LEADERBOARD.open(player, latest, Leaderboard.Sort.SCORE);
|
||||
return;
|
||||
}
|
||||
|
||||
menu.displayRows(0, 1)
|
||||
.addToDisplay(items)
|
||||
.nextPage(26, new Item(Material.LIME_DYE, "<#0DCB07><bold>»").click(event -> menu.page(1)))
|
||||
.prevPage(18, new Item(Material.RED_DYE, "<#DE1F1F><bold>«").click(event -> menu.page(-1)))
|
||||
.item(22, Locales.getItem(player, "other.close").click(event -> Menus.COMMUNITY.open(event.getPlayer())))
|
||||
.open(player);
|
||||
// menu.displayRows(0, 1)
|
||||
// .addToDisplay(items)
|
||||
// .nextPage(26, new Item(Material.LIME_DYE, "<#0DCB07><bold>»").click(event -> menu.page(1)))
|
||||
// .prevPage(18, new Item(Material.RED_DYE, "<#DE1F1F><bold>«").click(event -> menu.page(-1)))
|
||||
// .item(22, Locales.getItem(player, "other.close").click(event -> Menus.COMMUNITY.open(event.getPlayer())))
|
||||
// .open(player);
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,10 +10,6 @@ import dev.loki.loparkour.menu.Menus;
|
|||
import dev.loki.loparkour.menu.ParkourOption;
|
||||
import dev.loki.loparkour.mode.Mode;
|
||||
import dev.loki.loparkour.player.ParkourUser;
|
||||
import dev.efnilite.vilib.inventory.PagedMenu;
|
||||
import dev.efnilite.vilib.inventory.item.Item;
|
||||
import dev.efnilite.vilib.inventory.item.MenuItem;
|
||||
import dev.efnilite.vilib.util.SkullSetter;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.OfflinePlayer;
|
||||
|
|
@ -31,107 +27,90 @@ import java.util.UUID;
|
|||
*/
|
||||
public class SingleLeaderboardMenu {
|
||||
|
||||
// TODO: Migrate to LoLib GUI system
|
||||
/*
|
||||
public void open(Player player, Mode mode, Leaderboard.Sort sort) {
|
||||
Leaderboard leaderboard = mode.getLeaderboard();
|
||||
|
||||
if (leaderboard == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
// init vars
|
||||
var user = ParkourUser.getUser(player);
|
||||
var locale = user == null ? Option.OPTIONS_DEFAULTS.get(ParkourOption.LANG) : user.locale;
|
||||
var menu = new PagedMenu(3, Locales.getString(player, "%s.name".formatted(ParkourOption.LEADERBOARDS.path)));
|
||||
|
||||
var items = new ArrayList<MenuItem>();
|
||||
|
||||
var base = Locales.getItem(player, "%s.head".formatted(ParkourOption.LEADERBOARDS.path));
|
||||
|
||||
for (Map.Entry<UUID, Score> entry : leaderboard.sort(sort).entrySet()) {
|
||||
int rank = items.size() + 1;
|
||||
|
||||
var uuid = entry.getKey();
|
||||
var score = entry.getValue();
|
||||
|
||||
if (score == null) {
|
||||
continue;
|
||||
}
|
||||
|
||||
Item item = base.clone().material(Material.PLAYER_HEAD)
|
||||
.modifyName(name -> name.replace("%r", Integer.toString(rank))
|
||||
.replace("%s", Integer.toString(score.score()))
|
||||
.replace("%p", score.name())
|
||||
.replace("%t", score.time())
|
||||
.replace("%d", score.difficulty()))
|
||||
.modifyLore(line -> line.replace("%r", Integer.toString(rank))
|
||||
.replace("%s", Integer.toString(score.score()))
|
||||
.replace("%p", score.name())
|
||||
.replace("%t", score.time())
|
||||
.replace("%d", score.difficulty()));
|
||||
|
||||
// var user = ParkourUser.getUser(player);
|
||||
// var locale = user == null ? Option.OPTIONS_DEFAULTS.get(ParkourOption.LANG) : user.locale;
|
||||
// var menu = new PagedMenu(3, Locales.getString(player, "%s.name".formatted(ParkourOption.LEADERBOARDS.path)));
|
||||
// var items = new ArrayList<MenuItem>();
|
||||
// var base = Locales.getItem(player, "%s.head".formatted(ParkourOption.LEADERBOARDS.path));
|
||||
// for (Map.Entry<UUID, Score> entry : leaderboard.sort(sort).entrySet()) {
|
||||
// int rank = items.size() + 1;
|
||||
// var uuid = entry.getKey();
|
||||
// var score = entry.getValue();
|
||||
// if (score == null) {
|
||||
// continue;
|
||||
// }
|
||||
// Item item = base.clone().material(Material.PLAYER_HEAD)
|
||||
// .modifyName(name -> name.replace("%r", Integer.toString(rank))
|
||||
// .replace("%s", Integer.toString(score.score()))
|
||||
// .replace("%p", score.name())
|
||||
// .replace("%t", score.time())
|
||||
// .replace("%d", score.difficulty()))
|
||||
// .modifyLore(line -> line.replace("%r", Integer.toString(rank))
|
||||
// .replace("%s", Integer.toString(score.score()))
|
||||
// .replace("%p", score.name())
|
||||
// .replace("%t", score.time())
|
||||
// .replace("%d", score.difficulty()));
|
||||
// Player head gathering
|
||||
ItemStack stack = item.build();
|
||||
|
||||
// ItemStack stack = item.build();
|
||||
// if there are more than 36 players, don't show the heads to avoid server crashing
|
||||
// and bedrock has no player skull support
|
||||
if (rank <= 20 && !ParkourUser.isBedrockPlayer(player)) {
|
||||
OfflinePlayer op = Bukkit.getOfflinePlayer(uuid);
|
||||
|
||||
if (op.getName() != null && !op.getName().startsWith(".")) { // bedrock players' names with geyser start with a .
|
||||
SkullMeta meta = (SkullMeta) stack.getItemMeta();
|
||||
|
||||
if (meta != null) {
|
||||
SkullSetter.setPlayerHead(op, meta);
|
||||
item.meta(meta);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (uuid.equals(player.getUniqueId())) {
|
||||
menu.item(21, item.clone());
|
||||
}
|
||||
|
||||
items.add(item);
|
||||
}
|
||||
|
||||
List<String> values = Locales.getStringList(locale, "%s.sort.values".formatted(ParkourOption.LEADERBOARDS.path));
|
||||
|
||||
if (values.size() != 3) {
|
||||
LoParkour.logging().stack("Error while trying to get locales for sort values: not enough sort values present",
|
||||
"check your %s locale file".formatted(locale), new IllegalArgumentException());
|
||||
}
|
||||
|
||||
String name = switch (sort) {
|
||||
case SCORE -> values.get(0);
|
||||
case TIME -> values.get(1);
|
||||
case DIFFICULTY -> values.get(2);
|
||||
};
|
||||
|
||||
// if (rank <= 20 && !ParkourUser.isBedrockPlayer(player)) {
|
||||
// OfflinePlayer op = Bukkit.getOfflinePlayer(uuid);
|
||||
// if (op.getName() != null && !op.getName().startsWith(".")) { // bedrock players' names with geyser start with a .
|
||||
// SkullMeta meta = (SkullMeta) stack.getItemMeta();
|
||||
// if (meta != null) {
|
||||
// SkullSetter.setPlayerHead(op, meta);
|
||||
// item.meta(meta);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// if (uuid.equals(player.getUniqueId())) {
|
||||
// menu.item(21, item.clone());
|
||||
// }
|
||||
// items.add(item);
|
||||
// }
|
||||
// List<String> values = Locales.getStringList(locale, "%s.sort.values".formatted(ParkourOption.LEADERBOARDS.path));
|
||||
// if (values.size() != 3) {
|
||||
// LoParkour.logging().stack("Error while trying to get locales for sort values: not enough sort values present",
|
||||
// "check your %s locale file".formatted(locale), new IllegalArgumentException());
|
||||
// }
|
||||
// String name = switch (sort) {
|
||||
// case SCORE -> values.get(0);
|
||||
// case TIME -> values.get(1);
|
||||
// case DIFFICULTY -> values.get(2);
|
||||
// };
|
||||
// get next sorting type
|
||||
var next = switch (sort) {
|
||||
case SCORE -> Leaderboard.Sort.TIME;
|
||||
case TIME -> Leaderboard.Sort.DIFFICULTY;
|
||||
default -> Leaderboard.Sort.SCORE;
|
||||
};
|
||||
|
||||
menu.displayRows(0, 1)
|
||||
.addToDisplay(items)
|
||||
.nextPage(26, new Item(Material.LIME_DYE, "<#0DCB07><bold>»").click(event -> menu.page(1)))
|
||||
.prevPage(18, new Item(Material.RED_DYE, "<#DE1F1F><bold>«").click(event -> menu.page(-1)))
|
||||
.item(22, Locales.getItem(player, ParkourOption.LEADERBOARDS.path + ".sort", name.toLowerCase()).click(event -> open(player, mode, next)))
|
||||
.item(23, Locales.getItem(player, "other.close").click(event -> {
|
||||
List<Mode> modes = Registry.getModes()
|
||||
.stream()
|
||||
.filter(m -> m.getLeaderboard() != null && m.getItem(locale) != null)
|
||||
.toList();
|
||||
|
||||
if (modes.size() == 1) {
|
||||
Menus.COMMUNITY.open(player);
|
||||
return;
|
||||
}
|
||||
|
||||
Menus.LEADERBOARDS.open(event.getPlayer());
|
||||
}))
|
||||
.open(player);
|
||||
// var next = switch (sort) {
|
||||
// case SCORE -> Leaderboard.Sort.TIME;
|
||||
// case TIME -> Leaderboard.Sort.DIFFICULTY;
|
||||
// default -> Leaderboard.Sort.SCORE;
|
||||
// };
|
||||
// menu.displayRows(0, 1)
|
||||
// .addToDisplay(items)
|
||||
// .nextPage(26, new Item(Material.LIME_DYE, "<#0DCB07><bold>»").click(event -> menu.page(1)))
|
||||
// .prevPage(18, new Item(Material.RED_DYE, "<#DE1F1F><bold>«").click(event -> menu.page(-1)))
|
||||
// .item(22, Locales.getItem(player, ParkourOption.LEADERBOARDS.path + ".sort", name.toLowerCase()).click(event -> open(player, mode, next)))
|
||||
// .item(23, Locales.getItem(player, "other.close").click(event -> {
|
||||
// List<Mode> modes = Registry.getModes()
|
||||
// .stream()
|
||||
// .filter(m -> m.getLeaderboard() != null && m.getItem(locale) != null)
|
||||
// .toList();
|
||||
// if (modes.size() == 1) {
|
||||
// Menus.COMMUNITY.open(player);
|
||||
// return;
|
||||
// }
|
||||
// Menus.LEADERBOARDS.open(event.getPlayer());
|
||||
// }))
|
||||
// .open(player);
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,14 +7,14 @@ import dev.loki.loparkour.menu.ParkourOption;
|
|||
import dev.loki.loparkour.player.ParkourPlayer;
|
||||
import dev.loki.loparkour.player.ParkourUser;
|
||||
import dev.loki.loparkour.session.Session;
|
||||
import dev.efnilite.vilib.inventory.Menu;
|
||||
import dev.efnilite.vilib.inventory.item.SliderItem;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class LobbyMenu extends DynamicMenu {
|
||||
|
||||
// TODO: Migrate to LoLib GUI system
|
||||
/*
|
||||
public LobbyMenu() {
|
||||
registerMainItem(1, 0, (player, user) -> Locales.getItem(player, "lobby.player_management.item").click(event -> Menus.PLAYER_MANAGEMENT.open(player)), player -> {
|
||||
ParkourUser user = ParkourUser.getUser(player);
|
||||
|
|
@ -66,14 +66,18 @@ public class LobbyMenu extends DynamicMenu {
|
|||
|
||||
registerMainItem(2, 10, (player, user) -> Locales.getItem(player, "other.close").click(event -> event.getPlayer().closeInventory()), player -> true);
|
||||
}
|
||||
*/
|
||||
|
||||
/**
|
||||
* Opens the main menu.
|
||||
*
|
||||
* @param player The player to open the menu to
|
||||
*/
|
||||
// TODO: Migrate to LoLib GUI system
|
||||
/*
|
||||
public void open(Player player) {
|
||||
display(player, new Menu(3, Locales.getString(player, "lobby.name"))
|
||||
.distributeRowsEvenly());
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,9 +6,6 @@ import dev.loki.loparkour.mode.Modes;
|
|||
import dev.loki.loparkour.player.ParkourPlayer;
|
||||
import dev.loki.loparkour.player.ParkourUser;
|
||||
import dev.loki.loparkour.session.Session;
|
||||
import dev.efnilite.vilib.inventory.PagedMenu;
|
||||
import dev.efnilite.vilib.inventory.item.Item;
|
||||
import dev.efnilite.vilib.util.SkullSetter;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.inventory.ClickType;
|
||||
|
|
@ -24,30 +21,30 @@ import java.util.List;
|
|||
*/
|
||||
public class PlayerManagementMenu {
|
||||
|
||||
// TODO: Migrate to LoLib GUI system
|
||||
/*
|
||||
public void open(Player p) {
|
||||
if (p == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
ParkourPlayer viewer = ParkourPlayer.getPlayer(p);
|
||||
|
||||
if (viewer == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
Session session = viewer.session;
|
||||
|
||||
PagedMenu menu = new PagedMenu(3, Locales.getString(viewer.locale, "lobby.player_management.name"));
|
||||
add(menu, viewer, session.getPlayers().stream().map(player -> (ParkourUser) player).toList());
|
||||
add(menu, viewer, session.getSpectators().stream().map(player -> (ParkourUser) player).toList());
|
||||
|
||||
menu.displayRows(0, 1)
|
||||
.prevPage(18, new Item(Material.RED_DYE, "<#DE1F1F><bold>«").click(event -> menu.page(-1)))
|
||||
.nextPage(26, new Item(Material.LIME_DYE, "<#0DCB07><bold>»").click(event -> menu.page(1)))
|
||||
.item(22, Locales.getItem(viewer.locale, "other.close").click(event -> Menus.LOBBY.open(event.getPlayer())))
|
||||
.open(p);
|
||||
// ParkourPlayer viewer = ParkourPlayer.getPlayer(p);
|
||||
// if (viewer == null) {
|
||||
// return;
|
||||
// }
|
||||
// Session session = viewer.session;
|
||||
// PagedMenu menu = new PagedMenu(3, Locales.getString(viewer.locale, "lobby.player_management.name"));
|
||||
// add(menu, viewer, session.getPlayers().stream().map(player -> (ParkourUser) player).toList());
|
||||
// add(menu, viewer, session.getSpectators().stream().map(player -> (ParkourUser) player).toList());
|
||||
// menu.displayRows(0, 1)
|
||||
// .prevPage(18, new Item(Material.RED_DYE, "<#DE1F1F><bold>«").click(event -> menu.page(-1)))
|
||||
// .nextPage(26, new Item(Material.LIME_DYE, "<#0DCB07><bold>»").click(event -> menu.page(1)))
|
||||
// .item(22, Locales.getItem(viewer.locale, "other.close").click(event -> Menus.LOBBY.open(event.getPlayer())))
|
||||
// .open(p);
|
||||
}
|
||||
*/
|
||||
|
||||
// TODO: Migrate to LoLib GUI system
|
||||
/*
|
||||
private void add(PagedMenu menu, ParkourUser viewer, Collection<ParkourUser> users) {
|
||||
Session session = viewer.session;
|
||||
|
||||
|
|
@ -115,4 +112,5 @@ public class PlayerManagementMenu {
|
|||
menu.addToDisplay(List.of(item));
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ import dev.loki.loparkour.config.Locales;
|
|||
import dev.loki.loparkour.menu.DynamicMenu;
|
||||
import dev.loki.loparkour.menu.Menus;
|
||||
import dev.loki.loparkour.menu.ParkourOption;
|
||||
import dev.efnilite.vilib.inventory.Menu;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
|
|
@ -13,6 +12,8 @@ import org.bukkit.entity.Player;
|
|||
*/
|
||||
public class PlayMenu extends DynamicMenu {
|
||||
|
||||
// TODO: Migrate to LoLib GUI system
|
||||
/*
|
||||
public PlayMenu() {
|
||||
registerMainItem(1, 0, (player, user) -> Locales.getItem(player, "play.single.item")
|
||||
.click(event -> Menus.SINGLE.open(event.getPlayer())),
|
||||
|
|
@ -30,9 +31,13 @@ public class PlayMenu extends DynamicMenu {
|
|||
.click(event -> event.getPlayer().closeInventory()),
|
||||
player -> true);
|
||||
}
|
||||
*/
|
||||
|
||||
// TODO: Migrate to LoLib GUI system
|
||||
/*
|
||||
public void open(Player player) {
|
||||
display(player, new Menu(3, Locales.getString(player, "play.name"))
|
||||
.distributeRowsEvenly());
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,9 +9,6 @@ import dev.loki.loparkour.menu.ParkourOption;
|
|||
import dev.loki.loparkour.mode.Mode;
|
||||
import dev.loki.loparkour.mode.MultiMode;
|
||||
import dev.loki.loparkour.player.ParkourUser;
|
||||
import dev.efnilite.vilib.inventory.PagedMenu;
|
||||
import dev.efnilite.vilib.inventory.item.Item;
|
||||
import dev.efnilite.vilib.inventory.item.MenuItem;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
|
|
@ -25,6 +22,8 @@ import java.util.List;
|
|||
*/
|
||||
public class SingleMenu {
|
||||
|
||||
// TODO: Migrate to LoLib GUI system
|
||||
/*
|
||||
public void open(Player player) {
|
||||
ParkourUser user = ParkourUser.getUser(player);
|
||||
String locale = user == null ? Option.OPTIONS_DEFAULTS.get(ParkourOption.LANG) : user.locale;
|
||||
|
|
@ -55,14 +54,14 @@ public class SingleMenu {
|
|||
modeSet.get(0).create(player);
|
||||
return;
|
||||
}
|
||||
|
||||
PagedMenu mode = new PagedMenu(3, Locales.getString(player, "play.single.name"));
|
||||
mode.displayRows(0, 1)
|
||||
.addToDisplay(items)
|
||||
.nextPage(26, new Item(Material.LIME_DYE, "<#0DCB07><bold>»").click(event -> mode.page(1)))
|
||||
.prevPage(18, new Item(Material.RED_DYE, "<#DE1F1F><bold>«").click(event -> mode.page(-1)))
|
||||
.item(22, Locales.getItem(player, "other.close").click(event -> Menus.PLAY.open(event.getPlayer())))
|
||||
.open(player);
|
||||
// PagedMenu mode = new PagedMenu(3, Locales.getString(player, "play.single.name"));
|
||||
// mode.displayRows(0, 1)
|
||||
// .addToDisplay(items)
|
||||
// .nextPage(26, new Item(Material.LIME_DYE, "<#0DCB07><bold>»").click(event -> mode.page(1)))
|
||||
// .prevPage(18, new Item(Material.RED_DYE, "<#DE1F1F><bold>«").click(event -> mode.page(-1)))
|
||||
// .item(22, Locales.getItem(player, "other.close").click(event -> Menus.PLAY.open(event.getPlayer())))
|
||||
// .open(player);
|
||||
}
|
||||
*/
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,10 +8,6 @@ import dev.loki.loparkour.mode.Modes;
|
|||
import dev.loki.loparkour.player.ParkourUser;
|
||||
import dev.loki.loparkour.session.Session;
|
||||
import dev.loki.loparkour.world.Divider;
|
||||
import dev.efnilite.vilib.inventory.PagedMenu;
|
||||
import dev.efnilite.vilib.inventory.item.Item;
|
||||
import dev.efnilite.vilib.inventory.item.MenuItem;
|
||||
import dev.efnilite.vilib.util.SkullSetter;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
|
@ -25,6 +21,8 @@ import java.util.List;
|
|||
*/
|
||||
public class SpectatorMenu {
|
||||
|
||||
// TODO: Migrate to LoLib GUI system
|
||||
/*
|
||||
public void open(Player player) {
|
||||
ParkourUser user = ParkourUser.getUser(player);
|
||||
String locale = user == null ? Option.OPTIONS_DEFAULTS.get(ParkourOption.LANG) : user.locale;
|
||||
|
|
@ -80,5 +78,6 @@ public class SpectatorMenu {
|
|||
.open(player);
|
||||
|
||||
}
|
||||
*/
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,9 +3,6 @@ package dev.loki.loparkour.menu.settings;
|
|||
import dev.loki.loparkour.config.Locales;
|
||||
import dev.loki.loparkour.menu.Menus;
|
||||
import dev.loki.loparkour.player.ParkourPlayer;
|
||||
import dev.efnilite.vilib.inventory.PagedMenu;
|
||||
import dev.efnilite.vilib.inventory.item.Item;
|
||||
import dev.efnilite.vilib.inventory.item.MenuItem;
|
||||
import org.bukkit.Material;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
|
@ -18,29 +15,28 @@ public class LangMenu {
|
|||
*
|
||||
* @param user The ParkourPlayer instance
|
||||
*/
|
||||
// TODO: Migrate to LoLib GUI system
|
||||
/*
|
||||
public void open(ParkourPlayer user) {
|
||||
if (user == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
PagedMenu style = new PagedMenu(3, Locales.getString(user.locale, "settings.lang.name"));
|
||||
|
||||
List<MenuItem> items = new ArrayList<>();
|
||||
for (String lang : Locales.locales.keySet()) {
|
||||
Item item = new Item(Material.PAPER, "<#238681><bold>" + Locales.getString(lang, "name"));
|
||||
|
||||
items.add(item.click(event -> {
|
||||
user.locale = lang;
|
||||
user._locale = lang;
|
||||
Menus.SETTINGS.open(event.getPlayer());
|
||||
}));
|
||||
}
|
||||
|
||||
style.displayRows(0, 1).addToDisplay(items)
|
||||
.nextPage(26, new Item(Material.LIME_DYE, "<#0DCB07><bold>»").click(event -> style.page(1)))
|
||||
.prevPage(18, new Item(Material.RED_DYE, "<#DE1F1F><bold>«").click(event -> style.page(-1)))
|
||||
.item(22, Locales.getItem(user.locale, "other.close").click(event -> Menus.SETTINGS.open(event.getPlayer())))
|
||||
.open(user.player);
|
||||
// PagedMenu style = new PagedMenu(3, Locales.getString(user.locale, "settings.lang.name"));
|
||||
// List<MenuItem> items = new ArrayList<>();
|
||||
// for (String lang : Locales.locales.keySet()) {
|
||||
// Item item = new Item(Material.PAPER, "<#238681><bold>" + Locales.getString(lang, "name"));
|
||||
// items.add(item.click(event -> {
|
||||
// user.locale = lang;
|
||||
// user._locale = lang;
|
||||
// Menus.SETTINGS.open(event.getPlayer());
|
||||
// }));
|
||||
// }
|
||||
// style.displayRows(0, 1).addToDisplay(items)
|
||||
// .nextPage(26, new Item(Material.LIME_DYE, "<#0DCB07><bold>»").click(event -> style.page(1)))
|
||||
// .prevPage(18, new Item(Material.RED_DYE, "<#DE1F1F><bold>«").click(event -> style.page(-1)))
|
||||
// .item(22, Locales.getItem(user.locale, "other.close").click(event -> Menus.SETTINGS.open(event.getPlayer())))
|
||||
// .open(user.player);
|
||||
}
|
||||
*/
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,14 +12,6 @@ import dev.loki.loparkour.player.ParkourPlayer;
|
|||
import dev.loki.loparkour.player.ParkourUser;
|
||||
import dev.loki.loparkour.style.RandomStyle;
|
||||
import dev.loki.loparkour.style.Style;
|
||||
import dev.efnilite.vilib.fastboard.FastBoard;
|
||||
import dev.efnilite.vilib.inventory.Menu;
|
||||
import dev.efnilite.vilib.inventory.MenuClickEvent;
|
||||
import dev.efnilite.vilib.inventory.PagedMenu;
|
||||
import dev.efnilite.vilib.inventory.item.Item;
|
||||
import dev.efnilite.vilib.inventory.item.MenuItem;
|
||||
import dev.efnilite.vilib.inventory.item.SliderItem;
|
||||
import dev.efnilite.vilib.inventory.item.TimedItem;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Player;
|
||||
|
|
@ -36,6 +28,8 @@ import java.util.List;
|
|||
*/
|
||||
public class ParkourSettingsMenu extends DynamicMenu {
|
||||
|
||||
// TODO: Migrate to LoLib GUI system
|
||||
/*
|
||||
public ParkourSettingsMenu(ParkourOption... disabled) {
|
||||
|
||||
// ---------- top row ----------
|
||||
|
|
@ -266,23 +260,29 @@ public class ParkourSettingsMenu extends DynamicMenu {
|
|||
.click(event -> Menus.SETTINGS.open(event.getPlayer())),
|
||||
player -> true);
|
||||
}
|
||||
*/
|
||||
|
||||
/**
|
||||
* Shows the main menu to a valid ParkourPlayer instance
|
||||
*
|
||||
* @param user The ParkourPlayer
|
||||
*/
|
||||
// TODO: Migrate to LoLib GUI system
|
||||
/*
|
||||
public void open(ParkourPlayer user) {
|
||||
display(user.player, new Menu(4, Locales.getString(user.locale, "settings.name"))
|
||||
.distributeRowEvenly(0, 1, 2, 3)
|
||||
.item(27, Locales.getItem(user.locale, "other.close").click(event -> Menus.SETTINGS.open(event.getPlayer()))));
|
||||
}
|
||||
*/
|
||||
|
||||
/**
|
||||
* Opens the style menu
|
||||
*
|
||||
* @param player The ParkourPlayer instance
|
||||
*/
|
||||
// TODO: Migrate to LoLib GUI system
|
||||
/*
|
||||
public void openStyleMenu(ParkourPlayer player) {
|
||||
// init menu
|
||||
PagedMenu menu = new PagedMenu(3, Locales.getString(player.locale, ParkourOption.STYLES.path + ".name"));
|
||||
|
|
@ -314,13 +314,19 @@ public class ParkourSettingsMenu extends DynamicMenu {
|
|||
.item(22, Locales.getItem(player.locale, "other.close").click(event -> open(player)))
|
||||
.open(player.player);
|
||||
}
|
||||
*/
|
||||
|
||||
// TODO: Migrate to LoLib GUI system
|
||||
/*
|
||||
private boolean handleSettingChange(ParkourPlayer player, Runnable onAllowed) {
|
||||
onAllowed.run();
|
||||
player.updateGeneratorSettings(player.session.generator);
|
||||
return true;
|
||||
}
|
||||
*/
|
||||
|
||||
// TODO: Migrate to LoLib GUI system
|
||||
/*
|
||||
private boolean handleScoreSettingChange(ParkourPlayer player, MenuClickEvent event, Runnable onAllowed) {
|
||||
if (player.session.generator.score == 0) {
|
||||
return handleSettingChange(player, onAllowed);
|
||||
|
|
@ -331,6 +337,7 @@ public class ParkourSettingsMenu extends DynamicMenu {
|
|||
return false;
|
||||
|
||||
}
|
||||
*/
|
||||
|
||||
// replaces true/false with a checkmark and cross
|
||||
private String getBooleanSymbol(ParkourUser user, boolean value) {
|
||||
|
|
|
|||
|
|
@ -7,8 +7,6 @@ import dev.loki.loparkour.menu.ParkourOption;
|
|||
import dev.loki.loparkour.player.ParkourPlayer;
|
||||
import dev.loki.loparkour.player.ParkourUser;
|
||||
import dev.loki.loparkour.session.Session;
|
||||
import dev.efnilite.vilib.inventory.Menu;
|
||||
import dev.efnilite.vilib.inventory.item.SliderItem;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.util.List;
|
||||
|
|
@ -18,6 +16,8 @@ import java.util.List;
|
|||
*/
|
||||
public class SettingsMenu extends DynamicMenu {
|
||||
|
||||
// TODO: Migrate to LoLib GUI system
|
||||
/*
|
||||
public SettingsMenu() {
|
||||
registerMainItem(1, 0, (player, user) -> Locales.getItem(player, "settings.parkour_settings.item").click(event -> {
|
||||
ParkourPlayer pp = ParkourPlayer.getPlayer(event.getPlayer());
|
||||
|
|
@ -68,8 +68,12 @@ public class SettingsMenu extends DynamicMenu {
|
|||
|
||||
registerMainItem(2, 0, (player, user) -> Locales.getItem(player, "other.close").click(event -> event.getPlayer().closeInventory()), player -> true);
|
||||
}
|
||||
*/
|
||||
|
||||
// TODO: Migrate to LoLib GUI system
|
||||
/*
|
||||
public void open(Player player) {
|
||||
display(player, new Menu(3, Locales.getString(player, "settings.name")).distributeRowsEvenly());
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue