Hylograms is a powerful hologram plugin for Hytale servers that allows you to create, manage, and customize named holograms with multi-line text support. Built with a clean API-first design, Hylograms combines ease of use with extensibility for server administrators and developers.
All commands use the /holo parent command and require appropriate permission nodes.
/holo create <name>Creates a new hologram at your current position.
hylograms.create/holo create welcome/holo addline <name> --text="your text"Adds a new line to an existing hologram.
hylograms.addline/holo addline welcome --text="Welcome to our server!"/holo setline <name> <line-num> --text="your text"Edits a specific line number in a hologram.
hylograms.setline/holo setline welcome 1 --text="New welcome text"/holo list to see line numbers/holo removeline <name> <line-num>Removes a specific line from a hologram.
hylograms.removeline/holo removeline welcome 2/holo delete <name>Deletes a hologram and removes all its entities from the world.
hylograms.delete/holo delete welcome/holo listDisplays all created holograms with their line counts and positions.
hylograms.list/holo list/holo saveManually saves all holograms to the YAML file.
hylograms.save/holo save/holo respawnHolograms --confirmAggressively cleans up and respawns all hologram entities.
hylograms.respawn/holo respawnHolograms --confirmHylograms stores data in human-readable YAML format at mods/Hylograms/holograms.yml:
holograms:
- name: "welcome"
position:
x: 100.50
y: 64.00
z: -200.50
color: "#00FF00"
text:
- "Welcome to our server!"
- "Have fun and enjoy!"
createdAt: 1705264800000
- name: "shop"
position:
x: 150.25
y: 70.00
z: 50.75
color: "#FFFFFF"
text:
- "General Store"
- "Buy items here"
createdAt: 1705265000000You can manually edit this file and reload the changes using /holo respawnHolograms --confirm
Developers can use Hylograms as a library to programmatically create and manage holograms.
import dev.ehko.hylograms.HologramManager;
import dev.ehko.hylograms.util.HologramEntityUtil;
import com.hypixel.hytale.math.vector.Vector3d;
import com.hypixel.hytale.component.Store;
import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
// Create a new hologram
Vector3d position = new Vector3d(100, 64, -200);
String hologramName = "my_hologram";
HologramManager.createHologram(hologramName, position, null);
// Add text lines
HologramManager.addLine(hologramName, "Line 1");
HologramManager.addLine(hologramName, "Line 2");
HologramManager.addLine(hologramName, "Line 3");
// Get hologram data
HologramManager.HologramData data = HologramManager.getHologram(hologramName);
System.out.println("Position: " + data.getPosition());
System.out.println("Text items: " + Arrays.toString(data.getTextItems()));
// Edit a line
HologramManager.setLine(hologramName, 2, "Modified Line 2");
// Remove a line
HologramManager.removeLine(hologramName, 3);
// Delete the hologram
HologramManager.deleteHologram(hologramName);
// Save to YAML
HologramSerializer.saveAll();To make holograms visible in-game, spawn their entities:
import dev.ehko.hylograms.util.HologramEntityUtil;
// Get hologram data
HologramManager.HologramData data = HologramManager.getHologram(hologramName);
// Spawn all text lines as entities
HologramEntityUtil.spawnHologramLines(
store, // Entity store
hologramName, // Hologram name
data.getTextItems(), // Text array
data.getPosition(), // Position
data.getRotation(), // Rotation
null
);// Remove all entities for a hologram
HologramEntityUtil.despawnHologramLines(store, hologramName);import java.util.Map;
// Get all holograms
Map<String, HologramManager.HologramData> allHolograms = HologramManager.getAllHolograms();
for (Map.Entry<String, HologramManager.HologramData> entry : allHolograms.entrySet()) {
String name = entry.getKey();
HologramManager.HologramData data = entry.getValue();
System.out.println("Hologram: " + name);
System.out.println(" Position: " + data.getPosition());
System.out.println(" Lines: " + data.getTextItems().length);
}For advanced usage, you can track entity references:
import java.util.List;
import com.hypixel.hytale.component.Ref;
import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
// Get all registered entity refs
List<Ref<EntityStore>> allRefs = HologramManager.getRegisteredEntityRefs();
// Get refs for a specific hologram
List<Ref<EntityStore>> hologramRefs = HologramManager.getRegisteredEntityRefsForHologram(hologramName);
// Clear all refs (use with caution)
HologramManager.clearEntityRefs();mods/ folder/holo createAll configuration is automatic. Holograms are stored in mods/Hylograms/holograms.yml and loaded on server startup. You can manually edit the YAML file for bulk changes.
hylograms.create - Create new holograms
hylograms.addline - Add lines to holograms
hylograms.setline - Modify existing lines
hylograms.removeline - Remove lines from holograms
hylograms.delete - Delete holograms
hylograms.list - List all holograms
hylograms.save - Save holograms to file
hylograms.respawn - Respawn all hologram entitiesHolograms not showing?
/holo respawnHolograms --confirm to respawn all entities/holo listDuplicate text appearing?
/holo respawnHolograms --confirm if it persistshttps://discord.gg/pVwu4nfktU
For bug reports, feature requests, or support, please join our Discord server above.
Hylograms - Making holograms simple for Hytale servers.
0 Comments