Bugs in 1.0 rc6
- max white value of Color Changing Wool is less than max white value of actual wool.
- data not saving on server shutdown (server savs it but client doesn't update right)
- can cause an error on a server by setting resolution too high (will have a configurable max resolution, defaults to 64)
Features:
- A Color Changing Wool Peripheral. This peripheral is a block of redstone and wool that will display little blocks inside it. Programmable. Resolution can be set arbitrarily high, but if you render something at resolution 64x64x64 or higher it'll lag a ton.
– incremental data is sent for incremental updates, about 17 bytes per pixel.A 64x64x64 block would send 4.25 mb of data ((64^3)*17 bytes) for a complete update. a single pixel update sends around 17 bytes, plus minecraft overhead.
– Recipe is shapeless, of one White Wool, Black Wool, Red Wool, Lime Wool, Blue Wool, Yellow Wool, Brown Wool, and Redstone.
- A Image Reading Turtle Peripheral. This allows you to read an image off of any URL, and have it's pixels returned as either RGB, or as the closest wool color. If the wool color is not close enough to your liking, use the Color Changing Wool peripheral instead of real wool.
– Recipe requires a Turtle and a Painting.
– Due to large build requiring lots of wool, which causes a refueling and resupplying problem, this peripheral alchemical converts fuel to and from basic unrefined blocks such as wool, cobblestone, and sand. (can be turned off in the config)
These two peripherals allows you to fill your turtle full of wool and fuel and create giant builds based on pixel art.
If you fill your turtle full of wool, in the standard wool order, this script will give you which slot to use for each pixel in the image:
imageApi = peripheral.wrap("right")
error = imageApi.setUrl(url)
if(error ~= nil) then
print("error loading url:" .. tostring(error))
end
--print("image = " .. imageApi.getWidth() .. "," .. imageApi.getHeight());
woolInventorySlots = {};
for y=1,imageApi.getHeight() do
woolInventorySlots[y] = {}
for x=1,imageApi.getWidth() do
woolInventorySlots[y][x] = imageApi.getWoolIdYX(x-1,y-1)
end
end
Here's videos of the three scripts I wrote, that make:
1) A picture
2) A statue based on a minecraft skin
3) A 3D statue based on a series of images.
#1 and #2, picture and statue (source picture attached below)
[media]http://www.youtube.com/watch?v=8HccmLNYxZY[/media]
#3 a 3d statue from a series of pictures
[media]http://youtu.be/-q5LcARRI30[/media]