mirror of
https://github.com/filoghost/HolographicDisplays.git
synced 2024-11-26 12:27:30 +01:00
Move VisibilitySettings to BaseHologram
This commit is contained in:
parent
5727de44dc
commit
e0d47284b7
@ -12,7 +12,6 @@ import me.filoghost.holographicdisplays.api.beta.hologram.PlaceholderSetting;
|
|||||||
import me.filoghost.holographicdisplays.core.base.BaseHologram;
|
import me.filoghost.holographicdisplays.core.base.BaseHologram;
|
||||||
import me.filoghost.holographicdisplays.core.base.ImmutablePosition;
|
import me.filoghost.holographicdisplays.core.base.ImmutablePosition;
|
||||||
import me.filoghost.holographicdisplays.core.tracking.LineTrackerManager;
|
import me.filoghost.holographicdisplays.core.tracking.LineTrackerManager;
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
import org.bukkit.plugin.Plugin;
|
import org.bukkit.plugin.Plugin;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
@ -21,7 +20,6 @@ class APIHologram extends BaseHologram implements Hologram {
|
|||||||
private final APIHologramLines lines;
|
private final APIHologramLines lines;
|
||||||
private final Plugin plugin;
|
private final Plugin plugin;
|
||||||
private final APIHologramManager hologramManager;
|
private final APIHologramManager hologramManager;
|
||||||
private final DefaultVisibilitySettings visibilitySettings;
|
|
||||||
|
|
||||||
private @NotNull PlaceholderSetting placeholderSetting;
|
private @NotNull PlaceholderSetting placeholderSetting;
|
||||||
|
|
||||||
@ -35,7 +33,6 @@ class APIHologram extends BaseHologram implements Hologram {
|
|||||||
this.lines = new APIHologramLines(this);
|
this.lines = new APIHologramLines(this);
|
||||||
this.plugin = plugin;
|
this.plugin = plugin;
|
||||||
this.hologramManager = hologramManager;
|
this.hologramManager = hologramManager;
|
||||||
this.visibilitySettings = new DefaultVisibilitySettings();
|
|
||||||
this.placeholderSetting = PlaceholderSetting.DEFAULT;
|
this.placeholderSetting = PlaceholderSetting.DEFAULT;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -44,11 +41,6 @@ class APIHologram extends BaseHologram implements Hologram {
|
|||||||
return lines;
|
return lines;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public @NotNull DefaultVisibilitySettings getVisibilitySettings() {
|
|
||||||
return visibilitySettings;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setPosition(@NotNull Position position) {
|
public void setPosition(@NotNull Position position) {
|
||||||
super.setPosition(ImmutablePosition.of(position));
|
super.setPosition(ImmutablePosition.of(position));
|
||||||
@ -79,11 +71,6 @@ class APIHologram extends BaseHologram implements Hologram {
|
|||||||
return plugin;
|
return plugin;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isVisibleTo(Player player) {
|
|
||||||
return visibilitySettings.isVisibleTo(player);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void delete() {
|
public void delete() {
|
||||||
hologramManager.deleteHologram(this);
|
hologramManager.deleteHologram(this);
|
||||||
|
@ -16,7 +16,6 @@ import me.filoghost.holographicdisplays.core.base.ImmutablePosition;
|
|||||||
import me.filoghost.holographicdisplays.core.tracking.LineTrackerManager;
|
import me.filoghost.holographicdisplays.core.tracking.LineTrackerManager;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.bukkit.plugin.Plugin;
|
import org.bukkit.plugin.Plugin;
|
||||||
|
|
||||||
@ -39,7 +38,7 @@ class V2Hologram extends BaseHologram implements Hologram {
|
|||||||
this.plugin = plugin;
|
this.plugin = plugin;
|
||||||
this.hologramManager = hologramManager;
|
this.hologramManager = hologramManager;
|
||||||
this.lines = new BaseHologramLines<>(this);
|
this.lines = new BaseHologramLines<>(this);
|
||||||
this.visibilityManager = new V2VisibilityManager();
|
this.visibilityManager = new V2VisibilityManager(getVisibilitySettings());
|
||||||
this.creationTimestamp = System.currentTimeMillis();
|
this.creationTimestamp = System.currentTimeMillis();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -48,11 +47,6 @@ class V2Hologram extends BaseHologram implements Hologram {
|
|||||||
return lines;
|
return lines;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
protected boolean isVisibleTo(Player player) {
|
|
||||||
return visibilityManager.isVisibleTo(player);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Plugin getCreatorPlugin() {
|
public Plugin getCreatorPlugin() {
|
||||||
return plugin;
|
return plugin;
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
package me.filoghost.holographicdisplays.core.api.v2;
|
package me.filoghost.holographicdisplays.core.api.v2;
|
||||||
|
|
||||||
import com.gmail.filoghost.holographicdisplays.api.VisibilityManager;
|
import com.gmail.filoghost.holographicdisplays.api.VisibilityManager;
|
||||||
|
import me.filoghost.holographicdisplays.api.beta.hologram.VisibilitySettings;
|
||||||
import me.filoghost.holographicdisplays.api.beta.hologram.VisibilitySettings.Visibility;
|
import me.filoghost.holographicdisplays.api.beta.hologram.VisibilitySettings.Visibility;
|
||||||
import me.filoghost.holographicdisplays.core.api.current.DefaultVisibilitySettings;
|
import me.filoghost.holographicdisplays.core.api.current.DefaultVisibilitySettings;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@ -13,9 +14,9 @@ import org.bukkit.entity.Player;
|
|||||||
@SuppressWarnings("deprecation")
|
@SuppressWarnings("deprecation")
|
||||||
class V2VisibilityManager implements VisibilityManager {
|
class V2VisibilityManager implements VisibilityManager {
|
||||||
|
|
||||||
private final DefaultVisibilitySettings v3VisibilitySettings;
|
private final VisibilitySettings v3VisibilitySettings;
|
||||||
|
|
||||||
V2VisibilityManager() {
|
V2VisibilityManager(VisibilitySettings visibilitySettings) {
|
||||||
this.v3VisibilitySettings = new DefaultVisibilitySettings();
|
this.v3VisibilitySettings = new DefaultVisibilitySettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6,11 +6,11 @@
|
|||||||
package me.filoghost.holographicdisplays.core.base;
|
package me.filoghost.holographicdisplays.core.base;
|
||||||
|
|
||||||
import me.filoghost.fcommons.Preconditions;
|
import me.filoghost.fcommons.Preconditions;
|
||||||
|
import me.filoghost.holographicdisplays.core.api.current.DefaultVisibilitySettings;
|
||||||
import me.filoghost.holographicdisplays.core.tracking.LineTrackerManager;
|
import me.filoghost.holographicdisplays.core.tracking.LineTrackerManager;
|
||||||
import org.bukkit.Chunk;
|
import org.bukkit.Chunk;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
import org.bukkit.plugin.Plugin;
|
import org.bukkit.plugin.Plugin;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
@ -18,17 +18,17 @@ import org.jetbrains.annotations.Nullable;
|
|||||||
public abstract class BaseHologram extends BaseHologramComponent {
|
public abstract class BaseHologram extends BaseHologramComponent {
|
||||||
|
|
||||||
private final HologramPosition hologramPosition;
|
private final HologramPosition hologramPosition;
|
||||||
|
private final DefaultVisibilitySettings visibilitySettings;
|
||||||
private final LineTrackerManager lineTrackerManager;
|
private final LineTrackerManager lineTrackerManager;
|
||||||
|
|
||||||
public BaseHologram(ImmutablePosition position, LineTrackerManager lineTrackerManager) {
|
public BaseHologram(ImmutablePosition position, LineTrackerManager lineTrackerManager) {
|
||||||
this.hologramPosition = new HologramPosition(position);
|
this.hologramPosition = new HologramPosition(position);
|
||||||
|
this.visibilitySettings = new DefaultVisibilitySettings();
|
||||||
this.lineTrackerManager = lineTrackerManager;
|
this.lineTrackerManager = lineTrackerManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
public abstract BaseHologramLines<? extends EditableHologramLine> getLines();
|
public abstract BaseHologramLines<? extends EditableHologramLine> getLines();
|
||||||
|
|
||||||
protected abstract boolean isVisibleTo(Player player);
|
|
||||||
|
|
||||||
public abstract Plugin getCreatorPlugin();
|
public abstract Plugin getCreatorPlugin();
|
||||||
|
|
||||||
protected final LineTrackerManager getTrackerManager() {
|
protected final LineTrackerManager getTrackerManager() {
|
||||||
@ -45,6 +45,10 @@ public abstract class BaseHologram extends BaseHologramComponent {
|
|||||||
return hologramPosition.getPosition();
|
return hologramPosition.getPosition();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public @NotNull DefaultVisibilitySettings getVisibilitySettings() {
|
||||||
|
return visibilitySettings;
|
||||||
|
}
|
||||||
|
|
||||||
public @Nullable World getWorldIfLoaded() {
|
public @Nullable World getWorldIfLoaded() {
|
||||||
return hologramPosition.getWorldIfLoaded();
|
return hologramPosition.getWorldIfLoaded();
|
||||||
}
|
}
|
||||||
|
@ -61,7 +61,7 @@ public abstract class BaseHologramLine extends BaseHologramComponent implements
|
|||||||
}
|
}
|
||||||
|
|
||||||
public final boolean isVisibleTo(Player player) {
|
public final boolean isVisibleTo(Player player) {
|
||||||
return hologram.isVisibleTo(player);
|
return hologram.getVisibilitySettings().isVisibleTo(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
public final Plugin getCreatorPlugin() {
|
public final Plugin getCreatorPlugin() {
|
||||||
|
Loading…
Reference in New Issue
Block a user