These are chat archives for PrismarineJS/prismarine-server

3rd
Mar 2015
Will Franzen
@wtfaremyinitials
Mar 03 2015 18:28
how should loaded-in-memory voxel data be stored?
Buffers or 3 dimensional arrays?
Robin Lambertz
@roblabla
Mar 03 2015 18:29
oh
lord.
3d arrays are a bad idea in JS IIRC.
Will Franzen
@wtfaremyinitials
Mar 03 2015 18:29
we could just wrap buffers
Robin Lambertz
@roblabla
Mar 03 2015 18:29
that means we can’t store block metadata.
Will Franzen
@wtfaremyinitials
Mar 03 2015 18:30
hm.
Dennis Bartlett
@dcbartlett
Mar 03 2015 18:30
no 3d arrays please
Robin Lambertz
@roblabla
Mar 03 2015 18:30
I think we’ll either need to use an external storage mechanism (Redis) or write a smart C++ implementation.
Dennis Bartlett
@dcbartlett
Mar 03 2015 18:30
they are annoying to deal with in JS
Will Franzen
@wtfaremyinitials
Mar 03 2015 18:30
we shouldn't bring in other larger systems
Robin Lambertz
@roblabla
Mar 03 2015 18:30
If we go down the C++ route, then it’ll probably be a 3d array.
Well I think the idea is to depend on redis.
Will Franzen
@wtfaremyinitials
Mar 03 2015 18:31
lets just wrap buffers to hold all the data
Dennis Bartlett
@dcbartlett
Mar 03 2015 18:31
ok
Robin Lambertz
@roblabla
Mar 03 2015 18:31
that means no metadata.
Will Franzen
@wtfaremyinitials
Mar 03 2015 18:31
not necessarily
Robin Lambertz
@roblabla
Mar 03 2015 18:31
You’ll write a bunch of ridiculously complicated ocde if you manually add the metadata to the buffer.
Will Franzen
@wtfaremyinitials
Mar 03 2015 18:31
javascript numbers are massive, the block id # and data value be a bitfield
Robin Lambertz
@roblabla
Mar 03 2015 18:32
erm
you forgot nbt data
Will Franzen
@wtfaremyinitials
Mar 03 2015 18:32
Is there a new meta system?
Robin Lambertz
@roblabla
Mar 03 2015 18:32
each block has an NBT structure attached to it.
Will Franzen
@wtfaremyinitials
Mar 03 2015 18:32
wait nbt is attached to the block itself??
Robin Lambertz
@roblabla
Mar 03 2015 18:32
duh.
Will Franzen
@wtfaremyinitials
Mar 03 2015 18:32
when the fuck did this happen?
Robin Lambertz
@roblabla
Mar 03 2015 18:32
1.0 ?
it happened when anvil came out
Will Franzen
@wtfaremyinitials
Mar 03 2015 18:32
I thought that data was always in a tile entity
Robin Lambertz
@roblabla
Mar 03 2015 18:32
oh
wait now that you mention it
lemme review the anvil format :P
Will Franzen
@wtfaremyinitials
Mar 03 2015 18:32
anvils store their state in the block data value
I know that for a fact
Robin Lambertz
@roblabla
Mar 03 2015 18:33
ok, you’re right
Dennis Bartlett
@dcbartlett
Mar 03 2015 18:34
is this going to be data for every block or data for a specific block
I.E.
Robin Lambertz
@roblabla
Mar 03 2015 18:34
The data value is a byte in which blocks can store their state.
they may use it however they want.
Will Franzen
@wtfaremyinitials
Mar 03 2015 18:34
mhm
Dennis Bartlett
@dcbartlett
Mar 03 2015 18:34
will this be data about "all avils" or data for anvil1 and data for anvil2 seperately
Robin Lambertz
@roblabla
Mar 03 2015 18:35
each separately
Dennis Bartlett
@dcbartlett
Mar 03 2015 18:35
ah
Robin Lambertz
@roblabla
Mar 03 2015 18:35
one data byte for one block.
Dennis Bartlett
@dcbartlett
Mar 03 2015 18:35
gotcha
Robin Lambertz
@roblabla
Mar 03 2015 18:35
that’d be a mess otherwise
Dennis Bartlett
@dcbartlett
Mar 03 2015 18:35
so, if we pick up an anvil, will that data transfer to the entity it creates?
and then when placed back down it gets transfered back to the block?
Robin Lambertz
@roblabla
Mar 03 2015 18:36
no
block data is lost
for things that require a consistent state to be kept, there is TileEntity
Dennis Bartlett
@dcbartlett
Mar 03 2015 18:37
hum
i'm just thinking if we "named" an anvil some how, and picked it up
it should keep its "name"
and still be named with placed back down
not that anvil should be allowed to be named
heh
but some mods do need that
like computercraft
Robin Lambertz
@roblabla
Mar 03 2015 18:39
those mods generally use tileentity
Dennis Bartlett
@dcbartlett
Mar 03 2015 18:39
gotcha
Robin Lambertz
@roblabla
Mar 03 2015 18:39
which behaves like an entity.
Dennis Bartlett
@dcbartlett
Mar 03 2015 18:39
ok then
Robin Lambertz
@roblabla
Mar 03 2015 18:39
then they can attach an NBT structure
But it’s a huge hack really
Dennis Bartlett
@dcbartlett
Mar 03 2015 18:39
we should create a better solution in ours then
:D
Robin Lambertz
@roblabla
Mar 03 2015 18:40
so long as we retain anvil import/export, I’m all for breaking stuff.
Dennis Bartlett
@dcbartlett
Mar 03 2015 18:40
heh
this is a possibility
Robin Lambertz
@roblabla
Mar 03 2015 18:45
Let’s write the slowest implementation possible, with linked list :D
surely nothing can go wrong.
Dennis Bartlett
@dcbartlett
Mar 03 2015 18:47
chunk loading must take a minimum of 10 seconds
Will Franzen
@wtfaremyinitials
Mar 03 2015 18:47
hahaha
Dennis Bartlett
@dcbartlett
Mar 03 2015 18:47
switching realms should be 30 seconds minimum
Will Franzen
@wtfaremyinitials
Mar 03 2015 18:47
the nice thing about the above chunk implementation is that it'll be really easy to serialize
Robin Lambertz
@roblabla
Mar 03 2015 18:47
Anyway, on a more serious note, @wtfaremyinitials instead of reinventing the wheel, did you look at mineflayer ?
Dennis Bartlett
@dcbartlett
Mar 03 2015 18:47
better put some setTimeout()'s in there
Robin Lambertz
@roblabla
Mar 03 2015 18:47
It might be worth investigating how they do it.
Will Franzen
@wtfaremyinitials
Mar 03 2015 18:48
didn't even think to
i'll look
Dennis Bartlett
@dcbartlett
Mar 03 2015 18:48
mineflayer is front-end though right?
i wonder how much it can be adapted
Will Franzen
@wtfaremyinitials
Mar 03 2015 18:48
it's front end but storing voxel data is the same on both sides
Robin Lambertz
@roblabla
Mar 03 2015 18:48
it’s for clients, but it stores chunk info in structures as well
Dennis Bartlett
@dcbartlett
Mar 03 2015 18:48
gotcha
its just how that data is processed that is different
Robin Lambertz
@roblabla
Mar 03 2015 18:49
hmm
Dennis Bartlett
@dcbartlett
Mar 03 2015 18:49
you know
Robin Lambertz
@roblabla
Mar 03 2015 18:49
@wtfaremyinitials why you no use class ?
Will Franzen
@wtfaremyinitials
Mar 03 2015 18:50
I was quickly throwing something together
also confession: i've never used es6 classes
Dennis Bartlett
@dcbartlett
Mar 03 2015 18:50
we modulize these things, we can probably improve on mineflayer/build our own
Will Franzen
@wtfaremyinitials
Mar 03 2015 18:50
I've only tried unicode regex, generators, async functions, arrow functions, and template strings
Robin Lambertz
@roblabla
Mar 03 2015 18:51
arrow functions
;_;
I want this
Will Franzen
@wtfaremyinitials
Mar 03 2015 18:51
you can has this
ES6 is already merged in to prismarine-server :smile:
Robin Lambertz
@roblabla
Mar 03 2015 18:51
“does not crash for 10000ms"
best test ever.
I mean seriously
nothing beats that.
Will Franzen
@wtfaremyinitials
Mar 03 2015 18:53
I can't find the world code in mineflayer q.q
Will Franzen
@wtfaremyinitials
Mar 03 2015 18:57
already found it :p
doesn't seem leagues ahead of the chunk implementation I threw together
Will Franzen
@wtfaremyinitials
Mar 03 2015 19:05
someone mind checking my math? each block can be 0-4096, so that's 12 bits
then the metadata is another 4 bits
2 bytes in the buffer per block?
Robin Lambertz
@roblabla
Mar 03 2015 19:06
wait what ?
why can a block only be up to 4096 ?
Will Franzen
@wtfaremyinitials
Mar 03 2015 19:06
block ids are 0-4096
Robin Lambertz
@roblabla
Mar 03 2015 19:06
minecraft block Ids, maybe.
Will Franzen
@wtfaremyinitials
Mar 03 2015 19:06
sigh
Robin Lambertz
@roblabla
Mar 03 2015 19:06
gimme a minute
Will Franzen
@wtfaremyinitials
Mar 03 2015 19:07
I just really don't want us to bring in something huge like gyp or redis
for something that can be solved in 50 something lines of pure js
Robin Lambertz
@roblabla
Mar 03 2015 19:07

