45 lines
1.1 KiB
Java
45 lines
1.1 KiB
Java
package com.hypixel.hytale.server.npc.util;
|
|
|
|
import com.hypixel.hytale.server.npc.role.Role;
|
|
import javax.annotation.Nonnull;
|
|
import javax.annotation.Nullable;
|
|
|
|
public interface IAnnotatedComponent {
|
|
void getInfo(Role var1, ComponentInfo var2);
|
|
|
|
void setContext(IAnnotatedComponent var1, int var2);
|
|
|
|
@Nullable
|
|
IAnnotatedComponent getParent();
|
|
|
|
int getIndex();
|
|
|
|
default String getLabel() {
|
|
int index = this.getIndex();
|
|
return index >= 0 ? String.format("[%s]%s", index, this.getClass().getSimpleName()) : this.getClass().getSimpleName();
|
|
}
|
|
|
|
default void getBreadCrumbs(@Nonnull StringBuilder sb) {
|
|
IAnnotatedComponent parent = this.getParent();
|
|
if (parent != null) {
|
|
parent.getBreadCrumbs(sb);
|
|
}
|
|
|
|
String label = this.getLabel();
|
|
if (label != null && !label.isEmpty()) {
|
|
if (!sb.isEmpty()) {
|
|
sb.append('|');
|
|
}
|
|
|
|
sb.append(label);
|
|
}
|
|
}
|
|
|
|
@Nonnull
|
|
default String getBreadCrumbs() {
|
|
StringBuilder sb = new StringBuilder();
|
|
this.getBreadCrumbs(sb);
|
|
return sb.toString();
|
|
}
|
|
}
|