Rename indestructible wool nodes (+ documentation and cleanups) (#367)
This commit is contained in:
parent
ab423cea90
commit
a3b41c154c
3 changed files with 779 additions and 759 deletions
|
@ -2,6 +2,10 @@
|
|||
|
||||
This mod handles creating and loading maps.
|
||||
|
||||
## Attributions
|
||||
|
||||
- Indestructible nodes adapted from various mods in `minetest_game`.
|
||||
|
||||
## Creating a new map
|
||||
|
||||
### 1. Dependencies
|
||||
|
@ -61,14 +65,17 @@ Each map's metadata is stored in an accompanying .conf file containing the follo
|
|||
* `hint`: [Optional] Helpful hint or tip for unique maps, to help players understand the map.
|
||||
* `rotation`: Rotation of the schem. [`x`|`z`]
|
||||
* `schematic`: Name of the map's schematic.
|
||||
* `initial_stuff`: [Optional] Comma-separated list of itemstacks to be given to the player on join and on respawn.
|
||||
* `treasures`: [Optional] List of treasures to be registered for the map, in a serialized format. Refer to the `treasures` sub-section for more details.
|
||||
* `initial_stuff`: [Optional] Comma-separated list of itemstacks to be given to the player
|
||||
on join and on respawn.
|
||||
* `treasures`: [Optional] List of treasures to be registered for the map, in a serialized
|
||||
format. Refer to the `treasures` sub-section for more details.
|
||||
* `r`: Radius of the map.
|
||||
* `h`: Height of the map.
|
||||
* `team.i`: Name of team `i`.
|
||||
* `team.i.color`: Color of team `i`.
|
||||
* `team.i.pos`: Position of team `i`'s flag, relative to center of schem.
|
||||
* `chests.i.from`, `chests.i.to`: [Optional] Positions of diagonal corners of custom chest zone `i`, relative to the center of the schem.
|
||||
* `chests.i.from`, `chests.i.to`: [Optional] Positions of diagonal corners of custom chest
|
||||
zone `i`, relative to the center of the schem.
|
||||
* `chests.i.n`: [Optional] Number of chests to place in custom chest zone `i`.
|
||||
|
||||
#### `treasures`
|
||||
|
@ -82,3 +89,15 @@ treasures = default:pick_steel,0.5,5,1,10;shooter:shotgun,0.04,2,1;shooter:grena
|
|||
```
|
||||
|
||||
(See [here](../../other/treasurer/README.md) to understand the magic numbers)
|
||||
|
||||
## Indestructible nodes
|
||||
|
||||
- `ctf_map` provides indestructible nodes for most nodes from default, and all nodes from
|
||||
stairs.
|
||||
|
||||
- All indestructible nodes have the same item name with the mod prefix being `ctf_map:`
|
||||
instead of their original prefixes (e.g. `default:stone` -> `ctf_map:stone` and
|
||||
`stairs:stair_stone` -> `ctf_map:stair_stone`) with the exception of wool, whose
|
||||
indestructible nodes have slightly different names from the original node names -
|
||||
`ctf_map:wool_<color>`. This is because the original nomenclature becomes meaningless
|
||||
if the modname prefix is changed.
|
||||
|
|
|
@ -1,16 +1,5 @@
|
|||
minetest.register_node("ctf_map:reinforced_cobble", {
|
||||
description = "Reinforced Cobblestone",
|
||||
tiles = {"ctf_map_reinforced_cobble.png"},
|
||||
is_ground_content = false,
|
||||
groups = {cracky = 1, stone = 2},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
|
||||
--
|
||||
-- Special nodes
|
||||
--
|
||||
|
||||
do
|
||||
minetest.register_node("ctf_map:ignore", {
|
||||
description = "Artificial Ignore", -- this may need to be given a more appropriate name
|
||||
drawtype = "airlike",
|
||||
|
@ -64,10 +53,31 @@ minetest.register_node("ctf_map:ind_stone_red", {
|
|||
is_ground_content = false
|
||||
})
|
||||
|
||||
--
|
||||
-- Indestructible nodes for building
|
||||
--
|
||||
minetest.register_node("ctf_map:killnode", {
|
||||
description = "Kill Node",
|
||||
drawtype = "glasslike",
|
||||
tiles = {"ctf_map_killnode.png"},
|
||||
paramtype = "light",
|
||||
sunlight_propogates = true,
|
||||
walkable = false,
|
||||
pointable = false,
|
||||
damage_per_second = 20,
|
||||
is_ground_content = false,
|
||||
groups = {immortal = 1},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("ctf_map:reinforced_cobble", {
|
||||
description = "Reinforced Cobblestone",
|
||||
tiles = {"ctf_map_reinforced_cobble.png"},
|
||||
is_ground_content = false,
|
||||
groups = {cracky = 1, stone = 2},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
end
|
||||
|
||||
-- Indestructible nodes from default
|
||||
do
|
||||
-- Stone
|
||||
|
||||
minetest.register_node("ctf_map:stone", {
|
||||
|
@ -111,6 +121,7 @@ minetest.register_node("ctf_map:mossycobble", {
|
|||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
|
||||
minetest.register_node("ctf_map:desert_stone", {
|
||||
description = "Indestructible Desert Stone",
|
||||
tiles = {"default_desert_stone.png"},
|
||||
|
@ -735,33 +746,21 @@ minetest.register_node("ctf_map:meselamp", {
|
|||
sounds = default.node_sound_glass_defaults(),
|
||||
light_source = default.LIGHT_MAX,
|
||||
})
|
||||
end
|
||||
|
||||
minetest.register_node("ctf_map:killnode", {
|
||||
description = "Kill Node",
|
||||
drawtype = "glasslike",
|
||||
tiles = {"ctf_map_killnode.png"},
|
||||
paramtype = "light",
|
||||
sunlight_propogates = true,
|
||||
walkable = false,
|
||||
pointable = false,
|
||||
damage_per_second = 20,
|
||||
is_ground_content = false,
|
||||
groups = {immortal = 1},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
})
|
||||
|
||||
-- Re-register all nodes from stairs and wool
|
||||
-- Register indestructible variants of nodes from stairs and wool
|
||||
do
|
||||
for name, nodedef in pairs(minetest.registered_nodes) do
|
||||
if name:find("stairs") then
|
||||
nodedef = table.copy(nodedef)
|
||||
nodedef.groups = {immortal = 1}
|
||||
minetest.register_node("ctf_map:" .. name:split(":")[2], nodedef)
|
||||
elseif name:find("wool") then
|
||||
local color = name:split(":")[2]
|
||||
nodedef = table.copy(nodedef)
|
||||
nodedef.groups = {immortal = 1}
|
||||
minetest.register_node("ctf_map:" .. name:split(":")[2], nodedef)
|
||||
minetest.register_node("ctf_map:wool_" .. color, nodedef)
|
||||
minetest.register_alias("ctf_map:" .. color, "ctf_map:wool_" .. color)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
minetest.register_alias("ctf_map:ind_cobble", "ctf_map:cobble")
|
||||
minetest.register_alias("ctf_map:ind_stone", "ctf_map:stone")
|
||||
|
|
|
@ -2,6 +2,8 @@ assert(minetest.get_mapgen_setting("mg_name") == "singlenode", "singlenode mapge
|
|||
|
||||
minetest.register_alias("mapgen_singlenode", "ctf_map:ignore")
|
||||
minetest.register_alias("ctf_map:flag", "air")
|
||||
minetest.register_alias("ctf_map:ind_cobble", "ctf_map:cobble")
|
||||
minetest.register_alias("ctf_map:ind_stone", "ctf_map:stone")
|
||||
|
||||
minetest.register_alias("flowers:mushroom_red", "air")
|
||||
minetest.register_alias("flowers:mushroom_brown", "air")
|
||||
|
|
Loading…
Reference in a new issue