From 4e006bc052eb9ccb87643d14ee8489d7487338e1 Mon Sep 17 00:00:00 2001 From: Eric Date: Thu, 19 Mar 2020 13:43:06 +0100 Subject: [PATCH] Add getters and javadoc to hologram line --- .../shop/hologram/IHologramLine.java | 46 ++++++++++++++++++- .../shopchest/shop/hologram/HologramLine.java | 15 ++++-- .../shopchest/shop/hologram/HologramLine.java | 15 ++++-- .../shopchest/shop/hologram/HologramLine.java | 15 ++++-- .../shopchest/shop/hologram/HologramLine.java | 15 ++++-- .../shopchest/shop/hologram/HologramLine.java | 15 ++++-- .../shopchest/shop/hologram/HologramLine.java | 15 ++++-- .../shopchest/shop/hologram/HologramLine.java | 15 ++++-- .../shopchest/shop/hologram/HologramLine.java | 15 ++++-- .../shopchest/shop/hologram/HologramLine.java | 15 ++++-- .../shopchest/shop/hologram/HologramLine.java | 15 ++++-- .../shopchest/shop/hologram/HologramLine.java | 15 ++++-- .../shopchest/shop/hologram/HologramLine.java | 15 ++++-- 13 files changed, 165 insertions(+), 61 deletions(-) diff --git a/nms/interfaces/src/main/java/de/epiceric/shopchest/shop/hologram/IHologramLine.java b/nms/interfaces/src/main/java/de/epiceric/shopchest/shop/hologram/IHologramLine.java index 766f47c..fd295b3 100644 --- a/nms/interfaces/src/main/java/de/epiceric/shopchest/shop/hologram/IHologramLine.java +++ b/nms/interfaces/src/main/java/de/epiceric/shopchest/shop/hologram/IHologramLine.java @@ -1,18 +1,62 @@ package de.epiceric.shopchest.shop.hologram; +import org.bukkit.ChatColor; import org.bukkit.Location; import org.bukkit.entity.Player; public interface IHologramLine { + /** + * Sets the location of this hologram line and sends the update to + * all players in the hologram's world + * + * @param location the location to set + */ void setLocation(Location location); + /** + * Gets the current location + * + * @return the location + */ + Location getLocation(); + + /** + * Sets the text of this hologram line and sends the update to all players + * in the hologram's world + *

+ * The text must not be JSON text, but regular text using Bukkit's {@link ChatColor}. + * + * @param text the text + */ void setText(String text); + /** + * Gets the current text + * + * @return the text + */ + String getText(); + + /** + * Displays the hologram line to the given player + * + * @param player the player to show the line to + */ void showPlayer(Player player); + /** + * Hides the hologram line from the given player + * + * @param player the player to hide the line from + */ void hidePlayer(Player player); - void destroy(); + /** + * Hides the hologram line from all players in the hologram's world + */ + default void destroy() { + getLocation().getWorld().getPlayers().forEach(this::hidePlayer); + } } \ No newline at end of file diff --git a/nms/v10r1/src/main/java/de/epiceric/shopchest/shop/hologram/HologramLine.java b/nms/v10r1/src/main/java/de/epiceric/shopchest/shop/hologram/HologramLine.java index f3ee1fe..794399d 100644 --- a/nms/v10r1/src/main/java/de/epiceric/shopchest/shop/hologram/HologramLine.java +++ b/nms/v10r1/src/main/java/de/epiceric/shopchest/shop/hologram/HologramLine.java @@ -56,6 +56,11 @@ public class HologramLine implements IHologramLine { location.getWorld().getPlayers().forEach(player -> sendPackets(player, packet)); } + @Override + public Location getLocation() { + return this.location.clone(); + } + @Override public void setText(String text) { this.text = text; @@ -67,6 +72,11 @@ public class HologramLine implements IHologramLine { location.getWorld().getPlayers().forEach(player -> sendPackets(player, metadataPacket)); } + @Override + public String getText() { + return this.text; + } + @Override public void showPlayer(Player player) { if (player == null || !player.isOnline()) { @@ -85,11 +95,6 @@ public class HologramLine implements IHologramLine { sendPackets(player, new PacketPlayOutEntityDestroy(id)); } - @Override - public void destroy() { - location.getWorld().getPlayers().forEach(player -> hidePlayer(player)); - } - private void sendPackets(Player player, Packet... packets) { PlayerConnection con = ((CraftPlayer) player).getHandle().playerConnection; Arrays.stream(packets).forEach(packet -> con.sendPacket(packet)); diff --git a/nms/v11r1/src/main/java/de/epiceric/shopchest/shop/hologram/HologramLine.java b/nms/v11r1/src/main/java/de/epiceric/shopchest/shop/hologram/HologramLine.java index e51b159..c6bf3fa 100644 --- a/nms/v11r1/src/main/java/de/epiceric/shopchest/shop/hologram/HologramLine.java +++ b/nms/v11r1/src/main/java/de/epiceric/shopchest/shop/hologram/HologramLine.java @@ -56,6 +56,11 @@ public class HologramLine implements IHologramLine { location.getWorld().getPlayers().forEach(player -> sendPackets(player, packet)); } + @Override + public Location getLocation() { + return this.location.clone(); + } + @Override public void setText(String text) { this.text = text; @@ -67,6 +72,11 @@ public class HologramLine implements IHologramLine { location.getWorld().getPlayers().forEach(player -> sendPackets(player, metadataPacket)); } + @Override + public String getText() { + return this.text; + } + @Override public void showPlayer(Player player) { if (player == null || !player.isOnline()) { @@ -85,11 +95,6 @@ public class HologramLine implements IHologramLine { sendPackets(player, new PacketPlayOutEntityDestroy(id)); } - @Override - public void destroy() { - location.getWorld().getPlayers().forEach(player -> hidePlayer(player)); - } - private void sendPackets(Player player, Packet... packets) { PlayerConnection con = ((CraftPlayer) player).getHandle().playerConnection; Arrays.stream(packets).forEach(packet -> con.sendPacket(packet)); diff --git a/nms/v12r1/src/main/java/de/epiceric/shopchest/shop/hologram/HologramLine.java b/nms/v12r1/src/main/java/de/epiceric/shopchest/shop/hologram/HologramLine.java index 81ae113..026e9f3 100644 --- a/nms/v12r1/src/main/java/de/epiceric/shopchest/shop/hologram/HologramLine.java +++ b/nms/v12r1/src/main/java/de/epiceric/shopchest/shop/hologram/HologramLine.java @@ -56,6 +56,11 @@ public class HologramLine implements IHologramLine { location.getWorld().getPlayers().forEach(player -> sendPackets(player, packet)); } + @Override + public Location getLocation() { + return this.location.clone(); + } + @Override public void setText(String text) { this.text = text; @@ -67,6 +72,11 @@ public class HologramLine implements IHologramLine { location.getWorld().getPlayers().forEach(player -> sendPackets(player, metadataPacket)); } + @Override + public String getText() { + return this.text; + } + @Override public void showPlayer(Player player) { if (player == null || !player.isOnline()) { @@ -85,11 +95,6 @@ public class HologramLine implements IHologramLine { sendPackets(player, new PacketPlayOutEntityDestroy(id)); } - @Override - public void destroy() { - location.getWorld().getPlayers().forEach(player -> hidePlayer(player)); - } - private void sendPackets(Player player, Packet... packets) { PlayerConnection con = ((CraftPlayer) player).getHandle().playerConnection; Arrays.stream(packets).forEach(packet -> con.sendPacket(packet)); diff --git a/nms/v13r1/src/main/java/de/epiceric/shopchest/shop/hologram/HologramLine.java b/nms/v13r1/src/main/java/de/epiceric/shopchest/shop/hologram/HologramLine.java index 270c971..21e7f3d 100644 --- a/nms/v13r1/src/main/java/de/epiceric/shopchest/shop/hologram/HologramLine.java +++ b/nms/v13r1/src/main/java/de/epiceric/shopchest/shop/hologram/HologramLine.java @@ -57,6 +57,11 @@ public class HologramLine implements IHologramLine { location.getWorld().getPlayers().forEach(player -> sendPackets(player, packet)); } + @Override + public Location getLocation() { + return this.location.clone(); + } + @Override public void setText(String text) { this.text = text; @@ -68,6 +73,11 @@ public class HologramLine implements IHologramLine { location.getWorld().getPlayers().forEach(player -> sendPackets(player, metadataPacket)); } + @Override + public String getText() { + return this.text; + } + @Override public void showPlayer(Player player) { if (player == null || !player.isOnline()) { @@ -86,11 +96,6 @@ public class HologramLine implements IHologramLine { sendPackets(player, new PacketPlayOutEntityDestroy(id)); } - @Override - public void destroy() { - location.getWorld().getPlayers().forEach(player -> hidePlayer(player)); - } - private void sendPackets(Player player, Packet... packets) { PlayerConnection con = ((CraftPlayer) player).getHandle().playerConnection; Arrays.stream(packets).forEach(packet -> con.sendPacket(packet)); diff --git a/nms/v13r2/src/main/java/de/epiceric/shopchest/shop/hologram/HologramLine.java b/nms/v13r2/src/main/java/de/epiceric/shopchest/shop/hologram/HologramLine.java index 0304769..951733d 100644 --- a/nms/v13r2/src/main/java/de/epiceric/shopchest/shop/hologram/HologramLine.java +++ b/nms/v13r2/src/main/java/de/epiceric/shopchest/shop/hologram/HologramLine.java @@ -57,6 +57,11 @@ public class HologramLine implements IHologramLine { location.getWorld().getPlayers().forEach(player -> sendPackets(player, packet)); } + @Override + public Location getLocation() { + return this.location.clone(); + } + @Override public void setText(String text) { this.text = text; @@ -68,6 +73,11 @@ public class HologramLine implements IHologramLine { location.getWorld().getPlayers().forEach(player -> sendPackets(player, metadataPacket)); } + @Override + public String getText() { + return this.text; + } + @Override public void showPlayer(Player player) { if (player == null || !player.isOnline()) { @@ -86,11 +96,6 @@ public class HologramLine implements IHologramLine { sendPackets(player, new PacketPlayOutEntityDestroy(id)); } - @Override - public void destroy() { - location.getWorld().getPlayers().forEach(player -> hidePlayer(player)); - } - private void sendPackets(Player player, Packet... packets) { PlayerConnection con = ((CraftPlayer) player).getHandle().playerConnection; Arrays.stream(packets).forEach(packet -> con.sendPacket(packet)); diff --git a/nms/v14r1/src/main/java/de/epiceric/shopchest/shop/hologram/HologramLine.java b/nms/v14r1/src/main/java/de/epiceric/shopchest/shop/hologram/HologramLine.java index 966bce2..57805be 100644 --- a/nms/v14r1/src/main/java/de/epiceric/shopchest/shop/hologram/HologramLine.java +++ b/nms/v14r1/src/main/java/de/epiceric/shopchest/shop/hologram/HologramLine.java @@ -59,6 +59,11 @@ public class HologramLine implements IHologramLine { location.getWorld().getPlayers().forEach(player -> sendPackets(player, packet)); } + @Override + public Location getLocation() { + return this.location.clone(); + } + @Override public void setText(String text) { this.text = text; @@ -70,6 +75,11 @@ public class HologramLine implements IHologramLine { location.getWorld().getPlayers().forEach(player -> sendPackets(player, metadataPacket)); } + @Override + public String getText() { + return this.text; + } + @Override public void showPlayer(Player player) { if (player == null || !player.isOnline()) { @@ -88,11 +98,6 @@ public class HologramLine implements IHologramLine { sendPackets(player, new PacketPlayOutEntityDestroy(id)); } - @Override - public void destroy() { - location.getWorld().getPlayers().forEach(player -> hidePlayer(player)); - } - private void sendPackets(Player player, Packet... packets) { PlayerConnection con = ((CraftPlayer) player).getHandle().playerConnection; Arrays.stream(packets).forEach(packet -> con.sendPacket(packet)); diff --git a/nms/v15r1/src/main/java/de/epiceric/shopchest/shop/hologram/HologramLine.java b/nms/v15r1/src/main/java/de/epiceric/shopchest/shop/hologram/HologramLine.java index c09573d..bdd6a30 100644 --- a/nms/v15r1/src/main/java/de/epiceric/shopchest/shop/hologram/HologramLine.java +++ b/nms/v15r1/src/main/java/de/epiceric/shopchest/shop/hologram/HologramLine.java @@ -59,6 +59,11 @@ public class HologramLine implements IHologramLine { location.getWorld().getPlayers().forEach(player -> sendPackets(player, packet)); } + @Override + public Location getLocation() { + return this.location.clone(); + } + @Override public void setText(String text) { this.text = text; @@ -70,6 +75,11 @@ public class HologramLine implements IHologramLine { location.getWorld().getPlayers().forEach(player -> sendPackets(player, metadataPacket)); } + @Override + public String getText() { + return this.text; + } + @Override public void showPlayer(Player player) { if (player == null || !player.isOnline()) { @@ -88,11 +98,6 @@ public class HologramLine implements IHologramLine { sendPackets(player, new PacketPlayOutEntityDestroy(id)); } - @Override - public void destroy() { - location.getWorld().getPlayers().forEach(player -> hidePlayer(player)); - } - private void sendPackets(Player player, Packet... packets) { PlayerConnection con = ((CraftPlayer) player).getHandle().playerConnection; Arrays.stream(packets).forEach(packet -> con.sendPacket(packet)); diff --git a/nms/v8r1/src/main/java/de/epiceric/shopchest/shop/hologram/HologramLine.java b/nms/v8r1/src/main/java/de/epiceric/shopchest/shop/hologram/HologramLine.java index ff00767..6fc60b6 100644 --- a/nms/v8r1/src/main/java/de/epiceric/shopchest/shop/hologram/HologramLine.java +++ b/nms/v8r1/src/main/java/de/epiceric/shopchest/shop/hologram/HologramLine.java @@ -49,6 +49,11 @@ public class HologramLine implements IHologramLine { location.getWorld().getPlayers().forEach(player -> sendPackets(player, teleportPacket)); } + @Override + public Location getLocation() { + return this.location.clone(); + } + @Override public void setText(String text) { this.text = text == null ? "" : text; @@ -60,6 +65,11 @@ public class HologramLine implements IHologramLine { location.getWorld().getPlayers().forEach(player -> sendPackets(player, metadataPacket)); } + @Override + public String getText() { + return text; + } + @Override public void showPlayer(Player player) { if (player == null || !player.isOnline()) { @@ -78,11 +88,6 @@ public class HologramLine implements IHologramLine { sendPackets(player, new PacketPlayOutEntityDestroy(id)); } - @Override - public void destroy() { - location.getWorld().getPlayers().forEach(player -> hidePlayer(player)); - } - private void sendPackets(Player player, Packet... packets) { PlayerConnection con = ((CraftPlayer) player).getHandle().playerConnection; Arrays.stream(packets).forEach(packet -> con.sendPacket(packet)); diff --git a/nms/v8r2/src/main/java/de/epiceric/shopchest/shop/hologram/HologramLine.java b/nms/v8r2/src/main/java/de/epiceric/shopchest/shop/hologram/HologramLine.java index 4849291..9eb5d53 100644 --- a/nms/v8r2/src/main/java/de/epiceric/shopchest/shop/hologram/HologramLine.java +++ b/nms/v8r2/src/main/java/de/epiceric/shopchest/shop/hologram/HologramLine.java @@ -50,6 +50,11 @@ public class HologramLine implements IHologramLine { location.getWorld().getPlayers().forEach(player -> sendPackets(player, teleportPacket)); } + @Override + public Location getLocation() { + return this.location.clone(); + } + @Override public void setText(String text) { this.text = text == null ? "" : text; @@ -61,6 +66,11 @@ public class HologramLine implements IHologramLine { location.getWorld().getPlayers().forEach(player -> sendPackets(player, metadataPacket)); } + @Override + public String getText() { + return this.text; + } + @Override public void showPlayer(Player player) { if (player == null || !player.isOnline()) { @@ -79,11 +89,6 @@ public class HologramLine implements IHologramLine { sendPackets(player, new PacketPlayOutEntityDestroy(id)); } - @Override - public void destroy() { - location.getWorld().getPlayers().forEach(player -> hidePlayer(player)); - } - private void sendPackets(Player player, Packet... packets) { PlayerConnection con = ((CraftPlayer) player).getHandle().playerConnection; Arrays.stream(packets).forEach(packet -> con.sendPacket(packet)); diff --git a/nms/v8r3/src/main/java/de/epiceric/shopchest/shop/hologram/HologramLine.java b/nms/v8r3/src/main/java/de/epiceric/shopchest/shop/hologram/HologramLine.java index e360754..a24fe72 100644 --- a/nms/v8r3/src/main/java/de/epiceric/shopchest/shop/hologram/HologramLine.java +++ b/nms/v8r3/src/main/java/de/epiceric/shopchest/shop/hologram/HologramLine.java @@ -50,6 +50,11 @@ public class HologramLine implements IHologramLine { location.getWorld().getPlayers().forEach(player -> sendPackets(player, teleportPacket)); } + @Override + public Location getLocation() { + return this.location.clone(); + } + @Override public void setText(String text) { this.text = text == null ? "" : text; @@ -61,6 +66,11 @@ public class HologramLine implements IHologramLine { location.getWorld().getPlayers().forEach(player -> sendPackets(player, metadataPacket)); } + @Override + public String getText() { + return this.text; + } + @Override public void showPlayer(Player player) { if (player == null || !player.isOnline()) { @@ -79,11 +89,6 @@ public class HologramLine implements IHologramLine { sendPackets(player, new PacketPlayOutEntityDestroy(id)); } - @Override - public void destroy() { - location.getWorld().getPlayers().forEach(player -> hidePlayer(player)); - } - private void sendPackets(Player player, Packet... packets) { PlayerConnection con = ((CraftPlayer) player).getHandle().playerConnection; Arrays.stream(packets).forEach(packet -> con.sendPacket(packet)); diff --git a/nms/v9r1/src/main/java/de/epiceric/shopchest/shop/hologram/HologramLine.java b/nms/v9r1/src/main/java/de/epiceric/shopchest/shop/hologram/HologramLine.java index f1c788c..a2b8efc 100644 --- a/nms/v9r1/src/main/java/de/epiceric/shopchest/shop/hologram/HologramLine.java +++ b/nms/v9r1/src/main/java/de/epiceric/shopchest/shop/hologram/HologramLine.java @@ -56,6 +56,11 @@ public class HologramLine implements IHologramLine { location.getWorld().getPlayers().forEach(player -> sendPackets(player, packet)); } + @Override + public Location getLocation() { + return this.location.clone(); + } + @Override public void setText(String text) { this.text = text; @@ -67,6 +72,11 @@ public class HologramLine implements IHologramLine { location.getWorld().getPlayers().forEach(player -> sendPackets(player, metadataPacket)); } + @Override + public String getText() { + return this.text; + } + @Override public void showPlayer(Player player) { if (player == null || !player.isOnline()) { @@ -85,11 +95,6 @@ public class HologramLine implements IHologramLine { sendPackets(player, new PacketPlayOutEntityDestroy(id)); } - @Override - public void destroy() { - location.getWorld().getPlayers().forEach(player -> hidePlayer(player)); - } - private void sendPackets(Player player, Packet... packets) { PlayerConnection con = ((CraftPlayer) player).getHandle().playerConnection; Arrays.stream(packets).forEach(packet -> con.sendPacket(packet)); diff --git a/nms/v9r2/src/main/java/de/epiceric/shopchest/shop/hologram/HologramLine.java b/nms/v9r2/src/main/java/de/epiceric/shopchest/shop/hologram/HologramLine.java index aa7c310..b0fe645 100644 --- a/nms/v9r2/src/main/java/de/epiceric/shopchest/shop/hologram/HologramLine.java +++ b/nms/v9r2/src/main/java/de/epiceric/shopchest/shop/hologram/HologramLine.java @@ -56,6 +56,11 @@ public class HologramLine implements IHologramLine { location.getWorld().getPlayers().forEach(player -> sendPackets(player, packet)); } + @Override + public Location getLocation() { + return this.location.clone(); + } + @Override public void setText(String text) { this.text = text; @@ -67,6 +72,11 @@ public class HologramLine implements IHologramLine { location.getWorld().getPlayers().forEach(player -> sendPackets(player, metadataPacket)); } + @Override + public String getText() { + return this.text; + } + @Override public void showPlayer(Player player) { if (player == null || !player.isOnline()) { @@ -85,11 +95,6 @@ public class HologramLine implements IHologramLine { sendPackets(player, new PacketPlayOutEntityDestroy(id)); } - @Override - public void destroy() { - location.getWorld().getPlayers().forEach(player -> hidePlayer(player)); - } - private void sendPackets(Player player, Packet... packets) { PlayerConnection con = ((CraftPlayer) player).getHandle().playerConnection; Arrays.stream(packets).forEach(packet -> con.sendPacket(packet));