<div dir="ltr">thanks for the reply.<br><div><div class="gmail_extra"><br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    I found a short write-up on the API.  It shows<br>
    <br>
    setBlocks(x1, y1, z1, x2, y2, z2, blockType, blockData) - set lots
    of blocks all at the same time by providing 2 sets of co-ordinates
    (x, y, z) and fill the gap between with a blockType<br>
    <br>
    If a similar function is available for get blocks, that would speed
    up your code hugely.  </div></blockquote><div><br></div><div>as far as i know, there is not.  <br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">Every single command sent over TCP has
    overhead associated with it, so attempting to read 128^3 times over
    a network is going to take a while.  </div></blockquote><div><br></div><div>that is kind of what i thought.  i wasn&#39;t sure if &quot;block buffering&quot; had anything to do with it, where i could package up a bunch of commands in a buffer to send at once... however, this doesn&#39;t really matter if the Minecraft API is reading them one by one and sending data back one at a time.  Am I understanding this correctly?<br>
</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div bgcolor="#FFFFFF" text="#000000"><br>
    <br>
    As for the data structure, lisp has multi-dimensional arrays:<br>
    <br>
<a href="http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/Body/fun_make-array.html" target="_blank">http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/Body/fun_make-array.html</a><br>
    <br>
    (make-array &#39;(128 128 128))<br>
    <br>
    with a variety of keywords to control how its created.  That website
    in general has everything on lisp.<br>
    <br></div></blockquote><div><br></div><div>thanks for that tip, i&#39;ll have to do some reading about arrays and how to process them.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
    For a modern computer, such data is in no way too large (~2 million
    * size of data...say 64 bits = 8 bytes so 16 MB total).  BUT sending
    2 million TCP commands is too many!</div></blockquote><div><br></div><div>glad my instinct was correct.  i knew there was some fatal flaw in what i was trying to attempt.  now, if i was using some free software clone of minecraft instead of the Pi Edition API....  i could likely create some kind of &quot;world.getBlocks&quot; command in order to pack a bunch of data into one command.<br>
<br></div><div>Again, thanks for the reply.  I&#39;m new to this list, but already am glad I came.<br><br></div><div>-grant <br></div><div></div><br></div><br></div></div></div>