Files
Warehouse/src/main/java/com/rsscripting/rswarehouse/adminmenu/AdminMenu.java
T
BigPappa 293be5887a 1.4.0
Added Server Player Commands section.
2026-08-15 09:08:04 -05:00

203 lines
6.0 KiB
Java

package com.rsscripting.rswarehouse.adminmenu;
import com.rsscripting.rswarehouse.dao.admin.WarehouseStatisticsDAO;
import com.rsscripting.rswarehouse.menuholder.RSMenuHolder;
import com.rsscripting.rswarehouse.utils.RSMenuUtils;
import com.rsscripting.rswarehouse.utils.VersionUtils;
import com.rsscripting.rswarehouse.updatechecker.GitHubUpdateChecker;
import net.kyori.adventure.text.format.NamedTextColor;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import net.kyori.adventure.text.Component;
import java.util.List;
public class AdminMenu {
public static final String MENU_TITLE = "Admin";
public static void open(
Player player
) {
Inventory menu =
Bukkit.createInventory(
new RSMenuHolder(
"ADMIN"
),
18,
Component.text(
MENU_TITLE
).color(
NamedTextColor.GOLD
)
);
/*
|--------------------------------------------------------------------------
| FILLER
|--------------------------------------------------------------------------
*/
ItemStack filler =
RSMenuUtils.createFillerPane();
for (int i = 0; i < menu.getSize(); i++) {
menu.setItem(i, filler);
}
/*
|--------------------------------------------------------------------------
| BACK
|--------------------------------------------------------------------------
*/
menu.setItem(
4,
RSMenuUtils.createMenuItem(
Material.OAK_DOOR,
"§eBack"
)
);
/*
|--------------------------------------------------------------------------
| RELOAD
|--------------------------------------------------------------------------
*/
menu.setItem(
6,
RSMenuUtils.createMenuItem(
Material.ENCHANTED_BOOK,
"§cReload Plugin"
)
);
/*
|--------------------------------------------------------------------------
| VERSION
|--------------------------------------------------------------------------
*/
menu.setItem(
8,
RSMenuUtils.createMenuItemWithLore(
Material.BOOK,
"§ePlugin Version",
List.of(
"§7Installed: §f"
+ VersionUtils.getVersion(),
"",
"§7Status: §f"
+ GitHubUpdateChecker.getUpdateStatus(),
"",
"§7Latest: §f"
+ (
GitHubUpdateChecker.getLatestVersion()
== null
? "Unknown"
: GitHubUpdateChecker.getLatestVersion()
)
)
)
);
menu.setItem(
0,
RSMenuUtils.createMenuItemWithLore(
Material.BOOKSHELF,
"§aCreate Category",
List.of(
"§7Create a new warehouse category."
)
)
);
menu.setItem(
2,
RSMenuUtils.createMenuItemWithLore(
Material.WRITABLE_BOOK,
"§aWarehouse Statistics",
List.of(
"§7Total Unique Items: §f"
+ String.format(
"%,d",
WarehouseStatisticsDAO.getTotalUniqueItems()
),
"§7Total Items: §f"
+ String.format(
"%,d",
WarehouseStatisticsDAO.getTotalInventory()
),
"",
"§7Unique Enchanted Variants: §f"
+ String.format(
"%,d",
WarehouseStatisticsDAO.getTotalEnchantedVariants()
),
"§7Unique Damaged Variants: §f"
+ String.format(
"%,d",
WarehouseStatisticsDAO.getTotalDamagedVariants()
),
"§7Unique Partially Filled Variants: §f"
+ String.format(
"%,d",
WarehouseStatisticsDAO.getTotalPartiallyFilledVariants()
)
)
)
);
menu.setItem(
12,
RSMenuUtils.createMenuItemWithLore(
Material.COMMAND_BLOCK,
"§aCreate Server Command",
List.of(
"§7Create a server command entry."
)
)
);
player.openInventory(menu);
}
}