06:25 < Not-9c26> [wiki] Edit by Fenhl to Protocol -> http://tinyurl.com/hhq9v72 06:26 < Not-9c26> [wiki] Edit by Fenhl to Protocol -> http://tinyurl.com/gum94za 06:30 < Not-9c26> [wiki] Edit by Fenhl to Protocol -> http://tinyurl.com/jlawjpf 06:32 < Not-9c26> [wiki] Edit by Fenhl to Protocol -> http://tinyurl.com/z3ucsjv 06:34 < Not-9c26> [wiki] Edit by Fenhl to Protocol -> http://tinyurl.com/hgeagnd 06:35 < Not-9c26> [wiki] Edit by Fenhl to Protocol -> http://tinyurl.com/gvugzr3 06:39 < Not-9c26> [wiki] Edit by Fenhl to Protocol -> http://tinyurl.com/gu3jonq 06:46 < Not-9c26> [wiki] Edit by Fenhl to Protocol -> http://tinyurl.com/hftma88 06:48 < Not-9c26> [wiki] Edit by Fenhl to Protocol -> http://tinyurl.com/hj82us5 06:49 < Not-9c26> [wiki] Edit by Fenhl to Protocol -> http://tinyurl.com/gtlno8k 06:53 < Not-9c26> [wiki] Edit by Fenhl to Protocol -> http://tinyurl.com/zs7re2d 06:54 < Not-9c26> [wiki] Edit by Fenhl to Protocol -> http://tinyurl.com/jmxjxb6 06:55 < Not-9c26> [wiki] Edit by Fenhl to Pre-release protocol -> http://tinyurl.com/grqlkcj 06:58 < Not-9c26> [wiki] Edit by Fenhl to Protocol -> http://tinyurl.com/gq4cwd6 06:59 < Not-9c26> [wiki] Edit by Fenhl to Protocol -> http://tinyurl.com/h7tbsd4 07:03 < Not-9c26> [wiki] Edit by Fenhl to Pre-release protocol -> http://tinyurl.com/h7t87y8 07:03 < Not-9c26> [wiki] Edit by Fenhl to Protocol -> http://tinyurl.com/gkvdlhn 07:04 <+Fenhl> ^ someone please verify this is correct, especially the order of the fields 07:05 < Not-9c26> [wiki] Edit by Fenhl to Pre-release protocol -> http://tinyurl.com/hjyvgst 07:06 < Not-9c26> [wiki] Edit by Fenhl to Protocol -> http://tinyurl.com/gksahf3 07:06 < Not-9c26> [wiki] Edit by Fenhl to Pre-release protocol -> http://tinyurl.com/zkxlrtq 07:06 < javaprophet> Fenhl, in PR2 for 1.9.1, in Join Game, the Dimension field is a 32-bit signed integer. 07:06 <+Fenhl> and done. 07:06 < javaprophet> And protocol number = 108 to get that started. 07:07 <+Fenhl> javaprophet: alreadu documented http://wiki.vg/Pre-release_protocol#Join_Game 07:07 < javaprophet> Oh, okay. :) 07:07 <+Fenhl> yeah, that article had 1.8–1.9 changes and 1.9–1.9.1 changes next to each other for a while 07:08 <+Fenhl> now 1.9 is all done though 07:08 < javaprophet> Good :) 07:09 <+Fenhl> well, [[Protocol]] could still use some cleanup but it's usable at least 07:17 < PunKeel> o/ 07:42 < javaprophet> Does anyone know if UUID's are affected by endianness? 07:42 < PunKeel> I don't think so 07:49 < PunKeel> Sayonara min'na 08:45 <+Grum> Gjum: yeah that should be fixed for the next pre, it is totally ok for things to be there that are not used, vacuuming the palette is seriously expensive 08:46 <+Grum> and should only be done when saving 10:03 < rom15044> Fenhl: nice o/ 10:04 < rom15044> javaprophet: not in Minecraft anyway 10:29 < JustASlacker> so 10:29 < JustASlacker> how is 1.9 coming along 10:37 < rom15044> It's documented 10:38 < rom15044> Ah there's pre3 10:41 < JustASlacker> the protocol is documented? 10:43 < rom15044> Yes 10:44 < rom15044> It's also implemented in a few places 10:46 < JustASlacker> nice 10:53 < Modius22> Hello 10:53 < JustASlacker> Hello 12:04 < Not-9c26> [wiki] Edit by Fenhl to Pre-release protocol -> http://tinyurl.com/hgywhn3 12:07 < Not-9c26> [wiki] Edit by Fenhl to Protocol version numbers -> http://tinyurl.com/haeond8 12:22 < Not-9c26> [wiki] Edit by Rom1504 to Protocol version numbers -> http://tinyurl.com/hb3bopz 12:50 < mewking> hi 12:52 < mewking> Is attack knockback parallel to the line of sight between attacker and target? 13:37 < hansihe> i believe so 15:59 < Gjum> huh, the -1 palette issue is fixed in pre3, great. but there are still unused palette entries... 16:02 < rom1504> Gjum: in your gist, what do you mean by "50x" ? the blockId is around 500 ? 16:02 < rom1504> ah no 16:02 < rom1504> 50 times 16:02 < Gjum> yes 50x used 16:03 < Gjum> and there are 0x entries 16:03 < rom1504> what's unusual about them ? 16:03 < javaprophet> They aren't useful to be in the palette, and could decrease compression efficiency. 16:04 < Gjum> but ther are also blocks in the data array that do not appear in the palette, my algo could be borked, but I honestly don't see why 16:04 < Gjum> it decodes most chunks correctly 16:04 < javaprophet> It could be that they are intended to match, but don't 16:05 < javaprophet> Your accounting for metadata right? 16:05 < Gjum> I ignore it actually until the last step ;) 16:06 < javaprophet> I don't know if my implementation sees it, I'll worry about it when it's an issue. :P 16:07 < Gjum> you can dl my world and check 16:07 < Gjum> it's reproducable 16:07 < javaprophet> I know the -1s are in mine, but I don't want to spend an hour reproducing it :P 16:10 < rom1504> that new format with the palette and everything is only used in ram/network right ? They didn't change the anvil format ? 16:10 < javaprophet> I think so. 16:10 < rom1504> (which means they have to convert the new format to the old for saving) 16:11 < rom1504> Gjum: btw, python-minecraft-data is not up to date 16:11 < rom1504> idk if you used that in your chunk-reading script 16:12 < rom1504> I mean python-minecraft-data doesn't have some of the new 1.9 blocks 16:17 <+SinZ> Gjum: unused palette entries was intended iirc as it was expensive to purge it or something, but when it saves it does the clean 16:17 < Gjum> Anvil is the same, yes. Mcdata is just for displaying 16:18 <+SinZ> it is totally ok for things to be there that are not used, vacuuming the palette is seriously expensive 16:19 < Gjum> Sinz makes sense. Still doesn't explain why some array entries are just after the palette, ie. ummapped 16:20 < Gjum> *un 16:20 < Gjum> Maybe the palette isn't expanded correctly for new entries? 16:26 < javaprophet> Are they just supposed to be air? 16:32 < Gjum> Might be 16:34 < Meeeh> for less than 16 entires they use static array of 16 ints as far as I remember. But not sure about that Gjum, maybe this is your "issue"? 16:35 < Meeeh> if (i == 16) { System.out.println(""); } nah, that mojang debug. 16:35 < Meeeh> :D 16:36 < Gjum> javaprophet if you can, please load that world and see if any blocks aren't in the palette, I ran my sniffer+testscript twice and got the same results so you should too 16:37 < javaprophet> I kinda deleted it so I could make a superflat to get a higher FPS in my client, it is not optimized well yet. :P 16:37 < Gjum> Meeeh I decode most chunks correctly, with various palette sizes 16:38 < rom1504> Gjum: "Anvil is the same, yes." so they changed it then ? 16:38 < rom1504> all world files are now incompatible ? 16:50 < javaprophet> http://screencloud.net/v/7vv6 16:54 < Gjum> Anvil is the same as 1.8 16:55 < rom1504> ok 16:55 < rom1504> javaprophet: what's the maximum you can set the view distance (before it gets too slow) ? 16:56 < javaprophet> 1 :P That was my first successful block rendering from the network. I'm working on optimizing it now. 16:57 < rom1504> okay :) 17:17 < hansihe> javaprophet: you are using opengl right? 17:17 < javaprophet> Yes. 17:18 < hansihe> are you doing one chunk per buffer? 17:18 < javaprophet> I started doing one block, but I already know and am working on one chunk per buffer. VAOs and such. 17:19 < javaprophet> At the moment, I'm researching how to use different textures for parts of the chunks properly. 17:19 < hansihe> ah, nice :) 17:19 < hansihe> looking forward to seeing what performance you can pull off with c 17:19 < javaprophet> I imagine I will concatenate the textures some how, and then use UV coords from there, but I'm not sure. 17:19 < javaprophet> Are you experienced in OpenGL? 17:20 < hansihe> used it a bit, no expert or anything 17:34 < javaprophet> It seems Minecraft no longer uses Texture atlasing, does anyone know why? 17:35 < javaprophet> Furthermore, how does it link textures to the chunk VAOs? 2D_ARRAY or? 17:37 < hansihe> surely it can't be uploading all the block textures individually? 17:37 < hansihe> i thought it generated a atlas at startup or something 17:37 < javaprophet> I have the suspicion that they stitch them together and then do texture atlasing. 17:38 < javaprophet> I can't find anything good on using 2D_ARRAY textures in a VAO. 17:38 < javaprophet> Probably for some overengineering purpose? I can't imagine it helps with performance at all. 17:40 < hansihe> hmm 17:41 < Meeeh> Gjum, I think it is 16 in code, but it is send only used entries 17:42 < Gjum> Meeeh have you looked at my gist link? 17:43 < Meeeh> I think that I missed it 17:44 < Gjum> Can link it again when Im back home. My problem is with 6 and 7 bits mostly 17:44 < Meeeh> https://gist.github.com/Gjum/0375b643ec13a42ab3c0#file-unusual-chunks-log this weird link? 17:48 < Gjum> Yes 17:51 < Meeeh> Gjum, I don't understand that dump o.O like you have that "15 palette entires" and then you have that "unusal usages" with more entires 17:52 < Gjum> They are keys that are in block array but not palette 17:53 < Meeeh> oh, ok, really weird then 17:53 < Meeeh> but you don't see any missing blocks? 20:43 < Not-9c26> [wiki] Edit by C4K3 to Server List Ping -> http://tinyurl.com/jep2brb 23:43 < hansihe> how would you respawn a player in another world? i would have thought the respawn packet would do it, but it warns against respawning in the same dimension 23:57 < rom15044> What about unloading all the chunks and reloading them ? 23:57 < rom15044> Or, you can pick any other dimension 23:58 < rom15044> Going to another dimension and "back" might do it first 23:59 < rom15044> I'm not sure if sending the respawn packet with the same dimension actually doesn't work though 23:59 < pokechu22> Wait, the vanilla game respawns the player in the same world just fine... 23:59 < pokechu22> Unless it's using a different packet. --- Day changed sam. mars 12 2016 00:01 < pokechu22> Maybe you just use 'join game'? 00:02 < hansihe> possibly 00:03 < rom15044> pokechu22: hansihe wants same dimension different world if I understand right 00:03 < rom15044> The vanilla server certainly doesn't do that 00:03 < hansihe> if i remember right from my server admin days bukkit did it just fine though 00:03 < hansihe> they might be doing some tricks 00:05 < pokechu22> Let's see what bukkit does... 00:10 < pokechu22> ... ew 00:10 < pokechu22> They send two respawn packets if it's to the same dimension 00:10 < hansihe> oh 00:10 < pokechu22> One of them going to a different dimension, and one of them taking them back to the right dimension. 00:13 < hansihe> I was sorta hoping it was the Join Game packet, then you could specify a new player entity id 00:14 < hansihe> Which would make it easier for a proxy to transfer a player from one world to another 00:15 < hansihe> s/world/server/ 00:22 < Not-9c26> [wiki] Edit by Pokechu22 to Template:Warning2 -> http://tinyurl.com/jszyfcg 00:33 < Not-9c26> [wiki] Edit by Pokechu22 to Protocol -> http://tinyurl.com/jju7eos 00:33 < Not-9c26> [wiki] Edit by Pokechu22 to Template:Warning2 -> http://tinyurl.com/zmyl6av 06:48 < AlphaBlend> Running 33897ms behind, skipping 677 tick(s) 06:48 < AlphaBlend> aaaaaaaaaahhhhhhhhhh 06:49 < AlphaBlend> we're running pre1, but i don't even know if that's an issue with the minecraft server, or the system configuration 06:50 < pokechu22> I know that my craftbukkit 1.9 build does that, but I haven't updated it... 06:51 < AlphaBlend> well this puzzles me, we hardly had any lag on CraftBukkit 1.8.8, and this time around on vanilla 1.9 we've had so much lag 06:51 < AlphaBlend> so that is puzzling 08:17 < ackpacket> AlphaBlend: you could try profiling and see where you're going wrong. You may even be able to narrow it down to a specific iteration that "ate" those 34 seconds 08:17 < ackpacket> AlphaBlend: depending on what kind of trouble you want to go through :3 08:18 < ackpacket> AlphaBlend: what kind of server do you run? 14:18 < yawkat> can someone confirm that 45 is the right slot for the off-hand? 14:19 < yawkat> if that is the case i will update the wiki with the new inventory layout: https://s.yawk.at/K00d 14:57 < hansihe> rom1504: 14:57 < hansihe> whoops 14:58 < hansihe> just thought i would nitpick, in minecraft-data, the play protocol state is just "play", while the handshake protocol state is "handshaking" 14:59 < hansihe> this is really minor, probably not worth the effort of fixing, just thought i would point it out though 15:00 < rom1504> going in that issue https://github.com/PrismarineJS/minecraft-data/issues/27#issuecomment-195746589 15:01 < rom1504> idk about our names 15:01 < rom1504> we're half following wiki.vg, half following protocollib 15:01 < rom1504> there are okay arguments for both 15:01 < rom1504> and changing stuff is annoying for users, so I'm waiting for a good way to solve this before changing these names 15:02 < rom1504> (I mean I only want to change them one time) 15:03 < rom1504> I think a solution for now might be to just have a small name_mapping.json somewhere if you want to use other names ;) 15:13 < hansihe> yep, i'm just gonna hardcode handshaking to handshake, not a big deal 15:15 < hansihe> but yeah, it makes sense to fix as much as possible in a single batch, makes things easier 15:30 < Not-9c26> [wiki] Edit by Yawkat to File:Inventory-slots.png -> http://tinyurl.com/b7l88me 16:10 < nerdnerd> Hello. Does anyone know what is the right structure of serverbound Place Block event in 1.9? 16:10 < nerdnerd> NMP and wiki.vg contradict each other, and ProtocolLib showed it to have a totally different id 246, what the hell 16:41 < Gjum> nerdnerd: are you running the correct nmp and minecraft-data version? the wiki matches mcdata which is used by nmp. and protocollib seems to have not updated yet https://github.com/aadnk/ProtocolLib/commit/05c7da17b95a76b76e1e826add081ad20539f128 16:52 < AlphaBlend> ackpacket: we're running vanilla right now, so it might not be worth my time 17:24 < rom1504> nerdnerd: you need to put "version":"1.9" in createServer if you want 1.9 ;) 17:25 < nerdnerd> sorry, NMP works fine and protocollib doesn't display proper ids 17:27 < nerdnerd> my problem is that i had a bot on a server where players are teleported by right-clicking on the signs (a block_place event) and it stopped working after the server updated to 1.9 17:31 < nerdnerd> I send block_place and it doesn't do anything. I tested it on a local server with protocollib, but the bot seems to send the same packets as the vanilla client 17:32 < javaprophet> Doesn't kick you or nothing? 17:32 < Gjum> nerdnerd: I'm pretty sure protocollib has the old packet IDs in the file I linked 17:32 < Gjum> btw javaprophet: your chunk reading is still wrong ;) the palette is per section, you read it per column. it works for 1-section chunks just fine though :D 17:33 < javaprophet> Really? Jesus. :P 17:34 < rom1504> nerdnerd: a bot made with what ? 17:34 < javaprophet> Is there any specs on that Gjum? 17:35 < nerdnerd> rom1504: nmp 17:35 < Gjum> javaprophet: http://wiki.vg/SMP_Map_Format 17:35 < javaprophet> Oh, I see. 17:36 < rom1504> nerdnerd: can I see the code where you send block_place ? 17:36 < javaprophet> Fixed, thanks. 17:37 < javaprophet> I can't push it atm, I have a bunch of broken rendering code as I implement chunk VAOs. 17:37 < Gjum> sure 17:37 < Gjum> can you still pastebin it? doing checks with it locally atm 17:38 < javaprophet> http://hastebin.com/ogurunawig.coffee 17:38 < Gjum> ty 17:38 < javaprophet> np 17:39 < rom1504> much if very else if 17:39 < javaprophet> :D 17:40 < rom1504> these readPacket and writePacket function 17:40 < rom1504> you definitely don't over-engineer :d 17:40 < hansihe> Just saw the new minecraft-data protocol schema. Seems to actually provide less flexibility with how you want to implement your encoder/decoder 17:41 < javaprophet> rom, I could have done a function map or something like that, but I went with this. 17:41 < javaprophet> It was originally for 1.8, only took me an hour or two to reorder and update. 17:41 < nerdnerd> rom1504: client.write("arm_animation",{}); client.write("block_place",{location:vec3(1399,5,1293),direction:1,heldItem:-1,cursorX:8,cursorY:8,cursorZ:8}); 17:41 < rom1504> hansihe: how so ? you can always ignore the mapper if you want to just use ids 17:41 < nerdnerd> as simple as that. and it used it work 17:42 < rom1504> hansihe: the new protocol schema has only types, instead of making a packet/type distinction 17:42 < hansihe> yeah, i see 17:42 < Gjum> nerdnerd: block place sends the hand in 1.9 i believe 17:42 < Gjum> instead of held item 17:42 < hansihe> well, if you ignore the mapper you need to add logic to lookup the packet names and ids from the mapper 17:43 < hansihe> it just makes it more complicated 17:43 < rom1504> you need logic to do id<->name somewhere anyway 17:45 < rom1504> nerdnerd: http://prismarinejs.github.io/minecraft-data/?v=1.9&d=protocol#toServer_block_place 17:45 < hansihe> yeah, but the way i do it in elixir is that every packet is a module name, so that's my name<->id 17:46 < rom1504> yeah then in that case you need to add a little more code to read the mapping and do what you need with it indeed 17:46 < hansihe> yep 17:46 < hansihe> well, not a big deal, it just seems to have gotten more complicated to use 17:46 < hansihe> unless you use the mapper that is 17:47 < rom1504> well, truly the ids are part of the packet type, not each packet 17:48 < hansihe> yeah, that's fair 17:48 < rom1504> the vanilla code doesn't store the ids in the packet classes for example 19:11 < Gjum> javaprophet: tested your chunk code, getting the similar unknown palette keys as with my code 19:12 < javaprophet> Didn't Gr um say that it wasn't worth the performance loss to fix? I figure we outgha treat em like air right? 19:15 < Gjum> javaprophet: no, I don't mean unused palette entries, but block data array entries not being found in the palette, eg. palette has 17 entries, but data array has values like 20, 26 etc 19:16 < javaprophet> I know that 19:16 < Gjum> which means there are blocks that are server-only 19:16 < javaprophet> Yes, and I *think* we should just treat em like air. 19:17 < javaprophet> Grum, should we treat invalid palette entries as air? 19:17 < Gjum> that would be super weird 19:18 < Gjum> hmm maybe they would wrap around, ie. key % palette_len 19:18 < javaprophet> It's testable for sure. 19:19 < Gjum> javaprophet: for reference https://gist.github.com/Gjum/bb7fb540642a8409456d 19:20 < javaprophet> Hmmm 19:20 < Gjum> (palette has 17 entries for that section) 19:24 < Gjum> did the block ids change in 1.9.1? 19:24 < javaprophet> I don't think substantially like the packets. 19:24 < javaprophet> A few new ones for sure. 19:25 < Gjum> because I'm getting iron ore where there certainly isn't iron ore... 19:25 < Gjum> or does it spawn in swamps next to tree trunks now 19:26 < rom1504> I doubt they changed the block ids 19:26 < rom1504> they usually add new ones, but keep the old ones stable 19:26 < rom1504> (the block ids are more exposed to users than packets ids) 19:27 < Gjum> https://gist.github.com/Gjum/ff1f25bd11bdcd4049ac 19:27 < pokechu22> ... they shouldn't have changed block IDs, but that's something I can test with burger. 19:27 < Gjum> line 1219 https://gist.github.com/Gjum/ff1f25bd11bdcd4049ac#file-blocknames-txt-L1219 19:28 < Gjum> is there any other non-notchian chunk data packet implementation I can look at?D 19:35 < rom1504> Gjum: is your y correct ? 19:35 < rom1504> (taking into account the bitmask correctly and all) 19:35 < Gjum> int b = blocks[x + 16*z + 256*y]; 19:36 < Gjum> and y is per section 19:36 < Gjum> bitmask is right 19:36 < pokechu22> No changes to blocks between 1.9.1-pre3 and 1.9. We did get a few new translation strings though. 19:37 < Gjum> ty 19:44 < pokechu22> You say you saw iron next to swamp trees. Can you screenshot that? I can guess at a few other blocks that it should be. 19:45 < Gjum> pokechu22: it's obviously not there in vanilla, but when I parse the chunk data Iget it. line 1219 https://gist.github.com/Gjum/ff1f25bd11bdcd4049ac#file-blocknames-txt-L1219 19:46 < rom1504> Gjum: what's the block at that position in vanilla ? 19:46 < Gjum> when I was there yesterday it was not iron. brb launching mc 19:50 < Meeeh> http://imgur.com/Yd6WkDn 19:50 < Meeeh> what is that weird command block? 19:51 < Meeeh> on the right 19:51 < javaprophet> I noticed that texture in my atlas earlier,. 19:51 < Gjum> command blocks are directional now 19:51 < Meeeh> it is for 127:* and above 19:51 < Meeeh> ugh 19:51 < Meeeh> 137:8 and above 19:52 < Meeeh> :D 19:52 < Gjum> and there are some other changes, signal forwarding for example 19:52 < pokechu22> There are also 3 different types of command blocks, with different colors. 19:53 < pokechu22> I think the bent version means... something with whether it needs power? 19:53 < Gjum> Meeeh: looked it up, the right one is in "conditional mode" 19:53 < Gjum> http://minecraft.gamepedia.com/Command_Block#Modification 19:53 < pokechu22> Look in F3 and see what the metadata for it is. 19:53 < Gjum> "Conditional": The command block should only execute its command if the command block behind it executed successfully 19:53 < Meeeh> weird, on wiki they also say 19:53 < Meeeh> 0x8 Unused but if set produces command block facings similar to those without the bit set. 19:54 < Gjum> is that in tile entity data? 19:55 < Meeeh> in block state http://minecraft.gamepedia.com/Command_Block#Block_state 19:55 < Meeeh> ugh 19:55 < Meeeh> no 19:55 < Meeeh> in block data 19:55 < Meeeh> http://minecraft.gamepedia.com/Command_Block#Block_data 19:55 < Gjum> ah right 19:56 < Meeeh> also "6 and 7 are unused but produce command blocks facing down and up respectively" 19:57 < Meeeh> seems to be invalid too, but not sure, I currently need test on some 03a snapshot :D 20:00 < pokechu22> It's conditional mode for 8. 20:00 < pokechu22> return ((EnumFacing)state.getValue(FACING)).getIndex() | (((Boolean)state.getValue(CONDITIONAL)).booleanValue() ? 8 : 0); 20:02 < pokechu22> Dunno if it's actually used. But that bit is definitely for that part of metadata. 20:09 < Not-9c26> [wiki] Edit by Pokechu22 to Client List -> http://tinyurl.com/gth28w5 20:09 < Gjum> wow. I placed some wool for testing, and now I get way too many wool blocks when decoding 20:09 < Gjum> ... even with javaprophet's code 20:10 < javaprophet> Interesting, but not in MC notchian? 20:10 < Gjum> while ignoring blocks not in the palette 20:10 < Gjum> mc displays everything fine 20:10 < javaprophet> try wrapping it like you thought of? 20:10 < javaprophet> in my impl, i shift backwards 20:10 < Gjum> did that, didnt help 20:11 < Gjum> I do block % palette_len 20:11 < javaprophet> I let it shift backwards when one isn't in the palette because I don't have a special case yet. 20:11 < javaprophet> So it should shift the rest of the blocks in the chunk 20:11 < Gjum> oh you mean skip the entry, but keep the index? 20:12 < javaprophet> Yes 20:12 < Gjum> didnt think of that, hmm 20:12 < Gjum> I need `bo` for that right? 20:14 < Gjum> https://imgur.com/0bATpGW and https://gist.github.com/Gjum/4b236555d17be045c644 20:15 < javaprophet> Hmm? 20:15 < Gjum> ctrl+f 35 20:15 < Gjum> way too many 20:15 < Gjum> that's without skipping though 20:16 < Gjum> but skipping would only move them, not remove them, because I would skip just the 5 bits right? 20:22 < hansihe> rom1504: could probably go digging through the source for this, but how does protodef deal with resolving types? 20:23 < hansihe> it seems to at least look at siblings in the same object it's in 20:23 < hansihe> but you can also use types from the "types" object in the top level 20:23 < rom1504> it always use .types 20:24 < rom1504> I'm not sure exaclty what is your question though 20:24 < rom1504> ah 20:24 < rom1504> I understand 20:24 < rom1504> you add the types at the top level, then the types for your direction/state 20:25 < rom1504> then you can use all these types at any time 20:25 < rom1504> https://github.com/PrismarineJS/node-minecraft-protocol/blob/master/src/transforms/serializer.js#L10 20:27 < hansihe> ahh, i see 20:27 < hansihe> thanks 20:28 < hansihe> yeah, i thought it might have been built into the protodef library 20:28 < rom1504> the protocol.json structure is currently not build into protodef. protodef just has addTypes currently 20:28 < rom1504> but it might move there at some point 20:37 < javaprophet> http://i.imgur.com/LoPXSCb.png :D 20:43 < hansihe> rom1504: just to be sure, a type definition in always either just a string (type name) or a 2-array [name, arguments]? 20:43 < hansihe> hope it's fine i ask a couple of questions about it 20:46 < rom1504> hansihe: yes it's always that, have a look at https://github.com/roblabla/ProtoDef/blob/master/doc/datatypes.md or https://github.com/PrismarineJS/minecraft-data/blob/master/schemas/protocol_schema.json 20:46 < rom1504> hansihe: you are trying to use the protocol.json for mchex ? 20:47 < hansihe> yeah 20:47 < hansihe> i actually refactored protocol stuff and put it into a separate package 20:47 < rom1504> ah nice 20:48 < hansihe> thought i would try to get a proper protocol implementation in there 20:48 < hansihe> now i'm just implementing a protodef compiler for it 20:49 < rom1504> ah yeah that's cool. I'm currently experimenting with compiling stuff in protodef, because the resulting code is faster than doing everything at runtime 20:49 < hansihe> yep 20:49 < hansihe> elixir is a really cool language for it, everything you put outside of a function definition is run at compile time 20:50 < rom1504> we have types tests in json now btw https://github.com/roblabla/ProtoDef/blob/master/test/dataTypes/numeric.json , that can be useful to know if your implementation works right 20:51 < hansihe> ah, nice 20:51 < hansihe> thanks, i'll use that 20:57 < hansihe> this actually reminds me of something i did a while ago 20:58 < hansihe> https://github.com/hansihe/pymcprotocol/blob/master/packets/play/clientbound.py 20:58 < hansihe> that was in 2013 21:00 < hansihe> the protodef format is a lot nicer though 21:00 < rom1504> hansihe: https://gist.github.com/rom1504/7b4c0cc29fb03122b6a5#list-of-files-representing-the-minecraft-protocol 21:00 < rom1504> yeah your python one is in there ^^ 21:01 < hansihe> ah, right :) 21:01 < rom1504> everybody making his own macro thingy 21:04 < hansihe> too bad json can't have comments 21:06 < rom1504> we planned on putting description/notes in a protocol_comments.json 21:07 < rom1504> that's better anyway, so the protocol.json stay just the protocol 21:08 < rom1504> roblabla worked on that some time ago but it didn't get finished yet https://github.com/PrismarineJS/minecraft-data/pull/56/files 21:08 < rom1504> (the idea was displaying these comments at http://prismarinejs.github.io/minecraft-data/?d=protocol ) 21:15 < hansihe> yeah, good point 23:06 < rom1504> so udp is kind of weird. We're trying to build a mcpe server, and I was like "yeah let's just switch the tcp module for an udp one". Turns out it's not so simple :d. No connection, no client/server, got to bind in the client if you want to get messages,... 23:07 < javaprophet> TCP clients bind to sockets too, thats normal. 23:07 < rom1504> I kind of knew that udp!=tcp but well ^^ 23:07 < rom1504> ah 23:07 < rom1504> tcp clients got a port ? 23:07 < rom1504> because udp ones do 23:07 < javaprophet> Set bind-port to 0, and it will act like TCP, where the Os automatically sets that up. 23:07 < javaprophet> Yes. 23:08 < rom1504> oh interesting 23:08 < javaprophet> Usually large, >20000 23:10 < rom1504> okay, I guess it's more that there are less udp users in node, must be why the api is so much more low level than the tcp one 23:10 < javaprophet> Yes, probably. 23:10 < javaprophet> Why are you using node? 23:10 < javaprophet> Especially for non-http things? 23:11 < rom1504> because it works well ! node is pretty good with network thanks to its async functionnality and all 23:11 < rom1504> I maintain https://github.com/PrismarineJS/node-minecraft-protocol and stuff on top of that 23:11 < javaprophet> I see. How is the performance? 23:12 < rom1504> pretty good 23:12 < rom1504> I didn't quite compare to other implementation perf though 23:12 < rom1504> but we didn't have much problem with the network side for perf anyway 23:13 < rom1504> the mcpe thing is new though, still trying to make a basic raknet implementation work 23:13 < javaprophet> Interesting, I've not played with MCPE at all. 23:14 < rom1504> the reason why I used node initially was because when I started doing minecraft stuff, the only bot framework really usable was mineflayer, and it was node 23:14 < javaprophet> I used Java initially, but I coded my own apis and such. --- Day changed dim. mars 13 2016 00:12 < hansihe> rom1504: you know off the top of your head if the switch conditional in protodef looks for the compareTo field in the parent container only or if it looks in every parent container? 00:15 < rom1504> in the parent container, if it's in a parent container it uses ../../../field syntax 00:15 < rom1504> that's used only a few times in protocol.json 00:16 < rom1504> that's the function that look it up https://github.com/roblabla/ProtoDef/blob/master/src/utils.js#L2 00:16 < rom1504> and it's used there https://github.com/PrismarineJS/minecraft-data/blob/master/data/1.9/protocol.json#L1792 00:17 < rom1504> packet_player_info, only packet that is complex enough to need that stuff 00:17 < hansihe> ah, .. syntax makes it easier 00:18 < hansihe> i was worried i was gonna have to traverse upwards and look for the first match 00:18 < hansihe> thanks 00:22 < hansihe> oh, while i'm at it, .. should not be able to cross the boundary between types, right? 00:22 < hansihe> say you define a custom type, you can't .. out of that type and look for a field? 00:24 < rom1504> protodef implementaton currently can do that 00:25 < rom1504> not sure if that's a good thing though 00:25 < rom1504> we're not using that behavior in the protocol.json 00:27 < hansihe> if it gets inconvenient I won't implement it, I'll see 00:39 < hansihe> sorry for the barrage of questions, how is this https://github.com/PrismarineJS/minecraft-data/blob/master/data/1.8/protocol.json#L2690 handled? can you use hex numbers in switch as well? 00:40 < rom1504> yeah. it's using the fact that in js "0x0F"==15. It's kind of hacky but at the same time it makes some sense 00:41 < rom1504> I mean, it's certainly better than putting decimal ids in the .json 00:42 < hansihe> "0x07" == 7 00:42 < hansihe> true 00:42 < hansihe> haha, alright 00:42 < rom1504> if you have a language with better types than js, I guess that should go into switch implementation 00:42 < hansihe> yep 00:42 < rom1504> heh, let's see what php thinks about that 00:43 < rom1504> echo '' | php 00:43 < rom1504> 1 00:43 < rom1504> :) 00:43 < rom1504> at least the hack is consistent 00:44 < rom1504> I bet elixir doesn't do that :p 00:44 < hansihe> iex(1)> "0x07" == 7 00:44 < hansihe> false 00:44 < hansihe> i am not very sad about it :P 00:44 < hansihe> but yeah, i'll do it in my switch impl 00:45 < hansihe> it would be nice to explicitly document what you are allowed to do and what you can't do in switches 00:47 < rom1504> oh wait 00:47 < rom1504> switch actually can't do that 00:48 < rom1504> it's the mapper that can 00:48 < hansihe> switch uses a dict then? 00:48 < hansihe> while mapper uses equality? 00:48 < rom1504> yes 00:49 < hansihe> right 00:49 < rom1504> the mapper need to map the values both ways 00:49 < rom1504> while the switch doesn't need to 00:52 < rom1504> https://github.com/roblabla/ProtoDef/commit/84a8754ea1638e7fe821267450d90ae270c14754 added to the doc 00:53 < hansihe> neat, thanks 01:48 < javaprophet> I've found that all my blocks in all chunks are shifted exactly 10 negative.... 02:46 < Gjum> dammit javaprophet get your endianness right! ;) 08:49 < Not-9c26> [wiki] Edit by Fenhl to Client List -> http://tinyurl.com/zrcesll 15:31 < Meeeh> http://imgur.com/3XNpMP5 oops :D 16:28 < hansihe> good enough i would say 16:34 <+SinZ> Meeeh: I had a friend do that 16:34 <+SinZ> iirc the VBO setting or sdomething somehow fixes it 16:48 < Meeeh> SinZ, this isn't problem with client or anything :P I just broke my server chunk implementation :D 18:54 < Leftwitch> Hey guys can someone help me wit hmy little question (i thinks itsn othing hard :D), so and it is that i want to play the animation that the palyer is flying like with a elytra (in a superman flying position) i know that PacketPlayInEntityAction with the animation of id 8 is that a player start flying with elytra, but the server need to send a packet too to al players that tells them to play the animation or not? so my short questi 18:55 < Leftwitch> god damn limit of my english "skills" 18:59 < hansihe> i know nothing about how it actually works, but maybe the client just renders the player differently if he is wearing one? 19:02 < Leftwitch> hm.. 19:06 < Gjum> Leftwitch: have you tried logging the packets with a proxy? 19:06 < Leftwitch> atm i'm trying with protocollib 19:06 < Leftwitch> is there a way to log all packets via protocollib? 19:07 < Leftwitch> dont want to test every single one 20:34 < Meeeh> Leftwitch, logging all packets isn;t good idea too :D 20:34 < Meeeh> tons of movement and update pos packet will generate few mb of usless logs 20:35 < Leftwitch> @Meeeh alrdy done hehe ;D so i cam to the result that spigot have a .setGliding method which does the same 20:35 < Leftwitch> but its only possible when u wear elytras 20:35 < Leftwitch> :( 20:35 < Leftwitch> i wanted to make a superman plugin DDDDD: 21:15 <+Thinkofname> Leftwitch: you don't need the elytra equipped for it to work, you just need to stop the server from resetting it (via the event) 21:16 < Leftwitch> Thinkofname: ? 21:16 <+Thinkofname> the setGliding thing 21:16 < Leftwitch> could u gimme more details please which event? and what it prevents? 21:16 <+Thinkofname> https://www.youtube.com/watch?v=QhbWVbR4EBA from __0x277F 21:17 <+Thinkofname> EntityToggleGlideEvent 21:18 < Leftwitch> TY! 21:18 < Leftwitch> omg love ya *nohomo* 21:35 < Leftwitch> yo another question, why my custom shulker dont want to spawn o_O overall i just want a shulker which is passive and wont attack 22:46 < Meeeh> Thinkofname, lol, nice, can you control the speed? like to still make it slow when you go up? 23:17 < __0x277F> Meeeh, yep. 23:18 < __0x277F> You control it by setting the player's velocity just like you would normally 23:18 < Meeeh> oh ok, thanks --- Day changed lun. mars 14 2016 02:10 < Not-8b17> [1.8-Models] drXor pushed 1 commit to 1.9 [+37/-43/±2] https://git.io/vaCA4 02:10 < Not-8b17> [1.8-Models] drXor 81e77a3 - New menus, more items, etc. 15:46 < Not-8b17> [flying-squid] rom1504 pushed 1 commit to master [+0/-0/±1] https://git.io/valDa 15:46 < Not-8b17> [flying-squid] rom1504 bccfc5d - remove /spawn and /spawnObject, fix #175 15:47 < rom1504> fix by feature removal is the best fix 16:03 < tktech> Amen 19:37 < Not-8b17> [flying-squid] rom1504 pushed 1 commit to master [+0/-0/±2] https://git.io/va8yC 19:37 < Not-8b17> [flying-squid] rom1504 a12039e - fix UserError checking 19:39 < Not-8b17> [flying-squid] rom1504 pushed 1 commit to master [+0/-0/±1] https://git.io/va8yH 19:39 < Not-8b17> [flying-squid] rom1504 5ffbdd0 - actually fix UserError checking 21:09 < Not-8b17> [flying-squid] rom1504 pushed 1 commit to master [+0/-0/±1] https://git.io/va4k3 21:09 < Not-8b17> [flying-squid] rom1504 6f36e7c - limit the number of entities to 100 21:14 < Not-8b17> [flying-squid] rom1504 pushed 1 commit to master [+0/-0/±2] https://git.io/va4I3 21:14 < Not-8b17> [flying-squid] rom1504 fed2208 - have a options["max-entities"], fix #222 21:34 < Not-8b17> [flying-squid] rom1504 pushed 1 commit to master [+0/-0/±1] https://git.io/va4mD 21:34 < Not-8b17> [flying-squid] rom1504 b39072e - fix undefined disconnected 21:47 < Not-8b17> [flying-squid] rom1504 pushed 1 commit to master [+0/-0/±1] https://git.io/va43a 21:47 < Not-8b17> [flying-squid] rom1504 b532846 - limit /portal command to 21x21 21:47 < tktech> Almost done my docs for the factorio protocol \o/ 21:49 < tktech> Yet another game that thinks UDP is awesome, then implements TCP-on-UDP 21:49 < hansihe> oh you are documenting the factorio protocol? awesome 21:50 < hansihe> i have been playing the game lately, it's really good 21:50 < tktech> Da, have a toy python proxy that would probably develop into a server. 21:50 < tktech> It is, seven of my IRL buddies and I have spent hundred+ hours on it in two weeks 21:50 < tktech> Pretty disgusting actually 21:50 < hansihe> haha 21:51 < hansihe> yeah, i haven't spent that much time on it, have been a bit too busy with various things 21:51 < hansihe> there is a vacation upcoming though, i expect most of my life to be eaten by it 21:52 <+Prf_Jakob> tktech: The thing it actually does matter 21:53 <+Prf_Jakob> The thing is, it actually does matter* 21:53 <+Prf_Jakob> When it comes to latency TCP-on-UDP is faster 21:55 < hansihe> how is factorio in terms of modding? i heard you could add new objects with lua? 21:56 < tktech> hansihe, The base game is C++ and extensions are fairly sensible with Lua 21:56 < tktech> The majority of the game itself is written through the lua api so it is quite fleshed out 21:56 < hansihe> that's nice 21:56 < hansihe> do you deal with networking in the lua code? 21:56 < tktech> New objects, new events, new UI elements, etc... 21:56 < tktech> You do not 21:57 < hansihe> that's nice then 21:57 < tktech> Both clients and servers must have the mods to function 21:57 < hansihe> right 21:57 < tktech> The base world is deterministic with deltas sent on connection or on a peer desync 21:58 < hansihe> do they do full on physics rollbacks? 21:58 < hansihe> or does the client wait for server events? 21:58 < tktech> There are no physics, just 3-layer terrain cells 21:58 < hansihe> sorry, not physics i guess, objects 21:59 < tktech> For character movement, it's smoothed with a configurable latency factor 21:59 < tktech> Everything else is more-or-less atomic 21:59 < tktech> So if messages start dropping everyone on the "server" gets real sad real quick 22:00 < tktech> (There is no real server, the game calls it a server but it's P2P) 22:00 < hansihe> interesting 22:00 < Gjum> fully distributed/redundant world? 22:00 < tktech> If the "host" drops the game simply continues from the next-lowest average ping 22:00 < Gjum> wow nice 22:00 < hansihe> that's pretty cool 22:01 < hansihe> so every client is connected to every other client? 22:01 < tktech> That is correct 22:02 < tktech> The game had severe lag issues < 0.1 22:02 < Gjum> is there a hard player limit then? 22:02 < tktech> Smoothing fixed that for the most part with a base latency of 250ms 22:02 < tktech> But if one peer slows down everyone does 22:02 < tktech> There is no programmed limit that I have been able to find but you will reach a technical one 22:03 < hansihe> so you don't want to invite the guy with the shitty internet :) 22:03 < tktech> As soon as someone's upload can't handle the saturation it'll just die 22:03 < tktech> That is sadly correct, we had to boot shawn 22:03 < Gjum> can a proxy fix that? 22:04 < tktech> Possibly by opening one port per client and tricking you into connecting to the proxy numerous times 22:04 < tktech> 1 connection = 1 character 22:05 < tktech> Zaneo, remember the good ol' classic days when ... scv? would try to connect to the classic server 22:05 < tktech> And the game would stop for 10 minutes while his dialup DoS'd the server 22:06 < tktech> Minecraft classic mutex'd the game world when someone tried to connect and had no time out 22:06 < tktech> So you could trickle attack it 22:38 <+Zaneo> Nobody ever exploited that tktech /s 22:41 <+AndrewPH> tktech: JTE's single-threaded perlserver :^) 22:44 < tktech> My tears could fill an ocean --- Day changed mar. mars 15 2016 03:16 < wh3t> hi! 03:17 < ackpacket> wh3t: hi 03:19 < wh3t> anyone ever encountered the error GC overhead limit reached while trying to setupDecompWorkspace? 03:21 < wh3t> ah just found it lol 08:46 < Not-9c26> [wiki] Edit by Ingrim4 to Entities -> http://tinyurl.com/zh8oq97 16:11 < Not-9c26> [wiki] Edit by Ingrim4 to Entities -> http://tinyurl.com/hmae4oz 16:16 < Not-9c26> [wiki] Edit by Ingrim4 to Entities -> http://tinyurl.com/j5dqq5f 16:21 < Not-9c26> [wiki] Edit by Ingrim4 to Entities -> http://tinyurl.com/gsrfbby 16:28 < Not-9c26> [wiki] Edit by Ingrim4 to Entities -> http://tinyurl.com/z2boq8k 16:36 < Not-9c26> [wiki] Edit by Ingrim4 to Entities -> http://tinyurl.com/htkd3z9 16:41 < Not-9c26> [wiki] Edit by Ingrim4 to Entities -> http://tinyurl.com/j5c9l74 16:43 < Not-9c26> [wiki] Edit by Ingrim4 to Entities -> http://tinyurl.com/haw3ol2 17:38 < SkippsDev> Hello, i've just started a project that's writing a light weight minecraft server in Python with support for plugins. Is anyone interested in helping with the project? Link to github repository is here if needed: https://github.com/SkippsDev/Redstone 17:38 < SkippsDev> Thanks. 20:50 < Jirik> hello 20:50 < ecx86> hi 20:51 < Jirik> Is there an admin? (Sorry for my bad english) 20:53 < ecx86> idk 21:13 < ackpacket> Jirik: what do you need? 21:13 < Jirik> Is this page updated? http://wiki.vg/SMP_Map_Format 21:27 <+Fenhl> Jirik: yes 21:29 < Jirik> ok, thanks 21:36 < Not-9c26> [wiki] Edit by Fenhl to SMP Map Format -> http://tinyurl.com/je2nl7n 21:37 < Jirik> Can somebody send me a sample of code to chunk data packet? 21:53 < ackpacket> Jirik: you want code that edits/handles/parses a chunk data packet? Or code that produces one? Or are you looking for the bytes corresponding to a packet like that 21:55 < Jirik> I coding server and I need create and send data packet to client 21:56 < ackpacket> Jirik: What language? What do you have so far? Do you need the packet compressed? Do you have the encryption for the stream taken care of? 22:01 < Jirik> in Java and uncompressed. I need only some example. 22:28 < yawkat> Jirik: https://github.com/Steveice10/MCProtocolLib 22:35 < rom1504> I believe https://github.com/SpockBotMC/SpockBot/pull/218/files and https://github.com/JavaProphet/MinecraftClone/blob/245fca26f1911ff87c04ac774079acb60546e78a/MinecraftClone/src/ingame.c#L201 are the only open source implementation of 1.9 chunk packets 22:35 < rom1504> so no java 22:55 < Gjum> ProtocolLib has a java implementation of the chunk packet https://github.com/Steveice10/MCProtocolLib/blob/4ed72deb75f2acb0a81d641717b7b8074730f701/src/main/java/org/spacehq/mc/protocol/data/game/chunk/BlockStorage.java#L42 23:08 < rom1504> Gjum: ah nice 23:08 < Gjum> you were faster at the issue ;) 23:09 < Gjum> now someone needs to just implement it lol 23:10 < rom1504> :D 23:10 < rom1504> "here are 10 code examples, but I'm not doing it :p" 23:11 < rom1504> I think that java implementation is close to what prismarine-chunk need 23:12 < Gjum> remember endianness and do the bit shifting right, and it will be fine 23:36 < mewking> hi 23:37 < rom1504> mew, mewtwo, mewking ? 23:38 < mewking> Yeah :D 23:38 < mewking> I know it was possible at some point to let dead player npcs stay on the ground (laying on the side). Is this still possible? Sending entity status #3 just results in the npc despawning (visually) 23:41 < rom1504> the client automatically despawn dead entities 23:42 < rom1504> so I think it's not possible 23:42 < rom1504> well I last tested that in 1.8 anyway 23:45 < mewking> Could it be just "visual" death? Maybe placing the NPC in a nonexistent bed? does the client accept Use Bed packets with non-bed locations? (going to test that right now) 23:51 < nickelpro> mewking? Maybe use the flying animation? 23:52 < mewking> The elytra animation? 23:53 < mewking> Bed animation does not work, client throws IllegalArgumentEx --- Day changed mer. mars 16 2016 00:06 < mewking> Okay, it does work when you are faking a bed block at that position. however i need to make it invisible, but i am going to use a resource pack for that. 00:18 < mewking> There's a discussion about it here: https://www.spigotmc.org/threads/solved-mineplex-dead-bodies.79338/ I'm going to check if this is still possible in 1.9 00:21 < mewking> Confirmed this as working in 1.9 00:27 <+ammar2> oh cool if you just teleport them away you don't even need to bother with the invisibed 00:27 <+ammar2> didn't realize that 01:00 < Aikar> I think someones butthurt: https://bugs.mojang.com/browse/MC-98994?focusedCommentId=294982&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-294982 01:12 < Aikar> any of you mojira staff? surely his behavior violates rules? 01:15 <+ammar2> "hey @Aikar when I need a fix for my Wordpress Blog i'll call upon your el33t skills to solve that ..in the meantime, stay in your lane" 01:15 <+ammar2> lolwat 01:15 <+ammar2> who did you pick a fight with 01:16 < Aikar> I didn't 01:16 < Aikar> he didnt like that I responded to his crazy idea saying its not plausible or relevant 01:16 < Aikar> and he blew up at me 01:16 <+ammar2> >(you won't find this in your web developer textbooks btw, so may need to upgrade your Amazon account) 01:16 <+ammar2> the ad homiens are hilarious 01:17 < Aikar> bugs about the performance of a data structures remove method, and he posts about mojang should offload logic to the client lol 01:18 < Aikar> he also tweeted this: https://twitter.com/MossyBlog/status/709887500349603840 01:18 < Aikar> irony being, he's a UX designer 01:21 < mewking> Offloading logic to the client would make custom world gen impossible lol 01:22 < mewking> This point can't be valid for anything other than Vanilla SMP (i don't say it is, i'm not that deep in the matter to state an opinion about this) 01:23 <+ammar2> and it doesn't matter at all because the server still needs to generate the chunk 01:23 <+ammar2> to know what the fuck is going on 01:23 < Aikar> there's also the issue that world generation needs access to neighbor chunks data 01:24 <+Fenhl> and mutates it 01:24 <+ammar2> Aikar: reply with "k" 01:24 < Aikar> funny thing is, im not a wordpress 'expert' lol 01:24 <+ammar2> please reply to him with k 01:25 <+ammar2> if he wrote all that, I'm legitimately curious what his reaction will be 01:25 < Aikar> i dunno, im debating between ignoring him, or sending him a professional DM to hopefully make him feel stupid 01:25 <+Fenhl> oh and to answer your question, redstonehelper is Mojira staff 01:25 <+ammar2> no professional messages 01:25 <+ammar2> this isn't the sort of guy who understands a professional message because his head is too far up his ass 01:25 < Aikar> I'm not studying for a psychology degree like him, but I do try to present my self professionally :P 01:26 <+ammar2> >as a result of the team i was in via Microsoft 01:26 <+ammar2> shows it well enough 01:26 < Aikar> https://au.linkedin.com/in/mossyblog 01:26 < ackpacket> ammar2: internship or full time? 01:26 <+ammar2> ackpacket: looks like full time but as a "product manager" 01:26 <+ammar2> not sure what sort of development a product manager does 01:26 <+ammar2> shrug 01:26 < ackpacket> ammar2: I meant you at MS, silly 01:26 < Aikar> none 01:26 < ackpacket> PMs don't do dev, they manage devs 01:27 <+ammar2> oh I'm not at MS 01:27 <+ammar2> I was just quoting his message 01:27 < ackpacket> they decide what features are implemented based on resources available and gains from the features 01:27 < JustASlacker> uh, nerd fight 01:27 < JustASlacker> KILL! 01:27 < ackpacket> JustASlacker: er... who's fighting 01:27 <+ammar2> DEATH TO NERDS 01:27 < Gjum> that guy won. we are all wasting our precious time now. gg 01:27 < Aikar> good thing I consider myself a geek and not a nerd. 01:27 < JustASlacker> I thought Scott Barnes is 01:27 < mewking> Nerd sniping does the job very well (cf xkcd) 01:28 < Aikar> and only mc related commit he's done lately was to the Wurst hack client heh 01:28 <+Fenhl> the what now 01:29 < Aikar> https://github.com/mossyblog 01:31 <+ammar2> >As to how it relates to the topic at head.. simple... the chunk creation queue needs refactoring period. As all this does is put a band-aid upon a broken limb. 01:31 <+ammar2> anyone know what this is supposed to mean? 01:32 < Aikar> 1.9 removed a chunk accessor that didnt touch the unload queue 01:32 <+Amaranth> Don't fix this bug rewrite the game to work like consoles instead 01:32 <+Amaranth> That's what he means 01:32 < Aikar> so getChunkAt now hurts due to touching remove queue 01:32 < Aikar> md5 wrote ticket to change it back to how it was 01:32 < Aikar> he claims thats a hack 01:33 <+ammar2> no I mean 01:33 < Aikar> and that mojang should instead do those insane things he said 01:33 <+ammar2> what is this problem he is calling out 01:33 < Aikar> ... what I just said 01:33 <+ammar2> no like 01:33 <+ammar2> refactoring period 01:33 <+ammar2> what does that mean 01:33 <+ammar2> in the context of loading/generating chunks 01:33 <+Amaranth> The server takes too much CPU, he wants it to be a repeater instead 01:33 < Aikar> hes saying that chunk generation should be refactored off main thread and put on the clients instead 01:33 <+Amaranth> Make the clients do all the work 01:34 < ackpacket> chunk generation? Is that safe? 01:34 < ackpacket> is it concurrently safe? 01:34 <+Amaranth> Like the console versions 01:34 < Aikar> of course not lol 01:34 <+ammar2> then how does the server know where to spawn mobs etc 01:34 < ackpacket> Can't clients just force whatever they want? 01:34 <+ammar2> if it doesn't have a generated version of the chunk 01:34 < Aikar> but he has this hacked fork that CONCURRENT ALL THE THINGS 01:34 < Aikar> that makes the server not crash 01:34 < Aikar> but destroys general running performance 01:34 < ackpacket> ammar2: well, presumably the client sends the chunk after generating it... 01:34 < ackpacket> ammar2: but that's not what we're worried about here 01:34 < ackpacket> if the client is in control of something, it could cheat 01:34 <+Amaranth> The server wouldn't do any of that, the clients would say "mobs spawned" and the server would repeat that to other clients 01:34 <+ammar2> but 01:35 < ackpacket> lmao, watch someone spawn an enderdragon. Watch 01:35 < ackpacket> oh look, I found the "diamond block biome" 01:35 < mewking> :D 01:35 < mewking> nah, tnt+redstoneblock biome is even better! 01:36 < Aikar> but only for other clients and not yourself! 01:36 <+ammar2> but Amaranth it's simple 01:36 < ackpacket> What happens when two clients come into render distance of a new chunk within a tick or two? 01:36 < mewking> of course! 01:36 <+ammar2> you just >apply verification protocols to ensure that the truth is always held to higher standard 01:36 < ackpacket> ammar2: eh... they can still gain an advantage, even if only a less crazy one 01:36 <+Amaranth> Put it on the blockchain 01:36 < mewking> how about passing rendering to the server? x) let's just swap everything 01:37 < Aikar> i love junior devs. always getting so defensive using big phrases and buzzwords to make other juniors question themselves and say "maybe he is right, he sounds smart" 01:37 <+ammar2> idk man he has me convinced 01:37 <+ammar2> this is the future right here 01:37 < JustASlacker> yeah, me too 01:37 < mewking> the minecraft chunk block chain. chunkchain.info domain already reserved? 01:37 < Aikar> llol 01:37 <+ammar2> a 500ms - 3 in cognitive load to reactionary response 01:38 <+ammar2> basic square root math(s) and historical data 01:38 <+ammar2> I love it 01:39 <+Amaranth> Sounds like English isn't his first language 01:39 <+Amaranth> And I see he is Australian so yeah, I guess it isn't 01:39 <+ammar2> S A V A G E 01:40 < pokechu22> Not to mention, among other flaws... that would require the server to send the seed to the client. 01:40 < pokechu22> Not that I don't want the seed; the seed _would_ be helpful for some of the projects I work on :P 01:40 <+Amaranth> Uh, the client would control everything, seed is the smallest concern 01:41 < pokechu22> And how would it handle boats!? I'm not sure how the client could percisely replicate them clipping through walls... 01:41 < ackpacket> pokechu22: sooner or later, more work in integrity checks would be done than just generating the chunk itself 01:41 < pokechu22> (actually, that was mostly fixed in 1.9...) 01:44 < Gjum> pokechu22: isn't that just because boat movement is client-side now? 01:54 < ackpacket> boat movement is client side? 01:56 < Gjum> well there is Vehicle_Move, so I thought that replaces Steer_Vehicle everywhere, but it seems Steer_Vehicle is still used for something 01:56 <+Fenhl> minecarts 01:57 <+Fenhl> as far as I can tell, they're still moved by the server 01:57 < Gjum> which one for which now? 01:58 <+Fenhl> from the naming, I would assume that steer is for server-controlled vehicles (i.e. minecarts) 01:58 < ackpacket> not sure why they would move vehicle movement client side, it's going to change the latency for the worse and they still have to do all sorts of integrity checks that could be more costly than just calculating the move in the first place 01:59 <+Fenhl> same reasons player movement is client side I guess 01:59 < Gjum> I have heard horses being a lot smoother now, so that is probably an example 02:00 <+Fenhl> and boats 02:00 <+Fenhl> minecarts are an exception since their movement depends almost entirely on the server 02:00 < Gjum> yeah which would suggest boats are also Vehicle_Move now 02:00 <+Fenhl> and making clients move them would break all sorts of redstone designs 06:12 < redstonehelper> Fenhl Aikar ping me if it gets out of hand 15:14 < Not-9c26> [wiki] Edit by Javaprophet to Client List -> http://tinyurl.com/glehpgx 15:15 < Not-9c26> [wiki] Edit by Javaprophet to Client List -> http://tinyurl.com/zag3arp 15:56 <+Fenhl> javaprophet: 1.9.1-pre4? 17:14 < Not-9c26> [wiki] Edit by Fenhl to Client List -> http://tinyurl.com/hdlbp8e 17:58 < Not-9c26> [wiki] Edit by Fenhl to Client List -> http://tinyurl.com/jypsnol 18:06 < Not-9c26> [wiki] Edit by Rom1504 to Library List -> http://tinyurl.com/j7ze9td 18:08 < rom1504> "If you haven't committed to your repository in a few months, it will be marked as on hiatus." how much is "a few months" ? 3 months ? 18:18 <+AndrewPH> y doesn't classicalsharp on the client list 18:18 <+AndrewPH> y u cry mother 18:43 < Not-9c26> [wiki] Edit by Gjum to SMP Map Format -> http://tinyurl.com/hnwpdn8 19:48 < Not-9c26> [wiki] Edit by Kvqplay to Protocol -> http://tinyurl.com/j4gksrr 21:11 < hansihe> rom1504: https://github.com/PrismarineJS/minecraft-data/blob/master/data/1.8/protocol.json#L1619 this seems to be completely undocumented 21:13 < javaprophet> Fenhl, I see you changed the last version supported by my client to Unknown, is there a particular reason, or may I change it to 1.9.1-pre4? 21:14 <+Fenhl> javaprophet: 1.9.1-pre4 does not exist 21:14 < javaprophet> Oops, I mixed and matched :P I'll correct it. 21:17 < Not-9c26> [wiki] Edit by Javaprophet to Client List -> http://tinyurl.com/gprt77u 21:17 < rom1504> hansihe: yeah it's definitely not in the md, that's the more doc there is on it https://github.com/PrismarineJS/minecraft-data/blob/master/schemas/protocol_schema.json#L256 21:17 < rom1504> and looking at it, I think it could be replaced by a smart use of the mapper type maybe 21:17 < rom1504> it looks really similar 21:17 < hansihe> yeah 21:17 < hansihe> i would rather want to avoid implementing that if possible 21:18 < hansihe> it just adds complexity 21:19 < rom1504> yeah, count used to be all like this 21:19 < hansihe> ah 21:19 < rom1504> well, they used to be more complex 21:20 < rom1504> and then we simplified, except for this packet that is annoying 21:20 < rom1504> mapper was created not very long ago 21:20 < hansihe> right 21:20 < rom1504> I didn't even see it was the same thing 21:20 < hansihe> do you think i should implement it? 21:20 < hansihe> or is it avoidable? 21:22 < rom1504> hmm 21:22 < rom1504> I'm not sure how to implement this directly with mapper actually 21:23 < rom1504> without hiding the particles field 21:23 < rom1504> which we don't want to 21:23 < hansihe> yeah 21:24 < rom1504> https://github.com/roblabla/ProtoDef/blob/master/src/datatypes/structures.js#L22 that's what protodef currently do 21:24 < rom1504> but I guess it will be pretty different for you since you're compiling 21:26 < hansihe> yeah, i'm building a cleaner data representation first, then typechecking, then creating variables and resolving references, then generating the elixir ast 21:27 < hansihe> i might be overcomplicating it, but i don't really want it to generate an ast that won't compile 21:28 < rom1504> is that convenient to do in elixir ? generating an ast ? 21:29 < hansihe> the cool thing about elixir is that you can run arbitrary code at compile time 21:29 < hansihe> so you can generate an ast and define modules and functions with it 21:30 < hansihe> it's sorta lisp-macro-y, but it takes it one step further 21:32 < rom1504> hmmm, sounds like c++ constexpr but more powerful 21:32 < rom1504> there are hacks to do that kind of stuff in js because js is very hackable, but it's not as clean :d 21:32 < hansihe> defmodule, the thing that defines a new module is actually a type of function you call with a quoted ast 21:33 < hansihe> as is def, the thing you use for defining functions 21:33 < rom1504> https://github.com/roblabla/ProtoDef/pull/65#issuecomment-196383026 like this 21:33 < rom1504> (and I believe there are bigger hacks with overloading require but I didn't go that far yet ^^) 21:34 < hansihe> i would imagine someone has made something to make that kinda stuff easier 21:37 < rom1504> yeah maybe 21:37 < rom1504> I've seen http://sweetjs.org/ but it doesn't seem quite it 21:37 < rom1504> then there are bigger things like babel 21:38 < rom1504> I've just started trying thing on that topic 21:38 < rom1504> hansihe: anyway, I think you better implement the count thing for now, maybe we can remove it later, but I can't see an easy way to remove it right now 21:39 < hansihe> yep, i will do that then 21:39 < rom1504> it's kind of annoying that minecraft make the length of the array depend on a semantic information like the type of particle 21:39 < rom1504> ah 21:39 < rom1504> there would be a simple way to avoid this 21:39 < rom1504> a switch 21:39 < rom1504> with a fixed size array in the branches 21:40 < hansihe> yeah, that would work 21:41 < hansihe> so, the $thing notation refers to a item in the arguments of the custom type, right? 21:41 < rom1504> yes 21:42 < Not-9c26> [wiki] Edit by Fenhl to Client List -> http://tinyurl.com/jf7f579 21:43 < rom1504> I'm going to try to do that switch thing so I can remove that special count 21:43 < hansihe> alright 21:43 < hansihe> is there any big features i might have missed? 21:44 < hansihe> it would be easier to restructure and add now than later 21:47 < rom1504> hmm 21:47 < rom1504> hard to say without knowing what you did 21:48 < rom1504> I think the most complicated type to implement is bitfield 21:48 < hansihe> oh, that's the easiest for me 21:48 < hansihe> it maps 1-1 to elixir syntax 21:48 < rom1504> entityMetadataLoop is kind of a hack, but we don't have better for now 21:48 < hansihe> hmm 21:49 < hansihe> what about features like the $thing notation or the special count thing? 21:50 < rom1504> the $thing notation means you need to replace by the correct value when the type is used, protodef does that by going through the path in the json 21:50 < rom1504> ah about the special count, might want to look at the schema file 21:51 < rom1504> to see if there's any more of that 21:51 < hansihe> ah, yeah, you linked it earlier i think 21:51 < rom1504> https://github.com/PrismarineJS/minecraft-data/blob/master/schemas/protocol_schema.json#L256 21:51 < rom1504> yeah but it doesn't seem like there's anything else 21:51 < rom1504> we've done our best to eliminate these kind of too specific things 21:52 < hansihe> alright 21:52 < rom1504> I'm not sure how easy it is to read a json schema, I've gotten used to reading/writing them so it's easy for me, but not sure how confusing it is when I link a schema 21:53 < rom1504> okay what triggers a world_particle ? 21:53 < hansihe> it seems fairly understandable 21:54 < rom1504> testing with the proxy the new thing with the switch 21:54 < hansihe> is world_particle same as particle on wiki.vg? 21:55 < rom1504> yes 21:55 < hansihe> well, explosions, water droplets 21:56 < hansihe> it seems 21:56 < rom1504> ah the /particle command does it 21:57 < hansihe> yeah, that would make more sense 21:58 < rom1504> okay it works 21:59 < rom1504> ah 1.7 doesn't have that weird array 22:02 < hansihe> recent addition then 22:09 < Not-8b17> [minecraft-data] rom1504 pushed 1 commit to master [+0/-0/±6] https://git.io/va27b 22:09 < Not-8b17> [minecraft-data] rom1504 234ccb9 - remove special count syntax, adapt schema, fix test.js error displaying fix #129 22:09 < rom1504> hansihe: ^ 22:10 < hansihe> nice, thanks! 22:11 < hansihe> that will make things a bit easier for now at least 22:16 < rom1504> is your code reading the protocol.json and transforming it online yet ? 22:20 < hansihe> not on github, no 22:23 < hansihe> will put it up as soon as it somewhat works --- Day changed jeu. mars 17 2016 05:17 < ecx86> its been 6 years and mc client still doesnt clamp angles #mojang 05:18 < javaprophet> ecx, I know what your referencing, clamp them at a protocol-level serverside! 05:18 < ecx86> i know 05:18 < ecx86> it's a good thing and a bad thing mc client doesnt :) 05:18 < ecx86> for me 05:28 < javaprophet> http://screencloud.net/v/p5GT 05:31 <+md_5> dont call your client Minecraft C Version lol 05:32 < javaprophet> I'm not creative. :P Give me a better name? 05:32 <+md_5> you cant release it with that name 05:32 <+md_5> trademark etc 05:32 < javaprophet> I see. 05:54 < ecx86> ive got it 05:55 < ecx86> mine(C)raft 05:55 < javaprophet> :D 05:55 < ecx86> mine copyright symbol raft 05:55 < ecx86> so 05:55 < ecx86> Mine © Raft 05:55 < javaprophet> I'm thinking of calling it (something) Mod, and adding a lua scripting engine :P 11:26 < Not-8b17> [mineflayer] rom1504 deleted branch greenkeeper-minecraft-protocol-0.19.5 11:26 < Not-8b17> [flying-squid] rom1504 deleted branch greenkeeper-minecraft-protocol-0.19.5 15:22 < rom1504> javaprophet: here are some names for your project http://rom1504.github.io/adjective-animal/ 15:22 < rom1504> :P 15:22 < rom1504> would be nice to generate the corresponding image for the logo 15:23 < rom1504> that's much harder though :d 15:57 < javaprophet> rom1504: if you have an image of each animal, and also some kind of filter/mask/text for each adjective, you'll be in business. 16:03 < rom1504> that'd be fun 16:13 < yawkat> does the server honour the view distance sent in client settings? 17:01 < javaprophet> http://screencloud.net/v/iwAw 17:02 < javaprophet> yawkat: It does not in 1.8, however I imagine it does now due to chunk unload packet. 17:23 < rom1504> why would the chunk unload packet change that behavior ? 17:24 < rom1504> I mean it was already possible in 1.8, they just didn't do it 17:24 < rom1504> so idk why they would have changed it now 17:37 < Not-8b17> [mineflayer] rom1504 pushed 2 commits to master [+0/-0/±2] https://git.io/vawiV 17:37 < Not-8b17> [mineflayer] rom1504 37844b3 - Merge pull request #406 from PrismarineJS/greenkeeper-minecraft-wrap-1.0.0 Update minecraft-wrap to version 1.0.0 🚀 17:37 < Not-8b17> [mineflayer] rom1504 deleted branch greenkeeper-minecraft-wrap-1.0.0 22:01 < zxhello> hi 22:01 < zxhello> how can start midnight commander in a shell mode? 22:33 < M4GNV5> wut? 22:40 <+Fenhl> zxhello: this channel is about Minecraft, not Midnight Commander 22:40 <+Fenhl> M4GNV5: https://en.wikipedia.org/wiki/Midnight_Commander 22:41 <+Fenhl> > also known as mc, the command used to start it 22:44 < M4GNV5> ohh i see 23:03 < nickelpro> Whahahaha 23:13 < AtlasDev> Hello, can someone explain what the verify token is on the encryption request? 23:30 <+Fenhl> hmm, not sure 23:30 <+ammar2> its basically just some random bytes 23:31 <+Fenhl> so generated by the server? 23:31 <+ammar2> yes 23:33 <+Fenhl> what determines how long the byte array is? 23:34 <+ammar2> they can be however long you want, don't think it matters. I think its there because in case you make some error in your pub key code, the server doesn't accidentally end up sending you junk when it starts using AES 23:35 <+ammar2> so you would know you made a mistake at that point 23:35 <+ammar2> instead of later down the line 23:35 <+ammar2> the vanilla server sends 4 bytes 23:36 < Not-9c26> [wiki] Edit by Fenhl to Protocol -> http://tinyurl.com/hb4twtj 23:36 <+Fenhl> ¯\_(ツ)_/¯ 23:37 < Not-9c26> [wiki] Edit by Fenhl to Protocol -> http://tinyurl.com/h678j5f 23:37 <+ammar2> you may as well note that vanilla server sends 4 bytes, so people don't get confused on what the length should be 23:37 <+ammar2> whoop 23:37 <+ammar2> beat me to it :) 23:38 < javaprophet> I believe it's variable though right? 23:38 <+ammar2> what is 23:39 < javaprophet> The verify token. 23:39 <+ammar2> the bytes themselves are random 23:39 < javaprophet> VarInt-length prefixed yea 23:39 <+ammar2> but the vanilla server always sends 4 bytes 23:39 <+ammar2> the reason its not just 4 fixed bytes is because the sendBytes method or whatever they use internally always prefixes the length :^) 23:40 < javaprophet> http://wiki.vg/Protocol#Encryption_Request 23:40 < javaprophet> Another server could send any length it wanted, so I think it's better to say that than to let off that it is always 4. 23:40 < javaprophet> It's USUALLY 4. 23:40 <+ammar2> he said notchian servers 23:40 <+ammar2> so its fine 23:41 < javaprophet> I see 23:52 < Not-9c26> [wiki] Edit by Ammaraskar to Protocol -> http://tinyurl.com/go2hejh 23:55 < AtlasDev> Thanks! 23:58 <+ammar2> Fenhl: do you have anything that works better than vanilla Mojang ? I think vanilla might still be slightly confusing 23:59 < javaprophet> ammar2: What could be more clear than a vanilla client? 23:59 <+Fenhl> ammar2: what's wrong with Notchian? 23:59 <+ammar2> Fenhl: imagine you're someone new to the wiki 23:59 <+ammar2> what does the word Notchian mean --- Day changed ven. mars 18 2016 00:00 <+Fenhl> what does EID mean 00:00 <+Fenhl> or global palette 00:00 <+Fenhl> we simply define it 00:00 <+ammar2> well in this case its easier to use a word that's well understood before hand 00:00 <+ammar2> rather than introduce a term and define it 00:00 < pokechu22> "Vanilla" is a pretty standard term; "Notchian" is more or less unique to minecraft. 00:00 <+ammar2> and expect people to follow that definition throughout the page 00:01 < pokechu22> Still might make sense to give a reference definition of "vanilla". 00:01 <+Fenhl> the article is full of definitions, you can't really understand most of it without them 00:02 <+ammar2> well we may as well avoid another confusing term while we can 00:02 <+Fenhl> also vanilla is very ambiguous, and vanilla Mojang is clunky 00:02 < pokechu22> The phrase "Vanilla mojang" shouldn't be used... I agree on that. 00:02 < pokechu22> "Vanilla Minecraft" might work, though. 00:02 <+ammar2> yeah it just sounds awkward 00:03 < javaprophet> I prefer Notchian, it's specific and easily defined and intuitive to anyone who has seen the game very much. 00:03 <+Fenhl> pokechu22: vanilla Minecraft is wrong though. The article defines the vanilla Minecraft protocol, Notchian is a specific implementation of that 00:03 < javaprophet> I personally never had to ask anyone or think about it hard, don't fix what isn't broken, 00:03 < pokechu22> Technichally notch doesn't develop the game anymore... 00:04 <+ammar2> Fenhl: vanilla minecraft client isn't wrong though 00:04 <+ammar2> it implies a caveat specific to the default implementation 00:04 <+Fenhl> ammar2: Hematite has the goal of being a vanilla Minecraft client 00:05 < javaprophet> As with my client. :P 00:05 <+Fenhl> and many others 00:05 <+ammar2> that's where the ambiguity of vanilla kicks in 00:05 <+ammar2> I take vanilla to mean the implementation by mojang 00:05 <+ammar2> you take it to be anything that models the implementation by mojang 00:05 <+Fenhl> yes, it's ambiguous, hence why we shouldn't use it 00:06 <+Fenhl> or at least not without a definition 00:06 <+Fenhl> but even if we define it, Notchian is better because its meaning when not defined is less ambiguous 00:06 <+ammar2> Minecraft™ Client by Mojang™ 00:06 < pokechu22> "_the_ vanilla client" would be the one by Mojang; "a vanilla client" would be one that can connect. 00:07 <+Fenhl> pokechu22: people tend to not pick up on a distinction like this 00:07 <+ammar2> I guess I don't mind Notchian if we put a footnote or something that explicitly defines it 00:07 <+Fenhl> I'll do that 00:07 < JustASlacker> why not keep a glossary and link all the big words to it 00:08 <+ammar2> no one will keep it updated :P 00:08 < pokechu22> Let's define "Notchain" as "The official vanilla Minecraft client/server as implemented by Mojang" 00:08 < Not-9c26> [wiki] Edit by Fenhl to Protocol -> http://tinyurl.com/gohqmbp 00:08 < Not-9c26> [wiki] Edit by Ammaraskar to Protocol -> http://tinyurl.com/hxwydxe 00:09 <+Fenhl> lol 00:09 <+Fenhl> ammar2's edit actually happened first 00:09 <+ammar2> ¯\_(ツ)_/¯ 00:09 <+Fenhl> I blame notifico 00:10 <+Fenhl> if we had a wiki bot running on the actual wiki, this would not have happened 00:10 <+ammar2> Fenhl: how good are you with mediawiki? is there a way to add little reference/footnote thingies that link to the appropriate definition from where they appear in the text 00:11 < Not-9c26> [wiki] Edit by Fenhl to Protocol -> http://tinyurl.com/zpmqfkf 00:11 <+Fenhl> ammar2: that requires Extension:Cite which is not installed on our wiki 00:11 <+ammar2> tktech: ^ 00:12 <+Fenhl> it should be very easy to install as well since it's bundled with MediaWiki 00:13 <+Fenhl> just needs to be enabled in the LocalSettings.php 00:53 < pokechu22> I've almost got burger finished; just got to figure out one thing (I say; probably there'll be other things that are broken :/) 00:55 < pokechu22> Specifically, I'm getting "Mesa Plateau F M M" as a biome when that biome doesn't exist, and it seems like there is two `invokevirtual` instructions triggering it... 01:26 < pokechu22> ... ugh, I see what's happening. Regular Mesa Plateau is left on the stack until it's used... and _then_ put into a field. Meaning I never load it properly, so the wrong biome is used. 01:27 < Gjum> pokechu22: can you extract block+entity bounding boxes? 01:28 < pokechu22> Block bounding boxes? Maybe. Entity bounding boxes? Already done for _some_ of them. http://pokechu22.github.io/Burger/1.9.html#entities 01:29 < Gjum> ah right, found them in the json too 01:29 < pokechu22> Wait, it's only getting width and height. I'll look into that. 01:29 < pokechu22> Are there any entites with bounding boxes that aren't square? 01:29 < Gjum> horses for example 01:29 < pokechu22> ... there must not be since the bounding box doesn't rotate, never mind, height and width are all that are needed. 01:29 <+Fenhl> the dragon 01:30 <+Fenhl> iirc 01:30 < Gjum> well she is special 01:30 < Gjum> the only entity with multiple bbs 01:30 < Gjum> oh, and horses could be square-floored too 01:35 < pokechu22> Horses are still square, just checked it. 01:35 < Gjum> ok. so, what about blocks? their bb depends on metadata 01:36 < pokechu22> The end dragon looks like it's also actually just a giant square, but that might be F3+B not rendering right. 01:37 < pokechu22> Block BBs are more complicated IIRC. I probably won't be able to handle metadata with them (entities that change in size only use the default size) 01:38 < Gjum> block bbs are somewhat important for both clients and servers in gamemode 0+2 01:38 < Gjum> as you get kicked for flying if you ignore physics 01:39 < pokechu22> That's true. Still, it'll be hard to extract automatically :/ 01:41 < pokechu22> Also, NVM on the thing staying on the stack, it is actually stored. It's just that I was relying on the start of a new object to save the last one, and the M biome logic overwrote it. 01:52 < Gjum> pokechu22: any chance to extract the meaning of entity metadata? 01:53 < Gjum> for example what the bits of a bitfield mean 01:54 < pokechu22> Probably not; that's also fairly complicated. It _might_ be possible to make a list of all referenced metadata fields and their types, though. 01:55 < Gjum> including mappings to srg names? 01:55 < Gjum> well, that might be possible through the field names 02:19 < Gjum> seems like it's not that easy, srg is "field_12345_abc -> HumanName", but is there an "sdf -> field_12345_abc" mapping? 02:21 < pokechu22> Yes - `joined.srg`. 07:39 <+Amaranth> Notchian is kind of a dumb way to describe vanilla MC these days, Grum has worked on the game longer than Notch at this point