package com.rsscripting.rswarehouse.admin.assignpageslot; import com.rsscripting.rswarehouse.admin.adminsessions.PageSlotAssignmentSession; import com.rsscripting.rswarehouse.admin.adminsessions.PageSlotAssignmentSessionManager; import com.rsscripting.rswarehouse.item.itemdao.ItemDAO; import com.rsscripting.rswarehouse.model.WarehouseItem; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.format.NamedTextColor; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.MenuType; import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.inventory.view.AnvilView; import java.util.List; public class SlotNumberMenu { public static final String TITLE = "Slot Number"; public static void open( Player player ) { PageSlotAssignmentSession session = PageSlotAssignmentSessionManager.getSession( player.getUniqueId() ); if (session == null) { return; } WarehouseItem item = ItemDAO.getItemById( session.getItemId() ); AnvilView view = MenuType.ANVIL.builder() .title( Component.text(TITLE) ) .build(player); ItemStack confirm = new ItemStack(Material.LIME_WOOL); ItemMeta meta = confirm.getItemMeta(); if (item != null && item.slot() != null) { meta.displayName( Component.text( String.valueOf(item.slot()) ) ); } else { meta.displayName( Component.empty() ); } meta.lore( List.of( Component.text( "Save slot." ).color( NamedTextColor.WHITE ) ) ); confirm.setItemMeta(meta); view.setItem( 0, confirm ); ItemStack cancel = new ItemStack(Material.RED_WOOL); ItemMeta cancelMeta = cancel.getItemMeta(); cancelMeta.displayName( Component.empty() ); cancel.setItemMeta( cancelMeta ); view.setItem( 1, cancel ); view.open(); } }