From c97add353a9ab509afd7f5d85afd84a91e0fdf5e Mon Sep 17 00:00:00 2001 From: poikilos <7557867+poikilos@users.noreply.github.com> Date: Sun, 28 Apr 2019 20:59:05 -0400 Subject: [PATCH] improve modding page --- webapp/views/pages/modding.ejs | 127 ++++++++++++++++++++++++++++----- 1 file changed, 111 insertions(+), 16 deletions(-) diff --git a/webapp/views/pages/modding.ejs b/webapp/views/pages/modding.ejs index 174b390..000868b 100644 --- a/webapp/views/pages/modding.ejs +++ b/webapp/views/pages/modding.ejs @@ -75,25 +75,43 @@ which patches ZeroBrane Studio to provide code completion

Every mod, at minimum, must have a file called init.lua. You should also add a description.txt describing it, a README.md or other -readme file explaining more, and a LICENSE.md or other license file -MIT License is used for Minetest itself, that is recommended. Some -people consider using GPL v3 to prevent the program from being used -on popular mobile devices, since the GPL v3 specifies that a user must -be able to not only reprogram but also replace the program with their -recompiled version--this may not be possible if your version shares a -namespace and key with the application you are changing, and you may not -have the same connectivity or functionality without using the same key. -Therefore, components or mods using GPL v3 may prevent their inclusion -into future version of Minetest "games", as several versions of -Minetest (often by other names) are on Google Play and the iOS App -Store. +readme file explaining more, and a LICENSE.md or other license file. +The MIT License is used for Minetest itself, so that is recommended. +Some people determine that using GPL v3 can prevent the program from +being used on popular mobile devices, since the GPL v3 specifies that a +user must be able to not only reprogram but also replace the program +with their recompiled version--this may not be possible if your version +shares a namespace and key with the application you are changing, and +you may not have the same connectivity or functionality without using +the same key. Therefore, components or mods using GPL v3 may prevent +their inclusion into future version of Minetest "games", as several +versions of Minetest (often by other names) are on Google Play and the +iOS App Store. You can find the MIT License online and paste it into Notepad or Geany. Be sure to fill in your name and the year you created the mod. Having a license will -make sure others feel safe using your mod and redistributing it if -that's what you want.

+make sure others know they are legally safe using, changing, and +redistributing your mod if that's what you tell them in the license. +Having others change and improve your mod will help you too, because +all Lua is open source (is distributed in plain text form not compiled +form normally) and you can normally utilize others' improvements if you +pick a good license as suggested. +

+

Debugging Errors

+

If you have an error or Minetest crashes when your mod is enabled, +try looking at minetest/bin/debug.txt (in $HOME/minetest/bin/debug.txt +if installed using EnlivenMinetest installer for GNU+Linux systems, +but usually in C:\games\minetest\bin\debug.txt if using Windows)

+

Using the Minetest API and other mods with APIs. Try reading the +last few lines of the file. Use Geany or ZeroBrane (above) +instead of Notepad, as Notepad may crash or mangle text when using +large files. You can also use +Notepad++. +

+

Delete or rename the debug.txt file by the current date (with +Minetest closed) every so often so it doesn't get too long.

-API means application programming interface. It is just the set of +API stands for 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 @@ -199,7 +217,84 @@ performance testing, you can spawn one or more mobs with one command:

-OldCoder

- +

Making Mob Models

+
How to Use Blender
+

Many Blender tutorials exist on YouTube. However, they usually go +into painful detail about consfusing options that do not help beginners, +which are the audience of tutorials in the first place. To offset this +lack of Blender information, I created a course for when I was teaching +Blender. These free and public-licensed + +Tutorials are here (that is the Blender 2.5-2.7 directory--for 2.8, +click "Index" at the top). To install Blender and the B3D exporter for +Minetest, see "One-time Setup for 3D Modeling" below.

+
Scale
+

10 Blender units is 1 Minetest unit, so if your creature should be +1.6 meters tall (5 ft 3 in), then the model should be 16 Blender units +tall. +

+

+
One-time Setup for 3D Modeling
+
    +
  1. Install Blender 2.79 from + blender.org (or 2.8 if you don't need to export b3d).
  2. +
  3. If using Blender 2.79, set it to left click select (like most + programs, and Blender 2.8): +
      +
    1. Open Blender
    2. +
    3. Click "File," "User Preferences."
    4. +
    5. Click the "Input" tab.
    6. +
    7. Change "Select With" to "Left."
    8. +
    9. Click "Save User Settings," then press x on the "Blender + User Preferences" window.
    10. +
    +
  4. +
  5. If using Blender 2.79, install the B3D plugin. You can get a + version for minetest that does not export the texture path with the + model, reducing useless missing texture warnings in the debug log in + some versions of minetest (click Save not open, so you can find it + in Downloads later):
    + + Download +
      +
    1. Open Blender
    2. +
    3. Click "File," "User Preferences."
    4. +
    5. Click the "Add-ons" tab.
    6. +
    7. Click "Install Add-on from File..."
    8. +
    9. Choose the "B3DExport-master.zip" (or other B3D export + plugin if not the one above) that you downloaded.
    10. +
    11. Search for "B3D"
    12. +
    13. If the "Import-Export: B3D (BLITZ3D) Model Exporter" box + is not checked, click it and wait for it to become checked + (clicking again will just cancel the enable add-on + operation).
    14. +
    15. Click "Save User Settings," then press x on the "Blender + User Preferences" window.
    16. +
    +
  6. +
  7. OPTIONAL: If you need to import x files into Blender, repeat the + steps above for github.com/limemidolin/directX_blender (2.79 fork of + littleneo's DirectX Exporter):
    + Download
  8. +
+
Export
+Minetest modding because 2.8 does not yet have a good b3d exporter, and +b3d format is the preferred (most efficient) format for animated +models. If you are creating static (non-animated) models, you can +use Blender 2.8 then export to any model format supported by Irrlicht +(Usually 3ds, obj, are good static formats--Irrlicht also supports other +common formats such as ms3d and md3; uncommon formats; and x for +animated 3D models but x is not as efficient in size as b3d).

Creating New Ores

Creating new ores or other blocks may be confusing after you learn the API. If you want about 48 blocks before you find another cluster of