71 lines
2.5 KiB
Java
71 lines
2.5 KiB
Java
package eu.univento.lobby.listeners;
|
|
|
|
import eu.univento.core.api.player.CustomPlayer;
|
|
import org.bukkit.Bukkit;
|
|
import org.bukkit.Material;
|
|
import org.bukkit.entity.Entity;
|
|
import org.bukkit.entity.Player;
|
|
import org.bukkit.event.EventHandler;
|
|
import org.bukkit.event.Listener;
|
|
import org.bukkit.event.inventory.InventoryClickEvent;
|
|
import org.bukkit.event.player.PlayerInteractEntityEvent;
|
|
import org.bukkit.inventory.Inventory;
|
|
import org.bukkit.inventory.ItemStack;
|
|
import org.bukkit.inventory.meta.ItemMeta;
|
|
import org.bukkit.inventory.meta.SkullMeta;
|
|
|
|
/**
|
|
* @author joethei
|
|
* @version 0.1
|
|
*/
|
|
public class PlayerInteract implements Listener{
|
|
|
|
@EventHandler
|
|
public void onInteractPlayer(PlayerInteractEntityEvent e) {
|
|
CustomPlayer p = CustomPlayer.getPlayer(e.getPlayer());
|
|
Entity entity = e.getRightClicked();
|
|
if(entity instanceof Player) {
|
|
CustomPlayer clicked = CustomPlayer.getPlayer(e.getRightClicked().getName());
|
|
openInventory(p, clicked);
|
|
}
|
|
}
|
|
|
|
private void openInventory(CustomPlayer p, CustomPlayer clicked) {
|
|
Inventory inv = Bukkit.createInventory(p, 9, clicked.getColor() + clicked.getName() + "'s " + p.getMessages().LobbyItems_PLAYER_MENU());
|
|
|
|
ItemStack friend = new ItemStack(Material.PUMPKIN);
|
|
ItemMeta friendMeta = friend.getItemMeta();
|
|
friendMeta.setDisplayName(p.getMessages().LobbyItems_PLAYER_FRIEND());
|
|
friend.setItemMeta(friendMeta);
|
|
|
|
ItemStack party = new ItemStack(Material.FIREWORK);
|
|
ItemMeta partyMeta = party.getItemMeta();
|
|
partyMeta.setDisplayName(p.getMessages().LobbyItems_PLAYER_PARTY());
|
|
party.setItemMeta(partyMeta);
|
|
|
|
ItemStack skull = new ItemStack(Material.SKULL_ITEM, 1, (short) 3);
|
|
SkullMeta meta = (SkullMeta) skull.getItemMeta();
|
|
meta.setOwner(clicked.getName());
|
|
meta.setDisplayName(p.getMessages().LobbyItems_PLAYER_PROFILE());
|
|
skull.setItemMeta(meta);
|
|
|
|
ItemStack stats = new ItemStack(Material.GOLD_SWORD);
|
|
ItemMeta statsMeta = stats.getItemMeta();
|
|
statsMeta.setDisplayName(p.getMessages().LobbyItems_PLAYER_STATS());
|
|
stats.setItemMeta(statsMeta);
|
|
|
|
inv.setItem(0, friend);
|
|
inv.setItem(1, party);
|
|
inv.setItem(4, skull);
|
|
inv.setItem(5, stats);
|
|
|
|
p.openInventory(inv);
|
|
}
|
|
|
|
@EventHandler
|
|
public void onInventoryClick(InventoryClickEvent e) {
|
|
CustomPlayer p = CustomPlayer.getPlayer(e.getWhoClicked().getName());
|
|
//TODO: add functionality here
|
|
}
|
|
}
|