Files
Warehouse/src/main/java/com/rsscripting/rswarehouse/admin/assignpageslot/SlotNumberMenu.java
T
2026-08-06 22:07:12 -05:00

112 lines
2.6 KiB
Java

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();
}
}