- Баллы
- 66
- Имя в Minecraft
- kirilka1996
Доброе утро,
Я пытаюсь сделать меню на сервере. Всё работает, но есть одно но:
Если передвинуть менюшный предмет, то сама система перестает работать.
К тому же если нажимать рукой на блоки правой кнопкой мыши то происходит ошибка плагина.
Помогите, пожалуйста.
Вот код
Заранее очень благодарен!
Я пытаюсь сделать меню на сервере. Всё работает, но есть одно но:
Если передвинуть менюшный предмет, то сама система перестает работать.
К тому же если нажимать рукой на блоки правой кнопкой мыши то происходит ошибка плагина.
Помогите, пожалуйста.
Вот код
Код:
package sunrise.menu;
import java.util.logging.Logger;
import net.md_5.bungee.api.ChatColor;
import org.bukkit.Bukkit;
import org.bukkit.Material;
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.InventoryCloseEvent;
//import org.bukkit.event.inventory.InventoryType;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerQuitEvent;
import org.*********ventory.Inventory;
import org.*********ventory.ItemStack;
import org.*********ventory.meta.ItemMeta;
import org.bukkit.plugin.java.JavaPlugin;
public class menu extends JavaPlugin implements Listener {
public static final Logger _log = Logger.getLogger("Minecraft");
public static menu plugin;
ItemStack m = new ItemStack(Material.APPLE,1);
ItemMeta menuinfo = m.getItemMeta();
String menutext = ChatColor.GREEN + "Меню сервера" + ChatColor.RED + " [ПКМ]";
Inventory men = Bukkit.createInventory(null,9,ChatColor.RED + "Меню");
@Override
public void onEnable(){
_log.info(_log.getName() + " Has been Loading ");
Bukkit.getServer().getPluginManager().registerEvents((Listener) this, this);
}
@Override
public void onDisable(){
_log.info(_log.getName() + " Has been Disable ");
}
@EventHandler
public void OnJoin(PlayerJoinEvent event){
Player p = event.getPlayer();
event.setJoinMessage(" ");
_log.info("Geting menu for player..");
menuinfo.setDisplayName(menutext);
m.setItemMeta(menuinfo);
if(p.getInventory().getItemInHand() != m) p.setItemInHand(m);
}
@EventHandler
public void Onq(PlayerQuitEvent event){
event.getPlayer().getInventory().removeItem(m);
}
@EventHandler
public void onpickitem(PlayerInteractEvent event){
Player p = event.getPlayer();
if(p.getItemInHand().getItemMeta().getDisplayName() == menutext){
if(event.getAction() == Action.RIGHT_CLICK_BLOCK || event.getAction() == Action.RIGHT_CLICK_AIR)
{
men.addItem(new ItemStack(Material.ENDER_CHEST,1));
men.addItem(new ItemStack(Material.DIAMOND,1));
p.openInventory(men);
}
}
}
/*@EventHandler
public void ondag(InventoryClickEvent e){
if(e.getClickedInventory().getType() == InventoryType.PLAYER){
if(e.getCurrentItem().getItemMeta().getDisplayName() == menutext){
e.setCancelled(true);
}
}
}*/
@EventHandler
public void oncloseinv(InventoryCloseEvent e){
if(e.getInventory().getName().equals(ChatColor.RED + "Меню"))
{
men.removeItem(new ItemStack(Material.ENDER_CHEST,1));
men.removeItem(new ItemStack(Material.DIAMOND,1));
}
}
}
