Browse Source

improve modding page

master
poikilos 5 years ago
committed by Jacob Gustafson
parent
commit
c97add353a
  1. 127
      webapp/views/pages/modding.ejs

127
webapp/views/pages/modding.ejs

@ -75,25 +75,43 @@ which patches ZeroBrane Studio to provide code completion
</p>
<p>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.</p>
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.
</p>
<h2>Debugging Errors</h2>
<p>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)</p>
<p>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 <a href="https://notepad-plus-plus.org/">
Notepad++</a>.
</p>
<p><i>Delete or rename the debug.txt file by the current date (with
Minetest closed) every so often so it doesn't get too long.</i></p>
<p>
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:
</pre>
<p style="text-align:right; width=100%">-OldCoder</p>
<h4>Making Mob Models</h4>
<h6>How to Use Blender</h6>
<p>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
<a href="http://expertmultimedia.com/usingblender/resources/?dir=Blender%202.5-2.7">
Tutorials are here</a> (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 "<a href="one-time-setup-3d-modeling">One-time Setup for 3D Modeling</a>" below.</p>
<h5>Scale</h5>
<p>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.
<ul>
<li>The <code>visual_size</code> specifies size for 2D sprites such as wielditem, in
Minetest units (default 1 x 1 is 1 meter square).</li>
<li>The <code>visual_size</code> specifies scale for meshes. For
example: The mummy from tsm_pyramids is about 2 Blender units (also same
for b3view), the
<code>visual_size</code> in Lua is 8, result is looks like it is the
expected 1.6 Minetest units high. 1.6 is the expected result since the 2
Blender units are divided by 10 resulting in .2--multiplied by
<code>visual_size</code> 8 results in 1.6 Minetest units.</li>
</ul>
</p>
<h5><a name="one-time-setup-3d-modeling"></a>One-time Setup for 3D Modeling</h5>
<ol>
<li>Install Blender 2.79 from <a href=https://blender.org">
blender.org</a> (or 2.8 if you don't need to export b3d).</li>
<li>If using Blender 2.79, set it to left click select (like most
programs, and Blender 2.8):
<ol>
<li>Open Blender</li>
<li>Click "File," "User Preferences."</li>
<li>Click the "Input" tab.</li>
<li>Change "Select With" to "Left."</li>
<li>Click "Save User Settings," then press x on the "Blender
User Preferences" window.</li>
</ol>
</li>
<li>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):<br/>
<a href="https://github.com/minetest/B3DExport/archive/master.zip">
Download</a>
<ol>
<li>Open Blender</li>
<li>Click "File," "User Preferences."</li>
<li>Click the "Add-ons" tab.</li>
<li>Click "Install Add-on from File..."</li>
<li>Choose the "B3DExport-master.zip" (or other B3D export
plugin if not the one above) that you downloaded.</li>
<li>Search for "B3D"</li>
<li>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).</li>
<li>Click "Save User Settings," then press x on the "Blender
User Preferences" window.</li>
</ol>
</li>
<li>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):<br/>
<a href="https://github.com/limemidolin/directX_blender/archive/master.zip">Download</a></li>
</ol>
<h5>Export</h5>
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 (<b>non</b>-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).</p>
<h2>Creating New Ores</h2>
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

Loading…
Cancel
Save