<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://www.computercraft.info/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=StoneLeaf</id>
		<title>ComputerCraft Wiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://www.computercraft.info/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=StoneLeaf"/>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/Special:Contributions/StoneLeaf"/>
		<updated>2026-07-11T06:12:53Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.24.1</generator>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Making_a_Password_Protected_Door&amp;diff=1109</id>
		<title>Making a Password Protected Door</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Making_a_Password_Protected_Door&amp;diff=1109"/>
				<updated>2012-03-17T21:47:47Z</updated>
		
		<summary type="html">&lt;p&gt;StoneLeaf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This tutorial covers on how to make a computer output redstone current when the right password is typed in. The current is then used to trigger an iron door.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
= Easy tutorial with screenshots =&lt;br /&gt;
&lt;br /&gt;
A password protected door is actually pretty easy, if you break it into steps.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
First, you need to craft a computer, and connect the back to an iron door with redstone. Like this:&lt;br /&gt;
[[File:Tutorial1.png]]&lt;br /&gt;
[[File:cTutorial2.png]]&lt;br /&gt;
&lt;br /&gt;
Once you're done with the basics, open the computer and edit the &amp;quot;startup&amp;quot; file. (type in edit startup)&lt;br /&gt;
This will make it so the program will be executed when the computer boots.&lt;br /&gt;
&lt;br /&gt;
Once you access the startup file, enter in these two lines.&lt;br /&gt;
[[File:CTutorial3.png]]&lt;br /&gt;
&lt;br /&gt;
The first line defines a function, so that we can repeat the program if a password is entered,&lt;br /&gt;
and the second line is assigning whatever the user types to the variable, &amp;quot;t&amp;quot;,&lt;br /&gt;
So for example, if I typed &amp;quot;qwerty&amp;quot;, it would be t = &amp;quot;qwerty&amp;quot;. It also overrides anything else the user types in,&lt;br /&gt;
so if I typed in &amp;quot;programs&amp;quot;, it would just be t = &amp;quot;programs&amp;quot;, and not act as the programs command in the regular&lt;br /&gt;
OS. This can very useful.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After you're done with the previous lines, enter in the following line:&lt;br /&gt;
[[File:CTutorial4.png]]&lt;br /&gt;
&lt;br /&gt;
This makes it so the program checks if the variable that we declared earlier, &amp;quot;t&amp;quot;, equals &amp;quot;password&amp;quot;. (You can change password to what you want the actual password to be.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
But now you'll need to put in what to do, depending on if the user typed in the right password.&lt;br /&gt;
This next set of lines will do that:&lt;br /&gt;
&lt;br /&gt;
[[File:CTutorial5.png]]&lt;br /&gt;
&lt;br /&gt;
Now, this maay seem complicated, but it's really simple. The four lines after the if line, determine what the computer will do if the password is correct. So if it's correct, It'll set the redstone output from it's back to true (on), and open the door. (this is the &amp;quot;redstone.setOutput(&amp;quot;back&amp;quot;, true)&amp;quot; command.) It'll then wait two seconds, and turn the redstone back off again. It'll then repeat the function, so you don't need to reboot the computer.&lt;br /&gt;
&lt;br /&gt;
However, the last two lines dictate what the computer will do if the password is wrong, which is really just not opening the door, and repeating the function.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And now the finishing touches:&lt;br /&gt;
&lt;br /&gt;
[[File:CTutorial6.png]]&lt;br /&gt;
&lt;br /&gt;
This adds the &amp;quot;Ends&amp;quot; to the if which is inside the function, and the function. So we've declared our function.&lt;br /&gt;
Now to start it, we have the computer call the function after it declares it.&lt;br /&gt;
&lt;br /&gt;
Well, you should have your own password protected door!&lt;br /&gt;
Feel free to change the script around, maybe add a few success/failure messages, etc. etc.&lt;br /&gt;
&lt;br /&gt;
(NOTE: If the program fails somehow, Pressing and holding Ctrl + T will terminate it, and allow you to edit it like normally)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Alternative code =&lt;br /&gt;
&lt;br /&gt;
Use Ctrl + T to terminate the program. You could set it up as a [[Startup|startup script]] to make it run automatically at boot time.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 local function pass()&lt;br /&gt;
     term.clear()&lt;br /&gt;
     term.setCursorPos(1, 1)&lt;br /&gt;
     textutils.slowWrite(&amp;quot;Enter password: &amp;quot;)&lt;br /&gt;
     t = io.read()&lt;br /&gt;
     &lt;br /&gt;
     -- Replace 'password' by the one you want&lt;br /&gt;
     if t == &amp;quot;password&amp;quot; then&lt;br /&gt;
         textutils.slowWrite(&amp;quot;Access granted!&amp;quot;)&lt;br /&gt;
         redstone.setOutput(&amp;quot;back&amp;quot;, true)&lt;br /&gt;
         sleep(2)&lt;br /&gt;
         redstone.setOutput(&amp;quot;back&amp;quot;, false)&lt;br /&gt;
     else&lt;br /&gt;
         textutils.slowWrite(&amp;quot;Access denied!&amp;quot;)&lt;br /&gt;
         sleep(2)&lt;br /&gt;
     end&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 while true do&lt;br /&gt;
     pass()&lt;br /&gt;
 end&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>StoneLeaf</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Making_a_Password_Protected_Door&amp;diff=1108</id>
		<title>Making a Password Protected Door</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Making_a_Password_Protected_Door&amp;diff=1108"/>
				<updated>2012-03-17T21:45:34Z</updated>
		
		<summary type="html">&lt;p&gt;StoneLeaf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This tutorial covers on how to make a computer output redstone current when the right password is typed in. The current is then used to trigger an iron door.&lt;br /&gt;
&lt;br /&gt;
= Easy tutorial with screenshots =&lt;br /&gt;
&lt;br /&gt;
A password protected door is actually pretty easy, if you break it into steps.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
First, you need to craft a computer, and connect the back to an iron door with redstone. Like this:&lt;br /&gt;
[[File:Tutorial1.png]]&lt;br /&gt;
[[File:cTutorial2.png]]&lt;br /&gt;
&lt;br /&gt;
Once you're done with the basics, open the computer and edit the &amp;quot;startup&amp;quot; file. (type in edit startup)&lt;br /&gt;
This will make it so the program will be executed when the computer boots.&lt;br /&gt;
&lt;br /&gt;
Once you access the startup file, enter in these two lines.&lt;br /&gt;
[[File:CTutorial3.png]]&lt;br /&gt;
&lt;br /&gt;
The first line defines a function, so that we can repeat the program if a password is entered,&lt;br /&gt;
and the second line is assigning whatever the user types to the variable, &amp;quot;t&amp;quot;,&lt;br /&gt;
So for example, if I typed &amp;quot;qwerty&amp;quot;, it would be t = &amp;quot;qwerty&amp;quot;. It also overrides anything else the user types in,&lt;br /&gt;
so if I typed in &amp;quot;programs&amp;quot;, it would just be t = &amp;quot;programs&amp;quot;, and not act as the programs command in the regular&lt;br /&gt;
OS. This can very useful.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After you're done with the previous lines, enter in the following line:&lt;br /&gt;
[[File:CTutorial4.png]]&lt;br /&gt;
&lt;br /&gt;
This makes it so the program checks if the variable that we declared earlier, &amp;quot;t&amp;quot;, equals &amp;quot;password&amp;quot;. (You can change password to what you want the actual password to be.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
But now you'll need to put in what to do, depending on if the user typed in the right password.&lt;br /&gt;
This next set of lines will do that:&lt;br /&gt;
&lt;br /&gt;
[[File:CTutorial5.png]]&lt;br /&gt;
&lt;br /&gt;
Now, this maay seem complicated, but it's really simple. The four lines after the if line, determine what the computer will do if the password is correct. So if it's correct, It'll set the redstone output from it's back to true (on), and open the door. (this is the &amp;quot;redstone.setOutput(&amp;quot;back&amp;quot;, true)&amp;quot; command.) It'll then wait two seconds, and turn the redstone back off again. It'll then repeat the function, so you don't need to reboot the computer.&lt;br /&gt;
&lt;br /&gt;
However, the last two lines dictate what the computer will do if the password is wrong, which is really just not opening the door, and repeating the function.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And now the finishing touches:&lt;br /&gt;
&lt;br /&gt;
[[File:CTutorial6.png]]&lt;br /&gt;
&lt;br /&gt;
This adds the &amp;quot;Ends&amp;quot; to the if which is inside the function, and the function. So we've declared our function.&lt;br /&gt;
Now to start it, we have the computer call the function after it declares it.&lt;br /&gt;
&lt;br /&gt;
Well, you should have your own password protected door!&lt;br /&gt;
Feel free to change the script around, maybe add a few success/failure messages, etc. etc.&lt;br /&gt;
&lt;br /&gt;
(NOTE: If the program fails somehow, Pressing and holding Ctrl + T will terminate it, and allow you to edit it like normally)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Alternative code =&lt;br /&gt;
&lt;br /&gt;
Use Ctrl + T to terminate the program. You could set it up as a [[Startup|startup script]] to make it run automatically at boot time.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 local function pass()&lt;br /&gt;
     term.clear()&lt;br /&gt;
     term.setCursorPos(1, 1)&lt;br /&gt;
     textutils.slowWrite(&amp;quot;Enter password: &amp;quot;)&lt;br /&gt;
     t = io.read()&lt;br /&gt;
     &lt;br /&gt;
     -- Replace 'password' by the one you want&lt;br /&gt;
     if t == &amp;quot;password&amp;quot; then&lt;br /&gt;
         textutils.slowWrite(&amp;quot;Access granted!&amp;quot;)&lt;br /&gt;
         redstone.setOutput(&amp;quot;back&amp;quot;, true)&lt;br /&gt;
         sleep(2)&lt;br /&gt;
         redstone.setOutput(&amp;quot;back&amp;quot;, false)&lt;br /&gt;
     else&lt;br /&gt;
         textutils.slowWrite(&amp;quot;Access denied!&amp;quot;)&lt;br /&gt;
         sleep(2)&lt;br /&gt;
     end&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 while true do&lt;br /&gt;
     pass()&lt;br /&gt;
 end&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>StoneLeaf</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Making_a_Password_Protected_Door&amp;diff=1107</id>
		<title>Making a Password Protected Door</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Making_a_Password_Protected_Door&amp;diff=1107"/>
				<updated>2012-03-17T21:40:27Z</updated>
		
		<summary type="html">&lt;p&gt;StoneLeaf: /* Alternative code */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This tutorial covers on how to make a computer output redstone current when the right &amp;quot;password&amp;quot; is typed in.&lt;br /&gt;
In this case, it would output redstone current to an iron door.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A password protected door is actually pretty easy, if you break it into steps.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
First, you need to craft a computer, and connect the back to an iron door with redstone. Like this:&lt;br /&gt;
[[File:Tutorial1.png]]&lt;br /&gt;
[[File:cTutorial2.png]]&lt;br /&gt;
&lt;br /&gt;
Once you're done with the basics, open the computer and edit the &amp;quot;startup&amp;quot; file. (type in edit startup)&lt;br /&gt;
This will make it so the program will be executed when the computer boots.&lt;br /&gt;
&lt;br /&gt;
Once you access the startup file, enter in these two lines.&lt;br /&gt;
[[File:CTutorial3.png]]&lt;br /&gt;
&lt;br /&gt;
The first line defines a function, so that we can repeat the program if a password is entered,&lt;br /&gt;
and the second line is assigning whatever the user types to the variable, &amp;quot;t&amp;quot;,&lt;br /&gt;
So for example, if I typed &amp;quot;qwerty&amp;quot;, it would be t = &amp;quot;qwerty&amp;quot;. It also overrides anything else the user types in,&lt;br /&gt;
so if I typed in &amp;quot;programs&amp;quot;, it would just be t = &amp;quot;programs&amp;quot;, and not act as the programs command in the regular&lt;br /&gt;
OS. This can very useful.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After you're done with the previous lines, enter in the following line:&lt;br /&gt;
[[File:CTutorial4.png]]&lt;br /&gt;
&lt;br /&gt;
This makes it so the program checks if the variable that we declared earlier, &amp;quot;t&amp;quot;, equals &amp;quot;password&amp;quot;. (You can change password to what you want the actual password to be.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
But now you'll need to put in what to do, depending on if the user typed in the right password.&lt;br /&gt;
This next set of lines will do that:&lt;br /&gt;
&lt;br /&gt;
[[File:CTutorial5.png]]&lt;br /&gt;
&lt;br /&gt;
Now, this maay seem complicated, but it's really simple. The four lines after the if line, determine what the computer will do if the password is correct. So if it's correct, It'll set the redstone output from it's back to true (on), and open the door. (this is the &amp;quot;redstone.setOutput(&amp;quot;back&amp;quot;, true)&amp;quot; command.) It'll then wait two seconds, and turn the redstone back off again. It'll then repeat the function, so you don't need to reboot the computer.&lt;br /&gt;
&lt;br /&gt;
However, the last two lines dictate what the computer will do if the password is wrong, which is really just not opening the door, and repeating the function.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And now the finishing touches:&lt;br /&gt;
&lt;br /&gt;
[[File:CTutorial6.png]]&lt;br /&gt;
&lt;br /&gt;
This adds the &amp;quot;Ends&amp;quot; to the if which is inside the function, and the function. So we've declared our function.&lt;br /&gt;
Now to start it, we have the computer call the function after it declares it.&lt;br /&gt;
&lt;br /&gt;
Well, you should have your own password protected door!&lt;br /&gt;
Feel free to change the script around, maybe add a few success/failure messages, etc. etc.&lt;br /&gt;
&lt;br /&gt;
(NOTE: If the program fails somehow, Pressing and holding Ctrl + T will terminate it, and allow you to edit it like normally)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Alternative code ==&lt;br /&gt;
&lt;br /&gt;
Use Ctrl + T to terminate the program. You could set it up as a [[Startup|startup script]] to make it run automatically at boot time.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 local function pass()&lt;br /&gt;
     term.clear()&lt;br /&gt;
     term.setCursorPos(1, 1)&lt;br /&gt;
     textutils.slowWrite(&amp;quot;Enter password: &amp;quot;)&lt;br /&gt;
     t = io.read()&lt;br /&gt;
     &lt;br /&gt;
     -- Replace 'password' by the one you want&lt;br /&gt;
     if t == &amp;quot;password&amp;quot; then&lt;br /&gt;
         textutils.slowWrite(&amp;quot;Access granted!&amp;quot;)&lt;br /&gt;
         redstone.setOutput(&amp;quot;back&amp;quot;, true)&lt;br /&gt;
         sleep(2)&lt;br /&gt;
         redstone.setOutput(&amp;quot;back&amp;quot;, false)&lt;br /&gt;
     else&lt;br /&gt;
         textutils.slowWrite(&amp;quot;Access denied!&amp;quot;)&lt;br /&gt;
         sleep(2)&lt;br /&gt;
     end&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 while true do&lt;br /&gt;
     pass()&lt;br /&gt;
 end&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>StoneLeaf</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Making_a_Password_Protected_Door&amp;diff=1106</id>
		<title>Making a Password Protected Door</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Making_a_Password_Protected_Door&amp;diff=1106"/>
				<updated>2012-03-17T21:10:19Z</updated>
		
		<summary type="html">&lt;p&gt;StoneLeaf: Added an alternative code&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This tutorial covers on how to make a computer output redstone current when the right &amp;quot;password&amp;quot; is typed in.&lt;br /&gt;
In this case, it would output redstone current to an iron door.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A password protected door is actually pretty easy, if you break it into steps.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
First, you need to craft a computer, and connect the back to an iron door with redstone. Like this:&lt;br /&gt;
[[File:Tutorial1.png]]&lt;br /&gt;
[[File:cTutorial2.png]]&lt;br /&gt;
&lt;br /&gt;
Once you're done with the basics, open the computer and edit the &amp;quot;startup&amp;quot; file. (type in edit startup)&lt;br /&gt;
This will make it so the program will be executed when the computer boots.&lt;br /&gt;
&lt;br /&gt;
Once you access the startup file, enter in these two lines.&lt;br /&gt;
[[File:CTutorial3.png]]&lt;br /&gt;
&lt;br /&gt;
The first line defines a function, so that we can repeat the program if a password is entered,&lt;br /&gt;
and the second line is assigning whatever the user types to the variable, &amp;quot;t&amp;quot;,&lt;br /&gt;
So for example, if I typed &amp;quot;qwerty&amp;quot;, it would be t = &amp;quot;qwerty&amp;quot;. It also overrides anything else the user types in,&lt;br /&gt;
so if I typed in &amp;quot;programs&amp;quot;, it would just be t = &amp;quot;programs&amp;quot;, and not act as the programs command in the regular&lt;br /&gt;
OS. This can very useful.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After you're done with the previous lines, enter in the following line:&lt;br /&gt;
[[File:CTutorial4.png]]&lt;br /&gt;
&lt;br /&gt;
This makes it so the program checks if the variable that we declared earlier, &amp;quot;t&amp;quot;, equals &amp;quot;password&amp;quot;. (You can change password to what you want the actual password to be.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
But now you'll need to put in what to do, depending on if the user typed in the right password.&lt;br /&gt;
This next set of lines will do that:&lt;br /&gt;
&lt;br /&gt;
[[File:CTutorial5.png]]&lt;br /&gt;
&lt;br /&gt;
Now, this maay seem complicated, but it's really simple. The four lines after the if line, determine what the computer will do if the password is correct. So if it's correct, It'll set the redstone output from it's back to true (on), and open the door. (this is the &amp;quot;redstone.setOutput(&amp;quot;back&amp;quot;, true)&amp;quot; command.) It'll then wait two seconds, and turn the redstone back off again. It'll then repeat the function, so you don't need to reboot the computer.&lt;br /&gt;
&lt;br /&gt;
However, the last two lines dictate what the computer will do if the password is wrong, which is really just not opening the door, and repeating the function.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And now the finishing touches:&lt;br /&gt;
&lt;br /&gt;
[[File:CTutorial6.png]]&lt;br /&gt;
&lt;br /&gt;
This adds the &amp;quot;Ends&amp;quot; to the if which is inside the function, and the function. So we've declared our function.&lt;br /&gt;
Now to start it, we have the computer call the function after it declares it.&lt;br /&gt;
&lt;br /&gt;
Well, you should have your own password protected door!&lt;br /&gt;
Feel free to change the script around, maybe add a few success/failure messages, etc. etc.&lt;br /&gt;
&lt;br /&gt;
(NOTE: If the program fails somehow, Pressing and holding Ctrl + T will terminate it, and allow you to edit it like normally)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Alternative code ==&lt;br /&gt;
&lt;br /&gt;
Use Ctrl + T to terminate the program. You could use it as a [[Startup|startup script]] to make it run automatically at boot time.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 local function pass()&lt;br /&gt;
     term.clear()&lt;br /&gt;
     term.setCursorPos(1, 1)&lt;br /&gt;
     textutils.slowWrite(&amp;quot;Enter password: &amp;quot;)&lt;br /&gt;
     t = io.read()&lt;br /&gt;
     &lt;br /&gt;
     -- Replace 'password' by the one you want&lt;br /&gt;
     if t == &amp;quot;password&amp;quot; then&lt;br /&gt;
         textutils.slowWrite(&amp;quot;Access granted!&amp;quot;)&lt;br /&gt;
         redstone.setOutput(&amp;quot;back&amp;quot;, true)&lt;br /&gt;
         sleep(2)&lt;br /&gt;
         redstone.setOutput(&amp;quot;back&amp;quot;, false)&lt;br /&gt;
     else&lt;br /&gt;
         textutils.slowWrite(&amp;quot;Access denied!&amp;quot;)&lt;br /&gt;
         sleep(2)&lt;br /&gt;
     end&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 while true do&lt;br /&gt;
     pass()&lt;br /&gt;
 end&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>StoneLeaf</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Cobble_Generator&amp;diff=1104</id>
		<title>Cobble Generator</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Cobble_Generator&amp;diff=1104"/>
				<updated>2012-03-17T17:14:00Z</updated>
		
		<summary type="html">&lt;p&gt;StoneLeaf: Added to the Tutorials category&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tutorial written by Temploit/NewFletcher.&lt;br /&gt;
&lt;br /&gt;
== Colors ==&lt;br /&gt;
Run Loop: &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;while true do&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
If: &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;if a=b then&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Action: &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;turtle.dig()&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Var: &amp;lt;span style=&amp;quot;color:DarkViolet&amp;quot;&amp;gt;a = turtle.getItemCount(1)&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Print: &amp;lt;span style=&amp;quot;color:OrangeRed&amp;quot;&amp;gt;Print(&amp;quot;Cobble Farm&amp;quot;)&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For: &amp;lt;span style=&amp;quot;color:DarkCyan&amp;quot;&amp;gt;for i=1,9 do&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Image ==&lt;br /&gt;
[[File:SmallGen.png]]&lt;br /&gt;
&lt;br /&gt;
== Coding ==&lt;br /&gt;
First, you have to make a loop so the machine keeps running:&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;while true do&amp;lt;/span&amp;gt;&lt;br /&gt;
  ''''Command&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;end&amp;lt;/span&amp;gt;&lt;br /&gt;
Now, inside of the loop, you have to add something to detect the block:&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;while true do&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;if turtle.detect() then&amp;lt;/span&amp;gt;&lt;br /&gt;
  ''''Command&lt;br /&gt;
  &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;end&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;end&amp;lt;/span&amp;gt;&lt;br /&gt;
After that, the block must be mined:&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;while true do&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;if turtle.detect() then&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;turtle.dig()&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;end&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;end&amp;lt;/span&amp;gt;&lt;br /&gt;
This detects if a block is present, and then mines it.&lt;br /&gt;
However, when all the 9 block spaces are filled with blocks (9*64=576 blocks), they must be dropped to collect new blocks:&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;while true do&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;if turtle.detect() then&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;turtle.dig()&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;end&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span style=&amp;quot;color:DarkViolet&amp;quot;&amp;gt;itemcount = turtle.getItemCount(9)&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;if itemcount == 64 then&amp;lt;/span&amp;gt;&lt;br /&gt;
  ''''Drop all stacks&lt;br /&gt;
  &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;end&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;end&amp;lt;/span&amp;gt;&lt;br /&gt;
To drop all stacks, another loop must be added:&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;while true do&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;if turtle.detect() then&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;turtle.dig()&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;end&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span style=&amp;quot;color:DarkViolet&amp;quot;&amp;gt;itemcount = turtle.getItemCount(9)&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;if itemcount == 64 then&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:DarkCyan&amp;quot;&amp;gt;for i=1,9 do&amp;lt;/span&amp;gt;&lt;br /&gt;
   ''''Select each stack and then drops it&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:DarkCyan&amp;quot;&amp;gt;end&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;end&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;end&amp;lt;/span&amp;gt;&lt;br /&gt;
To select each stack and drop it, a &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;turtle.select()&amp;lt;/span&amp;gt; and a &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;turtle.drop()&amp;lt;/span&amp;gt; must be added:&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;while true do&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;if turtle.detect() then&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;turtle.dig()&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;end&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span style=&amp;quot;color:DarkViolet&amp;quot;&amp;gt;itemcount = turtle.getItemCount(9)&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;if itemcount == 64 then&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:DarkCyan&amp;quot;&amp;gt;for i=1,9 do&amp;lt;/span&amp;gt;&lt;br /&gt;
    &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;turtle.select(i)&amp;lt;span&amp;gt;&lt;br /&gt;
    &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;turtle.drop()&amp;lt;span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:DarkCyan&amp;quot;&amp;gt;end&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;turtle.select(1)&amp;lt;span&amp;gt;&lt;br /&gt;
  &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;end&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;end&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Advanced Generator ==&lt;br /&gt;
This is the generator I created (for use with (height:4 width:2) monitor):&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;while true do&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;if turtle.detect() then&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;turtle.dig()&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;term.clear()&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;term.setCursorPos(1,1)&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:DarkViolet&amp;quot;&amp;gt;a = turtle.getItemCount(1)&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:DarkViolet&amp;quot;&amp;gt;b = turtle.getItemCount(2)&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:DarkViolet&amp;quot;&amp;gt;c = turtle.getItemCount(3)&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:DarkViolet&amp;quot;&amp;gt;d = turtle.getItemCount(4)&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:DarkViolet&amp;quot;&amp;gt;e = turtle.getItemCount(5)&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:DarkViolet&amp;quot;&amp;gt;f = turtle.getItemCount(6)&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:DarkViolet&amp;quot;&amp;gt;g = turtle.getItemCount(7)&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:DarkViolet&amp;quot;&amp;gt;h = turtle.getItemCount(8)&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:DarkViolet&amp;quot;&amp;gt;i = turtle.getItemCount(9)&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:OrangeRed&amp;quot;&amp;gt;print(&amp;quot;Row 1: &amp;quot; .. a .. &amp;quot; (&amp;quot; .. math.floor(((a/(a+b+c+d+e+f+g+h+i))*100)) .. &amp;quot;%)&amp;quot;)&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:OrangeRed&amp;quot;&amp;gt;print(&amp;quot;Row 2: &amp;quot; .. b .. &amp;quot; (&amp;quot; .. math.floor(((b/(a+b+c+d+e+f+g+h+i))*100)) .. &amp;quot;%)&amp;quot;)&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:OrangeRed&amp;quot;&amp;gt;print(&amp;quot;Row 3: &amp;quot; .. c .. &amp;quot; (&amp;quot; .. math.floor(((c/(a+b+c+d+e+f+g+h+i))*100)) .. &amp;quot;%)&amp;quot;)&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:OrangeRed&amp;quot;&amp;gt;print(&amp;quot;Row 4: &amp;quot; .. d .. &amp;quot; (&amp;quot; .. math.floor(((d/(a+b+c+d+e+f+g+h+i))*100)) .. &amp;quot;%)&amp;quot;)&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:OrangeRed&amp;quot;&amp;gt;print(&amp;quot;Row 5: &amp;quot; .. e .. &amp;quot; (&amp;quot; .. math.floor(((e/(a+b+c+d+e+f+g+h+i))*100)) .. &amp;quot;%)&amp;quot;)&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:OrangeRed&amp;quot;&amp;gt;print(&amp;quot;Row 6: &amp;quot; .. f .. &amp;quot; (&amp;quot; .. math.floor(((f/(a+b+c+d+e+f+g+h+i))*100)) .. &amp;quot;%)&amp;quot;)&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:OrangeRed&amp;quot;&amp;gt;print(&amp;quot;Row 7: &amp;quot; .. g .. &amp;quot; (&amp;quot; .. math.floor(((g/(a+b+c+d+e+f+g+h+i))*100)) .. &amp;quot;%)&amp;quot;)&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:OrangeRed&amp;quot;&amp;gt;print(&amp;quot;Row 8: &amp;quot; .. h .. &amp;quot; (&amp;quot; .. math.floor(((h/(a+b+c+d+e+f+g+h+i))*100)) .. &amp;quot;%)&amp;quot;)&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:OrangeRed&amp;quot;&amp;gt;print(&amp;quot;Row 9: &amp;quot; .. i .. &amp;quot; (&amp;quot; .. math.floor(((i/(a+b+c+d+e+f+g+h+i))*100)) .. &amp;quot;%)&amp;quot;)&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:DarkViolet&amp;quot;&amp;gt;totalc = a+b+c+d+e+f+g+h+i&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:OrangeRed&amp;quot;&amp;gt;print(&amp;quot;Total: &amp;quot; .. totalc)&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:OrangeRed&amp;quot;&amp;gt;print(&amp;quot;-----------------&amp;quot;)&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:OrangeRed&amp;quot;&amp;gt;print(&amp;quot; ___ ___ ___ &amp;quot;)&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:OrangeRed&amp;quot;&amp;gt;print(&amp;quot;| 1 | 2 | 3 |&amp;quot;)&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:OrangeRed&amp;quot;&amp;gt;print(&amp;quot;|___|___|___|&amp;quot;)&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:OrangeRed&amp;quot;&amp;gt;print(&amp;quot;| 4 | 5 | 6 |&amp;quot;)&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:OrangeRed&amp;quot;&amp;gt;print(&amp;quot;|---|---|---|&amp;quot;)&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:OrangeRed&amp;quot;&amp;gt;print(&amp;quot;| 7 | 8 | 9 |&amp;quot;)&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:OrangeRed&amp;quot;&amp;gt;print(&amp;quot;|___|___|___|&amp;quot;)&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:OrangeRed&amp;quot;&amp;gt;print(&amp;quot; &amp;quot;)&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:OrangeRed&amp;quot;&amp;gt;print(&amp;quot;-----------------&amp;quot;)&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:OrangeRed&amp;quot;&amp;gt;print(&amp;quot;Cobble Farmer&amp;quot;)&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:OrangeRed&amp;quot;&amp;gt;print(&amp;quot;By: NewFletcher&amp;quot;)&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;end&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span style=&amp;quot;color:DarkViolet&amp;quot;&amp;gt;totalcount = turtle.getItemCount(9)&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;if totalcount == 64 then&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;term.clear()&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;term.setCursorPos(1,1)&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:OrangeRed&amp;quot;&amp;gt;print(&amp;quot;Dropping Stacks&amp;quot;)&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:OrangeRed&amp;quot;&amp;gt;print(&amp;quot;...Please wait.&amp;quot;)&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;sleep(1)&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:DarkCyan&amp;quot;&amp;gt;for i=1,9 do&amp;lt;/span&amp;gt;&lt;br /&gt;
    &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;turtle.select(i)&amp;lt;/span&amp;gt;&lt;br /&gt;
    &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;turtle.drop()&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:DarkCyan&amp;quot;&amp;gt;end&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;turtle.select(1)&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span style=&amp;quot;color:DarkCyan&amp;quot;&amp;gt;end&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;end&amp;lt;/span&amp;gt;&lt;br /&gt;
Images:&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:MyCob.png]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:MyGen.png]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>StoneLeaf</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Monitor&amp;diff=1103</id>
		<title>Monitor</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Monitor&amp;diff=1103"/>
				<updated>2012-03-17T17:11:59Z</updated>
		
		<summary type="html">&lt;p&gt;StoneLeaf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''Screen''' is a block that can display text on its front side. When several screen blocks are placed on the same plan, it will form a single monitor.&lt;br /&gt;
&lt;br /&gt;
===Recipe===&lt;br /&gt;
{{Crafting grid&lt;br /&gt;
 |A1=stone |B1=stone      |C1=stone&lt;br /&gt;
 |A2=stone |B2=glass_pane |C2=stone&lt;br /&gt;
 |A3=stone |B3=stone      |C3=stone&lt;br /&gt;
 |Output=screen&lt;br /&gt;
 }}&lt;br /&gt;
[[Category:Blocks]]&lt;/div&gt;</summary>
		<author><name>StoneLeaf</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Tutorials&amp;diff=1102</id>
		<title>Tutorials</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Tutorials&amp;diff=1102"/>
				<updated>2012-03-17T17:07:02Z</updated>
		
		<summary type="html">&lt;p&gt;StoneLeaf: Re-added a link to the tutorials category as some of them might not be listed here.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Look for the [[Getting Started]] guide if this is your first try. As some tutorials might not be listed here, you can also browse the [[:Category:Tutorials|tutorials category]].&lt;br /&gt;
&lt;br /&gt;
=== Basics ===&lt;br /&gt;
Common things that may need some explanation.&lt;br /&gt;
*[[The console and its shell]]&lt;br /&gt;
&lt;br /&gt;
=== Programming &amp;amp; Wiring ===&lt;br /&gt;
*[[Hello_World_Tutorial|Hello World!]]&lt;br /&gt;
*[[Guess_The_Number_(tutorial)|Guess the Number]]&lt;br /&gt;
*[[Making_a_Password_Protected_Door|Password Protected Door]]&lt;br /&gt;
*[[Making_an_API_(tutorial)|Programming an API]]&lt;br /&gt;
*[[Startup|Running script automatically at boot with Startup]]&lt;br /&gt;
&lt;br /&gt;
=== Turtles ===&lt;br /&gt;
The nice little robots that do the hard work for you.&lt;br /&gt;
*[[Turtle_Tutorial|Turtles!]]&lt;br /&gt;
*[[Turtle_Lumberjack_(tutorial)|Turtle Lumberjack]]&lt;br /&gt;
*[[Advanced_Turtle_Lumberjack_(tutorial)|Advanced Turtle Lumberjack]]&lt;br /&gt;
*[[Cobble_Generator|Cobblestone Generator]]&lt;/div&gt;</summary>
		<author><name>StoneLeaf</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=HTTP_(API)&amp;diff=1013</id>
		<title>HTTP (API)</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=HTTP_(API)&amp;diff=1013"/>
				<updated>2012-03-14T23:31:39Z</updated>
		
		<summary type="html">&lt;p&gt;StoneLeaf: Everything can be downloaded.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The HTTP API allows interfacing with websites and downloading from them.&lt;br /&gt;
&lt;br /&gt;
Methods provided by the HTTP API:&lt;br /&gt;
&lt;br /&gt;
* http.request( url )&lt;br /&gt;
* http.get( url )&lt;br /&gt;
&lt;br /&gt;
The HTTP API must be enabled in mod_ComputerCraft.cfg before being used.&lt;br /&gt;
&lt;br /&gt;
A period of time after a http.request() call is made, a &amp;quot;http_success&amp;quot; or &amp;quot;http_failure&amp;quot; even will be raised to os.pullEvent(). Arguments are the URL and a file handle if successful. http.get() blocks until this even is fired.&lt;br /&gt;
[[Category:APIs]]&lt;/div&gt;</summary>
		<author><name>StoneLeaf</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Tutorials&amp;diff=1011</id>
		<title>Tutorials</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Tutorials&amp;diff=1011"/>
				<updated>2012-03-14T23:18:25Z</updated>
		
		<summary type="html">&lt;p&gt;StoneLeaf: Adding a link to the Tutorials category&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Look for the [[Getting Started]] guide if this is your first try.&lt;br /&gt;
&lt;br /&gt;
== List of tutorials ==&lt;br /&gt;
'''Check the [[:Category:Tutorials|tutorials]] category.'''&lt;br /&gt;
&lt;br /&gt;
=== Basics ===&lt;br /&gt;
Common things that may need some explanation.&lt;br /&gt;
*[[The console and its shell]]&lt;br /&gt;
&lt;br /&gt;
=== Programming ===&lt;br /&gt;
A small Lua tutorial.&lt;br /&gt;
*[[Beginning with Lua]]&lt;/div&gt;</summary>
		<author><name>StoneLeaf</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Startup&amp;diff=1010</id>
		<title>Startup</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Startup&amp;diff=1010"/>
				<updated>2012-03-14T23:15:38Z</updated>
		
		<summary type="html">&lt;p&gt;StoneLeaf: Category change&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Startup Scripts==&lt;br /&gt;
If, upon booting, a computer terminal detects a script named &amp;quot;startup&amp;quot; in its root directory, this script will be run. Similarly, if a disk is present in an attached disk drive containing a script named &amp;quot;startup&amp;quot; that script will be run.&lt;br /&gt;
&lt;br /&gt;
===Very simple auto-install script to set up a single-use terminal (e.g. password-protected door):===&lt;br /&gt;
Disk contents:&lt;br /&gt;
 /disk/startup (installer script)&lt;br /&gt;
 /disk/startup.file (program to be installed on terminal)&lt;br /&gt;
&lt;br /&gt;
The script could look like:&lt;br /&gt;
  fs.copy(&amp;quot;/disk/startup.file&amp;quot;, &amp;quot;/startup&amp;quot;)&lt;br /&gt;
  shell.run(&amp;quot;startup&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
When the disk is placed into a drive attached to a terminal, and the terminal is rebooted - the startup file on the disk will run. This startup file serves only to copy the program you've named &amp;quot;startup.file&amp;quot; to the root directory of the terminal with the new name &amp;quot;startup&amp;quot; - this will then run each time the terminal is booted, eliminating the need for the disk drive.&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>StoneLeaf</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Worm&amp;diff=1009</id>
		<title>Worm</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Worm&amp;diff=1009"/>
				<updated>2012-03-14T23:09:04Z</updated>
		
		<summary type="html">&lt;p&gt;StoneLeaf: This is irrelevant and confusing: &amp;quot;Most LPs about this mod will consist of the LPer playing Worm.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[image:2012-01-30 22.51.36.png|thumb|400px|Gameplay of Worm.]]Worm is a default program. It is essentially Snake without walls; instead of hitting a wall and dying, the worm will wrap around the screen. It has three difficulty levels.&lt;br /&gt;
&lt;br /&gt;
[[Category:Notable Programs]]&lt;/div&gt;</summary>
		<author><name>StoneLeaf</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Textutils_(API)&amp;diff=1006</id>
		<title>Textutils (API)</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Textutils_(API)&amp;diff=1006"/>
				<updated>2012-03-14T22:32:45Z</updated>
		
		<summary type="html">&lt;p&gt;StoneLeaf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Text utilities is used to mess around with text easier.&lt;br /&gt;
&lt;br /&gt;
Its functions include:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#EEE&amp;quot; width=&amp;quot;200px&amp;quot;|Method name&lt;br /&gt;
!style=&amp;quot;background:#EEE&amp;quot; width=&amp;quot;*&amp;quot;|Description&lt;br /&gt;
|-&lt;br /&gt;
|textutils.slowPrint( text )&lt;br /&gt;
|Slowly prints the text.&lt;br /&gt;
|-&lt;br /&gt;
|textutils.slowWrite( text )&lt;br /&gt;
|Slowly writes the text.&lt;br /&gt;
|-&lt;br /&gt;
|textutils.formatTime( time, bTwentyFourHour)&lt;br /&gt;
|Put a time into it, and it spews it out in a different format.&lt;br /&gt;
|-&lt;br /&gt;
|textutils.tabulate( table, table2, so on)&lt;br /&gt;
|&amp;lt;no description given&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|textutils.pagedTabulate( table, table2, so on)&lt;br /&gt;
|&amp;lt;no description given&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|textutils.serialize( t )&lt;br /&gt;
|&amp;lt;no description given&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|textutils.unserialize( s )&lt;br /&gt;
|&amp;lt;no description given&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|textutils.urlEncode( str )&lt;br /&gt;
|&amp;lt;no description given&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:APIs]]&lt;/div&gt;</summary>
		<author><name>StoneLeaf</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Template:Changelog&amp;diff=1005</id>
		<title>Template:Changelog</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Template:Changelog&amp;diff=1005"/>
				<updated>2012-03-14T22:25:52Z</updated>
		
		<summary type="html">&lt;p&gt;StoneLeaf: Added 1.31&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width: 15%&amp;quot; | Version&lt;br /&gt;
! class=&amp;quot;unsortable&amp;quot; | New Features or Changes&lt;br /&gt;
! style=&amp;quot;width: 15%&amp;quot; | Minecraft Version&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | ComputerCraft 1.31&lt;br /&gt;
|&lt;br /&gt;
*Ported to Minecraft 1.2.3&lt;br /&gt;
*Added Monitors (thanks to Cloudy). Build huge external displays for your computers!&lt;br /&gt;
*New positioning capabilities for computers and turtles. Build GPS networks and triangulate the positions of your turtles position so they never get lost!&lt;br /&gt;
*New turtle.compare() function for turtles for more intelligent mining.&lt;br /&gt;
*New programs and APIs: gps, monitor, vector&lt;br /&gt;
*New program: pastebin (requires enableAPI_HTTP=1 in mod_ComputerCraft.cfg), upload and download programs made by other users ingame!&lt;br /&gt;
*Added a new top secret program designed for use with Monitors, see if you can find it.&lt;br /&gt;
*Lots of additions to existing APIs and programs. Type &amp;quot;help whatsnew&amp;quot; in game for the full details.&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot;  | 1.2.3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | ComputerCraft 1.3&lt;br /&gt;
|&lt;br /&gt;
*Ported to Minecraft Forge.&lt;br /&gt;
*Added Turtles, Mining Turtles, Wireless Turtles and Wireless Mining Turtles (Block ID 209).&lt;br /&gt;
*Added a Peripheral API to allow mod developers to create custom peripherals for ComputerCraft. Details on this will be posted in the next few days.&lt;br /&gt;
*Added Wireless Modems. Use the rednet API to send data wirelessly between computers and turtles!&lt;br /&gt;
*Computers and Disk Drives no longer get destroyed by water.&lt;br /&gt;
*Computers and Turtles can now be labelled, destroyed, and moved around, keeping their state.&lt;br /&gt;
*Computers and Turtles can connect to adjacent devices, and turn them on or off.&lt;br /&gt;
*User programs now give line numbers in their error messages, for easier debugging.&lt;br /&gt;
*New APIs and programs for Turtles: turtle, excavate, tunnel, go, turn and dance.&lt;br /&gt;
*Lots of additions to existing APIs and programs. Type &amp;quot;help whatsnew&amp;quot; in game for the full details.&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot;  | 1.1&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | ComputerCraft 1.21&lt;br /&gt;
|&lt;br /&gt;
*Added shortcut key to shutdown the computer.&lt;br /&gt;
*Added a help API add-on pack.&lt;br /&gt;
*Various bug fixes.&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot;  | 1.1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | ComputerCraft 1.2&lt;br /&gt;
|&lt;br /&gt;
*Added Disk Drives&lt;br /&gt;
*Added shortcut keys to terminate the current program and reboot the computer.&lt;br /&gt;
*Added a new system for user created APIs.&lt;br /&gt;
*Added RedNet.&lt;br /&gt;
*Added shell.setPath() and shell.setAlias().&lt;br /&gt;
*Added a new ROM startup script.&lt;br /&gt;
*Added os.clock(), os.time(), and os.setAlarm().&lt;br /&gt;
*Added game: &amp;quot;Worm!&amp;quot;&lt;br /&gt;
*Added programs: alias, apis, copy, delete, dj, drive, eject, id, label, list, move, reboot, redset, rename, time, worm.&lt;br /&gt;
*Added APIs: bit, colours, disk, help, rednet, parallel, textutils&lt;br /&gt;
*Text can be edited with left and right arrow keys.&lt;br /&gt;
*Many bug fixes&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot;  | 1.0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | ComputerCraft 1.11&lt;br /&gt;
|&lt;br /&gt;
*Fixed bug where [[Console|Computers]] could not read input from RedPower cables which had a bend in the immediately adjacent square.&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot;  | 1.0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | ComputerCraft 1.1&lt;br /&gt;
|&lt;br /&gt;
*Changed the default block ID for the [[Console|Computer]] to 207.&lt;br /&gt;
*Added multiplayer support.&lt;br /&gt;
*Added connectivity with RedPower bundled cables.&lt;br /&gt;
*Added HTTP API&lt;br /&gt;
*Fixed support for HD textures on the front of [[Console|Computers]].&lt;br /&gt;
*Added command history to the [[Console]].&lt;br /&gt;
*Added config options to change the size of the [[Console]] GUI and the text color.&lt;br /&gt;
*Programs with infinite loops that don't yield will no longer freeze Minecraft and will terminate after 10 seconds.&lt;br /&gt;
*Extended Help and fixed typos/small errors in various programs.&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot;  | 1.0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | ComputerCraft 1.02&lt;br /&gt;
|&lt;br /&gt;
*Fixed the MCPatcher HD textures incompatibility that was causing the computer texture to replace cobblestone blocks.&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot;  | 1.0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | ComputerCraft 1.01&lt;br /&gt;
|&lt;br /&gt;
*Added a ModLoader configuration file, so the computers block ID can be changed.&lt;br /&gt;
*Made the error message that displays when Lua files are not correctly installed much more clear, no more &amp;quot;Assertion failed.&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot;  | 1.0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | ComputerCraft 1.0&lt;br /&gt;
|&lt;br /&gt;
*First Release&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot;  | 1.0&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>StoneLeaf</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Gps_(API)&amp;diff=1004</id>
		<title>Gps (API)</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Gps_(API)&amp;diff=1004"/>
				<updated>2012-03-14T22:19:32Z</updated>
		
		<summary type="html">&lt;p&gt;StoneLeaf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The gps API provides a method for turtles and computers to retrieve their own locations.&lt;br /&gt;
&lt;br /&gt;
It broadcasts a PING message over [[Rednet_(API)|rednet]] and wait for responses. In order for this system to work, there must be computers used as gps ''hosts'' which will respond and allow [https://en.wikipedia.org/wiki/Triangulation triangulation]. You can set up hosts using the [[Gps (program)|gps program]].&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#EEE&amp;quot; width=&amp;quot;200px&amp;quot;|Method name&lt;br /&gt;
!style=&amp;quot;background:#EEE&amp;quot; width=&amp;quot;*&amp;quot;|Description&lt;br /&gt;
|-&lt;br /&gt;
|gps.locate(timeout, debug)&lt;br /&gt;
|Tries to retrieve the computer or turtle own location.&amp;lt;br /&amp;gt;&lt;br /&gt;
''@param'' '''timeout''' the amount of time, in seconds, to wait for a rednet response&amp;lt;br /&amp;gt;&lt;br /&gt;
''@param'' '''debug''' if true, outputs debug messages&amp;lt;br /&amp;gt;&lt;br /&gt;
''@return'' the computer or turtle own location (x, y, z) or nil if it could not be determined&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:APIs]]&lt;/div&gt;</summary>
		<author><name>StoneLeaf</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Gps_(program)&amp;diff=1003</id>
		<title>Gps (program)</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Gps_(program)&amp;diff=1003"/>
				<updated>2012-03-14T22:18:16Z</updated>
		
		<summary type="html">&lt;p&gt;StoneLeaf: Page creation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''gps''' is a stock program designed to make use of the ''positioning capabilities'' introduced in ComputerCraft 1.31.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#EEE&amp;quot; width=&amp;quot;200px&amp;quot;|Method name&lt;br /&gt;
!style=&amp;quot;background:#EEE&amp;quot; width=&amp;quot;*&amp;quot;|Description&lt;br /&gt;
|-&lt;br /&gt;
|gps host&lt;br /&gt;
|The computer will act as a gps host.&amp;lt;br /&amp;gt;&lt;br /&gt;
The computer's own location is retrieved using the gps.&lt;br /&gt;
|-&lt;br /&gt;
|gps host &amp;lt;x&amp;gt; &amp;lt;y&amp;gt; &amp;lt;z&amp;gt;&lt;br /&gt;
|The computer will act as a gps host.&amp;lt;br /&amp;gt;&lt;br /&gt;
You manually provide the computer's own location (x, y and z).&lt;br /&gt;
|-&lt;br /&gt;
|gps locate&lt;br /&gt;
|It will try to retrieve the computer or turtle own location.&amp;lt;br /&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Notable Programs]]&lt;/div&gt;</summary>
		<author><name>StoneLeaf</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Gps_(API)&amp;diff=1001</id>
		<title>Gps (API)</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Gps_(API)&amp;diff=1001"/>
				<updated>2012-03-14T21:58:08Z</updated>
		
		<summary type="html">&lt;p&gt;StoneLeaf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The gps API provides a method for turtles and computers to retrieve their own locations.&lt;br /&gt;
