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

+

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

+Remember, you can always look at examples as well. You can find a mod +that does something similar to what you want, looking at all of the .lua +files in a mod like that may help. +

+

Changing Existing Mods

+

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

+