2016-04-14 16:24:03 +00:00
|
|
|
package me.mrCookieSlime.Slimefun.api;
|
|
|
|
|
|
|
|
import java.util.List;
|
|
|
|
|
2019-06-20 07:50:59 +00:00
|
|
|
import org.bukkit.entity.Player;
|
|
|
|
|
2016-04-14 16:24:03 +00:00
|
|
|
import me.mrCookieSlime.CSCoreLibPlugin.PlayerRunnable;
|
|
|
|
import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.ChestMenu;
|
|
|
|
|
2019-09-02 08:24:53 +00:00
|
|
|
public interface GuideHandler {
|
2016-04-14 16:24:03 +00:00
|
|
|
|
|
|
|
public abstract void addEntry(List<String> texts, List<String> tooltips);
|
|
|
|
public abstract PlayerRunnable getRunnable();
|
|
|
|
public abstract int getTier();
|
|
|
|
public abstract boolean trackHistory();
|
|
|
|
|
|
|
|
public abstract int next(Player p, int index, ChestMenu menu);
|
2017-01-18 14:47:51 +00:00
|
|
|
|
2019-09-02 08:24:53 +00:00
|
|
|
default PlayerRunnable getRunnable(boolean book) {
|
2017-01-18 14:47:51 +00:00
|
|
|
return this.getRunnable();
|
|
|
|
}
|
2016-04-14 16:24:03 +00:00
|
|
|
|
2019-09-02 08:24:53 +00:00
|
|
|
default void run(Player p, boolean survival, boolean book) {
|
2017-01-18 14:51:14 +00:00
|
|
|
this.getRunnable(book).run(p);
|
2016-04-14 16:24:03 +00:00
|
|
|
|
|
|
|
if (survival && this.trackHistory()) {
|
2019-10-16 23:08:14 +00:00
|
|
|
PlayerProfile.get(p, profile -> profile.getGuideHistory().add(this));
|
2016-04-14 16:24:03 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|