Start converting to ndarray. Note: doesn't work yet (textures/materials broken)
Add ndarray dependency
voxel-engine opts materials is an ndarray
Disable voxel-virus for now, depends on this.game.materials
Merge branch 'master' into ndarray

Conflicts:
	package.json
Disable daylight, highlight, and voila due to three.js dependency
Merge branch 'master' into ndarray

Conflicts:
	package.json
Disable voxel-reach and dependants, require interact
Re-enable voxel-reach + Update kb-bindings-ui, voxel-artpacks, voxel-bucket, voxel-clientmc, voxel-engine, voxel-fluid, voxel-land, voxel-plugins-ui, voxel-pumpkin, voxel-reach, voxel-registry, voxel-skyhook, voxel-use

deathcap/kb-bindings-ui@474ee2b0d3de40795927af3ea4008a271289bd29 0.3.1
deathcap/kb-bindings-ui@c1be32fcc3a87f8c8977d42c7ffb96eaaa0e4aed Fix runtime browserify Error: Cannot find module 'dat-gui'
deathcap/voxel-artpacks@1a4437b980f973bea6b2584680784360b64bf991 0.1.2
deathcap/voxel-artpacks@917ad83ec25de857fb4c477a4e7a849da0113368 Add missing voxel-stitch soft dependency
deathcap/voxel-bucket@973b6091efa6ceb82a873d9f69091fbc51aede29 getBlockID -> getBlockIndex
deathcap/voxel-clientmc@8f141aca4d9b710e4a82f27dbdfad443b1ddad4f getBlockID -> getBlockIndex
deathcap/voxel-fluid@ab12b4d8f96a8dd72e65d451d65b17610195d39a Add transparent property
deathcap/voxel-land@14a48c4b71cdf881adc5ba67ec63c2d996f053a7 Pass all materials to web worker, add opaque bit if non-transparent
deathcap/voxel-land@85aa2b3a7ee919b43a60c8ef1723b6625dde9ef6 getBlockID -> getBlockIndex
deathcap/voxel-land@2120b5a9bc463c5c0b75f098ce13fcc0804cb5a8 Rename main file to land.js
deathcap/voxel-plugins-ui@be539f9e24c25f78abcdfe5e665821f395553f77 0.2.1
deathcap/voxel-plugins-ui@b00ca508bd4211574a59b646a02d1ef458142be5 Fix runtime browserify Error: Cannot find module 'dat-gui'
deathcap/voxel-plugins-ui@92dec7c77291a06fabc27bd4f7d1129984c66d13 Rename main file to plugins-ui.js
deathcap/voxel-pumpkin@8581bc0daddfec05dab8c17d676605a97b199c12 0.1.2
deathcap/voxel-pumpkin@2b3f1fac1dd6d13fc5e1353041fd622f637cef8d Specify textures with explicit names instead of 6-element array
deathcap/voxel-pumpkin@700e4158ab17e667863a74cf08f3b24de1b45242 Rename main file to pumpkin.js
deathcap/voxel-reach@6f4fd4e21c39c18b0b40cd27f7fa48887e0e3d99 0.2.1
deathcap/voxel-reach@5d5ed1d48ee9d343332038992891d87a4d95369f Check for game-shell before interact
deathcap/voxel-registry@9dbd5c89c5437b57eaa003e1ace3f0c3f1685b16 0.4.0
deathcap/voxel-registry@3b375d56106f0761cad69ebebac01b9c0ec92f5d Remove deprecated getBlockID in favor of getBlockIndex
deathcap/voxel-skyhook@479dfb7e13e7f3c0e0d29d0c8e0064dc8de312b6 Add transparent:true property
deathcap/voxel-skyhook@d0352194303476df039660bc713ac243d0c72e80 Rename main file to skyhook.js
deathcap/voxel-skyhook@d2b835ae9e787634ab22fd690d1ee2e7b7aec512 getBlockID -> getBlockIndex
deathcap/voxel-use@a97725a5ddf2700e218760461e879c6eacddd6ca 0.1.1
deathcap/voxel-use@3d15c6303b269799eaa3de10c0cdbc0125ebb65a getBlockID -> getBlockIndex

Commit message generated by https://github.com/deathcap/lmno-cl
Update kb-bindings-ui, voxel-gamemode, voxel-keys - fix keybindings

deathcap/kb-bindings-ui@a27e709a71db7485157ffa56c518f24d809d2867 Update bindings when game-shell bind/unbind called
deathcap/voxel-gamemode@9a393ca2fefc81d031995c09ea156c5d7f96d982 0.2.0
deathcap/voxel-gamemode@ac7792bca2172898f560b1446bc63c9837129524 Register '"'"'inventory'"'"' key default (E)
deathcap/voxel-keys@d0c466dbbff3590f955893ad2c92fd3c276b39c6 0.4.0
deathcap/voxel-keys@81c95f1b98957f3a009d4246e0cd8ce7a4a9009f Add registerKey(), specify a default keybinding for game-shell
deathcap/voxel-keys@aee4e340ccc0d4990067e18964aaa99a822be464 Only remove interact listeners if listener exists and not game-shell

