✨ Holograms Module

Create floating text, item, and block displays anywhere in your world


Paper 1.21+ Display entities (NMS) FancyNPCs integration Flat-file YAML storage
✨

Overview

Floating holograms using Minecraft 1.21+ Display entities — no packets, no armorstands

The Holograms module is an embedded port of the FancyHolograms library, fully integrated into OreoEssentials. It uses Minecraft's native Display entities (text, item, block) introduced in 1.19.4, meaning holograms are real server-side entities — no client-side packet tricks required.

✅ Features

  • Text, Item, and Block display holograms
  • Multi-line text with MiniMessage + legacy colors
  • Full transform control: position, rotation, scale, billboard, translation
  • Background color, text shadow, see-through
  • Custom visibility: all / permission-required / manual
  • Per-hologram visibility distance
  • Link holograms to FancyNPCs
  • Bedrock player support (via Floodgate)
  • Auto-save + save-on-change + manual save
  • Import from DecentHolograms

📁 Files

  • plugins/OreoEssentials/OHolograms/config.yml — plugin settings
  • plugins/OreoEssentials/OHolograms/holograms.yml — all saved holograms
  • plugins/OreoEssentials/OHolograms/logs/ — daily log files
Server requirement: Paper 1.21 or newer. Spigot works but is not recommended. Display entities are available since Minecraft 1.19.4 — do NOT use this module on older versions.

Quick Start

Start the server once to generate plugins/OreoEssentials/OHolograms/config.yml. Default settings work out of the box.

Give your admin account the oholograms.admin permission (or use oreo.*).

Stand where you want the hologram and run /hologram create text myHolo. A text hologram appears at your feet.

Edit the text: /hologram edit myHolo setLine 1 Hello World!

Add more lines: /hologram edit myHolo addLine &6Welcome to the server!

Done! Holograms are saved automatically. Use /hologram list to see all holograms.

config.yml — Full Reference

Located at plugins/OreoEssentials/OHolograms/config.yml.

# ──────────────────────────────────────────────────────────
#  OHolograms Configuration (embedded in OreoEssentials)
#  File: plugins/OreoEssentials/OHolograms/config.yml
# ──────────────────────────────────────────────────────────

# Config version — DO NOT change this
config_version: 1

# ── Saving ───────────────────────────────────────────────
saving:
  autosave:
    # Whether to periodically save all holograms to disk automatically
    enabled: true
    # How often to autosave, in MINUTES (default: every 15 minutes)
    interval: 15

  # If true, holograms are also saved immediately every time they are edited.
  # Recommended: keep this true to avoid losing changes on crash.
  save_on_changed: true

# ── Logging ──────────────────────────────────────────────
logging:
  # Log verbosity: DEBUG, INFO, WARN, ERROR
  log_level: INFO

  # Log a message every time a world is loaded and its holograms spawn.
  # Disable if you dynamically load/unload worlds frequently.
  log_on_world_load: true

  # Show a console message when a newer plugin version is available
  version_notifications: true

# ── Visibility ───────────────────────────────────────────
# Default distance (in blocks) at which a hologram becomes visible.
# Players farther away than this will not see it.
# Can be overridden per hologram with /hologram edit <holo> visibilityDistance
visibility_distance: 20

# How often (in TICKS) to check and update which players can see each hologram.
# Lower = more responsive but slightly more CPU. Default 20 ticks = 1 second.
update_visibility_interval: 20

# ── Commands ─────────────────────────────────────────────
# Set to false to disable /hologram and /oholograms entirely
# (useful if using the API only)
register_commands: true

Performance Tips

Low Player Count (1–50)

Keep defaults. visibility_distance: 20 and update_visibility_interval: 20 are fine.

High Player Count (50+)

Increase update_visibility_interval to 40 or 60 to reduce the per-tick cost of showing/hiding holograms.

Many Holograms (100+)

Set visibility_distance to a smaller value (e.g. 15) so players outside the radius don't get entity packets for distant holograms.

Hologram Types

There are three hologram types. Choose the type when creating with /hologram create <type> <name>.

