Ever 20 Opublikowano 20 stycznia 2018 Udostępnij Opublikowano 20 stycznia 2018 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 Więcej opcji udostępniania...
0 Ixidi 717 Opublikowano 20 stycznia 2018 Udostępnij Opublikowano 20 stycznia 2018 Uzupełniłeś plugin.yml? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Ever 20 Opublikowano 20 stycznia 2018 Autor Udostępnij Opublikowano 20 stycznia 2018 tak, name: Drop version: 1.0 main: me.hotangel2k17.drop.Main commands: drop: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 _SmileCraft_ 20 Opublikowano 20 stycznia 2018 Udostępnij Opublikowano 20 stycznia 2018 Zmień to: Inventory inv = Bukkit.getServer().createInventory(null,9,"§6drop"); Na to: Inventory inv = Bukkit.createInventory(p, 9, "§6drop"); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Ever 20 Opublikowano 20 stycznia 2018 Autor Udostępnij Opublikowano 20 stycznia 2018 dalej nic Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 WiczekPG 4 Opublikowano 20 stycznia 2018 Udostępnij Opublikowano 20 stycznia 2018 (edytowane) 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 20 stycznia 2018 przez WiczekPG Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Ever 20 Opublikowano 20 stycznia 2018 Autor Udostępnij Opublikowano 20 stycznia 2018 Zrobie jak napisales. Dalej nic Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Ixidi 717 Opublikowano 20 stycznia 2018 Udostępnij Opublikowano 20 stycznia 2018 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 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 Więcej opcji udostępniania...
0 Ever 20 Opublikowano 21 stycznia 2018 Autor Udostępnij Opublikowano 21 stycznia 2018 ja nwm co sie dzieje z tym gui wgl sie nie otwiera. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 WiczekPG 4 Opublikowano 21 stycznia 2018 Udostępnij Opublikowano 21 stycznia 2018 8 godzin temu, Ixidi napisał: JavaPlugin implementuje interfejs CommandExecutor 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 Więcej opcji udostępniania...
0 yooniks 347 Opublikowano 24 stycznia 2018 Udostępnij Opublikowano 24 stycznia 2018 Wrzuć tu wszystkie klasy wraz z plikiem plugin.yml, dopiero wtedy to przejrzę. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Pytanie
Ever 20
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