Skip to content

Commit

Permalink
feat(hologram): rework holograms (#246)
Browse files Browse the repository at this point in the history
  • Loading branch information
Snabeldier authored Dec 18, 2024
1 parent 2189f8b commit 086a536
Showing 1 changed file with 14 additions and 18 deletions.
32 changes: 14 additions & 18 deletions src/main/java/minevalley/core/api/utils/Hologram.java
Original file line number Diff line number Diff line change
@@ -1,40 +1,36 @@
package minevalley.core.api.utils;

import minevalley.core.api.users.OnlineUser;
import minevalley.core.api.users.User;
import org.bukkit.Location;

import java.util.List;
import java.util.function.Function;

public interface Hologram {

void changeLine(int line, String text);
String[] getLines();

void removeLine(int line);
default String getLine(int line) {
return getLines()[line];
}

void addLine(String text);
default void addLine(String text) {
addLineAfter(getLines().length - 1, text);
}

void addLineAfter(int line, String text);

String getLine(int line);

String[] getLines();

List<User> getViewingUsers();

List<OnlineUser> getNearbyViewingUsers();

void show(User user);
void changeLine(int line, String text);

void hide(User user);
void removeLine(int line);

void hideFromEveryone();
void setVisibility(Function<OnlineUser, Boolean> visibilityFunction);

boolean isVisibleToEveryone();
void updateVisibility();

void setVisibleToEveryone(boolean visibleToEveryone);
void updateVisibility(OnlineUser user);

boolean canSee(User user);
List<OnlineUser> getNearbyViewingUsers();

Location getLocation();

Expand Down

0 comments on commit 086a536

Please sign in to comment.