Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Pytanie] Jak sie robi EffectLib?


Rekomendowane odpowiedzi

Opublikowano
import org.bukkit.Bukkit;
import org.bukkit.event.EventHandler;
import org.bukkit.event.HandlerList;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.plugin.java.JavaPlugin;

import de.slikey.effectlib.EffectLib;
import de.slikey.effectlib.EffectManager;
import de.slikey.effectlib.effect.BleedEntityEffect;

public class EffectLibTest extends JavaPlugin implements Listener {
    private EffectManager effectManager;
    
    @Override
    public void onEnable() {
        Bukkit.getPluginManager().registerEvents(this, this);
        EffectLib lib = EffectLib.instance();
        effectManager = new EffectManager(lib);
    }
    
    @Override
    public void onDisable() {
        effectManager.dispose();
        HandlerList.unregisterAll((Listener) this);
    }
    
    @EventHandler
    public void onPlayerJoin(final PlayerJoinEvent event) {
        BleedEntityEffect bleedEffect = new BleedEntityEffect(effectManager, event.getPlayer());
        // Add a callback to the effect
        bleedEffect.callback = new Runnable() {

            @Override
            public void run() {
                event.getPlayer().sendMessage("You bleeded out..");
                event.getPlayer().setHealth(0d);
            }
            
        };
        // Blood-particles lays around for 30 ticks (1.5 seconds)
        bleedEffect.duration = 30;
        // Bleeding takes 15 seconds
        // period * iterations = time of effect
        bleedEffect.iterations = 15 * 20;
        bleedEffect.start();
    }
    
}

Przeciez na stronie jest napisane jak...

http://dev.bukkit.org/bukkit-plugins/effectlib/

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...