WikilyWIKILY
All games8 Wikis · pick your game
Menu

Documentation

Do you need an extension?

Updated 2026-08-13

This section is about writing your own blocks. It starts with the case against, because most people asking how to write an extension want something they can have without writing one.

Try these first, in this order

The order to work down. Most requests that arrive as “we need an extension” stop at one of the first three, and those three need no code shipped to the platform.
1. A block that existsThe palette is larger than it looks. A stat table, a catalog grid and a styled box do more than people expect. Working with blocks
2. Data, not structureThe same block six times with different values is a data problem. Tables and rows plus conditions.
3. LuaAny calculation: a damage formula, a crafting cost, a time-to-kill. Writing Lua scripts and Lua with datasets.
4. Custom CSSThe block does the right thing and looks wrong. Custom CSS

Where the line actually is

Lua computes; it does not draw. An extension is for a genuinely new kind of rendered thing, where the shape on screen is the point.

It is LuaYou can describe it as “this number, worked out from that table”.Editable in the browser, no code shipped.
It may be an extensionYou can only describe it by drawing it: a map, a skill tree, a timeline.When no arrangement of existing blocks gets there.

What an extension costs

It is real code that ships with the platform. It is reviewed, versioned, has to keep working when the platform moves, and cannot be edited from the browser at two in the morning when something is wrong. A Lua script is a page you open and change.

The platform direction is Lua first. An extension you write today is one you own today; a Lua script is one anybody with the wiki can fix tomorrow.

None of that means never. When you have reached the end of the list above and still need a new kind of block, that is the case an extension is for, and the next guide is how one is built.