Sangar 92 Posted March 27, 2015 Share Posted March 27, 2015 OpenComputers 1.5.4 is now available. I dub it "The Decoration Update". What's new? Glad you asked: 3D Printers! Also some bug fixes. But mainly 3D Printers!As always, remember to make a backup of your world before updating.Download on Curse.WhatThe 3D Printer is a new component that can be used to print custom "models" as blocks, to be placed in the world. This essentially allows you to print your own decorative blocks, with a few limitations. Most of the blocks in the image above are actually printed custom models. Here's what a printed block can be in the most basic form: A model consists of up to 24 shapes (which are axis aligned boxes). Each shape can have a different texture. When placed in the world, prints can be rotated on the Y axis (i.e. they'll face the direction you're looking towards when placing the print and can be rotated using a wrench). This already allows for a lot of freedom in creating custom decorative blocks, but that's not all! A model can have two states, an inactive and an active state. There must be at least one shape for the inactive state. The shape limit is per state, i.e. there can be 24 shapes for the inactive state and another 24 for the active state. States can be toggled by the user right-clicking the block. States can also be toggled by sending a redstone signal to a printed block. Alternatively, printed blocks may emit a redstone signal when in their active state. This means you can also print trapdoors, levers and buttons - of any shape!HowThe printer is a machine that needs two resources to print models: Chamelium, which is crafted using some gravel, redstone, charcoal and water. This is the base material, and the amount needed for printing a model depends on the model's volume. Ink, which is provided using ink cartridges. These can be refilled by crafting them with some dyes. The amount of ink required for printing a model depends on the model's surface area. Printers are components like any other, so you can talk to it manually, if you like. To make things a bit easier, however, I wrote a small program to control the printers. It can be installed using the package manager: `oppm install print3d` (after installing the package manager from the OPPM loot disk using `oppm install oppm`; if you already have it installed, I recommend running `oppm update oppm` first).This program accepts model files of a custom format. Here's a list of example models, as well as an example model file explaining the format of the model files. Run `print /path/to/model.3dm 10` to print the specified model 10 times, for example. Not passing a number will print a single block.What you'll also see in the example models, is that textures are referenced by name. To get the name of a texture you can use a new tool in OC, the Texture Picker. Right-click a block in the world with it to have its texture name printed to your chat.Also, here's a short video showcasing some of the functionality of the printers.Forge MultiPart SupportThe printed models are FMP compatible, i.e. as long as nothing collides you can cram multiple models into one block space, use them as cable covers or whatever else you need. Beware however that the overall number of shapes in a single block space still can never exceed the maximum number of shapes per state. So if you have, say, two models that use more than half of the maximum number of shapes in the same state, you will not be able to place them into the same block space. Models sharing a block space with other multi-parts still react to and emit redstone as usual. However, if changing state would lead to the model colliding with another part in the block, the state cannot be changed!Additional Info Chamelium can be made into Chamelium blocks, which can be crafted with dyes to change their color. They have a clean, uniform texture, which can be useful for models where you want a "clean" colored shape (using tint). Prints can be crafted with iron, gold, emerald or diamond blocks after which they will also work as beacon base blocks (doesn't work when they are multiparts, i.e. share a blockspace with other models/stuff). Link to post Share on other sites