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

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Http.request&amp;diff=6082</id>
		<title>Http.request</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Http.request&amp;diff=6082"/>
				<updated>2014-01-04T19:55:30Z</updated>
		
		<summary type="html">&lt;p&gt;Ds84182: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{lowercase}}&lt;br /&gt;
{{Function&lt;br /&gt;
|name=http.request&lt;br /&gt;
|args={{type|string}} url&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;, {{type|string}} postData]&lt;br /&gt;
|api=HTTP&lt;br /&gt;
|addon=ComputerCraft&lt;br /&gt;
|desc=Sends a HTTP request to a website, asynchronously. Returns immediately, with an [[Http success (event)|http_success]] or [[Http failure (event)|http_failure]] event being delivered later to indicate the outcome. Issues a POST request if ''postData'' is provided, or a GET request if it is [[nil]] (or omitted).&lt;br /&gt;
|examples=&lt;br /&gt;
{{Example&lt;br /&gt;
|desc=Prints &amp;quot;If you see this message, HTTP works!&amp;quot; if successful.&lt;br /&gt;
|code=http.request(&amp;quot;http://pastebin.com/raw.php?i=itK2bx9K&amp;quot;)&lt;br /&gt;
  local requesting = true&lt;br /&gt;
  while requesting do&lt;br /&gt;
    local event, url, sourceText = os.pullEvent()&lt;br /&gt;
    if event == &amp;quot;http_success&amp;quot; then&lt;br /&gt;
      local respondedText = sourceText.readAll()&lt;br /&gt;
      print(respondedText)&lt;br /&gt;
      requesting = false&lt;br /&gt;
    elseif event == &amp;quot;http_failure&amp;quot; then&lt;br /&gt;
      print(&amp;quot;Server didn't respond.&amp;quot;)&lt;br /&gt;
      requesting = false&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Lua_Core_Functions]]&lt;/div&gt;</summary>
		<author><name>Ds84182</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Http.request&amp;diff=6081</id>
		<title>Http.request</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Http.request&amp;diff=6081"/>
				<updated>2014-01-04T19:53:50Z</updated>
		
		<summary type="html">&lt;p&gt;Ds84182: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{lowercase}}&lt;br /&gt;
{{Function&lt;br /&gt;
|name=http.request&lt;br /&gt;
|args={{type|string}} url&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;, {{type|string}} postData]&lt;br /&gt;
|api=HTTP&lt;br /&gt;
|addon=ComputerCraft&lt;br /&gt;
|desc=Sends a HTTP request to a website, asynchronously. Returns immediately, with an [[Http success (event)|http_success]] or [[Http failure (event)|http_failure]] event being delivered later to indicate the outcome. Issues a POST request if ''postData'' is provided, or a GET request if it is [[nil]] (or omitted).&lt;br /&gt;
|examples=&lt;br /&gt;
{{Example&lt;br /&gt;
|desc=Prints the code of a loading bar program if successful.&lt;br /&gt;
|code=http.request(&amp;quot;http://pastebin.com/raw.php?i=itK2bx9K&amp;quot;)&lt;br /&gt;
  local requesting = true&lt;br /&gt;
  while requesting do&lt;br /&gt;
    local event, url, sourceText = os.pullEvent()&lt;br /&gt;
    if event == &amp;quot;http_success&amp;quot; then&lt;br /&gt;
      local respondedText = sourceText.readAll()&lt;br /&gt;
      print(respondedText)&lt;br /&gt;
      requesting = false&lt;br /&gt;
    elseif event == &amp;quot;http_failure&amp;quot; then&lt;br /&gt;
      print(&amp;quot;Server didn't respond.&amp;quot;)&lt;br /&gt;
      requesting = false&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Lua_Core_Functions]]&lt;/div&gt;</summary>
		<author><name>Ds84182</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=CCLights2&amp;diff=6068</id>
		<title>CCLights2</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=CCLights2&amp;diff=6068"/>
				<updated>2013-12-22T12:07:32Z</updated>
		
		<summary type="html">&lt;p&gt;Ds84182: Halfway finished rewriting this page.&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;
&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.gif&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&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 suports 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;
&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.&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;
&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.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|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;&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&amp;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.setColorRGB({{type|number}} x, {{type|number}} y) and 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 at x and 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;
	&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 and gpu.getTextureSize)([ {{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|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.setTransparent()&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;This method is depreciated. Any attempt to use it will result in an error.&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.setTransparencyColor()&amp;lt;/td&amp;gt;&lt;br /&gt;
		&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;This method is depreciated. Any attempt to use it will result in an error.&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.getColorRGB({{type|number}} x, {{type|number}} y) and gpu.getPixel({{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;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
[[Category:User Created Peripherals]]&lt;/div&gt;</summary>
		<author><name>Ds84182</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Os.pullEvent&amp;diff=5798</id>
		<title>Os.pullEvent</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Os.pullEvent&amp;diff=5798"/>
				<updated>2013-07-11T19:44:16Z</updated>
		
		<summary type="html">&lt;p&gt;Ds84182: Added event turtle_inventory for 1.55 update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{lowercase}}&lt;br /&gt;
{{Function&lt;br /&gt;
 |name=os.pullEvent&lt;br /&gt;
 |args=[&amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;{{type|string}} filter]&lt;br /&gt;
 |api=OS&lt;br /&gt;
 |returns={{type|string}} event, variable parameters(see table below)&lt;br /&gt;
 |addon=ComputerCraft&lt;br /&gt;
 |desc=Waits (yields) until an event occurs&lt;br /&gt;
 |examples=&lt;br /&gt;
{{Example&lt;br /&gt;
|desc=The program requires to wait for a keypress to do something:&lt;br /&gt;
|code=[[Function (type)|function]] clear()&lt;br /&gt;
    [[term.clear]]()&lt;br /&gt;
    [[term.setCursorPos]] (1,1)&lt;br /&gt;
 end&lt;br /&gt;
 while true do&lt;br /&gt;
    clear()&lt;br /&gt;
    [[print]] (&amp;quot;Press E to do something.&amp;quot;)&lt;br /&gt;
    local event, param1 = os.pullEvent (&amp;quot;char&amp;quot;) -- limit os.pullEvent to the char event&lt;br /&gt;
    if param1 == &amp;quot;e&amp;quot; then -- if the returned value was 'e'&lt;br /&gt;
        clear()&lt;br /&gt;
        [[write]] (&amp;quot;Name: &amp;quot;)&lt;br /&gt;
        local name = [[read]]()&lt;br /&gt;
        [[print]] (name)&lt;br /&gt;
        break&lt;br /&gt;
    else&lt;br /&gt;
        clear()&lt;br /&gt;
        [[print]] (&amp;quot;Wrong button!&amp;quot;)&lt;br /&gt;
        [[os.sleep|sleep]] (1.5) -- I don't like a whole 2 seconds but 1 second is too short&lt;br /&gt;
    end&lt;br /&gt;
 end&lt;br /&gt;
}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Common syntax ===&lt;br /&gt;
&lt;br /&gt;
 event, param1, param2, param3 = os.pullEvent()&lt;br /&gt;
&lt;br /&gt;
Note: This is one of the most commonly used functions that can return multiple values.&lt;br /&gt;
It works like any other function call (such as &amp;quot;input = read()&amp;quot;) except that you can get more than one piece of information back.&lt;br /&gt;
&lt;br /&gt;
== How it works ==&lt;br /&gt;
When os.pullEvent() is called, the computer waits until an event occurs.&lt;br /&gt;
Events can be triggered by several different things, such as a key being pressed or a redstone input changing.&lt;br /&gt;
They are usually triggered by ComputerCraft itself, when it needs to notify the computer that something happened.&lt;br /&gt;
They can also be triggered by peripherals, or by your program calling [[os.queueEvent]].&lt;br /&gt;
&lt;br /&gt;
More complicated input, such as &amp;quot;the user typing a line of text,&amp;quot; does ''not'' correspond to an event.&lt;br /&gt;
[[read]] handles this inside itself by waiting for the user to press a key, then updating the screen, moving the cursor, etc.&lt;br /&gt;
&lt;br /&gt;
Events have a type (which is a string) and 0-5 parameters (which are often but not always strings).&lt;br /&gt;
No built-in events use more than 3 parameters.&lt;br /&gt;
&lt;br /&gt;
When an event occurs, the event type, followed by the parameters, will be returned. If you have:&lt;br /&gt;
&lt;br /&gt;
 event, button, x, y = os.pullEvent()&lt;br /&gt;
&lt;br /&gt;
and the user clicks the mouse at coordinates 5,4 then:&lt;br /&gt;
* event will be set to &amp;quot;mouse_click&amp;quot; (the event type)&lt;br /&gt;
* button will be set to 0 (the first parameter)&lt;br /&gt;
* x will be set to 5 (the second parameter)&lt;br /&gt;
* y will be set to 4 (the third parameter)&lt;br /&gt;
&lt;br /&gt;
Note that in this example, we didn't specify a filter. If you specify a filter, then all events of different types will be ignored.&lt;br /&gt;
If the user inserts a disk, instead of clicking the mouse, then event will be &amp;quot;disk&amp;quot;, button will be the side the disk drive is on, and x and y will be nil.&lt;br /&gt;
&lt;br /&gt;
If we wanted to only wait for mouse clicks we could use:&lt;br /&gt;
&lt;br /&gt;
  event, button, x, y = os.pullEvent(&amp;quot;mouse_click&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
which will ignore any events that are not mouse clicks.&lt;br /&gt;
&lt;br /&gt;
If you assign more variables than necessary, the extra ones will be set to nil.&lt;br /&gt;
If you assign fewer variables than necessary, the extra parameters will be discarded.&lt;br /&gt;
&lt;br /&gt;
==Event types==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Name&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Description&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | Parameters&lt;br /&gt;
|-&lt;br /&gt;
! 1 !! 2 !! 3&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | [[char (event)|char]]&lt;br /&gt;
|Fired when text is typed on the keyboard&lt;br /&gt;
| {{type|string}} the letter typed&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | [[key (event)|key]]&lt;br /&gt;
|Fired when a key is pressed on the keyboard&lt;br /&gt;
|{{type|number}} numerical keycode&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | [[timer (event)|timer]]&lt;br /&gt;
|Fired when a timeout started by [[os.startTimer]]() completes&lt;br /&gt;
|{{type|number}} Value of the timer as returned by os.startTimer()&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | [[alarm (event)|alarm]]&lt;br /&gt;
|Fired when a time passed to [[os.setAlarm]]() is reached&lt;br /&gt;
|{{type|number}} Value of the alarm as returned by os.setAlarm()&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | [[redstone (event)|redstone]]&lt;br /&gt;
|Fired when the state of any of the redstone inputs change&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | [[terminate (event)|terminate]]&lt;br /&gt;
|Fired when a combination of keys CTRL and T is pressed and held for three seconds.&lt;br /&gt;
You will not normally see this event, as it is handled inside os.pullEvent.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | [[disk (event)|disk]]&lt;br /&gt;
|Fired when a disk is inserted into an adjacent disk drive&lt;br /&gt;
|{{type|string}} side&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | [[disk_eject (event)|disk_eject]]&lt;br /&gt;
|Fired when a disk is removed from an adjacent disk drive&lt;br /&gt;
|{{type|string}} side&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | [[peripheral (event)|peripheral]]&lt;br /&gt;
|Fired when peripheral is attached&lt;br /&gt;
|{{type|string}} side&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | [[peripheral_detach (event)| peripheral_detach]]&lt;br /&gt;
|Fired when peripheral is removed&lt;br /&gt;
|{{type|string}} side&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | [[rednet_message (event)|rednet_message]]&lt;br /&gt;
|Fired when a rednet message is received from the [[Rednet_(API)|rednet API]]&lt;br /&gt;
|{{type|number}} senderID&lt;br /&gt;
|{{type|string}} message&lt;br /&gt;
|{{type|number}} distance travelled&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | [[http_success (event)|http_success]]&lt;br /&gt;
|Fired when an attempt to receive text from / post text on a website is successful.&lt;br /&gt;
You will not normally see this event as it is handled inside http.get.&lt;br /&gt;
|{{type|string}} url of the site&lt;br /&gt;
|{{type|table}} text on the site&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | [[http_failure (event)|http_failure]]&lt;br /&gt;
|Fired when an attempt to receive text from / post text on a website is unsuccessful&lt;br /&gt;
You will not normally see this event as it is handled inside http.get.&lt;br /&gt;
|{{type|string}} url of the site&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | [[mouse_click (event)|mouse_click]]&lt;br /&gt;
|Fired when a mouse button is pressed&lt;br /&gt;
|{{type|number}} mouse button&lt;br /&gt;
|{{type|number}} x coordinate&lt;br /&gt;
|{{type|number}} y coordinate&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | [[mouse_scroll (event)|mouse_scroll]]&lt;br /&gt;
|Fired when a mousewheel is scrolled.&lt;br /&gt;
|{{type|number}} scroll direction (-1 for up, 1 for down)&lt;br /&gt;
|{{type|number}} x coordinate(in screen chars)&lt;br /&gt;
|{{type|number}} y coordinate(in screen chars)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | [[mouse_drag (event)|mouse_drag]]&lt;br /&gt;
|Fired when the mouse is moved after clicking.&lt;br /&gt;
|{{type|number}} mouse button&lt;br /&gt;
|{{type|number}} x coordinate(in screen chars)&lt;br /&gt;
|{{type|number}} y coordinate(in screen chars)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | [[monitor_touch (event)|monitor_touch]]&lt;br /&gt;
|Fired when a player right click on an advanced monitor connected.&lt;br /&gt;
|{{type|string}} side&lt;br /&gt;
|{{type|number}} x coordinate(in screen chars)&lt;br /&gt;
|{{type|number}} y coordinate(in screen chars)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | [[monitor_resize (event)|monitor_resize]]&lt;br /&gt;
|Fired when a monitor resizes&lt;br /&gt;
|{{type|string}} side&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | [[turtle_inventory (event)|turtle_inventory]]&lt;br /&gt;
|Fired when the inventory on a [[Turtle]] is changed.&lt;br /&gt;
|{{type|string}} side&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Guides ==&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 Guide on os.pullEvent()'']&lt;br /&gt;
&lt;br /&gt;
[[Category:Lua_Core_Functions]]&lt;/div&gt;</summary>
		<author><name>Ds84182</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=IO_(API)&amp;diff=5795</id>
		<title>IO (API)</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=IO_(API)&amp;diff=5795"/>
				<updated>2013-07-11T19:41:39Z</updated>
		
		<summary type="html">&lt;p&gt;Ds84182: Forgot a number! Updated for 1.55&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;IO is a reimplementation of the default Lua input / output API defined [http://www.lua.org/manual/5.1/manual.html#5.7 here], with some features trimmed. Most features should work. If you find a non-working feature, please list it here.&lt;br /&gt;
&lt;br /&gt;
List of non-working features from IO as of ComputerCraft 1.55:&lt;br /&gt;
&lt;br /&gt;
* io.open: Modes “a+”, “r+”, and “w+” are not supported.&lt;br /&gt;
* io.popen: Doesn’t exist.&lt;br /&gt;
* io.read: Only allows format string “*l”.&lt;br /&gt;
* io.tmpfile: Doesn’t exist.&lt;br /&gt;
* file:read: Doesn’t support format string “*n” or a character count.&lt;br /&gt;
* file:seek: Doesn’t exist.&lt;br /&gt;
* file:setvbuf: Doesn’t exist.&lt;br /&gt;
&lt;br /&gt;
All of the capabilities in this API are also available in the [[Fs (API)|Fs API]], along with some other functions not directly related to reading and writing individual files.&lt;br /&gt;
[[Category:APIs]]&lt;/div&gt;</summary>
		<author><name>Ds84182</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=IO_(API)&amp;diff=5794</id>
		<title>IO (API)</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=IO_(API)&amp;diff=5794"/>
				<updated>2013-07-11T19:40:51Z</updated>
		
		<summary type="html">&lt;p&gt;Ds84182: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;IO is a reimplementation of the default Lua input / output API defined [http://www.lua.org/manual/5.1/manual.html#5.7 here], with some features trimmed. Most features should work. If you find a non-working feature, please list it here.&lt;br /&gt;
&lt;br /&gt;
List of non-working features from IO as of ComputerCraft 1.52:&lt;br /&gt;
&lt;br /&gt;
* io.open: Modes “a+”, “r+”, and “w+” are not supported.&lt;br /&gt;
* io.popen: Doesn’t exist.&lt;br /&gt;
* io.read: Only allows format string “*l”.&lt;br /&gt;
* io.tmpfile: Doesn’t exist.&lt;br /&gt;
* file:read: Doesn’t support format string “*n” or a character count.&lt;br /&gt;
* file:seek: Doesn’t exist.&lt;br /&gt;
* file:setvbuf: Doesn’t exist.&lt;br /&gt;
&lt;br /&gt;
All of the capabilities in this API are also available in the [[Fs (API)|Fs API]], along with some other functions not directly related to reading and writing individual files.&lt;br /&gt;
[[Category:APIs]]&lt;/div&gt;</summary>
		<author><name>Ds84182</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Template:Changelog&amp;diff=5793</id>
		<title>Template:Changelog</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Template:Changelog&amp;diff=5793"/>
				<updated>2013-07-11T19:38:10Z</updated>
		
		<summary type="html">&lt;p&gt;Ds84182: Updated for 1.55&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 100%&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%&amp;quot; | Version&lt;br /&gt;
! class=&amp;quot;unsortable&amp;quot; | New Features or Changes&lt;br /&gt;
! style=&amp;quot;width: 15%&amp;quot; | Minecraft Version&lt;br /&gt;
|-&lt;br /&gt;
|align=center|[http://www.computercraft.info/2013/07/11/computercraft-1-55// Computercraft 1.55]&lt;br /&gt;
|&lt;br /&gt;
* Ported to Minecraft 1.6.2&lt;br /&gt;
* Added Advanced Turtles&lt;br /&gt;
* Added “turtle_inventory” event. Fires when any change is made to the inventory of a turtle&lt;br /&gt;
* Added missing functions io.close, io.flush, io.input, io.lines, io.output&lt;br /&gt;
* Tweaked the screen colours used by Advanced Computers, Monitors and Turtles&lt;br /&gt;
* Added several new features for Peripheral authors&lt;br /&gt;
* Lua programs can now be included in Resource Packs&lt;br /&gt;
|align=center|1.6.2&lt;br /&gt;
|-&lt;br /&gt;
|align=center|[http://www.computercraft.info/2013/05/23/computercraft-1-53// ComputerCraft 1.53]&lt;br /&gt;
|&lt;br /&gt;
* Ported to Minecraft 1.5.2&lt;br /&gt;
* [[redstone.setBundledOutput]]() and [[redstone.getBundledOutput]]() now work with cables from Minefactory Reloaded, as well as RedPower&lt;br /&gt;
* [[Monitor|Monitors]] and [[Advanced_Monitor|Advanced Monitors]] can now be placed on floors and ceilings&lt;br /&gt;
|align=center|1.5.2&lt;br /&gt;
|-&lt;br /&gt;
|align=center|[http://www.computercraft.info/2013/03/26/computercraft-1-52// Computercraft 1.52]&lt;br /&gt;
|&lt;br /&gt;
* Ported to Minecraft 1.5.1&lt;br /&gt;
|align=center|1.5.1&lt;br /&gt;
|-&lt;br /&gt;
|align=center|[http://www.computercraft.info/2013/03/15/computercraft-1-51// Computercraft 1.51]&lt;br /&gt;
|&lt;br /&gt;
* Ported to Minecraft 1.5&lt;br /&gt;
* Added [[Wired Modem|Wired Modems]]&lt;br /&gt;
* Added [[Networking Cable|Networking Cables]]&lt;br /&gt;
* Made [[Wireless Modem|Wireless Modems]] more expensive to craft&lt;br /&gt;
* New redstone API functions: getAnalogInput(), setAnalogOutput(), getAnalogOutput()&lt;br /&gt;
* Peripherals can now be controlled remotely over wired networks&lt;br /&gt;
* New peripheral API function: getNames()&lt;br /&gt;
* New event: “monitor_resize” when the size of a monitor changes&lt;br /&gt;
* Except for labelled computers and turtles, ComputerCraft blocks no longer drop items in creative mode&lt;br /&gt;
* The pick block function works in creative mode now works for all ComputerCraft blocks&lt;br /&gt;
* All blocks and items now use the IDs numbers assigned by FTB by default&lt;br /&gt;
* Fixed turtles sometimes placing blocks with incorrect orientations&lt;br /&gt;
* Fixed Wireless modems being able to send messages to themselves&lt;br /&gt;
* Fixed [[turtle.attack]]() having a very short range&lt;br /&gt;
* Various bugfixes&lt;br /&gt;
|align=center|1.5&lt;br /&gt;
|-&lt;br /&gt;
|align=center|[http://www.computercraft.info/2013/02/11/computercraft-1-5/ Computercraft 1.5]&lt;br /&gt;
|&lt;br /&gt;
*Redesigned Wireless Modems; they can now send and receive on multiple channels, independent of the computer ID. To use these features, interface with modem peripherals directly. The rednet API still functions as before.&lt;br /&gt;
*[[Floppy Disk|Floppy Disks]] can now be dyed with multiple dyes, just like armour.&lt;br /&gt;
*The “excavate” program now retains fuel in it’s inventory, so can run unattended.&lt;br /&gt;
*[[turtle.place]]() now tries all possible block orientations before failing.&lt;br /&gt;
*[[turtle.refuel]](0) returns true if a fuel item is selected.&lt;br /&gt;
*[[turtle.craft]](0) returns true if the inventory is a valid recipe.&lt;br /&gt;
*The in-game help system now has documentation for all the peripherals and their methods, including the new [[modem]] functionality.&lt;br /&gt;
*A romantic surprise.&lt;br /&gt;
|align=center|1.4.7&lt;br /&gt;
|-&lt;br /&gt;
|align=center|[http://www.computercraft.info/2012/12/27/computercraft-1-481-miscperipherals-fix/ Computercraft 1.481]&lt;br /&gt;
|&lt;br /&gt;
*Fixed compatibility bug with MiscPeripherals.&lt;br /&gt;
|align=center|1.4.6&lt;br /&gt;
|-&lt;br /&gt;
|align=center|[http://www.computercraft.info/2012/12/23/computercraft-1-48/ Computercraft 1.48]&lt;br /&gt;
|&lt;br /&gt;
*Ported to Minecraft 1.4.6&lt;br /&gt;
*[[Advanced Monitor|Advanced Monitors]] can now be used as touchscreens&lt;br /&gt;
*[[Advanced Monitor|Advanced Monitors]] are now easier to craft&lt;br /&gt;
*[[Turtle|Turtles]] now get slightly less movement from fuel&lt;br /&gt;
*[[Turtle|Turtles]] can now push items&lt;br /&gt;
*[[Computer|Computers]] can now control Command Blocks, if enabled in the config&lt;br /&gt;
*New API function: os.day()&lt;br /&gt;
*A Christmas surprise&lt;br /&gt;
|align=center|1.4.6&lt;br /&gt;
|-&lt;br /&gt;
|align=center|[http://www.computercraft.info/2012/11/15/computercraft-1-47-and-minecon-news/ ComputerCraft 1.47]&lt;br /&gt;
|&lt;br /&gt;
*Ported to Minecraft 1.4.4&lt;br /&gt;
*Fixed label tooltips not showing up in SMP&lt;br /&gt;
|align=center|1.4.4&lt;br /&gt;
|-&lt;br /&gt;
|align=center|[http://www.computercraft.info/2012/10/25/computercraft-1-46-minecraft-update/ ComputerCraft 1.46]&lt;br /&gt;
|&lt;br /&gt;
*Ported to Minecraft 1.4.2&lt;br /&gt;
*ComputerCraft items now have their own tab in Creative Mode&lt;br /&gt;
|align=center|1.4.2&lt;br /&gt;
|-&lt;br /&gt;
|align=center|[http://www.computercraft.info/2012/10/22/computercraft-1-45-now-with-colors/ ComputerCraft 1.45]&lt;br /&gt;
|&lt;br /&gt;
*Added [[Advanced Computer|Advanced Computers]]&lt;br /&gt;
*Added [[Advanced Monitor|Advanced Monitors]]&lt;br /&gt;
*New program: paint (by nitrogenfingers)&lt;br /&gt;
*New API: [[paintutils_(API)|paintutils]]&lt;br /&gt;
*New term functions: term.setBackgroundColor, term.setTextColor, term.isColor&lt;br /&gt;
*New [[Turtle|Turtle]] function: [[turtle.transferTo]]&lt;br /&gt;
|align=center|1.3.2&lt;br /&gt;
|-&lt;br /&gt;
|align=center|[http://www.computercraft.info/2012/10/04/computercraft-1-43-books/ ComputerCraft 1.43]&lt;br /&gt;
|&lt;br /&gt;
*Added Printed Pages (bind several Printed Page items into one with string)&lt;br /&gt;
*Added Printed Books (add a leather cover to the above)&lt;br /&gt;
*Labelled [[Turtle|Turtles]] now keep their fuel when broken&lt;br /&gt;
*Fixed incompatibility with Forge 275 and above&lt;br /&gt;
|align=center|1.3.2&lt;br /&gt;
|-&lt;br /&gt;
|align=center|[http://www.computercraft.info/2012/09/22/computercraft-1-42-is-released/ ComputerCraft 1.42]&lt;br /&gt;
|&lt;br /&gt;
*Ported to Minecraft 1.3.2 and the Forge mod system&lt;br /&gt;
*Added [[Printer|Printers]]&lt;br /&gt;
*Floppy Disks can now be dyed different colours&lt;br /&gt;
*Wireless Crafty Turtles can now be crafted&lt;br /&gt;
*All new textures&lt;br /&gt;
*New Forge config file&lt;br /&gt;
*Various tweaks and bug fixes&lt;br /&gt;
|align=center|1.3.2&lt;br /&gt;
|-&lt;br /&gt;
|align=center|[http://www.computercraft.info/2012/07/29/computercraft-1-41-bugfix-update/ ComputerCraft 1.41]&lt;br /&gt;
|&lt;br /&gt;
*Fixed labelled [[Computer|Computers]] not keeping their data when destroyed&lt;br /&gt;
*Fixed the “excavate” program outputting lots of spam&lt;br /&gt;
*File system size limits now take into account empty files and directories&lt;br /&gt;
*Some small changes to the Turtle Upgrade API ahead of it’s impending release.(Update: The API has now been released)&lt;br /&gt;
|align=center|1.2.5&lt;br /&gt;
|-&lt;br /&gt;
|align=center|[http://www.computercraft.info/2012/07/27/computercraft-1-4-is-released/ ComputerCraft 1.4]&lt;br /&gt;
|&lt;br /&gt;
*Ported to Forge Mod Loader: ComputerCraft can now be ran directly from the .zip without extraction&lt;br /&gt;
*Added Farming [[Turtle|Turtles]], Felling [[Turtle|Turtles]], Digging [[Turtle|Turtles]], Melee [[Turtle|Turtles]] and Crafty [[Turtle|Turtles]]&lt;br /&gt;
*Added 14 new[[Turtle|Turtles]] Combinations accessible by combining the turtle upgrades above&lt;br /&gt;
*Labelled [[Computer|Computers]] and turtles can now be crafted into turtles or other turtle types without losing their ID, label and data&lt;br /&gt;
*Added a [[Turtle|Turtles]] Upgrade API” for mod developers to create their own tools and peripherals for turtles&lt;br /&gt;
*[[Turtle|Turtles]] can now attack entities with [[turtle.attack]](), and collect their dropped items&lt;br /&gt;
*[[Turtle|Turtles]] can now use [[turtle.place]]() with any item the player can, and can interact with entities&lt;br /&gt;
*[[Turtle|Turtles]] can now craft items with [[turtle.craft]]()&lt;br /&gt;
*[[Turtle|Turtles]] can now place items into inventories with [[turtle.drop]]()&lt;br /&gt;
*Changed the behaviour of [[turtle.place]]() and [[turtle.drop]]() to only consider the currently selected slot&lt;br /&gt;
*[[Turtle|Turtles]] can now pick up items from the ground, or from inventories, with [[turtle.suck]]()&lt;br /&gt;
*[[Turtle|Turtles]] can now compare items in their inventories&lt;br /&gt;
*[[Turtle|Turtles]] can place signs with text on them with [[turtle.place]]( [signText] )&lt;br /&gt;
*[[Turtle|Turtles]] now optionally require fuel items to move, and can refuel themselves&lt;br /&gt;
*The size of the the [[Turtle|Turtle]] inventory has been increased to 16&lt;br /&gt;
*The size of the [[Turtle|Turtle]] screen has been increased&lt;br /&gt;
*New [[Turtle|Turtle]] functions: [[turtle.compareTo]]( [slotNum] ), [[turtle.craft]](), [[turtle.attack]](), [[turtle.attackUp]](), [[turtle.attackDown]](), [[turtle.drop|turtle.dropUp]](), [[turtle.drop|turtle.dropDown]](), [[turtle.getFuelLevel]](), [[turtle.refuel]]()&lt;br /&gt;
*New [[Disk]] function: [[disk.getDiskID]]()&lt;br /&gt;
*New [[Turtle|Turtle]] programs: craft, refuel&lt;br /&gt;
*“excavate” program now much smarter: Will return items to a chest when full, attack mobs, and refuel itself automatically&lt;br /&gt;
*New API: keys&lt;br /&gt;
*Added optional Floppy Disk and Hard Drive space limits for [[Computer|Computers]] and [[Turtle|Turtles]]&lt;br /&gt;
*New fs function: [[fs.getFreeSpace]]( path ), also [[fs.getDrive]]() works again&lt;br /&gt;
*The send and receive range of wireless modems now increases with altitude, allowing long range networking from high-altitude [[Computer|Computers]] (great for GPS networks)&lt;br /&gt;
*[[http.request]]() now supports https:// URLs&lt;br /&gt;
*Right clicking a [[Disk Drive]] with a [[Floppy Disk]] or a Record when sneaking will insert the item into the [[Disk Drive]] automatically&lt;br /&gt;
*The default size of the [[Computer]] screen has been increased&lt;br /&gt;
*Several stability and security fixes: LuaJ can now no longer leave dangling threads when a computer is unloaded, turtles can no longer be destroyed by tree leaves or walking off the edge of the loaded map. [[Computer|Computers]] no longer crash when used with RedPower frames&lt;br /&gt;
|align=center|1.2.5&lt;br /&gt;
|-&lt;br /&gt;
|align=center|[http://www.computercraft.info/2012/04/23/computercraft-updated-to-1-2-5/ ComputerCraft 1.33]&lt;br /&gt;
|&lt;br /&gt;
*Ported to Minecraft 1.2.5&lt;br /&gt;
|align=center|1.2.5&lt;br /&gt;
|-&lt;br /&gt;
|align=center|[http://www.computercraft.info/2012/03/30/computercraft-1-32-out-now/ ComputerCraft 1.32]&lt;br /&gt;
|&lt;br /&gt;
*Ported to Minecraft 1.2.4&lt;br /&gt;
*Fixed a big memory leak in LuaJ that caused extra threads to stay around forever when [[Computer|Computers]] were shut down.&lt;br /&gt;
|align=center|1.2.4&lt;br /&gt;
|-&lt;br /&gt;
|align=center|[http://www.computercraft.info/2012/03/13/computercraft-1-31-is-released/ ComputerCraft 1.31]&lt;br /&gt;
|&lt;br /&gt;
*Ported to Minecraft 1.2.3&lt;br /&gt;
*Added [[Monitor|Monitors]] (thanks to Cloudy). Build huge external displays for your [[Computer|Computers]]!&lt;br /&gt;
*New positioning capabilities for [[Computer|Computers]] and [[Turtle|Turtles]]. Build GPS networks and triangulate the positions of your turtles position so they never get lost!&lt;br /&gt;
*New [[turtle.compare]]() function for turtles for more intelligent mining.&lt;br /&gt;
*New programs and APIs: gps, monitor, vector&lt;br /&gt;
*New program: pastebin (requires enableAPI_HTTP=1 in mod_ComputerCraft.cfg), upload and download programs made by other users ingame!&lt;br /&gt;
*Added a new top secret program designed for use with Monitors, see if you can find it.&lt;br /&gt;
*Lots of additions to existing APIs and programs. Type &amp;quot;help whatsnew&amp;quot; in game for the full details.&lt;br /&gt;
|align=center|1.2.3&lt;br /&gt;
|-&lt;br /&gt;
|align=center|[http://www.computercraft.info/2012/02/23/computercraft-1-3-trailer/ ComputerCraft 1.3]&lt;br /&gt;
|&lt;br /&gt;
*Ported to Minecraft Forge.&lt;br /&gt;
*Added [[Turtle|Turtles]], Mining [[Turtle|Turtles]], Wireless [[Turtle|Turtles]] and Wireless Mining [[Turtle|Turtles]] (Block ID 209).&lt;br /&gt;
*Added a Peripheral API to allow mod developers to create custom peripherals for ComputerCraft. Details on this will be posted in the next few days.&lt;br /&gt;
*Added [[Modem|Wireless Modems]]. Use the [[Rednet_(API)|rednet API]] to send data wirelessly between [[Computer|Computers]] and [[Turtle|Turtles]]!&lt;br /&gt;
*[[Computer|Computers]] and Disk Drives no longer get destroyed by water.&lt;br /&gt;
*[[Computer|Computers]] and [[Turtle|Turtles]] can now be labelled, destroyed, and moved around, keeping their state.&lt;br /&gt;
*[[Computer|Computers]] and [[Turtle|Turtles]] can connect to adjacent devices, and turn them on or off.&lt;br /&gt;
*User programs now give line numbers in their error messages, for easier debugging.&lt;br /&gt;
*New APIs and programs for [[Turtle|Turtles]]: turtle, excavate, tunnel, go, turn and dance.&lt;br /&gt;
*Lots of additions to existing APIs and programs. Type &amp;quot;help whatsnew&amp;quot; in game for the full details.&lt;br /&gt;
|align=center|1.1&lt;br /&gt;
|-&lt;br /&gt;
|align=center|ComputerCraft 1.21&lt;br /&gt;
|&lt;br /&gt;
*Added shortcut key to shutdown the computer.&lt;br /&gt;
*Added a help API add-on pack.&lt;br /&gt;
*Various bug fixes.&lt;br /&gt;
|align=center|1.1&lt;br /&gt;
|-&lt;br /&gt;
|align=center|ComputerCraft 1.2&lt;br /&gt;
|&lt;br /&gt;
*Added Disk Drives&lt;br /&gt;
*Added shortcut keys to terminate the current program and reboot the computer.&lt;br /&gt;
*Added a new system for user created APIs.&lt;br /&gt;
*Added RedNet.&lt;br /&gt;
*Added [[shell.setPath]]() and [[shell.setAlias]]().&lt;br /&gt;
*Added a new ROM startup script.&lt;br /&gt;
*Added [[os.clock]](), [[os.time]](), and [[os.setAlarm]]().&lt;br /&gt;
*Added game: &amp;quot;Worm!&amp;quot;&lt;br /&gt;
*Added programs: alias, apis, copy, delete, dj, drive, eject, id, label, list, move, reboot, redset, rename, time, worm.&lt;br /&gt;
*Added APIs: bit, colours, disk, help, rednet, parallel, textutils&lt;br /&gt;
*Text can be edited with left and right arrow keys.&lt;br /&gt;
*Many bug fixes&lt;br /&gt;
|align=center|1.0&lt;br /&gt;
|-&lt;br /&gt;
|align=center|ComputerCraft 1.11&lt;br /&gt;
|&lt;br /&gt;
*Fixed bug where [[Computer|Computers]] could not read input from RedPower cables which had a bend in the immediately adjacent square.&lt;br /&gt;
|align=center|1.0&lt;br /&gt;
|-&lt;br /&gt;
|align=center|ComputerCraft 1.1&lt;br /&gt;
|&lt;br /&gt;
*Changed the default block ID for the [[Computer|Computer]] to 207.&lt;br /&gt;
*Added multiplayer support.&lt;br /&gt;
*Added connectivity with RedPower bundled cables.&lt;br /&gt;
*Added HTTP API&lt;br /&gt;
*Fixed support for HD textures on the front of [[Computer|Computers]].&lt;br /&gt;
*Added command history to the [[Computer]].&lt;br /&gt;
*Added config options to change the size of the [[Computer]] GUI and the text color.&lt;br /&gt;
*Programs with infinite loops that don't yield will no longer freeze Minecraft and will terminate after 10 seconds.&lt;br /&gt;
*Extended Help and fixed typos/small errors in various programs.&lt;br /&gt;
|align=center|1.0&lt;br /&gt;
|-&lt;br /&gt;
|align=center|ComputerCraft 1.02&lt;br /&gt;
|&lt;br /&gt;
*Fixed the MCPatcher HD textures incompatibility that was causing the computer texture to replace cobblestone blocks.&lt;br /&gt;
|align=center|1.0&lt;br /&gt;
|-&lt;br /&gt;
|align=center|ComputerCraft 1.01&lt;br /&gt;
|&lt;br /&gt;
*Added a ModLoader configuration file, so the computers block ID can be changed.&lt;br /&gt;
*Made the error message that displays when Lua files are not correctly installed much more clear, no more &amp;quot;Assertion failed.&amp;quot;&lt;br /&gt;
|align=center|1.0&lt;br /&gt;
|-&lt;br /&gt;
|align=center|ComputerCraft 1.0&lt;br /&gt;
|&lt;br /&gt;
*First Release&lt;br /&gt;
|align=center|1.0&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ds84182</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=CCLights2&amp;diff=5514</id>
		<title>CCLights2</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=CCLights2&amp;diff=5514"/>
				<updated>2013-04-30T16:56:01Z</updated>
		
		<summary type="html">&lt;p&gt;Ds84182: Created page with &amp;quot;[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, an...&amp;quot;&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;
&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;
CCLights2 Peripherals&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;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;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.gif&lt;br /&gt;
 |Output-link=CCLights2&lt;br /&gt;
 }}&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 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;
CCLights2 Monitors&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;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: #E8E8E8;&amp;quot;&amp;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;&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;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 suports 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;
 }}&lt;br /&gt;
 &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;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;&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;
 }}&lt;br /&gt;
 &amp;lt;/td&amp;gt;&amp;lt;/tr&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;&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;&lt;br /&gt;
[[File:Grid_disk.png|24px]]&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
GPU Methods&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: 100px; background: #E0E0E0; padding: .4em; font-weight:bold;&amp;quot;&amp;gt;Returns&amp;lt;/td&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;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({{Type|int}} red, {{Type|int}} green, {{Type|int}} 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;Fills the binded texture with the color specified by &amp;lt;var&amp;gt;red&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;green&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;blue&amp;lt;/var&amp;gt;&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;{{Type|int}} 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|int}} width, {{Type|int}} 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 new texture and returns it.&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;{{Type|int}} 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 the GPU has available.&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;{{Type|int}} 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 total memory. This is the equivalent of gpu.getFreeMemory()+gpu.getUsedMemory()&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;{{Type|int}} 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 the GPU has already used.&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;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|int}} 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;Binds the texture &amp;lt;var&amp;gt;textureid&amp;lt;/var&amp;gt; for drawing. A &amp;lt;var&amp;gt;textureid&amp;lt;/var&amp;gt; of 0 will rebind the screen 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;&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;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;(Depreciated: Use gpu.plot instead) gpu.setColorRGB({{Type|int}} x, {{Type|int}} y, {{Type|int}} red, {{Type|int}} green, {{Type|int}} 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;Plots the color &amp;lt;var&amp;gt;red&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;green&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;blue&amp;lt;/var&amp;gt; at the location &amp;lt;var&amp;gt;x&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;y&amp;lt;/var&amp;gt;.&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;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|int}} x, {{Type|int}} y, {{Type|int}} red, {{Type|int}} green, {{Type|int}} 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;Plots the color &amp;lt;var&amp;gt;red&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;green&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;blue&amp;lt;/var&amp;gt; at the location &amp;lt;var&amp;gt;x&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;y&amp;lt;/var&amp;gt;.&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;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|int}} textureid, {{Type|int}} x, {{Type|int}} y[, {{Type|int}} startX, {{Type|int}} startY, {{Type|int}} width, {{Type|int}} height[, {{Type|int}} red, {{Type|int}} green, {{Type|int}} 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;Draws the texture &amp;lt;var&amp;gt;textureid&amp;lt;/var&amp;gt; at position &amp;lt;var&amp;gt;x&amp;lt;/var&amp;gt;,&amp;lt;var&amp;gt;y&amp;lt;/var&amp;gt; starting at &amp;lt;var&amp;gt;startX&amp;lt;/var&amp;gt;,&amp;lt;var&amp;gt;startY&amp;lt;/var&amp;gt; (Default: 0, 0) with the size of &amp;lt;var&amp;gt;width&amp;lt;/var&amp;gt;,&amp;lt;var&amp;gt;height&amp;lt;/var&amp;gt; (Default: Texture size) with the color &amp;lt;var&amp;gt;red&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;green&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;blue&amp;lt;/var&amp;gt; (Default: 255,255,255).&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;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|int}} 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;Removes the texture &amp;lt;var&amp;gt;textureid&amp;lt;/var&amp;gt; from the GPU's memory.&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;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|int}} red, {{Type|int}} green, {{Type|int}} blue, {{Type|int}} x0, {{Type|int}} y0, {{Type|int}} x1, {{Type|int}} 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;Returns the amount of free memory the GPU has available.&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;{{Type|int}} width, {{Type|int}} 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.getTextureSize()&amp;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 size of the currently binded 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;&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{Type|int}} width, {{Type|int}} 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()&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;Does the same as above.&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;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.setTransparent({{Type|int}} textureid, {{Type|boolean}} transparent)&amp;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 texture &amp;lt;var&amp;gt;textureid&amp;lt;/var&amp;gt; as transparent&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;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.setTransparencyColor({{Type|int}} textureid, {{Type|int}} red, {{Type|int}} green, {{Type|int}} 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;Sets the texture &amp;lt;var&amp;gt;textureid&amp;lt;/var&amp;gt;'s transparency color to &amp;lt;var&amp;gt;red&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;green&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;blue&amp;lt;/var&amp;gt;. NOTE: This will not make that color transparent on a monitor. Sorry.&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;{{Type|int}} red, {{Type|int}} green, {{Type|int}} 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;(Depreciated: Use gpu.getPixel instead) gpu.getColorRGB({{Type|int}} x, {{Type|int}} 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 colors at the location &amp;lt;var&amp;gt;x&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;y&amp;lt;/var&amp;gt;.&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;{{Type|int}} red, {{Type|int}} green, {{Type|int}} 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;gpu.getPixel({{Type|int}} x, {{Type|int}} 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 colors at the location &amp;lt;var&amp;gt;x&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;y&amp;lt;/var&amp;gt;.&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;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|int}} red, {{Type|int}} green, {{Type|int}} blue, {{Type|int}} x, {{Type|int}} y, {{Type|int}} width, {{Type|int}} 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 an outlined rectangle with the color &amp;lt;var&amp;gt;red&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;green&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;blue&amp;lt;/var&amp;gt; at the location &amp;lt;var&amp;gt;x&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;y&amp;lt;/var&amp;gt; with the size &amp;lt;var&amp;gt;width&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;height&amp;lt;/var&amp;gt;.&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;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|int}} red, {{Type|int}} green, {{Type|int}} blue, {{Type|int}} x, {{Type|int}} y, {{Type|int}} width, {{Type|int}} 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 with the color &amp;lt;var&amp;gt;red&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;green&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;blue&amp;lt;/var&amp;gt; at the location &amp;lt;var&amp;gt;x&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;y&amp;lt;/var&amp;gt; with the size &amp;lt;var&amp;gt;width&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;height&amp;lt;/var&amp;gt;.&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;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.setBPP((1,2 or 4))&amp;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 Bits Per Pixel for the GPU. This directly effects memory usage. When called, all textures will go black.&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;{{Type|int}} bindedTextureid&amp;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;Returns the Binded 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: #E8E8E8;&amp;quot;&amp;gt;&amp;lt;td style=&amp;quot;border-top: solid #C9C9C9 1px; padding: .4em;&amp;quot;&amp;gt;{{Type|int}} BPP&amp;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.getBPP()&amp;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 Bits Per Pixel.&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;({{Type|int}} nativePixelColor)*Bits Per Pixel&amp;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.getNativePixel({{Type|int}} x, {{Type|int}} 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 native pixel data for the location &amp;lt;var&amp;gt;x&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;y&amp;lt;/var&amp;gt;. The BPP will be the number of values returned&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;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;(BETA) gpu.setPixels({{Type|int}} w, {{Type|int}} h, {{Type|int}} x, {{Type|int}} y[, {{Type|int}} red, {{Type|int}} green, {{Type|int}} 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;Sets the pixels in the area of &amp;lt;var&amp;gt;w&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;h&amp;lt;/var&amp;gt; starting at &amp;lt;var&amp;gt;x&amp;lt;/var&amp;gt;,&amp;lt;var&amp;gt;y&amp;lt;/var&amp;gt; using the rest of the given pixeldata. NOTE: This function is a BETA function. Do not expect it to work 100%!&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;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;(BETA) gpu.setPixelsYX({{Type|int}} w, {{Type|int}} h, {{Type|int}} x, {{Type|int}} y[, {{Type|int}} red, {{Type|int}} green, {{Type|int}} 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;Sets the pixels in the area of &amp;lt;var&amp;gt;w&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;h&amp;lt;/var&amp;gt; starting at &amp;lt;var&amp;gt;x&amp;lt;/var&amp;gt;,&amp;lt;var&amp;gt;y&amp;lt;/var&amp;gt; using the rest of the given pixeldata in the order of Y,X instead of X,Y. NOTE: This function is a BETA function. Do not expect it to work 100%!&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;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;(BETA) gpu.flipTextureV({{Type|int}} 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;Flips the texture &amp;lt;var&amp;gt;textureid&amp;lt;/var&amp;gt; verticaly. NOTE: This function is a BETA function. Do not expect it to work 100%!&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
[[Category:User Created Peripherals]]&lt;/div&gt;</summary>
		<author><name>Ds84182</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Textutils.tabulate&amp;diff=4603</id>
		<title>Textutils.tabulate</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Textutils.tabulate&amp;diff=4603"/>
				<updated>2012-12-04T13:17:36Z</updated>
		
		<summary type="html">&lt;p&gt;Ds84182: Created page with &amp;quot;{{lowercase}} {{Function |name=textutils.tabulate |args= table table, table table, ... |returns=Text printed on the screen |api=textutils |ad...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{lowercase}}&lt;br /&gt;
{{Function&lt;br /&gt;
|name=textutils.tabulate&lt;br /&gt;
|args= [[table (type)|table]] table, [[table (type)|table]] table, ...&lt;br /&gt;
|returns=Text printed on the screen&lt;br /&gt;
|api=textutils&lt;br /&gt;
|addon=ComputerCraft&lt;br /&gt;
|desc=Prints tables in an ordered form. Each table is a row, columns' width is auto-adjusted.&lt;br /&gt;
|examples=&lt;br /&gt;
{{Example&lt;br /&gt;
|desc=Prints two tables in an ordered form.&lt;br /&gt;
|code=textutils.tabulate({1,2,3},{&amp;quot;A&amp;quot;,&amp;quot;B&amp;quot;,&amp;quot;C&amp;quot;})&lt;br /&gt;
|output=Print:&lt;br /&gt;
1.0 2.0 3.0&lt;br /&gt;
&lt;br /&gt;
A   B   C&lt;br /&gt;
}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:API_Functions]]&lt;/div&gt;</summary>
		<author><name>Ds84182</name></author>	</entry>

	</feed>