&lt;br /&gt;
It broadcasts a PING message over [[Rednet_(API)|rednet]] and wait for responses. In order for this system to work, there must be computers used as gps ''hosts'' which will respond and allow [https://en.wikipedia.org/wiki/Triangulation triangulation].&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#EEE&amp;quot; width=&amp;quot;200px&amp;quot;|Method name&lt;br /&gt;
!style=&amp;quot;background:#EEE&amp;quot; width=&amp;quot;*&amp;quot;|Description&lt;br /&gt;
|-&lt;br /&gt;
|gps.locate(timeout, debug)&lt;br /&gt;
|Tries to retrieve the computer or turtle own location.&amp;lt;br /&amp;gt;&lt;br /&gt;
''@param'' '''timeout''' the amount of time, in seconds, to wait for a rednet response&amp;lt;br /&amp;gt;&lt;br /&gt;
''@param'' '''debug''' if true, outputs debug messages&amp;lt;br /&amp;gt;&lt;br /&gt;
''@return'' the computer or turtle own location (x, y, z) or nil if it could not be determined&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:APIs]]&lt;/div&gt;</summary>
		<author><name>StoneLeaf</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Gps_(API)&amp;diff=1000</id>
		<title>Gps (API)</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Gps_(API)&amp;diff=1000"/>
				<updated>2012-03-14T21:54:42Z</updated>
		
		<summary type="html">&lt;p&gt;StoneLeaf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The gps API provides a method for turtles and computers to get their own locations.&lt;br /&gt;
