Skip to content

CustomRender

Refaltor77 edited this page Mar 29, 2026 · 1 revision

CustomRender

Element that uses Bedrock's native C++ renderers for special visuals.

Creation

use refaltor\ui\elements\CustomRender;

$render = CustomRender::create("my_render", CustomRender::RENDERER_PAPER_DOLL);

Available Renderers

Constant Renderer Description
RENDERER_PAPER_DOLL paper_doll_renderer 3D player model
RENDERER_LIVE_PLAYER live_player_renderer Live player view
RENDERER_LIVE_HORSE live_horse_renderer Live horse view
RENDERER_INVENTORY_ITEM inventory_item_renderer Item display
RENDERER_HOTBAR_ITEM hotbar_item_renderer Hotbar item
RENDERER_HUD_PLAYER hud_player_renderer HUD player
RENDERER_ENCHANTING_BOOK enchanting_book_renderer Enchanting book
RENDERER_3D_STRUCTURE 3d_structure_renderer Structure preview
RENDERER_PROGRESS_BAR progress_bar_renderer Progress bar
RENDERER_ACTOR_PORTRAIT actor_portrait_renderer Entity portrait
RENDERER_BANNER banner_renderer Banner preview
RENDERER_PANORAMA panorama_renderer Panorama background
RENDERER_GRADIENT gradient_renderer Color gradient
RENDERER_NAME_TAG name_tag_renderer Name tag
RENDERER_FLYING_ITEM flying_item_renderer Flying item animation
RENDERER_HOVER_TEXT hover_text_renderer Tooltip text
RENDERER_CREDITS credits_renderer Credits scroll
RENDERER_VIGNETTE vignette_renderer Screen edge darkening
RENDERER_SPLASH_TEXT splash_text_renderer Title screen splash
RENDERER_TRIAL trial_renderer Trial mode

Properties

$render->setRenderer(CustomRender::RENDERER_PAPER_DOLL); // Change renderer
$render->addProperty("#key", "value");                     // Add property
$render->setPropertyBag(["#key" => "value"]);             // Set all properties
$render->setColor([1.0, 1.0, 1.0, 1.0]);                 // RGBA color
$render->setPrimaryColor("white");                         // Primary color
$render->setEnableProfanityFilter(true);                  // Filter text
$render->setLocked(true);                                  // Lock renderer

Examples

Paper Doll (3D Player)

$doll = CustomRender::create("player_model", CustomRender::RENDERER_PAPER_DOLL)
    ->addProperty("#entity_type", "player")
    ->addProperty("#camera_rotation", [20.0, -20.0])
    ->setSize(100, 140);

Inventory Item

$item = CustomRender::create("item_view", CustomRender::RENDERER_INVENTORY_ITEM)
    ->addProperty("#item_id_aux", 1)
    ->setSize(48, 48);

Gradient Background

$gradient = CustomRender::create("bg_gradient", CustomRender::RENDERER_GRADIENT)
    ->addProperty("#gradient_color_1", [0.0, 0.0, 0.0, 0.8])
    ->addProperty("#gradient_color_2", [0.0, 0.0, 0.2, 0.4])
    ->addProperty("#gradient_direction", "vertical")
    ->setSizePercentage(100, 100);

Vignette Effect

$vignette = CustomRender::create("vignette", CustomRender::RENDERER_VIGNETTE)
    ->setColor([0.0, 0.0, 0.0, 0.5])
    ->setSizePercentage(100, 100)
    ->setLayer(10);

See Also

Clone this wiki locally