From 9be8ca51605459dffe8383fe9d8e85fe37d12537 Mon Sep 17 00:00:00 2001 From: poikilos <7557867+poikilos@users.noreply.github.com> Date: Sat, 30 Mar 2019 20:56:22 -0400 Subject: [PATCH] add Modding section to Getting Started in web app --- webapp/views/pages/getting-started.ejs | 79 ++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) diff --git a/webapp/views/pages/getting-started.ejs b/webapp/views/pages/getting-started.ejs index 7382fb0..c619493 100644 --- a/webapp/views/pages/getting-started.ejs +++ b/webapp/views/pages/getting-started.ejs @@ -222,6 +222,85 @@ project. Otherwise, contact a moderator of your server (you can still visit the link to get an idea of what mods are available for Minetest servers). +
Modding is easy in Minetest, because it is designed to be modded. +The Minetest client downloads the "game" (collection of mods and +modpacks) each time you connect to a server, so you don't have to +install anything yourself. Automatic "game" downloading also means that +each server can be very different, but load quickly, offering you many +experiences to try easily.
+Examples are the best way to get started. Since mods are scripted in +Lua, every mod is open source. Almost every one is released under +some sort of public license as well, which usually allows you to modify, +reuse, and redistribute the code (usually under the condition that you +credit the original author). The license file sometimes has no file +extension, so you may have to pick a program to open it in Windows. +You can open it (or any other text file) in Notepad. However, Notepad++ +is recommended since there is more than one undo step. For Lua +programming, you can install ZeroBrane Studio (which is free) then +install +"MinetestIDE" +which patches ZeroBrane Studio to provide code completion +(a form of autocomplete with API usage tips for coding). +
+
+API means application programming interface. It is just the set of
+classes and/or functions you use to change the behavior of an existing
+program such as Minetest. Mods that add significant features, such as
+Mobs Redo or codermobs, usually have their own API. You can see all of
+the functions in the api.lua file if the author has followed naming
+conventions and placed public features there. In addition, many mods
+have a api.txt or similarly named files. You can start by opening up
+your minetest directory on your computer (after installing or otherwise
+installing Minetest) and doing a search for api, or just open the
+following files depending on what you want to do:
+
A public license allows you to change and rerelease the mod, +in addition to just being "open source." Many +mods are on GitHub, GitLab, or notabug.org to allow easy +forking. Forking is when someone other than the original author +makes improvements or fixes (often forking implies keeping it separate +and not having your changes pulled in to the author's version). If the +changes +are applicable to everyone, you would usually fork it by clicking "fork" +which allows you to download your own copy of the mod with "GitHub +Desktop" for GitHub on Windows or a public licensed program like "Git +Cola." Then you would make or paste in your changes, go back to the +program and stage all tracked and untracked changes (not required on +GitHub Desktop), name the commit, click commit, then click push. Then +you can go back to the repository online where you got the mod and click +"pull request" comparing across forks to the "head" from your +repository, allowing the owner to "accept" the request or comment on +changes you need to make or regretfully decline. If the owner declines, +you can always keep your repository and use and distribute your version +of the mod if the license allows that. In some cases, you can instead +just make a mod that overrides an existing mod--that would require +putting the mod in depends.txt, clearing crafting recipes, and other +similar steps--see +github.com/poikilos/homedecor_ua for an example. +
+