Jump to content
  • Sky
  • Blueberry
  • Slate
  • Blackcurrant
  • Watermelon
  • Strawberry
  • Orange
  • Banana
  • Apple
  • Emerald
  • Chocolate
  • Charcoal

Krutoy242

Members
  • Content Count

    31
  • Joined

  • Last visited

  • Days Won

    15

Posts posted by Krutoy242

  1. Well, you was should to ask me directly.

     

    I had this problem of mass printing too, but then made temporary solution.

     

    I edited standard print3d.lua program and made it work with many printers printing many parts same time:

    https://github.com/Krutoy242/OpenComputers/blob/master/printAll.lua

     

    How to use

    1. Download it
      1. wget "https://raw.githubusercontent.com/Krutoy242/OpenComputers/master/printAll.lua" printAll.lua
    2. You must use file with table like my converter do - each part separated by commas. So, your example is fine.
       
    3. Set any count of printers, connect them and don't forget to fuel up.
      I connected three printers with hoppers to chest.

      nUKzatE.png
       
    4. Lunch program and give converted table as second param, just like always.
      Also, you can add counts of copies, like in original one.

      5vASRuQ.png
       
    5. Now, wait before all parts will be printed

      AeTlvmP.png

      y3a0bbE.png


    Hope this will be useful.
    Still, want to aware that this program is raw, have errors and problems.

  2. Is there a way to rotate the datacenter? I want to rotate it -90 degrees.

     

    I'm also wondering if there is some way to print it using a drone or robot. I play full survival and my friends, who built everything by hand, cannot appreciate it probably :-)

     

    I'm also wondering why this setup is capable of having 64 computers... Why 64? And what's the purpose of having 64? These are probably noob questions, because I just started with OC. I still don't really see the possibilities of OC in Minecraft except a little bit of automation.

     

    I glad you success!

    To rotate DC you should swap x and z coordinates of each "chunk". For example, change line 8 in printing program to this (not tested, maybe wrong):

    x1,x2,z1,z2 = z1,z2,x1,x2

    Robots will build up this huge construction about week. There hundreds of thousands of blocks!

    But you can write an "Anthill AI" that can manage 100-200 simple drones to build this in day or so.

    Still, there is a huge amount of resources. To earn 0.1 million of coal blocks you need to dig up 6 400 chunks, or 1300x1300 field of MC world. You must construct giant "world-eater" harvester =)

     

    When we use my DC, we occupied only about 20-30 of available points during 2 months of playing. There was several test computers, servers for providing Internet by wireless modem, stress tests computers, wireless points, linked card array servers, printing docks and many other things. So, 64 points for computers should fulfill all our programmer desires. Sadly, that from 50-100 of server players, only 5-10 was interested to programming.

     

    Before making DC i had tiny shed with 8 computers. When there was no more space i was thought "hmmmm, what if i slightly enlarge my shed...". That is how things started =)

    MMWMBC9.png

  3. I'm looking at this topic and it looks awesome!

    I want it! But I have no idea about where to start... I'm struggling with the following questions:

    1) How to use this MagicaVoxels?

    2) How to turn the vox file into something usable in MC? What does MC need as input?

    3) How is it build in MC?

    4) How do you get the materials in MC?

    5) What's the role of this debug card?

     

    I have some investigation todo, but this looks an awesome way to create a very cool structure!!!

    Thank you!

    Please read closely first message of this topic, it have all answers.

    1) See totorial here

    2) Turn it with this converter. MC will need text generated by converter

    3) With tier3 OC computer and debug card and this program.

    4) They come from nowhere

    5) Debug card give you access to admin commands for filling territory with blocks.

  4. This does not work for me either, i am using Safari and OS X Ei Captain i don't belive this would cause a problem seeing as you used JS but i know its important Info, your webpage loads so its not a 404 it just fails to load/display/convert the model its stuck with a blank screen? i can't figure out what i have done wrong, 

    Please show me model that you try to convert (upload to dropbox please).

  5. the colors are mapped almost wrong and the figures appear in Minecraft flipped on the X-axis

    Oh, im glad you succes and my program was useful.

    There is bug with standart palette in my converter. Simpliest way to avoid it - add custom color in standart MagicaVoxel's palette. This will force MV to rewrite whole palette in file, and it will work fine.

    Thx for flipping report, i will fix it when update my converter.

     

     

    Any chance you will create a new table of the complete area you have in your screenshots? it looks awesome and i just built it in SP but it's just the main building and a few ids are wrong. i'm writing a simple program to replace ids.

    Sorry, we already whipe out our world, and losed all buildings. But i still have source voxel files and converted tables.

    If you talkind about "the lab", there is vox and converted table.

     

    83KKShw.png

     

    Also, i would be very glad, if you will find a way to determine how monitors or other items should be rotated, or share your way to do this.

     

    I was think, that i can use different colors for each direction for rotateable blocks, and then, i can writedown right in converter angle.

    For example, something like 

    mc:id, 0, 2

    Where i write down id, meta, and world align. After, building program can fill this chunk of blicks, and then rotate each of them.

    But this is bad way, because you will spend too much time to manually write all directions.

  6. this is awesome and everything, but can you please make a better compression algorithm for using less parts, so we can print higher detailed models, thanks!

    Can you show example of model and result that required better algorithm?

    Sometimes, my algorithm define 1-3 more chunks then human can do. But in most cases it works 100% effectively.

  7. I playing on largest Russian whitelisted server, focused on OpenComputer mod. We required new house with computers and communications. It need to be spacious and in sci-fi style.

     

    First, i found inspirations on deviant art. There was hight-tetch laboratories, futuristic buildings and other stuff.

    Then, i decided make new building in black + blue and orange colors. I took MagicaVoxels and made this voxel model:

     

    XShyegL.png6GfTAFS.png

     

    After, i wrote small script on JS, that converts .vox models to Lua-friendly table.

    I used debug-card (while admin oversee me) and small program, that printed our data-center in right place.

    Construction process:

    datacenter_by_yanwiah-d8xse7m.gif

     

    Then i again take MagicaVoxel with my other converter, slightly modified print3d.lua for mass printing, and made tonns of 6 types iluminators, decorating our building.

     

    And. this what i got. There is place for 64 computers, private rooms for programmers and basement for sever system:

     

    oBG9vLw.pngi44xZv8.pngMGj3YZV.png

     

     

    Also, we build small lab for newbies, who want to live in Data-Center:

     

    ZdbcHBz.png

    hG7cmXz.png

     

     

    Working servers with network programs, like my own internet provider by wireless modem.

     

    M7FFYNL.png

    iPGbaKV.png

     

    Also, you can always see Data-Center right on online map.

     

    Welcome!

  8. New update, great! Verbose is nice, will enable when packing huge files.

    Sadly no new features, but improvments good too.

     

     

    @Krutoy242:

    I also noticed some users coming from computercraft.ru lately. I just wanted to confirm that I'm okay with that. You'd have to translate any feedback for me though. (bug reports or feature requests) 

    ;)

     

    Yes. As i said before, i promote you on our forum a bit. I made blog entry and leave link in my signature. There already ~150 views - not so much with thousands here, but still number.

    I still belive Crunch is very userful program for wrighting bios programs.

     

    Feedback:

    Feedback is poor.

    One guy say that this is "magic".

    Other guy noticed that he can use Crunch for obfuscation. I think, this is lame, but some paranoid guys only see how everybody wants to steal their code. Maybe, you should make option for this?

    Next, on blog entry comments, our famouse admin, who made spawn and world on coords 100500x140300, was upset that Crunch only "changing local names". But then, other good programmer corrected, that it also shortned often used global names.

     

    But anyway, i feel like im alone who using your program on our server, heh.


    I have suggestion. Do not know where i should write this - here or in tar topic.

     

    Idea was making self-extracting archives, or "installers".

    Tar making archives, but i need tar program itself for open it. I can just add crunched Tar uncompresser after a .tar archive for self-extracting it. But also, i still want to compress result qith LZ77 or other compress method for less size.

    So, for user it will looks simple - he downloading just 1 file, for example "crunch_installer.lua", and run it. This installer unpacking and put files in their places on computer, wrighting errors if needed.

  9. Excellent! It works fine and i done 4 iterations of crunching crunch. Also, problem with my gui-layout file is gone too.

     

    Now i had idea that i can even compress my serialized tables, when im using wireless modem or something like this. Honestly, this may be not use that you planned when wrote Crunch, but i still want to try =)

    I have a big file, that is representation of data-center for using debug card and be "printed" with setBlocks().

    First attempt to compress this 260kb file was failed cause run out of memory. Then i switched to server with four 3.5 memory cards.

    Every try now i got yielding error:

     

    9qfoKjY.png

  10. Oh, i waited for this update!

    You done awesome work, im very glad to have such tool.

     

    I made some tests to find any bugs or mistakes.

     

    1. First, i want to ask you to make shorten equivalent of parameters like you done in tar. For example, for making LZ77 archives, can i use just -z option?
      And, why you make output as parametr. Can you make it like all OpenOS program works?
      name [options] input [output]
      
      crunch -z skex.lua skex.crz.lua
      
      Otherwise im bit confusing writing output path in line before input path.
    2. I succesfully done multiple crunching crunch itself without --lz77 option. Not bug, just small note, that second iteration of crunching given same size file, but inside they are a bit different. I used this commands:
      crunch --output=crunch_01.lua crunch.lua
      crunch --output=crunch_02.lua crunch_01.lua
      crunch --output=crunch_03.lua crunch_02.lua
    3. When i lunch with --lz77 parameters, i get awesome result - 78% reduction, about 4 times less then original file.
      Good news that crunched crunch.lua was works fine.
      Bad news that second iteration was crushed:
      C2U3CTt.png

      Also, same error i get even without --lz77 option in this file. Seems like there is some problem with multiline strings, because i can even remove or add 1 line and it will work fine, even if line will be after all source code (after ]]).
       
    4. I tryed to draw some multyline text with unicode and Russian letters. I crunched same file (from above) but with additional line after source, and get unexpected symbol inside text. You can see it in the end of second lunch.

    Thats it for now!

    Hope my tests will help.

  11. Thank you for using this extractor for your projects!

    Im used it for crunch and was very glad how simple this works. Much more userful then downloading many files from github.

    Maybe i will use this for my own public projects, promoting your program. Dont forget to add links in source files to your pages (including e-mail and forum page) for feedback and bugreports.

     

     

    Also, i found that if i just call tar without parameters if throw white error with stack traceback. I thought programs should just show help when called without parameters.

     

    OGVG812.png

  12. Sorry for my English, im just Russian.

     

    http://codepen.io/Krutoy242/full/xGOgJG/

     

    This converter allows you to open .vox files from awesome MagicaVoxel program and convert them to format for print3d program.

     

    eVezYHA.png

     

     

    Usage

    1. Download and open MagicaVoxel. Make model of your dreams. Save it.
      HUXf12yl.png
       
    2. Open file in my converter written on JavaScript, and it will instantly generate chunks from model and show result, ready to copy-past in OC file for printing.

    Converter have options:

    • Split to states will split your model in two by X coordinate (to right), if it will be more then 16 voxels length, and will make second state from this model. Use this to make two-stated prints, like buttons of trapdoors.
    • Label, tooltip, redstone, button mode and light level just add this fields to model.
    • You can determine textures and tint colors in table for each color, used in MagicaVoxel.

    Program slightly optimized, but sometime human brain can make model with 2-3 less chunks.

    Result in minecraft:

    uxEEG70.png

     


    Please, write here if you want some additional features or if you found bugs.

  13. as far as I'm aware there are three ways to do that sort of compression, each with its own upside/downsides

     

    return load((source):gsub("\0","function"))()
    --good if you're only have one key word
    
    return load((source):gsub("\0(.)",{a="function",b="local",c="table",d="string"}))()
    --good general solution for multiple key words, relatively easy to read the shortened version of
    
    return load((source):gsub("\0(.)",function(a)return({"function","local","table","string"})[a:byte()]end))()
    --grows slower than the table version as you add words, but requires more space in the beginning
    --probably require more RAM than the table version
    --should only use over the table version if you have more than 8 key words
    where (source) is a string representation of the source code

    I use \0 because you're almost guaranteed never to run in to it, but code that generates these should probably search for an unused character (preferably a printable one)

    also, I'd like to note from my attempt at implementing this: the only characters that need escaping are the things that close your strings (double quote (") or single quote (')), newline, carriage return, and backslash. You could also try backslash to not have to worry about escaping the carriage return

     

     

    I like it. But, idea is not just swap keywords. We can find any other "words" - repeated sequences of characters, that we can swap with 2-bited control symbols. So, we can make self-unpacking load() string, using this "dictionary".

    With multipass or others methods, we can reach 50-70% packing and use 12kb files for EEPROMs.

     

    Simpliest example - we can swap two words local function in one keysymbol instead two of them separately.

     

    I wish this "Self-extracting LUA archive" be in Crunch as option. Waiting answer from mpmxyz.

  14. #1-2: Ok, i will install 5.2 on my computer then. 

    #4: Thx for fix, will try again later. Will be glad to help you find more bugs =)

     

    Also, about all compressing topics, what you think about self-extracting archives?

    For example, we can paste in EEPROM string + dictionary, that will substring letters into words and then will be loaded? It will be cost some more RAM memory and processing time, but higher compress rate.

    I noticed that after using Crunch, 20-40% of information is keywords. We can reduce all keywords to one character.

    Simple example:

    load([[λ∫p(s)print(s)Ελ∫w(s)io.write(s)Ε  (.. and more lua code..) ]]:gsub("∫","function"):gsub("λ"," local "):gsub("Ε"," end "))
    

    What do you think about this?

  15. Very interesting and userful program! I want to be your faithful user  ;)

     

    But, from first day of using, i get some errors.

     

    First, i was unable to compress from my Windows command line. I downlod Crunch from github and unpack it to folder. For visibility, i move folders from /lib and /bin to root. After i tryed to compress this file, program finished without errors, but size of file was 0.

     

    When i repeat with skex.lua, i got this:

     

    C:\>crunch.lua skex.lua
    C:\Program Files\Lua\5.1\lua.exe: C:\crunch.lua:510: .\parser\main.lua:1161: Syn
    tax error: got name 'endendfunction', expected one of: 'until' 'end' ';' 'else'
    'eof' 'elseif'
    stack traceback:
            [C]: in function 'error'
            .\parser\main.lua:1161: in function <.\parser\main.lua:1138>
            (tail call): ?
            .\parser\lua.lua:74: in function 'lastAction'
            .\parser\main.lua:168: in function <.\parser\main.lua:164>
            [C]: in function 'xpcall'
            .\parser\main.lua:202: in function 'lexer'
            .\parser\main.lua:1178: in function 'parse'
            C:\crunch.lua:508: in function 'analyze'
            C:\crunch.lua:826: in main chunk
            [C]: ?
    stack traceback:
            [C]: in function 'error'
            C:\crunch.lua:510: in function 'analyze'
            C:\crunch.lua:826: in main chunk
            [C]: ?

    Maybe problem with Lua version 5.1, if you use new 5.2 methods?

     

     

    After this, i was going to Minecraft and succesfully compress skex.lua. I started compressing random files from my and others projects

     

    This file compressed succesfully, and don't losed functionality. Compressed file was about 75% of source, but i dont understand why from line 6 Crunch starting to unnecessary repeat keyword local.

     

    When i tryed to compress this file, i got error:

    6b7g6cis.png

     

    Can you help me to understand why i got this errors?

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.