package pw.yumc.LuckLottery.utils; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; public class InvUtils { public static final String InvName = ChatUtils.getPluginname() + " §c§l售价: " + LotteryUtils.getPrice() + "元一份"; public static final String NumPrefix = "§6§l"; public static final String Normal1 = "§6§l1"; public static final String Normal2 = "§6§l2"; public static final String Normal3 = "§6§l3"; public static final String Normal4 = "§6§l4"; public static final String Normal5 = "§6§l5"; public static final String Normal6 = "§6§l6"; public static final String Normal7 = "§6§l7"; public static final String Normal8 = "§6§l8"; public static final String Normal9 = "§6§l9"; public static final String Normal10 = "§6§l10"; public static final String Normal11 = "§6§l11"; public static final String Normal12 = "§6§l12"; public static final String Normal13 = "§6§l13"; public static final String Normal14 = "§6§l14"; public static final String Normal15 = "§6§l15"; public static final String Normal16 = "§6§l16"; public static final String Normal17 = "§6§l17"; public static final String Normal18 = "§6§l18"; public static final String Normal19 = "§6§l19"; public static final String Normal20 = "§6§l20"; public static final String Normal21 = "§6§l21"; public static final String Normal22 = "§6§l22"; public static final String Normal23 = "§6§l23"; public static final String Normal24 = "§6§l24"; public static final String Normal25 = "§6§l25"; public static final String Normal26 = "§6§l26"; public static final String Normal27 = "§6§l27"; public static final String Normal28 = "§6§l28"; public static final String Normal29 = "§6§l29"; public static final String Normal30 = "§6§l30"; public static final String Normal31 = "§6§l31"; public static final String Normal32 = "§6§l32"; // public static final String Special1 = "§b§l1"; // public static final String Special2 = "§b§l2"; // public static final String Special3 = "§b§l3"; // public static final String Special4 = "§b§l4"; // public static final String Special5 = "§b§l5"; // public static final String Special6 = "§b§l6"; // public static final String Special7 = "§b§l7"; // public static final String Special8 = "§b§l8"; // public static final String Special9 = "§b§l9"; public static final String WEB = "§c请选取=>§6橙色普通号码§r§l|§b蓝色特殊号码"; public static final String ReSet = "§4§l重新选取"; public static final String Create = "§a§l生成彩票"; public static final String CantCreate = "§c§l请选取§66个普通号码§b1个特殊号码§a生成彩票"; // private static final ItemStack L0 = new // ItemStack(Material.DOUBLE_PLANT,1,(short)0); public static final ItemStack L0 = new ItemStack(Material.WOOL); public static final ItemStack L1 = new ItemStack(Material.WOOL, 1, (short) 1); public static final ItemStack L2 = new ItemStack(Material.WOOL, 1, (short) 2); public static final ItemStack L3 = new ItemStack(Material.WOOL, 1, (short) 3); public static final ItemStack L4 = new ItemStack(Material.WOOL, 1, (short) 4); public static final ItemStack L5 = new ItemStack(Material.WOOL, 1, (short) 5); public static final ItemStack L6 = new ItemStack(Material.WOOL, 1, (short) 6); public static final ItemStack L7 = new ItemStack(Material.WOOL, 1, (short) 7); public static final ItemStack L8 = new ItemStack(Material.WOOL, 1, (short) 8); public static final ItemStack L9 = new ItemStack(Material.WOOL, 1, (short) 9); public static final ItemStack L10 = new ItemStack(Material.WOOL, 1, (short) 10); public static final ItemStack L11 = new ItemStack(Material.WOOL, 1, (short) 11); public static final ItemStack L12 = new ItemStack(Material.WOOL, 1, (short) 12); public static final ItemStack L13 = new ItemStack(Material.WOOL, 1, (short) 13); public static final ItemStack L14 = new ItemStack(Material.WOOL, 1, (short) 14); public static final ItemStack L15 = new ItemStack(Material.WOOL, 1, (short) 15); public static final ItemStack B0 = new ItemStack(Material.STAINED_GLASS); public static final ItemStack B1 = new ItemStack(Material.STAINED_GLASS, 1, (short) 1); public static final ItemStack B2 = new ItemStack(Material.STAINED_GLASS, 1, (short) 2); public static final ItemStack B3 = new ItemStack(Material.STAINED_GLASS, 1, (short) 3); public static final ItemStack B4 = new ItemStack(Material.STAINED_GLASS, 1, (short) 4); public static final ItemStack B5 = new ItemStack(Material.STAINED_GLASS, 1, (short) 5); public static final ItemStack B6 = new ItemStack(Material.STAINED_GLASS, 1, (short) 6); public static final ItemStack B7 = new ItemStack(Material.STAINED_GLASS, 1, (short) 7); public static final ItemStack B8 = new ItemStack(Material.STAINED_GLASS, 1, (short) 8); public static final ItemStack B9 = new ItemStack(Material.STAINED_GLASS, 1, (short) 9); public static final ItemStack B10 = new ItemStack(Material.STAINED_GLASS, 1, (short) 10); public static final ItemStack B11 = new ItemStack(Material.STAINED_GLASS, 1, (short) 11); public static final ItemStack B12 = new ItemStack(Material.STAINED_GLASS, 1, (short) 12); public static final ItemStack B13 = new ItemStack(Material.STAINED_GLASS, 1, (short) 13); public static final ItemStack B14 = new ItemStack(Material.STAINED_GLASS, 1, (short) 14); public static final ItemStack B15 = new ItemStack(Material.STAINED_GLASS, 1, (short) 15); public static final ItemStack W = new ItemStack(Material.SNOW_BALL); public static final ItemStack Creat = new ItemStack(Material.MAP); public static final ItemStack CM = new ItemStack(Material.WATER_LILY); public static final ItemStack CantCreat = new ItemStack(Material.EMPTY_MAP); public static final ItemStack A = new ItemStack(Material.AIR); public static final ItemStack RT = new ItemStack(Material.LAVA_BUCKET); static { setDisplayName(W, WEB); setDisplayName(L0, Normal1); setDisplayName(L1, Normal2); setDisplayName(L2, Normal3); setDisplayName(L3, Normal4); setDisplayName(L4, Normal5); setDisplayName(L5, Normal6); setDisplayName(L6, Normal7); setDisplayName(L7, Normal8); setDisplayName(L8, Normal9); setDisplayName(L9, Normal10); setDisplayName(L10, Normal11); setDisplayName(L11, Normal12); setDisplayName(L12, Normal13); setDisplayName(L13, Normal14); setDisplayName(L14, Normal15); setDisplayName(L15, Normal16); setDisplayName(B0, Normal17); setDisplayName(B1, Normal18); setDisplayName(B2, Normal19); setDisplayName(B3, Normal20); setDisplayName(B4, Normal21); setDisplayName(B5, Normal22); setDisplayName(B6, Normal23); setDisplayName(B7, Normal24); setDisplayName(B8, Normal25); setDisplayName(B9, Normal26); setDisplayName(B10, Normal27); setDisplayName(B11, Normal28); setDisplayName(B12, Normal29); setDisplayName(B13, Normal30); setDisplayName(B14, Normal31); setDisplayName(B15, Normal32); setDisplayName(CM, "§6<=普通号码§r|§b特殊号码=>"); setDisplayName(RT, ReSet); setDisplayName(CantCreat, CantCreate); setDisplayName(Creat, Create); } private static final ItemStack[] GUI_LINE1 = { W, L0, L1, L2, L3, L4, L5, L6, W /* 第一行结束 */ }; private static final ItemStack[] GUI_LINE2 = { L7, L8, L9, L10, L11, L12, L13, L14, L15 /* 第二行结束 */ }; private static final ItemStack[] GUI_LINE3 = { B0, B1, B2, B3, B4, B5, B6, B7, B8 /* 第三行结束 */ }; private static final ItemStack[] GUI_LINE4 = { W, B9, B10, B11, B12, B13, B14, B15, W /* 第四行结束 */ }; private static final ItemStack[] GUI_LINE5 = { W, W, W, W, W, W, RT, W, W /* 第五行结束 */ }; private static final ItemStack[] GUI_LINE6 = { A, A, A, A, A, A, CM, A, CantCreat /* 第六行结束 */ }; public static ItemStack[] getGui() { final List invgui = new ArrayList(); invgui.addAll(Arrays.asList(GUI_LINE1)); invgui.addAll(Arrays.asList(GUI_LINE2)); invgui.addAll(Arrays.asList(GUI_LINE3)); invgui.addAll(Arrays.asList(GUI_LINE4)); invgui.addAll(Arrays.asList(GUI_LINE5)); invgui.addAll(Arrays.asList(GUI_LINE6)); return invgui.toArray(new ItemStack[0]); } public static String getItemNumber(final ItemStack item) { final String num = item.getItemMeta().getDisplayName(); if (num.startsWith(NumPrefix)) { return num.substring(NumPrefix.length()); } return null; } public static String getLotteryNumber(final Inventory inv) { final StringBuffer lty = new StringBuffer(); for (int i = 45; i < 51; i++) { lty.append(getItemNumber(inv.getItem(i))); lty.append("-"); } lty.append(getItemNumber(inv.getItem(52))); return lty.toString(); } public static boolean isLotteryGUI(final Inventory inv) { if (inv == null) { return false; } return inv.getHolder() == null && inv.getTitle().equals(InvName); } public static boolean isLotteryItem(final ItemStack item) { final String num = item.getItemMeta().getDisplayName(); return num.startsWith(NumPrefix); } public static void openGui(final Player p) { final Inventory scrollInv = Bukkit.createInventory(null, 6 * 9, InvName); scrollInv.setContents(getGui()); p.openInventory(scrollInv); } public static boolean selectFinish(final Inventory inv) { return (inv.getItem(45) != null && inv.getItem(46) != null && inv.getItem(47) != null && inv.getItem(48) != null && inv.getItem(49) != null && inv.getItem(50) != null && inv.getItem(52) != null); } private static void setDisplayName(final ItemStack item, final String displayName) { final ItemMeta itemMeta = item.getItemMeta(); itemMeta.setDisplayName(displayName); item.setItemMeta(itemMeta); } }