<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't sure if "block buffering" 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'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 '(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'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 "world.getBlocks" command in order to pack a bunch of data into one command.<br>
<br></div><div>Again, thanks for the reply. I'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>