Lua_api.txt: Naming convention for custom item/entity fields
authorWuzzy <almikes@aol.com>
Sat, 12 Nov 2016 16:49:41 +0000 (17:49 +0100)
committerparamat <mat.gregory@virginmedia.com>
Tue, 15 Nov 2016 23:08:34 +0000 (23:08 +0000)
Custom (non-engine) field names of items and entities are allowed.
This is now documented in lua_api.txt. Field names beginning with
an underscore are now reserved for mod use, the engine must not
introduce any fields beginning with an underscore.

doc/lua_api.txt

index 7d552c98012366f336183860441af302a68e8862..2164bfc5ea9575c2239449732d27a12845554a0e 100644 (file)
@@ -3529,8 +3529,9 @@ Definition tables
     --  ^ Called sometimes; the string returned is passed to on_activate when
     --    the entity is re-activated from static state
 
-        -- Also you can define arbitrary member variables here
-        myvariable = whatever,
+        -- Also you can define arbitrary member variables here (see item definition for
+        -- more info)
+        _custom_field = whatever,
     }
 
 ### ABM (ActiveBlockModifier) definition (`register_abm`)
@@ -3646,6 +3647,12 @@ Definition tables
             end
         ^ The user may be any ObjectRef or nil.
         ]]
+        _custom_field = whatever,
+        --[[
+        ^ Add your own custom fields. By convention, all custom field names
+          should start with `_` to avoid naming collisions with future engine
+          usage.
+        ]]
     }
 
 ### Tile definition