Commit message generated by https://github.com/deathcap/lmno-cl'
Re-enable voxel-mine, voxel-harvest without an overlay for now - Update voxel-engine, voxel-mine

deathcap/voxel-engine@104ef59f709c5d070d87ef146736aee6a8f82403 Update to voxel-stitch ^0.7.1, fixes item textures with voxel-registry
deathcap/voxel-mine@1f8c73d0f2fcb9797c3bc3335ee2f15497946997 Add disableOverlay option, and auto-disable with game-shell. Closes deathcap/voxel-mine#3

Commit message generated by https://github.com/deathcap/lmno-cl
Add options for built-in plugins (integrated into voxel-engine#ndarray)
Increase default field of view
Add camera-debug plugin, adjustable FOV etc.

+ Update voxel-engine
deathcap/voxel-engine@348bdafd3bbdb485d74968a8bc63a614aa627450 Update to voxel-shader ^0.11.0, includes camera options
Add voxel-wireframe and voxel-chunkborder plugins
Update to browserify 4

Fixes 404 Not Found node-zlib.js.map
(replaces zlib-browsersify with browserify-zlib)
Enable browserify source maps (debug mode)
Update to coffeeify 0.6.0
Debuggability improvements - Update kb-bindings-ui, voxel-blockdata, voxel-bucket, voxel-carry, voxel-chest, voxel-chunkborder, voxel-clientmc, voxel-commands, voxel-console, voxel-daylight, voxel-decorative, voxel-drop, voxel-engine, voxel-fluid, voxel-furnace, voxel-gamemode, voxel-harvest, voxel-health-bar, voxel-health-fall, voxel-inventory-crafting, voxel-inventory-creative, voxel-inventory-hotbar, voxel-land, voxel-mine, voxel-pickaxe, voxel-quarry, voxel-recipes, voxel-sfx, voxel-skyhook, voxel-start, voxel-use, voxel-voila, voxel-webview, voxel-wool, voxel-workbench, voxel-zen

deathcap/kb-bindings-ui@4611bf3ed0000094b77758d839fb059e73f87ec8 0.3.2
deathcap/kb-bindings-ui@8003e552e0834e5d542cd195bb2b7ba6b145e1ed Fix mouse bindings, use same filtered_vkey algorithm from game-shell (whitespace to '-')
deathcap/voxel-blockdata@1cefa9bb44b64974aec8c9be7b50f2a0d7dc1d56 Rename main file to blockdata.js
deathcap/voxel-bucket@b5f9e750c80732b93d86327559433f6e68d36564 Add browserify transform, rename main file to bucket.coffee
deathcap/voxel-carry@a464d4dd24641e938665ecedf5d283e6740f7567 Rename main file to carry.js, update keywords and deps
deathcap/voxel-carry@4021329243251dde4b6f134b2c0c635a8bcc71f9 0.1.1
deathcap/voxel-chest@02f5d321377ca9a3218f02a10f4eaa2c6c509314 Add browserify transform, keywords, rename main file to chest.coffee
deathcap/voxel-chunkborder@a0837214a302ee40ca113ff23f146284c6c372ec 0.3.0
deathcap/voxel-chunkborder@bd922a067de6bfbda1c3923168c6f89d30768128 Add translation for chunk padding 4, voxel-mesher ^0.11.0
deathcap/voxel-chunkborder@7e17f516baf9fbcc66a666fffae366a6fbae396e Size borders from game.chunkSize directly instead of voxel array minus padding
deathcap/voxel-clientmc@c020c980a0df5914b15ff5bda7273b2a13f9d0f7 Show chunks directly, now that 16x consistent network->client (but still have to transpose XZY)
deathcap/voxel-clientmc@45df38ac53c40cb7b69384a11d4654ebbbf3127b Move chunk key calculation out of loop, now always the same (16x)
deathcap/voxel-clientmc@b4c6e0a5000c03bef03fa4ed7c146723890df874 Revert "Move onDecompressed to web worker"
deathcap/voxel-clientmc@90a4b4fab02787ebf280405c9faa80f34c89d324 Change chunkSize to 16
deathcap/voxel-clientmc@3dda63f5e68bcb8fb8c91d3f6ab9382bc342b383 Add placeholders for all missing blocks
deathcap/voxel-clientmc@bb239b2ceb1469e3144a388d2763ab91acc2fefe Add most opaque solid blocks
deathcap/voxel-clientmc@8204375ab4570f20bcb322f8fc9baf245535dbe5 Update to voxel-texture-shader ^0.3.1, show texture load URL error
deathcap/voxel-clientmc@93d722747754766b6519c5ea9b6a34eb5675d018 Add missing block block
deathcap/voxel-clientmc@ad5039bd504ef303e9054857e2edb17d7740fd3a Add some more blocks
deathcap/voxel-clientmc@223bc165de105b6ebd9cba75ce2a8f421533f7ab Remove voxel-land dependency, move to blocks.js
deathcap/voxel-clientmc@f3375bc19f2cbaf02635139cccf3ac2bdf29b4d9 Move onDecompressed to web worker
deathcap/voxel-clientmc@15d081a15e9c8a93fa74def2c228ecc711fe0144 Rename main file to clientmc.js
deathcap/voxel-clientmc@bd1e314b20e71bf10cb11dad2dd0a157034bcf2e Convert to JavaScript
deathcap/voxel-clientmc@55ecdc5d68bfd9bb2e2f23d187d66d025bd55b4e Convert web worker to JavaScript
deathcap/voxel-clientmc@b908dbfeaffcaa4f1c3286af1aac4121ff5c4200 Remove debugger no-op in worker
deathcap/voxel-clientmc@61fae3e0b97e9e1f7d1377344d25098e22f48bcb voxel-plugins is not optional
deathcap/voxel-clientmc@1ee7e22cbfc2572744a654ce3614c5dcf3348e78 Use document location hostname for default WebSocket URL
deathcap/voxel-clientmc@b5f3424aaa64a3b94ec2b06acdea7b336d9e04ed Show logging in voxel-console
deathcap/voxel-clientmc@dd8739a0f886747d2f6e9ccc9cd07fb2004c1333 Enable voxel-clientmc by default
deathcap/voxel-clientmc@38b8d1c610d1265c37ce7d1e2e9400776c5e1faf Add voxel engine demo instance
deathcap/voxel-clientmc@65b0ab420f27f8362d1763ef75e198b6bb8f132f Update for new chat message packet name
deathcap/voxel-clientmc@cc8fa52c88e9b5debefc7bb67786455217e33bab Add ndarray chunk format support
deathcap/voxel-clientmc@4026f0b533b752f1a783a44b020256e076f4fbd5 Change to use built-in browserify 4 zlib (browserify-zlib)
deathcap/voxel-clientmc@e8c3d9760e433c50b798f62a90e543489fc10cfa Update for new packet names in node-minecraft-protocol >0.12.1
deathcap/voxel-clientmc@2d967d828056463600b5b45abf4eaf336b26aa88 Update for API changes after minecraft-protocol 0.12.1
deathcap/voxel-commands@871b90334b3596cff36f3c6c562cc23eb9044b24 Add browserify transform, rename main file to commands.coffee
deathcap/voxel-commands@9a1cd28cb235ab05702a14124c2fac362ed8c602 0.2.0
deathcap/voxel-commands@ecd9cfce3987001e62827046d71ebff2afdb45f9 Parse JSON for .item tags
deathcap/voxel-console@ff4366d16caefd2a52a21291c7afc98411800d1d Add browserify transform, keywords, rename main to console.coffee
deathcap/voxel-daylight@03637fc3bac579dc7feadf0130ff6fe879e783fe Add browserify transform, rename main file
deathcap/voxel-daylight@c0bd1a39e4fe111eb36063ec6e72de0d0bf02139 0.1.1
deathcap/voxel-decorative@c9476268358819442ac4a7ad547e9f608bb5c1ff Rename main file to decorative.js
deathcap/voxel-decorative@0c8c132cf07366fe57f010f2cea4ed1c23801c72 0.1.0
deathcap/voxel-drop@cf364221448f1303f455e9f708b6bdc115e766af Add browserify transform, rename main file
deathcap/voxel-engine@216be651f223ff896067239e2907dbb0361112c9 Add chunkPad option, update to voxel-mesher ^0.11.0
deathcap/voxel-fluid@67e59f53efa362a019f56cec7f4da63cdd567249 Rename main file to fluid.js
deathcap/voxel-furnace@cfb0b3c400c31ff00bf0b4833cb79a833734a964 Add browserify transform, keywords, rename main file
deathcap/voxel-furnace@5aa0f541e0df76fc6bc56239e0ff40076ce353b0 0.1.0
deathcap/voxel-gamemode@47569efaf4ebf76b7ec512c92f5f8af7232b83a2 Add browserify transform, rename main file
deathcap/voxel-harvest@b8504237a67acf9c8d0845fd70189253555599bd Add browserify transform, rename main file
deathcap/voxel-health-bar@c42fa42b685e67d6f08eb4e0e88a668b681dd531 Rename main file to health-bar.js
deathcap/voxel-health-fall@75f719d438e869f7dea38567cecd9620185d75ac Rename main file to health-fall.js
deathcap/voxel-health-fall@02868da54512968fdb2e5637b539727138b9a0f1 0.1.0
deathcap/voxel-inventory-crafting@1eb0188bce99bbdf617e75b5a6e963c258a420b1 Add browserify transform, rename main file
deathcap/voxel-inventory-creative@6e3d02f65cbe51872c702732432e2a20c9472b0c Add browserify transform, rename main file
deathcap/voxel-inventory-creative@5a4d10129b72226d9faeb6d52ee3b19c1fff5268 0.1.0
deathcap/voxel-inventory-hotbar@5c291a7410962776ae9ba085a22db6f1d305af9a Add browserify transform, keywords, rename main file to hotbar.coffee
deathcap/voxel-inventory-hotbar@0cfd94ea2515b51ce117c4f2fc2834f71e778dcd 0.4.0
deathcap/voxel-inventory-hotbar@06efec8dd90b5fe0a5475c46b78737ac785f88a3 Add game-shell compatibility
deathcap/voxel-land@acf1f4bd6aefcff78eb4154a7d6f6806720c65a9 Add double padding to fix missing faces on borders. Closes deathcap/voxel-land#13
deathcap/voxel-land@fc2ebb641e2e6fcafba837c87b61258b3f764b34 Revert "Try padding chunk boundaries with air, ref deathcap/voxel-land#13"
deathcap/voxel-land@3ce6bb659be2b1ee6a3d7791848dba93f940981c Try padding chunk boundaries with air, ref deathcap/voxel-land#13
deathcap/voxel-land@86bd92279b118acb60606cc81a0a279b6a7767c0 Consistently reference chunkSize from opts, instead of game
deathcap/voxel-mine@d62d7c5f810b217bda051d3e25539807d771d1c8 Add browserify transform, rename main
deathcap/voxel-mine@95f90eec90a4a569797ad05613e7ae4e5e493953 0.3.0
deathcap/voxel-pickaxe@7f8f5b12ee01f35c42b099ed5455ef63e490d4b6 Add browserify transform, rename main
deathcap/voxel-pickaxe@1a8ed462708e866e590c3f9bcb0ed48d36af5073 0.2.0
deathcap/voxel-quarry@da570253e3703ba604388f612113805e00dfe608 0.2.0
deathcap/voxel-recipes@ce2fe11c0830f9a1c69db6772b7fc029916effc0 Rename main to recipes.js, add keywords
deathcap/voxel-recipes@b9c7297755f5bace3151fad3d1fffaf92425df4e 0.3.0
deathcap/voxel-sfx@922e6df2e06e514d3b41c7b548257635ed186efc 0.1.0
deathcap/voxel-sfx@9211104f87d64500749f972dd3202f8acc1a6860 Rename main file to sfx.js
deathcap/voxel-skyhook@5f9fa203cd2bb44291d9368eaab9ea75bd4ead02 0.1.0
deathcap/voxel-start@a2ec261e772340f8a874869c360d1fd43bd71f04 Rename main file to start.js
deathcap/voxel-start@e1f9f92363e1e13a775d14d4ec1ac393cc574570 0.1.0
deathcap/voxel-use@28eabea59de162541a2030201f9b2b64672e3890 Add browserify coffeeify transform, rename main file to use.coffee
deathcap/voxel-voila@793c7608a761aee351522b8fc8a226ca2f82029f Add browserify transform, keywords, rename main file
deathcap/voxel-voila@a9e7dbaf1fa819a70347acb95edfb0838314b3bd 0.2.0
deathcap/voxel-webview@1f49c285c32ff2f03cd00316a51fb25a5d97f052 Add keywords, rename main file to webview.js
deathcap/voxel-webview@6fcd42f89612886563c3bcf51f1a990d58ea5de5 0.1.0
deathcap/voxel-wool@21638a55ab3821b804dc175127582415e922e85a Add browserify transform, update keywords, rename main
deathcap/voxel-wool@272ba35b0d761e449a2fe1217433b9130cd458c6 0.1.0
deathcap/voxel-workbench@aaa3927aaf079d3e26fe045b0fd60fd95e926a35 Add browserify transform, rename main file
deathcap/voxel-workbench@8821577edfe26cde90985d13881c866342371908 0.2.0
deathcap/voxel-zen@17fc631ad5260bcc688fcd787d09dd8a5da2c1b5 Add browserify transform, and rename main file
deathcap/voxel-zen@44f2a3e9899a0f09cbfc69a48839eefbc60a8401 0.1.0

Commit message generated by https://github.com/deathcap/lmno-cl
Add voxel-hammer, closes https://github.com/deathcap/voxel-ideas/issues/15