Fix mistakes in the first 3 chapters
This commit is contained in:
parent
6cc040fd0c
commit
acf3de9deb
@ -50,7 +50,7 @@ minetest/mods.
|
||||
|
||||
![Find the mod's directory]({{ page.root }}/static/folder_modfolder.jpg)
|
||||
|
||||
A "mod name" is used to refer to a mod. Each mod should have a unique name.
|
||||
A *mod name* is used to refer to a mod. Each mod should have a unique name.
|
||||
Mod names can include letters, numbers, and underscores. A good name should
|
||||
describe what the mod does, and the directory which contains the components of a mod
|
||||
must have the same name as the mod name.
|
||||
|
@ -46,7 +46,7 @@ function ctf.post(team,msg)
|
||||
end
|
||||
```
|
||||
|
||||
For example, keywords in the above snippet are highlighted such as if, then, end, return.
|
||||
For example, keywords in the above snippet are highlighted such as if, then, end, and return.
|
||||
table.insert is a function which comes with Lua by default.
|
||||
|
||||
Here is a list of common editors well suited for Lua.
|
||||
@ -65,7 +65,7 @@ One such IDE is Eclipse with the Koneki Lua plugin:
|
||||
|
||||
* Install Eclipse + Koneki.
|
||||
* Create a new Lua project from existing source (specify Minetest's base directory).
|
||||
* Follow instructions from Koneki wiki how to do "Attach to remote Application" debugging (just a few steps).
|
||||
* Follow instructions from Koneki wiki on how to do "Attach to remote Application" debugging (just a few steps).
|
||||
* It is suggested to add those lines from wiki at beginning of builtin.lua.
|
||||
* Start the debugger (set "Break on first line" in debugger configuration to see if it is working).
|
||||
* Start Minetest.
|
||||
@ -105,7 +105,7 @@ Local will be discussed in a bit, as it's part of a very important concept calle
|
||||
|
||||
The `=` means *assignment*, so `result = a + b` means set "result" to a + b.
|
||||
Variable names can be longer than one character unlike in mathematics, as seen with the "result" variable.
|
||||
It's also worth noting that Lua is *case-sensitive*; A is a different variable than a.
|
||||
It's also worth noting that Lua is *case-sensitive*; A is a different variable to a.
|
||||
|
||||
### Variable Types
|
||||
|
||||
@ -137,7 +137,7 @@ Not an exhaustive list. Doesn't contain every possible operator.
|
||||
|
||||
### Selection
|
||||
|
||||
The most basic selection is the if statement. It looks like this:
|
||||
The most basic selection is the *if statement*. It looks like this:
|
||||
|
||||
```lua
|
||||
local random_number = math.random(1, 100) -- Between 1 and 100.
|
||||
@ -176,8 +176,8 @@ end
|
||||
|
||||
Which prints "Yay!" if A is false and B is true.
|
||||
|
||||
Logical and arithmetic operators work exactly the same, they both accept inputs
|
||||
and return a value which can be stored.
|
||||
Logical and arithmetic operators work exactly the same;
|
||||
they both accept inputs and return a value which can be stored.
|
||||
|
||||
```lua
|
||||
local A = 5
|
||||
@ -189,7 +189,7 @@ end
|
||||
|
||||
## Programming
|
||||
|
||||
Programming is the action of talking a problem, such as sorting a list
|
||||
Programming is the action of taking a problem, such as sorting a list
|
||||
of items, and then turning it into steps that a computer can understand.
|
||||
|
||||
Teaching you the logical process of programming is beyond the scope of this book;
|
||||
@ -199,7 +199,7 @@ however, the following websites are quite useful in developing this:
|
||||
learning to 'code', it provides an interactive tutorial experience.
|
||||
* [Scratch](https://scratch.mit.edu) is a good resource when starting from
|
||||
absolute basics, learning the problem solving techniques required to program.\\
|
||||
Scratch is **designed to teach children** how to program, it isn't a serious
|
||||
Scratch is **designed to teach children** how to program, and isn't a serious
|
||||
programming language.
|
||||
|
||||
## Local and Global Scope
|
||||
|
@ -26,15 +26,15 @@ basic requirements for many mods.
|
||||
|
||||
## What are Nodes and Items?
|
||||
|
||||
Nodes, Craftitems, and Tools are all Items.
|
||||
Nodes, craftitems, and tools are all Items.
|
||||
An item is something that could be found in an inventory -
|
||||
even though it may not be possible through normal game play.
|
||||
|
||||
A node is an item which is placable or can be found in the world.
|
||||
A node is an item which can be placed or be found in the world.
|
||||
Every position in the world must be occupied with one and only one node -
|
||||
seemingly blank positions are usually air nodes.
|
||||
|
||||
A craftitem isn't placable but is only found in inventories or as a dropped item
|
||||
A craftitem can't be placed and is only found in inventories or as a dropped item
|
||||
in the world.
|
||||
|
||||
A tool has the ability to wear and typically has non-default digging capabilities.
|
||||
@ -104,7 +104,7 @@ Textures in Minetest are usually 16 by 16 pixels.
|
||||
They can be any resolution, but it is recommended that they are in the order of 2,
|
||||
for example 16, 32, 64, or 128.
|
||||
This is because other resolutions may not be supported correctly on older devices,
|
||||
resulting in lowered performance.
|
||||
resulting in decreased performance.
|
||||
|
||||
## Registering a basic node
|
||||
|
||||
@ -124,7 +124,7 @@ To give a different texture per-side, supply the names of 6 textures in this ord
|
||||
up (+Y), down (-Y), right (+X), left (-X), back (+Z), front (-Z).
|
||||
(+Y, -Y, +X, -X, +Z, -Z)
|
||||
|
||||
Remember: Just like with most 3D graphics, +Y is upwards in Minetest.
|
||||
Remember: just like with most 3D graphics, +Y is upwards in Minetest.
|
||||
|
||||
```lua
|
||||
minetest.register_node("mymod:diamond", {
|
||||
@ -188,7 +188,7 @@ minetest.register_craftitem("mymod:mudpie", {
|
||||
})
|
||||
```
|
||||
|
||||
By, understanding how item_eat works by simply returning a function, it's
|
||||
By understanding how item_eat works by simply returning a function, it's
|
||||
possible to modify it to do more complex behaviour such as play a custom sound.
|
||||
|
||||
## Crafting
|
||||
@ -196,12 +196,12 @@ possible to modify it to do more complex behaviour such as play a custom sound.
|
||||
There are several types of crafting recipe available, indicated by the `type`
|
||||
property.
|
||||
|
||||
* shaped - Ingredients must be in the correct position.
|
||||
* shapeless - It doesn't matter where the ingredients are,
|
||||
* shaped - ingredients must be in the correct position.
|
||||
* shapeless - it doesn't matter where the ingredients are,
|
||||
just that there is the right amount.
|
||||
* cooking - Recipes for the furnace to use.
|
||||
* fuel - Defines items which can be burned in furnaces.
|
||||
* tool_repair - Defines items which can be tool repaired.
|
||||
* cooking - recipes for the furnace to use.
|
||||
* fuel - defines items which can be burned in furnaces.
|
||||
* tool_repair - defines items which can be tool repaired.
|
||||
|
||||
Craft recipes are not items, so they do not use Item Names to uniquely
|
||||
identify themselves.
|
||||
@ -209,7 +209,7 @@ identify themselves.
|
||||
### Shaped
|
||||
|
||||
Shaped recipes are when the ingredients need to be in the right shape or
|
||||
pattern to work. In the below example, the fragments need to be in a
|
||||
pattern to work. In the example below, the fragments need to be in a
|
||||
chair-like pattern for the craft to work.
|
||||
|
||||
```lua
|
||||
@ -323,11 +323,11 @@ minetest.register_craft({
|
||||
})
|
||||
```
|
||||
|
||||
## Tools, Capabilities, and Dig Types
|
||||
## Tools, Capabilities and Dig Types
|
||||
|
||||
Dig types are groups which are used to define how strong a node is when dug
|
||||
with different tools.
|
||||
A dig type group having a higher associated value means the node is easier
|
||||
A dig type group with a higher associated value means the node is easier
|
||||
and quicker to cut.
|
||||
It's possible to combine multiple dig types to allow the more efficient use
|
||||
of multiple types of tools.
|
||||
@ -376,4 +376,4 @@ minetest.register_tool("mymod:tool", {
|
||||
|
||||
Groupcaps is the list of supported dig types for digging nodes.
|
||||
Damage groups are for controlling how tools damage objects, which will be
|
||||
discussed later in the objects chapter.
|
||||
discussed later in the Objects, Players, and Entities chapter.
|
||||
|
Loading…
Reference in New Issue
Block a user