forked from mff/maptools
Merge branch 'master' of yunohost:nalc/maptools into merge-master
This commit is contained in:
commit
4a4dfb77c4
14
CHANGELOG.md
Normal file
14
CHANGELOG.md
Normal file
@ -0,0 +1,14 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
|
||||
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## 1.0.0 - 2017-02-19
|
||||
|
||||
- Initial versioned release.
|
||||
|
||||
[Unreleased]: https://github.com/minetest-mods/maptools/compare/v1.0.0...HEAD
|
10
CONTRIBUTING.md
Normal file
10
CONTRIBUTING.md
Normal file
@ -0,0 +1,10 @@
|
||||
# Contributing to Map Tools
|
||||
|
||||
Thank you for your interest in Map Tools! Before contributing,
|
||||
be sure to know about these few guidelines:
|
||||
|
||||
- Contributions have to be licensed under the zlib license (or compatible)
|
||||
for code, and CC BY-SA 3.0 (or compatible) for assets.
|
||||
- Make sure to update the changelog, keeping the
|
||||
[changelog format](http://keepachangelog.com/en/1.0.0/) we use.
|
||||
- Don't bump the version yourself. Maintainers will do this when necessary.
|
61
NODES.md
61
NODES.md
@ -1,45 +1,26 @@
|
||||
Item names for spawning the items using /give or /giveme
|
||||
========================================================
|
||||
# Item names for spawning the items using /give or /giveme
|
||||
|
||||
Items
|
||||
-----
|
||||
## Items
|
||||
|
||||
* `admin_pick:` magenta pickaxe, infinite durability, mines everything including unbreakable blocks instantly. No drops. Don't put this pickaxe in the hands of a griefer, of course.
|
||||
- `admin_pick`: magenta pickaxe, infinite durability, mines everything including unbreakable blocks instantly. No drops. Don't put this pickaxe in the hands of a griefer, of course.
|
||||
- `admin_pick_with_drops`: same as admin pickaxe, but drops stuff.
|
||||
- `infinite_fuel`: fuel lasting for a (near)-infinite time. Don't worry about the "near" * it lasts for about 50 in-real-life years.
|
||||
- `super_apple`: a yellow apple which heals 20 HP.
|
||||
- `copper_coin`,
|
||||
- `silver_coin`,
|
||||
- `gold_coin`: these have nothing to do with the More Ores mod; they can be used as a currency for trading, or as an universal currency for mods that add shops.
|
||||
|
||||
* `admin_pick_with_drops:` same as admin pickaxe, but drops stuff.
|
||||
|
||||
* `infinite_fuel:` fuel lasting for a (near)-infinite time. Don't worry about the "near" * it lasts for about 50 in-real-life years.
|
||||
|
||||
* `super_apple:` a yellow apple which heals 20 HP.
|
||||
|
||||
* `copper_coin,`
|
||||
* `silver_coin,`
|
||||
* `gold_coin:` these have nothing to do with the More Ores mod; they can be used as a currency for trading, or as an universal currency for mods that add shops.
|
||||
|
||||
Blocks
|
||||
------
|
||||
## Blocks
|
||||
|
||||
**[!]** denotes an unpointable, unbreakable block; be very careful with them, they cannot be removed by hand (they can only be removed with WorldEdit or similar).
|
||||
|
||||
|
||||
* `(block)_u` : unbreakable, non-flammable, non-falling, non-decaying blocks, most common blocks have their unbreakable form (examples: maptools:stone or maptools:wood for unbreakable stone/wood). Examples: `stone_u`, `wood_u`, `glass_u`, …
|
||||
|
||||
* `full_grass:` unbreakable block with the grass texture on all sides.
|
||||
|
||||
* `player_clip:` **[!]** invisible block, not pointable.
|
||||
|
||||
* `full_clip:` invisible block, pointable. Also available as a thin face: full_clip_face.
|
||||
|
||||
* `smoke_block:` some smoke (does not harm players or entities).
|
||||
|
||||
* `no_build:` **[!]** very basic building prevention.
|
||||
|
||||
* `no_interact:` prevents interacting through the block (opening chests, furnaces, attacking entities, …).
|
||||
|
||||
* `damage_(1…5):` **[!]** damaging blocks. The damage is in half hearts and ranges from 1 to 5 (0.5 to 2.5 hearts damage every second).
|
||||
|
||||
* `kill:` **[!]** instant kill (deals 10 heart damage) blocks.
|
||||
|
||||
* `light_block:` **[!]** invisible non-solid block, prevents light from passing through.
|
||||
|
||||
* `light_bulb:` **[!]** invisible non-solid block, emitting a good amount of light.
|
||||
- `(block)_u` : unbreakable, non-flammable, non-falling, non-decaying blocks, most common blocks have their unbreakable form (examples: maptools:stone or maptools:wood for unbreakable stone/wood). Examples: `stone_u`, `wood_u`, `glass_u`, …
|
||||
- `full_grass`: unbreakable block with the grass texture on all sides.
|
||||
- `player_clip`: **[!]** invisible block, not pointable.
|
||||
- `full_clip`: invisible block, pointable. Also available as a thin face: full_clip_face.
|
||||
- `smoke_block`: some smoke (does not harm players or entities).
|
||||
- `no_build`: **[!]** very basic building prevention.
|
||||
- `no_interact`: prevents interacting through the block (opening chests, furnaces, attacking entities, …).
|
||||
- `damage_(1…5)`: **[!]** damaging blocks. The damage is in half hearts and ranges from 1 to 5 (0.5 to 2.5 hearts damage every second).
|
||||
- `kill`: **[!]** instant kill (deals 10 heart damage) blocks.
|
||||
- `light_block`: **[!]** invisible non-solid block, prevents light from passing through.
|
||||
- `light_bulb`: **[!]** invisible non-solid block, emitting a good amount of light.
|
||||
|
74
README.md
74
README.md
@ -1,11 +1,73 @@
|
||||
Map Tools
|
||||
=========
|
||||
# Map Tools
|
||||
|
||||
Map Tools for Minetest <http://minetest.net>, a free/libre infinite
|
||||
Map Tools for [Minetest](https://www.minetest.net/), a free and open source infinite
|
||||
world block sandbox game.
|
||||
|
||||
To install, just clone this repository into your "mods" directory.
|
||||
[**Forum topic**](https://forum.minetest.net/viewtopic.php?f=11&t=1882)
|
||||
|
||||
Map Tools code is licensed under the zlib license, textures are by Calinou and are licensed under CC BY-SA 3.0 Unported.
|
||||
## Installation
|
||||
|
||||
**Forum topic:** <https://forum.minetest.net/viewtopic.php?f=11&t=1882>
|
||||
### Download the mod
|
||||
|
||||
To install Map Tools, clone this Git repository into your Minetest's `mods/`
|
||||
directory:
|
||||
|
||||
```
|
||||
git clone https://github.com/minetest-mods/maptools.git
|
||||
```
|
||||
|
||||
You can also
|
||||
[download a ZIP archive](https://github.com/minetest-mods/maptools/archive/master.zip)
|
||||
of Map Tools. If you do so, you will need to extract the archive, then rename
|
||||
the resulting folder from `maptools-master` to `maptools` – this is
|
||||
**absolutely** necessary to do, else, it won't work!
|
||||
|
||||
### Enable the mod
|
||||
|
||||
Once you have installed Map Tools, you need to enable it in Minetest.
|
||||
The procedure is as follows:
|
||||
|
||||
#### Using the client's main menu
|
||||
|
||||
This is the easiest way to enable Map Tools when playing in singleplayer
|
||||
(or on a server hosted from a client).
|
||||
|
||||
1. Start Minetest and switch to the **Local Game** tab.
|
||||
2. Select the world you want to enable Map Tools in.
|
||||
3. Click **Configure**, then enable `maptools` by double-clicking it
|
||||
(or ticking the **Enabled** checkbox).
|
||||
4. Save the changes, then start a game on the world you enabled Map Tools on.
|
||||
5. Map Tools should now be running on your world.
|
||||
|
||||
#### Using a text editor
|
||||
|
||||
This is the recommended way to enable the mod on a server without using a GUI.
|
||||
|
||||
1. Make sure Minetest is not currently running (else, it will overwrite
|
||||
the changes when exiting).
|
||||
2. Open the world's `world.mt` file using a text editor.
|
||||
3. Add the following line at the end of the file:
|
||||
|
||||
```
|
||||
load_mod_maptools = true
|
||||
```
|
||||
|
||||
If the line is already present in the file, then replace `false` with `true` on that line.
|
||||
|
||||
4. Save the file, then start a game on the world you enabled Map Tools on.
|
||||
5. Map Tools should now be running on your world.
|
||||
|
||||
## Version compatibility
|
||||
|
||||
Map Tools is currently primarily tested with Minetest 0.4.16.
|
||||
It may or may not work with newer or older versions. Issues arising in older
|
||||
versions than 0.4.16 will generally not be fixed.
|
||||
|
||||
## License
|
||||
|
||||
Copyright © 2012-2017 Hugo Locurcio and contributors
|
||||
|
||||
- Map Tools code is licensed under the zlib license, see
|
||||
[`LICENSE.md`](LICENSE.md) for details.
|
||||
- Unless otherwise specified, Map Tools textures are licensed under
|
||||
[CC BY-SA 3.0 Unported](https://creativecommons.org/licenses/by-sa/3.0/).
|
||||
|
@ -17,6 +17,7 @@ minetest.register_node("maptools:stone", {
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:stonebrick", {
|
||||
@ -27,6 +28,7 @@ minetest.register_node("maptools:stonebrick", {
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:tree", {
|
||||
@ -37,7 +39,8 @@ minetest.register_node("maptools:tree", {
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
on_place = minetest.rotate_node
|
||||
on_place = minetest.rotate_node,
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:jungletree", {
|
||||
@ -48,7 +51,8 @@ minetest.register_node("maptools:jungletree", {
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
on_place = minetest.rotate_node
|
||||
on_place = minetest.rotate_node,
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:cactus", {
|
||||
@ -59,7 +63,8 @@ minetest.register_node("maptools:cactus", {
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
on_place = minetest.rotate_node
|
||||
on_place = minetest.rotate_node,
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:papyrus", {
|
||||
@ -80,6 +85,7 @@ minetest.register_node("maptools:papyrus", {
|
||||
},
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:dirt", {
|
||||
@ -90,6 +96,7 @@ minetest.register_node("maptools:dirt", {
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
sounds = default.node_sound_dirt_defaults(),
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:wood", {
|
||||
@ -100,6 +107,7 @@ minetest.register_node("maptools:wood", {
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:junglewood", {
|
||||
@ -110,6 +118,7 @@ minetest.register_node("maptools:junglewood", {
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:glass", {
|
||||
@ -123,6 +132,7 @@ minetest.register_node("maptools:glass", {
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:leaves", {
|
||||
@ -135,6 +145,7 @@ minetest.register_node("maptools:leaves", {
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:sand", {
|
||||
@ -145,6 +156,7 @@ minetest.register_node("maptools:sand", {
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
sounds = default.node_sound_sand_defaults(),
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:gravel", {
|
||||
@ -158,6 +170,7 @@ minetest.register_node("maptools:gravel", {
|
||||
footstep = {name="default_gravel_footstep", gain=0.35},
|
||||
dug = {name="default_gravel_footstep", gain=0.6},
|
||||
}),
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:clay", {
|
||||
@ -168,6 +181,7 @@ minetest.register_node("maptools:clay", {
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
sounds = default.node_sound_dirt_defaults(),
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:desert_sand", {
|
||||
@ -178,6 +192,7 @@ minetest.register_node("maptools:desert_sand", {
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
sounds = default.node_sound_sand_defaults(),
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:sandstone", {
|
||||
@ -188,6 +203,7 @@ minetest.register_node("maptools:sandstone", {
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:sandstone_brick", {
|
||||
@ -198,6 +214,7 @@ minetest.register_node("maptools:sandstone_brick", {
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
-- Compatibility for change made there ^
|
||||
minetest.register_alias("maptools:sandstonebrick","maptools:sandstone_brick")
|
||||
@ -210,6 +227,7 @@ minetest.register_node("maptools:desert_stone", {
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:desert_cobble", {
|
||||
@ -220,6 +238,7 @@ minetest.register_node("maptools:desert_cobble", {
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:desert_stonebrick", {
|
||||
@ -230,6 +249,7 @@ minetest.register_node("maptools:desert_stonebrick", {
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:grass", {
|
||||
@ -243,6 +263,7 @@ minetest.register_node("maptools:grass", {
|
||||
sounds = default.node_sound_dirt_defaults({
|
||||
footstep = {name="default_grass_footstep", gain = 0.4},
|
||||
}),
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:fullgrass", {
|
||||
@ -255,6 +276,7 @@ minetest.register_node("maptools:fullgrass", {
|
||||
sounds = default.node_sound_dirt_defaults({
|
||||
footstep = {name="default_grass_footstep", gain=0.4},
|
||||
}),
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
for slab_num = 1,3,1 do
|
||||
@ -274,6 +296,7 @@ for slab_num = 1,3,1 do
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
sounds = default.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain = 0.4}}),
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
end
|
||||
|
||||
@ -285,6 +308,7 @@ minetest.register_node("maptools:cobble", {
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:mossycobble", {
|
||||
@ -295,6 +319,7 @@ minetest.register_node("maptools:mossycobble", {
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:brick", {
|
||||
@ -305,6 +330,7 @@ minetest.register_node("maptools:brick", {
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:coalblock", {
|
||||
@ -315,6 +341,7 @@ minetest.register_node("maptools:coalblock", {
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
|
||||
@ -326,6 +353,7 @@ minetest.register_node("maptools:steelblock", {
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:goldblock", {
|
||||
@ -336,6 +364,7 @@ minetest.register_node("maptools:goldblock", {
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:copperblock", {
|
||||
@ -346,6 +375,7 @@ minetest.register_node("maptools:copperblock", {
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:bronzeblock", {
|
||||
@ -356,6 +386,7 @@ minetest.register_node("maptools:bronzeblock", {
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:diamondblock", {
|
||||
@ -366,6 +397,7 @@ minetest.register_node("maptools:diamondblock", {
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
-- Farming:
|
||||
@ -378,6 +410,7 @@ minetest.register_node("maptools:soil_wet", {
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative, soil = 3, wet = 1, grassland = 1},
|
||||
sounds = default.node_sound_dirt_defaults(),
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:desert_sand_soil_wet", {
|
||||
@ -388,6 +421,7 @@ minetest.register_node("maptools:desert_sand_soil_wet", {
|
||||
tiles = {"farming_desert_sand_soil_wet.png", "farming_desert_sand_soil_wet_side.png"},
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative, soil = 3, wet = 1, desert = 1},
|
||||
sounds = default.node_sound_sand_defaults(),
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
-- Fence:
|
||||
|
5
init.lua
5
init.lua
@ -20,6 +20,11 @@ maptools.intllib = S
|
||||
|
||||
local modpath = minetest.get_modpath("maptools")
|
||||
|
||||
maptools.drop_msg = function(itemstack, player)
|
||||
local name = player:get_player_name()
|
||||
minetest.chat_send_player(name, S("[maptools] tools/nodes do not drop!"))
|
||||
end
|
||||
|
||||
dofile(modpath .. "/config.lua")
|
||||
dofile(modpath .. "/aliases.lua")
|
||||
dofile(modpath .. "/craftitems.lua")
|
||||
|
57
nodes.lua
57
nodes.lua
@ -16,6 +16,7 @@ minetest.register_node(":default:cloud", {
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
sounds = default.node_sound_defaults(),
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
-- Nodes
|
||||
@ -30,6 +31,7 @@ minetest.register_node("maptools:black", {
|
||||
post_effect_color = {a=255, r=0, g=0, b=0},
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:white", {
|
||||
@ -41,6 +43,7 @@ minetest.register_node("maptools:white", {
|
||||
post_effect_color = {a=255, r=128, g=128, b=128},
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:playerclip", {
|
||||
@ -54,6 +57,7 @@ minetest.register_node("maptools:playerclip", {
|
||||
sunlight_propagates = true,
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:fake_walkable", {
|
||||
@ -74,6 +78,7 @@ minetest.register_node("maptools:fake_walkable", {
|
||||
},
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:fullclip", {
|
||||
@ -86,6 +91,7 @@ minetest.register_node("maptools:fullclip", {
|
||||
sunlight_propagates = true,
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:fake_walkable_pointable", {
|
||||
@ -105,6 +111,7 @@ minetest.register_node("maptools:fake_walkable_pointable", {
|
||||
},
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:ignore_like", {
|
||||
@ -117,6 +124,7 @@ minetest.register_node("maptools:ignore_like", {
|
||||
sunlight_propagates = true,
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:ignore_like_no_clip", {
|
||||
@ -130,6 +138,7 @@ minetest.register_node("maptools:ignore_like_no_clip", {
|
||||
sunlight_propagates = true,
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
|
||||
@ -144,6 +153,7 @@ minetest.register_node("maptools:ignore_like_no_point", {
|
||||
sunlight_propagates = true,
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:ignore_like_no_clip_no_point", {
|
||||
@ -158,6 +168,7 @@ minetest.register_node("maptools:ignore_like_no_clip_no_point", {
|
||||
sunlight_propagates = true,
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:fullclip_face", {
|
||||
@ -176,6 +187,7 @@ minetest.register_node("maptools:fullclip_face", {
|
||||
},
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative, fall_damage_add_percent=-100},
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:playerclip_bottom", {
|
||||
@ -194,6 +206,7 @@ minetest.register_node("maptools:playerclip_bottom", {
|
||||
},
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative, fall_damage_add_percent=-100},
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:playerclip_top", {
|
||||
@ -212,6 +225,7 @@ minetest.register_node("maptools:playerclip_top", {
|
||||
},
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative, fall_damage_add_percent=-100},
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
for pusher_num=1,10,1 do
|
||||
@ -231,6 +245,7 @@ minetest.register_node("maptools:pusher_" .. pusher_num, {
|
||||
},
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative, fall_damage_add_percent=-100, bouncy=pusher_num*100},
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
end
|
||||
|
||||
@ -247,6 +262,7 @@ minetest.register_node("maptools:lightbulb", {
|
||||
sunlight_propagates = true,
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:nobuild", {
|
||||
@ -261,6 +277,7 @@ minetest.register_node("maptools:nobuild", {
|
||||
sunlight_propagates = true,
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:nointeract", {
|
||||
@ -274,6 +291,7 @@ minetest.register_node("maptools:nointeract", {
|
||||
sunlight_propagates = true,
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:climb", {
|
||||
@ -289,6 +307,7 @@ minetest.register_node("maptools:climb", {
|
||||
sunlight_propagates = true,
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
for damage_num=1,5,1 do
|
||||
@ -305,6 +324,7 @@ minetest.register_node("maptools:damage_" .. damage_num, {
|
||||
sunlight_propagates = true,
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
end
|
||||
|
||||
@ -321,6 +341,7 @@ minetest.register_node("maptools:kill", {
|
||||
sunlight_propagates = true,
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:smoke", {
|
||||
@ -334,6 +355,7 @@ minetest.register_node("maptools:smoke", {
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
post_effect_color = {a=192, r=96, g=96, b=96},
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:ladder", {
|
||||
@ -354,16 +376,28 @@ minetest.register_node("maptools:ladder", {
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
local permafire = table.copy(minetest.registered_nodes["fire:basic_flame"])
|
||||
permafire.damage_per_second = 4
|
||||
permafire.stack_max = 10000
|
||||
permafire.range = 12
|
||||
permafire.description = S("Permanent Fire")
|
||||
permafire.groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative}
|
||||
|
||||
minetest.register_node("maptools:permanent_fire", permafire)
|
||||
minetest.register_node("maptools:permanent_fire", {
|
||||
description = S("Permanent Fire"),
|
||||
range = 12,
|
||||
stack_max = 10000,
|
||||
drawtype = "plantlike",
|
||||
paramtype = "light",
|
||||
tiles = {{
|
||||
name="fire_basic_flame_animated.png",
|
||||
animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=1},
|
||||
}},
|
||||
inventory_image = "fire_basic_flame.png",
|
||||
light_source = 14,
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
damage_per_second = 4,
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:fake_fire", {
|
||||
description = S("Fake Fire"),
|
||||
@ -381,6 +415,7 @@ minetest.register_node("maptools:fake_fire", {
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:igniter", {
|
||||
@ -396,6 +431,7 @@ minetest.register_node("maptools:igniter", {
|
||||
sunlight_propagates = true,
|
||||
pointable = false,
|
||||
walkable = false,
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:superapple", {
|
||||
@ -426,9 +462,4 @@ minetest.register_node("maptools:superapple", {
|
||||
groups = {fleshy=3, dig_immediate=3, not_in_creative_inventory = 0, flammable = 2, leafdecay = 3, leafdecay_drop = 1},
|
||||
on_use = minetest.item_eat(20),
|
||||
sounds = default.node_sound_defaults(),
|
||||
after_place_node = function(pos, placer, itemstack)
|
||||
if placer:is_player() then
|
||||
minetest.set_node(pos, {name = "maptools:superapple", param2= 1})
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
@ -28,6 +28,7 @@ minetest.register_tool("maptools:pick_admin", {
|
||||
},
|
||||
damage_groups = {fleshy = 1000},
|
||||
},
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
minetest.register_tool("maptools:pick_admin_with_drops", {
|
||||
@ -49,6 +50,7 @@ minetest.register_tool("maptools:pick_admin_with_drops", {
|
||||
},
|
||||
damage_groups = {fleshy = 1000},
|
||||
},
|
||||
on_drop = maptools.drop_msg
|
||||
})
|
||||
|
||||
minetest.register_on_punchnode(function(pos, node, puncher)
|
||||
@ -56,6 +58,6 @@ minetest.register_on_punchnode(function(pos, node, puncher)
|
||||
and minetest.get_node(pos).name ~= "air" then
|
||||
minetest.log("action", puncher:get_player_name() .. " digs " .. minetest.get_node(pos).name .. " at " .. minetest.pos_to_string(pos) .. " using an Admin Pickaxe.")
|
||||
minetest.remove_node(pos) -- The node is removed directly, which means it even works on non-empty containers and group-less nodes.
|
||||
nodeupdate(pos) -- Run node update actions like falling nodes.
|
||||
minetest.check_for_falling(pos) -- Run node update actions like falling nodes.
|
||||
end
|
||||
end)
|
||||
|
Loading…
Reference in New Issue
Block a user