&lt;br /&gt;
It broadcasts a PING message over [[Rednet_(API)|rednet]] and wait for responses. In order for this system to work, there must be computers used as gps ''hosts'' which will respond and allow [https://en.wikipedia.org/wiki/Triangulation triangulation].&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#EEE&amp;quot; width=&amp;quot;200px&amp;quot;|Method name&lt;br /&gt;
!style=&amp;quot;background:#EEE&amp;quot; width=&amp;quot;*&amp;quot;|Description&lt;br /&gt;
|-&lt;br /&gt;
|gps.locate(timeout, debug)&lt;br /&gt;
|Tries to retrieve the computer or turtle own location.&amp;lt;br /&amp;gt;&lt;br /&gt;
''@param'' '''timeout''' the amount of time, in seconds, to wait for a rednet response&amp;lt;br /&amp;gt;&lt;br /&gt;
''@param'' '''debug''' if true, outputs debug messages&amp;lt;br /&amp;gt;&lt;br /&gt;
''@return'' the computer or turtle own location (x, y, z) or nil if it could not be determined&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:APIs]]&lt;/div&gt;</summary>
		<author><name>StoneLeaf</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Worm&amp;diff=996</id>
		<title>Worm</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Worm&amp;diff=996"/>
				<updated>2012-03-14T21:43:13Z</updated>
		
		<summary type="html">&lt;p&gt;StoneLeaf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[image:2012-01-30 22.51.36.png|thumb|400px|Gameplay of Worm.]]Worm is a default program. Most LPs about this mod will consist of the LPer playing Worm. Worm is essentially Snake without walls; instead of hitting a wall and dying, the worm will wrap around the screen. Worm has three difficulties.&lt;br /&gt;
