MrMeow
Ньюби
- Баллы
- 1
Я пытаюсь сделать простой GUI, но предметы из GUI не кликаються, а забираються. Вот код, если это можно назвать кодом неговнокодным:
Код:
package org.mrmeow.gui;
import java.util.ArrayList;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.Particle;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.*********ventory.Inventory;
import org.*********ventory.ItemStack;
import org.*********ventory.meta.ItemMeta;
import org.bukkit.plugin.java.JavaPlugin;
import net.md_5.bungee.api.ChatColor;
public class Main extends JavaPlugin implements Listener{
@Override
public void onEnable(){
getServer().getPluginManager().registerEvents(this, this);
}
@EventHandler
public void onJoin(PlayerJoinEvent joinEvent){
Player p = joinEvent.getPlayer();
Inventory gui = Bukkit.createInventory(p, 9, ChatColor.GOLD + "AbsolutelyNotGUI");
ItemStack motion = new ItemStack(Material.FEATHER);
ItemMeta motion_meta = motion.getItemMeta();
motion_meta.setDisplayName(ChatColor.WHITE +"Motion");
ArrayList<String> motion_lore = new ArrayList<>();
motion_lore.add(ChatColor.WHITE + "Send yourself up!");
motion_meta.setLore(motion_lore);
motion.setItemMeta(motion_meta);
ItemStack particle = new ItemStack(Material.DRAGON_BREATH);
ItemMeta particle_meta = particle.getItemMeta();
particle_meta.setDisplayName(ChatColor.DARK_PURPLE + "Particle");
ArrayList<String> particle_lore = new ArrayList<>();
particle_lore.add(ChatColor.DARK_PURPLE + "Spawn particles!");
particle_meta.setLore(particle_lore);
particle.setItemMeta(particle_meta);
ItemStack fire = new ItemStack(Material.BLAZE_POWDER);
ItemMeta fire_meta = fire.getItemMeta();
fire_meta.setDisplayName(ChatColor.GOLD + "Fire");
ArrayList<String> fire_lore = new ArrayList<>();
fire_lore.add(ChatColor.GOLD + "Set yourself on fire!");
fire_meta.setLore(fire_lore);
fire.setItemMeta(fire_meta);
ItemStack[] menu_items = {motion, particle, fire};
gui.setContents(menu_items);
p.openInventory(gui);
}
public void InventoryClickEvent(InventoryClickEvent clickEvent){
if(!ChatColor.stripColor(clickEvent.getView().getTitle().toString()).equalsIgnoreCase("AbsolutelyNotGUI")) return;
if(clickEvent.getCurrentItem() == null) return;
if(ChatColor.stripColor(clickEvent.getCurrentItem().getItemMeta().getDisplayName()).equalsIgnoreCase("Motion")){
Player p = (Player) clickEvent.getWhoClicked();
p.getVelocity().setY(0.5d);
p.sendMessage("Fly, player, FLY!");
clickEvent.setCancelled(true);
p.closeInventory();
}
else if(ChatColor.stripColor(clickEvent.getCurrentItem().getItemMeta().getDisplayName()).equalsIgnoreCase("Particle")){
Player p = (Player) clickEvent.getWhoClicked();
p.getLocation().getWorld().spawnParticle(Particle.DRAGON_BREATH, p.getLocation(), 100, 1, 0.35, 1);
p.sendMessage("Sniff this dragon breath!");
clickEvent.setCancelled(true);
p.closeInventory();
}
else if(ChatColor.stripColor(clickEvent.getCurrentItem().getItemMeta().getDisplayName()).equalsIgnoreCase("Fire")){
Player p = (Player) clickEvent.getWhoClicked();
p.setFireTicks(200);
p.sendMessage("Have fun with your new friend - fire!");
clickEvent.setCancelled(true);
p.closeInventory();
}
}
}