diff --git a/archive/formspec_key_workaround/init.lua b/_archive/formspec_key_workaround/init.lua similarity index 100% rename from archive/formspec_key_workaround/init.lua rename to _archive/formspec_key_workaround/init.lua diff --git a/archive/formspec_key_workaround/mod.conf b/_archive/formspec_key_workaround/mod.conf similarity index 100% rename from archive/formspec_key_workaround/mod.conf rename to _archive/formspec_key_workaround/mod.conf diff --git a/mobile_tips/init.lua b/_archive/mobile_tips/init.lua similarity index 100% rename from mobile_tips/init.lua rename to _archive/mobile_tips/init.lua diff --git a/mobile_tips/mod.conf b/_archive/mobile_tips/mod.conf similarity index 100% rename from mobile_tips/mod.conf rename to _archive/mobile_tips/mod.conf diff --git a/archive/modpack.conf b/_archive/modpack.conf similarity index 100% rename from archive/modpack.conf rename to _archive/modpack.conf diff --git a/archive/restore_formspec_key_workaround/init.lua b/_archive/restore_formspec_key_workaround/init.lua similarity index 100% rename from archive/restore_formspec_key_workaround/init.lua rename to _archive/restore_formspec_key_workaround/init.lua diff --git a/archive/restore_formspec_key_workaround/mod.conf b/_archive/restore_formspec_key_workaround/mod.conf similarity index 100% rename from archive/restore_formspec_key_workaround/mod.conf rename to _archive/restore_formspec_key_workaround/mod.conf diff --git a/chatroom_tutorial/LICENSE.md b/chatroom_tutorial/LICENSE.md new file mode 100644 index 0000000..06ca890 --- /dev/null +++ b/chatroom_tutorial/LICENSE.md @@ -0,0 +1,41 @@ +# Licenses of `twi_mods/chatroom_tutorial` + +## License of code + + twi_mods/chatroom_tutorial: Tutorial of how to open chat, and hud message + Copyright (C) 2024 1F616EMO + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . + +## License of media + +* `chat_grant_interact_teacher_1.{png,xcf}`, `screenshot.png`: 1F616EMO, [CC BY-SA 4.0][CCBYSA4] + * Portion from [`WikiMooc Key T grey.svg` on Commons](https://commons.wikimedia.org/wiki/File:WikiMooc_Key_T_grey.svg): + * Author: 1F616EMO + * Derivered from: [`WikiMooc Key C grey.svg` on Commons](https://commons.wikimedia.org/wiki/File:WikiMooc_Key_C_grey.svg), [DePlusJean](https://commons.wikimedia.org/wiki/User:DePlusJean), [CC BY-SA 4.0][CCBYSA4] + * That work, and the following works, derivered from: + * [`Computer keyboard with danish layout.jpg` on Commons](https://commons.wikimedia.org/wiki/File:Computer_keyboard_with_danish_layout.jpg), [Bjarke Walling](https://commons.wikimedia.org/wiki/User:Walling), [Public Domain][PD-Self] + * [`Computer keyboard Danish layout.svg` on Commons](https://commons.wikimedia.org/wiki/File:Computer_keyboard_Danish_layout.svg), [Oona Räisänen](https://commons.wikimedia.org/wiki/User:Mysid), [Public Domain][PD-Self] + * [`Computer keyboard German-key-4.svg` on Commons](https://commons.wikimedia.org/wiki/File:Computer_keyboard_German-key-4.svg), [Cachsten](https://commons.wikimedia.org/wiki/User:Cachsten), [Public Domain][PD-Self] + * [`Computer keyboard German.svg` on Commons](https://commons.wikimedia.org/wiki/File:Computer_keyboard_German.svg), [Mysid](https://en.wikipedia.org/wiki/User:Mysid), [Public Domain][PD-Self] + * Left background: + * Portion from textures in [Minetest Game](https://github.com/minetest/minetest_game), [CC BY-SA 3.0][CCBYSA3] + * Portion from textures in [Technic Modpack](https://github.com/minetest-mods/technic/), [CC BY-SA 3.0][CCBYSA3] + * Portion from textures in [Basic Signs](https://github.com/mt-mods/basic_signs), [CC BY-SA 4.0][CCBYSA4] + * Portion from textures in [Morelights](https://github.com/random-geek/morelights), [CC BY-SA 4.0][CCBYSA4] + * Right background: From [MultiCraft](https://github.com/MultiCraft/MultiCraft), [CC BY-SA 4.0][CCBYSA4] + +[CCBYSA3]: http://creativecommons.org/licenses/by-sa/3.0/ +[CCBYSA4]: http://creativecommons.org/licenses/by-sa/4.0/ +[PD-Self]: https://commons.wikimedia.org/wiki/Template:PD-self diff --git a/chatroom_tutorial/chat_grant_interact_teacher_1.xcf b/chatroom_tutorial/chat_grant_interact_teacher_1.xcf new file mode 100644 index 0000000..c898b55 Binary files /dev/null and b/chatroom_tutorial/chat_grant_interact_teacher_1.xcf differ diff --git a/chatroom_tutorial/init.lua b/chatroom_tutorial/init.lua new file mode 100644 index 0000000..9ac00a5 --- /dev/null +++ b/chatroom_tutorial/init.lua @@ -0,0 +1,50 @@ +-- twi_mods/chatroom_tutorial/init.lua +-- Tutorial of how to open chat, and hud message +-- Copyright (C) 2024 1F616EMO +-- SPDX-License-Identifier: LGPL-3.0-or-later + +local S = minetest.get_translator("chatroom_tutorial") +local hud = mhud.init() + +teacher.register_turorial("chatroom_tutorial:chatroom", { + title = S("How to find help?"), + { + texture = "chat_grant_interact_teacher_1.png", + text = S("To seek help, use the chatroom. To start chatting:") .. "\n\n" .. + S("On Mobile Phones or iPads: Look at the top right corner of your screen. " .. + "Tap the chat box icon.") .. "\n\n" .. + S("On PC or Mac: Press the \"T\" key on your keyboard to open the chat box."), + }, +}) + +minetest.register_on_newplayer(function(player) + player:get_meta():set_int("chatroom_tutorial_show_msg", 1) + minetest.after(-1, teacher.unlock_and_show, player, "chatroom_tutorial:chatroom", nil) +end) + +minetest.register_on_joinplayer(function(player) + if player:get_meta():get_int("chatroom_tutorial_show_msg") ~= 0 then + hud:add(player, "chatroom_tutorial_show_msg", { + hud_elem_type = "text", + position = {x = 0.5, y = 0.5}, + offset = {x = 0, y = 42}, + text = S("Click on the top-right speech bubble icon to get help. (T on PC)"), + text_scale = 1, + color = 0xFFD700, + }) + end +end) + +local register_on_chat_message = + minetest.global_exists("beerchat") + and beerchat.register_on_chat_message + or minetest.register_on_chat_message +register_on_chat_message(function(name, message) + if string.sub(message, 1, 1) == "/" then return end + + local player = minetest.get_player_by_name(name) + if not player then return end + + player:get_meta():set_int("chatroom_tutorial_show_msg", 0) + hud:remove(player, "chatroom_tutorial_show_msg") +end) diff --git a/chatroom_tutorial/mod.conf b/chatroom_tutorial/mod.conf new file mode 100644 index 0000000..512c474 --- /dev/null +++ b/chatroom_tutorial/mod.conf @@ -0,0 +1,3 @@ +name = chatroom_tutorial +depends = teacher_core, mhud +optional_depends = beerchat diff --git a/chatroom_tutorial/textures/chat_grant_interact_teacher_1.png b/chatroom_tutorial/textures/chat_grant_interact_teacher_1.png new file mode 100644 index 0000000..6d995c8 Binary files /dev/null and b/chatroom_tutorial/textures/chat_grant_interact_teacher_1.png differ diff --git a/random_tips/init.lua b/random_tips/init.lua index 9843362..41425b8 100644 --- a/random_tips/init.lua +++ b/random_tips/init.lua @@ -1,90 +1,91 @@ -- twi_mods/random_tips/init.lua -- Tips for 1F616EMO Server --[[ Copyright (C) 2024 1F616EMO This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ]] local S = minetest.get_translator("random_tips") --[[ Chinese translations guidelines: 1. Use TA (pinyin of 他/她) when translating gender-neutral third-person pronouns. Spaces are not required on both sides of TA. Use 你 (gender-neutral/male/traditional) when translating gender-neutral second-person pronouns, as using NI seems odd. 2. Use 「」 for Traditional Chinese, and “” for Simplified, as pointed out by y5nw in minetest-mods/areas#71. ]] random_messages_api.from_table({ -- teleport commands S("Type in /spawn to go back to the spawn point, where you can access numerous useful locations and facilities."), S("Type in /sethome at where you want to set up your home coordinates, and then type in /home to go back."), S("To request teleporting to another player's location, type in /tpr ."), - -- communications + -- Communications + S("To seek help, click the top-right speech bubble icon to open the chatroom. On PC, press T."), S("Type in /mail to open the mail dialog, where you can communicate with other players without them being online."), S("Type in /report if you want to contact our moderation team to report misbehavior or suggest changes."), -- In-game POI S("The public farm at Spawn provides an early-game food source. " .. "Remember to replant the crops after harvesting them."), S("The public tree farm at Spawn can be an easy way to get wood. " .. "Don't forget to plant the saplings after chopping down wood."), S("Visit Spawn South via train or by walk from Spawn for places to settle down."), -- Advtrains S("Do not walk on tracks. The damage from a running train is deadly."), S("Right-click a train with an opened door to go onto it."), -- Technic S("Using machines from the technic mod speeds up your crafting workflows."), S("Visit a technic station to use machines from the technic mod without crafting them yourself."), S("Tools from the technic mod may require charging. Place them in the \"charging\" slot of a battery box."), S("Crafting a mining drill can be very helpful in bulk digging tasks."), S("Use a chainsaw to chop down an entire tree at once."), -- Pipeworks S("Autocrafters are useful in freeing your hand from repeated crafting tasks."), S("Item ejectors take items from a container into the pneumatic tube system."), S("Connect containers to a pneumatic tube system for items to flow in."), S("Always add trash cans at the end of pneumatic tube systems having the risk of overflowing " .. "to avoid breaking them."), -- Digtron S("The digtron mod helps construct automated tunnel-boring machines. " .. "It is very useful in mining or building repeating patterns."), -- Farming S("Punch a grown crop with a mithril scythe to re-plant it while obtaining its drops."), S("Punch a dirt block with a hoe to turn it into farmlands. Do so near water for the farmland to work."), S("Discover different crops around the world, and plant them in farmlands by right-clicking."), -- Bonemeal S("Bones are dropped by chance when digging dirt blocks. " .. "They can be ground into bone meal for fertilizing crops and plants."), S("Using bonemeal on dirt blocks to obtain flowers and grasses naturally found on that type of dirt."), -- Economy (smartshop/atm/wtt) S("Click on the selling items icon of a smart shop interface to buy them."), S("Right-click an ATM to withdraw or deposit money."), S("Right-click a wire transfer terminal to start a digital transaction. " .. "The receiver will be notified via in-game mail."), -- For Sale Sign S("Vacant plots are indicated by a \"SALE\" sign. Right-click it to buy the plot."), })