From 525622b59a66d06b1a4a7baaa894583d5cbbea8f Mon Sep 17 00:00:00 2001 From: filoghost Date: Sun, 22 May 2022 12:11:14 +0200 Subject: [PATCH] Remove unnecessary interfaces --- .../api/current/APIClickableHologramLine.java | 28 ------------------- .../core/api/current/APIItemHologramLine.java | 24 ++++++++++++---- .../core/api/current/APITextHologramLine.java | 15 +++++++++- .../core/api/v2/V2CollectableLine.java | 28 ------------------- .../core/api/v2/V2ItemLine.java | 27 +++++++++++++++++- .../core/api/v2/V2TextLine.java | 15 +++++++++- .../core/api/v2/V2TouchableLine.java | 28 ------------------- .../core/base/BaseClickableHologramLine.java | 6 +++- .../core/base/BaseItemHologramLine.java | 6 +++- .../core/base/ClickCallbackProvider.java | 16 ----------- .../core/base/PickupCallbackProvider.java | 16 ----------- 11 files changed, 82 insertions(+), 127 deletions(-) delete mode 100644 core/src/main/java/me/filoghost/holographicdisplays/core/api/current/APIClickableHologramLine.java delete mode 100644 core/src/main/java/me/filoghost/holographicdisplays/core/api/v2/V2CollectableLine.java delete mode 100644 core/src/main/java/me/filoghost/holographicdisplays/core/api/v2/V2TouchableLine.java delete mode 100644 core/src/main/java/me/filoghost/holographicdisplays/core/base/ClickCallbackProvider.java delete mode 100644 core/src/main/java/me/filoghost/holographicdisplays/core/base/PickupCallbackProvider.java diff --git a/core/src/main/java/me/filoghost/holographicdisplays/core/api/current/APIClickableHologramLine.java b/core/src/main/java/me/filoghost/holographicdisplays/core/api/current/APIClickableHologramLine.java deleted file mode 100644 index 775bd2e9..00000000 --- a/core/src/main/java/me/filoghost/holographicdisplays/core/api/current/APIClickableHologramLine.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright (C) filoghost and contributors - * - * SPDX-License-Identifier: GPL-3.0-or-later - */ -package me.filoghost.holographicdisplays.core.api.current; - -import me.filoghost.holographicdisplays.api.beta.hologram.line.ClickableHologramLine; -import me.filoghost.holographicdisplays.api.beta.hologram.line.HologramLineClickListener; -import me.filoghost.holographicdisplays.core.base.ClickCallbackProvider; -import org.bukkit.entity.Player; - -interface APIClickableHologramLine extends ClickableHologramLine, APIHologramLine, ClickCallbackProvider { - - @Override - default boolean hasClickCallback() { - return getClickListener() != null; - } - - @Override - default void invokeClickCallback(Player player) { - HologramLineClickListener clickListener = getClickListener(); - if (clickListener != null) { - clickListener.onClick(new SimpleHologramLineClickEvent(player)); - } - } - -} diff --git a/core/src/main/java/me/filoghost/holographicdisplays/core/api/current/APIItemHologramLine.java b/core/src/main/java/me/filoghost/holographicdisplays/core/api/current/APIItemHologramLine.java index 188603f9..d5a98e51 100644 --- a/core/src/main/java/me/filoghost/holographicdisplays/core/api/current/APIItemHologramLine.java +++ b/core/src/main/java/me/filoghost/holographicdisplays/core/api/current/APIItemHologramLine.java @@ -13,7 +13,7 @@ import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import org.jetbrains.annotations.Nullable; -class APIItemHologramLine extends BaseItemHologramLine implements ItemHologramLine, APIClickableHologramLine { +class APIItemHologramLine extends BaseItemHologramLine implements ItemHologramLine, APIHologramLine { private HologramLinePickupListener pickupListener; private HologramLineClickListener clickListener; @@ -39,6 +39,18 @@ class APIItemHologramLine extends BaseItemHologramLine implements ItemHologramLi return clickListener; } + @Override + public boolean hasPickupCallback() { + return pickupListener != null; + } + + @Override + protected void invokePickupCallback(Player player) { + if (pickupListener != null) { + pickupListener.onPickup(new SimpleHologramLinePickupEvent(player)); + } + } + @Override public void setClickListener(@Nullable HologramLineClickListener clickListener) { checkNotDeleted(); @@ -47,14 +59,14 @@ class APIItemHologramLine extends BaseItemHologramLine implements ItemHologramLi } @Override - public boolean hasPickupCallback() { - return pickupListener != null; + public boolean hasClickCallback() { + return clickListener != null; } @Override - public void invokePickupCallback(Player player) { - if (pickupListener != null) { - pickupListener.onPickup(new SimpleHologramLinePickupEvent(player)); + protected void invokeClickCallback(Player player) { + if (clickListener != null) { + clickListener.onClick(new SimpleHologramLineClickEvent(player)); } } diff --git a/core/src/main/java/me/filoghost/holographicdisplays/core/api/current/APITextHologramLine.java b/core/src/main/java/me/filoghost/holographicdisplays/core/api/current/APITextHologramLine.java index 07fb81d8..7b602a2a 100644 --- a/core/src/main/java/me/filoghost/holographicdisplays/core/api/current/APITextHologramLine.java +++ b/core/src/main/java/me/filoghost/holographicdisplays/core/api/current/APITextHologramLine.java @@ -9,9 +9,10 @@ import me.filoghost.holographicdisplays.api.beta.hologram.PlaceholderSetting; import me.filoghost.holographicdisplays.api.beta.hologram.line.HologramLineClickListener; import me.filoghost.holographicdisplays.api.beta.hologram.line.TextHologramLine; import me.filoghost.holographicdisplays.core.base.BaseTextHologramLine; +import org.bukkit.entity.Player; import org.jetbrains.annotations.Nullable; -class APITextHologramLine extends BaseTextHologramLine implements TextHologramLine, APIClickableHologramLine { +class APITextHologramLine extends BaseTextHologramLine implements TextHologramLine, APIHologramLine { private final APIHologram hologram; @@ -39,4 +40,16 @@ class APITextHologramLine extends BaseTextHologramLine implements TextHologramLi return clickListener; } + @Override + public boolean hasClickCallback() { + return clickListener != null; + } + + @Override + protected void invokeClickCallback(Player player) { + if (clickListener != null) { + clickListener.onClick(new SimpleHologramLineClickEvent(player)); + } + } + } diff --git a/core/src/main/java/me/filoghost/holographicdisplays/core/api/v2/V2CollectableLine.java b/core/src/main/java/me/filoghost/holographicdisplays/core/api/v2/V2CollectableLine.java deleted file mode 100644 index ac40252a..00000000 --- a/core/src/main/java/me/filoghost/holographicdisplays/core/api/v2/V2CollectableLine.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright (C) filoghost and contributors - * - * SPDX-License-Identifier: GPL-3.0-or-later - */ -package me.filoghost.holographicdisplays.core.api.v2; - -import com.gmail.filoghost.holographicdisplays.api.handler.PickupHandler; -import com.gmail.filoghost.holographicdisplays.api.line.CollectableLine; -import me.filoghost.holographicdisplays.core.base.PickupCallbackProvider; -import org.bukkit.entity.Player; - -interface V2CollectableLine extends CollectableLine, V2HologramLine, PickupCallbackProvider { - - @Override - default boolean hasPickupCallback() { - return getPickupHandler() != null; - } - - @Override - default void invokePickupCallback(Player player) { - PickupHandler pickupListener = getPickupHandler(); - if (pickupListener != null) { - pickupListener.onPickup(player); - } - } - -} diff --git a/core/src/main/java/me/filoghost/holographicdisplays/core/api/v2/V2ItemLine.java b/core/src/main/java/me/filoghost/holographicdisplays/core/api/v2/V2ItemLine.java index af7faab7..2bd3ac94 100644 --- a/core/src/main/java/me/filoghost/holographicdisplays/core/api/v2/V2ItemLine.java +++ b/core/src/main/java/me/filoghost/holographicdisplays/core/api/v2/V2ItemLine.java @@ -9,10 +9,11 @@ import com.gmail.filoghost.holographicdisplays.api.handler.PickupHandler; import com.gmail.filoghost.holographicdisplays.api.handler.TouchHandler; import com.gmail.filoghost.holographicdisplays.api.line.ItemLine; import me.filoghost.holographicdisplays.core.base.BaseItemHologramLine; +import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; @SuppressWarnings("deprecation") -class V2ItemLine extends BaseItemHologramLine implements ItemLine, V2CollectableLine, V2TouchableLine { +class V2ItemLine extends BaseItemHologramLine implements ItemLine, V2HologramLine { private final V2Hologram hologram; @@ -39,6 +40,18 @@ class V2ItemLine extends BaseItemHologramLine implements ItemLine, V2Collectable return touchHandler; } + @Override + public boolean hasClickCallback() { + return touchHandler != null; + } + + @Override + protected void invokeClickCallback(Player player) { + if (touchHandler != null) { + touchHandler.onTouch(player); + } + } + @Override public void setPickupHandler(PickupHandler pickupHandler) { this.pickupHandler = pickupHandler; @@ -49,4 +62,16 @@ class V2ItemLine extends BaseItemHologramLine implements ItemLine, V2Collectable return pickupHandler; } + @Override + public boolean hasPickupCallback() { + return pickupHandler != null; + } + + @Override + protected void invokePickupCallback(Player player) { + if (pickupHandler != null) { + pickupHandler.onPickup(player); + } + } + } diff --git a/core/src/main/java/me/filoghost/holographicdisplays/core/api/v2/V2TextLine.java b/core/src/main/java/me/filoghost/holographicdisplays/core/api/v2/V2TextLine.java index bbe885a6..1d7f44a1 100644 --- a/core/src/main/java/me/filoghost/holographicdisplays/core/api/v2/V2TextLine.java +++ b/core/src/main/java/me/filoghost/holographicdisplays/core/api/v2/V2TextLine.java @@ -8,9 +8,10 @@ package me.filoghost.holographicdisplays.core.api.v2; import com.gmail.filoghost.holographicdisplays.api.handler.TouchHandler; import com.gmail.filoghost.holographicdisplays.api.line.TextLine; import me.filoghost.holographicdisplays.core.base.BaseTextHologramLine; +import org.bukkit.entity.Player; @SuppressWarnings("deprecation") -class V2TextLine extends BaseTextHologramLine implements TextLine, V2TouchableLine { +class V2TextLine extends BaseTextHologramLine implements TextLine, V2HologramLine { private final V2Hologram hologram; @@ -41,4 +42,16 @@ class V2TextLine extends BaseTextHologramLine implements TextLine, V2TouchableLi return touchHandler; } + @Override + public boolean hasClickCallback() { + return touchHandler != null; + } + + @Override + protected void invokeClickCallback(Player player) { + if (touchHandler != null) { + touchHandler.onTouch(player); + } + } + } diff --git a/core/src/main/java/me/filoghost/holographicdisplays/core/api/v2/V2TouchableLine.java b/core/src/main/java/me/filoghost/holographicdisplays/core/api/v2/V2TouchableLine.java deleted file mode 100644 index d20212a0..00000000 --- a/core/src/main/java/me/filoghost/holographicdisplays/core/api/v2/V2TouchableLine.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright (C) filoghost and contributors - * - * SPDX-License-Identifier: GPL-3.0-or-later - */ -package me.filoghost.holographicdisplays.core.api.v2; - -import com.gmail.filoghost.holographicdisplays.api.handler.TouchHandler; -import com.gmail.filoghost.holographicdisplays.api.line.TouchableLine; -import me.filoghost.holographicdisplays.core.base.ClickCallbackProvider; -import org.bukkit.entity.Player; - -interface V2TouchableLine extends TouchableLine, V2HologramLine, ClickCallbackProvider { - - @Override - default boolean hasClickCallback() { - return getTouchHandler() != null; - } - - @Override - default void invokeClickCallback(Player player) { - TouchHandler touchHandler = getTouchHandler(); - if (touchHandler != null) { - touchHandler.onTouch(player); - } - } - -} diff --git a/core/src/main/java/me/filoghost/holographicdisplays/core/base/BaseClickableHologramLine.java b/core/src/main/java/me/filoghost/holographicdisplays/core/base/BaseClickableHologramLine.java index aed5ee33..9a8616a0 100644 --- a/core/src/main/java/me/filoghost/holographicdisplays/core/base/BaseClickableHologramLine.java +++ b/core/src/main/java/me/filoghost/holographicdisplays/core/base/BaseClickableHologramLine.java @@ -10,7 +10,7 @@ import me.filoghost.holographicdisplays.common.PositionCoordinates; import org.bukkit.Location; import org.bukkit.entity.Player; -public abstract class BaseClickableHologramLine extends BaseHologramLine implements ClickCallbackProvider { +public abstract class BaseClickableHologramLine extends BaseHologramLine { protected BaseClickableHologramLine(BaseHologram hologram) { super(hologram); @@ -27,6 +27,10 @@ public abstract class BaseClickableHologramLine extends BaseHologramLine impleme } } + public abstract boolean hasClickCallback(); + + protected abstract void invokeClickCallback(Player player); + private boolean isInClickRange(Player player) { Location playerLocation = player.getLocation(); PositionCoordinates position = this.getPosition(); diff --git a/core/src/main/java/me/filoghost/holographicdisplays/core/base/BaseItemHologramLine.java b/core/src/main/java/me/filoghost/holographicdisplays/core/base/BaseItemHologramLine.java index 6a018938..9fc87e29 100644 --- a/core/src/main/java/me/filoghost/holographicdisplays/core/base/BaseItemHologramLine.java +++ b/core/src/main/java/me/filoghost/holographicdisplays/core/base/BaseItemHologramLine.java @@ -14,7 +14,7 @@ import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import org.jetbrains.annotations.Nullable; -public abstract class BaseItemHologramLine extends BaseClickableHologramLine implements PickupCallbackProvider { +public abstract class BaseItemHologramLine extends BaseClickableHologramLine { private ItemStack itemStack; @@ -39,6 +39,10 @@ public abstract class BaseItemHologramLine extends BaseClickableHologramLine imp } } + public abstract boolean hasPickupCallback(); + + protected abstract void invokePickupCallback(Player player); + public @Nullable ItemStack getItemStack() { return clone(itemStack); } diff --git a/core/src/main/java/me/filoghost/holographicdisplays/core/base/ClickCallbackProvider.java b/core/src/main/java/me/filoghost/holographicdisplays/core/base/ClickCallbackProvider.java deleted file mode 100644 index d5a6b60e..00000000 --- a/core/src/main/java/me/filoghost/holographicdisplays/core/base/ClickCallbackProvider.java +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (C) filoghost and contributors - * - * SPDX-License-Identifier: GPL-3.0-or-later - */ -package me.filoghost.holographicdisplays.core.base; - -import org.bukkit.entity.Player; - -public interface ClickCallbackProvider { - - boolean hasClickCallback(); - - void invokeClickCallback(Player player); - -} diff --git a/core/src/main/java/me/filoghost/holographicdisplays/core/base/PickupCallbackProvider.java b/core/src/main/java/me/filoghost/holographicdisplays/core/base/PickupCallbackProvider.java deleted file mode 100644 index e5e86f7d..00000000 --- a/core/src/main/java/me/filoghost/holographicdisplays/core/base/PickupCallbackProvider.java +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (C) filoghost and contributors - * - * SPDX-License-Identifier: GPL-3.0-or-later - */ -package me.filoghost.holographicdisplays.core.base; - -import org.bukkit.entity.Player; - -public interface PickupCallbackProvider { - - boolean hasPickupCallback(); - - void invokePickupCallback(Player player); - -}