NullValkyrie

Minecraft 1.19 multipurpose plugin for spigot servers with a lot of features where most modern servers have.
git clone https://codeberg.org/night0721/NullValkyrie
Log | Files | Refs | README | LICENSE

LuckyDraw.java (1966B)


      1 package me.night.nullvalkyrie.ui.inventory;
      2 
      3 import me.night.nullvalkyrie.entities.items.Items;
      4 import me.night.nullvalkyrie.util.Util;
      5 import org.bukkit.ChatColor;
      6 import org.bukkit.Material;
      7 import org.bukkit.entity.Player;
      8 import org.bukkit.inventory.ItemStack;
      9 import org.bukkit.inventory.meta.ItemMeta;
     10 
     11 import java.util.List;
     12 
     13 public class LuckyDraw extends GUIManager {
     14     public static final String title = ChatColor.DARK_BLUE.toString() + ChatColor.BOLD + "X Lucky Draw";
     15     @Override
     16     public void UI(Player player) {
     17         init(45, title);
     18         setCloseButton(true);
     19         setFrame(true, Material.BLUE_STAINED_GLASS_PANE);
     20         int[] slots = new int[]{10, 12, 14, 16, 28, 30, 32, 34, 19, 25};
     21         for (String s1 : InventoryListener.randomCollection.getAll()) {
     22             Items it = Items.getByName(s1);
     23             ItemStack item = new ItemStack(it.getMaterial());
     24             ItemMeta meta = item.getItemMeta();
     25             if (meta == null) return;
     26             meta.setDisplayName(ChatColor.GREEN + s1);
     27             meta.setLore(List.of("", Util.color("&bChance:" + InventoryListener.randomCollection.getChance(s1) + "%"), it.getRarity().getDisplay()));
     28             item.setItemMeta(meta);
     29             GUI.setItem(it.getSlot(), item);
     30         }
     31         for (int s : slots) {
     32             if (GUI.getItem(s) == null) {
     33                 ItemStack got = new ItemStack(Material.BLACK_STAINED_GLASS_PANE);
     34                 ItemMeta gotmeta = got.getItemMeta();
     35                 gotmeta.setDisplayName(ChatColor.RED + "You already got this reward!");
     36                 got.setItemMeta(gotmeta);
     37                 GUI.setItem(s, got);
     38             }
     39         }
     40         ItemStack roll = new ItemStack(Material.ARROW);
     41         ItemMeta meta = roll.getItemMeta();
     42         if (meta == null) return;
     43         meta.setLore(List.of("Press to roll!"));
     44         roll.setItemMeta(meta);
     45         GUI.setItem(22, roll);
     46         player.openInventory(GUI);
     47     }
     48 }