<?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=Turkey</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=Turkey"/>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/Special:Contributions/Turkey"/>
		<updated>2026-07-11T07:11:54Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.24.1</generator>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Term.redirect&amp;diff=7218</id>
		<title>Term.redirect</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Term.redirect&amp;diff=7218"/>
				<updated>2015-08-27T16:31:30Z</updated>
		
		<summary type="html">&lt;p&gt;Turkey: Fixing typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{lowercase}}&lt;br /&gt;
{{Function&lt;br /&gt;
|name=term.redirect&lt;br /&gt;
|args={{type|table}} terminal object&lt;br /&gt;
|returns={{type|table}} previous terminal object&lt;br /&gt;
|api=term&lt;br /&gt;
|addon=ComputerCraft&lt;br /&gt;
|desc=Redirects [[term (API)|terminal]] output to a [[monitor]], a [[window (API)|window]], or any other custom terminal object. Once the redirect is performed, any calls to a &amp;quot;term&amp;quot; function - or to a function that makes ''use'' of a term function, as as [[print|print()]] - will instead operate with the new terminal object.&lt;br /&gt;
&lt;br /&gt;
A &amp;quot;terminal object&amp;quot; is simply a table that contains functions with the same names - and general features - as those found in the [[term (API)|term]] table. For example, a [[Peripheral.wrap|wrapped]] monitor is suitable.&lt;br /&gt;
&lt;br /&gt;
The redirect can be undone by pointing back to the previous terminal object (which this function returns whenever you switch). For ComputerCraft builds older than 1.6, use [[term.restore|term.restore()]] to revert instead.&lt;br /&gt;
&lt;br /&gt;
Advanced systems running on ComputerCraft 1.6 or later implement [[multishell]], which enables easy multitasking at the expense of some terminal slow-down (all instances of the [[shell]] are redirected to a [[window (API)|window]], increasing the number of function calls involved in any graphical updates). This can be circumvented by way of redirecting to [[term.native]](), at the cost of (somewhat messily) breaking things for users who actually want the multitasking capability.&lt;br /&gt;
&lt;br /&gt;
|examples=&lt;br /&gt;
{{Example&lt;br /&gt;
|desc=Prints &amp;quot;Hello World!&amp;quot; on the right monitor.&lt;br /&gt;
|code=term.redirect(peripheral.wrap(&amp;quot;right&amp;quot;))&amp;lt;br&amp;gt;print(&amp;quot;Hello  World!&amp;quot;)&lt;br /&gt;
}}&lt;br /&gt;
{{Example&lt;br /&gt;
|desc=Redirects to a monitor, writes some text there, then reverts back to the previous display.&lt;br /&gt;
|code=&lt;br /&gt;
 local mon = [[peripheral.find]](&amp;quot;monitor&amp;quot;)&lt;br /&gt;
 local oldTerm = term.redirect(mon)&lt;br /&gt;
 print(&amp;quot;I'm written on a monitor!&amp;quot;)&lt;br /&gt;
 term.redirect(oldTerm)&lt;br /&gt;
}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:API_Functions]]&lt;/div&gt;</summary>
		<author><name>Turkey</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Turtle_Fuel&amp;diff=7213</id>
		<title>Turtle Fuel</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Turtle_Fuel&amp;diff=7213"/>
				<updated>2015-08-20T03:01:39Z</updated>
		
		<summary type="html">&lt;p&gt;Turkey: Works fine as a redirect, doesn't need to be deleted&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Turtle.refuel#Fuel_Values]]&lt;/div&gt;</summary>
		<author><name>Turkey</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Pocket_computer&amp;diff=7212</id>
		<title>Pocket computer</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Pocket_computer&amp;diff=7212"/>
				<updated>2015-08-20T02:58:41Z</updated>
		
		<summary type="html">&lt;p&gt;Turkey: Redirected page to Pocket Computer&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Pocket Computer]]&lt;/div&gt;</summary>
		<author><name>Turkey</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Bios.lua&amp;diff=7211</id>
		<title>Bios.lua</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Bios.lua&amp;diff=7211"/>
				<updated>2015-08-20T02:58:10Z</updated>
		
		<summary type="html">&lt;p&gt;Turkey: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
&lt;br /&gt;
bios.lua is the main component in a computer ([[computer]]s, [[pocket computer]]s, [[turtle]]s). If you were to look at the .jar file, you would see bios.lua is in the same directory as rom (The root directory) but doesn't show up when used with ls, dir or list. It is a file that is run on boot of the computer and you can't edit it internally but can edit it externally with programs like [https://notepad-plus-plus.org/ Notepad++]. The functions, however, can be overwritten with simple Lua code.&lt;/div&gt;</summary>
		<author><name>Turkey</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Adventure&amp;diff=7210</id>
		<title>Adventure</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Adventure&amp;diff=7210"/>
				<updated>2015-08-20T02:55:00Z</updated>
		
		<summary type="html">&lt;p&gt;Turkey: &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 in [[CraftOS]]. Adventure emulates a text adventure, but it takes place in Minecraft.  Therefore, it is possible to play Minecraft, on a computer, in Minecraft, on a computer. This is referred to as &amp;quot;recursion&amp;quot;. Also most LPs consist of LPers playing Adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For more ingame info type: &amp;quot;help&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[Category:Games]]&lt;/div&gt;</summary>
		<author><name>Turkey</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Lava&amp;diff=7209</id>
		<title>Lava</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Lava&amp;diff=7209"/>
				<updated>2015-08-19T19:42:34Z</updated>
		
		<summary type="html">&lt;p&gt;Turkey: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
'''Lava''' is a [[fuel]] source in Computercraft. A [[turtle]] can consume a bucket of lava for 1,000 fuel units (using the [[turtle.refuel]] command when a bucket is in the currently selected slot). This will leave an empty bucket in the selected slot after the lava is consumed. When a turtle uses [[turtle.place]] and has a bucket of lava in the currently selected slot, it will place the lava in front of it. When a turtle uses turtle.place and has an empty bucket in the currently selected slot, it can collect a lava source block in front of it and put the lava in the bucket. This allows turtles to easily [[refuel]] on the move when working deep underground or in the nether. Lava does not harm turtles.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Turtle (API)]]&lt;br /&gt;
* [[Water]]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://minecraft.gamepedia.com/Lava Lava at minecraftwiki]&lt;br /&gt;
&lt;br /&gt;
[[Category:Vanilla_Minecraft]]&lt;/div&gt;</summary>
		<author><name>Turkey</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Redstone_(API)&amp;diff=6815</id>
		<title>Redstone (API)</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Redstone_(API)&amp;diff=6815"/>
				<updated>2014-11-22T18:37:44Z</updated>
		
		<summary type="html">&lt;p&gt;Turkey: /* Data exchange */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Redstone API contains methods to control attached redstone. All methods from the redstone API can also be called using &amp;quot;rs&amp;quot;, which points to the same library. For example, instead of redstone.getSides(), rs.getSides() can be used.&lt;br /&gt;
