<<Prev Next>> Scroll to Bottom
Stuff goes here
L1[00:00:00] <killjoy> lol no
L2[00:00:08] <capitalthree> I kid, I kid
L3[00:00:15] <capitalthree> it's just late and I'm a bit frustrated :P
L4[00:00:19] <killjoy> are you prepared for that shit storm?
L5[00:00:35] <capitalthree> I jsut finally figured out this goddamend shading after trying all day and *now* tterrag tells me I need to switch to some other thing for no actual practical benefit, because it's more just and righteous
L6[00:00:38] <tterrag> remember that all these extra libs are crap that EVERYONE has to download
L7[00:00:39] <capitalthree> I love it
L8[00:00:41] * capitalthree head explodes
L9[00:00:55] <tterrag> actually no
L10[00:00:58] <capitalthree> ok PitchBright is the one who wanted a 1.7.10 release
L11[00:01:07] <tterrag> <tterrag> you can do it the right way, or the hacky way, up to you
L12[00:01:13] <tterrag> I didn't say you *need* to do anything
L13[00:01:14] <capitalthree> PitchBright: do you want a jar that I have now, that works fine now? or do you want a jar later that is somehow more pure but not discernably different from your standpoint
L14[00:01:22] <tterrag> I'm just trying to help. you don't have to listen to me.
L15[00:01:23] <Zaggy1024> is the shader supposed to just inherently receive the bound texture in its uniform sampler2D field?
L16[00:01:28] <tterrag> of course, I don't have to answer you either :P
L17[00:01:33] *** minecreatr is now known as Mine|dreamland
L18[00:01:34] <tterrag> Zaggy1024: no
L19[00:01:40] <Zaggy1024> hm
L20[00:01:42] <capitalthree> tterrag: I'm sorry, honestly I appreciate it but I just wanna be done with it, this was supposed to be a simple mod
L21[00:01:50] <Zaggy1024> so how do I give it the texture?
L22[00:01:51] <capitalthree> tterrag: I'll try to do more things correctly when I make a mroe substantive mod
L23[00:01:55] <tterrag> Zaggy1024: glActiveTexture
L24[00:02:01] <capitalthree> or maybe I'll fix this later if I am less frustrated that day and you can help <3
L25[00:02:02] <killjoy> btw, I don't think FGs shader supports resources
L26[00:02:08] <capitalthree> tterrag: you have been super helpful
L27[00:02:13] <capitalthree> I appreciate it
L28[00:02:21] <tterrag> killjoy: or service files, etc
L29[00:02:26] <tterrag> it's NOT shading. it's copying and renaming :P
L30[00:02:28] <killjoy> just classes
L31[00:02:40] <capitalthree> what does shading actually mean?
L32[00:02:41] <killjoy> purely specialsource
L33[00:02:52] <killjoy> it's a relic from maven
L34[00:02:54] <Zaggy1024> setActiveTexture or setClientActiveTexture? lol
L35[00:03:07] <tterrag> idk, I just use setActiveTexture
L36[00:03:15] <Zaggy1024> k
L37[00:03:24] <tterrag> erm
L38[00:03:29] <tterrag> I mean glActiveTexture
L39[00:04:11] <tterrag> it's in GL13 for some reason
L40[00:04:53] ⇨ Joins: glasspelican (~quassel@stanley.glasspelican.ca)
L41[00:06:13] <PitchBright> i can wait till later…. i won't be able to take it for a test drive for a little while… so I'm good to wait
L42[00:06:23] <PitchBright> capitalthree: ^
L43[00:06:55] ⇨ Joins: zml (~zml@minions.aoeu.xyz)
L44[00:07:48] <capitalthree> PitchBright: http://minecraft.curseforge.com/projects/lingering-loot
L45[00:07:58] <capitalthree> PitchBright: oh. too late :P I just uploaded it and I'm not messing with it tonight
L46[00:08:09] <capitalthree> PitchBright: but if you get to try it, let me know how it goes :D
L47[00:08:29] ⇦ Quits: MikrySoft|2 (~MikrySoft@89-76-18-43.dynamic.chello.pl) (Ping timeout: 201 seconds)
L48[00:08:51] <Zaggy1024> wait, I think the active texture is already GL_TEXTURE1
L49[00:09:14] <tterrag> ok, then try setting the sampler2D to 1
L50[00:09:28] <Zaggy1024> right
L51[00:09:53] ⇨ Joins: npe|office (~NPExcepti@bps-gw.hrz.tu-chemnitz.de)
L52[00:11:00] ⇨ Joins: Hunterz (~hunterz@2001:af0:8000:1c01:6af7:28ff:fe37:5d6a)
L53[00:11:21] ⇦ Quits: Ordinastie_ (~Ordinasti@87-231-58-94.rev.numericable.fr) (Quit: Leaving)
L54[00:13:58] <capitalthree> how do I make it so my mod won't cause mod rejections?
L55[00:14:02] <tterrag> wat
L56[00:14:23] <capitalthree> in SMP
L57[00:14:27] <capitalthree> my mod only needs to be on the server
L58[00:14:36] <tterrag> acceptableRemoteVersions="*"
L59[00:14:41] <capitalthree> thanks :D where?
L60[00:14:45] <tterrag> @Mod
L61[00:14:48] <capitalthree> ok!
L62[00:15:55] ⇨ Joins: alex_6611 (~alex_6611@p5DC1647E.dip0.t-ipconnect.de)
L63[00:15:57] ⇨ Joins: alex_6611_ (~alex_6611@p5DC1647E.dip0.t-ipconnect.de)
L64[00:16:19] <Zaggy1024> actually it was TEXTURE0, I got mixed up somewhere in my find definition crap :P
L65[00:16:34] <Zaggy1024> now I gotta debug the shader because it seems to still not be working
L66[00:17:07] ⇦ Quits: alex_6611_ (~alex_6611@p5DC1647E.dip0.t-ipconnect.de) (Killed (NickServ (GHOST command used by alex_6611)))
L67[00:17:24] ⇨ Joins: alex_6611_ (~alex_6611@p5DC1647E.dip0.t-ipconnect.de)
L68[00:17:37] <tterrag> Zaggy1024: you need to set the active texture when loading your texture as well
L69[00:17:40] <tterrag> iirc
L70[00:17:50] ⇦ Quits: alex_6611_ (~alex_6611@p5DC1647E.dip0.t-ipconnect.de) (Client Quit)
L71[00:18:07] <Zaggy1024> I'm doing setActiveTexture, then bindTexture, then uniform1i(texture, 0)
L72[00:18:11] <Zaggy1024> that's correct, isn't it?
L73[00:18:15] <tterrag> well
L74[00:18:31] <tterrag> setting the sampler2D to 0 means it will use texture unit 0
L75[00:18:49] *** mrkirby153 is now known as kirby|gone
L76[00:18:52] <Zaggy1024> indeed
L77[00:18:56] <tterrag> to make sure your texture goes to that unit you need to glActiveTexture(0) before creating it
L78[00:19:15] <Zaggy1024> glActiveTexture(0), not glActiveTexture(GL_TEXTURE0)?
L79[00:19:22] <tterrag> the second one
L80[00:19:25] <tterrag> I'm just being lazy
L81[00:19:26] *** fry|sleep is now known as fry
L82[00:19:44] <Zaggy1024> haha
L83[00:20:11] <Zaggy1024> ugh, still nothing
L84[00:20:27] <tterrag> nothing at all?
L85[00:20:53] <Zaggy1024> yeah, it's not showing anything when I multiply by texture2D(texture, gl_TexCoord[0].st)
L86[00:21:10] <Zaggy1024> does the vertex shader need to something to set the texcoord?
L87[00:21:13] ⇦ Quits: Zyferus (Zyferus@172-3-154-217.lightspeed.mssnks.sbcglobal.net) (Ping timeout: 384 seconds)
L88[00:22:33] <capitalthree> does anyone care about a 1.9 version of Lingering Loot? or should I do it tomorrow
L89[00:22:56] <Zaggy1024> aha, it did
L90[00:23:03] <Zaggy1024> it works now :)
L91[00:23:22] <Zaggy1024> I kinda thought texcoord was provided by the GLSL implementation rather than the vertex shader
L92[00:23:57] <Zaggy1024> lol and now my texture matrix changes aren't working
L93[00:24:43] <Zaggy1024> just gotta multiply it I suppose, assuming it's passed
L94[00:25:04] <Cypher121> if two years ago someone told me, I'd write a function that takes a function and returns a function which takes two functions and returns a function, I'd say they were out of their fucking mind
L95[00:25:13] <Zaggy1024> ayy, it's working perfectly now! :)
L96[00:25:17] <Cypher121> apparently now it's me who's out of his fucking mind
L97[00:26:47] <tterrag> Zaggy1024: yeah I thought about that, but then figured I didn't know enough about writing shaders for legacy GL to comment
L98[00:26:59] <tterrag> why do you do .st though?
L99[00:27:07] <Zaggy1024> because I copy pasted it :P
L100[00:27:09] <Zaggy1024> http://i.imgur.com/PQO70ub.png
L101[00:27:24] <Zaggy1024> what's the standard way of getting the uvs?
L102[00:27:40] <Zaggy1024> is it already a vec2?
L103[00:28:03] ⇦ Quits: cpw (~cpw@24-212-222-167.cable.teksavvy.com) (Remote host closed the connection)
L104[00:28:29] <Zaggy1024> these clouds cost barely anything compared to the 20% time spend in gameRenderer with vanilla clouds :]
L105[00:28:48] <Zaggy1024> it's currently at 0.43% of gameRenderer spent on these VBO clouds
L106[00:29:47] <Zaggy1024> it actually costs more time to have the clouds on "fast" now :P
L107[00:31:46] <tterrag> if it was a vec2 st would be an error I should think
L108[00:32:04] <Zaggy1024> hm
L109[00:32:04] <tterrag> so idk really
L110[00:32:11] <Zaggy1024> well I removed the .st and it still works, so...dunno
L111[00:32:14] <Tazz> http://i.imgur.com/7oATima.png perfectly layed out :D
L112[00:32:28] <tterrag> oh I'm dumb
L113[00:32:30] <Zaggy1024> and actually, vanilla clouds are running at ~9% right now, which doesn't seem normal
L114[00:32:32] <tterrag> st is the first two components
L115[00:32:38] <Zaggy1024> yeah
L116[00:32:47] ⇨ Joins: cpw|out (~cpw@24-212-222-167.cable.teksavvy.com)
L117[00:32:48] MineBot sets mode: +o on cpw|out
L118[00:32:48] <tterrag> I always forget that
L119[00:33:01] <Zaggy1024> I wondered if it was a non-standard way of doing it :P
L120[00:33:04] *** cpw|out is now known as cpw
L121[00:33:09] <Zaggy1024> but I knew that's what it did
L122[00:33:10] ⇨ Joins: Zyferus (~Zyferus@172-3-154-217.lightspeed.mssnks.sbcglobal.net)
L123[00:33:11] <tterrag> xy, rg, and st are all equivalent
L124[00:33:25] <tterrag> they are called swizzles
L125[00:33:43] <tterrag> (you can do fancier stuff like vec.zyx
L126[00:33:46] <tterrag> )
L127[00:33:55] <Zaggy1024> ah, that I never tried
L128[00:34:04] ⇨ Joins: Poppy (~Poppy@chello085216146055.chello.sk)
L129[00:34:07] <tterrag> it's quite neat. impossible to recreate in java. possible to somewhat recreate with C(++) macros
L130[00:35:09] <Zaggy1024> well, it's possible in Java with a crapload of functions :P
L131[00:35:09] <tterrag> for example this is my lovely hack to invert the text color https://github.com/tterrag1098/COSC482/blob/8c5271737cc529718e2ecea53b95ca38fb1a6ae3/3D%20Project/src/ui/TextBox.cpp#L55
L132[00:35:15] <tterrag> yeah I guess
L133[00:35:18] <tterrag> *shudder*
L134[00:35:43] <tterrag> it took me far too long to figure out why 1-color was invisible -_-
L135[00:35:57] <tterrag> 1 - alpha 1 = 0 :D
L136[00:36:01] <Zaggy1024> I don't know much C++, what does that do? implicitly convert the 1.0f to vec3?
L137[00:36:16] <Zaggy1024> or does it have a float - vec3 operator?
L138[00:36:18] <tterrag> textcolor.xyz() is the swizzle
L139[00:36:26] <tterrag> and yes, there is an operator- defined for float
L140[00:36:27] <Zaggy1024> yeah, I'm looking at the math
L141[00:36:31] <Zaggy1024> ah
L142[00:36:33] <tterrag> it's quite handy
L143[00:36:36] <tterrag> but it's really strict on types
L144[00:36:49] <tterrag> it won't automatically widen precision
L145[00:36:57] <tterrag> so 1 - color would fail compilation (quite spectacularly)
L146[00:37:03] <tterrag> 1.0 - color would also fail
L147[00:37:06] <tterrag> 1.0f works ;P
L148[00:37:32] <tterrag> and there are constructors for all the vectors which take smaller vectors (and vectors of other types)
L149[00:37:37] <tterrag> it's really crazy how many combinations there are
L150[00:39:11] <Zaggy1024> hmm, this is interesting.
L151[00:39:23] <Zaggy1024> vanilla cloud rendering isn't using nearly as much time now as it was in my previous testing
L152[00:39:34] <Zaggy1024> 10% from 20% I saw before
L153[00:39:46] <Zaggy1024> I even saw it get up to 50% when I was underground lol
L154[00:39:56] <tterrag> well % is not really a good measure
L155[00:40:07] <tterrag> because if other stuff gets slower, the clouds could take the same time but be less %
L156[00:40:17] <Zaggy1024> yea
L157[00:40:49] <tterrag> gtg for a bit :P
L158[00:40:51] *** tterrag is now known as tterrag|away
L159[00:41:13] <Zaggy1024> aha
L160[00:41:30] <Zaggy1024> yeah, I guess when I'm underground everything else gets wayy faster so clouds just waste time like crazy
L161[00:41:46] <capitalthree> if there are no mods that have a remote version requirement, can a vanilla client connect to a forge server?
L162[00:42:00] <Zaggy1024> sky is also taking suspiciously long in the bedrock, which seems strange since I think sky is supposed to use VBOs
L163[00:42:03] <fry> also, make sure you are measuring correctly
L164[00:42:20] <Zaggy1024> hm?
L165[00:42:24] <Zaggy1024> how do you mean?
L166[00:42:54] <Zaggy1024> I've been pausing the game and changing the code while it's paused to see the difference, it seems to be a pretty clear improvement using my code
L167[00:42:58] <williewillus> clouds have always been slow as shit :P
L168[00:43:02] <Zaggy1024> indeed
L169[00:43:08] <williewillus> i always go fast clouds or turn them off first thing
L170[00:43:15] <Zaggy1024> haha now you won't have to :P
L171[00:43:28] <Zaggy1024> it's at 2.3% even when the rest of the rendering isn't doing much of anything
L172[00:43:39] <Zaggy1024> I'm looking straight down at bedrock
L173[00:43:47] <Zaggy1024> without these changes it was using 50% :P
L174[00:44:27] ⇦ Quits: alex_6611 (~alex_6611@p5DC1647E.dip0.t-ipconnect.de) (Ping timeout: 384 seconds)
L175[00:44:42] <Zaggy1024> it's not doing ridiculous amounts of math in a loop like vanilla, it just translates the model around and offsets the texture :)
L176[00:45:15] <Zaggy1024> so now I gotta clean all this crap up :P
L177[00:45:48] <Zaggy1024> oh, hang on, I didn't check that fog was being applied despite using a fragment shader
L178[00:46:03] <Zaggy1024> I can only hope it does...
L179[00:46:27] <Zaggy1024> although doing the fog in a fragment shader would allow me to lower the poly count by a huuuge amount so that wouldn't be all bad...
L180[00:47:22] <Zaggy1024> ah yup, no fog
L181[00:48:26] <Zaggy1024> hmm, I'll have to check whether there's a way to apply the fog
L182[00:48:41] <Zaggy1024> I assume if there's a way, it'll be by passing the fog values to the vertex shader
L183[00:49:12] <fry> what do you need the shader for?
L184[00:49:33] <Zaggy1024> to color the clouds
L185[00:49:48] <fry> is that all?
L186[00:49:52] <Zaggy1024> pretty much
L187[00:49:57] <fry> how are you coloring them?
L188[00:50:01] <Zaggy1024> the shading is baked in the buffer
L189[00:50:07] ⇦ Quits: Zyferus (~Zyferus@172-3-154-217.lightspeed.mssnks.sbcglobal.net) (Ping timeout: 384 seconds)
L190[00:50:09] <Zaggy1024> I just pass a vec4 and multiply it in the vertex shader
L191[00:50:13] <fry> ...
L192[00:50:33] <fry> https://www.opengl.org/sdk/docs/man2/xhtml/glSecondaryColor.xml
L193[00:51:15] <Zaggy1024> lol
L194[00:51:18] <fry> assuming you're already using the primary color somehow
L195[00:51:27] <Zaggy1024> well you could've told me about that when I was asking before...
L196[00:51:29] <fry> and can't possibly multiply it
L197[00:51:35] <fry> you didn't ask me :P
L198[00:51:38] <Zaggy1024> it's in use by the vertex buffer I think
L199[00:51:41] * Waterpicker shudders in disgust of how messy 1.6 code.
L200[00:51:43] <Waterpicker> is
L201[00:51:47] <fry> "I think"
L202[00:51:48] <Zaggy1024> hm, I thought I had
L203[00:52:02] <fry> you don't even know what you're passing to the gpu?
L204[00:52:03] <Waterpicker> Anyone here heard of dimensional doors before?
L205[00:52:14] <Zaggy1024> glColor4f don't work man
L206[00:52:34] <fry> tell me the name of the cloud render method
L207[00:52:38] <Zaggy1024> I'll try the secondary color thing, I wasn't aware of it
L208[00:52:42] <Zaggy1024> what?
L209[00:52:49] <Zaggy1024> you mean the vanilla one?
L210[00:52:52] <fry> yes
L211[00:53:04] <Zaggy1024> RenderGlobal.renderCloudsFancy
L212[00:53:17] <Zaggy1024> why do you need that though? I didn't use that code, I rewrote it :P
L213[00:53:53] <fry> reuse > rewrite
L214[00:54:06] <fry> do you use the same vertex format?
L215[00:54:16] <fry> POSITION_TEX_COLOR_NORMAL?
L216[00:54:26] <Zaggy1024> same except for the normals
L217[00:54:36] <fry> then of course glColor doesn't work
L218[00:54:43] <fry> you do have color in the format
L219[00:54:43] <Zaggy1024> hm?
L220[00:54:47] <Zaggy1024> yeah?
L221[00:54:48] <Zaggy1024> I know
L222[00:54:59] <fry> do you change the color more often than you rebuild the buffer?
L223[00:55:00] <Zaggy1024> I'm not gonna make 5 vertex buffers for the different shades...
L224[00:55:12] <Zaggy1024> of course, I only build the buffer once
L225[00:55:31] <fry> when is the color different?
L226[00:55:40] <Zaggy1024> the world provider changes it over time
L227[00:55:54] <Zaggy1024> it changes every frame
L228[00:55:55] <fry> only 5 possible values?
L229[00:56:08] <fry> why did you say 5?
L230[00:56:44] <Zaggy1024> 0.7, 0.8, 0.9, 1.0
L231[00:56:47] <Zaggy1024> 4, but still
L232[00:56:53] <fry> ah, I see, World.getCloudColour
L233[00:57:06] <fry> can potentually be anything
L234[00:57:19] <Zaggy1024> yes
L235[00:57:37] <Zaggy1024> and it's interpolated so it's not like it has a finite number of values
L236[00:57:57] <Zaggy1024> secondary color is GL 1.4 though, aren't the shaders supported earlier than that?
L237[00:58:36] <fry> glsl shaders are 2.0
L238[00:58:46] <fry> arb shaders are 1.5 + arb extension
L239[00:58:47] <Zaggy1024> even the ARB fallback is?
L240[00:58:52] <Zaggy1024> ahh
L241[00:58:53] <Zaggy1024> okay
L242[00:59:09] <Zaggy1024> lol well I still want to find out what gl_FogCoord is used like :P
L243[00:59:10] <fry> and I seriously doubt that you wrote an ARB shader
L244[00:59:46] <fry> even if you can't get secondary color to work, you can always make 1-px texture and use that
L245[01:00:18] *** kroeser|away is now known as kroeser
L246[01:00:34] <Zaggy1024> would be nice to have fragment fog though... currently it renders 6 quads per cuboid
L247[01:00:45] <fry> what?
L248[01:00:53] <Zaggy1024> the fog is done per vertex
L249[01:01:10] <fry> what exactly are you talking about? :P
L250[01:01:18] <Zaggy1024> so if I have a quad spanning the far distance in one direction to far distance the other side, it becomes completely engulfed in fog
L251[01:01:26] <Zaggy1024> despite passing right through the center of the view
L252[01:01:55] <Zaggy1024> that's why vanilla creates so many freaking quads for the clouds, AFAIK
L253[01:03:29] *** Kolatra is now known as Kolatra|away
L254[01:03:29] <fry> "If enabled, fog blends a fog color with a rasterized fragment’s post-texturing color colorusing a blending factor f"
L255[01:03:30] <Zaggy1024> is there a way to force vertex fog without using a shader that will actually work on all systems/
L256[01:03:36] <fry> should be per-fragment
L257[01:03:39] <Zaggy1024> it's not
L258[01:03:41] <Zaggy1024> don't ask me why
L259[01:03:46] <Zaggy1024> or at least it sure doesn't behave like it is
L260[01:03:58] <fry> what GPU do you have, and how do you see it?
L261[01:04:12] <Zaggy1024> GTX 970
L262[01:04:19] <Zaggy1024> and what do you mean by how do I see it?
L263[01:05:01] <Zaggy1024> when I was testing it I stood right next to a cloud and it didn't change from fog color until I approached a vertex at the corners
L264[01:05:01] <fry> can you show a screenshot?
L265[01:05:05] <Zaggy1024> arghh
L266[01:05:21] <Zaggy1024> it was a pain to get it so I could walk next to the vertices
L267[01:05:22] <fry> doesn't have to be now :D
L268[01:05:45] <fry> just do that before you continue to do shader fogging :D
L269[01:06:05] <Zaggy1024> lol I can't even remember what I did..
L270[01:06:13] <fry> that's not a good sign :P
L271[01:06:49] <Zaggy1024> I can probably reproduce something similar
L272[01:06:59] <Zaggy1024> hopefully
L273[01:07:49] <Zaggy1024> just got to scale up the current model a bunch, I guess
L274[01:07:50] <Zaggy1024> hopefully
L275[01:09:55] <Zaggy1024> lol this is a horrendous example, but... https://dl.dropboxusercontent.com/u/30868783/ShareX/2016/05/2016-05-13_01-09-46.mp4
L276[01:10:14] <Zaggy1024> fry, ^
L277[01:10:32] <Zaggy1024> oh, might help if I didn't scale y by 0...
L278[01:11:07] <Zaggy1024> ah, this is much better
L279[01:11:15] <Zaggy1024> just gotta wait for it to upload :P
L280[01:11:50] <Zaggy1024> https://dl.dropboxusercontent.com/u/30868783/ShareX/2016/05/2016-05-13_01-11-16.mp4
L281[01:12:00] ⇦ Quits: Poppy (~Poppy@chello085216146055.chello.sk) (Ping timeout: 201 seconds)
L282[01:12:02] <williewillus> are you trying to make them look better or not lag like shit or both? :D
L283[01:12:15] <Zaggy1024> I'm not messing with the visuals
L284[01:12:33] <Zaggy1024> just making them be stored in VBOs or display lists so they don't re-render every frame
L285[01:13:07] <williewillus> i wonder how feasible it would be to steal PE's cloud shaders :P
L286[01:13:25] <fry> those won't work for all PC users
L287[01:13:27] <Zaggy1024> hm? I haven't seen them
L288[01:13:50] <Zaggy1024> fry, that proof enough for you? :D
L289[01:14:33] <Zaggy1024> "GL11.glHint(GL_FOG_HINT, GL_NICEST);" doesn't change it :[
L290[01:14:51] <Zaggy1024> that seems to be the thing people are hinting at making it fragment based
L291[01:16:08] <williewillus> what makes the PE cloud shader not work for everyone, openGL 2? :P
L292[01:16:17] <fry> yes
L293[01:16:44] <williewillus> .-.
L294[01:18:22] ⇦ Quits: VikeStep (~VikeStep|@203.15.33.153) (Read error: Connection reset by peer)
L295[01:19:48] *** kroeser is now known as kroeser|away
L296[01:20:37] <Zaggy1024> weird, "GL11.glFogi(GL15.GL_FOG_COORD_SRC, GL14.GL_FRAGMENT_DEPTH);" appears to be what vanilla minecraft uses
L297[01:24:18] ⇨ Joins: BlackSpark (~BlackSpar@cpe-108-184-165-26.socal.res.rr.com)
L298[01:26:35] *** williewillus is now known as willieaway
L299[01:28:49] <fry> "Further, f need not be computed at each fragment, but may be computed at each vertex and interpolated as other data are."
L300[01:28:58] <fry> well there you go
L301[01:29:23] <fry> make more quads :P
L302[01:31:18] <Zaggy1024> i did
L303[01:31:29] <Zaggy1024> like I said, it would be *nice* not to have to
L304[01:31:32] <Zaggy1024> it's not a requirement
L305[01:32:04] <fry> it would be *nice* if windows didn't fuck opengl over, but it did, so we're stuck with 1.5
L306[01:33:44] <Zaggy1024> lol
L307[01:34:16] <Zaggy1024> welp, secondary color works, thanks for the suggestion
L308[01:34:21] <Zaggy1024> I wasn't aware of its existence :P
L309[01:37:19] ⇦ Quits: killjoy (~killjoy@71.65.255.183) (Read error: Connection reset by peer)
L310[01:37:30] <fry> there's a shit ton of things in GL1.5 :P
L311[01:37:54] <tterrag|away> how does windows affect this?
L312[01:38:03] ⇨ Joins: killjoy (~killjoy@71.65.255.183)
L313[01:38:10] <tterrag|away> weren't tessellated quads pretty common in legacy to get around the lack of fragment lighting?
L314[01:38:58] <Zaggy1024> that was GL14 though :P
L315[01:39:22] <tterrag|away> 2.x is still legacy
L316[01:42:51] <Zaggy1024> it's a bit annoying that EnumUsage.preDraw takes a ByteBuffer argument
L317[01:43:10] <Zaggy1024> is there a technical reason why that's the case?
L318[01:43:49] <fry> tterrag|away: I'm talking about the lack og GL2.0
L319[01:43:58] <tterrag|away> LWJGL uses ByteBuffer quite a lot
L320[01:44:01] <tterrag|away> it's not surprising
L321[01:44:04] *** tterrag|away is now known as tterrag
L322[01:44:09] <tterrag> fry: in MC you mean?
L323[01:44:19] <fry> on old intel cards on windows
L324[01:44:27] <Zaggy1024> it doesn't seem to be necessary to set up the pointers
L325[01:44:29] <tterrag> ah
L326[01:44:33] <Zaggy1024> you can just pass straight longs
L327[01:44:38] ⇨ Joins: TobyO (~TobyO@host86-131-91-248.range86-131.btcentralplus.com)
L328[01:44:42] <TobyO> hey
L329[01:44:53] ⇦ Quits: Brokkoli (~Brokkoli@p5B23C284.dip0.t-ipconnect.de) (Quit: Die Sprache der Politik ist daf�r gemacht, dass L�gen wahr klingen und das T�ten angemessen wirkt. (George Orwell))
L330[01:45:06] <Zaggy1024> would be nice if VertexFormat had a function for predraw too
L331[01:45:41] <fry> hmm?
L332[01:46:13] <Zaggy1024> a function that calls preDraw for all its VertexFormatElements?
L333[01:46:47] <Zaggy1024> that combined with not taking a ByteBuffer argument would make it very convenient
L334[01:46:52] <fry> tis a simple loop :P
L335[01:47:19] <fry> be thankful you even have preDraw, vanilla hardcoded it :P
L336[01:47:26] <Zaggy1024> you can't use a smart loop tho :P
L337[01:47:32] <Zaggy1024> it takes an index argument
L338[01:48:12] <TobyO> by fast loop do you mean fast enumeration?
L339[01:48:19] <Zaggy1024> fast loop?
L340[01:48:23] <Zaggy1024> I said smart loop
L341[01:48:36] <Zaggy1024> taking an iterable and looping over its elements
L342[01:49:20] <Zaggy1024> it kind of worries me that the bytebuffer's position gets set by preDraw so I'm inclined to avoid it
L343[01:49:22] <TobyO> ah okay smart loop, yes you do mean fast enumeration
L344[01:49:55] <Zaggy1024> I haven't heard that term before
L345[01:50:10] <TobyO> It's what it's called. I'be not heard smart loop before :P
L346[01:50:30] * fry only heard "foreach"
L347[01:50:42] <Zaggy1024> I feel like I mostly see people talking about smart for loops
L348[01:50:51] * Cypher121 has only heard "foreach" and "iterating" too
L349[01:50:57] <Zaggy1024> never seen foreach in the context of Java IIRC
L350[01:51:26] <Zaggy1024> I'd genuinely like to know, fry, is there a reason preDraw has to take a ByteBuffer arg?
L351[01:51:31] <capitalthree> java foreach is: for (Member m : collection) { ... }
L352[01:51:40] <capitalthree> it's quite nice
L353[01:52:09] <TobyO> yeah, that's widely know as fast enumeration across languages
L354[01:52:19] <capitalthree> ah
L355[01:52:21] <Zaggy1024> actually I think I've seen "enhanced for loop" more than "smart for loop"
L356[01:52:30] <capitalthree> so is it only foreach if it's a higher order function?
L357[01:52:37] <capitalthree> Zaggy1024: I don't like calling it a loop
L358[01:52:49] <capitalthree> even though it's implemented as one :P
L359[01:52:55] <Zaggy1024> actually a google search of fast enumeration didn't come up with much :P
L360[01:52:55] <capitalthree> conceptually it's... for each
L361[01:53:06] <Zaggy1024> yeah, I suppose
L362[01:53:14] <Zaggy1024> it is still a loop though, technically
L363[01:53:21] <killjoy> in a loop, you can interact with local variables
L364[01:53:25] <capitalthree> in kotlin or scala it's collection.foreach(function)
L365[01:53:37] <Cypher121> in java too
L366[01:53:37] <TobyO> fast enumeration comes up with all the goods on google. Smart loop comes up with lots of audio fx for me
L367[01:53:40] <Cypher121> finally
L368[01:53:42] <fry> Zaggy1024: buffer.position(format.getOffset(element));
L369[01:53:50] <Zaggy1024> yeah I know
L370[01:53:50] <capitalthree> killjoy: well a local variable declared *in* the loop won't persist trips through the loop
L371[01:53:56] <Zaggy1024> but you can pass the offset as a long directly
L372[01:54:04] <killjoy> neither will it in forEach
L373[01:54:07] <capitalthree> so foreach and "fast enumeration" do the same thing scope-wise
L374[01:54:13] <capitalthree> ok maybe we are saying the same thing
L375[01:54:19] <capitalthree> sorry, was just making sure :)
L376[01:54:19] <TobyO> they are the same thing
L377[01:54:24] ⇦ Quits: thecodewarrior (~thecodewa@75-128-36-21.static.mtpk.ca.charter.com) (Read error: Connection reset by peer)
L378[01:54:33] <fry> only for vbos
L379[01:54:36] <killjoy> can you write it as for (a b : c)
L380[01:54:46] <Zaggy1024> really?
L381[01:54:46] <TobyO> foreach is javas implementation of fast enumeration
L382[01:55:04] <Zaggy1024> it was working when I had VBOs off...
L383[01:55:09] <killjoy> well, you can't forEach with an Enumeration
L384[01:55:13] <killjoy> only with Iterable
L385[01:55:19] ⇨ Joins: brandon3055 (~Brandon@122.129.142.1)
L386[01:55:23] ⇨ Joins: thecodewarrior (~thecodewa@75-128-36-21.static.mtpk.ca.charter.com)
L387[01:55:28] <Zaggy1024> wait
L388[01:55:29] <Zaggy1024> nvm
L389[01:55:37] <TobyO> this isn't related to enums by the way
L390[01:55:49] <TobyO> enumeration just means going through a list
L391[01:55:51] <Zaggy1024> I forgot hte display list usage didn't use the pointer calls
L392[01:55:59] <killjoy> Eh, you can always Enum.values()
L393[01:56:29] <killjoy> or Enum.class.getEnumConstants()
L394[01:56:52] <capitalthree> and you can do for (Enum e : Enum.values()) ...
L395[01:56:55] * capitalthree trollface
L396[01:56:56] <Zaggy1024> what's the performance of reflecting that anyway?
L397[01:56:59] <TobyO> in objective c it's for (Type object in objects) {
L398[01:57:03] ⇨ Joins: Jezza (~Jezza@bps-gw.hrz.tu-chemnitz.de)
L399[01:57:12] <capitalthree> I heard you like enumeration so I enumerated your Enum
L400[01:57:34] <Zaggy1024> well it is enumerable, what else you gonna do?
L401[01:58:00] <TobyO> I think all, if not most array types have a fast enumeration implementation
L402[01:58:23] <Zaggy1024> crap.
L403[01:58:24] <capitalthree> in java, anything implementing Collection will work
L404[01:58:36] <capitalthree> or actually Iterable
L405[01:59:38] <Zaggy1024> I just realized that secondary color seems not to be working after all.
L406[01:59:39] <Zaggy1024> >.<
L407[01:59:55] <MCPBot_Reborn> [TEST CSV] Pushing snapshot_20160513 mappings to Forge Maven.
L408[01:59:59] <MCPBot_Reborn> [TEST CSV] Maven upload successful for mcp_snapshot-20160513-1.9.zip (mappings = "snapshot_20160513" in build.gradle).
L409[02:00:09] <MCPBot_Reborn> Semi-live (every 10 min), Snapshot (daily ~3:00 EST), and Stable (committed) MCPBot mapping exports can be found here: http://export.mcpbot.bspk.rs/
L410[02:01:06] <Zaggy1024> yeah, it's not working
L411[02:01:14] <Zaggy1024> that's fun
L412[02:01:31] <TobyO> when I'm doing detectAndSendChanges in a container, is it enough to call update progressbar for the relevant fields?
L413[02:01:37] <Zaggy1024> I jumped the gun deleting all the shader stuff, but luckily I could undo back to it and copy it out
L414[02:01:38] <TobyO> Or do I need some custom packet?
L415[02:01:57] <Zaggy1024> custom packets are superior anyway because you're not sending a bunch of separate packets :P
L416[02:02:23] <Zaggy1024> but yeah, you can use that if you're storing the right data types
L417[02:02:50] <Zaggy1024> fry, any idea why secondary color wouldn't be working? does the color in the vertex buffer override it?
L418[02:03:54] <capitalthree> I hear it's best if you send your own custom udp packets
L419[02:04:22] <Zaggy1024> haha if you say so
L420[02:04:25] <capitalthree> (I'm kidding, don't)
L421[02:04:43] ⇨ Joins: KGS (~KGS@h-155-4-135-249.na.cust.bahnhof.se)
L422[02:05:31] <fry> Zaggy1024: did you enable color sum?
L423[02:05:37] <Zaggy1024> uh
L424[02:05:44] ⇦ Quits: otho (~otho@191.189.110.191) (Quit: Leaving)
L425[02:06:10] <Zaggy1024> nope
L426[02:06:10] <fry> read up on how to use the secondary color
L427[02:06:12] <Zaggy1024> now it works lol
L428[02:06:31] <fry> >.>
L429[02:06:32] <Zaggy1024> sorry, I'd assumed it was just always on
L430[02:09:23] *** tterrag is now known as tterrag|ZZZzzz
L431[02:10:45] *** kroeser|away is now known as kroeser
L432[02:11:24] ⇨ Joins: gigaherz|work (~gigaherz@84.89.63.25)
L433[02:12:25] ⇦ Quits: gigaherz|work (~gigaherz@84.89.63.25) (Remote host closed the connection)
L434[02:12:45] ⇨ Joins: gigaherz|work (~gigaherz@84.89.63.25)
L435[02:12:48] <Zaggy1024> is it treated as a multiplier? or is there a way to change the mode? I can't find anything online about that
L436[02:13:29] <fry> yes, multiplier
L437[02:13:56] ⇨ Joins: VikeStep (~VikeStep@101.184.243.180)
L438[02:13:57] <gigaherz|work> morning people
L439[02:14:39] ⇨ Joins: Benimatic (~Benimatic@cblmdm72-241-108-184.buckeyecom.net)
L440[02:14:53] ⇦ Quits: Benimatic (~Benimatic@cblmdm72-241-108-184.buckeyecom.net) (Read error: Connection reset by peer)
L441[02:14:59] <Cypher121> o/
L442[02:16:10] <Zaggy1024> fry, it doesn't seem to be behaving like a multiplier, here is glSecondaryColor3f(0, 0, 0) http://i.imgur.com/d4rxe3m.png
L443[02:16:15] <Zaggy1024> it seems to be additive
L444[02:16:43] <Zaggy1024> if I do 1, 1, 1 it becomes fullbright
L445[02:17:01] <fry> hmm, yes, seems to be sum
L446[02:17:09] <gigaherz|work> that probably depends on the blend function?
L447[02:17:37] <gigaherz|work> ah no
L448[02:17:40] <gigaherz|work> GL_COLOR_SUM
L449[02:17:43] <gigaherz|work> or GL_SEPARATE_SPECULAR
L450[02:17:45] ⇨ Joins: Emris (~Miranda@195.234.58.25)
L451[02:17:59] <fry> yup, won't work then
L452[02:18:01] <gigaherz|work> there's no way to make it multiply
L453[02:18:16] <Zaggy1024> gah
L454[02:18:18] <fry> make a texture :P
L455[02:18:28] <Zaggy1024> it already has a texture
L456[02:18:41] <fry> hint: there can be multiple textures
L457[02:18:44] <gigaherz|work> this really is what shaders were made for
L458[02:18:45] <gigaherz|work> ;P
L459[02:18:56] * fry smacks gigaherz|work
L460[02:18:59] <fry> read the backlog
L461[02:19:08] <gigaherz|work> I have no backlog
L462[02:19:18] <gigaherz|work> well, I'd have to remote into my home machine
L463[02:19:28] <Zaggy1024> isn't generating a texture each frame going to be a little costly?
L464[02:19:37] <fry> of course
L465[02:19:42] <fry> don't generate it
L466[02:19:49] <Zaggy1024> ^.~
L467[02:19:50] <fry> just upload the data
L468[02:19:58] <Zaggy1024> hm
L469[02:20:09] *** kroeser is now known as kroeser|away
L470[02:20:13] <gigaherz|work> uploading is slow, but fast enough that it can be done
L471[02:20:14] <Zaggy1024> is there something I can reference for that?
L472[02:20:31] <fry> lightmap, if you're brave
L473[02:20:50] <Zaggy1024> lightmap is uploaded?
L474[02:20:59] <Zaggy1024> I thought they just had a...map
L475[02:21:07] <Zaggy1024> :P
L476[02:21:10] <fry> and how would that work?
L477[02:21:15] <gigaherz|work> glTexImage*?
L478[02:21:18] <fry> there are no "maps" in GL
L479[02:21:23] <Zaggy1024> an image
L480[02:21:26] <Zaggy1024> greyscale
L481[02:21:34] <Zaggy1024> 0-100% brightness
L482[02:21:39] <fry> and what are "images" in GL?
L483[02:21:54] <Zaggy1024> a texture, whatever you want to call it
L484[02:22:00] <fry> exactly :P
L485[02:22:25] <Zaggy1024> mmh
L486[02:22:45] <Zaggy1024> so the lightmap isn't placed in an image before it's passed to GL, that's what you're saying. :P
L487[02:23:14] <Zaggy1024> well, screw it, point me to the lightmap code
L488[02:23:53] <Zaggy1024> why is it so important to support <1.5 with this though?
L489[02:24:24] <Zaggy1024> I don't have any statistics, but I would assume huge percentage have 1.5 at least
L490[02:26:07] ⇨ Joins: Elec332 (~Elec332@ip5456d4a5.speed.planet.nl)
L491[02:26:45] <Zaggy1024> I guess I could keep the shader code and add in uploaded textures for people with crappy computers
L492[02:28:58] <Zaggy1024> is there any usage data for Minecraft that shows GL versions? I can't find anything with a quick Google search
L493[02:29:16] <killjoy> Tried the snooper?
L494[02:29:16] ⇦ Quits: codahq (~codahq@c-174-52-130-121.hsd1.ut.comcast.net) (Ping timeout: 384 seconds)
L495[02:30:00] ⇦ Quits: minot (~minot@pool-108-35-29-135.nwrknj.fios.verizon.net) (Read error: Connection reset by peer)
L496[02:32:15] <Zaggy1024> couldn't find it before, but I finally found a good page
L497[02:32:48] ⇦ Quits: Gil (uid147942@2604:8300:100:200b:6667:5:2:41e6) (Quit: Connection closed for inactivity)
L498[02:32:49] <Zaggy1024> 1.4 at 6%
L499[02:32:53] <Zaggy1024> hm
L500[02:34:45] <Zaggy1024> haha it seems that the shaders would be able to benefit 92.4% of users, if I'm correct
L501[02:35:04] <killjoy> Just have a check for it then
L502[02:35:11] <Zaggy1024> yeh
L503[02:35:15] <capitalthree> what's the bot command to get the latest forge version to use?
L504[02:35:21] <killjoy> How do you check the ogl version?
L505[02:35:27] <masa> how many people play modded with those OpenGL 1.0 toasters anyway?
L506[02:36:05] <killjoy> if you attached a HD monitor to a toaster, how would you describe the images?
L507[02:36:09] <killjoy> crispy
L508[02:36:30] <Zaggy1024> (I was looking at anything over 1.5)
L509[02:36:41] <Zaggy1024> nice killjoy :P
L510[02:37:03] <Cypher121> doesn't seem like it was updated in a while
L511[02:37:03] ⇦ Quits: thecodewarrior (~thecodewa@75-128-36-21.static.mtpk.ca.charter.com) (Remote host closed the connection)
L512[02:38:25] <Cypher121> this one, right? https://lab.xpaw.me/snoop.html
L513[02:39:21] <Zaggy1024> yup
L514[02:39:42] <masa> server software: mystcraft, wut :D
L515[02:40:21] <masa> 1/3 of servers are/were in offline mode? O_o
L516[02:40:42] <Cypher121> you're surprized?
L517[02:41:29] <Cypher121> but it seems pretty damn old
L518[02:41:42] <Cypher121> absolutely no clients on win8
L519[02:41:56] <Zaggy1024> so it's likely that even more are >1.4 GL by now :P
L520[02:42:04] <Cypher121> yup
L521[02:43:25] <Cypher121> I'll take a shot in the dark and say 40/79 people who were on win95 moved on to something newer
L522[02:45:29] <TobyO> Is there a way to call an eqivalent of updateProgressBar but with a float?
L523[02:46:20] <TobyO> sorry, I should have said sendProgressBarUpdate
L524[02:48:39] <Cypher121> Float.floatToIntBits() + Float.intBitsToFloat() ◴ _◶
L525[02:49:20] <TobyO> yeah
L526[02:49:22] <TobyO> thanks :)
L527[02:52:21] ⇦ Quits: barteks2x (barteks2x@it.is.your.corrupt.we.claim.panicbnc.org) (Ping timeout: 190 seconds)
L528[02:53:01] ⇦ Quits: Hobbyboy (Hobbyboy@hobbyboy.co.uk) (Ping timeout: 198 seconds)
L529[02:54:34] ⇨ Joins: ZaggyMobile (~androirc@174-20-95-124.mpls.qwest.net)
L530[02:55:55] ⇦ Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 384 seconds)
L531[02:56:02] <fry> Zaggy1024: forge is java6 only, and GL1.5 only too :P
L532[02:58:52] <Saturn812> java6 ftw
L533[03:01:13] ⇨ Joins: Hobbyboy (Hobbyboy@hobbyboy.co.uk)
L534[03:07:38] <ZaggyMobile> The shader should work with GL 1.5
L535[03:08:53] ⇦ Quits: ZaggyMobile (~androirc@174-20-95-124.mpls.qwest.net) (Read error: Connection reset by peer)
L536[03:10:28] ⇨ Joins: ZaggyMobile (~androirc@174-20-95-124.mpls.qwest.net)
L537[03:14:00] ⇨ Joins: Ipsis (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk)
L538[03:15:45] <ZaggyMobile> Problem is, I don't yet know how to emulate the fog in my shader
L539[03:20:51] ⇦ Quits: bilde2910 (bilde2910@51.174.170.178) (Ping timeout: 384 seconds)
L540[03:21:25] ⇨ Joins: bilde2910 (bilde2910@51.174.170.178)
L541[03:24:27] ⇨ Joins: Naiten (~Naiten@77.35.62.193)
L542[03:24:30] ⇨ Joins: lclc98 (~lclc98@208.81.180.144)
L543[03:29:34] ⇨ Joins: Unh0ly_Tigg (~Robert@c-76-115-95-185.hsd1.or.comcast.net)
L544[03:33:13] ⇦ Quits: TobyO (~TobyO@host86-131-91-248.range86-131.btcentralplus.com) (Ping timeout: 201 seconds)
L545[03:50:48] ⇨ Joins: gigaherz_ (~gigaherz@84.89.63.25)
L546[03:56:32] ⇦ Quits: gigaherz|work (~gigaherz@84.89.63.25) (Ping timeout: 384 seconds)
L547[03:59:26] <Ivorius> Hmm
L548[03:59:35] <Ivorius> Now that reobf / dev jars aren't a thing anymore in Gradle 2.0
L549[03:59:42] <Ivorius> What do I depend on in my build.gradle?
L550[04:00:36] ⇦ Quits: Drullkus (~Dru11kus@c-67-180-188-243.hsd1.ca.comcast.net) (Remote host closed the connection)
L551[04:01:42] <Ivorius> If I use the universal it crashes on run
L552[04:01:56] <Ivorius> If I use the sources it doesn't seem to find the classes
L553[04:03:57] <Ivorius> I was under the impression that Forge/FG was supposed to remap the mods I'm depending on or something
L554[04:04:37] ⇦ Quits: infinitefoxes_ (~infinitef@108.19.51.185) (Read error: Connection reset by peer)
L555[04:05:17] <Cypher121> regular jars
L556[04:05:57] <Cypher121> probably what you call universal
L557[04:06:03] <Ivorius> Then it crashes with 'field_xxx' not found
L558[04:07:12] <Ivorius> Caused by: java.lang.NoSuchFieldError: field_150901_e
L559[04:08:02] <Ivorius> Which definitely exists but is currently mapped to an mcp mapping
L560[04:08:33] ⇦ Quits: Upth (~ogmar@108-85-88-44.lightspeed.frokca.sbcglobal.net) (Quit: this quit message is 100% guaranteed not to contain obscenity.)
L561[04:23:42] ⇨ Joins: Upth (~ogmar@108-85-88-44.lightspeed.frokca.sbcglobal.net)
L562[04:29:20] ⇦ Quits: ZaggyMobile (~androirc@174-20-95-124.mpls.qwest.net) (Read error: Connection reset by peer)
L563[04:30:03] ⇨ Joins: Larry1123 (Larry1123@irc.larry1123.net)
L564[04:32:21] ⇨ Joins: alex_6611 (~alex_6611@p5DC1647E.dip0.t-ipconnect.de)
L565[04:45:50] ⇦ Quits: killjoy (~killjoy@71.65.255.183) (Ping timeout: 384 seconds)
L566[04:46:44] *** mDiyo is now known as mDiyo|zzz
L567[04:50:55] ⇦ Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 201 seconds)
L568[04:54:35] <Ivorius> Oh I see, I need to use deobfCompile
L569[05:00:27] ⇦ Quits: Naiten (~Naiten@77.35.62.193) (Read error: Connection reset by peer)
L570[05:01:00] ⇨ Joins: Drullkus (~Dru11kus@2601:646:8301:8947:c0a9:a6fe:fae1:8761)
L571[05:02:37] ⇦ Quits: KGS (~KGS@h-155-4-135-249.na.cust.bahnhof.se) (Ping timeout: 198 seconds)
L572[05:06:13] ⇦ Quits: Drullkus (~Dru11kus@2601:646:8301:8947:c0a9:a6fe:fae1:8761) (Ping timeout: 198 seconds)
L573[05:11:40] ⇨ Joins: Naiten (Naiten@77.34.26.211)
L574[05:15:43] <Tazz> https://www.youtube.com/watch?v=_kIo0rmHeGs :D
L575[05:16:08] <Tazz> still need to figure out how to rotate that text doe :/
L576[05:24:19] *** gigaherz_ is now known as gigaherz|work
L577[05:27:24] ⇨ Joins: Horfius (~quassel@cpe-66-67-5-87.rochester.res.rr.com)
L578[05:30:17] ⇨ Joins: Larry1123 (Larry1123@irc.larry1123.net)
L579[05:32:08] ⇦ Quits: Naiten (Naiten@77.34.26.211) (Read error: Connection reset by peer)
L580[05:48:06] ⇨ Joins: kimfy (~kimfy___@236.5.200.37.customer.cdi.no)
L581[05:53:49] ⇨ Joins: ProcyonRo (~ProcyonRo@5-13-160-15.residential.rdsnet.ro)
L582[06:17:43] ⇨ Joins: Cast0077 (~Work@24-181-178-44.dhcp.nwtn.ct.charter.com)
L583[06:19:57] ⇨ Joins: vox (~voxmods@pool-71-178-241-173.washdc.fios.verizon.net)
L584[06:22:24] ⇨ Joins: sokratis12GR (kiwiirc@62.221.158.165)
L585[06:27:44] ⇦ Quits: vox (~voxmods@pool-71-178-241-173.washdc.fios.verizon.net) (Ping timeout: 201 seconds)
L586[06:32:44] ⇦ Quits: willies952002 (~willies95@irc.domnian.com) (Read error: Connection timed out)
L587[06:43:00] <sham1> o\
L588[06:43:25] <gigaherz|work> o_
L589[06:44:51] <sham1> >o_/
L590[06:52:12] ⇨ Joins: willies952002 (~willies95@irc.domnian.com)
L591[06:52:23] <sham1> I feel conflicted
L592[06:52:36] <sham1> I have started to think about learning python
L593[06:52:45] ⇨ Joins: Shalmezad (~Shalmezad@66-188-31-206.static.bycy.mi.charter.com)
L594[06:53:01] <gigaherz|work> why?
L595[06:53:11] <gigaherz|work> learning isn't the issue
L596[06:53:33] <gigaherz|work> now if you learn, and then it turns out you DO like it
L597[06:53:33] <sham1> Because to me dynamic typing just feels wrong
L598[06:53:37] <gigaherz|work> that'd be a reason to feel conflicted
L599[06:53:38] <gigaherz|work> ;P
L600[07:01:11] ⇨ Joins: Nitrodev (~Nitrodev@87-92-75-66.bb.dnainternet.fi)
L601[07:03:30] ⇦ Quits: gigaherz|work (~gigaherz@84.89.63.25) (Ping timeout: 201 seconds)
L602[07:05:30] ⇨ Joins: Fye (~Fye@dynamic-adsl-84-220-169-44.clienti.tiscali.it)
L603[07:06:40] <Saturn812> dynamic typing kinda sucks but does have it's advantages and python is awesome anyway
L604[07:08:17] <Shalmezad> ^ditto, but with ruby instead of python. If it looks like a duck and cooks like a duck, I'll make duck soup out of it instead of asking if it's a duck.
L605[07:09:44] <sham1> I can understand why dynamic thping is good. I just have been so absorbed into haskell's wonderful typesystem
L606[07:09:59] <sham1> And Javascript has scarred me for life
L607[07:10:06] <Saturn812> js is scary indeed
L608[07:10:41] <sokratis12GR> Ruby is better than Javascript
L609[07:11:35] <sham1> Everything is better than javascript
L610[07:11:38] <Shalmezad> JS is.... let's go with 'unique' since I'm trying to be nice.
L611[07:11:42] <sham1> Yes, even brainfuck
L612[07:12:44] <sokratis12GR> the bad thing is that html supports only js...
L613[07:12:59] <sham1> like for instance I can see why 2 == "2" is useful
L614[07:13:28] <sham1> but why do I need to add a third equals to tell it to not type coerse
L615[07:16:11] <Shalmezad> Of course, they say the same thing about us: "Why do you need 2.equal? "2" when I can just do 2 === "2"" ?
L616[07:22:10] <Unh0ly_Tigg> I wish java had a === operator, that just compiled to calling equals...
L617[07:23:27] <Shalmezad> Well, if you were in C/C++/ObjC land, you might be able to make a macro. ;)
L618[07:24:19] ⇨ Joins: vox (webchat@151.188.105.156)
L619[07:25:14] ⇦ Quits: vox (webchat@151.188.105.156) (Client Quit)
L620[07:25:38] ⇦ Quits: Ipsis (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk) (Ping timeout: 384 seconds)
L621[07:26:12] ⇦ Quits: Emris (~Miranda@195.234.58.25) (Ping timeout: 384 seconds)
L622[07:30:28] <sham1> Java preprocessors exist
L623[07:31:29] <Shalmezad> And if you're using make, you can always sneak in an intermediate pre-compiling `sed`.
L624[07:32:03] <sham1> I think you can also use gradle for that
L625[07:35:37] ⇨ Joins: vox (Mibbit@151.188.105.156)
L626[07:35:40] <Shalmezad> And push comes to shove, some editors have some sort of templating system that can be abused: http://blog.jetbrains.com/webide/2012/10/high-speed-coding-with-custom-live-templates/
L627[07:37:03] <sham1> :%s/ === /.equals(
L628[07:37:09] <sham1> And I forgot the last /
L629[07:37:15] <fry> now add the other )
L630[07:37:43] <ghz|afk> you can't do that without special support
L631[07:37:48] <ghz|afk> some regex engines support "counting"
L632[07:37:57] <ghz|afk> so you can say that it needs as many closing )s as it has seen opening
L633[07:38:21] <sham1> Or just make a macro for that in VIM
L634[07:38:27] ⇦ Quits: vox (Mibbit@151.188.105.156) (Client Quit)
L635[07:38:36] <sham1> That activated every time you save a java file
L636[07:38:43] <ghz|afk> so you type "===" and it replaces the === with .equals(), leaving the cursor in between the ()s?
L637[07:38:51] <sham1> Ye
L638[07:39:00] <ghz|afk> that'd be an interesting feature for an editor
L639[07:39:09] <ghz|afk> which wouldn're require a java-to-java translator
L640[07:39:14] <ghz|afk> wouldn't*
L641[07:41:05] <Cazzar> tabstops :P
L642[07:42:38] ⇦ Quits: Hunterz (~hunterz@2001:af0:8000:1c01:6af7:28ff:fe37:5d6a) (Quit: Leaving.)
L643[07:44:42] *** AEnterpriseAFK is now known as AEnterprise
L644[07:44:54] *** amadornes[OFF] is now known as amadornes
L645[07:47:56] ⇦ Quits: Turkey (~Turkey@cpe-24-95-73-99.columbus.res.rr.com) (Read error: Connection reset by peer)
L646[07:48:02] ⇨ Joins: Temportalist (uid37180@2604:8300:100:200b:6667:3:0:913c)
L647[07:50:23] ⇦ Quits: npe|office (~NPExcepti@bps-gw.hrz.tu-chemnitz.de) (Remote host closed the connection)
L648[07:54:39] ⇨ Joins: blood|wrk (~owned@STATIC228.iona.edu)
L649[08:02:21] ⇦ Quits: turmfalke (~turmfalke@p20030056CF06BA16D13C342CFB7DA99A.dip0.t-ipconnect.de) (Ping timeout: 190 seconds)
L650[08:02:32] ⇦ Quits: Jezza (~Jezza@bps-gw.hrz.tu-chemnitz.de) (Remote host closed the connection)
L651[08:05:01] ⇨ Joins: Drullkus (~Dru11kus@2601:646:8301:8947:c0a9:a6fe:fae1:8761)
L652[08:05:38] ⇨ Joins: vox (~ubuntu@147.58.148.146.bc.googleusercontent.com)
L653[08:05:47] ⇨ Joins: Girafi (Girafi@0x555178eb.adsl.cybercity.dk)
L654[08:06:15] <vox> big_Xplo|AFK: You do realize that your mod literally does what mine does, and that's it?
L655[08:08:37] ⇦ Quits: Drullkus (~Dru11kus@2601:646:8301:8947:c0a9:a6fe:fae1:8761) (Ping timeout: 198 seconds)
L656[08:08:42] <vox> And that mine existed for over a week before yours :P
L657[08:09:12] <vox> Not that I'm accusing you of copying it or anything, but I'd like to work this out
L658[08:09:39] <sham1> Nothing is original
L659[08:09:46] <sham1> at thispoint
L660[08:09:53] <sham1> You just have to do it better than anyone else
L661[08:12:06] ⇨ Joins: barteks2x (barteks2x@it.is.your.corrupt.we.claim.panicbnc.org)
L662[08:13:20] <vox> sham1: I mean, it's literally identical pretty much
L663[08:13:47] <vox> It is almost identical to the end user
L664[08:14:18] <vox> and the code is similar, which I guess is not really an issue since there's only one way to do it
L665[08:15:53] ⇨ Joins: IceDragon (~ThatGuy@69.160.113.64)
L666[08:16:05] ⇨ Joins: turmfalke (~turmfalke@p20030056CF06BA51C5B5D89D1D5D49E9.dip0.t-ipconnect.de)
L667[08:24:25] *** AtomicBlom is now known as AtomicBlom|ZZzzzz
L668[08:34:20] ⇨ Joins: KnightMiner (~KnightMin@adsl-68-255-6-227.dsl.emhril.sbcglobal.net)
L669[08:36:15] *** PaleOff is now known as PaleoCrafter
L670[08:42:47] ⇦ Quits: BlackSpark (~BlackSpar@cpe-108-184-165-26.socal.res.rr.com) (Ping timeout: 201 seconds)
L671[08:45:24] <PaleoCrafter> phew, finally I have time to work on my mod again
L672[08:48:06] <kashike> which? :)
L673[08:48:15] <PaleoCrafter> https://github.com/PaleoCrafter/VanillaImmersion
L674[08:50:09] <PaleoCrafter> meh, substitutions are still broken
L675[08:52:25] ⇦ Quits: Waterpicker (~Waterpick@2602:306:35ba:ca40:add7:d376:c957:cc78) (Ping timeout: 198 seconds)
L676[08:53:00] ⇨ Joins: Jezza (~Jezza@92.206.5.6)
L677[08:53:02] ⇦ Quits: KnightMiner (~KnightMin@adsl-68-255-6-227.dsl.emhril.sbcglobal.net) (Quit: Leaving)
L678[08:57:05] ⇨ Joins: Stiforr (~Stiforr@ip72-216-8-185.pn.at.cox.net)
L679[09:03:26] ⇦ Quits: VikeStep (~VikeStep@101.184.243.180) (Quit: Leaving)
L680[09:05:47] ⇨ Joins: Drullkus (~Dru11kus@c-67-180-188-243.hsd1.ca.comcast.net)
L681[09:09:13] ⇦ Quits: Drullkus (~Dru11kus@c-67-180-188-243.hsd1.ca.comcast.net) (Ping timeout: 198 seconds)
L682[09:12:50] ⇨ Joins: Elucent (~elucent__@173-167-18-97-michigan.hfc.comcastbusiness.net)
L683[09:20:10] ⇨ Joins: Ipsis (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk)
L684[09:26:20] *** V is now known as Vigaro
L685[09:33:03] ⇦ Quits: Elucent (~elucent__@173-167-18-97-michigan.hfc.comcastbusiness.net) (Quit: Leaving)
L686[09:35:24] ⇦ Quits: Ipsis (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk) (Ping timeout: 384 seconds)
L687[09:36:44] ⇨ Joins: Ipsis (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk)
L688[09:39:03] *** kroeser|away is now known as kroeser
L689[09:39:20] ⇦ Quits: Shalmezad (~Shalmezad@66-188-31-206.static.bycy.mi.charter.com) (Quit: sysadmin stuff, will be back later)
L690[09:40:25] ⇦ Quits: cpw (~cpw@24-212-222-167.cable.teksavvy.com) (Quit: ZNC - http://znc.in)
L691[09:42:31] ⇨ Joins: theFlaxbeard (~theFlaxbe@184.97.248.96)
L692[09:43:42] <sokratis12GR> Guys how to make an item possible to spawn in dungeons ? do I need LootTables ?
L693[09:44:55] ⇨ Joins: PBlock96 (~PBlock96@204.116.247.72)
L694[09:55:32] *** ghz|afk is now known as gigaherz
L695[09:55:47] <gigaherz> sokratis12GR: yes
L696[09:56:23] <gigaherz> you need to modify the loot tables using the new event introduced a few days ago
L697[09:56:33] *** gigaherz is now known as ghz|afk
L698[09:56:36] <ghz|afk> oops
L699[09:56:40] *** ghz|afk is now known as gigaherz
L700[09:56:46] <gigaherz> https://github.com/MinecraftForge/MinecraftForge/commit/aaa146c10da9869f59c97105411aa767d4712785
L701[10:00:08] ⇨ Joins: infinitefoxes_ (~infinitef@108.19.51.185)
L702[10:00:31] ⇦ Quits: infinitefoxes_ (~infinitef@108.19.51.185) (Client Quit)
L703[10:00:58] ⇨ Joins: infinitefoxes_ (~infinitef@108.19.51.185)
L704[10:01:30] *** willieaway is now known as williewillus
L705[10:02:59] ⇨ Joins: HellFirePvP (webchat@141.84.69.20)
L706[10:04:22] ⇨ Joins: Ordinastie_ (~Ordinasti@87-231-58-94.rev.numericable.fr)
L707[10:06:55] *** sokratis12GR is now known as sokratis|afk
L708[10:11:40] ⇨ Joins: minot (~minot@pool-108-35-29-135.nwrknj.fios.verizon.net)
L709[10:11:41] ⇨ Joins: codahq (~codahq@c-174-52-130-121.hsd1.ut.comcast.net)
L710[10:17:26] <auenf> iirc, dungeon loot in vanilla 1.9 is affected by luck potions
L711[10:17:49] <gigaherz> there was a mythbusting episode by Xisuma, I think?
L712[10:17:55] <gigaherz> I can't remember what the result was
L713[10:18:19] <auenf> loot isnt generated until a user opens the chest
L714[10:18:32] <gigaherz> yep
L715[10:18:37] <auenf> spectators get an error if they try to open an unopened chest
L716[10:18:52] <gigaherz> but all that is unrelated ;P
L717[10:19:10] <auenf> not unrelated to chest loottables iirc
L718[10:19:11] <gigaherz> sokratis|afk simply asked how to add new loot "entries"
L719[10:19:46] ⇦ Quits: RichardG (richardg86@201.17.107.165) (Quit: You saw nothing.)
L720[10:21:19] <auenf> loottables could be confusing if you are unaware of 1.9's loot generation changes
L721[10:21:22] <sokratis|afk> auenf: the loot in dungeons is affected for more/better loot
L722[10:21:30] *** sokratis|afk is now known as sokratis12GR
L723[10:21:49] <sokratis12GR> By the luck enchant*
L724[10:22:06] <auenf> effect not enchant?
L725[10:22:54] <sokratis12GR> effect* xD
L726[10:24:10] ⇨ Joins: RichardG (richardg86@201.17.107.165)
L727[10:24:10] MineBot sets mode: +v on RichardG
L728[10:27:49] ⇦ Quits: Nitrodev (~Nitrodev@87-92-75-66.bb.dnainternet.fi) (Ping timeout: 198 seconds)
L729[10:28:18] ⇨ Joins: Nitrodev (~Nitrodev@87-92-75-66.bb.dnainternet.fi)
L730[10:33:12] ⇦ Quits: theFlaxbeard (~theFlaxbe@184.97.248.96) (Ping timeout: 384 seconds)
L731[10:33:48] ⇨ Joins: theFlaxbeard (~theFlaxbe@184.97.248.96)
L732[10:34:08] <theFlaxbeard> Is there a way to tile a texture in a gui?
L733[10:34:18] <theFlaxbeard> It sounds like drawScaledCustomSizeModalRect should do that
L734[10:34:23] <theFlaxbeard> but I can't get it to tile
L735[10:34:35] <theFlaxbeard> It just stretches the texture
L736[10:35:11] <PaleoCrafter> does the texture stretch across the whole file?
L737[10:36:09] <theFlaxbeard> So right now I'm trying to tile a slice of a texture
L738[10:36:44] *** Darkhax_AFK is now known as Darkhax
L739[10:36:47] *** Jared|Away is now known as Jared
L740[10:36:48] <theFlaxbeard> drawScaledCustomSizeModalRect(left, top, 0, 15, 12, 12, 12, 12, 256.0F, 256.F); is the call I'm using
L741[10:37:00] <theFlaxbeard> That renders the slice of the texture, at the size of the slice
L742[10:37:01] <PaleoCrafter> then you either have to make every slice its own texture file (then you can use OGLs texture wrapping), do the tiling maths yourself or use a shader :P
L743[10:37:17] <theFlaxbeard> If I do the former, will drawScaledCustomSizeModalRect still work?
L744[10:37:20] <theFlaxbeard> to tile
L745[10:37:53] <PaleoCrafter> GL tiles based on the UVs
L746[10:38:18] <PaleoCrafter> if both U and V go from 0 to 2, you'd get your texture two times in both dimensions
L747[10:38:49] <PaleoCrafter> so you'd have to pass different values for uWidth and vHeight to that method if you wanted to go for the first approach
L748[10:39:57] ⇨ Joins: Samario (~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net)
L749[10:40:16] <PaleoCrafter> if your slices always are multiples of the size of the slice in the texture, the second approach (i.e. the tiling maths) would be fairly easy
L750[10:40:28] <gigaherz> if it's flexible, you have two options
L751[10:40:45] <gigaherz> 1. draw a number of whole segments, and then if needed, a partial segment at the end, or
L752[10:40:58] ⇨ Joins: sciguyryan (~sciguyrya@95.211.188.19)
L753[10:41:01] <gigaherz> 2. you expand/contract the texture to fit a whole number of repeats
L754[10:41:10] <gigaherz> (then you wouldn't have a partial segment)
L755[10:41:53] <theFlaxbeard> The tiling math approach would just require me to loop calls to drawing the texture?
L756[10:41:57] <gigaherz> while(remaining > width) { draw(x,width); x+= width; remaining -= width; }
L757[10:42:02] <theFlaxbeard> that's easy enough
L758[10:42:04] <gigaherz> pretty much
L759[10:42:11] <gigaherz> problem is, you have a lot more draw calls
L760[10:42:17] <gigaherz> which can slow down the gpu
L761[10:42:43] <gigaherz> MC doesn't do "sprite batching" for gpu calls, so far as I know
L762[10:42:55] <gigaherz> eh for gui calls*
L763[10:43:09] ⇦ Parts: HellFirePvP (webchat@141.84.69.20) ())
L764[10:43:47] ⇨ Joins: agowa338 (~Thunderbi@p5491842B.dip0.t-ipconnect.de)
L765[10:43:50] <PaleoCrafter> hence I suggested a shader as last option xD
L766[10:44:06] <gigaherz> yeah
L767[10:44:53] <PaleoCrafter> I even happen to have one handy: https://github.com/MineFormers/MFCore/blob/1.8/src/main/scala/de/mineformers/core/util/renderer/GuiUtils.scala#L266
L768[10:51:20] *** kroeser is now known as kroeser|away
L769[10:51:56] ⇨ Joins: HellFirePvP (~HellFireP@141.84.69.81)
L770[10:53:19] ⇨ Joins: Brokkoli (~Brokkoli@p5b23c284.dip0.t-ipconnect.de)
L771[10:55:55] *** kroeser|away is now known as kroeser
L772[10:56:44] ⇨ Joins: SanAndreasP (~SanAndrea@ip-2-201-0-96.web.vodafone.de)
L773[11:03:51] ⇨ Joins: baegmon (~baegmon@CPE-60-225-55-120.nsw.bigpond.net.au)
L774[11:05:53] <sham1> Lazy variables :P
L775[11:07:08] <sham1> That's some lazy stuff right there
L776[11:08:02] ⇨ Joins: Hgrebnednav (~Hgrebnedn@d8d872d48.access.telenet.be)
L777[11:13:34] ⇨ Joins: JamEngulfer (~JamEngulf@host86-128-156-175.range86-128.btcentralplus.com)
L778[11:14:01] ⇦ Quits: SanAndreasP (~SanAndrea@ip-2-201-0-96.web.vodafone.de) (Ping timeout: 190 seconds)
L779[11:14:06] <PaleoCrafter> that's also some very old code, sham1 :P
L780[11:16:34] <PaleoCrafter> if I remember correctly, most of that file is a straight conversion from Java to Scala
L781[11:26:45] <Wuppy> heh you've got to love the humor in Batman Arkham Asylum
L782[11:27:51] <gigaherz> there backported Mending to 1.8, just so I can use it on my playthrough of this modpack ;P
L783[11:28:04] <Wuppy> https://youtu.be/jk1Zc9zG7Zo?t=1m35s
L784[11:28:26] <Wuppy> The Joker in a thong, now that'd be scary
L785[11:29:08] ⇨ Joins: SanAndreasP (~SanAndrea@ip-2-201-3-31.web.vodafone.de)
L786[11:35:20] <Wuppy> oh wow, you can win a Gear VR with Galaxy S6 with the Samsung sponsored VR jam
L787[11:40:36] <capitalthree> nobody replied to my minecraft forum post for my new mod u_u
L788[11:40:39] <capitalthree> http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/2674129-lingering-loot-fine-grained-tweaks-for-item
L789[11:44:21] *** tterrag|ZZZzzz is now known as tterrag
L790[11:45:46] ⇦ Quits: vox (~ubuntu@147.58.148.146.bc.googleusercontent.com) (Remote host closed the connection)
L791[11:47:15] ⇨ Joins: Delenas (~Delenas@2600:1016:b008:5535:2185:6658:c82b:a5cd)
L792[11:49:56] <gigaherz> unascribed: my backport of Mending enchant works with your backlytra ;P
L793[11:50:08] <capitalthree> :D
L794[11:50:33] <unascribed> not sure why it wouldn't, but cool :P
L795[11:50:43] <gigaherz> it works with anything that is damageable
L796[11:50:44] <gigaherz> ;P
L797[11:50:46] <unascribed> yeah
L798[11:50:51] <unascribed> as such, I'd expect it to work fine
L799[11:50:58] <capitalthree> gigaherz: and enchantable? :P
L800[11:51:06] <gigaherz> sure
L801[11:51:26] <gigaherz> I mean if you obtain a book from a chest or villager, and put it together with the item on an anvil ;p
L802[11:51:41] <Delenas> o/
L803[11:51:51] <capitalthree> unascribed: I guess I just have to make a less trivial mod before anyone will care about me :P
L804[11:51:58] <capitalthree> either that or write in java
L805[11:52:05] <unascribed> or both!
L806[11:52:06] <gigaherz> it was far easier than I initially thought it would be ;P
L807[11:52:29] <capitalthree> unascribed: heh :P and my next mod is definitelly gonna be the server backup mod, which is even more un-glamorous
L808[11:52:33] <capitalthree> but totally important
L809[11:53:04] <PaleoCrafter> why's that, cppchriscpp? https://github.com/alexbobp/LingeringLoot/blob/master/build.gradle#L14-L15
L810[11:53:15] <PaleoCrafter> whoops, I meant capitalthree
L811[11:53:28] ⇦ Quits: Wastl2 (~Wastl2@x4e34c02d.dyn.telefonica.de) (Quit: Hi, I'm a quit message virus. Please replace your old line with this one and help me take over the world of IRC.)
L812[11:53:48] <capitalthree> PaleoCrafter: oh lol that's a mistake, good catch
L813[11:54:12] <capitalthree> pretty sure gradle prevents it fron being a problem but thanks, I'll fix it later
L814[11:54:29] <unascribed> BTFU?
L815[11:54:32] <capitalthree> PaleoCrafter: were you asking why to those dep lines? or why I want to make a backup mod?
L816[11:54:38] <capitalthree> or why backup is unglamorous?
L817[11:54:45] <PaleoCrafter> just why you have two lines :P
L818[11:54:52] <capitalthree> unascribed: yeah. though I'm thinking of renaming it. maybe Continuous Backup
L819[11:55:04] <unascribed> UnglamourousBackup
L820[11:55:05] *** Vigaro is now known as V
L821[11:55:15] <capitalthree> unascribed: since the selling point is incremental backups so fast you can run the server out of a ramdisk with 2 minutely backup
L822[11:55:41] <unascribed> hardlinks aren't that magical
L823[11:55:43] <capitalthree> PaleoCrafter: I appreciate that someone is at least looking at my code :)
L824[11:55:56] <unascribed> region files can get somewhat large, and if someone changes so much as one block that's the entire region file copied
L825[11:55:59] <PaleoCrafter> I just wanted to check how you're shading ;)
L826[11:56:02] <capitalthree> unascribed: they're not magical, but no minecraft backup mod currently uses them, that I could find
L827[11:56:12] <capitalthree> unascribed: yeah that's true.
L828[11:56:15] ⇦ Quits: eggy (sid554@2604:8300:100:200b:6667:5:0:22a) (Remote host closed the connection)
L829[11:56:15] ⇦ Quits: ThePsionic (uid130607@2604:8300:100:200b:6667:5:1:fe2f) (Remote host closed the connection)
L830[11:56:15] ⇦ Quits: Telshin (sid114244@2604:8300:100:200b:6667:5:1:be44) (Remote host closed the connection)
L831[11:56:15] ⇦ Quits: Jerzerak (sid60746@2604:8300:100:200b:6667:5:0:ed4a) (Remote host closed the connection)
L832[11:56:15] ⇦ Quits: EmptyM (uid115453@2604:8300:100:200b:6667:5:1:c2fd) (Remote host closed the connection)
L833[11:56:26] <capitalthree> this isn't gonna be the most efficient thing possible, but efficient enough
L834[11:56:47] <HellFirePvP> Can somebody tell me what changed with specifying the accesstransformer configuration from 1.7 to 1.9? Looks like it finds the config but doesn't apply changes?
L835[11:56:54] <PaleoCrafter> since your shading appears to be broken :P (at least the package renaming part)
L836[11:56:56] <unascribed> the most efficient thing possible would lose the ability to use any incremental backup as a full world
L837[11:57:03] <capitalthree> I'm also gonna do the standard incremental backup tricks like pruning old backups to a lower frequency based on age
L838[11:57:08] <capitalthree> PaleoCrafter: oh crap. really:
L839[11:57:17] <PaleoCrafter> yep, just look at one of your built jars
L840[11:57:23] <capitalthree> I'm glad I marked them alpha on curse
L841[11:57:28] <capitalthree> mannn
L842[11:57:34] <PaleoCrafter> I'd do it like this: https://github.com/PaleoCrafter/VanillaImmersion/blob/master/build.gradle#L38-L48
L843[11:57:40] <capitalthree> PaleoCrafter: well extra thanks for noticing, I was just like "this seems to work"
L844[11:57:45] <PaleoCrafter> hehe
L845[11:57:46] <unascribed> HellFirePvP, is there a publicly available repository?
L846[11:57:59] ⇨ Joins: Searge (~Searge@c83-252-50-53.bredband.comhem.se)
L847[11:58:17] <capitalthree> PaleoCrafter: ok I gotta look when I get home. I am at a restaurant. I very much appreciate it though
L848[11:58:24] <HellFirePvP> atm not i didn't push anything of it to github yet - well i guess i should do that before asking..
L849[11:58:25] <PaleoCrafter> you're welcome
L850[11:58:38] <capitalthree> I'm new to minecraft modding and the community has been, while stubborn on some things, very helpful :)
L851[11:59:08] ⇨ Joins: Drullkus (~Dru11kus@205.155.154.1)
L852[12:00:01] ⇦ Quits: SeargeDP (~Searge@c83-252-50-53.bredband.comhem.se) (Ping timeout: 190 seconds)
L853[12:00:11] <capitalthree> I hate to say it but I'm probably going to ditch kotlin for scala, even though kotlin is a better choice for mc modding
L854[12:00:25] <capitalthree> simply because forge ships scala runtimes and that saves a thousand headaches
L855[12:00:29] <PaleoCrafter> hehe
L856[12:01:31] <capitalthree> well I'd better get on my bicycle and head home
L857[12:01:43] <diesieben07> yay, APIs that only take a File object so i am forced to use an actual on-disk file... instead of doing it in RAM
L858[12:01:47] ⇨ Joins: eggy (sid554@2604:8300:100:200b:6667:5:0:22a)
L859[12:01:49] <diesieben07> or is there a trick one can use?
L860[12:02:25] <PaleoCrafter> well, Scala's stronger type system can cause some headaches with some parts of MC, capitalthree :P
L861[12:02:31] <capitalthree> PaleoCrafter: ahh shadow, someone told me shade was broken and to use shadow. I should have listened
L862[12:02:37] ⇦ Quits: Searge (~Searge@c83-252-50-53.bredband.comhem.se) (Ping timeout: 198 seconds)
L863[12:02:38] <capitalthree> it was late and I just wanted to publish xD
L864[12:02:51] <PaleoCrafter> especially doing blocks with properties requires some existential hacks :P
L865[12:02:54] <tterrag> diesieben07: what API?
L866[12:03:08] <diesieben07> eclipse aether's local repository API
L867[12:03:12] ⇦ Quits: Drullkus (~Dru11kus@205.155.154.1) (Ping timeout: 201 seconds)
L868[12:03:20] <diesieben07> eclipse aether = dependency resolver library where you can plug a maven handler into
L869[12:03:28] <capitalthree> PaleoCrafter: and yeah definitely. I know my way around dealing with scala's type system differences, but like I said I'd prefer kotlin for sure for heavily java-interoperable code
L870[12:03:33] <tterrag> so you want to have a local repository...in RAM?
L871[12:04:03] <capitalthree> PaleoCrafter: btw any comments on my actual kotlin code? and thanks again for linking your build.gradle, I wish I found that yesterday when I was flailing
L872[12:04:13] <PaleoCrafter> I haven't looked at it much
L873[12:04:23] <diesieben07> No, but i want to have a local repository that I can define the structure of. and the LocalRepositoryManager is build around the idea that artifacts have static file paths.
L874[12:04:46] <capitalthree> PaleoCrafter: ok no worries, I don't wanna give you busywork :P but since I'm new to modding, if you do look, I'd love comments
L875[12:05:14] <diesieben07> i cannot fake it so that it accepts two different files as the same artifact
L876[12:05:25] <diesieben07> which i could do it if used the modern FileSystem api
L877[12:05:27] <PaleoCrafter> I'm generally not that much of a fan of putting multiple classes into one file, unless it something like an enclosed trait - case class hierarchy or something :P
L878[12:05:57] ⇨ Joins: BlackSpark (~JonaK@108.184.165.26)
L879[12:08:10] <capitalthree> PaleoCrafter: for me the line is usually "will I ever care to reference this class from another file" and "has this file gotten so large it's messy" but fair enough :)
L880[12:08:25] ⇨ Joins: Searge (~Searge@c83-252-50-53.bredband.comhem.se)
L881[12:08:37] <PaleoCrafter> well, imo the file is getting messy as soon as you add another class :P
L882[12:08:51] <unascribed> ^\
L883[12:09:04] <capitalthree> hehe. fair enough. I'm definitely a bit out of the norm with my bias towards fewer files
L884[12:09:24] <unascribed> I don't do much Scala or Kotlin, but there are a few very specific cases in which you can put multiple classes in the same file in Java (not inner classes), and it's similar there :P
L885[12:09:26] <capitalthree> but at least you have to admit, it's not like anything other than preinit has any reason to make an instance of the event handler :P
L886[12:10:17] <capitalthree> unascribed: in java, it semantically requires that you only do it if you'll only reference the class within that file. kotlin doesn't but I did follow the same rule
L887[12:10:27] ⇦ Quits: karlthepagan (~karl@c-24-143-95-34.customer.broadstripe.net) (Read error: Connection reset by peer)
L888[12:10:30] <capitalthree> but this is a style question.. I'm not calling you guys wrong
L889[12:10:41] <unascribed> nope, there's some cases where you can have package-private classes in one file
L890[12:10:45] <tterrag> > in java, it semantically requires that you only do it if you'll only reference the class within that file
L891[12:10:46] <tterrag> what
L892[12:10:46] <tterrag> no
L893[12:10:47] <unascribed> as said, I don't mean inner classes
L894[12:10:47] <capitalthree> but I probably won't change it unless either of the classes get longer
L895[12:10:48] ⇨ Joins: karlthepagan (~karl@c-24-143-95-34.customer.broadstripe.net)
L896[12:11:01] <capitalthree> tterrag: oh. is it within the package then?
L897[12:11:07] <tterrag> java has no such thing as an "inner class"
L898[12:11:12] <tterrag> EVERY class is compiled out into its own file
L899[12:11:24] <capitalthree> we mean .java files, not .class files :P
L900[12:11:29] <tterrag> there is no real difference between defining a class inside another and defining it in its own file
L901[12:11:42] <tterrag> unless it's non-static, in which case of course it needs an encapsulating instance
L902[12:11:47] <capitalthree> tterrag: yes there is. a *public* class is required to be defined in a samenamed file
L903[12:11:51] <unascribed> we're talking about logical classes, as in the class keyword, not literal class files :L
L904[12:12:15] <capitalthree> a static inner class is a semi-weird construct that only makes sense for visibility reasons
L905[12:12:20] <tterrag> you are talking about defining multiple classes in one file, yes?
L906[12:12:24] <capitalthree> yeah
L907[12:12:29] <tterrag> right.
L908[12:12:31] <tterrag> as am I
L909[12:12:37] <capitalthree> in one .java file
L910[12:12:43] <tterrag> a static inner class isn't inner at all
L911[12:12:49] <capitalthree> right
L912[12:12:51] <tterrag> it's just a class
L913[12:13:06] <capitalthree> but it does have visibility into the private members of the not-really-enclosing vlass
L914[12:13:10] <capitalthree> that's the only special thing
L915[12:13:25] <unascribed> hooray for synthetic accessors
L916[12:13:29] <unascribed> :P
L917[12:13:29] <tterrag> *technically* it doesn't
L918[12:13:35] <tterrag> the compiler just adds accessors for what it needs
L919[12:13:37] <tterrag> but yeah, I guess
L920[12:13:49] <diesieben07> it might soon :)
L921[12:13:54] <diesieben07> soon-soon
L922[12:13:56] <capitalthree> ...technically, whatever the language semantics allow, the language semantics allow :P
L923[12:14:13] <capitalthree> talking jvm implementation details is a separate discussion from talking java language semantics
L924[12:14:28] <diesieben07> true.
L925[12:14:49] <tterrag> I'm saying if you get down to it, nested classes are not special at all. they are compiled out into their own file like any other class. accessing private members is done via synthetic methods. but yes the end result is access to private members of the outer class
L926[12:15:18] <capitalthree> tterrag: I agree they're not "special". they're syntactic sugar.
L927[12:15:22] <capitalthree> they're still real
L928[12:15:32] <capitalthree> just like many java features which are sugar
L929[12:15:40] <capitalthree> like the entire concept of generic types :P
L930[12:16:00] <unascribed> 98.7% of java features are syntatic sugar
L931[12:16:03] <tterrag> you mean most of java :P
L932[12:16:05] <capitalthree> every use of a generic type compiles to a concrete type
L933[12:16:06] <unascribed> 99.9% of scala and kotlin features are syntatic sugar
L934[12:16:14] <capitalthree> but it would be silly to say generic types aren't real
L935[12:16:20] <capitalthree> they are a very important language feature
L936[12:16:21] <unascribed> but they're not!
L937[12:16:27] <unascribed> it's all compile time
L938[12:16:29] <tterrag> and 73.4% of all statistics are made up on the spot
L939[12:16:31] <diesieben07> they are a compiler fiction
L940[12:16:34] <diesieben07> doesn't mean they aren't real
L941[12:16:43] <diesieben07> how they are implemented is an implementatino detail
L942[12:16:49] <tterrag> PaleoCrafter: what was that about multiple classes in one file? :P https://github.com/creatubbles/ctb-mcmod/blob/1.8/src/main/java/com/creatubbles/ctbmod/common/http/DownloadableImage.java
L943[12:16:51] <capitalthree> you know what else is a compiler fiction? immutability
L944[12:17:02] <diesieben07> that's a JVM fiction
L945[12:17:05] <capitalthree> if you declare a field final, you can hack your jvm bytecode to modify it
L946[12:17:08] <PaleoCrafter> that's tolerable, tterrag :P
L947[12:17:11] <diesieben07> the JVM will scream at you if you write final fields
L948[12:17:14] <tterrag> barely
L949[12:17:36] <tterrag> I find it hilarious that you can get around final by reflecting the field class
L950[12:17:41] ⇦ Quits: jk-5 (~jk-5@D549D0E1.cm-10-1b.dynamic.ziggo.nl) (Ping timeout: 190 seconds)
L951[12:17:43] <capitalthree> diesieben07: there are boundaries though on where it actually checks. you can definitely get around it
L952[12:17:50] <diesieben07> of course you can.
L953[12:17:54] <tterrag> reflection isn't enough? I'll put some reflection in the reflection
L954[12:17:59] <unascribed> https://stackoverflow.com/questions/3301635/change-private-static-final-field-using-java-reflection
L955[12:18:00] <unascribed> :P
L956[12:18:02] <diesieben07> i am just saying that by using the standard PUTFIELD will scream at you.
L957[12:18:09] <diesieben07> and writing to static finals is a REALLY REALLY bad idea.
L958[12:18:17] <diesieben07> because it can actually break your code in horrible ways
L959[12:18:21] <tterrag> unless you know for sure it's not inlined, yeah
L960[12:18:26] <unascribed> *primitive* static finals yes
L961[12:18:28] <diesieben07> there is no way to know that for sure.
L962[12:18:29] <diesieben07> no
L963[12:18:29] <capitalthree> so "this feature isn't real" and "this feature is a compiletime constraint for your convenience" are not the same statement
L964[12:18:30] ⇦ Quits: baegmon (~baegmon@CPE-60-225-55-120.nsw.bigpond.net.au) ()
L965[12:18:31] <diesieben07> the JVM inlines
L966[12:18:35] <diesieben07> every static final
L967[12:18:40] <diesieben07> o it CAN inline every
L968[12:18:42] <tterrag> yeah, inlines are not standard
L969[12:18:42] <diesieben07> *or
L970[12:18:48] ⇨ Joins: Telshin (sid114244@2604:8300:100:200b:6667:5:1:be44)
L971[12:18:52] <unascribed> well I guess the JVM can, yeah
L972[12:18:55] <tterrag> pretty sure strings are inlined, those aren't primitive :P
L973[12:18:56] <unascribed> I was just thinking of the class file :P
L974[12:19:06] <unascribed> strings are pretty much a primitive, they're supported by ldc
L975[12:19:08] <diesieben07> and then your code will start behaving VERY weird.
L976[12:19:26] ⇨ Joins: EmptyM (sid115453@2604:8300:100:200b:6667:5:1:c2fd)
L977[12:19:32] <tterrag> non-static finals are pretty weak really. I'm pretty sure even standard reflection will work fine
L978[12:19:39] <tterrag> in some cases
L979[12:19:55] <diesieben07> the jvm explicitly has flags set to not optimize non-static finals
L980[12:19:55] <capitalthree> I guess what I'm saying is: if a feature's in the language, it has semantic meaning, you can use it, and your code will work
L981[12:20:06] <diesieben07> because major libraries out there break in horrible ways if the jvm trusts the "final"
L982[12:20:08] <capitalthree> saying the feature's not real on some philosophical grounds is silly
L983[12:20:16] <capitalthree> therefore static inner classes are real :P
L984[12:20:29] <tterrag> code isn't real
L985[12:20:35] <unascribed> let's just all write bytecode directly and call it good
L986[12:20:38] <tterrag> it's all just JVM bytecode instructions
L987[12:20:38] <capitalthree> :D ok tterrag
L988[12:21:41] <capitalthree> anyways I'm gonna call this a win. if all PaleoCrafter said is to put one class in another file, probably my actual code is ok! :D
L989[12:21:54] <PaleoCrafter> again, I haven't looked a lot at it :P
L990[12:22:00] <capitalthree> hehe ok sorry
L991[12:22:10] <capitalthree> biking home now, have fun y'all
L992[12:22:19] <HellFirePvP> unascribed pushed it, in case you still have time/interest in helping me: https://github.com/HellFirePvP/AstralSorcery
L993[12:23:01] <unascribed> your manifest says "astralSorcery_transform.cfg" and the file is "astralsorcery_at.cfg"
L994[12:23:06] ⇨ Joins: AforAnonymous (bitch2k@212.108.50.99)
L995[12:24:00] <unascribed> and are you 300% sure you really need ASM?
L996[12:24:06] <HellFirePvP> oups derp. that one got mixed up when merging.. sec - however it was astralsorcery_at.cfg before and didn't take the changes.
L997[12:24:14] <unascribed> this wouldn't be better as a forge PR and there's no way to do it with reflection?
L998[12:24:50] <unascribed> oh god you're *deleting* instructions
L999[12:24:55] <unascribed> that's a recipe for disaster
L1000[12:25:25] ⇨ Joins: jk-5 (~jk-5@d549d0e1.cm-10-1b.dynamic.ziggo.nl)
L1001[12:25:28] <HellFirePvP> i dunno if i want to use reflection when rendering tho.. - well i do the same as the default src just handling some special cases
L1002[12:25:35] <unascribed> reflection
L1003[12:25:36] <unascribed> is
L1004[12:25:36] <unascribed> not
L1005[12:25:37] <unascribed> slow
L1006[12:25:41] <unascribed> lookups are slow
L1007[12:25:50] <unascribed> if you keep a Field or Method handle, or better yet, a MethodHandle, it's fast
L1008[12:25:59] <unascribed> MethodHandle pushes your JRE requirement to 7 though
L1009[12:26:16] <HellFirePvP> so i keep the reference to the field and just access it every loop. yea true. :|
L1010[12:26:28] <diesieben07> for methodHandles: it's not even fast, it's JUST as fast as direct access
L1011[12:26:46] <diesieben07> (provided the MH is in a static final field)
L1012[12:28:58] <BlackSpark> Hi, can I butt in with a quick 1.9 question that's probably really really basic?
L1013[12:29:13] <PaleoCrafter> don't ask to ask
L1014[12:29:18] <unascribed> asking if you can ask a question is a waste of time, just ask it :P
L1015[12:29:22] <BlackSpark> http://pastebin.com/WK0HvJFM
L1016[12:29:25] <PaleoCrafter> which reminds me...
L1017[12:29:33] <PaleoCrafter> $xy
L1018[12:29:34] <BlackSpark> I'm trying to use an OreDictionary entry here in a recipe
L1019[12:29:35] <PaleoCrafter> ?xy
L1020[12:29:37] <PaleoCrafter> FRY
L1021[12:29:38] <unascribed> you need to use ShapedOreRecipe
L1022[12:29:42] <tterrag> FRY
L1023[12:29:46] <BlackSpark> Thank you!
L1024[12:29:47] <PaleoCrafter> do it, nao
L1025[12:29:48] <unascribed> GameRegistry.addRecipe(new ShapedOreRecipe(...))
L1026[12:29:50] <fry> FRY
L1027[12:29:51] ⇨ Joins: ewized|edu (webchat@207.233.102.36)
L1028[12:29:56] ⇦ Quits: Samario (~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net) (Ping timeout: 384 seconds)
L1029[12:30:05] <HellFirePvP> unascribed: however, that doesn't actually change that changes made in the at.cfg don't get applied when doing gradlew clean and setting it up again with setupdecompworkspace ?
L1030[12:30:18] <PaleoCrafter> or make that darn bot open source already :P
L1031[12:30:40] <diesieben07> HellFirePvP, just don't use ATs... they are much too much of a hassle for you and everyone else (as you can see by this very discussion).
L1032[12:30:43] <tterrag> "10000 Trillion kg" isn't exactly a great way to denote mass...but I can't think of a better way
L1033[12:31:37] <sham1> What do we need to fry, fry?
L1034[12:31:39] <PaleoCrafter> 10¹⁶kg?
L1035[12:32:05] <tterrag> PaleoCrafter: wat
L1036[12:32:06] <unascribed> "10 quadrillion kg"?
L1037[12:32:15] <tterrag> yeah I could add quadrillion. but where do I end? :P
L1038[12:32:16] <unascribed> or whatever the right one is
L1039[12:32:17] <PaleoCrafter> what, wat? :P
L1040[12:32:23] <unascribed> Cookie Clicker ends at quindecillion
L1041[12:32:27] <unascribed> which seems to be more than enough for them
L1042[12:33:28] <unascribed> alternatively you could write code to generate the abbreviations
L1043[12:33:31] <PaleoCrafter> ^
L1044[12:33:32] <diesieben07> the fact that you know this...
L1045[12:33:41] <PaleoCrafter> they're quite regular
L1046[12:33:43] <unascribed> I read the code, I've only reached sextillion so far
L1047[12:33:49] <diesieben07> -_
L1048[12:33:56] <diesieben07> you don't even deserve the full face! :D
L1049[12:34:07] <sham1> SO MANY COOKIES
L1050[12:34:07] <unascribed> it has comments and everything
L1051[12:34:09] <tterrag> unascribed: what abbreviations?
L1052[12:34:11] <unascribed> it's pretty clear Orteil wants you to read it
L1053[12:34:27] <unascribed> https://en.wikipedia.org/wiki/Names_of_large_numbers
L1054[12:34:31] <unascribed> you can easily generate these
L1055[12:34:36] <unascribed> they're regular past a certain point
L1056[12:34:49] <sham1> Or just use 10^whatever
L1057[12:34:49] ⇨ Joins: ThePsionic (sid130607@2604:8300:100:200b:6667:5:1:fe2f)
L1058[12:34:56] ⇨ Joins: thecodewarrior (~thecodewa@75-128-36-21.static.mtpk.ca.charter.com)
L1059[12:34:57] <diesieben07> oh right... long vs short scale
L1060[12:35:01] <unascribed> exponentiation notation makes most people cry
L1061[12:35:02] <diesieben07> short scale is so retarded
L1062[12:36:18] <Ordinastie_> TIL milliard wasn't just a french thing
L1063[12:36:31] <sham1> milliard is used a lot around Europe
L1064[12:36:42] <PaleoCrafter> it even used to be an English thing until some decades ago :P
L1065[12:36:50] <diesieben07> yeah
L1066[12:36:51] <diesieben07> https://www.youtube.com/watch?v=C-52AI_ojyQ
L1067[12:37:11] ⇦ Quits: Unh0ly_Tigg (~Robert@c-76-115-95-185.hsd1.or.comcast.net) (Quit: Leaving)
L1068[12:37:50] <capitalthree> HellFirePvP: don't be afraid to require jre 7
L1069[12:38:20] <diesieben07> or jre8 in fact ;D
L1070[12:38:25] <sham1> ^
L1071[12:38:31] <sham1> Don't hold back on the version
L1072[12:38:32] <diesieben07> if you require 7, might as well do 8
L1073[12:38:35] <HellFirePvP> capitalthree ik IntelliJ doesn't want to use lang level7 or 8 wherever i specify it ._."
L1074[12:38:39] <diesieben07> either stay on 6, which is what mojang requires
L1075[12:38:43] <diesieben07> OR update to latest, which is 8.
L1076[12:38:54] <diesieben07> HellFirePvP, you need to change it in the build.gradle
L1077[12:39:04] <HellFirePvP> is there a setting in gradle that i miss? - ouh...
L1078[12:39:12] <diesieben07> https://git.io/vwUNI
L1079[12:39:21] <diesieben07> and then click the blue refesh button thingy in the gradle sidebar
L1080[12:39:58] <capitalthree> diesieben07: there are reasons to go 7, like, matching thermal expansion's required level :P
L1081[12:40:08] <diesieben07> Not really.
L1082[12:40:13] <diesieben07> "they do it" is not a valid reason :p
L1083[12:40:25] ⇨ Joins: McJty (~jorrit@94.225.203.206)
L1084[12:40:27] <capitalthree> diesieben07: it's the same as your reason for going 6
L1085[12:40:38] <capitalthree> "it's the same level people will have to be on anyways"
L1086[12:40:45] <capitalthree> most modpacks have TE so there ya go
L1087[12:40:45] <diesieben07> Not really
L1088[12:40:50] <diesieben07> Mojang is offical
L1089[12:40:52] <diesieben07> TE is not.
L1090[12:40:53] <unascribed> most 1.7 modpacks*
L1091[12:40:56] <PaleoCrafter> every modpack has Minecraft, duh :P
L1092[12:41:07] <capitalthree> it doesn't matter what's official. TE is a de-facto modpack staple
L1093[12:41:16] <PaleoCrafter> not at all
L1094[12:41:20] <capitalthree> if you make a minecraft mod, your mod won't be official either
L1095[12:41:27] <PaleoCrafter> totally depends on who you ask :P
L1096[12:41:28] <HellFirePvP> diesieben07 works now :P Thanks^^
L1097[12:41:31] <capitalthree> anyways I don't care. require 8, I'm happy with that too
L1098[12:41:31] <sham1> And that has risen to the heads of COTF
L1099[12:41:39] <capitalthree> I say don't hold back
L1100[12:41:43] <sham1> So much that they can think they can hold back stuff
L1101[12:41:44] <capitalthree> people need to update their damned jvms
L1102[12:45:46] <Delenas> I literally JUST ran into a nice usecase for j8
L1103[12:45:55] <Delenas> http://stackoverflow.com/questions/3064423/how-to-convert-an-array-to-a-set-in-java <-
L1104[12:46:29] <diesieben07> ehh
L1105[12:46:32] <sham1> Aside from all the other usecases
L1106[12:46:34] <diesieben07> that's not a nice j8 usecase
L1107[12:46:49] <diesieben07> first two answers are much better imho
L1108[12:46:55] <Delenas> Well. Okay, "nice" is subjective, but things.
L1109[12:47:04] <diesieben07> using a stream for that? nah
L1110[12:47:20] <PaleoCrafter> it's going to be horribly slow
L1111[12:47:23] <Delenas> Ended up changing the array to a HashSet anyway, because my case was a list of valid metadata for a whitelist.
L1112[12:47:35] <barteks2x> my irc logs are bigger than my biggest minecraft world...
L1113[12:47:42] <sham1> :P
L1114[12:48:24] ⇦ Quits: Cast0077 (~Work@24-181-178-44.dhcp.nwtn.ct.charter.com) (Read error: Connection reset by peer)
L1115[12:48:37] <sham1> Java8 is very nice in general
L1116[12:48:46] <sham1> You might as well use it
L1117[12:49:04] <diesieben07> yep
L1118[12:49:09] <diesieben07> lambdas... <3
L1119[12:49:23] <sham1> Yeah
L1120[12:50:19] <sham1> As well as the ability to make every method passable as a function to other methods
L1121[12:50:50] <sham1> Thanks to method references
L1122[12:50:59] <PaleoCrafter> syntactic sugar :P
L1123[12:51:00] <sham1> I can store methods inside variables
L1124[12:51:04] <sham1> Well yeah
L1125[12:51:10] <sham1> But nice syntax sugar at that
L1126[12:51:25] <PaleoCrafter> and *that* is a lie, there's no function type per se :P
L1127[12:51:59] <sham1> Well
L1128[12:53:24] <sham1> I regard Function<P, R> as a function type
L1129[12:55:07] <PaleoCrafter> but then there's also BiFunction and nothing after that :P
L1130[12:55:31] <PaleoCrafter> currying of course is an option, but it's a nuisance
L1131[12:56:13] <diesieben07> actually paleo
L1132[12:56:18] <diesieben07> lambdas are the syntax sugar
L1133[12:56:22] <diesieben07> for method references ;)
L1134[12:56:29] <diesieben07> </nitpick>
L1135[12:56:34] <PaleoCrafter> I guess
L1136[12:56:56] <sham1> :P
L1137[12:56:56] <PaleoCrafter> mebbe my comment wasn't directed at sham? :P
L1138[12:57:03] <diesieben07> lol
L1139[12:57:07] <sham1> Sure
L1140[12:57:15] <diesieben07> regarding functino types... what j8 has is a joke
L1141[12:57:26] <diesieben07> they need dynamic templating of classes and just stamp out FunctionN as needed
L1142[12:57:31] <PaleoCrafter> exactly
L1143[12:57:38] <diesieben07> which valhalla might bring
L1144[12:57:48] <PaleoCrafter> didn't they deliberately decide against it?
L1145[12:58:04] <diesieben07> last thing i know they had this discussino about doing classdynamic
L1146[12:58:11] <diesieben07> which is like invokedynamic but for classes
L1147[12:58:18] <diesieben07> "the class returned by invoking this methodwith these argumnts"
L1148[12:59:08] <diesieben07> so FunctionN would be "the class returned by invoking java.lang.FunctionclassFactory.create(N)"
L1149[12:59:24] <Delenas> Woot, fixed it. https://gist.github.com/ostenvighx/368ea8ba97491fd1f30c4a090accd6ab \o/
L1150[12:59:38] ⇨ Joins: secknv_ (webchat@bl11-209-82.dsl.telepac.pt)
L1151[12:59:44] <sham1> I'd love better function types
L1152[13:00:04] ⇦ Quits: secknv_ (webchat@bl11-209-82.dsl.telepac.pt) (Client Quit)
L1153[13:00:18] ⇦ Quits: ProcyonRo (~ProcyonRo@5-13-160-15.residential.rdsnet.ro) (Read error: Connection reset by peer)
L1154[13:00:21] <sham1> Or they could just do currying akin to this: Function<P1, Function<P2, Function<P3, R>>>
L1155[13:00:30] <sham1> Although that is wordy af
L1156[13:00:52] ⇨ Joins: secknv__ (webchat@bl11-209-82.dsl.telepac.pt)
L1157[13:00:52] <diesieben07> well, it could be hidden behind more sugar
L1158[13:00:57] <sham1> Yeah
L1159[13:01:01] <diesieben07> but that would be slow as heck and have tons of overhead
L1160[13:01:10] <sham1> I'd actually prefer that so we could get partial functions
L1161[13:01:12] <PaleoCrafter> and if they go to those lengths, they might as well do it properly
L1162[13:01:18] <sham1> Well yeah
L1163[13:01:25] <PaleoCrafter> FunctionN can support .curry() :P
L1164[13:01:33] <sham1> :P
L1165[13:01:36] <diesieben07> plus they need some kind of templating thing for values anyways
L1166[13:01:51] <diesieben07> since you cannot just pre-specialize all generic classes
L1167[13:02:35] <Delenas> Remind me to slap the BoP devs for not adding planks_0 as WILDCARD. They register all the damned metas anyway.
L1168[13:04:09] ⇦ Quits: BlackSpark (~JonaK@108.184.165.26) (Quit: Leaving)
L1169[13:04:14] ⇨ Joins: Hunterz (~hunterz@62.182.234.189)
L1170[13:04:33] ⇦ Parts: secknv__ (webchat@bl11-209-82.dsl.telepac.pt) ())
L1171[13:07:52] ⇨ Joins: secknv (webchat@bl11-209-82.dsl.telepac.pt)
L1172[13:08:30] ⇨ Joins: alex_6611_ (~alex_6611@p5DC1647E.dip0.t-ipconnect.de)
L1173[13:08:50] ⇦ Quits: alex_6611 (~alex_6611@p5DC1647E.dip0.t-ipconnect.de) (Killed (NickServ (GHOST command used by alex_6611_)))
L1174[13:08:56] ⇨ Joins: MoxieGrrl_ (~MoxieGrrl@173.23.172.139)
L1175[13:08:57] *** alex_6611_ is now known as alex_6611
L1176[13:09:21] ⇦ Quits: maxlowry123 (~IceChat9@pool-71-244-115-181.albyny.fios.verizon.net) (Ping timeout: 190 seconds)
L1177[13:09:41] ⇦ Quits: itachi1706 (~itachi170@doserver.itachi1706.com) (Ping timeout: 190 seconds)
L1178[13:10:21] ⇦ Quits: Ordinastie_ (~Ordinasti@87-231-58-94.rev.numericable.fr) (Ping timeout: 190 seconds)
L1179[13:10:41] ⇦ Quits: Fye (~Fye@dynamic-adsl-84-220-169-44.clienti.tiscali.it) (Ping timeout: 190 seconds)
L1180[13:10:41] ⇦ Quits: MoxieGrrl (~MoxieGrrl@173-23-172-139.client.mchsi.com) (Ping timeout: 190 seconds)
L1181[13:11:01] ⇦ Quits: Onyx (~OnyxDarkK@cpc81089-colc8-2-0-cust729.7-4.cable.virginm.net) (Ping timeout: 190 seconds)
L1182[13:11:16] <sham1> Oh, I didn't even notice
L1183[13:11:23] <sham1> Today is Friday 13th
L1184[13:12:15] <diesieben07> yep. spent 2 1/2hrs on a train instead of 1:40h
L1185[13:12:38] ⇨ Joins: itachi1706 (~itachi170@128.199.118.131)
L1186[13:13:40] <sham1> Also, that feeling when you notice that the work you did a month ago was lost because one did not commit it...
L1187[13:13:52] <sham1> I feel stupid now
L1188[13:14:04] <diesieben07> aww
L1189[13:14:10] *** brandon3055 is now known as brandon3055|Zz
L1190[13:14:35] <sham1> Welp, time to dive back into BC codebase
L1191[13:14:42] <sham1> To try to figure out the algo again
L1192[13:15:22] <sham1> >Select Home Directory for JDK
L1193[13:15:23] <PaleoCrafter> sham1, using IDEA?
L1194[13:15:25] <sham1> Yes
L1195[13:15:28] <PaleoCrafter> local history
L1196[13:15:43] <sham1> But my thing was lost to a hardware format
L1197[13:15:51] <sham1> SO that does not work
L1198[13:15:53] <sham1> Sadly
L1199[13:15:56] <PaleoCrafter> oh, welp
L1200[13:16:20] <sham1> I can do it again
L1201[13:16:35] ⇦ Quits: minot (~minot@pool-108-35-29-135.nwrknj.fios.verizon.net) (Ping timeout: 201 seconds)
L1202[13:16:55] <sham1> Sucks but what can I do about it?
L1203[13:16:56] <sham1> Nothing
L1204[13:17:25] <PaleoCrafter> invest all your efforts into time travel from now on
L1205[13:17:44] <sham1> "PAST ME, COMMIT THAT"
L1206[13:17:49] ⇨ Joins: minot (~minot@pool-108-35-29-135.nwrknj.fios.verizon.net)
L1207[13:17:55] <sham1> Wait, that would be a paradox
L1208[13:18:38] <diesieben07> no it wouldn't :D https://www.youtube.com/watch?v=XayNKY944lY
L1209[13:18:52] <PaleoCrafter> hehe, only watched that an hour ago :P
L1210[13:18:53] ⇦ Parts: secknv (webchat@bl11-209-82.dsl.telepac.pt) ())
L1211[13:18:56] <diesieben07> :D
L1212[13:19:23] <diesieben07> also holy cow, sponsored by google...
L1213[13:19:31] ⇨ Joins: KGS (~KGS@h-155-4-135-249.na.cust.bahnhof.se)
L1214[13:19:41] ⇦ Quits: JamEngulfer (~JamEngulf@host86-128-156-175.range86-128.btcentralplus.com) (Quit: JamEngulfer)
L1215[13:22:54] ⇨ Joins: secknv (webchat@bl11-209-82.dsl.telepac.pt)
L1216[13:24:55] <kashike> diesieben07: where do you see sponsored by google
L1217[13:25:11] <diesieben07> at the end?
L1218[13:25:58] <diesieben07> well, nto sponsoring, but supporing... not sure what the exact differences (if any) are.
L1219[13:28:58] ⇨ Joins: Intektor (~Intektor4@p5B276FB4.dip0.t-ipconnect.de)
L1220[13:29:27] <Intektor> has someone a idea why getDamageForDisplay isn't called in my item?
L1221[13:29:43] <Intektor> do i have to set a variable so it gets called?
L1222[13:29:57] <diesieben07> what are you trying to do?
L1223[13:32:07] <Intektor> http://i.imgur.com/R8eGeEE.png
L1224[13:32:25] <diesieben07> that does not say anything
L1225[13:32:29] <diesieben07> What effect are you trying to achieve.
L1226[13:33:07] <Intektor> I want it to show how many bullets I have left in the magazine
L1227[13:33:37] <diesieben07> In what way? in chat? as a number projected into the sky?
L1228[13:33:58] <HellFirePvP> i guess as durability?
L1229[13:34:06] <Intektor> no as the durability
L1230[13:34:24] <Intektor> when there are 10 bullets as a maximum, and you have 5 left, it should show you 50%
L1231[13:34:26] ⇨ Joins: founderio (~Thunderbi@p200300C4E3C03A00B10D4931598398E2.dip0.t-ipconnect.de)
L1232[13:34:53] <diesieben07> showDurabilityBar / getDurabilityForDisplay
L1233[13:34:55] <HellFirePvP> Well the item has to be damageable first..
L1234[13:35:13] <diesieben07> no.
L1235[13:35:34] <HellFirePvP> well yea showdurability bar... my bad.
L1236[13:36:45] <Intektor> ah ok thanks
L1237[13:36:56] ⇦ Quits: Ipsis (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk) (Read error: Connection reset by peer)
L1238[13:37:20] ⇦ Parts: secknv (webchat@bl11-209-82.dsl.telepac.pt) ())
L1239[13:39:39] ⇦ Quits: GildedGames (~GildedGam@ec2-54-234-244-55.compute-1.amazonaws.com) (Remote host closed the connection)
L1240[13:39:48] ⇨ Joins: GildedGames (~GildedGam@ec2-54-162-156-38.compute-1.amazonaws.com)
L1241[13:40:04] <Intektor> I want my item to have some kind of a cooldown, but adding one to a counter every tick is not a option, how can I set a unique tiem and get the time that went past since then?
L1242[13:40:10] <Intektor> time
L1243[13:40:28] <sham1> Woot
L1244[13:40:36] <sham1> radio is playing Darude Sandstorm
L1245[13:40:48] <diesieben07> haha
L1246[13:41:07] <Delenas> So, question. On a server where I don't have access to getSubItems/Blocks, how would I get how many blocks are listed under a registry entry (ResourceLocation)?
L1247[13:41:37] <diesieben07> bluntly: You cannot.
L1248[13:41:38] *** MrKick|Away is now known as MrKickkiller
L1249[13:42:22] <Delenas> Would an acceptable approach be to loop through for metas 0-16?
L1250[13:42:26] <Delenas> Checking null?
L1251[13:42:55] <gigaherz> item metas aren't even 0..16
L1252[13:43:11] <gigaherz> there's simply no way to get that info on the server
L1253[13:43:18] <diesieben07> and there is no reliable way to check even if you loop through all metas
L1254[13:43:28] <diesieben07> vanilla logs for example will just give you oak for invalid mets
L1255[13:43:35] <gigaherz> that too
L1256[13:43:37] <diesieben07> and you have no way of telling that it's different and invalid
L1257[13:43:49] <diesieben07> other mods might just blow up in your face
L1258[13:43:51] <gigaherz> best case: you get a "default" item for an invalid meta
L1259[13:43:54] <diesieben07> or silently ignore like vanilla
L1260[13:43:55] <gigaherz> worst case: NPE crash
L1261[13:43:59] <gigaherz> or index out of bounds
L1262[13:44:04] <diesieben07> or make a big error in the log and carry on..
L1263[13:44:39] <gigaherz> yeah hence worst case
L1264[13:44:40] <gigaherz> ;P
L1265[13:45:36] ⇨ Joins: Gil (uid147942@2604:8300:100:200b:6667:5:2:41e6)
L1266[13:47:51] <sham1> Trying to understand UNIX sockets
L1267[13:47:56] <sham1> My head feels like exploding
L1268[13:48:08] <gigaherz> why so?
L1269[13:48:13] <unascribed> it's a FIFO queue, represented as a file
L1270[13:48:15] <unascribed> that's it
L1271[13:48:23] <sham1> Trying to create the socket
L1272[13:48:40] <unascribed> I would just use System.exec to call mkfifo :P
L1273[13:48:45] <gigaherz> it's halfway between a named pipe, and an internet socket
L1274[13:48:54] <Stiforr> How can you add individual tooltips to block subtypes. Like if I had a block ore that was copper at meta 0 and wanted to add a tooltip to copper but a different tooltip for the meta 1
L1275[13:49:04] <sham1> No System.exec for me
L1276[13:49:05] <sham1> C++
L1277[13:49:09] <unascribed> oh
L1278[13:49:12] <unascribed> then just call mkfifo
L1279[13:49:14] <gigaherz> you use socketpair() to create the socket
L1280[13:49:19] <diesieben07> Stiforr, check the metadata in addInformation...
L1281[13:49:20] <unascribed> http://linux.die.net/man/3/mkfifo
L1282[13:49:20] <gigaherz> then sendmsg and recvmsg
L1283[13:49:50] <sham1> And I probably said UNIX pipe when I meant a socket into a server
L1284[13:49:57] <sham1> INET
L1285[13:50:12] <gigaherz> well you said unix socket
L1286[13:50:16] <gigaherz> that's its own thing ;P
L1287[13:50:16] <sham1> Yeah
L1288[13:50:22] <gigaherz> for an actual internet socket
L1289[13:50:37] <gigaherz> https://en.wikipedia.org/wiki/Berkeley_sockets
L1290[13:50:49] <gigaherz> yo uuse socket() to create the socket
L1291[13:50:52] ⇨ Joins: Drullkus (~Dru11kus@205.155.154.1)
L1292[13:50:56] <sham1> Yes
L1293[13:51:02] <gigaherz> bind() to bind it locally (server socket)
L1294[13:51:19] <gigaherz> (in which caseyou'd call listen() to start listening)
L1295[13:51:31] <gigaherz> you use connect() to request a connection to another computer
L1296[13:51:39] <gigaherz> or in a server, accept() to accept a remote connection
L1297[13:52:06] <gigaherz> then once connected, you can use send/write and recv/read
L1298[13:52:51] <sham1> Ya
L1299[13:52:54] <sham1> I got that
L1300[13:53:14] ⇦ Quits: auenf (David@DC-53-50.bpb.bigpond.com) (Ping timeout: 186 seconds)
L1301[13:53:19] <gigaherz> then what's confusing? ;P
L1302[13:54:27] <sham1> Was just not finding any kind of examples of getting an address out of a hostname
L1303[13:54:30] <sham1> But I found one
L1304[13:54:31] ⇨ Joins: auenf (David@DC-53-50.bpb.bigpond.com)
L1305[13:54:33] <sham1> So now I am all good
L1306[13:54:34] <gigaherz> gethostbyname?
L1307[13:54:37] <sham1> Yes
L1308[13:54:49] ⇦ Quits: Drullkus (~Dru11kus@205.155.154.1) (Ping timeout: 201 seconds)
L1309[13:54:55] <sham1> I probably will just build my own abstractation layer over this so I can make it crossplatforem
L1310[13:55:09] <gigaherz> why not use any of the million existing ones?
L1311[13:55:17] <sham1> NIH
L1312[13:55:30] <sham1> Also I like torture
L1313[13:58:18] <Stiforr> diesieben07, the problem i'm having is getting the tooltip to show something different for the different metas. When I do it like that it just adds the whole tooltip to every block. I guess my question is what kind of statement should I use because foreach doesn't seem to be working
L1314[13:58:38] <diesieben07> probably a switch statement.
L1315[13:58:50] <Stiforr> Ok I thought so. Thank you
L1316[13:59:02] <diesieben07> addInformatino is to determine the tooltip JUST for the ItemStack passed in
L1317[13:59:19] <diesieben07> now away for food
L1318[13:59:37] ⇦ Quits: PitchBright (~PitchBrig@CPE00fc8d8a3ce3-CM00fc8d8a3ce0.cpe.net.cable.rogers.com) (Ping timeout: 198 seconds)
L1319[14:00:02] <barteks2x> I'm swithing to eclipse. It at least had GUI that works.
L1320[14:02:51] ⇨ Joins: Uristqwerty (~chatzilla@modemcable078.46-58-74.mc.videotron.ca)
L1321[14:04:45] *** LordFokas|out is now known as LordFokas
L1322[14:05:07] <barteks2x> I'm trying to find where I can download eclipse on their website for 5 minutes and I can't find it
L1323[14:05:22] ⇨ Joins: Ipsis (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk)
L1324[14:05:28] <gigaherz> https://eclipse.org/downloads/
L1325[14:05:35] <gigaherz> second one
L1326[14:05:38] <gigaherz> which doesn't say "EE"
L1327[14:06:10] <gigaherz> but really
L1328[14:06:10] <gigaherz> https://www.eclipse.org/
L1329[14:06:15] <gigaherz> the button is right there at the right
L1330[14:06:36] <barteks2x> I'm too used to "too big button means it's a scammy ad"
L1331[14:07:21] <gigaherz> I use adblock plus
L1332[14:07:27] <gigaherz> so scammy ads are scarce for me
L1333[14:07:47] <barteks2x> I use it. And I still automatically reject big colored buttons.
L1334[14:08:13] <barteks2x> I had the download button in the moddle of my screen for 3 minutes
L1335[14:10:48] ⇦ Quits: McJty (~jorrit@94.225.203.206) (Quit: Leaving)
L1336[14:11:20] <tterrag> you can always hover check links
L1337[14:11:34] <tterrag> chrome tells you where a link takes you when you hover (bottom left)
L1338[14:11:45] <sham1> I think every browser does that
L1339[14:11:49] <tterrag> probably
L1340[14:11:51] <tterrag> but I use chrome :D
L1341[14:11:53] <gigaherz> pretty much
L1342[14:12:03] <sham1> Well I use Firefox
L1343[14:12:13] <Delenas> Waterfox here
L1344[14:12:35] <gigaherz> I use Firefox primarily, but I know that even Edge does that
L1345[14:13:09] <Cypher121> even old ie did that
L1346[14:13:34] <sham1> FFS, even links does that
L1347[14:14:22] <Cypher121> heh, I found a way to make idea shit itself with a 2-liner
L1348[14:15:18] ⇨ Joins: Ordinastie_ (~Ordinasti@87-231-58-94.rev.numericable.fr)
L1349[14:15:58] <barteks2x> And I always forget about that feature
L1350[14:16:05] <Cypher121> https://gist.github.com/Cypher121/29c4093b571cd00fd6f1d1842cb16582
L1351[14:16:33] <sham1> How can you forget that
L1352[14:16:42] <sham1> You literally see it whenever you hover over links
L1353[14:16:53] <Cypher121> and hover over {value} for blinking cursor, no syntax error popup and >10 errors in the log per second
L1354[14:16:55] <sham1> Cypher121, what language is that
L1355[14:16:58] <Cypher121> Kotlin
L1356[14:17:02] <sham1> AH
L1357[14:17:31] <Cypher121> that one fucking language that keeps teasing me with "typealias will be implemented in 1.1"
L1358[14:17:37] <barteks2x> It's not something that pops up in the middle of the screen. So I don't notice it when I look somewhere else
L1359[14:18:39] <Cypher121> meanwhile extending function and trying to assign it with lambda causes it to go full retard
L1360[14:18:51] <sham1> I think every language needs something like: import SomeFuckingLongJ2EENameShitAmaThing as ShortName
L1361[14:19:02] <sham1> Including you Java
L1362[14:19:04] *** sokratis12GR is now known as sokratis|afk
L1363[14:19:12] <Cypher121> well
L1364[14:19:15] <Cypher121> kotlin has that
L1365[14:19:35] <Delenas> new StringBuilderFactoryFactoryBuilder... or something.
L1366[14:19:43] <Delenas> I have seen terrible things.
L1367[14:19:47] <gigaherz> C# has import aliasing ;P
L1368[14:19:48] <Cypher121> import long.as.fuck.names.LongAsFuckName as Enterprise1
L1369[14:19:58] <Cypher121> but it doesn't work for generics
L1370[14:20:00] ⇨ Joins: Vazkii (~Vazkii@a79-169-163-74.cpe.netcabo.pt)
L1371[14:20:09] <gigaherz> using Lol = VeryLongAndOverlyDescriptiveClassName
L1372[14:20:09] <Cypher121> so you can import and change name of Map
L1373[14:20:18] <Cypher121> but not of Map<String, Double>
L1374[14:21:07] ⇦ Quits: Hunterz (~hunterz@62.182.234.189) (Quit: Leaving.)
L1375[14:21:36] <sham1> import qualified Data.ButeString.Lazy as B
L1376[14:21:52] <sham1> Now, I'm not sure why you would want lazy bytestrings, but there you go
L1377[14:22:05] <Cypher121> butestrings*
L1378[14:22:16] <Delenas> [15:21:55] [Server thread/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info. <- Um. How?
L1379[14:22:30] <Delenas> Running off idea, Minecraft Server config..
L1380[14:22:44] <Cypher121> project_folder/run/eula.txt
L1381[14:22:54] <Cypher121> is default location, I think
L1382[14:23:17] <Intektor> hwo many ticks does the world do in 1 sec? its definetly not 50
L1383[14:23:26] <sham1> Because while using strict bytestrings can clog up your memory, they are so much faster
L1384[14:23:27] <gigaherz> 20
L1385[14:23:42] <gigaherz> mc has always run at 20 tps
L1386[14:24:23] <Intektor> ok thanks
L1387[14:26:01] ⇦ Quits: Delenas (~Delenas@2600:1016:b008:5535:2185:6658:c82b:a5cd) (Ping timeout: 198 seconds)
L1388[14:26:23] ⇨ Joins: Delenas (~Delenas@2600:1016:b008:5535:487a:7a66:d54d:e6de)
L1389[14:28:08] <barteks2x> It's ages since I set up mc modding workspace for eclipse. Do I still need to switch some workspace generated by something?
L1390[14:29:47] ⇨ Joins: vox (~voxmods@pool-71-178-241-173.washdc.fios.verizon.net)
L1391[14:30:13] <gigaherz> nah choose a workspace, thne import project
L1392[14:30:28] <gigaherz> well, "project from existing sources" and point it to the eclipse folder
L1393[14:30:39] <gigaherz> assuming you ran "gradlew eclipse" already
L1394[14:31:35] <barteks2x> last time I set up eclipse workspace back in time when I first had to download MCP and then download forge source and run forge setup script
L1395[14:31:45] <gigaherz> ewh
L1396[14:31:49] <gigaherz> well then
L1397[14:32:14] <sham1> Yay
L1398[14:32:15] <gigaherz> gradlew setupDecompWorkspace -> gradlew eclipse -> open workspace -> project from existing sources
L1399[14:32:21] <sham1> I am able to get HTTP responses back
L1400[14:32:41] <gigaherz> \o/
L1401[14:33:38] <barteks2x> Where is the "from existing sources" option?
L1402[14:34:16] <sham1> Anyone who knows about the BSD sockets a little bit. If I have a too little buffer for data, does recv just throw the excess away
L1403[14:34:27] <sham1> When my socket has a SOCK_STREAM
L1404[14:34:29] ⇨ Joins: Samario (~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net)
L1405[14:34:51] <bilde2910> Any Twitch streamers in here?
L1406[14:35:18] <gigaherz> depends on what you ask for
L1407[14:35:34] <gigaherz> I have managed to stream things to twitch a couple times ;P
L1408[14:35:41] <sham1> I have streamed
L1409[14:35:42] <bilde2910> Just want to point out that approaching nirvana has a huge sale that ends soon. :P
L1410[14:35:43] <gigaherz> but I'm not a professional streamer
L1411[14:35:43] <sham1> But
L1412[14:35:49] <sham1> Yeah
L1413[14:35:53] <gigaherz> ah
L1414[14:35:58] <bilde2910> I mean, with their licensing thing, didn't want you to miss it
L1415[14:36:24] <bilde2910> I don't want to post any links here, but it's all on their Twitter page
L1416[14:36:27] ⇨ Joins: Jode (~Jode@pool-173-48-158-177.bstnma.fios.verizon.net)
L1417[14:36:43] <barteks2x> Is it "existing project into workspace" instead of "From existing sources"?
L1418[14:36:57] * gigaherz facepalms
L1419[14:36:57] <gigaherz> yes
L1420[14:37:07] <gigaherz> sorry I use IDEa primarily
L1421[14:37:12] <gigaherz> got the names confused
L1422[14:37:13] <vox> yo ghz
L1423[14:37:13] <gigaherz> XD
L1424[14:37:21] <bilde2910> https://xkcd.com/1053/ :D
L1425[14:37:38] <vox> Opinions on what I should do, if anything, about a mod that's 100% identical functionally to mine?
L1426[14:37:46] <vox> It literally has one.... less... feature
L1427[14:37:57] <vox> And it's only been around after mine
L1428[14:38:10] <vox> It's by someone in here actually
L1429[14:38:47] <gigaherz> did it steal your code?
L1430[14:39:04] <barteks2x> Eclipse won't let me continue, probably because I didn't select a project. But there is no project on the list.
L1431[14:39:17] <gigaherz> if not, then be annoyed and hope yours comes out on top
L1432[14:39:18] <gigaherz> ;P
L1433[14:39:34] ⇦ Quits: Delenas (~Delenas@2600:1016:b008:5535:487a:7a66:d54d:e6de) (Quit: Console.Write("Goodbye, world!");)
L1434[14:39:42] <gigaherz> the thing about free market: ideas are intrinsically worthless, but the willingness to implement them is not.
L1435[14:39:43] <barteks2x> "no projects are found to import"
L1436[14:39:48] <gigaherz> barteks2x: hmf
L1437[14:39:55] <gigaherz> you'll haveto ask someone who has actually modded with eclipse, then
L1438[14:40:30] <barteks2x> If I don't get it working within an hour I'm switching to the slow-but-working netbeans
L1439[14:40:44] <bilde2910> When I mod w/Eclipse, I just open Eclipse in the forge/eclipse folder. It's probably not the right way to do it, but it technically works
L1440[14:41:59] <barteks2x> that worked. I had to tell eclipse to open the project
L1441[14:42:53] <vox> ghz, okay that works
L1442[14:42:58] <vox> I haven't looked at the source yet
L1443[14:43:32] <vox> It's similar, but there's only so much you can do
L1444[14:43:37] <vox> I think it's probably fine but meh
L1445[14:43:41] ⇦ Quits: PBlock96 (~PBlock96@204.116.247.72) (Quit: I used to think I was indecisive, but now I'm not too sure.)
L1446[14:43:45] <vox> Not amazingly happy with this xd
L1447[14:45:56] <capitalthree> PaleoCrafter: yepppp I feel like a dumbass for not even checking inside my jars. what's weird is they seem to have the relocated *and* non-relocated files
L1448[14:46:38] <PaleoCrafter> the ForgeGradle stuff moves stuff that directly matches the package, iirc
L1449[14:46:50] <PaleoCrafter> since packages aren't technically hierarichal :P
L1450[14:47:02] <capitalthree> wait they're not?
L1451[14:47:19] <gigaherz> nope
L1452[14:47:35] <capitalthree> whatever, I'm done thinking. I'm just gonna shamelessly crib PaleoCrafter's build.gradle and see if it works
L1453[14:48:06] <capitalthree> I'm also kinda glad PaleoCrafter *doesn't* use forgelin because that's a whole other thing that just seemed to cause problems for me
L1454[14:48:35] <PaleoCrafter> I use its language adapter :P
L1455[14:48:51] ⇨ Joins: killjoy (~killjoy@71.65.255.183)
L1456[14:49:03] <killjoy> Google now has Parsey McParseFace
L1457[14:49:18] <killjoy> We need a Crafty McCraftFace
L1458[14:50:37] <capitalthree> PaleoCrafter: oh. you do? I don't see it in your gradle
L1459[14:51:01] <PaleoCrafter> I've copied it since I only need the adapter anyways
L1460[14:51:09] <barteks2x> I was just going to complain that Mixins don't work in eclipse, but I realized that I need to copypaste my list of JVM arguments
L1461[14:51:29] <PaleoCrafter> with proper credits :P
L1462[14:52:08] <barteks2x> What... eclipse has 6 run configurations: Client, Client, CubicChunks_Client, CubicChunks_Client, Server, Server
L1463[14:52:13] <barteks2x> Which one should I configure?
L1464[14:52:43] <killjoy> The one that points to GradleStart
L1465[14:53:05] <barteks2x> All configurations that have client in name point to it
L1466[14:53:35] <barteks2x> *one of those CubicChunks_Client is CubicChunks_Server
L1467[14:54:50] <gigaherz> lol
L1468[14:54:53] <barteks2x> I will configure all of them
L1469[14:55:36] <barteks2x> I have more VM options than I thought: -Dfml.coreMods.load=cubicchunks.asm.CoreModLoadingPlugin -Xmx3500M -ea -XX:-OmitStackTraceInFastThrow -Dmixin.debug.verbose=true -Dmixin.debug.export=true
L1470[14:57:06] ⇦ Quits: jk-5 (~jk-5@d549d0e1.cm-10-1b.dynamic.ziggo.nl) (Ping timeout: 201 seconds)
L1471[14:59:14] <Uristqwerty> Any idea why ForgeHooks.SeedEntry isn't public? It seems to me that both informational and modpack-tweaker mods would benefit from access to the seed drop list.
L1472[14:59:29] ⇨ Joins: jk-5 (~jk-5@D549D0E1.cm-10-1b.dynamic.ziggo.nl)
L1473[14:59:30] *** sokratis|afk is now known as sokratis12GR
L1474[14:59:33] <sham1> You can reflect upon that question while using reflection
L1475[15:00:22] <Uristqwerty> Reflection is ugly, so while it certainly works, I'm wondering more about the design decision.
L1476[15:00:55] <sham1> Also, I wonder. Why do I get Bad Requests as response after a valid response
L1477[15:01:44] <Cypher121> >$currentyear
L1478[15:01:51] <Cypher121> >Eclipse
L1479[15:01:55] <Cypher121> >NetBeans
L1480[15:02:23] <gigaherz> Cypher121: there's a bug in IDEA, where under some circumstances, the project tree items bug out
L1481[15:02:37] <gigaherz> for most of us it's rare, and whenever it happens, it's easy to restart
L1482[15:02:47] <gigaherz> but it appears barteks2x has way more issues than usual with that
L1483[15:02:51] <Uristqwerty> It seems to convey the attitude that, even within Forge itself, access modifiers are at most a vague suggestion (until someone installs a SecurityManager, and everything breaks).
L1484[15:03:27] <diesieben07> you are free to submit a PR for an introspection API for the seeds.
L1485[15:03:37] <diesieben07> (fancy words for "a getter")
L1486[15:03:58] <diesieben07> however the seeds currently have a note saying "//TODO: Loot tables?", so any PR regarding this should probably tackle that.
L1487[15:04:35] <barteks2x> It doesn't happen frequently enough to be fixed, but it happens frequently enough for me to want my laptop out of the window when it happens every half hour
L1488[15:04:54] <gigaherz> yeah once every 30min is a lot
L1489[15:04:59] <barteks2x> And always in place where I need to collapse the whole file tree to fix it
L1490[15:05:02] <gigaherz> I get it like once every week at most
L1491[15:05:31] <Cypher121> only happened once for me
L1492[15:05:44] ⇦ Quits: Stiforr (~Stiforr@ip72-216-8-185.pn.at.cox.net) (Ping timeout: 201 seconds)
L1493[15:05:52] <Cypher121> and I barely even close idea, unless I need to invalidate caches
L1494[15:06:01] ⇨ Joins: PitchBright (~PitchBrig@CPE00fc8d8a3ce3-CM00fc8d8a3ce0.cpe.net.cable.rogers.com)
L1495[15:06:09] <gigaherz> fry: CCing people by github name seems to have been really effective ;P
L1496[15:06:17] <fry> indeed :D
L1497[15:06:21] <fry> that's the point :P
L1498[15:06:27] ⇦ Quits: PitchBright (~PitchBrig@CPE00fc8d8a3ce3-CM00fc8d8a3ce0.cpe.net.cable.rogers.com) (Client Quit)
L1499[15:06:37] ⇨ Joins: PitchBright (~PitchBrig@CPE00fc8d8a3ce3-CM00fc8d8a3ce0.cpe.net.cable.rogers.com)
L1500[15:07:03] <gigaherz> there goes a 4th ;P
L1501[15:08:10] <barteks2x> Now I need to come up with eclipse formatting settings that are as close as possible to idea formatting settings and reformat everything again. Or make "reformat the whole file" keybinding so hard to remember and actually press on keyboard that I will never do it.
L1502[15:09:05] <gigaherz> i changed IDEA settings to be close to how VS formats C#
L1503[15:09:06] <gigaherz> ;p
L1504[15:09:52] *** Jared is now known as Jared|Away
L1505[15:10:17] <Cypher121> I think the only things I changed in IDEA for java were related to multiline stuff
L1506[15:10:19] <barteks2x> Or... I will just use default eclipse formatting settings. Defaults have the upside that they are always there.
L1507[15:10:37] <Cypher121> so that it aligned chained methods and binary operations
L1508[15:10:43] <gigaherz> I dislike egyptian brackets
L1509[15:10:52] <Cypher121> wat
L1510[15:11:02] <gigaherz> blah {
L1511[15:11:02] <gigaherz> }
L1512[15:11:08] <barteks2x> You probably never worked on 1366x78 screen
L1513[15:11:13] <barteks2x> *768
L1514[15:11:20] <gigaherz> my laptop is 1366x768
L1515[15:11:35] <gigaherz> Cypher121: http://blog.codinghorror.com/new-programming-jargon/
L1516[15:12:37] <diesieben07> egyptian brackets all the way.
L1517[15:12:43] <Cypher121> ah, newline heathen
L1518[15:12:53] <diesieben07> do you not like egypt? YOU RACIST.
L1519[15:12:54] <barteks2x> Most of my even short methods wouldn't fit on my screen newline brackets
L1520[15:12:59] *** AEnterprise is now known as AEnterpriseAFK
L1521[15:14:53] <Cypher121> if you use k&r you get unmatched indents on brackets
L1522[15:15:19] <Cypher121> if you use newline, you get brackets that are detached from whatever they are part of
L1523[15:15:20] <diesieben07> what?
L1524[15:15:25] <diesieben07> Oh
L1525[15:15:26] <Cypher121> choose your poison
L1526[15:15:26] <gigaherz> what
L1527[15:15:27] <diesieben07> who cares?
L1528[15:15:29] <gigaherz> how's
L1529[15:15:31] <gigaherz> if ..........
L1530[15:15:31] <gigaherz> {
L1531[15:15:36] <gigaherz> detached?
L1532[15:15:37] <diesieben07> that's not k&r
L1533[15:15:43] <diesieben07> oh
L1534[15:15:45] <capitalthree> hey I have good news everybody, it doesn't fucking matter :D
L1535[15:15:45] <diesieben07> i cannto read.
L1536[15:15:50] <capitalthree> newline, or no newline, capitalthree won't mind
L1537[15:15:54] <sham1> capitalthree, yes it does
L1538[15:15:57] <sham1> One is standard
L1539[15:15:59] <sham1> One is not
L1540[15:16:04] <capitalthree> standard is per-codebase
L1541[15:16:07] <gigaherz> both are standard to me
L1542[15:16:09] <barteks2x> the only style I really hate is this: http://pastebin.com/qR6vZk79
L1543[15:16:12] <capitalthree> if you do it consistently, whatever you do is standard
L1544[15:16:15] <Cypher121> per language in fact
L1545[15:16:15] <gigaherz> just I like one more, and it isn't the one they chose for java ;P
L1546[15:16:18] <capitalthree> honestly I don't even care if people do it consistently
L1547[15:16:23] ⇦ Quits: sciguyryan (~sciguyrya@95.211.188.19) (Remote host closed the connection)
L1548[15:16:27] <gigaherz> capitalthree: oh I agree with that
L1549[15:16:31] <capitalthree> personally I do no newline because it's prettier to me but it's the silliest thing to ever complain about
L1550[15:16:33] <gigaherz> I CAN use K&R style just fine
L1551[15:16:43] <gigaherz> it's just given a choice, I prefer the other style
L1552[15:16:51] <gigaherz> so I organized my mods to the format I'm most comfortable with
L1553[15:17:05] <capitalthree> if I'm committing into someone else's code, and they have a consistent style, I follow it
L1554[15:17:11] <gigaherz> I also prefer method names TitleCased
L1555[15:17:18] <gigaherz> but for consistency, I'd never do that in java
L1556[15:17:19] <capitalthree> well now you're just a heathen
L1557[15:17:22] <capitalthree> ok good :P
L1558[15:17:30] <gigaherz> also back when I wrote VB6 code
L1559[15:17:36] <sham1> VB6
L1560[15:17:37] <gigaherz> I used uppercase variable names
L1561[15:17:41] <sham1> I feel sorry for you
L1562[15:17:41] <gigaherz> Dim I as Integer
L1563[15:17:50] <gigaherz> For I = 1 to 5
L1564[15:17:58] <capitalthree> what I do that drives some people nuts is I tab out the ternary operator the same way I'd tab out an if ... else
L1565[15:18:02] <gigaherz> but I'd never ever use uppercase vars on C-like languages
L1566[15:18:02] <Cypher121> I recently have been a witness of worst style I ever saw in java
L1567[15:18:03] <Cypher121> http://hastebin.com/abuyecefot.avrasm
L1568[15:18:31] <gigaherz> I like to align ternary assignations with the =
L1569[15:18:32] <Cypher121> mind how first part has brackets and second doesn't
L1570[15:18:32] <gigaherz> as in:
L1571[15:18:38] <gigaherz> a = something
L1572[15:18:38] <capitalthree> Cypher121: ok that's kinda weird yeah
L1573[15:18:42] <barteks2x> have you ever seen this style being used by someone? http://pastebin.com/qR6vZk79 (I did)
L1574[15:18:42] <gigaherz> ..? true case
L1575[15:18:46] <gigaherz> ..: false case
L1576[15:18:51] <capitalthree> Cypher121: I like to either do no brackets if I can, or do brackets on both
L1577[15:18:57] <gigaherz> where "." are indent spaces
L1578[15:19:15] <gigaherz> Cypher121: EWH
L1579[15:19:16] <capitalthree> barteks2x: aaaah ok that is wrong and bad
L1580[15:19:22] <gigaherz> that breaks so many rules
L1581[15:19:46] <gigaherz> 1. having an if/else where one is {} and the other is standalone
L1582[15:19:49] <sham1> BRB I will go to sleep
L1583[15:19:50] <capitalthree> gigaherz: http://hastebin.com/ejisinipic.coffee
L1584[15:19:52] <gigaherz> 2. the else after a closing }
L1585[15:20:08] <capitalthree> gigaherz: that's a toy example. for something that short I'd do it on one line but you get the idea
L1586[15:20:22] <gigaherz> capitalthree: yeah I'd never do that ;P
L1587[15:20:27] <capitalthree> ^_^
L1588[15:20:27] <barteks2x> I format it like that only for somethign that is too long for one line
L1589[15:20:44] <capitalthree> gigaherz: I just like it because my eyes are already used to following the if statement equivalent of that
L1590[15:20:46] <Cypher121> gigaherz, now I'm mostly using kotlin which doesn't even have ternary. instead you can use if...else as expression
L1591[15:20:48] <gigaherz> if it's too long for one line
L1592[15:20:52] <gigaherz> I turn it back into if/else
L1593[15:20:53] <capitalthree> and in other languages, if statements and if expressions are the same thing :P
L1594[15:21:01] <capitalthree> gigaherz: java doesn't *have* if expressions
L1595[15:21:02] <capitalthree> that's the problem
L1596[15:21:08] ⇦ Quits: founderio (~Thunderbi@p200300C4E3C03A00B10D4931598398E2.dip0.t-ipconnect.de) (Quit: founderio)
L1597[15:21:13] <gigaherz> capitalthree: yeah but you can jsut assign on two branches
L1598[15:21:14] <gigaherz> ;P
L1599[15:21:15] <capitalthree> sometimes turning a ternary operator into if statements means duplicating code to an ugly degree
L1600[15:21:21] <capitalthree> gigaherz: you can but it's gross
L1601[15:21:32] <gigaherz> hmm
L1602[15:21:33] <capitalthree> I prefer to write in a functional style when it is the cleanest solution
L1603[15:21:40] <gigaherz> you can't do lambda inference in java, can you?
L1604[15:21:41] <capitalthree> the fewer identifiers I declare the better
L1605[15:21:46] <capitalthree> inference?
L1606[15:21:54] <capitalthree> java 8 has lambdas but I don't know the details
L1607[15:21:57] <capitalthree> I prefer kotlin and scala
L1608[15:22:06] <gigaherz> (() => 1)();
L1609[15:22:12] <gigaherz> without an underlying interface
L1610[15:22:23] <capitalthree> I doubt it
L1611[15:22:25] <PaleoCrafter> nope, not without a cast :P
L1612[15:22:30] <PaleoCrafter> and you can't invoke it directly anyway :P
L1613[15:22:37] <gigaherz> yeah thought so
L1614[15:22:42] <gigaherz> Idont' think that can be done in C# either
L1615[15:22:44] <capitalthree> and if people regularly have to cast, your programming language design has failed
L1616[15:22:47] <capitalthree> just sayin'
L1617[15:22:54] <gigaherz> no you don't have to
L1618[15:23:15] <gigaherz> Func<A,B> x = (a) => b;
L1619[15:23:17] <PaleoCrafter> it's not as much of a cast as it's a type hint in that case :P
L1620[15:23:19] <PaleoCrafter> also ^
L1621[15:23:33] <gigaherz> eh
L1622[15:23:33] <gigaherz> ->
L1623[15:23:35] <gigaherz> this is hava
L1624[15:23:37] <gigaherz> java*
L1625[15:23:37] ⇦ Quits: PitchBright (~PitchBrig@CPE00fc8d8a3ce3-CM00fc8d8a3ce0.cpe.net.cable.rogers.com) (Ping timeout: 198 seconds)
L1626[15:23:45] <capitalthree> in kotlin I can do this: var a : String|Int; if (a is String) { a + "stuff"; } else { a + 5; }
L1627[15:23:49] <tterrag> also parens there are unnecessary :P
L1628[15:23:56] <tterrag> Function<A,B> foo = a->b
L1629[15:23:57] <tterrag> :P
L1630[15:24:02] ⇦ Quits: SanAndreasP (~SanAndrea@ip-2-201-3-31.web.vodafone.de) (Quit: See ya)
L1631[15:24:12] <gigaherz> yeah I have this principle: if in doubt, add parens
L1632[15:24:17] <tterrag> type checks are worse than casts -_-
L1633[15:24:18] <capitalthree> good principle
L1634[15:24:25] <tterrag> oh of course
L1635[15:24:29] <PaleoCrafter> wat, capitalthree?
L1636[15:24:36] <tterrag> but with lambdas, parens are ONLY not required on single param functions
L1637[15:24:37] <capitalthree> tterrag: then you'll prefer the scala way
L1638[15:24:43] <gigaherz> same as C# ;P
L1639[15:24:55] <gigaherz> _ => 1
L1640[15:25:05] <gigaherz> is "_" a valid identifier in java?
L1641[15:25:06] <capitalthree> tterrag: var a: Either[String, Int]; a match { case b:String => b + "stuff"; case b:Int => b + 5; }
L1642[15:25:18] <capitalthree> er wait no I did it all wrong haha
L1643[15:25:20] <gigaherz> I like to use _ and __ for lambdas where I don't care about the inputs
L1644[15:25:22] <tterrag> capitalthree: you realize that boils down to a type check
L1645[15:25:31] <capitalthree> tterrag: var a: Either[String, Int]; a match { case Left(b) => b + "stuff"; case Right(b) => b + 5; }
L1646[15:25:37] <tterrag> it's just fancy wrapping around instanceof and casting
L1647[15:25:39] <capitalthree> tterrag: yeah. what I wrote was a typecheck and was also wrong
L1648[15:25:43] <diesieben07> gigaherz, thats discouraged afaik :)
L1649[15:25:48] <capitalthree> the correct way to use the Either type is not a typecheck
L1650[15:26:32] <capitalthree> tterrag: though to split hairs, in the case of a kotlin union type, you're writing it to look like a typecheck but it actually desugars to something similar to what scala is doing with Either.
L1651[15:26:32] <diesieben07> yep: http://i.imgur.com/Br7hofg.png
L1652[15:26:53] ⇨ Joins: TobyO (~TobyO@86.131.91.248)
L1653[15:27:05] <TobyO> hey, can anyone help me? I am getting this error: class tobyo.tobyomod.tileentity.TileEntityLaserCutter is missing a mapping! This is a bug!
L1654[15:27:12] <TobyO> when trying to write to NBT
L1655[15:27:16] <tterrag> diesieben07: _ is invalid for any member name isn't it?
L1656[15:27:21] <tterrag> it has to start with a-zA-Z
L1657[15:27:26] <tterrag> wait no
L1658[15:27:28] <tterrag> nvm
L1659[15:27:34] <diesieben07> no its not invalid
L1660[15:27:34] <tterrag> that's strange that they specifically disallowed it on lambdas
L1661[15:27:36] <diesieben07> but discouraged
L1662[15:27:46] <PaleoCrafter> capitalthree, what are you talking about? Kotlin doesn't have union types
L1663[15:27:47] <tterrag> er...your IDE is saying "not allowed"
L1664[15:27:55] <diesieben07> http://i.imgur.com/oXieiph.png
L1665[15:28:00] <diesieben07> lambdas: not allowed
L1666[15:28:05] <diesieben07> anywhere else: discouraged
L1667[15:28:24] <gigaherz> lol
L1668[15:28:25] <capitalthree> PaleoCrafter: oh my god you're right
L1669[15:28:33] <gigaherz> and why the F woudl hey do that?
L1670[15:28:33] <capitalthree> PaleoCrafter: I am confusing kotlin with ceylon D: I feel silly
L1671[15:28:34] <gigaherz> XD
L1672[15:28:37] <PaleoCrafter> lol
L1673[15:28:41] <gigaherz> _-only identifiers are awesome ;P
L1674[15:28:46] <tterrag> <tterrag> that's strange that they specifically disallowed it on lambdas
L1675[15:28:51] <capitalthree> ceylon is awesome but the tooling isn't there yet
L1676[15:28:58] <capitalthree> but I might like ceylon more than kotlin :3
L1677[15:29:32] <barteks2x> Eclipse broke after changind theme to dark...
L1678[15:29:34] <diesieben07> they disallowed it there because they are a new feature in 8
L1679[15:29:43] <diesieben07> they couldn't disallow it everyhwere because source compat
L1680[15:29:58] <gigaherz> meh they could if source level 8 is used
L1681[15:30:14] <gigaherz> there's no reason why newer source levels can't deprecate langauge features
L1682[15:30:29] <gigaherz> while still keeping binary compat and even compiler compat if using older source levels
L1683[15:31:38] <barteks2x> Isn't _ in (at least class) names going to be deprecated in java 9?
L1684[15:31:39] <capitalthree> I like how the same people who reject kotlin out of hand for the minor inconvenience of being slightly unfamilliar, discuss at length the things they wish java would fix and whether it's feasible :3
L1685[15:31:42] <diesieben07> ask oracle :D
L1686[15:33:05] <sham1> I don't like how kotlin looks
L1687[15:33:35] <capitalthree> sham1: because it's different? :P
L1688[15:33:52] <sham1> Because it is too verbose in my view
L1689[15:33:57] <capitalthree> wait what o.o
L1690[15:33:59] <capitalthree> compared to java?
L1691[15:34:04] <capitalthree> what is longer in kotlin than in java?
L1692[15:34:05] <gigaherz> they chose "fun" as a way to declarea function
L1693[15:34:06] <sham1> (not to say java isn't)
L1694[15:34:06] ⇦ Quits: Ipsis (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk) (Ping timeout: 384 seconds)
L1695[15:34:08] <gigaherz> that's enoguh reason for me to dislike it
L1696[15:34:15] <capitalthree> sham1: oh, so kotlin doesn't go far enough?
L1697[15:34:21] <sham1> indeed
L1698[15:34:31] <capitalthree> scala fan then?
L1699[15:34:37] <diesieben07> but fun is fun!
L1700[15:34:38] <gigaherz> sham1 wants to program in maths notation
L1701[15:34:40] <sham1> Would like to be able to use frege whenever
L1702[15:34:52] <gigaherz> using squiggly things on a piece of paper that can't be represented on digital form
L1703[15:34:55] <capitalthree> ah I remember what frege is :D does frege have easy compatibility with java libs?
L1704[15:35:00] <capitalthree> I'd love to see someone write a minecraft mod in frege
L1705[15:35:21] <sham1> I don't think that I can use annotations in frege code
L1706[15:35:39] <sham1> Which are needed for a mod to work
L1707[15:35:51] <capitalthree> oh xD
L1708[15:35:56] <capitalthree> so I guess it diverges too much
L1709[15:35:59] <barteks2x> Dark theme is broken in eclipse.
L1710[15:36:14] <diesieben07> it has always been
L1711[15:36:15] <capitalthree> it's worth noting that kotlin is as close to java, because it's designed for extremely tight interoperability with java and a smooth transition path
L1712[15:36:24] <diesieben07> eclipse does by design not support themes properly
L1713[15:36:30] <sham1> But yeah, as giga said, I like my maths notation in programming
L1714[15:36:38] <capitalthree> intellij's darkula theme's pretty good ;)
L1715[15:37:04] <capitalthree> sham1: ok but compared to java, do you still dislike kotlin? :P
L1716[15:37:18] <diesieben07> darkula is amazing
L1717[15:37:21] <sham1> Compared to Java. no
L1718[15:37:37] <sham1> I view it as Scala-lite
L1719[15:37:41] <capitalthree> yeah me too
L1720[15:37:49] <capitalthree> scala is my preference for a major project from scratch
L1721[15:37:49] <gigaherz> wait WTF
L1722[15:38:00] <capitalthree> kotlin is my preference for working in a mostly java environment
L1723[15:38:04] <gigaherz> [22:11] (gigaherz): Cypher121: http://blog.codinghorror.com/new-programming-jargon/
L1724[15:38:15] <gigaherz> so I was looking at that page after linking it
L1725[15:38:21] <gigaherz> I hadn't looked at it in ages
L1726[15:38:25] <gigaherz> and then I saw #16
L1727[15:38:32] <gigaherz> is that trump?
L1728[15:38:44] <PaleoCrafter> looks like it
L1729[15:38:56] <capitalthree> yep
L1730[15:39:37] <capitalthree> "Pokémon Exception Handling" <-- yessss, aka every minecraft mod and most java code
L1731[15:39:42] <sham1> Yes, it's The Donald
L1732[15:40:20] <sham1> Better to catch Exception than Throwabld
L1733[15:40:26] <diesieben07> while we speak of bad programming, if any of you want to see a truly exceptional java enterprise abstractionfest, look at eclipse aether.
L1734[15:40:28] <sham1> Throwable*
L1735[15:40:31] <capitalthree> sham1: I guess, it depends on stuff :P
L1736[15:40:50] <capitalthree> though if you're getting surprise throwables that aren't exceptions, shit's probably jacked up.
L1737[15:40:57] <sham1> Ye
L1738[15:41:31] <capitalthree> in scala we don't use exceptions
L1739[15:41:47] <capitalthree> if you have a function that might error out, you have it return Either[DesiredType, ErrorType]
L1740[15:41:48] <sham1> Either a b
L1741[15:41:52] <capitalthree> yeps
L1742[15:42:04] <PaleoCrafter> or Try :P
L1743[15:42:04] <sham1> Or Maybe a if you want that
L1744[15:42:05] <barteks2x> I acciedentally discovered that I can use ctrl+f in hexchat
L1745[15:42:16] <capitalthree> PaleoCrafter: no, try is exception handling
L1746[15:42:30] <PaleoCrafter> The Try type, dude :P
L1747[15:42:33] <PaleoCrafter> http://www.scala-lang.org/api/2.9.3/scala/util/Try.html
L1748[15:42:58] <capitalthree> ohhhhhhh
L1749[15:43:16] <capitalthree> lol I feel silly. I am a professional scala developer and I didn't know this, thanks :)
L1750[15:43:24] <sham1> I actually implemented Try, Success, and Failure into Java once
L1751[15:43:30] <sham1> Was fun
L1752[15:43:48] <capitalthree> watch out, fun really pisses off gigaherz
L1753[15:44:10] <gigaherz> no I like fun
L1754[15:44:17] <gigaherz> but it doesn't belong on serious code
L1755[15:44:26] <gigaherz> hence: it's impossible to create a formally serious function in kotlin
L1756[15:44:28] <gigaherz> since it's all "fun"
L1757[15:44:31] <sham1> Like Comic Sans?
L1758[15:44:38] <fry> there's no such thing as "serious code" :D
L1759[15:44:40] <gigaherz> yes kotlin is the comic sans of programming
L1760[15:44:54] <gigaherz> comic sans is a nice font -- for comics and school children
L1761[15:45:30] <sham1> There are better fonts for comics
L1762[15:45:36] <capitalthree> gigaherz: ok you make a valid point, but I'd counter that you just proved kotlin is perfect for minecraft modding :D
L1763[15:45:45] <gigaherz> oh I'm not saying it isn't
L1764[15:45:46] <sham1> Comic Sans is only good because it is memetic
L1765[15:45:48] <gigaherz> I just can't take it seriously
L1766[15:45:49] <gigaherz> ;P
L1767[15:46:13] <capitalthree> gigaherz: fair enough. I can't take someone seriously who's major issue with a programming language is the names of keywords, so we're even
L1768[15:46:16] <capitalthree> ;)
L1769[15:46:17] <thor12022> I dunno, I have to do serious programming at work, the modding is where the fun has to go
L1770[15:46:39] <sham1> let x = 2 * y in y + x
L1771[15:47:14] <thor12022> they don't like it if you experiment with a new idea on DAL-C software
L1772[15:47:15] <gigaherz> I started thinking about a language the other day while at bed
L1773[15:47:16] <capitalthree> what language is that?
L1774[15:47:27] <sham1> That was haskell
L1775[15:47:32] <gigaherz> the idea for the langauge would be that there's words that don't mean anything
L1776[15:47:38] <sham1> The let-syntax
L1777[15:47:39] <gigaherz> and can be used to make the language more english-like
L1778[15:47:40] <gigaherz> https://gist.github.com/gigaherz/53593dfeb31f44bf26a3db89e87ec9d8
L1779[15:47:44] <gigaherz> this is what I came up with
L1780[15:47:50] ⇦ Quits: agowa338 (~Thunderbi@p5491842B.dip0.t-ipconnect.de) (Quit: agowa338)
L1781[15:47:50] <gigaherz> highly incomplete -- I was tired
L1782[15:48:11] <gigaherz> all the words in lowercase are "filler"
L1783[15:48:15] ⇨ Joins: agowa338 (~Thunderbi@p5491842B.dip0.t-ipconnect.de)
L1784[15:48:21] <sham1> Still better than Scrath
L1785[15:48:36] <sham1> Scratch*
L1786[15:48:42] <fry> careful, gigaherz, you might invent SQL
L1787[15:49:00] <gigaherz> XD
L1788[15:49:09] <sham1> But SQL is like the most used functional programming language
L1789[15:49:11] <capitalthree> oh my god. can we *not* try to make programming "english-like"?
L1790[15:49:13] <Ordinastie_> the last time someone wanted to make programming look more like english, they made VB...
L1791[15:49:22] <gigaherz> capitalthree: why do you think I stopped?
L1792[15:49:26] <gigaherz> XD
L1793[15:49:26] <Ordinastie_> so, now think about what you're doing there
L1794[15:49:34] <gigaherz> I actually liked VB6
L1795[15:49:39] <capitalthree> the thing that drives me the MOST nuts in scala is this fetishization of making ASTs by abusing implicits
L1796[15:49:43] <gigaherz> the only reason I gave it up was C#
L1797[15:50:01] <capitalthree> it's really common to define implicit conversions *from* basic types to support this
L1798[15:50:22] <capitalthree> like "5 seconds" because there's an implicit conversion from Int to a wrapper with .seconds to return a time unit
L1799[15:50:31] <gigaherz> lol
L1800[15:50:40] <fry> DSLs have ther place :P
L1801[15:50:45] <capitalthree> because it would be the end of the goddamned world to do "seconds(5)" or even "5 * second"
L1802[15:50:58] <sham1> Obligatory https://esolangs.org/wiki/English
L1803[15:51:01] ⇦ Quits: TobyO (~TobyO@86.131.91.248) (Quit: Leaving)
L1804[15:51:02] <capitalthree> we gotta abuse implicit conversions to make it ever so slightly less code looking
L1805[15:51:07] <diesieben07> TimeUnit.SECONDS.toNanos(5)
L1806[15:51:12] * diesieben07 starts the java bulldozer
L1807[15:51:16] <capitalthree> well that's gross
L1808[15:51:40] <capitalthree> but scala has operator overloads already, it could just have a time constant for each time unit and overload math
L1809[15:51:49] <capitalthree> 5*hour + 30*minute
L1810[15:52:02] <capitalthree> is that really worse than 5 hours + 30 minutes
L1811[15:52:21] ⇨ Joins: M4thG33k (~M4thG33k@173-16-169-233.client.mchsi.com)
L1812[15:52:23] <capitalthree> yup, we definitely need our integers getting implicitly converted willy nilly
L1813[15:52:27] <fry> postfix calls with no argument list were deprecated for a reason :P
L1814[15:52:45] <diesieben07> wait(5 minutes) is actulaly pretty nice
L1815[15:52:49] <diesieben07> i don't see muc wrong with it :D
L1816[15:52:59] <fry> 5.hours + 30.minutes is much easier to parse for both people and computors :P
L1817[15:53:00] <capitalthree> diesieben07: the problem is the way it's done semantically
L1818[15:53:04] <diesieben07> if it's a value class (so no overhead) and it's constrained to the scope
L1819[15:53:05] <sham1> Except for waiting 5 mins
L1820[15:53:29] <capitalthree> diesieben07: by defining a global implicit type conversion so that an int will turn into a time wrapper any time the compiler decides it can
L1821[15:53:43] <diesieben07> but you have to import it, don't you?
L1822[15:53:48] <fry> you do :P
L1823[15:53:50] <M4thG33k> Is there a good way to make a block that only the player who places it can pass through? I've tried overriding addCollisionBoxToList but that doesn't seem to work the correct way...
L1824[15:54:01] <capitalthree> yeah but if you import it right before use, it's not shorter anyways
L1825[15:54:19] <diesieben07> yes but you dont have this conversion everywhere
L1826[15:54:20] <capitalthree> and if you import it globally in your code file, you have that conversion in scope in your entire code file
L1827[15:54:27] <diesieben07> except when you autocomplete and see "ah yeah i can do this here"
L1828[15:54:50] <capitalthree> ok but again, "wait(seconds(5))" is fine
L1829[15:54:53] <capitalthree> it's not even longer
L1830[15:54:59] <capitalthree> and it requires no implicit behavior
L1831[15:55:04] <capitalthree> it's clean as can be
L1832[15:55:14] <diesieben07> and if that "minutes" method returns something like a Duration class...
L1833[15:55:22] <diesieben07> and is defined in the Duration class...
L1834[15:55:24] <diesieben07> i dont see a problem
L1835[15:55:25] <capitalthree> (inb4 "omg it's 1 character longer")
L1836[15:55:29] <diesieben07> val d = 5 minutes;
L1837[15:55:32] <diesieben07> i dont see a problem :D
L1838[15:55:43] <fry> why are people so against implicits all of a sudden? :P
L1839[15:55:46] <fry> they're amazing
L1840[15:55:48] <diesieben07> i am not :)
L1841[15:56:05] <capitalthree> I'm just against implicit conversions from basic types
L1842[15:56:17] <fry> why? :P
L1843[15:56:21] <diesieben07> its not really an implict conversion anymore
L1844[15:56:26] <capitalthree> when you make a type that is designed to be used for your AST, implicit conversions from *that* are fine
L1845[15:56:28] <diesieben07> it's scala's version of an extension method
L1846[15:56:31] <capitalthree> that's expected
L1847[15:56:46] <capitalthree> but an int should be an int and I should be explicit when I wrap my int
L1848[15:56:47] <diesieben07> in other languages (kotlin) you'd write fun Int.minutes() { ... }
L1849[15:56:51] <capitalthree> again, it's not even longer
L1850[15:57:00] <diesieben07> i don't think scala is the langauge for you my man :D
L1851[15:57:10] <fry> why does it have to be explicit? :P
L1852[15:57:17] <diesieben07> also, why are just "primitives" this holy grail?
L1853[15:57:18] <capitalthree> scala's great, it's just that other people do dumb shit trying to be cute
L1854[15:57:28] <capitalthree> fry: because the implicit version doesn't buy you anything useful
L1855[15:57:36] <diesieben07> why are other implict conversions (e.g. in arrays and whatnot) ok?
L1856[15:57:44] <diesieben07> it buys you nice code
L1857[15:57:50] <capitalthree> everything should be as explicit as possible until there's a real gain to abstracting over it
L1858[15:58:07] <capitalthree> needless or premature abstraction is why computers are overly complicated
L1859[15:58:08] <fry> define "real gain" :P
L1860[15:58:20] <diesieben07> i see "3 hours + 5 minutes" as a real gain over "hours(3) + minutes(5)
L1861[15:58:21] <capitalthree> fry: please describe to me what is gained in this case
L1862[15:58:28] <capitalthree> diesieben07: seriously?
L1863[15:58:31] <diesieben07> yes.
L1864[15:58:38] <diesieben07> the 2nd one takes longer to parse for me
L1865[15:58:44] <diesieben07> the first one i know immediately how long that dealyis
L1866[15:58:45] <capitalthree> diesieben07: how about 3*hour + 5*minute?
L1867[15:58:47] <diesieben07> 2nd one i have to think.
L1868[15:58:48] <capitalthree> not good enough?
L1869[15:59:11] <diesieben07> its decent, but why avoid the better version?
L1870[15:59:20] <capitalthree> it IS the better version
L1871[15:59:24] <capitalthree> because it's more clear
L1872[15:59:25] <diesieben07> you havent given any reason exceept "i dont like it"
L1873[15:59:29] <fry> "hours(3) + minutes(5)" and "3*hour + 5*minute" on't be any faster than "3 hours + 5 minutes" :P
L1874[15:59:45] <capitalthree> there is no fucking around about what's happening. you took a number, multiplied it by a time unit, and added it to another one
L1875[15:59:53] <fry> and I prefer "3.hours + 5.minutes" :P
L1876[15:59:55] <capitalthree> to me that's the clearest code
L1877[16:00:05] <diesieben07> and if you know scala there is no fucking around in my versino either
L1878[16:00:09] <capitalthree> fry: which is exactly the same thing, scala people just like to leave off the dots
L1879[16:00:11] <diesieben07> you take 3, you call a method on it.
L1880[16:00:32] <fry> again, you can't leave off the dots since 2.11 without a deprecation warning
L1881[16:00:59] * diesieben07 is sad panda
L1882[16:00:59] <fry> and I do agree that "3 hours + 5 minutes" is way too hard to parse semantically
L1883[16:01:01] <capitalthree> fry: lol scala's deprecating dotless dereferencing?
L1884[16:01:04] <diesieben07> why?
L1885[16:01:12] <PaleoCrafter> just for postfix stuff
L1886[16:01:30] <capitalthree> diesieben07: except it's not a method that exists on integers. it's a method added by an implicit. that's an abstraction you have to know about to read the code.
L1887[16:01:32] <fry> yup, infix will obviously stay :P
L1888[16:02:09] <capitalthree> whereas "seconds(5)" is something everyone will instantly recognize because it's simply a function taking an integer
L1889[16:02:29] <capitalthree> now this is a toy example, nobody's going to be confused by "5 minutes"
L1890[16:02:29] <fry> yes, with implicits you pay the cost of them being ... implicit
L1891[16:02:52] <fry> so you should be careful when you choose which ones to use
L1892[16:02:58] <capitalthree> but the more abstractions of this kind you add, the more your code is foreign to someone who knows the base language but not your own special abstractions
L1893[16:03:20] <fry> but that's a whole another argument to "no implicit conversions of primitive types"
L1894[16:03:25] <capitalthree> so I only suggest implicit conversions from a type you made, where you designed the abstraction, and someone using the type *has* to know that
L1895[16:03:46] <capitalthree> fry: it's not a primitive type in the jvm sense
L1896[16:03:57] <capitalthree> I am just talking about the standard types people think they're used to
L1897[16:04:01] ⇨ Joins: PitchBright (~PitchBrig@CPE00fc8d8a3ce3-CM00fc8d8a3ce0.cpe.net.cable.rogers.com)
L1898[16:04:05] <diesieben07> i am not actively using scala, but i am fairly sure there are many implicit conversions at play when interacting with scala collctions
L1899[16:04:08] <diesieben07> why are those ok?
L1900[16:04:13] <capitalthree> an int should stay an int
L1901[16:04:16] ⇦ Quits: sokratis12GR (kiwiirc@62.221.158.165) (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
L1902[16:04:21] <capitalthree> and by int I mean Int
L1903[16:04:36] <PaleoCrafter> diesieben07, not really implicit conversions, mostly just implicit parameters as type evidences :P
L1904[16:04:37] <capitalthree> diesieben07: what do you mean?
L1905[16:04:44] <fry> val f: Float = 0
L1906[16:04:45] <capitalthree> yeah
L1907[16:04:47] <diesieben07> that, what paleo said
L1908[16:04:50] <fry> should that work?
L1909[16:04:52] <capitalthree> type inferrence is way different from implicits
L1910[16:05:06] <diesieben07> he said implict parameters
L1911[16:05:08] <diesieben07> not type inference
L1912[16:05:18] <diesieben07> i think it's if you do List(1, 2, 3) and stuff like that
L1913[16:05:27] <diesieben07> it uses those cray CanBuildFrom things which nobody understands
L1914[16:05:33] ⇦ Quits: Elec332 (~Elec332@ip5456d4a5.speed.planet.nl) (Ping timeout: 201 seconds)
L1915[16:05:34] <fry> I do :D
L1916[16:05:40] <capitalthree> fry: yes but that works because scala knows the expression's expected type is Float and the numeric literal is allowed to check as multiple types
L1917[16:05:42] <diesieben07> well you... you understand everything.
L1918[16:05:43] <gigaherz> implicit literal conversion is different form something that is definitely an int, being automatically casted to some other type
L1919[16:05:43] <PaleoCrafter> it's also for stuff like Seq.sum etc.
L1920[16:05:47] <gigaherz> from*
L1921[16:05:49] <capitalthree> not because scala implicitly converts ints to floats in general
L1922[16:06:09] <vox> newline <3
L1923[16:06:14] <diesieben07> thats just a compiler peephole optimization
L1924[16:06:22] ⇨ Joins: infinitefoxes__ (~infinitef@108.19.51.185)
L1925[16:06:33] <diesieben07> really val f: Float = 0 should compile to val f: Float = Float.implictFromInt(0);
L1926[16:06:39] <diesieben07> or however that method would be clled.
L1927[16:06:40] <capitalthree> gigaherz and I said the same thing basically
L1928[16:06:57] <diesieben07> again, just a compiler optimization.
L1929[16:07:21] <PaleoCrafter> on a sidenote: fucking England, should have swallowed them whole last time I had the chance (EU4) xD
L1930[16:07:21] <capitalthree> diesieben07: no it's a literal. it compiles to something val f:Float = 0.0
L1931[16:07:29] <diesieben07> yes
L1932[16:07:32] <capitalthree> there is no runtime call to a type conversion
L1933[16:07:34] <diesieben07> and the fact that it does is an optimization.
L1934[16:07:48] ⇦ Quits: M4thG33k (~M4thG33k@173-16-169-233.client.mchsi.com) (Quit: I've derivatives to take...adios!)
L1935[16:07:48] <capitalthree> no it's the fundamental semantics
L1936[16:07:57] <capitalthree> you're acting like scala implicitly converts ints to floats
L1937[16:07:59] <capitalthree> it does NOT
L1938[16:08:06] ⇦ Quits: infinitefoxes_ (~infinitef@108.19.51.185) (Ping timeout: 384 seconds)
L1939[16:08:15] <capitalthree> what it does do is allow a literal to typecheck as a float
L1940[16:08:30] <capitalthree> val a = 5; val b : Float = a; // compile error
L1941[16:09:03] <vox> Man I need to get myself some cool textures
L1942[16:09:21] <vox> I'm waiting on a model from Biochemic but what should I do for placeholder before then?
L1943[16:09:22] <vox> Oh man
L1944[16:09:44] <vox> I might just literally use Paint.NET and draw some numbers on a bunch of images
L1945[16:09:50] <vox> boom textures xd
L1946[16:09:57] <diesieben07> then val f: Float = 1; should imho not compile :D
L1947[16:10:13] <diesieben07> (in scala, where they are strict about everything :D )
L1948[16:10:31] <PaleoCrafter> nah, it's not Kotlin after all :P
L1949[16:10:32] <capitalthree> diesieben07: I think what you are not understanding is that scala typechecking is not in-to-out, it goes both ways
L1950[16:10:36] <fry> capitalthree: https://github.com/scala/scala/blob/v2.11.7/src/library/scala/Int.scala#L473
L1951[16:10:44] <capitalthree> an expression can do different things to meet the expected type
L1952[16:10:48] <diesieben07> OHHHH
L1953[16:10:51] <diesieben07> so I WAS right
L1954[16:10:55] <diesieben07> SUCK IT! :D
L1955[16:11:20] <fry> 0 is always Int, according to the spec
L1956[16:11:23] <capitalthree> oh goddamnit
L1957[16:11:33] <capitalthree> ok well kotlin doesn't :P
L1958[16:11:37] <diesieben07> LOL
L1959[16:11:43] <fry> there's no hardcoded implicits in Scala, to my knowledge
L1960[16:11:45] <capitalthree> I specifically remember having to convert ints to doubles explicitly
L1961[16:11:50] <diesieben07> kotlin doesn't have implicts :)
L1962[16:11:58] <capitalthree> also btw, that implicit exists
L1963[16:12:02] <gigaherz> ewh
L1964[16:12:03] <capitalthree> it doesn't mean most people import it
L1965[16:12:12] <fry> sigh
L1966[16:12:19] <diesieben07> le sig
L1967[16:12:19] <fry> it's in Int companion object
L1968[16:12:22] <diesieben07> fuck
L1969[16:12:25] <PaleoCrafter> Kotlin's being explicit about everything is quite annoying at times
L1970[16:12:28] <fry> which is in the implicit scope of Int
L1971[16:12:35] <fry> so, it's always in scope :P
L1972[16:12:38] ⇦ Quits: alex_6611 (~alex_6611@p5DC1647E.dip0.t-ipconnect.de) (Ping timeout: 384 seconds)
L1973[16:12:45] <capitalthree> well hmm I guess everything's recursively imported in scala.lang
L1974[16:13:02] <capitalthree> but if it were from a user library, import Int would be different than import Int._
L1975[16:13:09] <capitalthree> ok. anyways I disagree with that
L1976[16:13:17] <capitalthree> ints can lose precision going to floating point
L1977[16:13:26] <capitalthree> therefore it should not be implicitly converted
L1978[16:13:27] <fry> companion object implicit scope is exactly what you were talking about - only the creator of the object has access to it
L1979[16:13:41] <gigaherz> they can, but that's what compiler warnings are for ;P
L1980[16:13:54] <fry> you can disagree all you want, but this is what java devs expect
L1981[16:14:00] <Forecaster> how do you tell if a player is an operator?
L1982[16:14:04] <capitalthree> diesieben07: I am glad kotlin doesn't have implicits
L1983[16:14:11] <diesieben07> so am I
L1984[16:14:15] <diesieben07> it would not be right for what kotlin is.
L1985[16:14:21] <capitalthree> implicits are occasionally useful, but apparently far too goddamned tempting for people to have :P
L1986[16:14:30] <PaleoCrafter> it could at least coerce some literals
L1987[16:14:36] <fry> yes, it may actually make Kotlin useful, can't have that :P
L1988[16:14:39] <Forecaster> or what gamemode they're in
L1989[16:14:42] <gigaherz> IMO
L1990[16:14:59] <capitalthree> if I designed a language, I would allow implicits but they'd have to be defined on the type they're converting from
L1991[16:15:12] <gigaherz> any decent language should accept a numeric literal like "123" to be compiled into a float/double without requiring an actual cast
L1992[16:15:25] <diesieben07> Forecaster, MinecraftServer#getPlayerList().getOppedPlayers().getEntry(EntityPlayer#getGameProfile) != null
L1993[16:15:28] <capitalthree> gigaherz: I agree
L1994[16:15:38] <Intektor> Is it possible to make the entity I attack with my own custom damage source to have a no hitprotection?
L1995[16:15:41] <gigaherz> now something like "123456789" wouldn't fit into a float
L1996[16:15:43] <capitalthree> but not a value that's unknown at compile time
L1997[16:15:43] <gigaherz> without precision loss
L1998[16:15:52] <gigaherz> so that could be rejected, or at least a warning could be issued
L1999[16:15:57] <capitalthree> I say rejected
L2000[16:16:04] <capitalthree> you can still do .toFloat if you want it
L2001[16:16:09] <Forecaster> diesieben07: thanks
L2002[16:16:14] <diesieben07> Forecaster, EntityPlayerMP#interactionManager.getGameType()
L2003[16:17:40] <diesieben07> Intektor, override attackEntityAsMob
L2004[16:18:13] <capitalthree> diesieben07: well sorry for arguing at length and being wrong :P
L2005[16:18:14] <diesieben07> you should use DamageSource.causeMobDamage(...).setDamageByPassesArmor
L2006[16:18:22] <diesieben07> lol don't worry, it's all good
L2007[16:18:33] <diesieben07> i probably have done the same thing
L2008[16:18:41] <capitalthree> diesieben07: though I hope you'll agree that it *can* be done with literals, without any kind of implicit type conversion
L2009[16:18:52] <diesieben07> of course
L2010[16:18:55] <diesieben07> but that would not be scala-like :D
L2011[16:18:57] <capitalthree> the scala typechecker *can* change what an expression does from the outside
L2012[16:19:07] <diesieben07> they try to keep as much out of the language spec as possible
L2013[16:19:23] <diesieben07> as evidenced by the fact that they still do not have proper enums.
L2014[16:19:33] <capitalthree> oh well, most languages have a broken culture and that's their downfall
L2015[16:19:54] <fry> s/languages/communities/
L2016[16:19:56] <capitalthree> even java would be somewhat nice if everyone actually used nullability annotations!
L2017[16:20:03] * diesieben07 does
L2018[16:20:06] <capitalthree> :D
L2019[16:20:12] * capitalthree gives diesieben07 a large cookie
L2020[16:20:17] <diesieben07> but that is the least of problems of java libraries
L2021[16:20:24] <fry> if only nullability annotations were well-defined and useful :P
L2022[16:20:46] <diesieben07> shit like: DefaultRepositorySystemSession defaultRepositorySystemSession = MavenRepositorySystemUtils.newSession();
L2023[16:20:51] <diesieben07> cannot be fixed by nullability :D
L2024[16:20:54] <capitalthree> yeah ultimately I just code very defensively against java libraries
L2025[16:21:03] <capitalthree> diesieben07: oh yeah that needs some type inferrence
L2026[16:21:08] <diesieben07> no
L2027[16:21:10] <capitalthree> also not using variable names that long
L2028[16:21:16] <diesieben07> that needs less "omg we so decoupled"
L2029[16:21:22] <diesieben07> "omg we so decoupled, we fall apart"
L2030[16:21:37] * capitalthree shrug
L2031[16:22:11] <capitalthree> in kotlin it would just be, val sess = MavenRepositorySystemUtils.newSession
L2032[16:22:21] <fry> btw, the spec does mention "weak conformance" http://www.scala-lang.org/files/archive/spec/2.11/03-types.html#weak-conformance
L2033[16:22:38] <diesieben07> well i have like 20 of those lines
L2034[16:22:47] <fry> but I'm pretty sure that numeric hierarchy is implemented by those implicits :P
L2035[16:22:47] <diesieben07> just to get eclipse aether to resolve a list of dependencies for me
L2036[16:23:56] <diesieben07> is there a newer spec of mcmod.info than this: https://github.com/MinecraftForge/FML/wiki/FML-mod-information-file ?
L2037[16:24:15] <capitalthree> "SAM conversion: if T corresponds to a function type, and U declares a single abstract method whose type corresponds to the function type U′, T<:wU′."
L2038[16:24:19] <capitalthree> hey this is pretty cool
L2039[16:24:38] <capitalthree> basically means you can just shove a lambda into a random bespoke attempt at higher order functions in java
L2040[16:24:45] <capitalthree> if I understand correctly
L2041[16:24:50] <fry> java8+
L2042[16:24:56] <fry> iirc
L2043[16:25:01] <capitalthree> yeah but this seems to be for supporting earlier versions
L2044[16:25:08] <gigaherz> hm?
L2045[16:25:10] <fry> so, it integrated seamlessly with java lambdas
L2046[16:25:23] <capitalthree> :)
L2047[16:26:41] <fry> does kotlin even have lambdas? :P
L2048[16:26:48] <capitalthree> yes!
L2049[16:26:51] ⇨ Joins: Cojo (~Cojo@cpe-174-109-246-116.nc.res.rr.com)
L2050[16:26:55] <capitalthree> I wouldn't love it if it didn't
L2051[16:26:59] <fry> and how do those work with java8?
L2052[16:27:04] <capitalthree> for a managed language to not have lambdas is pathetic
L2053[16:27:09] <capitalthree> fry: that I dunno.
L2054[16:27:20] <capitalthree> I'd guess they made it interchangeable
L2055[16:27:20] <diesieben07> they dont work with j8 at all
L2056[16:27:23] <capitalthree> oh D:
L2057[16:27:23] <diesieben07> kotlin is purely j6
L2058[16:27:24] <fry> well, it doesn't have pattern matching, so nothing will surprize me :P
L2059[16:27:27] * capitalthree cries
L2060[16:27:48] <capitalthree> fry: I was petitioning the ceylon lead dev for a while to add pattern matching
L2061[16:27:56] <capitalthree> dunno if I successfully convinced him...
L2062[16:29:07] <Cypher121> kotlin devs are supposedly working on better java8 targeting
L2063[16:30:00] <Cypher121> but yeah, lambdas https://gist.github.com/Cypher121/29c4093b571cd00fd6f1d1842cb16582
L2064[16:31:07] <Cypher121> fucking lambdas https://github.com/Cypher121/KtArithmeticParser/blob/master/src/main/kotlin/Operations.kt#L10-L16
L2065[16:31:09] ⇦ Quits: wizjany (~wizjany@2604:180::c1e2:128b) (Remote host closed the connection)
L2066[16:32:04] <thecodewarrior> I'm trying to install forge on a server, but lzma, jopt-simple, vecmath, and trove4j are giving the installer 403 errors.
L2067[16:33:08] <masa> which version?
L2068[16:33:23] <masa> I managed to install one earlier today without issues
L2069[16:34:08] <thecodewarrior> 1.9
L2070[16:34:45] <thecodewarrior> https://libraries.minecraft.net/net/sf/trove4j/trove4j/3.0.3/trove4j-3.0.3.jar.pack.xz
L2071[16:37:01] <masa> same here, but it still says insatlled succesfully
L2072[16:37:34] <thecodewarrior> yeah, but when it launches it complains about not being able to find log4j
L2073[16:37:42] <progwml6> those 3 libraries should be pulled down as jars from mojang
L2074[16:37:45] *** Mine|dreamland is now known as minecreatr
L2075[16:38:27] <masa> hm, launches just fine for me
L2076[16:38:29] ⇨ Joins: Stiforr (~Stiforr@72.216.8.185)
L2077[16:41:26] ⇦ Quits: Davnit (~Davnit@71-47-97-111.res.bhn.net) (Read error: Connection reset by peer)
L2078[16:42:07] <Cypher121> you probably have it cached
L2079[16:44:48] <barteks2x> The one thing I never understood about factory methods is how are they useful? What makes them better?
L2080[16:45:24] <diesieben07> a factory method can decide which implementation to use without exposing that to the end user
L2081[16:45:37] <diesieben07> see EnumSet in the JDK for example
L2082[16:45:53] <barteks2x> SetUniqueList.setUniqueList(new ArrayList<>()); how is this better than new SetUniqueList<>(new ArrayList<>())
L2083[16:46:11] ⇨ Joins: cpw|out (~cpw@76-10-144-162.dsl.teksavvy.com)
L2084[16:46:11] MineBot sets mode: +o on cpw|out
L2085[16:46:14] <thecodewarrior> If I try without the .pack.xz it downloads fine, but then I don't know where to put it. :P
L2086[16:46:14] ⇨ Joins: _infinitefoxes_ (~infinitef@108.19.51.185)
L2087[16:46:18] *** kroeser is now known as kroeser|away
L2088[16:46:26] <diesieben07> the factory method may decide that based on the List implementation you give it it can provide an optimized implementation
L2089[16:46:33] *** cpw|out is now known as cpw
L2090[16:46:53] <diesieben07> or e.g the list you give it is a list of ints then it may decide that it can optimize for that fact.
L2091[16:47:43] <barteks2x> ok, that may be actually better. At first it doesn't seem to make sense, especially when everywhere I look they only tell you how to actually use it/make it
L2092[16:48:04] <barteks2x> I've never seen any sensible explanation why
L2093[16:48:31] <diesieben07> really factory methods are just a relict from the fact that java constructors are absolutely horrible
L2094[16:48:37] <capitalthree> I should start modding minecraft in ceylon
L2095[16:48:38] ⇨ Joins: mustangflyer (~mustangfl@84.131.70.90)
L2096[16:48:41] <capitalthree> just to be the ultimate jvm language hipster
L2097[16:48:48] <diesieben07> a java constructor does not actually create it's object
L2098[16:48:49] ⇦ Quits: infinitefoxes__ (~infinitef@108.19.51.185) (Ping timeout: 198 seconds)
L2099[16:48:53] <diesieben07> it is not a method that returns something as you would expect
L2100[16:49:28] <diesieben07> what I am saying is constructors are factory methods, java just implements them stupidly
L2101[16:49:31] <barteks2x> I know, there is jvm instruction that creates the object and then there is <init> methods
L2102[16:49:35] <diesieben07> yeah
L2103[16:49:47] <diesieben07> the so called "new invokespecial init dance"
L2104[16:50:19] <diesieben07> instead of "a = new X()" just compiling to "x = X.create();
L2105[16:50:30] <diesieben07> or a = X.<init>() rather
L2106[16:53:30] ⇦ Quits: Nitrodev (~Nitrodev@87-92-75-66.bb.dnainternet.fi) (Read error: Connection reset by peer)
L2107[17:00:01] ⇨ Joins: Davnit (~Davnit@71.47.97.111)
L2108[17:01:03] ⇦ Quits: cpw (~cpw@76-10-144-162.dsl.teksavvy.com) (Ping timeout: 201 seconds)
L2109[17:01:15] ⇦ Quits: Cojo (~Cojo@cpe-174-109-246-116.nc.res.rr.com) (Quit: If we wish to explore, if we wish to see what's over the next hill, wonders unfold before us; all we have to do is want it enough.)
L2110[17:03:49] ⇦ Quits: agowa338 (~Thunderbi@p5491842B.dip0.t-ipconnect.de) (Ping timeout: 198 seconds)
L2111[17:10:04] <Zaggy1024> fry, what would be the fastest way to create and fill the texture for coloring the clouds?
L2112[17:10:08] ⇨ Joins: blood_ (unknown@ool-4574115b.dyn.optonline.net)
L2113[17:10:25] <Zaggy1024> from what I can see on https://www.opengl.org/wiki/Pixel_Transfer there are several ways to do this
L2114[17:11:00] <fry> do what lightmap does :P
L2115[17:11:21] *** LordFokas is now known as LordFokas|afk
L2116[17:11:25] <Zaggy1024> you never told me where that was though :P
L2117[17:11:34] <fry> EntityRenderer
L2118[17:11:42] <fry> lightmapTexture
L2119[17:11:53] <fry> enableLightmap, disableLightmap
L2120[17:13:36] *** amadornes is now known as amadornes[OFF]
L2121[17:13:37] ⇦ Quits: thecodewarrior (~thecodewa@75-128-36-21.static.mtpk.ca.charter.com) (Remote host closed the connection)
L2122[17:14:54] ⇦ Quits: killjoy (~killjoy@71.65.255.183) (Read error: Connection reset by peer)
L2123[17:18:05] <Zaggy1024> ah, doesn't look so bad if I just use DynamicTexture
L2124[17:24:29] ⇦ Quits: minot (~minot@pool-108-35-29-135.nwrknj.fios.verizon.net) (Ping timeout: 201 seconds)
L2125[17:25:13] ⇨ Joins: minot (~minot@pool-108-35-29-135.nwrknj.fios.verizon.net)
L2126[17:27:13] ⇦ Quits: codahq (~codahq@c-174-52-130-121.hsd1.ut.comcast.net) (Ping timeout: 198 seconds)
L2127[17:30:44] ⇨ Joins: nallar (~nallar@cpc16-cani3-2-0-cust33.14-2.cable.virginm.net)
L2128[17:31:16] ⇦ Quits: minot (~minot@pool-108-35-29-135.nwrknj.fios.verizon.net) (Ping timeout: 201 seconds)
L2129[17:31:54] ⇨ Joins: minot (~minot@pool-108-35-29-135.nwrknj.fios.verizon.net)
L2130[17:35:16] ⇨ Joins: cpw|out (~cpw@198-84-241-78.cpe.teksavvy.com)
L2131[17:35:17] MineBot sets mode: +o on cpw|out
L2132[17:35:43] *** cpw|out is now known as cpw
L2133[17:37:58] ⇦ Quits: Samario (~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net) (Quit: See ya.)
L2134[17:39:54] ⇦ Quits: Hgrebnednav (~Hgrebnedn@d8d872d48.access.telenet.be) (Ping timeout: 201 seconds)
L2135[17:42:27] <Zaggy1024> hmm, I have the texture created and it should be uploading the color but for some reason it's making the clouds transparent
L2136[17:43:25] <Zaggy1024> maybe I got the color backwards..
L2137[17:43:45] ⇦ Quits: Intektor (~Intektor4@p5B276FB4.dip0.t-ipconnect.de) (Quit: Leaving)
L2138[17:43:47] <gigaherz> did you assign the alpha?
L2139[17:44:14] <Zaggy1024> yeah
L2140[17:44:21] <Zaggy1024> I thought alpha was last but apparently it's first
L2141[17:44:49] *** kirby|gone is now known as mrkirby153
L2142[17:45:00] <gigaherz> it's on the 8 "top" bits
L2143[17:45:07] <Zaggy1024> ayy it works!
L2144[17:45:09] <gigaherz> which, on a little-endian machine, are last
L2145[17:45:31] <gigaherz> RR,GG,BB,AA --> 0xAABBGGRR
L2146[17:46:35] <Zaggy1024> uploading the 1x1 texture takes a third of the time :P
L2147[17:47:35] <gigaherz> a third of which time?
L2148[17:47:45] <Zaggy1024> the time spent in clouds
L2149[17:48:28] <gigaherz> ah
L2150[17:49:50] ⇨ Joins: thecodewarrior (~thecodewa@75-128-36-21.static.mtpk.ca.charter.com)
L2151[17:50:50] <thecodewarrior> Does anyone have a complete minecraft 1.9 server they can send me? at least the libraries/ folder. (you can use https://uguu.se to send it to me)
L2152[17:52:04] ⇦ Quits: ewized|edu (webchat@207.233.102.36) (Ping timeout: 195 seconds)
L2153[17:54:42] *** MrKickkiller is now known as MrKick|Away
L2154[17:55:13] ⇦ Quits: AforAnonymous (bitch2k@212.108.50.99) (Read error: Connection reset by peer)
L2155[17:55:19] ⇦ Quits: minot (~minot@pool-108-35-29-135.nwrknj.fios.verizon.net) (Ping timeout: 201 seconds)
L2156[17:55:40] ⇨ Joins: cpw|out (~cpw@198-84-241-68.cpe.teksavvy.com)
L2157[17:55:40] MineBot sets mode: +o on cpw|out
L2158[17:56:10] ⇨ Joins: minot (~minot@pool-108-35-29-135.nwrknj.fios.verizon.net)
L2159[17:56:20] ⇦ Quits: cpw (~cpw@198-84-241-78.cpe.teksavvy.com) (Ping timeout: 384 seconds)
L2160[17:56:21] *** cpw|out is now known as cpw
L2161[17:56:35] ⇨ Joins: FusionLord (~FusionLor@70.190.239.223)
L2162[17:57:14] <FusionLord> does anyone know of a mod that adds a fan to minecraft that is updated for 1.9?
L2163[17:57:28] <vox> I don't, sorry
L2164[17:57:56] <gigaherz> haven't seen any yet
L2165[17:58:02] <gigaherz> what mods added fans before?
L2166[17:58:41] <vox> Error: Could not find or load main class org.gradle.wrapper.GradleWrapperMain?
L2167[17:58:51] <vox> Anyone seen that before when trying to run FG?
L2168[17:59:03] <FusionLord> openblocks, but that isn't updated,
L2169[18:00:01] <thecodewarrior> Anybody have a currently functioning 1.9 server that can send me a zip of the libraries folder?
L2170[18:00:08] <thecodewarrior> *forge server
L2171[18:00:23] *** fry is now known as fry|sleep
L2172[18:00:26] <FusionLord> what libs do you want?
L2173[18:00:38] <gigaherz> not currently, but I could set one up if needed
L2174[18:00:45] <thecodewarrior> Preferably the whole libraries folder, but it's complaining about not finding log4j
L2175[18:01:20] ⇨ Joins: Intektor (~Intektor4@p5B276FB4.dip0.t-ipconnect.de)
L2176[18:01:29] ⇦ Quits: minot (~minot@pool-108-35-29-135.nwrknj.fios.verizon.net) (Ping timeout: 201 seconds)
L2177[18:01:38] <Intektor> Is there a way I can check if a arrow hit the players head?
L2178[18:02:22] <gigaherz> hmmm from the arrow, I suppose
L2179[18:02:29] <gigaherz> although
L2180[18:02:36] ⇦ Parts: AtomicBlom|ZZzzzz (uid81541@2604:8300:100:200b:6667:1:1:3e85) ())
L2181[18:02:41] <gigaherz> you'd haveto assume the player has a standard shape
L2182[18:02:50] <gigaherz> hmm
L2183[18:03:23] <gigaherz> this owuld require having multiple hitboxes to do right
L2184[18:03:26] <gigaherz> which isn't the case, afaik
L2185[18:03:28] <Intektor> yeah
L2186[18:03:46] <gigaherz> best "approximation" Ican think of
L2187[18:03:49] ⇨ Joins: minot (~minot@pool-108-35-29-135.nwrknj.fios.verizon.net)
L2188[18:03:49] <gigaherz> isto get the hit Y
L2189[18:04:02] <gigaherz> and compare with the eye height
L2190[18:04:02] ⇦ Quits: auenf (David@DC-53-50.bpb.bigpond.com) (Ping timeout: 186 seconds)
L2191[18:04:21] <diesieben07> remember to check for sleeping :D
L2192[18:04:30] <gigaherz> using (height-eyeheight) as a way to tell the range
L2193[18:04:47] <gigaherz> lol yeh
L2194[18:04:54] <Intektor> yeah that could wark, thanks.
L2195[18:04:57] <gigaherz> actually, does the hitbox change while sleeping?
L2196[18:05:07] ⇨ Joins: auenf (David@DC-53-50.bpb.bigpond.com)
L2197[18:05:11] <diesieben07> no idea
L2198[18:06:19] ⇦ Quits: blood_ (unknown@ool-4574115b.dyn.optonline.net) (Read error: Connection reset by peer)
L2199[18:06:21] ⇦ Quits: sww1235 (~sww1235@bananas.cs.colostate.edu) (Ping timeout: 190 seconds)
L2200[18:06:38] <gigaherz> thecodewarrior: do you still need it?
L2201[18:06:48] ⇨ Joins: otho (~otho@2001:12f0:503:215b:b0a1:665f:d3c4:7e9b)
L2202[18:06:52] <Zaggy1024> huh, I think the lightmap texture might be enabled for the clouds...
L2203[18:06:55] <Zaggy1024> not sure what it's used for
L2204[18:07:15] <thecodewarrior> I might, I just ran the installer on the client and it worked, so I'm copying to the server to see if it works there.
L2205[18:07:16] <Intektor> diesieben07, http://i.imgur.com/U2rk5FP.png I am trying to draw a cube into the world in RenderWorldLastEvent, but it seems like, depending on the angle the player is lookin, it doesn't render ther cube at all, it renders it a t a weird color, it renders it just fine
L2206[18:07:26] ⇨ Joins: sww1235 (~sww1235@129.82.45.209)
L2207[18:07:39] <diesieben07> i am the number 1 guy NOT to go to for rendering :D
L2208[18:08:11] <Intektor> gigaherz do you have a idea?
L2209[18:08:16] ⇦ Quits: minot (~minot@pool-108-35-29-135.nwrknj.fios.verizon.net) (Ping timeout: 201 seconds)
L2210[18:09:14] <thecodewarrior> did you disable the texture? I think it's just GL11.GL_TEXTURE or something.
L2211[18:09:16] <tterrag> why in the name of god are you using raw GL verts
L2212[18:09:48] ⇨ Joins: minot (~minot@pool-108-35-29-135.nwrknj.fios.verizon.net)
L2213[18:09:49] <Intektor> I looked up a lwjgl tut
L2214[18:09:49] <gigaherz> thecodewarrior: in case: https://dl.dropboxusercontent.com/u/743491/libraries.7z
L2215[18:10:33] <thecodewarrior> For some reason copying it from my computer instead of running the installer on the server worked. Huh.
L2216[18:11:09] <gigaherz> Intektor: are the vertices ordered so that when you watch each face from outside, the vertices are all the right winding?
L2217[18:11:10] <gigaherz> as in
L2218[18:11:11] ⇦ Quits: FusionLord (~FusionLor@70.190.239.223) (Quit: Leaving)
L2219[18:11:29] <gigaherz> do you enumerate the vertices in the right order (I think opengl is CCW by default)
L2220[18:11:39] <thecodewarrior> I think what might have been my problem is I was using a glob for the start script, and without thinking I was deleting the minecraft_server.1.9.jar. :P
L2221[18:11:51] <Intektor> I disabled depth calculation, so does that even matter?
L2222[18:11:59] <thecodewarrior> Because my script was prioritizing that over my renamed forge jar
L2223[18:12:00] <gigaherz> it's unrelated
L2224[18:12:10] <gigaherz> winding is used to know if a face is seen from the front or back
L2225[18:12:12] <gigaherz> for culling purposes
L2226[18:13:06] <Intektor> hm, I think so, but here is my code if you want to look it up yourself, but it should be ok I guess http://i.imgur.com/U2rk5FP.png
L2227[18:13:36] <tterrag> if you aren't sure you can disable GL_CULL_FACE
L2228[18:13:39] <gigaherz> the reason I asked is because I'm too tired to think of the winding order XD
L2229[18:13:44] <tterrag> winding is CCW by default
L2230[18:13:49] ⇦ Quits: minot (~minot@pool-108-35-29-135.nwrknj.fios.verizon.net) (Ping timeout: 201 seconds)
L2231[18:16:25] ⇦ Quits: cpw (~cpw@198-84-241-68.cpe.teksavvy.com) (Ping timeout: 198 seconds)
L2232[18:16:42] ⇨ Joins: minot (~minot@pool-108-35-29-135.nwrknj.fios.verizon.net)
L2233[18:17:00] <Intektor> I disabled it, it did pretty much nothing
L2234[18:18:05] <Intektor> no, it seems like, without cull face, it keeps rendering the blocks, but still at a wird color
L2235[18:19:32] <Intektor> no, its still weird
L2236[18:20:36] ⇦ Quits: minot (~minot@pool-108-35-29-135.nwrknj.fios.verizon.net) (Ping timeout: 201 seconds)
L2237[18:21:45] <Intektor> Well I think I give up for today :D
L2238[18:21:48] ⇦ Quits: Intektor (~Intektor4@p5B276FB4.dip0.t-ipconnect.de) (Quit: Leaving)
L2239[18:22:37] ⇨ Joins: minot (~minot@pool-108-35-29-135.nwrknj.fios.verizon.net)
L2240[18:23:59] <Zaggy1024> some GL state is leaking in my cloud rendering D:
L2241[18:25:20] <Zaggy1024> it's making the hand rendering (seemingly) use blending or something
L2242[18:25:25] <Zaggy1024> but I disable blend when rendering finishes
L2243[18:26:44] <gigaherz> how about alpha testing?
L2244[18:26:50] <gigaherz> and lighting?
L2245[18:26:53] <Zaggy1024> oh...okay
L2246[18:27:02] <Zaggy1024> apparently it's the drawList call when VBOs are disabled...
L2247[18:27:03] <Zaggy1024> >.>
L2248[18:27:09] <Zaggy1024> *callList
L2249[18:27:53] <Zaggy1024> what would even leak from a callList??
L2250[18:31:16] <williewillus> i mean it takes a display list so maybe something in that leaks?
L2251[18:31:18] <gigaherz> try doing pushattrib right after starting the displaylist?
L2252[18:31:25] <gigaherz> and popattrib right at the end?
L2253[18:31:48] ⇨ Joins: sinkillerj (~sinkiller@nc-67-232-14-71.dhcp.embarqhsd.net)
L2254[18:34:25] ⇦ Quits: IceDragon (~ThatGuy@69.160.113.64) (Ping timeout: 198 seconds)
L2255[18:36:04] *** gigaherz is now known as ghz|afk
L2256[18:36:06] <ghz|afk> night ppl
L2257[18:36:09] <Lymia> !gm getTime
L2258[18:36:18] <Lymia> !gm getWorldTime
L2259[18:36:37] <Lymia> !gm WorldInfo.getWorldTime 1.7
L2260[18:36:39] <Lymia> !gm WorldInfo.getWorldTime 1.7.10
L2261[18:38:30] <Zaggy1024> http://i.imgur.com/eORXttp.png
L2262[18:38:36] <Zaggy1024> that's exactly the effect I was looking for :P
L2263[18:38:37] ⇦ Quits: KGS (~KGS@h-155-4-135-249.na.cust.bahnhof.se) (Ping timeout: 198 seconds)
L2264[18:39:27] <Zaggy1024> gah
L2265[18:39:43] <Zaggy1024> so getUsage().preDraw() only works with draw lists? :[
L2266[18:39:48] <Zaggy1024> what's the point then? :P
L2267[18:40:02] ⇦ Quits: otho (~otho@2001:12f0:503:215b:b0a1:665f:d3c4:7e9b) (Remote host closed the connection)
L2268[18:40:51] *** PaleoCrafter is now known as PaleOff
L2269[18:42:31] ⇦ Quits: sww1235 (~sww1235@129.82.45.209) (Remote host closed the connection)
L2270[18:43:25] ⇦ Quits: kimfy (~kimfy___@236.5.200.37.customer.cdi.no) (Ping timeout: 198 seconds)
L2271[18:44:01] ⇦ Quits: srs_bsns (blk@198-48-175-31.cpe.pppoe.ca) (Quit: Ping timeout)
L2272[18:46:43] ⇨ Joins: VikeStep (~VikeStep@101.184.243.180)
L2273[18:47:57] <Lymia> Quick question
L2274[18:48:05] <TehNut> Slow answer
L2275[18:48:06] <Lymia> Does anyone know where in the save the time in a certain dimension is stored
L2276[18:48:27] <Lymia> I have a problem on a server I go to where it seems some dimension somehow got a negative time value, and it's crashing a mod.
L2277[18:49:23] ⇦ Quits: Gil (uid147942@2604:8300:100:200b:6667:5:2:41e6) (Quit: Connection closed for inactivity)
L2278[18:51:23] <Zaggy1024> do you have NBTExplorer?
L2279[18:51:49] <diesieben07> should be in the level.dat
L2280[18:52:39] <Zaggy1024> yeah Data/Daytime
L2281[18:53:03] <Zaggy1024> well, or /Time
L2282[18:53:31] <Zaggy1024> do you know which one it is?
L2283[18:53:52] <Zaggy1024> I think DayTime should be handled as possibly going negative, but I suppose some mods may not handle that
L2284[18:55:08] <Lymia> I can see the main DayTime for the whole world in level.dat
L2285[18:55:10] <Lymia> But not for dimensions
L2286[18:55:53] <Zaggy1024> clouds are working nicely now :)
L2287[18:56:14] <Zaggy1024> Lymia, there is no time for dimensions unless a mod adds it
L2288[18:56:26] <Lymia> urrk
L2289[18:56:29] <Zaggy1024> I actually did that for my mod, but that's not true for vanilla
L2290[18:56:32] <Lymia> So it's mod specific.
L2291[18:57:09] <Lymia> http://pastebin.com/H6xQMxXv
L2292[18:57:11] <Lymia> what do you know
L2293[18:57:32] <Lymia> OK, found it.
L2294[18:57:42] ⇨ Joins: wizjany (~wizjany@2604:180::c1e2:128b)
L2295[18:57:48] <Zaggy1024> http://i.imgur.com/32jSon8.png
L2296[18:57:52] <Zaggy1024> http://i.imgur.com/itGaL4E.png
L2297[18:57:57] <Zaggy1024> try and tell which is which :P
L2298[18:58:28] <Zaggy1024> the second one is VBO'd :)
L2299[18:59:01] <Lymia> First question is
L2300[18:59:12] <Lymia> wtf caused /time set day to make a negative time.
L2301[18:59:18] <Lymia> second, bug report time
L2302[18:59:20] <Zaggy1024> did it?
L2303[18:59:31] <Zaggy1024> was DayTime negative?
L2304[19:00:14] <Zaggy1024> oh nvm, I missed the log
L2305[19:02:24] <Zaggy1024> I'd actually be curious what mod that is that adds dimension time
L2306[19:02:38] <Zaggy1024> what dimension is dimension 9?
L2307[19:04:08] <Lymia> It's a Mystcraft age.
L2308[19:04:10] <Zaggy1024> I really ought to move this cloud rendering code to a separate class, it's getting bigger than it should be in a ForgeHooksClient :P
L2309[19:04:17] <Lymia> That also explains why "time set day" broke.
L2310[19:04:28] <Lymia> I have a very weird solar cycle in that age.
L2311[19:04:34] <Lymia> Which probably overflowed something
L2312[19:04:57] <Zaggy1024> weird how?
L2313[19:05:13] <Lymia> First of all, there's two suns, second of all one of them doesn't move.
L2314[19:05:19] <Lymia> I don't know how Mystcraft implements that, but
L2315[19:05:27] <Lymia> It'd explain why the time command went bonkers
L2316[19:05:27] <Zaggy1024> huh..
L2317[19:06:02] <Zaggy1024> mmh, no source for Mystcraft? :{
L2318[19:06:10] <Lymia> It's not obfusicated.
L2319[19:06:11] <Zaggy1024> I wanted to see how it does that, it sounds interesting
L2320[19:06:21] <Zaggy1024> well sure, but then I have to download the mod and decompile it
L2321[19:06:32] <Zaggy1024> plus vanilla functions will still be obfuscated
L2322[19:07:14] <Lymia> Surely you can handle that much.
L2323[19:07:31] <Zaggy1024> of course I can
L2324[19:07:33] <Zaggy1024> but it's time consuming
L2325[19:07:49] <Zaggy1024> I'm not going to investigate someone's code when I have to do that much work to do it :P
L2326[19:07:53] <Lymia> Just run whatever deobf tool on it.
L2327[19:07:56] <Zaggy1024> I'm already absorbed in something else :P
L2328[19:08:19] ⇨ Joins: srs_bsns (blk@198-48-175-31.cpe.pppoe.ca)
L2329[19:09:32] <williewillus> so
L2330[19:09:49] <williewillus> is it possible to use model in the animation api that aren't from vanilla json?
L2331[19:09:56] <williewillus> like, autogen models? :P
L2332[19:10:05] <Lymia> Does
L2333[19:10:13] <Lymia> Chickenbones look at his issue checker
L2334[19:10:22] <Lymia> I just noticed the last commit was in 2015
L2335[19:10:37] <Lymia> issue tracker*
L2336[19:10:45] <Zaggy1024> what the...
L2337[19:10:48] <Corosus> i think hes been taking a break from modding for a while
L2338[19:10:48] <Cypher121> i'm pretty sure he's mia
L2339[19:10:57] <Lymia> great
L2340[19:10:59] <Corosus> hence a replacement for NEI etc
L2341[19:11:00] <Zaggy1024> Forge's IRenderHandler is an abstract class. lol
L2342[19:11:13] <Lymia> Don't need a replacement, at least
L2343[19:11:21] <Lymia> Just someone to pick up the project and maintain it
L2344[19:11:25] <Lymia> No need to rewrite from scratch
L2345[19:11:27] <Corosus> JEI is the way of the future!
L2346[19:11:37] ⇦ Quits: PitchBright (~PitchBrig@CPE00fc8d8a3ce3-CM00fc8d8a3ce0.cpe.net.cable.rogers.com) (Ping timeout: 198 seconds)
L2347[19:11:44] <Cypher121> Zaggy1024: lol really
L2348[19:11:59] <Zaggy1024> eeeyup
L2349[19:12:08] <Lymia> I don't think
L2350[19:12:13] <Lymia> I haven't looked at NEI's codebase
L2351[19:12:18] <Lymia> It could be total crap and need replacing.
L2352[19:12:18] <Lymia> :D
L2353[19:13:07] <williewillus> someone already picked his mods up
L2354[19:13:09] <williewillus> i forgot who
L2355[19:13:22] <williewillus> and he's busy with college + modding terraria :P
L2356[19:14:34] ⇦ Quits: foxy (~gravityfo@cpe-23-242-168-28.socal.res.rr.com) (Read error: Connection reset by peer)
L2357[19:14:43] <Zaggy1024> "NEIActions.timeZones[newhour / 6]"
L2358[19:14:43] <Zaggy1024> gj
L2359[19:14:48] <Zaggy1024> yeah it doesn't modulo
L2360[19:14:53] ⇨ Joins: foxy (~gravityfo@cpe-23-242-168-28.socal.res.rr.com)
L2361[19:14:53] <Lymia> No
L2362[19:14:55] <Lymia> It does earlier.
L2363[19:15:06] <Zaggy1024> mmh
L2364[19:15:07] <Lymia> Problem's that modulo returns negative values for negative inputs
L2365[19:15:09] <Zaggy1024> whoops
L2366[19:15:15] <Lymia> Which is a trap I can see a good programmer falling for
L2367[19:15:17] <Lymia> Because just, wtf
L2368[19:15:31] <Lymia> So I don't hold it against ChickenBones for making that mistake
L2369[19:15:42] <Zaggy1024> yeah, I had to deal with that a few times
L2370[19:15:58] <Zaggy1024> I think...vanilla doesn't check for that in places too maybe
L2371[19:16:03] <Zaggy1024> can't remember for sure
L2372[19:16:15] ⇨ Joins: KnightMiner (~KnightMin@adsl-68-255-6-227.dsl.emhril.sbcglobal.net)
L2373[19:16:27] <Zaggy1024> it's really kinda sad that things have to just assume that a dimension has 24000 tick days
L2374[19:16:54] <williewillus> heh yeah wikipedia has a giant table for how various languages handle signed mod
L2375[19:17:03] <Zaggy1024> wait, does that code do what I think it does?
L2376[19:17:07] <williewillus> https://en.wikipedia.org/wiki/Modulo_operation#Remainder_calculation_for_the_modulo_operation on the right
L2377[19:17:08] <Zaggy1024> prevent people setting it to a certain time?
L2378[19:18:12] <Zaggy1024> does NEI have a config to set what times people can set it to?
L2379[19:18:13] <Lymia> I think it's meant to allow you to stuff like
L2380[19:18:15] <Lymia> Automatically skip night
L2381[19:18:21] <Lymia> to do stuff*
L2382[19:20:08] ⇨ Joins: blood_ (unknown@ool-4574115b.dyn.optonline.net)
L2383[19:20:33] <Zaggy1024> uh-oh
L2384[19:20:49] <Zaggy1024> anaglyphField isn't set to 2 when anaglyphs are disabled
L2385[19:21:14] <Zaggy1024> not a big deal since you can get gameSettings.anaglyph, but I hope everybody checks that
L2386[19:21:39] <Zaggy1024> eh nvm I guess you would have to since it starts with 0
L2387[19:23:43] ⇦ Quits: Gigabit101 (~Gigabit10@cpc76302-cosh16-2-0-cust475.6-1.cable.virginm.net) (Read error: Connection reset by peer)
L2388[19:23:59] ⇨ Joins: Gigabit101 (~Gigabit10@cpc76302-cosh16-2-0-cust475.6-1.cable.virginm.net)
L2389[19:42:42] ⇨ Joins: PitchBright (~PitchBrig@99.226.175.208)
L2390[19:51:12] ⇨ Joins: KomuGames (webchat@108-222-90-90.lightspeed.toldoh.sbcglobal.net)
L2391[19:51:13] ⇦ Quits: KnightMiner (~KnightMin@adsl-68-255-6-227.dsl.emhril.sbcglobal.net) (Ping timeout: 198 seconds)
L2392[19:51:45] ⇨ Joins: IceDragon (~ThatGuy@184.170.45.236)
L2393[19:54:50] <Zaggy1024> gl_FragCoord.z is always 1 :[
L2394[19:55:54] ⇦ Parts: HellFirePvP (~HellFireP@141.84.69.81) (Leaving))
L2395[19:56:27] <thecodewarrior> Is there a tutorial on how to use the forge registry system?
L2396[19:56:31] <Zaggy1024> ah crap, there it is
L2397[19:56:37] <Zaggy1024> apparently the depth is in gl_FragCoord.w?
L2398[19:56:44] <Zaggy1024> but internet says it should be z >.>
L2399[20:02:30] ⇨ Joins: minot1 (~minot@pool-108-35-29-135.nwrknj.fios.verizon.net)
L2400[20:02:42] <Zaggy1024> and gl_DepthRange is 0-1
L2401[20:02:46] <Zaggy1024> these values don't seem correct
L2402[20:04:49] ⇦ Quits: minot (~minot@pool-108-35-29-135.nwrknj.fios.verizon.net) (Ping timeout: 201 seconds)
L2403[20:12:43] ⇨ Joins: KnightMiner (~KnightMin@68.255.6.227)
L2404[20:13:09] <Zaggy1024> oh, maybe I'm wrong..
L2405[20:13:34] <Zaggy1024> well, DepthRange.near *is* 0
L2406[20:13:43] <Zaggy1024> but Coord.z is > 0
L2407[20:14:32] <Zaggy1024> and DepthRange.far is 1
L2408[20:14:35] <Zaggy1024> ugh
L2409[20:18:38] ⇦ Quits: Searge (~Searge@c83-252-50-53.bredband.comhem.se) (Read error: Connection reset by peer)
L2410[20:18:58] ⇨ Joins: Searge (~Searge@c83-252-50-53.bredband.comhem.se)
L2411[20:19:23] <Zaggy1024> ah danget, I thought DepthRange was supposed to store near and far clipping distances but it's just a multiplier for the actual near and far clipping AFAIK
L2412[20:29:13] <Nosirrom> what could make an itemstack throw a NPE when printing it out? many things? trying to figure out what this thing is.
L2413[20:33:21] <tterrag> null item
L2414[20:33:22] <tterrag> likely
L2415[20:38:20] ⇦ Quits: Jode (~Jode@pool-173-48-158-177.bstnma.fios.verizon.net) (Read error: Connection reset by peer)
L2416[20:38:43] <Nosirrom> apparantly blocks.redstone_wire is not an item for recipies
L2417[20:39:00] <Nosirrom> well it is, but it also isn't
L2418[20:39:13] <tterrag> correct
L2419[20:39:14] <tterrag> it has no ItemBlock
L2420[20:39:21] <tterrag> so new ItemStack(redstone_wire) gives you a null stack
L2421[20:45:46] ⇦ Quits: Jezza (~Jezza@92.206.5.6) (Ping timeout: 384 seconds)
L2422[20:47:55] ⇨ Joins: cpw|out (~cpw@198-84-241-68.cpe.teksavvy.com)
L2423[20:47:55] MineBot sets mode: +o on cpw|out
L2424[20:48:18] *** cpw|out is now known as cpw
L2425[20:48:37] <Cypher121> what could cause an image to look like this? http://i.imgur.com/GbkrpBL.png
L2426[20:48:54] <Cypher121> scaled down to x0.25
L2427[20:50:33] <tterrag> look like what?
L2428[20:50:45] <tterrag> is it not meant to be scaled down?
L2429[20:53:02] <unascribed> do you mean that there's no antialiasing?
L2430[20:53:05] <unascribed> if so
L2431[20:53:06] <Cypher121> yeah, should've pointed that out
L2432[20:53:16] <unascribed> enable blending and set the blend func to GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
L2433[20:53:19] <Cypher121> large letters' edges look like shit
L2434[20:53:21] <Cypher121> already did
L2435[20:53:41] <tterrag> your image size doesn't align with the size you are drawing it
L2436[20:53:55] <unascribed> then try using tryBlendFuncSeparate and making the args GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
L2437[20:53:58] <tterrag> i.e. if the image is 200px wide and you draw it at...say 60px wide
L2438[20:54:00] <tterrag> it's going to alias
L2439[20:54:05] <unascribed> Minecraft uses separate blend func in places
L2440[20:54:20] <unascribed> and also make sure your texture has a .mcmeta file with {"blur":true} for linear scaling
L2441[20:54:22] <tterrag> use OpenGLHelper.blendFunc
L2442[20:54:52] <tterrag> also that book background doesn't match pixel densities and I hate it
L2443[20:55:07] ⇦ Quits: Searge (~Searge@c83-252-50-53.bredband.comhem.se) (Read error: Connection reset by peer)
L2444[20:55:26] ⇨ Joins: Searge (~Searge@83.252.50.53)
L2445[21:09:49] ⇦ Quits: cpw (~cpw@198-84-241-68.cpe.teksavvy.com) (Ping timeout: 198 seconds)
L2446[21:11:17] ⇨ Joins: cpw|out (~cpw@198-84-241-68.cpe.teksavvy.com)
L2447[21:11:17] MineBot sets mode: +o on cpw|out
L2448[21:11:38] *** cpw|out is now known as cpw
L2449[21:13:26] ⇦ Quits: thecodewarrior (~thecodewa@75-128-36-21.static.mtpk.ca.charter.com) (Remote host closed the connection)
L2450[21:14:53] ⇦ Quits: Ordinastie_ (~Ordinasti@87-231-58-94.rev.numericable.fr) (Read error: Connection reset by peer)
L2451[21:16:54] <Zaggy1024> tterrag, is there a shader attribute for the near and far clipping planes or do I have to pass them as uniforms?
L2452[21:18:49] <Zaggy1024> I've tried searching for one but finding info about the attributes is quite difficult
L2453[21:19:39] <tterrag> wouldn't know
L2454[21:21:28] ⇦ Quits: cpw (~cpw@198-84-241-68.cpe.teksavvy.com) (Ping timeout: 384 seconds)
L2455[21:21:39] <vox> night all!
L2456[21:21:48] *** vox is now known as vox|sleep
L2457[21:22:03] ⇦ Parts: vox|sleep (~voxmods@pool-71-178-241-173.washdc.fios.verizon.net) (Later all!))
L2458[21:23:49] ⇨ Joins: cpw|out (~cpw@24-212-222-42.cable.teksavvy.com)
L2459[21:23:50] MineBot sets mode: +o on cpw|out
L2460[21:24:08] *** cpw|out is now known as cpw
L2461[21:24:11] ⇦ Quits: Temportalist (uid37180@2604:8300:100:200b:6667:3:0:913c) (Quit: Connection closed for inactivity)
L2462[21:28:04] <Zaggy1024> hmm, EntityRenderer.farPlaneDistance isn't public
L2463[21:28:12] ⇨ Joins: Drullkus (~Dru11kus@c-67-180-188-243.hsd1.ca.comcast.net)
L2464[21:28:16] ⇦ Quits: moog (~moog@24-176-156-144.dhcp.jcsn.tn.charter.com) (Ping timeout: 384 seconds)
L2465[21:29:58] ⇦ Quits: Cisien (~Cisien@u18549070.onlinehome-server.com) (Remote host closed the connection)
L2466[21:32:30] *** minecreatr is now known as Mine|away
L2467[21:33:49] ⇨ Joins: Cisien (~Cisien@u18549070.onlinehome-server.com)
L2468[21:34:32] ⇦ Quits: sinkillerj (~sinkiller@nc-67-232-14-71.dhcp.embarqhsd.net) (Quit: またね)
L2469[21:45:00] ⇨ Joins: Benimatic (~Benimatic@cblmdm72-241-108-184.buckeyecom.net)
L2470[21:54:01] ⇦ Quits: PitchBright (~PitchBrig@99.226.175.208) (Ping timeout: 190 seconds)
L2471[21:57:17] <williewillus> nothing that can't be solved with methodhandles :P
L2472[21:58:23] *** Kolatra|away is now known as Kolatra
L2473[22:00:14] <williewillus> I wish there was another way to add time-limited attribute modifiers besides potions
L2474[22:05:46] ⇨ Joins: Doty1154 (~Doty1154@2601:648:8000:134f:ec2f:eef7:26b2:aec)
L2475[22:06:02] *** brandon3055|Zz is now known as brandon3055
L2476[22:06:10] ⇦ Quits: Girafi (Girafi@0x555178eb.adsl.cybercity.dk) ()
L2477[22:08:08] ⇨ Joins: Ordinastie_ (~Ordinasti@87-231-58-94.rev.numericable.fr)
L2478[22:11:35] ⇦ Quits: Stiforr (~Stiforr@72.216.8.185) (Read error: Connection reset by peer)
L2479[22:11:38] ⇨ Joins: McJty (~jorrit@94.225.203.206)
L2480[22:12:56] ⇦ Quits: Kodos (~Kodos@2602:306:ce20:6c30:a404:927c:37a2:45dd) (Quit: Leaving)
L2481[22:13:07] ⇨ Joins: Wastl2 (~Wastl2@x4e34cd1b.dyn.telefonica.de)
L2482[22:19:01] ⇦ Quits: mustangflyer (~mustangfl@84.131.70.90) (Ping timeout: 190 seconds)
L2483[22:20:58] <Zaggy1024> wait, is the radial fog NVidia only?
L2484[22:21:07] *** Mine|away is now known as minecreatr
L2485[22:21:44] ⇨ Joins: Lathanael (~Lathanael@p549617E0.dip0.t-ipconnect.de)
L2486[22:23:04] <Zaggy1024> apparently it is
L2487[22:23:06] <Zaggy1024> heh.
L2488[22:23:14] ⇦ Quits: Lathanael|Away (~Lathanael@p5496017B.dip0.t-ipconnect.de) (Ping timeout: 384 seconds)
L2489[22:24:13] ⇨ Joins: Tahg (~Tahg@pool-72-74-136-57.bstnma.fios.verizon.net)
L2490[22:24:14] MineBot sets mode: +v on Tahg
L2491[22:27:18] <capitalthree> is it possible to use forgegradle 2.1 with 1.7.10?
L2492[22:27:20] ⇨ Joins: codahq (~codahq@c-174-52-130-121.hsd1.ut.comcast.net)
L2493[22:28:14] <TehNut> no
L2494[22:28:55] ⇨ Joins: PitchBright (~PitchBrig@cpe00fc8d8a3ce3-cm00fc8d8a3ce0.cpe.net.cable.rogers.com)
L2495[22:38:18] <Zaggy1024> abs value shader fog matches up perfectly with vanilla clouds' fog :)
L2496[22:38:27] <Zaggy1024> http://i.imgur.com/84lb41b.png
L2497[22:39:47] ⇨ Joins: Delenas (~Delenas@2600:1016:b008:5535:bc54:f73a:a5d1:34c3)
L2498[22:41:45] ⇨ Joins: Naiten (~Naiten@77.35.35.124)
L2499[22:42:21] <Zaggy1024> (I changed the fog color to black to make checking it easier)
L2500[22:46:42] <tterrag> too bad the fog in MC still looks like crap :P
L2501[22:46:55] <tterrag> better than nothing I guess
L2502[22:50:10] <Zaggy1024> hm?
L2503[22:50:22] <Zaggy1024> even the radial fog that you can get on NVidia cards?
L2504[22:50:51] <Zaggy1024> lol I just turned on some vertex color fog in my shader and it looks like utter crap
L2505[22:50:55] <Zaggy1024> guess I gotta do it in the frag
L2506[22:52:01] <Zaggy1024> I wonder how the fragment version of fixed function fog works
L2507[22:52:39] ⇦ Quits: KnightMiner (~KnightMin@68.255.6.227) (Read error: Connection reset by peer)
L2508[22:53:25] <barteks2x> wtf git? It shows added filed in .idea directory, it never did that before
L2509[22:53:53] <barteks2x> oh, wait. Something cleared my .gitignore
L2510[22:55:02] <barteks2x> how to checkout all files except some files I don't want to touch?
L2511[22:55:38] ⇦ Quits: minot1 (~minot@pool-108-35-29-135.nwrknj.fios.verizon.net) (Read error: Connection reset by peer)
L2512[22:56:05] <williewillus> how tf do you use tessellator's lightmap
L2513[22:56:16] <williewillus> every time i touch it it breaks freaking everything
L2514[22:58:03] <capitalthree> TIL crafting recipes are checked by bruteforce >.<
L2515[22:59:21] <tterrag> barteks2x: uh...just don't edit them?
L2516[23:00:03] ⇨ Joins: otho (~otho@191.189.110.191)
L2517[23:00:06] <Delenas> Well yeah, capital. How else?
L2518[23:00:18] <Delenas> You have to verify it matches exactly.
L2519[23:00:23] <barteks2x> I reformatted the whole project in eclipse, but then I switched back to idea (because everything broke when I switched to dark theme) and I want to keep some changes
L2520[23:00:32] <barteks2x> But I found out how to do it already
L2521[23:04:51] ⇦ Quits: Naiten (~Naiten@77.35.35.124) (Read error: Connection reset by peer)
L2522[23:05:22] <capitalthree> in SMP can a mod on the client know that an item is about to despawn?
L2523[23:06:52] <capitalthree> ie, are ItemStack lifespan and age synced to clients?
L2524[23:07:10] <HassanS6000> !gm func_70601_bi 1.7.10
L2525[23:08:56] <williewillus> thefuck
L2526[23:09:10] <williewillus> this tess rendering is completely bork in dev but works in obf
L2527[23:10:11] ⇦ Quits: Brokkoli (~Brokkoli@p5b23c284.dip0.t-ipconnect.de) (Quit: Die Sprache der Politik ist daf�r gemacht, dass L�gen wahr klingen und das T�ten angemessen wirkt. (George Orwell))
L2528[23:10:38] ⇦ Quits: brandon3055 (~Brandon@122.129.142.1) (Read error: Connection reset by peer)
L2529[23:10:54] ⇨ Joins: Naiten (~Naiten@77.35.203.37)
L2530[23:13:23] ⇦ Quits: Vazkii (~Vazkii@a79-169-163-74.cpe.netcabo.pt) (Quit: bOI)
L2531[23:14:11] <barteks2x> Is it ok to use normal java serialization to store some state for chunks?
L2532[23:15:13] ⇦ Quits: Hea3veN (~Hea3veN@190.247.149.195) (Ping timeout: 198 seconds)
L2533[23:15:21] <williewillus> normal java serialization sucks though :p
L2534[23:15:28] <williewillus> you can't use NBT?
L2535[23:15:44] <barteks2x> it's easy to get it working, but then would be hard if I ever changed the format
L2536[23:15:54] <williewillus> java serialization is really really bad :P
L2537[23:16:22] ⇦ Quits: Naiten (~Naiten@77.35.203.37) (Read error: Connection reset by peer)
L2538[23:16:23] <williewillus> for most general use cases I guess
L2539[23:16:36] <barteks2x> With the way I want to make generation pipeline work I would need to store the actual class name
L2540[23:16:44] <barteks2x> and then re-create it using reflection
L2541[23:17:00] <williewillus> and if its not present anymore? :P
L2542[23:17:11] <barteks2x> what?
L2543[23:17:15] <barteks2x> what do you mean?
L2544[23:17:27] <barteks2x> I would need to recreate it using reflection when reading from disk
L2545[23:17:29] <williewillus> what is this class name and what if said class no longer exists? :P
L2546[23:17:52] <barteks2x> Then it means that it's newer version of cubicchunks and I need to do some magic to convert it
L2547[23:18:33] <barteks2x> Basically, it's for CubeGenerationState
L2548[23:19:30] <barteks2x> Which allows a tree-like structure.
L2549[23:22:32] <capitalthree> barteks2x: it's not ok bceause the storage will break if you update your mod
L2550[23:23:40] ⇨ Joins: whatthedrunk_ (webchat@cpe-104-35-86-36.socal.res.rr.com)
L2551[23:23:48] <barteks2x> Then well.. writing toNbt() and fromNbt() methods...
L2552[23:25:13] <barteks2x> changing the format isn't something I would expect unless there are some massive changes to workegen but I probably don't want to try to manually read java serialized classes
L2553[23:32:55] <barteks2x> Idea fail: it tries to import private enum class, but it generates compile error
L2554[23:33:04] ⇦ Quits: bilde2910 (bilde2910@51.174.170.178) (Ping timeout: 195 seconds)
L2555[23:36:00] ⇨ Joins: bilde2910 (bilde2910@51.174.170.178)
L2556[23:36:30] <tterrag> barteks2x: why not use Gson?
L2557[23:37:17] <barteks2x> Maybe it's weird, but I've never used it. Is it easier?
L2558[23:38:00] <tterrag> it's a serialization to json library
L2559[23:38:02] ⇨ Joins: brandon3055 (~Brandon@122.129.142.1)
L2560[23:38:03] <tterrag> it's extremely easy to use
L2561[23:38:43] <TehNut> Easy enough that a lot of the time it's literally just toJson(myObject) and fromJson(jsonString)
L2562[23:39:11] <barteks2x> can it (easly) handle serializing and deserializing different implementations of the same interface? (I expect ti does)
L2563[23:39:47] <Ordinastie_> you can specify adpataters if you want custom rules for deserialisation
L2564[23:40:54] <barteks2x> I want tomsthing like this to work: ISomething sth = new SomeImpl(); String json = toJson(sth); ISomething deserialized = fromJson(json); Would it work?
L2565[23:42:30] <barteks2x> apparently it does
L2566[23:42:36] <Ordinastie_> maybe not quite as simplified
L2567[23:47:04] <barteks2x> Maybe I'm just making it all too compilcated, but handling population states correctly is really hard
L2568[23:47:43] <tterrag> no that won't work as is, you have to specify a concrete type when deserializing
L2569[23:47:54] <tterrag> OR specify a deserializer for the interface
L2570[23:48:13] <barteks2x> if that won't work, I can as well use NBT
L2571[23:49:27] <tterrag> it sounds pretty easy. just write a serializer that writes the type to json ("class":"foo.bar.Baz") then in the deserializer create the type using that
L2572[23:49:34] <tterrag> hacky, but functional
L2573[23:50:45] <williewillus> i vote just using nbt
L2574[23:50:46] <williewillus> lol
L2575[23:51:08] <tterrag> using gson (already shipped with MC) is a few LoC
L2576[23:51:08] <barteks2x> For now (before even trying to implementt storing the whole thing on disk) I need to decide if I want to pass names of my CubeProcessors from GenerationStates or making GenerationStates actually return CubeProcessors
L2577[23:51:14] <tterrag> NBT you have to serialize everything manually
L2578[23:51:36] <Drullkus> tterrag: Even killers?
L2579[23:52:23] ⇦ Quits: brandon3055 (~Brandon@122.129.142.1) (Read error: Connection reset by peer)
L2580[23:52:34] <tterrag> huh?
L2581[23:53:00] <Ordinastie_> failed attempt at "serial killer" pun
L2582[23:54:39] <barteks2x> I will probably just go with NBT, if I want to make them actually return CubeProcessors I would need to mark a few fields as transient, and them initialize them separately
L2583[23:55:43] ⇨ Joins: brandon3055 (~Brandon@122.129.142.1)
L2584[23:56:47] <barteks2x> Or make them return strings. Making them return these objects is too much work if I don't want to hack it arounf with public static final HashMap<World, Map<String, CubeProcessor>>
L2585[23:59:28] *** blood_ is now known as blood|away
L2586[23:59:43] *** williewillus is now known as willieaway
<<Prev Next>> Scroll to Top