Type What it shows Exclusive edit options Notes
text Floating multi-line text (TextDisplay entity) addLine, setLine, removeLine, insertBefore, insertAfter, background, textShadow, textAlignment, seeThrough, updateTextInterval Supports MiniMessage + legacy color codes. Most commonly used type.
item A floating spinning item (ItemDisplay entity) item <material> — changes what item is displayed Billboard defaults to FIXED. Great for shop or loot displays.
block A floating block (BlockDisplay entity) block <material> — changes what block is displayed Billboard defaults to FIXED. Good for floating decorations.
All types share common edit options: position, moveTo, rotate, rotatePitch, billboard, scale, translate, visibilityDistance, visibility, shadowRadius, shadowStrength, brightness

/hologram — Complete Command Reference

Also accessible as /holograms, /holo, /fholo, and /ohologram. All subcommands require the base permission oholograms.admin — subcommand permissions are additional fine-grained checks.

Informational Commands

/hologram help
Shows all available commands and their syntax in chat.
Permission: oholograms.admin
/hologram list [page]
Lists all persistent holograms with their coordinates. Click a hologram name to teleport to it. Shows 10 per page.
Permission: OHolograms.hologram.list
/hologram nearby <range>
Shows all holograms within <range> blocks of your position, sorted by distance. Click any result to teleport to it.
Permission: OHolograms.hologram.nearby
⚠ Player-only command (cannot be used from console)
/hologram info <name>
Shows detailed information about a hologram: location, type, visibility, scale, billboard, and all current text lines.
Permission: oholograms.admin (uses parent permission only)
/hologram teleport <name>
Teleports you to the hologram's location.
Permission: oholograms.admin
⚠ Player-only command

Creating & Removing

/hologram create <text|item|block> <name>
Creates a new hologram of the specified type at your current position. The name cannot contain dots. Item and Block holograms default to FIXED billboard.
Permission: OHolograms.hologram.create
⚠ Player-only command
/hologram remove <name>
Permanently deletes the hologram. This is irreversible — the hologram is removed from both memory and the save file.
Permission: OHolograms.hologram.remove
/hologram copy <existing-name> <new-name>
Creates an exact copy of an existing hologram at your current position. The NPC link is not copied (cleared on the new hologram). The copy is saved to disk immediately.
Permission: OHolograms.hologram.copy
⚠ Player-only command

Position & Transform

/hologram edit <name> position
/hologram edit <name> moveHere
Moves the hologram to your exact current position (keeps its current yaw/pitch).
Permission: OHolograms.hologram.edit.move_here
⚠ Player-only command · Cannot be used if hologram is linked to an NPC
/hologram edit <name> moveTo <x> <y> <z> [yaw] [pitch]
Moves the hologram to specific coordinates. Supports relative notation:
  • ~ — relative to hologram's current position (e.g. ~1 = 1 block further)
  • ~~ — relative to your player position (e.g. ~~ = exactly where you stand)
  • Plain numbers — absolute world coordinates
Permission: OHolograms.hologram.edit.move_to
⚠ Player-only command
/hologram edit <name> center
Centers the hologram on the block it is currently standing on (snaps X and Z to block center, keeps Y).
Permission: OHolograms.hologram.edit.move_here
⚠ Player-only command
/hologram edit <name> rotate <degrees>
Rotates the hologram around its vertical axis (yaw) by the given degrees. Positive = clockwise.
Permission: oholograms.admin
/hologram edit <name> rotatePitch <degrees>
Rotates the hologram on its pitch (up/down tilt) axis.
Permission: oholograms.admin
/hologram edit <name> scale <factor>
Scales the hologram uniformly. 1.0 = default size, 2.0 = double size, 0.5 = half size.
You can also scale axes independently: /hologram edit <name> scale <x> <y> <z>
Permission: OHolograms.hologram.edit.scale
/hologram edit <name> translate <x> <y> <z>
Applies a local-space translation offset to the hologram (shifts it relative to its own orientation). Useful for fine-tuning position without changing the entity's base coordinates.
Permission: oholograms.admin
/hologram edit <name> billboard <center|fixed|horizontal|vertical>
Sets how the hologram faces players:
  • center — always faces the player (default for text)
  • fixed — never rotates (default for item/block)
  • horizontal — only rotates left/right, never tilts
  • vertical — only tilts up/down, never rotates left/right
