2017-02-21 20:53:43 +01:00
# 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` .
2017-02-22 04:09:21 +01:00
## ` mcl_fences.register_fence = function(id, fence_name, texture, groups, connects_to, sounds)`
2017-02-21 20:53:43 +01:00
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 to
2017-02-27 22:13:28 +01:00
* `hardness` : Hardness (if unsure, pick the hardness of the material node)
* `blast_resistance` : Blast resistance (if unsure, pick the blast resistance of the material node)
2017-02-21 20:53:43 +01:00
* `connects_to` : Table of nodes (itemstrings) to which the fence will connect to. Use `group:<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` ).
2017-02-23 15:41:46 +01:00
## `mcl_fences.register_fence_gate = function(id, fence_gate_name, texture, groups, sounds, sound_open, sound_close, sound_gain_open, sound_gain_close)`
2017-02-21 20:53:43 +01:00
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 to
2017-02-27 22:13:28 +01:00
* `hardness` : Hardness (if unsure, pick the hardness of the material node)
* `blast_resistance` : Blast resistance (if unsure, pick the blast resistance of the material node)
2017-02-21 20:53:43 +01:00
* `sounds` : Node sound table for the fence gate
2017-02-22 03:57:12 +01:00
* `sound_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)
2017-02-23 15:41:46 +01:00
* `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)
2017-02-21 20:53:43 +01:00
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:
1. Itemstring of the closed fence gate
2. Itemstring of the open fence gate
2017-02-23 15:41:46 +01:00
## `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)`
2017-02-21 20:53:43 +01:00
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 fence
* `fence_gate_name` : User-visible name (`description`) of the fence gate
* `texture` : Texture to apply on the fence and fence gate (all sides)
* `groups` : Table of groups to which the fence and fence gate belong to
2017-02-27 22:13:28 +01:00
* `hardness` : Hardness (if unsure, pick the hardness of the material node)
* `blast_resistance` : Blast resistance (if unsure, pick the blast resistance of the material node)
2017-02-23 15:13:10 +01:00
* `connects_to` : Table of nodes (itemstrings) to which the fence will connect to. Use `group:<groupname>` for all members of the group `<groupname>`
2017-02-21 20:53:43 +01:00
* `sounds` : Node sound table for the fence and the fence gate
2017-02-22 03:57:12 +01:00
* `sound_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)
2017-02-23 15:41:46 +01:00
* `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)
2017-02-21 20:53:43 +01:00
### Return value
This function returns 3 values, in this order:
1. Itemstring of the fence
2. Itemstring of the closed fence gate
3. Itemstring of the open fence gate