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

161 lines
3.7 KiB
Java

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