01:11 < rom1504> let's hope they didn't put json in that 01:11 < rom1504> (entity metadata) 01:12 < HansiHE> metadata is normally short and conditionally some bytes followed by nbt i think 01:12 < HansiHE> wouldnt make sense to move that to json 01:13 < HansiHE> i mean, they might have 01:13 < rom1504> I mean 0x1C 01:13 < rom1504> http://wiki.vg/Entities#Entity_Metadata_Format 01:13 < Not-390> [1.8-Models] drXor pushed 1 commit to 1.9 [+0/-0/±1] http://git.io/vYxld 01:13 < Not-390> [1.8-Models] drXor 1eea8bb - Start on a conversion script. 01:14 < rom1504> it can contain a string 01:15 < rom1504> so I guess if someones goes wrong there it's possible that it is losing json 01:16 < HansiHE> oh, right 01:16 < rom1504> {"key":2,"value":"","type":"string"} 01:16 < rom1504> hmm 01:16 < rom1504> looks weird 01:16 < rom1504> I don't know what this is supposed to contain 01:17 < HansiHE> does gson on strict treat an empty string as invalid json? 01:17 < HansiHE> you could try putting {} or something in there 01:17 < rom1504> HansiHE: yeah, only array and object are considered valid 01:18 < rom1504> hmm 01:18 < HansiHE> yeah, that's very shady then 01:25 < rom1504> hmm doesn't seem to fix it. anyway http://wiki.vg/Entities doesn't mention that this string can be a json 01:26 < HansiHE> hmm 01:41 < rom1504> meh I think the pb is just http://wiki.vg/Protocol#Response 01:42 < rom1504> and the vanilla client just takes some time to decide he wants to crash 01:45 < rom1504> hmm 01:45 < rom1504> no that's status state only 01:47 < rom1504> it gives me that error even if I write 0 packet in PLAY state 01:47 < rom1504> must be missing something 01:56 < HansiHE> oh, you get the error even when don't writing anything in play? 01:56 < HansiHE> rom1504, 01:57 < rom1504> I figured out that json error.. 01:57 < rom1504> so silly 01:57 < rom1504> we are closing the connection somewhere by sending a 0x40 01:58 < rom1504> apparently with a reason that is not json 01:58 < rom1504> and it has to be 01:58 < rom1504> .. 01:58 < rom1504> I don't know what's a valid reason 01:59 < rom1504> http://wiki.vg/Protocol#Disconnect 02:00 < rom1504> it can't be "" 02:04 < rom1504> also I think that's a server bug 02:04 < rom1504> the vanilla server is sending me { reason: 'Error' } 02:04 < rom1504> ah no 02:04 < rom1504> that's me again 02:07 < rom1504> alright that's fixed 02:08 < rom1504> '{"text":"'+endReason+'"}' is valid 02:12 < rom1504> now it crashes with a nicer error 02:12 < rom1504> .. 02:15 < rom1504> [Error: Top tag should be a compound] 02:16 < rom1504> NBT win 03:32 < Wuppie> hey guys 03:32 < Wuppie> i'm trying to implement sending head rotations to the client 03:33 < Wuppie> i don't really get how to calculate the head yaw tho.. 03:33 < Wuppie> :( 03:33 < rom1504> @Wuppie use mineflayer ? 03:34 < Wuppie> mineflayer? 03:34 < Wuppie> what is that 03:34 < Wuppie> xD 03:34 < rom1504> https://github.com/andrewrk/mineflayer/blob/master/doc/api.md#botlookatpoint-force-callback 03:34 < Wuppie> oh 03:34 < Wuppie> It's for my custom server 03:34 < Wuppie> ;) 03:34 < rom1504> are you building a client or a server ? 03:34 < rom1504> or a proxy ? 03:34 < Wuppie> server 03:34 < Wuppie> i got terrain, waterflow, lava flow, items, entitys working 03:35 < Wuppie> just never finished head rotation 03:35 < Wuppie> xD 03:35 < rom1504> nice 03:35 < Wuppie> as i never really understood the calculations for that 03:35 < rom1504> well you might still be interested in that code https://github.com/andrewrk/mineflayer/blob/3d2acc2876a8fe8dff08d4d23df7459770aca93f/lib/plugins/physics.js#L324 03:35 < rom1504> hmm 03:36 < rom1504> what calculation do you need to do ? 03:36 < rom1504> I can't quite see why the server need to do any calculation for the head rotation 03:36 < Wuppie> well maybe not 03:36 < rom1504> @Wuppie is your code online somewhere :) ? 03:36 < Wuppie> but from the client i receive: pitch & yaw 03:37 < Wuppie> which is pitch for the head 03:37 < Wuppie> & yaw for body + head in one 03:37 < Wuppie> yeah, its been online for a long time 03:37 < Wuppie> been on wiki.vg for a long time too 03:37 < Wuppie> 1 sec 03:38 < Wuppie> https://github.com/SharpMC/SharpMC 03:38 < Wuppie> i just started working on it again 03:38 < Wuppie> @rom1504 03:38 < Wuppie> but, how would i get the Head Yaw, out of the yaw that is sent me from client 03:39 < rom1504> oh wow I thought I was on an other chan 03:39 < Wuppie> lol 03:41 < rom1504> I don't really know about these pitch/yaw computation like that 03:41 < rom1504> I think wiki.vg has info on them though 03:41 < Wuppie> they do 03:41 < Wuppie> but i don't get it 03:41 < Wuppie> lol 03:43 < Wuppie> i know it has something todo with http://wiki.vg/Protocol#Player_Look 03:43 < Wuppie> well, that what i think 03:43 < Wuppie> but i dont see how i know what a player is looking at 03:46 < rom1504> are you sure what the client send you isn't the head yaw ? 03:46 < rom1504> wiki.vg says "The yaw of player (in degrees), standing at point (x0, z0) and looking towards point (x, z) one can be calculated with:" 03:47 < rom1504> so it would seem you already have the other yaw : the head yaw 03:47 < rom1504> logically 03:47 < Wuppie> hm 03:47 < Wuppie> i will see 03:48 < Wuppie> its confusing 04:24 < rom1504> missing 16 bytes on 0x0e clientbound 04:26 < Wuppie> rom1504 who? lol 04:39 < rom1504> ? 04:44 < rom1504> some info on protocol changes : https://github.com/rom1504/node-minecraft-protocol/commit/9c87bd0cc788ce662d2484dd83b4c0877d10afae 04:44 < rom1504> taken from http://wiki.vg/index.php?title=Pre-release_protocol&oldid=6730 + some similar packet id changes 15:01 <+Amaranth> Wuppie, rom1504: That code is telling you how to generate the yaw to send to a server, like a lookAt() method or something 15:03 < rom1504> I guess he was trying to figure out how to send http://wiki.vg/Protocol#Entity_Head_Look packets 15:03 < rom1504> not sure it's needed though 15:08 <+Amaranth> I thought he was trying to figure out how to position his players server side based on incoming packets 15:09 <+Amaranth> But otherwise players work the same way they always have afaik and the head yaw stuff is just faked by the client? 15:09 <+Amaranth> Other entities have a separate bit of data for head yaw and you'll need to send it 15:39 < Voltasalt> I'm getting NaN a lot in Packet 06 PlayerPositionAndLook, is this a bug in my packet reading code or an intentional part of the lcient? 15:45 < rom1504> Voltasalt: that's a bug 15:45 < rom1504> there is no NaN 16:07 < Voltasalt> wtf http://i.imgur.com/D2AkDuV.png 16:08 < rom1504> Voltasalt: well yeah that's a bug 16:08 < rom1504> what language are you using ? 16:08 < Voltasalt> Java 16:08 < Voltasalt> Any immediately obvious issue? http://i.imgur.com/Goyk16L.png 16:11 <+ammar2> oh man that is a horrible way to read from a stream 16:12 <+ammar2> have you considered using DataInputStream or one of the similiar APIs 17:36 < Paprikachu> why can i still not upgrade to windows 10? 17:37 < shoghicp> because we hate you <3 17:37 < jast> AFAIK the updates are staggered, so billions of people don't hit the download servers at once 17:37 < shoghicp> ^ 17:37 < shoghicp> I heard that only limited people will get it during the first days 17:37 < jast> I believe insiders get to be first, followed by people who 'reserved' first, etc. 17:38 < jast> I'm one of the insiders. so far I haven't gotten an upgrade prompt either, but I'm in no real hurry 17:38 < Aragas> nah, if i'll ever use it, then only on a VM 17:38 < Aragas> those reports about security doesn't sounds good 17:39 <+ammar2> jast confirmed for microsoft shill 17:39 < barneygale> Aragas, which reports are those? 17:42 < Aragas> was a bit incorrect. I mean, all those 'only online' functions, settings that are hidden under 4 menus, they all wanna mah private information. nope nope nope 17:49 < rom1504> "billions of people" I wouldn't say there are that many win7 and win8 users 17:52 < barneygale> I haven't seriously used windows in about 10 years, though I keep it around for video games 17:53 < barneygale> I like the start menu right-click menu. It feels like, just before shipping, someone in MS said "christ, there's all these important parts of windows that are impossible to find, better add a menu" 17:53 < barneygale> and it is genuinely very useful 17:53 < jast> rom1504: the magic word is hyperbole. you may not have heard of it. 17:53 < jast> yeah, I agree, I love win+x 17:54 < jast> as for the collection of data... you can turn all that off, AFAIK 17:55 < jast> do I like the defaults? nope. just like I don't like firefox and chrome having certain privacy-unfriendly things enabled by default. 17:55 < jast> a bit of unchecking checkboxes isn't going to stop me from upgrading 17:56 < Aragas> alt+F4 is the best 17:57 < jast> I set my own shortcuts for that 17:57 < Aragas> you should try it, better than any win+x 17:57 < barneygale> I used to love customizing my workspace, but nowadays I want an operating system I can install without doing much config to make it how I like. I moved off ubuntu because that became such a pain. 17:58 < jast> I see the problems with it, but I prefer customization 17:58 < barneygale> linux mint is quite close to how I like my desktop 17:58 <+ammar2> I liked crunchbang in that regard 17:58 <+ammar2> rip sweet prince 17:58 < jast> I'm a fan of fluxbox... easy to define shortcuts and even chains of shortcuts 17:59 < jast> and on windows, autohotkey 18:00 < Aragas> install and work? sounds like winxp 18:00 < jast> there are plenty of systems that work fairly well out of the box 18:00 < Aragas> oh and vista 18:01 < barneygale> XP got rid of my beautiful grey bevels 18:01 < barneygale> :( 18:02 < jast> nah, they were still there. still are in 7, too. not sure about 8. 18:02 < jast> you just have to turn off visual styles 18:04 < Paprikachu> WTF 18:04 < Paprikachu> my laptop that i just installed today 18:04 < Paprikachu> can upgrade to win10 18:04 < Paprikachu> but my pc cant 18:04 < Paprikachu> wieojgowjgwjigjwoigjweroigjweoiwj 18:05 < jast> it's a bit random, I guess... 18:05 < Aragas> they just know 18:08 < Paprikachu> best part is 18:08 < Paprikachu> my laptop didnt even have the "get windows 10" app 18:08 < Paprikachu> while my pc does 18:15 < rom1504> jast: there are billions people using some tech stuff these days though, like google search, so saying "billions" doesn't quite work 18:17 < jast> not impressed by your logic 18:24 < HansiHE> what is the block breaking behaviour? does the client not roll back the change when there is no response from the server? 18:29 < johni0702> HansiHE, should be the responsibility of the server to undo any block changes it doesn't like, as long as the client doesn't receive anything from the server it assumes that its change was allowed 18:31 < HansiHE> ah, thanks 18:31 < HansiHE> what is the mechanism behind blocks reappearing when there is lag though? 18:32 < johni0702> haven't seem that myself. However 18:32 < johni0702> I suppose that might be some flood prevention on the server side 18:33 < HansiHE> hmm 18:34 < HansiHE> i might have remembered wrong, it's been a while 18:35 < johni0702> just tried it: stopped the server and destroyed blocks until I timed out. none of them reappeared 18:36 < HansiHE> right, probably just my memory failing then 18:47 <+XorBoole> omfg 18:47 <+XorBoole> I'm going crazy trying to make a 1.8 -> 1.9 resource pack converter 18:48 <+XorBoole> I just hope there'll be an official tool 20:28 <+Amaranth> XorBoole: ha 20:28 <+XorBoole> ha what 20:28 <+XorBoole> are you laughing at my misfortune? 20:29 <+XorBoole> (I admit it, laughing at others' misfortune is fun) 20:29 <+Amaranth> At you thinking they'll give you a converter 20:29 <+Amaranth> They claimed they would have one (or already had one) in the game though 20:33 <+XorBoole> Amaranth they did one for 1.5 and 1.6 20:33 * XorBoole shrugs 20:33 <+XorBoole> I don't think they have me /that/ much 22:05 <+Thinkofdeath> XorBoole: its not the format that changed though right? just the things you inherited from 22:11 <+XorBoole> Thinkofdeath the way "display" is handled change 22:11 <+XorBoole> so old models look fucky 22:12 <+XorBoole> (personally I'd like an option to use the old display values) 22:12 <+XorBoole> unfortuantely I haven't been able to figure out exactly how it changed, and the relevant developers haven't answered my pings 22:14 < Voltasalt> Is PacketEntity 0x14 ever actually sent or just its subclassesd 15, 16 and 17? 22:36 < redstonehelper> XorBoole: when in doubt, bug report 22:36 < redstonehelper> but there are a few already that I've seen, mostly "hurr durr my texture pack is weird" 22:53 < Voltasalt> Also, clients can't see each other properly, what could I be missing from my server? 22:53 < johni0702> Voltasalt, only subclassed 22:54 < Voltasalt> broadcasts SpawnPlayer to every online player when someone logs in, and sends SpawnPlayer for every online player to the player that logs in 22:54 < Voltasalt> anything else needed to spawn entities client side? 22:54 < johni0702> for players you need to send a player list item each 22:55 < Voltasalt> johni0702, before or after SpawnPlayer? 22:55 < johni0702> I believe it's before but I'm no sure 22:55 < Voltasalt> because the players show up properly in the tab list 22:55 < Voltasalt> and I'm sending before 23:01 < HansiHE> Voltasalt, if i'm not mistaken spawnplayer is sent when the client comes into view 23:01 < Voltasalt> HansiHE, I know, but this is a special type of server where all players are bunched up close enough together that it won't matter 23:01 < Voltasalt> (ie. minigame) 23:01 < Voltasalt> no infinite worlds 23:03 < HansiHE> right 23:10 < rom1504> johni0702: http://wiki.vg/index.php?title=Pre-release_protocol&diff=6733&oldid=6732 block placement is 0x09 not 0x08 23:10 < rom1504> I guess I'll change it 23:10 < johni0702> has that changed? 23:11 < rom1504> yes, I just tried it with node-minecraft-protocol proxy 23:11 < rom1504> 0x09 works, 0x08 doesn't 23:12 < johni0702> hm.. must have switched 0x09 and 0x08 then, my bad 23:12 < johni0702> do you by any chance happen to know how long the payload for 0x08 is? 23:15 < rom1504> hmm 8+8+8+4+4+1 23:15 < rom1504> 33 23:16 < rom1504> well 34 with the packetId I guess 23:17 < rom1504> I don't know how you are doing these wiki upgrades but this might be useful https://gist.github.com/rom1504/f30d0cd18d4fb39d1515 correspondance between the decompiled class names and the packet ids 23:17 < rom1504> (also some fields but that's not entirely correct) 23:21 < johni0702> rom1504, should the id counter be reset for the "toServer" part? it seems to be counting through 23:22 < johni0702> what I mean is that there is no serverbound 0x01, 0x02, etc. 23:23 < rom1504> oh yeah good point 23:23 < rom1504> changing that 23:35 < rom1504> fixed 23:36 < johni0702> thx, that's indeed useful --- Day changed ven. juil. 31 2015 00:24 < rom1504> there's a serverBound 0x08 which seem to happen when right clicking with one byte field, sounds like arm_animation_answer 00:27 < rom1504> it uses the same enum than arm_animation uses 00:29 < rom1504> yeah let's add it 00:39 < rom1504> hmm it's sent whenever you right click 00:39 < rom1504> not sure what its name should be 00:40 <+Thinkofdeath> Interact/Use Item ? 00:47 < rom1504> yeah I was going for use item, but the sword move differently that left clicking 00:47 < rom1504> it's like it's trying to block an attack 00:48 < rom1504> is that a thing ? 00:48 < rom1504> *than 00:50 < rom1504> hmm no it has to do with that 2 swords thing 00:50 < rom1504> use item is fine 00:53 < rom1504> done 11:01 < johni0702> hmm when using flint'n'steel from the main hand Use Item (0x08) isn't sent, however when using it from the offhand with a pickaxe in the main hand it is sent but with 0x00 payload (main hand) 11:29 < rom1504> how are you using it ? right clicking ? 11:30 < rom1504> when I tested it yesterday, no matter what I put in the main hand, it sent the 0x08 packet 11:30 < rom1504> (when right clicking) 11:43 < johni0702> for me it only sends it when clicking in the air (e.g. redstone placement doesn't) tough I'm still on 15w31a which might be the reason. as for the flint'n'steel, yes, right clicking, setting the block targeted on fire 11:43 < johni0702> s/tough/though/ 11:47 < johni0702> nope, just updated. simply right clicking with flint'n'steel on a block doesn't send the 0x08 packet whereas clicking in midair does 11:49 < johni0702> hm, now it also sends two 0x08 packets (one for each hand) if I have items in both hands 11:52 < johni0702> but when having an ender pearl in the main hand and something else in the off-hand it only sends one 0x08 packet (with main hand payload). I should create a table otherwise I'm going to lose track 12:05 < rom1504> oh yeah I only tried clicking in the air I think 12:06 < rom1504> "use item" is fairly accurate to what that packet is about I think though 12:10 < rom1504> https://github.com/PistonDevelopers/hematite_server/blob/master/src/packet.rs#L318 https://github.com/PrismarineJS/node-minecraft-protocol/blob/master/protocol/protocol.json I wish we could define a common format and store that file in a common repo so people wouldn't have to replicate the work again and again 12:11 < rom1504> (that only work when the protocol is loaded dynamically though, not when it is represented in classes like MCProtocolLib) 12:12 < rom1504> https://github.com/SpockBotMC/SpockBot/blob/master/spock/mcp/mcdata.py 12:12 < rom1504> I should put a list of all these protocol files people have been creating 12:12 < rom1504> *make 12:14 < barneygale> bah, packets got renumbered? 12:14 <+Dinnerbone> We told you guys that packet IDs aren't set in stone and are just arbitrary per protocol version, sorry :( 12:15 < barneygale> Dinnerbone, I do remember you saying that, I just hoped you'd forget :D 12:15 <+Dinnerbone> Not much to forget, it's been that way in the codebase for almost 2 years now! It's not a button I have to remember to push to scramble them and upset everybody. 12:21 < rom1504> https://gist.github.com/rom1504/7b4c0cc29fb03122b6a5 12:23 < rom1504> here is that list 12:27 <+Thinkofdeath> the hard part isn't moving the ids in code (for most projects I hope) just finding where they moved too 12:33 < rom1504> yeah, but it's not that hard though, since the ids didn't move randomly, most of them were incremented (look at http://wiki.vg/Pre-release_protocol ) 12:34 < barneygale> my library lets you hook by id; I'll move it to names I suppose 12:36 < barneygale> rom1504, I think this sort of thing is fairly reasonable: https://github.com/hansihe/pymcprotocol/blob/master/packets/play/clientbound.py#L294-L326 12:36 < barneygale> (quite an old project) 12:37 < rom1504> barneygale: that look at lot like our protocol.json 12:37 < rom1504> ( https://github.com/PrismarineJS/node-minecraft-protocol/blob/master/protocol/protocol.json ) 12:38 < rom1504> I'm adding it to my list though 12:38 <+Thinkofdeath> I use structs instead of json but the idea is the same https://github.com/thinkofdeath/steven/blob/master/protocol/play_clientbound.go 12:38 < barneygale> hmm, that json looks super useful 12:40 < rom1504> Thinkofdeath: yeah, adding it too 12:48 < rom1504> okay I tried to describe the formats in a few words for each of these protocol representation so it's not just a list of all the minecraft client/servers ^^ 12:50 < johni0702> btw: I'm keeping an updated fork of MCProtocolLib for a private project of mine (I only use clientbound packets though, so be careful with serverbound ones) which kind of documents how the Boss Bar Packet (0x49) works. if someone wants to verify that and/or add the packet to the pre-release wiki page feel free to to so. 12:51 < johni0702> that is: https://github.com/Johni0702/MCProtocolLib/blob/snapshot/src/main/java/org/spacehq/mc/protocol/packet/ingame/server/entity/ServerUpdateBossBarPacket.java 12:54 <+Dinnerbone> Your "MagicValues" should be actually varints, not unsigned bytes. Not an issue in this particular case but futureproofing! 12:54 <+Dinnerbone> All writeEnum/readEnum done in mc are varints 12:55 < johni0702> ah, thx for the hint 12:56 < rom1504> are you sure that's 0x49 ? what happenned to "Update Entity NBT" ? 12:56 < johni0702> idk, pretty sure it's 0x49 though 12:56 <+Dinnerbone> That packet wasn't actually used anywhere, was it? 12:56 <+Dinnerbone> Entity NBT 12:57 <+Dinnerbone> I removed it because it wasn't used and none of us even knew it existed. 12:58 <+Thinkofdeath> I think at one point armorstands used it instead of metadata 12:58 <+Thinkofdeath> but after that I don't think it was used 13:00 < rom1504> ok that explains that 13:21 < HansiHE> i use a dsl in elixir for describing packets, https://gist.github.com/hansihe/64411a86ea7655498e48 13:21 < HansiHE> i think it works quite nicely 13:22 < HansiHE> packet is a macro that generates code for both serializing and deserializing that packet 13:26 < ScruffyRules> So MC-46345 aye? 13:40 < rom1504> HansiHE: what is elixir ? 13:41 < HansiHE> rom1504, erlang with better syntax 13:41 < HansiHE> http://elixir-lang.org/ 13:42 < rom1504> oh, fun 13:42 < rom1504> and you're implementing mc protocol with elixir ? 13:42 < HansiHE> i'm having a go at implementing a server 13:42 < HansiHE> the protocol part is done 13:42 < rom1504> okay, interesting 13:43 < HansiHE> im at the point now where i can log in and walk around 13:44 < HansiHE> the erlang vm is actually very well suited for something like a minecraft server 13:44 < HansiHE> it is absolutely trivial to move heavy things, like chunk generation, over to a dedicated box 13:48 <+ammar2> you mean its easy to parallelize? 13:49 < HansiHE> yeah, that's one thing 13:50 < HansiHE> it all works on message passing between processes 13:51 < HansiHE> very lightweight userspace processes 13:51 < HansiHE> so the way i'm doing it right now, every player is a process, every chunk is a process 13:52 < HansiHE> so by default it runs on all cores on the machine 13:55 < HansiHE> the same message passing mechanism works between boxes as well, so spawning a process on another box is as easy as spawning one locally 13:56 < barneygale> :o that sounds pretty great 13:56 < barneygale> hope the IPC costs don't kill you 13:58 < rom1504> https://gist.github.com/rom1504/7b4c0cc29fb03122b6a5#format : that's my opinion on what's best for a protocol file format 13:58 < rom1504> tldr : language specific format cannot be used by other languages 13:59 < rom1504> (I'm the one that transformed the javascript object nmp was using to a json file :d) 14:00 < rom1504> *node-minecraft-protocol 14:01 < HansiHE> barneygale, locally message passing is pretty cheap, so it shouldnt be that bad 14:02 < rom1504> HansiHE: if that really work, that sound like you can scale as much as you want 14:02 < HansiHE> when doing it across boxes i obviously need to think more about what im doing 14:02 < HansiHE> rom1504, well, theoretically :P 14:06 < rom1504> let me know when we can connect 10000 bots to your server to test that in practice :p 14:07 < HansiHE> :) 14:07 < HansiHE> oh, you added my dsl thing to the list? 14:09 < HansiHE> i can put the full thing up on github if you like 14:14 < Fenhl> rom1504: Hematite's implementation is not a dictionary, it's a macro 14:15 < Fenhl> we're basically using a macro to write the protocol to get all the enums and traits and stuff for encoding and decoding automatically 14:16 < Fenhl> I'm currently working on the part where it also works with local servers using shared memory instead of byte streams, like Notchian does 14:17 < rom1504> okay, I don't know rust so I was just guessing, changing that 14:17 < HansiHE> rom1504, link this instead, https://github.com/hansihe/McEx/blob/master/lib/net/packets.ex 14:18 < rom1504> done 14:21 < HansiHE> standardizing the protocol representation is a very nice idea 14:23 <+ammar2> may as well come up with a scheme to document the representation so we don't have to deal with the horrible medawiki formatting 14:23 <+ammar2> and can just auto generate it 14:24 < rom1504> yeah that would be interesting, I did some work on that using node-minecraft-protocol protocol.json http://prismarinejs.github.io/minecraft-data/#protocolTableA 14:24 < rom1504> (on the right) 14:25 < rom1504> it's definitely not as good as current wiki.vg/Protocol but that's just to show the idea 14:25 < HansiHE> it doesnt take that much to get it up to par 14:26 < HansiHE> add fields for comments and notes 14:26 <+ammar2> yeah but doing stuff like formatting in json gets iffy 14:27 <+ammar2> maybe markdown with a neat systematic structure for the fields or something 14:27 <+ammar2> or better yet 14:27 <+ammar2> have the definitions for the packets be in json 14:27 <+ammar2> but in markdwon you can just insert the definition table 14:28 <+ammar2> something along the lines of autodocs with sphinx 14:29 < rom1504> hmm what do you mean by "definition table" ? 14:29 < rom1504> that http://wiki.vg/Protocol#Definitions ? 14:29 <+ammar2> like we have on the wiki, the table with the field name and description packet id etc 14:29 < rom1504> oh 14:29 <+ammar2> the markdown will be for extra info like in the player movement packet for example 14:38 < rom1504> ah 14:39 < rom1504> it would be possible to put markdown in a json string 14:39 < rom1504> hmm that would make the json file ugly though 14:39 <+ammar2> yeah 14:39 <+ammar2> rom1504: I'm imagining something like this https://raw.githubusercontent.com/ammaraskar/pyCraft/master/docs/authentication.rst 14:40 <+ammar2> but with more markdown instead of restructured text 14:40 <+ammar2> so places where there's like .. autofunction 14:40 <+ammar2> we'd have a thing that pulls the structure from the json 14:40 <+ammar2> So you can do like 14:40 <+ammar2> Information about movement packet bla bla 14:41 <+ammar2> .. autopacket player-move-and-look 14:41 <+ammar2> or something like that 14:41 < rom1504> oh, what about a {{Packet|0x06}} template that would pull info from the json ? 14:41 <+ammar2> that works too 14:42 <+ammar2> or rather that's what I mean 14:42 <+ammar2> but god damn I really hate wiki formatting 14:42 <+ammar2> it makes me cry 14:42 <+ammar2> the tables are soooo ugly 14:43 < rom1504> I think we could generate the table, putting the note in the .json might be okay 14:43 < rom1504> hmm not sure 14:43 <+ammar2> nah nah 14:44 <+ammar2> don't put documentation in the json 14:44 <+ammar2> it'll get messy very fast 14:44 < rom1504> yeah but then how do you map notes in markdown/wikitext and info from the .json ? 14:45 < HansiHE> how about a text file with embedded json describing the packets? 14:45 < HansiHE> then have a simple script to extract the embedded json 14:45 < HansiHE> that would be both human readable and machine readable 14:45 <+ammar2> rom1504: packet names 14:46 < rom1504> the notes are for each field 14:46 <+ammar2> oh small notes can go in the json 14:46 <+ammar2> that's fine 14:46 <+ammar2> I mean the proper in depth descriptions need a proper formatting language 14:46 < rom1504> oh yeah ok I agree 14:47 < rom1504> it's better to map by packet id than packet names though, the packet names are not always the same 14:47 < rom1504> (they are no official packet names) 14:48 <+ammar2> well packet ids are just a volatile number, as seen this update 14:48 <+ammar2> coming up with meaningful names might be better in the long term 14:53 < rom1504> I tried to put the idea there https://gist.github.com/rom1504/7b4c0cc29fb03122b6a5#relation-with-wikivgprotocol 14:55 < rom1504> basically that would be 2 files : 1 protocol file (in json for example), 1 description file (in markdown or wikitext). Then we could generate something like wiki.vg/Protocol from it 14:55 <+ammar2> aye 14:55 <+ammar2> sounds good 15:12 < barneygale> Hand-written sphinx documentation with roles for substituting in packet structs would be nice 15:20 < Not-c389> [mc-autodocs] thinkofdeath pushed 1 commit to master [+2/-1/±119] http://git.io/vOIEQ 15:20 < Not-c389> [mc-autodocs] thinkofdeath cea48fb - 15w31b 15:20 <+Thinkofdeath> names should be right now 15:24 < rom1504> barneygale: what do you mean by "roles for substituting" ? 15:26 < barneygale> rom1504, you can extend sphinx so things like :packet:`play,client,2A` will run some python code that generates more reST. 15:26 < barneygale> your python code can build a table of packet fields from json (or whatever format we're using) 15:26 <+ammar2> my one gripe with sphinx is, reST is ugly as fuck 15:26 <+ammar2> markdown looks pretty in plaintext and rendered 15:27 < barneygale> I agree markdown is better for plaintext, but reST has considerably more features 15:28 <+ammar2> like what 15:29 < barneygale> semantic markup, cross-referencing, table of contents, extensibility 15:30 < barneygale> github-flavoured markdown has some of that stuff 15:30 < barneygale> I think 15:31 < rom1504> markdown have the avantage of being fairly simple and known by basically everybody that uses github 15:31 <+ammar2> yeah I don't think mardown is meant for multiple pages which is why corss referencing/toc is missing 15:31 <+ammar2> but you can extend markdown to have whatever if you really want 15:33 < barneygale> to be honest, I don't know much wiki markup, but I can still edit the Protocol page without much trouble 15:33 < rom1504> yeah same thing for wiki markup, as long as you keep to simple things, you can edit it without knowing too much about it 15:33 <+XorBoole> Thinkofdeath apparently bossless bossbars is a thing now? 15:33 < barneygale> You also have a bunch of useful things like notes, warnings, comments, footnotes, images, indices, etc etc 15:34 <+Thinkofdeath> XorBoole: haven't looked yet, just based the name on a comment from here 15:35 < rom1504> the problem with wiki markup is you can only display it with a wiki (because the format is a pain to parse), not sure if that's a problem 15:35 <+ammar2> it wouldn't 15:35 <+Thinkofdeath> 'NOTCHED_12("NOTCHED_12", 3)' wat 15:35 <+ammar2> and yeah I guess wiki is fine 15:36 < johni0702> Thinkofdeath, that's a boss bar which is split into 12/13 (not sure) parts by 11/12 vertical lines 15:36 <+XorBoole> let's talk about how we should form a vigilante mob and murder whomever designed wiki markup 15:36 < barneygale> i blame jimmy wales 15:37 <+Thinkofdeath> johni0702: ah, ty 15:37 <+ammar2> don't you enjoy seeing his face on top of wikipedia 15:37 <+ammar2> every single day 15:37 * Thinkofdeath updates enums 15:37 < rom1504> the pb is actually that it's not one person that designed it, but that whatever people type in the source of wikipedia the parser must handle it (and mediawiki's parser is ugly shit with regex in php) 15:37 <+XorBoole> isn't that they guy that keeps asking for my money whenever I copy paste wikipedia for a school paper? 15:37 <+XorBoole> he ain't getting my money 15:37 < johni0702> Thinkofdeath, 12 parts, split by 11 lines. (this is NOTCHED_10: https://i.johni0702.de/nn.png ) 15:38 <+XorBoole> because I have no money 15:38 <+ammar2> XorBoole: sell your body for jimmy 15:38 <+XorBoole> who wants a fat jon snow lookalike's body 15:39 <+ammar2> that's my fetish 15:39 <+XorBoole> not the wierdest I've encountered 15:39 <+ammar2> barneygale: the problem I had with the wiki formatting is that to extend it we'll likely need to change things on the wiki and TkTech seems really dead 15:40 < Not-c389> [mc-autodocs] thinkofdeath pushed 1 commit to master [+3/-0/±1] http://git.io/vOIrY 15:40 < Not-c389> [mc-autodocs] KodekPL 164a545 - Add boss bar enums 15:40 <+XorBoole> ammar2 http://img.pandawhale.com/108471-thats-my-fetish-gif-Avatar-Top-PUrD.gif 15:40 <+ammar2> XorBoole: mmm dats the gif I was looking for 15:40 < barneygale> ammar2, I thought this was something entirely separate from wiki.vg, which would replace the Protocol/Pre-release Protocol pages 15:40 <+Thinkofdeath> er, wrong git config .-. 15:41 <+XorBoole> the stich one's pretty good, but the scooby-doo one's the classic 15:41 <+XorBoole> also 10/10 best avatar episode 15:41 <+ammar2> barneygale: it could well be but we may as well keep the wiki tied in since most people are used to it 15:41 <+XorBoole> HOOONOOOR! 15:42 <+ammar2> wether that means putting up an external link for the protocol or changing the actual page 15:42 < Not-c389> [mc-autodocs] thinkofdeath pushed 1 commit to master [+3/-0/±1] http://git.io/vOIrQ 15:42 < Not-c389> [mc-autodocs] thinkofdeath 1c08d76 - Add boss bar enums 15:47 < rom1504> I think pulling from a template from the wiki protocol page might work 15:47 < rom1504> not sure how that protocol file should be versionned though 15:47 < rom1504> currently wiki.vg/Protocol is in free modification by anyone 15:48 < rom1504> idk if putting a .json file in a wiki page makes any sense 15:48 < rom1504> because if it was in a github repo, it would not be in free modification access by anyone 15:48 < rom1504> it would need to go through PR, which is not instant 15:57 < rom1504> well I guess putting the json in the wiki page might work, and it could easily be extracted 15:59 <+ammar2> putting it in an official mcdevs repo is fine 15:59 <+ammar2> wonder who has admin abilities over it https://github.com/mcdevs 16:00 <+SinZ> probably tk 16:00 <+ammar2> yeah I meant someone who isn't dead :^) 16:06 <+ammar2> barneygale should be able to see the admins seeing as he's a member 16:07 < Not-c389> [mc-autodocs] thinkofdeath pushed 1 commit to master [+8/-1/±119] http://git.io/vOISj 16:07 < Not-c389> [mc-autodocs] thinkofdeath 37b10df - 15w31b 16:08 <+Thinkofdeath> (sorry about force pushing a lot, I prefer to keep the history neat on this repo) 16:12 < konwboy> This new Boss Bar packet is really cool :) http://i.imgur.com/piHpUhn.png 16:12 < Not-c389> [mc-autodocs] thinkofdeath pushed 1 commit to master [+0/-0/±22] http://git.io/vOIHB 16:12 < Not-c389> [mc-autodocs] thinkofdeath 488447e - 15w31c 16:13 <+Dinnerbone> I'm glad you approve! 16:13 < konwboy> Yeah! Thank you! 16:13 <+Dinnerbone> Protocol itself didn't change in 31c btw, but we added an entity which warrants incompatiblity 16:13 <+Thinkofdeath> neat, is there a limit on the number of bars? 16:13 <+Thinkofdeath> ah thanks 16:14 < konwboy> max is 4 16:14 <+Dinnerbone> Max is 1/3rd of your screen 16:14 <+Thinkofdeath> so it can be different per a player? that might be a bit of a pain 16:14 <+Dinnerbone> I'm hoping you don't use more than... say.... 1 16:14 <+Dinnerbone> :D 16:15 <+Dinnerbone> 2 in rare cases. 16:15 * Thinkofdeath adds 200 16:15 < HansiHE> really using uuids for everything 16:16 <+Thinkofdeath> I really need to get a way to play around with snapshot protocol stuff 16:16 < cindy_k> o.O I thought you had one? 16:16 <+Thinkofdeath> 1.7 I had netherrack, 1.8 had spigot but this time we aren't planing a 1.9 protocol patch 16:17 <+Thinkofdeath> and steven is only a client which is no fun 16:18 <+XorBoole> Dinnerbone but fighting 20 withers at once is trendy, right? 16:18 <+Dinnerbone> Extremely! 16:18 <+XorBoole> the boss bars piling up is part of the challenge, obviouslly 16:19 < ScruffyRules> Thinkofdeath, Make Cobblestone, a new Netherrack 16:19 <+XorBoole> also, now that I have you. what did you break with resource packs? 16:19 <+XorBoole> namely, ohw does versioning work and how did `display` in models change? 16:19 <+XorBoole> I've been decompiling like crazy and haven't been able to figure it out 16:20 <+Dinnerbone> Versioning: Up the version number in pack.mcmeta. You already have it, or it wouldn't have ever loaded. 16:20 <+XorBoole> that's what I thought, are we on '2' now? 16:20 <+Dinnerbone> Yes. 16:20 <+XorBoole> is there a way to convert from old display offsets to the new ones? 16:21 <+XorBoole> I know gui doesn't automatically render isometric now, but the others have been nigh impossible to figure out 16:22 <+Amaranth> btw http://pandoc.org/README.html#pandocs-markdown 16:22 < yawkat> why does minecraft <1.8 send 0-length packets sometimes? 16:22 <+XorBoole> redstonehelper note above ^, resource pack versioning is not in your changelogs 16:23 < konwboy> As you are there, Dinnerbone 16:23 < konwboy> Is there any chance that Client Settings packet will send Chat Width setting? 16:24 <+Dinnerbone> What for? 16:24 <+Amaranth> What good would that be? 16:24 <+Amaranth> Text isn't monospace, is it? 16:24 <+Dinnerbone> You'd also need to know their font and scale settings etc to figure out the width of text 16:24 < konwboy> For centering messages 16:24 <+Amaranth> Centering messages is not a thing you can actually do 16:24 <+Dinnerbone> Well you couldn't without having their font, and also knowing their scaling settings 16:24 < yawkat> my cowsay port just assumes default 16:25 < konwboy> oh, okay 16:25 < ScruffyRules> Always assume default 16:25 < yawkat> nobody touches settings anyway! 16:26 < Wuppie> Would be nice if there is like a '§' code for centering text 16:26 <+XorBoole> section codes are deprecated 16:26 <+ammar2> § is dead 16:26 <+ammar2> long live § 16:26 <+Amaranth> Then the client would have to figure out what center is :P 16:26 < Wuppie> § is dead? 0.o 16:26 <+XorBoole> there's the json format 16:26 < ScruffyRules> Or {center:"asdasd"} 16:26 * Thinkofdeath goes through correcting people assuming varints are bytes on the pre-release protocol page 16:26 < Wuppie> well, if the client has to figure it out, that isn't to bad right? 16:26 < HansiHE> it would be nice having the data to calculate the width of chat uis serverside 16:27 <+ammar2> Thinkofdeath: pftt, same thing 16:27 <+XorBoole> #varintmasterrace 16:27 < Wuppie> i'm gonna starting working on porting my 1.8 server to 1.9 soon lol 16:27 <+XorBoole> ScruffyRules also it'd probaly be "format":"center" 16:27 <+Amaranth> Client having to figure it out is better than trying to send enough information for the server but it's a complicated thing which means they probably will never get around to it :P 16:27 <+XorBoole> unless format is a list 16:27 < yawkat> Thinkofdeath: are packet numbers >127 now or what? 16:27 <+XorBoole> I don't remember 16:27 < ScruffyRules> Yeah, I don't actually know how that stuff is done. xD 16:28 <+XorBoole> yawkat they're varints, obviouslly 16:28 <+Thinkofdeath> yawkat: nah, just readEnum is a varint not a byte 16:28 <+ammar2> Amaranth: especially when there's a way to show big centered messages already 16:28 <+Amaranth> ammar2: Several ways! 16:28 <+XorBoole> about three I think 16:28 <+XorBoole> hotbar, item bar, titles 16:28 <+XorBoole> oh, and bossbars 16:29 <+ammar2> all hail our new bossbar overlords 16:30 <+XorBoole> I like the 1.8 bug where giving a boss more hp than default will cause the bar to wrap 16:31 <+XorBoole> even it the max health i also increased 16:32 <+XorBoole> Dinnerbone did you see my question about "display" offsets in models? 16:34 < barneygale> ammar2, do you need the member list? I assume it's fine for me to tell you 16:35 <+ammar2> barneygale: can you see the administrators group? I think normal members can 16:35 <+ammar2> I assume its just TkTech and sadismusi in which case we're a bit screwed 16:35 < barneygale> I can see 7 people in the group. Everyone is a "member", except Tk who is an "Owner" 16:35 <+ammar2> yup, I'll message Tk on github then 16:35 <+ammar2> or email him rather 16:36 < barneygale> /whois says he was only marked as away earlier today 16:36 <+ammar2> oh that's new 16:36 <+XorBoole> I stabed him the other day over some channel issue, he didn't respond 16:36 < rom1504> yeah "message on github" is not a thing 16:37 <+ammar2> his idle time was 400 hours before 16:37 <+ammar2> rom1504: make issues on all his repos 16:37 < rom1504> :d 16:37 < rom1504> that works 16:37 <+XorBoole> ammar2 that's plain evil 16:37 * XorBoole writes a tool for it 16:38 < rom1504> I like these mentions functionnalities in github 16:39 < rom1504> (issue mention, people mention) 16:39 < HansiHE> add an issue on all his repositories :P 16:39 <+XorBoole> or you could make a gist and @mention him in it 16:39 < HansiHE> oh, didn't read before saying 16:40 <+Thinkofdeath> Ok, fixed up the varint issues on the page and added some missing changes 16:40 < rom1504> XorBoole: does that work ? (send him and email and all) 16:40 < rom1504> *github send 16:41 <+XorBoole> rom1504 maybe 16:42 < rom1504> I want http://webmention.org everywhere 16:44 < rom1504> oh yeah use item has a varint 17:16 < redstonehelper> XorBoole: I think there's a small note somewhere, but I'll add it. I thinkg g**m tweeted something about it too 17:16 <+XorBoole> redstonehelper congrats, you pinged him 17:16 <+XorBoole> so much as thinking about him pings him 17:16 < redstonehelper> not thinking about him pings him too 17:16 <+XorBoole> hey ****, fix resource packs 17:17 <+XorBoole> there, pinged him 17:17 < redstonehelper> in fact users joining and disconnecting pings him 17:17 < rom1504> he's constantly pinged 17:17 <+XorBoole> in fact, `.*` is set to highlight for him 18:02 < Fenhl> Thinkofdeath: can't we just document enums as actual enums instead? 19:52 <+Thinkofdeath> Fenhl: yeah that might be better 19:52 <+Thinkofdeath> since they'll change based on order too 20:42 < Aragas> is there any documentation on forge server login sequence? can't really figure it out 21:37 < Not-390> [1.8-Models] drXor pushed 1 commit to master [+2/-0/±6] http://git.io/vOtNI 21:37 < Not-390> [1.8-Models] drXor b6b3bcb - Add wood/stone axes and hoes. 21:46 < rom1504> when is 1.9 supposed to be released ? 21:50 <+ammar2> right now 21:51 < rom1504> I meant do we have any idea when the release date is ? (in 6 months or soon) 21:52 <+XorBoole> six months is my guess 21:52 <+XorBoole> get your own 21:54 < rom1504> :d 22:44 < Not-390> [1.8-Models] drXor pushed 1 commit to master [+6/-0/±2] http://git.io/vOqRi 22:44 < Not-390> [1.8-Models] drXor a078a8a - HAIYA! 22:48 < Fenhl> okay so apparently Minecraft uses "minecraft:swiftness" in the NBT for speed potions, but the effect is called "minecraft:speed"? 22:49 < angal> :) 22:49 < Fenhl> …why 22:49 < Not-390> [1.8-Models] drXor pushed 1 commit to master [+0/-0/±1] http://git.io/vOqE6 22:49 < Not-390> [1.8-Models] drXor 16f8e0a - Tweak iron sword, remove comments. 22:50 <+XorBoole> Fenhl I really wish I could say that's notchcode 22:59 < rom1504> anybody knows whether this is still up to date http://wiki.vg/Server_List_Ping#Response ? 22:59 < rom1504> doesn't seem to work right 23:02 < rom1504> that's what power the hovering message in the server list 23:03 < rom1504> and all I managed to display is t hinkofdeath 23:03 <+Thinkofdeath> it requires a valid uuid 23:04 < rom1504> yeah but it won't display the description field for example 23:05 < rom1504> oh actually it does hmm 23:05 <+Thinkofdeath> you asked about the hover though? that has nothing to do with the description, the description appears below the server name on the list 23:06 < rom1504> yeah indeed 23:07 < rom1504> on an other server it shows "n players on " 23:07 < rom1504> in the hover 23:08 <+Thinkofdeath> thats the player list, just use text instead of the player name but keep a valid uuid 23:10 < rom1504> oh yeah indeed 23:12 < rom1504> thanks 23:25 < barneygale_> HansiHE, were you working on a wrapper at one point? 23:25 < HansiHE> barneygale, yeah 23:25 < HansiHE> somewhat 23:25 < barneygale_> how far did you get? 23:25 < HansiHE> not very 23:26 < barneygale_> i'm not sure which cli wrappers people use nowadays 23:26 < HansiHE> if you are doing something, i don't think its worth the hastle of digging it up 23:26 < barneygale_> yeah 23:27 < barneygale_> i've been considering a more-or-less straight rewrite of mark2, but with code and an architecture that isn't terrible 23:27 < barneygale_> well, bits of mark2 are pretty ok 23:27 < HansiHE> oh, i remember what i was doing now 23:28 < HansiHE> a wrapper of sorts that runs in the same vm as the server 23:28 < barneygale_> hah amazing 23:28 < HansiHE> well, its not really that special 23:28 < barneygale_> i tried something like that for a while, using a java agent or something? 23:29 < HansiHE> well, i just called the main method on the server 23:30 < HansiHE> oh, i didn't know about java agents 23:31 < HansiHE> i would be interrested in seeing what wrappers are in use now 23:31 < HansiHE> is mark2 still used? 23:47 < barneygale_> I think so --- Day changed sam. août 01 2015 00:57 < Aragas> at least i tried 01:15 < Aragas> for some reason in PluginMessage Packet, the length of the given Data (which is read as VarInt) is incorrect. The summary packet length is 51 bytes, the data length is 70. Any idea what it could be? The channel is "REGISTER" 01:18 <+SpaceManiac> Aragas: where is the packet originating from? and do you have a byte dump? 01:19 < Aragas> sure, can dump it. It's from a Forge server. All this FML register stuff 01:20 < Aragas> But had similar problem before, not sure if it was forge too 01:28 <+Thinkofdeath> Aragas: data length? 01:29 <+Thinkofdeath> the length of the data part of the plugin message packet is the remainder of the packet, it doesn't have a length prefix 01:31 < Aragas> SpaceManiac: https://dl.dropboxusercontent.com/u/58476180/DumpPacket63.bin 01:31 < Aragas> Okay, im a bit confused 01:32 < Aragas> The Data don't have the length value? it has to be calculated? 01:33 <+Thinkofdeath> https://github.com/thinkofdeath/mc-autodocs/blob/master/protocol/play/PacketClientPluginMessage.java#L26-L34 01:36 < Aragas> So it just reads the remaining bytes 01:38 <+Thinkofdeath> yep 01:38 < HansiHE> when reading the remainder, i get {:plugin_message, "MC|Brand", "\avanilla"} 01:39 < HansiHE> \a is the bell ascii character, code 7 01:39 < HansiHE> which happens to be the length of vanilla 01:39 <+Thinkofdeath> the string inside the data has its own length prefix 01:39 <+Thinkofdeath> but thats specific to that channel 01:40 < HansiHE> oh, that's channel spesific? 01:40 < HansiHE> okey then 01:40 <+Thinkofdeath> they used the same writeString method used in the rest of the protocol 01:40 <+Thinkofdeath> so it gets a length prefix just because of that 01:40 < HansiHE> makes sense 01:41 < Aragas> Thanks Thinkofdeath. Don't even had readableBytes implemented. What a shame 02:10 < TkTech> Hey guys! 02:11 < TkTech> Just a heads up that if there's ever an issue with mcdevs, github, wiki.vg, or any other service email (tk@tkte.ch) is the absolute best way to get me quickly 02:12 < TkTech> Especially when I'm at work, I can't actually get onto IRC. I'm usually on an air-gapped network and when I'm not I'd have to punch through a firewall to use it. 05:27 < Aikar> can a mojangsta confirm how the clients skin cache works? from what im seeing, it looks like if uuid = same as ones loaded, uses cache? but cant figure out how its handling 2 player heads of same player but diff skins. when a player sees their OLD head, the new head now shows old skin to them until they relog. I'm hard coding the timestamp to be the same for all heads due to stacking bug, but why wouldnt client cache on texture url? 05:28 < Aikar> (stacking bug = heads created over different time periods have a different timestamp value, causing them to not stack) 15:18 < Voltasalt> I'm trying to implement a MobDisguise-like thing on my custom server impl, but I can't get the disguise-entity to spawn correctly 15:19 < Voltasalt> It's spawning the player entity correctly, but when I try to disguise, the entity just disappears to other players and doesn't spawn the disguised-one 15:19 < Voltasalt> I'm sending a DestroyEntity packet, then a SpawnMob packet with the same eid 15:19 < Voltasalt> how could I fix this? 15:22 <+Amaranth> Why would you use the same entity id? 15:22 < Voltasalt> would it cause a problem? 15:22 <+Amaranth> I suspect you might have to wait a tick client side between the two packets 15:22 < Voltasalt> doing it to make everything simpler, plus, reading the code of iDisguise for spigot seems to do the same thing 16:28 < barneygale> rom1504, keep me posted on the packet structs thing. are you leaning toward any particular format at the moment? 16:59 < barneygale> I wonder if this works with minecraft's rcon: https://developer.valvesoftware.com/wiki/Source_RCON_Protocol#Multiple-packet_Responses 17:19 < morfin> lol 17:19 < morfin> something very familiar to me 17:29 < rom1504> barneygale: well, I think nmp json could do the task ( https://github.com/PrismarineJS/node-minecraft-protocol/blob/master/protocol/protocol.json ), I'm open about the schema though, there are probably stuff than can be improved, but I think using a language independant format like json is good to be used by several programming languages 17:30 < rom1504> also if we're going to generate something like wiki.vg/Protocol from it, we'll need to add field notes to it I guess 17:31 < barneygale> rom1504, what is nms licensed under? 17:32 < rom1504> BSD 17:32 < barneygale> OK, thanms 17:32 < barneygale> thanks* rather. 17:32 < barneygale> i'm going to have a crack at using it for quarry 17:33 < rom1504> ok :) 17:37 < rom1504> the schema is documented here https://github.com/PrismarineJS/node-minecraft-protocol/blob/master/protocol/protocol_schema.json (and you can see a visual representation of that schema there http://prismarinejs.github.io/minecraft-data/ (just the protocol part)) the main thing that might need improvements is the 'typeArgs' thing 17:39 < barneygale> hm yeah, seems like you have a type called "count" that has its own inner type, like a varint? 17:41 < rom1504> yes count is the length of some other field, so there's a countFor 'innerfield' to store what fields it count for, and the count field itself has a type like varint (but it can be other things than varint I think) 17:42 < rom1504> for example https://github.com/PrismarineJS/node-minecraft-protocol/blob/master/protocol/protocol.json#L88 17:42 < rom1504> publicKeyLength is the 'count' of publicKey 17:48 < rom1504> that file should probably be in some other repo now though, we were thinking of putting it in https://github.com/PrismarineJS/minecraft-data but other places are also possible 17:58 < barneygale> rom1504, couldn't you define the length field normally (type is varint), then reference it from the aray definition (e.g. lengthFromField=...) 18:02 < johni0702> barneygale, only downside I could see is that as it is now you can just discard the 'count' fields after reading (e.g. have them being local variables). if they weren't marked separately then you wouldn't know which files actually convey meaningful data and which are just necessary for en-/decoding 18:03 < barneygale> ah, true 18:03 < rom1504> barneygale: no, because when writing the count field, you need to know its value == the length of the counted field 18:03 < rom1504> https://github.com/PrismarineJS/node-minecraft-protocol/blob/master/src/datatypes/structures.js#L112 18:03 < barneygale> right right 18:05 < barneygale> and "this." gives you fields at the same level, rather than top level? 18:06 < rom1504> in javascript you mean ? 18:07 < barneygale> in the json 18:08 < rom1504> oh yeah 18:26 < johni0702> I just finished with this thing: https://github.com/Johni0702/ProtocolGen it slurps the json and produces java files which are capable of reading and writing all packets. 18:30 < rom1504> oh wow cool 18:31 < rom1504> how do you test it ? 18:32 < johni0702> I haven't till now, well not more than checking whether it produces valid java code and picking out a few packets to compare to manual implementation 18:33 < rom1504> I'm getting http://pastebin.com/VvxReYNq 18:33 < rom1504> ok 18:34 < johni0702> hm.. seems like that repo's https isn't as valid as it should be 19:19 < johni0702> rom1504, I've mirrored those two artifacts on my repo, you can pull and retry now 19:22 < rom1504> yeah that made it works 19:23 < rom1504> nice 19:39 < HansiHE> barneygale, rom1504, johni0702, in my decoder/encoder i did it the way barney suggested, i just assert the length field == length of the array 19:40 < HansiHE> i think the extra work of setting the field to the length is outweighed by simplicity in the json 19:40 < HansiHE> also, not discarding the field is not a big issue, just give it a meaningful name 19:41 < rom1504> how does that fix the writing issue ? 19:41 <+ammar2> rom1504: do you wanna start adding small field descriptions? I can get a repo on the mcdevs account up tomorrow 19:41 < HansiHE> writing issue? 19:41 < HansiHE> oh, right 19:42 < rom1504> if count fields are just varint fields, then you'll have to count the size of the array every time you want to write it 19:42 < HansiHE> well, in the code for writing the array i crash and burn if the length field != array length 19:43 < rom1504> no that's not the problem 19:43 < rom1504> in npm we don't need to give the length to the write function for array 19:43 < rom1504> because it can figure it out thanks to these "count" fields 19:44 < rom1504> https://github.com/PrismarineJS/node-minecraft-protocol/blob/fb481210faf5ae37045916f7ac77b548e2bf5d19/src/createServer.js#L128 19:45 < rom1504> you can just give the publicKey there, no need to say "publicKeyLength": client.publicKey.length 19:47 < HansiHE> right, i get that 19:48 < HansiHE> but having that minor convenience introduces a lot of complexity to the packet description format 19:51 < rom1504> hmm I think that information (the link between the counted field and the count field) should be in the packet description, I guess the implementation could use the 'count' in the array, but that would probably make the implementation more complex 19:52 < rom1504> I don't think it add that much complexity to the packet description format really 19:54 < rom1504> ammar2: hmm I actually already put it in mineacraft-data, it seems to me it fits there, it's a repo to store various minecraft data (blocks, items, ...) info with about the same kind of spirit that the protocol file, do you think a repo in mcdevs would be better ? 19:54 <+ammar2> rom1504: for the protocol specifically, yeah I think an "official" repo would be better 19:54 < HansiHE> yeah, its true that that information probably should be in the packet description 20:05 < rom1504> ammar2: hmm ok, so either we create a new repo specifically for the protocol file, or maybe minecraft-data could become that official repo (no pb with moving it I think). minecraft-data is already language independant, and it's fairly light so depending would not be a pb I think (compared to a repo with only the protocol file) 20:05 < rom1504> *depending on it 20:06 < rom1504> I'm talking about https://github.com/PrismarineJS/minecraft-data 20:06 <+ammar2> sure, I think it contains a lot of information that might be useful to people writing server/clients 20:07 <+ammar2> may as well have it up on an official repo 20:14 < rom1504> ok :) 20:18 < rom1504> unrelated question : anyone know the movement speed on soul sand ? 20:59 < Corgano> Hey, does anyone here have a good computer for recording? 21:00 < Corgano> I need a video of someone walking in a straight line over soulsand, with F3 showing, so I can calculate max speed over soulsand 21:00 < Corgano> but my computer is lacking in the graphics department and lags 21:40 <+ammar2> conehead: looks like whenever an entity steps on it their x/y movement is multiplied by 0.4 21:41 < conehead> Corgano ^ 21:41 <+ammar2> whoops 21:41 <+ammar2> sorry 21:41 < conehead> it happens d: 21:43 <+ammar2> Corgano: so yeah, 40% of whatever the normal speed is 21:57 < rom1504> ok 22:05 < rom1504> ammar2: https://help.github.com/articles/transferring-a-repository/#transferring-between-organizations "You can arrange this by asking the receiving organization to create a team with admin privileges with no repositories in it." 23:09 < Not-c389> [mineflayer] rom1504 pushed 1 commit to master [+0/-0/±1] http://git.io/vOsxs 23:09 < Not-c389> [mineflayer] rom1504 e357354 - fix soul sand speed, fix #314 --- Day changed dim. août 02 2015 00:57 < Wuppie> Hey guys, for sending an Angle. As it is a byte. and yaw goes further than 256. How am i supposed to send them? :) 01:00 <+Thinkofdeath> Wuppie: (deg/360)*256 or (rad/PI*2)*256 01:00 < Wuppie> thank u Thinkofdeath :) 01:01 < angal> :) 08:51 < prplz> Thinkofdeath do you think it's safe to instantly ban players for ridiculous head pitch? 09:08 < ScruffyRules> no 09:08 < ScruffyRules> What if they lag? 15:18 < Neon> Hello, I'm trying to retrieve the status information of a Minecraft server (with Ruby) and it works, but it always waits a few seconds until I get the answer. How can I tell the server that my packet stream is at its end and I want to have the response now? 15:27 < Fenhl> I'm pretty sure that concept does not exist in TCP 15:27 < Fenhl> correct me if I'm wrong 15:28 < Neon> So it's normal that one has to wait a few (noticable) seconds until the server answers with the status? 15:29 <+Amaranth> Are you talking about the server list ping packet info? 15:31 < Neon> I'm talking about http://wiki.vg/index.php?title=Protocol&oldid=6003#Request , which appears to be what I need. It returns a JSON structure with server name, player count, max players and the like. 15:34 < Neon> I'm just sending a handshake, 0x0100 for the status request and nothing more. I get the response after 30 seconds. Appears to be a timeout so I assume the server expects some code that says "That's it, I'm done sending stuff". 15:36 <+Amaranth> Neon: Try sending it a ping? 15:37 < Neon> Amaranth, < Handshake < Status Request < Ping ? 15:38 <+Amaranth> Yeah the flow says you should get the status response before sending a ping but *shrug* 15:48 < Fenhl> I think the status state protocol might be somewhat hackish for backwards compatibility with older clients 15:48 < Fenhl> but yeah, I'm definitely adding that to the article 15:49 < Neon> To prevent irritation: I'm talking about an 1.7.10 server and I'm using protocol version 5. 15:49 < Neon> Or wait, actually I'm testing it with a 1.8 server. May that be a problem? 15:51 < Fenhl> no, they should be 100% compatible 15:51 < Fenhl> (with regard to status, that is) 16:06 < Neon> So, without the ping packet, this is what I'm sending: "\x0F\x00\x05\tlocalhostc\xDD\x01" (packet length 15, id 0 (handshake), protocol ver 5, 9 chars, 'localhost', 0x63dd = 25565, 1 for status) "\x01\x00" (packet length 1, packet id 0 (status request)) 16:16 < johni0702> Neon, I took what you're sending, put it into a python program (https://i.johni0702.de/6.txt) and got a response within less than 1 second (from a vanilla 15w31c server). Are you sure the data is actually sent when you think it is? 16:17 < Neon> johni0702: Interesting argument. I'll have a look at the library I'm usign. 16:25 < Neon> johni0702, you script works for me, too. So it's probably a Ruby issue. Thanks for that though. 16:26 < Neon> thought* 16:32 < Voltasalt> How do you change a player's game mode? 16:32 < Voltasalt> I see no "Change GameMode" packet 16:33 < johni0702> Voltasalt, http://wiki.vg/Protocol#Change_Game_State 16:33 < Voltasalt> derp 16:33 < Voltasalt> well, that's counter intuitivr 16:54 <+Amaranth> Neon: Try tossing in a connection.flush call? 16:55 < Neon> Amaranth, yeah, tried that, but no luck. I you want to and have Ruby installed you can give it a go yourself: https://gist.github.com/anonymous/924abbb0af319dad728e 16:57 < Neon> I'll probably end up calling the python script from my Ruby script. The main thing is that it works. 16:59 <+Amaranth> Oh I think I know the problem 16:59 <+Amaranth> You're probably not waiting for the server to send anything, you're waiting for the server to hang up 16:59 <+Amaranth> Because you're doing a "read everything" call 16:59 <+Amaranth> Only 1.8.8 and newer hang up the connection right after answering 16:59 <+Amaranth> The python script doesn't try to read everything, it tries to read 1024 bytes 17:03 < Neon> Amaranth, you are the hero of the day. :D 17:04 < ScruffyRules> Isn't he always? <333 *flutters in love* 17:04 < Wuppie> it's so funny to see so many people writing a MC server lol 17:04 <+Amaranth> hehe 17:04 * Thinkofdeath waits for one to finish 17:04 <+Thinkofdeath> :) 17:04 < gurun> lol 17:05 < Wuppie> hahah xD 17:05 < Wuppie> well, i just updated my server to the latest snapshot protocol :P 17:05 < Wuppie> need to redo my Redstone implementation tho... The way i wrote it. It sucks 17:06 <+Amaranth> Thinkofdeath: MCServer has everything but redstone, doesn't it? 17:06 <+Amaranth> Well, I don't know if they have entity AI 17:07 < Wuppie> Amaranth, it's called CubeRite now 17:07 < Wuppie> lol 17:07 < Wuppie> It works pretty good actually 17:08 <+Amaranth> iirc it was also a bit ugly 17:08 <+Amaranth> Looked like Minecraft written in C++ 17:08 <+Thinkofdeath> 'A custom Minecraft compatible game server' why does this sound like its going the route of spout? 17:10 < angal> :) 17:38 <+ammar2> Thinkofdeath: well at least they don't wanna try making a voxel game engine >.> 18:17 <+Thinkofdeath> ammar2: yet 22:49 < Aragas> well, makin "not-only-minecraft" server/client is interesting, but it will kill ya --- Day changed lun. août 03 2015 04:45 <+XorBoole> was this channel ever logged or is that just a farce? 05:18 < humerusj> "Channel is publicly logged as of Feb.25/13" 05:18 < humerusj> XorBoole: it says it in the title, so it must be true! 05:21 < zml> well considering probably like 90% of the people in here run irc clients that log stuff, yeah 05:22 < humerusj> zml: "publicly" 05:22 < zml> wouldn't be surprised if someone has public logs 15:28 < Fenhl> XorBoole: I was under the impression that this part of the topic is there so we can quote the devs on the wiki 15:28 < redstonehelper> hah 15:28 <+ammar2> lol 15:29 <+ammar2> I think freenode policy requries you to link the public log in the topic 15:30 <+ammar2> https://freenode.net/channel_guidelines.shtml last section 15:34 < rom1504> I don't know a chan that comply to this on freenode 15:42 <+XorBoole> > freenode 15:42 <+XorBoole> > rules 15:44 <+ammar2> XorBoole: irc is very srs bzns 15:44 <+XorBoole> srs bidness? 17:05 < Dapper> Does anyone here know python? 17:06 < shoghicp> ssshshshsss? 17:06 * Aikar waits for ammar to pop up 17:07 < Dapper> The coding lanuage, not the reptile. 17:07 < Aikar> ammar is not a reptile 17:07 < Dapper> A python is a reptile. 17:07 < Aikar> wat 17:07 < Dapper> lol 17:07 < Dapper> nvm 17:08 < Dapper> Ammar knows python 17:08 < Aikar> yes... 17:08 < Aikar> hes the author of PyCraft 17:08 < Dapper> Ah 17:08 < Dapper> Do you know the mc protocol? 17:08 < Aikar> I dont much 17:09 < Aikar> I just know shaky shakey, crypty crpyty, talky talky 17:09 < Dapper> lol 17:09 < Dapper> Well im starting a project called Minethon, its a minecraft server made to run very well on a raspberry pi. 17:10 < Aikar> lol 17:10 < Aikar> sounds ambitious 17:10 < Dapper> Yep 17:11 < Dapper> It would be really cool to have something that would run great on such a machine. 17:11 < Aikar> though not sure the benefits over just running it on your desktop 17:12 < Dapper> Most people don't want to host a server on their computer, because it can cause different problems... 17:12 < Aikar> well you need to use C to pull that off right? have you looked into just contributing to the existing C servers instead of starting from scratch? 17:12 < Aikar> for an alt to really be viable, need a COMPLETE server, not tons of 10% done ones :s 17:13 < Dapper> Actually, im coding it in python. 17:13 < Aikar> hmm, wont you cap out on capabilities pretty quick? 17:13 < Aikar> aiming for like a 3 person limited world size server? 17:13 < Dapper> Possibly, but theirs always a way around. 17:14 < Dapper> Luckily python has threading built in... 17:15 < Aikar> how many cores does a pi have 17:15 < Dapper> lol 17:15 < Dapper> 1 17:16 < Aikar> ... so why is threading relevant? : 17:16 < Aikar> you need to use that async IO library 17:16 < Aikar> Twisted is it? 17:16 < Dapper> Im taking about multiple client connection threading. 17:16 <+Fador> raspi2 has 4 cores 17:16 < Aikar> right, dont use threads for connection handling 17:16 < Aikar> youll waste even more resources doing that 17:17 < Aikar> https://docs.python.org/3/library/asyncio.html 17:17 < Aikar> you need to design the whole thing with async in mind 17:18 < Aikar> and i guess have 1 thread (with low priority) for "offloaded" tasks in the chance its running on a raspi2 17:19 < Aikar> unless your wanting to ONLY support raspi2 then that gives you better options 17:19 < Dapper> Im thinking about that... 17:19 < Aikar> id suggest it if you really want to take it seriously, being limited to 1 core will be extremely limiting in design 17:20 < Aikar> chunk loading and networking really needs to be offloaded 17:20 <+ammar2> Dapper: btw python doesn't handle threading very well 17:20 < Aikar> there he is! 17:20 <+ammar2> it has a global interpreter lock 17:20 * Aikar huggles ammar2. 17:20 <+ammar2> any time a thread needs to touch a python object it has to acquire the lock 17:21 < Dapper> hmm 17:21 < Aikar> that sounds like threads are useless in python heh 17:21 <+ammar2> only exceptions are c extensions for python which can release the GIL at will when they're doing IO etc 17:21 <+ammar2> if you're looking for really good performance python is probably not what you want 17:22 < Dapper> eh 17:22 < Dapper> I can figure something out. 17:24 < barneygale> Dapper, you might want to try hacking an existing C/C++ server to run on rpi 17:38 <+ammar2> Aikar: kinda, most io in the stdlib releases the gil so if your thread is doing that sorta stuff it works fine 17:38 <+ammar2> but yeah its not ideal 17:40 <+ammar2> personally I don't use python for bleeding edge performance, I just use it for quick prototyping and writing nice maintainable code 17:41 < rom1504> I can't quite see why you'd want to do a specific server for the raspberry pi 17:41 < rom1504> adding some performance settings to an existing one might be more efficient 17:41 <+ammar2> yeah doing it from scratch seems a bit needless 17:42 <+ammar2> like barney said building up off one of the existing c/c++ projects and then working around the pi's limitations would probably be better 18:45 <+Amaranth> barneygale: Cuberite (MCServer) even has binaries for rpi iirc --- Day changed mar. août 04 2015 00:49 < morfin> hello 00:51 < morfin> is world in Minecraft just result of Perlin noise+Perlin worms(caves) + trees + villages + mineshafts + ravines + other stuff? 01:10 < gurun> morfin, it's the result of a programmer stumbling on a screenshot on a webpage from a math-guy doing stuff for science and you turn it into an excercise of flipping switches for amusement. 01:10 < gurun> and then add some trees, yes. 01:22 < Aragas> isn't it just rand function? 01:22 < Aragas> who needs perlin anyway 01:35 < Dapper> Redstone minecraft server, http://redstone.net63.net/ 01:36 <+XorBoole> for a second I thought you meant a minecraft server made with redstone 01:36 <+XorBoole> at which point I was utterlly terrified 01:36 <+XorBoole> I mean, redstone is turing complete, so... 01:38 < Dapper> lol 01:39 <+XorBoole> "minecraft server in one command" 01:39 < zml> aaaaaahhhh 01:39 <+XorBoole> aaaaaaaahhhhhhh 01:40 < zml> AAAAAAHHHHHH 01:43 < Dapper> Ill be uploading my code to github soon, if anyone wants to help/contribute, feel free to do so. 01:46 <+XorBoole> nah you're better off staying here and screaming 01:46 <+XorBoole> AHHHHH 01:46 < zml> yep, this is my favorite place to scream 01:46 < zml> AHH AHHH AHH 01:48 < Dapper> well then 01:48 < Dapper> AHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH 02:09 < Not-c389> [mineflayer] rom1504 pushed 1 commit to master [+0/-0/±1] http://git.io/vOEk2 02:09 < Not-c389> [mineflayer] rom1504 1cf0f7c - more precise lookAt before digging, similar to e1a8b5d0e71d504bd9faaafab0c129d6e5a645be 04:17 < Corgano> Does anyone know a good launcher that I can start with command line email and password, and it'll start the client? 04:30 < Corgano> Anyone get my message about a launcher that will let me specify username / password? 04:30 < Corgano> I got dc'd 04:56 < Fenhl> I don't know of any such launcher, sorry 05:34 <+SpaceManiac> doesn't the normal launcher support that? 06:24 < Fenhl> does anyone know what the max value for the boss bar is? http://wiki.vg/Pre-release_protocol#Boss_Bar 06:24 < Fenhl> is it simply 1.0, or does it depend on the number of dividers? 10:50 < angal> Why the uuid's send to client for non-player entties? 11:15 < rom1504> Fenhl: the max value of what field ? 11:17 < rom1504> oh "health" I guess 11:17 < rom1504> no idea 11:27 < morfin> so much math :D 11:27 < morfin> i am reading theory how Perlin noise works) 13:15 < johni0702> Fenhl, values from 0 (https://i.johni0702.de/nz.png) to 1 (https://i.johni0702.de/ny.png). Values greater than 1 do not crash the client (e.g. 1.5 https://i.johni0702.de/nA.png). It does not depend on the dividers. 16:01 < Fenhl> johni0702: thanks 19:11 < morfin> wtf is that glitch? 20:52 < rom1504> overflow > * --- Day changed mer. août 05 2015 15:24 < ashka> hi, I have a lot of servers running that hit the mojang UUID resolver API and I get rate limited often, I'd like to create a custom cache for all the server to hit on. As the API is https, does the server checks for the SSL certificate to ensure against spoofing or not ? 15:26 -!- Irssi: #mcdevs: Total of 147 nicks [1 ops, 0 halfops, 16 voices, 130 normal] 15:27 < rom1504> ashka: maybe you'd be interested by http://mcuuid.net/ 15:28 < rom1504> (and http://wiki.vg/Mojang_API) 15:28 < rom1504> I don't think https is a pb 15:28 < ashka> rom1504: my concern really is if the server checks the API SSL fingerprint 16:16 < Not-c389> [mc-autodocs] thinkofdeath pushed 1 commit to master [+0/-0/±44] http://git.io/vOiiT 16:17 < Not-c389> [mc-autodocs] thinkofdeath 3eafc14 - 15w32a 17:23 < Voltasalt> How do you send JUST a tab list header? 17:24 <+Amaranth> Voltasalt: You have to send a footer too 17:25 < Voltasalt> can you send a "blank" footer though? 17:25 < Voltasalt> that's not there 17:25 < Voltasalt> not just still there but empty 17:28 <+Amaranth> I assume if you send an empty string it won't display anything 17:28 <+Amaranth> But I've never tested 17:38 < Voltasalt> Amaranth, it doesn't 17:38 < Voltasalt> it still displays the header/footer 17:38 < Voltasalt> but with nothing in it 17:39 <+Amaranth> Sucks 17:39 < Voltasalt> so there's still a large ugly blank space up there 17:39 <+Amaranth> Guess they didn't think of that? 17:39 < Voltasalt> probably not 18:40 < konwboj> Voltasalt: Works for me. http://i.imgur.com/gdntb8U.png 18:40 < Voltasalt> konwboj, which server software is this? 18:41 < konwboj> Vanilla with MCP 18:41 < Voltasalt> ok 18:41 < Voltasalt> how are you sending the packet? 18:41 < Voltasalt> for the blank one 18:41 < Voltasalt> ""? {text:""}? null? 18:41 < konwboj> I use IChatComponent with empty getformattedtext 18:42 < Voltasalt> how did you accomplish that? 18:42 < konwboj> Vanilla adds RESET to text components 18:42 < Voltasalt> no matter what I try it always includes &f in the getformattedtext 18:42 < Voltasalt> or sth 18:42 < konwboj> Are you using bukkit/spigot? 18:49 < Not-5015> [1.8-Models] drXor pushed 1 commit to master [+6/-1/±4] http://git.io/vOPFs 18:49 < Not-5015> [1.8-Models] drXor 0a37088 - Add the rest of the pickaxes. 19:35 < johni0702> Voltasalt, I don't think there's a way to do that with a vanilla client 19:40 < johni0702> nvm, got it working with vanilla 1.8 23:11 < barneygale_> login servers seem very trigger happy about rate-throttling you nowadays 23:25 < morfin> hm? 23:26 <+ammar2> hit the login server with too many requests and it'll start dropping http errors on you 23:27 < barneygale_> I get "unauthorized" responses even with correct credentials --- Day changed jeu. août 06 2015 02:10 < rom15041> Cache the token or something 02:10 < rom15041> Unauthorized (also) happens when you ask too many times 11:28 < barneygale> I've got quarry updated in a development branch such that you hook packets by name rather than ID 11:28 < barneygale> :) 11:29 < barneygale> This might be useful to someone (csv packet details, no fields): https://github.com/barneygale/quarry/blob/develop/quarry/data/packets.csv 11:37 < rom1504> barneygale: on the same "history of minecraft protocol" idea, there's that https://github.com/ammaraskar/MinecraftPacketNames/blob/master/packets.json 11:46 < barneygale> rom1504, that file is missing a number of packets 11:58 <+ammar2> oh right