Necekez1 2 Opublikowano 16 sierpnia 2021 Udostępnij Opublikowano 16 sierpnia 2021 Pomoze ktos dodac ze jesli gracz ma 1000$ to wykonuje sie ta komenda i zabiera mu te 1000$ jesli nie to wyskakuje wiadomosc ze nie ma?? public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { if (cmd.getName().equalsIgnoreCase("test")) { Player player = null; if(player.getLocation().getBlock().getRelative(BlockFace.DOWN).getType() == Material.LAPIS_BLOCK) { player.sendMessage("Zostales uleczony"); Player p = (Player) sender; p.setHealth(20); econ.depositPlayer(p.getName(), -1000); } } return false; } } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Zbucki 46 Opublikowano 16 sierpnia 2021 Udostępnij Opublikowano 16 sierpnia 2021 public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { if (cmd.getName().equalsIgnoreCase("test")) { if(!(sender instanceof Player)) { return false; } Player player = (Player)sender; if(!econ.has(player, 1000)) { player.sendMessage("Nie masz 1000$!"); return true; } if(player.getLocation().getBlock().getRelative(BlockFace.DOWN).getType() == Material.LAPIS_BLOCK) { player.sendMessage("Zostales uleczony"); Player p = (Player) sender; p.setHealth(20); econ.withdrawPlayer(player, 1000); } } return false; } } gnomq 1 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Necekez1 2 Opublikowano 16 sierpnia 2021 Autor Udostępnij Opublikowano 16 sierpnia 2021 2 minuty temu, Zbucki napisał: public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { if (cmd.getName().equalsIgnoreCase("test")) { if(!(sender instanceof Player)) { return false; } Player player = (Player)sender; if(!econ.has(player, 1000)) { player.sendMessage("Nie masz 1000$!"); return true; } if(player.getLocation().getBlock().getRelative(BlockFace.DOWN).getType() == Material.LAPIS_BLOCK) { player.sendMessage("Zostales uleczony"); Player p = (Player) sender; p.setHealth(20); econ.withdrawPlayer(player, 1000); } } return false; } } Przy econ wyskakuje mi cannot resolve symbol econ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Zbucki 46 Opublikowano 16 sierpnia 2021 Udostępnij Opublikowano 16 sierpnia 2021 Musisz zarejestrować Vault. Dodaj tą metodę do głównej klasy: private boolean setupEconomy() { if (this.getServer().getPluginManager().getPlugin("Vault") == null) { return false; } RegisteredServiceProvider<Economy> rsp = RegisteredServiceProvider<Economy> rsp = getServer().getServicesManager().getRegistration(Economy.class); if (rsp == null) { return false; } econ = (Economy)rsp.getProvider(); return econ != null; } public static Economy getEconomy() { return econ; } Te pole również dodaj gdzieś na początku głównej klasy: private static final Economy econ; I przy włączaniu serwera(onEnable) zarejestruj Vault'a: public void onEnable(){ if (!setupEconomy()) { getLogger().warning("Nie znaleziono pluginu Vault"); getServer().getPluginManager().disablePlugin(this); return; } } I wtedy zmień sobie w komendzie: public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { if (cmd.getName().equalsIgnoreCase("test")) { if(!(sender instanceof Player)) { return false; } Player player = (Player)sender; if(!NazwaKlasyGlownej.getEconomy().has(player, 1000)) { player.sendMessage("Nie masz 1000$!"); return true; } if(player.getLocation().getBlock().getRelative(BlockFace.DOWN).getType() == Material.LAPIS_BLOCK) { player.sendMessage("Zostales uleczony"); Player p = (Player) sender; p.setHealth(20); NazwaKlasyGlownej.getEconomy().withdrawPlayer(player, 1000); } } return false; } } gnomq 1 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Necekez1 2 Opublikowano 16 sierpnia 2021 Autor Udostępnij Opublikowano 16 sierpnia 2021 (edytowane) Tak to ma wygladac?? package pierwszyplugin.minerp.czokomoc.plugin.Minerp.czokomoc; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.block.BlockFace; 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.EventPriority; import org.bukkit.event.Listener; import org.bukkit.plugin.java.JavaPlugin; import org.bukkit.potion.PotionEffect; public final class plugin extends JavaPlugin implements Listener { private Object RegisteredServiceProvider; @Override public void onEnable(){ if (!this.setupEconomy()) { getLogger().warning("Nie znaleziono pluginu Vault"); getServer().getPluginManager().disablePlugin(this); return; } } private static final Economy econ; private <Economy> boolean setupEconomy() { if (this.getServer().getPluginManager().getPlugin("Vault") == null) { return false; } RegisteredServiceProvider<Economy> rsp = RegisteredServiceProvider<Economy> rsp = getServer().getServicesManager().getRegistration(Economy.class); if (rsp == null) { return false; } econ = (Economy)rsp.getProvider(); return econ != null; } public static Economy getEconomy() { return econ; } public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { if (cmd.getName().equalsIgnoreCase("brudnyulecz")) { if(!(sender instanceof Player)) { return false; } Player player = (Player)sender; if(!econ.has(player, 1000)) { player.sendMessage("Nie masz 1000$!"); return true; } if(player.getLocation().getBlock().getRelative(BlockFace.DOWN).getType() == Material.LAPIS_BLOCK) { player.sendMessage("Zostales uleczony"); Player p = (Player) sender; p.setHealth(20); econ.withdrawPlayer(player, 1000); } } return false; } } Screeny u mnie: https://imgur.com/a/0QNB1uh Oraz getProvider cannot resolve method Edytowane 16 sierpnia 2021 przez Necekez1 Łączę posty. Notatka dodana przez Glicz Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Zbucki 46 Opublikowano 16 sierpnia 2021 Udostępnij Opublikowano 16 sierpnia 2021 Cytat private Object RegisteredServiceProvider; tu usuń. Wgl nie zaimportowałeś silnika oraz Vaulta gnomq 1 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Necekez1 2 Opublikowano 16 sierpnia 2021 Autor Udostępnij Opublikowano 16 sierpnia 2021 2 minuty temu, Zbucki napisał: tu usuń. Wgl nie zaimportowałeś silnika oraz Vaulta W sensie jak zaimportować ja nowy w te klocki Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Zbucki 46 Opublikowano 16 sierpnia 2021 Udostępnij Opublikowano 16 sierpnia 2021 21 minut temu, Necekez1 napisał: W sensie jak zaimportować ja nowy w te klocki Pokaż plik pom.xml gnomq 1 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Necekez1 2 Opublikowano 17 sierpnia 2021 Autor Udostępnij Opublikowano 17 sierpnia 2021 18 godzin temu, Zbucki napisał: Pokaż plik pom.xml Zrobilem teraz juz to w eclipse i lepiej ale mam 1 blad w linijce https://imgur.com/a/ULwclFp Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 krzmaciek 39 Opublikowano 17 sierpnia 2021 Udostępnij Opublikowano 17 sierpnia 2021 (edytowane) W tej linijce są 2 operatory przypisania, jak to miałoby działać? Dwa razy masz napisany typ i nazwę zmiennej "rsp". Zdarza się nawet najlepszym Edytowane 17 sierpnia 2021 przez krzmaciek Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Necekez1 2 Opublikowano 17 sierpnia 2021 Autor Udostępnij Opublikowano 17 sierpnia 2021 18 minut temu, krzmaciek napisał: W tej linijce są 2 operatory przypisania, jak to miałoby działać? Dwa razy masz napisany typ i nazwę zmiennej "rsp". Zdarza się nawet najlepszym Dzieki za pomoc ale teraz jest takie cos https://imgur.com/a/7rMeE9U Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 krzmaciek 39 Opublikowano 17 sierpnia 2021 Udostępnij Opublikowano 17 sierpnia 2021 (edytowane) Bo parametr, który masz podać to nie jest klasa, tylko obiekt tej klasy. Nie znam się za bardzo na Vault, ale spróbuj dać zamiast Economy.class, new Economy(). Mogę się mylić... ale warto spróbować. Jak to nie zadziała to daj po prostu kod, bo tak po skrawku to nie za bardzo się pomaga. Edytowane 17 sierpnia 2021 przez krzmaciek Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 JanekMaSkrypta_ 117 Opublikowano 19 sierpnia 2021 Udostępnij Opublikowano 19 sierpnia 2021 (edytowane) W dniu 17.08.2021 o 13:51, Necekez1 napisał: Dzieki za pomoc ale teraz jest takie cos https://imgur.com/a/7rMeE9U Po prostu usuń klase Economy.class którą stworzyłeś w swoim projekcie ;d Edytowane 19 sierpnia 2021 przez JanekMaSkrypta_ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Zbucki 46 Opublikowano 24 sierpnia 2021 Udostępnij Opublikowano 24 sierpnia 2021 Problem został rozwiązany. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Pytanie
Necekez1 2
Pomoze ktos dodac ze jesli gracz ma 1000$ to wykonuje sie ta komenda i zabiera mu te 1000$ jesli nie to wyskakuje wiadomosc ze nie ma??
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { if (cmd.getName().equalsIgnoreCase("test")) { Player player = null; if(player.getLocation().getBlock().getRelative(BlockFace.DOWN).getType() == Material.LAPIS_BLOCK) { player.sendMessage("Zostales uleczony"); Player p = (Player) sender; p.setHealth(20); econ.depositPlayer(p.getName(), -1000); } } return false; } }
Odnośnik do komentarza
Udostępnij na innych stronach
13 odpowiedzi na to pytanie
Rekomendowane odpowiedzi