Skocz do zawartości
  • 0

problem z gui


Ever
 Udostępnij

Pytanie

Co tutaj jest nie tak?

package me.hotangel2k17.drop;

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("drop")){
			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;
	}
}

gdy wpisze komende /drop, to nic nie pisze i sie nic nie otwiera

Odnośnik do komentarza
Udostępnij na innych stronach

10 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

Zaimplementuj do klasy Main interfejs CommandExecutor, oraz w onEnable zarejestruj komendę poprzez getCommand("nazwa").setExecutor(this, this);. 

Nie wiem jakim cudem IDE nie podpowiedziało ci, że @Override nie ma czego nadpisać. Implementowanie Listenera w twoim przypadku jest zbędne, bo nie nasłuchujesz żadnych eventów w tej klasie. 

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

  • 0
2 godziny temu, WiczekPG napisał:

Zaimplementuj do klasy Main interfejs CommandExecutor, oraz w onEnable zarejestruj komendę poprzez getCommand("nazwa").setExecutor(this, this);. 

Nie wiem jakim cudem IDE nie podpowiedziało ci, że @Override nie ma czego nadpisać. Implementowanie Listenera w twoim przypadku jest zbędne, bo nie nasłuchujesz żadnych eventów w tej klasie. 

JavaPlugin implementuje interfejs CommandExecutor :v

getCommand("nazwa").setExecutor...

nie jest potrzebna, jeśli executorem jest klasa głowna (dziedzicząca JavaPlugin)

Tak poza tym klasa PluginCommand nie posiada metody setExecutor z dwoma argumentami.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
8 godzin temu, Ixidi napisał:

JavaPlugin implementuje interfejs CommandExecutor :v

 

getCommand("nazwa").setExecutor...

nie jest potrzebna, jeśli executorem jest klasa głowna (dziedzicząca JavaPlugin)

Tak poza tym klasa PluginCommand nie posiada metody setExecutor z dwoma argumentami.

Tego setExecutora pisałem z głowy, a co do reszty to rzeczywiście - mój błąd. 

Próbowałeś robić debugi w komendzie? 

Powstawiaj tam gdzieś getLogger().info() z jakimś tekstem i zobacz do jakiego momentu dochodzi komenda

Odnośnik do komentarza
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
 Udostępnij

  • Ostatnio przeglądający   0 użytkowników

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