Skip to content

Commit 9b3f2b6

Browse files
committed
Added lore to all arena management buttons
1 parent e2c2694 commit 9b3f2b6

17 files changed

Lines changed: 154 additions & 91 deletions

Plugin/src/main/java/dev/lrxh/neptune/game/arena/Arena.java

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,28 @@ public Arena(String name, long time) {
8585
this.whitelistedBlocks = new ArrayList<>();
8686
}
8787

88+
public static Arena read(String name, ConfigurationSection s) {
89+
if (!s.contains("displayName")) return null;
90+
List<Material> blocks = new ArrayList<>();
91+
for (String n : s.getStringList("whitelistedBlocks")) {
92+
Material m = Material.getMaterial(n);
93+
if (m != null) blocks.add(m);
94+
}
95+
Arena arena = new Arena(name, s.getString("displayName"),
96+
LocationUtil.deserialize(s.getString("redSpawn")),
97+
LocationUtil.deserialize(s.getString("blueSpawn")),
98+
LocationUtil.deserialize(s.getString("min")),
99+
LocationUtil.deserialize(s.getString("max")),
100+
s.getDouble("limit"), s.getBoolean("enabled"),
101+
blocks, s.getInt("deathY", -68321), s.getLong("time"));
102+
arena.setAllowedInCustomKit(s.getBoolean("allowedInCustomKit", true));
103+
return arena;
104+
}
105+
106+
private static boolean useFawe() {
107+
return "FAWE".equalsIgnoreCase(SettingsLocale.ARENA_CLEANUP_METHOD.getString()) && ArenaDuplicator.isAvailable();
108+
}
109+
88110
@Override
89111
public double getBuildLimit() {
90112
return owner != null ? owner.getBuildLimit() : buildLimit;
@@ -119,28 +141,6 @@ public boolean isAllowedInCustomKit() {
119141
return owner != null ? owner.isAllowedInCustomKit() : allowedInCustomKit;
120142
}
121143

122-
public static Arena read(String name, ConfigurationSection s) {
123-
if (!s.contains("displayName")) return null;
124-
List<Material> blocks = new ArrayList<>();
125-
for (String n : s.getStringList("whitelistedBlocks")) {
126-
Material m = Material.getMaterial(n);
127-
if (m != null) blocks.add(m);
128-
}
129-
Arena arena = new Arena(name, s.getString("displayName"),
130-
LocationUtil.deserialize(s.getString("redSpawn")),
131-
LocationUtil.deserialize(s.getString("blueSpawn")),
132-
LocationUtil.deserialize(s.getString("min")),
133-
LocationUtil.deserialize(s.getString("max")),
134-
s.getDouble("limit"), s.getBoolean("enabled"),
135-
blocks, s.getInt("deathY", -68321), s.getLong("time"));
136-
arena.setAllowedInCustomKit(s.getBoolean("allowedInCustomKit", true));
137-
return arena;
138-
}
139-
140-
private static boolean useFawe() {
141-
return "FAWE".equalsIgnoreCase(SettingsLocale.ARENA_CLEANUP_METHOD.getString()) && ArenaDuplicator.isAvailable();
142-
}
143-
144144
@Override
145145
public boolean isSetup() {
146146
return !(redSpawn == null || blueSpawn == null || min == null || max == null);

Plugin/src/main/java/dev/lrxh/neptune/game/arena/menu/ArenaDuplicatesMenu.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import org.bukkit.inventory.ItemStack;
1818

1919
import java.util.ArrayList;
20+
import java.util.Arrays;
2021
import java.util.List;
2122
import java.util.concurrent.CompletableFuture;
2223

@@ -60,7 +61,7 @@ public void onClick(ClickType type, Player player) {
6061
});
6162
}
6263

