szymek12 0 Opublikowano 12 lipca 2021 Udostępnij Opublikowano 12 lipca 2021 Ktos wie jak dodac cooldown do tego, aby blok zamienial sie na powietrze po 1 sekundzie odkad gracz na niego wejdzie? package tntrun.events; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerMoveEvent; import tntrun.main.Main; public class onPlayerMove implements Listener { static Main plugin; public onPlayerMove(Main m) { plugin = m; } @EventHandler public void onPlayerMove(PlayerMoveEvent event) { Player p = event.getPlayer(); if(p.getLocation().subtract(0, 1, 0).getBlock().getType() != Material.SAND) return; p.getLocation().subtract(0, 1, 0).getBlock ().setType(Material.AIR); p.getLocation().subtract(0, 2, 0).getBlock().setType(Material.AIR); } } Wstawiam kod w code. Notatka dodana przez Glicz Odnośnik do komentarza https://skript.pl/temat/49498-cooldown/ Udostępnij na innych stronach Więcej opcji udostępniania...
0 kerpson 551 Opublikowano 13 lipca 2021 Udostępnij Opublikowano 13 lipca 2021 Bukkit.getScheduler().runTaskLater(plugin, new Runnable() {}, 20); 20 = 1 sekunda Odnośnik do komentarza https://skript.pl/temat/49498-cooldown/#findComment-307034 Udostępnij na innych stronach Więcej opcji udostępniania...
0 LeviBoyPL 161 Opublikowano 13 lipca 2021 Udostępnij Opublikowano 13 lipca 2021 2 godziny temu, kerpson napisał: Bukkit.getScheduler().runTaskLater(plugin, new Runnable() {}, 20); 20 = 1 sekunda Warto dopowiedzieć, że jeśli używasz poziomu języka co najmniej 8 to możesz użyć lambdy zamiast tworzyć nowy obiekt Runnable, czyli Bukkit#getScheduler().runTaskLater(plugin, ()-> { }, 20L); A najlepiej byłoby, gdybyś utworzył sobie osobną klasę do tworzenia tasków, w niej w konstruktorze podał obiekt pluginu i dodał metody do łatwego tworzenia tasków public BukkitTask runTaskLater(Runnable var2, long var3) { return plugin.getServer().getScheduler().runTaskLater(plugin, var2, var3); } Wtedy wystarczyłoby, że do konstruktora dodałbyś sobie tę klasę i wykonywał wcześniej napisane metody taskExecutor.runTaskLater(()-> player.sendMessage("test"), 10L); kerpson 1 Odnośnik do komentarza https://skript.pl/temat/49498-cooldown/#findComment-307041 Udostępnij na innych stronach Więcej opcji udostępniania...
Pytanie
szymek12 0
Ktos wie jak dodac cooldown do tego, aby blok zamienial sie na powietrze po 1 sekundzie odkad gracz na niego wejdzie?
Wstawiam kod w code.
Notatka dodana przez Glicz
Odnośnik do komentarza
https://skript.pl/temat/49498-cooldown/Udostępnij na innych stronach
2 odpowiedzi na to pytanie
Rekomendowane odpowiedzi