&lt;br /&gt;
[[Category:Notable Programs]]&lt;/div&gt;</summary>
		<author><name>StoneLeaf</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Category:Notable_Programs&amp;diff=994</id>
		<title>Category:Notable Programs</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Category:Notable_Programs&amp;diff=994"/>
				<updated>2012-03-14T21:42:40Z</updated>
		
		<summary type="html">&lt;p&gt;StoneLeaf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This lists all notable programs that are ''not'' OSes.&lt;br /&gt;
[[Category:Lists]]&lt;/div&gt;</summary>
		<author><name>StoneLeaf</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Category:Notable_Programs&amp;diff=993</id>
		<title>Category:Notable Programs</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Category:Notable_Programs&amp;diff=993"/>
				<updated>2012-03-14T21:41:49Z</updated>
		
		<summary type="html">&lt;p&gt;StoneLeaf: Created page with &amp;quot;This lists all notable programs that are ''not'' OSes.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This lists all notable programs that are ''not'' OSes.&lt;/div&gt;</summary>
		<author><name>StoneLeaf</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Adventure&amp;diff=992</id>
		<title>Adventure</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Adventure&amp;diff=992"/>
				<updated>2012-03-14T21:41:09Z</updated>
		
		<summary type="html">&lt;p&gt;StoneLeaf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[image:2012-01-30 22.51.59.png|frame|right|Gameplay of Adventure.]]Adventure is one of the default programs. Adventure emulates a text adventure, but it takes place in MineCraft. Most LPs consist of LPers playing Adventure. Therefore, it is possible to play MineCraft, on a computer, in MineCraft, on a computer. This is referred to the internet as &amp;quot;inception&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
