package com.rsscripting.rswarehouse.autodeposit; import com.rsscripting.rswarehouse.autodeposit.autodepositdao.AutoDepositDAO; import com.rsscripting.rswarehouse.session.GuiSession; import com.rsscripting.rswarehouse.session.GuiSessionManager; import com.rsscripting.rswarehouse.menuholder.RSMenuHolder; import com.rsscripting.rswarehouse.utils.RSMenuUtils; import net.kyori.adventure.text.Component; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; import java.util.List; public class AutoDepositMenu { public static final String MENU_ID = "AUTO_DEPOSIT"; public static final String TITLE = "Auto Deposit"; public static void open( Player player ) { GuiSession session = GuiSessionManager.getSession( player ); int page = Math.max( 1, session.getAutoDepositPage() ); session.setAutoDepositPage( page ); Inventory inventory = Bukkit.createInventory( new RSMenuHolder( MENU_ID ), 54, Component.text( TITLE ) ); ItemStack filler = RSMenuUtils.createFillerPane(); for ( int slot = 0; slot <= 8; slot++ ) { inventory.setItem( slot, filler ); } boolean enabled = AutoDepositDAO.isEnabled( player.getUniqueId() ); inventory.setItem( 2, enabled ? RSMenuUtils.createMenuItem( Material.GREEN_DYE, "Enabled" ) : RSMenuUtils.createMenuItem( Material.RED_DYE, "Disabled" ) ); inventory.setItem( 4, RSMenuUtils.createMenuItem( Material.OAK_DOOR, "§a Back to Category Menu" ) ); List filters = AutoDepositDAO.getFilters( player.getUniqueId() ); int highestPage = filters.size() / 45 + 1; int start = (page - 1) * 45; int slot = 9; for ( int i = start; i < filters.size() && slot <= 53; i++ ) { inventory.setItem( slot++, filters.get( i ) ); } if ( page > 1 ) { inventory.setItem( 0, RSMenuUtils.createMenuItem( Material.ARROW, "§ePrevious Page" ) ); } if ( page < highestPage + 1 ) { inventory.setItem( 8, RSMenuUtils.createMenuItem( Material.ARROW, "§eNext Page" ) ); } player.openInventory( inventory ); } }