Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.xKishan.Hub;
- import java.util.ArrayList;
- import java.util.Arrays;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.Material;
- import org.bukkit.SkullType;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.block.Action;
- import org.bukkit.event.inventory.InventoryClickEvent;
- import org.bukkit.event.inventory.InventoryType;
- import org.bukkit.event.player.PlayerDropItemEvent;
- import org.bukkit.event.player.PlayerInteractEvent;
- import org.bukkit.event.player.PlayerJoinEvent;
- import org.bukkit.inventory.Inventory;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.inventory.meta.ItemMeta;
- import ru.tehkode.permissions.PermissionUser;
- import ru.tehkode.permissions.bukkit.PermissionsEx;
- public class CompassHotbarGUI implements Listener {
- public void getItem(Inventory i, int Slot, Material material, int amount,
- String name, String lore) {
- ItemStack item = new ItemStack(material, amount);
- ItemMeta meta = item.getItemMeta();
- meta.setDisplayName(name);
- ArrayList<String> Lore = new ArrayList<String>();
- Lore.add(lore);
- meta.setLore(Lore);
- item.setItemMeta(meta);
- i.setItem(Slot, item);
- }
- public void getItem(Inventory i, int Slot, Material material, int amount,
- SkullType type, String name, String lore, String lore2,
- String lore3, String lore4) {
- ItemStack item = new ItemStack(material, amount, (short) type.ordinal());
- ItemMeta meta = item.getItemMeta();
- meta.setDisplayName(name);
- ArrayList<String> Lore = new ArrayList<String>();
- Lore.add(lore);
- Lore.add(lore2);
- Lore.add(lore3);
- Lore.add(lore4);
- meta.setLore(Lore);
- item.setItemMeta(meta);
- i.setItem(Slot, item);
- }
- public static Inventory CompassGUI;
- ItemStack Compass = new ItemStack(Material.COMPASS);
- ItemMeta CompassMeta = Compass.getItemMeta();
- ItemStack PI = new ItemStack(Material.SKULL_ITEM, 1,
- (short) SkullType.PLAYER.ordinal());
- ItemMeta PIMeta = PI.getItemMeta();
- Player commander;
- String commanderName;
- PermissionUser user;
- String prefix;
- @EventHandler
- public void onPlayerJoinn(PlayerJoinEvent event) {
- CompassMeta.setDisplayName(ChatColor.GREEN + "Game Menu"
- + ChatColor.GRAY + " (Right Click)");
- CompassMeta.setLore(Arrays.asList(ChatColor.GRAY
- + "Right-click to bring up the lobby menu!"));
- Compass.setItemMeta(CompassMeta);
- InventoryType Player = InventoryType.PLAYER;
- if (!event.getPlayer().getInventory().getType().equals(Player)) {
- return;
- } else {
- event.getPlayer().getInventory().setItem(0, Compass);
- }
- }
- @EventHandler
- public void onInventoryClick(InventoryClickEvent event) {
- if (!ChatColor.stripColor(event.getInventory().getName())
- .equalsIgnoreCase("Game Menu")) {
- return;
- }
- Player commander = (Player) event.getWhoClicked();
- event.setCancelled(true);
- ItemStack clicked = event.getCurrentItem();
- if (clicked == null) {
- return;
- }
- if (clicked.equals(PI)) {
- }
- }
- @EventHandler
- public void onItemDrop(PlayerDropItemEvent event) {
- if (event.getItemDrop().getItemStack().equals(Compass)) {
- event.setCancelled(true);
- }
- }
- @EventHandler
- public void onClickRight(PlayerInteractEvent event) {
- if (event.getItem() == null) {
- return;
- }
- if (event.getAction() != Action.PHYSICAL) {
- if (event.getItem().equals(Compass)) {
- event.setCancelled(true);
- if (!event.getPlayer().hasPermission("hub.gamemenu")) {
- event.getPlayer().sendMessage(
- ChatColor.RED
- + "You are not permitted to use this!");
- return;
- } else {
- commander = event.getPlayer();
- commanderName = commander.getName();
- CompassGUI = Bukkit.getServer().createInventory(null, 36,
- ChatColor.BLACK + "Game Menu");
- commanderName = commander.getName();
- PIMeta.setDisplayName(ChatColor.AQUA
- + "Character Information");
- PI.setItemMeta(PIMeta);
- user = PermissionsEx.getUser(commander);
- prefix = (ChatColor.translateAlternateColorCodes('&',
- user.getPrefix()));
- float toNextLevel = (float) event.getPlayer()
- .getExpToLevel();
- float curExp = event.getPlayer().getExp();
- float reqToNextLevel = (1F - curExp);
- float diff = toNextLevel - (curExp * toNextLevel)
- - (reqToNextLevel * toNextLevel);
- // Only if the difference is disadvantageous
- if (diff < 1E-5) {
- reqToNextLevel += diff;
- }
- reqToNextLevel = (int) Math.floor(reqToNextLevel
- * toNextLevel);
- getItem(CompassGUI, 27, Material.SKULL_ITEM, 1,
- SkullType.PLAYER, ChatColor.GREEN
- + "Character Information", ChatColor.GRAY
- + "Username: " + ChatColor.GOLD
- + commanderName, ChatColor.GRAY + "Rank: "
- + prefix, ChatColor.GRAY
- + "Experience Level: " + ChatColor.GOLD
- + event.getPlayer().getLevel(),
- ChatColor.GRAY + "Experience Until Level "
- + (event.getPlayer().getLevel() + 1) + ": "
- + ChatColor.GOLD + (int) reqToNextLevel);
- PIMeta.setLore(Arrays.asList(ChatColor.GRAY + "Username: "
- + ChatColor.GOLD + commanderName, ChatColor.GRAY
- + "Rank: " + prefix, ChatColor.GRAY
- + "Experience Level: " + ChatColor.GOLD
- + event.getPlayer().getLevel(), ChatColor.GRAY
- + "Experience Until Level "
- + (event.getPlayer().getLevel() + 1) + ": "
- + ChatColor.GOLD + (int) reqToNextLevel));
- Main.characterInformationConfig.set(
- "Character Information." + commanderName
- + ".Rank Prefix", prefix);
- Main.characterInformationConfig.set(
- "Character Information." + commanderName
- + ".Experience Level", event.getPlayer()
- .getLevel());
- ;
- Main.characterInformationConfig.set(
- "Character Information." + commanderName
- + ".Experience Needed",
- (int) reqToNextLevel);
- Main.characterInformationConfig.saveConfig();
- PI.setItemMeta(PIMeta);
- event.getPlayer().openInventory(CompassGUI);
- }
- }
- }
- }
- @EventHandler
- public void onInventoryClickStopChest(InventoryClickEvent event) {
- ItemStack clicked = event.getCurrentItem();
- int slot = event.getRawSlot();
- if (slot < 45 && slot > -1) {
- if (clicked == null) {
- return;
- }
- if (clicked.equals(Compass)) {
- event.setCancelled(true);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement