Recoded Paginated menu api and redid all arena menus

This commit is contained in:
Luca
2021-11-23 13:33:53 +01:00
parent e11fdd3931
commit 1775f11016
8 changed files with 86 additions and 83 deletions

View File

@ -4,6 +4,7 @@ import org.bukkit.Material;
import org.bukkit.entity.Player;
import rip.tilly.bedwars.BedWars;
import rip.tilly.bedwars.menus.arena.buttons.ArenaButton;
import rip.tilly.bedwars.utils.CC;
import rip.tilly.bedwars.utils.ItemBuilder;
import rip.tilly.bedwars.utils.menu.Button;
import rip.tilly.bedwars.utils.menu.pagination.PageButton;
@ -18,7 +19,7 @@ public class ArenaManagerMenu extends PaginatedMenu {
@Override
public String getPrePaginatedTitle(Player player) {
return "Arena Management";
return CC.translate("&eArena Management");
}
@Override

View File

@ -25,20 +25,19 @@ public class ArenaButton extends Button {
public ItemStack getButtonItem(Player player) {
return new ItemBuilder(Material.valueOf(arena.getIcon()))
.durability(arena.getIconData())
.name("&b" + arena.getName())
.lore(CC.translate(
Arrays.asList(
" ",
"&bArena Information&7:",
" &9&l▸ &fState: " + (arena.isEnabled() ? "&aEnabled" : "&cDisabled"),
" &9&l▸ &fType: &b" + (arena.getAvailableArenas().size() == 0 ? "Shared" : "Standalone"),
" &9&l▸ &fCopies: &b" + (arena.getCopiedArenas().size() == 0 ? "Not Required!" : arena.getCopiedArenas().size()),
" &9&l▸ &fAvailable: &b" + (arena.getAvailableArenas().size() == 0 ? +1 : arena.getAvailableArenas().size()),
" ",
(arena.getCopiedArenas().size() == 0 ? "&4&l&mMIDDLE-CLICK &4&mto see arena copies" : "&6&lMIDDLE-CLICK &6to see arena copies"),
"&a&lLEFT-CLICK &ato teleport to arena",
"&b&lRIGHT CLICK &bto generate standalone arenas")
)
.name("&d&l" + arena.getName())
.lore(Arrays.asList(
" ",
"&dArena Information:",
" &7⚫ &9State: " + (arena.isEnabled() ? "&aEnabled" : "&cDisabled"),
" &7⚫ &9Copies: &e" + (arena.getCopiedArenas().size() == 0 ? "&cZERO!" : arena.getCopiedArenas().size()),
" &7⚫ &9Available: &e" + (arena.getAvailableArenas().size() == 0 ? 0 : arena.getAvailableArenas().size()),
" ",
"&c/arena info " + arena.getName() + " for more information.",
" ",
(arena.getCopiedArenas().size() == 0 ? "&4&l&mMiddle Click &4&mto see copied arenas" : "&6&lMiddle Click &6to see copied arenas"),
"&a&lLeft Click &ato teleport to arena",
"&b&lRight Click &bto generate copied arenas")
)
.hideFlags()
.build();
@ -46,21 +45,23 @@ public class ArenaButton extends Button {
@Override
public void clicked(Player player, int slot, ClickType clickType, int hotbarButton) {
playSuccess(player);
playNeutral(player);
switch (clickType) {
case LEFT:
player.teleport(arena.getA().toBukkitLocation());
player.closeInventory();
break;
case RIGHT:
Bukkit.getScheduler().runTaskLaterAsynchronously(BedWars.getInstance(), () -> new ArenaGenerationMenu(arena).openMenu(player), 1L);
player.closeInventory();
break;
case MIDDLE:
if (arena.getCopiedArenas().size() >= 1) {
Bukkit.getScheduler().runTaskLaterAsynchronously(BedWars.getInstance(), () -> new ArenaCopyMenu(arena).openMenu(player), 1L);
} else {
player.sendMessage(CC.translate("&cThis arena has no copied arenas! &4Generate some!"));
}
break;
}
player.closeInventory();
}
}

View File

@ -27,18 +27,17 @@ public class ArenaCopyButton extends Button {
@Override
public ItemStack getButtonItem(Player player) {
return new ItemBuilder(Material.PAPER)
.name("&8" + number)
.name("&d&lCopy #" + number)
.lore(CC.translate(
Arrays.asList(
"&bCopy Information&7:",
" &9&l▸ &fParent Arena: &b" + arena.getName() + " &7(&f#" + number + "&7)",
" &9&l▸ &f1st Spawn: &b" + Math.round(arenaCopy.getA().getX()) + "&7, &b" + Math.round(arenaCopy.getA().getY()) + "&7, &b" + Math.round(arenaCopy.getA().getZ()),
" &9&l▸ &f2nd Spawn: &b" + Math.round(arenaCopy.getB().getX()) + "&7, &b" + Math.round(arenaCopy.getB().getY()) + "&7, &b" + Math.round(arenaCopy.getB().getZ()),
" &9&l▸ &fMin Location: &b" + Math.round(arenaCopy.getMin().getX()) + "&7, &b" + Math.round(arenaCopy.getMin().getY()) + "&7, &b" + Math.round(arenaCopy.getMin().getZ()),
" &9&l▸ &fMax Location: &b" + Math.round(arenaCopy.getMax().getX()) + "&7, &b" + Math.round(arenaCopy.getMax().getY()) + "&7, &b" + Math.round(arenaCopy.getMax().getZ()),
" ",
"&a&lLEFT-CLICK &ato teleport to this copy!",
"&c&lRIGHT-CLICK &cto delete this copy!"
"&dCopied Arena Information:",
" &7⚫ &9Parent Arena: &e" + arena.getName(),
" &7⚫ &91st Spawn: &e" + Math.round(arenaCopy.getA().getX()) + "&7, &e" + Math.round(arenaCopy.getA().getY()) + "&7, &e" + Math.round(arenaCopy.getA().getZ()),
" &7⚫ &92nd Spawn: &e" + Math.round(arenaCopy.getB().getX()) + "&7, &e" + Math.round(arenaCopy.getB().getY()) + "&7, &e" + Math.round(arenaCopy.getB().getZ()),
" ",
"&a&lLeft Click &ato teleport to this copied arena",
"&c&lRight Click &cto delete this copied arena"
))
)
.build();

View File

@ -21,14 +21,14 @@ public class ArenaGenerateButton extends Button {
@Override
public ItemStack getButtonItem(Player player) {
return new ItemBuilder(Material.PAPER)
.name("&aCreate " + currentCopyAmount + " Arena Copies")
.name("&eCreate " + currentCopyAmount + " Arena Copies")
.lore(CC.translate(
Arrays.asList(
" ",
"&7Clicking here will generate &b&l" + currentCopyAmount,
"&7arenas for the map &b" + arena.getName() + "&7!",
"&7Clicking here will generate &d&l" + currentCopyAmount,
"&7arenas for the map &d&l" + arena.getName() + "&7!",
" ",
"&a&lLEFT-CLICK &ato generate arenas")
"&a&lLeft Click &ato generate arenas")
))
.amount(currentCopyAmount)
.build();
@ -39,11 +39,10 @@ public class ArenaGenerateButton extends Button {
player.performCommand("arena generate " + arena.getName() + " " + currentCopyAmount);
player.sendMessage(CC.chatBar);
player.sendMessage(CC.translate("&b&lGENERATING ARENAS&b..."));
player.sendMessage(CC.translate("&d&lGENERATING ARENAS&d..."));
player.sendMessage(CC.translate(" "));
player.sendMessage(CC.translate("&fFrost is currently generating copies for:"));
player.sendMessage(CC.translate(" &9&l▸ &fArena: &b" + arena.getName()));
player.sendMessage(CC.translate(" &9&l▸ &fCopies: &b" + currentCopyAmount));
player.sendMessage(CC.translate(" &7⚫ &9Arena: &e" + arena.getName()));
player.sendMessage(CC.translate(" &7⚫ &9Copies: &e" + currentCopyAmount));
player.sendMessage(CC.translate(" "));
player.sendMessage(CC.translate("&7&oYou can check the progress in console."));
player.sendMessage(CC.chatBar);