From c6ac9d69ad2998d2c9a56aa83be9696a9ff11505 Mon Sep 17 00:00:00 2001 From: Anthony Zhang Date: Sun, 17 Mar 2013 17:58:32 -0400 Subject: [PATCH] Licencing information, downloads, improved image styles, note about WorldEdit. --- Style.css | 10 +- index.html | 2 + projects/DoublePiston/DoublePiston.wem | 243 +++++++ .../DoublePiston/DoublePistonLowProfile.wem | 658 ++++++++++++++++++ projects/DoublePiston/index.html | 17 +- projects/TicTacToe/index.html | 4 +- 6 files changed, 923 insertions(+), 11 deletions(-) create mode 100644 projects/DoublePiston/DoublePiston.wem create mode 100644 projects/DoublePiston/DoublePistonLowProfile.wem diff --git a/Style.css b/Style.css index f34ca0d..4295fa4 100644 --- a/Style.css +++ b/Style.css @@ -40,7 +40,7 @@ h4 { margin: 0; } -img { +img.picture { width: 30em; display: block; margin: 2em; @@ -54,7 +54,11 @@ img { img.preview { margin: 0; width: 10em; + display: block; float: right; + -webkit-box-shadow: 0 0 1em rgba(0, 0, 0, 1); + -moz-box-shadow: 0 0 1em rgba(0, 0, 0, 1); + box-shadow: 0 0 1em rgba(0, 0, 0, 1); } pre { @@ -90,11 +94,7 @@ a.post { .difficulty img { width: auto; height: 1em; - display: inline; margin: 0; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; } .entry { diff --git a/index.html b/index.html index 8f8fa0b..49c16e0 100644 --- a/index.html +++ b/index.html @@ -66,6 +66,8 @@ Post preview +



+ Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License. \ No newline at end of file diff --git a/projects/DoublePiston/DoublePiston.wem b/projects/DoublePiston/DoublePiston.wem new file mode 100644 index 0000000..d0500bc --- /dev/null +++ b/projects/DoublePiston/DoublePiston.wem @@ -0,0 +1,243 @@ +return { +-- Table: {1} +{ + {2}, + {3}, + {4}, + {5}, + {6}, + {7}, + {8}, + {9}, + {10}, +}, +-- Table: {2} +{ + ["y"]=0, + ["x"]=0, + ["name"]="default:sign_wall", + ["z"]=1, + ["meta"]={11}, + ["param2"]=1, + ["param1"]=79, +}, +-- Table: {3} +{ + ["y"]=0, + ["x"]=1, + ["name"]="mesecons_switch:mesecon_switch_off", + ["z"]=1, + ["meta"]={12}, + ["param2"]=1, + ["param1"]=0, +}, +-- Table: {4} +{ + ["y"]=0, + ["x"]=2, + ["name"]="mesecons_insulated:insulated_off", + ["z"]=1, + ["meta"]={13}, + ["param2"]=2, + ["param1"]=47, +}, +-- Table: {5} +{ + ["y"]=0, + ["x"]=3, + ["name"]="mesecons_extrawires:corner_off", + ["z"]=0, + ["meta"]={14}, + ["param2"]=2, + ["param1"]=47, +}, +-- Table: {6} +{ + ["y"]=0, + ["x"]=3, + ["name"]="mesecons_luacontroller:luacontroller0000", + ["z"]=1, + ["meta"]={15}, + ["param2"]=0, + ["param1"]=31, +}, +-- Table: {7} +{ + ["y"]=0, + ["x"]=3, + ["name"]="mesecons_extrawires:corner_off", + ["z"]=2, + ["meta"]={16}, + ["param2"]=3, + ["param1"]=47, +}, +-- Table: {8} +{ + ["y"]=0, + ["x"]=4, + ["name"]="default:cobble", + ["z"]=0, + ["meta"]={17}, + ["param2"]=0, + ["param1"]=0, +}, +-- Table: {9} +{ + ["y"]=0, + ["x"]=4, + ["name"]="mesecons_pistons:piston_sticky_off", + ["z"]=1, + ["meta"]={18}, + ["param2"]=0, + ["param1"]=0, +}, +-- Table: {10} +{ + ["y"]=0, + ["x"]=4, + ["name"]="mesecons_pistons:piston_sticky_off", + ["z"]=2, + ["meta"]={19}, + ["param2"]=0, + ["param1"]=0, +}, +-- Table: {11} +{ + ["inventory"]={20}, + ["fields"]={21}, +}, +-- Table: {12} +{ + ["inventory"]={22}, + ["fields"]={23}, +}, +-- Table: {13} +{ + ["inventory"]={24}, + ["fields"]={25}, +}, +-- Table: {14} +{ + ["inventory"]={26}, + ["fields"]={27}, +}, +-- Table: {15} +{ + ["inventory"]={28}, + ["fields"]={29}, +}, +-- Table: {16} +{ + ["inventory"]={30}, + ["fields"]={31}, +}, +-- Table: {17} +{ + ["inventory"]={32}, + ["fields"]={33}, +}, +-- Table: {18} +{ + ["inventory"]={34}, + ["fields"]={35}, +}, +-- Table: {19} +{ + ["inventory"]={36}, + ["fields"]={37}, +}, +-- Table: {20} +{ +}, +-- Table: {21} +{ + ["text"]="Double sticky piston driver", + ["infotext"]="\"Double sticky piston driver\"", + ["formspec"]="field[text;;${text}]", +}, +-- Table: {22} +{ +}, +-- Table: {23} +{ +}, +-- Table: {24} +{ +}, +-- Table: {25} +{ +}, +-- Table: {26} +{ +}, +-- Table: {27} +{ +}, +-- Table: {28} +{ +}, +-- Table: {29} +{ + ["heat"]="-1", + ["code"]="if event.iid == \"pull1\" then\ + port.b = false\ + interrupt(0.2, \"push2\")\ +elseif event.iid == \"push2\" then\ + port.c = true\ + interrupt(0.2, \"pull2\")\ +elseif event.iid == \"pull2\" then\ + port.c = false\ +else\ + if pin.a then --extend\ + port.b = true\ + port.d = true\ + else --retract\ + port.d = false\ + interrupt(0.2, \"pull1\")\ + end\ +end", + ["lc_interrupts"]="return { \"pull1\", \"push2\", \"pull2\", \"pull1\", \"push2\", \"pull2\", \"pull1\", \"push2\", \"pull2\", \"pull1\", \"push2\", \"pull2\", \"pull1\", \"push2\", \"pull2\", \"pull1\", \"push2\", \"pull2\", \"pull1\", \"push2\", \"pull2\", \"pull1\", \"push2\", \"pull2\", \"pull1\", \"push2\", \"pull2\", \"pull1\", \"push2\", \"pull2\", \"pull1\", \"push2\", \"pull2\", \"pull1\", \"push2\", \"pull2\", \"pull1\", \"push2\", \"pull2\", \"pull1\", \"push2\", \"pull2\", \"pull1\", \"push2\", \"pull2\", \"pull1\", \"push2\", \"pull2\", \"pull1\", \"push2\", \"pull2\", \"pull1\", \"push2\", \"pull2\", \"pull1\", \"push2\", \"pull2\", \"pull1\", \"push2\", \"pull2\", \"pull1\", \"push2\", \"pull2\", \"pull1\", \"push2\", \"pull2\", \"pull1\", \"push2\", \"pull2\", \"pull1\", \"push2\", \"pull2\", \"pull1\", \"push2\", \"pull2\", \"pull1\", \"push2\", \"pull2\", \"pull1\", \"push2\", \"pull2\", \"pull1\", \"push2\", \"pull2\", \"pull1\", \"push2\", \"pull2\" }", + ["formspec"]="size[10,8]background[-0.2,-0.25;10.4,8.75;jeija_luac_background.png]textarea[0.2,0.6;10.2,5;code;;if event.iid == \"pull1\" then\ + port.b = false\ + interrupt(0.2, \"push2\")\ +elseif event.iid == \"push2\" then\ + port.c = true\ + interrupt(0.2, \"pull2\")\ +elseif event.iid == \"pull2\" then\ + port.c = false\ +else\ + if pin.a then --extend\ + port.b = true\ + port.d = true\ + else --retract\ + port.d = false\ + interrupt(0.2, \"pull1\")\ + end\ +end]image_button[3.75,6;2.5,1;jeija_luac_runbutton.png;program;]image_button_exit[9.72,-0.25;0.425,0.4;jeija_close_window.png;exit;]label[0.1,5;]", + ["lc_memory"]="return { }", +}, +-- Table: {30} +{ +}, +-- Table: {31} +{ +}, +-- Table: {32} +{ +}, +-- Table: {33} +{ +}, +-- Table: {34} +{ +}, +-- Table: {35} +{ +}, +-- Table: {36} +{ +}, +-- Table: {37} +{ +}, +} \ No newline at end of file diff --git a/projects/DoublePiston/DoublePistonLowProfile.wem b/projects/DoublePiston/DoublePistonLowProfile.wem new file mode 100644 index 0000000..05d5e37 --- /dev/null +++ b/projects/DoublePiston/DoublePistonLowProfile.wem @@ -0,0 +1,658 @@ +return { +-- Table: {1} +{ + {2}, + {3}, + {4}, + {5}, + {6}, + {7}, + {8}, + {9}, + {10}, + {11}, + {12}, + {13}, + {14}, + {15}, + {16}, + {17}, + {18}, + {19}, + {20}, + {21}, + {22}, + {23}, + {24}, + {25}, + {26}, + {27}, + {28}, + {29}, +}, +-- Table: {2} +{ + ["y"]=0, + ["x"]=0, + ["name"]="default:glass", + ["z"]=0, + ["meta"]={30}, + ["param2"]=0, + ["param1"]=15, +}, +-- Table: {3} +{ + ["y"]=0, + ["x"]=0, + ["name"]="default:glass", + ["z"]=1, + ["meta"]={31}, + ["param2"]=0, + ["param1"]=15, +}, +-- Table: {4} +{ + ["y"]=0, + ["x"]=0, + ["name"]="default:glass", + ["z"]=2, + ["meta"]={32}, + ["param2"]=0, + ["param1"]=15, +}, +-- Table: {5} +{ + ["y"]=0, + ["x"]=0, + ["name"]="mesecons_switch:mesecon_switch_off", + ["z"]=3, + ["meta"]={33}, + ["param2"]=1, + ["param1"]=0, +}, +-- Table: {6} +{ + ["y"]=0, + ["x"]=0, + ["name"]="default:glass", + ["z"]=4, + ["meta"]={34}, + ["param2"]=0, + ["param1"]=47, +}, +-- Table: {7} +{ + ["y"]=0, + ["x"]=1, + ["name"]="default:glass", + ["z"]=0, + ["meta"]={35}, + ["param2"]=0, + ["param1"]=15, +}, +-- Table: {8} +{ + ["y"]=0, + ["x"]=1, + ["name"]="default:glass", + ["z"]=1, + ["meta"]={36}, + ["param2"]=0, + ["param1"]=15, +}, +-- Table: {9} +{ + ["y"]=0, + ["x"]=1, + ["name"]="default:glass", + ["z"]=2, + ["meta"]={37}, + ["param2"]=0, + ["param1"]=15, +}, +-- Table: {10} +{ + ["y"]=0, + ["x"]=1, + ["name"]="mesecons_insulated:insulated_off", + ["z"]=3, + ["meta"]={38}, + ["param2"]=0, + ["param1"]=15, +}, +-- Table: {11} +{ + ["y"]=0, + ["x"]=1, + ["name"]="default:glass", + ["z"]=4, + ["meta"]={39}, + ["param2"]=0, + ["param1"]=31, +}, +-- Table: {12} +{ + ["y"]=0, + ["x"]=2, + ["name"]="default:glass", + ["z"]=0, + ["meta"]={40}, + ["param2"]=0, + ["param1"]=15, +}, +-- Table: {13} +{ + ["y"]=0, + ["x"]=2, + ["name"]="default:glass", + ["z"]=1, + ["meta"]={41}, + ["param2"]=0, + ["param1"]=15, +}, +-- Table: {14} +{ + ["y"]=0, + ["x"]=2, + ["name"]="mesecons:wire_01000000_off", + ["z"]=2, + ["meta"]={42}, + ["param2"]=0, + ["param1"]=15, +}, +-- Table: {15} +{ + ["y"]=0, + ["x"]=2, + ["name"]="mesecons_luacontroller:luacontroller0000", + ["z"]=3, + ["meta"]={43}, + ["param2"]=0, + ["param1"]=15, +}, +-- Table: {16} +{ + ["y"]=0, + ["x"]=2, + ["name"]="mesecons:wire_10011000_off", + ["z"]=4, + ["meta"]={44}, + ["param2"]=0, + ["param1"]=15, +}, +-- Table: {17} +{ + ["y"]=0, + ["x"]=3, + ["name"]="default:glass", + ["z"]=0, + ["meta"]={45}, + ["param2"]=0, + ["param1"]=15, +}, +-- Table: {18} +{ + ["y"]=0, + ["x"]=3, + ["name"]="default:glass", + ["z"]=1, + ["meta"]={46}, + ["param2"]=0, + ["param1"]=15, +}, +-- Table: {19} +{ + ["y"]=0, + ["x"]=3, + ["name"]="default:glass", + ["z"]=2, + ["meta"]={47}, + ["param2"]=0, + ["param1"]=13, +}, +-- Table: {20} +{ + ["y"]=0, + ["x"]=3, + ["name"]="mesecons_insulated:insulated_off", + ["z"]=3, + ["meta"]={48}, + ["param2"]=0, + ["param1"]=13, +}, +-- Table: {21} +{ + ["y"]=0, + ["x"]=3, + ["name"]="default:glass", + ["z"]=4, + ["meta"]={49}, + ["param2"]=0, + ["param1"]=13, +}, +-- Table: {22} +{ + ["y"]=1, + ["x"]=3, + ["name"]="default:cobble", + ["z"]=2, + ["meta"]={50}, + ["param2"]=0, + ["param1"]=0, +}, +-- Table: {23} +{ + ["y"]=1, + ["x"]=3, + ["name"]="mesecons_pistons:piston_sticky_off", + ["z"]=3, + ["meta"]={51}, + ["param2"]=0, + ["param1"]=0, +}, +-- Table: {24} +{ + ["y"]=1, + ["x"]=3, + ["name"]="mesecons_pistons:piston_sticky_off", + ["z"]=4, + ["meta"]={52}, + ["param2"]=0, + ["param1"]=0, +}, +-- Table: {25} +{ + ["y"]=0, + ["x"]=4, + ["name"]="default:glass", + ["z"]=0, + ["meta"]={53}, + ["param2"]=0, + ["param1"]=15, +}, +-- Table: {26} +{ + ["y"]=0, + ["x"]=4, + ["name"]="default:glass", + ["z"]=1, + ["meta"]={54}, + ["param2"]=0, + ["param1"]=15, +}, +-- Table: {27} +{ + ["y"]=0, + ["x"]=4, + ["name"]="default:glass", + ["z"]=2, + ["meta"]={55}, + ["param2"]=0, + ["param1"]=15, +}, +-- Table: {28} +{ + ["y"]=0, + ["x"]=4, + ["name"]="mesecons:wire_00100010_off", + ["z"]=3, + ["meta"]={56}, + ["param2"]=0, + ["param1"]=15, +}, +-- Table: {29} +{ + ["y"]=0, + ["x"]=4, + ["name"]="default:glass", + ["z"]=4, + ["meta"]={57}, + ["param2"]=0, + ["param1"]=15, +}, +-- Table: {30} +{ + ["inventory"]={58}, + ["fields"]={59}, +}, +-- Table: {31} +{ + ["inventory"]={60}, + ["fields"]={61}, +}, +-- Table: {32} +{ + ["inventory"]={62}, + ["fields"]={63}, +}, +-- Table: {33} +{ + ["inventory"]={64}, + ["fields"]={65}, +}, +-- Table: {34} +{ + ["inventory"]={66}, + ["fields"]={67}, +}, +-- Table: {35} +{ + ["inventory"]={68}, + ["fields"]={69}, +}, +-- Table: {36} +{ + ["inventory"]={70}, + ["fields"]={71}, +}, +-- Table: {37} +{ + ["inventory"]={72}, + ["fields"]={73}, +}, +-- Table: {38} +{ + ["inventory"]={74}, + ["fields"]={75}, +}, +-- Table: {39} +{ + ["inventory"]={76}, + ["fields"]={77}, +}, +-- Table: {40} +{ + ["inventory"]={78}, + ["fields"]={79}, +}, +-- Table: {41} +{ + ["inventory"]={80}, + ["fields"]={81}, +}, +-- Table: {42} +{ + ["inventory"]={82}, + ["fields"]={83}, +}, +-- Table: {43} +{ + ["inventory"]={84}, + ["fields"]={85}, +}, +-- Table: {44} +{ + ["inventory"]={86}, + ["fields"]={87}, +}, +-- Table: {45} +{ + ["inventory"]={88}, + ["fields"]={89}, +}, +-- Table: {46} +{ + ["inventory"]={90}, + ["fields"]={91}, +}, +-- Table: {47} +{ + ["inventory"]={92}, + ["fields"]={93}, +}, +-- Table: {48} +{ + ["inventory"]={94}, + ["fields"]={95}, +}, +-- Table: {49} +{ + ["inventory"]={96}, + ["fields"]={97}, +}, +-- Table: {50} +{ + ["inventory"]={98}, + ["fields"]={99}, +}, +-- Table: {51} +{ + ["inventory"]={100}, + ["fields"]={101}, +}, +-- Table: {52} +{ + ["inventory"]={102}, + ["fields"]={103}, +}, +-- Table: {53} +{ + ["inventory"]={104}, + ["fields"]={105}, +}, +-- Table: {54} +{ + ["inventory"]={106}, + ["fields"]={107}, +}, +-- Table: {55} +{ + ["inventory"]={108}, + ["fields"]={109}, +}, +-- Table: {56} +{ + ["inventory"]={110}, + ["fields"]={111}, +}, +-- Table: {57} +{ + ["inventory"]={112}, + ["fields"]={113}, +}, +-- Table: {58} +{ +}, +-- Table: {59} +{ +}, +-- Table: {60} +{ +}, +-- Table: {61} +{ +}, +-- Table: {62} +{ +}, +-- Table: {63} +{ +}, +-- Table: {64} +{ +}, +-- Table: {65} +{ +}, +-- Table: {66} +{ +}, +-- Table: {67} +{ +}, +-- Table: {68} +{ +}, +-- Table: {69} +{ +}, +-- Table: {70} +{ +}, +-- Table: {71} +{ +}, +-- Table: {72} +{ +}, +-- Table: {73} +{ +}, +-- Table: {74} +{ +}, +-- Table: {75} +{ +}, +-- Table: {76} +{ +}, +-- Table: {77} +{ +}, +-- Table: {78} +{ +}, +-- Table: {79} +{ +}, +-- Table: {80} +{ +}, +-- Table: {81} +{ +}, +-- Table: {82} +{ +}, +-- Table: {83} +{ +}, +-- Table: {84} +{ +}, +-- Table: {85} +{ + ["heat"]="-1", + ["code"]="if event.iid == \"pull1\" then\ + port.b = false\ + interrupt(0.2, \"push2\")\ +elseif event.iid == \"push2\" then\ + port.c = true\ + interrupt(0.2, \"pull2\")\ +elseif event.iid == \"pull2\" then\ + port.c = false\ +else\ + if pin.a then --extend\ + port.b = true\ + port.d = true\ + else --retract\ + port.d = false\ + interrupt(0.2, \"pull1\")\ + end\ +end", + ["lc_interrupts"]="return { \"pull1\", \"push2\", \"pull2\", \"pull1\", \"push2\", \"pull2\", \"pull1\", \"push2\", \"pull2\", \"pull1\", \"push2\", \"pull2\" }", + ["formspec"]="size[10,8]background[-0.2,-0.25;10.4,8.75;jeija_luac_background.png]textarea[0.2,0.6;10.2,5;code;;if event.iid == \"pull1\" then\ + port.b = false\ + interrupt(0.2, \"push2\")\ +elseif event.iid == \"push2\" then\ + port.c = true\ + interrupt(0.2, \"pull2\")\ +elseif event.iid == \"pull2\" then\ + port.c = false\ +else\ + if pin.a then --extend\ + port.b = true\ + port.d = true\ + else --retract\ + port.d = false\ + interrupt(0.2, \"pull1\")\ + end\ +end]image_button[3.75,6;2.5,1;jeija_luac_runbutton.png;program;]image_button_exit[9.72,-0.25;0.425,0.4;jeija_close_window.png;exit;]label[0.1,5;]", + ["lc_memory"]="return { }", +}, +-- Table: {86} +{ +}, +-- Table: {87} +{ +}, +-- Table: {88} +{ +}, +-- Table: {89} +{ +}, +-- Table: {90} +{ +}, +-- Table: {91} +{ +}, +-- Table: {92} +{ +}, +-- Table: {93} +{ +}, +-- Table: {94} +{ +}, +-- Table: {95} +{ +}, +-- Table: {96} +{ +}, +-- Table: {97} +{ +}, +-- Table: {98} +{ +}, +-- Table: {99} +{ +}, +-- Table: {100} +{ +}, +-- Table: {101} +{ +}, +-- Table: {102} +{ +}, +-- Table: {103} +{ +}, +-- Table: {104} +{ +}, +-- Table: {105} +{ +}, +-- Table: {106} +{ +}, +-- Table: {107} +{ +}, +-- Table: {108} +{ +}, +-- Table: {109} +{ +}, +-- Table: {110} +{ +}, +-- Table: {111} +{ +}, +-- Table: {112} +{ +}, +-- Table: {113} +{ +}, +} \ No newline at end of file diff --git a/projects/DoublePiston/index.html b/projects/DoublePiston/index.html index bdc564f..7e9f4f9 100644 --- a/projects/DoublePiston/index.html +++ b/projects/DoublePiston/index.html @@ -28,7 +28,7 @@

The double sticky piston driver is an important component of many circuits that need to push nodes farther than just one block.

Here's a quick picture of what we'll be making:

- Double sticky piston extend/retract animation + Double sticky piston extend/retract animation

What we have is two pistons, one in front of the other. Let's call them the front and back pistons.

When powered, it pushes a node forward by two blocks. When unpowered, it pulls a node backward by two blocks.

This is a pretty simple circuit, but there are a lot nuances to be aware of with regards to timing and ordering. For example, an extended piston cannot be pushed or pulled correctly since the stopper is out, and a sticky piston pulls when it receives an off signal, but not when it is dug.

@@ -50,12 +50,12 @@

Step 2: Layout

First, we need to set up the basic components. In other words, the pistons and the node we are pushing/pulling:

- Two pistons and a node + Two pistons and a node

On the left we have the rear piston, on the middle, the front piston. To the right we find the node itself. I used cobble as an example.

Step 3: Control

Now that the pistons are in place, there needs to be some way of converting the on/off signal into the sequences described in Step 1. There are a whole bunch of ways you can go about this, but I find that the easiest way is to simply use a Luacontroller and wire three of the four ports into their proper places:

- Luacontroller wired to two pistons + Luacontroller wired to two pistons

You'll notice that I connected the fourth, unused port to a switch. This will be our signal. When turned on, the circuit will perform the extension sequence. When turned off, the circuit will perform the retraction sequence.

At the moment the circuit can be made significantly smaller, but we will cover that later.

@@ -89,11 +89,18 @@ end

Step 5: Improvements

We're not done yet though. The circuit can still be made better. For example, we can remove the row of wires leading up to the pistons:

- Final design + Final design

Or maybe a version embedded in the ground to gave a low footprint:

- Low footprint design + Low footprint design

Here I've replaced a bit of the ground with glass to better view the circuitry.

The possiblities are endless. Play around with the concepts and see what you can come up with!

+ +

Downloads

+

All files are available under the same license as this article. The WEM schematics can be loaded using the //metaload command in WorldEdit.

+

Double sticky piston driver in WorldEdit-Meta format (WEM)

+

Low profile double sticky piston driver in WorldEdit-Meta format (WEM)

+



+ Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License. \ No newline at end of file diff --git a/projects/TicTacToe/index.html b/projects/TicTacToe/index.html index d2c80e4..d38108d 100644 --- a/projects/TicTacToe/index.html +++ b/projects/TicTacToe/index.html @@ -26,7 +26,7 @@ (5/10)

-

This article assumes you have the Digilines mod, which I generally consider a de facto part of Mesecons. It is still possible to complete it without this mod, but replacing its functionality with fancy wiring is an exercise left to the reader.

+

This article assumes you have the Digilines mod, which I generally consider a de facto part of Mesecons. It is still possible to complete it without this mod, but replacing its functionality with fancy wiring is an exercise left to the reader. Having WorldEdit is helpful as well.

Unless you've been living under a rock five hundred meters below the surface of Europa, you've probably heard of tic-tac-toe. Maybe. In any case, I won't be explaining how it's played; if you care to refresh your memory, here's a lovely Wikipedia article. Better? Better.

Tic-tac-toe machine

This article is a work-in-progress! Check out some of the other articles at the homepage!

@@ -89,6 +89,8 @@ elseif event.channel == "clear" then port.a, port.b, port.d = false, false, false end

The only thing changed from the original cell is that "set11" has been replaced by "set32" in the Luacontrollers, representing column 3, row 2.

+



+ Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License. \ No newline at end of file