Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package nms.main;
- import java.util.HashMap;
- import org.bukkit.Bukkit;
- import org.bukkit.Material;
- import org.bukkit.Particle;
- import org.bukkit.enchantments.Enchantment;
- 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.PlayerMoveEvent;
- import org.bukkit.inventory.Inventory;
- import org.bukkit.inventory.ItemFlag;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.inventory.meta.ItemMeta;
- public class GUI implements Listener
- {
- HashMap<Player, String> effects = new HashMap<>();
- public static void gui(Player p)
- {
- Inventory inv = Bukkit.createInventory(null, 9, "§3Меню эффектов");
- ItemStack crit = new ItemStack(Material.NETHER_STAR);
- ItemStack flame = new ItemStack(Material.TORCH);
- ItemStack offon = new ItemStack(Material.REDSTONE_TORCH_ON);
- ItemMeta meta1= crit.getItemMeta();
- ItemMeta meta2 = flame.getItemMeta();
- ItemMeta meta3 = offon.getItemMeta();
- meta1.setDisplayName("§aЗвёзды");
- meta2.setDisplayName("§6Огонь");
- meta3.setDisplayName("§сВыключить");
- meta1.addItemFlags(ItemFlag.HIDE_ATTRIBUTES, ItemFlag.HIDE_ENCHANTS);
- meta2.addItemFlags(ItemFlag.HIDE_ATTRIBUTES, ItemFlag.HIDE_ENCHANTS);
- meta3.addItemFlags(ItemFlag.HIDE_ATTRIBUTES, ItemFlag.HIDE_ENCHANTS);
- meta1.addEnchant(Enchantment.ARROW_DAMAGE, 1, true);
- meta2.addEnchant(Enchantment.ARROW_DAMAGE, 1, true);
- meta3.addEnchant(Enchantment.ARROW_DAMAGE, 1, true);
- crit.setItemMeta(meta1);
- flame.setItemMeta(meta2);
- offon.setItemMeta(meta3);
- inv.setItem(0, crit);
- inv.setItem(1, flame);
- inv.setItem(8, offon);
- p.openInventory(inv);
- }
- @EventHandler
- public void onCLick(InventoryClickEvent e)
- {
- Player p = (Player) e.getWhoClicked();
- ItemStack item = e.getCurrentItem();
- Inventory inv = e.getInventory();
- if(inv.getName().equalsIgnoreCase("§3Меню эффектов")) {
- e.setCancelled(true);
- switch (item.getItemMeta().getDisplayName()) { //Норм способ проверки названия
- case "§aЗвёзды":
- effects.put(p, "crit");
- break;
- case "§6Огонь":
- effects.put(p, "flame");
- break;
- case "§сВыключить":
- effects.remove(p);
- break;
- default:
- break;
- }
- }
- }
- @EventHandler
- public void onMove(PlayerMoveEvent e)
- {
- if(!effects.containsKey(e.getPlayer())) return;
- Player p = e.getPlayer();
- switch (effects.get(e.getPlayer())) {
- case "crit":
- p.getWorld().spawnParticle(Particle.CRIT, p.getLocation(), 100);
- break;
- case "flame":
- p.getWorld().spawnParticle(Particle.FLAME, p.getLocation(), 100);
- break;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment