21:26 <+Amaranth> They are either not loaded at all, dying soon, or stop being simulated 21:26 < gurun> well, yeah. But not all entites send positions. 21:26 < gurun> mobs are my only concern. 21:26 <+Amaranth> You seem to have a real hookup on packet performance 21:26 < gurun> calculations on the server is instant .. so i don't care about that either. Only the things that generate IO is of concern. 21:27 <+Amaranth> The only time I remember PlayerTracker even showing up on my profiling was when I put a bunch of players in the same chunk 21:27 < gurun> yes exactly 21:27 < gurun> for pvp, that is the ONLY concern part from player spawn (chunks) 21:27 <+Amaranth> Simulating 10000 entities is instant but sending the packets for them is where all the CPU time goes? Is that what you're trying to say? 21:28 <+Amaranth> If you're making a minigames server you don't care about most of this anyway 21:28 < gurun> i care about entities yes 21:28 <+ammar2> which reminds me, is there a packet to send multiple entity locations at once 21:28 <+Amaranth> If you're not then PVP is rare and players will be split up often hiding from each other 21:28 < gurun> ammar2, in PE 0.11 it is now. 21:29 <+Amaranth> Personally I don't really care about the requirements of a pvp minigames server 21:29 <+Amaranth> Because a good actual Minecraft server will handle that case as a side effect 21:29 < gurun> hmm, i wouldn't ever play MC on an custom server. It's just lame. 21:30 < morfin> why? 21:31 < gurun> because the best they can do is come at half decent distance of the real functionality of both world genration and AI. 21:31 < morfin> ) 21:31 < morfin> not sure but that Cuberite have nice generator 21:31 < morfin> but AI is failure 21:32 < morfin> Wither exploded once when spawned and then nothing happened 21:32 < morfin> ender eye does not work so i think no end 21:32 < Paprikachu> cuberite has pretty fugly c++ :D 21:33 < morfin> hm? 21:33 < morfin> why 21:33 < Paprikachu> also, isnt cuberite some other minecraft server renamed 21:33 < Paprikachu> source looks familiar 21:33 < morfin> i think hCraft 21:34 < Paprikachu> it's mcserver 21:34 < Paprikachu> knew it 21:34 < morfin> oh 21:35 < yawkat> does minecraft varint encoding follow protobuf rules or does it just explode on negative numbers? 21:35 < morfin> it should 21:35 < yawkat> all protocol implementations ive seen on minecraft seem to just use sign as MSB 21:37 <+ammar2> they definetly work since sending a compression threshold which is a varint of -1 (used to?) works 21:37 <+Thinkofdeath> it works but it shouldn't :) 21:37 < morfin> not bad worldgen 21:37 <+Thinkofdeath> it ends up 5 bytes for negative numbers 21:37 < morfin> no idea why you don't like such things 21:37 <+Thinkofdeath> due to them being treated as uint32 during encoding 21:38 < yawkat> yea, thought so 21:38 < yawkat> a bit stupid but okay. 21:39 < gurun> so, hmm .. if i implement one of those AI routines .. and spawn a lot of mobs .. that should be a fairly good estimation. 21:40 < Aragas> not the best idea i had, but mayb then add CompressionEnabledinstead of using -1? No more negatives then, gight? 21:40 < yawkat> it's only sent once 21:40 < yawkat> not a huge issue 21:41 < Aragas> and becuse of it, varint ends up as 5 bytes, right? 21:41 < yawkat> only negative ones 21:42 < yawkat> or 10 for varlong, or 3 for varshort. 21:42 < Aragas> yea. really wasn't one of my best ideas 21:54 < morfin> lol on custom server i can hear how my balls rings) 21:54 < morfin> when i get hit by arrow 21:56 < morfin> hey Paprikachu 21:56 < Paprikachu> suo 21:56 < morfin> i am really looking at C++11 and hm 21:56 < Paprikachu> sup 21:57 < morfin> it's way better 21:57 < Paprikachu> c++11 is old shit 21:57 < Paprikachu> c++17 incoming! 21:57 < morfin> i know i know 21:57 < morfin> tell that VS) 21:58 < Paprikachu> yeah i dont use VS 21:58 < Paprikachu> fuck that :) 21:58 < morfin> slowpoke 21:58 < morfin> develops it 21:58 < morfin> anyway even C++11 is big step 21:58 < Paprikachu> it is 22:48 <+Amaranth> It could be worse, you could be using Intel's compiler 22:48 <+Amaranth> MSVC supports most things 22:49 <+Amaranth> http://blogs.msdn.com/b/vcblog/archive/2015/06/19/c-11-14-17-features-in-vs-2015-rtm.aspx 23:18 <+XorBoole> > not using clang 23:18 * XorBoole runs 23:38 * gurun runs with XorBoole 23:48 <+XorBoole> I was running half an hour ago noob --- Day changed ven. juil. 10 2015 00:24 < Not-48e3> [wiki.vg] Edit by Xlrion to Authentication -> http://wiki.vg/index.php?title=Authentication&diff=6698&oldid=5927 01:15 < Fenhl> \o/ 01:15 < Fenhl> yay pronouns 01:16 < Fenhl> oh dear that article looks like it needs cleanup badly 01:18 < Fenhl> …why on earth does the wiki not have the Cite extension 01:27 < Fenhl> well, in that case I guess blog-style references are the next best thing 01:28 < Not-48e3> [wiki.vg] Edit by Fenhl to Authentication -> http://wiki.vg/index.php?title=Authentication&diff=6699&oldid=6698 02:56 < gurun> ok Amaranth i've been doing tests on that 10.000 entities thing 02:56 < gurun> i picked item entities to make sure it's ticking "something" 02:56 < gurun> but no io 02:59 < gurun> adding 10.000 on basically the same spot have a sever impact on the client (rendering), but virtually no impact on the serer. 02:59 < gurun> navigating into them, generates pickup instantly of the itmes that can be picked. 03:01 < gurun> so my little theory still holds true, computation of the server is more or less irrelevant. 13:46 < morfin> does vanilla properly load NBT with tags having spaces? 13:46 < morfin> http://minecraft.gamepedia.com/NBT_format this page says tag name can contain spaces but Minecraft does not save them with spaces 13:51 <+Amaranth> You'd have to mod Minecraft to do something with a tag that contains a space to find out 13:51 <+Amaranth> Or poke through a decompile of their NBT handling code 13:53 < morfin> interesting how custom behaviours are implemented with Command blocks 13:54 < morfin> i saw some maps which had magic items doing some custom stuff when used 13:56 <+Amaranth> Yeah they've gotten pretty clever 13:57 < morfin> as example i saw map where you could travel between Hell and Heaven and to solve it you should do that sometimes and then you get bow which copy blocks from Hell to Heaven 13:57 <+Amaranth> Redstone was already turing complete, scoreboard give simple variable storage, and commands can modify every property of a block or entity that a mod could (unless that mod actually changed the source of the block or entity) 13:58 <+Amaranth> So as things in MC get moved from hard coded to data driven command blocks get more useful 13:59 <+Amaranth> They really are a form of mod API 14:00 < morfin> i have no idea how command blocks are working 14:04 < morfin> there is one bad thing in that block 14:04 < morfin> it can't disallow some commands depending on permissions as i know 14:06 <+Amaranth> It sort of can 14:07 < morfin> ? 14:07 <+Amaranth> Vanilla has a built in concept of permission levels and command blocks are one level below console and op 14:07 <+Amaranth> So some commands are blocked from it 14:07 < morfin> command blocks can be used only by ops 14:07 <+Amaranth> Sure 14:07 < morfin> i mean something like hmmm 14:07 <+Amaranth> Well, only modified by them 14:08 <+Amaranth> Others can hold them in their inventory and place them 14:08 < morfin> group user can use commands X,Y,Z moderator also can use U,W,V, admin can use everything he wants 14:09 <+Amaranth> That'd require command blocks to store who placed them, for that to matter to who activated them, and for a permission system to store what you're talking about 14:09 < morfin> 1 command block == one command right? 14:09 <+Amaranth> I don't remember 14:10 < morfin> hmm 14:11 < morfin> i think it's possible to store custom metadata for block? 14:11 < morfin> of course that's not compatible with vanilla 14:18 <+Amaranth> Yeah, vanilla won't round trip the extra information in a tile entity 14:18 <+Amaranth> You can store it using the /blockdata command but when the chunk unloads it'll be gone 14:19 < morfin> hmm 14:20 < morfin> i still do not understnd how item can change world without modifications 14:20 <+Amaranth> If you stick it in the data on disk it won't even make it in to the tile entity object on load 14:29 < gurun> Amaranth, been offline. But did you see the result of my little test? 14:30 <+Amaranth> gurun: Yep, were you doing movement and collision detection as a part of that? 14:31 <+Amaranth> Also you could probably run close to full speed with 10000 item drops on vanilla too but you'd be chewing up a lot of CPU 14:31 < morfin> lol 14:32 < morfin> teleportation done with levels control 14:37 < gurun> Amaranth, check! on the collision and that calculation. 14:38 < gurun> the client struggled heavily when the items where within viewfrustrum (or whatever that's called) 14:38 < gurun> the server maybe bumped up a % but too little to judge. 14:39 < gurun> but yeah, i'm a "bit" obsessed about IO and not so much computation in general. 14:40 < morfin> soo clock+that command block do the trick 14:43 <+Amaranth> gurun: Well, that is pretty impressive I guess 14:43 <+Amaranth> But in a full Minecraft server the CPU time spent calculating and sending packets is still usually going to be down on the list a bit compared to the world simulation 14:44 <+Amaranth> If you're obsessed about the amount of IO you're doing sure but that's out of your hands really, you don't control the protocol 14:56 < gurun> it's MCPE so nothing wrong with the protocol. It would be a challange regardless. 14:58 < shoghicp> I control the protocol >:D 14:58 < shoghicp> not RakNet though :( 15:11 <+Amaranth> Does the MCPE protocol work more like a FPS? 15:11 < shoghicp> UDP :) 15:12 <+XorBoole> but does it blend? 15:12 <+Amaranth> Sure but working like a FPS means sending the state of all relevant entities in one big packet every tick and not caring if a packet gets lost 15:13 <+Amaranth> If you're using UDP and some reliable send method on top and then doing a normal MC-like protocol you've gained nothing 15:14 <+XorBoole> somehow I feel the fps model isn't that great for minecraft 15:14 <+Amaranth> Looks like that's what you've done 15:14 <+XorBoole> given that there are potentially many, many more entities, and other things that need to be kept track on 15:14 <+Amaranth> If you're going to use a protocol like MC you should just use TCP 15:15 <+Amaranth> Because UDP just causes headaches and you're not getting any gain from it if you've still got reliable transmissions and head of line blocking (required to maintain state) 15:16 <+Amaranth> XorBoole: Well you don't send all the state you send a diff against the last confirmed state 15:16 <+XorBoole> ah, I suppose that makes sense 15:17 <+XorBoole> but I can picture scenatios with diffs just as big 15:17 <+XorBoole> as far as UDP use, that's a mystery to me 15:17 <+Amaranth> If the diff is huge then so would all the single packets in the current design 15:17 <+Amaranth> Err, terrible wording there 15:18 <+Amaranth> Now, with UDP you usually want to keep your packets small, below 500 bytes or so, which could mean you have situations were sending the diff is too much 15:18 <+Amaranth> But you should design your game to make that not possible or have some workaround 15:18 <+XorBoole> well, it doesn't help that PC does stupid things like have packets for specific minor features (titles) and mixes a bunch of things into a single packet (sleep, interact, etc.) 15:19 <+XorBoole> and yes, I realize that the former is a new packet and the later is a notchpacket 15:21 < gurun> UDP makes sense if you are mixing reliable stuff (state sync) with unreliable stuff (skip updates). 15:21 <+Amaranth> I could see your state snapshot packet just having a boolean and sequence number so you can shard the state over many packets and the client won't consider it received until it has all of them. That's half way to what TCP gives you but without the head of line blocking waiting for that state snapshot if it fails but the next one goes through 15:23 <+Amaranth> iirc the reason for doing that is that even if your UDP packet fragments correctly in your OS and manages to make it through the network without getting dropped on purpose if you lose a piece of it your kernel will hold on to the rest for a long time waiting to see if it shows up 15:23 <+Amaranth> Just for you to toss it as being outdated 15:25 <+Amaranth> The real challenge would be making your client able to deal with getting unexpected mixes of state due to the reliable data and unreliable data being out of sync 16:55 <+ammar2> Amaranth: interesting, here's a little excerpt from John Carmack on quake 3 networking about packet sizes 16:55 <+ammar2> "He thinks the notion of a 512-byte optimal MTU is pretty much at least 5 years out of date. He sees almost no problems with a max packet size of 1400 bytes, and fragmentation just isn't an issue. During the course of typical activity, the actual payload size is often smaller than the UDP header size (!), and even during hectic activity the packet size is on the order of several hundred bytes. The large packets (up to 1.4K) are 16:55 <+ammar2> typically when a large amount of game state must be sent at once, such as at connection time when there is no state to delta against and when there is a lot of startup initialization going on." 16:55 <+Amaranth> haha, cargo cult ftw 16:59 <+ammar2> also quake3 does compress the state snapshots (beyond the diff) but I'm not sure how well they'd compress 16:59 <+ammar2> here's the full article btw http://trac.bookofhook.com/bookofhook/trac.cgi/wiki/Quake3Networking 17:00 < morfin> wait is not Quake3 using UDP? 17:01 <+ammar2> please read more carefully :P 17:01 < morfin> oh it do 17:03 < morfin> i always thought that Quake3 just sends whole state frame 17:03 < morfin> which include data required to display entities etc(and allows wallhaaaaaaaaax) 17:03 <+ammar2> well sending deltas allows for wallhacks too 17:04 < morfin> HLDS/SRCDS as i know just send whole frame 17:04 <+ammar2> nope 17:04 < morfin> ? 17:04 <+ammar2> source engine does delta snapshots too 17:04 < morfin> oh 17:04 <+ammar2> it only retransmits the whole thing if there's been major packet loss 17:05 < morfin> hmm 17:05 <+ammar2> fun fact: the original source engine, goldsrc was based on the quake engine 17:05 < morfin> yep i know 17:06 < morfin> but deltas could be pretty small and UDP have big overhead 17:07 <+ammar2> yeah, a udp-snapshot based protocol definetly uses more bandwith 17:07 < gurun> just fyi. I have an exception thrown if the MTU is less than usual max. And i turned on no-framgentation just to be sure. And it is exceptionally rare to get anything like that. I had it running for weeks now. 17:07 < gurun> and thats usually on mobile and mobile networks. 17:13 <+ammar2> wallhacks are a really tough problem to solve on a network with latency, like aside from the fact that you have to keep track of what a client can see, the time it takes to update them about seeing the other player will cause hilarious pop in 17:13 <+ammar2> morfin: ^ 18:16 <+Amaranth> ammar2: UDP only has eight bytes of overhead vs raw IP and is the smallest you can get while working outside of your own computer, how would it use more bandwidth than doing it via TCP? 18:17 <+Amaranth> I doubt a diff'ed snapshot system would even use more bandwidth than how MC works now too, assuming no packet loss 18:17 <+ammar2> Amaranth: sending snapshots x times per second as opposed to when changes happen usually does 18:17 <+ammar2> wait 18:18 <+Amaranth> It's not like that data can just be ignored in the TCP system, you have to send it anyway 18:18 <+ammar2> hold on I'm having a brainfart 18:18 <+ammar2> ok yeah I meant snapshots as opposed to using your own reliable wrapper on top of udp 18:19 <+Amaranth> A snapshot of "nothing happened" is going to be pretty dang small so even in the worst case I can't imagine much extra bandwidth used 18:19 <+Amaranth> And there is always something happening, the world is never idle 18:21 <+ammar2> fair enough 18:24 <+Amaranth> Oh and if your diff used offsets for positions they'd generally have a very tiny range which your compression system could take advantage of to get you a net win on bandwidth usage 18:25 <+ammar2> Amaranth: offset to what? 18:25 <+Amaranth> But that's math and CS that is beyond me, it's magic 18:26 <+Amaranth> ammar2: Offset to the previous snapshot the client has, of course, the same thing the diff is generated against 18:29 <+ammar2> hmm I wonder if there's a reason people don't do that right now 18:29 <+ammar2> both the source engine and quake protocol send absolute positions 18:30 <+Amaranth> They're old and the people who worked on them didn't have a CS degree so didn't know what entropy coding was? 18:30 <+Amaranth> Oh, and it's not very CPU friendly, at least in 1990s terms 18:30 <+ammar2> compression and entropy are scary scary 18:31 <+ammar2> is it? 18:31 <+ammar2> its literally just currentFrame.pos - lastAckFrame.pos 18:32 <+Amaranth> That's how you get the offset but entropy coding would be what would make it worth using an offset 18:32 <+Amaranth> Maybe worth it, anyway 18:32 <+Amaranth> In exchange for some loss of floating point precision from doing a subtract then add to get the current position 18:33 <+Amaranth> That might actually be the real reason 18:33 <+ammar2> floats are bad 18:33 <+Amaranth> You'd need to send the absolute position every so often to correct for drift due to lack of precision 18:33 <+Amaranth> I don't know if every so often would be every second or every hour though 18:37 <+ammar2> also it seems like the savings wouldn't be worth it unless you have a shit ton of position data which you don't really in fps 18:37 <+ammar2> at least for someone to consider using it anyway 19:08 < gurun> i'm old, but my head is full of entropy anyway. Does that make me a "new good cool coder" then? 19:58 <+Amaranth> Wow, I'm super rusty at graphics stuff 19:59 <+Amaranth> Just took me like 8 hours to make a camera 20:05 <+Amaranth> Writing it in a language I'm not comfortable with (Rust) using APIs that have seen three rewrites since I last looked for them probably contributed a bunch to that 20:05 < morfin> what's wrong about Rust? 20:06 <+Amaranth> Nothing, I just haven't done much with it 20:06 < morfin> i guess it even have bindings for OpenGL hmm 20:06 <+Amaranth> When I stop thinking about it and just let my fingers go I still spit out Java looking code 20:06 < morfin> ) 20:07 <+Amaranth> glium is a wrapper for GL that has the goal of making it impossible to use GL wrong 20:07 < morfin> oh 20:08 < morfin> as i know whole Minecraft uses "raw" OpenGL 20:08 <+Amaranth> Ideally by blocking illegal actions with the API and type system but if nothing else it'll do its own check and panic rather than submit data it knows is junk to the driver (which might reject it, accept it (!), or crash) 20:08 <+Amaranth> Sure, there is gl-rs too 20:08 <+Amaranth> But it's all unsafe API 20:08 <+Amaranth> Raw C interface, basically 20:08 < morfin> ) 20:08 < morfin> but you don't have to manage memory etc 20:09 <+Amaranth> With GL? Sure you do, you allocate buffers and textures and such and have to free them 20:09 < morfin> hmmm i am not familiar with GL :( 20:10 < morfin> well, maybe you do that via GL API 20:12 < morfin> i meant things like controlling memory allocated with malloc/new 20:13 <+Amaranth> How is that any different than allocating buffers of memory on the GPU via a GL call? 20:27 < morfin> it's not 22:33 < morfin> hmm i am looking at things guys do with command blocks 22:33 < morfin> that's pretty interesting --- Day changed sam. juil. 11 2015 00:07 < gurun> shoghicp and the rest of pocket-mojangsters. I just have to say a big thanks for skins. Spending a week coding in a test-server would have been seriously dull if it wasn't for the skins. 00:13 <+ammar2> thx for da skinz volvo 01:33 < Not-48e3> [wiki.vg] Edit by Aragas to Library List -> http://wiki.vg/index.php?title=Library_List&diff=6700&oldid=6658 02:44 <+XorBoole> PE has skins now? neiss 05:10 < Not-48e3> [wiki.vg] Edit by 727021 to Classic Protocol Extension -> http://wiki.vg/index.php?title=Classic_Protocol_Extension&diff=6702&oldid=6618 05:14 < Not-48e3> [wiki.vg] Edit by 727021 to Classic Protocol Extension/Support -> http://wiki.vg/index.php?title=Classic_Protocol_Extension/Support&diff=6703&oldid=6659 13:00 < gurun> dang, that font used in PE is a mystery to me. I have to doublecheck if we are stil in 2015.. 13:03 < gurun> and i love the way it changes font when input smething like a € sign. To an even more horrible font. 13:03 < gurun> i remeber when i had an ABC800 and did probably the first version of "true type" in the world. Looked exactly like that euro font :-) 13:04 * gurun just claimed credit for true type, fully aware of the implications --- Day changed dim. juil. 12 2015 02:21 < morfin> strange 02:21 < morfin> i thought Minecraft write bytes in BE order to stream 02:22 < gurun> i think it may be a bit "mixed" .. 02:23 < morfin> i mean plain types like int,long,double,float 02:27 <+ammar2> morfin: it does 02:27 < morfin> then it means value <<= 8; value |= buffer_[read_position_] & 0xff; do a trick 02:28 <+ammar2> where is that from 02:28 < morfin> because output is LE =) 02:28 < morfin> from bytebuffer.h 02:28 < gurun> i love the ; do a trick part :-) 05:23 < Paprikachu> in the player dig packet, is the format really a compressed block position? i get garbage values if i try to parse it as such. 05:35 < Paprikachu> nevermind. 07:26 < WizardCM> what would be the current go-to tutorial for getting started in clientside modmaking? thinking of trying my hand at making this https://www.reddit.com/r/minecraftsuggestions/comments/3co4p1/multiplayer_list_addition_categories_and/ 09:46 < morfin> i forgot is Exposion separate entity? 10:27 < morfin> guys what happens if i send to server inappropiate packet? I mean situation when as example i am already playing but boom - send packet handshake etc? 10:27 < morfin> does server just ignore that? 10:35 < Techcable> morfin: Vanilla will throw a class cast exception, as Packet.handle will try and cast the play handler to the handshake handler when Packet 10:35 < Techcable> *is received 10:40 < morfin> silly ) 10:44 < yawkat> Actually, will probably just not decode properly since the protocols have different packet id registrations. 10:46 < morfin> what do you mean? 10:47 < morfin> that when playing it is Keep Alive? 10:48 < morfin> so if i try to decode that some shit happens 10:53 < yawkat> Yea, if you send handshake during play it'll decode as keepalive and die. 10:56 <+Amaranth> morfin: The server will drop you 10:57 < morfin> yes i see 11:25 < gurun> wow, so the PC protocol reuses the ID's in different states. 12:19 < morfin> yes 12:22 < angal> Does somebody have list of all vanilla blocks with data: block name, protocol id, form, texture, material properties(like step sound)? 12:35 < morfin> gurun, so MCPE does not? 12:36 < morfin> in PC Minecraft 0x00 as example can mean request/keep alive/disconnect 12:36 <+Amaranth> MCPE's packet ids probably get assigned by raknet, they don't even control it 12:36 < shoghicp> lost history, what about MCPE? 12:36 < shoghicp> :D 12:37 < shoghicp> we control them! 12:37 < shoghicp> mostly 12:37 < shoghicp> they start at 0x82 12:38 < gurun> lol 12:39 < gurun> morfin, no 12:39 < morfin> i think different ids is more appropiate 12:39 < gurun> shoghicp, so you guys don't control the ID's in the PC protocol :-) 12:40 < morfin> because in case if some retard sends you hanshake when already playing you can just discard it 12:40 < shoghicp> pc protocol doesn't have ids anymore, they happen to be those :D 12:40 < shoghicp> afaik they are assigned in runtime 12:40 < morfin> what do you mean? 12:40 < gurun> eh, uh , ah, ooops .. hiding. 12:41 < gurun> i would love to implement a protocol with randomly assigned identifiers for .. messages. 12:41 < morfin> shogicp they're not assigned in runtime i think 12:42 < morfin> but when compiling/obfuscating(?) 12:42 < gurun> morfin, i think they are having another one of these parties at Mojang today :-) 12:42 < shoghicp> that's why it's afaik :P 12:42 < shoghicp> parties? not today! 12:42 < shoghicp> only these last two days 12:42 < morfin> so that shit like Packet00Handshake is autogenerated 12:42 < morfin> probably 12:43 <+Amaranth> Their class is just called Handshake or whatever and the packet id is assigned to it by the networking system when they register it 12:44 <+Amaranth> So the order they register them determines their packet id 12:44 < morfin> oh shi* 12:44 < morfin> wait there is no holes in numbers? 12:44 <+Amaranth> Shouldn't be 12:44 < morfin> i mean they're sequental 12:44 < morfin> hmmm 12:44 < gurun> hmm .. you guys .. behave like that's anything but implementational details of the java version and how "ID's get assigned". 12:45 <+Amaranth> ? 12:45 <+Amaranth> Packet ids are not random implementation details unless you're Mojang, everyone else needs to know what they are :P 12:45 < gurun> yes, and hence, irrelevant how they gets their number. 12:46 < gurun> it's not "generated" by runtime. As far as all you guys know, they are asssigned, EOS. 12:46 <+Amaranth> Well knowing how Mojang is doing it makes it easier to figure out what happened if they change 12:46 < gurun> yes 12:47 <+Amaranth> Like if Mojang inserts a packet in the middle it'll shift them all by one. If you know how Mojang generates the ids that kind of thing is easier to spot 12:47 < gurun> yes 12:48 < shoghicp> our ids get assigned at compile time (MCPE) :) 12:48 < gurun> yes, randomly :-P 12:48 <+Amaranth> Alright then, back to figuring out why my gbuffer only has solid colors in it and not useful data 12:48 < shoghicp> that would be fun. I'll do that for next release except the three top packets >:) 12:49 < gurun> hihi 12:49 < shoghicp> in fact, server will tell you a seed 12:49 < shoghicp> and you need to implement the rng and use that seed to determine the ordering 12:49 < gurun> and you have to figure out how to implement the random generator to match the seed :) 12:50 <+Amaranth> Hopefully they just used the mersenne twister from the C++ stdlib :p 12:50 < shoghicp> even better, server sends code that you need to execute in a VM to get the seed 12:50 <+Amaranth> Wait can you seed that? 12:50 < gurun> lol 12:50 < morfin> what you're talking about? 12:50 < morfin> oh ordering or registration 12:50 < shoghicp> morfin: next-gen MCPE protocol \o/ 12:50 < gurun> lol 12:51 < gurun> shoghicp, are you starting to feel limited by the byte now? 12:51 < gurun> i mean, the protocol is growing 12:52 < shoghicp> yes! I'll send everything aligned to 9 bits! 12:52 < gurun> in true bitstream fashion. 12:52 < shoghicp> we had a lot of bugs related to alignment and different platforms :s 12:52 < gurun> you already did that trick with metadata 3 bits .. and it didn't work you know. 12:53 < shoghicp> I did not do that, that's from PC :P 12:53 < gurun> haha 12:53 <+Amaranth> Were you assuming structure layouts and got screwed when you compiled with MSVC for Windows stuff? :) 12:53 < shoghicp> Amaranth: 32-bit vs 64-bit 12:53 <+Amaranth> Oh, a boring one :P 12:53 < shoghicp> MSVC compiler is only used for win phone 12:53 < shoghicp> so maybe there as well 12:54 < shoghicp> otherwise it's gcc and/or clang 12:54 <+Amaranth> It's not just for Win Phone though, it's a universal app now 12:54 <+Amaranth> Unless the marketing was lying :P 12:54 < gurun> marketing NEVER lies. 12:54 < shoghicp> I mean the compiler :P 12:54 < shoghicp> anyway, I'm running Linux at work so no MSVS for me :D 12:54 < gurun> shoghicp, that never lies either. 13:00 < morfin> hmmmm i don't get that 13:01 < morfin> every "context" starts from 0x00 13:06 < KexyBiscuit> MSVC... I don't think that will work for Linux :P 13:14 < shoghicp> KexyBiscuit: exactly! I use clion :) 13:14 < KexyBiscuit> clang? 13:14 < shoghicp> it's win/win 13:14 < shoghicp> I can swap gcc with clang, I use both to test for strange bugs 13:15 < KexyBiscuit> :D 13:36 < morfin> clang is nice 13:36 < morfin> also it have scan-build ) 13:41 < morfin> hmmm 13:41 < morfin> Minecraft sends packets to all users can't remember 15:24 < Fenhl> pc protocol doesn't have ids anymore, they happen to be those :D 15:24 < Fenhl> what 15:26 <+Thinkofdeath> Fenhl: implementation wise they don't have fixed IDs, ids are given to packets in the order they are registered 15:27 < Fenhl> … oh 16:22 < gurun> Fenhl, is't like when you have kids. Same ID implementation. 16:58 <+XorBoole> lol 17:02 < Fenhl> o.O 18:08 < Not-a8a6> [1.8-Models] drXor pushed 1 commit to master [+9/-0/±0] http://git.io/vqjbE 18:08 < Not-a8a6> [1.8-Models] drXor f7ee528 - Iron Bars 19:31 < SopaXT> https://github.com/sopaxorztaker/gamecheck 19:40 < SopaXT> Hi UUID00 22:49 < Alan> so here's a question that may or may not be offtopic... does anybody know of a reason why opening a 1.8 world with either a Forge-1.8 or Liteloader-1.8 client would cause all the 2-high flowers to pop? 22:50 < Alan> This is without any mods loaded, by the way, just the modloader enabled... I get the same behaviour for both loaders (separately, haven't tried them together), and yet if i generate a world from the same seed with a modloader enabled, the flowers are fine 23:01 < Alan> the only related thing I can find is this: https://bugs.mojang.com/browse/MC-62140 23:01 < Alan> and it seems, if i watch closely, the world loads with the top block missing from all these 2-high flowers, and then once the game realises that fact, it pops the flowers into item drops 23:05 < Alan> how would I go about trying to track down where/why this is occuring? 23:25 <+Amaranth> It'd help to have some idea of what the actual bug was but basically you need to go through all of the diff between vanilla and forge and try to find the bug 23:26 <+Amaranth> Some logic they've removed, modified, or otherwise broken that leads to this 23:27 <+Amaranth> Alan: I'd start with diff to the World and WorldServer files then move on to diff to the block itself then curl up in a ball and cry --- Day changed lun. juil. 13 2015 00:06 < Alan> Amaranth: maybe i can proceed directly to that last step? :P 00:08 < Alan> Amaranth: I'm wondering (knowing not much about the architecture of minecraft or mod loaders) if there's some kind of "world upgrade" step that is being performed erroneously from 1.8 -> modded 1.8, and if what is running there is the same thing that caused that old 1.8 bug that I linked 00:08 < Alan> is there documentation somewhere on getting started with running a "development" version of minecraft (i.e. MCP, using a debugger, etc.)? 00:09 <+ammar2> the only time there's a "world upgrade" is when the structure of the world files changes 00:10 <+ammar2> which has happened twice(?) in the history of minecraft versions 00:11 < Alan> surely there have been other cases where the way particular things are represented has changed though? 00:11 <+ammar2> well that doesn't really cause a full world conversion 00:11 < Alan> otherwise how do you get stupid bugs like losing the top half of every 2-high flower in the first place? 00:11 < Alan> ok, I'm not on about a world format conversion 00:11 <+ammar2> server loads chunks from file, runs physics, oh no that's not supposed to be there, plop 00:11 < Alan> I mean something that actually traverses the world rewriting blocks and entities 00:12 <+ammar2> and then when it saves the chunks backs, no more flowers 00:12 < Alan> that have changed between versions 00:12 < Alan> does that never happen then? 00:14 <+ammar2> I can't really think of any examples like that 00:14 < Alan> hmmm 00:15 < Alan> maybe knowing what the fix for that bug was could help track down why the bug still exists in all loaders... 00:16 < Alan> ooh, that bug report may be all I need... 00:17 < Alan> the comments include how to fix it with mcedit 00:18 < Alan> although, it's still not certain why it behaves broken in modded minecraft... 00:18 < Alan> so maybe that won't work 00:18 < Alan> i'll have to give it a try ,i guess 00:21 <+Thinkofdeath> Forge is still 1.8.0 last I checked. If it is that bug you linked forge wont have the fix yet 00:25 < Alan> hang on, both forge and liteloader are 1.8.0? 00:26 < Alan> I made the mistake of thinking they were keeping somewhat up-to-date, rather than nearly a year old 00:26 < Alan> maybe versioning with the .0 is worthwhile for the unambiguity... 00:27 < Alan> I'm guessing we're going to see the same thing as last release then: once 1.9 is close, the modding community will move to the last 1.8? 00:29 <+Thinkofdeath> I think they are working on 1.8.7 since that should be the last 1.8 update before 1.9 (bar anymore issues) 00:57 < Alan> well that seemed to fix it... used MCEdit to rewrite all the flower top blocks to south-facing 00:57 < Alan> and the change doesn't break them 01:06 < Alan> so, i guess the conclusion here is (a) I've been using a version with that known bug, and (b) the fix for that bug probably fixed the loader, not the worldgen, therefore (c) stuff generated in 1.8.7 will have broken 2-block flowers in 1.8.0's loader 01:06 < Alan> although I'm still not sure about all that, so i'll have to see what it does on new chunks 01:06 < Alan> luckily this was a fairly new world, so I just pruned the world down to the bits I cared about and rewrote the flowers in that bit 15:00 < barneygale_> hey folks. does anyone know where the colour hints that minecraft applies to skylight during sunrise/sunset are stored? 15:34 < Not-48e3> [wiki.vg] Edit by SopaXorzTaker to Pocket Minecraft Protocol -> http://wiki.vg/index.php?title=Pocket_Minecraft_Protocol&diff=6704&oldid=6654 17:04 < Not-a8a6> [1.8-Models] drXor pushed 1 commit to master [+1/-0/±1] http://git.io/vmkYW 17:04 < Not-a8a6> [1.8-Models] drXor 86fab19 - Fix objects in flower bots being shaded. 19:34 < SopaXT> Anyone alive 19:35 < SopaXT> https://github.com/SopaXorzTaker/gamecheck --- Day changed mar. juil. 14 2015 03:39 < Techcable> Is the sign nbt in json form? 10:35 < angal> Array of 4 lines of json strings. 10:46 < morfin> i don't understand 10:46 < morfin> is chat message just set of nested objects in JSON? 11:05 < morfin> how can client send colored chat? 11:09 < angal> He can't... He can receive it only. 11:18 < morfin> hm 11:19 < morfin> but what if use mods? 11:20 <+md_5> server will (or should at least) strip it / maybe even reject it 11:21 < morfin> hmmmm 11:23 < morfin> but discarding all colors styles is correct? 11:23 <+md_5> I can't even remember what vanilla does 11:23 <+md_5> It's either discard or kick 11:23 <+Amaranth> It definitely used to be a kick 11:24 < morfin> hm 11:26 < morfin> usually Minecraft server kick in any strange situation =) 11:26 < morfin> like sending invalid stance - GFTO 11:26 < morfin> sending wrong packet - GFO 11:28 < morfin> so does it mean there can't be nested JSON objects in client->server? 11:28 <+Amaranth> I thought client->server was still just a string 11:29 < morfin> oO no? 11:29 <+Amaranth> http://wiki.vg/Protocol#Chat_Message_2 11:29 <+Amaranth> Just a string 11:29 < morfin> wtf 11:31 <+Dinnerbone> Why would we accept a formatted chat object from the client if we're restricting them to plain text? :D 11:31 < morfin> lol so it's much easier 11:31 <+Dinnerbone> So what's easier? 11:32 <+Dinnerbone> This is much much easier than taking a complex object and stripping it down to find a text object and validate that it's legal 11:32 < angal> :) 11:32 <+Dinnerbone> Also much cheaper, less bandwidth, more safe, and just makes much more sense 11:33 < morfin> it's cheaper but you can't as instance "paste" item 11:33 <+Thinkofdeath> (points Dinnerbone to signs and how they do exactly that) 11:34 <+Dinnerbone> (points Thinkofdeath to how that was a mistake and they won't do that in the next protocol change) 11:34 <+Dinnerbone> :D 11:34 <+Thinkofdeath> :D 11:35 < morfin> what was mistake? 11:35 <+Thinkofdeath> clients sending json to the server for signs 11:36 < morfin> so no colored signs any more? 11:36 < morfin> later 11:36 <+Thinkofdeath> newer 1.8 versions strip color anyway 11:36 < morfin> some servers was sending colored text 11:37 < morfin> to client 11:37 <+Thinkofdeath> server -> client is fine 11:37 <+Thinkofdeath> client -> server is what changed/changing 11:38 < morfin> yes probably unsafe 11:39 < morfin> witches are spawned even without hut? 11:40 <+Thinkofdeath> apparently 11:40 <+Thinkofdeath> http://minecraft.gamepedia.com/Witch#Spawning 11:41 < Fenhl> so commands should still be able to write formatted text on signs after that change, right? 11:41 <+Thinkofdeath> should be 11:41 <+Dinnerbone> Yes. It changes nothing vs what you already do now. It's just a protocol cleanup. 11:41 < Fenhl> cool 11:41 <+Dinnerbone> No actual changes to game, behaviour or anything like that. 11:42 <+Thinkofdeath> well hopefully signs would have their permission level reduced? 11:42 < morfin> game is working strange) 11:42 <+Thinkofdeath> because its still higher than command blocks 11:42 < morfin> middle of explosion with 3 hearts => survived 11:43 < morfin> *creeper explosion 11:43 < morfin> i know any solid block reduce damage to 0.5 but there was no such blocks 11:43 < Fenhl> Thinkofdeath: “permission level”? 11:44 <+Thinkofdeath> yeah, theres 4(?) levels of permissions. Command blocks can't access op/deop/ban etc 11:44 < Fenhl> oh right 11:45 < Fenhl> so signs can use those? 11:45 <+Thinkofdeath> last I checked they could 11:45 <+Thinkofdeath> thats what made some of the recent exploits so bad 11:46 < Fenhl> I guess it kinda makes sense because using signs isn't automatable? 11:46 < morfin> what exploit? 11:47 <+Amaranth> Clients send json to the server for signs 11:47 < morfin> what happen if i send JSON with command when updating sign? 11:47 <+Amaranth> json can include on click things for commands 11:47 < morfin> :D 11:47 <+Thinkofdeath> morfin: in 1.8.1+ nothing 11:47 < morfin> that's what i was thinking about 11:47 < morfin> oh 11:47 <+Thinkofdeath> that was one of the many ways of doing it :P 11:47 < morfin> but click command for chat == click on sign? 11:48 <+Thinkofdeath> right click on sign but yes 11:48 < morfin> so i can trick op and he will op me) 11:48 < morfin> lol 11:48 <+Thinkofdeath> no need to trick 11:48 <+Thinkofdeath> the server runs the command 11:48 < morfin> oh 11:48 <+Thinkofdeath> The console would show "Thinkofdeath: Given op to Thinkofdeath" 11:49 < Fenhl> but that's patched now, right? 11:49 <+Thinkofdeath> yes 11:49 < morfin> i thought it send command from user right clicked ) 11:49 <+Thinkofdeath> (any all the other ways found too) 11:49 <+Thinkofdeath> morfin: thats chat, signs work differently 11:51 < morfin> ) 11:58 < morfin> so again server broadcast without radius check>? 12:03 < morfin> guys? 12:04 < morfin> but what about netherworld/overworld? 12:12 < morfin> oops 12:12 < morfin> i see 15:42 <+Thinkofdeath> Don't suppose anyone knows how minecraft's lighting works on a rendering level? Because I still can't it to look right 15:42 <+Thinkofdeath> (Textureless example: http://i.imgur.com/xUJgbs0.png) 15:48 < morfin> wtf is that 15:49 < ScruffyRules> morfin, Textureless. 15:49 < morfin> i see 15:49 < morfin> what makes you think that works not right? 15:50 < ScruffyRules> Thinkofdeath, Got a pic of Vanilla? 15:50 < ScruffyRules> same loc and stuff 15:50 <+Thinkofdeath> not textureless, no 15:50 < morfin> hmm 15:50 < ScruffyRules> Mkay. 15:57 < dexter0> Thinkofdeath: I wrote for TrueCraft, but it covers b1.7.3. 15:58 <+Thinkofdeath> newer versions use tinted lighting which is the bit I'm having issues with. Trying to get it to look like vanilla's shading 15:59 < ScruffyRules> Ask the bone!! :P 17:03 <+Thinkofdeath> I caved and cheated :3 (looked at minecraft's code) http://i.imgur.com/eDVKIf0.png 17:05 <+ammar2> nice 17:05 <+ammar2> whats that missing texture 17:05 <+ammar2> in the middle of the arch 17:06 <+Thinkofdeath> er, redstone lamp maybe? 17:06 * Thinkofdeath checks 17:07 <+Thinkofdeath> trap door with glowstone behind it 17:59 <+XorBoole> Thinkofdeath > implying steven was ever cleanroom 18:00 <+Thinkofdeath> More for the challenge than anything 18:17 < gurun> Hmm interesting link. Isn't it SirCmpwn always going on about that clean stuff. 18:46 <+XorBoole> like I can do anything about it. I'm almost as dirty as thinky here 18:47 <+XorBoole> imo cleanrooming anything minecraft related is silly, because mojang doesn't appear to care (or ms, for that matter) 18:47 <+XorBoole> ms is pro-modding last I checked; they released a visual studio plugin for forge 19:48 < gurun> XorBoole, did MS do that? 19:48 <+XorBoole> gurun yes 19:49 < gurun> but .. hmm , isn't that Java? 19:49 < gurun> yeah, jesus , it's java in VS 19:50 <+XorBoole> yes, VS has java support 19:50 <+XorBoole> #microsoft 19:50 < gurun> scary as hell 19:51 < gurun> i'm looking at it 19:51 <+XorBoole> I mean it's dumb, I know. but at least they're pro modding =D 19:51 < gurun> Cool, i was planning on adding some teplates and stuff via NuGET when that is possible. 19:52 < gurun> XorBoole i heard they made some "wide promises" during minecon regarding modding of MCPE. Possible not entirely shared by the rest of the crew. 19:52 < gurun> MS is very opensource friendly to developers these days. 19:52 <+XorBoole> they may or may not have made said promises to me 19:53 * XorBoole hides 19:53 < gurun> haha 19:53 < gurun> you don't care about MCPE do you? 19:53 <+XorBoole> of course I do 19:53 <+XorBoole> MCPE is the future 19:54 <+ammar2> there is no future 19:54 <+ammar2> its all in your head 19:54 * XorBoole pushes ammar2 into a dumpster full of windows surfaces 19:54 <+XorBoole> me and a friend debated "borrowing" one of the demo surfaces after minecon 19:54 * XorBoole runs 19:54 <+Grum> they all had gps tags in them 19:54 <+XorBoole> lol 19:55 <+XorBoole> his idea! 19:55 <+Grum> would have been fun to see your place raided ! 19:55 <+XorBoole> Grum customs would have taken it before I even got to my house 19:55 <+Grum> nah, raids are far more fun than calling customs :p 19:56 <+ammar2> pftt no one is raiding anything for a single tablet 19:56 <+Grum> lies! 19:56 < gurun> customs work for Microsoft for sure. All evil organizations do. Like NSA, FDA, CIA and imigrations. 19:56 <+ammar2> instead they'd just execute XorBoole 19:56 <+XorBoole> ammar2 but muh money 19:56 <+Grum> we'll send someone with a freshly sharpened banhammer 19:56 <+Grum> ammar2: that depends where he lives 19:56 <+ammar2> preferably in a really painful way 19:56 <+XorBoole> how do you even sharpen a hammer? 19:56 < gurun> .. and google not to forget. They are also evil, and they all belong to that Steve guy,. 19:56 <+Grum> taser to the melons? 19:57 <+ammar2> does that kill a man? 19:57 <+XorBoole> you really like melons, don't you? 19:57 <+ammar2> you don't? 19:57 <+XorBoole> well, you did see grummy's tweet, right? 19:57 * XorBoole runs 19:57 < gurun> melons? Is it ok to post pics? 19:58 < gurun> http://edgyentrepreneur.typepad.com/photos/uncategorized/2008/09/06/melons.jpg 19:58 <+XorBoole> gurun no, they're square. https://twitter.com/_grum/status/620967975655473152 19:58 < gurun> sic! 19:59 < gurun> :-) 19:59 <+XorBoole> very square 19:59 < gurun> hmm, https://lotgk.files.wordpress.com/2010/10/melons_2010_3.jpg?w=280&h=390 not really "Minecraftish" if you ask me. 20:00 <+XorBoole> this channel, every time 20:00 <+Grum> stop dissing my melons :( 20:00 <+XorBoole> I never dissed your melons, they're nice 20:00 <+XorBoole> shit food items, but nice 20:00 * XorBoole runs faster 20:02 <+ammar2> ur a shit food item 20:02 <+XorBoole> Grum wait, why is the left melon rotated? does left-hand flip or rotate a model? 20:02 <+Grum> my eyes are up here! 20:03 <+XorBoole> doesn't help your eyes are staring at the melons 20:03 < gurun> they turn square 20:06 <+XorBoole> inb4 1.9 breaks my entire resource pack for left-hand 20:06 <+XorBoole> echo "This pack does not support left-hand." >> README.md 20:07 <+Grum> no that will happen actually 20:08 <+XorBoole> Grum left-handed models? 20:09 <+XorBoole> actually, display: { thirdpersonleft: ... } I bet 20:09 <+Grum> nah 20:09 <+Grum> mainhand/offhand 20:10 <+XorBoole> so what happens if you're a lefty? does it flip the models then? 20:11 <+Grum> depends 20:11 <+Grum> unless you do different, yes 20:12 <+XorBoole> so by default left-hand models are flipped but you can override? 20:12 <+XorBoole> rather, left = flip(right) 20:13 <+Grum> nah its more along the lines of there is a mainhand and an offhand 20:13 <+Grum> and a 'side' which is your mainhand 20:14 <+XorBoole> it's all moot really, we'll have the snapshot in a week or so and then I can start breaking it 20:14 <+Grum> that kinda depends on if i finish this hehehe 20:14 <+XorBoole> lol 20:15 <+XorBoole> you still planning on doing multipart? 20:15 <+XorBoole> wrote a model yestarday that would have benefited from that =p 20:19 <+Grum> yes 20:19 <+Grum> not planning, that is already in 20:34 <+XorBoole> did freenode just explode for anyone? 20:38 < morfin60> yes 20:38 <+ammar2> net split bby 20:42 <+XorBoole> felt worse than a netsplit 20:45 <+ammar2> probably because you were on the server that split 20:45 <+ammar2> clearly you just have a bad choice in servers 20:46 <+ammar2> much like everything else you do in life XorBoole 20:51 < angal> :) 21:39 * XorBoole slaps ammar2 22:40 < morfin> i just use random server 22:46 <+ammar2> I am a random server 22:55 < morfin> guys 22:56 < morfin> is that nessesary to have synchronized netherworld/overworld and enderworld? 22:56 < morfin> or they can be easily splitted? 22:57 < Fenhl> splitting them will break redstone 22:58 < morfin> hmmm 22:58 < morfin> redstone can work across worlds? how? 22:59 < Fenhl> items can travel across worlds using portals 22:59 < morfin> yes i know 22:59 < morfin> but what about restone? 23:00 < Fenhl> some designs rely on the dimensions ticking synchronously for item transport 23:02 < morfin> hm? 23:02 < Fenhl> in fact I built a design like that yesterday 23:03 < Fenhl> transports items from a farm in the Nether to a storage room in the Overworld 23:03 <+ammar2> eww 23:04 < angal> I don't think i can be 100% compatible with all vanilla redstone bugs... So i don't think i should implement 100% of vanilla redstone features. 23:04 < morfin> lol hax 23:05 < Fenhl> it has to be lossless because people will soon be using it to send items manually, which will break if the relative tick speed of the dimensions is not constantly equal 23:06 < Fenhl> if the dimensions are not synced, the Nether can produce an arbitrary amount of items in any amount of Overworld time, and the hopper minecart won't be able to collect all of them, and they will despawn 23:06 <+XorBoole> today in redstone bugs 23:07 <+XorBoole> or, why it is impossible to cleanroom minecraft and remain sane 23:07 < Fenhl> and yes this is something that would happen even with tiny amounts of Nether lag 23:07 <+ammar2> yeah implementing every obscure mechanic is hard 23:07 <+ammar2> down with redstone 23:07 < Fenhl> well I agree when people say they don't want to implement bugs like qc 23:08 <+XorBoole> solution: synchronized (Minecraft.class) {} everything! 23:08 < Fenhl> but synced worlds is very much a feature 23:08 < Fenhl> *dimensions 23:08 <+ammar2> not really 23:08 <+ammar2> its just a consequence of every world running on a synchronized timer 23:08 <+XorBoole> spigot has broken bigger things =p 23:08 <+XorBoole> down with hoppers 23:09 <+Thinkofdeath> Hey! I fixed those 23:09 < Fenhl> ammar2: which is a feature, the devs have talked about that in here 23:09 <+XorBoole> Thinkofdeath did not. where's your hopper patch? 23:09 <+ammar2> its a "feature" 23:09 <+XorBoole> ammar2 +++ 23:09 <+XorBoole> same as qc 23:09 <+Thinkofdeath> XorBoole: On default settings it matches vanilla now 23:10 <+Thinkofdeath> however hoppers are still slow as hell 23:10 < Fenhl> no, qc is wontfix 23:10 <+XorBoole> I don't want vanilla, I want hoppers nerfed into the ground! 23:10 < angal> What is qc? 23:10 < Fenhl> last i checked 23:10 <+XorBoole> imo qc should be fixed and replaced with a proper alternative 23:10 < Fenhl> of course 23:10 < Fenhl> angal: piston quasiconnectivity 23:10 < morfin> wtf is qc? 23:11 <+XorBoole> qc is the bug used in piston bud switches 23:11 < Fenhl> modern buds don't use qc 23:11 < Fenhl> http://minecraft.gamepedia.com/Issues/Piston_Quasiconnectivity_Bug 23:11 <+XorBoole> wontfix in this case is essentially "this is a feature now" in this case 23:11 <+XorBoole> in this case 23:11 * XorBoole hides behind ammar2 23:12 <+ammar2> minecraft has many "features" :^) 23:12 <+XorBoole> I don't know how modern redstone works, nor do I intend to learn it 23:12 <+XorBoole> I do however enjoy breaking it on my server and watching people's lag machines break >=D 23:12 <+XorBoole> #uptime 23:13 < Fenhl> oh nvm it's closed as WAI now 23:13 < angal> ;0 23:13 < Fenhl> http://i.imgur.com/97gd4dG.jpg 23:14 < Fenhl> this is the issue btw https://bugs.mojang.com/browse/MC-108 23:15 < morfin> wtf 23:16 < morfin> wireless piston) 23:18 < Fenhl> I seriously don't understand Mojang in this regard. I mean, it might have been a sensible move to keep it in back in 2013 when the issue was closed, but by now there are better BUDs which don't use qc and it's just annoying to have to work around qc every time you're trying to build something 23:20 <+ammar2> eh its hard to fix and there's probably not much motivation to do it 23:20 <+ammar2> probably hard to fix* 23:24 <+XorBoole> ammar2 ever read the piston code? 23:24 <+XorBoole> I read it 23:24 <+XorBoole> it's not pretty 23:24 <+XorBoole> it's notchcode of the highest order (1.7 at any rate) 23:24 <+ammar2> yeah and I'd think they wouldn't wannna touch it too much 23:25 <+ammar2> otherwise they'd break obscure bug "features" 23:25 < Fenhl> there are mods which fix qc, so it should be doable 23:25 <+ammar2> and then people would whine 23:25 <+XorBoole> there's doable, and then there's doable but controversial 23:25 <+XorBoole> I've always said it, software would be best without users 23:25 <+ammar2> yeah 23:25 <+ammar2> I mean you've been to minecon 23:25 <+ammar2> you know this first hand 23:25 < Fenhl> they should have fixed it with 1.5, they promised breakage and bugfixes, we got breakage and no fix 23:26 <+XorBoole> also I love how creating a URLClassLoader, deleting the endpoint jar, and loading a class segfaults the jvm 23:26 <+XorBoole> ggoracle 23:26 < Fenhl> lol 23:26 <+ammar2> undefined behaviour 23:26 <+ammar2> ez pz 23:26 <+ammar2> workign as intended 23:26 <+ammar2> its a feature bro 23:26 <+XorBoole> I love segfaulting java 23:26 <+ammar2> relax 23:26 <+ammar2> ITS A FEATURE BRO 23:27 <+XorBoole> I need a Runtime.getRuntime().segfault() method 23:27 <+XorBoole> better yet put it in unsafe 23:27 <+XorBoole> oh wait, java 9 doesn't have unsafe 23:27 <+XorBoole> frigin nerds 23:28 <+ammar2> XorBoole: which is funny since they wanted to make it public and well documented at first 23:28 <+ammar2> and then they were like nah fuck that 23:28 <+ammar2> we'll just fuck everyone over 23:28 <+XorBoole> I know =< 23:29 <+XorBoole> oracle can go eat a bag of the finiest manure 23:29 <+ammar2> well a lot of libraries use Unsafe 23:29 <+XorBoole> yep 23:29 <+ammar2> so unless they wanna alienate a shit ton of their userbase 23:29 <+XorBoole> they say they want to provide alternatives 23:30 <+XorBoole> instead of just documenting Unsafe 23:30 <+XorBoole> of course, then everything will have to update 23:30 <+XorBoole> imo, I just think they should do what C# did, which was brilliant 23:30 <+XorBoole> unsafe {} and fixed 23:30 <+XorBoole> unsafe enters unsafe contexts with pointers, fixed pins stuff on the heap. 23:30 <+ammar2> java is a bad language 23:30 <+XorBoole> fact 23:31 <+ammar2> c# is so much better 23:31 <+XorBoole> now they're making it a bad VM, too 23:31 <+ammar2> except C# is C# 23:31 <+ammar2> its only downfall 23:31 <+XorBoole> C# is better for three reasons in my book 23:31 <+XorBoole> 1) it sucks less than java 23:31 <+XorBoole> 1) unsafe pointer arithmetic 23:31 <+XorBoole> 3) sane generics 23:31 <+ammar2> wheres 2 23:31 <+ammar2> god damnit xor did you forget how to count again 23:32 <+XorBoole> I'm a mathematician. counting is for squares 23:32 <+ammar2> math is literally just counting 23:32 <+ammar2> counting how shit of a life choice you've made that is 23:32 < humerusj> ^ 23:33 <+XorBoole> but... most of the things I work with can't be counted =< 23:33 <+XorBoole> I can't count the reals. I tried once 23:33 < humerusj> I feel as though the imaginaries are harder 23:33 <+ammar2> nah --- Day changed mer. juil. 15 2015 03:09 < rom1504> you can count them, you just need an infinite amount of time 03:09 < rom1504> easy 03:30 < Fenhl> no, that's the rationals. Reals can't be counted even in an infinite amount of time https://en.wikipedia.org/wiki/Uncountable_set 03:39 < rom1504> well it's a bigger infinity yes 03:40 < rom1504> but you can still "count" them (depending on how you define "count") 19:57 < Paprikachu> in creative, how do i know the metadata of a block the player creates? it seems like the type of the slot field is just the base type, not the metadata... 19:58 < Paprikachu> in CreativeInventoryAction that is 19:59 < Paprikachu> either that, or my slot parser is broken 20:06 < Paprikachu> mh, apparently it's in the damage field. weird. 20:07 < Gjum> damage = metadata 20:07 < Gjum> for any item 20:09 < Paprikachu> couldnt they just put it into the type field? 20:09 < Paprikachu> would be more consistent... 20:10 < Gjum> it's consistent among all inventory packets ^^ 20:11 < Paprikachu> yeah, but you still store uint16 if you're saving the map to disk 20:11 < Paprikachu> idk 20:11 * Thinkofdeath stabs creative 20:12 < Paprikachu> is there a generic way to differentiate between blocks and items? 20:12 < Paprikachu> or do i have to have a list of all ids to do that 20:13 <+Thinkofdeath> <256 is blocks 20:13 < Gjum> id<255 = block, id>255 = item 20:13 < Paprikachu> oh, nice 20:13 < Gjum> but some blocks are items in inventory 20:13 < Paprikachu> my server currently lets me place items as invisible blocks, which is not that cool :D 20:14 < Paprikachu> < 255 or < 256? :p 20:14 <+Thinkofdeath> first item is 256 20:14 < Gjum> ^ 20:15 < Paprikachu> alright, thanks 20:19 < Paprikachu> hm, sometimes "none" for blocks/items is represented as 0, other times as -1, what's the point of that? 20:19 < Paprikachu> especially annoying because i got signed/unsigned mismatches all over the place because of that :| 20:36 < angal> Hm... -1 are often special cases, when packet performs non default action. 21:51 < morfin> like? --- Day changed jeu. juil. 16 2015 08:56 < Paprikachu> what happens if i send spawn player before player list updates? 15:45 < rom1504> the name of the player will be unknown 17:29 < Aikar> so, first we have PayPal chargebacks, now I have a user who filed a BBB Complaint wanting to be unbanned OR refund them more money than they spent on my server -_- 17:30 < Aikar> err meant spigot channel, not sure how I Was on here, but i guess still relevent :P 17:30 < Aikar> player used stolen password lists to login like 40 accounts to profit off their items, all on his IP, chat logs admitting its him, yet he still claims it wasnt him 17:43 <+XorBoole> Aikar and sometimes I'm jealous of your playercount, lol 18:31 <+Amaranth> People still pay attention to the BBB? 18:31 <+Amaranth> You can do the worst shit and so long as that makes you more than it costs to pay off the BBB you'll come out ahead 19:35 < gurun> BBB, Big Bad Bicrosoft? 20:33 <+XorBoole> gurun Buycrosoft? 20:33 * XorBoole runs and hides 20:33 * gurun thninks XorBoole runs and hides, a lot 20:33 * gurun runs and hides 20:33 * gurun playing blockhunt 22:04 < SopaXT> Hey! 22:05 < angal> Hey? 22:07 < SopaXT> I just want people to check out my github project and donate at my homepage 22:08 < SopaXT> What I like in this channel, you can get help on protocol stuff instantly. 23:06 < Jabbi> Hey, do you think it is worth, making a Command-Block-Script-language? 23:09 < dx> ouch 23:09 < dx> those words hurt 23:10 < Jabbi> oh sorry, i am bad in english 23:10 < dx> no that's not the problem 23:10 < dx> the problem is exactly what you meant to say. 23:11 < Jabbi> do you mean it is not? 23:12 < Jabbi> yes.. ok thank you 23:12 < dx> sigh. well. the problem is that command blocks are hacks over hacks over hacks and the whole thing is awful 23:13 < dx> but if awfulness doesn't bother you, yeah maybe some people might appreciate it (and i hate to say this) 23:13 < angal> There are already mcedit filter to convert code on some specified languige in command blocks... 23:14 < Jabbi> ah I did not know that --- Day changed ven. juil. 17 2015 00:20 <+XorBoole> wait are we talking about command block scripts? 00:20 <+XorBoole> pls no 00:21 <+XorBoole> command blocks are the worst thing to happen to this game 00:21 <+XorBoole> except maybe the rose -> poppy change 00:21 * XorBoole runs 00:30 < Jabbi> Why? @XorBoole 00:31 <+XorBoole> as people said above. it's a giant pile of hacks 00:31 <+XorBoole> mojang had good intentions but people lost their minds 00:32 <+XorBoole> command blocks don't need a scripting language, because such a language would be very unstable given how hacky the whole thing is 00:33 <+XorBoole> that, and /some/ people have decided to backport 1.9 stuff to 1.8 via command blocks 00:33 <+XorBoole> wat 00:34 <+ammar2> XorBoole: well you add something that's turing complete anywhere and you can bet people will abuse it 00:35 <+XorBoole> ammar2 it's not turing complete 00:35 <+XorBoole> minecraft's world is finite 00:35 * XorBoole runs 00:35 <+ammar2> pftt 00:35 <+ammar2> I'll cut you 00:35 <+XorBoole> also, there's turing complete and then there's useable 00:35 <+XorBoole> commandblocks are the definition of a turing tarpit 00:35 <+ammar2> brainfuck 00:35 <+XorBoole> see brainfuck is actually usable 00:35 * XorBoole hides 00:36 <+ammar2> XorBoole: highly, https://github.com/SirCmpwn/bf-irc-bot/blob/master/irc-bot.bf 00:36 <+XorBoole> I am aware of said bot 00:36 <+XorBoole> I wrote a brainfuck to c compiler 00:36 <+XorBoole> it also generates jni bindings 00:36 <+XorBoole> so you can hava a java program partially written in brainfuck 00:36 <+ammar2> always a useful thing to have 00:37 <+XorBoole> ofc. no one will use it, so it's the best software 00:37 <+XorBoole> no users = 100% user satisfaction 00:50 < alsob> Hi 00:51 < floxen> hi 01:11 < Fenhl> XorBoole: more like ERROR DIVISION BY ZERO% user satisfaction 03:30 <+XorBoole> Fenhl you mean Infinity 03:30 <+XorBoole> the user count is obviously an IEEE float 03:35 < Fenhl> that seems like a horrible idea 03:55 <+XorBoole> Fenhl no, it's Enterprise(tm) 03:55 * XorBoole hides under a rock 15:26 <+Thinkofdeath> Is it possible to get blacklisted from the authservers? o.O 15:27 <+Thinkofdeath> I'm getting InvalidCredentialsException from every account I have even after resetting the passwords :| 15:27 <+Thinkofdeath> (vanilla launcher or mine) 15:47 < redstonehelper> there's rate limiting afaik 15:48 <+Thinkofdeath> :| 15:48 * Thinkofdeath waits 16:21 < angal> :) 16:22 <+Thinkofdeath> The one time I decide to rework the login screen and now I can't test it :| 16:25 <+ammar2> Thinkofdeath: proxy 16:26 <+Thinkofdeath> but effort 16:26 < ScruffyRules> butt nothing. 16:27 * XorBoole pets Thinkofdeath 16:28 <+ammar2> Thinkofdeath: you can test out your client's proxy settings too :^) 16:28 <+ammar2> two stones with one bird 16:28 <+ammar2> etc 16:28 <+Thinkofdeath> but that involves implementing them first 16:28 <+Thinkofdeath> :) 16:28 <+ammar2> well you get a new feature plus it'd be faster than waiting for the rate limiting to go away 16:37 < Aikar> Thinkofdeath: you done got hakked of course 16:37 <+Thinkofdeath> totally 16:37 <+Thinkofdeath> side note: Got in, switching to windows lets me log in 16:37 <+Thinkofdeath> no idea why 16:38 < Aikar> microsoft added anti linux/osx code obv 16:38 <+Thinkofdeath> must be 16:38 < Aikar> though isnt the windows .exe launcher some new native binary now, maybe uses diff server? 16:38 <+Thinkofdeath> no chance of me messing something up on linux, must be anti-linux code 16:38 <+Thinkofdeath> Aikar: nah 16:39 <+Thinkofdeath> it launchers the jar version 16:39 <+Thinkofdeath> *launches 16:39 <+Thinkofdeath> it just handles getting it and downloading java as far as I know 16:39 < Aikar> so its a launcher for the launcher just to help get proper JRE setup? 16:39 <+Thinkofdeath> basically 16:40 < zml> because people can't figure out how to get jdk8 on their own 16:40 < Aikar> wonder if hwaccel works on spotify linux yet 16:40 < Aikar> the fact all my icon did was bounce im gonna say no, but now how do i disable it ._. 16:41 < Aikar> hmm other launch method worked, and ui looks unbroken 16:41 < Aikar> holy crap i was wondering what this cache folder i found was, its spotify, time to move to diff drive 16:42 <+XorBoole> zml you just install the ask toolbar 16:42 * XorBoole hides under some rocks 16:43 * zml installs the ask toolbar on XorBoole 16:43 * zml pacman -S openjdk-8-jdk 16:43 <+XorBoole> > not apt-get 16:43 < Aikar> apt-get install ask-toolbar-spyware ? 16:43 <+XorBoole> Aikar ++ 16:43 < zml> > superior arch 16:44 <+XorBoole> real men use debian 16:44 <+XorBoole> well, I use debathena but whatever 16:44 < zml> no real men use emacs on hurd 16:44 < zml> powered by butterflies 16:45 < Aikar> coffee or 5hr energy, 5hr takes less work and works better.... 16:45 < Aikar> I really gotta give my body a break from this crap soon 16:45 < Aikar> ive been on it hard for few months now :3 16:46 < zml> go coffee or tea, don't use 5hr 16:47 < Aikar> im dependent atm 16:47 < Aikar> its been a damn stressful year work wise 16:47 < Aikar> was working 110 hr weeks on day job earlier this year, gave myself a break after, but then been hitting my MC server hard lately too 16:48 < Aikar> I now have 3 other devs working with me, so its great seeing the backlog get destroyed 16:48 < zml> uh 110 hr weeks wut 16:48 <+XorBoole> Aikar can I borrow them 16:48 < Aikar> major website redesign/new tech infrastructure and Im the only dev 16:48 <+XorBoole> also can I borrow like all your players 16:48 < Aikar> so it all lied on me 16:49 < Aikar> was a success (after pushing back multiple unreasonable deadlines) at least 16:49 < Aikar> clean launch w/o issues 16:49 < Aikar> where as other brands in our company who rushed their damn website relaunch was plagued with issues 16:51 <+XorBoole> Aikar somehow I feel you'd enjoy my custom developers against humanity deck 16:51 < Aikar> lol 16:51 < Aikar> thats an interesting idea 16:52 < Aikar> i wish i had more dev friends in local area 16:52 < Aikar> i have 1... and he doesnt work with me on anything, hes a microsoft crony ._. 16:52 <+XorBoole> I have too many at school, wanna trade? 16:52 < Aikar> (no offense to the now microsoft employees :P) 16:52 <+XorBoole> Aikar I think they said they technically aren't microsoft employees? 16:53 < Aikar> yeah i wish i hung out more with people in hs class 16:53 < zml> they're microsoft property, not employees :p 16:53 < Aikar> eh, its just labels :p 16:53 <+XorBoole> Aikar > hs 16:53 <+XorBoole> I'm in college 16:53 < Aikar> but i guess I cant disagree with that statement 16:53 < Aikar> oh right 16:53 < Aikar> I have a parent company but we dont call ourselves employees of the parent 16:54 < Aikar> hell, the original parents name we were disgusted to even be related to ._. 16:54 < Aikar> thankfully that brand is now dead :P 16:54 < zml> lol 16:54 < Aikar> been through a few acquisitions in my career. 16:54 <+XorBoole> I'm a mathematician, this is potato to me 16:55 < Aikar> hell my first job was with EMBARQ right as CenturyTel was acquiring it. I joined, they were like 'btw were in a merger', few months later 85% team cut, but I survived. 16:55 < zml> company_a + company_b = compan_{hugeblob} 16:55 < Aikar> (which is now CenturyLink) 16:56 <+XorBoole> zml this is a noncommutative addition ofc 16:56 < Aikar> so I guess let me rephrase 'no offense to the microsoft related people in here' :P 16:56 <+XorBoole> microsoft seem like nice guys 16:57 < zml> there are cool actual microsoft employees 16:57 <+XorBoole> at least, they didn't call security on me when I said "open source" at their minecon booth 16:57 < zml> lol 16:57 * XorBoole hides 16:57 < Aikar> yeah im sure employees are cool, I was purely meaning that devs on MS technology stick to mostly MS tech, so my friend never messes with the stuff I do 16:58 < zml> eh true 16:58 <+XorBoole> see-sharp! 16:58 < Aikar> XorBoole: and in my college, my class mates didnt exactly have great skill :/ 16:58 <+XorBoole> I'd love C#, but I don't because the style conventions are garbage and it's microsoft 16:58 < zml> XorBoole does fancy math things and can use big math words 16:58 < Aikar> I think a majority of them really shouldnt of been persueing programming 16:59 < Aikar> I did some free lance work for one of them later down the road, she couldnt do it herself ._. 16:59 <+XorBoole> Aikar I'm surrounded by people who go to cs aiming to go to work for google and facebook. welp 16:59 < Aikar> yeah i guess that is one diff, I only cared to go for an associates, avoided having all that nasty debt :P 17:00 < zml> pretty sure a large number of people who are doing CS really shouldn't be 17:00 < Aikar> I didn't even learn anything, just did it for the paper to help me start the career 17:00 <+XorBoole> zml ++ 17:00 <+XorBoole> there are too many cs students at my school 17:00 <+XorBoole> like 1/3 of undergrads 17:00 < zml> eww wat 17:00 <+XorBoole> I mean, my school has a great cs department, but 17:01 < Aikar> yeah I had one guy who I love to call "Career programmers", who only want to do it for a paycheck and have no passion for it at all/understand it well