for more ingame info type: &amp;quot;help&amp;quot;&lt;br /&gt;
[[Category:Notable Programs]]&lt;/div&gt;</summary>
		<author><name>StoneLeaf</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Nil_(type)&amp;diff=991</id>
		<title>Nil (type)</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Nil_(type)&amp;diff=991"/>
				<updated>2012-03-14T21:21:27Z</updated>
		
		<summary type="html">&lt;p&gt;StoneLeaf: Typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Nil''' is Lua's ''null''. It is different from any other value and represents ''false'' in a logical expression. Most of the time, it is used to indicate the lack of a useful value.&lt;br /&gt;
&lt;br /&gt;
Check Wikipedia's page on the [https://en.wikipedia.org/wiki/Null_pointer#Null_pointer null pointer] for more informations.&lt;/div&gt;</summary>
		<author><name>StoneLeaf</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Nil_(type)&amp;diff=990</id>
		<title>Nil (type)</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Nil_(type)&amp;diff=990"/>
				<updated>2012-03-14T21:21:05Z</updated>
		
		<summary type="html">&lt;p&gt;StoneLeaf: Rewrite, there were wrong informations&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Nil''' is Lua's ''null''. It is different from any other value and represent ''false'' in a logical expression. Most of the time, it is used to indicate the lack of a useful value.&lt;br /&gt;
