Skocz do zawartości
  • 0

cooldown


szymek12

Pytanie

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);
                
            }
    }

 

Glicz

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

  • 0
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);

 

Odnośnik do komentarza
https://skript.pl/temat/49498-cooldown/#findComment-307041
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

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