4.2 KiB
API for adding MineClone 2 fences
This API allows you to add fences and fence gates.
The recommended function is mcl_fences.register_fence_and_fence_gate
.
mcl_fences.register_fence = function(id, fence_name, texture, groups, connects_to, sounds)
Adds a fence without crafting recipe. A single node is created.
Parameter
id
: A part of the itemstring of the node to create. The node name will be “<modname>:<id>
”fence_name
: User-visible name (description
)texture
: Texture to apply on the fence (all sides)groups
: Table of groups to which the fence belongs tohardness
: Hardness (if unsure, pick the hardness of the material node)blast_resistance
: Blast resistance (if unsure, pick the blast resistance of the material node)connects_to
: Table of nodes (itemstrings) to which the fence will connect to. Usegroup:<groupname>
for all members of the group<groupname>
sounds
: Node sound table for the fence
Return value
The full itemstring of the new fence node.
Notes: Fences will always have the group fence=1
. They will always connect to solid nodes (group solid=1
).
mcl_fences.register_fence_gate = function(id, fence_gate_name, texture, groups, sounds, sound_open, sound_close, sound_gain_open, sound_gain_close)
Adds a fence gate without crafting recipe. This will create 2 nodes.
Parameters
id
: A part of the itemstring of the nodes to create. The node names will be “<modname>:<id>_gate
” and “<modname>:<id>_gate_open
”fence_gate_name
: User-visible name (description
)texture
: Texture to apply on the fence gate (all sides)groups
: Table of groups to which the fence gate belongs tohardness
: Hardness (if unsure, pick the hardness of the material node)blast_resistance
: Blast resistance (if unsure, pick the blast resistance of the material node)sounds
: Node sound table for the fence gatesound_open
: Sound to play when opening fence gate (optional, default is wooden sound)sound_close
: Sound to play when closing fence gate (optional, default is wooden sound)sound_gain_open
: Gain (0.0-1.0) of the opening fence gate sound (optional, default is 0.3)sound_gain_close
: Gain (0.0-1.0) of the closing fence gate sound (optional, default is 0.3)
Notes: Fence gates will always have the group fence_gate=1
. The open fence gate will always have the group not_in_creative_inventory=1
.
Return value
This function returns 2 values, in the following order:
- Itemstring of the closed fence gate
- Itemstring of the open fence gate
mcl_fences.register_fence_and_fence_gate = function(id, fence_name, fence_gate_name, texture, groups, connects_to, sounds, sound_open, sound_close, sound_gain_open, sound_gain_close)
Registers a fence and fence gate. This is basically a combination of the two functions above. This is the recommended way to add a fence / fence gate pair. This will register 3 nodes in total without crafting recipes.
id
: A part of the itemstring of the nodes to create.fence_name
: User-visible name (description
) of the fencefence_gate_name
: User-visible name (description
) of the fence gatetexture
: Texture to apply on the fence and fence gate (all sides)groups
: Table of groups to which the fence and fence gate belong tohardness
: Hardness (if unsure, pick the hardness of the material node)blast_resistance
: Blast resistance (if unsure, pick the blast resistance of the material node)connects_to
: Table of nodes (itemstrings) to which the fence will connect to. Usegroup:<groupname>
for all members of the group<groupname>
sounds
: Node sound table for the fence and the fence gatesound_open
: Sound to play when opening fence gate (optional, default is wooden sound)sound_close
: Sound to play when closing fence gate (optional, default is wooden sound)sound_gain_open
: Gain (0.0-1.0) of the opening fence gate sound (optional, default is 0.3)sound_gain_close
: Gain (0.0-1.0) of the closing fence gate sound (optional, default is 0.3)
Return value
This function returns 3 values, in this order:
- Itemstring of the fence
- Itemstring of the closed fence gate
- Itemstring of the open fence gate