mirror of
https://github.com/filoghost/HolographicDisplays.git
synced 2024-09-27 22:57:33 +02:00
Remove CollectableHologramLine
This commit is contained in:
parent
2b062f35bf
commit
ce437d21d3
@ -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();
|
|
||||||
|
|
||||||
}
|
|
@ -11,7 +11,7 @@ import org.jetbrains.annotations.Nullable;
|
|||||||
/**
|
/**
|
||||||
* @since 1
|
* @since 1
|
||||||
*/
|
*/
|
||||||
public interface ItemHologramLine extends CollectableHologramLine, ClickableHologramLine {
|
public interface ItemHologramLine extends ClickableHologramLine {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the ItemStack of this ItemLine.
|
* Returns the ItemStack of this ItemLine.
|
||||||
@ -29,4 +29,20 @@ public interface ItemHologramLine extends CollectableHologramLine, ClickableHolo
|
|||||||
*/
|
*/
|
||||||
void setItemStack(@Nullable ItemStack itemStack);
|
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();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -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.ItemHologramLine;
|
||||||
import me.filoghost.holographicdisplays.api.hologram.line.PickupListener;
|
import me.filoghost.holographicdisplays.api.hologram.line.PickupListener;
|
||||||
import me.filoghost.holographicdisplays.plugin.hologram.base.BaseItemHologramLine;
|
import me.filoghost.holographicdisplays.plugin.hologram.base.BaseItemHologramLine;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
class APIItemHologramLine extends BaseItemHologramLine implements ItemHologramLine, APIClickableHologramLine, APICollectableHologramLine {
|
class APIItemHologramLine extends BaseItemHologramLine implements ItemHologramLine, APIClickableHologramLine {
|
||||||
|
|
||||||
private PickupListener pickupListener;
|
private PickupListener pickupListener;
|
||||||
private ClickListener clickListener;
|
private ClickListener clickListener;
|
||||||
@ -45,4 +46,20 @@ class APIItemHologramLine extends BaseItemHologramLine implements ItemHologramLi
|
|||||||
return clickListener;
|
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user