Skocz do zawartości
  • 0

blokowanie gui


Ever

Pytanie

Witam, mam tu plugin na drop. Gui sie otwiera, jest item. Ale sie nie canceluje i nie pisze mi wiadomosci :/

package me.hotangel2k17.pl.commands;


import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;

public class DropCommand implements CommandExecutor, Listener{

	Inventory inv;
	
	@Override
	public boolean onCommand(CommandSender s, Command cmd, String l, String[] args) {
		Player p = (Player) s;
		if(cmd.getName().equalsIgnoreCase("drop")){
			Inventory inv = Bukkit.getServer().createInventory(null,9,"§6§lDrop serwerowy");
			inv.setItem(0, stone);
			
			p.openInventory(inv);
		
		}
		return false;
		
	}
	ItemStack stone = new ItemStack(Material.CHEST, 1);{
		ItemMeta stoneim = stone.getItemMeta();
		stoneim.setDisplayName("§7§lStoneCase");
		stone.setItemMeta(stoneim);
		
	}
	@SuppressWarnings("deprecation")
	@EventHandler
	public void onClick(InventoryClickEvent e){
		Inventory i = e.getInventory();
		if(i == null){
			return;
		}
		if(i !=null){
			if(!i.getName().equals(inv.getTitle())){
				return;
			}
			if (e.getCurrentItem() == null){
				return;
			}
			else{
				if(e.getCurrentItem().getItemMeta() == null){
					return;
				}
			}
		}
		if(e.getWhoClicked() instanceof Player){
			Player p = (Player) e.getWhoClicked();
			if(e.getCurrentItem().getItemMeta() !=null){
				if(e.getCurrentItem().getItemMeta().getDisplayName().equals(stone.getItemMeta().getDisplayName())){
					p.sendMessage("siema");
					e.setCancelled(true);
					p.openInventory(e.getInventory());

				} else{
					e.setCancelled(true);
					p.openInventory(e.getInventory());
				}
			}
		}
	}
}

 

Odnośnik do komentarza
Udostępnij na innych stronach

1 odpowiedź na to pytanie

Rekomendowane odpowiedzi

  • 0
package me.hotangel2k17.pl.commands;


import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;

public class DropCommand implements CommandExecutor, Listener{
	
	@Override
	public boolean onCommand(CommandSender s, Command cmd, String l, String[] args) {
		Player p = (Player) s;
		if(cmd.getName().equalsIgnoreCase("drop")){
			final Inventory inv = Bukkit.getServer().createInventory(null,9,"drop");
			inv.setItem(0, stone);
			p.openInventory(inv);
			return true;
		}
		return false;
		
	}
	@EventHandler
	public void onClick(InventoryClickEvent e){
		if (e.getInventory().getTitle().equalsIgnoreCase("drop")){
			if (e.getClickedItem() == null || e.getClickedItem().getItemMeta() == null) return;
			final Player p = (Player)e.getWhoClicked();
			p.sendMessage("it's working!");
		}
	}

	private ItemStack stone(){
		ItemStack stone = new ItemStack(Material.CHEST, 1);{
		ItemMeta stoneim = stone.getItemMeta();
		stoneim.setDisplayName("§7§lStoneCase");
		stone.setItemMeta(stoneim);
		return stone;
	}
}

+ rejestracja eventu w onEnable.

Pisane od razu w 'code' na forum wiec moze byc jakis maly blad z nawiasami lub klamrami.

Odnośnik do komentarza
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...