package com.example.mymod;
import com.frotty27.nameplatebuilder.api.NameplateAPI;
import com.frotty27.nameplatebuilder.api.NameplateData;
import com.frotty27.nameplatebuilder.api.SegmentTarget;
import com.hypixel.hytale.component.ComponentType;
import com.hypixel.hytale.server.core.plugin.JavaPlugin;
import com.hypixel.hytale.server.core.plugin.JavaPluginInit;
import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
import java.util.List;
public final class MyModPlugin extends JavaPlugin {
public MyModPlugin(JavaPluginInit init) {
super(init);
}
@Override
protected void setup() {
// Health — for all entities, with 3 format variants
NameplateAPI.describe(this, "health", "Health Bar",
SegmentTarget.ALL, "100/100");
NameplateAPI.describeVariants(this, "health", List.of(
"Current/Max",
"Percentage",
"Bar"
));
// Guild — for players only
NameplateAPI.describe(this, "guild", "Guild Tag",
SegmentTarget.PLAYERS, "[Warriors]");
// Faction — for NPCs only
NameplateAPI.describe(this, "faction", "Faction",
SegmentTarget.NPCS, "<Undead>");
// Register tick systems
ComponentType<EntityStore, NameplateData> type =
NameplateAPI.getComponentType();
getEntityStoreRegistry().registerSystem(
new MyNpcNameplateSystem(type));
}
}