18:08 < Bibl> yeah 18:09 < Bibl> but you also need to enable encryption 18:09 < Batimonster> I'll do that at last 18:09 < Batimonster> I also need authentication 18:24 < SopaXorzTaker> don't sell the app without giving them credits :3 18:25 < Bibl> damn i need the mob sizes but i cant find them on the wiki and some mobs like blazes dont seem to set their sizes in the source code 18:50 < Batimonster> Bibl Should I wait for the keepalive packet in the while loop? 18:50 < Bibl> no 18:50 < Bibl> for your packetreader class 18:50 < Bibl> when you read the data and construct a packet, add it to a list 18:51 < Bibl> have another thread take the packets from that list and call a onPacketReceived method or something 18:51 < Batimonster> But where do I add the packet to the queue? 18:51 < Bibl> so for the packet reading have 2 threads: 1 which reads the data from the stream and adds the packets to a list and the other which handles them 18:52 < Bibl> for reading or writing? 18:52 < Batimonster> For keepAlive 18:53 < Bibl> i don't think you understand the architecture of this 18:53 < Batimonster> So I have a PacketReader thread 18:53 < Bibl> you receive a keep alive packet and your packet reader creates a KeepAlivePacket object 18:53 < Bibl> this gets added to a list 18:53 < Batimonster> It reads the packets and puts them into a list 18:54 < Bibl> your packet handler thread then loops through this list 18:54 < Bibl> and calls an onPacketRecieved method or something 18:54 < Bibl> and removes that last packet from the list 18:54 < Batimonster> But I have a while loop in my PacketReader 18:54 < Batimonster> Ah okay 18:54 < Bibl> PacketReader and PacketHandler are different 18:54 < Batimonster> Now I understand 18:55 < Bibl> separating the io threads from the handler threads is important 18:55 < Bibl> because you don't want a heavy operation to happen and then the thread to get blocked and miss some data that yo receive 18:55 < Bibl> you* 18:59 < Batimonster> And when is the PacketHandler called? 18:59 < Batimonster> Time period or while loop? 19:00 < Batimonster> Bibl 19:00 < Bibl> packethandler is a thread aswell 19:00 < Bibl> so it has a while loop in the run method 19:01 < Batimonster> Okay 19:15 < Batimonster> Bibl, but I am only looping through packets in the queue 19:16 < Bibl> code? 19:16 < Batimonster> Do I just have to add 0x00 to the queue? 19:16 < Bibl> code 19:17 < Batimonster> Bibl http://pastebin.com/iZgsxC7q 19:17 < Bibl> whats if (Queue.getQueue(QueueType.READ).isEmpty()) { 19:18 < Bibl> add the packets to a map 19:18 < Bibl> with the ids 19:18 < Batimonster> Then there is no packet in the queue 19:18 < Bibl> Map 19:18 < Bibl> no the queue is the list 19:18 < Bibl> but use a queue instead 19:18 < Bibl> and why is it static 19:19 < Batimonster> What? 19:19 < Bibl> you need to use a Queue 19:19 < Bibl> google java queue tutorial 19:22 < Batimonster> Bibl Can I use a LinkedHashMap? 19:22 < Bibl> why 19:23 < Batimonster> You said I should store the packets with their id 19:23 < Bibl> for example 19:23 < Bibl> public final void registerIncoming(int id, Class packet) { 19:23 < Bibl> incoming.put(id, packet); } 19:23 < Bibl> then when you read the packets id 19:24 < Batimonster> Whats the id? 19:24 < Bibl> http://hastebin.com/kexeteroba.coffee 19:24 < Batimonster> Ah the packet id 19:24 < Bibl> for KeelAlive 0x00 19:24 < Bibl> keppalive* 19:24 < Bibl> keepalive* 19:34 < Batimonster> Bibl 19:34 < Batimonster> Like this? http://hastebin.com/sayutacuso.java 19:34 < Bibl> wait what 19:35 < Batimonster> That's my queue now 19:35 < Batimonster> And that's my PacketReader: http://hastebin.com/nepofigode.avrasm 19:35 < Bibl> just make a Queue read = new ConcurrentLinkedQueue(); 19:35 < Bibl> theres no need for all of that 19:36 < Batimonster> And write? 19:36 < Bibl> you could probably get away with using synchronized blocks instead of concurrent implementations of queues 19:36 < Bibl> basically the same 19:36 < Bibl> for writer 19:37 < Batimonster> Wait 19:37 < Batimonster> What should I do now? :D 19:37 < Bibl> get rid of that packetqueue class 19:37 < Bibl> rewrite the queue stuff 19:37 < Bibl> dude just read a book on async networking concepts lol 19:37 < Batimonster> But don't I need a queue for writing and reading? 19:39 < Bibl> yeah 19:39 < Bibl> but not like how you did it 19:41 < Batimonster> It seems like I am getting a lot of keep alive packets 19:42 < Bibl> find a book or tutorial on packet stuff 19:50 < Paprikachu> is the player abilities packet really sent from the client to the server? 19:50 < Paprikachu> oh, there's 2 different ones, nvm 20:05 < Paprikachu> why does the client send keep alives on its own? 20:12 < Xor_Boole> Paprikachu wat 20:12 < Xor_Boole> since when does this happen 20:13 < Xor_Boole> like wat 20:13 < Paprikachu> i dunno 20:13 < Xor_Boole> are you sure you're not crazy? 20:13 < Paprikachu> im getting packets with id 0 without sending keep alives myself 20:13 < Xor_Boole> wut 20:13 * Xor_Boole jabs Thinkofdeath 20:13 < Xor_Boole> Thinky, any explanation? ^ 20:13 < Paprikachu> i'll verify in wireshark that i'm correct, gimme a sec 20:14 < Paprikachu> but my code is pretty well tested, i doubt it's a bug 20:14 < Xor_Boole> it's probably because you're using C++ 20:14 * Xor_Boole runs 20:14 < Paprikachu> totally 20:14 < Xor_Boole> use a real language like scala 20:14 * Xor_Boole runs even faster 20:14 < Paprikachu> :P 20:14 < Xor_Boole> I wonder if there's a scala-to-native compiler... 20:15 < Xor_Boole> oh wait. that's ghc 20:15 < Batimonster> I just don't find any minecraft packet tutorial videos... 20:16 < Xor_Boole> > tutorial videos 20:16 < Paprikachu> yes, i'm getting packets with id 0 20:16 < Xor_Boole> wiki.vg is all you need 20:16 < Paprikachu> 02 00 00 are the bytes 20:16 < Paprikachu> so that'd be 2 for the length, 0 for the keep alive type and 0 for the keep alive id 20:16 < Xor_Boole> gg mojang 20:16 * Xor_Boole jabs Thinkofdeath harder 20:17 < Batimonster> But some standards are not explained there 20:17 < Thinkofdeath> Have you sent a keep alive yourself yet? 20:18 < Xor_Boole> Batimonster blame Thinkofdeath 20:18 < Xor_Boole> it's 100% his fault 20:18 < Thinkofdeath> Paprikachu: I guess it sends a keep alive at a fixed interval with the last id recieved and defaults to 0 20:18 < Paprikachu> that makes sense 20:18 < Paprikachu> i haven't implemented keep alives yet 20:19 < Xor_Boole> I should finish my client some day... 20:19 < Paprikachu> in any case, time to implement keep alives 20:19 < Paprikachu> what's the default interval? 20:20 < Thinkofdeath> every 40 ticks is how often the server sends it 20:21 < Paprikachu> so 2 seconds 20:21 < Thinkofdeath> yeah 20:21 < Paprikachu> i'll make it 5 then 20:37 < Paprikachu> 3.1k loc 20:37 < Paprikachu> can't even spawn yet 21:30 < Paprikachu> http://i.imgur.com/zDsNjwK.png 21:30 < Paprikachu> o/ 21:30 < Paprikachu> 3240 loc later an empty world 21:34 < Wuppie> hahah, looks familliar! 21:35 < Paprikachu> :) 21:39 < gurun> beutiful .. it took me days to get to that empty world 21:40 < Xor_Boole> would have taken less time with a sane language 21:40 * Xor_Boole hides under a rock 21:40 < Wuppie> it took you days gurun? 21:41 < gurun> Wuppie, uh yes. MCPE was really picky about the bytes ;-) 21:41 < Wuppie> Oh lol, you made a MCPE server? 21:42 < gurun> yes 21:42 < Wuppie> haha nice, is it on wiki.vg? 21:42 < gurun> yes 21:42 < Wuppie> which one? 21:42 < gurun> MiNET 21:43 < Wuppie> oh 21:43 < Wuppie> with your son! 21:43 < gurun> yes 21:43 < Wuppie> awesome 21:43 < Wuppie> when i saw it 21:43 < Wuppie> i was like: OMG that is epic 21:43 < Wuppie> just because you are doing it with your 6 year old son 21:43 < Wuppie> 'And as he really likes to tell his mother these days "Mom, don't disturb daddy. He is working for me now!". 6 years old, but I think you get the picture. I know he does.' 21:43 < Wuppie> brilliant 21:44 < Wuppie> must be fun together with your son 21:44 < gurun> hehe . .. he is still at it. I let it rest for a couple of weeks/months because I got a new job. But now I have to get at it again. Just bought an XBOX so now he damand that we should be able to play on both at the same time. 21:45 < gurun> yeah, it is fun. Different motivation that usual OSS stuff I've done. 21:46 < Wuppie> haha, awesome! I really want to do something like this with my son (if i ever get one haha). 21:46 < gurun> haha 21:46 < gurun> well, lets put it like this. I had to give up IRC for some years in order to arrange to have him. 21:47 < Wuppie> haha 21:47 < Wuppie> How did you guys get the idea to write a server? 21:48 * Xor_Boole scrolls 21:48 < Xor_Boole> you're writting a server with your kid? or did I misread? 21:48 < gurun> he got kicked out from LB one time too much. So he asked me to get one that works. Really that simple. And he didn't like the game-styles on the usual MC servers, so he wants some very specific to kids. 21:49 < gurun> Basically, the "reward" system and stuff doesn't work for kids. 21:49 < Wuppie> haha, that's really cool! 21:50 < gurun> They want diamond right away. Or actually, he likes the gold stuff, but want it to kill just the same. And he doesn't like to be killed. So he wants to get the hurt, but not the kill part. 21:50 < gurun> Xor_Boole, correct. He is 6. 21:50 < Wuppie> yup, kid friendly :) 21:50 < Xor_Boole> kek, sounds fun 21:50 < Wuppie> i'm checking it out right now @gurun 21:50 < gurun> And it needs to be creative mode kill worlds. 21:51 < Wuppie> The MiNET service is now running, press Control+C to exit. 21:51 < gurun> And they need to be able to give and receive things from eatchoter (trade for free kind of thing) 21:51 < gurun> lots of these weird things that we adults would never even consider. 21:51 < Wuppie> children and their fantasy's 21:51 < Wuppie> :) 21:51 < gurun> I mean, shit we spend most of our time trying to defeat people that we consider "cheating". 21:52 < Wuppie> Yeah 21:52 < gurun> Oh, you got it started even? 21:52 < Wuppie> can't find the server on my pocket edition ;( 21:52 < Wuppie> yeah. i got it running 21:52 < Wuppie> i guess 21:52 < Wuppie> adding an external server now 21:52 < gurun> it should work with pretty much any client. I disabled the controls of that. 21:53 < gurun> i have it on both iOS (ipad and iphone) and android. 21:53 < Wuppie> im gonna test it on MCPE ios now 21:53 < Wuppie> :P 21:54 < Wuppie> unable to connect to world 21:54 < Wuppie> :( 21:56 < Wuppie> might be because of mono 21:56 < Wuppie> as it is not able to get the parent process 21:57 < gurun> oh, you are running it on Linux?! 21:57 < gurun> I've never tried that. 21:57 < Wuppie> Mac 21:57 < Wuppie> actually 21:57 < gurun> yeah, but mono 21:57 < Wuppie> yup 21:58 < gurun> SO hmm .. it might actually be something different. 21:58 < gurun> it might be that it is configured to load a world, not the flatland provider. 21:58 < Wuppie> nah 21:58 < gurun> nope 21:58 < Wuppie> it cant seem to find the host process 21:58 < gurun> it is set to flatland. 21:58 < gurun> hmm .. what the heck is a "host process" in this case? 21:59 < Wuppie> well, parent process 21:59 < Wuppie> xd 21:59 < gurun> hehe .. yeah. But is it a "mono" thing? 21:59 < Wuppie> http://prntscr.com/5u4qtv 22:01 < Wuppie> probably because you are using kernel32 22:01 < Wuppie> somewhere 22:01 < gurun> oh, it might be a topshelf problem. 22:01 < gurun> it is a wrapper for windows services. 22:01 < Wuppie> ah lol 22:01 < Wuppie> love that you are using C# tho <3 22:03 < gurun> do you have a compiler? 22:03 < gurun> dev environment for .NET? 22:04 < Wuppie> yeah 22:04 < Wuppie> Xamarin 22:04 < Wuppie> C# is my main language 22:04 < Wuppie> haha 22:04 < Wuppie> i compiled it myself actually 22:04 < Wuppie> i guess i need a topshelf port for mono 22:04 < Wuppie> i found one 22:04 < Wuppie> for linux 22:04 < Wuppie> not sure if it would work for mac 22:06 < gurun> looks like there is a "use linux if availble" method that can be used. For mono. 22:06 < Wuppie> oh lol 22:06 < gurun> BUt .. the weird thing is that topshelf should try doing windows service stuff unless you ask it too (with install) 22:06 < gurun> it should just run as a main. 22:06 < gurun> what i mean .. is that you can just do a Program.Main and call Minet from there instead. A one-liner thing 22:07 < Wuppie> lol, ill try that 22:08 < gurun> but .. i would actually check your firewall settigs first. It could simply be that it is working, but you don't get the broadcast. 22:08 < gurun> do a netstat perhaps.. 22:08 < Wuppie> i tried directly connecting 22:08 < gurun> oh, ok. But it is UDP so firewalls have a tendency of shutting that down by default. 22:09 < gurun> typical virus thing. 22:10 < gurun> ...the mono-patches for topshelf is back from 2013, so i would assume that would be working today. 22:11 < Wuppie> hmm 22:12 < gurun> but obviously not. 22:13 < Wuppie> Chunks get generated 22:13 < Wuppie> MiNetServer _server = new MiNetServer(); 22:13 < Wuppie> _server.StartServer (); 22:13 < Wuppie> when i just do that 22:13 < Wuppie> it instantly exits again 22:13 < Wuppie> lol 22:15 < Wuppie> probably an exception right away 22:16 < Wuppie> cause i also never get Server ready for business 22:17 < Wuppie> oh well, ill try it on windows another time 22:17 < gurun> public static bool IsRunningOnMono () 22:17 < gurun> { 22:17 < gurun> return Type.GetType ("Mono.Runtime") != null; 22:17 < gurun> } 22:17 < gurun> i can add that to the main. 22:18 < gurun> put a "Thread.sleep" in. I think it exits because it ..exits. 22:18 < gurun> StartServer is non-blocking since TopShelf takes care of that stuff for me. 22:19 < Wuppie> ah okay 22:19 < gurun> or perhaps .. a readline instead of thread sleep :-) 22:19 < Wuppie> that explains something already 22:19 < gurun> async is a bitch and a blessing. 22:19 < gurun> just like my wife. 22:35 < Bibl> Have a question 22:35 < Bibl> Entities in the mc source code only have width and height for their sizes 22:35 < Bibl> but some mobs widths and lengths are different 22:35 < Bibl> where do I find those values? 22:35 < Bibl> like a cow is longer than it is wide 22:36 < Bibl> same with a pig 22:36 < Bibl> and stuff like boats and minecarts and ender dragons 22:40 < gurun> ..yeah and you should see my wife. I guess she falls in the wider than tall cow category. 22:40 < Bibl> lmao 22:42 < Wuppie> LMAO 22:47 < Bibl> anyone have the numbers for iy\/ 22:47 < Bibl> it?* 23:01 <+SpaceManiac> Bibl: that's only visually, it doesn't affect collisions 23:02 < Bibl> SpaceManiac: so if the dragon has a width of 16 and a height of 8 it takes up a 16x16 area? 23:02 < Bibl> that doesnt seem right 23:02 <+SpaceManiac> the dragon is special, it's divided into mini-entities for its wings and such 23:02 < Bibl> oh 23:03 < Bibl> oh it's made up from multiple entities 23:03 < Bibl> that's going to be a pain to handle 23:06 < Bibl> SpaceManiac: do you think it would be wise to give the entities length, width, height sizes in my implementatio 23:06 < Bibl> implementation 23:06 < Bibl> this if for a packet client 23:07 <+SpaceManiac> I wouldn't 23:07 <+SpaceManiac> collisions are AABB-based and x/z dimensions are always the same, so there's no point 23:09 < Bibl> now im considering whether or not to actually add the width and height for most of the entities 23:09 < Bibl> i guess i only need the player 23:10 < Bibl> also, do you know why for some entities like the blaze, theres not size set for it in the source 23:11 <+SpaceManiac> no idea, I don't deal with the MC source really 23:24 < Bibl> SpaceManiac: is creeper height 1.95 or 1.8? can't find in source or on the wiki 23:25 <+SpaceManiac> 1.8, and there's a list here: http://wiki.vg/Entities#Mobs 23:26 < Bibl> omg lol 23:26 < Bibl> i didn't even know 23:26 < Bibl> i've been trying on and off for like 2 days 23:26 < Bibl> although i think some are wrong 23:27 < Bibl> skeleton is 1.95 tall whereas wiki says 1.8 23:30 <+SpaceManiac> hmm, it's quite possible they're outdated 23:31 <+SpaceManiac> btw you can use F3+B to show entity bounding boxes in the client 23:31 < Bibl> thanks 23:31 <+SpaceManiac> skele and creeper look 1.8, zombie looks 1.95 23:31 < Bibl> code says they are the same though 23:35 < Fenhl> wait, collision boxes are axis-aligned? 23:35 < Fenhl> that… that explains a lot 23:36 < Bibl> " /** Axis aligned bounding box. */ 23:36 < Bibl> private AxisAlignedBB boundingBox;" 23:36 < Bibl> lol 23:48 < Bibl> SpaceManiac: i did some tests http://hastebin.com/oninelujaw.vbs 23:57 < Bibl> and apparently EntityCreeper never calls setSize 23:58 < Bibl> that's just perfect 23:59 <+SpaceManiac> maybe it inherits from a parent? --- Day changed lun. janv. 19 2015 00:02 < Bibl> better results http://hastebin.com/cujukoceco.vbs 00:03 < Bibl> http://hastebin.com/esekitayed.vbs 00:35 < Bibl> SpaceManiac: is there a way that i could edit the wiki? 00:36 <+SpaceManiac> you should be able to register an account and then edit pages 00:37 < Bibl> when using firefox the confirmation code doesnt show up 00:37 < Bibl> i tried to sign up and it said "Login error 00:37 < Bibl> Incorrect or missing confirmation code" 00:38 < Bibl> wait what, even on chrome its the same 00:38 <+SpaceManiac> there should be a confirmation field above the username/password fields on the registration form 00:39 < Bibl> should it not be Markus Alexej Perrson? 00:39 <+SpaceManiac> the correct answer is Notch 00:40 < Bibl> lol i thought it meant his middle name 05:09 < Not-bb98> [Glowstone] SpaceManiac pushed 2 commits [+1/-0/±2] http://git.io/TQKzrg 05:09 < Not-bb98> [Glowstone] Aaron1011 cd65e98 - Allow opening written books. 05:09 < Not-bb98> [Glowstone] SpaceManiac 3848233 - Downgraded sqlite version to fix plugin problems. 06:52 < Aaron1011> Hrm, it seems http://wiki.vg/Mojang_API is wrong about rate limiting 06:52 < Aaron1011> Sent over 1000 requests to the https://api.mojang.com/user/profiles//names endpoint, didn't get rate limited 06:52 < Aaron1011> I don't need to cache :D 07:17 < dx> Aaron1011: what about this? https://github.com/GlowstoneMC/Glowstone/pull/533#issuecomment-70050273 09:33 < gamingrobot> Aaron1011: I did something similar and I got rate limited 13:35 < gamingrobot> derpyspockbot now handles collision semi correctly cc: nickelpro 13:36 < gamingrobot> he also now falls into water 13:44 < gurun> poor guy 14:02 < MrARM> Annnd login is down 16:37 < Aaron1011> dx: Different thing 16:38 < Aaron1011> UUID -> name history doesn't appear to have a rate limit 16:38 < Aaron1011> At least, it's WAY more than what wiki.vg said 16:38 < Aaron1011> Profile is rate limited 16:38 < Aaron1011> which I ran into when working on skulls 18:03 < MrARM> so can anyone help me with this: http://pastebin.com/cG6WhcgD ? I really can’t get it working since a few days :( 18:13 < gurun> what part? 18:15 < Paprikachu> Chunk* c = new Chunk(); 18:15 < Paprikachu> :| 18:55 < MrARM> it’s pushed to a global list 18:55 < MrARM> also, what part: I’m having a problem that it breaks at chunk 3/4 18:55 < MrARM> *2/3 18:56 < MrARM> it reads all fine until those two. Both bytes are 0. 18:56 < MrARM> Maybe I swapped x/y/z? 18:58 < MrARM> (this is in the ‚dirty’ section anyway, so I didn’t really care a lot about this) 18:58 < MrARM> (meant, I didn’t care about that pointer thingy) 19:00 < Paprikachu> MrARM: in modern c++ there is no owning raw pointers 19:00 < MrARM> Who cares, this is a thing I will rewrite anyway 19:00 < Paprikachu> wow 19:01 < MrARM> this is currently in Main.cpp so that’ll definitely get rewritten 19:06 < Batimonster> Hello :) 19:09 < Bibl> sup 19:10 < Bibl> done that late night reading? 19:10 < Bibl> i'll brb 30 mins 19:11 < MrARM> anyways, anyone have idea what the issue can be? 19:14 < gurun> break in what way. Are you overreading the lenght of the buffer? 19:14 < MrARM> I don’t think so 19:14 < MrARM> it’s 0s 19:14 < MrARM> Also, I check the length 19:14 < MrARM> it’s correct 19:15 < Batimonster> tI have a problem with the keep alive packet 19:15 < MrARM> well 19:15 < MrARM> it’s sort-of reading it 19:15 < Batimonster> I'm having a packetreader thread, that reads incoming packets 19:16 < Batimonster> And give them to another thread, which handles them 19:16 < MrARM> I’ve set it to read a specific chunk where’s 16 grass blocks 19:20 < MrARM> did anyone say anything? I got disconnected 19:26 < Fenhl> PSA: there's a new server implementation just starting out, it's called hematite_server and will be written in Rust. I just opened a discussion about project goals, feel free to pitch in if you're interested in the project: https://github.com/PistonDevelopers/hematite_server/issues/3 19:28 < Xor_Boole> > rust 19:28 < Xor_Boole> I would say I love you if rust's syntax weren't uglier than my hair before I condition it 19:29 < Xor_Boole> +1 for name 19:29 < dexter0> Are you guys still working on the rust MC client too? 19:30 < Xor_Boole> one of these days I should port the server to scala 19:30 < Xor_Boole> "what is performance" 19:32 < Xor_Boole> hmm, apparently mojang made a deal with facebook to post people's screenshots "everywhere". /s 19:32 * Xor_Boole kekles 19:32 < Fenhl> dexter0: this is an offshoot of Hematite, the Rust MC client 19:34 < dx> Fenhl: going to have some sort of lib for the shared protocol stuff, then? 19:35 < Fenhl> the plan is to use this as a lib, for the internal singleplayer server for Hematite once both projects are ready for that 19:36 < Fenhl> as in, probably most of the codebase will be the lib 20:46 < Wuppie> it seems 'Login Start' sends a string differently? using a VarInt to give length for a short + the bytes for the username 21:02 < Paprikachu> the uuid is sent as a string 21:02 < Paprikachu> not as 16 bytes 21:23 < Bibl> wait what 21:24 < Bibl> LoginStart is just a string 21:25 < Paprikachu> oh, i confused it with the response 23:16 <+SpaceManiac> Wuppie: it's the same as everywhere else there's a string 23:17 < Wuppie> SpaceManiac i fixed it already, did something wrong 23:17 < Wuppie> haha 23:17 <+SpaceManiac> happens :P --- Day changed mar. janv. 20 2015 09:30 < winny> http://www.heise.de/newsticker/meldung/1800-Minecraft-Accounts-kompromittiert-2520192.html anybody know where the pastebin url? 10:00 < gamingrobot> oh hi winny 10:28 < jast> apparently some guy found the list and contacted everyone on it by e-mail 10:36 < gamingrobot> finding the list wasnt hard but good on him for emailing everyone 10:39 < jast> yeah. my point is that there's no real whitehat reason to go looking for the list anymore 11:35 < barneygale> iirc someone at mojang goes looking for those lists and tempbans every account on there 11:36 < barneygale> they're harder to come by nowadays than they used to be 14:27 < Grum> md_5: you ok with ☃ @ lvt? 14:28 < Grum> md_5: oh and getting ic,em,lvtt too? (if you know what lvt mean you can look up the rest ;D) 14:33 < ScruffyRules> 12:32am for him, slight chance he'll be on. 14:34 < Grum> i dont care! he lives in the future 14:35 < ScruffyRules> :P 15:14 < SinZ> the futures nice 15:51 < Wuppie> lol, what the hell is http://imgur.com/iIyy941 15:51 < Wuppie> Jeb said it is much requested? 15:52 < Wuppie> well Populair suggestion 15:54 < Fenhl> Wuppie: http://www.reddit.com/r/minecraftsuggestions/comments/2srm4c/ 15:54 < Wuppie> ah cool :D 15:56 < Fenhl> it's 28th on http://www.reddit.com/r/minecraftsuggestions/top/ — I guess you could call that popular 16:07 < Batimonster> I have a little question 16:10 < Fenhl> just ask 16:14 < Grum> md_5: oh also 's' (ignatures) 16:19 < Batimonster> Fenhl: I am having three threads for handling packets 16:19 < Batimonster> They get readed, but they don't get written, so I can't answer to keepalive packets 16:19 < Batimonster> *read 16:20 < Batimonster> readed (facepalm) 16:36 < barneygale> Batimonster, not a minecraft-specific question 16:37 < barneygale> try ##java or something? 16:58 < Fenhl> https://twitter.com/_grum/status/557561980547256320 17:03 < dx> oh so that explains the ic,em,lvtt,lvt stuff 17:04 < Fenhl> what's up with the snowman though? 17:05 < Thinkofdeath> lvt names (LocalVariableTable) will be snowmen :) 17:05 < Thinkofdeath> it will help decompilers without giving away the names 17:05 < Fenhl> heh 17:06 < dx> Thinkofdeath: oh, and keeping all the other attributes? 17:06 < Thinkofdeath> by the looks of it 17:09 < dx> still no idea why ☃ but ☃ is the best character ever so it seems good to me 17:19 < Fenhl> so… http://wiki.vg/Protocol says you can set compression with a threshold of -1 to disable compression, and threshold is a VarInt 17:19 < Fenhl> how are negative numbers encoded as VarInt? 17:20 < Fenhl> the article links to https://developers.google.com/protocol-buffers/docs/encoding#varints which doesn't even mention negative numbers 17:23 < Thinkofdeath> Fenhl: cast the int to an unsigned int and encode that 17:23 < Thinkofdeath> -1 = 0xFFFFFFFF 17:24 < Fenhl> oh ok, so two's complement 17:25 < Fenhl> (I can't just cast to u32, Rust does bounds checking on this sort of thing) 17:30 < Fenhl> also, http://wiki.vg/Data_Types says that string length is ≥ 2 bytes, but wouldn't the empty string be encoded as just 00? 17:33 < barneygale> oh sweet 17:33 < barneygale> no more/less obfuscation? 17:33 < barneygale> yay! 17:37 < Thinkofdeath> Fenhl: that part is out of date 17:37 < Thinkofdeath> from back when it was a short prefix 17:40 < Fenhl> Thinkofdeath: so it should be ≥ 1, ≤ 2147483648 now, right? 17:40 < Fenhl> wait no 17:40 < Fenhl> what's the max size of VarInt 17:41 <+Amaranth> I forget, does varint work like UTF-8 or does it only use the last bit as a signal that there is more coming? 17:41 * Amaranth will just read the link 17:41 <+Amaranth> Yeah they only use the one bit 17:41 < Fenhl> the first bit, actually 17:42 < Paprikachu> max value of a varint is currently 21 bits 17:42 < Paprikachu> but i wouldn't rely on that 17:42 < Paprikachu> treat it like it's 32 bits 17:43 < Fenhl> wouldn't it be 40 bits? 17:44 < Paprikachu> why would it 17:44 < Fenhl> a 32-bit int needs at most 5 7-bit groups 17:44 < Paprikachu> i'm not counting the continuation bits 17:44 < Fenhl> plus 5 “continue” bits 17:45 < Fenhl> ah well I'm talking about serialized size, since that's what the table seems to use 17:46 < Thinkofdeath> Paprikachu: actually in the protocol it can be bigger, that limit is only for the packet size 17:46 < Paprikachu> serialized size of a var int of T in bytes is (sizeof(T) * 8 + 6) / 7 17:47 < Paprikachu> so, for a 4 byte integer that's 5 bytes, for an 8 byte (64 bit) integer that's 10 bytes 17:47 < Paprikachu> i actually wrote a function for my server to calculate the encoded size of a varint in constant time 17:48 < Paprikachu> not sure if worth, but a fun exercise 17:51 < Fenhl> updated http://wiki.vg/Data_Types 17:52 < Fenhl> btw, what's with all the CSS classes in the table? They appear to do nothing 18:00 < Paprikachu> who cares 18:00 < Fenhl> I do 18:00 < Fenhl> also, is there a difference between the 128-bit integer type and the UUID type? 18:01 < Paprikachu> 128 bit int should probably be removed from that table 18:02 < Fenhl> the Spawn Global Entity packet does not appear to use it anymore 18:02 < Paprikachu> the packet referenced also doesn't use uuids 18:02 < Fenhl> yeah, I'll do that 18:02 < Paprikachu> also i dont like the documentation for position and fixed point numbers while you're at it 18:02 < Paprikachu> they should be part of the table 18:03 < Fenhl> hang on, let me do this first ^^ 18:04 < Paprikachu> hm, and also the entire thing should probably be programming language independent 18:04 < Paprikachu> long for example will be 32 bits in many c++ implementations 18:04 < Grum> it will help decompilers without giving away the names <--yes, generics will be available, variable types; should be much better 18:05 < Thinkofdeath> \o/ generics 18:05 < Grum> it will obviously break everything for everyone 18:05 < Grum> buuuut after the fix all them patches ;) 18:05 < Grum> oh that reminds me, i still need to actually put it in the buildscript 18:06 < Fenhl> Paprikachu: good point 18:07 < Grum> 128 bit int should probably be removed from that table <-- yes, because we just send 2x64bit 18:07 < Paprikachu> don't you use "128 bit ints" only for uuids? 18:07 < Paprikachu> which would make the entry just redundant 18:07 < Thinkofdeath> Grum: thats a break I don't mind handling 18:07 < Fenhl> UUIDs are already in the table 18:07 < Thinkofdeath> more work now for less work later 18:08 < Fenhl> it being sent as 2 u64 is an implementation detail imo 18:08 < Paprikachu> indeed 18:08 < Paprikachu> i'm still surprised the client eats my version 5 uuids without trouble 18:09 < Paprikachu> don't think my lib even provides v3 uuids since they are not as good as v5 18:10 < Paprikachu> Grum: why is the level type in join game sent as a string? 18:10 < Paprikachu> and what's default_1_1 18:11 < Paprikachu> and would it be possible to refactor join game into 2 seperate packets where the server specific stuff is sent in one packet whereas the world-specific stuff is sent in another one? 18:12 <+SpaceManiac> it's sent as a string to make custom world types easier, presumably 18:12 <+SpaceManiac> iirc it aids in temperature calculations or something, but I'm not sure 18:13 <+SpaceManiac> I believe default_1_1 refers to an older world generator 18:14 < Fenhl> Minecraft 1.1 and older default world gen maybe? 18:14 < Grum> Thinkofdeath: yeah worst-case you can just rip out the symbols and pretend they do not exist :) 18:14 < Grum> i got to make some awesome code that injected snowmen =) 18:14 < Thinkofdeath> :D 18:16 < winny> jast: oh cool, so that means my username isn't on it :D 18:16 < Paprikachu> why am i getting ignored ;_; 18:17 < winny> hi Paprikachu c: 18:17 < Fenhl> what 18:17 < Grum> Paprikachu: no idea is my answer 18:17 < Fenhl> oh, that last message 18:17 <+SpaceManiac> oh, I believe 'default'/'flat' differ by how the void fog is rendered 18:18 < Fenhl> yup 18:18 < Paprikachu> winny: hi? 18:18 < Fenhl> SpaceManiac: wait. You mean the void itself, right? 18:18 < Fenhl> aka the sky 18:18 < winny> replying to your plea of loneliness :P 18:18 < Fenhl> oh hey winny 18:19 <+SpaceManiac> the fog effect you get near the bottom of the map 18:19 <+SpaceManiac> + the sky 18:19 < Fenhl> void fog is not a thing anymore, is it? 18:19 < Grum> nah that was purged 18:19 < Grum> i think 18:19 < Grum> it should be 18:19 <+SpaceManiac> ah 18:19 < Grum> its stupid :( 18:19 <+SpaceManiac> just the sky, then 18:19 < Paprikachu> huh, when was it removed 18:20 < Paprikachu> i always hated void fog 18:20 < Fenhl> 14w34c 18:20 < Paprikachu> shows how long i havent mined anymore 18:20 < Fenhl> http://minecraft.gamepedia.com/The_Void#History 18:21 < Paprikachu> mh 18:21 < Paprikachu> well okay then 18:21 < Grum> enough people hated it :P 18:22 < Paprikachu> heh 18:22 <+SpaceManiac> So this is kind of random, but is there any reason the "action bar" chat slot (id 2) doesn't support json formatting? 18:22 < Paprikachu> hope you punished whoever had the idea :P 18:23 < Fenhl> that would probably be Notch 18:23 < Paprikachu> iirc void fog was added way after jeb became the lead dev 18:24 < Paprikachu> hated it since day 1 :D 18:24 < Fenhl> it was added in Beta 1.8 18:24 < Paprikachu> "uhhh, shit, can't see anything in my underground train stations anymore..." 18:25 < Fenhl> which was before jeb took over, but it's still possible he implemented it ^^ 18:25 < Paprikachu> mh ok 18:25 < Grum> i think markus added it? no idea 18:25 < Paprikachu> no i didn't 18:25 < Paprikachu> hurr 18:25 < Paprikachu> anyways 18:26 < Fenhl> haha, that must have been weird. I only started playing during Beta 1.8.1 18:26 < Paprikachu> gotta fix this race condition in my server :) 18:26 < Fenhl> speaking of race conditions 18:26 < Fenhl> does that item dupe still exist? 18:29 < Fenhl> https://www.youtube.com/watch?v=UWSZOeozJsI 18:34 < Grum> probably 18:35 < Fenhl> I wish I could help with that. Unfortunately reporting it didn't get me access to the original ticket 18:35 < Fenhl> i.e. it was closed as a duplicate of a private ticket 18:37 < Xor_Boole> TIL Grum has a snowman fetish 18:37 * Xor_Boole runs 18:37 < Grum> huh? 18:38 < Xor_Boole> I was refering to the tweet with th unicode snowman. reminded me of Thinkofdeath liking to spam it 18:39 < Fenhl> Paprikachu: position x/y/z are ints, right? 18:39 < Xor_Boole> though actually, I don't recognize the syntax. proguard? 18:39 < Xor_Boole> I'll be amused if 1.9 obfuscation uses snowmen 18:39 < Grum> yes 18:39 < Grum> 1.8.x will 18:40 < Wuppie> Snowmen <3 18:40 < Xor_Boole> you tricky bastard. 18:40 < Wuppie> That's queit brilliant Grum 18:40 < Xor_Boole> that'll be fun to reverse when 1.9 rolls around =p 18:40 < dx> do you not like snowmen, Xor_Boole? 18:40 < Grum> reverse? 18:40 < Xor_Boole> dx I hate the snow 18:40 < Grum> no it will stay that way 18:41 < Xor_Boole> Grum no, I mean mappings for spigot 18:41 < Grum> has nothing to do with mappengs 18:41 < Grum> *mappings 18:41 < Xor_Boole> sigh, now you're confusing me 18:41 < Wuppie> Just '☃' 18:41 < Grum> you are confusing yourself 18:41 < dx> ☃ 18:41 < Xor_Boole> see this is why talking to you just after I get up is a bad idea 18:41 < Grum> here, suck on a ☃' 18:41 < Wuppie> xD 18:42 * Xor_Boole adds to witty retort book 18:42 < Wuppie> Why did you choose ☃? 18:42 < Xor_Boole> Wuppie why not? 18:42 < Grum> because i couldn't find a good unicode-poop 18:42 < Wuppie> hahaha xD 18:42 < Xor_Boole> unicode has extra space, propose a poop character 18:43 < Fenhl> it already exists 18:43 < Grum> wouldn't be fast enough 18:43 < Thinkofdeath> pretty sure there is one in the standard now 18:43 < Fenhl> 💩 18:43 < Grum> http://www.fileformat.info/info/unicode/char/1F4A9/index.htm ! 18:43 < Xor_Boole> my term doesn't like it ^ 18:43 < Grum> but that is an emoooooji 18:44 < Xor_Boole> with surrogate bits it seems 18:44 < Xor_Boole> not in 0000-FFFF =< 18:44 < Wuppie> 💩 18:44 < Thinkofdeath> well people decompiling on their phone will have fun then 18:44 < Wuppie> 💩 is not an emoji 18:44 < Wuppie> it is a unicode char 18:44 < Xor_Boole> Thinkofdeath > decompiling on their phone 18:44 * Thinkofdeath acts like that is a thing 18:44 < Xor_Boole> you just won the internet, sir 18:45 < Xor_Boole> whatever that character is my term font is noncompliant 18:45 < Xor_Boole> which is sadness 18:45 < Wuppie> Grum: http://unicodepooforyou.com/ 18:45 < Grum> meh 18:45 < Grum> not enough fonts support 💩 18:45 < Xor_Boole> I like the snowman better 18:45 < Wuppie> maybe 🚽 18:45 < Wuppie> ? 18:46 < Grum> nah 18:46 < Wuppie> Snowman stays :D 18:46 < Xor_Boole> shame scala escapes all non-java characters in identifier literals 18:47 < Grum> scala sucks 18:47 < Xor_Boole> val `☃` = "snowman" isn't as fun as it could be 18:47 < Xor_Boole> Grum go away, u smell 18:47 < Grum> you snowmen 18:47 < Grum> such on that|! 18:47 < Xor_Boole> wow, rood 18:47 < Wuppie> such on that lol, don't you mean 'Suck on that'? 18:47 < Xor_Boole> Wuppie pretty sure he means "such" 18:48 < Xor_Boole> I feel there's a joke in here somewhere he didn't intend 18:48 < Grum> oh no i just fail-typed twice in that line 18:48 < Xor_Boole> Grum go away with your logic 18:48 < Wuppie> lol 18:48 < Grum> your mom's face. 18:49 * Fenhl popcorn 18:49 < Xor_Boole> kek 18:49 < Xor_Boole> such sass. wowe 18:49 < Xor_Boole> #grumymastersassman 18:50 * Wuppie thinks Grum got scared by Xor_Boole 18:50 < Xor_Boole> Wuppie doubt it 18:50 < Xor_Boole> I've tried before 18:51 < Xor_Boole> I set his carpet on fire once. he didn't bat an eye 18:51 < Paprikachu> race condition fixed x) 18:51 < Wuppie> Xor_Boole it's mean to set his carpet on fire! 18:52 < Xor_Boole> Paprikachu that's what the runtime wants you to think 18:52 < Fenhl> Paprikachu: good, now can you please fix this rage condition? 18:52 < Wuppie> what if the Mojang office burnt down because of that carpet? 18:52 < Paprikachu> heh 18:52 < Xor_Boole> Wuppie why do you think they moved? 18:52 < Wuppie> Xor_Boole I'm gonna call the cops on you! 18:53 < Xor_Boole> Wuppie shhhh 18:53 * Xor_Boole sticks a needle in Wuppie's neck 18:53 < Xor_Boole> shhhhhh 18:53 * Wuppie feels something in his nick, falls on ground 18:53 < Wuppie> neck* 18:53 < Wuppie> lol 18:54 * Wuppie pull's out the needle, struggles to get up. 18:55 < Xor_Boole> why does bus wifi suck so much? 18:56 < Paprikachu> is the join game packet also used for going to a different world? 18:56 < Xor_Boole> Paprikachu off the top of my head I think it's a diffrent change-world packet 18:56 < Xor_Boole> might be wrong, haven't messed with that part of the protocol recently 18:57 < Paprikachu> oh, it's respawn 18:57 < Paprikachu> well that's inconvenient 18:58 < Paprikachu> guess i'll have to add a flag to decide if the world should queue JoinGame or Respawn 18:59 < Paprikachu> depending on whether the player previously was in a world or not 18:59 < Paprikachu> :s 19:00 < Paprikachu> and oh god, apparently entity IDs are not world-local 19:01 < Paprikachu> Grum: pls change? 19:01 < Paprikachu> ;_; 19:04 < Paprikachu> the only change needed would be to add the entity id to the respawn packet, thus allowing the packet to change the id 19:06 < Paprikachu> ._. 19:07 < Xor_Boole> what did you break 19:07 < Paprikachu> i assumed world-local entity ids 19:07 < Paprikachu> which influenced my entire design 19:08 < Xor_Boole> I think "rekt" would be an understatement 19:09 < Paprikachu> i have 2 options right now: make ids global, but keep the design, which would result in inefficiency 19:09 < Paprikachu> or i could define yet another type of id that is world local but mapped to global ids in the protocol 19:09 < Bibl> holy crap java generic suck dong 19:09 < Xor_Boole> if you keep your shit organized #2 doesn't sound bad 19:09 < Paprikachu> i already have world ids, entity ids, uuids and client ids 19:09 < Xor_Boole> Bibl what else is new, captain obvious? 19:10 < Paprikachu> and now i'd need world-local-entity ids :| 19:10 < Bibl> i saw someone wrote "java generics \o/" 19:10 < Xor_Boole> the only good generics I've ever seen are CLR generics? 19:10 < Xor_Boole> s/?/. 19:10 < Paprikachu> templates :) 19:11 < Xor_Boole> Paprikachu those don't count, they're generics on steroids 19:11 < Thinkofdeath> Bibl: more about having them back as having no generics sucks more 19:12 < Xor_Boole> Thinkofdeath public foo(A a, B b) =) 19:12 < Thinkofdeath> Grum: Could we have @Override annotations too? :) 19:12 * Thinkofdeath hides 19:13 * Xor_Boole drags Thinkofdeath out into the open 19:13 < Fenhl> Wuppie: what's with your connection? 19:14 < Paprikachu> welp, time to play games or something 19:14 < Paprikachu> this is frustrating :| 19:14 < Wuppie> Fenhl my computer went on standby xd 19:14 < Wuppie> idk why tho 19:14 < Paprikachu> this should really be in the wiki 19:16 < Bibl> why is my internet constantly being raped 19:16 < Bibl> ffs 19:17 < Thinkofdeath> Paprikachu: what should be? 19:17 < Paprikachu> the scope of ids 19:18 < Thinkofdeath> entity ids are server-wide 19:18 < Thinkofdeath> thats basically it 19:18 < Paprikachu> yes, and that just fucked me 19:18 < Thinkofdeath> you can work around it I guess 19:19 < Paprikachu> of course, but it's very inconvenient 19:19 < Paprikachu> and a change wouldn't cost much 19:19 < Paprikachu> i have to introduce another type of id that has world-local scope and provide mappings from and to entity ids 19:21 < Xor_Boole> Bibl you know too much, your ISP wants you gone. 19:22 < Bibl> they want my minecraft bot code 19:22 < Xor_Boole> they want your blood 19:22 < Xor_Boole> and your children. and some of the casserole in your fridge 19:22 < Bibl> yes, British multinational telecommunications services company want my code 19:22 < Bibl> i dont have kids 19:22 < Bibl> nor do i have casserole 19:23 < Bibl> where do i file complaints 19:23 < Bibl> i think a jumper in one of the phones in my house is broken 19:23 < Bibl> and its messing something up because this happened last time and i reset the phones 19:23 < Bibl> and it started working properly again 19:23 < Bibl> ill go do that 19:25 < Xor_Boole> Bibl > british 19:25 < Xor_Boole> hmm, I can't think of any witty joke to make about this 19:26 < Grum> Thinkofdeath: @override has nothing to do with anything, we have them obviously 19:26 < Thinkofdeath> I know, just for neatness and all that :) 19:26 < Grum> Paprikachu: not sure how ids matter at all 19:27 < Paprikachu> i can explain it if you want, but it's lengthy 19:27 < Grum> if ids matter, you did it wrong ;P 19:27 < Paprikachu> well, they don't matter for functionality, but for performance 19:27 < Paprikachu> i rely on ids having no or very little gaps to map entity ids onto an array 19:28 < Paprikachu> but when they are server global, it means that every world will only use 1/N entries in that array where N ist the number of worlds 19:29 < Grum> well, don't do that? 19:29 < Paprikachu> i need lots of lookups so it's needed 19:29 < Grum> its not? 19:29 * Xor_Boole gets the popcorn 19:29 < Paprikachu> i want the fastest possible lookup performance i can get and arrays give me that 19:30 < Paprikachu> my data is scattered around a lot, where each subsystem has very specific data, and fetching that data requires a lookup 19:30 < Paprikachu> i dont have classes like Player where all attributes are in one location 19:31 < Paprikachu> you'd just need to add the entity to the respawn packet, otherwise global entities will still work fine for vanilla, but it gives server implementors the option to use world local ids 19:31 < Xor_Boole> Paprikachu well, in theory you could probably do per-world IDs 19:31 < Xor_Boole> but it would be pretty nasty at the protocol endpoint 19:32 < Paprikachu> i dont think so 19:32 < Paprikachu> when you change world, all entities are deleted from the client anyways 19:32 < Grum> not going to happen Paprikachu 19:32 < Paprikachu> it just needs to change its own id 19:32 < Paprikachu> why? :( 19:33 < Grum> you can just do it yourself 19:33 < Paprikachu> i can, but it will add overhead 19:33 < Grum> kill the entity, send it to the client again with a low id 19:33 < Grum> done! :) 19:33 < Paprikachu> i'd still need to partition ids 19:33 < Paprikachu> also 19:33 < Grum> no you dont? 19:33 < Paprikachu> i cant assign a new id to the player 19:34 < Paprikachu> anyways, i'm ingame, ill continue explaining afterwards :) 19:35 < Xor_Boole> Paprikachu want some popcorn? 19:35 * Xor_Boole shoves a popcorn bucket in Paprikachu's face 19:36 < Bibl> yep i think its something to do with the phones 19:36 < Bibl> i setup a fan to rotate and cool the router 19:37 < Bibl> and the fibre router thing next to it 19:37 * Xor_Boole sets Bibl's phonelines on fire 19:37 < Bibl> and its at 40 mb now 19:37 < Bibl> mbs 19:37 < Bibl> before it was like 1 mbs 19:39 < Bibl> dont you hate when people make help threads on forums, get the answer and remove their posts 19:39 < Bibl> like wtf 19:40 < Grum> Paprikachu: it still wont make your life perfect, i can just spawn a million entities, kill 999999 and you have an array of 1m entries forever 19:40 < Bibl> but your server will die >:) 19:42 * Xor_Boole sets Bibl on fire 19:46 < Grum> you cant just assume for 'the optimal situation' without ability to handle the worst case 19:47 < Xor_Boole> Grum I was pretty amused with your suggestion of making the upper half of the nether infilict void damage. are you going through with that or doing something else? 19:48 < Grum> maybe 19:48 < Grum> its kinda a no-go area anyhow :) 19:48 < Xor_Boole> I still think my suggestion of making it solid bedrock is better 19:48 < Grum> which people have cheated their way into 19:48 < Fenhl> haha oh dear 19:48 < Xor_Boole> irk ^ 19:48 < Xor_Boole> ikr* 19:48 < Xor_Boole> people have been getting up there on my server since forever and I hate it 19:48 < Grum> i could just fill all airblocks with lava 19:48 < Wuppie> lol Grum 19:49 < Grum> an no, all non-solids with lava ;D 19:49 < Xor_Boole> Grum solid bedrock is probably cheaper 19:49 < Grum> less fun 19:49 < Fenhl> we're going to have to evatuate that place on our server 19:49 < Fenhl> *evacuate 19:49 < Wuppie> on a friend server we wrote a bukkit plugin to stop them from entering lol 19:49 < Thinkofdeath> oh yes, use post-gen to apply the lava to old worlds too >:D 19:49 < Xor_Boole> don't do lava, that'll just make people get clever 19:49 < Xor_Boole> Thinkofdeath ++ 19:50 < Grum> it could just rain lava from the top ;D 19:50 < Xor_Boole> actually, post gen could screw over some creative builds =/ 19:50 < Grum> no=one builds at 255 ;D 19:50 < Fenhl> um 19:50 < Grum> no-one i care for builds at .. ;D 19:50 < Fenhl> actually… 19:50 < Xor_Boole> there's the small case where people export stuff into the nether 19:51 < Xor_Boole> but honestly, you can do whatever, if I dont like it I can work around it 19:51 < Grum> i think quad-void-damage and a blue glow seems like a good plan 19:51 < Grum> TRY WORK AROUND THAT! 19:51 < Xor_Boole> Grum you're a dick. <3 19:51 < Fenhl> a blue glow? o.O 19:51 < Grum> quad damage == blue glow obviously 19:52 < Wuppie> blue glow <3 19:52 < Grum> know your quake nubs 19:52 < Thinkofdeath> :D 19:52 < Fenhl> ¯\_(ツ)_/¯ 19:52 < Xor_Boole> speaking of world height, what's your opinion that insane cubic-chunks idea I saw floating around? 19:52 < Xor_Boole> I found the comments an amusing read 19:52 < Grum> the game is already cubic chunks 19:53 < Grum> just not infinite in any direction ;D 19:53 < Xor_Boole> Grum no, they're a grid of Z^2. the suggestion is a grid of Z^3 19:53 < Grum> no they are not? 19:53 < Grum> you just misname what a chunk is 19:53 < Grum> its actually a chunkcolumn 19:53 < Xor_Boole> go away with your nomenclature 19:53 < Fenhl> lol 19:53 < Xor_Boole> your chunk => my chunksection 19:54 < Fenhl> chunks have been cubic for a while now 19:54 * Grum slapx Xor_Boole with a ☃ 19:54 < Fenhl> it's just the world format that still uses 256-high chunks 19:54 < Xor_Boole> the main point is to remove the small limit of 6 chunks per column 19:54 < Xor_Boole> I think it's slightly insane but an amusing suggestion nontheless 19:54 < Grum> 6? 19:54 < Grum> its 16 as is 19:54 < Grum> it has a lot of issues and problems that people fail to solve 19:54 * Xor_Boole can't math 19:55 < Xor_Boole> Grum hence "slightly insane" 19:55 * Thinkofdeath finally found this https://i.imgur.com/IirTA3c.jpg and its no longer relevant 19:55 < Grum> QUAAAKE 19:55 < Xor_Boole> Thinkofdeath that's grainier than your IDE theme in the morning 19:55 < Thinkofdeath> *in minecraft 19:56 < Xor_Boole> "ok google, enhance!" 19:56 < Thinkofdeath> Xor_Boole: grainy? its actually how it looks 19:56 < Xor_Boole> Thinkofdeath doesn't help that it's dark as fuck 19:56 < Thinkofdeath> I haven't look at that pack in ages, might be better now that models are supported 19:57 < Thinkofdeath> Xor_Boole: once again, thats quake :) 19:57 < Xor_Boole> and that I haven't cleaned my lappy monitor in a while 19:57 < Thinkofdeath> https://i.imgur.com/SB9ZxIJ.png 19:57 < Xor_Boole> Thinkofdeath never played quake, sue me 19:58 < Xor_Boole> Grum cows need a nerf apparently http://www.reddit.com/r/Minecraft/comments/2t268a/in_all_this_hype_no_one_seems_to_of_noticed_jeb/cnv0ipf 19:58 < Grum> just have less cows 19:59 < Xor_Boole> did you take one too many of your troll pills this morning? 19:59 < Grum> i thnk i can have every 10 cows merge into a MEGACOWOFDEATHWITHLAZEREYES and then that should sort it 19:59 < Grum> like one of those cyriak cows -- https://www.youtube.com/watch?v=FavUpD_IjVY 20:00 < Xor_Boole> oh god I forgot that existed 20:00 < Fenhl> ^ 20:00 < Fenhl> there's a Minecraft version of it too 20:00 < Xor_Boole> there's a minecraft animation version, let me dig it up 20:00 < Xor_Boole> https://www.youtube.com/watch?v=NQ98HvK4pvo 20:01 < Grum> OOOEOEE 20:03 < Xor_Boole> no lazerz though 20:03 < Xor_Boole> needs more lazer 20:03 < Grum> afk watching that for the next 25 hours 20:04 < Xor_Boole> looped version!? 20:04 < Fenhl> Xor_Boole: if there's no snapshot/pre-release tomorrow, it's your fault 20:04 < Fenhl> :P 20:04 < Xor_Boole> Fenhl we should probably send the video to nathan too, just in case 20:08 < Paprikachu> Grum: actually, adding a compaction step is pretty trivial ;) 20:09 < Paprikachu> but that's not the use case i optimize for anyways 20:10 < Paprikachu> what's the reason again why you can't make this little change? :/ 20:14 < Xor_Boole> Paprikachu because Grum is mastertroll 20:22 < Bibl> can i code a sex bot or do i need to work on my interpersonal skills? 20:23 < Paprikachu> Grum: you could hire me, make me implement it, then fire me again :D 20:23 < Xor_Boole> Bibl real men write their girlfriends 20:23 < Grum> Paprikachu: why would i want tou notching up the code? 20:23 < Grum> err i mean botching ... oh well same difference 20:23 < Bibl> rood 20:23 < Xor_Boole> Grum "notching", how appropriate =p 20:23 < Paprikachu> <.< 20:24 < Bibl> i spent 2 hours explaing to someone what static is in in java lol 20:24 < Bibl> explaining* 20:24 < Xor_Boole> also, overheard just now: "java's like python, right" 20:24 < Bibl> had to cover oop before i could do that 20:24 < Xor_Boole> cs students these days 20:24 < Paprikachu> Grum: im probably one of the most competent people you'll find :p 20:25 < Xor_Boole> whomever this person is they're about to learn the beauty of static checking 20:25 < Bibl> python is like the genetically fucked up kid in the family 20:25 < Xor_Boole> "I know javascript for sure" 20:25 < Xor_Boole> I share a school with these people 20:25 < Paprikachu> cs students always suck at programming 20:25 < Bibl> i share a planet with them :/ 20:25 < Paprikachu> what do you expect 20:25 < Bibl> https://www.youtube.com/watch?v=fBpypL2OYwI 20:25 < Xor_Boole> Paprikachu I have friends who are cs students =< 20:26 < Bibl> >scala 20:26 < Bibl> >friends 20:26 < Bibl> mfw 20:26 < Paprikachu> heh 20:26 < Xor_Boole> Bibl die 20:26 < Bibl> rip bibl 20:26 < Xor_Boole> I have lisper friends 20:26 < Xor_Boole> and people who like haskell 20:26 < Xor_Boole> and your mum 20:26 < Bibl> everyone loves my mum 20:26 < Bibl> cuz shes not python 20:27 < Xor_Boole> that what she told me last night 20:27 < Bibl> were you coding a minecraft bot? 20:27 < Grum> Paprikachu: not really, you think java is the reason stuff is slow ;D 20:27 < Xor_Boole> me? nah, I have no projects ongoing 20:27 < Bibl> scala is heavier than java 20:27 < Bibl> python is just 20:27 < Bibl> like 20:27 < Bibl> cmon 20:27 < Paprikachu> Grum: well, as a minecraft dev you don't seem to know either :D 20:27 < Xor_Boole> Bibl I know about scala's internals, I've read compiler code 20:27 < Fenhl> Bibl: you thinking of Spock? 20:27 < Fenhl> that's written in Python iirc 20:27 < Xor_Boole> scala sacrifices performance for the most flexible syntax since lisp 20:28 < Bibl> read scala compiler? you have done the impossible? 20:28 < Xor_Boole> Bibl I also read the entire spec 20:28 < Grum> Paprikachu: i do know? :/ 20:28 < Paprikachu> Grum: last time i asked you said you weren't sure 20:28 < Bibl> scala spec: 20:28 < Bibl> 1. dont use scala 20:28 < Bibl> end spec. 20:28 < Grum> Paprikachu: i know it is not because of java :) 20:29 < Xor_Boole> Bibl https://github.com/scala/scala/blob/2.11.x/src/compiler/scala/tools/nsc/Global.scala 20:29 < Xor_Boole> nice knowing your sanity 20:29 < Bibl> stop the cancer pls 20:29 < Paprikachu> Grum: and i'm sure it is, at least to some degree, because java doesn't let you write efficient code :) 20:29 * Xor_Boole dips Bibl in liquid scala 20:30 < Paprikachu> that +GC 20:30 < Bibl> i was a young boy then 20:30 < Xor_Boole> Paprikachu ehh, JIT lets you get close enough for most people not to notice 20:30 < Paprikachu> Xor_Boole: false 20:30 * Wuppie dips Xor_Boole in hot java 20:30 < Paprikachu> i know java programmers like to think that, but the truth is, some things cannot be optimized by jit, no matter what 20:31 < Xor_Boole> Paprikachu I'm not dumb, I know 20:31 < Paprikachu> and that something is not code 20:31 < Xor_Boole> but it is true that good java beats average C++ 20:31 < Paprikachu> it's data 20:31 < Paprikachu> no, it's not 20:31 < Grum> Paprikachu: you are just mistaken period 20:31 < Xor_Boole> sigh, here we go again 20:31 < Bibl> if you program scala you become a smack addict 20:31 < Paprikachu> Grum: well what is the issue 20:31 < Grum> you are :P 20:31 < Bibl> i think thats an edit to the scala spec 20:31 < Xor_Boole> Bibl fuck off 20:31 < Paprikachu> ... 20:31 < Fenhl> oh hey look a programming languages “debate” 20:32 < Fenhl> how productive 20:32 < Paprikachu> ikr 20:32 < Xor_Boole> Fenhl want some popcorn? 20:32 < Bibl> this is a scala curbstomping 20:32 < Bibl> hehe 20:32 * Xor_Boole passes Fenhl the popcorn with extra butter 20:32 < Fenhl> Xor_Boole: already got some, thank you 20:32 < Grum> yeah, if the game was c++ you'd have a whole new different set of problems 20:32 < Grum> for example there are no decent ides for c++ :P 20:32 < Xor_Boole> Bibl does it help that I'm not actually a developer but rather a theoratical math student? 20:32 < Grum> (that are cross platform) 20:32 < Paprikachu> Grum: actually, eclipse is pretty good 20:33 < Wuppie> Codeblock grum? 20:33 < Paprikachu> but continue on 20:33 < Xor_Boole> Paprikachu > eclipse 20:33 < Xor_Boole> >>>> eclipse 20:33 < Xor_Boole> >>>>>>>>>>> eclipse 20:33 < Xor_Boole> > good 20:33 < Bibl> eclipse c++ is good 20:33 < Paprikachu> ^ 20:33 < Grum> eclipse? lolllll 20:33 < Paprikachu> i dunno what's so funny about that 20:33 < Paprikachu> it has one of the best parsers out there 20:33 < Grum> eclipse is a piece of shit 20:33 < Bibl> dont tell u use that unintellij thing 20:33 < Xor_Boole> the only good part of eclipse is the JDKless compiler and that's a strech 20:33 < Fenhl> http://i.imgur.com/xXjbM9D.jpg 20:33 < Paprikachu> plus it supports the latest features 20:33 < Xor_Boole> Grum ++ 20:33 < Xor_Boole> #ideamasterrace 20:33 < Paprikachu> Grum: how so? 20:33 < Bibl> top pop corn 20:34 < Bibl> theoratical 20:34 < Bibl> is like 20:34 < Bibl> x = 5 20:34 < Bibl> what is x + 1 20:34 < Xor_Boole> Paprikachu the fact that eclipse sucks is usually taken as an axiom 20:34 < Wuppie> 6 20:34 < Grum> Paprikachu: i guess you do not know what a proper IDE is then 20:34 < Grum> I'm sorry for you :( 20:34 < Xor_Boole> similar to how Bibl's mum is ugly. it's a brute fact. 20:34 < Bibl> wow m8 20:34 < Paprikachu> Grum: no need to be condescending, what is a good ide 20:34 < Grum> for java? Intellij 20:34 < Bibl> i would check but im too busy fuckin yo bitch 20:35 < Paprikachu> Grum: c++ obv 20:35 < Xor_Boole> s/java/anything but c 20:35 < Grum> Paprikachu: no idea, i just said that c++ has no proper ides 20:35 < Xor_Boole> Paprikachu use vim 20:35 < Paprikachu> i've been using eclipse cdt for years now 20:35 * Xor_Boole runs 20:35 < Paprikachu> and i'm quite happy 20:35 < Grum> yeah, sorry for ya :( 20:35 < Grum> try some java and intellij 20:35 < Grum> and learn how shit eclipse truly is 20:35 < Xor_Boole> kotlin's nice too