From 4d8dec3b79c38d5d9420b993e4f53227f76fc1ce Mon Sep 17 00:00:00 2001 From: Pierre-Yves Rollo Date: Tue, 4 Dec 2018 17:59:52 +0100 Subject: [PATCH] Updated API with new group --- display_api/API.md | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/display_api/API.md b/display_api/API.md index 0d52e29..b214585 100644 --- a/display_api/API.md +++ b/display_api/API.md @@ -11,7 +11,7 @@ This method triggers entities update for the display node at pos. Actual entity ### register\_display\_entity **display\_lib.register\_display\_entity(entity_name)** -This is a helper to register entities used for display. +This is a helper to register entities used for display. `entity_name`: Name of the entity to register. ## Provided callback implementations @@ -26,7 +26,7 @@ This is a helper to register entities used for display. ### on_destruct **display\_lib.on_destruct(pos)** -`on_destruct` node callback implementation. Display nodes should have this callback (removes display entities on node destruction). +`on_destruct` node callback implementation. Display nodes should have this callback (removes display entities on node destruction). ### on_rotate **display\_lib.on\_rotate(pos, node, user, mode, new_param2)** @@ -34,22 +34,20 @@ This is a helper to register entities used for display. ### on_activate **display\_lib.on_activate(entity, staticdata)** -`On_activate` entity callback implementation for display entities. No need of this method if display entities have been registered using `register_display_entity` (callback is already set). +`On_activate` entity callback implementation for display entities. No need of this method if display entities have been registered using `register_display_entity` (callback is already set). ## Howto register a display node * Register display entities with `register_display_entity` * Register node with : - `on_place`, `on_construct`, `on_destruct` and `on_rotate` callbacks using display_api callbacks. -  - - `display_modpack_node` group. This will make this node have their entities updated as soon as the mapblock is loaded (Useful after /clearobjects). -  + - `display_api` group. This will make this node have their entities updated as soon as the mapblock is loaded (Useful after /clearobjects). - a `display_entities` field in node definition containing a entity name indexed table. See below for description of each display_entities fields. ### Display_entities fields `on_display_update` is a callback in charge of setting up entity texture. If not set, entity will have no texture and will be displayed as unknown item. -`depth`, `right` and `height` : Entity position regarding to node facedir/wallmounted main axis. +`depth`, `right` and `height`: Entity position regarding to node facedir/wallmounted main axis. Values for these fields can be any number between -1.5 and 1.5 (default value is 0). Position 0,0,0 is the center of the node. `depth` goes from front (-0.5) to rear (0.5), `height` goes from bottom (-0.5) to top (0.5) and `right` goes from left (-0.5) to right (0.5). @@ -61,12 +59,12 @@ In order to avoid flickering text, it's better to have text a little behind node display_api.register_display_entity("mymod:entity1") display_api.register_display_entity("mymod:entity2") - function my_display_update1(pos, objref) + function my_display_update1(pos, objref) objref:set_properties({ textures= {"mytexture1.png"}, visual_size = {x=1, y=1} }) end - function my_display_update2(pos, objref) + function my_display_update2(pos, objref) objref:set_properties({ textures= {"mytexture2.png"},                         visual_size = {x=1, y=1} }) end @@ -75,13 +73,13 @@ In order to avoid flickering text, it's better to have text a little behind node ... paramtype2 = "facedir", ... - groups = { display_modpack_node = 1, ... }, + groups = { display_api = 1, ... }, ... display_entities = { - ["mymod:entity1"] = { + ["mymod:entity1"] = { depth = 0.3, on_display_update = my_display_update1 }, - ["mymod:entity1"] = { + ["mymod:entity1"] = { depth = 0.2, height = 0.1, on_display_update = my_display_update2 }, },