Required Dependency: Hologram Plugin
This feature can be activated by installing any of the following hologram plugins:
|Plugin||Required Version||Additional Dependencies|
|DecentHolograms||2.7.5 or above||PlaceholderAPI for in-line variables.|
|Holographic Displays||3.0.0 or above||ProtocolLib for conditioned holograms.|
If you have both plugins installed, you can use the
default_hologram option in "config.yml" to set which plugin should be used.
When used by external plugins like BetonQuest, DecentHolograms does not support custom model data in items lines!
You need to use their syntax for item holograms with custom model data instead of the BetonQuest syntax.
Last checked: DecentHolograms version 2.7.9 on 2023-01-03.
Installing either of these plugins will enable you to create hidden holograms, which will be shown to players only if they meet specified conditions.
In order to create a hologram, you have to add a
holograms section. Add a node named as your hologram to this section
location subnodes. The first one should be a list of texts - these will be the lines
of a hologram. Color codes are supported. Second is a list of conditions separated by commas. Third is a location in a standard
format, like in
teleport event. An example of such hologram definition:
holograms: beton: lines: - 'item:custom_item' - '&2Top questers this month' - 'top:completed_quests;desc;10;&a;§6;2;&6' - '&2Your amount: &6%point.completed_quests.amount%' - '&Total amount: &6%azerothquests.globalpoint.total_completed_quests.amount%' conditions: has_some_quest, !finished_some_quest location: 100;200;300;world # How often to check conditions (optional) check_interval: 20
A line can also represent a floating item. To do so enter the line as 'item:
custom_item'. It will be replaced with the
custom_item defined in the
items section. If the Item is defined for example as map, a floating map will be seen between two lines of text.
Holograms created by BetonQuest can rank users by the score of a point. Such scoreboards (not to be confused with the
Minecraft vanilla scoreboard) are configured as one line and replaced by multiple lines according to the limit definition.
Each scoreboard line comes in the format
#. name - score The short syntax is 'top:
limit'. The specified
point must be located inside the package the hologram is declared in. To use a point from another package, put
order is either 'desc' for descending or 'asc' for ascending. If something other is specified, descending will
be used by default. The limit should be a positive number. In the short declaration, the whole line will be white. To color
each of the four elements of a line (place, name, dash and score), the definition syntax can be extended to
c4'. The color codes can be prefixed with either
&, but do not have
to be. If for example
c2 is left blank (two following semicolons), it is treated as an 'f' (color code for white).
Each BetonQuest variable can be displayed on a hologram in a text line. These variables use the same definition syntax as
in conversations such that; '
%package.variable%'. Where the
package part is optional if the hologram is defined in the
same package as the variable. If you wish to refer to a variable that is not in the same package as the hologram, then you
must specify a package before the
The HolographicDisplays documentations warns against using too many individual hologram variables since they are rendered for each player individually. If you are using HolographicDisplays, to save resources, it is recommended to minimise the use of non-static variables.
The hologram's conditions are checked every 10 seconds, meaning a hologram will respond to a condition being met or un-met
every 10 seconds. If you want to make it faster, add
hologram_update_interval option in config.yml file and set it to a
number of ticks you want to pass between updates (one second is 20 ticks). Don't set it to 0 or negative numbers, it will result in an error.
Keep in mind that each hologram plugin also updates its holograms on a timer individually, meaning that hologram variables will refresh at a much quicker rate than the above.