diff --git a/api/src/main/java/me/filoghost/holographicdisplays/api/hologram/line/CollectableHologramLine.java b/api/src/main/java/me/filoghost/holographicdisplays/api/hologram/line/CollectableHologramLine.java deleted file mode 100644 index 72705354..00000000 --- a/api/src/main/java/me/filoghost/holographicdisplays/api/hologram/line/CollectableHologramLine.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright (C) filoghost and contributors - * - * SPDX-License-Identifier: GPL-3.0-or-later - */ -package me.filoghost.holographicdisplays.api.hologram.line; - -import org.jetbrains.annotations.Nullable; - -/** - * A hologram line that can be "picked up" by a nearby player. - * - * @since 1 - */ -public interface CollectableHologramLine extends HologramLine { - - /** - * Sets the pickup listener. - * - * @param pickupListener the new pickup listener, null to unset - * @since 1 - */ - void setPickupListener(@Nullable PickupListener pickupListener); - - /** - * Returns the current pickup listener. - * - * @return the current pickup listener, null if not present - * @since 1 - */ - @Nullable PickupListener getPickupListener(); - -} diff --git a/api/src/main/java/me/filoghost/holographicdisplays/api/hologram/line/ItemHologramLine.java b/api/src/main/java/me/filoghost/holographicdisplays/api/hologram/line/ItemHologramLine.java index 6d567374..b2bbaee6 100644 --- a/api/src/main/java/me/filoghost/holographicdisplays/api/hologram/line/ItemHologramLine.java +++ b/api/src/main/java/me/filoghost/holographicdisplays/api/hologram/line/ItemHologramLine.java @@ -11,7 +11,7 @@ import org.jetbrains.annotations.Nullable; /** * @since 1 */ -public interface ItemHologramLine extends CollectableHologramLine, ClickableHologramLine { +public interface ItemHologramLine extends ClickableHologramLine { /** * Returns the ItemStack of this ItemLine. @@ -29,4 +29,20 @@ public interface ItemHologramLine extends CollectableHologramLine, ClickableHolo */ void setItemStack(@Nullable ItemStack itemStack); + /** + * Sets the pickup listener. + * + * @param pickupListener the new pickup listener, null to unset + * @since 1 + */ + void setPickupListener(@Nullable PickupListener pickupListener); + + /** + * Returns the current pickup listener. + * + * @return the current pickup listener, null if not present + * @since 1 + */ + @Nullable PickupListener getPickupListener(); + } diff --git a/plugin/src/main/java/me/filoghost/holographicdisplays/plugin/api/current/APICollectableHologramLine.java b/plugin/src/main/java/me/filoghost/holographicdisplays/plugin/api/current/APICollectableHologramLine.java deleted file mode 100644 index ebd10489..00000000 --- a/plugin/src/main/java/me/filoghost/holographicdisplays/plugin/api/current/APICollectableHologramLine.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright (C) filoghost and contributors - * - * SPDX-License-Identifier: GPL-3.0-or-later - */ -package me.filoghost.holographicdisplays.plugin.api.current; - -import me.filoghost.holographicdisplays.api.hologram.line.CollectableHologramLine; -import me.filoghost.holographicdisplays.api.hologram.line.PickupListener; -import me.filoghost.holographicdisplays.plugin.hologram.base.PickupCallbackProvider; -import org.bukkit.entity.Player; - -interface APICollectableHologramLine extends CollectableHologramLine, APIHologramLine, PickupCallbackProvider { - - @Override - default boolean hasPickupCallback() { - return getPickupListener() != null; - } - - @Override - default void invokePickupCallback(Player player) { - try { - PickupListener pickupListener = getPickupListener(); - if (pickupListener != null) { - pickupListener.onPickup(new SimpleHologramLinePickupEvent(player)); - } - } catch (Throwable t) { - logPickupCallbackException(getCreatorPlugin(), player, t); - } - } - -} diff --git a/plugin/src/main/java/me/filoghost/holographicdisplays/plugin/api/current/APIItemHologramLine.java b/plugin/src/main/java/me/filoghost/holographicdisplays/plugin/api/current/APIItemHologramLine.java index c89b1563..346d9ee1 100644 --- a/plugin/src/main/java/me/filoghost/holographicdisplays/plugin/api/current/APIItemHologramLine.java +++ b/plugin/src/main/java/me/filoghost/holographicdisplays/plugin/api/current/APIItemHologramLine.java @@ -9,10 +9,11 @@ import me.filoghost.holographicdisplays.api.hologram.line.ClickListener; import me.filoghost.holographicdisplays.api.hologram.line.ItemHologramLine; import me.filoghost.holographicdisplays.api.hologram.line.PickupListener; import me.filoghost.holographicdisplays.plugin.hologram.base.BaseItemHologramLine; +import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import org.jetbrains.annotations.Nullable; -class APIItemHologramLine extends BaseItemHologramLine implements ItemHologramLine, APIClickableHologramLine, APICollectableHologramLine { +class APIItemHologramLine extends BaseItemHologramLine implements ItemHologramLine, APIClickableHologramLine { private PickupListener pickupListener; private ClickListener clickListener; @@ -45,4 +46,20 @@ class APIItemHologramLine extends BaseItemHologramLine implements ItemHologramLi return clickListener; } + @Override + public boolean hasPickupCallback() { + return pickupListener != null; + } + + @Override + public void invokePickupCallback(Player player) { + try { + if (pickupListener != null) { + pickupListener.onPickup(new SimpleHologramLinePickupEvent(player)); + } + } catch (Throwable t) { + logPickupCallbackException(getCreatorPlugin(), player, t); + } + } + }