2021-02-26 19:39:29 +01:00
|
|
|
/*
|
|
|
|
* Copyright (C) filoghost and contributors
|
|
|
|
*
|
|
|
|
* SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
*/
|
2022-05-22 00:10:31 +02:00
|
|
|
package me.filoghost.holographicdisplays.core.base;
|
2021-02-26 19:39:29 +01:00
|
|
|
|
2022-05-22 00:54:11 +02:00
|
|
|
import me.filoghost.fcommons.logging.Log;
|
2021-02-27 19:03:21 +01:00
|
|
|
import org.bukkit.entity.Player;
|
2021-02-26 19:39:29 +01:00
|
|
|
|
2022-05-22 12:11:14 +02:00
|
|
|
public abstract class BaseClickableHologramLine extends BaseHologramLine {
|
2021-02-26 19:39:29 +01:00
|
|
|
|
2021-08-24 14:56:20 +02:00
|
|
|
protected BaseClickableHologramLine(BaseHologram hologram) {
|
2021-03-15 21:41:03 +01:00
|
|
|
super(hologram);
|
2021-02-26 19:39:29 +01:00
|
|
|
}
|
2021-02-27 19:03:21 +01:00
|
|
|
|
2021-07-31 09:06:36 +02:00
|
|
|
public void onClick(Player player) {
|
2022-12-04 11:58:41 +01:00
|
|
|
try {
|
|
|
|
invokeExternalClickCallback(player);
|
|
|
|
} catch (Throwable t) {
|
|
|
|
Log.warning("The plugin " + getCreatorPlugin().getName() + " generated an exception"
|
|
|
|
+ " when the player " + player.getName() + " clicked a hologram.", t);
|
2021-03-02 20:47:23 +01:00
|
|
|
}
|
2021-02-27 19:03:21 +01:00
|
|
|
}
|
|
|
|
|
2022-05-22 12:11:14 +02:00
|
|
|
public abstract boolean hasClickCallback();
|
|
|
|
|
2022-12-04 11:58:41 +01:00
|
|
|
protected abstract void invokeExternalClickCallback(Player player);
|
2021-08-01 11:26:59 +02:00
|
|
|
|
2021-02-26 19:39:29 +01:00
|
|
|
}
|