From 825b0f2b2efefafd1d51fb97d247d7d7a8807aab Mon Sep 17 00:00:00 2001 From: filoghost Date: Thu, 29 Jul 2021 19:24:11 +0200 Subject: [PATCH] Refactoring --- .../plugin/hologram/base/BaseHologramLine.java | 9 +++++++++ .../plugin/hologram/base/BaseItemLine.java | 8 +------- .../plugin/hologram/base/BaseTouchableLine.java | 8 +------- 3 files changed, 11 insertions(+), 14 deletions(-) diff --git a/plugin/src/main/java/me/filoghost/holographicdisplays/plugin/hologram/base/BaseHologramLine.java b/plugin/src/main/java/me/filoghost/holographicdisplays/plugin/hologram/base/BaseHologramLine.java index 3675722f..bdee1a0d 100644 --- a/plugin/src/main/java/me/filoghost/holographicdisplays/plugin/hologram/base/BaseHologramLine.java +++ b/plugin/src/main/java/me/filoghost/holographicdisplays/plugin/hologram/base/BaseHologramLine.java @@ -8,6 +8,7 @@ package me.filoghost.holographicdisplays.plugin.hologram.base; import me.filoghost.fcommons.Preconditions; import me.filoghost.holographicdisplays.plugin.hologram.tracking.LineTracker; import me.filoghost.holographicdisplays.plugin.hologram.tracking.LineTrackerManager; +import org.bukkit.GameMode; import org.bukkit.World; import org.bukkit.entity.Player; import org.bukkit.plugin.Plugin; @@ -47,4 +48,12 @@ public abstract class BaseHologramLine extends BaseHologramComponent implements return hologram.getCreatorPlugin(); } + protected boolean canInteract(Player player) { + return !isDeleted() + && player.isOnline() + && player.getGameMode() != GameMode.SPECTATOR + && isTrackedPlayer(player) + && isVisibleTo(player); + } + } diff --git a/plugin/src/main/java/me/filoghost/holographicdisplays/plugin/hologram/base/BaseItemLine.java b/plugin/src/main/java/me/filoghost/holographicdisplays/plugin/hologram/base/BaseItemLine.java index 81dc5d51..2f53b9d4 100644 --- a/plugin/src/main/java/me/filoghost/holographicdisplays/plugin/hologram/base/BaseItemLine.java +++ b/plugin/src/main/java/me/filoghost/holographicdisplays/plugin/hologram/base/BaseItemLine.java @@ -10,7 +10,6 @@ import me.filoghost.fcommons.logging.Log; import me.filoghost.holographicdisplays.api.hologram.PickupHandler; import me.filoghost.holographicdisplays.plugin.hologram.tracking.ItemLineTracker; import me.filoghost.holographicdisplays.plugin.hologram.tracking.LineTrackerManager; -import org.bukkit.GameMode; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import org.jetbrains.annotations.MustBeInvokedByOverriders; @@ -32,12 +31,7 @@ public abstract class BaseItemLine extends BaseTouchableLine { } public void onPickup(Player player) { - if (isDeleted() - || !player.isOnline() - || !isTrackedPlayer(player) - || player.getGameMode() == GameMode.SPECTATOR - || pickupHandler == null - || !isVisibleTo(player)) { + if (pickupHandler == null || !canInteract(player)) { return; } diff --git a/plugin/src/main/java/me/filoghost/holographicdisplays/plugin/hologram/base/BaseTouchableLine.java b/plugin/src/main/java/me/filoghost/holographicdisplays/plugin/hologram/base/BaseTouchableLine.java index c418a789..6d728fde 100644 --- a/plugin/src/main/java/me/filoghost/holographicdisplays/plugin/hologram/base/BaseTouchableLine.java +++ b/plugin/src/main/java/me/filoghost/holographicdisplays/plugin/hologram/base/BaseTouchableLine.java @@ -7,7 +7,6 @@ package me.filoghost.holographicdisplays.plugin.hologram.base; import me.filoghost.fcommons.logging.Log; import me.filoghost.holographicdisplays.api.hologram.TouchHandler; -import org.bukkit.GameMode; import org.bukkit.entity.Player; import org.jetbrains.annotations.MustBeInvokedByOverriders; import org.jetbrains.annotations.Nullable; @@ -26,12 +25,7 @@ public abstract class BaseTouchableLine extends BaseHologramLine { } public void onTouch(Player player) { - if (isDeleted() - || !player.isOnline() - || !isTrackedPlayer(player) - || player.getGameMode() == GameMode.SPECTATOR - || touchHandler == null - || !isVisibleTo(player)) { + if (touchHandler == null || !canInteract(player)) { return; }