&lt;br /&gt;
Check Wikipedia's page on the [https://en.wikipedia.org/wiki/Null_pointer#Null_pointer null pointer] for more informations.&lt;/div&gt;</summary>
		<author><name>StoneLeaf</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Vector_(API)&amp;diff=960</id>
		<title>Vector (API)</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Vector_(API)&amp;diff=960"/>
				<updated>2012-03-14T19:19:30Z</updated>
		
		<summary type="html">&lt;p&gt;StoneLeaf: Typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The vector API provides methods to create and manipulate vectors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot; style=&amp;quot;text-align: center; background: #DDDDDD&amp;quot;|Static methods&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align: center; background: #EFEFEF&amp;quot; width=&amp;quot;200px&amp;quot;|Method name&lt;br /&gt;
|style=&amp;quot;text-align: center; background: #EFEFEF&amp;quot; width=&amp;quot;*&amp;quot;|Description&lt;br /&gt;
|-&lt;br /&gt;
|vector.new(x, y, z)&lt;br /&gt;
|Creates a vector.&amp;lt;br /&amp;gt;&lt;br /&gt;
''@param'' '''x, y, z''' the vector coordinates&amp;lt;br /&amp;gt;&lt;br /&gt;
''@return'' the created vector&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot; style=&amp;quot;text-align: center; background: #DDDDDD&amp;quot;|Object methods&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align: center; background: #EFEFEF&amp;quot; width=&amp;quot;200px&amp;quot;|Method name&lt;br /&gt;
|style=&amp;quot;text-align: center; background: #EFEFEF&amp;quot; width=&amp;quot;*&amp;quot;|Description&lt;br /&gt;
|-&lt;br /&gt;
|vectorA.add(vectorB)&lt;br /&gt;
|Adds vectorB to vectorA and returns the resulted vector.&lt;br /&gt;
|-&lt;br /&gt;
|vectorA.sub(vectorB)&lt;br /&gt;
|Subtracts vectorB to vectorA and returns the resulted vector.&lt;br /&gt;
|-&lt;br /&gt;
|vectorA.mul(vectorB)&lt;br /&gt;
|Multiplies vectorB with vectorA and returns the resulted vector.&lt;br /&gt;
|-&lt;br /&gt;
|vectorA.dot(vectorB)&lt;br /&gt;
|Returns the dot product of vectorA and vectorB.&lt;br /&gt;
|-&lt;br /&gt;
|vectorA.cross(vectorB)&lt;br /&gt;
|Returns the vector which resulted in the cross product of vectorA and vectorB.&lt;br /&gt;
|-&lt;br /&gt;
|vectorA.length()&lt;br /&gt;
|Returns the vector's length.&lt;br /&gt;
|-&lt;br /&gt;
|vectorA.normalize()&lt;br /&gt;
|Normalizes the vector and returns the result as a new vector.&lt;br /&gt;
|-&lt;br /&gt;
|vectorA.round()&lt;br /&gt;
|Rounds the vector coordinates to the nearest integers and returns the result as a new vector.&lt;br /&gt;
|-&lt;br /&gt;
|vectorA.tostring()&lt;br /&gt;
|Returns a string representation of the vector in the form of &amp;quot;x,y,z&amp;quot;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:APIs]]&lt;/div&gt;</summary>
		<author><name>StoneLeaf</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Vector_(API)&amp;diff=959</id>
		<title>Vector (API)</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Vector_(API)&amp;diff=959"/>
				<updated>2012-03-14T19:13:53Z</updated>
		
		<summary type="html">&lt;p&gt;StoneLeaf: Page creation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The vector API provides methods to create and manipulates vectors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot; style=&amp;quot;text-align: center; background: #DDDDDD&amp;quot;|Static methods&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align: center; background: #EFEFEF&amp;quot; width=&amp;quot;200px&amp;quot;|Method name&lt;br /&gt;
