Guest User

Untitled

a guest
May 2nd, 2025
9
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.69 KB | None | 0 0
  1. package com.bluenova.floorislava.util.gui.inventories.util;
  2.  
  3. import com.bluenova.floorislava.FloorIsLava;
  4. import com.bluenova.floorislava.game.object.invitelobby.InviteLobby;
  5. import com.bluenova.floorislava.util.gui.InventoryButton;
  6. import com.bluenova.floorislava.util.gui.objects.Paginator;
  7. import com.bluenova.floorislava.util.messages.MiniMessages;
  8. import net.kyori.adventure.text.Component;
  9. import org.bukkit.Bukkit;
  10. import org.bukkit.Material;
  11. import org.bukkit.entity.Player;
  12. import org.bukkit.inventory.Inventory;
  13. import org.bukkit.inventory.ItemFlag;
  14. import org.bukkit.inventory.ItemStack;
  15. import org.bukkit.inventory.meta.SkullMeta;
  16.  
  17. import java.util.ArrayList;
  18.  
  19. public class PlayersToInviteInv extends Paginator<Player> {
  20.  
  21. public PlayersToInviteInv(ArrayList<Player> allOnlinePlayers) {
  22. super(allOnlinePlayers);
  23. FloorIsLava.getInstance().getPluginLogger().info("Creating PlayersToInviteInv with " + allOnlinePlayers.size() + " players.");
  24. }
  25.  
  26. @Override
  27. protected Inventory createInventory() {
  28. return Bukkit.createInventory(null, (9 * 6), MiniMessages.miniMessage.deserialize("<aqua>Players to Invite"));
  29. }
  30.  
  31. @Override
  32. public void decorate(Player player) {
  33. FloorIsLava.getInstance().getPluginLogger().info("Decorating PlayersToInviteInv for player: " + player.getName());
  34. super.decorate(player);
  35. }
  36.  
  37. @Override
  38. protected InventoryButton getUnitButton(Player player) {
  39. return new InventoryButton()
  40. .creator(p -> {
  41. ItemStack item = new ItemStack(Material.PLAYER_HEAD);
  42. SkullMeta skullMeta = (SkullMeta) item.getItemMeta();
  43. if (skullMeta != null) {
  44. skullMeta.setOwningPlayer(Bukkit.getOfflinePlayer(player.getUniqueId()));
  45. skullMeta.displayName(MiniMessages.miniMessage.deserialize("<white>" + player.getName()));
  46. ArrayList<Component> lore = new ArrayList<>();
  47. lore.add(MiniMessages.miniMessage.deserialize("<gray>Click to invite"));
  48. skullMeta.lore(lore);
  49. skullMeta.addItemFlags(ItemFlag.HIDE_ATTRIBUTES);
  50. item.setItemMeta(skullMeta);
  51. }
  52. return item;
  53. })
  54. .consumer(event -> {
  55. Player eventPlayer = (Player) event.getWhoClicked();
  56. InviteLobby lobby = FloorIsLava.getInviteLobbyManager().getLobbyFromOwner(eventPlayer);
  57. if (lobby != null){
  58. lobby.invite(player);
  59. }
  60. });
  61. }
  62. }
Advertisement
Add Comment
Please, Sign In to add comment