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

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Modem_(API)&amp;diff=6524</id>
		<title>Modem (API)</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Modem_(API)&amp;diff=6524"/>
				<updated>2014-05-18T15:47:17Z</updated>
		
		<summary type="html">&lt;p&gt;Awsmazinggenius: typo, it said &amp;quot;bollean&amp;quot; instead of &amp;quot;boolean&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:''This page is for the modem API. For the blocks, see [[Modem]].''&lt;br /&gt;
&lt;br /&gt;
{{PeripheralAPI}}&lt;br /&gt;
&lt;br /&gt;
Modem channels are essentially networks which can be [[modem.open|opened]], [[modem.close|closed]] and [[modem_message_(event)|listened]] on by any [[Computer]] within range, without need of independant computer IDs. To interact with channels, one must [[peripheral.wrap|wrap]] or interact directly with the peripheral as opposed to the previous interaction with the [[Rednet_(API)|Rednet API]].&lt;br /&gt;
&lt;br /&gt;
This is not an actual API called &amp;quot;modem&amp;quot;. This is the API for [[peripheral.wrap|wrapped]] modem peripherals.&lt;br /&gt;
&lt;br /&gt;
{{API table|Modem|image=Grid disk.png|2=&lt;br /&gt;
&lt;br /&gt;
{{API table/row&lt;br /&gt;
|[[modem.isOpen|''modem''.isOpen]]({{type|number}} channel)&lt;br /&gt;
|{{type|boolean}} isChannelOpen&lt;br /&gt;
|Checks to see if ''channel'' is open.&lt;br /&gt;
|odd}}&lt;br /&gt;
&lt;br /&gt;
{{API table/row&lt;br /&gt;
|[[modem.open|''modem''.open]]({{type|number}} channel)&lt;br /&gt;
|{{type|nil}}&lt;br /&gt;
|Opens ''channel'' to allow for listening. The channel specified must be larger than 0 and less than 65535.}}&lt;br /&gt;
&lt;br /&gt;
{{API table/row&lt;br /&gt;
|[[modem.close|''modem''.close]]({{type|number}} channel)&lt;br /&gt;
|{{type|nil}}&lt;br /&gt;
|Closes an open channel to disallow listening.&lt;br /&gt;
|odd}}&lt;br /&gt;
&lt;br /&gt;
{{API table/row&lt;br /&gt;
|[[modem.closeAll|''modem''.closeAll]]()&lt;br /&gt;
|{{type|nil}}&lt;br /&gt;
|Closes all open channels.}}&lt;br /&gt;
&lt;br /&gt;
{{API table/row&lt;br /&gt;
|[[modem.transmit|''modem''.transmit]]({{type|number}} channel, {{type|number}} replyChannel, {{type|string}} message)&lt;br /&gt;
|{{type|nil}}&lt;br /&gt;
|Transmits a message on the specified channel.&lt;br /&gt;
|odd}}&lt;br /&gt;
&lt;br /&gt;
{{API table/row&lt;br /&gt;
|[[modem.isWireless|''modem''.isWireless]]()&lt;br /&gt;
|{{type|boolean}} isWireless&lt;br /&gt;
|Returns if the modem is wireless or wired.}}&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Event&lt;br /&gt;
|name=modem_message&lt;br /&gt;
|return1={{type|string}} modemSide&lt;br /&gt;
|return2={{type|number}} senderChannel&lt;br /&gt;
|return3={{type|number}} replyChannel&lt;br /&gt;
|return4={{type|string}} message&lt;br /&gt;
|return5={{type|number}} distance&lt;br /&gt;
|desc=Fired when a modem message is received.}}&lt;br /&gt;
&lt;br /&gt;
==Sending Messages==&lt;br /&gt;
Sending messages is simple and does not require that you open any channels. Simply use the transmit function like so:&lt;br /&gt;
 local modem = [[peripheral.wrap]](&amp;quot;right&amp;quot;) --Wraps the modem on the right side.&lt;br /&gt;
 &lt;br /&gt;
 [[modem.transmit]](3, 1, &amp;quot;Hello world!&amp;quot;)  &lt;br /&gt;
 [[peripheral.call]](&amp;quot;right&amp;quot;, &amp;quot;transmit&amp;quot;, 3, 1, &amp;quot;This will also work!&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
What did that do? First I wrapped the peripheral in order to interact with it. Second, I used [[modem.transmit]](channel, replyChannel, message) in order to send my message. In case you were wondering, the reply channel is captured by the listening computer and suggests which channel they should reply on.&lt;br /&gt;
&lt;br /&gt;
==Receiving Messages==&lt;br /&gt;
Receiving messages requires that you be familiar with events. As of this moment, there is no API which cuts out events from the process. Here is an example of how to receive messages:&lt;br /&gt;
 local modem = [[peripheral.wrap]](&amp;quot;left&amp;quot;)&lt;br /&gt;
 [[modem.open]](3)--Open channel 3 so that we can listen on it&lt;br /&gt;
 local event, modemSide, senderChannel, &lt;br /&gt;
   replyChannel, message, senderDistance = [[os.pullEvent]](&amp;quot;modem_message&amp;quot;)&lt;br /&gt;
 &lt;br /&gt;
 print(&amp;quot;I just received a message from: &amp;quot;..senderChannel)&lt;br /&gt;
 print(&amp;quot;I should apparently reply on: &amp;quot;..replyChannel)&lt;br /&gt;
 print(&amp;quot;The modem receiving this is located on the &amp;quot;..modemSide..&amp;quot; side&amp;quot;)&lt;br /&gt;
 print(&amp;quot;The message was: &amp;quot;..message)&lt;br /&gt;
 print(&amp;quot;The sender is: &amp;quot;..senderDistance..&amp;quot; blocks away from me.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
So what did I do? Quite simply, I called [[os.pullEvent]]() with the string argument &amp;quot;modem_message&amp;quot;, which blocks all other events from being returned. When the &amp;quot;modem_message&amp;quot; event is captured, it returns the arguments: event, modemSide, senderChannel, replyChannel, message, senderDistance. I captured these and then printed them out.&lt;br /&gt;
&lt;br /&gt;
== Modem Limitations ==&lt;br /&gt;
* You can only open 128 channels at any given time.&lt;br /&gt;
* The maximum channel you can open is 65535.&lt;br /&gt;
* You can listen on more than one channel at a time. For example, if the modem has channel 3 and channel 5 open, and somebody sends a message on channel 5, the modem will receive it. If a message is sent on channel 3, the modem will also receive the message.&lt;br /&gt;
* Sending messages does not require you to open any channels prior to sending it.&lt;br /&gt;
* If you aren't receiving a message when you think you should, check to make sure that you have opened the channel first.&lt;br /&gt;
* Modems and channels are not secure - if you are sending a message using the Modem API, messages are still available to any computer listening on the sent channel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Peripheral APIs]]&lt;/div&gt;</summary>
		<author><name>Awsmazinggenius</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=User:Awsmazinggenius&amp;diff=6251</id>
		<title>User:Awsmazinggenius</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=User:Awsmazinggenius&amp;diff=6251"/>
				<updated>2014-03-28T22:58:02Z</updated>
		
		<summary type="html">&lt;p&gt;Awsmazinggenius: Created page with &amp;quot;So yeah, I just made this page so I wouldn't be a red link. If I think of something useful, I'll put it here. ~~~~&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;So yeah, I just made this page so I wouldn't be a red link. If I think of something useful, I'll put it here.&lt;br /&gt;
