Skip to content
Matthew W edited this page May 8, 2024 · 9 revisions

Setup

Turmitor requires a fair amount of setup, and a lot of concrete (or other blocks). Follow the steps below to get Turmitor running on your world!

Note

This may not be fully up-to-date, as Turmitor is still in development. If you have any issues or notice anything missing, please let me know via an issue on the GitHub repository.

Step 1: Decide how large you want your Turmitor to be

Turmitor can be fairly large, with a maximum CC terminal width of 51 (height is technically unbounded, but should be kept below 80 to avoid issues with overlapping communication channels). Each character is 6x9 pixels, so keep that in mind when deciding how large you want your Turmitor to be.

For an example, let's say we want to build a Turmitor that is a small 3x3 characters. In total, this would be 18x27 (486) pixels. For each pixel, you will need the following:

  1. A Turtle (with a pickaxe!)
  2. A Wired Modem (in full block form)
  3. One of each 16 different types of blocks (defaults to the 16 colors of concrete)

Thus, in order to build a 3x3 Turmitor, you will need 486 of each of the above items. In total, if we are counting from base resources, you would need:

  1. 1094 logs (2 logs per turtle + 0.25 logs per pickaxe)
  2. 3402 Iron Ingots (7 ingots per turtle)
  3. 1458 Diamonds (3 diamonds per pickaxe)
  4. 7290 Stone (7 stone per basic computer + 8 stone per modem)
  5. 186 Blocks of Glass (1 glass pane per basic computer -> 486 panes required, 16 panes per 6 blocks of glass)
  6. 972 Redstone (1 redstone per basic computer, 1 redstone per modem)
  7. 3904 Sand (4 sand per 8 concrete)
  8. 3904 Gravel (4 gravel per 8 concrete)
  9. 976 Dye (1 dye per 8 concrete, split equally into 16 colors)

Because of the high cost of building a Turmitor, it is highly recommended to plan how large you want it to be before actually committing.

Caution

The larger you build your Turmitor, the more it will lag. Unless you have express permission, please avoid building large Turmitor arrays on public servers.

Step 2: Building the Turmitor

Building the Turmitor is fairly forgiving. There are a few requirements, but overall it is fairly simple. The Turmitor must be built in a 2D plane, on any axis.

"Horizontal" Turmitors

Jump to Vertical Turmitors

Horizontal Turmitors are Turmitors that are built on the XZ plane. These are mainly meant for map-art, as they can be easily viewed from above.

1. Place the modems

Place your array of modems flat in a rectangle. Pretty self explanatory.

Placement Example

Modem Placement

2. Place the turtles

Directly on top of each modem, place a turtle. The turtle's facing does not matter, they will sort themselves out. Do not worry about putting concrete into the turtles manually, as that will be completed by the turtles themselves (unless you really want to pre-fill them, or use the command method mentioned).

Placement Example

Turtle Placement

Tip

To place a turtle with a pickaxe using a command (i.e: /fill or /setblock), you can use the following as the block:

computercraft:turtle_advanced{RightUpgrade:"minecraft:diamond_pickaxe"}

And if you want to place a turtle with a pickaxe and all concrete pre-filled, you can use the following:

computercraft:turtle_advanced{Items: [{Slot: 0b, id: "minecraft:white_concrete", Count: 1b}, {Slot: 1b, id: "minecraft:light_gray_concrete", Count: 1b}, {Slot: 2b, id: "minecraft:gray_concrete", Count: 1b}, {Slot: 3b, id: "minecraft:black_concrete", Count: 1b}, {Slot: 4b, id: "minecraft:brown_concrete", Count: 1b}, {Slot: 5b, id: "minecraft:red_concrete", Count: 1b}, {Slot: 6b, id: "minecraft:orange_concrete", Count: 1b}, {Slot: 7b, id: "minecraft:yellow_concrete", Count: 1b}, {Slot: 8b, id: "minecraft:lime_concrete", Count: 1b}, {Slot: 9b, id: "minecraft:green_concrete", Count: 1b}, {Slot: 10b, id: "minecraft:cyan_concrete", Count: 1b}, {Slot: 11b, id: "minecraft:light_blue_concrete", Count: 1b}, {Slot: 12b, id: "minecraft:blue_concrete", Count: 1b}, {Slot: 13b, id: "minecraft:purple_concrete", Count: 1b}, {Slot: 14b, id: "minecraft:magenta_concrete", Count: 1b}, {Slot: 15b, id: "minecraft:pink_concrete", Count: 1b}], RightUpgrade: "minecraft:diamond_pickaxe"}

Do note that the above item name is extremely long, so will not fit in your chat window, you will need a command block or computer to run it.

3. Toggle the modems

Right-click each modem so it states "turtle_x connected to network". The order you do this does not matter, just make sure to get them all!

Toggled Modems

Modem Toggle

4. Which way is up?

The turtles do not know what direction they are facing, so determine where the "top" of your Turmitor should be, and place polished andesite beside those turtles to indicate this. Place polished diorite beside the "left" turtles. With the andesite and diorite, the turtles will be able to orient themselves. Once the setup is complete, these blocks can be removed, though they will need to be replaced if you wish to resize the Turmitor.

Polished Andesite placed along the "top" and Polished Diorite along the "left"

Top Indicator

5. Connect the controller

Wherever you want the controller to be, place some wires running to it. Connect a disk drive (with a disk), and a computer to act as the controller.

Controller Setup

Controller Setup

Important

Make sure you remember to toggle the modem on the disk drive as well! Otherwise the turtles will not see the disk drive, and will not attempt to boot from it.

