2017-03-01 23:33:12 -07:00
|
|
|
castle_gates.doc = {}
|
|
|
|
|
|
|
|
if not minetest.get_modpath("doc") then
|
|
|
|
return
|
|
|
|
end
|
|
|
|
|
2022-04-06 20:00:47 +02:00
|
|
|
local S = minetest.get_translator("castle_gates")
|
2017-03-01 23:33:12 -07:00
|
|
|
|
|
|
|
castle_gates.doc.portcullis_bars_longdesc = S("Heavy wooden bars designed to prevent entry even to siege equipment.")
|
2022-05-07 17:47:07 -07:00
|
|
|
castle_gates.doc.portcullis_bars_usagehelp = S(
|
|
|
|
"Place these bars in a structure together and they will slide as a unified gate when clicked on."
|
|
|
|
)
|
2017-03-01 23:33:12 -07:00
|
|
|
|
2022-05-07 17:47:07 -07:00
|
|
|
castle_gates.doc.portcullis_bars_bottom_longdesc = S(
|
|
|
|
"The bottom edge of a portcullis gate, with knobs to lock securely into the floor."
|
|
|
|
)
|
|
|
|
castle_gates.doc.portcullis_bars_bottom_usagehelp = S(
|
|
|
|
"This block can be used to define the edge of a portcullius that meets up with another gate, should you have " ..
|
|
|
|
"an arrangement like that. Otherwise it's just decorative."
|
|
|
|
)
|
2017-03-01 23:33:12 -07:00
|
|
|
|
|
|
|
castle_gates.doc.gate_panel_longdesc = S("A basic gate panel.")
|
2022-05-07 17:47:07 -07:00
|
|
|
castle_gates.doc.gate_panel_usagehelp = S(
|
|
|
|
"This gate segment will move in unison with adjoining gate segments when right-clicked."
|
|
|
|
)
|
2017-03-01 23:33:12 -07:00
|
|
|
|
|
|
|
castle_gates.doc.gate_edge_longdesc = S("A gate panel with a defined edge.")
|
2022-05-07 17:47:07 -07:00
|
|
|
castle_gates.doc.gate_edge_usagehelp = S(
|
|
|
|
"The darkened edge of this panel marks the edge of the gate it's a part of. " ..
|
|
|
|
"You can use these when building double doors to ensure the two parts swing separately, " ..
|
|
|
|
"for example. Note that edges aren't strictly necessary for gates that stand alone."
|
|
|
|
)
|
2017-03-01 23:33:12 -07:00
|
|
|
|
|
|
|
castle_gates.doc.gate_edge_handle_longdesc = S("A gate edge with a handle.")
|
2022-05-07 17:47:07 -07:00
|
|
|
castle_gates.doc.gate_edge_handle_usagehelp = S(
|
|
|
|
"The handle is basically decorative, a door this size can be swung by clicking anywhere on it. " ..
|
|
|
|
"But the darkened edge of this panel is useful for defining the edge of a gate when it abuts a partner to the side."
|
|
|
|
)
|
2017-03-01 23:33:12 -07:00
|
|
|
|
|
|
|
castle_gates.doc.gate_hinge_longdesc = S("A hinged gate segment that allows a gate to swing.")
|
2022-05-07 17:47:07 -07:00
|
|
|
castle_gates.doc.gate_hinge_usagehelp = S(
|
|
|
|
"If you have more than one hinge in your gate, make sure the hinges line up correctly otherwise the gate will " ..
|
|
|
|
"not be able to swing. The hinge is the protruding block along the edge of the gate panel."
|
|
|
|
)
|
2017-03-01 23:33:12 -07:00
|
|
|
|
|
|
|
castle_gates.doc.gate_slot_longdesc = S("A block with a slot to allow an adjacent sliding gate through.")
|
2022-05-07 17:47:07 -07:00
|
|
|
castle_gates.doc.gate_slot_usagehelp = S(
|
|
|
|
"This block is designed to extend into a neighboring node that a sliding gate passes through, to provide a " ..
|
|
|
|
"tight seal for the gate to move through without allowing anything else to squeeze in."
|
|
|
|
)
|
2017-03-01 23:33:12 -07:00
|
|
|
|
2022-05-07 17:47:07 -07:00
|
|
|
castle_gates.doc.gate_slot_reverse_longdesc = S(
|
|
|
|
"A block that extends into an adjacent node to provide a tight seal for a large gate."
|
|
|
|
)
|
|
|
|
castle_gates.doc.gate_slot_reverse_usagehelp = S(
|
|
|
|
"Two nodes cannot occupy the same space, but this block extends into a neighboring node's space to allow " ..
|
|
|
|
"for gates to form a tight seal. It can be used with sliding gates or swinging gates."
|
|
|
|
)
|
2017-03-01 23:33:12 -07:00
|
|
|
|
|
|
|
doc.add_category("castle_gates",
|
|
|
|
{
|
|
|
|
name = S("Gates"),
|
2022-05-07 17:47:07 -07:00
|
|
|
description = S(
|
|
|
|
"Gates are large multi-node constructions that swing on hinges or slide out of the way when triggered."
|
|
|
|
),
|
2017-03-01 23:33:12 -07:00
|
|
|
build_formspec = doc.entry_builders.text_and_gallery,
|
|
|
|
})
|
|
|
|
|
|
|
|
doc.add_entry("castle_gates", "construction", {
|
|
|
|
name = S("Gate construction"),
|
2022-05-07 17:47:07 -07:00
|
|
|
data = {text = S(
|
|
|
|
"Gates are multi-node constructions, usually (though not always) consisting of multiple node types that fit " ..
|
|
|
|
"together into a unified whole. The orientation of gate nodes is significant, so a screwdriver will be a " ..
|
|
|
|
"helpful tool when constructing gates.\n\n" ..
|
|
|
|
"A gate's extent is determined by a \"flood fill\" operation. When you trigger a gate block, all compatible " ..
|
|
|
|
"neighboring blocks will be considered part of the same structure and will move in unison. Only gate blocks " ..
|
|
|
|
"that are aligned with each other will be considered part of the same gate. If you wish to build adjoining " ..
|
|
|
|
"gates (for example, a large pair of double doors that meet in the center) you'll need to make use of gate " ..
|
|
|
|
"edge blocks to prevent it all from being considered one big door. Note that if your gate does not abut any" ..
|
|
|
|
" other gates you don't actually need to define its edges this way - you don't have to use edge blocks in " ..
|
|
|
|
"this case.\n\n" ..
|
|
|
|
"If a gate has no hinge nodes it will be considered a sliding gate. When triggered, the gate code will " ..
|
|
|
|
"search for a direction that the gate can slide in and will move it in that direction at a rate of one " ..
|
|
|
|
"block-length per second. Once it reaches an obstruction it will stop, and when triggered again it will " ..
|
|
|
|
"try sliding in the opposite direction.\n\n" ..
|
|
|
|
"If a gate has hinge nodes then triggering it will cause the gate to try swinging around the hinge. " ..
|
|
|
|
"If the gate has multiple hinges and they don't line up properly the gate will be unable to move. " ..
|
|
|
|
"Note that the gate can only exist in 90-degree increments of orientation, but the gate still looks for " ..
|
|
|
|
"obstructions in the region it is swinging through and will not swing if there's something in the way."
|
|
|
|
)}
|
|
|
|
})
|