[[User:Awsmazinggenius|awsmazinggenius]] 22:58, 28 March 2014 (GMT)&lt;/div&gt;</summary>
		<author><name>Awsmazinggenius</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Pocket_Computer&amp;diff=6250</id>
		<title>Pocket Computer</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Pocket_Computer&amp;diff=6250"/>
				<updated>2014-03-28T22:57:08Z</updated>
		
		<summary type="html">&lt;p&gt;Awsmazinggenius: Replaced &amp;quot;right-click&amp;quot; with &amp;quot;use key&amp;quot; (people change their controls to weird things) and added a note about the default right-click.&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, this 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! 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 loose 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;
{{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;
{{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;
Wireless Pocket Computers (inc. Advanced)&lt;br /&gt;
{{Crafting grid&lt;br /&gt;
|B1=Modem&lt;br /&gt;
|B2=Pocket_Computer&lt;br /&gt;
|Output=Pocket_Computer&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 by GopherAtl. &lt;br /&gt;
&lt;br /&gt;
Below is a 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>Awsmazinggenius</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Monitor&amp;diff=6213</id>
		<title>Monitor</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Monitor&amp;diff=6213"/>
				<updated>2014-03-26T21:29:42Z</updated>
		
		<summary type="html">&lt;p&gt;Awsmazinggenius: Undo revision 6212 by Awsmazinggenius (talk)&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. 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>Awsmazinggenius</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Monitor&amp;diff=6212</id>
		<title>Monitor</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Monitor&amp;diff=6212"/>
				<updated>2014-03-26T21:28:54Z</updated>
		
		<summary type="html">&lt;p&gt;Awsmazinggenius: Added peripheral api notice and put in the peripheral api category.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PeripheralAPI}}&lt;br /&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. 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]][[Category:Peripheral APIs]]&lt;/div&gt;</summary>
		<author><name>Awsmazinggenius</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Talk:ComputerCraft_Timeline&amp;diff=6141</id>
		<title>Talk:ComputerCraft Timeline</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Talk:ComputerCraft_Timeline&amp;diff=6141"/>
				<updated>2014-03-24T06:19:35Z</updated>
		
		<summary type="html">&lt;p&gt;Awsmazinggenius: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We need to add the recent updates to ComputerCraft. Perhaps also add the CC Teamspeak to it? --[[User:Cranium|Cranium]] 15:16, 18 July 2013 (GMT)&lt;br /&gt;
&lt;br /&gt;
With the new batch of wiki editors (hooray!) someone needs to update this page. The problem is though is what to add... [[User:Awsmazinggenius|awsmazinggenius]] 06:17, 24 March 2014 (GMT)&lt;/div&gt;</summary>
		<author><name>Awsmazinggenius</name></author>	</entry>

	<entry>
		<id>https://www.computercraft.info/wiki/index.php?title=Talk:ComputerCraft_Timeline&amp;diff=6140</id>
		<title>Talk:ComputerCraft Timeline</title>
		<link rel="alternate" type="text/html" href="https://www.computercraft.info/wiki/index.php?title=Talk:ComputerCraft_Timeline&amp;diff=6140"/>
				<updated>2014-03-24T06:17:52Z</updated>
		
		<summary type="html">&lt;p&gt;Awsmazinggenius: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We need to add the recent updates to ComputerCraft. Perhaps also add the CC Teamspeak to it? --[[User:Cranium|Cranium]] 15:16, 18 July 2013 (GMT)&lt;br /&gt;
&lt;br /&gt;
With the new batch of wiki editors (hooray!) someone needs to update this page. The problem is though is what to add... [[User:Awsmazinggenius|Amazingly awsmazinggenius]] 06:17, 24 March 2014 (GMT)&lt;/div&gt;</summary>
		<author><name>Awsmazinggenius</name></author>	</entry>

	</feed>