Compare commits

...

5 Commits

Author SHA1 Message Date
Wuzzy 238135194b Version 3.2.0 2022-01-31 01:08:23 +01:00
Wuzzy 3c3640a593 Enable Creative Mode if map editing is active 2022-01-31 00:36:22 +01:00
Wuzzy 5eda045e92 Update required Minetest version to 5.5.0 2022-01-31 00:21:55 +01:00
Wuzzy af32a8a456 Remove useless menu checkboxes and update footer 2022-01-31 00:21:07 +01:00
Wuzzy 28d8c66f37 Use minetest.disconnect_player if available 2022-01-31 00:02:02 +01:00
6 changed files with 17 additions and 5 deletions

View File

@ -12,11 +12,13 @@ The tutorial castle is saved in the game itself in schematics and other binary m
2. Trust the code. In the settings menu or `minetest.conf`, add `tutorial_mapgen` to `secure.trusted_mods`
3. In `minetest.conf`, add `tutorial_debug_map_editing = true`
4. In `minetest.conf`, add `tutorial_debug_edit_item_spawners = true`
5. Start Minetest and create a new world, enable Creative Mode and enter the world in singleplayer
5. Start Minetest and create a new world and enter the world in singleplayer (there should be a confirmation message in chat)
6. Edit the map to your likings
7. Grant yourselves the `tutorialmap` privilege
8. Use `/tsave` command to save the map
Note: `tutorial_debug_map_editing=true` will automatically enable Creative Mode.
The changes will end up in `<world directory>/mapdata`. Copy this directory to `<game directory>/mods/tutorial_mapgen`, overwriting files, if neccessary.
If you want to edit item spawn positions, see the details below.
@ -39,7 +41,7 @@ tutorial_debug_edit_item_spawners = true
This enables the `/treset` and `/tsave` commands to help editing the schematic. It also forces the Tutorial to only generate the raw castle, not the grasslands. Also, the item spawners become visible.
Create a new world in Creative Mode. Now edit the map to your likings using your instant digging power and the creative inventory. You can of course WorldEdit to speed up the process.
Create a new world with setting `tutorial_debug_map_editing` set to `true`. Now edit the map to your likings using your instant digging power and the creative inventory. You can of course WorldEdit to speed up the process.
If you're finished, grant yourself the `tutorialmap` privilege and use the `/tsave` command. This updates the map files in `<world directory>/mapdata`. Note that there are limits as for how big the tutorial castle can be.
Copy the contents of this directory to the `tutorial_mapgen` mod under `mapdata` and overwrite files as neccessary. Test your changes by creating a new world. If everything went fine, you can commit your changes now.

View File

@ -2,8 +2,8 @@
Created by Wuzzy
Version: 3.1.1
Playable in Minetest 5.4.0 or later.
Version: 3.2.0
Playable in Minetest 5.5.0 or later.
Learn how to use and play Minetest in a nice and cozy castle. Here you learn most of the basics of Minetest and how to play.

View File

@ -2,3 +2,4 @@ name = Tutorial
description = Learn how to play Minetest.
disallowed_mapgens = v5, v6, v7, valleys, carpathian, fractal, flat
allowed_mapgens = singlenode
disabled_settings = enable_server, !enable_damage, creative_mode

BIN
menu/footer.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

View File

@ -6,6 +6,9 @@ local edit_item_spawners = minetest.settings:get_bool("tutorial_debug_edit_item_
-- See tutorial_mapgen/init.lua
local map_editing = minetest.settings:get_bool("tutorial_debug_map_editing")
if map_editing then
minetest.settings:set_bool("creative_mode", true)
end
-- == END OF DEBUG SETTINGS ==
@ -1425,7 +1428,13 @@ end
minetest.register_on_player_receive_fields(function(player, formname, fields)
if(fields.leave) then
minetest.kick_player(player:get_player_name(), S("You have voluntarily exited the tutorial."))
local name = player:get_player_name()
local reason = S("You have voluntarily exited the tutorial.")
if minetest.disconnect_player then
minetest.disconnect_player(name, reason)
else
minetest.kick_player(name, reason)
end
return
elseif(fields.teleport) then
teleport_dialog(player)