|style=&amp;quot;text-align: center; background: #EFEFEF&amp;quot; width=&amp;quot;*&amp;quot;|Description&lt;br /&gt;
|-&lt;br /&gt;
|vector.new(x, y, z)&lt;br /&gt;
|Creates a vector.&amp;lt;br /&amp;gt;&lt;br /&gt;
''@param'' '''x, y, z''' the vector coordinates&amp;lt;br /&amp;gt;&lt;br /&gt;
''@return'' the created vector&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot; style=&amp;quot;text-align: center; background: #DDDDDD&amp;quot;|Object methods&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align: center; background: #EFEFEF&amp;quot; width=&amp;quot;200px&amp;quot;|Method name&lt;br /&gt;
|style=&amp;quot;text-align: center; background: #EFEFEF&amp;quot; width=&amp;quot;*&amp;quot;|Description&lt;br /&gt;
|-&lt;br /&gt;
|vectorA.add(vectorB)&lt;br /&gt;
|Adds vectorB to vectorA and returns the resulted vector.&lt;br /&gt;
|-&lt;br /&gt;
|vectorA.sub(vectorB)&lt;br /&gt;
|Subtracts vectorB to vectorA and returns the resulted vector.&lt;br /&gt;
|-&lt;br /&gt;
|vectorA.mul(vectorB)&lt;br /&gt;
|Multiplies vectorB with vectorA and returns the resulted vector.&lt;br /&gt;
|-&lt;br /&gt;
|vectorA.dot(vectorB)&lt;br /&gt;
|Returns the dot product of vectorA and vectorB.&lt;br /&gt;
|-&lt;br /&gt;
|vectorA.cross(vectorB)&lt;br /&gt;
|Returns the vector which resulted in the cross product of vectorA and vectorB.&lt;br /&gt;
|-&lt;br /&gt;
|vectorA.length()&lt;br /&gt;
|Returns the vector's length.&lt;br /&gt;
|-&lt;br /&gt;
|vectorA.normalize()&lt;br /&gt;
|Normalizes the vector and returns the result as a new vector.&lt;br /&gt;
|-&lt;br /&gt;
|vectorA.round()&lt;br /&gt;
|Rounds the vector coordinates to the nearest integers and returns the result as a new vector.&lt;br /&gt;
|-&lt;br /&gt;
|vectorA.tostring()&lt;br /&gt;
|Returns a string representation of the vector in the form of &amp;quot;x,y,z&amp;quot;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:APIs]]&lt;/div&gt;</summary>
		<author><name>StoneLeaf</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Gps_(API)&amp;diff=958</id>
		<title>Gps (API)</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Gps_(API)&amp;diff=958"/>
				<updated>2012-03-14T18:34:58Z</updated>
		
		<summary type="html">&lt;p&gt;StoneLeaf: Added examples of rednet entities&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The gps API provides a method to locate a connected [[Rednet_(API)|rednet]] entity (like a turtle or a computer).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#EEE&amp;quot; width=&amp;quot;200px&amp;quot;|Method name&lt;br /&gt;