6. Install the software on the disk

wget run https://raw.githubusercontent.com/Fatboychummy-CC/Turmitor/main/installer.lua disk

7. Edit the disk's startup script

By default, the startup script will run in vertical mode. To change this, uncomment the following line in disk/startup.lua:

-- turmitor_client.array_style = "horizontal"

8. Run the setup

Run the setup program on the controller computer (initialize.lua), and follow the prompts. This will set up the Turmitor and get it ready to display messages.

You will need to double-check your array at the end of the setup to ensure that the turtles have organized themselves correctly, as sometimes (depending on the server load or other factors) the turtles may not detect each other correctly. What you'll be looking for is turtles that are not numbered sequentially, or if the "bottom-right"-most turtle is not numbered as the size of the Turmitor (i.e: if you have an array of 6x9 turtles, the bottom right turtle should be labelled 6,4)

In the event that there is an issue, you can just re-run the setup with the -r flag, and it will reset the turtles before re-running the setup.

"Vertical" Turmitors

Jump to Horizontal Turmitors

Vertical Turmitors are Turmitors that are built on the XY (or ZY) plane. Put simply, they go up. These are meant for wall displays and whatever else.

1. Place the modems

Place your array of modems in a vertical plane. Pretty self explanatory.

Placement Example

Modem Placement

2. Place the turtles

Directly in front of each modem, place a turtle. The turtle's facing does not matter, they will sort themselves out. Do not worry about putting concrete into the turtles manually, as that will be completed by the turtles themselves (unless you really want to pre-fill them, or use the command method mentioned).

Placement Example

Turtle Placement

Tip

To place a turtle with a pickaxe using a command (i.e: /fill or /setblock), you can use the following as the block:

computercraft:turtle_advanced{RightUpgrade:"minecraft:diamond_pickaxe"}

And if you want to place a turtle with a pickaxe and all concrete pre-filled, you can use the following:

computercraft:turtle_advanced{Items: [{Slot: 0b, id: "minecraft:white_concrete", Count: 1b}, {Slot: 1b, id: "minecraft:light_gray_concrete", Count: 1b}, {Slot: 2b, id: "minecraft:gray_concrete", Count: 1b}, {Slot: 3b, id: "minecraft:black_concrete", Count: 1b}, {Slot: 4b, id: "minecraft:brown_concrete", Count: 1b}, {Slot: 5b, id: "minecraft:red_concrete", Count: 1b}, {Slot: 6b, id: "minecraft:orange_concrete", Count: 1b}, {Slot: 7b, id: "minecraft:yellow_concrete", Count: 1b}, {Slot: 8b, id: "minecraft:lime_concrete", Count: 1b}, {Slot: 9b, id: "minecraft:green_concrete", Count: 1b}, {Slot: 10b, id: "minecraft:cyan_concrete", Count: 1b}, {Slot: 11b, id: "minecraft:light_blue_concrete", Count: 1b}, {Slot: 12b, id: "minecraft:blue_concrete", Count: 1b}, {Slot: 13b, id: "minecraft:purple_concrete", Count: 1b}, {Slot: 14b, id: "minecraft:magenta_concrete", Count: 1b}, {Slot: 15b, id: "minecraft:pink_concrete", Count: 1b}], RightUpgrade: "minecraft:diamond_pickaxe"}

Do note that the above item name is extremely long, so will not fit in your chat window, you will need a command block or computer to run it.

3. Toggle the modems

Right-click each modem so it states "turtle_x connected to network". The order you do this does not matter, just make sure to get them all!

Toggled Modems

Modem Toggle

4. Connect the controller

Wherever you want the controller to be, place some wires running to it. Connect a disk drive (with a disk), and a computer to act as the controller.

Controller Setup

Controller Setup

5. Chests

Note

This step can be skipped if you pre-filled the turtles with concrete.

Connect one or more chests to your wired network, and in them place all of your concrete.

Chest Setup

Chest Setup

6. Run the setup

Run the setup program on the controller computer (initialize.lua), and follow the prompts. This will set up the Turmitor and get it ready to display messages.

You will need to double-check your array at the end of the setup to ensure that the turtles have organized themselves correctly, as sometimes (depending on the server load or other factors) the turtles may not detect each other correctly. What you'll be looking for is turtles that are not numbered sequentially, or if the "bottom-right"-most turtle is not numbered as the size of the Turmitor (i.e: if you have an array of 6x9 turtles, the bottom right turtle should be labelled 6,4)

In the event that there is an issue, you can just re-run the setup with the -r flag, and it will reset the turtles before re-running the setup.

The turtles will turn to face the correct direction, then fill up with concrete (if they don't already have it), before finally placing black concrete in front of themselves.

When prompted, wait until all turtles have placed this black concrete block to continue.

Setup Running

Setup Running

Step 3: Running Turmitor

Turmitor isn't actually quite a program, per se. The main controller is a library, on which you can build things. However, the library can be term.redirected to, so you can very easily run your own programs on the Turmitor.

For a really basic example of this, see below:

-- Import the server library
local turmitor = require("turmitor_server")

-- Grab the redirect object.
local redirect = turmitor.get_terminal_interface()

-- Redirect the terminal to the Turmitor
local old_term = term.redirect(redirect)

-- Enable automatic updating (so we don't need to manually call redirect.flush())
redirect.auto_update()

-- Run the program
shell.run("my_program")

-- Redirect the terminal back once the program has finished
term.redirect(old_term)
Clone this wiki locally