Skocz do zawartości
  • 0

Zamykanie GUI kiedy klikniemy


Karol123123123

Pytanie

Witam. Jak to przerobić tak żeby jak gracz kliknie w coś w gui to zamknie mu eq?
 

    @EventHandler
    public void onInventoryClick(InventoryClickEvent e) {
        if(!ChatColor.stripColor(e.getInventory().getName()).equalsIgnoreCase("Pomoc"));
        Player p = (Player) e.getWhoClicked();
        e.setCancelled(true);
        p.closeInventory();
        return;
        }
    }


    
 

Edytowane przez Karol123123123
Odnośnik do komentarza
Udostępnij na innych stronach

7 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

Masz 2 wyjścia. Sprawdzać po przedmiocie lub po slocie

1. 

ItemStack itemStack = event.getCurrentItem();
/*tu sprawdzasz czy itemstack jest danym typem lub po itemmecie czy ma dana nazwe*/

2.

int slot = event.getSlot();
if (slot == 20) {
	/tu rob co chcesz
}

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

idk proboje juz na kilka sposobow i dalej mozna klikac w gui tutaj przyklad:

 

package xyz.PomocGUI.main;

import org.bukkit.ChatColor;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryClickEvent;

public class Events implements Listener {
	
	Main plugin;
	
	public Events(Main M) {
		plugin = M;
	}

	@EventHandler
	public void onInventoryClick(InventoryClickEvent e) {
		if(!ChatColor.stripColor(e.getInventory().getName()).equalsIgnoreCase("Pomoc"))
			return;
		Player p = (Player) e.getWhoClicked();
		e.setCancelled(true);
		p.closeInventory();
		}
	}

 

Edytowane przez Karol123123123
Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

Na nowszych wersjach nazwe inventory w tym evencie pobiera się poprzez e.getView().getTitle():

package xyz.PomocGUI.main;

import org.bukkit.ChatColor;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryClickEvent;

public class Events implements Listener {
	
	Main plugin;
	
	public Events(Main M) {
		plugin = M;
	}

	@EventHandler
	public void onInventoryClick(InventoryClickEvent e) {
		if(!ChatColor.stripColor(e.getView().getTitle()).equalsIgnoreCase("Pomoc"))
			return;
		Player p = (Player) e.getWhoClicked();
		e.setCancelled(true);
		p.closeInventory();
		}
	}

W starszych używasz inventory.getTitle()

package xyz.PomocGUI.main;

import org.bukkit.ChatColor;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryClickEvent;

public class Events implements Listener {
	
	Main plugin;
	
	public Events(Main M) {
		plugin = M;
	}

	@EventHandler
	public void onInventoryClick(InventoryClickEvent e) {
		if(!ChatColor.stripColor(e.getInventory().getTitle()).equalsIgnoreCase("Pomoc"))
			return;
		Player p = (Player) e.getWhoClicked();
		e.setCancelled(true);
		p.closeInventory();
		}
	}

 

Edytowane przez Zbucki
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ę...