-
Ilość zawartości
281 -
Rejestracja
-
Ostatnia wizyta
-
Wygrane w rankingu
5
Treść opublikowana przez Zbucki
-
Tak będzie najprościej.
-
@EventHandler(priority = EventPriority.LOW, ignoreCancelled = true) public void onInteract(PlayerInteractEvent event) { PluginConfiguration config = FunnyGuilds.getInstance().getPluginConfiguration(); Action eventAction = event.getAction(); Player player = event.getPlayer(); Block clicked = event.getClickedBlock(); if (eventAction != Action.RIGHT_CLICK_BLOCK) { return; } if (clicked == null) { return; } Region region = RegionUtils.getAt(clicked.getLocation()); if (region == null) { return; } Block heart = region.getCenter().getBlock().getRelative(BlockFace.DOWN); if (clicked.equals(heart)) { if (heart.getType() == Material.DRAGON_EGG) { event.setCancelled(true); } Guild guild = region.getGuild(); if (!SecuritySystem.onHitCrystal(player, guild)) { return; } event.setCancelled(true); // Twój kod } } Kod zapożyczony z samego FunnyGuilds.
-
Czyli musisz użyć pakietów.
-
@EventHandler(ignoreCancelled = true, priority = EventPriority.MONITOR) public void onInteract(PlayerInteractEntityEvent e) { e.getPlayer().sendMessage("CLICK ENTITY"); if (e.getRightClicked().getType() != EntityType.ENDER_CRYSTAL) { return; } e.getPlayer().sendMessage("CLICK ENDERCRYSTAL"); // Twój dalszy kod } A coś takiego?
-
@EventHandler(ignoreCancelled = true, priority = EventPriority.MONITOR) public void onInteract(PlayerInteractEntityEvent e) { e.getPlayer().sendMessage("CLICK ENTITY"); if (!(e.getRightClicked() instanceof EnderCrystal)) { return; } e.getPlayer().sendMessage("CLICK ENDERCRYSTAL"); // Twój dalszy kod } Zobacz ten kod.
-
Zarejestrowałeś event w onEnable? Pod jaką wersje piszesz plugin?
-
Co dokładnie nie działa? Nic się nie pokazuje, czy jak? Wklep ten kod, kliknij PPM na endercrystala i daj ss co ci wypisze: @EventHandler public void onInteract(PlayerInteractEntityEvent e) { e.getPlayer().sendMessage("CLICK ENTITY"); if(!(e.getRightClicked() instanceof EnderCrystal)) { return; } e.getPlayer().sendMessage("CLICK ENDERCRYSTAL"); e.setCancelled(true); //Twój dalszy kod }
-
Problem został rozwiązany.
-
command /przygotowania: permission: op permission message: NIET! trigger: set {czas.przygotowania} to 100 set {hp} to 100 loop all players: send "&4&l%{czas.przygotowania}% sekund do rozpoczęcia gry" to loop-player loop 10 times: wait 10 seconds remove 10 from {czas.przygotowania} send "&4&l%{czas.przygotowania}% sekund do rozpoczęcia gry" to all players command /czas: trigger: send "%{czas.start}% %{czas.przygotowania}%" command /atak: permission: op permission message: NIET! trigger: set {czas.atak} to 600 set {hp} to 100 every second: if {czas.atak} >= 1: if {hp} >= 25: remove 10 from {czas.atak} send "&8&lPozostało &4%{czas.atak}% &8&lsekund do wygraniej obrońców!!" to all players if {hp} <= 0: set {czas.atak} to 0 send "&4&lWygrał Przeklenty end!! Wojownicy czas wracać do podziemi!!" to all players set {start} to true execute console command "restart" if {czas.atak} <= 0: if {hp} >= 25: send "&4&lWygrali &2OBROŃCY!!" to all players set {start} to true execute console command "restart" every second: if {start} = true: execute console command "start" Zobacz ten kod.
-
@EventHandler public void onInteract(PlayerInteractEntityEvent e) { if(!(e.getRightClicked() instanceof EnderCrystal)) { return; } e.setCancelled(true); //Twój dalszy kod }
-
Ten temat został zamknięty.
-
W pluginie od formatu chatu. Jak masz multiversecore to w configu zmien opcje prefixu chatu na false
-
Użyj eventu PlayerItemDamageEvent https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/event/player/PlayerItemDamageEvent.html
-
Ten temat został zamknięty.
-
Edytujesz plik messages w pliku .jar Essentialsa
-
Czy jest jakiś addon do visual studio code żeby podpowiadało on ... [damage,death,itp]
Zbucki odpowiedział(a) na Nunekexe1 pytanie w Pytania i problemy
Jedyny addon, który istnieje jedynie koloruje składnie. -
Pokaz najlepiej cały kod.
-
[PYTANIE] czy da sie dodać liczbe pluginow do skript
Zbucki odpowiedział(a) na sholem pytanie w Pytania i problemy
Problem został rozwiązany. -
Problem został rozwiązany.
-
Ten temat został przeniesiony do kosza!
-
Pokaż plik pom.xml
-
tu usuń. Wgl nie zaimportowałeś silnika oraz Vaulta
-
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; } }
-
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; } }
