Fix typos

master
cessna151 2015-11-08 10:57:40 -05:00 committed by rubenwardy
parent 706d74427e
commit de4f083a5b
6 changed files with 41 additions and 42 deletions

View File

@ -13,7 +13,7 @@
- hr: true
- title: Nodes, Items and Crafting
- title: Nodes, Items, and Crafting
num: 3
link: chapters/nodes_items_crafting.html

View File

@ -17,13 +17,13 @@ This is an essential skill when creating mods.
![Find the mod's folder]({{ page.root }}/static/folder_modfolder.jpg)
Each mod has its own folder, where all its Lua code, textures, models and sounds
are placed. These folders need to be placed in a mod location, such as
minetest/mods. Mods can be grouped into mod packs, which are explained below.
Each mod has its own folder where all its Lua code, textures, models, and sounds
are placed. These folders need to be placed in a mod location such as
minetest/mods. Mods can be grouped into mod packs which are explained below.
A "mod name" is used to refer to a mod. Each mod should have a unique mod name,
which you can choose - a good mod name can describes what the mod does.
Mod names can be make up of letters, numbers or underscores. The folder a mod is
which you can choose - a good mod name describes what the mod does.
Mod names can be made up of letters, numbers, or underscores. The folder a mod is
in needs to be called the same as the mod name.
### Mod Folder Structure
@ -35,12 +35,12 @@ in needs to be called the same as the mod name.
- (optional) models/ - place 3d models in here
...and any other lua files to be included by init.lua
Only the init.lua file is required in a mod for it to run on game load, however
Only the init.lua file is required in a mod for it to run on game load; however,
the other items are needed by some mods to perform their functionality.
## Dependencies
The depends text file allows you to specify what mods this mod requires to run, and what
The depends text file allows you to specify which mods this mod requires to run and what
needs to be loaded before this mod.
**depends.txt**
@ -54,12 +54,12 @@ As you can see, each modname is on its own line.
Mod names with a question mark following them are optional dependencies.
If an optional dependency is installed, it is loaded before the mod.
However, if the dependency is not installed, the mod still loads.
This is in contrast to normal dependencies, which will cause the current
This is in contrast to normal dependencies which will cause the current
mod not to work if the dependency is not installed.
## Mod Packs
Modpacks allow multiple mods to be packaged together, and move together.
Modpacks allow multiple mods to be packaged together and be moved together.
They are useful if you want to supply multiple mods to a player but don't
want to make them download each one individually.
@ -106,5 +106,5 @@ minetest.register_node("mymod:node", {
Our mod has a name of "mymod". It has two text files: init.lua and depends.txt.\\
The script prints a message and then registers a node which will be explained in the next chapter.\\
The depends text file adds a dependency to the default mod, which is in minetest_game.\\
The depends text file adds a dependency to the default mod which is in minetest_game.\\
There is also a texture in textures/ for the node.

View File

@ -40,7 +40,7 @@ function ctf.post(team,msg)
end
{% endhighlight %}
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, return.
table.insert is a function which comes with Lua by default.
### Recommended Editors
@ -93,11 +93,11 @@ a = a + 10
print("Sum is "..result)
{% endhighlight %}
Woah, what happened there? a, b and result are **variables**. They're like what
Woah, what happened there? a, b, and result are **variables**. They're like what
you get in mathematics, A = w * h. The equals signs are **assignments**, so
"result" is set to a + b. Variable names can be longer than one character
unlike in maths, as seen with the "result" variable. Lua is **case sensitive**.
A is a different variable to a.
unlike in mathematics, as seen with the "result" variable. Lua is **case sensitive**.
A is a different variable than a.
The word "local" before they are first used means that they have local scope,
I'll discuss that shortly.
@ -189,8 +189,8 @@ end
Programming is the action of talking 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,
however the following websites are quite useful in developing this:
Teaching you the logical process of programming is beyond the scope of this book;
however, the following websites are quite useful in developing this:
### Codecademy
[Codecademy](http://www.codecademy.com/) is one of the best resources for learning to 'code',
@ -277,8 +277,8 @@ one()
two()
{% endhighlight %}
Nil means **not initalised**. The variable hasn't been assigned a variable yet,
doesn't exist or has been uninitialised (ie: set to nil)
Nil means **not initalised**. The variable hasn't been assigned a value yet,
doesn't exist, or has been uninitialised. (ie: set to nil)
The same goes for functions. Functions are variables of a special type.
You should make functions as local as much as possible,
@ -306,7 +306,7 @@ mymod.foo("foobar")
## Including other Lua Scripts
You can include Lua scripts from your mod, or another mod like this:
You can include Lua scripts from your mod or another mod like this:
{% highlight lua %}
dofile(minetest.get_modpath("modname") .. "/script.lua")
@ -316,5 +316,5 @@ dofile(minetest.get_modpath("modname") .. "/script.lua")
You won't be able to access them from any other scripts.
As for how you divide code up into files, it doesn't matter that much.
The most important thing is your code is easy to read and edit.
The most important thing is that your code is easy to read and edit.
You won't need to use it for smaller projects.

View File

@ -77,7 +77,7 @@ minetest.register_node("mymod:diamond", {
## Airlike
These nodes are see through, and thus have no textures.
These nodes are see through and thus have no textures.
{% highlight lua %}
minetest.register_node("myair:air", {
@ -181,7 +181,7 @@ minetest.register_node("default:water_source", {
### FlowingLiquid
See default:water_flowing in the default mod in minetest_game, it is mostly
the same as the above example
the same as the above example.
## Glasslike
@ -278,9 +278,9 @@ TorchLike
---------
TorchLike nodes are 2D nodes which allow you to have different textures
depending on whether they are placed against a wall, on the floor or on the ceiling.
depending on whether they are placed against a wall, on the floor, or on the ceiling.
TorchLike nodes are not restricted to torches, you could use the for switches or other
TorchLike nodes are not restricted to torches, you could use them for switches or other
items which need to have different textures depending on where they are placed.
{% highlight lua %}
@ -353,8 +353,7 @@ create node boxes by dragging the edges, it is more visual than doing it by hand
### Wallmounted Nodebox
Sometimes you want different nodeboxes for when it is place on the floor, wall and
ceiling, like with torches.
Sometimes you want different nodeboxes for when it is placed on the floor, wall, or ceiling like with torches.
{% highlight lua %}
minetest.register_node("default:sign_wall", {

View File

@ -26,8 +26,8 @@ You may use metadata to store:
* progress on crafting (such as in a furnace).
* who owns the node (such as in a locked chest).
The node's type, light levels
and orientation are not stored in the metadata, but are rather part
The node's type, light levels,
and orientation are not stored in the metadata, but rather are part
of the data itself.
Metadata is stored in a key value relationship.

View File

@ -1,5 +1,5 @@
---
title: Nodes, Items and Crafting
title: Nodes, Items, and Crafting
layout: default
root: ../
---
@ -19,15 +19,15 @@ and create craft recipes.
## Item Strings
Each item, whether that be a node, craftitem, tool or entity, has an item string.\\
Each item, whether that be a node, craftitem, tool, or entity, has an item string.\\
This is sometimes referred to as registered name or just name.
A string in programming terms is a piece of text.
modname:itemname
The modname is the name of the folder your mod is in.
You may call the itemname any thing you like, however it should be relevant to
what the item is, and it can't already be registered.
You may call the itemname anything you like; however, it should be relevant to
what the item is and it can't already be registered.
### Overriding
@ -60,13 +60,13 @@ minetest.register_craftitem("mymod:diamond_fragments", {
})
{% endhighlight %}
Item definitions like seen above are usually made up of an unique
Item definitions like seen above are usually made up of a unique
[item string](#item-strings) and a definition table. The definition table
contains attributes which affect the behaviour of the item.
### Foods
Foods are items that cure health. To create a food item, you need to define the on_use property like this:
Foods are items that cure health. To create a food item you need to define the on_use property like this:
{% highlight lua %}
minetest.register_craftitem("mymod:mudpie", {
@ -77,7 +77,7 @@ minetest.register_craftitem("mymod:mudpie", {
{% endhighlight %}
The number supplied to the minetest.item_eat function is the number of hit points that are healed by this food.
Two hit points make one heart, and because there are 10 hearts there are 20 hitpoints.
Two hit points make one heart and because there are 10 hearts there are 20 hitpoints.
Hitpoints don't have to be integers (whole numbers), they can be decimals.
Sometimes you may want a food to be replaced with another item when being eaten,
@ -125,11 +125,11 @@ mod, you should consider using minetest.register_on_item_eat
## Registering a basic node
In Minetest, a node is an item that you can place.
Most nodes are 1m x 1m x 1m cubes, however the shape doesn't
Most nodes are 1m x 1m x 1m cubes; however, the shape doesn't
have to be a cube - as we will explore later.
Let's get onto it. A node's definition table is very similar to a craftitem's
definition table, however you need to set the textures for the faces of the cube.
definition table; however, you need to set the textures for the faces of the cube.
{% highlight lua %}
minetest.register_node("mymod:diamond", {
@ -267,7 +267,7 @@ minetest.register_craft({
As you can see from this example, the only real difference in the code
is that the recipe is just a single item, compared to being in a table
(between braces). They also have an optional "cooktime" parameter, which
(between braces). They also have an optional "cooktime" parameter which
defines how long the item takes to cook. If this is not set it defaults to 3.
The recipe above works when the coal block is in the input slot,
@ -288,14 +288,14 @@ minetest.register_craft({
{% endhighlight %}
They don't have an output like other recipes, but they have a burn time
which defines how long they will last as fuel, in seconds.
which defines how long they will last as fuel in seconds.
So, the diamond is good as fuel for 300 seconds!
## Groups
Items can be members of many groups, and groups can have many members.
Items can be members of many groups and groups can have many members.
Groups are usually identified using `group:group_name`
There are several reason you use groups.
There are several reasons you use groups.
Groups can be used in crafting recipes to allow interchangeability
of ingredients. For example, you may use group:wood to allow any wood