02:07 < dav1d> SIGNOUT_URL = YGGDRASIL_URL + "signout" 02:07 < dav1d> :( 02:07 < dav1d> both of these are not on the wiki 02:07 <+sadimusi> I know 02:07 <+sadimusi> I don't even know what the difference is 02:07 < dav1d> signout invalidates all? 02:07 <+sadimusi> that wouldn't make much sense 02:07 < dav1d> indeed, but it's minecraft 02:07 < dav1d> :> 02:08 < TkTech> One is never actually used by the client 02:08 < TkTech> My library also includes the link but I didn't bother implementing it, don't actually know what it's supposed to do. 02:09 < TkTech> nyuszika7h: Unless you've worked on your snippet since that gist was posted, interested in working together? https://gist.github.com/TkTech/5970188 02:09 < dav1d> TkTech: why the @property everywhere? 02:10 < dav1d> I don't understand why everyone marks stuff private or tries to make it readonly 02:10 < dav1d> documentate, don't do it, if the user still does it, his fault 02:10 <+sadimusi> dav1d: about the exceptions: I hate it when a script crashes and just displays the name of the exception and I then have to come up with something like sqlalchemy.orm.exc.NoResultFound: 02:10 < TkTech> Because this is intended as a library and should be slightly rigid. It's not indented to be private, it's intended to be a read-only accessor. 02:11 < dav1d> TkTech: private in non-python languages 02:11 < dav1d> also private in general and read-only 02:11 < dav1d> I simply see no benefit of it, except of more code 02:11 < TkTech> Why would you want the username to be mutable? 02:12 < TkTech> And session_token is a read-only convenience property, for example. 02:12 < dav1d> TkTech: you don't want to, but why do you assume the user of your lib is dumb? 02:12 < dav1d> TkTech: that's something else 02:12 < TkTech> Because I've made libraries before and users are dumb. 02:12 < dav1d> session_token actually does something 02:12 < dav1d> TkTech: then it's their fault for not reading the documentation if they are dumb 02:13 < dav1d> I am glad python has no private 02:13 < dav1d> I needed to monkeypatch/access (something supposed to be private) often enough 02:14 < dav1d> self._selected_profile = j.get('selectedProfile') 02:15 < TkTech> dav1d: Er, yes it does. 02:15 < dav1d> availableProfiles and selectedProfiles can not exist, good to know... 02:15 < TkTech> Python has a concept for "private" methods. 02:15 < dav1d> TkTech: and that is 02:15 < TkTech> __ 02:15 < TkTech> class Bob(object): def __private(self): pass 02:15 < dav1d> TkTech: that is not private 02:15 < TkTech> Anything with two leading __ will have its name mangled. 02:16 < dav1d> that is at maximum a convention people agreed on 02:16 < TkTech> …no... 02:16 < dav1d> I can still access it from anywhere 02:16 < TkTech> …no you can't... 02:16 < dav1d> I can? 02:16 < TkTech> dav1d: http://www.faqs.org/docs/diveintopython/fileinfo_private.html 02:17 < dav1d> TkTech: I still can access it 02:17 < TkTech> You cannot access it by name. You need to inspect the object and guess. 02:17 < dav1d> TkTech: http://vp.dav1d.de/aDv?- 02:17 < TkTech> That is the same with privates in ANY language, including C. 02:18 < dav1d> TkTech: C has no private? 02:18 < TkTech> ++. 02:18 < dav1d> or are you speaking of "exported" not "exported" 02:18 < TkTech> (Also technically yes it does) 02:18 < TkTech> Yeah. You know what I'm talking about. 02:19 < dav1d> well a compiler shouldn't allow it, if he properly implements it, except some mangling hacks which are even compiler dependend 02:19 < dav1d> I really think the concept of private is horrible 02:20 < dav1d> (and I still use it.. I don't know why) 02:20 < TkTech> So, I think you've got a different concept of privates. 02:20 < TkTech> There's a difference between making it *impossible* to use a method/attribute. 02:20 < TkTech> And not exposing it as a public API. 02:21 < dav1d> first should never happen 02:21 < dav1d> latter makes in some cases sense 02:22 < dav1d> haha http://vp.dav1d.de/tgLdh?py 02:32 <+sadimusi> argh, I just rebooted and now my pc doesn't detect the monitor anymore x.x 02:32 < TkTech> Hah, linux? 02:33 <+sadimusi> both mac and windows 02:33 < TkTech> Multi-monitor setups used to be such a bitch. 02:33 <+sadimusi> might be connected to the thunderstorm earlier :/ 02:34 < dav1d> hehe mac, another miracle to me 02:34 <+sadimusi> and I can't find another monitor in the house 02:44 <+sadimusi> yes, that is exactly the resolution I want http://cl.ly/QN2h 02:50 < TkTech> sadimusi: Ew, you're using a TV? 02:50 <+sadimusi> only monitor I could find 02:50 < TkTech> Usually burns my eyes after awhile using a large-format display 02:51 <+sadimusi> I'm currently at my parents house, but at home I always use a tv 02:56 < TkTech> Crazy. Totally crazy mon. 02:56 <+sadimusi> I know :D 03:01 <+sadimusi> the tv thing doesn't really work -.- where can I find a resonably sized monitor at 3AM? 03:05 <+sadimusi> lets try the local school, there must be something there 03:09 < TkTech> If the cops ask we've never heard of you. 03:25 <+sadimusi> that was only partially successful, since they mostly have imacs and macbooks the only monitor I could find belongs to the file server and is like 21" 03:48 <+sadimusi> of course I don't notice that I don't have a firewire port anymore until _after_ I already carried my sister's 27" imac to my room m( 03:48 < dexter0> what were you going to do with a firewire port? 03:49 <+sadimusi> start my computer in target mode and then boot from it on the imac 03:49 < dexter0> oh, right 03:49 < dexter0> you can do that over thunderbolt as well but I bet you don't have a cable 03:50 <+sadimusi> I do have one, but it's at my apartment in Zurich 03:50 <+sadimusi> looks like I'm stuck with this 21" thing until at least tuesday 03:51 <+sadimusi> or maybe I could go to a physical store and buy a new one 03:51 < dexter0> those things are $$ 03:52 <+sadimusi> since I'm rarely here anymore I don't really care about quality 03:53 <+sadimusi> so should be <300$ 11:09 < nyuszika7h> TkTech: cadoth.net has expired, we're working on getting it 11:09 < nyuszika7h> it's still not available for registration because it's owned by some person who insisted on registering it for me for a year or a bit more 11:14 < nyuszika7h> dav2d, TkTech: cadoth.tk is a temporary domain until we get things back up 11:15 < nyuszika7h> unfortunately my mail doesn't work as I can't get cadoth.net yet and it's a PITA to change it on all the sites 11:15 < nyuszika7h> so if you want to contact me, nyuszika7h (at) gmail (dot) com is preferred over the cadoth.tk one 11:40 < shoghicp> hi 11:40 < shoghicp> tell me what do you think about https://account.pocketmine.net/m/login 11:41 <+ammar2> looks very minecrafty 11:42 <+ammar2> shoghicp: the little hover around the inputs when you focus on them, add a transition to it and make it a tad bit more pronounced 11:42 <+ammar2> but otherwise it looks good 11:42 <+ammar2> also try moving the login box a bit below the top bar, seems a bit close unecessarily 12:09 < shoghicp> ammar2: thanks 12:09 < shoghicp> it is designed for mobile devices 12:09 < shoghicp> but looks fine on PC too :D 12:17 < shoghicp> so I'm managing 96K users right now in our own Realms system ;) 12:17 < shoghicp> for the pocket edition 14:48 < dav1d> are there any values on how fast a player moves, sprints, falls, etc.? 14:49 < dav1d> I mean there is this: http://www.minecraftwiki.net/wiki/Speed#Speed 14:49 < dav1d> but nothing about acceleration/falling etc. 16:32 < x68> for the new json authencation scheme 16:32 < x68> doesm y json payload have to look exatcly this, http://pastebin.com/pJrS0Sem ? 16:34 < iBotPeaches> x68: http://wiki.vg/Authentication 16:35 < x68> been looking at, i am trying to construct a static string 16:35 < x68> i want to verify if the spaces and newlines matter 16:41 < Drainedsoul> JSON ignores whitespace 16:41 < x68> i see, but when i am doing my post call to https://authserver.mojang.com/authenticate 16:42 < x68> i am getting a 403, which means i am probably doing something wrong 16:48 < dav1d> x68: did you set the correct http header? 16:48 < dav1d> Content-Type in specific 16:48 < x68> yes i did 16:48 < x68> currently my web call is like so: 16:49 < dav1d> code would be helpful 16:49 < Drainedsoul> do you know what 403 means? 16:49 < Drainedsoul> assuming the server is sane, it doesn't mean that your request is poorly-formed (that'd be 400) 16:49 < dav1d> Drainedsoul: probably sending a GET instead of a POST? 16:49 < dav1d> x68: ^ 16:49 < x68> forbidden error, i know what it means 16:50 < x68> i get 400 errors now AND i am doing post calls 16:50 < x68> http://pastebin.com/aneadnu3, here's what i am currently doing 16:50 < dav1d> that shows nothing 16:50 < Drainedsoul> what are you POSTing? 16:50 < dav1d> and what is the url 16:51 < x68> var baseAddress = "https://authserver.mojang.com/authenticate"; 16:51 < dav1d> just show the whole code/function 16:51 < dav1d> including your sample data 16:51 < x68> alright 16:51 < dav1d> we won't steal it 16:52 < x68> i've been herel ong here enough to know that :) 16:52 < dav1d> kk :) 16:53 < x68> http://pastebin.com/4nWZc4WZ 16:53 < x68> also how's the d bot coming along dav1d? 16:53 < dav1d> x68: not a bot, client :) 16:53 < dav1d> good actually, working on physics right now! 16:54 < dav1d> x68: parsedcontent is not valid json 16:54 < x68> i forgot the braces didn't i ...? 16:55 < dav1d> yes 16:55 < x68> haha, thanks :) 16:55 < dav1d> I recommend you to invest into a json lib ;) 16:55 < dav1d> if you want to properly parse the response you need it anyways 16:56 < x68> no need when it's for a simple call this 16:56 < x68> actually, you are right .. it would make parsing the error messages much easier 16:56 < dav1d> depending on what you want to do with the reponse 16:57 < dav1d> x68: also what happens if your password contains a " 16:57 < dav1d> this is still a valid password 16:57 < dav1d> In [10]: json.dumps('"password') 16:57 < dav1d> Out[10]: '"\\"password"' 16:57 < dav1d> a json lib handles that correctly 16:57 < x68> i see, good catch 16:57 < dav1d> In [11]: print json.dumps('"password') 16:57 < dav1d> "\"password" 16:58 < dav1d> ^ easier to see 16:58 < x68> thanks :) 16:58 < dav1d> glad I could help 16:58 < Drainedsoul> what characters are and aren't valid in passwords? 16:59 < x68> does the new launcher work with 1.5.x and 1.4.x for server authetication? 16:59 < dav1d> Drainedsoul: I think everything is valid? 16:59 < dav1d> x68: yes it should 16:59 < x68> good to know :) 16:59 < Drainedsoul> if everything is valid hold on 16:59 < dav1d> the session tokens of yggsdrasil and the old api are identical 16:59 < dav1d> Drainedsoul: try it out? 16:59 < Drainedsoul> http://i.imgur.com/bKSzoRf.png here, you need to handle every case 17:00 < dav1d> Drainedsoul: escape control characters? 17:00 < dav1d> that reminds me of that spotify unicode bug 17:01 < Drainedsoul> http://www.json.org/string.gif 17:01 < dav1d> Drainedsoul: ? 17:01 < dav1d> any unicode character, except " or \ both can be escaped 17:01 < Drainedsoul> I'm just saying, if he wants to send text, he needs to escape more than just " 17:01 < dav1d> oh 17:01 < Drainedsoul> he needs to escape reverse solidus, double quote, and all control characters 17:02 < dav1d> I thought you were speaking of json is not capable of sending unicode properly 17:02 < Drainedsoul> oh, no, it definitely is 17:02 < Drainedsoul> the MC protocol isn't, but that's another topic for another time :( 17:02 < dav1d> yeah I was kinda confused 17:02 < dav1d> Drainedsoul: I know :) 17:02 < dav1d> but shouldn't be a problem for passwords 17:03 < Drainedsoul> "shouldn't" is like the worst word to ever come up in Unicode-related discussions 17:03 < Drainedsoul> :P 17:04 < dav1d> Drainedsoul: I don't know how fucked up their database is :P 17:04 < dav1d> well, hopefully they don't store the password plain 17:06 < Drainedsoul> I'd be interested to find out how many systems won't let you login with canonically equivalent passwords, because they just hash raw bytes without normalizing 17:07 < dav1d> Drainedsoul: a lot probably 17:07 < Drainedsoul> :( 17:07 < dav1d> hashing raw bytes is easier and safer (less bugs) 17:08 < dav1d> even though 1% of users might get pissed 17:08 < Drainedsoul> I suppose. I guess not letting a user login with a correct password is preferable to perhaps letting users login with the wrong password. 17:09 < dav1d> yeah 17:09 < dav1d> Drainedsoul: seen http://labs.spotify.com/2013/06/18/creative-usernames/ ? 17:10 < Drainedsoul> yeah I saw that on Reddit a while back. To me that just seemed like they made it more complicated than it had to be 17:10 < dav1d> as it turned out, I have no idea of unicode 17:10 < Drainedsoul> Unicode is a special kind of fucked up 17:10 < dav1d> but it was an interesting read though 17:12 < x68> accesToken is the session id 17:12 < x68> and the client token is the new field that has been added, correct? 18:02 < dav1d> new launcher? 18:02 < dav1d> multiple profiles supported? :O 18:03 < dav1d> x68: session id is player uuid + access token 18:03 < dav1d> token:accessToken:UUID 18:04 < dav1d> I think that is on the wiki 18:45 < barneygale> sweet. writing a cartographer, output map managed to be correct north/south/east/west orientation first time round :D 19:30 < dav1d> I need a nice function for gravity :( 19:34 < shoghicp> ^ me too 19:34 < dav1d> float ticks = falling.peek().msecs; 19:34 < dav1d> // not really what minecraft uses 19:34 < dav1d> acceleration.y = -pow(ticks, 1.048) * 2 * s; 19:34 < dav1d> shoghicp: ^ 19:34 < dav1d> shoghicp: this works "ok" 19:34 < dav1d> shoghicp: ticks is not ticks sonder msecs in air 19:34 < dav1d> but it doesn't work for jumping it all 19:35 < shoghicp> in fact, I need full physics 19:35 < dav1d> shoghicp: you have that implemented already? 19:35 < dav1d> shoghicp: that's what I am doing right now 19:35 < shoghicp> I had a "simple" one 19:35 < shoghicp> I'm going to write it for 1.4 xD 19:35 < shoghicp> the current one lags the server 19:35 < dav1d> I would like if I could use the gravity automatically for jumping 19:36 < dav1d> +y velocity, gravity takes over at a height of 1.1blocks 19:36 < dav1d> shoghicp: so you have something? 19:37 < shoghicp> yes, an incremental one. saves the last time checked and calculates everything in the next check 19:37 < dav1d> shoghicp: does jumping work? 19:37 < shoghicp> at least players can jump 19:38 < shoghicp> and entities can go upside 19:38 < dav1d> shoghicp: can you link me to the code? 19:38 < shoghicp> up* 19:38 < shoghicp> I don't want you to use that code 19:38 < shoghicp> xD 19:38 < shoghicp> let me find it 19:40 < shoghicp> also, my collision check is getting all the blocks after the actual position and the next position 19:40 < shoghicp> https://github.com/PocketMine/PocketMine-MP/blob/master/src/world/Entity.php#L386 19:40 < shoghicp> that is really messed up 19:40 < dav1d> lol 19:40 < dav1d> yeah 19:41 < dav1d> I saw this, I was hoping you mean something else :> 19:41 < dav1d> thanks 19:41 < shoghicp> I couldn't rewrite it before, too busy with multiworld 19:41 < dav1d> shoghicp: did you see http://www.minecraftwiki.net/wiki/Speed#Speed 19:41 < shoghicp> I'll ping you if I get a new system ;) 19:41 < dav1d> Vertical Speeds 19:41 < shoghicp> dav1d: yes, but they fail in MCPE 19:41 < dav1d> that is completly off 19:42 < shoghicp> no idea why 19:42 < dav1d> makes no sense, either I am too stuipid to implement it or it simply doesn't work 19:42 < shoghicp> dav1d: for testing purposes, send each position update 19:42 < shoghicp> do not send velocity updates 19:42 < dav1d> shoghicp: I am client 19:42 < shoghicp> hmm 19:43 < shoghicp> where is your code? 19:43 < dav1d> shoghicp: not really existent 19:43 < shoghicp> ok 19:43 < dav1d> sec I am pushing what I have 19:43 < shoghicp> try with a fake gravity first ;) 19:44 < dav1d> shoghicp: and that is? 19:44 < shoghicp> I think that Minecraft uses 16-32 m/s^2 as the gravity, right? 19:45 < Not-001> [BraLa] Dav1dde pushed 4 commits to master [+0/-0/±15] http://git.io/V4KDBQ 19:45 < dav1d> shoghicp: ? 19:45 < Not-001> [BraLa] Dav1dde 48a15c5 - d-apt moved 19:45 < Not-001> [BraLa] Dav1dde 8526954 - Apply physics to player instead of camera 19:45 < Not-001> [BraLa] Dav1dde 6631fb8 - rework physics, camera, player api 19:45 < Not-001> [BraLa] Dav1dde 64ec109 - broken gravity 19:45 < shoghicp> let me write some code 19:45 < dav1d> shoghicp: can you add parens? 19:45 < dav1d> 16-(32^2m/s)? 19:46 < dav1d> or s^2? 19:46 < shoghicp> oh xD 19:47 < dav1d> shoghicp: mh? 19:47 < dav1d> shoghicp: https://github.com/Dav1dde/BraLa/blob/master/brala/physics/survival.d#L53 19:47 < dav1d> shoghicp: https://github.com/Dav1dde/BraLa/blob/master/brala/physics/physics.d 19:54 < shoghicp> dav1d: https://gist.github.com/shoghicp/574e9f75bcbae4d7379d 19:54 < shoghicp> you can set the velocity so you can jump 19:56 < dav1d> shoghicp: microtime? 19:56 < shoghicp> microseconds 19:56 < Brott> happy birthday dav1d 19:57 < dav1d> Brott: why? 19:57 < Brottweiler> it says it's your birthday on skype lol 19:57 < shoghicp> dav1d: time() is less precise 19:57 < dav1d> shoghicp: oh nvm 19:57 < dav1d> Brottweiler: that's wrong, but my friends birthday is today 19:57 < dav1d> Brottweiler: but thanks :D 19:58 < dav1d> Brottweiler: you saw the video I notice'd you? 19:58 < Brottweiler> :( 19:58 < dav1d> shoghicp: thanks gonna try that 19:58 < dav1d> Brottweiler: ? 19:58 < shoghicp> :) 19:58 < Brottweiler> dav1d: yeah yeah i saw that video when he uploaded it though :P 19:58 < dav1d> hehe 19:58 < dav1d> Brottweiler: have you seen him in stockholm? :> 19:59 < Brottweiler> no XD 20:00 < Brottweiler> I do not even think I would like to.. 20:02 < dav1d> Brottweiler: maybe he would gave you from his delicious fish :> 20:02 < dav1d> man english is hard today 20:02 < Brottweiler> Surströmming 20:04 < dav1d> shoghicp: what does this mean? 16 meters per second^2 20:04 < dav1d> why is this -32? 20:04 < shoghicp> or -16 20:04 < shoghicp> I set the one that I remembered 20:04 < shoghicp> set it to -16 20:09 < dav1d> doesn't quite work 20:10 < shoghicp> ? 20:12 < dav1d> I am comparing it with vanilla client 20:12 < dav1d> speeds don't match 20:13 < dav1d> shoghicp: with 32 it comes at least close 20:13 < dav1d> thanks, better than what I had 20:14 < shoghicp> welcome! 20:37 * barneygale wonders if he's found a minecraft bug 20:37 < barneygale> check out the two avenues where trees didn't generate: http://imgur.com/bpx8rXm 20:39 < dav1d> barneygale: or you have a bug 20:40 < barneygale> I can't see how it could be something of mine 20:40 < barneygale> the other terrain works there fine 20:40 < barneygale> e.g. there are lakes and whatnot in the avenue 20:40 < barneygale> it's possible the heightmap might be wrong for those chunks 20:41 < barneygale> and I could work around that, but it's still not really my bug 20:41 * barneygale tries to figure out how it works 20:47 < dav1d> lol 20:47 < dav1d> I just implemented longjump 20:47 < dav1d> acceleration.y = 20; 20:47 < dav1d> bit too much :> 20:49 < dav1d> man this code sucks and is a mess 20:49 < dexter0> too much technical debt? 20:51 < dav1d> mh? 20:51 < dav1d> well it's not even a mess just meh, I don't like it 21:14 < Not-001> [BraLa] Dav1dde pushed 1 commit to master [+0/-0/±4] http://git.io/Es2_3A 21:14 < Not-001> [BraLa] Dav1dde e3a7e6c - implement jumping, creative gravity/fly toggle --- Day changed dim. juil. 21 2013 00:28 < ffmdr> is there some cool tool to detect obfuscation changes and remap mappings automatically? 00:28 < ffmdr> I mean 00:28 < ffmdr> where one is original minecraft 1.6.2 and other is same version but with diffrent obfuscation 00:28 < ffmdr> shifted obf schema 00:29 <+sadimusi> the mcp guys use some kind of script which was originally written by TkTec 00:29 <+sadimusi> or at least they used to 01:21 < ffmdr> yeah I am searching for something like that 01:22 < ffmdr> well searge is clearly working with original mojang mappings on livestreams so I guess its not too hard for him to remap 01:29 < [z]> https://github.com/agaricusb/MinecraftRemapping may be what you want 01:29 < [z]> But I don't know how you use it 01:42 < x68> for Entity Properties (0x2C) , i am confused as to how i should read the ListElement 02:05 <+sadimusi> x68: what is unclear? 02:05 < ffmdr> [z]: it contains everything to everything mappings :d not sure if I can generate my own 02:06 < x68> i was unclear about the elements, i just have to loop and read long,long,double,byte n times 02:07 < ffmdr> oh these srg in this repo are really useful 02:12 <+sadimusi> using two mc4p instances to debug mc4p <3 02:27 < Drainedsoul> x68: http://i.imgur.com/Mrsv65G.png 02:29 < x68> still slighty confused about the elements 02:30 <+sadimusi> this is my definition, it has some labels: https://gist.github.com/sadimusi/6025899#file-message-py-L642 02:30 < Drainedsoul> how so? 02:31 < x68> currently i have it like so: 02:32 < x68> http://hastebin.com/bipepedago.vala 02:32 < x68> but i am getting read errors afterwards 02:32 <+sadimusi> ah 02:32 <+sadimusi> each of the values in the dict has its own list 02:32 < x68> pardon? 02:33 <+sadimusi> for each property you read a double and the list 02:33 <+sadimusi> for most properties the list will be empty 02:33 < x68> i somewhat understand 02:34 < x68> basically the latter list correpsonds to the dictionary that is sent before? 02:34 <+sadimusi> the structure could look something like this: {'generic.movementSpeed': {'value': 1, 'list': []}, 'something.else': {'value': 1, 'list': []}} 02:35 < x68> ah i see 02:35 <+sadimusi> maybe burger's output would have helped the most http://b.wiki.vg/1.6.1...1.6.2#packets:0x2c 02:35 < x68> one thing, cna you verify if my implementation is correct? 02:36 <+sadimusi> yes, the types all look correct 02:36 < x68> d'oh i see what i did wrong :) 02:36 < x68> it's a nested loop 02:37 <+sadimusi> exactly 02:37 < x68> no more errors :) 03:25 <+sadimusi> the new mc4p parser finally works completely :) just a prettier alternative to those OrderDicts is missing 03:43 < x68> for online-mode=true and for 1.6.2, which url do i verify the accessToken with? 03:43 <+sadimusi> are you a server? 03:43 < x68> client, has the url changed from 1.4.x and 1.5.x? 03:44 <+sadimusi> I don't think so 03:44 <+sadimusi> you want to verify wether the access token is valid? 03:44 < x68> i want to connect to a 1.6.2 server with online-mode=true 03:44 < x68> currently i am using the new authetication scheme 03:45 <+sadimusi> it's still the same server 03:45 < x68> ah i see 03:45 <+sadimusi> you just have to build your session id http://wiki.vg/Authentication#Session_ID 03:45 < x68> okay :) 03:50 < x68> the new session id is generated like so, token:: ? 03:50 < x68> in this case, what exactly is profile id? 03:51 <+sadimusi> the id of the active profile 03:51 <+sadimusi> you get it when authenticating or refreshing 03:52 < x68> currently it is always 0? 03:52 <+sadimusi> no 03:52 < x68> okay 03:52 <+sadimusi> just use the selectedProfile.id you got when logging in, currently you can't really change it 03:53 <+sadimusi> or at least there's no way for us to try it out 03:55 < x68> what do you mean? 03:56 < x68> do you mean, availableProfiles.id? 03:56 <+sadimusi> no, selectedProfile 03:57 <+sadimusi> which is the same as availableProfiles[0].id 03:58 < x68> i see, thanks again 03:58 < x68> i also noticed that minecraft usesj son for chat now? 03:59 <+sadimusi> yes 03:59 <+sadimusi> it still has some issues though 03:59 <+sadimusi> but mostly in the client, so that doesn't concern you 03:59 < x68> okay, but i need extra parsing :) 04:00 <+sadimusi> and you need proprietary language files 04:00 < x68> really now? .. 04:01 <+sadimusi> I don't expect mojang to make a fuzz about it, but yes 04:01 <+sadimusi> did you look at the format yet? 04:01 < x68> not yet, i just took a quick look at what my gui was dumping out 04:15 < x68> sadimusi: 04:15 <+sadimusi> hm? 04:16 < x68> http://hastebin.com/fiqasokepa.avrasm 04:16 <+sadimusi> no no 04:16 < x68> nope? 04:16 <+sadimusi> token:x:z 04:16 < x68> !! i see 04:16 < x68> token is a constant, yeah? 04:17 <+sadimusi> yes 04:17 < x68> and now i have authentication support thanks to you :) 04:19 < x68> also burger isn't displayign the new blocks added in 1.5.x and 1.6.x when i do a comparison with 1.4.x 04:19 <+sadimusi> the new resources system broke most of burger 04:20 < x68> aw :( 04:20 <+sadimusi> but there's already a beta of an update http://beta.ceilingcat.ch 04:20 < x68> huzzah :D 04:20 < dx> sadimusi: why is that still "beta" anyway? 04:21 <+sadimusi> there are still things missing 04:21 <+sadimusi> like proper handling of all the versions 04:21 <+sadimusi> and I was working on a redesign 04:21 < dx> oh ok 04:22 <+sadimusi> it's a completely new server based in flask, so it's not just an update 04:22 <+sadimusi> *on 04:22 < x68> still broke and some versions are missing 04:23 < x68> i see the reason for beta now 04:23 <+sadimusi> versions are missing? 04:23 < x68> 1.4.x 04:23 <+sadimusi> they are definitely not sorted correctly 04:23 <+sadimusi> but they should be somewhere 04:23 < x68> *had to scroll* 04:24 <+sadimusi> block diffs might be somewhat useless because all the block's texture changed 04:24 <+sadimusi> well, the new ones are at the bottom 04:25 < x68> i have no need for textures right now 04:26 < x68> however, it seems to just spit out all the blocks in minecraft 04:27 <+sadimusi> that's what I meant 04:27 < x68> ah okay :) 04:27 <+sadimusi> because all of them changed... 04:28 < x68> it's alright :) 04:30 < dx> sadimusi: woo flask 04:30 < dx> sadimusi: what were you using before? 04:30 <+sadimusi> php 04:30 * sadimusi duck 04:31 <+sadimusi> *ducks 04:31 < dx> :D 04:31 < dx> yeah, i see how the migration of that could be hard then 04:31 < dx> probably easier to change dns 04:32 <+sadimusi> what do you mean? 04:33 < dx> some webservers that only have php make it hard to use other languages.. some don't even have shell access 04:34 < dx> of course that might not be the situation here, but it's very common 04:34 <+sadimusi> both sites are already running on the same server, so that won't be a problem 04:34 < dx> ..oh. 04:34 <+sadimusi> I think b.wiki.vg is just a cname for burger.ceilingcat.ch 04:34 < dx> okay :D 04:34 < x68> there are abotu 20 ticks/second, right? 04:34 <+sadimusi> yes 04:35 < x68> thanks 04:35 < x68> so 1/20 of a ms is how long a tick is? 04:35 <+sadimusi> o.O 04:35 <+sadimusi> 20ms 04:36 <+sadimusi> *50 04:36 < x68> 1000 ms = 1 s 04:36 < x68> 1/20 * 1000 = 50 04:36 < x68> correct? 04:36 <+sadimusi> yes 04:36 < dx> 1/20 of a second, not ms 04:36 <+sadimusi> 50 != 1/20 04:36 <+sadimusi> yeah 04:36 < x68> currently my timer for a tick is called every 50ms 04:37 < dx> (that looked like just a typo) 04:37 < dx> yes, 50ms is fine 04:37 < x68> got it 04:57 < x68> sadimusi: my bot currently has path finding 04:57 < x68> my current problem is that it moves too fast 04:58 < x68> i do structural recursion on it , e.g point1 -> point2 -> point3 06:53 < ffmdr> I am looking at how regeneration hack works in some hacked clients(faster natural regeneration)...it looks like it sends 7000 onGround packets 06:54 <+sadimusi> can't you just diff the classes? 06:54 < ffmdr> diff hacked client with vanilla? 06:54 <+sadimusi> yes 06:54 <+sadimusi> or does the hacked client do way more things than that? 06:55 < ffmdr> no, most hacked clients recompile with proguard so the obfuscation schema shifts 06:55 < ffmdr> to prevent skidding 06:58 < ffmdr> if (this.worldObj.difficultySetting == 0 && this.func_110143_aJ() < this.func_110138_aP() && this.worldObj.getGameRules().getGameRuleBooleanValue("naturalRegeneration") && this.ticksExisted % 20 * 12 == 0) 06:58 < ffmdr> this.heal(1.0F) 06:58 < ffmdr> I have no idea how sending onground packets could make regen faster :/ 07:00 <+sadimusi> you could at least try to find out where those packets are sent 07:00 <+sadimusi> there certainly can't be too many places 07:01 <+sadimusi> which client are we talking about? I'd like to take a look 07:01 < ffmdr> kinky 07:01 < ffmdr> just route null their irc before you run it lol 07:03 < ffmdr> well jd-gui fails on many important classes 07:03 < ffmdr> and the jar is overloaded meaning multiple functions with same name 07:04 <+sadimusi> the white page now detects ad blockers? o.O 07:04 < ffmdr> what white page? 07:05 <+sadimusi> adf.ly 07:05 < ffmdr> its not adf.ly detecting adblock 07:05 < ffmdr> its page it redirected you to 07:06 <+sadimusi> http://cl.ly/QM6z 07:06 < ffmdr> LOL 07:11 < ffmdr> well if I reobf the jar again without overloading it 07:11 < ffmdr> maybe overloading would be gone 07:39 < dx> lol "the white page" 08:01 < TkTech> sadimusi: It's just a CNAME 13:32 < dav1d> 0: survival, 1: creative, 2: adventure. Bit 3 (0x8) is the hardcore flag 13:32 < dav1d> shouldn't that be 0x4? 13:32 < dav1d> 3rd bit is 0x4 not 0x8 13:33 < dx> depends if you count from 0 or 1 :D 13:34 < dav1d> dx: http://vp.dav1d.de/P2j?d 13:34 < dav1d> dx: now if HARDCORE is 0b1000 this looks strange 13:35 < dav1d> let's see if burger knows more 13:35 < dx> hm i see 13:35 < dav1d> oh burger only has packets dayum 13:35 < dav1d> dx: would make more sense if survival was 1 though 13:35 < dav1d> imo 13:36 < dav1d> then adventure and hardcore set also the "1 bit" 13:36 < dx> why? survival appeared first 13:36 < dav1d> so you could check for the one bit and get, mode is basically survival 13:36 < dav1d> dx: physics are the same in survival, adventure, hardcore 13:36 < dav1d> if mode & 1: physics = survival 13:36 < dx> oh, that. i don't think they designed this to be convenient for your physics behavior code 13:37 < dav1d> dx: it just would make more sense :> 13:37 < dav1d> gotta test this and confirm it's 0x4 13:37 < dx> it's just adding numbered gamemodes and then having a flag that applies to all of them 13:38 < dx> 0b1000 would make more sense if they plan to add more gamemodes 13:38 < dav1d> dx: why? 13:38 < dav1d> what if they want to add two more 13:39 < shoghicp> In pocketmine I have 4 gamemodes ;) 13:39 < shoghicp> survival, creative, adventure, spectator 13:39 < shoghicp> spectator is creative without interaction perms. ;) 13:40 < shoghicp> and flags are different from the gamemode 13:40 < shoghicp> so I can change the adventure flag without changing the gamemode 13:40 < shoghicp> in fact, I can't change the gamemode xD 13:41 < dav1d> if(mode == Player.Mode.CREATIVE && this._mode != Player.Mode.CREATIVE) { 13:41 < dav1d> physics = new CreativePhysics(this, camera, game.current_world); 13:41 < dav1d> } else if(this._mode == Player.Mode.CREATIVE) { 13:41 < dav1d> physics = new SurvivalPhysics(this, camera, game.current_world); 13:41 < dav1d> } 13:41 < dav1d> UGLY 13:41 < dx> errr what 13:42 < dav1d> right 13:42 < dx> what's the difference between mode and this._mode 13:42 < dav1d> @property void mode(Player.Mode mode) { 13:42 < dav1d> protected Player.Mode _mode; 13:42 < dav1d> mode: "set to mode", _mode: "is currently this mode" 13:43 < dx> 08:41 < dav1d> UGLY 13:43 < dav1d> dx: indeed 13:43 < dav1d> dx: better idea? 13:43 < dx> rename variables? no idea 13:44 < dx> i barely understand what you're doing there 13:45 < dav1d> dx: if mode switches from creative to some kind of survival (+hardcore, adventure) set new physics, if it changes from somekind of survival to creative set new physcis, if it changes from some kine of survival to another kind of survival, do nothing (same for creative → creative) 13:46 < dx> dav1d: hardcore adventure behaves like survival, and normal adventure behaves like creative? wat. 13:46 < dav1d> dx: yes 13:46 < dx> wat. 13:46 < dav1d> dx: physics are the same 13:47 < dav1d> no flying, falling, jumping etc. 13:47 < dav1d> so they are the same 13:47 < dx> but: "and normal adventure behaves like creative"? 13:48 < dav1d> dx: why? 13:48 < dx> i think i almost understood it until you replied "yes" to that question 13:48 < dav1d> adventure means survival without breaking blocks 13:48 < dx> yeah 13:48 < dav1d> oh 13:48 < dav1d> I didn't read that to the end 13:48 < dx> :D 13:48 < dx> i was confused when i thought that, after asking i thought "nah, no way, that wouldn't make sense", then you replied "yes" 13:49 < dx> anyway. i think i got it. 13:51 < dav1d> I have the crazy idea of implementing a signal for every packet that arrives 13:51 < dx> dav1d: how about checking the type of the current "physics" object and never touching this._mode? 13:51 < dav1d> dx: this would be a cast 13:51 < dav1d> I don't like casts 13:51 < dav1d> also CreativePhysics inherits from SurvivalPhysics 13:52 < dx> a... cast? you have to cast to check the type but you don't have to cast to assign it? 13:53 < dav1d> dx: no but there is no member indicating which mode the physics are for 13:54 < dav1d> so I had to downcast it to the CreativePhysics and check if the cast succeeded 13:58 < Drainedsoul> why would you hate casts? 13:58 < Grum> dav1d: if (mode != this._mod) physics = mode.getPhysics(this, camera, game.current_world); 13:58 < Grum> +e; 13:59 < dx> i think his modes are just integer constants 13:59 < Grum> mistake one ;) 14:00 < dav1d> Drainedsoul: look ugly 14:00 < dav1d> Grum: mode is an enum 14:00 < dav1d> Grum: and your code implies every physics object is a singletone 14:00 < dx> it does? 14:01 < dx> what stops getPhysics from returning a new instance, other than.. the name? 14:01 < dav1d> mode.getPhysics, I don't want to reallocate a physics object if the used physics don't change 14:01 < dav1d> if his code does the same → singletone 14:01 < Grum> dav1d: not at all, it can just create it on the fly 14:02 < dav1d> well, that's probably the better way, give a sh*t about allocating a new object even if the old does the same 14:02 < Grum> erm, no? i only make a new object when you are needing one because apparently the mode is different 14:02 < Grum> you just used a ton of fallable code :) 14:03 < dav1d> Grum: yeah my initial approach was, if mode changes from survival to adventure, no need to change the physics 14:03 < dav1d> but that's probably dumb 14:11 < Grum> dav1d: if you add the exception of 'i can reuse the same mode' your code would work, if there is high overhead in recreating the object, your could might be better; but as you noticed, it is ugly 14:12 < Grum> so you pay the price of future maintenance 14:12 < dav1d> Grum: you're right 14:12 < dav1d> considering how often it is created 14:12 < dav1d> I have way worse spots 14:12 < Grum> also it really doesn't convey: if the game-mode switches-between-survival-and-adventure-it-is-ok 14:12 < Grum> which is what you made this 'special code for' in the first place :) 14:12 < dav1d> (e.g. every chunk that comes in...) 14:13 < Grum> its always a pain picking the right trade-off 14:13 < dx> dav1d: .classinfo.name? :D 14:13 < dav1d> dx: and then parse the string, haha 14:14 < Grum> you could even solve the 'use the same object' from the getPhysics method, by making it cache the last one somehow, or even by passing in the current one and instance-of-ing 14:14 < dx> dav1d: yeah, i'm obviously not thinking low level enough 14:14 < dav1d> dx: with a regex! 14:14 < Grum> regex? do it by hand, character loop 14:14 < dav1d> Grum: yeah but that's basically useless 14:14 < Grum> oh better, read bytes ;) 14:14 < dx> dav1d: ;_; 14:14 < dav1d> Grum: that would work, plain ascii 14:14 < Grum> no unicode classes? ;D 14:14 < dav1d> Grum: I could do that 14:15 < dav1d> D supports unicode in code 14:15 < Grum> java too, my head doesn't 14:15 < dav1d> You can write japanese code and the compiler wouldn't complain 14:15 < dav1d> haha 14:15 < Grum> your head would =) 14:15 < dav1d> I can't even write german code 14:15 < dav1d> it's horrible 14:15 < Grum> english code-jargon is the way to go :) 14:15 < Grum> i hate it when people abbreviate stuff in the code 14:16 < dav1d> now I have a bug, great, physics crashing because of invalid movement coming from somwhere :( 14:16 < Grum> because 'le' is far better than 'entity' or 'livingEntity' :( 14:16 < dav1d> [-5.5915e+24, 4.58295e-41, 1.12104e-43] 14:16 < dav1d> ^ movement 14:16 < Grum> that is legal vanilla movement 14:16 < dav1d> Grum: abbreviations are horrible 14:16 < dav1d> I can't even stand exception.msg 14:16 < Grum> oh +24 haah 14:16 < dav1d> Grum: yeah :( 14:16 < Grum> oof :P 14:16 < Grum> someone cheatiung 14:17 < dav1d> Grum: nope, I blame the server 14:17 < dav1d> :> 14:17 < dav1d> it only happens when I join 14:17 < dav1d> so I would say uninitialized variables somewhere, but they don't exist 14:18 < dav1d> and it's some kind of race-codnition, only happens sometimes 14:21 < dav1d> ok I have to blame myself :( 14:35 < dav1d> oh 14:35 < dav1d> you can't change a single players gamemmode to hardcode? 14:35 < dav1d> *hardcore 14:42 < dav1d> ok hardcore is really mode 8 18:22 < Not-001> [BraLa] Dav1dde pushed 5 commits to master [+0/-0/±21] http://git.io/f6pzWg 18:22 < Not-001> [BraLa] Dav1dde 4ddb492 - use new phobosx.signal 18:22 < Not-001> [BraLa] Dav1dde 7f3b446 - remove debugging code 18:22 < Not-001> [BraLa] Dav1dde eb79125 - implement gamemodes 18:22 < Not-001> [BraLa] Dav1dde ee186c8 - implement jumping again 18:22 < Not-001> [BraLa] Dav1dde b43e155 - launcher_profiles format changed 18:56 < Brottweiler> barneygale: cedar looks great :) 18:57 < dav1d> Brottweiler: cedar? 18:57 < dav1d> sounds like cheese 18:58 < Brottweiler> cheddar 18:58 < Brottweiler> dav1d: https://github.com/barneygale/cedar 18:58 < Brottweiler> you get a carthograph via a seed 18:58 < dav1d> ah 18:58 < Brottweiler> without having to have an actual map save file or anything 18:58 < dav1d> I've seen pictures 18:58 < Brottweiler> I guess it downloads the server, generates the world, makes the image then deletes the things 18:58 < Brottweiler> deletes the server and map i guess 18:59 < dav1d> uhhh 18:59 < dav1d> yeah it does 19:07 < Sirenfal> Hello 19:07 < dav1d> hi 19:07 < Sirenfal> Can anyone explain what the sublist in 0x2C (Packet 44) is for, and when it might be sent? 19:07 < Sirenfal> This: 19:07 < Sirenfal> ListElement {long (UUID MSB), long (UUID LSB), double (amount), byte (operation)} 19:08 < Sirenfal> I poked through the 1.6.2 code but it's layers of indirection and it's completely undocumented anywhere right now, so I'm hoping one of you can save me some time 19:08 < Sirenfal> Thanks in advance :) 19:21 < mbaxter> that's modifiers 19:22 < mbaxter> Sirenfal: 19:22 < mbaxter> the two longs form a UUID 19:22 < mbaxter> the double's the value, the byte's the operation 19:22 < mbaxter> http://www.minecraftwiki.net/wiki/Attribute#Modifiers 19:23 < dav1d> can someone solves this capture for me? 19:23 < dav1d> Snow White And the Seven _____ 19:23 < dav1d> I don't get it 19:24 < dav1d> ohhh 19:24 < TkTech> …I asked for better suggestions... 19:24 < dav1d> Schneewittchen und die 7 Zwerge 19:24 < dav1d> mbaxter: added the link to the 0x2c packet 19:25 < dav1d> TkTech: is this a "static" captcha? 19:25 < TkTech> It can be a list of static and dynamic questions and answers 19:28 < Sirenfal> mbaxter: thanks 19:28 < Sirenfal> but based on that page.. 19:29 < Sirenfal> if all they do is perform a modification on the value of an attribute, why not just modify the value of the attribute instead of sending the 19:29 < Sirenfal> attribute and a modifier regarding that attribute? 19:30 < Sirenfal> or is there a reason, like modifiers affect something that can't be modified as an attribute pair? 19:31 < dav1d> mh, why does the client need to know of these values anyways? 19:31 < Sirenfal> probably mainly for map makers, modders, etc 19:31 < Sirenfal> more ability to change vanilla gameplay without mods 19:31 < Sirenfal> particularly because you can set attributes on the player, like runspeed, etc without potions 19:31 < Sirenfal> and presumably attributes potions can't change 19:31 < dav1d> Sirenfal: these values shouldn't affect the player? 19:32 < Sirenfal> they do affect the player 19:32 < dav1d> I don't get such a packet on spawn for myself 19:32 < Sirenfal> you can change maxhealth, movementspeed, etc according to the Protcol page on wiki.vg: 19:32 < Sirenfal> Note: The server sends this packet to inform the user of its movement speed. Users move far too fast when this packet is not sent. 19:32 < dav1d> so it can't change my sprinting speed 19:32 < Sirenfal> idk, I haven't verified it myself but I would assume whoever wrote that probably had a basis for it 19:33 < Sirenfal> i'm updating my server code atm, I'll report back in a bit when I'm done and let you know 19:34 < dav1d> ok, for horses it's important 19:34 < dav1d> the client has to know the "jump strength" 19:35 < Sirenfal> also 19:36 < Sirenfal> dav1d: you guys talk to Mojang occasionally right? 19:36 < dav1d> Sirenfal: sometimes 19:36 < Sirenfal> because if so, can someone please ask them to remove all the extraneous garbage that's completely unused in the protocol? 19:36 < Sirenfal> there are tons of packets with fields that are ignored now that used to be used 19:36 < dav1d> Sirenfal: answer, low priority on the end of our todo 19:36 < Sirenfal> I suppose 19:36 < Sirenfal> it bothers my OCD 19:37 < Sirenfal> in fact 19:37 < Sirenfal> it really bothers my OCD 19:37 < Sirenfal> like 19:37 < Sirenfal> in 1.6+ now, in 0x64 OpenWindow 19:37 < Sirenfal> if windowtype is 11 they send an extra int containing the entity id 19:38 < Sirenfal> so we do something that, as far as I see, no other packet does (value exists or doesn't based on a previous value) (besides arrays of course) 19:38 < Sirenfal> to save four bytes 19:38 < Sirenfal> when there's like, a dozen values that are simply unused 19:38 < Sirenfal> I don't get it 19:38 < Sirenfal> seems silly 19:39 < Yoshi2> Sirenfal: if you can find a way how removing the protocol garbage translates into more sales for mojang, then it will be taken care of 19:39 < Sirenfal> haha 19:39 < Sirenfal> touche 19:40 < Sirenfal> at the very least they could hire someone to fix the performance issues in the client 19:40 < Sirenfal> as far as I can tell most of the FPS loss from classic to beta/release is some kind of I/O blocking the main thread 19:40 < Sirenfal> and that would translate into sales I would think 19:46 < Sirenfal> dav1d, mbaxter: also, on the wiki 19:46 < Sirenfal> is there a reason Server List Ping (0xFE) isn't documented on the Protocol page? 19:46 < Sirenfal> as far as I can tell it will always send the same data 19:46 < Sirenfal> but the protocol page still just lists the one magic byte from 1.5 19:46 < mbaxter> Modifiers are displayed to the client for items, presumably everything else is convenience for modders or convenience in coding. 19:46 < Sirenfal> (I'm aware it's on http://wiki.vg/Server_List_Ping too) 19:47 < dav1d> no idea 19:48 < Sirenfal> oh 19:48 < Sirenfal> I guess because old clients will still send 0xFE differently than new ones? 19:48 < Sirenfal> that makes sense 20:01 < Sirenfal> well that's even more confusing 20:01 < Sirenfal> even new packets have values that are ignored 20:01 < Sirenfal> the new ServerListPing packet (0xFE) 20:01 < Sirenfal> sends the length of following data: 20:01 < Sirenfal> which is then ignored 20:01 < Sirenfal> par1DataInput.readShort(); 20:01 < Sirenfal> lol 20:01 < Sirenfal> perhaps mojang devs are going slightly over the ballmer peak when programming 20:06 < mbaxter> the values sent in the packet aren't for the vanilla server 20:07 < mbaxter> also technically I think it's a second packet being sent immediately 21:02 < Sirenfal> mbaxter dav1d: 21:02 < Sirenfal> http://wiki.vg/Plugin_channel 21:02 < Sirenfal> MC|TPack appears to be removed.. which is obnoxious and dumb 21:02 < Sirenfal> but it's not working and I just checked the code and "TPack" only appears in the send function now, there is no receive anywhere 21:02 < mbaxter> texture packs no longer exist 21:02 < mbaxter> resource packs replace them 21:03 < Sirenfal> is there a plugin channel for it? 21:03 < mbaxter> but there is no functionality yet for telling the client how to acquire one, or for the client to acquire one at all 21:03 < Sirenfal> ugh 21:03 < Sirenfal> I figured they'd just reuse the TPack message 21:03 < Sirenfal> and the send function is still there 21:03 < mbaxter> Someone probably forgot to remove it 21:03 < Sirenfal> it's funny 21:04 < Sirenfal> I was literally just talking to someone two days ago about how great it was that Mojang enables server mod authors to do custom things with the normal protocol 21:04 < Sirenfal> and mentioned texture packs as an example 21:04 < Sirenfal> and they actually removed that before I said those works 21:04 < Sirenfal> words* 21:04 < dav1d> can't you do that with resourcepacks? 21:04 < Sirenfal> dav1d: there's no channel for it 21:05 < Sirenfal> which is pretty obnoxious because something I made depends on that a fair amount 21:05 < Sirenfal> this is pretty disappointing 21:06 < dav1d> I always expected that the client could also download these 21:06 < dav1d> I guess I was wrong 21:06 < Sirenfal> yeah, I did too 21:07 < Sirenfal> if mojang never implemented it in the first place that'd be one thing, but I can't believe they'd remove it and ship without reimplementing it 21:07 < Sirenfal> I can't be the only person who used that a lot 21:07 < Sirenfal> actually iirc VoxelBox uses it for their like.. eight? texture packs 21:13 < Grum> Sirenfal: because some things get cut off because of time constraints 21:13 < Grum> from which one learns, not to have time constraints 21:21 < mbaxter> Time constraints on a released game with no deadlines for updates? 21:22 <+ammar2> yup 21:22 < dexter0> Them 12 year olds get impatient quickly w/o their constant Minecraft updates. 21:24 < Sirenfal> Grum: I know, but I don't understand how they can just screw people who are trying to make amazing things with their game 21:24 < Sirenfal> That's so important to any server that wants to do something neat without client mods 21:24 < Sirenfal> God I'm pissed 21:24 < Sirenfal> I'm writing them an email, but based off past experience they probably won't even read it 21:24 < Sirenfal> :( 21:25 < Grum> Sirenfal: write a mail to do what? 21:25 < Sirenfal> To mojang about the texture pack issue 21:25 <+sadimusi> Sirenfal: you do realize thate Grum is a mojang employee, right? 21:25 < Sirenfal> Even if it doesn't get in til the next patch at least I'd like to know it's on their radar 21:25 < mbaxter> You do realize Grum is mojang right :3 21:25 < Grum> Sirenfal: ^^ 21:25 < Sirenfal> sadimusi: No, I didn't 21:25 < mbaxter> The more you know! *rainbow* 21:25 < Grum> i actually cut the feature 21:25 < Grum> feel free to rage to me :) 21:26 < Sirenfal> I'm not going to rage, I'm just disappoinetd 21:26 < Sirenfal> disappointed* 21:26 < Grum> it had both a good and a bad reason 21:26 * pdelvo rages 21:26 < Sirenfal> Even if you added it right now it won't get back in for months now 21:26 < Sirenfal> You can't just screw everyone updating their mods right now either 21:26 < Grum> why not? 21:26 < Sirenfal> Haha 21:26 < Sirenfal> I suppose you could, but I would feel shitty for them 21:26 < Sirenfal> Someone is going to be sad either way 21:26 < Grum> yup :p 21:26 < Grum> always is 21:27 < dav1d> gru m undercover 21:28 < Grum> saw that 21:28 < Grum> ??> Sirenfal scold/pm 21:28 < Grum> that should so work 21:28 < Sirenfal> wat 21:28 < Grum> oh in another channel that would say not to bother people in pms and just do it in the channel ;) 21:29 < Sirenfal> Oh, my apologies 21:29 < Grum> its ok :D 21:30 < Grum> anyhow, we wanted to add it, we didn't get time to do so 21:31 < Grum> it'll happen 21:31 < Grum> some other things just popped up :/ 21:31 < Grum> couple of thousands of them =) 21:33 < Sirenfal> Grum: Okay, no PMs- 21:33 < Sirenfal> If you have a minute, it'd mean a lot to me if you look at this 21:33 < Sirenfal> I understand why you cut it, but I want to make sure that you at least see why it matters 21:33 < Sirenfal> I think it really hurts the game and I hope this'll make sure it's on the radar and not low priority next patch 21:34 < Sirenfal> dev.voxelcore.com on 1.5.2 if you have a moment 21:34 < Sirenfal> If you don't, that's fine and I appreciate you responding at least 21:34 < Grum> nah i actually did already start reimplementing it 21:34 < Grum> then we gut snowed in by other stuff 21:35 < Sirenfal> Okay 21:35 < Grum> it should be out in whatever the next update is 21:36 < Grum> and yes, that is purposefully non-committal because shit always hits the fan :p 21:46 < dav1d> dammit 21:46 < dav1d> > cleaning room, hits power button on the cable 21:47 < dav1d> I knew I shouldn't have cleaned my room 21:47 < Grum> the room retaliated because you left it unkept for that long 21:48 < dav1d> why would I even do that -.- 21:49 < Grum> leaving it longer would have the room kill you :p 21:49 < Grum> or get dirty in an attempt trying to 21:49 < dav1d> Grum: come one, half a year :> 21:51 < Vanderan> hia people, would you by any chance know what casues this exception -> http://pastebin.com/xvQTTJLw ?? 21:52 < Vanderan> From what i can figure out, it has something to do with the time in the map.. 21:58 < dav1d> Vanderan: it looks like this is not code as distributed by mojang, probably your error 21:58 < dav1d> more like you access an array with index -4? 21:59 < dav1d> welcome home sadimusi :P 22:00 < Vanderan> the accessing of the array comes from bukkit, it tries to get a value from an array in the worldprovider 22:01 < Vanderan> it does some calculations based on the time in the world, which i dont mess around in.. (as far i know) 22:03 <+sadimusi> dav1d: did my bouncer disconnect? 22:03 < dav1d> sadimusi: yes 22:03 < dav1d> sadimusi: also no vhost set 22:03 < dav1d> sadimusi: if you have one 22:03 <+sadimusi> I thought I set it 22:03 < dav1d> sadimusi: but if it's a bouncer, you're probably not back in Zürich 22:03 < dav1d> --> | sadimusi (~sadimusi@77-57-175-131.dclient.hispeed.ch) 22:03 <+sadimusi> no, still in Biel 22:04 < dav1d> sadimusi: I actually wanted to ask if Biomes etc. will get back on burger? 22:04 <+sadimusi> aren't they there? 22:05 < dav1d> sadimusi: http://b.wiki.vg/1.6.2 22:05 <+sadimusi> probably just forgot to include them in the list for b.wiki.vg 22:05 < dav1d> oh they are there for 1.6. 22:05 < dav1d> *1.6.1 22:05 < dav1d> strange 22:05 <+sadimusi> I had to process those versions manually 22:06 <+sadimusi> because some of the toppings were broken... 22:06 < dav1d> also layout is messed up 22:06 <+sadimusi> for the translations? 22:06 <+sadimusi> I know 22:06 < dav1d> yes 22:06 <+sadimusi> there hasn't been a change to biomes in a while now http://beta.ceilingcat.ch/1.4.2...1.6.2#biomes 22:07 < dav1d> sadimusi: I wasn't exactly searching for them, I just noticed it 22:07 <+sadimusi> I'm redesigning burger anyway, I will deal with the layout for languages then (might end up something like that http://cl.ly/Q1pm) 22:09 < dav1d> neat 22:10 < dav1d> sadimusi: I would really like if the menu with Blocks etc. would move to the top while scrolling but not disappear 22:10 < dav1d> like G+ 22:11 <+sadimusi> I thought about moving it to the side 22:11 <+sadimusi> but whatever I end up doing, it definitely won't scroll 23:56 < DavidEGrayson> Does anyone happen to know if there is some nice packet the server sends to the client to confirm the client has gotten in a bed? 23:57 < DavidEGrayson> I looked at http://wiki.vg/Protocol of course, but I will look again. 23:57 <+sadimusi> isn't 0x11 used for exactly that? 23:57 < DavidEGrayson> Oh, I will do an experiment and see... There is no entity representing the current player though. 23:58 <+sadimusi> "This Packet is sent to all nearby players including the one sent to bed." 23:59 < DavidEGrayson> Ok, great. Thanks! --- Day changed lun. juil. 22 2013 00:15 < DavidEGrayson> Yeah, it does send a UseBed packet when you get in bed, and it sends some entity ID that has not sent to the client before. 00:22 < DavidEGrayson> When the client goes to bed, the server seems to send packets in this order: Player Position & Look, Use Bed, Block Change, Block Change, Set Slot. I don't understand why it is setting one slot, but the blockchange must be to change the bed metadata to indicate it is occupied. 02:30 < vemacs> Does anybody have a complete list of the changes in the 1.6 launcher? 02:30 < vemacs> I only see the authentication scheme on the wiki. 02:37 < DavidEGrayson> It looks like night actually starts at 13000 ticks instead of 12000. My bot cannot go to sleep before 13000. 03:32 < stephenmac7> So. 03:32 < stephenmac7> AndrewPH: This seems to be it 03:33 <+AndrewPH> Yep, ask your question(s) and somebody who knows about it will probably get to you soonish. 03:33 < stephenmac7> Thanks 03:35 < stephenmac7> So, I was wondering how the new launcher works. The version jar and json are downloaded in the way described here: http://wiki.vg/Game_Files#Game but I cannot figure out how the version json file is parsed for the library downloads. Also, I'm not certain whether the assets directory is required 03:35 < stephenmac7> Because the game seems to run without it 03:36 <+sadimusi> the libraries aren't run, they don't need a config 03:36 <+sadimusi> and I think the game extracts the assets folder from the jar by itself 03:38 < stephenmac7> sadimusi: It seems that each library has to be downloaded manually and added to the classpath manually 03:38 <+sadimusi> yes 03:38 < stephenmac7> So, how do I figure out where to download the libraries 03:39 <+sadimusi> those have bbeen the same for years, just hardcode the paths from the wiki 03:39 <+sadimusi> *been 03:40 < stephenmac7> No, there used to be only like 4 03:40 < stephenmac7> now there's all these: http://pastebin.com/1z6HmN8P 03:40 <+sadimusi> 5 is like 4 03:41 <+sadimusi> hm, you're right 03:41 < stephenmac7> stephen@ubuntu-desktop ~ $ ls .mml/51e4a45337a808163a1d747c/bin/ 03:41 < stephenmac7> jinput.jar linux_natives.jar.lzma lwjgl.jar lwjgl_util.jar minecraft_blended.jar minecraft.jar natives 03:41 < stephenmac7> stephen@ubuntu-desktop ~ $ ls .minecraft/libraries/ 03:41 < stephenmac7> argo com commons-io net org 03:41 < stephenmac7> Seems to be all seperated now 03:41 * stephenmac7 has bad spelling 03:42 < stephenmac7> (Separated was spelled wrong...) 03:42 < stephenmac7> sadimusi: Any ideas? 03:42 < stephenmac7> It's just that some say access denied 03:42 <+sadimusi> I'll have a look at the launcher 03:42 < stephenmac7> I've done that 03:42 < stephenmac7> java decompiler and all 03:43 <+sadimusi> didn't find anything? 03:43 < stephenmac7> It's just such a complicated launcher... 03:43 <+sadimusi> it isn't that complex 03:43 < stephenmac7> Combined with the fact that I haven't written anything in java in my life... (the launcher I have is written in python) 03:44 < stephenmac7> Everything is spread out across files and variable names are not predictable so grep won't work 03:45 <+sadimusi> the launcher isn't obfuscated at all 03:46 < stephenmac7> Nope 03:46 < stephenmac7> It isn't 03:46 < stephenmac7> I just don't know java 03:47 < stephenmac7> Most of it makes sense but I'll have to look through all the source instead of quickly being able to find what I need using grep 03:47 <+sadimusi> it looks like it downloads all the libraries specified in the json once you start the game 03:47 < stephenmac7> You can't start the game unless you have all the libraries 03:47 < stephenmac7> The launcher does it 03:48 <+sadimusi> yes, but only once you start a particular version 03:48 <+sadimusi> the code is in net.minecraft.launcher.versions.Library 03:49 < stephenmac7> Already found that but... nothing seems to reference LIBRARY_DOWNLOAD_BASE 03:51 < stephenmac7> sadimusi: Nothing seems to make sense in it 03:51 < stephenmac7> For example there are referenced to this.url but the url was never set 03:51 < stephenmac7> *references 03:51 <+sadimusi> the constant just gets inlined by the compiler 03:51 <+sadimusi> it's in getDownloadUrl 03:52 <+sadimusi> this.url is only used for custom urls 03:52 < stephenmac7> I already know the actual url (https://s3.amazonaws.com/Minecraft.Download/libraries/) 03:52 < stephenmac7> But the question is which libraries to download 03:52 <+sadimusi> that's all in the json 03:52 < stephenmac7> Correct, hence the list 03:52 <+sadimusi> what list? 03:52 < stephenmac7> But some of those say access denied on amazon 03:53 < stephenmac7> http://pastebin.com/1z6HmN8P 03:53 <+sadimusi> you might not be building the URLs correctly 03:53 < stephenmac7> Hm. 03:53 < stephenmac7> I think so... 03:53 < stephenmac7> http://pastebin.com/APipVD86 03:53 < stephenmac7> Most of them work though 03:56 <+sadimusi> that does look correct 03:56 < stephenmac7> http://pastebin.com/bddT2dw9 is a list of all the prepended urls 03:56 <+sadimusi> unless the method with classifier is used 03:56 < stephenmac7> Ah. Sorry, missed something on that last pastebin 03:57 < Not-001> [fCraft] fragmer * r2073 4 files : Implemented rudimentary /SetGen support in Vanilla, FloatingIsland, and Realistic generators. Split grass/forest themes. 03:57 < stephenmac7> Fixed: http://pastebin.com/jCzTnF6T 03:57 <+sadimusi> for example org.lwjgl.lwjgl:lwjgl-platform:2.9.0 should have natives-linux somewhere 03:58 <+sadimusi> it should be org/lwjgl/lwjgl/lwjgl-platform/2.9.0/lwjgl-platform-2.9.0-natives-linux.jar 03:58 < stephenmac7> Ah! Thank you! 03:59 <+sadimusi> I should probably update the wiki, I just copied the information from an other, apparently outdated article 03:59 < stephenmac7> wiki.vg? 03:59 <+sadimusi> yes 03:59 < stephenmac7> That's where I looked first 04:00 < stephenmac7> Did have everything 04:00 < stephenmac7> *didn't 04:00 < stephenmac7> Not all of them are natives 04:00 < stephenmac7> Some still don't work 04:00 <+sadimusi> I only recently wrote that game files article, but based on information for 1.5.2 04:00 <+sadimusi> which one? 04:01 < stephenmac7> https://s3.amazonaws.com/Minecraft.Download/libraries/org/lwjgl/lwjgl/lwjgl-platform/2.9.1-nightly-20130708-debug3/lwjgl-platform-2.9.1-nightly-20130708-debug3-natives-linux.jar 04:01 <+sadimusi> this on is only for mac 04:02 < stephenmac7> Then why does it have the natives-linux info in the json? 04:02 <+sadimusi> oh, I was looking at the wrong one 04:03 < stephenmac7> Second to last 04:03 < stephenmac7> http://i.imgur.com/vt8gdwB.png 04:04 <+sadimusi> wait, it's for linux but only allowed on os x 10.5? 04:05 <+sadimusi> do you actually have this library when you use the vanilla launcher? 04:05 < stephenmac7> Let me check 04:05 <+sadimusi> ah no, this isn't the one only for linux 04:05 <+sadimusi> it really is just for mac 04:06 < stephenmac7> I have the last one 04:06 < stephenmac7> stephen@ubuntu-desktop ~/.minecraft/libraries/net/java/jinput/jinput-platform/2.0.5 $ ls 04:06 < stephenmac7> jinput-platform-2.0.5-natives-linux.jar 04:06 <+sadimusi> this one doesn't work either? 04:06 < stephenmac7> Let me check 04:07 < stephenmac7> Nope https://s3.amazonaws.com/Minecraft.Download/libraries/net/java/jinput/jinput-platform/2.0.5/jinput-platform-2.0.5-linux-natives.jar 04:07 < stephenmac7> Nevermind, I got it backwards... 04:07 < stephenmac7> https://s3.amazonaws.com/Minecraft.Download/libraries/net/java/jinput/jinput-platform/2.0.5/jinput-platform-2.0.5-natives-linux.jar 04:08 < stephenmac7> So, how does this rules thing work? 04:08 <+sadimusi> it uses some libraries only on certain system versions 04:08 <+sadimusi> looks like it's mostly used for issues with os x 10.5 04:09 < stephenmac7> Hm. 04:09 < stephenmac7> I see 04:11 < ShaRose> https://www.youtube.com/watch?v=qF5PLvn4sTw 04:20 < stephenmac7> sadimusi: How's http://pastebin.com/8d8hQshP