Skip to content

Commit 2fcc90b

Browse files
Update arena select menu to obey borders (#173)
1 parent 9e5e248 commit 2fcc90b

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

Plugin/src/main/java/dev/lrxh/neptune/configs/impl/MenusLocale.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ public enum MenusLocale implements IDataAccessor {
103103
ARENA_TITLE("ARENA.TITLE", DataType.STRING, "Select an arena"),
104104
ARENA_FILTER("ARENA.FILTER-TYPE", DataType.STRING, "FILL"),
105105
ARENA_SIZE("ARENA.SIZE", DataType.INT, "27"),
106+
ARENA_LIST_STARTING_SLOT("ARENA.LIST.STARTING-SLOT", DataType.INT, "1"),
106107
ARENA_ITEM_NAME("ARENA.ITEM.NAME", DataType.STRING, "&b<arena>"),
107108
ARENA_ITEM_LORE("ARENA.ITEM.LORE", DataType.STRING_LIST, "", "&fSelect <arena> as the battle arena"),
108109
ARENA_RANDOM_ITEM_NAME("ARENA.RANDOM_ITEM.NAME", DataType.STRING, "&bRandom Arena"),

Plugin/src/main/java/dev/lrxh/neptune/game/duel/menu/ArenaSelectMenu.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public ArenaSelectMenu(Kit kit, UUID receiver, int round) {
3838
@Override
3939
public List<Button> getButtons(Player player) {
4040
List<Button> buttons = new ArrayList<>();
41-
int i = 1;
41+
int i = MenusLocale.ARENA_LIST_STARTING_SLOT.getInt();
4242

4343
buttons.add(new Button(MenusLocale.ARENA_RANDOM_ITEM_SLOT.getInt()) {
4444
@Override
@@ -64,8 +64,13 @@ public void onClick(ClickType type, Player p) {
6464
});
6565
}
6666
});
67-
67+
int rows = MenusLocale.ARENA_SIZE.getInt() / 9;
68+
boolean isBorder = MenusLocale.ARENA_FILTER.getString().equals("BORDER");
6869
for (Arena arena : kit.getArenas()) {
70+
int row = i / 9;
71+
int col = i % 9;
72+
if (col == 8 && isBorder) i += 2;
73+
if (row == rows - 1 && isBorder) i += 9;
6974
buttons.add(new Button(i++) {
7075
@Override
7176
public ItemStack getItemStack(Player p) {

0 commit comments

Comments
 (0)