Merge branch 'master' of yunohost:nalc/maptools into merge-master

This commit is contained in:
sys4-fr 2018-12-22 12:04:32 +01:00
commit 4a4dfb77c4
8 changed files with 202 additions and 63 deletions

14
CHANGELOG.md Normal file
View 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
View 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.

View File

@ -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.

View File

@ -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/).

View File

@ -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:

View File

@ -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")

View File

@ -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,
})

View File

@ -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)