Skocz do zawartości
  • 0

Problem GUI


deusowy_yt

Pytanie

6 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
Spoiler

package me.itemu.ne;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.Listener;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.plugin.java.JavaPlugin;
public class Main extends JavaPlugin implements Listener{
 
 @Override
 public void onEnable(){
  System.out.println("Uruchamianie...");
  getServer().getPluginManager().registerEvents(this, this);
 }
 
 @Override
 public void onDisable(){
  System.out.println("Wylaczanie...");
 }
 
 @Override
 public boolean onCommand(CommandSender sender, Command cmd, String l, String[] args) {
  Player p = (Player) sender;
  if(cmd.getName().equalsIgnoreCase("test")){
   Inventory inv = Bukkit.getServer().createInventory(null,9,"§6drop");
    
   
   ItemStack cheststone = new ItemStack(Material.CHEST, 1);
   ItemMeta im = cheststone.getItemMeta();
   im.setDisplayName("§7§lStoneCase");
   cheststone.setItemMeta(im);
   inv.setItem(0, cheststone);
   
   p.openInventory(inv);
  
  }
  return false;
 }
}

 

 

Edytowane przez Ixidi
[code]
Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

Tworzysz sobie inventory, tylko raz, nie za każdym razem przy metodzie:

public class MyPlugin extends JavaPlugin {

	private final Inventory testInventory;

	public MyPlugin() {
		this.testInventory = getServer().createInventory(null,9,"This is inventory");
		final ItemStack is = new ItemStack(Material.GOLDEN_APPLE, 1, (short)1);
		this.testInventory.setItem(4,is);
	}
	
	@Override
	public void onEnable() {
        this.getServer().getPluginManager().registerEvents(new Listener() {
			@EventHandler
			public void inventoryClick(InventoryClickEvent e) {
				if (e.getInventory==null || e.getCurrentItem()==null)return;

				if (e.getInventory.getTitle().equalsIgnoreCase(testInventory.getTitle()) {
					e.setCancelled(true);
					//do something
				}
			}
        },this);
	}
}

troche zle wytabowane bo od razu pisalem w 'code' na forum, ale raczej ogarniesz

a co do komendy to typ na górze dał, tylko popraw:

	@Override
	public boolean onCommand(CommandSender sender, Command cmd, String l, String[] args) {
		if (sender instanceof Player) {
			final Player p = (Player) sender;
			p.openInventory(testInventory);
			return true;
		}
  		return false;
	}
}

i w plugin.yml dodaj 

commands:
  test:

+ onEnable:

getCommand("test").setExecutor(this);

 

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