&lt;br /&gt;
In addition to regular redstone / RedPower cables for regular signals, RedPower bundled (for MineCraft 1.4.x) or Minefactory Reloaded RedNet cables (for MineCraft 1.5.x up) may be used to send &amp;quot;bundled&amp;quot; signals out the one face. Refer to the [[Colors]] API for more information on interacting with these.&lt;br /&gt;
&lt;br /&gt;
As of ComputerCraft 1.6, the previous support for bundled cables has been replaced with an API allowing other mod developers to provide the support themselves. '''At this time, bundled cables cannot be used with this build - please update this page if and when any mods add compatibility!'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table style=&amp;quot;width: 100%; border: solid 1px black; margin: 2px; border-spacing: 0px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold; font-size: large; padding-bottom: .3em; border-bottom: solid #C9C9C9 1px; background: #D3FFC2; line-height:28px;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Grid_disk.png|24px]]&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
Redstone (API)&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;width: 350px; background: #E0E0E0; padding: .4em; font-weight:bold;&amp;quot;&amp;gt;Method Name&amp;lt;/td&amp;gt;&amp;lt;td style=&amp;quot;background: #E0E0E0; padding: .4em; font-weight:bold;&amp;quot;&amp;gt;Description&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;[[redstone.getSides]]()&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Returns a table of possible sides.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr style=&amp;quot;background-color: #E8E8E8;&amp;quot;&amp;gt;&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;[[redstone.getInput]]({{type|string}} side)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Returns the current redstone input signal state on ''side''.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;[[redstone.setOutput]]({{type|string}} side, {{type|boolean}} value)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Sets or resets a redstone signal on ''side''.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr style=&amp;quot;background-color: #E8E8E8;&amp;quot;&amp;gt;&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;[[redstone.getOutput]]({{type|string}} side)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Returns the current redstone output signal on ''side''.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr style=&amp;quot;background-color: #E8E8E8;&amp;quot;&amp;gt;&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;[[redstone.getAnalogInput]]({{type|string}} side)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;'''(Requires CC1.51 and above)''' Returns the current redstone input signal strength on ''side''. If no input is present, returns 0. If a redstone source (such as a redstone torch or block) is directly adjacent to the computer, returns 15.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;[[redstone.setAnalogOutput]]({{type|string}} side, {{type|number}} strength)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;'''(Requires CC1.51 and above)''' Sets or resets a redstone signal on ''side'' to ''strength'' (where ''strength'' is a positive integer).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr style=&amp;quot;background-color: #E8E8E8;&amp;quot;&amp;gt;&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;[[redstone.getAnalogOutput]]({{type|string}} side)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;'''(Requires CC1.51 and above)''' Returns the current redstone output signal strength on ''side''.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;[[redstone.getBundledInput]]({{type|string}} side)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Returns the state (as a number) of a RedPower bundled / Minefactory Reloaded RedNet cable connected to ''side''.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr style=&amp;quot;background-color: #E8E8E8;&amp;quot;&amp;gt;&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;[[redstone.getBundledOutput]]({{type|string}} side)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Returns the set of RedPower wires in the RedPower bundled / Minefactory Reloaded RedNet cable which are being activated by the terminal on ''side''.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;[[redstone.setBundledOutput]]({{type|string}} side, {{type|number}} colors)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Sets one or multiple colored signals in a RedPower bundled / Minefactory Reloaded RedNet cable attached to ''side''. ''colors'' will determine which signals are activated. In order to set multiple signals, add the color values of the colors you want to activate. To turn off all of the colors, use 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr style=&amp;quot;background-color: #E8E8E8;&amp;quot;&amp;gt;&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;[[redstone.testBundledInput]]({{type|string}} side, {{type|number}} color)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Returns true if ''color'' is active in a RedPower bundled / Minefactory Reloaded RedNet cable attached to ''side''. Else, returns false.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| ''[[Usage_of_the_bundled_cable_using_the_Redstone_API|Bundled cable code snippet. (You might want to take a look at this if you are doing bundledcable related things.)]]''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Data exchange ==&lt;br /&gt;
The redstone API can be used to exchange data between adjacent [[computer]]s and [[turtle]]s. Four bits of data can be transmitted and received with each use of redstone signals to send analog output and receive the input. One redstone signal can be sent at each tick [http://minecraft.gamepedia.com/Tick tick], and there are 20 ticks per second in minecraft. This limits data transmission over redstone to a maximum of 80 bits per second (bps).&lt;br /&gt;
&lt;br /&gt;
This makes large-scale data transmission over the redstone API exceedingly slow. For example, using the redstone API, transmitting a colored bitmap image for a maximum [[resolution]] computercraft monitor cluster (162x80 pixels) would require 10 minutes and 48 seconds (this would be a 6.48 kB image). For reference, there are 16 colors available for monitors and terminals in computercraft, so a single color for a pixel can be represented in a 4-bit signal.&lt;br /&gt;
&lt;br /&gt;
Despite the slowness, the redstone API can be useful when other options are not available. For example, it can be used to allow [[turtle]]s to communicate with each other and coordinate their work even if they do not have [[Wireless Modem]]s. Exchanging instructions can be done with much less total data than exchanges of image files and the like.&lt;br /&gt;
[[Category:APIs]]&lt;/div&gt;</summary>
		<author><name>Turkey</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Redstone_(API)&amp;diff=6814</id>
		<title>Redstone (API)</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Redstone_(API)&amp;diff=6814"/>
				<updated>2014-11-20T03:20:55Z</updated>
		
		<summary type="html">&lt;p&gt;Turkey: Adding a note about usage in data exchange&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Redstone API contains methods to control attached redstone. All methods from the redstone API can also be called using &amp;quot;rs&amp;quot;, which points to the same library. For example, instead of redstone.getSides(), rs.getSides() can be used.&lt;br /&gt;
&lt;br /&gt;
In addition to regular redstone / RedPower cables for regular signals, RedPower bundled (for MineCraft 1.4.x) or Minefactory Reloaded RedNet cables (for MineCraft 1.5.x up) may be used to send &amp;quot;bundled&amp;quot; signals out the one face. Refer to the [[Colors]] API for more information on interacting with these.&lt;br /&gt;
&lt;br /&gt;
As of ComputerCraft 1.6, the previous support for bundled cables has been replaced with an API allowing other mod developers to provide the support themselves. '''At this time, bundled cables cannot be used with this build - please update this page if and when any mods add compatibility!'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table style=&amp;quot;width: 100%; border: solid 1px black; margin: 2px; border-spacing: 0px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold; font-size: large; padding-bottom: .3em; border-bottom: solid #C9C9C9 1px; background: #D3FFC2; line-height:28px;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Grid_disk.png|24px]]&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
Redstone (API)&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;width: 350px; background: #E0E0E0; padding: .4em; font-weight:bold;&amp;quot;&amp;gt;Method Name&amp;lt;/td&amp;gt;&amp;lt;td style=&amp;quot;background: #E0E0E0; padding: .4em; font-weight:bold;&amp;quot;&amp;gt;Description&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;[[redstone.getSides]]()&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Returns a table of possible sides.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr style=&amp;quot;background-color: #E8E8E8;&amp;quot;&amp;gt;&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;[[redstone.getInput]]({{type|string}} side)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Returns the current redstone input signal state on ''side''.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;[[redstone.setOutput]]({{type|string}} side, {{type|boolean}} value)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Sets or resets a redstone signal on ''side''.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr style=&amp;quot;background-color: #E8E8E8;&amp;quot;&amp;gt;&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;[[redstone.getOutput]]({{type|string}} side)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Returns the current redstone output signal on ''side''.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr style=&amp;quot;background-color: #E8E8E8;&amp;quot;&amp;gt;&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;[[redstone.getAnalogInput]]({{type|string}} side)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;'''(Requires CC1.51 and above)''' Returns the current redstone input signal strength on ''side''. If no input is present, returns 0. If a redstone source (such as a redstone torch or block) is directly adjacent to the computer, returns 15.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;[[redstone.setAnalogOutput]]({{type|string}} side, {{type|number}} strength)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;'''(Requires CC1.51 and above)''' Sets or resets a redstone signal on ''side'' to ''strength'' (where ''strength'' is a positive integer).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr style=&amp;quot;background-color: #E8E8E8;&amp;quot;&amp;gt;&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;[[redstone.getAnalogOutput]]({{type|string}} side)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;'''(Requires CC1.51 and above)''' Returns the current redstone output signal strength on ''side''.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;[[redstone.getBundledInput]]({{type|string}} side)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Returns the state (as a number) of a RedPower bundled / Minefactory Reloaded RedNet cable connected to ''side''.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr style=&amp;quot;background-color: #E8E8E8;&amp;quot;&amp;gt;&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;[[redstone.getBundledOutput]]({{type|string}} side)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Returns the set of RedPower wires in the RedPower bundled / Minefactory Reloaded RedNet cable which are being activated by the terminal on ''side''.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;[[redstone.setBundledOutput]]({{type|string}} side, {{type|number}} colors)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Sets one or multiple colored signals in a RedPower bundled / Minefactory Reloaded RedNet cable attached to ''side''. ''colors'' will determine which signals are activated. In order to set multiple signals, add the color values of the colors you want to activate. To turn off all of the colors, use 0.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr style=&amp;quot;background-color: #E8E8E8;&amp;quot;&amp;gt;&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;[[redstone.testBundledInput]]({{type|string}} side, {{type|number}} color)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Returns true if ''color'' is active in a RedPower bundled / Minefactory Reloaded RedNet cable attached to ''side''. Else, returns false.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| ''[[Usage_of_the_bundled_cable_using_the_Redstone_API|Bundled cable code snippet. (You might want to take a look at this if you are doing bundledcable related things.)]]''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Data exchange ==&lt;br /&gt;
The redstone API can be used to exchange data between adjacent [[computer]]s and [[turtle]]s. Four bits of data can be transmitted and received with each use of analog input and output. One redstone signal can be sent at each tick [http://minecraft.gamepedia.com/Tick tick], and there are 20 ticks per second in minecraft. This limits data transmission over redstone to a maximum of 80 bits per second (bps).&lt;br /&gt;
&lt;br /&gt;
This makes large-scale data transmission over the redstone API exceedingly slow. For example, using the redstone API, transmitting a colored bitmap image for a maximum [[resolution]] computercraft monitor cluster (162x80 pixels) would require 10 minutes and 48 seconds (this would be a 6.48 kB image). For reference, there are 16 colors available for monitors and terminals in computercraft, so a single color for a pixel can be represented in a 4-bit signal.&lt;br /&gt;
&lt;br /&gt;
Nonetheless, the redstone API can be useful when other options are not available. For example, it can be used to allow [[turtle]]s to communicate with each other and coordinate their work even if they do not have [[Wireless Modem]]s.&lt;br /&gt;
[[Category:APIs]]&lt;/div&gt;</summary>
		<author><name>Turkey</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Os.time&amp;diff=6813</id>
		<title>Os.time</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Os.time&amp;diff=6813"/>
				<updated>2014-11-20T01:35:04Z</updated>
		
		<summary type="html">&lt;p&gt;Turkey: /* Using the returned value */ Clarifying&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{lowercase}}&lt;br /&gt;
{{Function&lt;br /&gt;
|name=os.time&lt;br /&gt;
|returns={{type|number}} the current in-game time&lt;br /&gt;
|api=OS&lt;br /&gt;
|addon=ComputerCraft&lt;br /&gt;
|desc=Returns the current in-game time.&lt;br /&gt;
|examples=&lt;br /&gt;
{{Example&lt;br /&gt;
|desc=Prints current time in 12 hour format (with AM and PM).&lt;br /&gt;
|code=local time = '''os.time()'''&lt;br /&gt;
 local formattedTime = [[textutils.formatTime]](time, false)&lt;br /&gt;
 &lt;br /&gt;
 [[print]](&amp;quot;The time is &amp;quot; .. formattedTime)&lt;br /&gt;
}}&lt;br /&gt;
|notes=&lt;br /&gt;
* You should use [[textutils.formatTime]]() if you want to print the time in readable form.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Using the returned value ==&lt;br /&gt;
os.time() will return a value between 0.000 and 23.999. This corresponds to the day-night cycle of the server. Midnight is at 0.000 (when the cycle resets), while midday is at 12.000. 6.000 is the morning, when the player will wake up if they slept in a bed. The player can first get into [http://minecraft.gamepedia.com/Bed bed] for the night at 18.541.&lt;br /&gt;
&lt;br /&gt;
Each full day/night cycle corresponds to 20 minutes (1,200 seconds) in real-life, or 24 'hours' on the os.time scale. Each 'hour' on the os.time scale is 50 seconds in real-life. After the decimal place, tenths represent 5 seconds, hundredths represent 0.5 seconds, and thousandths represent 0.05 seconds (one [http://minecraft.gamepedia.com/Tick tick]).&lt;br /&gt;
&lt;br /&gt;
== Conversion ==&lt;br /&gt;
&lt;br /&gt;
{|class=wikitable&lt;br /&gt;
!'''Minecraft ticks'''!!'''Real-time Equivalent'''!!'''Elapsed time'''!!'''os.time()'''&lt;br /&gt;
|-&lt;br /&gt;
|0||6:00||0:00||6.000&lt;br /&gt;
|-&lt;br /&gt;
|1000||7:00||0:50||7.000&lt;br /&gt;
|-&lt;br /&gt;
|2000||8:00||1:40||8.000&lt;br /&gt;
|-&lt;br /&gt;
|3000||9:00||2:30||9.000&lt;br /&gt;
|-&lt;br /&gt;
|4000||10:00||3:20||10.000&lt;br /&gt;
|-&lt;br /&gt;
|5000||11:00||4:10||11.000&lt;br /&gt;
|-&lt;br /&gt;
|6000||12:00||5:00||12.000&lt;br /&gt;
|-&lt;br /&gt;
|7000||13:00||5:50||13.000&lt;br /&gt;
|-&lt;br /&gt;
|8000||14:00||6:40||14.000&lt;br /&gt;
|-&lt;br /&gt;
|9000||15:00||7:30||15.000&lt;br /&gt;
|-&lt;br /&gt;
|10000||16:00||8:20||16.000&lt;br /&gt;
|-&lt;br /&gt;
|11000||17:00||9:10||17.000&lt;br /&gt;
|-&lt;br /&gt;
|12000||18:00||10:00||18.000&lt;br /&gt;
|-&lt;br /&gt;
|13000||19:00||10:50||19.000&lt;br /&gt;
|-&lt;br /&gt;
|14000||20:00||11:40||20.000&lt;br /&gt;
|-&lt;br /&gt;
|15000||21:00||12:30||21.000&lt;br /&gt;
|-&lt;br /&gt;
|16000||22:00||13:20||22.000&lt;br /&gt;
|-&lt;br /&gt;
|17000||23:00||14:10||23.000&lt;br /&gt;
|-&lt;br /&gt;
|18000||0:00||15:00||0.000&lt;br /&gt;
|-&lt;br /&gt;
|19000||1:00||15:50||1.000&lt;br /&gt;
|-&lt;br /&gt;
|20000||2:00||16:40||2.000&lt;br /&gt;
|-&lt;br /&gt;
|21000||3:00||17:30||3.000&lt;br /&gt;
|-&lt;br /&gt;
|22000||4:00||18:20||4.000&lt;br /&gt;
|-&lt;br /&gt;
|23000||5:00||19:10||5.000&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Minecraft ticks''' can be used in commands to set server time. For example, you can set the time to midnight by typing in {{Keypress|key=/time set 18000}}. The '''real-time equivalent''' shows what the time would look like if it were in real-life. '''Elapsed time''' indicates how many seconds would have elapsed from the point that your character gets of bed in the morning. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To convert os.time() to real-life seconds since the in-game midnight, you can multiply it by 50. Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 local secondsSinceMidnight = os.time() * 50&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To convert os.time() to minecraft ticks, multiply by 1,000, add 18,000, and then use a [http://www.lua.org/manual/5.1/manual.html#2.5.1 modulo] (%) to ensure the value is within 0 and 23999.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 local MCTicks = (os.time() * 1000 + 18000)%24000&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[os.clock]]&lt;br /&gt;
* [[os.day]]&lt;br /&gt;
* [http://minecraft.gamepedia.com/Day-night_cycle Minecraft day-night cycle]&lt;br /&gt;
* [http://minecraft.gamepedia.com/Tick Minecraft ticks]&lt;br /&gt;
* [http://minecraft.gamepedia.com/Bed Minecraft bed]&lt;br /&gt;
&lt;br /&gt;
[[Category:Lua_Core_Functions]]&lt;/div&gt;</summary>
		<author><name>Turkey</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Os.time&amp;diff=6812</id>
		<title>Os.time</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Os.time&amp;diff=6812"/>
				<updated>2014-11-19T18:34:59Z</updated>
		
		<summary type="html">&lt;p&gt;Turkey: /* Using the returned value */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{lowercase}}&lt;br /&gt;
{{Function&lt;br /&gt;
|name=os.time&lt;br /&gt;
|returns={{type|number}} the current in-game time&lt;br /&gt;
|api=OS&lt;br /&gt;
|addon=ComputerCraft&lt;br /&gt;
|desc=Returns the current in-game time.&lt;br /&gt;
|examples=&lt;br /&gt;
{{Example&lt;br /&gt;
|desc=Prints current time in 12 hour format (with AM and PM).&lt;br /&gt;
|code=local time = '''os.time()'''&lt;br /&gt;
 local formattedTime = [[textutils.formatTime]](time, false)&lt;br /&gt;
 &lt;br /&gt;
 [[print]](&amp;quot;The time is &amp;quot; .. formattedTime)&lt;br /&gt;
}}&lt;br /&gt;
|notes=&lt;br /&gt;
* You should use [[textutils.formatTime]]() if you want to print the time in readable form.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Using the returned value ==&lt;br /&gt;
os.time() will return a value between 0.000 and 23.999. This corresponds to the day-night cycle of the server. Midnight is at 0.000 (when the cycle resets), while midday is at 12.000. 6.000 is the morning, when the player will wake up if they slept in a bed. The player can first get into [http://minecraft.gamepedia.com/Bed bed] for the night at 18.541.&lt;br /&gt;
&lt;br /&gt;
Each full day/night cycle corresponds to 20 minutes (1,200 seconds) in real-life. Each 'hour' in minecraft is 50 seconds in real-life. Tenths are 5 seconds, hundredths are 0.5 seconds, and thousandths are 0.05 seconds (one [http://minecraft.gamepedia.com/Tick tick]).&lt;br /&gt;
&lt;br /&gt;
== Conversion ==&lt;br /&gt;
&lt;br /&gt;
{|class=wikitable&lt;br /&gt;
!'''Minecraft ticks'''!!'''Real-time Equivalent'''!!'''Elapsed time'''!!'''os.time()'''&lt;br /&gt;
|-&lt;br /&gt;
|0||6:00||0:00||6.000&lt;br /&gt;
|-&lt;br /&gt;
|1000||7:00||0:50||7.000&lt;br /&gt;
|-&lt;br /&gt;
|2000||8:00||1:40||8.000&lt;br /&gt;
|-&lt;br /&gt;
|3000||9:00||2:30||9.000&lt;br /&gt;
|-&lt;br /&gt;
|4000||10:00||3:20||10.000&lt;br /&gt;
|-&lt;br /&gt;
|5000||11:00||4:10||11.000&lt;br /&gt;
|-&lt;br /&gt;
|6000||12:00||5:00||12.000&lt;br /&gt;
|-&lt;br /&gt;
|7000||13:00||5:50||13.000&lt;br /&gt;
|-&lt;br /&gt;
|8000||14:00||6:40||14.000&lt;br /&gt;
|-&lt;br /&gt;
|9000||15:00||7:30||15.000&lt;br /&gt;
|-&lt;br /&gt;
|10000||16:00||8:20||16.000&lt;br /&gt;
|-&lt;br /&gt;
|11000||17:00||9:10||17.000&lt;br /&gt;
|-&lt;br /&gt;
|12000||18:00||10:00||18.000&lt;br /&gt;
|-&lt;br /&gt;
|13000||19:00||10:50||19.000&lt;br /&gt;
|-&lt;br /&gt;
|14000||20:00||11:40||20.000&lt;br /&gt;
|-&lt;br /&gt;
|15000||21:00||12:30||21.000&lt;br /&gt;
|-&lt;br /&gt;
|16000||22:00||13:20||22.000&lt;br /&gt;
|-&lt;br /&gt;
|17000||23:00||14:10||23.000&lt;br /&gt;
|-&lt;br /&gt;
|18000||0:00||15:00||0.000&lt;br /&gt;
|-&lt;br /&gt;
|19000||1:00||15:50||1.000&lt;br /&gt;
|-&lt;br /&gt;
|20000||2:00||16:40||2.000&lt;br /&gt;
|-&lt;br /&gt;
|21000||3:00||17:30||3.000&lt;br /&gt;
|-&lt;br /&gt;
|22000||4:00||18:20||4.000&lt;br /&gt;
|-&lt;br /&gt;
|23000||5:00||19:10||5.000&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Minecraft ticks''' can be used in commands to set server time. For example, you can set the time to midnight by typing in {{Keypress|key=/time set 18000}}. The '''real-time equivalent''' shows what the time would look like if it were in real-life. '''Elapsed time''' indicates how many seconds would have elapsed from the point that your character gets of bed in the morning. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To convert os.time() to real-life seconds since the in-game midnight, you can multiply it by 50. Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 local secondsSinceMidnight = os.time() * 50&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To convert os.time() to minecraft ticks, multiply by 1,000, add 18,000, and then use a [http://www.lua.org/manual/5.1/manual.html#2.5.1 modulo] (%) to ensure the value is within 0 and 23999.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 local MCTicks = (os.time() * 1000 + 18000)%24000&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[os.clock]]&lt;br /&gt;
* [[os.day]]&lt;br /&gt;
* [http://minecraft.gamepedia.com/Day-night_cycle Minecraft day-night cycle]&lt;br /&gt;
* [http://minecraft.gamepedia.com/Tick Minecraft ticks]&lt;br /&gt;
* [http://minecraft.gamepedia.com/Bed Minecraft bed]&lt;br /&gt;
&lt;br /&gt;
[[Category:Lua_Core_Functions]]&lt;/div&gt;</summary>
		<author><name>Turkey</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Peripheral_(API)&amp;diff=6806</id>
		<title>Peripheral (API)</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Peripheral_(API)&amp;diff=6806"/>
				<updated>2014-11-09T04:06:14Z</updated>
		
		<summary type="html">&lt;p&gt;Turkey: /* Computers */ Adding modems&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{msgbox&lt;br /&gt;
| text = This article is about the Peripheral API. For APIs exposed when wrapping peripherals through [[peripheral.wrap]]() see [[:Category:Peripheral_APIs|Peripheral APIs]].&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
__TOC__ &lt;br /&gt;
The Peripheral API is for interacting with [[peripheral]]s connected to the computer, such as the [[Disk Drive]], the [[Advanced Monitor]] and [[Monitor]]. (More peripherals can be found under [[:Category:Peripherals|here]]).&lt;br /&gt;
&lt;br /&gt;
Each peripheral block has a name, or ''side''. Although peripherals can now be attached to a computer using networking cables, the word ''side'' is a holdover from when peripherals needed to be directly next to the computer.&lt;br /&gt;
&lt;br /&gt;
If the peripheral is next to the computer, its side is either &amp;quot;front&amp;quot;, &amp;quot;back&amp;quot;, &amp;quot;left&amp;quot;, &amp;quot;right&amp;quot;, &amp;quot;top&amp;quot; or &amp;quot;bottom&amp;quot;. If the peripheral is attached by a cable, its side will follow the format &amp;quot;''type''_''id''&amp;quot;, for example &amp;quot;printer_0&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Peripheral functions are called '''methods''', a term borrowed from Java.&lt;br /&gt;
&lt;br /&gt;
{{API table|Peripheral|image=Grid disk.png|2=&lt;br /&gt;
&lt;br /&gt;
{{API table/row|[[peripheral.isPresent]]({{type|string}} side)|{{type|boolean}}|&lt;br /&gt;
Returns '''true''' if a peripheral is connected on ''side''.&lt;br /&gt;
|odd}}&lt;br /&gt;
&lt;br /&gt;
{{API table/row|[[peripheral.getType]]({{type|string}} side)|{{type|string}} /{{type|nil}}|&lt;br /&gt;
Returns the type of peripheral connected on ''side'', as a string.&lt;br /&gt;
If no peripheral is connected, returns nil.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{API table/row|[[peripheral.getMethods]]({{type|string}} side)|{{type|table}} /{{type|nil}}|&lt;br /&gt;
Returns a list of the names of all the methods of the peripheral connected on ''side''.&lt;br /&gt;
If no peripheral is connected, returns nil.&lt;br /&gt;
|odd}}&lt;br /&gt;
&lt;br /&gt;
{{API table/row|[[peripheral.call]]({{type|string}} side, {{type|string}} method, ...)|any|&lt;br /&gt;
Calls a method on a peripheral. The arguments (apart from ''side'' and ''method'') and the return values depend on the method being called.&lt;br /&gt;
If no peripheral is connected, returns nil.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{API table/row|[[peripheral.wrap]]({{type|string}} side)|{{type|table}} peripheral / {{type|nil}}|&lt;br /&gt;
Returns a table of functions, allowing you to call peripheral methods as if they were normal Lua functions.&lt;br /&gt;
If no peripheral is connected, returns nil.&lt;br /&gt;
|odd}}&lt;br /&gt;
&lt;br /&gt;
{{API table/row|[[peripheral.find]]({{type|string}} type [, {{type|function}} fnFilter( name, object )])|{{type|table}} peripheral / {{type|nil}}|&lt;br /&gt;
Finds an attached peripheral of the given type and if found returns a table of functions, similar to [[peripheral.wrap]], allowing you to call peripheral methods as if they were normal Lua functions.&lt;br /&gt;
If no peripheral of the given type is connected, it returns nil. '''''Requires ComputerCraft 1.6 or later.'''''&lt;br /&gt;
|odd}}&lt;br /&gt;
&lt;br /&gt;
{{API table/row|[[peripheral.getNames]]()|{{type|table}}|&lt;br /&gt;
This function returns a table of all the sides that have a peripheral present. If the present peripheral is a wired modem any names of the peripherals that is on the network are also added to the table.&lt;br /&gt;
|odd}}&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Connecting peripherals using networking cables==&lt;br /&gt;
Using Networking Cables, you can attach and use peripherals without having them directly touching the computer. To connect a peripheral in this way, place a Wired Modem on any side of your computer, as you would a [[Wireless Modem]]. Place a Wired Modem on each peripheral you wish to connect, and then connect all of them with Networking Cables. Then right click each of the wired modems.&lt;br /&gt;
&lt;br /&gt;
You should receive a message in your chat bar for each peripheral informing you of a successful connection, and the peripheral side.&lt;br /&gt;
&lt;br /&gt;
==Monitor==&lt;br /&gt;
[[Monitor]] and [[Advanced Monitor]] peripheral functions can be found on the [[Term (API)]] page. Note that the [[Colors (API)|Colors API]] can also be useful for designing colors for use on an advanced monitor.&lt;br /&gt;
&lt;br /&gt;
==Printer==&lt;br /&gt;
[[Printer#Printer API |Printer Peripheral functions]] have been moved to the [[Printer]] page.&lt;br /&gt;
&lt;br /&gt;
==Computers==&lt;br /&gt;
[[Computer#Peripheral_Functions|Computer Peripheral functions]] have been moved to the [[Computer]] page.&lt;br /&gt;
In addition, the [[Advanced_Computer#Peripheral_Functions|Advanced Computer Peripheral functions]] have been moved to the [[Advanced Computer]] page.&lt;br /&gt;
&lt;br /&gt;
==Modem==&lt;br /&gt;
[[Modem]] peripheral functions can be found on the [[Modem (API)]] page.&lt;br /&gt;
&lt;br /&gt;
[[Category:APIs]]&lt;/div&gt;</summary>
		<author><name>Turkey</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Resolution&amp;diff=6803</id>
		<title>Resolution</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Resolution&amp;diff=6803"/>
				<updated>2014-11-07T16:53:40Z</updated>
		
		<summary type="html">&lt;p&gt;Turkey: /* Computer resolution */  Adding resolution for turtles&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Resolution''' refers to the number of pixels on a monitor, terminal, or other Computercraft user interface. Each '''pixel''' is a single rectangular patch of color, which can also contain a single letter of text.&lt;br /&gt;
&lt;br /&gt;
== Monitor resolution ==&lt;br /&gt;
[[File:Computer_w_DiskDrive_w_Monitor.png|frame|428x241px|right|A 2x2 [[Monitor]], connected to a [[Computer]], with a [[Disk Drive]] connected.]]&lt;br /&gt;
[[Monitor]]s and [[Advanced Monitor]]s have variable resolution because of the borders of their screens, and because of the [[monitor.setTextScale]] function. This gives monitors potential for exceedingly high resolution when they are properly configured.&lt;br /&gt;
&lt;br /&gt;
=== Default resolution ===&lt;br /&gt;
The default text scale for monitors is 1. Using the default text scale, a single monitor by itself has a resolution of 7 pixels horizontally by 5 pixels vertically. Resolution is increased when monitors are placed next to each other, both by using the extra monitors and by turning the borders between monitors into extra screen space. With the default text scale, monitor borders take up two pixels on the left and right sides, and one pixel on the top and bottom sides. The monitor in the middle of a 3x3 cluster of monitors would have a resolution of 11 pixels horizontally by 7 pixels vertically, while the whole cluster would have a total resolution of 29 pixels horizontally by 19 pixels vertically.&lt;br /&gt;
&lt;br /&gt;
Using the default text scale, the largest possible monitor cluster (8 blocks wide and 6 blocks tall) has a total resolution of 70 pixels horizontally by 40 pixels vertically.&lt;br /&gt;
&lt;br /&gt;
=== Enhanced resolution ===&lt;br /&gt;
The text scale of [[monitor.setTextScale]] can be increased or decreased in increments of 0.5, and the highest resolution setting is achieved when the text scale is set to 0.5. Under this setting, a single monitor by itself has a resolution of 15 pixels horizontally by 10 pixels vertically. At this scale, monitor borders take up three pixels on the left and right sides, and two pixels on the top and bottom sides.&lt;br /&gt;
&lt;br /&gt;
Using the 0.5 text scale for maximum resolution, the largest possible monitor cluster has a total resolution of 162 pixels horizontally by 80 pixels vertically.&lt;br /&gt;
&lt;br /&gt;
Note that the setTextScale function also changes the resolution of pixels drawn with the [[paintutils (API)|paintutils API]], so the function is more powerful than its name suggests.&lt;br /&gt;
&lt;br /&gt;
== Turtle resolution ==&lt;br /&gt;
Interfaces for [[Turtle]]s and [[Advanced Turtle]]s have a resolution of 39 pixels horizontally by 13 pixels vertically. &lt;br /&gt;
&lt;br /&gt;
== Computer resolution ==&lt;br /&gt;
[[Computer]]s and [[Advanced Computer]]s have a resolution of 51 pixels horizontally by 19 pixels vertically.&lt;br /&gt;
&lt;br /&gt;
== Pocket computer resolution ==&lt;br /&gt;
[[Pocket Computer]]s have a resolution of 26 pixels horizontally by 19 pixels vertically.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Term (API)]]&lt;br /&gt;
* [[Paintutils (API)]]&lt;br /&gt;
* [[CCLights2]] (Third-party graphics peripheral for OpenGL rendering with its own monitors.)&lt;br /&gt;
* [[CCGPU]] (Third-party graphics peripheral for OpenGL rendering. Has its own monitor.)&lt;br /&gt;
&lt;br /&gt;
[[Category:Consoles]]&lt;br /&gt;
[[Category:Tutorials‏‎]]&lt;/div&gt;</summary>
		<author><name>Turkey</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Resolution&amp;diff=6802</id>
		<title>Resolution</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Resolution&amp;diff=6802"/>
				<updated>2014-11-07T16:50:26Z</updated>
		
		<summary type="html">&lt;p&gt;Turkey: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Resolution''' refers to the number of pixels on a monitor, terminal, or other Computercraft user interface. Each '''pixel''' is a single rectangular patch of color, which can also contain a single letter of text.&lt;br /&gt;
&lt;br /&gt;
== Monitor resolution ==&lt;br /&gt;
[[File:Computer_w_DiskDrive_w_Monitor.png|frame|428x241px|right|A 2x2 [[Monitor]], connected to a [[Computer]], with a [[Disk Drive]] connected.]]&lt;br /&gt;
[[Monitor]]s and [[Advanced Monitor]]s have variable resolution because of the borders of their screens, and because of the [[monitor.setTextScale]] function. This gives monitors potential for exceedingly high resolution when they are properly configured.&lt;br /&gt;
&lt;br /&gt;
=== Default resolution ===&lt;br /&gt;
The default text scale for monitors is 1. Using the default text scale, a single monitor by itself has a resolution of 7 pixels horizontally by 5 pixels vertically. Resolution is increased when monitors are placed next to each other, both by using the extra monitors and by turning the borders between monitors into extra screen space. With the default text scale, monitor borders take up two pixels on the left and right sides, and one pixel on the top and bottom sides. The monitor in the middle of a 3x3 cluster of monitors would have a resolution of 11 pixels horizontally by 7 pixels vertically, while the whole cluster would have a total resolution of 29 pixels horizontally by 19 pixels vertically.&lt;br /&gt;
&lt;br /&gt;
Using the default text scale, the largest possible monitor cluster (8 blocks wide and 6 blocks tall) has a total resolution of 70 pixels horizontally by 40 pixels vertically.&lt;br /&gt;
&lt;br /&gt;
=== Enhanced resolution ===&lt;br /&gt;
The text scale of [[monitor.setTextScale]] can be increased or decreased in increments of 0.5, and the highest resolution setting is achieved when the text scale is set to 0.5. Under this setting, a single monitor by itself has a resolution of 15 pixels horizontally by 10 pixels vertically. At this scale, monitor borders take up three pixels on the left and right sides, and two pixels on the top and bottom sides.&lt;br /&gt;
&lt;br /&gt;
Using the 0.5 text scale for maximum resolution, the largest possible monitor cluster has a total resolution of 162 pixels horizontally by 80 pixels vertically.&lt;br /&gt;
&lt;br /&gt;
Note that the setTextScale function also changes the resolution of pixels drawn with the [[paintutils (API)|paintutils API]], so the function is more powerful than its name suggests.&lt;br /&gt;
&lt;br /&gt;
== Computer resolution ==&lt;br /&gt;
[[Computer]]s and [[Advanced Computer]]s have a resolution of 51 pixels horizontally by 19 pixels vertically.&lt;br /&gt;
&lt;br /&gt;
== Pocket computer resolution ==&lt;br /&gt;
[[Pocket Computer]]s have a resolution of 26 pixels horizontally by 19 pixels vertically.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Term (API)]]&lt;br /&gt;
* [[Paintutils (API)]]&lt;br /&gt;
* [[CCLights2]] (Third-party graphics peripheral for OpenGL rendering with its own monitors.)&lt;br /&gt;
* [[CCGPU]] (Third-party graphics peripheral for OpenGL rendering. Has its own monitor.)&lt;br /&gt;
&lt;br /&gt;
[[Category:Consoles]]&lt;br /&gt;
[[Category:Tutorials‏‎]]&lt;/div&gt;</summary>
		<author><name>Turkey</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Paint&amp;diff=6751</id>
		<title>Paint</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Paint&amp;diff=6751"/>
				<updated>2014-09-22T10:44:02Z</updated>
		
		<summary type="html">&lt;p&gt;Turkey: Adding the code for the paint program&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:AdvancedComputerPaint.png|frame|right|An advanced computer running Paint, an exclusive program]]&lt;br /&gt;
&lt;br /&gt;
Paint is a program, created by NitrogenFingers, added in ComputerCraft 1.45. It requires an [[Advanced Computer]], and is used for making images that may be drawn later with the [[Paintutils_(API)|paintutils library]]. This program, along with Advanced Computers is NOT available in Tekkit Classic.&lt;br /&gt;
&lt;br /&gt;
Running paint on a monitor requires using an advanced monitor. For instructions, see [[monitor (program)]].&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;br /&gt;
The paint program uses the following code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 -- Paint created by nitrogenfingers (edited by dan200)&lt;br /&gt;
 -- http://www.youtube.com/user/NitrogenFingers&lt;br /&gt;
 &lt;br /&gt;
 ------------&lt;br /&gt;
 -- Fields --&lt;br /&gt;
 ------------&lt;br /&gt;
 &lt;br /&gt;
 -- The width and height of the terminal&lt;br /&gt;
 local w,h = term.getSize()&lt;br /&gt;
 &lt;br /&gt;
 -- The selected colours on the left and right mouse button, and the colour of the canvas&lt;br /&gt;
 local leftColour, rightColour = colours.white, nil&lt;br /&gt;
 local canvasColour = colours.black&lt;br /&gt;
 &lt;br /&gt;
 -- The values stored in the canvas&lt;br /&gt;
 local canvas = {}&lt;br /&gt;
 &lt;br /&gt;
 -- The menu options&lt;br /&gt;
 local mChoices = { &amp;quot;Save&amp;quot;,&amp;quot;Exit&amp;quot; }&lt;br /&gt;
 &lt;br /&gt;
 -- The message displayed in the footer bar&lt;br /&gt;
 local fMessage = &amp;quot;Press Ctrl to access menu&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 -------------------------&lt;br /&gt;
 -- Initialisation --&lt;br /&gt;
 -------------------------&lt;br /&gt;
 &lt;br /&gt;
 -- Determine if we can even run this&lt;br /&gt;
 if not term.isColour() then&lt;br /&gt;
 	print(&amp;quot;Requires an Advanced Computer&amp;quot;)&lt;br /&gt;
 	return&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 -- Determines if the file exists, and can be edited on this computer&lt;br /&gt;
 local tArgs = {...}&lt;br /&gt;
 if #tArgs == 0 then&lt;br /&gt;
 	print(&amp;quot;Usage: paint &amp;lt;path&amp;gt;&amp;quot;)&lt;br /&gt;
 	return&lt;br /&gt;
 end&lt;br /&gt;
 local sPath = shell.resolve(tArgs[1])&lt;br /&gt;
 local bReadOnly = fs.isReadOnly(sPath)&lt;br /&gt;
 if fs.exists(sPath) and fs.isDir(sPath) then&lt;br /&gt;
 	print(&amp;quot;Cannot edit a directory.&amp;quot;)&lt;br /&gt;
 	return&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 ---------------&lt;br /&gt;
 -- Functions --&lt;br /&gt;
 ---------------&lt;br /&gt;
 &lt;br /&gt;
 local function getCanvasPixel( x, y )&lt;br /&gt;
     if canvas[y] then&lt;br /&gt;
         return canvas[y][x]&lt;br /&gt;
     end&lt;br /&gt;
     return nil&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 --[[&lt;br /&gt;
 	Converts a colour value to a text character&lt;br /&gt;
 	params: colour = the number to convert to a hex value&lt;br /&gt;
 	returns: a string representing the chosen colour&lt;br /&gt;
 ]]&lt;br /&gt;
 local function getCharOf( colour )&lt;br /&gt;
 	-- Incorrect values always convert to nil&lt;br /&gt;
 	if type(colour) == &amp;quot;number&amp;quot; then&lt;br /&gt;
 		local value = math.floor( math.log(colour) / math.log(2) ) + 1&lt;br /&gt;
 		if value &amp;gt;= 1 and value &amp;lt;= 16 then&lt;br /&gt;
 			return string.sub( &amp;quot;0123456789abcdef&amp;quot;, value, value )&lt;br /&gt;
 		end&lt;br /&gt;
 	end&lt;br /&gt;
 	return &amp;quot; &amp;quot;&lt;br /&gt;
 end	&lt;br /&gt;
 &lt;br /&gt;
 --[[&lt;br /&gt;
 	Converts a text character to colour value&lt;br /&gt;
 	params: char = the char (from string.byte) to convert to number&lt;br /&gt;
 	returns: the colour number of the hex value&lt;br /&gt;
 ]]&lt;br /&gt;
 local tColourLookup = {}&lt;br /&gt;
 for n=1,16 do&lt;br /&gt;
 	tColourLookup[ string.byte( &amp;quot;0123456789abcdef&amp;quot;,n,n ) ] = 2^(n-1)&lt;br /&gt;
 end&lt;br /&gt;
 local function getColourOf( char )&lt;br /&gt;
 	-- Values not in the hex table are transparent (canvas coloured)&lt;br /&gt;
 	return tColourLookup[char]&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 --[[ &lt;br /&gt;
 	Loads the file into the canvas&lt;br /&gt;
 	params: path = the path of the file to open&lt;br /&gt;
 	returns: nil&lt;br /&gt;
 ]]&lt;br /&gt;
 local function load(path)&lt;br /&gt;
 	-- Load the file&lt;br /&gt;
 	if fs.exists(path) then&lt;br /&gt;
 		local file = fs.open(sPath, &amp;quot;r&amp;quot;)&lt;br /&gt;
 		local sLine = file.readLine()&lt;br /&gt;
 		while sLine do&lt;br /&gt;
 			local line = {}&lt;br /&gt;
 			for x=1,w-2 do&lt;br /&gt;
 				line[x] = getColourOf( string.byte(sLine,x,x) )&lt;br /&gt;
 			end&lt;br /&gt;
 			table.insert( canvas, line )&lt;br /&gt;
 			sLine = file.readLine()&lt;br /&gt;
 		end&lt;br /&gt;
 		file.close()&lt;br /&gt;
 	end&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 --[[  &lt;br /&gt;
 	Saves the current canvas to file  &lt;br /&gt;
 	params: path = the path of the file to save&lt;br /&gt;
 	returns: true if save was successful, false otherwise&lt;br /&gt;
 ]]&lt;br /&gt;
 local function save(path)&lt;br /&gt;
     -- Open file&lt;br /&gt;
 	local sDir = string.sub(sPath, 1, #sPath - #fs.getName(sPath))&lt;br /&gt;
 	if not fs.exists(sDir) then&lt;br /&gt;
 		fs.makeDir(sDir)&lt;br /&gt;
 	end&lt;br /&gt;
 &lt;br /&gt;
 	local file = fs.open( path, &amp;quot;w&amp;quot; )&lt;br /&gt;
 	if not file then&lt;br /&gt;
 	    return false&lt;br /&gt;
 	end&lt;br /&gt;
 &lt;br /&gt;
     -- Encode (and trim)&lt;br /&gt;
 	local tLines = {}&lt;br /&gt;
 	local nLastLine = 0&lt;br /&gt;
 	for y=1,h-1 do&lt;br /&gt;
 	    local sLine = &amp;quot;&amp;quot;&lt;br /&gt;
 	    local nLastChar = 0&lt;br /&gt;
 		for x=1,w-2 do&lt;br /&gt;
 		    local c = getCharOf( getCanvasPixel( x, y ) )&lt;br /&gt;
 		    sLine = sLine .. c&lt;br /&gt;
 		    if c ~= &amp;quot; &amp;quot; then&lt;br /&gt;
 		        nLastChar = x&lt;br /&gt;
 		    end&lt;br /&gt;
 		end&lt;br /&gt;
 		sLine = string.sub( sLine, 1, nLastChar )&lt;br /&gt;
 		tLines[y] = sLine&lt;br /&gt;
 		if string.len( sLine ) &amp;gt; 0 then&lt;br /&gt;
 		    nLastLine = y&lt;br /&gt;
 		end&lt;br /&gt;
 	end&lt;br /&gt;
 &lt;br /&gt;
     -- Save out&lt;br /&gt;
 	for n=1,nLastLine do&lt;br /&gt;
    	    file.writeLine( tLines[ n ] )&lt;br /&gt;
 	end&lt;br /&gt;
 	file.close()&lt;br /&gt;
 	return true&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 --[[  &lt;br /&gt;
 	Draws colour picker sidebar, the pallette and the footer&lt;br /&gt;
 	returns: nil&lt;br /&gt;
 ]]&lt;br /&gt;
 local function drawInterface()&lt;br /&gt;
 	-- Footer&lt;br /&gt;
 	term.setCursorPos(1, h)&lt;br /&gt;
 	term.setBackgroundColour(colours.black)&lt;br /&gt;
 	term.setTextColour(colours.yellow)&lt;br /&gt;
 	term.clearLine()&lt;br /&gt;
 	term.write(fMessage)&lt;br /&gt;
 	&lt;br /&gt;
 	-- Colour Picker&lt;br /&gt;
 	for i=1,16 do&lt;br /&gt;
 		term.setCursorPos(w-1, i)&lt;br /&gt;
 		term.setBackgroundColour( 2^(i-1) )&lt;br /&gt;
 		term.write(&amp;quot;  &amp;quot;)&lt;br /&gt;
 	end&lt;br /&gt;
 &lt;br /&gt;
 	term.setCursorPos(w-1, 17)&lt;br /&gt;
 	term.setBackgroundColour( canvasColour )&lt;br /&gt;
 	term.setTextColour( colours.grey )&lt;br /&gt;
 	term.write(&amp;quot;XX&amp;quot;)&lt;br /&gt;
 			&lt;br /&gt;
 	-- Left and Right Selected Colours&lt;br /&gt;
 	for i=18,18 do&lt;br /&gt;
 		term.setCursorPos(w-1, i)&lt;br /&gt;
 		if leftColour ~= nil then&lt;br /&gt;
 			term.setBackgroundColour( leftColour )&lt;br /&gt;
 			term.write(&amp;quot; &amp;quot;)&lt;br /&gt;
 		else&lt;br /&gt;
 			term.setBackgroundColour( canvasColour )&lt;br /&gt;
 			term.setTextColour( colours.grey )&lt;br /&gt;
 			term.write(&amp;quot;X&amp;quot;)&lt;br /&gt;
 		end&lt;br /&gt;
 		if rightColour ~= nil then&lt;br /&gt;
 			term.setBackgroundColour( rightColour )&lt;br /&gt;
 			term.write(&amp;quot; &amp;quot;)&lt;br /&gt;
 		else&lt;br /&gt;
 			term.setBackgroundColour( canvasColour )&lt;br /&gt;
 			term.setTextColour( colours.grey )&lt;br /&gt;
 			term.write(&amp;quot;X&amp;quot;)&lt;br /&gt;
 		end&lt;br /&gt;
 	end&lt;br /&gt;
 &lt;br /&gt;
 	-- Padding&lt;br /&gt;
 	term.setBackgroundColour( canvasColour )&lt;br /&gt;
 	for i=20,h-1 do&lt;br /&gt;
 		term.setCursorPos(w-1, i)&lt;br /&gt;
 		term.write(&amp;quot;  &amp;quot;)&lt;br /&gt;
 	end&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 --[[  &lt;br /&gt;
 	Converts a single pixel of a single line of the canvas and draws it&lt;br /&gt;
 	returns: nil&lt;br /&gt;
 ]]&lt;br /&gt;
 local function drawCanvasPixel( x, y )&lt;br /&gt;
 	local pixel = getCanvasPixel( x, y )&lt;br /&gt;
 	if pixel then&lt;br /&gt;
 		term.setBackgroundColour( pixel or canvasColour )&lt;br /&gt;
 		term.setCursorPos(x, y)&lt;br /&gt;
 		term.write(&amp;quot; &amp;quot;)&lt;br /&gt;
 	else&lt;br /&gt;
 		term.setBackgroundColour( canvasColour )&lt;br /&gt;
 		term.setTextColour( colours.grey )&lt;br /&gt;
 		term.setCursorPos(x, y)&lt;br /&gt;
         term.write(&amp;quot;-&amp;quot;)&lt;br /&gt;
 	end&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 --[[  &lt;br /&gt;
 	Converts each colour in a single line of the canvas and draws it&lt;br /&gt;
 	returns: nil&lt;br /&gt;
 ]]&lt;br /&gt;
 local function drawCanvasLine( y )&lt;br /&gt;
 	for x = 1, w-2 do&lt;br /&gt;
 		drawCanvasPixel( x, y )&lt;br /&gt;
 	end&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 --[[  &lt;br /&gt;
 	Converts each colour in the canvas and draws it&lt;br /&gt;
 	returns: nil&lt;br /&gt;
 ]]&lt;br /&gt;
 local function drawCanvas()&lt;br /&gt;
 	for y = 1, h-1 do&lt;br /&gt;
 		drawCanvasLine( y )&lt;br /&gt;
 	end&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 --[[&lt;br /&gt;
 	Draws menu options and handles input from within the menu.&lt;br /&gt;
 	returns: true if the program is to be exited; false otherwise&lt;br /&gt;
 ]]&lt;br /&gt;
 local function accessMenu()&lt;br /&gt;
 	-- Selected menu option&lt;br /&gt;
 	local selection = 1&lt;br /&gt;
 	&lt;br /&gt;
 	term.setBackgroundColour(colours.black)&lt;br /&gt;
 	while true do&lt;br /&gt;
 		-- Draw the menu&lt;br /&gt;
 		term.setCursorPos(1,h)&lt;br /&gt;
 		term.clearLine()&lt;br /&gt;
 		term.setTextColour(colours.white)&lt;br /&gt;
 		for k,v in pairs(mChoices) do&lt;br /&gt;
 			if selection==k then &lt;br /&gt;
 				term.setTextColour(colours.yellow)&lt;br /&gt;
 				local ox,_ = term.getCursorPos()&lt;br /&gt;
 				term.write(&amp;quot;[&amp;quot;..string.rep(&amp;quot; &amp;quot;,#v)..&amp;quot;]&amp;quot;)&lt;br /&gt;
 				term.setCursorPos(ox+1,h)&lt;br /&gt;
 				term.setTextColour(colours.white)&lt;br /&gt;
 				term.write(v)&lt;br /&gt;
 				term.setCursorPos(term.getCursorPos()+1,h)&lt;br /&gt;
 			else&lt;br /&gt;
 				term.write(&amp;quot; &amp;quot;..v..&amp;quot; &amp;quot;)&lt;br /&gt;
 			end&lt;br /&gt;
 		end&lt;br /&gt;
 		&lt;br /&gt;
 		-- Handle input in the menu&lt;br /&gt;
 		local id,key = os.pullEvent(&amp;quot;key&amp;quot;)&lt;br /&gt;
 		if id == &amp;quot;key&amp;quot; then&lt;br /&gt;
 			-- S and E are shortcuts&lt;br /&gt;
 			if key == keys.s then&lt;br /&gt;
 				selection = 1&lt;br /&gt;
 				key = keys.enter&lt;br /&gt;
 			elseif key == keys.e then&lt;br /&gt;
 				selection = 2&lt;br /&gt;
 				key = keys.enter&lt;br /&gt;
 			end&lt;br /&gt;
 		&lt;br /&gt;
 			if key == keys.right then&lt;br /&gt;
 				-- Move right&lt;br /&gt;
 				selection = selection + 1&lt;br /&gt;
 				if selection &amp;gt; #mChoices then&lt;br /&gt;
 					selection = 1&lt;br /&gt;
 				end&lt;br /&gt;
 				&lt;br /&gt;
 			elseif key == keys.left and selection &amp;gt; 1 then&lt;br /&gt;
 				-- Move left&lt;br /&gt;
 				selection = selection - 1&lt;br /&gt;
 				if selection &amp;lt; 1 then&lt;br /&gt;
 					selection = #mChoices&lt;br /&gt;
 				end&lt;br /&gt;
 				&lt;br /&gt;
 			elseif key == keys.enter then&lt;br /&gt;
 				-- Select an option&lt;br /&gt;
 				if mChoices[selection]==&amp;quot;Save&amp;quot; then &lt;br /&gt;
 					if bReadOnly then &lt;br /&gt;
 						fMessage = &amp;quot;Access Denied&amp;quot;&lt;br /&gt;
 						return false&lt;br /&gt;
 					end&lt;br /&gt;
 					local success = save(sPath)&lt;br /&gt;
 					if success then&lt;br /&gt;
 						fMessage = &amp;quot;Saved to &amp;quot;..sPath&lt;br /&gt;
 					else&lt;br /&gt;
 						fMessage = &amp;quot;Error saving to &amp;quot;..sPath&lt;br /&gt;
 					end&lt;br /&gt;
 					return false&lt;br /&gt;
 				elseif mChoices[selection]==&amp;quot;Exit&amp;quot; then &lt;br /&gt;
 					return true&lt;br /&gt;
 				end&lt;br /&gt;
 			elseif key == keys.leftCtrl or keys == keys.rightCtrl then&lt;br /&gt;
 				-- Cancel the menu&lt;br /&gt;
 				return false &lt;br /&gt;
 			end&lt;br /&gt;
 		end&lt;br /&gt;
 	end&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 --[[  &lt;br /&gt;
 	Runs the main thread of execution. Draws the canvas and interface, and handles&lt;br /&gt;
 	mouse and key events.&lt;br /&gt;
 	returns: nil&lt;br /&gt;
 ]]&lt;br /&gt;
 local function handleEvents()&lt;br /&gt;
 	local programActive = true&lt;br /&gt;
 	while programActive do&lt;br /&gt;
 		local id,p1,p2,p3 = os.pullEvent()&lt;br /&gt;
 		if id==&amp;quot;mouse_click&amp;quot; or id==&amp;quot;mouse_drag&amp;quot; then&lt;br /&gt;
 			if p2 &amp;gt;= w-1 and p3 &amp;gt;= 1 and p3 &amp;lt;= 17 then&lt;br /&gt;
 				if id ~= &amp;quot;mouse_drag&amp;quot; then&lt;br /&gt;
 					-- Selecting an items in the colour picker&lt;br /&gt;
 					if p3 &amp;lt;= 16 then&lt;br /&gt;
 						if p1==1 then&lt;br /&gt;
 							leftColour = 2^(p3-1)&lt;br /&gt;
 						else&lt;br /&gt;
 							rightColour = 2^(p3-1)&lt;br /&gt;
 						end&lt;br /&gt;
 					else&lt;br /&gt;
 						if p1==1 then&lt;br /&gt;
 							leftColour = nil&lt;br /&gt;
 						else&lt;br /&gt;
 							rightColour = nil&lt;br /&gt;
 						end&lt;br /&gt;
 					end&lt;br /&gt;
 					--drawCanvas()&lt;br /&gt;
 					drawInterface()&lt;br /&gt;
 				end&lt;br /&gt;
 			elseif p2 &amp;lt; w-1 and p3 &amp;lt;= h-1 then&lt;br /&gt;
 				-- Clicking on the canvas&lt;br /&gt;
 				local paintColour = nil&lt;br /&gt;
 				if p1==1 then&lt;br /&gt;
 					paintColour = leftColour&lt;br /&gt;
 				elseif p1==2 then&lt;br /&gt;
 					paintColour = rightColour&lt;br /&gt;
 				end&lt;br /&gt;
 				if not canvas[p3] then&lt;br /&gt;
                     canvas[p3] = {}&lt;br /&gt;
     			end&lt;br /&gt;
                 canvas[p3][p2] = paintColour&lt;br /&gt;
 &lt;br /&gt;
 				drawCanvasPixel( p2, p3 )&lt;br /&gt;
 			end&lt;br /&gt;
 		elseif id==&amp;quot;key&amp;quot; then&lt;br /&gt;
 			if p1==keys.leftCtrl or p1==keys.rightCtrl then&lt;br /&gt;
 				programActive = not accessMenu()&lt;br /&gt;
 				drawInterface()&lt;br /&gt;
 			end&lt;br /&gt;
 		elseif id==&amp;quot;term_resize&amp;quot; then&lt;br /&gt;
 		    w,h = term.getSize()&lt;br /&gt;
             drawCanvas()&lt;br /&gt;
             drawInterface()&lt;br /&gt;
         end&lt;br /&gt;
 	end&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 -- Init&lt;br /&gt;
 load(sPath)&lt;br /&gt;
 drawCanvas()&lt;br /&gt;
 drawInterface()&lt;br /&gt;
 &lt;br /&gt;
 -- Main loop&lt;br /&gt;
 handleEvents()&lt;br /&gt;
 &lt;br /&gt;
 -- Shutdown&lt;br /&gt;
 term.setBackgroundColour(colours.black)&lt;br /&gt;
 term.setTextColour(colours.white)&lt;br /&gt;
 term.clear()&lt;br /&gt;
 term.setCursorPos(1,1)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Programs]]&lt;/div&gt;</summary>
		<author><name>Turkey</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Monitor.setTextScale&amp;diff=6750</id>
		<title>Monitor.setTextScale</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Monitor.setTextScale&amp;diff=6750"/>
				<updated>2014-09-22T01:44:48Z</updated>
		
		<summary type="html">&lt;p&gt;Turkey: Adding a note about the impact of setTextScale on paintutils&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{lowercase}}&lt;br /&gt;
{{Function&lt;br /&gt;
|name=monitor.setTextScale&lt;br /&gt;
|args={{type|number}} scale&lt;br /&gt;
|api=Term&lt;br /&gt;
|addon=ComputerCraft&lt;br /&gt;
|desc=Sets the size of all text on the monitor. scale can be any multiple of 0.5, starting at 0.5 and ending at 5. Also changes the size of pixels drawn by the [[paintutils (API)|paintutils API]].&lt;br /&gt;
|examples=&lt;br /&gt;
{{Example&lt;br /&gt;
|desc=Sets the monitor's text scale to 2.&lt;br /&gt;
|code=local monitor = [[peripheral.wrap]](&amp;quot;left&amp;quot;)&lt;br /&gt;
 monitor.setTextScale(2)&lt;br /&gt;
}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:API_Functions]]&lt;/div&gt;</summary>
		<author><name>Turkey</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Resolution&amp;diff=6749</id>
		<title>Resolution</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Resolution&amp;diff=6749"/>
				<updated>2014-09-22T01:43:21Z</updated>
		
		<summary type="html">&lt;p&gt;Turkey: /* Enhanced resolution */ Adding a note about the impact of setTextScale on paintutils&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Resolution''' refers to the number of on a monitor, terminal, or other Computercraft user interface. Each '''pixel''' is a single rectangular patch of color, which can also contain a single letter of text.&lt;br /&gt;
&lt;br /&gt;
== Monitor resolution ==&lt;br /&gt;
[[File:Computer_w_DiskDrive_w_Monitor.png|frame|428x241px|right|A 2x2 [[Monitor]], connected to a [[Computer]], with a [[Disk Drive]] connected.]]&lt;br /&gt;
[[Monitor]]s and [[Advanced Monitor]]s have variable resolution because of the borders of their screens, and because of the [[monitor.setTextScale]] function. This gives monitors potential for exceedingly high resolution when they are properly configured.&lt;br /&gt;
&lt;br /&gt;
=== Default resolution ===&lt;br /&gt;
The default text scale for monitors is 1. Using the default text scale, a single monitor by itself has a resolution of 7 pixels horizontally by 5 pixels vertically. Resolution is increased when monitors are placed next to each other, both by using the extra monitors and by turning the borders between monitors into extra screen space. With the default text scale, monitor borders take up two pixels on the left and right sides, and one pixel on the top and bottom sides. The monitor in the middle of a 3x3 cluster of monitors would have a resolution of 11 pixels horizontally by 7 pixels vertically, while the whole cluster would have a total resolution of 29 pixels horizontally by 19 pixels vertically.&lt;br /&gt;
&lt;br /&gt;
Using the default text scale, the largest possible monitor cluster (8 blocks wide and 6 blocks tall) has a total resolution of 70 pixels horizontally by 40 pixels vertically.&lt;br /&gt;
&lt;br /&gt;
=== Enhanced resolution ===&lt;br /&gt;
The text scale of [[monitor.setTextScale]] can be increased or decreased in increments of 0.5, and the highest resolution setting is achieved when the text scale is set to 0.5. Under this setting, a single monitor by itself has a resolution of 15 pixels horizontally by 10 pixels vertically. At this scale, monitor borders take up three pixels on the left and right sides, and two pixels on the top and bottom sides.&lt;br /&gt;
&lt;br /&gt;
Using the 0.5 text scale for maximum resolution, the largest possible monitor cluster has a total resolution of 162 pixels horizontally by 80 pixels vertically.&lt;br /&gt;
&lt;br /&gt;
Note that the setTextScale function also changes the resolution of pixels drawn with the [[paintutils (API)|paintutils API]], so the function is more powerful than its name suggests.&lt;br /&gt;
&lt;br /&gt;
== Computer resolution ==&lt;br /&gt;
[[Computer]]s and [[Advanced Computer]]s have a resolution of 51 pixels horizontally by 19 pixels vertically.&lt;br /&gt;
&lt;br /&gt;
== Pocket computer resolution ==&lt;br /&gt;
[[Pocket Computer]]s have a resolution of 26 pixels horizontally by 19 pixels vertically.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Term (API)]]&lt;br /&gt;
* [[Paintutils (API)]]&lt;br /&gt;
* [[CCLights2]] (Third-party graphics peripheral for OpenGL rendering with its own monitors.)&lt;br /&gt;
* [[CCGPU]] (Third-party graphics peripheral for OpenGL rendering. Has its own monitor.)&lt;br /&gt;
&lt;br /&gt;
[[Category:Consoles]]&lt;br /&gt;
[[Category:Tutorials‏‎]]&lt;/div&gt;</summary>
		<author><name>Turkey</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Tutorials&amp;diff=6748</id>
		<title>Tutorials</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Tutorials&amp;diff=6748"/>
				<updated>2014-09-16T02:45:33Z</updated>
		
		<summary type="html">&lt;p&gt;Turkey: /* Basic Tutorials */ Adding advanced tutorials section with classes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As some tutorials might not be listed here, you can also browse the [[:Category:Tutorials|tutorials category]].&lt;br /&gt;
&lt;br /&gt;
== Basic Tutorials ==&lt;br /&gt;
These tutorials are designed to be used in the order shown, each tutorial will build on the previous ones.&lt;br /&gt;
=== Introduction to Coding ===&lt;br /&gt;
*[[Hello_World_Tutorial|Hello World!]]&lt;br /&gt;
*[[Variables]]&lt;br /&gt;
*[[Conditional_statements|If, Then, Else]]&lt;br /&gt;
*[[Function (type)|Functions]]&lt;br /&gt;
*[[Loops]]&lt;br /&gt;
*[[Tables]]&lt;br /&gt;
&lt;br /&gt;
== Advanced Tutorials ==&lt;br /&gt;
These tutorials cover more advanced topics which can be useful but are not strictly necessary for simple projects.&lt;br /&gt;
&lt;br /&gt;
*[[Class]]es&lt;br /&gt;
&lt;br /&gt;
== Example Programs ==&lt;br /&gt;
These pages guide you through programs created by other users. They are not necessarily well-coded, but can be useful as a loose guide.&lt;br /&gt;
&lt;br /&gt;
=== Programming &amp;amp; Wiring ===&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;
*[[Raw key events| Detecting specific keys (such as the arrow keys)]]&lt;br /&gt;
*[[Receiving a rednet message through os.pullEvent()|Receiving a rednet message through os.pullEvent()]]&lt;br /&gt;
*[[Calculator Tutorial]]&lt;br /&gt;
*[[Rednet Tutorial]].&lt;br /&gt;
*[[Usage of the bundled cable using the Redstone API]]&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;br /&gt;
*[[Turtle_Stairbuilder_(tutorial)|Turtle Stairbuilder]]&lt;br /&gt;
&lt;br /&gt;
== External Tutorials/Guides ==&lt;br /&gt;
*[http://www.minecraftforum.net/topic/907632-mod-tutorial-computercraft-v12-very-basic-lua-tutorial-updated-1112/page__p__11556908#entry11556908 Onionnion's Basic Lua Tutorial]&lt;br /&gt;
*[http://www.computercraft.info/forums2/index.php?/topic/1516-ospullevent-what-is-it-and-how-is-it-useful/page__view__findpost__p__11156 Onionnion's os.pullEvent() Guide]&lt;br /&gt;
*[http://wiki.roblox.com/ Roblox Wiki (Has tutorials on Lua)]&lt;br /&gt;
*[http://www.lua.org/pil/contents.html Programming in Lua, a general purpose guidebook written by a programmer that writes the Lua interpreter]&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Turkey</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Prototype&amp;diff=6747</id>
		<title>Prototype</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Prototype&amp;diff=6747"/>
				<updated>2014-09-16T02:41:56Z</updated>
		
		<summary type="html">&lt;p&gt;Turkey: Redirected page to Class&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Class]]&lt;/div&gt;</summary>
		<author><name>Turkey</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Setters&amp;diff=6746</id>
		<title>Setters</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Setters&amp;diff=6746"/>
				<updated>2014-09-16T02:41:37Z</updated>
		
		<summary type="html">&lt;p&gt;Turkey: Redirected page to Class&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Class]]&lt;/div&gt;</summary>
		<author><name>Turkey</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Getters&amp;diff=6745</id>
		<title>Getters</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Getters&amp;diff=6745"/>
				<updated>2014-09-16T02:41:21Z</updated>
		
		<summary type="html">&lt;p&gt;Turkey: Redirected page to Class&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Class]]&lt;/div&gt;</summary>
		<author><name>Turkey</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Inheritance&amp;diff=6744</id>
		<title>Inheritance</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Inheritance&amp;diff=6744"/>
				<updated>2014-09-16T02:41:08Z</updated>
		
		<summary type="html">&lt;p&gt;Turkey: Redirected page to Class&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Class]]&lt;/div&gt;</summary>
		<author><name>Turkey</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Object-oriented_programming&amp;diff=6743</id>
		<title>Object-oriented programming</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Object-oriented_programming&amp;diff=6743"/>
				<updated>2014-09-16T02:40:43Z</updated>
		
		<summary type="html">&lt;p&gt;Turkey: Redirected page to Class&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Class]]&lt;/div&gt;</summary>
		<author><name>Turkey</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Object_oriented_programming&amp;diff=6742</id>
		<title>Object oriented programming</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Object_oriented_programming&amp;diff=6742"/>
				<updated>2014-09-16T02:40:19Z</updated>
		
		<summary type="html">&lt;p&gt;Turkey: Redirected page to Class&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Class]]&lt;/div&gt;</summary>
		<author><name>Turkey</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Instantiation&amp;diff=6741</id>
		<title>Instantiation</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Instantiation&amp;diff=6741"/>
				<updated>2014-09-16T02:39:57Z</updated>
		
		<summary type="html">&lt;p&gt;Turkey: Redirected page to Class&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Class]]&lt;/div&gt;</summary>
		<author><name>Turkey</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Instance&amp;diff=6740</id>
		<title>Instance</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Instance&amp;diff=6740"/>
				<updated>2014-09-16T02:39:35Z</updated>
		
		<summary type="html">&lt;p&gt;Turkey: Redirected page to Class&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Class]]&lt;/div&gt;</summary>
		<author><name>Turkey</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Method&amp;diff=6739</id>
		<title>Method</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Method&amp;diff=6739"/>
				<updated>2014-09-16T02:39:18Z</updated>
		
		<summary type="html">&lt;p&gt;Turkey: Redirected page to Class&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Class]]&lt;/div&gt;</summary>
		<author><name>Turkey</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Object&amp;diff=6738</id>
		<title>Object</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Object&amp;diff=6738"/>
				<updated>2014-09-16T02:38:39Z</updated>
		
		<summary type="html">&lt;p&gt;Turkey: Redirected page to Class&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Class]]&lt;/div&gt;</summary>
		<author><name>Turkey</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Class&amp;diff=6737</id>
		<title>Class</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Class&amp;diff=6737"/>
				<updated>2014-09-16T02:37:59Z</updated>
		
		<summary type="html">&lt;p&gt;Turkey: Created page with &amp;quot;'''Classes''' can be created in Lua to simplify the creation of large projects by using objects. In Lua, an '''object''' is a table which has data and can make use ...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Classes''' can be created in Lua to simplify the creation of large projects by using objects. In Lua, an '''object''' is a [[tables|table]] which has data and can make use of '''methods''' ([[Function (type)|functions]] for classes) which are designed to work with the object's data to carry out potentially large or complicated tasks with a minimum of code. Classes are not required for making simple projects, but can be helpful to have when using or creating large projects and APIs, especially when working with other programmers.&lt;br /&gt;
&lt;br /&gt;
== Basics of classes ==&lt;br /&gt;
In Lua, classes are built as '''prototype''' tables which contain methods and data that other tables can refer to. The simplest example is as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 -- Example 1&lt;br /&gt;
 Prototype1 = {color=&amp;quot;black&amp;quot;}&lt;br /&gt;
 local instance1 = {}&lt;br /&gt;
 setmetatable (instance1, {__index=Prototype1})&lt;br /&gt;
 print (instance1.color)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this example, the program will print &amp;quot;black&amp;quot;. This is because we've changed instance1 so that whenever we try to find an attribute that it doesn't have already, it will default to whatever Prototype1 uses for that attribute. Since we never defined instance1.color, it defaults to Prototype1.color which is &amp;quot;black&amp;quot;. We can say that instance1 is an object, or that it is an '''instance''' of Prototype1.&lt;br /&gt;
&lt;br /&gt;
== Methods ==&lt;br /&gt;
Methods are the real reason for creating classes. At the most basic, this can be done as such:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 -- Example 2&lt;br /&gt;
 ImagePrototype = {data={}}&lt;br /&gt;
 &lt;br /&gt;
 function ImagePrototype.printData (instance)&lt;br /&gt;
   print (instance.data)   &lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 local image1 = {data=&amp;quot;1,1,Black;&amp;quot;}&lt;br /&gt;
 setmetatable (image1, {__index=ImagePrototype})&lt;br /&gt;
 ImagePrototype.printData(image1)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This program will print &amp;quot;1,1,black;&amp;quot;. We can make it a little bit more efficient if we use colons ':'. Although all attributes of table and objects can be accessed like objectName [&amp;quot;attributeName&amp;quot;] or objectName.attributeName, there is a special trick we can use for methods. Using a colon, we can say objectName:methodName() and we will automatically make it so that the first variable we give the method is the object that we were referring to. In addition, we can use this trick when we write methods. By saying className:methodName, the method will automatically have an initial variable called self. 'Self' is the standard term used across many programming languages to refer to the object that a method is working with. Here's an example of how we can simplify this code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 -- Example 3&lt;br /&gt;
 ImagePrototype = {data={}}&lt;br /&gt;
 &lt;br /&gt;
 function ImagePrototype:printData ()&lt;br /&gt;
   print (self.data)   &lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 local image1 = {data=&amp;quot;1,1,Black;&amp;quot;}&lt;br /&gt;
 setmetatable (image1, {__index=ImagePrototype})&lt;br /&gt;
 image1:printData()&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now we still still print &amp;quot;1,1,Black;&amp;quot;, but we've made things a little bit neater and easier.&lt;br /&gt;
&lt;br /&gt;
=== Initialization ===&lt;br /&gt;
Instead of using setmetatable after every time we create an instance, we can simplify things a little bit more by including that process in the class with an initialization function. Here's an example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 -- Example 4&lt;br /&gt;
 ImagePrototype = {data={}}&lt;br /&gt;
 &lt;br /&gt;
 function ImagePrototype.__init__ (data)&lt;br /&gt;
   local self = {data=data}&lt;br /&gt;
   setmetatable (self, {__index=ImagePrototype})&lt;br /&gt;
   return self&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 function ImagePrototype:printData ()&lt;br /&gt;
   print (self.data)   &lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 local image1 = ImagePrototype.__init__ (&amp;quot;1,1,Black;&amp;quot;)&lt;br /&gt;
 image1:printData()&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now we're still printing &amp;quot;1,1,Black;&amp;quot;, but we only need one line of code to create an instance of ImagePrototype, and one line to do the printing. The last two lines in this example involve a lot less writing than the last three lines in example 2.&lt;br /&gt;
&lt;br /&gt;
=== Callable classes ===&lt;br /&gt;
We can simplify things even further and achieve some interesting results by making classes act like functions. To do this, we use setmetatable again, but now we're changing __call instead of __index. Here's an example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 -- Example 5&lt;br /&gt;
 ImagePrototype = {data=&amp;quot;Original&amp;quot;}&lt;br /&gt;
 &lt;br /&gt;
 function ImagePrototype.__init__ (baseClass, data)&lt;br /&gt;
   self = {data=data}&lt;br /&gt;
   setmetatable (self, {__index=ImagePrototype})&lt;br /&gt;
   return self&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 setmetatable (ImagePrototype, {__call=ImagePrototype.__init__}) --Makes ImagePrototype(...) act like ImagePrototype.__init__ (ImagePrototype, ...)&lt;br /&gt;
 &lt;br /&gt;
 function ImagePrototype:printData ()&lt;br /&gt;
   print (self.data)   &lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 local image1 = ImagePrototype (&amp;quot;1,1,Black;&amp;quot;)&lt;br /&gt;
 image1:printData()&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now we get the same output, but the last two lines have become even simpler, especially when compared with the last three lines in example 2.&lt;br /&gt;
&lt;br /&gt;
Callable classes can also be used in other cases, for example if you want to make a class which acts like a function.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;Should add information about [http://lua-users.org/wiki/ObjectProperties getters and setters], private attributes, inheritance, superclasses, [http://lua-users.org/wiki/DecoratorsAndDocstrings decorators and docstrings], etc.&amp;lt;/noinclude&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Metatable]]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* Official Lua documentation for object-oriented programming:&lt;br /&gt;
** [http://www.lua.org/pil/16.html 1.6: Object-Oriented Programming]&lt;br /&gt;
** [http://www.lua.org/pil/16.1.html 1.6: Classes]&lt;br /&gt;
** [http://www.lua.org/pil/16.2.html 1.6: Inheritance]&lt;br /&gt;
** [http://www.lua.org/pil/16.3.html 1.6: Multiple Inheritance]&lt;br /&gt;
** [http://www.lua.org/pil/16.4.html 1.6: Privacy]&lt;br /&gt;
** [http://www.lua.org/pil/16.5.html 1.6: The Single-Method Approach]&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Turkey</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Metatable&amp;diff=6736</id>
		<title>Metatable</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Metatable&amp;diff=6736"/>
				<updated>2014-09-14T10:28:51Z</updated>
		
		<summary type="html">&lt;p&gt;Turkey: /* Metamethods */ Adding external links section with link to official Lua metatable documentation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NeedsWork|Not enough info, perhaps incorrect info}}&lt;br /&gt;
&lt;br /&gt;
A metatable is an addition on to normal tables for adding metamethods, making classes as well as protecting functions. &lt;br /&gt;
&amp;lt;!-- Possibly more, I don't know about any other application, unfortunately --~~~~ --&amp;gt;&lt;br /&gt;
== Setting and getting a metatable ==&lt;br /&gt;
&lt;br /&gt;
You will use setMetatable and getMetatable to set and get metatables.&lt;br /&gt;
&lt;br /&gt;
You use getMetatable(table) to get your metatable from a table. It will return the __metatable metafield&lt;br /&gt;
in the table.&lt;br /&gt;
&lt;br /&gt;
setMetatable(table, metatable) to set your table's metatable. It will error if the __metatable metafield&lt;br /&gt;
is set.&lt;br /&gt;
&lt;br /&gt;
However, if the table has a metatable with the metafield __metatable, it will error when you use setMetatable and return what it is set to when getMetatable is called.&lt;br /&gt;
&lt;br /&gt;
== Metamethods ==&lt;br /&gt;
&lt;br /&gt;
A metamethod is a type of function which changes the default way a table acts. The table below demonstrates what each&lt;br /&gt;
one is called, and how each one is used. &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Name || Description || Arguments passed&lt;br /&gt;
|-&lt;br /&gt;
| __index&lt;br /&gt;
| Used when table[variable] is called.&lt;br /&gt;
| The variable.&lt;br /&gt;
|-&lt;br /&gt;
| __newindex&lt;br /&gt;
| Used like __index, but it is only called when the variable matches an empty space in the table.&lt;br /&gt;
| The variable.&lt;br /&gt;
|-&lt;br /&gt;
| __call&lt;br /&gt;
| A metamethod to turn a table's name into a function, or whatever you want it to do.&lt;br /&gt;
| Function, Tuple&lt;br /&gt;
|-&lt;br /&gt;
| __metatable&lt;br /&gt;
| Used for protecting metatables, called when getmetatable() is used on the table, setmetatable() just errors.&lt;br /&gt;
| Nothing (as far as Unit158 knows)&lt;br /&gt;
|-&lt;br /&gt;
| __mul&lt;br /&gt;
| Used as an operator overloader for multiplication.&lt;br /&gt;
| The two objects being &amp;quot;multiplied&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| __div&lt;br /&gt;
| Used as an operator overloader for division.&lt;br /&gt;
| The two objects being &amp;quot;divided&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| __sub&lt;br /&gt;
| Used as an operator overloader for substraction.&lt;br /&gt;
| The two objects being &amp;quot;subtracted&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| __add&lt;br /&gt;
| Used as an operator overloader for addition.&lt;br /&gt;
| The two objects being &amp;quot;added&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| __mod&lt;br /&gt;
| Used as an operator overloader for modulo.&lt;br /&gt;
| The two objects being &amp;quot;divided&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| __pow&lt;br /&gt;
| Used as an operator overloader for exponentiation operation.&lt;br /&gt;
| The two objects being exponentiated.&lt;br /&gt;
|-&lt;br /&gt;
| __unm&lt;br /&gt;
| I am not exactly sure how this one works, it is for negatives though.&lt;br /&gt;
| The table being changed into a negative. &amp;lt;!-- Feel free to change this one X] --&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| __eq&lt;br /&gt;
| __eq is an operator overloader for comparison.&lt;br /&gt;
| The two objects being compared&lt;br /&gt;
|-&lt;br /&gt;
| __lt&lt;br /&gt;
| Less than.&lt;br /&gt;
| The two objects being compared&lt;br /&gt;
|-&lt;br /&gt;
| __le&lt;br /&gt;
| Less than or equal to.&lt;br /&gt;
| The objects being compared&lt;br /&gt;
|-&lt;br /&gt;
| __concat&lt;br /&gt;
| The objects being concatenated&lt;br /&gt;
| The two objects being concatenated&lt;br /&gt;
|-&lt;br /&gt;
| __len&lt;br /&gt;
| The # operator.&lt;br /&gt;
| The object having the operation performed on it.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://www.lua.org/manual/5.1/manual.html#2.8 Lua 5.1 Reference Manual: Metatables]&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Turkey</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Peripheral_(API)&amp;diff=6735</id>
		<title>Peripheral (API)</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Peripheral_(API)&amp;diff=6735"/>
				<updated>2014-09-14T10:03:30Z</updated>
		
		<summary type="html">&lt;p&gt;Turkey: /* Printer */ Updating link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{msgbox&lt;br /&gt;
| text = This article is about the Peripheral API. For APIs exposed when wrapping peripherals through [[peripheral.wrap]]() see [[:Category:Peripheral_APIs|Peripheral APIs]].&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
__TOC__ &lt;br /&gt;
The Peripheral API is for interacting with [[peripheral]]s connected to the computer, such as the [[Disk Drive]], the [[Advanced Monitor]] and [[Monitor]]. (More peripherals can be found under [[:Category:Peripherals|here]]).&lt;br /&gt;
&lt;br /&gt;
Each peripheral block has a name, or ''side''. Although peripherals can now be attached to a computer using networking cables, the word ''side'' is a holdover from when peripherals needed to be directly next to the computer.&lt;br /&gt;
&lt;br /&gt;
If the peripheral is next to the computer, its side is either &amp;quot;front&amp;quot;, &amp;quot;back&amp;quot;, &amp;quot;left&amp;quot;, &amp;quot;right&amp;quot;, &amp;quot;top&amp;quot; or &amp;quot;bottom&amp;quot;. If the peripheral is attached by a cable, its side will follow the format &amp;quot;''type''_''id''&amp;quot;, for example &amp;quot;printer_0&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Peripheral functions are called '''methods''', a term borrowed from Java.&lt;br /&gt;
&lt;br /&gt;
{{API table|Peripheral|image=Grid disk.png|2=&lt;br /&gt;
&lt;br /&gt;
{{API table/row|[[peripheral.isPresent]]({{type|string}} side)|{{type|boolean}}|&lt;br /&gt;
Returns '''true''' if a peripheral is connected on ''side''.&lt;br /&gt;
|odd}}&lt;br /&gt;
&lt;br /&gt;
{{API table/row|[[peripheral.getType]]({{type|string}} side)|{{type|string}} /{{type|nil}}|&lt;br /&gt;
Returns the type of peripheral connected on ''side'', as a string.&lt;br /&gt;
If no peripheral is connected, returns nil.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{API table/row|[[peripheral.getMethods]]({{type|string}} side)|{{type|table}} /{{type|nil}}|&lt;br /&gt;
Returns a list of the names of all the methods of the peripheral connected on ''side''.&lt;br /&gt;
If no peripheral is connected, returns nil.&lt;br /&gt;
|odd}}&lt;br /&gt;
&lt;br /&gt;
{{API table/row|[[peripheral.call]]({{type|string}} side, {{type|string}} method, ...)|any|&lt;br /&gt;
Calls a method on a peripheral. The arguments (apart from ''side'' and ''method'') and the return values depend on the method being called.&lt;br /&gt;
If no peripheral is connected, returns nil.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{API table/row|[[peripheral.wrap]]({{type|string}} side)|{{type|table}} peripheral / {{type|nil}}|&lt;br /&gt;
Returns a table of functions, allowing you to call peripheral methods as if they were normal Lua functions.&lt;br /&gt;
If no peripheral is connected, returns nil.&lt;br /&gt;
|odd}}&lt;br /&gt;
&lt;br /&gt;
{{API table/row|[[peripheral.find]]({{type|string}} type [, {{type|function}} fnFilter( name, object )])|{{type|table}} peripheral / {{type|nil}}|&lt;br /&gt;
Finds an attached peripheral of the given type and if found returns a table of functions, similar to [[peripheral.wrap]], allowing you to call peripheral methods as if they were normal Lua functions.&lt;br /&gt;
If no peripheral of the given type is connected, it returns nil. '''''Requires ComputerCraft 1.6 or later.'''''&lt;br /&gt;
|odd}}&lt;br /&gt;
&lt;br /&gt;
{{API table/row|[[peripheral.getNames]]()|{{type|table}}|&lt;br /&gt;
This function returns a table of all the sides that have a peripheral present. If the present peripheral is a wired modem any names of the peripherals that is on the network are also added to the table.&lt;br /&gt;
|odd}}&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Connecting peripherals using networking cables==&lt;br /&gt;
Using Networking Cables, you can attach and use peripherals without having them directly touching the computer. To connect a peripheral in this way, place a Wired Modem on any side of your computer, as you would a [[Wireless Modem]]. Place a Wired Modem on each peripheral you wish to connect, and then connect all of them with Networking Cables. Then right click each of the wired modems.&lt;br /&gt;
&lt;br /&gt;
You should receive a message in your chat bar for each peripheral informing you of a successful connection, and the peripheral side.&lt;br /&gt;
&lt;br /&gt;
==Monitor==&lt;br /&gt;
[[Monitor]] and [[Advanced Monitor]] peripheral functions can be found on the [[Term (API)]] page. Note that the [[Colors (API)|Colors API]] can also be useful for designing colors for use on an advanced monitor.&lt;br /&gt;
&lt;br /&gt;
==Printer==&lt;br /&gt;
[[Printer#Printer API |Printer Peripheral functions]] have been moved to the [[Printer]] page.&lt;br /&gt;
&lt;br /&gt;
==Computers==&lt;br /&gt;
[[Computer#Peripheral_Functions|Computer Peripheral functions]] have been moved to the [[Computer]] page.&lt;br /&gt;
In addition, the [[Advanced_Computer#Peripheral_Functions|Advanced Computer Peripheral functions]] have been moved to the [[Advanced Computer]] page.&lt;br /&gt;
&lt;br /&gt;
[[Category:APIs]]&lt;/div&gt;</summary>
		<author><name>Turkey</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Metatable&amp;diff=6734</id>
		<title>Metatable</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Metatable&amp;diff=6734"/>
				<updated>2014-09-14T09:18:09Z</updated>
		
		<summary type="html">&lt;p&gt;Turkey: /* Metamethods */ Spelling corrections and added to tutorials category&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NeedsWork|Not enough info, perhaps incorrect info}}&lt;br /&gt;
&lt;br /&gt;
A metatable is an addition on to normal tables for adding metamethods, making classes as well as protecting functions. &lt;br /&gt;
&amp;lt;!-- Possibly more, I don't know about any other application, unfortunately --~~~~ --&amp;gt;&lt;br /&gt;
== Setting and getting a metatable ==&lt;br /&gt;
&lt;br /&gt;
You will use setMetatable and getMetatable to set and get metatables.&lt;br /&gt;
&lt;br /&gt;
You use getMetatable(table) to get your metatable from a table. It will return the __metatable metafield&lt;br /&gt;
in the table.&lt;br /&gt;
&lt;br /&gt;
setMetatable(table, metatable) to set your table's metatable. It will error if the __metatable metafield&lt;br /&gt;
is set.&lt;br /&gt;
&lt;br /&gt;
However, if the table has a metatable with the metafield __metatable, it will error when you use setMetatable and return what it is set to when getMetatable is called.&lt;br /&gt;
&lt;br /&gt;
== Metamethods ==&lt;br /&gt;
&lt;br /&gt;
A metamethod is a type of function which changes the default way a table acts. The table below demonstrates what each&lt;br /&gt;
one is called, and how each one is used. &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Name || Description || Arguments passed&lt;br /&gt;
|-&lt;br /&gt;
| __index&lt;br /&gt;
| Used when table[variable] is called.&lt;br /&gt;
| The variable.&lt;br /&gt;
|-&lt;br /&gt;
| __newindex&lt;br /&gt;
| Used like __index, but it is only called when the variable matches an empty space in the table.&lt;br /&gt;
| The variable.&lt;br /&gt;
|-&lt;br /&gt;
| __call&lt;br /&gt;
| A metamethod to turn a table's name into a function, or whatever you want it to do.&lt;br /&gt;
| Function, Tuple&lt;br /&gt;
|-&lt;br /&gt;
| __metatable&lt;br /&gt;
| Used for protecting metatables, called when getmetatable() is used on the table, setmetatable() just errors.&lt;br /&gt;
| Nothing (as far as Unit158 knows)&lt;br /&gt;
|-&lt;br /&gt;
| __mul&lt;br /&gt;
| Used as an operator overloader for multiplication.&lt;br /&gt;
| The two objects being &amp;quot;multiplied&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| __div&lt;br /&gt;
| Used as an operator overloader for division.&lt;br /&gt;
| The two objects being &amp;quot;divided&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| __sub&lt;br /&gt;
| Used as an operator overloader for substraction.&lt;br /&gt;
| The two objects being &amp;quot;subtracted&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| __add&lt;br /&gt;
| Used as an operator overloader for addition.&lt;br /&gt;
| The two objects being &amp;quot;added&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| __mod&lt;br /&gt;
| Used as an operator overloader for modulo.&lt;br /&gt;
| The two objects being &amp;quot;divided&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| __pow&lt;br /&gt;
| Used as an operator overloader for exponentiation operation.&lt;br /&gt;
| The two objects being exponentiated.&lt;br /&gt;
|-&lt;br /&gt;
| __unm&lt;br /&gt;
| I am not exactly sure how this one works, it is for negatives though.&lt;br /&gt;
| The table being changed into a negative. &amp;lt;!-- Feel free to change this one X] --&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| __eq&lt;br /&gt;
| __eq is an operator overloader for comparison.&lt;br /&gt;
| The two objects being compared&lt;br /&gt;
|-&lt;br /&gt;
| __lt&lt;br /&gt;
| Less than.&lt;br /&gt;
| The two objects being compared&lt;br /&gt;
|-&lt;br /&gt;
| __le&lt;br /&gt;
| Less than or equal to.&lt;br /&gt;
| The objects being compared&lt;br /&gt;
|-&lt;br /&gt;
| __concat&lt;br /&gt;
| The objects being concatenated&lt;br /&gt;
| The two objects being concatenated&lt;br /&gt;
|-&lt;br /&gt;
| __len&lt;br /&gt;
| The # operator.&lt;br /&gt;
| The object having the operation performed on it.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Turkey</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Tables&amp;diff=6733</id>
		<title>Tables</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Tables&amp;diff=6733"/>
				<updated>2014-09-14T09:13:43Z</updated>
		
		<summary type="html">&lt;p&gt;Turkey: Moving category tag to the bottom of the page, no visible changes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Tutorial&lt;br /&gt;
|name=Tables&lt;br /&gt;
|desc=This script will introduce you to Tables, and show you some ways to use them. If you have experience with other languages, a table is roughly equivalent to an array.&lt;br /&gt;
|objective=An understanding of the usage and purpose of Tables&lt;br /&gt;
|prereqs=[[Variables|A basic understanding of Variables]].&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Why are Tables Useful? ==&lt;br /&gt;
&lt;br /&gt;
Tables can simplify code considerably, by grouping like variables and functions together.&lt;br /&gt;
&lt;br /&gt;
In this example, we're getting a list of student's names&lt;br /&gt;
Code without tables&lt;br /&gt;
 local StudentName1 = &amp;quot;Andrew&amp;quot;&lt;br /&gt;
 local StudentName2 = &amp;quot;Alfred&amp;quot;&lt;br /&gt;
 local StudentName3 = &amp;quot;Alex&amp;quot;&lt;br /&gt;
 local StudentName4 = &amp;quot;Amber&amp;quot;&lt;br /&gt;
 local StudentName5 = &amp;quot;Alice&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Code with tables&lt;br /&gt;
 local StudentNames = {&amp;quot;Andrew&amp;quot;, &amp;quot;Alfred&amp;quot;, &amp;quot;Alex&amp;quot;, &amp;quot;Amber&amp;quot;, &amp;quot;Alice&amp;quot;}&lt;br /&gt;
&lt;br /&gt;
As you can see, the first example needs 5 unique variables being defined individually, while the second example, using the table, is all one line with one variable.&lt;br /&gt;
&lt;br /&gt;
Note the { and }, this is how you spot a table. Anything between them is a variable to be stored in the table. A table is not restricted to one variable type, and you can even store tables within tables if you wish&lt;br /&gt;
&lt;br /&gt;
== Using the Table ==&lt;br /&gt;
&lt;br /&gt;
There are a number of ways to set the values in a table. The first, as shown above, is the simplest method, and will give each value a unique number as the &amp;quot;key&amp;quot;. The key is simply the location in the table, it's usually a number or string. This method always clears the contents of the table and replaces it with what you've specified. Note that setting a table to &amp;quot;{}&amp;quot; is valid, and is commonly used if the values don't need to, or can't, be set immediately. You may find yourself using &amp;quot;Variable={}&amp;quot; often. Setting a specific key with this method is relatively simple, you just use the asignment operator &amp;quot;=&amp;quot; and treat the key as a variable&lt;br /&gt;
 local Table = {Key1 = &amp;quot;First key!&amp;quot;, Key2 = &amp;quot;Second key!&amp;quot;}&lt;br /&gt;
&lt;br /&gt;
It can also be defined over multiple lines, to help with readability, if you end the line with a comma rather than the } to close it. Just remember to add the } when you're done.&lt;br /&gt;
 local Table = {&amp;quot;Stuff&amp;quot;, 1, 2, &amp;quot;More stuff&amp;quot;,&lt;br /&gt;
     3, &amp;quot;Some strings&amp;quot;,&lt;br /&gt;
     function() end}&lt;br /&gt;
&lt;br /&gt;
Another method is to use brackets, [ and ], to specify the key. This method requires the table to have already been created, using { and }, otherwise it will give you an error. Using this method will treat it as a regular variable, so you can both set and read the value with this method. This method is commonly used for getting a value when the key is a number.&lt;br /&gt;
 local Table = {}&lt;br /&gt;
 Table[&amp;quot;Boolean&amp;quot;] = true&lt;br /&gt;
 &lt;br /&gt;
 if Table[&amp;quot;Boolean&amp;quot;] then print(&amp;quot;The value is true!&amp;quot;) end&lt;br /&gt;
&lt;br /&gt;
If you need to reference a table within a table using this method, you can simply add another [ ]&lt;br /&gt;
&lt;br /&gt;
 local Table = {&amp;quot;Value&amp;quot;, 2, {true, false}}&lt;br /&gt;
 &lt;br /&gt;
 if Table[3][2] then print(&amp;quot;The value is true!&amp;quot;) else print(&amp;quot;The value is false!&amp;quot;) end&lt;br /&gt;
&lt;br /&gt;
A third method is to simply add the key onto the end of the table name, separated by a &amp;quot;.&amp;quot;. Like the previous method, this method requires the table to already exist. It can also be treated as a regular variable, as above. This method is commonly used for when the key is a string.&lt;br /&gt;
 local Table = {}&lt;br /&gt;
 &lt;br /&gt;
 Table.key = true&lt;br /&gt;
 if Table.key then print(&amp;quot;True!&amp;quot;) end&lt;br /&gt;
&lt;br /&gt;
As with the second method, to index a table within a table you just add the second key to the end. Note that these methods are interchangeable, and can all be used at the same time.&lt;br /&gt;
&lt;br /&gt;
It is not advisable to have many tables inside each other, especially if they are similarly named&lt;br /&gt;
 local Table = {String = &amp;quot;This is a string!&amp;quot;, Table = {Number = 2, Table = {func = write, Table = {Bool = true} } }}&lt;br /&gt;
 &lt;br /&gt;
 if Table[Table].Table.Table.Bool then print(&amp;quot;True!&amp;quot;) end&lt;br /&gt;
&lt;br /&gt;
If you don't mind being restricted to number keys, you could use the table.insert(Table, [Position,] Value ) function.&lt;br /&gt;
 local Table = {&amp;quot;One&amp;quot;}&lt;br /&gt;
 table.insert(Table, &amp;quot;Three&amp;quot;) --This inserts the string &amp;quot;Three&amp;quot; to the end of the table (At key 2)&lt;br /&gt;
 table.insert(Table, 2, &amp;quot;Two&amp;quot;) --This inserts the string &amp;quot;Two&amp;quot; to key 2, pushing the string &amp;quot;Three&amp;quot; up to key three&lt;br /&gt;
 --End result, Table[1] is One, Table[2] is Two, Table[3] is Three&lt;br /&gt;
&lt;br /&gt;
== Tables and Loops ==&lt;br /&gt;
&lt;br /&gt;
When you combine tables and loops, they suddenly become a lot more useful. You can run through a table easily, using or changing each value.&lt;br /&gt;
 local Table = {&amp;quot;Hello! &amp;quot;, &amp;quot;This string &amp;quot;, &amp;quot;was read from &amp;quot;, &amp;quot;a table!&amp;quot;, &amp;quot;\n&amp;quot;}&lt;br /&gt;
 for i=1,#Table do&lt;br /&gt;
    write( Table[i] )&lt;br /&gt;
 end&lt;br /&gt;
This will write &amp;quot;Hello! This string was read from a table!&amp;quot; followed by a new line. You may notice there's a &amp;quot;#&amp;quot; in front of Table, this simply returns the number of values in the table. It can also be used to get the length of a string.&lt;br /&gt;
&lt;br /&gt;
The standard for loop does, however, come with an inherent disadvantage in that it can only (easily) access consecutive numerical strings, ie 1,2,3 but not 1,2,4. to get around this, we can use &amp;quot;pairs&amp;quot; and &amp;quot;ipairs&amp;quot;. &amp;quot;pairs&amp;quot; and &amp;quot;ipairs&amp;quot; use a table to loop, by running through the keys and values for the number that exist in the table.&lt;br /&gt;
 local Table = {StartTime = 0.5, EndTime = 1.5}&lt;br /&gt;
 &lt;br /&gt;
 for key,value in pairs( Table ) do&lt;br /&gt;
    print(tostring(key)..&amp;quot;: &amp;quot;..tostring(value))&lt;br /&gt;
 end&lt;br /&gt;
This will output equivalent to &amp;quot;EndTime: 1.5: StartTime: 0.5&amp;quot;. Note that ipairs is identical to pairs, except it tries to do it in order.&lt;br /&gt;
&lt;br /&gt;
== Saving Tables to Files ==&lt;br /&gt;
&lt;br /&gt;
To save a table to file in ComputerCraft it must first be converted to a string using textutils.serialize (table.save is not included). Example function to save a table to a file:&lt;br /&gt;
&lt;br /&gt;
 function save(table,name)&lt;br /&gt;
 local file = fs.open(name,&amp;quot;w&amp;quot;)&lt;br /&gt;
 file.write(textutils.serialize(table))&lt;br /&gt;
 file.close()&lt;br /&gt;
 end&lt;br /&gt;
&lt;br /&gt;
To load, the string must be converted back to a table using textutils.unserialize. Example function to load a table from a file:&lt;br /&gt;
&lt;br /&gt;
 function load(name)&lt;br /&gt;
 local file = fs.open(name,&amp;quot;r&amp;quot;)&lt;br /&gt;
 local data = file.readAll()&lt;br /&gt;
 file.close()&lt;br /&gt;
 return textutils.unserialize(data)&lt;br /&gt;
 end&lt;br /&gt;
&lt;br /&gt;
== Using Tables as Matrices ==&lt;br /&gt;
&lt;br /&gt;
Tables can provide the functionality of matrices by &amp;quot;nesting&amp;quot; tables inside one another. Example function to make an M by N matrix:&lt;br /&gt;
&lt;br /&gt;
 function matrix(M,N)&lt;br /&gt;
 mt = {}&lt;br /&gt;
 for i=1,M do&lt;br /&gt;
   mt[i] = {}&lt;br /&gt;
   for j=1,N do&lt;br /&gt;
     mt[i][j] = 0&lt;br /&gt;
   end&lt;br /&gt;
 end&lt;br /&gt;
 end&lt;br /&gt;
&lt;br /&gt;
Example of a serialized 3 by 4 matrix:&lt;br /&gt;
&lt;br /&gt;
 {[1]={[1]=0,[2]=0,[3]=0,},[2]={[1]=0,[2]=0,[3]=0,},[3]={[1]=0,[2]=0,[3]=0,},[4]={[1]=0,[2]=0,[3]=0,},}&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Turkey</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Tutorials&amp;diff=6732</id>
		<title>Tutorials</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Tutorials&amp;diff=6732"/>
				<updated>2014-09-14T08:56:00Z</updated>
		
		<summary type="html">&lt;p&gt;Turkey: /* Introduction to Coding */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As some tutorials might not be listed here, you can also browse the [[:Category:Tutorials|tutorials category]].&lt;br /&gt;
&lt;br /&gt;
== Basic Tutorials ==&lt;br /&gt;
These tutorials are designed to be used in the order shown, each tutorial will build on the previous ones.&lt;br /&gt;
=== Introduction to Coding ===&lt;br /&gt;
*[[Hello_World_Tutorial|Hello World!]]&lt;br /&gt;
*[[Variables]]&lt;br /&gt;
*[[Conditional_statements|If, Then, Else]]&lt;br /&gt;
*[[Function (type)|Functions]]&lt;br /&gt;
*[[Loops]]&lt;br /&gt;
*[[Tables]]&lt;br /&gt;
&lt;br /&gt;
== Example Programs ==&lt;br /&gt;
These pages guide you through programs created by other users. They are not necessarily well-coded, but can be useful as a loose guide.&lt;br /&gt;
&lt;br /&gt;
=== Programming &amp;amp; Wiring ===&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;
*[[Raw key events| Detecting specific keys (such as the arrow keys)]]&lt;br /&gt;
*[[Receiving a rednet message through os.pullEvent()|Receiving a rednet message through os.pullEvent()]]&lt;br /&gt;
*[[Calculator Tutorial]]&lt;br /&gt;
*[[Rednet Tutorial]].&lt;br /&gt;
*[[Usage of the bundled cable using the Redstone API]]&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;br /&gt;
*[[Turtle_Stairbuilder_(tutorial)|Turtle Stairbuilder]]&lt;br /&gt;
&lt;br /&gt;
== External Tutorials/Guides ==&lt;br /&gt;
*[http://www.minecraftforum.net/topic/907632-mod-tutorial-computercraft-v12-very-basic-lua-tutorial-updated-1112/page__p__11556908#entry11556908 Onionnion's Basic Lua Tutorial]&lt;br /&gt;
*[http://www.computercraft.info/forums2/index.php?/topic/1516-ospullevent-what-is-it-and-how-is-it-useful/page__view__findpost__p__11156 Onionnion's os.pullEvent() Guide]&lt;br /&gt;
*[http://wiki.roblox.com/ Roblox Wiki (Has tutorials on Lua)]&lt;br /&gt;
*[http://www.lua.org/pil/contents.html Programming in Lua, a general purpose guidebook written by a programmer that writes the Lua interpreter]&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Turkey</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Term.setCursorPos&amp;diff=6731</id>
		<title>Term.setCursorPos</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Term.setCursorPos&amp;diff=6731"/>
				<updated>2014-09-13T10:11:52Z</updated>
		
		<summary type="html">&lt;p&gt;Turkey: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{lowercase}}&lt;br /&gt;
{{Function&lt;br /&gt;
|name=term.setCursorPos&lt;br /&gt;
|args={{type|number}} x, {{type|number}} y&lt;br /&gt;
|returns=none&lt;br /&gt;
|api=term&lt;br /&gt;
|addon=ComputerCraft&lt;br /&gt;
|desc=Sets the location of the cursor on screen.&lt;br /&gt;
|examples=&lt;br /&gt;
&lt;br /&gt;
Note that the x and y coordinates cannot be placed between lines. Floating point values (such as 1.5) will be rounded down to integers (like 1, in this case).&lt;br /&gt;
&lt;br /&gt;
===Basic usage===&lt;br /&gt;
{{Example&lt;br /&gt;
|desc=Sets the location of the cursor on screen to the top&lt;br /&gt;
|code=term.setCursorPos(1,1)&lt;br /&gt;
}}&lt;br /&gt;
===Using the old cursor position to affect the new one===&lt;br /&gt;
{{Example&lt;br /&gt;
|desc=Sets the location of the cursor to the start of the line.&lt;br /&gt;
|code=oldx, oldy = term.getCursorPos()&amp;lt;br /&amp;gt;term.setCursorPos(1,oldy)&lt;br /&gt;
}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:API_Functions]]&lt;/div&gt;</summary>
		<author><name>Turkey</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Pocket_Computer&amp;diff=6730</id>
		<title>Pocket Computer</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Pocket_Computer&amp;diff=6730"/>
				<updated>2014-09-13T09:48:55Z</updated>
		
		<summary type="html">&lt;p&gt;Turkey: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Block&lt;br /&gt;
|name=Pocket Computer&lt;br /&gt;
|image=Pocket_Computer_Large.png&lt;br /&gt;
|id=31709&lt;br /&gt;
|damage-value=The ID of the Computer.&lt;br /&gt;
|is-peripheral=No&lt;br /&gt;
}}&lt;br /&gt;
Pocket Computers, added in 1.6, are [[computer]]s than are held as an inventory item, allowing you to use them on the move. To use a Pocket Computer, hold it in your hand and press the &amp;quot;use&amp;quot; key (this is a right-click by default). Both advanced and standard versions are available. It is also possible to craft Pocket Computers with wireless modems built in, which allows you to control your machines from anywhere or even [http://www.computercraft.info/forums2/index.php?/topic/17614-ultimate-door-lock-pda-opened-doors/ open doors] for you without having to do anything! The modem is attached to the back of the Pocket Computer, so to use it, wrap it with peripheral.wrap(&amp;quot;back&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
When removing from your inventory (dropping, moving in to chest, etc) the computer will stay on for 3-4 seconds. After that time it will turn it self off, you will not lose any data. The screen size of Pocket Computers is 26 wide by 20 high.&lt;br /&gt;
&lt;br /&gt;
If the computer your program is running on is a Pocket Computer 'pocket' will be a blank table.&lt;br /&gt;
For example, to check if your program is running on Pocket Computer do:&lt;br /&gt;
 if pocket then&lt;br /&gt;
     print('Running on a Pocket Computer')&lt;br /&gt;
 else&lt;br /&gt;
     print('Running on a standard Computer')&lt;br /&gt;
 end&lt;br /&gt;
&lt;br /&gt;
Pocket Computers have a [[resolution]] of 26 pixels/characters horizontally by 19 pixels/characters vertically.&lt;br /&gt;
&lt;br /&gt;
== Recipes ==&lt;br /&gt;
Pocket Computer&lt;br /&gt;
{{Crafting grid&lt;br /&gt;
 |A1=stone |B1=stone      |C1=stone&lt;br /&gt;
 |A2=stone |B2=Golden Apple   |C2=stone&lt;br /&gt;
 |A3=stone |B3=glass_pane |C3=stone&lt;br /&gt;
 |Output=Pocket_Computer&lt;br /&gt;
 }}&lt;br /&gt;
&lt;br /&gt;
Advanced Pocket Computer&lt;br /&gt;
{{Crafting grid&lt;br /&gt;
 |A1=Gold_Ingot |B1=Gold_Ingot |C1=Gold_Ingot&lt;br /&gt;
 |A2=Gold_Ingot |B2=Golden_Apple |C2=Gold_Ingot&lt;br /&gt;
 |A3=Gold_Ingot |B3=glass_pane |C3=Gold_Ingot&lt;br /&gt;
 |Output=Advanced_Pocket_Computer&lt;br /&gt;
 }}&lt;br /&gt;
&lt;br /&gt;
Wireless Pocket Computer&lt;br /&gt;
{{Crafting grid&lt;br /&gt;
|B1=Modem&lt;br /&gt;
|B2=Pocket_Computer&lt;br /&gt;
|Output=Wireless_Pocket_Computer&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Advanced Wireless Pocket Computer&lt;br /&gt;
{{Crafting grid&lt;br /&gt;
|B1=Modem&lt;br /&gt;
|B2=Advanced_Pocket_Computer&lt;br /&gt;
|Output=Advanced_Wireless_Pocket_Computer&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
Hold the Pocket Computer in your hands then right click. To turn it off type 'shutdown' in to the shell.&lt;br /&gt;
&lt;br /&gt;
Pocket Computers also come with a special program, falling, a Tetris game by GopherAtl. &lt;br /&gt;
&lt;br /&gt;
Below is an ingame screen of a Pocket Computer.&lt;br /&gt;
&lt;br /&gt;
[[File:Pocket_Computer_Screenshot.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{BlocksItemsList}}&lt;br /&gt;
[[Category:Items]]&lt;br /&gt;
[[Category:Consoles]]&lt;/div&gt;</summary>
		<author><name>Turkey</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Advanced_Computer&amp;diff=6729</id>
		<title>Advanced Computer</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Advanced_Computer&amp;diff=6729"/>
				<updated>2014-09-13T09:48:00Z</updated>
		
		<summary type="html">&lt;p&gt;Turkey: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Block&lt;br /&gt;
|name=Advanced Computer&lt;br /&gt;
|image=Iso_Advanced_Computer.png&lt;br /&gt;
|id=4095&lt;br /&gt;
|damage-value=The ID of the Computer.&lt;br /&gt;
|is-peripheral=Yes&lt;br /&gt;
|peripheral-api=Term (API)&lt;br /&gt;
}}&lt;br /&gt;
The Advanced Computer is a [[Computer]] that has mouse support and can use the [[Color_(API)|Color API]] for screen colors. They resemble the traditional computer console, but are golden coloured to match their crafting [[recipes|recipe]]. Computers and Advanced Computers have a [[resolution]] of 51 pixels/characters horizontally by 19 pixels/characters vertically.&lt;br /&gt;
==Recipe==&lt;br /&gt;
{{Crafting grid&lt;br /&gt;
 |A1=Gold_Ingot |B1=Gold_Ingot |C1=Gold_Ingot&lt;br /&gt;
 |A2=Gold_Ingot |B2=Redstone   |C2=Gold_Ingot&lt;br /&gt;
 |A3=Gold_Ingot |B3=glass_pane |C3=Gold_Ingot&lt;br /&gt;
 |Output=Advanced_Computer&lt;br /&gt;
 }}&lt;br /&gt;
&lt;br /&gt;
==Exclusive Functions==&lt;br /&gt;
[[File:AdvancedComputerPaint.png|frame|right|An advanced computer running Paint, a built-in program]]&lt;br /&gt;
[[Advanced Computer|Advanced Computers]] and [[Advanced Monitor|Advanced Monitors]] both have access to color-setting functions in the [[Term (API)]]. In contrast, the standard [[Computer|Computers]] and [[Monitor|Monitors]] do not have access to color-setting functions. Advanced Computers are capable of detecting mouse clicks, drags and scrolls, while the standard [[Computer|Computers]] and [[Monitor|Monitors]] cannot.&lt;br /&gt;
&lt;br /&gt;
==Exclusive Programs &amp;amp; APIs==&lt;br /&gt;
*[[Paint]]&lt;br /&gt;
*[[paintutils (API)]]&lt;br /&gt;
&lt;br /&gt;
== Peripheral Functions ==&lt;br /&gt;
'''''computer'' stands for the variable you wrapped the computer to.'''&lt;br /&gt;
''Example:'' computer = peripheral.wrap( &amp;quot;top&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#EEE&amp;quot; width=&amp;quot;210px&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;
|[[computer.turnOn()]]&lt;br /&gt;
|Turns on the Computer or Turtle.&lt;br /&gt;
|-&lt;br /&gt;
|[[computer.shutdown()]]&lt;br /&gt;
|Shuts off the Computer or Turtle.&lt;br /&gt;
|-&lt;br /&gt;
|[[computer.reboot()]]&lt;br /&gt;
|Reboots the Computer or Turtle.&lt;br /&gt;
|-&lt;br /&gt;
|[[computer.getID()]]&lt;br /&gt;
|Gets the ID of the Computer or Turtle.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{BlocksItemsList}}&lt;br /&gt;
[[Category:Blocks]][[Category:Consoles]]&lt;/div&gt;</summary>
		<author><name>Turkey</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Computer&amp;diff=6728</id>
		<title>Computer</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Computer&amp;diff=6728"/>
				<updated>2014-09-13T09:47:42Z</updated>
		
		<summary type="html">&lt;p&gt;Turkey: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Block&lt;br /&gt;
|name=Computer&lt;br /&gt;
|image=Iso_Computer.png&lt;br /&gt;
|id=4095&lt;br /&gt;
|damage-value=The ID of the Computer.&lt;br /&gt;
|is-peripheral=Yes&lt;br /&gt;
|peripheral-api=Computer (API)&lt;br /&gt;
}}&lt;br /&gt;
The Computer (pictured) is the main block of ComputerCraft. From the Computer, you will be able to make programs, turn on and off Redstone, use Rednet and interface with bundled cables from RedPower, play games, and much more. The Computer runs an OS called [[CraftOS]]. Computers and [[Advanced Computer]]s have a [[resolution]] of 51 pixels/characters horizontally by 19 pixels/characters vertically.&lt;br /&gt;
&lt;br /&gt;
[[Category:Blocks]]&lt;br /&gt;
[[Category:Consoles]]&lt;br /&gt;
== Recipe ==&lt;br /&gt;
{{Crafting grid&lt;br /&gt;
 |A1=stone |B1=stone      |C1=stone&lt;br /&gt;
 |A2=stone |B2=Redstone   |C2=stone&lt;br /&gt;
 |A3=stone |B3=glass_pane |C3=stone&lt;br /&gt;
 |Output=Computer&lt;br /&gt;
 }}&lt;br /&gt;
== Usage ==&lt;br /&gt;
[[File:Computer_w_DiskDrive_w_Monitor.png|frame|428x241px|right|A 2x2 [[Monitor]], connected to a [[Computer]], with a [[Disk Drive]] connected.]]&lt;br /&gt;
Place the Computer wherever you please, and just right click it to use.&lt;br /&gt;
&lt;br /&gt;
== Keyboard Shortcuts ==&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;|Shortcut&lt;br /&gt;
!style=&amp;quot;background:#EEE&amp;quot; width=&amp;quot;*&amp;quot;|Usage&lt;br /&gt;
|-&lt;br /&gt;
|{{Keypress|key=CTRL}} + {{Keypress|key=T}}&lt;br /&gt;
|Terminates the current program.&lt;br /&gt;
|-&lt;br /&gt;
|{{Keypress|key=CTRL}} + {{Keypress|key=R}}&lt;br /&gt;
|Reboots the console.&lt;br /&gt;
|-&lt;br /&gt;
|{{Keypress|key=CTRL}} + {{Keypress|key=S}}&lt;br /&gt;
|Forcefully shuts down the computer.&lt;br /&gt;
|}&lt;br /&gt;
NOTE: You have to hold the keyboard shortcuts down for at least 1 second!&lt;br /&gt;
&lt;br /&gt;
== Peripheral Functions ==&lt;br /&gt;
[[Computer]] and [[Turtle]] specific peripheral functions can be found [[Computer_(API)|here]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{BlocksItemsList}}&lt;/div&gt;</summary>
		<author><name>Turkey</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Advanced_Monitor&amp;diff=6727</id>
		<title>Advanced Monitor</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Advanced_Monitor&amp;diff=6727"/>
				<updated>2014-09-13T09:12:05Z</updated>
		
		<summary type="html">&lt;p&gt;Turkey: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Block&lt;br /&gt;
|name=Advanced Monitor&lt;br /&gt;
|image=Iso_Advanced_Monitor.png&lt;br /&gt;
|id=4094&lt;br /&gt;
|damage-value=Un-used&lt;br /&gt;
|is-peripheral=Yes&lt;br /&gt;
|peripheral-api=Term (API)&lt;br /&gt;
}}&lt;br /&gt;
The Advanced Monitor is a [[Monitor]] that has mouse (as 'punches') support, and can use the [[Color_(API)|Color API]] for screen colors. They resemble the traditional computer console, but are golden coloured to match their crafting [[recipes|recipe]]. By default, an advanced monitor has a [[resolution]] of 7 pixels horizontally by 5 pixels horizontally, but this can be increased by using the monitor API and combining monitors (see explanation on the [[resolution]] page).&lt;br /&gt;
&lt;br /&gt;
==Recipe==&lt;br /&gt;
{{Crafting grid&lt;br /&gt;
 |A1=Gold_Ingot |B1=Gold_Ingot    |C1=Gold_Ingot&lt;br /&gt;
 |A2=Gold_Ingot |B2=glass_pane |C2=Gold_Ingot&lt;br /&gt;
 |A3=Gold_Ingot |B3=Gold_Ingot   |C3=Gold_Ingot&lt;br /&gt;
 |Output=Advanced_Monitor |OA=4&lt;br /&gt;
 }}&lt;br /&gt;
&lt;br /&gt;
==Using an Advanced Monitor==&lt;br /&gt;
The Advanced Monitor behaves exactly the same as the standard [[Monitor]] - except the Advanced Monitor is able to render text with a foreground and background [[Colors (API)#color|color]].&lt;br /&gt;
&lt;br /&gt;
The Advanced Monitor introduces two new methods: ''[[term.setTextColor|monitor.setTextColor]]([[colors (API)#colors|color]])'' and ''[[term.setBackgroundColor|monitor.setBackgroundColor]]([[colors (API)#colors|color]])''. These functions allow you to draw text with a specific foreground and background color. Please note that both spellings of the word color are accepted.&lt;br /&gt;
&lt;br /&gt;
To use an Advanced Monitor, you need to either call a method directly using [[peripheral.call]](), or, wrap the monitor using the [[Peripheral_(API)|Peripheral API]]. Wrapped monitors provide all functions listed in the [[Term_(API)|Term API]], with the exception of [[Monitor.setTextScale|monitor.setTextScale(size)]], which is native to monitors only.&lt;br /&gt;
&lt;br /&gt;
For this example, we have an Advanced Monitor connected to the top of our [[Computer]]:&lt;br /&gt;
&lt;br /&gt;
 -- Immediately invoke a method without wrapping&lt;br /&gt;
 peripheral.call(&amp;quot;top&amp;quot;, &amp;quot;write&amp;quot;, &amp;quot;Hello World!&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
 -- You can also &amp;quot;wrap&amp;quot; the peripheral side to a variable:&lt;br /&gt;
 local monitor = peripheral.wrap(&amp;quot;top&amp;quot;)&lt;br /&gt;
 monitor.write(&amp;quot;Hello World!&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
{{BlocksItemsList}}&lt;br /&gt;
[[Category:Blocks]]&lt;/div&gt;</summary>
		<author><name>Turkey</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Monitor&amp;diff=6726</id>
		<title>Monitor</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Monitor&amp;diff=6726"/>
				<updated>2014-09-13T09:11:34Z</updated>
		
		<summary type="html">&lt;p&gt;Turkey: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Block&lt;br /&gt;
|name=Monitor&lt;br /&gt;
|image=Iso_Monitor.png&lt;br /&gt;
|id=4094&lt;br /&gt;
|damage-value=0&lt;br /&gt;
|is-peripheral=Yes&lt;br /&gt;
|peripheral-api=Term (API)&lt;br /&gt;
}}&lt;br /&gt;
The '''Monitor''' is a block that can display text on its front side. When several screen blocks are placed on the same plane, it will form a single monitor. By default, a monitor has a [[resolution]] of 7 pixels horizontally by 5 pixels horizontally, but this can be increased by using the monitor API and combining monitors (see explanation on the [[resolution]] page). The maximum size of a single monitor is 8 blocks wide and 6 blocks tall, and must be placed to be shaped as a rectangle, else it will separate into multiple parts. It is useful for displaying information at a server spawn, showing a program on the monitor, and even showing the status of an IC2 reactor! (provided you have [[OpenCCSensors]] installed)&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=Monitor&lt;br /&gt;
 }}&lt;br /&gt;
&lt;br /&gt;
==Redirecting Programs to a Monitor==&lt;br /&gt;
[[File:Computer_w_DiskDrive_w_Monitor.png|frame|428x241px|right|A 2x2 [[Monitor]], connected to a [[Computer]], with a [[Disk Drive]] connected.]]&lt;br /&gt;
From the CraftOS shell, type &amp;lt;tt&amp;gt;monitor [top|bottom|left|right|front|back] [a-program-name]&amp;lt;/tt&amp;gt;. For example, typing &amp;lt;tt&amp;gt;monitor top hello&amp;lt;/tt&amp;gt; would show &amp;quot;Hello world.&amp;quot; on the top Monitor.&lt;br /&gt;
&lt;br /&gt;
==Monitor as a Peripheral==&lt;br /&gt;
To use a Monitor, you need to either call a method directly using [[peripheral.call]](), or, wrap the monitor using the [[Peripheral_(API)|Peripheral API]]. Wrapped monitors provide all functions listed in the [[Term_(API)|Term API]], with the exception of [[Monitor.setTextScale|monitor.setTextScale(size)]], which is native to monitors only.&lt;br /&gt;
&lt;br /&gt;
For this example, we have a Monitor connected to the top of our [[Computer]]:&lt;br /&gt;
&lt;br /&gt;
 -- Immediately invoke a method without wrapping&lt;br /&gt;
 peripheral.call(&amp;quot;top&amp;quot;, &amp;quot;write&amp;quot;, &amp;quot;Hello World!&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
 -- You can also &amp;quot;wrap&amp;quot; the peripheral side to a variable:&lt;br /&gt;
 local monitor = peripheral.wrap(&amp;quot;top&amp;quot;)&lt;br /&gt;
 monitor.write(&amp;quot;Hello World!&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
{{BlocksItemsList}}&lt;br /&gt;
[[Category:Blocks]][[Category:Peripherals]]&lt;/div&gt;</summary>
		<author><name>Turkey</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Pixel&amp;diff=6725</id>
		<title>Pixel</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Pixel&amp;diff=6725"/>
				<updated>2014-09-13T09:09:01Z</updated>
		
		<summary type="html">&lt;p&gt;Turkey: Redirected page to Resolution&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Resolution]]&lt;/div&gt;</summary>
		<author><name>Turkey</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Resolution&amp;diff=6724</id>
		<title>Resolution</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Resolution&amp;diff=6724"/>
				<updated>2014-09-13T09:08:32Z</updated>
		
		<summary type="html">&lt;p&gt;Turkey: Creating page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Resolution''' refers to the number of on a monitor, terminal, or other Computercraft user interface. Each '''pixel''' is a single rectangular patch of color, which can also contain a single letter of text.&lt;br /&gt;
&lt;br /&gt;
== Monitor resolution ==&lt;br /&gt;
[[File:Computer_w_DiskDrive_w_Monitor.png|frame|428x241px|right|A 2x2 [[Monitor]], connected to a [[Computer]], with a [[Disk Drive]] connected.]]&lt;br /&gt;
[[Monitor]]s and [[Advanced Monitor]]s have variable resolution because of the borders of their screens, and because of the [[monitor.setTextScale]] function. This gives monitors potential for exceedingly high resolution when they are properly configured.&lt;br /&gt;
&lt;br /&gt;
=== Default resolution ===&lt;br /&gt;
The default text scale for monitors is 1. Using the default text scale, a single monitor by itself has a resolution of 7 pixels horizontally by 5 pixels vertically. Resolution is increased when monitors are placed next to each other, both by using the extra monitors and by turning the borders between monitors into extra screen space. With the default text scale, monitor borders take up two pixels on the left and right sides, and one pixel on the top and bottom sides. The monitor in the middle of a 3x3 cluster of monitors would have a resolution of 11 pixels horizontally by 7 pixels vertically, while the whole cluster would have a total resolution of 29 pixels horizontally by 19 pixels vertically.&lt;br /&gt;
&lt;br /&gt;
Using the default text scale, the largest possible monitor cluster (8 blocks wide and 6 blocks tall) has a total resolution of 70 pixels horizontally by 40 pixels vertically.&lt;br /&gt;
&lt;br /&gt;
=== Enhanced resolution ===&lt;br /&gt;
The text scale of [[monitor.setTextScale]] can be increased or decreased in increments of 0.5, and the highest resolution setting is achieved when the text scale is set to 0.5. Under this setting, a single monitor by itself has a resolution of 15 pixels horizontally by 10 pixels vertically. At this scale, monitor borders take up three pixels on the left and right sides, and two pixels on the top and bottom sides.&lt;br /&gt;
&lt;br /&gt;
Using the 0.5 text scale for maximum resolution, the largest possible monitor cluster has a total resolution of 162 pixels horizontally by 80 pixels vertically.&lt;br /&gt;
&lt;br /&gt;
== Computer resolution ==&lt;br /&gt;
[[Computer]]s and [[Advanced Computer]]s have a resolution of 51 pixels horizontally by 19 pixels vertically.&lt;br /&gt;
&lt;br /&gt;
== Pocket computer resolution ==&lt;br /&gt;
[[Pocket Computer]]s have a resolution of 26 pixels horizontally by 19 pixels vertically.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Term (API)]]&lt;br /&gt;
* [[Paintutils (API)]]&lt;br /&gt;
* [[CCLights2]] (Third-party graphics peripheral for OpenGL rendering with its own monitors.)&lt;br /&gt;
* [[CCGPU]] (Third-party graphics peripheral for OpenGL rendering. Has its own monitor.)&lt;br /&gt;
&lt;br /&gt;
[[Category:Consoles]]&lt;br /&gt;
[[Category:Tutorials‏‎]]&lt;/div&gt;</summary>
		<author><name>Turkey</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Pocket_Computer&amp;diff=6723</id>
		<title>Pocket Computer</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Pocket_Computer&amp;diff=6723"/>
				<updated>2014-09-13T08:14:20Z</updated>
		
		<summary type="html">&lt;p&gt;Turkey: Wikilinking computers&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Block&lt;br /&gt;
|name=Pocket Computer&lt;br /&gt;
|image=Pocket_Computer_Large.png&lt;br /&gt;
|id=31709&lt;br /&gt;
|damage-value=The ID of the Computer.&lt;br /&gt;
|is-peripheral=No&lt;br /&gt;
}}&lt;br /&gt;
Pocket Computers, added in 1.6, are [[computer]]s than are held as an inventory item, allowing you to use them on the move. To use a Pocket Computer, hold it in your hand and press the &amp;quot;use&amp;quot; key (this is a right-click by default). Both advanced and standard versions are available. It is also possible to craft Pocket Computers with wireless modems built in, which allows you to control your machines from anywhere or even [http://www.computercraft.info/forums2/index.php?/topic/17614-ultimate-door-lock-pda-opened-doors/ open doors] for you without having to do anything! The modem is attached to the back of the Pocket Computer, so to use it, wrap it with peripheral.wrap(&amp;quot;back&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
When removing from your inventory (dropping, moving in to chest, etc) the computer will stay on for 3-4 seconds. After that time it will turn it self off, you will not lose any data. The screen size of Pocket Computers is 26 wide by 20 high.&lt;br /&gt;
&lt;br /&gt;
If the computer your program is running on is a Pocket Computer 'pocket' will be a blank table.&lt;br /&gt;
For example, to check if your program is running on Pocket Computer do:&lt;br /&gt;
 if pocket then&lt;br /&gt;
     print('Running on a Pocket Computer')&lt;br /&gt;
 else&lt;br /&gt;
     print('Running on a standard Computer')&lt;br /&gt;
 end&lt;br /&gt;
[[Category:Items]]&lt;br /&gt;
[[Category:Consoles]]&lt;br /&gt;
== Recipes ==&lt;br /&gt;
Pocket Computer&lt;br /&gt;
{{Crafting grid&lt;br /&gt;
 |A1=stone |B1=stone      |C1=stone&lt;br /&gt;
 |A2=stone |B2=Golden Apple   |C2=stone&lt;br /&gt;
 |A3=stone |B3=glass_pane |C3=stone&lt;br /&gt;
 |Output=Pocket_Computer&lt;br /&gt;
 }}&lt;br /&gt;
&lt;br /&gt;
Advanced Pocket Computer&lt;br /&gt;
{{Crafting grid&lt;br /&gt;
 |A1=Gold_Ingot |B1=Gold_Ingot |C1=Gold_Ingot&lt;br /&gt;
 |A2=Gold_Ingot |B2=Golden_Apple |C2=Gold_Ingot&lt;br /&gt;
 |A3=Gold_Ingot |B3=glass_pane |C3=Gold_Ingot&lt;br /&gt;
 |Output=Advanced_Pocket_Computer&lt;br /&gt;
 }}&lt;br /&gt;
&lt;br /&gt;
Wireless Pocket Computer&lt;br /&gt;
{{Crafting grid&lt;br /&gt;
|B1=Modem&lt;br /&gt;
|B2=Pocket_Computer&lt;br /&gt;
|Output=Wireless_Pocket_Computer&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Advanced Wireless Pocket Computer&lt;br /&gt;
{{Crafting grid&lt;br /&gt;
|B1=Modem&lt;br /&gt;
|B2=Advanced_Pocket_Computer&lt;br /&gt;
|Output=Advanced_Wireless_Pocket_Computer&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
Hold the Pocket Computer in your hands then right click. To turn it off type 'shutdown' in to the shell.&lt;br /&gt;
&lt;br /&gt;
Pocket Computers also come with a special program, falling, a Tetris game by GopherAtl. &lt;br /&gt;
&lt;br /&gt;
Below is an ingame screen of a Pocket Computer.&lt;br /&gt;
&lt;br /&gt;
[[File:Pocket_Computer_Screenshot.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{BlocksItemsList}}&lt;/div&gt;</summary>
		<author><name>Turkey</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Pocket_Computer&amp;diff=6722</id>
		<title>Pocket Computer</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Pocket_Computer&amp;diff=6722"/>
				<updated>2014-09-13T08:13:51Z</updated>
		
		<summary type="html">&lt;p&gt;Turkey: Fixing misspelling&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Block&lt;br /&gt;
|name=Pocket Computer&lt;br /&gt;
|image=Pocket_Computer_Large.png&lt;br /&gt;
|id=31709&lt;br /&gt;
|damage-value=The ID of the Computer.&lt;br /&gt;
|is-peripheral=No&lt;br /&gt;
}}&lt;br /&gt;
Pocket Computers, added in 1.6, are computers than are held as an inventory item, allowing you to use them on the move. To use a Pocket Computer, hold it in your hand and press the &amp;quot;use&amp;quot; key (this is a right-click by default). Both advanced and standard versions are available. It is also possible to craft Pocket Computers with wireless modems built in, which allows you to control your machines from anywhere or even [http://www.computercraft.info/forums2/index.php?/topic/17614-ultimate-door-lock-pda-opened-doors/ open doors] for you without having to do anything! The modem is attached to the back of the Pocket Computer, so to use it, wrap it with peripheral.wrap(&amp;quot;back&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
When removing from your inventory (dropping, moving in to chest, etc) the computer will stay on for 3-4 seconds. After that time it will turn it self off, you will not lose any data. The screen size of Pocket Computers is 26 wide by 20 high.&lt;br /&gt;
&lt;br /&gt;
If the computer your program is running on is a Pocket Computer 'pocket' will be a blank table.&lt;br /&gt;
For example, to check if your program is running on Pocket Computer do:&lt;br /&gt;
 if pocket then&lt;br /&gt;
     print('Running on a Pocket Computer')&lt;br /&gt;
 else&lt;br /&gt;
     print('Running on a standard Computer')&lt;br /&gt;
 end&lt;br /&gt;
[[Category:Items]]&lt;br /&gt;
[[Category:Consoles]]&lt;br /&gt;
== Recipes ==&lt;br /&gt;
Pocket Computer&lt;br /&gt;
{{Crafting grid&lt;br /&gt;
 |A1=stone |B1=stone      |C1=stone&lt;br /&gt;
 |A2=stone |B2=Golden Apple   |C2=stone&lt;br /&gt;
 |A3=stone |B3=glass_pane |C3=stone&lt;br /&gt;
 |Output=Pocket_Computer&lt;br /&gt;
 }}&lt;br /&gt;
&lt;br /&gt;
Advanced Pocket Computer&lt;br /&gt;
{{Crafting grid&lt;br /&gt;
 |A1=Gold_Ingot |B1=Gold_Ingot |C1=Gold_Ingot&lt;br /&gt;
 |A2=Gold_Ingot |B2=Golden_Apple |C2=Gold_Ingot&lt;br /&gt;
 |A3=Gold_Ingot |B3=glass_pane |C3=Gold_Ingot&lt;br /&gt;
 |Output=Advanced_Pocket_Computer&lt;br /&gt;
 }}&lt;br /&gt;
&lt;br /&gt;
Wireless Pocket Computer&lt;br /&gt;
{{Crafting grid&lt;br /&gt;
|B1=Modem&lt;br /&gt;
|B2=Pocket_Computer&lt;br /&gt;
|Output=Wireless_Pocket_Computer&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Advanced Wireless Pocket Computer&lt;br /&gt;
{{Crafting grid&lt;br /&gt;
|B1=Modem&lt;br /&gt;
|B2=Advanced_Pocket_Computer&lt;br /&gt;
|Output=Advanced_Wireless_Pocket_Computer&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
Hold the Pocket Computer in your hands then right click. To turn it off type 'shutdown' in to the shell.&lt;br /&gt;
&lt;br /&gt;
Pocket Computers also come with a special program, falling, a Tetris game by GopherAtl. &lt;br /&gt;
&lt;br /&gt;
Below is an ingame screen of a Pocket Computer.&lt;br /&gt;
&lt;br /&gt;
[[File:Pocket_Computer_Screenshot.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{BlocksItemsList}}&lt;/div&gt;</summary>
		<author><name>Turkey</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=PDA&amp;diff=6721</id>
		<title>PDA</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=PDA&amp;diff=6721"/>
				<updated>2014-09-13T08:13:06Z</updated>
		
		<summary type="html">&lt;p&gt;Turkey: Redirected page to Pocket Computer&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Pocket Computer]]&lt;/div&gt;</summary>
		<author><name>Turkey</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=CCGPU&amp;diff=6720</id>
		<title>CCGPU</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=CCGPU&amp;diff=6720"/>
				<updated>2014-09-13T07:58:48Z</updated>
		
		<summary type="html">&lt;p&gt;Turkey: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The CCGPU peripheral is an addon for [[ComputerCraft]] which allows you to do [http://en.wikipedia.org/wiki/OpenGL OpenGL] operations within computercraft using [http://www.lua.org/ Lua].&lt;br /&gt;
The peripheral currently comes with two elements: a [[#GPU]] peripheral and a [[#Monitor]] output device. This is not to be confused with the [[CCLights2]] GPU peripheral, which is a different GPU peripheral.&lt;br /&gt;
&lt;br /&gt;
== GPU ==&lt;br /&gt;
A GPU can be attached to a [[Computer]] on all sides except for the bottom.&lt;br /&gt;
The GPU peripheral comes with it's own [[:Category:APIs]] featuring extra methods that cannot be accessed using [[Peripheral_(API)|peripheral.wrap]].&lt;br /&gt;
&lt;br /&gt;
You can find the GPU api over [[GPU_(API)|here]]&lt;br /&gt;
&lt;br /&gt;
== Graphics Devices ==&lt;br /&gt;
A graphics device operates on a certain frequency (corresponding to a [[#GPU]]'s id) and has an id indicating which buffer it is bound to.&lt;br /&gt;
All graphics devices have a certain resolution corresponding to the resolution of the graphics they can handle.&lt;br /&gt;
&lt;br /&gt;
=== Graphics Output Devices ===&lt;br /&gt;
Output devices are used to display a certain output buffer to the user.&lt;br /&gt;
&lt;br /&gt;
==== Monitor ====&lt;br /&gt;
The Monitor block can be placed facing up to 4 directions and &lt;br /&gt;
&lt;br /&gt;
=== Graphics Input Devices ===&lt;br /&gt;
Currently CCGPU doesn't have any default input devices.&lt;br /&gt;
A camera might be added in the future.&lt;br /&gt;
[[Category:User Created Peripherals]]&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[GPU (API)|CCGPU API]]&lt;/div&gt;</summary>
		<author><name>Turkey</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=CCGPU&amp;diff=6719</id>
		<title>CCGPU</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=CCGPU&amp;diff=6719"/>
				<updated>2014-09-13T07:57:05Z</updated>
		
		<summary type="html">&lt;p&gt;Turkey: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The CCGPU peripheral is an addon for [[ComputerCraft]] which allows you to do [http://en.wikipedia.org/wiki/OpenGL OpenGL] operations within computercraft using [http://www.lua.org/ Lua].&lt;br /&gt;
The peripheral currently comes with two elements: a [[#GPU]] peripheral and a [[#Monitor]] output device.&lt;br /&gt;
&lt;br /&gt;
== GPU ==&lt;br /&gt;
A GPU can be attached to a [[Computer]] on all sides except for the bottom.&lt;br /&gt;
The GPU peripheral comes with it's own [[:Category:APIs]] featuring extra methods that cannot be accessed using [[Peripheral_(API)|peripheral.wrap]].&lt;br /&gt;
&lt;br /&gt;
You can find the GPU api over [[GPU_(API)|here]]&lt;br /&gt;
&lt;br /&gt;
== Graphics Devices ==&lt;br /&gt;
A graphics device operates on a certain frequency (corresponding to a [[#GPU]]'s id) and has an id indicating which buffer it is bound to.&lt;br /&gt;
All graphics devices have a certain resolution corresponding to the resolution of the graphics they can handle.&lt;br /&gt;
&lt;br /&gt;
=== Graphics Output Devices ===&lt;br /&gt;
Output devices are used to display a certain output buffer to the user.&lt;br /&gt;
&lt;br /&gt;
==== Monitor ====&lt;br /&gt;
The Monitor block can be placed facing up to 4 directions and &lt;br /&gt;
&lt;br /&gt;
=== Graphics Input Devices ===&lt;br /&gt;
Currently CCGPU doesn't have any default input devices.&lt;br /&gt;
A camera might be added in the future.&lt;br /&gt;
[[Category:User Created Peripherals]]&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* Not to be confused with the [[CCLights2]] GPU peripheral.&lt;/div&gt;</summary>
		<author><name>Turkey</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=CCLights2&amp;diff=6718</id>
		<title>CCLights2</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=CCLights2&amp;diff=6718"/>
				<updated>2014-09-13T07:55:51Z</updated>
		
		<summary type="html">&lt;p&gt;Turkey: Wikilinking properly&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.computercraft.info/forums2/index.php?/topic/10216-wip-cclights2-opensource-now-on-github/ CCLights2] is an Open Source Minecraft mod that adds a GPU peripheral, and monitors to suit your need. Unlike [[CCGPU]], this mod does not use OpenGL, but it is Multiplayer Compatible.&lt;br /&gt;
&lt;br /&gt;
Please note; this documentation will always try to stay up to date with the github repo, so it might not fit your build :P&lt;br /&gt;
&amp;lt;table style=&amp;quot;width: 100%; border: solid 1px black; margin: 2px; border-spacing: 0px;&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;tr&amp;gt;&lt;br /&gt;
		&amp;lt;td colspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold; font-size: large; padding-bottom: .3em; border-bottom: solid #C9C9C9 1px; background: #D3FFC2; line-height:28px;&amp;quot;&amp;gt;[[File:Grid_disk.png|24px]]&amp;amp;nbsp;&amp;amp;nbsp;CCLights2 Peripherals&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
	&amp;lt;tr&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;width: 350px; background: #E0E0E0; padding: .4em; font-weight:bold;&amp;quot;&amp;gt;Name&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;background: #E0E0E0; padding: .4em; font-weight:bold;&amp;quot;&amp;gt;Description&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;GPU Peripheral&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The GPU Peripheral needs to be placed next to a computer. It will autoconnect with the first monitor that connects with it, and will auto disconnect when the monitor detaches.&lt;br /&gt;
&lt;br /&gt;
{{Crafting grid&lt;br /&gt;
 |A1=iron ingot |B1=iron ingot           |C1=iron ingot&lt;br /&gt;
 |A2=Redstone |B2=Gold Ingot        |C2=Redstone&lt;br /&gt;
 |A3=Gold Ingot |B3=Gold Ingot      |C3=Gold Ingot&lt;br /&gt;
 |Output=CCLights2 GPU&lt;br /&gt;
 |Output-image=Grid_CCLights2_GPU.png&lt;br /&gt;
 |Output-link=CCLights2&lt;br /&gt;
 }}&lt;br /&gt;
		&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;tr&amp;gt;&lt;br /&gt;
		&amp;lt;td colspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold; font-size: large; padding-bottom: .3em; border-bottom: solid #C9C9C9 1px; background: #D3FFC2; line-height:28px;&amp;quot;&amp;gt;[[File:Grid_disk.png|24px]]&amp;amp;nbsp;&amp;amp;nbsp;CCLights2 Monitors and ram&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;tr&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;width: 350px; background: #E0E0E0; padding: .4em; font-weight:bold;&amp;quot;&amp;gt;Name&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;background: #E0E0E0; padding: .4em; font-weight:bold;&amp;quot;&amp;gt;Description&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;tr style=&amp;quot;background-color: #E8E8E8;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Normal Monitor&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The basic Monitor. It sports an elegant resolution of 256x144.&lt;br /&gt;
&lt;br /&gt;
{{Crafting grid&lt;br /&gt;
 |A1=iron ingot |B1=iron ingot           |C1=iron ingot&lt;br /&gt;
 |A2=Redstone |B2=glass pane        |C2=Redstone&lt;br /&gt;
 |A3=Gold Ingot |B3=Gold Ingot      |C3=Gold Ingot&lt;br /&gt;
 |Output=CCLights2 Monitor&lt;br /&gt;
 |Output-link=CCLights2&lt;br /&gt;
 }}&lt;br /&gt;
		&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;External Monitor&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An external Monitor. It supports a resolution up to 512x288.&lt;br /&gt;
&lt;br /&gt;
{{Crafting grid&lt;br /&gt;
 |A1=glass pane |B1=glass pane           |C1=glass pane&lt;br /&gt;
 |A2=glass pane |B2=CCLights2 Monitor        |C2=glass pane&lt;br /&gt;
 |A3=glass pane |B3=glass pane      |C3=glass pane&lt;br /&gt;
 |Output=CCLights2 External Monitor&lt;br /&gt;
 |Output-link=CCLights2&lt;br /&gt;
 |B2-link=CCLights2&lt;br /&gt;
 }}&lt;br /&gt;
		&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr style=&amp;quot;background-color: #E8E8E8;&amp;quot;&amp;gt;&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;TabletTransciever&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The basestation for the tablet,  CONNECT YOUR TABLETS HERE!&lt;br /&gt;
&lt;br /&gt;
{{Crafting grid&lt;br /&gt;
 |B1=Redstone&lt;br /&gt;
 |A2=Redstone |B2=CCLights2 Monitor |C2=Redstone&lt;br /&gt;
 |B3=Redstone&lt;br /&gt;
 |Output=CCLights2 TabletTransciever&lt;br /&gt;
 |Output-link=CCLights2&lt;br /&gt;
 |B2-link=CCLights2&lt;br /&gt;
 }}&lt;br /&gt;
		&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;RAM&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Yep. You can craft more Ram.&lt;br /&gt;
&lt;br /&gt;
{{Crafting grid&lt;br /&gt;
 |A1=iron ingot |B1=iron ingot           |C1=iron ingot&lt;br /&gt;
 |A2=Redstone        |C2=Redstone&lt;br /&gt;
 |A3=Gold Ingot |B3=Gold Ingot      |C3=Gold Ingot&lt;br /&gt;
 |Output=CCLights2 Ram&lt;br /&gt;
 |Output-link=CCLights2&lt;br /&gt;
 }}&lt;br /&gt;
		&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #E8E8E8;&amp;quot;&amp;gt;&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;RAM&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Yep. You can craft more Ram... with ram! (double the capacity up to a maximum of 8k!)&lt;br /&gt;
&lt;br /&gt;
{{Crafting grid&lt;br /&gt;
 |A1=CCLights2 Ram |B1=CCLights2 Ram&lt;br /&gt;
 |Output=CCLights2 Ram&lt;br /&gt;
 |Output-link=CCLights2&lt;br /&gt;
 }}&lt;br /&gt;
		&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Tablet&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hold it in your hand! Go caving! Watch your life leech away as you stare into this tablet! NOTE: Watch out for Creepers.&lt;br /&gt;
&lt;br /&gt;
{{Crafting grid&lt;br /&gt;
 |A1=Gold Ingot |B1=iron ingot           |C1=Gold Ingot&lt;br /&gt;
 |A2=Redstone |B2=CCLights2 External Monitor        |C2=Redstone&lt;br /&gt;
 |A3=Gold Ingot |B3=iron ingot      |C3=Gold Ingot&lt;br /&gt;
 |Output=CCLights2 Tablet&lt;br /&gt;
 |Output-link=CCLights2&lt;br /&gt;
 |B2-link=CCLights2&lt;br /&gt;
 }}&lt;br /&gt;
		&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table style=&amp;quot;width: 100%; border: solid 1px black; margin: 2px; border-spacing: 0px;&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;tr&amp;gt;&lt;br /&gt;
		&amp;lt;td colspan=&amp;quot;3&amp;quot; style=&amp;quot;font-weight: bold; font-size: large; padding-bottom: .3em; border-bottom: solid #C9C9C9 1px; background: #D3FFC2; line-height:28px;&amp;quot;&amp;gt;[[File:Grid_disk.png|24px]]&amp;amp;nbsp;&amp;amp;nbsp;GPU Methods&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;tr&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;width: 100px; background: #E0E0E0; padding: .4em; font-weight:bold;&amp;quot;&amp;gt;Returns&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;width: 350px; background: #E0E0E0; padding: .4em; font-weight:bold;&amp;quot;&amp;gt;Method Name&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;background: #E0E0E0; padding: .4em; font-weight:bold;&amp;quot;&amp;gt;Description&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.fill()&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Fills the current binded texture with the GPU color. NOTE: This method will fully replace the contents of the texture.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|number}} textureid&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.createTexture({{type|number}} width, {{type|number}} height)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Creates a texture and returns the texture id. This function will error if there is no more room for the texture.&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|number}} freememory&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.getFreeMemory()&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Returns the amount of free memory that the GPU has to use. This can be expanded by right clicking the GPU with RAM.       &amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
	&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|number}} totalmemory&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.getTotalMemory()&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Returns the amount of memory that the GPU has. This can be expanded by right clicking the GPU with RAM.&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
	&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|number}} usedmemory&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.getUsedMemory()&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Returns the amount of memory that the GPU is using. This value is changed by allocating textures with gpu.createTexture and freeing textures with gpu.freeTexture.&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.bindTexture({{type|number}} textureid)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Bind the texture at textureid, this method will error if invalid values are used. Texture 0 is the screen.&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.plot({{type|number}} x, {{type|number}} y)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Sets the pixel on x,y to the the GPU's current color. (Remember, all drawing command work on the current binded texture)&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
	&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.drawTexture({{type|number}} textureid, {{type|number}} x, {{type|number}} y[, {{type|number}} startX, {{type|number}} startY, {{type|number}} width, {{type|number}} height])&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Draws the texture &amp;lt;var&amp;gt;textureid&amp;lt;/var&amp;gt; to x and y, and if startX, startY, width, and height is defined, it will render only that area of the texture. (Remember: You can render the texture to itself)&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
	&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.freeTexture({{type|number}} textureid)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Frees the texture defined by &amp;lt;var&amp;gt;textureid&amp;lt;/var&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
	&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.line({{type|number}} x0, {{type|number}} y0, {{type|number}} x1, {{type|number}} y1)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Draws a line from x0 and y0 to x1 and y1.&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
	&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|number}} width, {{type|number}} height&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.getSize([ {{type|number}} textureid])&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Returns the texture size of &amp;lt;var&amp;gt;textureid&amp;lt;/var&amp;gt; or the current binded texture. Using texture 0 will give you the screen size.&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
	&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|number}} red, {{type|number}} green, {{type|number}} blue, {{type|number}} alpha&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.getPixels({{type|number}} x, {{type|number}} y)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Returns the color of the pixel in the currently binded texture. Out of bound pixels have an undefined side effect.&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
	&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.rectangle({{type|number}} x, {{type|number}} y, {{type|number}} width, {{type|number}} height)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Draws the outline of a rectangle from x, y to x+width, y+height.&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
	&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.filledRectangle({{type|number}} x, {{type|number}} y, {{type|number}} width, {{type|number}} height)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Draws a filled rectangle from x, y to x+width, y+height.&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.setColor({{type|number}} red, {{type|number}} green, {{type|number}} blue[, {{type|number}} alpha])&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Sets the GPU's current drawing color&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|number}} slot&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.getBindedTexture()&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Gets the GPU's currently binded texture&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.setPixels({{type|number}} width, {{type|number}} height, {{type|number}} x, {{type|number}} y,{{type|number}} red,{{type|number}} green,{{type|number}} blue,...)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;takes an array and writes each pixel to the image. this method is accelerated by java and is faster than multiple gpu.plot calls.&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.flipTextureV()&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;flips the texture vertically&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|number}}TextureID, {{type|number}}Width, {{type|number}}Height&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.import({{type|string}} imagestoredinCC)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;decodes an imagefile and makes it ready for texture binding.&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|string}} filedata&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.export({{type|number}} textureid, {{type|string}} file format)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;encodes an imagefile and makes it ready for saving.&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.drawText({{type|string}} text to  write, {{type|number}} x,{{type|number}} y)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;writes text from pixel x,y&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|number}} textWidth&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.getTextWidth()&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Gets Text width&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.setColor({{type|number}} red,{{type|number}} green,{{type|number}} blue, optional; {{type|number}} alpha)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Sets the GPU's current color&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|number}} red, {{type|number}} green, {{type|number}} blue, {{type|number}} alpha&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.getColor()&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Gets the GPU's current color&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.translate({{type|number}} x,{{type|number}} y)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;translates the texture in two dimensions&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.rotate({{type|number}} degrees)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;rotates the texture in two dimensions&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.rotateAround({{type|number}} degrees,{{type|number}} x,{{type|number}} y)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;rotates the texture around pixel x,y&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.scale({{type|number}} x-axis size,{{type|number}} y-axis size)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;scales the texture to specs&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.push()&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;store transformation commands from here on and push them to the storestack&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.pop()&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;process stored transformation input&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|table}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.getMonitor().getResolution()&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Get the monitor resolution w/h&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.blur({{type|number}} blur amount)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;makes the texture blurry&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.startFrame()&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Starts a new frame (use this if you plan to draw large amounts of data)&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.endFrame()&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;ends the frame (ends the frame and sends the data, use this if you plan to draw large amounts of data)&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.clearRect({{type|number}} x, {{type|number}} y, {{type|number}} width, {{type|number}} height)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Clear rectangle entirely to alpha 255&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.origin()&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Reset RenderPoint with affline transform&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;table style=&amp;quot;width: 100%; border: solid 1px black; margin: 2px; border-spacing: 0px;&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;tr&amp;gt;&lt;br /&gt;
		&amp;lt;td colspan=&amp;quot;3&amp;quot; style=&amp;quot;font-weight: bold; font-size: large; padding-bottom: .3em; border-bottom: solid #C9C9C9 1px; background: #D3FFC2; line-height:28px;&amp;quot;&amp;gt;[[File:Grid_disk.png|24px]]&amp;amp;nbsp;&amp;amp;nbsp;Events&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;width: 100px; background: #E0E0E0; padding: .4em; font-weight:bold;&amp;quot;&amp;gt;Returns&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;width: 350px; background: #E0E0E0; padding: .4em; font-weight:bold;&amp;quot;&amp;gt;EventName&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;background: #E0E0E0; padding: .4em; font-weight:bold;&amp;quot;&amp;gt;Description&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;button,x,y, player&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;monitor_move&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;The player dragged the mouse while holding in a button&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;button,x,y,player&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;monitor_down&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;The player began a click on the monitor&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;button,x,y,player&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;monitor_up&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;The player stopped a click on the monitor&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;button,x,y,player&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;monitor_down&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;The player began a click on the monitor&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|string}} char&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;char&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;The player typed a character&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|string}} key&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;key&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;The player mashed the keyboard&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;table of imagedata, importable&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;tablet_image&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;The player took a picture with the tablet&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
[[Category:User Created Peripherals]]&lt;/div&gt;</summary>
		<author><name>Turkey</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=CCLights2&amp;diff=6717</id>
		<title>CCLights2</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=CCLights2&amp;diff=6717"/>
				<updated>2014-09-13T07:55:10Z</updated>
		
		<summary type="html">&lt;p&gt;Turkey: Undo revision 6716 by Turkey (talk) - Just noticed these actually are not the same, undoing my wikilinking&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.computercraft.info/forums2/index.php?/topic/10216-wip-cclights2-opensource-now-on-github/ CCLights2] is an Open Source Minecraft mod that adds a GPU peripheral, and monitors to suit your need. Unlike CCGPU, this mod does not use OpenGL, but it is Multiplayer Compatible.&lt;br /&gt;
&lt;br /&gt;
Please note; this documentation will always try to stay up to date with the github repo, so it might not fit your build :P&lt;br /&gt;
&amp;lt;table style=&amp;quot;width: 100%; border: solid 1px black; margin: 2px; border-spacing: 0px;&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;tr&amp;gt;&lt;br /&gt;
		&amp;lt;td colspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold; font-size: large; padding-bottom: .3em; border-bottom: solid #C9C9C9 1px; background: #D3FFC2; line-height:28px;&amp;quot;&amp;gt;[[File:Grid_disk.png|24px]]&amp;amp;nbsp;&amp;amp;nbsp;CCLights2 Peripherals&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
	&amp;lt;tr&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;width: 350px; background: #E0E0E0; padding: .4em; font-weight:bold;&amp;quot;&amp;gt;Name&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;background: #E0E0E0; padding: .4em; font-weight:bold;&amp;quot;&amp;gt;Description&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;GPU Peripheral&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The GPU Peripheral needs to be placed next to a computer. It will autoconnect with the first monitor that connects with it, and will auto disconnect when the monitor detaches.&lt;br /&gt;
&lt;br /&gt;
{{Crafting grid&lt;br /&gt;
 |A1=iron ingot |B1=iron ingot           |C1=iron ingot&lt;br /&gt;
 |A2=Redstone |B2=Gold Ingot        |C2=Redstone&lt;br /&gt;
 |A3=Gold Ingot |B3=Gold Ingot      |C3=Gold Ingot&lt;br /&gt;
 |Output=CCLights2 GPU&lt;br /&gt;
 |Output-image=Grid_CCLights2_GPU.png&lt;br /&gt;
 |Output-link=CCLights2&lt;br /&gt;
 }}&lt;br /&gt;
		&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;tr&amp;gt;&lt;br /&gt;
		&amp;lt;td colspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold; font-size: large; padding-bottom: .3em; border-bottom: solid #C9C9C9 1px; background: #D3FFC2; line-height:28px;&amp;quot;&amp;gt;[[File:Grid_disk.png|24px]]&amp;amp;nbsp;&amp;amp;nbsp;CCLights2 Monitors and ram&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;tr&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;width: 350px; background: #E0E0E0; padding: .4em; font-weight:bold;&amp;quot;&amp;gt;Name&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;background: #E0E0E0; padding: .4em; font-weight:bold;&amp;quot;&amp;gt;Description&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;tr style=&amp;quot;background-color: #E8E8E8;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Normal Monitor&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The basic Monitor. It sports an elegant resolution of 256x144.&lt;br /&gt;
&lt;br /&gt;
{{Crafting grid&lt;br /&gt;
 |A1=iron ingot |B1=iron ingot           |C1=iron ingot&lt;br /&gt;
 |A2=Redstone |B2=glass pane        |C2=Redstone&lt;br /&gt;
 |A3=Gold Ingot |B3=Gold Ingot      |C3=Gold Ingot&lt;br /&gt;
 |Output=CCLights2 Monitor&lt;br /&gt;
 |Output-link=CCLights2&lt;br /&gt;
 }}&lt;br /&gt;
		&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;External Monitor&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An external Monitor. It supports a resolution up to 512x288.&lt;br /&gt;
&lt;br /&gt;
{{Crafting grid&lt;br /&gt;
 |A1=glass pane |B1=glass pane           |C1=glass pane&lt;br /&gt;
 |A2=glass pane |B2=CCLights2 Monitor        |C2=glass pane&lt;br /&gt;
 |A3=glass pane |B3=glass pane      |C3=glass pane&lt;br /&gt;
 |Output=CCLights2 External Monitor&lt;br /&gt;
 |Output-link=CCLights2&lt;br /&gt;
 |B2-link=CCLights2&lt;br /&gt;
 }}&lt;br /&gt;
		&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr style=&amp;quot;background-color: #E8E8E8;&amp;quot;&amp;gt;&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;TabletTransciever&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The basestation for the tablet,  CONNECT YOUR TABLETS HERE!&lt;br /&gt;
&lt;br /&gt;
{{Crafting grid&lt;br /&gt;
 |B1=Redstone&lt;br /&gt;
 |A2=Redstone |B2=CCLights2 Monitor |C2=Redstone&lt;br /&gt;
 |B3=Redstone&lt;br /&gt;
 |Output=CCLights2 TabletTransciever&lt;br /&gt;
 |Output-link=CCLights2&lt;br /&gt;
 |B2-link=CCLights2&lt;br /&gt;
 }}&lt;br /&gt;
		&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;RAM&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Yep. You can craft more Ram.&lt;br /&gt;
&lt;br /&gt;
{{Crafting grid&lt;br /&gt;
 |A1=iron ingot |B1=iron ingot           |C1=iron ingot&lt;br /&gt;
 |A2=Redstone        |C2=Redstone&lt;br /&gt;
 |A3=Gold Ingot |B3=Gold Ingot      |C3=Gold Ingot&lt;br /&gt;
 |Output=CCLights2 Ram&lt;br /&gt;
 |Output-link=CCLights2&lt;br /&gt;
 }}&lt;br /&gt;
		&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #E8E8E8;&amp;quot;&amp;gt;&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;RAM&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Yep. You can craft more Ram... with ram! (double the capacity up to a maximum of 8k!)&lt;br /&gt;
&lt;br /&gt;
{{Crafting grid&lt;br /&gt;
 |A1=CCLights2 Ram |B1=CCLights2 Ram&lt;br /&gt;
 |Output=CCLights2 Ram&lt;br /&gt;
 |Output-link=CCLights2&lt;br /&gt;
 }}&lt;br /&gt;
		&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Tablet&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hold it in your hand! Go caving! Watch your life leech away as you stare into this tablet! NOTE: Watch out for Creepers.&lt;br /&gt;
&lt;br /&gt;
{{Crafting grid&lt;br /&gt;
 |A1=Gold Ingot |B1=iron ingot           |C1=Gold Ingot&lt;br /&gt;
 |A2=Redstone |B2=CCLights2 External Monitor        |C2=Redstone&lt;br /&gt;
 |A3=Gold Ingot |B3=iron ingot      |C3=Gold Ingot&lt;br /&gt;
 |Output=CCLights2 Tablet&lt;br /&gt;
 |Output-link=CCLights2&lt;br /&gt;
 |B2-link=CCLights2&lt;br /&gt;
 }}&lt;br /&gt;
		&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table style=&amp;quot;width: 100%; border: solid 1px black; margin: 2px; border-spacing: 0px;&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;tr&amp;gt;&lt;br /&gt;
		&amp;lt;td colspan=&amp;quot;3&amp;quot; style=&amp;quot;font-weight: bold; font-size: large; padding-bottom: .3em; border-bottom: solid #C9C9C9 1px; background: #D3FFC2; line-height:28px;&amp;quot;&amp;gt;[[File:Grid_disk.png|24px]]&amp;amp;nbsp;&amp;amp;nbsp;GPU Methods&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;tr&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;width: 100px; background: #E0E0E0; padding: .4em; font-weight:bold;&amp;quot;&amp;gt;Returns&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;width: 350px; background: #E0E0E0; padding: .4em; font-weight:bold;&amp;quot;&amp;gt;Method Name&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;background: #E0E0E0; padding: .4em; font-weight:bold;&amp;quot;&amp;gt;Description&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.fill()&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Fills the current binded texture with the GPU color. NOTE: This method will fully replace the contents of the texture.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|number}} textureid&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.createTexture({{type|number}} width, {{type|number}} height)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Creates a texture and returns the texture id. This function will error if there is no more room for the texture.&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|number}} freememory&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.getFreeMemory()&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Returns the amount of free memory that the GPU has to use. This can be expanded by right clicking the GPU with RAM.       &amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
	&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|number}} totalmemory&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.getTotalMemory()&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Returns the amount of memory that the GPU has. This can be expanded by right clicking the GPU with RAM.&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
	&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|number}} usedmemory&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.getUsedMemory()&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Returns the amount of memory that the GPU is using. This value is changed by allocating textures with gpu.createTexture and freeing textures with gpu.freeTexture.&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.bindTexture({{type|number}} textureid)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Bind the texture at textureid, this method will error if invalid values are used. Texture 0 is the screen.&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.plot({{type|number}} x, {{type|number}} y)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Sets the pixel on x,y to the the GPU's current color. (Remember, all drawing command work on the current binded texture)&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
	&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.drawTexture({{type|number}} textureid, {{type|number}} x, {{type|number}} y[, {{type|number}} startX, {{type|number}} startY, {{type|number}} width, {{type|number}} height])&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Draws the texture &amp;lt;var&amp;gt;textureid&amp;lt;/var&amp;gt; to x and y, and if startX, startY, width, and height is defined, it will render only that area of the texture. (Remember: You can render the texture to itself)&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
	&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.freeTexture({{type|number}} textureid)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Frees the texture defined by &amp;lt;var&amp;gt;textureid&amp;lt;/var&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
	&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.line({{type|number}} x0, {{type|number}} y0, {{type|number}} x1, {{type|number}} y1)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Draws a line from x0 and y0 to x1 and y1.&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
	&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|number}} width, {{type|number}} height&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.getSize([ {{type|number}} textureid])&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Returns the texture size of &amp;lt;var&amp;gt;textureid&amp;lt;/var&amp;gt; or the current binded texture. Using texture 0 will give you the screen size.&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
	&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|number}} red, {{type|number}} green, {{type|number}} blue, {{type|number}} alpha&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.getPixels({{type|number}} x, {{type|number}} y)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Returns the color of the pixel in the currently binded texture. Out of bound pixels have an undefined side effect.&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
	&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.rectangle({{type|number}} x, {{type|number}} y, {{type|number}} width, {{type|number}} height)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Draws the outline of a rectangle from x, y to x+width, y+height.&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
	&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.filledRectangle({{type|number}} x, {{type|number}} y, {{type|number}} width, {{type|number}} height)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Draws a filled rectangle from x, y to x+width, y+height.&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.setColor({{type|number}} red, {{type|number}} green, {{type|number}} blue[, {{type|number}} alpha])&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Sets the GPU's current drawing color&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|number}} slot&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.getBindedTexture()&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Gets the GPU's currently binded texture&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.setPixels({{type|number}} width, {{type|number}} height, {{type|number}} x, {{type|number}} y,{{type|number}} red,{{type|number}} green,{{type|number}} blue,...)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;takes an array and writes each pixel to the image. this method is accelerated by java and is faster than multiple gpu.plot calls.&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.flipTextureV()&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;flips the texture vertically&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|number}}TextureID, {{type|number}}Width, {{type|number}}Height&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.import({{type|string}} imagestoredinCC)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;decodes an imagefile and makes it ready for texture binding.&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|string}} filedata&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.export({{type|number}} textureid, {{type|string}} file format)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;encodes an imagefile and makes it ready for saving.&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.drawText({{type|string}} text to  write, {{type|number}} x,{{type|number}} y)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;writes text from pixel x,y&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|number}} textWidth&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.getTextWidth()&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Gets Text width&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.setColor({{type|number}} red,{{type|number}} green,{{type|number}} blue, optional; {{type|number}} alpha)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Sets the GPU's current color&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|number}} red, {{type|number}} green, {{type|number}} blue, {{type|number}} alpha&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.getColor()&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Gets the GPU's current color&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.translate({{type|number}} x,{{type|number}} y)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;translates the texture in two dimensions&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.rotate({{type|number}} degrees)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;rotates the texture in two dimensions&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.rotateAround({{type|number}} degrees,{{type|number}} x,{{type|number}} y)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;rotates the texture around pixel x,y&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.scale({{type|number}} x-axis size,{{type|number}} y-axis size)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;scales the texture to specs&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.push()&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;store transformation commands from here on and push them to the storestack&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.pop()&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;process stored transformation input&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|table}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.getMonitor().getResolution()&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Get the monitor resolution w/h&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.blur({{type|number}} blur amount)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;makes the texture blurry&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.startFrame()&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Starts a new frame (use this if you plan to draw large amounts of data)&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.endFrame()&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;ends the frame (ends the frame and sends the data, use this if you plan to draw large amounts of data)&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.clearRect({{type|number}} x, {{type|number}} y, {{type|number}} width, {{type|number}} height)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Clear rectangle entirely to alpha 255&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.origin()&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Reset RenderPoint with affline transform&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;table style=&amp;quot;width: 100%; border: solid 1px black; margin: 2px; border-spacing: 0px;&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;tr&amp;gt;&lt;br /&gt;
		&amp;lt;td colspan=&amp;quot;3&amp;quot; style=&amp;quot;font-weight: bold; font-size: large; padding-bottom: .3em; border-bottom: solid #C9C9C9 1px; background: #D3FFC2; line-height:28px;&amp;quot;&amp;gt;[[File:Grid_disk.png|24px]]&amp;amp;nbsp;&amp;amp;nbsp;Events&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;width: 100px; background: #E0E0E0; padding: .4em; font-weight:bold;&amp;quot;&amp;gt;Returns&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;width: 350px; background: #E0E0E0; padding: .4em; font-weight:bold;&amp;quot;&amp;gt;EventName&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;background: #E0E0E0; padding: .4em; font-weight:bold;&amp;quot;&amp;gt;Description&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;button,x,y, player&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;monitor_move&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;The player dragged the mouse while holding in a button&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;button,x,y,player&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;monitor_down&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;The player began a click on the monitor&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;button,x,y,player&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;monitor_up&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;The player stopped a click on the monitor&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;button,x,y,player&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;monitor_down&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;The player began a click on the monitor&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|string}} char&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;char&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;The player typed a character&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|string}} key&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;key&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;The player mashed the keyboard&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;table of imagedata, importable&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;tablet_image&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;The player took a picture with the tablet&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
[[Category:User Created Peripherals]]&lt;/div&gt;</summary>
		<author><name>Turkey</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=CCLights2&amp;diff=6716</id>
		<title>CCLights2</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=CCLights2&amp;diff=6716"/>
				<updated>2014-09-13T07:53:52Z</updated>
		
		<summary type="html">&lt;p&gt;Turkey: Wikilinking to CCGPU&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.computercraft.info/forums2/index.php?/topic/10216-wip-cclights2-opensource-now-on-github/ CCLights2] is an Open Source Minecraft mod that adds a GPU peripheral, and monitors to suit your need. Unlike CCGPU, this mod does not use OpenGL, but it is Multiplayer Compatible.&lt;br /&gt;
&lt;br /&gt;
Please note; this documentation will always try to stay up to date with the github repo, so it might not fit your build :P&lt;br /&gt;
&amp;lt;table style=&amp;quot;width: 100%; border: solid 1px black; margin: 2px; border-spacing: 0px;&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;tr&amp;gt;&lt;br /&gt;
		&amp;lt;td colspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold; font-size: large; padding-bottom: .3em; border-bottom: solid #C9C9C9 1px; background: #D3FFC2; line-height:28px;&amp;quot;&amp;gt;[[File:Grid_disk.png|24px]]&amp;amp;nbsp;&amp;amp;nbsp;CCLights2 Peripherals&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
	&amp;lt;tr&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;width: 350px; background: #E0E0E0; padding: .4em; font-weight:bold;&amp;quot;&amp;gt;Name&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;background: #E0E0E0; padding: .4em; font-weight:bold;&amp;quot;&amp;gt;Description&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;[[CCGPU|GPU Peripheral]]&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The GPU Peripheral needs to be placed next to a computer. It will autoconnect with the first monitor that connects with it, and will auto disconnect when the monitor detaches.&lt;br /&gt;
&lt;br /&gt;
{{Crafting grid&lt;br /&gt;
 |A1=iron ingot |B1=iron ingot           |C1=iron ingot&lt;br /&gt;
 |A2=Redstone |B2=Gold Ingot        |C2=Redstone&lt;br /&gt;
 |A3=Gold Ingot |B3=Gold Ingot      |C3=Gold Ingot&lt;br /&gt;
 |Output=CCLights2 GPU&lt;br /&gt;
 |Output-image=Grid_CCLights2_GPU.png&lt;br /&gt;
 |Output-link=CCLights2&lt;br /&gt;
 }}&lt;br /&gt;
		&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;tr&amp;gt;&lt;br /&gt;
		&amp;lt;td colspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold; font-size: large; padding-bottom: .3em; border-bottom: solid #C9C9C9 1px; background: #D3FFC2; line-height:28px;&amp;quot;&amp;gt;[[File:Grid_disk.png|24px]]&amp;amp;nbsp;&amp;amp;nbsp;CCLights2 Monitors and ram&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;tr&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;width: 350px; background: #E0E0E0; padding: .4em; font-weight:bold;&amp;quot;&amp;gt;Name&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;background: #E0E0E0; padding: .4em; font-weight:bold;&amp;quot;&amp;gt;Description&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;tr style=&amp;quot;background-color: #E8E8E8;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Normal Monitor&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The basic Monitor. It sports an elegant resolution of 256x144.&lt;br /&gt;
&lt;br /&gt;
{{Crafting grid&lt;br /&gt;
 |A1=iron ingot |B1=iron ingot           |C1=iron ingot&lt;br /&gt;
 |A2=Redstone |B2=glass pane        |C2=Redstone&lt;br /&gt;
 |A3=Gold Ingot |B3=Gold Ingot      |C3=Gold Ingot&lt;br /&gt;
 |Output=CCLights2 Monitor&lt;br /&gt;
 |Output-link=CCLights2&lt;br /&gt;
 }}&lt;br /&gt;
		&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;External Monitor&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An external Monitor. It supports a resolution up to 512x288.&lt;br /&gt;
&lt;br /&gt;
{{Crafting grid&lt;br /&gt;
 |A1=glass pane |B1=glass pane           |C1=glass pane&lt;br /&gt;
 |A2=glass pane |B2=CCLights2 Monitor        |C2=glass pane&lt;br /&gt;
 |A3=glass pane |B3=glass pane      |C3=glass pane&lt;br /&gt;
 |Output=CCLights2 External Monitor&lt;br /&gt;
 |Output-link=CCLights2&lt;br /&gt;
 |B2-link=CCLights2&lt;br /&gt;
 }}&lt;br /&gt;
		&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr style=&amp;quot;background-color: #E8E8E8;&amp;quot;&amp;gt;&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;TabletTransciever&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The basestation for the tablet,  CONNECT YOUR TABLETS HERE!&lt;br /&gt;
&lt;br /&gt;
{{Crafting grid&lt;br /&gt;
 |B1=Redstone&lt;br /&gt;
 |A2=Redstone |B2=CCLights2 Monitor |C2=Redstone&lt;br /&gt;
 |B3=Redstone&lt;br /&gt;
 |Output=CCLights2 TabletTransciever&lt;br /&gt;
 |Output-link=CCLights2&lt;br /&gt;
 |B2-link=CCLights2&lt;br /&gt;
 }}&lt;br /&gt;
		&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;RAM&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Yep. You can craft more Ram.&lt;br /&gt;
&lt;br /&gt;
{{Crafting grid&lt;br /&gt;
 |A1=iron ingot |B1=iron ingot           |C1=iron ingot&lt;br /&gt;
 |A2=Redstone        |C2=Redstone&lt;br /&gt;
 |A3=Gold Ingot |B3=Gold Ingot      |C3=Gold Ingot&lt;br /&gt;
 |Output=CCLights2 Ram&lt;br /&gt;
 |Output-link=CCLights2&lt;br /&gt;
 }}&lt;br /&gt;
		&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #E8E8E8;&amp;quot;&amp;gt;&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;RAM&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Yep. You can craft more Ram... with ram! (double the capacity up to a maximum of 8k!)&lt;br /&gt;
&lt;br /&gt;
{{Crafting grid&lt;br /&gt;
 |A1=CCLights2 Ram |B1=CCLights2 Ram&lt;br /&gt;
 |Output=CCLights2 Ram&lt;br /&gt;
 |Output-link=CCLights2&lt;br /&gt;
 }}&lt;br /&gt;
		&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Tablet&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hold it in your hand! Go caving! Watch your life leech away as you stare into this tablet! NOTE: Watch out for Creepers.&lt;br /&gt;
&lt;br /&gt;
{{Crafting grid&lt;br /&gt;
 |A1=Gold Ingot |B1=iron ingot           |C1=Gold Ingot&lt;br /&gt;
 |A2=Redstone |B2=CCLights2 External Monitor        |C2=Redstone&lt;br /&gt;
 |A3=Gold Ingot |B3=iron ingot      |C3=Gold Ingot&lt;br /&gt;
 |Output=CCLights2 Tablet&lt;br /&gt;
 |Output-link=CCLights2&lt;br /&gt;
 |B2-link=CCLights2&lt;br /&gt;
 }}&lt;br /&gt;
		&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table style=&amp;quot;width: 100%; border: solid 1px black; margin: 2px; border-spacing: 0px;&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;tr&amp;gt;&lt;br /&gt;
		&amp;lt;td colspan=&amp;quot;3&amp;quot; style=&amp;quot;font-weight: bold; font-size: large; padding-bottom: .3em; border-bottom: solid #C9C9C9 1px; background: #D3FFC2; line-height:28px;&amp;quot;&amp;gt;[[File:Grid_disk.png|24px]]&amp;amp;nbsp;&amp;amp;nbsp;GPU Methods&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;tr&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;width: 100px; background: #E0E0E0; padding: .4em; font-weight:bold;&amp;quot;&amp;gt;Returns&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;width: 350px; background: #E0E0E0; padding: .4em; font-weight:bold;&amp;quot;&amp;gt;Method Name&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;background: #E0E0E0; padding: .4em; font-weight:bold;&amp;quot;&amp;gt;Description&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.fill()&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Fills the current binded texture with the GPU color. NOTE: This method will fully replace the contents of the texture.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|number}} textureid&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.createTexture({{type|number}} width, {{type|number}} height)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Creates a texture and returns the texture id. This function will error if there is no more room for the texture.&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|number}} freememory&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.getFreeMemory()&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Returns the amount of free memory that the GPU has to use. This can be expanded by right clicking the GPU with RAM.       &amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
	&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|number}} totalmemory&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.getTotalMemory()&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Returns the amount of memory that the GPU has. This can be expanded by right clicking the GPU with RAM.&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
	&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|number}} usedmemory&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.getUsedMemory()&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Returns the amount of memory that the GPU is using. This value is changed by allocating textures with gpu.createTexture and freeing textures with gpu.freeTexture.&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.bindTexture({{type|number}} textureid)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Bind the texture at textureid, this method will error if invalid values are used. Texture 0 is the screen.&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.plot({{type|number}} x, {{type|number}} y)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Sets the pixel on x,y to the the GPU's current color. (Remember, all drawing command work on the current binded texture)&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
	&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.drawTexture({{type|number}} textureid, {{type|number}} x, {{type|number}} y[, {{type|number}} startX, {{type|number}} startY, {{type|number}} width, {{type|number}} height])&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Draws the texture &amp;lt;var&amp;gt;textureid&amp;lt;/var&amp;gt; to x and y, and if startX, startY, width, and height is defined, it will render only that area of the texture. (Remember: You can render the texture to itself)&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
	&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.freeTexture({{type|number}} textureid)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Frees the texture defined by &amp;lt;var&amp;gt;textureid&amp;lt;/var&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
	&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.line({{type|number}} x0, {{type|number}} y0, {{type|number}} x1, {{type|number}} y1)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Draws a line from x0 and y0 to x1 and y1.&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
	&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|number}} width, {{type|number}} height&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.getSize([ {{type|number}} textureid])&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Returns the texture size of &amp;lt;var&amp;gt;textureid&amp;lt;/var&amp;gt; or the current binded texture. Using texture 0 will give you the screen size.&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
	&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|number}} red, {{type|number}} green, {{type|number}} blue, {{type|number}} alpha&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.getPixels({{type|number}} x, {{type|number}} y)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Returns the color of the pixel in the currently binded texture. Out of bound pixels have an undefined side effect.&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
	&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.rectangle({{type|number}} x, {{type|number}} y, {{type|number}} width, {{type|number}} height)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Draws the outline of a rectangle from x, y to x+width, y+height.&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
	&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.filledRectangle({{type|number}} x, {{type|number}} y, {{type|number}} width, {{type|number}} height)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Draws a filled rectangle from x, y to x+width, y+height.&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.setColor({{type|number}} red, {{type|number}} green, {{type|number}} blue[, {{type|number}} alpha])&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Sets the GPU's current drawing color&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|number}} slot&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.getBindedTexture()&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Gets the GPU's currently binded texture&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.setPixels({{type|number}} width, {{type|number}} height, {{type|number}} x, {{type|number}} y,{{type|number}} red,{{type|number}} green,{{type|number}} blue,...)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;takes an array and writes each pixel to the image. this method is accelerated by java and is faster than multiple gpu.plot calls.&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.flipTextureV()&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;flips the texture vertically&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|number}}TextureID, {{type|number}}Width, {{type|number}}Height&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.import({{type|string}} imagestoredinCC)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;decodes an imagefile and makes it ready for texture binding.&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|string}} filedata&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.export({{type|number}} textureid, {{type|string}} file format)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;encodes an imagefile and makes it ready for saving.&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.drawText({{type|string}} text to  write, {{type|number}} x,{{type|number}} y)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;writes text from pixel x,y&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|number}} textWidth&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.getTextWidth()&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Gets Text width&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.setColor({{type|number}} red,{{type|number}} green,{{type|number}} blue, optional; {{type|number}} alpha)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Sets the GPU's current color&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|number}} red, {{type|number}} green, {{type|number}} blue, {{type|number}} alpha&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.getColor()&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Gets the GPU's current color&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.translate({{type|number}} x,{{type|number}} y)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;translates the texture in two dimensions&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.rotate({{type|number}} degrees)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;rotates the texture in two dimensions&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.rotateAround({{type|number}} degrees,{{type|number}} x,{{type|number}} y)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;rotates the texture around pixel x,y&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.scale({{type|number}} x-axis size,{{type|number}} y-axis size)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;scales the texture to specs&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.push()&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;store transformation commands from here on and push them to the storestack&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.pop()&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;process stored transformation input&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|table}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.getMonitor().getResolution()&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Get the monitor resolution w/h&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.blur({{type|number}} blur amount)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;makes the texture blurry&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.startFrame()&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Starts a new frame (use this if you plan to draw large amounts of data)&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.endFrame()&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;ends the frame (ends the frame and sends the data, use this if you plan to draw large amounts of data)&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.clearRect({{type|number}} x, {{type|number}} y, {{type|number}} width, {{type|number}} height)&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Clear rectangle entirely to alpha 255&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|nil}}&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;gpu.origin()&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Reset RenderPoint with affline transform&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;table style=&amp;quot;width: 100%; border: solid 1px black; margin: 2px; border-spacing: 0px;&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;tr&amp;gt;&lt;br /&gt;
		&amp;lt;td colspan=&amp;quot;3&amp;quot; style=&amp;quot;font-weight: bold; font-size: large; padding-bottom: .3em; border-bottom: solid #C9C9C9 1px; background: #D3FFC2; line-height:28px;&amp;quot;&amp;gt;[[File:Grid_disk.png|24px]]&amp;amp;nbsp;&amp;amp;nbsp;Events&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;width: 100px; background: #E0E0E0; padding: .4em; font-weight:bold;&amp;quot;&amp;gt;Returns&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;width: 350px; background: #E0E0E0; padding: .4em; font-weight:bold;&amp;quot;&amp;gt;EventName&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;background: #E0E0E0; padding: .4em; font-weight:bold;&amp;quot;&amp;gt;Description&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;button,x,y, player&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;monitor_move&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;The player dragged the mouse while holding in a button&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;button,x,y,player&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;monitor_down&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;The player began a click on the monitor&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;button,x,y,player&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;monitor_up&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;The player stopped a click on the monitor&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;button,x,y,player&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;monitor_down&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;The player began a click on the monitor&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|string}} char&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;char&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;The player typed a character&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{type|string}} key&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;key&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;The player mashed the keyboard&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr style=&amp;quot;background-color: #FFFFFF;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;table of imagedata, importable&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;tablet_image&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;The player took a picture with the tablet&amp;lt;/td&amp;gt;&lt;br /&gt;
	&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
[[Category:User Created Peripherals]]&lt;/div&gt;</summary>
		<author><name>Turkey</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Refuel&amp;diff=6715</id>
		<title>Refuel</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Refuel&amp;diff=6715"/>
				<updated>2014-09-11T05:32:21Z</updated>
		
		<summary type="html">&lt;p&gt;Turkey: Wikilinking lava&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
Refuel is a [[Built In Turtle Programs|built in program for turtles]] that will make turtles search their inventory and use any [[fuel]]s they find, up to the limit specified in the command. The limit specifies the number of fuel items to be consumed, not the total amount of fuel, so &amp;quot;refuel 2&amp;quot; could consume two [[lava]] buckets (2,000 fuel total), or two wooden shovels (20 fuel total), depending on which items it first comes across in the turtle's inventory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Usage:''' &amp;lt;tt&amp;gt;refuel &amp;lt;amount&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Example&lt;br /&gt;
|desc=Uses up to 10 fuel items&lt;br /&gt;
|code=refuel 10&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;br /&gt;
The refuel program uses the following code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 local tArgs = { ... }&lt;br /&gt;
 local nLimit = 1&lt;br /&gt;
 if #tArgs &amp;gt; 1 then&lt;br /&gt;
 	print( &amp;quot;Usage: refuel [number]&amp;quot; )&lt;br /&gt;
 	return&lt;br /&gt;
 elseif #tArgs &amp;gt; 0 then&lt;br /&gt;
 	if tArgs[1] == &amp;quot;all&amp;quot; then&lt;br /&gt;
 		nLimit = 64 * 16&lt;br /&gt;
 	else&lt;br /&gt;
 		nLimit = tonumber( tArgs[1] )&lt;br /&gt;
 	end&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 if turtle.getFuelLevel() ~= &amp;quot;unlimited&amp;quot; then&lt;br /&gt;
 	for n=1,16 do&lt;br /&gt;
 		local nCount = turtle.getItemCount(n)&lt;br /&gt;
 		if nLimit &amp;gt; 0 and nCount &amp;gt; 0 and turtle.getFuelLevel() &amp;lt; turtle.getFuelLimit() then&lt;br /&gt;
 		    local nBurn = math.min( nLimit, nCount )&lt;br /&gt;
 			turtle.select( n )&lt;br /&gt;
 			if turtle.refuel( nBurn ) then&lt;br /&gt;
 			    local nNewCount = turtle.getItemCount(n)&lt;br /&gt;
     			nLimit = nLimit - (nCount - nNewCount)&lt;br /&gt;
     		end&lt;br /&gt;
 		end&lt;br /&gt;
 	end&lt;br /&gt;
     print( &amp;quot;Fuel level is &amp;quot;..turtle.getFuelLevel() )&lt;br /&gt;
     if turtle.getFuelLevel() == turtle.getFuelLimit() then&lt;br /&gt;
         print( &amp;quot;Fuel limit reached&amp;quot; )&lt;br /&gt;
     end&lt;br /&gt;
 else&lt;br /&gt;
     print( &amp;quot;Fuel level is unlimited&amp;quot; )&lt;br /&gt;
 end&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[CraftOS Shell]]&lt;br /&gt;
* [[turtle.refuel]]&lt;br /&gt;
* [[turtle.getFuelLevel]]&lt;br /&gt;
* [[turtle.getFuelLimit]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Programs]]&lt;/div&gt;</summary>
		<author><name>Turkey</name></author>	</entry>

	</feed>