Package net.citizensnpcs.trait
Interface HologramTrait.HologramRenderer
- All Known Implementing Classes:
HologramTrait.AreaEffectCloudRenderer,HologramTrait.ArmorstandRenderer,HologramTrait.ArmorstandVehicleRenderer,HologramTrait.InteractionVehicleRenderer,HologramTrait.ItemDisplayRenderer,HologramTrait.ItemRenderer,HologramTrait.SingleEntityHologramRenderer,HologramTrait.TextDisplayRenderer,HologramTrait.TextDisplayVehicleRenderer
- Enclosing class:
HologramTrait
public static interface HologramTrait.HologramRenderer
API for rendering holograms. Assumptions are documented in Javadoc but the API is early and subject to change.
Feedback is welcomed.
-
Method Summary
Modifier and TypeMethodDescriptionvoiddestroy()Destroy/teardown any rendered holograms.getPerPlayerText(NPC hologram, Player viewer) Ifis set on any entity and ProtocolLib is enabled, this method will be called to modify the name per-player.invalid reference
NPC.Metadata.HOLOGRAM_RENDERERdefault booleanisSneaking(NPC npc, Player player) Ifis set on any entity and ProtocolLib is enabled, returns whether the NPC should be considered sneaking or not to the viewing player.invalid reference
NPC.Metadata.HOLOGRAM_RENDERERdefault voidonSeenByPlayer(NPC hologram, Player player) Ifis set on any entity, called when it is seen for the first time by a Player.invalid reference
NPC.Metadata.HOLOGRAM_RENDERERvoidRender the hologram at a given offset.default voidsetBackgroundColor(Color color) default voidsetTextShadow(boolean shadow) voidupdateText(NPC parent, String text) Update the hologram text.
-
Method Details
-
destroy
void destroy()Destroy/teardown any rendered holograms. -
getEntities
Collection<Entity> getEntities()- Returns:
- Any associated hologram entities. Used in
getEntities().
-
getPerPlayerText
Ifis set on any entity and ProtocolLib is enabled, this method will be called to modify the name per-player. Note: this should be async-safe. This method is fragile and may be moved elsewhere.invalid reference
NPC.Metadata.HOLOGRAM_RENDERER- Parameters:
hologram- the hologram NPCviewer- the viewing Player- Returns:
- the modified text per Player
-
isSneaking
Ifis set on any entity and ProtocolLib is enabled, returns whether the NPC should be considered sneaking or not to the viewing player. Presently called only when player first sees the NPC (i.e. not proactively).Note: this should be async-safe. This method is fragile and may be moved elsewhere.invalid reference
NPC.Metadata.HOLOGRAM_RENDERER- Parameters:
npc- the NPCplayer- the viewing Player- Returns:
- whether the NPC is sneaking
-
onSeenByPlayer
Ifis set on any entity, called when it is seen for the first time by a Player.invalid reference
NPC.Metadata.HOLOGRAM_RENDERER- Parameters:
hologram- the hologram NPCplayer- the viewing Player
-
render
Render the hologram at a given offset. Any underlying hologram NPCs should be spawned at this point.- Parameters:
parent- the parent NPC.offset- the offset, in blocks
-
setBackgroundColor
-
setTextShadow
default void setTextShadow(boolean shadow) -
updateText
Update the hologram text. Will be called first beforerender(NPC, Vector3d).- Parameters:
parent- the parent NPCtext- the new hologram text
-