!style=&amp;quot;background:#EEE&amp;quot; width=&amp;quot;*&amp;quot;|Description&lt;br /&gt;
|-&lt;br /&gt;
|gps.locate(timeout, debug)&lt;br /&gt;
|Tries to locate any connected rednet entity.&amp;lt;br /&amp;gt;&lt;br /&gt;
''@param'' '''timeout''' the amount of time, in seconds, to wait for a rednet response&amp;lt;br /&amp;gt;&lt;br /&gt;
''@param'' '''debug''' if true, outputs debug messages&amp;lt;br /&amp;gt;&lt;br /&gt;
''@return'' the location of the connected rednet entity (x, y and z) or nil if it could not be determined&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:APIs]]&lt;/div&gt;</summary>
		<author><name>StoneLeaf</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Gps_(API)&amp;diff=957</id>
		<title>Gps (API)</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Gps_(API)&amp;diff=957"/>
				<updated>2012-03-14T18:32:15Z</updated>
		
		<summary type="html">&lt;p&gt;StoneLeaf: Page creation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The gps API provides a method to locate a connected [[Rednet_(API)|rednet]] entity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#EEE&amp;quot; width=&amp;quot;200px&amp;quot;|Method name&lt;br /&gt;
!style=&amp;quot;background:#EEE&amp;quot; width=&amp;quot;*&amp;quot;|Description&lt;br /&gt;
|-&lt;br /&gt;
|gps.locate(timeout, debug)&lt;br /&gt;
|Tries to locate any connected rednet entity.&amp;lt;br /&amp;gt;&lt;br /&gt;
''@param'' '''timeout''' the amount of time, in seconds, to wait for a rednet response&amp;lt;br /&amp;gt;&lt;br /&gt;
''@param'' '''debug''' if true, outputs debug messages&amp;lt;br /&amp;gt;&lt;br /&gt;
''@return'' the location of the connected rednet entity (x, y and z) or nil if it could not be determined&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:APIs]]&lt;/div&gt;</summary>
		<author><name>StoneLeaf</name></author>	</entry>

	</feed>