203 lines
6.0 KiB
Java
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);
|
|
|
|
}
|
|
|
|
} |