Add getters and javadoc to hologram line

This commit is contained in:
Eric 2020-03-19 13:43:06 +01:00
parent 30de267f1e
commit 4e006bc052
13 changed files with 165 additions and 61 deletions

View File

@ -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
* <p>
* 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);
}
}

View File

@ -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));

View File

@ -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));

View File

@ -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));

View File

@ -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));

View File

@ -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));

View File

@ -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));

View File

@ -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));

View File

@ -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));

View File

@ -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));

View File

@ -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));

View File

@ -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));

View File

@ -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));