Permission: oholograms.admin
/hologram edit <name> shadowRadius <value>
Sets the radius of the drop shadow under the hologram. Default is 0 (no shadow). Try 0.5 to 2.0 for a visible shadow.
Permission: oholograms.admin
/hologram edit <name> shadowStrength <value>
Sets the darkness/opacity of the drop shadow. Default is 1.0. Higher = darker shadow.
Permission: oholograms.admin
/hologram edit <name> brightness <block|sky> <0-15>
Overrides the ambient light of the hologram regardless of surrounding block/sky light:
  • block 15 — maximum block-light brightness (looks like it's lit by a torch at full intensity)
  • sky 15 — maximum sky-light brightness (looks like it's in full daylight)
Set both to 15 to make a hologram always fully bright even in a dark cave.
Permission: oholograms.admin

Visibility Controls

/hologram edit <name> visibility <ALL|PERMISSION_REQUIRED|MANUAL>
Controls who can see this hologram:
  • ALL — everyone within range sees it (default)
  • PERMISSION_REQUIRED — only players with OHolograms.viewhologram.<name> can see it
  • MANUAL — only players added via the API (for developer use)
Permission: OHolograms.hologram.edit.visibility
/hologram edit <name> visibilityDistance <blocks>
Overrides the default visibility distance for this specific hologram. Players farther than this many blocks will not see it. Use -1 to reset to the config default.
Permission: oholograms.admin

Text-Only Commands

These commands only work on text type holograms.

/hologram edit <name> addLine <text ...>
Appends a new line of text at the bottom of the hologram. Supports MiniMessage tags and legacy & color codes.
Permission: OHolograms.hologram.edit.line.add
💡 Text is required — will show error if omitted
/hologram edit <name> setLine <line-number> <text ...>
Replaces the text on line <line-number> (1-based). If line number exceeds the current line count, acts like addLine.
Permission: OHolograms.hologram.line.set
💡 Text is required — will show error if omitted
/hologram edit <name> removeLine <line-number>
Removes line <line-number> (1-based). All lines below shift up by one.
Permission: OHolograms.hologram.edit.line.remove
/hologram edit <name> insertBefore <line-number> <text ...>
Inserts a new line of text before line <line-number>. Existing lines shift down.
Permission: OHolograms.hologram.edit.insert_before
💡 Text is required — shows error if omitted
/hologram edit <name> insertAfter <line-number> <text ...>
Inserts a new line of text after line <line-number>. Existing lines below shift down.
Permission: OHolograms.hologram.edit.insert_after
💡 Text is required — shows error if omitted
/hologram edit <name> background <color>
Sets the background color of the text panel:
  • Named color: red, blue, dark_green, etc. (uses Adventure named colors)
  • Hex RGB: #ff0000 (solid red)
  • Hex ARGB: #80ff0000 (semi-transparent red, alpha=0x80)
  • transparent — fully transparent background
  • reset or default — remove custom background
Permission: OHolograms.hologram.edit.background
/hologram edit <name> textShadow <true|false>
Enables or disables the text drop shadow. Default is false.
Permission: oholograms.admin
/hologram edit <name> textAlignment <CENTER|LEFT|RIGHT>
Sets how multi-line text is aligned within the hologram's text panel. Default is CENTER.
Permission: oholograms.admin
/hologram edit <name> seeThrough <true|false>
If true, players can read the hologram text through walls. Default is false.
Permission: oholograms.admin
/hologram edit <name> updateTextInterval <seconds>
Sets how often the hologram text is refreshed for all viewers (useful for PlaceholderAPI placeholders that change over time). Use -1 to disable periodic refresh (default).
Permission: oholograms.admin

Item-Only Commands

/hologram edit <name> item <MATERIAL>
Changes the displayed item to a different Minecraft material. Example: /hologram edit myItem item DIAMOND
Permission: oholograms.admin

Block-Only Commands

/hologram edit <name> block <MATERIAL>
Changes the displayed block to a different Minecraft block material. Example: /hologram edit myBlock block DIAMOND_BLOCK
Permission: oholograms.admin

NPC Integration (requires FancyNPCs)

/hologram edit <name> linkWithNpc <npc-name>
Attaches the hologram above the specified FancyNPC. The hologram will follow the NPC and scale with it. The NPC's display name is automatically cleared.
Permission: oholograms.admin
/hologram edit <name> unlinkWithNpc
Detaches the hologram from its linked NPC. The hologram stays at its current position.
Permission: oholograms.admin

/oholograms — Management Commands

These commands manage the plugin itself rather than individual holograms.

Base permission: oholograms.admin

/oholograms save
Immediately saves all holograms to holograms.yml. Use this before a planned restart if you've made changes and don't want to wait for autosave.
/oholograms reload
Reloads config.yml and all holograms from disk. Existing holograms are unloaded (hidden) and reloaded fresh. Use after editing the YAML files manually.
/oholograms version
Shows the current plugin version and checks if a newer version is available.
/oholograms convert <type> <targets> [args...]
Imports holograms from another plugin. Currently supports DecentHolograms. <targets> is a regex pattern matching hologram names to import, or * for all.

Permissions — Complete List

Important: Permissions are case-sensitive. OHolograms.hologram.create is different from oholograms.hologram.create. Use the exact strings listed here.

Parent Permission

PermissionDefaultDescription
oholograms.admin Operators (op) Master permission. Required to use any /hologram or /oholograms command. All subcommand permissions are checked IN ADDITION to this.

Hologram Management

PermissionCommand(s)Description
OHolograms.hologram.create/hologram createCreate new holograms
OHolograms.hologram.remove/hologram removeDelete holograms permanently
OHolograms.hologram.copy/hologram copyDuplicate an existing hologram
OHolograms.hologram.list/hologram listSee the list of all holograms
OHolograms.hologram.nearby/hologram nearbyFind holograms within a radius

Edit Permissions

PermissionCommand(s)Description
OHolograms.hologram.edit.move_hereposition, moveHere, centerMove hologram to current position / center on block
OHolograms.hologram.edit.move_tomoveToMove hologram to specific coordinates
OHolograms.hologram.edit.scalescaleChange hologram scale
OHolograms.hologram.edit.backgroundbackgroundChange text background color
OHolograms.hologram.edit.visibilityvisibilityChange who can see the hologram
OHolograms.hologram.edit.line.addaddLineAppend a line to text holograms
OHolograms.hologram.edit.line.removeremoveLineRemove a line from text holograms
OHolograms.hologram.line.setsetLineEdit a specific line (also used internally by addLine)
OHolograms.hologram.edit.insert_beforeinsertBeforeInsert line before another line
OHolograms.hologram.edit.insert_afterinsertAfterInsert line after another line

Viewer Permission

PermissionDescription
OHolograms.viewhologram.<name> Allows a player to see a specific hologram when its visibility is set to PERMISSION_REQUIRED. Replace <name> with the exact hologram name (case-sensitive).

LuckPerms Setup Example

# Give all admins full hologram control
/lp group admin permission set oholograms.admin true

# Give a specific group permission to see a VIP-only hologram
/lp group vip permission set OHolograms.viewhologram.vip_rewards true

# Give all players permission to see a specific hologram
/lp group default permission set OHolograms.viewhologram.spawn_info true
Note on inconsistency: setLine uses OHolograms.hologram.line.set (without the edit. prefix), while most other edit commands use OHolograms.hologram.edit.*. This is intentional in the source code — granting OHolograms.hologram.edit.* does NOT automatically grant setLine. Grant both if needed.

Storage — How Holograms Are Saved

All holograms are stored in a single YAML file: plugins/OreoEssentials/OHolograms/holograms.yml. You can edit this file manually, but always run /oholograms reload after doing so.

File Format

version: 2  # DO NOT CHANGE

holograms:
  my_hologram:                      # Hologram name (lowercase)
    type: TEXT                       # TEXT / ITEM / BLOCK
    location:
      world: world
      x: 100.5
      y: 64.0
      z: 200.5
      yaw: 0.0
      pitch: 0.0
    visibility: ALL                 # ALL / PERMISSION_REQUIRED / MANUAL
    visibility_distance: -1          # -1 = use config default
    persistent: true
    text:                            # List of text lines (TEXT type only)
      - "<gold><b>Welcome!</b></gold>"
      - "<gray>Enjoy your stay!</gray>"
    text_shadow: false
    see_through: false
    text_alignment: center
    update_text_interval: -1          # -1 = no auto-refresh
    background: null                  # null = default, "transparent", "#RRGGBB", named color
    scale_x: 1.0
    scale_y: 1.0
    scale_z: 1.0
    shadow_radius: 0.0
    shadow_strength: 1.0
    billboard: null                   # null = CENTER, or fixed/vertical/horizontal

When Are Holograms Saved?

TriggerWhat happens
Any edit command (if save_on_changed: true)That hologram is queued for an async write
Autosave interval (default every 15 min)All persistent holograms are saved in bulk
/oholograms saveImmediate bulk save of all holograms
Server shutdown (onDisable)Bulk save, then executors drain gracefully
Save is always async. The file write happens on a dedicated single-threaded background executor so it never blocks the main server thread. All saves are serialized through this executor — no data races.

Visibility System

Each hologram has a visibility mode that controls who can see it, and a visibility distance that controls how far away it is visible.

Visibility Modes

ModeWho sees itUse case
ALL Every player within the visibility distance Default — public holograms like spawn signs, rules boards
PERMISSION_REQUIRED Only players with OHolograms.viewhologram.<name> VIP-only signs, donor perks, staff notices
MANUAL Only players added via Visibility.ManualVisibility.addDistantViewer() API Programmatic control via plugins/scripts

Visibility Distance

The visibility distance determines how close a player must be to see the hologram. The server checks this every update_visibility_interval ticks (default: every second).

Text Formatting

Text holograms support two formatting systems simultaneously.

MiniMessage (Recommended)

The modern Minecraft text format using XML-like tags. Examples:

# Bold gold title
/hologram edit myHolo setLine 1 <gold><b>Welcome to the Server!</b></gold>

# Gradient text
/hologram edit myHolo addLine <gradient:red:blue>Colorful Line</gradient>

# Rainbow text
/hologram edit myHolo addLine <rainbow>Rainbow Text!</rainbow>

# Hover tooltip (for players who see the hologram)
/hologram edit myHolo addLine <hover:show_text:'secret!'>Hover me!</hover>

# Clickable link
/hologram edit myHolo addLine <click:open_url:'https://example.com'>Visit us!</click>
TagEffect
<red>, <blue>, <gold>, etc.Named colors
<#ff0000>Hex color
<b>, <i>, <u>, <st>Bold, italic, underline, strikethrough
<gradient:color1:color2>Gradient across text
<rainbow>Cyclic rainbow colors
<reset>Resets all formatting

Legacy Color Codes

The old &-style codes still work too:

/hologram edit myHolo setLine 1 &6&lGold Bold Title
/hologram edit myHolo addLine &aGreen text &r normal text
CodeColorCodeColor
&0Black&8Dark Gray
&1Dark Blue&9Blue
&2Dark Green&aGreen
&3Dark Aqua&bAqua
&4Dark Red&cRed
&5Dark Purple&dPink
&6Gold&eYellow
&7Gray&fWhite
&l Bold&o Italic
&n Underline&r Reset

Empty Lines / Spacing

To add a blank line between text lines, use a single space as the text:

/hologram edit myHolo addLine  

FancyNPCs Integration

If you have the FancyNPCs plugin installed, holograms can be linked to NPCs. The hologram will float above the NPC, follow its position, and scale with the NPC's scale setting.

How to Link

Create a hologram at any position: /hologram create text myNpcHolo

Link it to your NPC: /hologram edit myNpcHolo linkWithNpc <npc-name>

The hologram moves to just above the NPC's head and follows it everywhere.

To detach: /hologram edit myNpcHolo unlinkWithNpc

NPC display name is cleared when you link a hologram. The hologram becomes the NPC's name tag. Unlink the hologram to restore normal name tag behavior.
Position/moveHere is blocked while a hologram is linked to an NPC — it would immediately snap back anyway. Unlink first, then reposition.

Player Examples

Example 1 — Spawn Welcome Sign

Admin Steve

Creates a welcome hologram at spawn.

/hologram create text spawn_welcome
/hologram edit spawn_welcome setLine 1 <gold><b>★ Welcome to CraftServer ★</b></gold>
/hologram edit spawn_welcome addLine <gray>Type /help to get started
/hologram edit spawn_welcome addLine <yellow>Have fun!
/hologram edit spawn_welcome scale 1.5

Example 2 — Shop Price Display

Admin Steve

Places a floating diamond above a chest shop with price info.

/hologram create item shop_diamond
/hologram edit shop_diamond item DIAMOND
/hologram edit shop_diamond scale 1.2

Example 3 — VIP-Only Hologram

Admin Steve

Creates a VIP lounge sign only VIP players can see.

/hologram create text vip_sign
/hologram edit vip_sign setLine 1 <light_purple><b>✦ VIP Lounge ✦</b></light_purple>
/hologram edit vip_sign visibility PERMISSION_REQUIRED
# Then in LuckPerms:
/lp group vip permission set OHolograms.viewhologram.vip_sign true

Example 4 — Floating Block Decoration

Admin Alex

Floats an emerald block above a trading post.

/hologram create block trade_block
/hologram edit trade_block block EMERALD_BLOCK
/hologram edit trade_block scale 0.5
/hologram edit trade_block rotate 45

Example 5 — Move a Hologram Precisely

Admin Alex

Moves an existing hologram to exact coordinates, then fine-tunes it.

# Move to exact world coordinates:
/hologram edit my_sign moveTo 100.5 65 200.5
# Move 1 block above where it is now (relative to hologram):
/hologram edit my_sign moveTo ~ ~1 ~
# Move to exactly where I'm standing (relative to player):
/hologram edit my_sign moveTo ~~ ~~ ~~

Example 6 — Import from DecentHolograms

Admin Steve

Migrating from another hologram plugin.

# Import all holograms from DecentHolograms:
/oholograms convert DecentHolograms *
# Import only holograms matching "shop_*":
/oholograms convert DecentHolograms shop_.*

FAQ

My hologram disappeared after a restart!

Make sure save_on_changed: true is set, or run /oholograms save after creating/editing holograms. Also check that the world the hologram was in loaded before holograms were initialized.

If you copied a hologram, verify it was saved — previous versions had a bug where the original was saved instead of the copy. This is now fixed.

Holograms don't show up when I join.

Holograms are only shown to players who are within the visibility distance. Make sure you are within visibility_distance blocks of the hologram. Also verify the hologram's visibility is not set to PERMISSION_REQUIRED without you having the permission.

On 1.21.4+, the plugin uses PlayerLoadedListener which waits for the client to finish loading before sending display entities. If you're using a non-Paper software, this may be skipped.

Can I use PlaceholderAPI (PAPI) in hologram text?

Yes — as long as the OHolograms module has a PAPI parser hook (which FancyHolograms supports). Set updateTextInterval to the number of seconds between refreshes so the placeholder values stay current. Example: /hologram edit myHolo updateTextInterval 5 refreshes every 5 seconds.

Can I have more than one hologram with the same name?

No. Hologram names are unique and case-insensitive (stored lowercase). The create and copy commands will refuse if a hologram with that name already exists.

Why does my hologram look tiny/huge?

Check the scale: /hologram info myHolo. If the scale is very small or large, reset it: /hologram edit myHolo scale 1.0. If the hologram is linked to an NPC, the NPC's scale is applied automatically.

Can I put a hologram inside a block?

Yes — use exact coordinates with /hologram edit <name> moveTo <x> <y> <z> to place it anywhere, including inside blocks. Enable seeThrough so players can see the text through the block: /hologram edit <name> seeThrough true.

The background behind the text is ugly/too dark. How do I remove it?

Run /hologram edit <name> background transparent to make it fully transparent (no background at all). Or use /hologram edit <name> background reset to restore the Minecraft default dark panel.

How do I make a hologram only one color with no background?

Set the background to transparent and use MiniMessage for the text color:

/hologram edit myHolo background transparent

/hologram edit myHolo setLine 1 <gold><b>My Text</b></gold>

Can I use /hologram from the console?

Some commands work from console: remove, list, and /oholograms subcommands. Commands that require a player location — create, copy, moveHere, nearby, teleport, moveTo — require a player and will show an error from console.

The hologram doesn't update after I edit it.

After any edit, the hologram is queued for update on the next server tick. It should refresh within 1 second for players in range. If it's still not updating, run /oholograms reload to force a full reload from disk.

Can I change the hologram update rate for text intervals?

Yes. Use /hologram edit <name> updateTextInterval <seconds>. This sets how often the text is re-evaluated and sent to players. Use -1 to disable auto-refresh (default). This is useful if your text contains PAPI placeholders that change over time.

I can't see the hologram even though I'm right next to it.

Check: (1) the hologram's visibility setting — run /hologram info <name>. (2) Your visibility distance — the default is 20 blocks. (3) Whether the hologram's world is the same world you're in. (4) On Bedrock (Floodgate), holograms may be disabled if fflag_disable_holograms_for_bedrock_players is enabled.