"
Blocks: 4096 bytes of block IDs defining the terrain. 8 bits per block, plus the bits from the below Add tag.

Add: May not exist. 2048 bytes of additional block ID data. The value to add to (combine with) the above block ID to form the true block ID in the range 0 to 4095. 4 bits per block. Combining is done by shifting this value to the left 8 bits and then adding it to the block ID from above."

you’re right I guess
this is so hacky.
so data is 4 bit, and block is 12 bit. Each block can be represented on 16 bits, aka 2 bytes
this is messy though.
Will Franzen
@wtfaremyinitials
Mar 03 2015 19:09
not very
the gross bitwise hacks will be completely contained in chunk.js
Robin Lambertz
@roblabla
Mar 03 2015 19:09
Question is, are bitwise hacks efficient ?
I mean, people have ram
Will Franzen
@wtfaremyinitials
Mar 03 2015 19:09
last time I checked they were
bitsifts are plenty fast
Robin Lambertz
@roblabla
Mar 03 2015 19:09
so it wouldn’t hurt too much to make each block have 3 bytes
Will Franzen
@wtfaremyinitials
Mar 03 2015 19:09
I guess
Robin Lambertz
@roblabla
Mar 03 2015 19:10
2 bytes are for the blockid, 1 byte for the metadata
then we can call it a day.
It’s your call, just something to keep in mind :)
Will Franzen
@wtfaremyinitials
Mar 03 2015 19:10
Don't vanilla servers have enough issues dealing with ram?
Robin Lambertz
@roblabla
Mar 03 2015 19:11
Premature optimization is the root of all evil.
Will Franzen
@wtfaremyinitials
Mar 03 2015 19:11
Fine
While this is fresh in my mind I might as well write it
should it be generic or prismarine-
Robin Lambertz
@roblabla
Mar 03 2015 19:12
IDK ._.
@dcbartlett ?
BTW, http://c2.com/cgi/wiki?RulesOfOptimization is a good guide to optimization :D
Will Franzen
@wtfaremyinitials
Mar 03 2015 19:12
Because it could definitely be used in other places (ex: web minecraft client)
Robin Lambertz
@roblabla
Mar 03 2015 19:13
I suppose. This probably belongs to prismarine-world ? Most of which should be usable independently.
Will Franzen
@wtfaremyinitials
Mar 03 2015 19:13
I figured this would be prismarine-chunk
and prismarine-world would hold all of the chunks
but idk
Robin Lambertz
@roblabla
Mar 03 2015 19:14
That might be over-modularizing.
Will Franzen
@wtfaremyinitials
Mar 03 2015 19:14
Isn't prismarine-world going to contain physics?
Robin Lambertz
@roblabla
Mar 03 2015 19:14
eeeh, probably.
Will Franzen
@wtfaremyinitials
Mar 03 2015 19:14
I wanted chunk to just be a data store with no real business logic
Robin Lambertz
@roblabla
Mar 03 2015 19:14
this is messy.
XD
Will Franzen
@wtfaremyinitials
Mar 03 2015 19:14
hahaha it really is
Robin Lambertz
@roblabla
Mar 03 2015 19:15
Hmm, how about this
Is this for persistent storage of serialization ?
Will Franzen
@wtfaremyinitials
Mar 03 2015 19:16
In memory storage
but since it's just a buffer, serialization is more-or-less built in
Robin Lambertz
@roblabla
Mar 03 2015 19:16
hmmmmmm
HMMMM
Will Franzen
@wtfaremyinitials
Mar 03 2015 19:16
when world wants to write chunk data, it just grabs the whole buffer
and adds it to the file
Robin Lambertz
@roblabla
Mar 03 2015 19:17
Here’s what I’m thinking : we should make a generic interface for world storage. Something like
getBlock(x, y, z)
setBlock(x, y, z, block)
persist()
load()
(Of course you may stray from this model as necessary)
Will Franzen
@wtfaremyinitials
Mar 03 2015 19:18
Sounds good to me
Robin Lambertz
@roblabla
Mar 03 2015 19:18
And put the entire world storage inside a module implementing that interface
meaning not just one chunk.
hmm
Or maybe not.
Well, whatever you do, I think we should have a well-defined external interface. Whether or not it assumes chunked storage will be up for experimentation :P
And make it its own module.
Will Franzen
@wtfaremyinitials
Mar 03 2015 19:20
On it
Dennis Bartlett
@dcbartlett
Mar 03 2015 19:24
Or is marines storage?
Bah autocorrect
Robin Lambertz
@roblabla
Mar 03 2015 19:24
marines storage.
Riiight..
:D
Dennis Bartlett
@dcbartlett
Mar 03 2015 19:24
Or is marines storage
H Yeah jzjdhc
Robin Lambertz
@roblabla
Mar 03 2015 19:25
prismarine-storage
XD
I guess
Dennis Bartlett
@dcbartlett
Mar 03 2015 19:26
Yeah
On my phone
Robin Lambertz
@roblabla
Mar 03 2015 19:27
Well, prismarine-storage would make sense yeah.
What are block objects going to be?
just { id: 1, data: 0 }
Will Franzen
@wtfaremyinitials
Mar 03 2015 19:47
back
I'll just go with that simple object then
Will Franzen
@wtfaremyinitials
Mar 03 2015 19:55
All minecraft stuff is in big endian right @roblabla ?
Robin Lambertz
@roblabla
Mar 03 2015 20:11
yup
how's it look?
Robin Lambertz
@roblabla
Mar 03 2015 20:24
All dem es6.
So. Fucking. Amazing.
Will Franzen
@wtfaremyinitials
Mar 03 2015 20:25
Rightttt
dem template strings (line 38)
Robin Lambertz
@roblabla
Mar 03 2015 20:26
anyway, we may want to implement a simple location struct
Will Franzen
@wtfaremyinitials
Mar 03 2015 20:26
But that won't be what we pass to chunk
Robin Lambertz
@roblabla
Mar 03 2015 20:26
instead of passing x, y, z aroudn.
why not ?
Will Franzen
@wtfaremyinitials
Mar 03 2015 20:26
because the coords being passed to chunk are relative to the chunk
Robin Lambertz
@roblabla
Mar 03 2015 20:26
I’m just throwing ideas :P
right.
Will Franzen
@wtfaremyinitials
Mar 03 2015 20:26
the location struct will be for global coords
Robin Lambertz
@roblabla
Mar 03 2015 20:26
You are correct.
Will Franzen
@wtfaremyinitials
Mar 03 2015 20:27
prismarine-world (or whatever the wrapper for chunk will be) will take care of unwrapping the location struct
@roblabla I've never really done unit tests for node. What framework(s) are we using for prismarine?
I'm gonna write up tests for chunk in a bit
Robin Lambertz
@roblabla
Mar 03 2015 20:34
mocha.
Will Franzen
@wtfaremyinitials
Mar 03 2015 20:34
alright
Robin Lambertz
@roblabla
Mar 03 2015 20:35
If you need spies, use sinon. Use chai for the BDD/TDD/assert style
@dcbartlett should/expect/assert ?
Will Franzen
@wtfaremyinitials
Mar 03 2015 20:35
also, when I create a new buffer from scratch (not being loaded), should I zero it out?
Robin Lambertz
@roblabla
Mar 03 2015 20:35
(I personally prefer expect-style)
@wtfaremyinitials depends if you fill it with data immediately after or not ?
By default, buffers have useless data in it
Will Franzen
@wtfaremyinitials
Mar 03 2015 20:36
I know
Robin Lambertz
@roblabla
Mar 03 2015 20:36
So either zero it out or write meaningful stuff in it.
Will Franzen
@wtfaremyinitials
Mar 03 2015 20:36
alright
Robin Lambertz
@roblabla
Mar 03 2015 20:36
or don’t use it until it has been written
:P
By default the chunk array should be zeroed out I guess, since the block 0 is air.
Will Franzen
@wtfaremyinitials
Mar 03 2015 20:37
Done.
Dennis Bartlett
@dcbartlett
Mar 03 2015 23:03
much ES6
Such Wow
BDD please
Robin Lambertz
@roblabla
Mar 03 2015 23:04
so expect()-style ?
Will Franzen
@wtfaremyinitials
Mar 03 2015 23:04
I have no idea what BDD is
you're welcome to change it to BDD though
Robin Lambertz
@roblabla
Mar 03 2015 23:04
not that it really matters to my eyes.
Dennis Bartlett
@dcbartlett
Mar 03 2015 23:04
it(should.be.something)
Robin Lambertz
@roblabla
Mar 03 2015 23:05
no should
ewww
Dennis Bartlett
@dcbartlett
Mar 03 2015 23:05
well
define() and it()
Robin Lambertz
@roblabla
Mar 03 2015 23:05
oh that. Yeah, that's alrerady there.
Dennis Bartlett
@dcbartlett
Mar 03 2015 23:05
don't really care what you use for assertion within that
you can use chai, or assert, or jasmine, or js pure
heh
Robin Lambertz
@roblabla
Mar 03 2015 23:05
:D
Will Franzen
@wtfaremyinitials
Mar 03 2015 23:05
to define( instead of describe(
Robin Lambertz
@roblabla
Mar 03 2015 23:05
it's describe() in mocha
Dennis Bartlett
@dcbartlett
Mar 03 2015 23:06
s/define/describe
Will Franzen
@wtfaremyinitials
Mar 03 2015 23:06
gotcha
Dennis Bartlett
@dcbartlett
Mar 03 2015 23:06
woot sed skillz
:D
Robin Lambertz
@roblabla
Mar 03 2015 23:06
so much wowe
Will Franzen
@wtfaremyinitials
Mar 03 2015 23:06
s/keyboard/leopard
Robin Lambertz
@roblabla
Mar 03 2015 23:06
Mad skillz.
Will Franzen
@wtfaremyinitials
Mar 03 2015 23:07
Robin Lambertz
@roblabla
Mar 03 2015 23:07
oh
lawl
didn't know this one
computer leopard
:D
the problem exists between the leopard and the chair !
Will Franzen
@wtfaremyinitials
Mar 03 2015 23:08
hahaha
Robin Lambertz
@roblabla
Mar 03 2015 23:08
:laughing:
Dennis Bartlett
@dcbartlett
Mar 03 2015 23:08
:D i remember that one
Will Franzen
@wtfaremyinitials
Mar 03 2015 23:08
alright now that chunk is done, what's next?
world?
Robin Lambertz
@roblabla
Mar 03 2015 23:09
did you know the XKCD dude gave a ted talk ? http://www.ted.com/talks/randall_munroe_comics_that_ask_what_if
Will Franzen
@wtfaremyinitials
Mar 03 2015 23:09
WHAT
Robin Lambertz
@roblabla
Mar 03 2015 23:09
it's awesome :3
Dennis Bartlett
@dcbartlett
Mar 03 2015 23:10
shoot i havn't had time to work on the framework yet
all tests should go in /test/
not sure what the layout shoudl be
we should probably create a boiler plate for creating modules
Will Franzen
@wtfaremyinitials
Mar 03 2015 23:10
I was going to make world a separate module
Dennis Bartlett
@dcbartlett
Mar 03 2015 23:10
thats fine
world requires chunk
that allows other modules to use chunk if needed
Will Franzen
@wtfaremyinitials
Mar 03 2015 23:11
also I don't think we should call the extensions that other developers make modules
Dennis Bartlett
@dcbartlett
Mar 03 2015 23:11
uhms
Will Franzen
@wtfaremyinitials
Mar 03 2015 23:11
we're using "modules" as the core of the system
Dennis Bartlett
@dcbartlett
Mar 03 2015 23:11
what then?
Will Franzen
@wtfaremyinitials
Mar 03 2015 23:11
and they're entireley different from the modules that other people are making
Dennis Bartlett
@dcbartlett
Mar 03 2015 23:11
right but they are able to hook into the same hooks we would use
Will Franzen
@wtfaremyinitials
Mar 03 2015 23:12
not necessarily
Dennis Bartlett
@dcbartlett
Mar 03 2015 23:12
hum
Will Franzen
@wtfaremyinitials
Mar 03 2015 23:12
i don't really know
Robin Lambertz
@roblabla
Mar 03 2015 23:12
yes they can
Dennis Bartlett
@dcbartlett
Mar 03 2015 23:12
well i wanted to make it easy for someone to drop a core module from us and replace it with something else if needed
Will Franzen
@wtfaremyinitials
Mar 03 2015 23:12
I just feel like its odd for the core implementation of chunks to be in the same category as world guard is weird
Robin Lambertz
@roblabla
Mar 03 2015 23:12
what we do is we give a bunch of hooks
in some sort of core
And give a default implementation for each of them
(when the hook needs one, that is)
Will Franzen
@wtfaremyinitials
Mar 03 2015 23:13
that works I guess
Robin Lambertz
@roblabla
Mar 03 2015 23:13
This allows the users to rip one bit and replace it with another
Take storage for instance
One could use the default anvil-based storage engine
Or one could use an SQL-based engine.
Dennis Bartlett
@dcbartlett
Mar 03 2015 23:13
anvil-based
dcbartlett @dcbartlett makes that the nick-name now
Dennis Bartlett
@dcbartlett
Mar 03 2015 23:14
prismarine-anvil
heh
Will Franzen
@wtfaremyinitials
Mar 03 2015 23:14
Also, should I go ahead and npm publish prismarine-chunk?
Dennis Bartlett
@dcbartlett
Mar 03 2015 23:14
i don't see why not
Robin Lambertz
@roblabla
Mar 03 2015 23:14
add circleci
Dennis Bartlett
@dcbartlett
Mar 03 2015 23:14
it will make it easier for us to use
yes
Robin Lambertz
@roblabla
Mar 03 2015 23:14
before you do that
Will Franzen
@wtfaremyinitials
Mar 03 2015 23:14
whoops
Dennis Bartlett
@dcbartlett
Mar 03 2015 23:14
please add circle-ci based on the prismarine-server
Will Franzen
@wtfaremyinitials
Mar 03 2015 23:14
you didnt type fast enough :3
Robin Lambertz
@roblabla
Mar 03 2015 23:14
xD
Dennis Bartlett
@dcbartlett
Mar 03 2015 23:14
publish again
lol
Will Franzen
@wtfaremyinitials
Mar 03 2015 23:15
version bump!
Dennis Bartlett
@dcbartlett
Mar 03 2015 23:15
i do have the circle-ci stuff mostly setup
Will Franzen
@wtfaremyinitials
Mar 03 2015 23:15
what do i need to do to accommodate circle-ci?
or can you PR that for me?
Dennis Bartlett
@dcbartlett
Mar 03 2015 23:15
can i PR it
give me a bit
did you move it to prismarineJS repo?
Will Franzen
@wtfaremyinitials
Mar 03 2015 23:16
the org? yes
also, dammit, npm ignores gitignored files
so when I published it didn't upload the transpiled code
Dennis Bartlett
@dcbartlett
Mar 03 2015 23:16
lol
Robin Lambertz
@roblabla
Mar 03 2015 23:18
heh.
Dennis Bartlett
@dcbartlett
Mar 03 2015 23:19
OH
i'm using codeship
which means we don't need files in the repo to run tests
just need to update the README
Will Franzen
@wtfaremyinitials
Mar 03 2015 23:19
Would you mind doing that?
Dennis Bartlett
@dcbartlett
Mar 03 2015 23:20
ypu
doing it now
really OSX? you can respell half my words, but you can't fix yup?
Robin Lambertz
@roblabla
Mar 03 2015 23:21
oh btw @dcbartlett your buttons are broken.
Dennis Bartlett
@dcbartlett
Mar 03 2015 23:21
what buttons?
Robin Lambertz
@roblabla
Mar 03 2015 23:21
on the prismarine-server
the built passing buttons
Dennis Bartlett
@dcbartlett
Mar 03 2015 23:21
how so?
you mean they need to link to the codeship build?
or do you mean they are grey?
Robin Lambertz
@roblabla
Mar 03 2015 23:24
they need to link to codeship
Dennis Bartlett
@dcbartlett
Mar 03 2015 23:24
i'll fix those on his and revisit mine later
Will Franzen
@wtfaremyinitials
Mar 03 2015 23:26
@dcbartlett Is the codeship thing done yet?
Dennis Bartlett
@dcbartlett
Mar 03 2015 23:28
dcbartlett  prismarine-chunk   master  1h21m
 mocha --reporter=dot
module.js:338
throw err;
^
Error: Cannot find module './dist/chunk.js'
at Function.Module._resolveFilename (module.js:336:15)
at Function.Module._load (module.js:278:25)
at Module.require (module.js:365:17)
at require (module.js:384:17)
Will Franzen
@wtfaremyinitials
Mar 03 2015 23:28
run gulp first
Dennis Bartlett
@dcbartlett
Mar 03 2015 23:28
tests fail?
Will Franzen
@wtfaremyinitials
Mar 03 2015 23:28
you didn't compile it
Dennis Bartlett
@dcbartlett
Mar 03 2015 23:28
heh
6 passing
ok
Robin Lambertz
@roblabla
Mar 03 2015 23:29
yay
Will Franzen
@wtfaremyinitials
Mar 03 2015 23:29
woot ^-^
Dennis Bartlett
@dcbartlett
Mar 03 2015 23:30
will you have more than 1 branch?
master/qa/dev?
or just master?
Will Franzen
@wtfaremyinitials
Mar 03 2015 23:31
it's a 40 something line long module
no
Robin Lambertz
@roblabla
Mar 03 2015 23:31
I'm pretty sure it's useless having master/qa/dev if we're going to do this the PR-way anyway
Will Franzen
@wtfaremyinitials
Mar 03 2015 23:31
:+1:
Dennis Bartlett
@dcbartlett
Mar 03 2015 23:31
probably
odl habbits from work
Will Franzen
@wtfaremyinitials
Mar 03 2015 23:31
lol
Robin Lambertz
@roblabla
Mar 03 2015 23:32
They're not bad habits
but given the nature of the project, I don't think it'll be of use ^^
Dennis Bartlett
@dcbartlett
Mar 03 2015 23:32
PrismarineJS/prismarine-chunk#1
bad rabbits
:D
Robin Lambertz
@roblabla
Mar 03 2015 23:32
xD
yay, gitter chat
You silently added the gitter :O
Dennis Bartlett
@dcbartlett
Mar 03 2015 23:33
heh
i need to fix the text
hold on
what did you want it to say rob?
not join but
Robin Lambertz
@roblabla
Mar 03 2015 23:34
hmm ?
Dennis Bartlett
@dcbartlett
Mar 03 2015 23:34
the gitter badge
Robin Lambertz
@roblabla
Mar 03 2015 23:34
Oh
Dennis Bartlett
@dcbartlett
Mar 03 2015 23:34
you wanted it to say something other than what it does
Robin Lambertz
@roblabla
Mar 03 2015 23:34
Chat
I think
Dennis Bartlett
@dcbartlett
Mar 03 2015 23:34
ok
PR updated
ready to go
:D
oh fudge
blah
let me edit again
Will Franzen
@wtfaremyinitials
Mar 03 2015 23:36
-.-
lol
Dennis Bartlett
@dcbartlett
Mar 03 2015 23:36
did you already merge it?
Will Franzen
@wtfaremyinitials
Mar 03 2015 23:36
yeah
I assumed ready to go meant...well... ready to go
Dennis Bartlett
@dcbartlett
Mar 03 2015 23:37
i looked at the readme and was like "why is there a table there still"
Will Franzen
@wtfaremyinitials
Mar 03 2015 23:37
anyway PrismarineJS/prismarine-chunk#2 is ready
Dennis Bartlett
@dcbartlett
Mar 03 2015 23:38
how to you make that detective look on the comments?
all i normally do is :+1:
shipit
i see
Will Franzen
@wtfaremyinitials
Mar 03 2015 23:38
:shipit:
it's a squirrel
if you didn't notice
Dennis Bartlett
@dcbartlett
Mar 03 2015 23:39
yeah
PrismarineJS/prismarine-chunk#3
and i've got to relocate
:D
Will Franzen
@wtfaremyinitials
Mar 03 2015 23:40
Are you sure that's ready?
:stuck_out_tongue:
Dennis Bartlett
@dcbartlett
Mar 03 2015 23:43
yes yes
and its already linking to the codehsip tests
:D
Will Franzen
@wtfaremyinitials
Mar 03 2015 23:45
Should I PR bumping the version #?
@dcbartlett
@roblabla
Dennis Bartlett
@dcbartlett
Mar 03 2015 23:46
yeah
probably
and then you can merge it yourself
it should be a 1 line right?
Will Franzen
@wtfaremyinitials
Mar 03 2015 23:46
what good does that do?
Dennis Bartlett
@dcbartlett
Mar 03 2015 23:46
dunno
heh
Will Franzen
@wtfaremyinitials
Mar 03 2015 23:46
I mean I can
Dennis Bartlett
@dcbartlett
Mar 03 2015 23:47
i'll review and merge
no biggie
Will Franzen
@wtfaremyinitials
Mar 03 2015 23:47
PrismarineJS/prismarine-chunk#4 I guess
@dcbartlett
Dennis Bartlett
@dcbartlett
Mar 03 2015 23:48
done
Will Franzen
@wtfaremyinitials
Mar 03 2015 23:53
PrismarineJS/prismarine-world
if you guys want to do the voodoo gitter and ci magic
@dcbartlett
Dennis Bartlett
@dcbartlett
Mar 03 2015 23:55
I'll do that when I get in the bus
Will Franzen
@wtfaremyinitials
Mar 03 2015 23:55
Also @roblabla, I remember you said you were very against Promises on external APIs. Should the world class return promises? (getBlock kind of stuff)
world.js seems only quasi-external
Dennis Bartlett
@dcbartlett
Mar 03 2015 23:58
Gitter sucks on mobile
Will Franzen
@wtfaremyinitials
Mar 03 2015 23:58
The iPhone app is absolute trash
Dennis Bartlett
@dcbartlett
Mar 03 2015 23:59
Yeah