63-
buttons.add(new DisplayButton(getSize() - 4, Material.LIME_DYE, "&aAdd Duplicate", p -> {
64+
buttons.add(new DisplayButton(getSize() - 4, Material.LIME_DYE, "&aAdd Duplicate", Arrays.asList("&7Click to create additional copies of this arena"), p -> {
6465
p.closeInventory();
6566
SignInputMenu.open(p, "", "Amount of duplicates (max 36)", input -> {
6667
final int amount;
@@ -95,7 +96,7 @@ public void onClick(ClickType type, Player player) {
9596
});
9697
}));
9798

98-
buttons.add(new DisplayButton(getSize() - 6, Material.EMERALD, "&aRecopy Duplicates", p -> {
99+
buttons.add(new DisplayButton(getSize() - 6, Material.EMERALD, "&aRecopy Duplicates", Arrays.asList("&7Click to repaste all duplicate copies of this arena"), p -> {
99100
if (!ArenaDuplicator.isAvailable()) {
100101
p.sendMessage(CC.error("FastAsyncWorldEdit is not installed."));
101102
return;

Plugin/src/main/java/dev/lrxh/neptune/game/arena/menu/ArenaManagementMenu.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import org.bukkit.inventory.ItemStack;
1818

1919
import java.util.ArrayList;
20+
import java.util.Arrays;
2021
import java.util.List;
2122

2223
public class ArenaManagementMenu extends Menu {
@@ -41,7 +42,7 @@ public List<Button> getButtons(Player player) {
4142
buttons.add(new ArenaCustomKitButton(getSize() - 2, arena));
4243

4344
buttons.add(new ArenaRenameButton(23, arena));
44-
buttons.add(new DisplayButton(22, Material.MAP, "&aTeleport to arena", o -> player.teleport(arena.getBlueSpawn())));
45+
buttons.add(new DisplayButton(22, Material.MAP, "&aTeleport to arena", Arrays.asList("&7Click to teleport to this arena's blue spawn"), o -> player.teleport(arena.getBlueSpawn())));
4546

4647
buttons.add(new ArenaDeleteButton(21, arena));
4748

@@ -50,17 +51,19 @@ public List<Button> getButtons(Player player) {
5051

5152
buttons.add(new ArenaSetLimitButton(4, arena));
5253

53-
buttons.add(new DisplayButton(getSize() - 5, Material.GRASS_BLOCK, "&aManage Whitelisted Blocks", o -> new WhitelistedBlocksMenu(arena).open(player)));
54+
buttons.add(new DisplayButton(getSize() - 5, Material.GRASS_BLOCK, "&aManage Whitelisted Blocks", Arrays.asList("&7Click to manage which blocks players can place or break"), o -> new WhitelistedBlocksMenu(arena).open(player)));
5455
if (Neptune.get().isDuplicatesEnabled()) {
55-
buttons.add(new DisplayButton(13, Material.PAPER, "&aManage Duplicates", o -> new ArenaDuplicatesMenu(arena).open(o)));
56+
buttons.add(new DisplayButton(13, Material.PAPER, "&aManage Duplicates", Arrays.asList("&7Click to manage duplicate copies of this arena"), o -> new ArenaDuplicatesMenu(arena).open(o)));
5657
}
5758
buttons.add(new ArenaSetEdgeButton(8, arena, EdgeType.MAX));
5859
buttons.add(new ArenaSetEdgeButton(7, arena, EdgeType.MIN));
5960

6061
buttons.add(new Button(31) {
6162
@Override
6263
public ItemStack getItemStack(Player player) {
63-
return new ItemBuilder(Material.EMERALD).name("&aRecapture Arena").build();
64+
return new ItemBuilder(Material.EMERALD).name("&aRecapture Arena")
65+
.lore("&7Click to re-capture the arena's schematic snapshot")
66+
.build();
6467
}
6568

6669
@Override

Plugin/src/main/java/dev/lrxh/neptune/game/arena/menu/ArenasManagementMenu.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import org.bukkit.entity.Player;
1717

1818
import java.util.ArrayList;
19+
import java.util.Arrays;
1920
import java.util.List;
2021

2122
public class ArenasManagementMenu extends PaginatedMenu {
@@ -44,7 +45,7 @@ public List<Button> getGlobalButtons(Player player) {
4445
buttons.add(new ArenaCreateButton(getSize() - 5));
4546
buttons.add(new ReturnButton(getSize() - 9, new MainMenu()));
4647
if (Neptune.get().isDuplicatesEnabled()) {
47-
buttons.add(new DisplayButton(getSize() - 1, Material.EMERALD_BLOCK, "&aRecopy All Duplicates", p -> {
48+
buttons.add(new DisplayButton(getSize() - 1, Material.EMERALD_BLOCK, "&aRecopy All Duplicates", Arrays.asList("&7Click to repaste all arena duplicate copies"), p -> {
4849
ArenaService.get().recopyAll();
4950
p.sendMessage(CC.success("Repasting all duplicates of every arena."));
5051
}));

Plugin/src/main/java/dev/lrxh/neptune/game/arena/menu/button/ArenaCreateButton.java

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,15 @@ public ArenaCreateButton(int slot) {
2020
super(slot, false);
2121
}
2222

23+
@Override
24+
public ItemStack getItemStack(Player player) {
25+
return new ItemBuilder(Material.GREEN_STAINED_GLASS_PANE)
26+
.name("&aCreate arena")
27+
.lore("&7Click to create a new arena")
28+
.build();
29+
}
30+
31+
2332
@Override
2433
public void onClick(ClickType type, Player player) {
2534
Location location = Neptune.get().getCache().getSpawn();
@@ -44,9 +53,4 @@ public void onClick(ClickType type, Player player) {
4453
ArenaService.get().save();
4554
});
4655
}
47-
48-
@Override
49-
public ItemStack getItemStack(Player player) {
50-
return new ItemBuilder(Material.GREEN_STAINED_GLASS_PANE).name("&aCreate arena").build();
51-
}
5256
}

Plugin/src/main/java/dev/lrxh/neptune/game/arena/menu/button/ArenaCustomKitButton.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,12 @@ public void onClick(ClickType type, Player player) {
2828
@Override
2929
public ItemStack getItemStack(Player player) {
3030
if (arena.isAllowedInCustomKit()) {
31-
return new ItemBuilder(Material.GREEN_WOOL).name("&aAllowed in Custom Kits").build();
31+
return new ItemBuilder(Material.GREEN_WOOL).name("&aAllowed in Custom Kits")
32+
.lore("&7Click to disallow custom kits in this arena")
33+
.build();
3234
}
33-
return new ItemBuilder(Material.RED_WOOL).name("&cNot Allowed in Custom Kits").build();
35+
return new ItemBuilder(Material.RED_WOOL).name("&cNot Allowed in Custom Kits")
36+
.lore("&7Click to allow custom kits in this arena")
37+
.build();
3438
}
3539
}

Plugin/src/main/java/dev/lrxh/neptune/game/arena/menu/button/ArenaDeleteButton.java

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@
33
import dev.lrxh.neptune.game.arena.Arena;
44
import dev.lrxh.neptune.game.arena.menu.ArenasManagementMenu;
55
import dev.lrxh.neptune.utils.CC;
6-
import dev.lrxh.neptune.utils.ItemBuilder;
76
import dev.lrxh.neptune.utils.menu.Button;
87
import org.bukkit.Material;
98
import org.bukkit.entity.Player;
10-
import org.bukkit.event.inventory.ClickType;
9+
import dev.lrxh.neptune.utils.ItemBuilder;
1110
import org.bukkit.inventory.ItemStack;
11+
import org.bukkit.event.inventory.ClickType;
1212

1313
public class ArenaDeleteButton extends Button {
1414
private final Arena arena;
@@ -18,15 +18,18 @@ public ArenaDeleteButton(int slot, Arena arena) {
1818
this.arena = arena;
1919
}
2020

21+
@Override
22+
public ItemStack getItemStack(Player player) {
23+
return new ItemBuilder(Material.RED_DYE)
24+
.name("&cDelete arena")
25+
.lore("&7Click to permanently remove this arena")
26+
.build();
27+
}
28+
2129
@Override
2230
public void onClick(ClickType type, Player player) {
2331
arena.delete(true);
2432
new ArenasManagementMenu().open(player);
2533
player.sendMessage(CC.success("Deleted arena"));
2634
}
27-
28-
@Override
29-
public ItemStack getItemStack(Player player) {
30-
return new ItemBuilder(Material.RED_DYE).name("&cDelete arena").build();
31-
}
3235
}

Plugin/src/main/java/dev/lrxh/neptune/game/arena/menu/button/ArenaEnableButton.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,11 @@ public void onClick(ClickType type, Player player) {
2727

2828
@Override
2929
public ItemStack getItemStack(Player player) {
30-
if (arena.isEnabled()) return new ItemBuilder(Material.GREEN_WOOL).name("&cClick to disable").build();
31-
return new ItemBuilder(Material.RED_WOOL).name("&aClick to enable").build();
30+
if (arena.isEnabled()) return new ItemBuilder(Material.GREEN_WOOL).name("&cClick to disable")
31+
.lore("&7Click to prevent this arena from being used in matches")
32+
.build();
33+
return new ItemBuilder(Material.RED_WOOL).name("&aClick to enable")
34+
.lore("&7Click to allow this arena to be used in matches")
35+
.build();
3236
}
3337
}

Plugin/src/main/java/dev/lrxh/neptune/game/arena/menu/button/ArenaRenameButton.java

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@
44
import dev.lrxh.neptune.game.arena.ArenaService;
55
import dev.lrxh.neptune.game.arena.menu.ArenaManagementMenu;
66
import dev.lrxh.neptune.utils.CC;
7-
import dev.lrxh.neptune.utils.ItemBuilder;
87
import dev.lrxh.neptune.utils.menu.Button;
98
import dev.lrxh.neptune.utils.sign.SignInputMenu;
9+
import dev.lrxh.neptune.utils.ItemBuilder;
10+
import org.bukkit.inventory.ItemStack;
1011
import org.bukkit.Material;
1112
import org.bukkit.entity.Player;
1213
import org.bukkit.event.inventory.ClickType;
13-
import org.bukkit.inventory.ItemStack;
1414

1515
public class ArenaRenameButton extends Button {
1616
private final Arena arena;
@@ -20,6 +20,14 @@ public ArenaRenameButton(int slot, Arena arena) {
2020
this.arena = arena;
2121
}
2222

23+
@Override
24+
public ItemStack getItemStack(Player player) {
25+
return new ItemBuilder(Material.NAME_TAG)
26+
.name("&eRename arena &7(" + arena.getDisplayName() + "&7)")
27+
.lore("&7Click to change the display name of this arena")
28+
.build();
29+
}
30+
2331
@Override
2432
public void onClick(ClickType type, Player player) {
2533
player.closeInventory();
@@ -30,9 +38,4 @@ public void onClick(ClickType type, Player player) {
3038
ArenaService.get().save();
3139
});
3240
}
33-
34-
@Override
35-
public ItemStack getItemStack(Player player) {
36-
return new ItemBuilder(Material.NAME_TAG).name("&eRename arena &7(" + arena.getDisplayName() + "&7)").build();
37-
}
3841
}

Plugin/src/main/java/dev/lrxh/neptune/game/arena/menu/button/ArenaSelectButton.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,11 @@ public void onClick(ClickType type, Player player) {
2424

2525
@Override
2626
public ItemStack getItemStack(Player player) {
27-
return new ItemBuilder(Material.DIAMOND_SWORD).name("&f" + arena.getName() + " &7(" + arena.getDisplayName() + "&7)").lore("&7Press to manage arena",
28-
"&7Enabled: " + (arena.isEnabled() ? "&aEnabled" : "&cDisabled"),
29-
"&7Setup: " + (arena.isSetup() ? "&aDone" : "&cNot Done"),
30-
"&7Snapshot: " + (arena.isDoneLoading() ? "&aDone" : arena.isSetup() ? "&eLoading..." : "&cNot Setup")).build();
27+
return new ItemBuilder(Material.DIAMOND_SWORD).name("&f" + arena.getName() + " &7(" + arena.getDisplayName() + "&7)")
28+
.lore("&7Click to open this arena's management settings",
29+
"&7Enabled: " + (arena.isEnabled() ? "&aEnabled" : "&cDisabled"),
30+
"&7Setup: " + (arena.isSetup() ? "&aDone" : "&cNot Done"),
31+
"&7Snapshot: " + (arena.isDoneLoading() ? "&aDone" : arena.isSetup() ? "&eLoading..." : "&cNot Setup"))
32+
.build();
3133
}
3234
}

0 commit comments

Comments
 (0)