Server configuration
plugins/HoloPanels/config.yml contains server-wide timing, safety limits and the style inherited by
panels. Board locations live in boards.yml; layout and content live in views/*.yml.
Run /holopanels validate after editing, then /holopanels reload to apply. Validation parses the
entire candidate without replacing the running configuration.
Refresh and distance defaults
visibility-check-tickspositive integerdefault10How often distance and visibility conditions are re-evaluated for viewers.
placeholder-refresh-tickspositive integerdefault20How often rendered lines containing PlaceholderAPI tokens are refreshed. Static text is not redrawn on this timer.
movement-thresholdpositive numberdefault0.5Blocks a player must move before position-dependent rendering is recalculated.
default-visibility-distancepositive numberdefault24.0Visibility radius used when a board does not set its own value.
default-click-distancepositive numberdefault6.0Maximum interaction distance used when a board does not override it.
Lower intervals feel more immediate but cause more frequent work. Start with the defaults and tune only after observing an actual stale-placeholder or movement problem.
Safety limits
limits:
panels-per-view: 12
lines-per-panel: 64
entries-per-provider: 500
actions-per-chain: 16
limits.panels-per-viewpositive integerdefault12Stops one view from creating an unbounded number of client-side displays.
limits.lines-per-panelpositive integerdefault64Load-time ceiling for statically knowable lines, buttons and list pages. A third-party content provider must still bound the number of lines it returns.
limits.entries-per-providerpositive integerdefault500Caps a list returned by a built-in or third-party provider before layout.
limits.actions-per-chainpositive integerdefault16Intended chain ceiling. HoloPanels 1.0.0 reads this setting but does not yet reject or truncate a longer chain, so keep authored chains at or below it.
Default style
style:
line-height: 0.25
click-offset-y: 0.0
interaction-width: 4.0
line-width: 200
background-color: "#0b1420"
background-opacity: 0.65
text-opacity: 255
alignment: left
billboard: fixed
text-shadow: false
see-through: false
style.line-heightpositive numberdefault0.25Vertical space allocated to each rendered line and its click geometry.
style.click-offset-ynumberdefault0.0Vertical correction for the click ray when interaction feels consistently above or below text.
style.interaction-widthpositive numberdefault4.0Default width of the clickable plane.
style.line-widthpositive integerdefault200Text display wrapping width in Minecraft display units.
style.background-color#RRGGBBdefault#0b1420RGB background colour.
style.background-opacity0–1default0.65Alpha applied to the background colour. Values outside the range fail validation.
style.text-opacity0–255default255Text alpha. Out-of-range values are clamped.
style.alignmentleft | center | rightdefaultleftHorizontal line alignment.
style.billboardfixed | vertical | horizontal | centerdefaultfixedHow the text display rotates toward the viewer.
style.text-shadowbooleandefaultfalseEnable the vanilla text shadow.
style.see-throughbooleandefaultfalseRender through blocks. Leave disabled for panels mounted on ordinary walls.
Any view or panel style may override these defaults. Keep the global style conservative, then place exceptions next to the content that needs them.
Apply one group at a time
Change refresh cadence, limits and style in separate reloads. Run /holopanels validate first and
keep the console visible during /holopanels reload; that makes a visual regression or load error
traceable to one group rather than a batch of unrelated edits.