<<Prev Next>> Scroll to Bottom
Stuff goes here
L1[00:01:16] ⇦ Quits: Brokkoli (~Brokkoli@p5b23c21c.dip0.t-ipconnect.de) (Ping timeout: 186 seconds)
L2[00:08:01] ⇨ Joins: Brokkoli (~Brokkoli@p5B23C3A8.dip0.t-ipconnect.de)
L3[00:08:53] ⇨ Joins: Hunterz (~hunterz@2001:af0:8000:1c01:6af7:28ff:fe37:5d6a)
L4[00:13:45] *** cpw is now known as cpw|out
L5[00:19:34] ⇦ Quits: TechnicianLP2 (~Technicia@p4FE1C11A.dip0.t-ipconnect.de) (Ping timeout: 384 seconds)
L6[00:21:05] ⇨ Joins: AshIndigo (~AshIndigo@79-67-168-211.dynamic.dsl.as9105.com)
L7[00:21:12] ⇦ Quits: AshIndigo_ (~AshIndigo@188.29.164.119.threembb.co.uk) (Read error: Connection reset by peer)
L8[00:31:52] *** minecreatr is now known as Mine|dreamland
L9[00:43:35] ⇦ Quits: Brokkoli (~Brokkoli@p5B23C3A8.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))
L10[00:47:55] *** covers1624_ is now known as covers1624
L11[01:07:33] ⇨ Joins: AshIndigo_ (~AshIndigo@188.29.164.119.threembb.co.uk)
L12[01:13:48] ⇦ Quits: Doty1154 (~Doty1154@c-73-189-164-179.hsd1.ca.comcast.net) (Read error: Connection reset by peer)
L13[01:13:54] ⇨ Joins: Jezza (~Jezza@bps-gw.hrz.tu-chemnitz.de)
L14[01:13:58] ⇦ Quits: AshIndigo (~AshIndigo@79-67-168-211.dynamic.dsl.as9105.com) (Ping timeout: 384 seconds)
L15[01:20:24] ⇨ Joins: Umbraco (~Umbraco@113x37x12x233.ap113.ftth.ucom.ne.jp)
L16[01:23:22] ⇨ Joins: AstralSorcerer (~AstralSor@128.151.114.252)
L17[01:36:50] ⇦ Quits: Naiten (Naiten@77.35.233.64) (Read error: Connection reset by peer)
L18[02:00:03] <MCPBot_Reborn> [TEST CSV] Pushing snapshot_20161123 mappings to Forge Maven.
L19[02:00:07] <MCPBot_Reborn> [TEST CSV] Maven upload successful for mcp_snapshot-20161123-1.11.zip (mappings = "snapshot_20161123" in build.gradle).
L20[02:00:17] <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/
L21[02:01:10] <barteks2x> uh... I accidentally told IDEA to supress "ubused class" warning for classes annotated with what I think was MethodsReturnNonnullByDefault...
L22[02:01:16] <barteks2x> *unused
L23[02:02:53] ⇨ Joins: Emris (~Miranda@195.234.58.25)
L24[02:03:16] ⇦ Quits: Umbraco (~Umbraco@113x37x12x233.ap113.ftth.ucom.ne.jp) (Ping timeout: 384 seconds)
L25[02:09:54] ⇨ Joins: Umbraco (~Umbraco@113x37x12x233.ap113.ftth.ucom.ne.jp)
L26[02:11:49] ⇦ Quits: Umbraco (~Umbraco@113x37x12x233.ap113.ftth.ucom.ne.jp) (Client Quit)
L27[02:15:40] ⇨ Joins: VikeStep (~VikeStep@101.184.229.226)
L28[02:15:51] ⇦ Quits: Girafi (Girafi@0x555178eb.adsl.cybercity.dk) ()
L29[02:54:30] <barteks2x> why idea is analyzing logs as code... it found almost 50000 "typos" in my logs
L30[02:55:31] <barteks2x> *67000
L31[02:58:14] ⇦ Quits: killjoy (~killjoy@cpe-2606-A000-1118-C091-79B7-F957-6D13-DDFB.dyn6.twc.com) (Ping timeout: 384 seconds)
L32[03:05:29] ⇨ Joins: Snapples (uid167569@id-167569.highgate.irccloud.com)
L33[03:08:17] <Katrix> How would one go about using @ObjectHolder on a field with a type which might not be present at runtime? Basically, how can I treat @ObjectHolder similar to @Optional?
L34[03:12:29] ⇦ Quits: kinggoesgaming (uid23106@id-23106.tooting.irccloud.com) (Quit: Connection closed for inactivity)
L35[03:16:33] ⇨ Joins: gigaherz|work (~gigaherz@84.89.63.25)
L36[03:21:00] <barteks2x> I want to fix that ClassInheritanceMultiMap constructor crash, so my question is: with concurrent has set, if one thread attempts to add something to it while other is iterating (using for(Value value : set){}), will it still crash?
L37[03:21:07] <barteks2x> *hash set
L38[03:25:13] ⇦ Quits: AstralSorcerer (~AstralSor@128.151.114.252) (Ping timeout: 206 seconds)
L39[03:32:57] ⇨ Joins: Tencao (~Tencao@host86-180-74-171.range86-180.btcentralplus.com)
L40[03:44:37] ⇦ Quits: MrIbby (~MrIbby@wireless-173-87-173-218.dr04.ekgv.ca.frontiernet.net) (Remote host closed the connection)
L41[03:47:44] ⇦ Quits: CoolerExtreme (~CoolerExt@45.249.156.146) (Ping timeout: 198 seconds)
L42[03:53:46] <LexLap2> why would you put object holder on a optional?
L43[03:54:10] <barteks2x> Anyone who knows redstone and command blocks enough to make something that automatically teleports me 16 blocks in x direction every few seconds?
L44[03:54:14] ⇦ Quits: ghac (~ghac@static.102.152.243.136.clients.your-server.de) (Remote host closed the connection)
L45[03:54:15] ⇦ Quits: I9hdkill (~quassel@static.102.152.243.136.clients.your-server.de) (Remote host closed the connection)
L46[03:54:23] ⇨ Joins: AstralSorcerer (~AstralSor@128.151.114.188)
L47[03:55:09] <barteks2x> and ideally log my position before the teleport
L48[03:55:12] <barteks2x> to console
L49[03:56:17] ⇨ Joins: ghac (~ghac@static.102.152.243.136.clients.your-server.de)
L50[03:58:18] ⇨ Joins: I9hdkill (~quassel@static.102.152.243.136.clients.your-server.de)
L51[04:04:32] ⇦ Quits: immibis (~chatzilla@122-59-201-170.jetstream.xtra.co.nz) (Remote host closed the connection)
L52[04:06:25] ⇨ Joins: Subaraki (~Artix@mf763-h01-176-150-102-154.dsl.sta.abo.bbox.fr)
L53[04:08:23] ⇦ Quits: Gil (uid147942@id-147942.brockwell.irccloud.com) (Quit: Connection closed for inactivity)
L54[04:20:24] ⇦ Quits: Tencao (~Tencao@host86-180-74-171.range86-180.btcentralplus.com) (Ping timeout: 384 seconds)
L55[04:31:01] ⇦ Quits: VikeStep (~VikeStep@101.184.229.226) (Read error: Connection reset by peer)
L56[04:32:16] ⇨ Joins: VikeStep (~VikeStep@101.184.229.226)
L57[04:35:21] <barteks2x> nevermind, did it myself. now just waiting for a crash
L58[04:36:02] <gigaherz|work> heh
L59[04:36:05] <gigaherz|work> there was some tutorial on that
L60[04:36:10] <gigaherz|work> used for pre-generating worlds
L61[04:37:15] ⇨ Joins: sciguyryan (~sciguyrya@95.211.210.116)
L62[04:38:01] <barteks2x> I have a weird crash that happens randomly when generating chunks...
L63[04:38:19] <barteks2x> And I want to see if I can reproduce it by teleporting
L64[04:38:54] <barteks2x> it seems like something tries to create the same chunk twice
L65[04:54:58] ⇦ Quits: Pihrra (~Pihrra@mbree.xyz) (Ping timeout: 384 seconds)
L66[05:02:45] <AshIndigo_> How do you spell the forge snooper?
L67[05:03:49] *** Keridos is now known as Keridos|away
L68[05:08:49] ⇨ Joins: npe|office (~NPExcepti@bps-gw.hrz.tu-chemnitz.de)
L69[05:25:32] ⇦ Quits: AforAnonymous (bitch2k@dyn-051-159.vix2.mmc.at) (Killed (NickServ (GHOST command used by lolinternet!bitch2k@dyn-050-217.vix2.mmc.at)))
L70[05:27:32] <Mraof> https://puu.sh/srLx3/78613bb4d2.png
L71[05:27:38] <Mraof> Well that doesn't look right
L72[05:27:58] <Mraof> (I downloaded a random blitz3D model just for testing stuff)
L73[05:40:30] <gigaherz|work> no idea how it's supposed to look like
L74[05:40:51] <gigaherz|work> oh, is it meant t obe a stick figure holding a sword?
L75[05:42:55] <Mraof> Nope
L76[05:43:50] <Mraof> https://puu.sh/srM5n/9054150a42.png
L77[05:44:01] <Mraof> It's supposed to look like that
L78[05:44:06] ⇨ Joins: CoolerExtreme (~CoolerExt@45.249.156.146)
L79[05:44:50] ⇦ Quits: Katrix (~Katrix@2a02:fe0:cb10:2420:1843:b59e:3773:b409) (Ping timeout: 384 seconds)
L80[05:45:42] ⇨ Joins: Katrix (~Katrix@2a02:fe0:cb10:2420:50ee:2b11:3719:920b)
L81[05:56:36] <gigaherz|work> Mraof: keep in mind, it's designed for exporting from blender using fry's script
L82[05:56:44] <gigaherz|work> it may not work for all b3d models
L83[05:56:58] <Mraof> Oh, I'm not familiar with that script
L84[05:57:26] <gigaherz|work> https://github.com/RainWarrior/B3DExport
L85[05:57:47] <Mraof> That's just a random blitz3D model I downloaded, but I did also find a script for exporting b3d models on some forums somewhere, but it was a different script
L86[05:58:07] <gigaherz|work> it *should* work if you export using that
L87[05:58:20] <Mraof> Oh wait, no, I did grab the right script
L88[05:59:03] <Mraof> Anyway, the ninja model isn't one I have a blender file for, just one I downloaded for testing purposes
L89[05:59:37] <Mraof> I guess I'll look for an example blender model with animation to export as b3d
L90[06:00:07] <gigaherz|work> yeah probably best
L91[06:06:33] <barteks2x> I went out for 1.5h, went back and it still didn't crash. WHY. I guess I will have to go back to generating 100+MB log files
L92[06:06:46] ⇨ Joins: KGS (~KGS@h-155-4-129-249.na.cust.bahnhof.se)
L93[06:07:00] ⇨ Joins: CoolerExtreme__ (~CoolerExt@45.249.156.104)
L94[06:07:26] <barteks2x> unless there is some way to go back a few milliseconds after hitting a breakpoint
L95[06:09:33] ⇦ Quits: CoolerExtreme (~CoolerExt@45.249.156.146) (Ping timeout: 206 seconds)
L96[06:09:38] <AshIndigo_> Set a break for the previous method?
L97[06:12:06] <barteks2x> the problem is that there is an exception that is thrown when it's too late to see what is wrong in a method called once for each loaded 16x16x16 blocks section
L98[06:13:42] <barteks2x> and it happens only sometimes when I'm moving around fast enough
L99[06:15:48] *** airbreather_ is now known as airbreather
L100[06:16:10] <Mraof> So far everything I've exported with that script just don't render at all
L101[06:16:33] <Mraof> *doesn't
L102[06:17:58] <Mraof> If I use the same code but for an obj model instead of b3d it works fine
L103[06:23:37] <Mraof> Maybe I should just write my own model loader
L104[06:24:14] <Mraof> I mean I was only planning on using b3d models for entities anyway
L105[06:28:45] <gigaherz|work> barteks2x: .NET now has historical debugging, where yo ucan see the state in previous function calls and such
L106[06:28:52] <gigaherz|work> but I haven't seen anything like that for java
L107[06:29:26] <Tazz> gigaherz|work, ltns
L108[06:29:30] <barteks2x> there are debuggers that allow that. I found chronon debugger, but the idea plugin doesn't work with idea 2016
L109[06:32:04] ⇨ Joins: r4wk (uid48318@id-48318.tooting.irccloud.com)
L110[06:38:01] ⇨ Joins: AshIndigo (~AshIndigo@188.29.164.119.threembb.co.uk)
L111[07:00:04] ⇦ Parts: Mraof (~mraof@pool-100-7-100-143.rcmdva.fios.verizon.net) ())
L112[07:08:17] ⇨ Joins: Dark (~MrDark@cpe-104-230-227-71.columbus.res.rr.com)
L113[07:11:44] ⇦ Quits: AshIndigo (~AshIndigo@188.29.164.119.threembb.co.uk) (Ping timeout: 198 seconds)
L114[07:17:41] ⇦ Quits: KGS (~KGS@h-155-4-129-249.na.cust.bahnhof.se) (Read error: Connection reset by peer)
L115[07:20:44] *** PaleOff is now known as PaleoCrafter
L116[07:22:32] ⇦ Quits: Searge|office (~Searge@h-85-24-130-18.na.cust.bahnhof.se) (Ping timeout: 198 seconds)
L117[07:32:30] ⇨ Joins: JuiceGrape (~JuiceGrap@31-151-51-200.dynamic.upc.nl)
L118[07:32:48] <JuiceGrape> is there a list of the standard json model files?
L119[07:33:43] <AshIndigo_> Check the forgeSrc jar
L120[07:33:49] <AshIndigo_> There should be some in there
L121[07:34:36] <JuiceGrape> any direction you can point me in?
L122[07:35:02] <AshIndigo_> Give me a sec I'll pull my mdk
L123[07:35:17] <JuiceGrape> thanks
L124[07:35:47] <gigaherz|work> JuiceGrape: the vanilla jar contains an "assets" folder
L125[07:36:03] <gigaherz|work> you can view those files in the MDK environment from your IDE
L126[07:36:40] <JuiceGrape> oh cool found it! thanks <3
L127[07:36:42] <AshIndigo_> item/generated works for items
L128[07:37:13] <AshIndigo_> Your welcome?
L129[07:37:35] <gigaherz|work> item/handheld for tools
L130[07:39:31] <JuiceGrape> was looking for the blocks, needed a sided block atm xD
L131[07:40:26] <AshIndigo_> Look at the workbench json
L132[07:41:41] <JuiceGrape> or just the cube json :P
L133[07:43:16] *** V is now known as Vigaro
L134[07:45:40] <JuiceGrape> what's a good program to make textures in?
L135[07:46:48] <AshIndigo_> paint.net is free
L136[07:48:17] <JuiceGrape> it works well with pixel perfect drawing? I honestly just want a simple tool build to only do that
L137[07:49:44] <AshIndigo_> Open up the grid and draw wjth that
L138[07:49:48] <AshIndigo_> And zoon
L139[07:50:53] ⇨ Joins: quadraxis (~quadraxis@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net)
L140[07:50:57] ⇦ Quits: npe|office (~NPExcepti@bps-gw.hrz.tu-chemnitz.de) (Remote host closed the connection)
L141[07:53:09] ⇨ Joins: edr (~edr@d-65-175-180-73.cpe.metrocast.net)
L142[07:55:27] ⇦ Quits: VikeStep (~VikeStep@101.184.229.226) (Quit: Leaving)
L143[08:06:27] *** diesieben|away is now known as diesieben07
L144[08:16:24] <Katrix> This is how it was before with @ObjectHolder
L145[08:16:25] <Katrix> https://github.com/ArekkuusuJerii/Grimoire-Of-Alice/blob/52ea157c4e55c0d494c9f8156f2e1182a919b9cc/src/main/java/arekkuusu/grimoireofalice/plugin/danmakucore/form/GOAForms.java
L146[08:16:49] <Katrix> The problem is that Form comes from a mod that might not always be present
L147[08:17:41] <Katrix> If that mod isn't present, it will fail because it can't find the class, even though no code will ever reference those fields if the mod isn't present
L148[08:19:32] <gigaherz|work> that's not how ObjectHolder works
L149[08:20:04] <Katrix> I know that won't work as it is
L150[08:20:17] <Katrix> I'm just wondering if there is any workaround?
L151[08:20:21] <gigaherz|work> first
L152[08:20:24] <gigaherz|work> you are assigning things directly
L153[08:20:28] <gigaherz|work> with @ObjectHolder
L154[08:20:34] <gigaherz|work> forge will query the registries for you
L155[08:20:37] <gigaherz|work> and assign the object
L156[08:20:47] <Katrix> I know, that's what I want
L157[08:20:49] <gigaherz|work> so you should have the default value (null)
L158[08:21:24] <Katrix> Those assignements in there are just dummies to get rid of IntelliJ's pesky null checks every place I reference one of those fields
L159[08:21:43] <gigaherz|work> okay so
L160[08:22:34] <diesieben07> that's why these field fill annotations suck
L161[08:22:35] <gigaherz|work> next issue is that @ObjectHolder can't work for a registry type that you don't embed
L162[08:23:42] <gigaherz|work> you'd need to embed the api, with at least the base class that implements IForgeRegistryEntry<TypeName>
L163[08:23:42] <Katrix> What do you mean by embed?
L164[08:24:16] <gigaherz|work> I mean embed, using the @API annotation so that FML can de-duplicate the packages
L165[08:25:28] <gigaherz|work> one final option, is to NOT use @ObjectHolder
L166[08:25:35] <gigaherz|work> you initialize the class by using reflection
L167[08:25:37] <gigaherz|work> something like
L168[08:26:05] <gigaherz|work> Class.fromName("full.class.Name").getDeclaredMethod("initialize").invoke(null);
L169[08:26:23] ⇦ Quits: sww1235 (~sww1235@lotus.cs.colostate.edu) (Remote host closed the connection)
L170[08:26:35] <gigaherz|work> inside if(Loader.isModLoaded(dependency modid))
L171[08:28:01] <gigaherz|work> in that case, you'd have to make sure to never reference "Form" directly
L172[08:28:04] <Katrix> Ah, so Form should be in a package with the @API annotation then? That's going to be difficult
L173[08:28:06] <gigaherz|work> you'd need some kind of proxy/delegate
L174[08:28:24] <gigaherz|work> using a dummy placeholder in case the mod wasn't found
L175[08:28:35] <gigaherz|work> if (Loader.isModLoaded) loadrealbindings
L176[08:28:39] <gigaherz|work> else loadDummyBindings
L177[08:28:58] <gigaherz|work> this is by far the ugliest
L178[08:29:04] <gigaherz|work> but the most flexible, since you are doing everything yourself
L179[08:29:04] <Katrix> Currently this is what I do, which I haven't found any problems with so far
L180[08:29:05] <gigaherz|work> ;P
L181[08:29:05] <Katrix> https://github.com/ArekkuusuJerii/Grimoire-Of-Alice/blob/1.10/src/main/java/arekkuusu/grimoireofalice/plugin/danmakucore/form/GOAForms.java
L182[08:29:40] <Katrix> The class is never referenced if the mod isn't loaded, so I think it should be okay
L183[08:30:00] <gigaherz|work> how do yo ureference it if the mod IS loaded?
L184[08:30:04] <gigaherz|work> also
L185[08:30:08] <gigaherz|work> you can use the new registry events
L186[08:30:16] <gigaherz|work> or wait no
L187[08:30:24] <gigaherz|work> that'd imply a reference ;P
L188[08:30:35] <Katrix> I do use them
L189[08:30:44] <Katrix> I mark the as @Optional
L190[08:31:02] <Katrix> So if the mod isn't present, nothing ever gets loaded in the first place
L191[08:33:31] ⇨ Joins: cpup (~cpup@32.218.112.236)
L192[08:34:49] ⇨ Joins: Naiten (Naiten@86-102-28-23.xdsl.primorye.ru)
L193[08:45:05] ⇦ Quits: Hunterz (~hunterz@2001:af0:8000:1c01:6af7:28ff:fe37:5d6a) (Remote host closed the connection)
L194[08:46:39] *** amadornes[OFF] is now known as amadornes
L195[08:50:36] *** TTFT|Away is now known as TTFTCUTS
L196[08:54:52] <barteks2x> I broke gedit...
L197[08:55:05] <barteks2x> with my 23MB log file
L198[08:55:11] <Akkarin> Congrats. You broke a piece of software that doesn't have a lot of breakable stuff in it
L199[08:55:34] <barteks2x> Afer I scoll down to ~71000 lines, it's all black
L200[08:59:22] <barteks2x> looks like it is a gedit bug with large files
L201[09:03:46] *** PaleoCrafter is now known as PaleOff
L202[09:05:40] <Ordinastie> hum, for some reason, skype can't connect :s
L203[09:05:54] <Ordinastie> but at least, I got my mail back
L204[09:06:08] <jampot5000> Not having a good week are ya Ordinastie
L205[09:09:02] <Ordinastie> I'm wondering too
L206[09:09:16] <Ordinastie> why the fuck can't I uninstall MS "Meteo" application ?
L207[09:09:37] <Ordinastie> how is that fucking core and indispensable that it can't be uninstalled
L208[09:10:14] ⇨ Joins: sww1235 (~sww1235@lotus.cs.colostate.edu)
L209[09:10:35] <jampot5000> Cause why would you want to /s
L210[09:11:43] <AshIndigo_> Dont you want preloaded crap?
L211[09:17:26] <Ordinastie> what I want too is that ublock stop letting youtube ads through :x
L212[09:22:21] *** PaleOff is now known as PaleoCrafter
L213[09:22:45] <gigaherz|work> Ordinastie: I'm still confused as to WHY they are getting through
L214[09:23:00] <gigaherz|work> I use uBlock in both Chrome (mac) and Firefox (Windows), and I have never seen an ad
L215[09:23:46] <PaleoCrafter> inb4 Ordi has YouTube in his whitelist
L216[09:24:12] <gigaherz|work> hmmm
L217[09:24:18] <Ordinastie> weird thing
L218[09:24:21] <gigaherz|work> I have Anti-Adblock Killer also
L219[09:24:25] <gigaherz|work> in my desktop
L220[09:24:30] <gigaherz|work> but not here in the work mac
L221[09:24:43] <Ordinastie> I think the common denominator for the ads is that I'm playing youtube on my right screen
L222[09:24:48] <Ordinastie> instead of the left one
L223[09:24:57] <gigaherz|work> youtube is always on my second screen for me
L224[09:25:18] <jampot5000> I can't even think of a reason that would make a difference
L225[09:25:41] <Ordinastie> me neither, but I don't remember seeing an ad on the left one
L226[09:25:47] ⇦ Quits: CoolerExtreme__ (~CoolerExt@45.249.156.104) (Ping timeout: 206 seconds)
L227[09:27:52] <Ordinastie> (and I'm still not sure about my information<->component shit :x)
L228[09:30:38] <Ordinastie> can't really use the value class in the end, because if I register a component for IBlockState, the actual class for the value is its implementation
L229[09:37:18] <sham1> Ugh, I just napped 2 hour and now I am just so...
L230[09:38:15] ⇨ Joins: gigaherz_ (~gigaherz@84.89.63.25)
L231[09:40:50] ⇨ Joins: Scoaex_ (~Scoaex@p5B279DAC.dip0.t-ipconnect.de)
L232[09:41:08] ⇦ Quits: gigaherz|work (~gigaherz@84.89.63.25) (Ping timeout: 198 seconds)
L233[09:41:32] ⇦ Quits: gigaherz_ (~gigaherz@84.89.63.25) (Ping timeout: 186 seconds)
L234[09:42:08] ⇨ Joins: ThePsionic (~ThePsioni@ip5457f909.direct-adsl.nl)
L235[09:42:43] ⇨ Joins: covers1624_ (~covers162@ppp122-232-6.static.internode.on.net)
L236[09:44:12] ⇦ Quits: covers1624 (~covers162@ppp122-232-6.static.internode.on.net) (Ping timeout: 186 seconds)
L237[09:45:48] ⇦ Quits: cpup (~cpup@32.218.112.236) (Ping timeout: 186 seconds)
L238[09:50:16] <barteks2x> That was weird... cubes/chunks started loading farthest-to-closest
L239[09:50:59] <AshIndigo_> :/
L240[09:51:03] ⇨ Joins: Brokkoli (~Brokkoli@p5B23C3A8.dip0.t-ipconnect.de)
L241[09:56:08] ⇦ Quits: sciguyryan (~sciguyrya@95.211.210.116) (Ping timeout: 198 seconds)
L242[10:00:20] ⇦ Quits: Brokkoli (~Brokkoli@p5B23C3A8.dip0.t-ipconnect.de) (Ping timeout: 198 seconds)
L243[10:01:23] ⇨ Joins: Hgrebnednav (~Hgrebnedn@d8D872A6E.access.telenet.be)
L244[10:04:48] ⇨ Joins: MrIbby (~MrIbby@wireless-173-87-173-218.dr04.ekgv.ca.frontiernet.net)
L245[10:06:05] ⇨ Joins: Brokkoli (~Brokkoli@p2e5b1d2f.dip0.t-ipconnect.de)
L246[10:06:38] ⇨ Joins: p455w0rd (~p455w0rd@172.76.245.162)
L247[10:07:50] ⇨ Joins: Samario (~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net)
L248[10:14:07] ⇨ Joins: Fridtjof (prassel@reporting.live.from.stary2001.co.uk)
L249[10:19:40] ⇦ Quits: Katrix (~Katrix@2a02:fe0:cb10:2420:50ee:2b11:3719:920b) (Ping timeout: 384 seconds)
L250[10:22:13] ⇨ Joins: CoolerExtreme__ (~CoolerExt@45.249.156.104)
L251[10:31:52] ⇨ Joins: Katrix (~Katrix@2a02:fe0:cb10:2420:78d8:8310:6ea9:948d)
L252[10:32:26] ⇨ Joins: Girafi (Girafi@0x555178eb.adsl.cybercity.dk)
L253[10:37:48] ⇦ Quits: Naiten (Naiten@86-102-28-23.xdsl.primorye.ru) (Read error: Connection reset by peer)
L254[10:43:24] ⇦ Quits: RichardG (~richardg8@201.37.255.130) (Ping timeout: 186 seconds)
L255[10:43:42] ⇨ Joins: RichardG (~richardg8@201.37.255.130)
L256[10:43:42] MineBot sets mode: +v on RichardG
L257[10:47:38] ⇨ Joins: Noppes (~Noppes@ip56530f2e.direct-adsl.nl)
L258[10:48:18] ⇦ Quits: Emris (~Miranda@195.234.58.25) (Quit: Miranda IM! Smaller, Faster, Easier. http://miranda-im.org)
L259[10:49:58] ⇦ Quits: Jezza (~Jezza@bps-gw.hrz.tu-chemnitz.de) (Remote host closed the connection)
L260[10:51:08] ⇨ Joins: williewillus (~williewil@cpe-24-28-24-13.austin.res.rr.com)
L261[10:52:05] <Ordinastie> Is that doable without warnings ? http://puu.sh/srZ8e.png
L262[10:53:32] <barteks2x> would be nice to get pastebin to experiment with it
L263[10:53:32] * Subaraki is to dumb to understand what's going on in there
L264[10:55:16] <barteks2x> I would do it with a factory method
L265[10:55:31] <williewillus> !gf field_191209_c
L266[10:56:06] <barteks2x> something like public static Information<BlockPos> create(String label, BlockPos pos)
L267[10:58:00] <Ordinastie> barteks2x, https://gist.github.com/Ordinastie/c2f28065899fcd73e3f7eafd615fdb4d
L268[11:01:12] <ghz|afk> Ordinastie: I belllieve only if <T extends BlockPos>
L269[11:01:44] <ghz|afk> you'd need like
L270[11:02:10] <ghz|afk> Information<BlockPos> fromBlockPos(BlockPos bp) { return new BlockPos<>(bp); }
L271[11:02:18] <ghz|afk> isntead of a cosntructor
L272[11:02:21] ⇨ Joins: iari (~iari___@evana.futhark24.org)
L273[11:04:19] <Ordinastie> meh
L274[11:04:58] <barteks2x> I tried, and failed
L275[11:05:19] <barteks2x> this looks like it would do it, but it doesn't: <BlockPos>this(label, pos, BlockPos.class);
L276[11:07:14] <sham1> I don't think there is a way to do that without getting the whole "unsafe cast" warning
L277[11:07:42] <ghz|afk> there isn't, because you could do
L278[11:08:00] <ghz|afk> new Information<TileEntity>(blockPos)
L279[11:08:05] <ghz|afk> there's no way to prevent that
L280[11:08:06] <barteks2x> because it is unsafe, someone could do new Information<Integer>("test", new BlockPos(0, 0, 0))
L281[11:08:15] <sham1> Thanks type erasure...
L282[11:08:25] <ghz|afk> not just type erasure
L283[11:08:31] <ghz|afk> the same would happen with reification
L284[11:08:38] <ghz|afk> the only way to avoid that is to use specializations
L285[11:08:53] <ghz|afk> and that's not something generics usually support
L286[11:08:59] <sham1> Can Java support spesialisations of generics?
L287[11:09:00] <barteks2x> another way would be to have subclass of Information with that specifi ctyp
L288[11:09:06] <ghz|afk> no
L289[11:09:14] <ghz|afk> because of erasure
L290[11:09:18] <ghz|afk> that wouldn't make sense
L291[11:09:24] ⇨ Joins: Hunterz (~hunterz@62.182.234.189)
L292[11:09:27] <ghz|afk> with reification, it could be done, but not even .NET has them
L293[11:09:56] <barteks2x> also, here is someonne asking the same question: http://stackoverflow.com/questions/15977867/type-specific-constructor-for-generic-class
L294[11:10:39] <ghz|afk> yeah and has the same answer: specialized factory methods, not constructors
L295[11:11:34] <Ordinastie> but I don't see any reason why java doesn't allow to force specified generic
L296[11:11:53] <Ordinastie> using T enforces the generic to be T
L297[11:12:03] <ghz|afk> no it does not
L298[11:12:10] <ghz|afk> so far as the JVM is concerned
L299[11:12:23] <ghz|afk> everything in a <T extends X> that references T, gets compiled into X
L300[11:12:32] <ghz|afk> the compiler does the casting implicitly for you
L301[11:12:45] <JuiceGrape> how do you register multiple textures for an item with variants?
L302[11:12:58] <sham1> what do you mean
L303[11:13:19] <ghz|afk> JuiceGrape: if by textures you mean models, ModelLoader.setCustomModelResourceLocation has a meta parameter
L304[11:13:22] ⇨ Joins: McJty (~jorrit@94-225-8-18.access.telenet.be)
L305[11:13:34] <ghz|afk> if your items change based on NBT, you'll need an ItemMeshDefinition
L306[11:13:51] <JuiceGrape> I know, and I'm giving it that parameter, but how would I go about defining that in the model file?
L307[11:14:00] <ghz|afk> you don't
L308[11:14:00] <ghz|afk> well
L309[11:14:03] <ghz|afk> you can do like
L310[11:14:06] <Ordinastie> well, of course, T or subclass of T, but the point is, it could as well allow hard coded generic in the ctor definition of just inferring from outside
L311[11:14:11] <Ordinastie> or from arg
L312[11:14:23] <Ordinastie> *instead of
L313[11:14:30] <ghz|afk> ML.setCustomMRL(item, 0, new MRL(resloc, "subtype=a"));
L314[11:14:35] <ghz|afk> ML.setCustomMRL(item, 1, new MRL(resloc, "subtype=b"));
L315[11:14:37] <ghz|afk> etc
L316[11:14:42] <ghz|afk> and then in a blockstates json
L317[11:14:46] <ghz|afk> (yes you can use blockstates for items)
L318[11:14:52] <Ordinastie> I guess I'll make a factory instead :s
L319[11:14:54] ⇦ Quits: Scoaex_ (~Scoaex@p5B279DAC.dip0.t-ipconnect.de) (Quit: Leaving)
L320[11:14:54] <ghz|afk> "variants": {
L321[11:15:01] <ghz|afk> "subtype=a": { model 1 }
L322[11:15:05] <ghz|afk> "subtype=b": { model 2 }
L323[11:15:07] <ghz|afk> etc
L324[11:15:07] <ghz|afk> }
L325[11:15:20] <ghz|afk> however
L326[11:15:21] <JuiceGrape> do you know of a programmed example?
L327[11:15:27] <ghz|afk> note that models defined from blockstates files
L328[11:15:30] <ghz|afk> are assumedto be blocks
L329[11:15:32] <ghz|afk> even for items
L330[11:16:06] <ghz|afk> here
L331[11:16:07] <ghz|afk> https://github.com/gigaherz/ElementsOfPower/blob/master/src/main/java/gigaherz/elementsofpower/client/ClientProxy.java#L187
L332[11:16:30] <ghz|afk> I used forge blockstates syntax for this
L333[11:16:31] <ghz|afk> https://github.com/gigaherz/ElementsOfPower/blob/master/src/main/resources/assets/elementsofpower/blockstates/magicOrb.json
L334[11:17:06] <ghz|afk> registerItemModel is defined below, ends up calling
L335[11:17:07] <ghz|afk> https://github.com/gigaherz/ElementsOfPower/blob/master/src/main/java/gigaherz/elementsofpower/client/ClientProxy.java#L258
L336[11:17:28] <ghz|afk> I do have a version that takes an itemstack
L337[11:17:29] <ghz|afk> https://github.com/gigaherz/ElementsOfPower/blob/master/src/main/java/gigaherz/elementsofpower/client/ClientProxy.java#L241
L338[11:17:31] <ghz|afk> but just to get item+meta
L339[11:17:33] <ghz|afk> I ignore NBT
L340[11:17:40] <ghz|afk> for the cases where I DO need NBT
L341[11:17:44] <ghz|afk> I have the mesh definition
L342[11:17:50] <ghz|afk> https://github.com/gigaherz/ElementsOfPower/blob/master/src/main/java/gigaherz/elementsofpower/client/ClientProxy.java#L270
L343[11:18:11] <ghz|afk> which I handle differently
L344[11:18:53] ⇦ Quits: DemonWav (~DemonWav@69.197.179.106) (Ping timeout: 206 seconds)
L345[11:18:55] <Ordinastie> and because of generics, I'll have to have some kind of custom map impl to link generic from information to component :/
L346[11:21:29] <JuiceGrape> wouldn't have to add myModName: to the id?
L347[11:21:56] <ghz|afk> id?
L348[11:22:18] <ghz|afk> you'll notice I use item.getRegistryName()
L349[11:22:22] <ghz|afk> which returns a ResourceLocation
L350[11:22:45] <ghz|afk> which has both the domain (modid) and path (unique name)
L351[11:22:51] <JuiceGrape> ah okay, thanks
L352[11:23:47] ⇨ Joins: TechnicianLP (~Technicia@p4FE1C11A.dip0.t-ipconnect.de)
L353[11:24:07] <JuiceGrape> ModelLoader.setCustomModelResourceLocation(item, meta, new ModelResourceLocation(ModInfo.ID + ":" + id, variant)); so doing thise with a different variant for each of my items would allow to use a blockState json to fiddle around with that?
L354[11:24:30] ⇨ Joins: howtonotwin (~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net)
L355[11:24:38] <ghz|afk> yes
L356[11:24:46] <howtonotwin> JuiceGrape, here's this for general model info: https://gist.github.com/howtonotwin/88fd07f419ae5c9560e9ae2615514018
L357[11:24:51] <ghz|afk> I recommend using item.getRegistryName(), though
L358[11:24:58] <ghz|afk> this keeps everything "same-named"
L359[11:25:35] <JuiceGrape> yeah, might switch to that, would also remove some useless code :P
L360[11:29:29] <PaleoCrafter> howtonotwin, you know you can host your own fork on readthedocs? :P
L361[11:30:26] <howtonotwin> teach me your ways master
L362[11:30:30] <howtonotwin> :P
L363[11:31:13] <howtonotwin> "master" being Google in this case
L364[11:31:14] <PaleoCrafter> you create an account there and click "Import Project" on your Dashboard xD
L365[11:32:24] *** amadornes is now known as amadornes[Streaming]
L366[11:34:49] ⇦ Quits: Korobi (korobi@is.a.ninja.korobi.io) (Remote host closed the connection)
L367[11:35:17] <TechnicianLP> why not just make a pr?
L368[11:36:01] <howtonotwin> I have :P
L369[11:37:52] ⇦ Quits: kashike (kashike@is.a.miserable.ninja) (Ping timeout: 384 seconds)
L370[11:38:43] ⇨ Joins: Shambling (~Joseph@24-181-186-74.dhcp.nwtn.ct.charter.com)
L371[11:39:46] ⇦ Quits: Shambling (~Joseph@24-181-186-74.dhcp.nwtn.ct.charter.com) (Client Quit)
L372[11:40:11] <sham1> Hmm, I wonder about which kinds of documents RTD supports
L373[11:40:26] <howtonotwin> https://docs.readthedocs.io/en/latest/getting_started.html#write-your-docs
L374[11:40:41] <howtonotwin> reStructuredText and MD
L375[11:40:42] <sham1> No ORG-mode support
L376[11:40:43] <sham1> Boo
L377[11:41:53] <sham1> Could probably contribute, but at the same time...
L378[11:41:55] <sham1> python
L379[11:43:18] <barteks2x> using the same thread pool for loading cubes and columns at the same time was a really bad idea...
L380[11:43:32] <Ordinastie> so, now I have that : http://puu.sh/ss27S.png
L381[11:43:38] <Ordinastie> and I need to store them in a map
L382[11:43:42] <Ordinastie> as Functions
L383[11:44:51] <Ordinastie> problem is for the BlockPos one
L384[11:45:03] <sham1> What problem are you getting
L385[11:46:14] <Ordinastie> that's the map signature : Map<Object, BiFunction<DebugGui, IInformation<?>, UIComponent<?>>>
L386[11:47:01] <howtonotwin> Yo dawg, I heard you like types, so I put types in your types.
L387[11:47:10] <sham1> Umn
L388[11:47:12] <sham1> Umn
L389[11:47:15] <JuiceGrape> ghz, what would I put as the general item model?
L390[11:47:21] <ghz|afk> hm?
L391[11:47:26] <Ordinastie> ide complains : The type InformationComponent does not define blockPosComponent(DebugGui, IInformation<capture#2-of ?>) that is applicable here
L392[11:47:27] *** ghz|afk is now known as gigaherz
L393[11:47:32] <gigaherz> what do you mean?
L394[11:47:46] <LatvianModder> !gf MinecraftServer#tickables
L395[11:47:55] <Ordinastie> for the blockPos method reference, and map.put complains too then :
L396[11:47:55] <Ordinastie> The method put(Object, BiFunction<DebugGui,IInformation<?>,UIComponent<?>>) in the type Map<Object,BiFunction<DebugGui,IInformation<?>,UIComponent<?>>> is not applicable for the arguments (Class<BlockPos>, InformationComponent::blockPosComponent)
L397[11:49:18] <sham1> Have you tried to replace the ? in IInformation<?>,UIComponent<?> with some other letter, like A
L398[11:49:37] <Ordinastie> you can't in field definition
L399[11:49:56] <sham1> Well that's stupid
L400[11:50:00] <Ordinastie> I mean, if it's not tied to generic for the class
L401[11:50:08] <williewillus> now that fluidcontainerregistry is gone how do I list all items that are fluid containers on startup, loop through every item, make a stack, and check if it has the cap?
L402[11:51:41] <JuiceGrape> well damn I just broke everything. ugh.
L403[11:52:07] <JuiceGrape> blockstates use models, and I just want the regular ol item model, what would that be
L404[11:52:21] <howtonotwin> Ordinastie, so I tried to replicate what I think the type you want here is in scala: val x: Function2[A[_], B[T], C[T]] forSome { type T; } = null
L405[11:52:27] <howtonotwin> and the compiler emits a warning
L406[11:52:39] <howtonotwin> so it is in fact impossible to express that type in java wildcards
L407[11:52:43] <sham1> What an ugly expression
L408[11:53:02] <howtonotwin> it's not an expression :P it's a type
L409[11:53:13] <Ordinastie> that's even worse
L410[11:53:16] <sham1> type expression :P
L411[11:53:35] <howtonotwin> probably could be sugared a bit
L412[11:53:36] <sham1> But yeah, that type is horrible
L413[11:53:49] <Ordinastie> basically, something that takes <?> as param can't be given <Something>
L414[11:54:38] ⇨ Joins: b0bst3r (~b0bst3r@cpc105704-shef14-2-0-cust135.17-1.cable.virginm.net)
L415[11:54:52] ⇦ Quits: Brokkoli (~Brokkoli@p2e5b1d2f.dip0.t-ipconnect.de) (Ping timeout: 186 seconds)
L416[11:55:02] ⇦ Parts: b0bst3r (~b0bst3r@cpc105704-shef14-2-0-cust135.17-1.cable.virginm.net) ())
L417[11:55:05] ⇦ Quits: Subaraki (~Artix@mf763-h01-176-150-102-154.dsl.sta.abo.bbox.fr) (Read error: Connection reset by peer)
L418[11:55:25] *** Mine|dreamland is now known as minecreatr
L419[11:56:00] ⇨ Joins: Subaraki (~Artix@mf763-h01-176-150-102-154.dsl.sta.abo.bbox.fr)
L420[11:56:08] <howtonotwin> "(A[_], B[T]) => C[T] forSome { type T }" better :P
L421[11:56:37] <quadraxis> did you try adding wildcards to the generic parts of your BiFunction type definition?
L422[11:57:31] <JuiceGrape> Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register" This works, but "ModelLoader.setCustomModelResourceLocation" doesn't. What do they do differently?
L423[11:57:46] <williewillus> the latter needs to be in preinit
L424[11:58:02] <williewillus> the former is spread around by old tutorials which usually had it in init
L425[11:58:05] <Ordinastie> quadraxis, do you mean for blockPosComponent method ?
L426[11:58:15] <JuiceGrape> why would it NEED to be in pre init
L427[11:58:20] <gigaherz> because by the time init runs
L428[11:58:21] <howtonotwin> you should be using the model registering event, not preinit
L429[11:58:28] <howtonotwin> models load in between init and preinit
L430[11:58:29] <gigaherz> the list has been processed and given to minecraft's internal model list
L431[11:58:51] <JuiceGrape> fine I'll move it *grumbles*
L432[11:58:56] <quadraxis> ordinastie, for the map type, so put will be more accepting
L433[11:59:00] <sham1> Don't blidnly follow tutorials
L434[11:59:00] <howtonotwin> wait!
L435[11:59:04] <gigaherz> you can also use the new registry event
L436[11:59:06] <howtonotwin> use the event for model registering
L437[11:59:14] <gigaherz> nah you CAN use it
L438[11:59:15] <Ordinastie> it's already wildcards, that's why it doesn't accept the specified one
L439[11:59:16] <gigaherz> it's optional
L440[11:59:20] <gigaherz> it's nice, but optional
L441[11:59:22] <JuiceGrape> I'm calling it when I'm creating a block. I ain't gonna wait till a different event xD
L442[11:59:38] <williewillus> it just needs to be in preinit
L443[11:59:44] <howtonotwin> Did we mention that registration also has events :P
L444[11:59:46] <gigaherz> JuiceGrape: assuming you use a semi-recent 1.10.2
L445[11:59:47] <gigaherz> https://github.com/gigaherz/PackingTape/blob/master/src/main/java/gigaherz/packingtape/client/ClientProxy.java#L24
L446[11:59:54] <barteks2x> if you let idea convert method reference to lambda, it becomes obvious why it's not possible
L447[11:59:54] <gigaherz> https://github.com/gigaherz/PackingTape/blob/master/src/main/java/gigaherz/packingtape/client/ClientProxy.java#L15
L448[11:59:57] <gigaherz> you can do this
L449[12:00:05] <gigaherz> to make 100% sure you always register early enough
L450[12:00:09] <williewillus> i'm too lazy to move to those events :P
L451[12:00:15] <quadraxis> Map<Object,BiFunction<DebugGui,*? extends IInformation<?>*,*? extends UIComponent<?>>>
L452[12:00:20] ⇨ Joins: Brokkoli (~Brokkoli@p2E5B1DD8.dip0.t-ipconnect.de)
L453[12:00:21] <gigaherz> however
L454[12:00:27] <gigaherz> there's a catch: this runs before preInit
L455[12:00:28] <sham1> quadraxis: what the hell is that syntax
L456[12:00:30] <gigaherz> so if you want that to work
L457[12:00:35] <howtonotwin> * are emphasis
L458[12:00:37] <gigaherz> you NEED to also use the registry events for your blocks and items
L459[12:00:45] <williewillus> also there were some issue with their invocation order I thought
L460[12:00:48] <williewillus> for the registry events
L461[12:00:50] <gigaherz> https://github.com/gigaherz/PackingTape/blob/master/src/main/java/gigaherz/packingtape/ModPackingTape.java#L44
L462[12:00:53] <gigaherz> like this
L463[12:00:58] <gigaherz> williewillus: nah
L464[12:01:10] <gigaherz> first goes Block, then Item, then every other registry, then Models
L465[12:01:29] <gigaherz> preInit goes after all of them
L466[12:01:32] <sham1> Oh, more events
L467[12:01:34] <Ordinastie> quadraxis, doesn't work
L468[12:01:37] <sham1> Wonderful
L469[12:01:47] <gigaherz> which strengthens the fact that you shouldn't rely on config for deciding what items/blocks you register
L470[12:01:49] <barteks2x> It kind of worked for me
L471[12:01:56] <barteks2x> but I probably have the code slightly different
L472[12:02:01] <howtonotwin> order is: mod construct -> proxy inject -> some other stuff? -> register Mod.EventBusSubscriber -> Block -> load ObjectHolder -> Item -> load ObjectHolder -> everything else -> load ObjectHolder -> preinit
L473[12:02:22] <sham1> There are just so many events these days
L474[12:02:45] <gigaherz> sham1: we even have generic-matching events
L475[12:02:54] <barteks2x> I first assign the method reference to BiFunction<DebugGui, IInformation<BlockPos>, UIComponent<?>> variable, and then put that into map
L476[12:02:57] <barteks2x> and that seems to work
L477[12:02:58] <gigaherz> so that RegistryEvent.Register<Block>
L478[12:03:01] <gigaherz> only runs for blocks
L479[12:03:01] <gigaherz> ;P
L480[12:03:12] <gigaherz> I mean for the block event
L481[12:03:32] <Ordinastie> barteks2x, what's the variable signature ?
L482[12:03:47] <barteks2x> BiFunction<DebugGui, IInformation<BlockPos>, UIComponent<?>>
L483[12:04:03] <barteks2x> and I assign the methdo reference to that, then put that into the map
L484[12:04:11] <barteks2x> if I put it directly into map, it won't work
L485[12:04:25] <Ordinastie> and your map signature ?
L486[12:04:44] <barteks2x> but that is with this map: Map<Object,BiFunction<DebugGui,? extends IInformation<?>,UIComponent<?>>>
L487[12:04:58] <Ordinastie> ah yes
L488[12:05:08] <JuiceGrape> gigaherz, can I ping you?
L489[12:05:25] <JuiceGrape> or like, private chat, forgot what that's called
L490[12:06:06] <Ordinastie> incidentally, it works if casted too
L491[12:06:22] <gigaherz> JuiceGrape: I prefer to help in publis
L492[12:06:24] <gigaherz> public*
L493[12:06:36] ⇦ Quits: Snapples (uid167569@id-167569.highgate.irccloud.com) (Quit: Connection closed for inactivity)
L494[12:06:37] <gigaherz> this way others can give their input also
L495[12:06:39] <JuiceGrape> okay, well then, would I still need to use an Item model file?
L496[12:06:44] <JuiceGrape> or just the blockState?
L497[12:06:48] <gigaherz> if you use blockstates
L498[12:06:57] ⇨ Joins: kashike (kashike@is.a.miserable.ninja)
L499[12:06:58] <barteks2x> you can cast things anyway, the point is to do it without casts
L500[12:07:03] <gigaherz> the model files will have to be in the blocks folder
L501[12:07:07] <gigaherz> regardless of them being items or blocks
L502[12:07:24] <Ordinastie> barteks2x, assigning to the variable is basically casting
L503[12:07:24] <JuiceGrape> even though I register it as an item, and not as a block?
L504[12:07:27] <gigaherz> yep
L505[12:07:35] <gigaherz> because the blockstate system was made for blocks
L506[12:07:36] <Ordinastie> infoProviders.put(BlockPos.class, (BiFunction<DebugGui, IInformation<BlockPos>, UIComponent<?>>) BlockPosComponent::new);
L507[12:07:38] <JuiceGrape> it will realize this on it's own or something?
L508[12:07:49] <gigaherz> mc prefixes all paths with "models/block/"
L509[12:07:50] <barteks2x> at least it's not unsafe cast now
L510[12:07:55] <gigaherz> so you don't get a choice
L511[12:08:01] <howtonotwin> models do not have a concept of "item" or "block" until the lowest levels
L512[12:08:08] <Ordinastie> it doesn't say unsafe cast either
L513[12:08:11] <JuiceGrape> I have a folder models/item that I use though
L514[12:08:15] <JuiceGrape> for my item model files
L515[12:08:16] <howtonotwin> at the level of jsons and such "block" and "item" are meaningless
L516[12:08:23] <gigaherz> yes but you cna't reference those from the blockstates file
L517[12:08:25] <howtonotwin> they're just folder names
L518[12:08:26] <gigaherz> so either you don't use blockstates
L519[12:08:31] <gigaherz> or you move the models to the block folder
L520[12:08:32] <sham1> s/folder/directory/
L521[12:08:36] <gigaherz> it doesn't matter if it's items or blocks
L522[12:08:38] <barteks2x> that cast can be done automatically, so it can't be unsafe
L523[12:08:52] <JuiceGrape> but then how does minecraft realize it needs to use the item folder or the block folder?
L524[12:08:57] <howtonotwin> it doesn't
L525[12:08:58] <gigaherz> sham1: why? it carries the same meaning and it's shorter
L526[12:09:02] ⇦ Quits: Delaxarnyazer (~Delaxarny@ip56572345.direct-adsl.nl) (Ping timeout: 384 seconds)
L527[12:09:05] <sham1> No it doesn't
L528[12:09:12] <howtonotwin> the code for the model loader simply says: oh load data from here
L529[12:09:16] <JuiceGrape> then how in the hell am I using 2 seperate folders without ever defining them
L530[12:09:27] <gigaherz> because minecraft has certain assumptions
L531[12:09:28] <gigaherz> normally
L532[12:09:33] <gigaherz> it looks for item models in models/item
L533[12:09:36] ⇨ Joins: Delaxarnyazer (~Delaxarny@ip56572345.direct-adsl.nl)
L534[12:09:41] <gigaherz> and it looks for blockstate models in models/block
L535[12:09:51] <gigaherz> but if you choose to use a blockstates reference
L536[12:09:52] <gigaherz> for an item
L537[12:10:01] <gigaherz> you redirect mc to the other code path
L538[12:10:05] <gigaherz> meaning it will use models/block
L539[12:10:15] <JuiceGrape> no, it looks for that in the blockstate folder
L540[12:10:25] <gigaherz> I mean the models you reference INSIDE THE BLOCKSTATES JSON
L541[12:10:26] <JuiceGrape> I have blockstate, models/block, and models/item
L542[12:10:30] <Ordinastie> it's still annoying if I have to cast or use local var though
L543[12:10:31] <gigaherz> yes
L544[12:10:37] <gigaherz> and your blockstate json file
L545[12:10:38] <gigaherz> will have like
L546[12:10:41] <gigaherz> "variants": {
L547[12:10:42] <JuiceGrape> I don't really need to reference one cause I just want the regular item I guess?
L548[12:10:46] <gigaherz> "variant 1": {
L549[12:10:52] <gigaherz> "model": "yourmodid:somemodel"
L550[12:10:53] <gigaherz> }
L551[12:10:57] <gigaherz> and mc will see that
L552[12:10:58] <gigaherz> and say
L553[12:11:07] <sham1> Why are you even using blockstates for that Juice
L554[12:11:10] <gigaherz> "oh, i'll load /assets/yourmodid/models/block/somemodel.json"
L555[12:11:44] <JuiceGrape> sham1: cause my item has different meta states and it needs to have different textures based on it
L556[12:11:53] <gigaherz> yo ucan use separate models, though
L557[12:11:53] <howtonotwin> Models are loaded via ICustomModelLoaders
L558[12:12:01] <howtonotwin> they take ResourceLocations as input
L559[12:12:02] <gigaherz> I did forget to mention that
L560[12:12:02] <gigaherz> XD
L561[12:12:04] <howtonotwin> and put out IModels
L562[12:12:11] <sham1> ...you can do that without a blockstate json...
L563[12:12:12] <gigaherz> howtonotwin: that doesn't matter here
L564[12:12:13] <howtonotwin> note that a RL has no concept of a file
L565[12:12:23] <JuiceGrape> without having to create a new file for every item I add
L566[12:12:28] <howtonotwin> it is the job of the ICML to actually get data out of files
L567[12:12:35] <sham1> You already do that for all the textures
L568[12:12:46] <gigaherz> JuiceGrape: let me make a side-point
L569[12:12:52] <gigaherz> if you choose to use the blockstates trick
L570[12:12:56] <gigaherz> to avoid defining one file per state
L571[12:13:05] <gigaherz> you'll lose part of the reason models exist: custom resource packs
L572[12:13:09] <howtonotwin> the vanilla blockstate loader transforms RLs into file paths in assets/<domain>/blockstates/<path>.json
L573[12:13:16] <gigaherz> if you use separate models
L574[12:13:16] <howtonotwin> which is hardcoded
L575[12:13:17] <JuiceGrape> I tried defining one file per state, didn't work for me
L576[12:13:24] <howtonotwin> it doesn't "know" anything
L577[12:13:28] <howtonotwin> it just blindly does it
L578[12:13:31] <sham1> well you did it wrong then
L579[12:13:41] <howtonotwin> next, the blockstate file references other models
L580[12:13:48] <gigaherz> ModelLoader.setCustomModelResourceLocation(item, 0, new ModelResourceLocation(MODID + ":" + "filename1", "inventory"));
L581[12:13:54] <gigaherz> ModelLoader.setCustomModelResourceLocation(item, 1, new ModelResourceLocation(MODID + ":" + "filename2", "inventory"));
L582[12:13:55] <JuiceGrape> oh woot got it working. ty <3
L583[12:13:55] <gigaherz> etc
L584[12:14:05] <gigaherz> that's how you can use separate files per subitem
L585[12:14:08] <howtonotwin> and the model loader blindly transforms them into assets/<domain>/models/block/<path>.json
L586[12:14:11] <howtonotwin> again
L587[12:14:14] <howtonotwin> it knows nothing
L588[12:14:19] <gigaherz> howtonotwin: you went FAR too deep into this
L589[12:14:19] <gigaherz> XD
L590[12:14:21] <howtonotwin> it is doing this blindly
L591[12:14:40] <howtonotwin> well I spent a week code-sploring the model system :P
L592[12:14:46] <sham1> There's no such thing as too deep
L593[12:14:58] <gigaherz> yeah I spent like a couple months
L594[12:15:01] <howtonotwin> y'all gonna learn whether you want to or not! :P
L595[12:15:07] <gigaherz> back before there was any documentation for it
L596[12:15:11] <sham1> Until your stack gets overflown
L597[12:15:22] <gigaherz> I mean
L598[12:15:28] <gigaherz> before the custom model loading system, even
L599[12:15:28] <gigaherz> XD
L600[12:15:32] <gigaherz> I wrote my own .OBJ loader
L601[12:15:37] <gigaherz> before forge had custom models
L602[12:15:41] <gigaherz> it was fun
L603[12:15:54] <sham1> Was parsing the OBJ the easy or the hard part
L604[12:16:03] <gigaherz> easy
L605[12:16:12] <gigaherz> the hard part was that I had to write a helper
L606[12:16:20] <gigaherz> with a model registry
L607[12:16:22] <gigaherz> and a texture registry
L608[12:16:38] <gigaherz> and then I'd analyze the models to load the texture list
L609[12:16:47] <gigaherz> so that I had them on time for TextureStitchEvent
L610[12:17:26] <gigaherz> I basically bypassed the normal loading
L611[12:17:37] <gigaherz> instead of registering with the mesher (or the custom loader now)
L612[12:17:46] <gigaherz> I had my own registry and used ModelBakeEvent
L613[12:17:53] <gigaherz> but on top of that
L614[12:18:01] <gigaherz> since the forge blockstates system didn't exist
L615[12:18:09] <gigaherz> I wrote a hacky system for loading the json files
L616[12:18:13] <gigaherz> even if a .obj was assigned
L617[12:18:15] <Ordinastie> barteks2x, so, when I go through the static method to register it works... in some cases
L618[12:18:18] <gigaherz> so that I could read the transforms from it
L619[12:18:21] <gigaherz> so in those days
L620[12:18:23] <gigaherz> I had
L621[12:18:25] <gigaherz> model.obj
L622[12:18:26] <gigaherz> model.mtl
L623[12:18:28] <gigaherz> model.json
L624[12:18:33] <gigaherz> in order to hold all the data
L625[12:18:34] <gigaherz> XD
L626[12:18:42] <barteks2x> what? How "in some cases"?
L627[12:20:16] ⇦ Quits: kashike (kashike@is.a.miserable.ninja) (Ping timeout: 206 seconds)
L628[12:20:36] <JuiceGrape> now to set the colour...
L629[12:20:38] <Ordinastie> currently : http://puu.sh/ss4ex.png
L630[12:21:10] <Ordinastie> and http://puu.sh/ss4gP.png
L631[12:21:39] <Ordinastie> I'm not sure why the ctor ref works, but not the static method
L632[12:23:19] <Ordinastie> (need to fix the apply() below too :x)
L633[12:25:44] <barteks2x> what is the compier error?
L634[12:25:49] <barteks2x> *compile
L635[12:26:39] <quadraxis> try inlining toString into the InformationComponent<> constructor?
L636[12:26:50] <quadraxis> that's at least one possible difference
L637[12:35:40] <Ordinastie> the getComponent() method gives me troubles too ><
L638[12:36:28] ⇨ Joins: Gil (uid147942@id-147942.brockwell.irccloud.com)
L639[12:38:06] ⇨ Joins: Lordmau5 (~Lordmau5@mail.viet-pham.de)
L640[12:39:12] * Akkarin smacks a pie into Lordmau5's face
L641[12:39:17] <Akkarin> surprise!
L642[12:39:20] <Lordmau5> wah
L643[12:39:30] <Lordmau5> sup lmao
L644[12:39:33] * Akkarin waddles away without saying anything else
L645[12:39:51] * Lordmau5 grabs Akkarin back into the chat
L646[12:39:57] <Lordmau5> How good are you when it comes to aesthetic builds?
L647[12:41:54] ⇦ Quits: AstralSorcerer (~AstralSor@128.151.114.188) (Ping timeout: 384 seconds)
L648[12:47:06] <Ordinastie> hum, really? http://puu.sh/ss5Mh.png :x
L649[12:47:39] <barteks2x> you use eclipse so...
L650[12:47:48] <barteks2x> (at least it looks like eclipse)
L651[12:48:07] <Ordinastie> yeah, it's eclipse
L652[12:48:37] <Ordinastie> I whish they fix that too : The method apply(DebugGui, capture#10-of ? extends IInformation<?>) in the type BiFunction<DebugGui,capture#10-of ? extends IInformation<?>,UIComponent<?>> is not applicable for the arguments (DebugGui, IInformation<T>)
L653[12:49:17] <barteks2x> does javac give different error/no error?
L654[12:50:25] <Ordinastie> not sure how to get it
L655[12:51:56] ⇦ Quits: McJty (~jorrit@94-225-8-18.access.telenet.be) (Ping timeout: 186 seconds)
L656[12:52:06] <howtonotwin> oh joy compiler bugs
L657[12:52:16] <barteks2x> you said "I whish they fix that too", what exactly was it supposed to mean? It's not compilers fault that your code is wrong. Unless javac gives different result
L658[12:52:28] <barteks2x> and gradle uses javac so you can verufy with ./gradlew build
L659[12:52:28] <Ordinastie> I meant the output
L660[12:52:56] <barteks2x> I don't think java specification specifies format of compile errors
L661[12:53:13] <barteks2x> so eclipse compiler is free to show you whatever messages it wants
L662[12:54:11] <Ordinastie> I just assume the "capture#10-of" is a bug
L663[12:54:16] <Ordinastie> maybe it's not, I don't know
L664[12:55:21] ⇨ Joins: DemonWav (~DemonWav@69.197.179.106)
L665[12:55:45] <barteks2x> it probably isn't
L666[12:55:48] <howtonotwin> It's not
L667[12:56:17] <Ordinastie> ok, then what is it supposed to mean ?
L668[12:56:27] <howtonotwin> The message needs to convey that the "? extends IInformation<?>" parameter to BiFunction is the same as the type of the parameter of apply
L669[12:57:12] <howtonotwin> so the unknown type represented by the wildcard is "captured" and given a name
L670[12:57:25] <howtonotwin> Think of it like this
L671[12:57:34] <howtonotwin> a simplified def of Function is this
L672[12:58:06] <barteks2x> is it possible to determine if I'm currently running from a shutdown hook?
L673[12:58:08] <howtonotwin> Function[In, Out] = { apply(In in): Out }
L674[12:58:23] <howtonotwin> now let's say In is a wildcard
L675[12:58:47] <howtonotwin> Function[? extends IInformation[?], String]
L676[12:58:59] <howtonotwin> and let's replace the variables in the definition
L677[12:59:31] ⇨ Joins: KnightMiner (~KnightMin@adsl-75-5-73-60.dsl.emhril.sbcglobal.net)
L678[13:00:03] <Ordinastie> (god I hate notations that put the return type at the end
L679[13:00:11] * howtonotwin realizes his example is crap
L680[13:01:00] * howtonotwin goes back to the drawing board
L681[13:01:25] <barteks2x> return type at the end kind of makes sense... return is the last thing a function/method does
L682[13:01:39] ⇦ Quits: ThePsionic (~ThePsioni@ip5457f909.direct-adsl.nl) (Read error: Connection reset by peer)
L683[13:02:09] <howtonotwin> ok here's another :P
L684[13:02:11] <howtonotwin> Type[X] = { X apply(X x) }
L685[13:02:12] <howtonotwin> Type[? extends A] = { (? extends A) apply((? extends A) x) }
L686[13:02:29] <Ordinastie> howtonotwin, don't bother
L687[13:02:34] <howtonotwin> ok
L688[13:02:39] * howtonotwin scampers off
L689[13:02:53] <Ordinastie> I understood what you said, and there is no way those notation would help anyway ><
L690[13:03:08] <Ordinastie> that's the end result I got : http://puu.sh/ss6K5.png
L691[13:04:26] <Ordinastie> if you prefer : https://github.com/Ordinastie/MalisisDebugTools/blob/1.9.4/src/main/java/net/malisis/mdt/gui/ComponentProviders.java
L692[13:04:44] ⇦ Quits: KnightMiner (~KnightMin@adsl-75-5-73-60.dsl.emhril.sbcglobal.net) (Ping timeout: 186 seconds)
L693[13:04:47] <sham1> Scala's type signatures
L694[13:04:48] <sham1> My god
L695[13:05:13] ⇨ Joins: Korobi (korobi@is.a.ninja.korobi.io)
L696[13:05:19] <howtonotwin> what's wrong with them :(
L697[13:05:41] ⇨ Joins: kashike (kashike@is.a.miserable.ninja)
L698[13:05:48] <sham1> Too many brackets and parenthesis
L699[13:05:54] ⇨ Joins: AshIndigo (~AshIndigo@79-67-168-211.dynamic.dsl.as9105.com)
L700[13:05:59] ⇦ Quits: AshIndigo_ (~AshIndigo@188.29.164.119.threembb.co.uk) (Quit: Bye)
L701[13:06:05] <howtonotwin> example?
L702[13:06:29] ⇨ Joins: McJty (~jorrit@94-225-8-18.access.telenet.be)
L703[13:06:58] <sham1> Well, even stuff like Type[X]
L704[13:07:04] <sham1> WHy do I need those square brackets there
L705[13:07:06] <howtonotwin> that's not scala xD
L706[13:07:16] <howtonotwin> and it's the same as Type<X> in java
L707[13:07:21] <howtonotwin> could be scala
L708[13:07:29] <sham1> Is it pseudo
L709[13:07:34] <howtonotwin> type Type[X] = { def apply(x: X): X }
L710[13:07:40] <howtonotwin> I guess
L711[13:08:07] <sham1> newtype Type a = {apply a -> a}
L712[13:08:16] <howtonotwin> ofc that's a structural type
L713[13:08:19] <sham1> Meh
L714[13:08:20] <howtonotwin> so much reflection
L715[13:08:29] <sham1> I forgot something
L716[13:08:44] <howtonotwin> I tried to analyze the bytecode produced by structural types
L717[13:08:46] <howtonotwin> once
L718[13:09:00] <diesieben07> i hope they optimize them using invokedynamic now
L719[13:09:02] <diesieben07> in 2.12
L720[13:09:08] <howtonotwin> the dark compiler magicks burn my eyes
L721[13:09:25] <barteks2x> Is it worse than bytecode resulting from groovy code?
L722[13:09:31] <howtonotwin> maybe
L723[13:09:41] <diesieben07> scala bytecode is... crazy :D
L724[13:09:45] <howtonotwin> I think there's caching in there
L725[13:09:47] <howtonotwin> idek
L726[13:09:51] <barteks2x> groovy code is impossible to read even if you decompile it back to java
L727[13:10:10] <PaleoCrafter> diesieben07, that'll have to wait for dotty, iirc
L728[13:10:15] <howtonotwin> scalac generates so many helper methods and so many $s
L729[13:10:20] <PaleoCrafter> structural types will basically be replaced by records, iirc
L730[13:10:32] <diesieben07> these people and their crazy ideas...
L731[13:10:35] * diesieben07 sticks with java.
L732[13:10:40] <barteks2x> is it worse than this? http://pastebin.com/aVpV7hB0
L733[13:10:51] <sham1> I really wish that we would be able to use Java9 for modding when it comes out
L734[13:10:51] <howtonotwin> probably
L735[13:10:54] <howtonotwin> one mo'
L736[13:11:02] <sham1> DOesn't is have some improvements on Stream<a> or something?
L737[13:11:16] <diesieben07> what is Stream<a>?
L738[13:11:28] <sham1> Well
L739[13:11:31] <sham1> Stream<?>
L740[13:11:35] <sham1> Meh
L741[13:11:39] <diesieben07> it probably does? idk :D
L742[13:11:50] <diesieben07> fml will probably explode into a million pieces with java 9
L743[13:12:01] <sham1> I am looking at the jdk9 page
L744[13:12:01] <diesieben07> and many other hackeries in forge
L745[13:12:03] <sham1> My god
L746[13:12:14] <diesieben07> for example: static final field setting? bye :)
L747[13:12:28] <barteks2x> really? won't be possible anymore at all?
L748[13:12:30] <diesieben07> and i will say: "I told you so" when it happens
L749[13:12:33] <diesieben07> command line flag
L750[13:12:41] <sham1> At least it can be toggled on
L751[13:12:50] <diesieben07> i *think*
L752[13:12:51] <diesieben07> but i am not sure
L753[13:13:03] <diesieben07> it's because you can no longer do the "set the modifiers field with reflection" trick
L754[13:13:31] <diesieben07> which i am not sure if you can change that using the command line
L755[13:13:40] <sham1> One of the features of jdk+
L756[13:13:43] <sham1> jdk9*
L757[13:13:45] <barteks2x> will they move the modifier check to native code or how?
L758[13:13:51] <sham1> Enable Java graphical applications, whether based on JavaFX, Swing, or AWT, to use either GTK 2 or GTK 3 on Linux.
L759[13:13:52] <diesieben07> no
L760[13:13:59] <diesieben07> they added a module system
L761[13:14:04] <diesieben07> and if a module does not expose X
L762[13:14:09] <diesieben07> you cannot access X even with reflection
L763[13:14:16] <barteks2x> what...
L764[13:14:19] <sham1> Indeed
L765[13:14:24] <diesieben07> not "what"
L766[13:14:29] <sham1> No more sun.misc.Unsafe
L767[13:14:30] <diesieben07> that is how any reasonable language works
L768[13:14:33] <diesieben07> that is not true sham
L769[13:14:40] <sham1> Well, normally
L770[13:14:40] <diesieben07> sun.misc.Unsafe stays
L771[13:14:44] <diesieben07> no, by default.
L772[13:14:46] <sham1> YOu have to use a flag
L773[13:14:48] <diesieben07> you can depend on it just fine
L774[13:14:49] <diesieben07> no flag.
L775[13:14:50] <sham1> Wait, you don't
L776[13:14:53] <sham1> Hmm
L777[13:15:03] <Akkarin> Well a good bit of Unsafe is also going to get migrated into actual stable APIs with Java 9
L778[13:15:04] <sham1> I would have guessed that it would have fone
L779[13:15:05] <Akkarin> so there's that
L780[13:15:05] <diesieben07> the plan is to replace everything in there with something supported
L781[13:15:08] <Akkarin> not everything but most of it
L782[13:15:16] <diesieben07> and if there is something supported, deprecated the unsafe version
L783[13:15:22] <diesieben07> and then remove the unsafe version one release later
L784[13:15:43] <diesieben07> so e.g. the compareAndSwap stuff is replaced by VarHandles
L785[13:15:45] <sham1> Anyway, why is Oracle adding support for GTK but not QT
L786[13:15:55] <diesieben07> so that will most likely be gone in java 10 (i.e. one release later)
L787[13:16:05] <PaleoCrafter> I just want Valhalla, I don't care about other developments in Java :P
L788[13:16:07] <barteks2x> so the only way to add things to enums in java 9 will be using even more asm?
L789[13:16:21] <diesieben07> you'd have to modify the class, yes
L790[13:16:22] <sham1> Adding things to enums is a hack anyway
L791[13:16:26] <diesieben07> adding things to enums is bad and shouldnot work
L792[13:16:27] <diesieben07> ever.
L793[13:16:36] <sham1> An awful, awful hack
L794[13:16:47] <diesieben07> the fact that it works at all has me amazed :D
L795[13:17:01] <PaleoCrafter> yeah, and Forge actually talked to Mojang about using interfaces above the enums, but they aren't particularly consistent with that
L796[13:17:18] <diesieben07> and then we have people going around suggesting to use enumhelper on forge enums... wtf.
L797[13:17:24] <sham1> :P
L798[13:17:27] <sham1> What?
L799[13:17:29] <sham1> WHy
L800[13:17:36] <Akkarin> Well you can add stuff to Enums since they're technically just final fields in a final class
L801[13:17:40] <diesieben07> yeah, at some point that came up for the worldgen events
L802[13:17:46] <diesieben07> akk there is much more to it
L803[13:17:50] <diesieben07> there is a values array, too
L804[13:17:55] <Akkarin> The same way you can slap new fields into any type (technically) ... practically it blows up in any case
L805[13:18:00] <diesieben07> then the Class object caches that array.
L806[13:18:07] <howtonotwin> is hastebin broken for anyone else?
L807[13:18:07] <Akkarin> psh ... as if that array is going to change how hard it is to alter it
L808[13:18:08] <diesieben07> then enum switches explode too iirc
L809[13:18:28] ⇨ Joins: KGS (~KGS@h-155-4-129-249.na.cust.bahnhof.se)
L810[13:18:31] <sham1> Everything just blows up as you cannot rely on enums being immutable
L811[13:18:33] <Akkarin> Well. Same logic as if you have a different version of a library in your classpath applies
L812[13:18:59] <diesieben07> but oh well, EnumHelper is a necessary evil currently
L813[13:19:12] <diesieben07> but things like @CapabilityInject, @ObjectHolder, etc. just make me sad
L814[13:19:25] <diesieben07> oh well.
L815[13:20:52] <PaleoCrafter> you mean in conjunction with static final fields? :P
L816[13:20:52] <sham1> Sometimes stuff just isn
L817[13:20:54] <sham1> ideal
L818[13:21:09] <diesieben07> yes paleo
L819[13:21:17] <diesieben07> although static final fields would be just fine
L820[13:21:19] <gigaherz> i just don't make them final
L821[13:21:20] <gigaherz> ;P
L822[13:21:27] <diesieben07> that is not a solution...
L823[13:21:31] <sham1> :P
L824[13:21:35] <gigaherz> I know
L825[13:21:39] <gigaherz> but I can't think of anything better
L826[13:21:45] <gigaherz> well
L827[13:21:47] <gigaherz> depends on the case
L828[13:21:50] <gigaherz> for the capabilities, yes
L829[13:21:53] <gigaherz> just...
L830[13:22:00] <gigaherz> THE_CAP = capability.register
L831[13:22:02] <gigaherz> or
L832[13:22:04] <gigaherz> THE_CAP = capability.get
L833[13:22:04] <sham1> Cpability<?> from registers
L834[13:22:11] <gigaherz> depending on if it's your own or not
L835[13:22:30] <LexManos> <diesieben07> but things like @CapabilityInject, @ObjectHolder, etc. just make me sad
L836[13:22:30] <LexManos> ?
L837[13:23:01] <barteks2x> is there any way to determine if I'm running from shutdown hook?
L838[13:23:02] <diesieben07> i don't get why you need to set static final fields using reflection there
L839[13:23:06] <LexManos> capability.get isnt good as it makes hard deps on optional code
L840[13:23:07] <PaleoCrafter> Lex, would you mind if the new loading screen animation didn't have those sparks flying off the anvil? :P
L841[13:23:22] <LexManos> they dont technically need to be final
L842[13:23:28] <LexManos> but they do need to be somewhere we can access them
L843[13:23:34] <LexManos> final is just to remind people not to fuck with them
L844[13:23:35] <diesieben07> you mentioned several times you want them to be final for speed.
L845[13:23:47] <LexManos> Paleo: Does it look good?
L846[13:23:51] <diesieben07> i already explained quite a few times how it could be solved much cleaner, if you are interested i will write it down.
L847[13:23:59] <LexManos> the final isnt for speed
L848[13:24:10] <LexManos> the static/singeltons are for speed
L849[13:24:19] <diesieben07> that makes it even more ugly. anyways. food time.
L850[13:24:19] <PaleoCrafter> https://gfycat.com/NecessaryJauntyAyeaye
L851[13:24:39] <LexManos> naw we've talked about this before and you're not understanding how the system or jvm works.
L852[13:24:43] <LexManos> So meh
L853[13:25:03] <LexManos> good enough for me, where is the hammer from?
L854[13:25:22] <diesieben07> i do understand the system :D and i dont think either of us can claim to "understand the jvm"
L855[13:25:32] * LexManos can
L856[13:25:33] <PaleoCrafter> I just slapped together two rectangles myself xD
L857[13:25:37] <sham1> The hammer hit does not have the same impact when it does not have the sparks
L858[13:25:37] <diesieben07> mhm
L859[13:25:39] * diesieben07 leaves
L860[13:25:48] <LexManos> Bye!
L861[13:25:54] <PaleoCrafter> sham1, was that supposed to be a pun?
L862[13:25:57] <diesieben07> nom nom nom, pizza
L863[13:25:59] <sham1> wNo
L864[13:26:00] <howtonotwin> yep, structural types now use invokeDynamic and are no longer a mess of weird reflection hacks
L865[13:26:10] <sham1> That was an accidential pun
L866[13:26:13] <gigaherz> lol
L867[13:26:14] <PaleoCrafter> oh, nice
L868[13:26:15] <sham1> But yeah
L869[13:26:23] <LexManos> Sorry that my decades of research and experiance with the internals of a system entitles me to say i know what i'm talking about.
L870[13:26:30] <sham1> It looks kind of "meh" when it hasn't got the sparks
L871[13:26:44] <sham1> Looks forceless
L872[13:26:53] <PaleoCrafter> yeah, hm
L873[13:26:54] <gigaherz> PaleoCrafter: just add a couple little triangles moving away?
L874[13:26:56] <howtonotwin> To me it's the bouncing
L875[13:26:59] <sham1> Yeah
L876[13:27:02] <sham1> It's bouncing
L877[13:27:09] <barteks2x> And I won't see it anyway because all my gpu drivers are too broken :(
L878[13:27:12] <howtonotwin> would look more forceful if it didn't bounce off
L879[13:27:21] <PaleoCrafter> I've considered sending little cracks through the anvil upon impact, but I ain't gonna do that with Synfig xD
L880[13:27:35] <diesieben07> if you really have done decades of research about the jvm you should know that any jvm engineer will scream at you for setting final (and even static!) fields. you can learn that from 2 hours of research. anyways. you do you
L881[13:27:36] <sham1> Just put some small triangles to come out of the damn thing
L882[13:27:46] ⇦ Quits: Hex (~F772x0@irc.jwf.io) (Quit: Someone cut a network cable. Or restarted a systemd service.)
L883[13:27:54] <LexManos> I never said what we do is good
L884[13:28:04] <PaleoCrafter> the problem isn't the sparks as objects, but their trajectory :P
L885[13:28:07] <sham1> Makes it look like the hammer hit has some force behind it
L886[13:28:09] <LexManos> I have ALWAYS stated that Forge is a pile of hacks on hacks
L887[13:28:12] ⇨ Joins: Hex (~F772x0@irc.jwf.io)
L888[13:28:14] <howtonotwin> systemd is murderous confirmed
L889[13:28:22] ⇦ Quits: Hex (~F772x0@irc.jwf.io) (Client Quit)
L890[13:28:22] <sham1> >systemd
L891[13:28:22] <Akkarin> Hacks are to be expected tbh
L892[13:28:25] <sham1> There's your problem
L893[13:28:28] <LexManos> You're flat out wrong that people would give a shit about statics
L894[13:28:35] <Akkarin> It's a modding framework for fuck's sake
L895[13:28:49] <LexManos> and even then they would be on MY side as it allows for the exact thing IM looking for, fast jitted singelton fields.
L896[13:28:50] ⇨ Joins: Hex (~F772x0@irc.jwf.io)
L897[13:29:04] <PaleoCrafter> #staticsmatter
L898[13:29:29] <diesieben07> i am not argueing with you anymore as it's pointless and my pizza is getting cold.
L899[13:29:38] <sham1> arguing*
L900[13:29:59] * diesieben07 slaps sham1
L901[13:30:25] <sham1> RIP
L902[13:30:28] <LexManos> Right.. pizza.. i have some of that... Also my point is stop bitching about a system thats in place until you fully understand it
L903[13:30:43] <LexManos> And stop trying to apply standard non-hacky shit to Forge.
L904[13:30:47] <LexManos> We hack shit, end of story.
L905[13:31:02] <sham1> To be fair, Forge hacks shit because it kind of has to
L906[13:31:08] <diesieben07> ok then. then why is there this nice FML registry system? I mean, that's pretty nice in my opinion
L907[13:31:19] <diesieben07> we could just hack things together with the vanilla way...
L908[13:31:20] <diesieben07> anyways.
L909[13:31:23] <diesieben07> i need to stop
L910[13:31:25] * diesieben07 slaps diesieben07
L911[13:31:28] <sham1> Yeah, do that
L912[13:31:30] <LexManos> yes, some things we could work around, but its actually better this way.
L913[13:31:44] <LexManos> Why is there the FML Registry? Because its one of the most hacky POS's ever
L914[13:31:57] <LexManos> Its just all hidden behind a nice simple interface
L915[13:32:06] <sham1> As long as the hacks have a nice interface, I couldn't give a shit about it
L916[13:32:18] <diesieben07> i dont mind the hacks either, at all. they are good fun
L917[13:32:18] <LexManos> And thats why shit like @ObjectHolder and @CapabilityInject are how they are
L918[13:32:26] <LexManos> because they are the NICE interface over a shitty hacky system
L919[13:32:32] <diesieben07> i just dont get why we need to hack in places where we don't even really interface with vanilla
L920[13:33:03] <diesieben07> i'll shut up for real now.
L921[13:33:06] ⇨ Joins: RebelKeithy (Mibbit@173-240-139-59.pool.dsl.nctc.com)
L922[13:33:30] <sham1> Put some pizza onto that mouth
L923[13:33:38] <howtonotwin> *into
L924[13:33:39] <sham1> That'll shut you up for a while
L925[13:33:42] * diesieben07 munches
L926[13:33:43] <sham1> Yeah
L927[13:33:49] <sham1> into, not onto
L928[13:34:05] <LexManos> Service injection {which is what @CapabilityInject is} is a fairly standard feature of a plugin/extension loading system where you don't have direct access to a class and don't want to make a hardreference on a service that may not exist.
L929[13:34:25] <LexManos> The final part of is is purely to force modders to not create their own instances
L930[13:34:33] <LexManos> cuz modders will fuck it up
L931[13:34:54] <diesieben07> which could be nicely accomodated by Capability.getFoo returning a weak-referencing wrapper
L932[13:35:07] <LexManos> And how would getFoo be referenced?
L933[13:35:25] <sham1> Capability.getCapability("foo") :P
L934[13:35:33] <LexManos> Capabilities arnt named
L935[13:35:35] <sham1> Yeah, let's not use strings for that
L936[13:35:42] <diesieben07> psf Capability<Bla> BLA = Capability.get(Bla.class)
L937[13:35:48] <LexManos> AND THER EYOU EXPLODE
L938[13:36:02] <diesieben07> because Bla is not there? yes indeed
L939[13:36:05] <diesieben07> but thats not the systems fault
L940[13:36:09] <diesieben07> its the modders fault...
L941[13:36:10] <LexManos> Yes it is
L942[13:36:21] <diesieben07> they are compiling against a class that is not there.
L943[13:36:26] <LexManos> You're advocating breaking the entire point of the fucking system
L944[13:36:27] <diesieben07> thats java 101...
L945[13:36:32] <diesieben07> no i am not.
L946[13:36:35] <LexManos> Yes you are
L947[13:36:36] <diesieben07> we have @Optional for a reason...
L948[13:36:43] <LexManos> No
L949[13:36:50] <diesieben07> lol
L950[13:36:52] <mezz> @Optional blows
L951[13:36:56] <LexManos> thats a MAJOR fucking hack that would break in the example just just stated
L952[13:37:04] <diesieben07> ok then
L953[13:37:22] <LexManos> @Optional strips the methods/fields at classload time
L954[13:37:28] <sham1> We could always use these magic strings to get the classes, if they are not present return the Capability<?> as null
L955[13:37:29] <diesieben07> i know what optional does.
L956[13:37:32] <LexManos> it DOES NOT strip internal bytecode
L957[13:37:34] *** Keridos|away is now known as Keridos
L958[13:37:39] <LexManos> which is where the static initalizers go
L959[13:37:49] <LexManos> and it also doesnt allow for READDING them post classload
L960[13:37:49] <diesieben07> @Optional can go on classes.
L961[13:38:07] <diesieben07> if using this properly you would not have your own fields for other peoples capabilities.
L962[13:38:09] <LexManos> which is the point of capabilities as sometime in the future we'd like dynamic loading
L963[13:38:21] <LexManos> what would you want then?
L964[13:38:25] <LexManos> Bla.CAP ?
L965[13:38:30] <diesieben07> yup.
L966[13:38:40] <diesieben07> and you can only refernce it when you KNOW that Bla is there
L967[13:38:41] <LexManos> Again how the fuck would @Optional solve that?
L968[13:39:01] <diesieben07> if you want a weak dep you have to ensure you only access it when Bla is there
L969[13:39:07] <diesieben07> which you can do (for example) with @Optional
L970[13:39:20] <LexManos> wow... you're all over the fucking place here
L971[13:39:25] <diesieben07> sure :D
L972[13:39:46] <LexManos> You dont want a hack because you can already use a hack while advocating people do it correctly when you well know that the average moddder has no fucking idea how to do it correctly.
L973[13:40:03] <diesieben07> since when do we care about people not knowing how to program=
L974[13:40:06] <diesieben07> ?
L975[13:40:14] <sham1> And we cannot educate the average hacker because?
L976[13:40:19] <LexManos> Seince the inception of Forge and the average modders age being 6
L977[13:40:34] <LexManos> there is literally nothing we can do to prevent stupid people from modding
L978[13:40:43] <diesieben07> also yes @Optional is a hack and i would really like something like @SidedProxy for "mod present or not"
L979[13:40:45] <LexManos> therefor we write shit to make sure they cant fuck it up
L980[13:40:46] <diesieben07> which would be cleaner
L981[13:40:49] <sham1> Implying that we should
L982[13:40:53] <diesieben07> anyways
L983[13:41:01] <LexManos> @Capability is that exact system you want
L984[13:41:12] <diesieben07> mhmm
L985[13:41:13] <LexManos> just at a functional level instead of a module level
L986[13:43:17] <sham1> Wait, when was 1.11 released
L987[13:43:34] <Ordinastie> where is the F3 debut output again ?
L988[13:44:33] <sham1> Also, what did 1.11 ad
L989[13:44:35] <sham1> add*
L990[13:44:42] <sham1> I am pretty out of the loop here
L991[13:45:20] ⇦ Quits: Delaxarnyazer (~Delaxarny@ip56572345.direct-adsl.nl) (Ping timeout: 198 seconds)
L992[13:45:49] <howtonotwin> 1. shulker boxes
L993[13:45:51] <howtonotwin> 2. illagers
L994[13:45:59] <howtonotwin> 3. which live in forest mansions
L995[13:46:18] <LexManos> immutible* itemstacks
L996[13:46:27] <Akkarin> all in all it didn't add much in terms of gameplay
L997[13:46:39] <howtonotwin> 4. curse enchants
L998[13:46:41] ⇨ Joins: Delaxarnyazer (~Delaxarny@2a02:a44e:91ce:0:80dc:7855:5421:3308)
L999[13:46:53] <Akkarin> unless you are into llamas I guess
L1000[13:47:07] <howtonotwin> null itemstacks are no longer a thing
L1001[13:47:17] <howtonotwin> there's a single "Invalid" itemstack now
L1002[13:47:30] <howtonotwin> and ItemStack::isValid
L1003[13:47:42] <howtonotwin> so you have to turn all nullchecks into those
L1004[13:48:06] <sham1> Oh good
L1005[13:48:10] <sham1> Intelligent design
L1006[13:48:15] <gigaherz> I prefer to use .getCount() > 0
L1007[13:48:16] <sham1> From the part of Mojang
L1008[13:48:21] <gigaherz> since it caches the value, unlike isValid
L1009[13:48:29] <Lordmau5> Hmm
L1010[13:48:44] <gigaherz> it also catches weird itemstacks
L1011[13:48:49] <gigaherz> since I don't care about a stack if it's empty
L1012[13:49:00] <Lordmau5> just noticed that 1.11 removed Block#canReplace with the parameters "World, BlockPos, EnumFacing, ItemStack"
L1013[13:49:04] <gigaherz> so instead of "is valid" I ask "is there anything to pick?"
L1014[13:49:10] ⇨ Joins: KnightMiner_ (~KnightMin@adsl-75-5-73-60.dsl.emhril.sbcglobal.net)
L1015[13:49:37] <gigaherz> yo ueman isReplaceable?
L1016[13:49:40] <gigaherz> you mean*
L1017[13:49:44] <Lordmau5> no
L1018[13:49:44] <barteks2x> there probably is some reason why mojang decided to implement isValid that way
L1019[13:49:46] <Lordmau5> actually canReplace
L1020[13:49:52] <gigaherz> I have never seen canREplace
L1021[13:49:54] <Lordmau5> https://cdn.discordapp.com/attachments/134453323154587648/251067571632209920/unknown.png
L1022[13:50:20] <Lordmau5> it was called in "World.canBlockBePlaced" in 1.10
L1023[13:50:31] <Lordmau5> no idea about previous MC versions, but that's what I have in my 1.10.2 environment
L1024[13:50:43] <Lordmau5> I'm checking through the 1.11 code right now in hope of finding a replacement for it
L1025[13:50:55] ⇦ Quits: KnightMiner_ (~KnightMin@adsl-75-5-73-60.dsl.emhril.sbcglobal.net) (Client Quit)
L1026[13:50:58] <gigaherz> oh
L1027[13:51:15] <gigaherz> hmm dunno
L1028[13:51:19] ⇨ Joins: KnightMiner_ (~KnightMin@adsl-75-5-73-60.dsl.emhril.sbcglobal.net)
L1029[13:51:20] <gigaherz> may have been an oversight during porting
L1030[13:51:24] <Lordmau5> hmm
L1031[13:51:39] <gigaherz> was the old one vanilla or forge?
L1032[13:51:45] <Lordmau5> Vanilla
L1033[13:51:54] <Lordmau5> though I might know the reasoning behind it
L1034[13:52:13] <sham1> Do tell us
L1035[13:52:14] <gigaherz> note that vanilla removed the ItemStack args, in favor of player+hand
L1036[13:52:23] <gigaherz> although that method doesn't ahve player+hand
L1037[13:52:37] <Lordmau5> Block#onBlockPlaced
L1038[13:52:48] <sham1> Something about seperation of concerns is kind of missing in some of these classes
L1039[13:52:53] <Lordmau5> Or rather, Forge's "Block#getStateForPlacement"
L1040[13:53:18] <Lordmau5> if you return null there it will not place it I assume?
L1041[13:53:59] <Lordmau5> So yea
L1042[13:54:10] <Lordmau5> that one has a EntityLivingBase and EnumHand parameter
L1043[13:54:17] <gigaherz> no you are not supposed to return null from it
L1044[13:54:20] ⇦ Quits: KnightMiner_ (~KnightMin@adsl-75-5-73-60.dsl.emhril.sbcglobal.net) (Client Quit)
L1045[13:54:23] ⇨ Joins: IceDragon (~ThatGuy@184.170.0.69)
L1046[13:54:52] <Lordmau5> Well
L1047[13:54:55] <gigaherz> it's used without null-checks
L1048[13:54:59] <Lordmau5> I mean
L1049[13:54:59] <gigaherz> if you need that method
L1050[13:55:01] <gigaherz> make a PR
L1051[13:55:01] <Lordmau5> good shit Mojang
L1052[13:55:06] <gigaherz> or at least an Issue in forge's tracker
L1053[13:56:06] <Lordmau5> that method isn't being used anywhere
L1054[13:56:07] <Lordmau5> wtf
L1055[13:56:11] ⇨ Joins: KnightMiner_ (~KnightMin@adsl-75-5-73-60.dsl.emhril.sbcglobal.net)
L1056[13:56:14] <gigaherz> wat?
L1057[13:56:25] ⇦ Quits: KnightMiner_ (~KnightMin@adsl-75-5-73-60.dsl.emhril.sbcglobal.net) (Client Quit)
L1058[13:56:34] ⇨ Joins: Cast0077 (~Cast0077@24-151-68-108.dhcp.nwtn.ct.charter.com)
L1059[13:56:39] <Lordmau5> Well
L1060[13:56:50] ⇨ Joins: KnightMiner (~KnightMin@adsl-75-5-73-60.dsl.emhril.sbcglobal.net)
L1061[13:56:50] <Lordmau5> I am assuming that the method would be called somewhere to be properly utilized?
L1062[13:56:53] <Lordmau5> and not just be some empty placeholder method?
L1063[13:57:13] <gigaherz> which method?
L1064[13:57:19] <Lordmau5> ... Block#getStateForPlacement ?
L1065[13:57:22] <gigaherz> i can't read your mind
L1066[13:57:38] <gigaherz> that's called from ItemBlock#onItemUse
L1067[13:57:40] <Lordmau5> Sorry, thought it was obvious because I've talked about that method a few minutes ago in the same context
L1068[13:58:09] <gigaherz> IBlockState iblockstate1 = this.block.getStateForPlacement(playerIn, worldIn, hand, facing, hitX, hitY, i, stack, pos);
L1069[13:58:12] ⇦ Quits: MrIbby (~MrIbby@wireless-173-87-173-218.dr04.ekgv.ca.frontiernet.net) (Remote host closed the connection)
L1070[13:58:13] <Lordmau5> yup found it now
L1071[13:58:14] <Lordmau5> sorry
L1072[13:58:26] <sham1> Holy hell that amount of parametres
L1073[13:58:38] ⇨ Joins: MrIbby (~MrIbby@wireless-173-87-173-218.dr04.ekgv.ca.frontiernet.net)
L1074[13:59:08] <gigaherz> sham1: the order bothers me more ;P
L1075[13:59:44] <gigaherz> should be (Player, Hand, World, pos, facing, x, y) -- the meta one is pointless
L1076[14:00:00] <Lordmau5> nice https://i.lordmau5.com/1479931196-5079
L1077[14:00:33] <gigaherz> yeah
L1078[14:00:37] <gigaherz> argument list is from 1.10.2
L1079[14:00:43] <Lordmau5> ah
L1080[14:00:50] <Lordmau5> I mean honestly
L1081[14:01:02] <Lordmau5> all World.setBlockState really needs is return false if the newState is null
L1082[14:01:03] <Lordmau5> *shrugs*
L1083[14:01:05] <Lordmau5> :P
L1084[14:01:17] <sham1> Or return the old state
L1085[14:01:24] <Lordmau5> well
L1086[14:01:41] <Lordmau5> https://i.lordmau5.com/1479931297-5081
L1087[14:01:48] <Lordmau5> in this case, placeBlokcAt would return false, that's what I mean
L1088[14:02:21] <sham1> The fact that the picture is also the background of the page kind of looks weird to me
L1089[14:03:17] <Lordmau5> looks better on bigger pictures though
L1090[14:03:22] <sham1> What would placeBlockAt do after that statement
L1091[14:03:37] <Lordmau5> ItemBlock#placeBlockAt
L1092[14:03:38] <Lordmau5> https://i.lordmau5.com/1479931411-5082
L1093[14:03:39] <Lordmau5> full method
L1094[14:03:52] <sham1> Ah good
L1095[14:03:56] <sham1> It's not just something like
L1096[14:04:17] <sham1> if (!call(stuff)) return false; return true;
L1097[14:04:30] <sham1> Have seen that
L1098[14:04:58] <Lordmau5> hehe
L1099[14:07:39] ⇨ Joins: Ipsis (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk)
L1100[14:09:36] <Ordinastie> wasn't there a way to prevent MC/forge loading the resources twice on startup ?
L1101[14:11:49] <barteks2x> why would minecraft shutdown hang? The server thread is stopped, client thread is stuck in System.exit, and client shutdown thread is waiting on some future
L1102[14:12:12] <Ordinastie> IO thread blocked ?
L1103[14:12:28] <barteks2x> The File IO thread?
L1104[14:12:35] <LexManos> Ord: No there is a way to ENABLE Forge loading resources twice
L1105[14:12:42] <LexManos> In Forge the first pass is nooped out
L1106[14:12:57] <LexManos> Everything returns the not found model/texture
L1107[14:14:12] <barteks2x> the FileIO thread has a while(true) loop, it shouldn't prevent shutdown
L1108[14:15:16] <barteks2x> there is also no information in the log
L1109[14:15:28] <barteks2x> the last line is [21:07:34] [Server thread/DEBUG] [FML]: Bar Finished: ServerStopped took 0.001s
L1110[14:17:35] <barteks2x> any idea what could cause that?
L1111[14:18:47] <barteks2x> the client shutdown thread is stuck on this: http://pastebin.com/yp8StSPX
L1112[14:23:32] ⇦ Quits: iari (~iari___@evana.futhark24.org) (Quit: Leaving)
L1113[14:24:44] <Ordinastie> well, took some time : http://puu.sh/sscbA.jpg
L1114[14:24:48] <Ordinastie> time to eat now
L1115[14:25:48] ⇦ Quits: KnightMiner (~KnightMin@adsl-75-5-73-60.dsl.emhril.sbcglobal.net) (Ping timeout: 186 seconds)
L1116[14:25:48] <barteks2x> I don't think vanilla ever hangs on shutdownn, but I have no idea what could cause it for me
L1117[14:29:01] <quadraxis> so as far as I can tell, LaunchClassLoader.packageManifests is inserted into, but never actually queried?
L1118[14:29:41] <quadraxis> am I missing something?
L1119[14:34:00] <barteks2x> I have no exceptions, everything seems to be just like in vanilla, and yet it just won't shut down
L1120[14:39:05] ⇦ Quits: McJty (~jorrit@94-225-8-18.access.telenet.be) (Quit: Leaving)
L1121[14:45:28] <howtonotwin> There's a vanilla bug where shutdown hooks can run twice
L1122[14:45:34] <howtonotwin> maybe related to that?
L1123[14:46:36] <howtonotwin> https://github.com/MinecraftForge/MinecraftForge/issues/3206
L1124[14:48:32] <williewillus> how do I increase gradle's jvm ram again
L1125[14:49:29] <gigaherz> ~/.gradle/gradle.properties
L1126[14:49:43] <gigaherz> org.gradle.jvmargs=-Xmx3G
L1127[14:49:46] <gigaherz> if windows
L1128[14:49:52] <gigaherz> %userprofile%\.gradle\gradle.properties
L1129[14:49:56] <gigaherz> if IDEA
L1130[14:49:58] <williewillus> hmm I already had it on 3 but the forge genpatches still crashed. just try it again I guess :P
L1131[14:50:13] <barteks2x> it looks like player is never removed from the server
L1132[14:50:17] <barteks2x> and yet the server stops
L1133[14:50:18] <gigaherz> settings -> build -> Gradle -> global settings -> VM options -> -Xmx3G
L1134[14:50:40] <barteks2x> with vanilla I have [21:38:11] [Server thread/INFO]: Player306 lost connection: TextComponent{text='Server closed', siblings=[], style=Style{hasParent=false, color=null, bold=null, italic=null, underlined=null, obfuscated=null, clickEvent=null, hoverEvent=null, insertion=null}} in log
L1135[14:50:47] <barteks2x> with cubic chunks it's not there
L1136[14:50:49] ⇨ Joins: KnightMiner (~KnightMin@adsl-75-5-73-60.dsl.emhril.sbcglobal.net)
L1137[14:50:53] <gigaherz> (the global settings should work in idea regardless, it's just another way to access them)
L1138[14:51:16] <gigaherz> btw idea 2016.3 is out, apparently
L1139[14:51:25] <gigaherz> I haven't decided if I want to update ;P
L1140[14:51:32] <gigaherz> I don't like the new icons
L1141[14:51:57] <williewillus> and then I realize I only made forge changes so I didn't have to genpatches either way *facepalm*
L1142[14:52:23] <Akkarin> They announced their plans for the next version but afaik it isn't out yet
L1143[14:52:31] <Akkarin> unless they rolled out Community but forgot Ultimate I guess
L1144[14:53:09] <gigaherz> 2016.3 is out
L1145[14:53:14] <quadraxis> https://www.jetbrains.com/idea/whatsnew/
L1146[14:53:15] <gigaherz> been out for a day or 2
L1147[14:53:24] <gigaherz> we use Ultimate at work
L1148[14:53:27] <gigaherz> and I use Community here
L1149[14:53:34] <gigaherz> "check for updates" found it in both
L1150[14:53:44] <Akkarin> http://i.imgur.com/xqMbfY7.png about that
L1151[14:54:07] <Akkarin> so yeah. No .3 for Ultimate yet
L1152[14:54:14] <gigaherz> weird
L1153[14:54:19] <gigaherz> I did get it on my laptop
L1154[14:54:29] <gigaherz> well, the mbp I use for work
L1155[14:54:46] <gigaherz> maybe ultimate is out on mac but not windows or something
L1156[14:55:21] <gigaherz> either way
L1157[14:55:22] <gigaherz> https://www.jetbrains.com/idea/download/?fromIDE=#section=windows
L1158[14:55:23] <gigaherz> it's here
L1159[14:55:29] <gigaherz> you can choose the ultimate link if you have a license
L1160[14:56:17] <Akkarin> well I guess they are incapable of providing a patch this time again anyways
L1161[14:56:27] <gigaherz> .3 is a major update
L1162[14:56:35] <gigaherz> they only call it 2016 because it's the same year
L1163[14:56:37] <Akkarin> That doesn't break patching
L1164[14:56:58] <Akkarin> Patches don't give two fucks about the amount of changes. It's just that they become bigger than the full binary would be
L1165[14:57:09] <Akkarin> regardless ... it's annoying when the auto-updater doesn't take care of it
L1166[14:57:35] <Akkarin> well ... the toolbox found it. I guess I can cope with that
L1167[15:00:05] <Akkarin> Well maybe they finally merged all the nonsense they have in Rider
L1168[15:00:23] <williewillus> is there a way to disable mods that you've deobfCompile-ed into your workspace?
L1169[15:00:49] <gigaherz> besides commenting out the dependencies and re-setupping, I don't believe so
L1170[15:00:56] <williewillus> boo
L1171[15:01:54] <Ordinastie> can't you delete if from the ref libs ?
L1172[15:02:20] <barteks2x> great, it also sometimes works, but when it does it can crash because of some conncurrency issue that somehow doesn't affect vanilla
L1173[15:02:56] ⇦ Quits: MrIbby (~MrIbby@wireless-173-87-173-218.dr04.ekgv.ca.frontiernet.net) (Remote host closed the connection)
L1174[15:03:03] ⇨ Joins: MrIbby (~MrIbby@wireless-173-87-173-218.dr04.ekgv.ca.frontiernet.net)
L1175[15:03:46] <Akkarin> no thread safety is best thread safety
L1176[15:05:18] <barteks2x> oh, right, because minecraft does this: try{...} catch(Exception ex) {LOGGER.error((String)"Failed to save chunk", (Throwable)exception);}
L1177[15:06:12] <barteks2x> and it iterates over that collection about 16 times less
L1178[15:07:23] <barteks2x> I leave that issue for later and I will leave it crashing on shutdown and sometimes freezing
L1179[15:07:34] <barteks2x> debugging it is not fun
L1180[15:14:17] ⇨ Joins: cpup (~cpup@32.218.112.236)
L1181[15:14:24] *** diesieben07 is now known as diesieben|away
L1182[15:15:11] *** amadornes[Streaming] is now known as amadornes
L1183[15:18:15] ⇦ Quits: Hunterz (~hunterz@62.182.234.189) (Remote host closed the connection)
L1184[15:29:25] *** PaleoCrafter is now known as PaleOff
L1185[15:30:41] <Ordinastie> oh, wow, I never realised
L1186[15:30:59] <Ordinastie> choice of overloaded method is based on the typed declared
L1187[15:31:14] <gigaherz> ?
L1188[15:31:28] <gigaherz> well, yes
L1189[15:31:29] <gigaherz> I mean
L1190[15:31:32] ⇨ Joins: killjoy (~killjoy@cpe-2606-A000-1118-C091-4DCD-C3DA-C662-7F7A.dyn6.twc.com)
L1191[15:31:34] <gigaherz> closest matching type wins
L1192[15:31:54] <gigaherz> but I don't think that includes generics, does it?
L1193[15:31:58] <Ordinastie> closest "of declared"
L1194[15:32:05] <Ordinastie> not even talking about generics
L1195[15:32:37] <gigaherz> yeah I meant doX(Vec3i) and doX(BlockPos), the latter will be chosen for a BlockPos object
L1196[15:32:49] <gigaherz> because it's closer in the hierarchy
L1197[15:33:05] <gigaherz> at least it works like that in C++ and C#, so I assume the same applies to java
L1198[15:33:11] <Ordinastie> if the object was declared as Vec3i, no
L1199[15:33:22] <williewillus> he means that if you then have Vec3i foo = BlockPos.ORIGIN it would call the first
L1200[15:33:27] <gigaherz> yes ofc
L1201[15:33:28] <williewillus> because it's resolved statically
L1202[15:33:32] <gigaherz> the expression type is Vec3i
L1203[15:33:34] ⇨ Joins: Shambling (~Joseph@24-181-186-74.dhcp.nwtn.ct.charter.com)
L1204[15:33:36] <gigaherz> not BlockPos
L1205[15:33:41] <gigaherz> sorry I wasn't accurate in my wording
L1206[15:33:59] <Ordinastie> yes, but that's annoying because that doesn't work : http://puu.sh/ssgIO.png
L1207[15:34:04] <Ordinastie> when I get my data as Object :/
L1208[15:34:06] <gigaherz> closest match to the result type of the expression passed in
L1209[15:34:38] <gigaherz> yeah you'd need a "specialization registry" of sorts
L1210[15:34:54] *** diesieben|away is now known as diesieben07
L1211[15:39:24] ⇦ Quits: Ipsis (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk) (Ping timeout: 206 seconds)
L1212[15:42:59] <Ordinastie> gigaherz, I just wonder how you would implement that registry
L1213[15:44:47] <gigaherz> something like... Map<Class, Function<Object, Information<T>>, populated with lambdas with the constructors inside them?
L1214[15:45:00] <gigaherz> eh Information<?>
L1215[15:45:16] ⇦ Quits: KnightMiner (~KnightMin@adsl-75-5-73-60.dsl.emhril.sbcglobal.net) (Ping timeout: 186 seconds)
L1216[15:45:42] <gigaherz> not pretty, though
L1217[15:46:23] <Ordinastie> and you'd do object.getClass() to get the key ?
L1218[15:46:26] <howtonotwin> you'd also have to deal with superclasses
L1219[15:46:38] <Ordinastie> that's where I was going
L1220[15:46:45] <Ordinastie> because what about public static Information<IBlockState> of(String label, IBlockState state)
L1221[15:46:49] <gigaherz> right
L1222[15:46:50] <howtonotwin> so a object of class A will be sent to the func for Object
L1223[15:47:22] <howtonotwin> you'd also need to deal with ambiguous types
L1224[15:47:22] <gigaherz> so you'd need List<Pair<Class, Factory>>, but then you need to iterate through all of them
L1225[15:47:29] <gigaherz> and measure the distance
L1226[15:47:36] <Ordinastie> that's awful
L1227[15:47:39] <gigaherz> and keep the closest match
L1228[15:47:42] <gigaherz> yep becomes horrible
L1229[15:48:09] <howtonotwin> so A implements B,c with both a func for B and C will be handled properly
L1230[15:48:11] <Ordinastie> and if you have A implement B, C
L1231[15:50:49] ⇨ Joins: ThePsionic (~ThePsioni@ip5457f909.direct-adsl.nl)
L1232[15:51:28] <Shambling> holy cranoly I wish it was quicker to find a dentist that does extractions in a timely manner, and doesn't schedule 3 months out
L1233[15:51:28] ⇦ Quits: howtonotwin (~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net) (Quit: Leaving)
L1234[15:53:13] <Shambling> have a question about capabilities... if they are used to poll an instance of an item/object/class/whatever to see if something can be done, does that call get done every time you want to do something with the item, or does forge cache it somehow so that once you know what it does, you always know until the mods change
L1235[15:53:50] <Ordinastie> it's not cached
L1236[15:54:18] <Ordinastie> but hasCapability should be called first, and that should be fast
L1237[15:54:18] <Shambling> so if I ask if something can pull items out of its top, I always have to ask before I do it?
L1238[15:54:35] <Shambling> or is that done so fast in the background, that I shouldn't worry about overhead
L1239[15:54:55] <gigaherz> wtf
L1240[15:54:56] <gigaherz> https://www.kickstarter.com/projects/1859831505/redundant-clock?ref=NewsACNov2316
L1241[15:55:20] <diesieben07> haha
L1242[15:55:39] <AshIndigo> (I want it)
L1243[15:55:43] <Shambling> I'd pay for that, if each time slot actually pointed to the real time, not just its own time
L1244[15:55:57] <gigaherz> that sortof exists too
L1245[15:56:00] <Shambling> you'd have 12 real clocks inside a clock, and that is redundant
L1246[15:56:23] <gigaherz> each hour was a different time zone
L1247[15:56:32] <gigaherz> or some crap like that
L1248[15:56:53] <Shambling> unless those clock faces are individually painted by nuns in the arctic circle, it brings nothing important to the table :P
L1249[15:56:56] <gigaherz> ah someone made this recursive
L1250[15:56:56] <gigaherz> http://i.imgur.com/s4m0io6.jpg
L1251[15:56:57] <gigaherz> XD
L1252[15:57:09] <gigaherz> each hour points at the state of the clock at that hour -- including the hour marks
L1253[15:57:22] <Shambling> I like that one
L1254[15:58:04] <gigaherz> http://i.imgur.com/EqqyY.jpg
L1255[15:58:22] ⇨ Joins: AshIndigo_ (~AshIndigo@188.29.164.119.threembb.co.uk)
L1256[15:58:23] <Shambling> cute
L1257[15:58:29] <gigaherz> the little clocks don't seem to be running, though
L1258[15:58:40] <Ordinastie> they can't
L1259[15:58:54] <Ordinastie> they wouldn't be right for the higher tier one
L1260[15:59:21] ⇦ Quits: Shambling (~Joseph@24-181-186-74.dhcp.nwtn.ct.charter.com) (Read error: Connection reset by peer)
L1261[15:59:33] <TechnicianLP> does someone know the default maximum lenght on a GuiTextField? (dont have my ide ready)
L1262[16:00:29] <killjoy> 20 I think
L1263[16:00:48] <killjoy> It's 32
L1264[16:00:57] <TechnicianLP> thanks ;)
L1265[16:01:06] <gigaherz> Ordinastie: if in sync, they would be, right at the moment when the big one points at them
L1266[16:01:34] <Ordinastie> you're missing the point, they outer ones are supposed to represent the time for that position
L1267[16:01:39] <gigaherz> I know
L1268[16:01:56] <gigaherz> but Shambling said [22:55] (Shambling): I'd pay for that, if each time slot actually pointed to the real time, not just its own time
L1269[16:02:11] <gigaherz> hence my comment
L1270[16:02:11] <gigaherz> ;P
L1271[16:02:26] <Ordinastie> I missed that
L1272[16:02:34] <Ordinastie> probably because it was dumb
L1273[16:03:04] ⇦ Quits: AshIndigo (~AshIndigo@79-67-168-211.dynamic.dsl.as9105.com) (Ping timeout: 384 seconds)
L1274[16:05:23] ⇨ Joins: ScottehBoeh (~ScottehBo@95.144.45.252)
L1275[16:05:29] <ScottehBoeh> Sheesh how do I ask this question
L1276[16:05:45] <Ordinastie> probably with a question mark
L1277[16:05:46] <ScottehBoeh> Is it possible to get a player skin from a GameProfile?
L1278[16:05:59] <Ordinastie> does vanilla do it ?
L1279[16:06:00] <ScottehBoeh> I'm not sure if I've put that right or not
L1280[16:06:11] <ScottehBoeh> The thing is I'm not sure what method to search for
L1281[16:06:32] <Ordinastie> I'd start from Gameprofile
L1282[16:06:43] <TechnicianLP> or from the playerrenderer
L1283[16:06:50] <Ordinastie> if there is nothing obvious, I'd try the player renderer
L1284[16:08:11] ⇨ Joins: Shambling (~Shambling@24-181-186-74.dhcp.nwtn.ct.charter.com)
L1285[16:09:28] ⇦ Quits: MrIbby (~MrIbby@wireless-173-87-173-218.dr04.ekgv.ca.frontiernet.net) (Read error: Connection reset by peer)
L1286[16:10:18] ⇦ Quits: ThePsionic (~ThePsioni@ip5457f909.direct-adsl.nl) (Quit: Leaving)
L1287[16:10:33] <ScottehBoeh> Pickled myself :\
L1288[16:10:36] <ScottehBoeh> not sure where I'm looking
L1289[16:13:10] <gigaherz> ...
L1290[16:13:23] <gigaherz> the player renderer must bind the texture before drawing the model
L1291[16:13:30] <gigaherz> which means it either requests it on demand
L1292[16:13:33] <gigaherz> or has a field to store it
L1293[16:13:43] <gigaherz> if the latter, something must assign it
L1294[16:13:54] <gigaherz> and so on
L1295[16:16:32] ⇨ Joins: Eragonn1490 (~eragonn14@2600:1005:b04a:d548:d841:2f4f:8353:ab8f)
L1296[16:18:06] ⇨ Joins: KnightMiner (~KnightMin@adsl-75-5-73-60.dsl.emhril.sbcglobal.net)
L1297[16:18:40] <williewillus> look in the TileEntitySkullRenderer
L1298[16:18:46] <williewillus> the logic is right there :D
L1299[16:19:51] <Eragonn1490> how do i go about making a 1.11 metadata block the new way? im unsure as to how thats done
L1300[16:20:13] <Ordinastie> use BlockStates
L1301[16:20:25] <Ordinastie> there should be something in the docs
L1302[16:20:41] <Eragonn1490> ill check there thanks
L1303[16:22:09] <williewillus> check vanilla classes
L1304[16:22:29] <williewillus> stained glass is a good example
L1305[16:22:35] <Eragonn1490> i copied block wool to test it didnt go so well
L1306[16:22:50] <williewillus> don't copy :P
L1307[16:22:54] <williewillus> understand and rewrite
L1308[16:23:20] <gigaherz> they key is to forget about metadata as a main thing
L1309[16:23:28] <Eragonn1490> how are they registered?
L1310[16:23:28] <gigaherz> all you need to care about is the properties you need
L1311[16:23:38] <gigaherz> check other blocks as examples
L1312[16:23:39] <williewillus> this thing should be a good intro https://mcforge.readthedocs.io/en/latest/blockstates/states/
L1313[16:23:41] <Ordinastie> read the docs
L1314[16:24:05] <gigaherz> you do need to remember there's only 4 bits of storage, so if you need more, you need a TileEntity
L1315[16:24:10] <gigaherz> but that's an implementation detail
L1316[16:24:16] <gigaherz> design using the properties first
L1317[16:24:21] <gigaherz> then you worry about how to store them
L1318[16:29:16] ⇨ Joins: TechnicianLP2 (~Technicia@p4FE1C11A.dip0.t-ipconnect.de)
L1319[16:31:55] ⇦ Quits: Noppes (~Noppes@ip56530f2e.direct-adsl.nl) (Read error: Connection reset by peer)
L1320[16:33:40] ⇦ Quits: TechnicianLP (~Technicia@p4FE1C11A.dip0.t-ipconnect.de) (Ping timeout: 384 seconds)
L1321[16:33:40] ⇦ Quits: Hgrebnednav (~Hgrebnedn@d8D872A6E.access.telenet.be) (Ping timeout: 384 seconds)
L1322[16:33:53] <Eragonn1490> last question, are they registered a special way?
L1323[16:34:11] <gigaherz> no, it's all inside the block itself
L1324[16:34:16] <gigaherz> you have to override a few methods
L1325[16:34:39] <gigaherz> if you had it working on anything 1.8+, it should work on 1.11
L1326[16:34:41] <gigaherz> that hasn't changed
L1327[16:34:47] <Ordinastie> isn't that explained in the doc ?
L1328[16:35:10] <Eragonn1490> im updating a mod from1.6.4
L1329[16:35:36] <Ordinastie> wait, you barely know how to code and the first think you do is try to update some mod? :x
L1330[16:35:52] <killjoy> That's what I did
L1331[16:35:56] <Eragonn1490> i learn best by doing
L1332[16:36:04] <killjoy> It's sometimes easier to start with an existing codebase
L1333[16:36:19] <gigaherz> yeah but an existing codebase for a new version, not an ancient one ;P
L1334[16:36:32] <gigaherz> as in, starting from a 1.9+ mod at least
L1335[16:36:33] <gigaherz> ;P
L1336[16:36:46] <gigaherz> 1.6.4 to 1.11 is... a big jump.
L1337[16:36:54] <Eragonn1490> *i noticed*
L1338[16:36:59] <williewillus> pretty much 2.5 big jumps
L1339[16:37:23] <gigaherz> 1.6.4 to 1.7.10 -- not that big
L1340[16:37:28] <gigaherz> 1.7.10 to 1.8 -- huge
L1341[16:37:32] <williewillus> 1.6 to 1.7 it wasn't trivial though
L1342[16:37:47] <gigaherz> 1.8 to 1.8.9 - not too big
L1343[16:37:49] <williewillus> could get bitten esp by the null air thing
L1344[16:37:51] ⇦ Quits: TechnicianLP2 (~Technicia@p4FE1C11A.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
L1345[16:37:59] <williewillus> and infectious int id patterns
L1346[16:37:59] <gigaherz> 1.8.9-1.9 - mostly renames
L1347[16:38:06] ⇨ Joins: TechnicianLP2 (~Technicia@p4FE1C11A.dip0.t-ipconnect.de)
L1348[16:38:21] <gigaherz> 1.9-1.9.4 - not too big
L1349[16:38:23] <Eragonn1490> lol
L1350[16:38:25] <gigaherz> 1.9.4-1.10.2 -- done
L1351[16:38:37] <gigaherz> (code is 99% identical)
L1352[16:38:44] <gigaherz> 1.10.2 - 1.11 -- not that big
L1353[16:38:58] <gigaherz> so I guess if we give "not that big" 0.5 big jumps
L1354[16:39:25] <gigaherz> there's 3 "not that big"s worth 0.5 + a huge one worth 1-1.5
L1355[16:39:34] <gigaherz> I guess 2.5-3 big jumps' worth
L1356[16:39:35] <gigaherz> ;P
L1357[16:39:40] <gigaherz> good estimation, williewillus ;P
L1358[16:39:49] <williewillus> lol
L1359[16:40:42] <gigaherz> Eragonn1490: thing about pre-1.8
L1360[16:40:50] <gigaherz> is that you pretty much have to redo the blocks & items
L1361[16:41:05] <Eragonn1490> for the most part the items was the easiest part so far
L1362[16:41:10] <gigaherz> on top of all the other changes
L1363[16:41:25] <gigaherz> so our suggestion is generally
L1364[16:41:28] <Eragonn1490> im finishing the blocks over this 4 day weekend and everything else hoping to be done by friday
L1365[16:41:31] <gigaherz> get the two codebases side by side
L1366[16:41:36] <gigaherz> but start over
L1367[16:41:41] <gigaherz> creating things on the new environment
L1368[16:41:50] <gigaherz> by reimplementing stuff
L1369[16:41:55] <williewillus> how big is this mod?
L1370[16:42:12] <gigaherz> I ported a 1.4.7 mod straight to 1.8, a couple years ago
L1371[16:42:32] <gigaherz> although the experience can't be compared
L1372[16:42:39] <gigaherz> I wrote a whole .OBJ model loader in the process
L1373[16:42:40] <gigaherz> XD
L1374[16:42:40] <Eragonn1490> not very big, but its just been tedious with all the changes
L1375[16:42:48] <williewillus> kk
L1376[16:42:55] <williewillus> was gonna say do not expect to port a big mod from 1.7 to 1.8+ without 1.5 months of work (i spent my whole christmas break last year on one :P)
L1377[16:43:04] ⇦ Quits: Tazz (socks@ds003.info) (Read error: Connection reset by peer)
L1378[16:43:46] <barteks2x> compared to that my 1-3days porting seems easy
L1379[16:43:51] <Eragonn1490> im taking it easy and going part by part fixing anything i knew i wwasnt capable of then
L1380[16:43:56] ⇦ Quits: cpup (~cpup@32.218.112.236) (Ping timeout: 186 seconds)
L1381[16:44:37] <williewillus> maybe I should take on another one this winter break xD
L1382[16:44:47] <williewillus> idk of any high-demand 1.7 mods that haven't been done yet though
L1383[16:44:50] <williewillus> or aren't in progress
L1384[16:45:29] <gigaherz> you could recreate thermal expansion or something
L1385[16:45:30] <gigaherz> xD
L1386[16:46:05] <williewillus> also are there any 1.10 mods that recreate redpower computers?
L1387[16:46:12] <williewillus> there was nedocomputers but was there another one
L1388[16:46:21] ⇨ Joins: AstralSorcerer (~AstralSor@cpe-66-66-15-47.rochester.res.rr.com)
L1389[16:46:25] <gigaherz> redpower had computers?
L1390[16:46:30] <williewillus> yeah that used FORTH
L1391[16:46:34] <gigaherz> lol
L1392[16:46:42] <gigaherz> I have never seen that
L1393[16:46:50] <gigaherz> all I remember are the gates and wires
L1394[16:47:00] ⇦ Quits: Samario (~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net) (Quit: You think you are above consequences.)
L1395[16:47:05] <gigaherz> and microblocks, ofc
L1396[16:47:06] <williewillus> yeah after all that was supposed to be the "blue" age (sortron, bluepower, computers)
L1397[16:47:12] <williewillus> but it never really got finished
L1398[16:47:21] <williewillus> only the computers+sortron+windmills
L1399[16:47:28] <gigaherz> heh
L1400[16:52:17] <williewillus> enhancedportals kinda died completely and no forks, maybe that :P
L1401[16:52:28] <williewillus> ebxl isn't updated? that's surprising
L1402[16:52:31] <gigaherz> port carpenter's blocks ;P
L1403[16:52:36] <williewillus> lol
L1404[16:52:44] <Ordinastie> it's not being updated ?
L1405[16:52:51] <gigaherz> no commits in 2 years
L1406[16:52:57] <gigaherz> https://github.com/Mineshopper/carpentersblocks
L1407[16:53:01] <williewillus> I would just make a C+B addon that lets you pre-set shapes
L1408[16:53:03] <gigaherz> n owait
L1409[16:53:04] <gigaherz> 2 months
L1410[16:53:06] <williewillus> if that isn't a feature already
L1411[16:53:32] <williewillus> oh ebxl was going
L1412[16:53:35] <williewillus> but nothing since sept
L1413[16:53:36] ⇨ Joins: MrIbby (~MrIbby@wireless-173-87-173-218.dr04.ekgv.ca.frontiernet.net)
L1414[16:54:10] <gigaherz> openblocks has some 1.8 branch
L1415[16:54:24] <gigaherz> https://github.com/OpenMods/OpenBlocks/branches
L1416[16:54:26] <gigaherz> but nothing
L1417[16:54:48] <williewillus> oh wow
L1418[16:54:55] <williewillus> maybe that one then
L1419[16:54:59] ⇨ Joins: cpup (~cpup@32.218.112.236)
L1420[16:55:14] <williewillus> i was expecting someone to have a fork (graphs->network shows you the fork network)
L1421[16:56:20] <williewillus> there's active work on the openmodslib on a calc branch but i have no idea what boq is doing lol https://github.com/OpenMods/OpenModsLib/commits/calc
L1422[16:56:23] <williewillus> some kind of parser?
L1423[16:57:20] <killjoy> http://www.donthitsave.com/comic/2016/11/18/first-projects
L1424[16:57:59] ⇦ Quits: r4wk (uid48318@id-48318.tooting.irccloud.com) (Quit: Connection closed for inactivity)
L1425[17:00:08] <Eragonn1490> thanks guys, ill be back in a little while
L1426[17:00:18] *** Eragonn1490 is now known as eragonn1490|movingunderfire
L1427[17:03:56] ⇦ Quits: eragonn1490|movingunderfire (~eragonn14@2600:1005:b04a:d548:d841:2f4f:8353:ab8f) (Ping timeout: 198 seconds)
L1428[17:05:12] <gigaherz> I didn't know esper lets you have nicknames THAT long
L1429[17:05:54] <williewillus> well the forge channel doesn't let you i don't think
L1430[17:06:01] ⇦ Quits: airbreather (~airbreath@d149-67-99-43.nap.wideopenwest.com) (Read error: Connection reset by peer)
L1431[17:06:07] <gigaherz> well it mutes you
L1432[17:06:08] <gigaherz> but
L1433[17:06:22] *** williewillus is now known as williewillus|123456789ABCDEFGH
L1434[17:06:23] <gigaherz> I thought there was a hard limit on like 16 chars
L1435[17:06:32] <gigaherz> you'll have to /part in order to change back
L1436[17:06:42] <LexManos> Yup
L1437[17:06:48] <LexManos> and you can't talk when its that long
L1438[17:06:56] ⇦ Parts: williewillus|123456789ABCDEFGH (~williewil@cpe-24-28-24-13.austin.res.rr.com) ())
L1439[17:07:04] ⇨ Joins: williewillus (~williewil@cpe-24-28-24-13.austin.res.rr.com)
L1440[17:07:08] <gigaherz> 30 chars long
L1441[17:07:10] ⇨ Joins: airbreather (~airbreath@d149-67-99-43.nap.wideopenwest.com)
L1442[17:07:14] <gigaherz> that seems... excessive.
L1443[17:07:30] <LexManos> Thats what im saying, the limit here is 16.
L1444[17:07:58] <gigaherz> yeah I know that much
L1445[17:08:17] <gigaherz> I just didn't know esper's hard limit was 30
L1446[17:08:20] ⇦ Quits: Inusua1Z (~InusualZ@adsl-72-50-86-213.prtc.net) (Ping timeout: 206 seconds)
L1447[17:17:07] ⇨ Joins: InusualZ (~InusualZ@adsl-72-50-86-213.prtc.net)
L1448[17:20:54] ⇦ Quits: InusualZ (~InusualZ@adsl-72-50-86-213.prtc.net) (Ping timeout: 206 seconds)
L1449[17:26:15] <diesieben07> ok so Minecraft entities have a getLookVec... is there an easy way to go the *opposite way* and apply a look vector to an entity?
L1450[17:26:40] <killjoy> add PI?
L1451[17:26:45] <gigaherz> look vec to rotation? sure
L1452[17:26:52] <williewillus> maths
L1453[17:26:55] <diesieben07> well, i know there is A WAY :D
L1454[17:26:58] <diesieben07> how? :D
L1455[17:27:03] <Ordinastie> spawn a sexy entity so they want to look at it ?
L1456[17:27:15] <williewillus> lol
L1457[17:27:44] <gigaherz> diesieben07: eh
L1458[17:27:48] <gigaherz> you know how mobs look at you?
L1459[17:27:51] <gigaherz> find that code ;P
L1460[17:27:54] <diesieben07> right.
L1461[17:27:55] <diesieben07> thanks :D
L1462[17:28:54] <diesieben07> that is not helpful because ti does a smooth interpolation
L1463[17:29:04] <gigaherz> hm?
L1464[17:29:21] <killjoy> get the trig book out
L1465[17:29:26] <gigaherz> I assumed it would get the target position, compute pitch/yaw from it
L1466[17:29:27] <diesieben07> EntityLookHelper::onUpdateLook
L1467[17:29:29] <gigaherz> and then interpolate those?
L1468[17:29:35] <diesieben07> i hate trig :/
L1469[17:29:37] <williewillus> yes but it needs a position to interpolate to?
L1470[17:29:39] <diesieben07> a bit
L1471[17:29:55] <diesieben07> let me check
L1472[17:29:56] <gigaherz> okay let's do the maths then
L1473[17:30:02] <gigaherz> you have x,y,z
L1474[17:30:06] <gigaherz> where x,z define the plane
L1475[17:30:10] <killjoy> https://www.youtube.com/watch?v=gENVB6tjq_M
L1476[17:30:10] <gigaherz> and the angle defines the yaw
L1477[17:30:18] <gigaherz> so you can get yaw from x,z
L1478[17:30:27] <diesieben07> ohh i got it
L1479[17:30:31] <gigaherz> then
L1480[17:30:40] <gigaherz> on the side, you compute the length of the xz vector
L1481[17:30:45] <gigaherz> then from xz+y
L1482[17:30:49] <gigaherz> you can do the same, for the pitch
L1483[17:30:56] <gigaherz> that's
L1484[17:31:03] <gigaherz> double d3 = (double)MathHelper.sqrt(d0 * d0 + d2 * d2);
L1485[17:31:03] <gigaherz> float f = (float)(MathHelper.atan2(d2, d0) * (180D / Math.PI)) - 90.0F;
L1486[17:31:03] <gigaherz> float f1 = (float)(-(MathHelper.atan2(d1, d3) * (180D / Math.PI)));
L1487[17:31:12] <gigaherz> it does literally what I just described
L1488[17:31:17] <diesieben07> yeah
L1489[17:31:41] <gigaherz> xcept it has to fix up the number to match minecraft's weird angles
L1490[17:32:14] <gigaherz> also why's that hardcoded instead of using Math.deg2rad or whatever
L1491[17:33:21] <williewillus> notchcode
L1492[17:33:21] <williewillus> :P
L1493[17:33:30] <quadraxis> it's nice to know minecraft has 2 built in methods to do the opposite
L1494[17:33:35] <killjoy> because proguard
L1495[17:34:28] <killjoy> proguard will replace most literal calls to Math with the result
L1496[17:34:41] <williewillus> y
L1497[17:34:49] <killjoy> optimization
L1498[17:35:05] <williewillus> the JIT will inline that in a heartbeat
L1499[17:35:15] <killjoy> java 6?
L1500[17:35:25] <williewillus> what do you mean :P
L1501[17:35:34] <williewillus> java 6 has a jit too, yes
L1502[17:35:40] <killjoy> did the JIT do that in 6?
L1503[17:36:03] <gigaherz> but but
L1504[17:36:07] <quadraxis> its all intrinsics anyway
L1505[17:36:12] <gigaherz> it replaced with (180D / Math.PI)
L1506[17:36:15] <gigaherz> not Math.deg2rad
L1507[17:36:17] <gigaherz> or
L1508[17:36:26] <gigaherz> 57.295779513082320876798154814105
L1509[17:36:33] <gigaherz> why leave it in the middle ;P
L1510[17:36:49] <gigaherz> oh wait
L1511[17:36:52] <williewillus> anything that's short enough and hot enough becomes a candidate for inlining (iirc)
L1512[17:36:55] ⇦ Quits: MrIbby (~MrIbby@wireless-173-87-173-218.dr04.ekgv.ca.frontiernet.net) (Read error: Connection reset by peer)
L1513[17:36:55] <gigaherz> java has .toDegrees and .toRadiasn
L1514[17:36:57] <gigaherz> it just inlined
L1515[17:37:11] <gigaherz> I was thinking XNA/MonoGame
L1516[17:37:17] ⇨ Joins: MrIbby (~MrIbby@wireless-173-87-173-218.dr04.ekgv.ca.frontiernet.net)
L1517[17:37:18] <gigaherz> it has Mathf.Deg2Rad
L1518[17:37:21] <gigaherz> which is just the constant
L1519[17:37:27] ⇨ Joins: InusualZ (~InusualZ@adsl-72-50-86-213.prtc.net)
L1520[17:38:02] <gigaherz> hence my confusion: I was wondering why it would inline a constant, but not resolve it completely
L1521[17:38:26] <gigaherz> anyhow, night
L1522[17:38:29] *** gigaherz is now known as ghz|afk
L1523[17:42:48] ⇦ Quits: AstralSorcerer (~AstralSor@cpe-66-66-15-47.rochester.res.rr.com) (Ping timeout: 384 seconds)
L1524[17:45:21] ⇨ Joins: AstralSorcerer (~AstralSor@cpe-66-66-15-47.rochester.res.rr.com)
L1525[17:45:23] ⇦ Quits: airbreather (~airbreath@d149-67-99-43.nap.wideopenwest.com) (Read error: Connection reset by peer)
L1526[17:48:47] *** Darkhax_AFK is now known as Darkhax
L1527[17:51:48] *** diesieben07 is now known as diesieben|away
L1528[17:52:20] <quadraxis> anyways, following up my heap dump investigations
L1529[17:52:27] <quadraxis> as far as I can tell, LaunchClassLoader.packageManifests is inserted into, but never actually queried?
L1530[17:53:10] <LexManos> you keep asking this
L1531[17:53:25] <LexManos> people are ignoring your for a reason, we dont care to get into it
L1532[17:54:57] *** amadornes is now known as amadornes[OFF]
L1533[17:57:40] ⇦ Quits: JuiceGrape (~JuiceGrap@31-151-51-200.dynamic.upc.nl) (Quit: HydraIRC -> http://www.hydrairc.com <- Po-ta-to, boil em, mash em, stick em in a stew.)
L1534[18:06:16] ⇦ Quits: ScottehBoeh (~ScottehBo@95.144.45.252) (Read error: Connection reset by peer)
L1535[18:12:25] *** Darkhax is now known as Darkhax_AFK
L1536[18:12:37] *** covers1624_ is now known as covers1624
L1537[18:18:05] ⇨ Joins: sinkillerj (~sinkiller@nc-67-232-9-133.dhcp.embarqhsd.net)
L1538[18:19:09] ⇨ Joins: Inusua1Z (~InusualZ@adsl-64-237-237-249.prtc.net)
L1539[18:20:21] ⇦ Quits: InusualZ (~InusualZ@adsl-72-50-86-213.prtc.net) (Ping timeout: 206 seconds)
L1540[18:21:50] *** MrKickkiller is now known as MrKick|Away
L1541[18:25:08] ⇦ Quits: Shambling (~Shambling@24-181-186-74.dhcp.nwtn.ct.charter.com) (Quit: Leaving)
L1542[18:34:03] *** Darkhax_AFK is now known as Darkhax
L1543[18:35:44] ⇦ Quits: Subaraki (~Artix@mf763-h01-176-150-102-154.dsl.sta.abo.bbox.fr) (Quit: Got away Safely !)
L1544[18:35:56] ⇦ Quits: KnightMiner (~KnightMin@adsl-75-5-73-60.dsl.emhril.sbcglobal.net) (Ping timeout: 186 seconds)
L1545[18:36:09] <killjoy> quadraxis, you'd have to ask cpw about it since he wrote it.
L1546[18:36:48] <killjoy> but remember it was almost 4 years ago
L1547[18:40:46] ⇨ Joins: eragonn1490|movingunderfire (~eragonn14@2600:1005:b04a:d548:995d:8dad:871f:e3ee)
L1548[18:43:30] *** Keridos is now known as Keridos|away
L1549[18:44:00] ⇦ Parts: eragonn1490|movingunderfire (~eragonn14@2600:1005:b04a:d548:995d:8dad:871f:e3ee) ())
L1550[18:44:10] ⇨ Joins: eragonn1490|movingunderfire (~eragonn14@2600:1005:b04a:d548:995d:8dad:871f:e3ee)
L1551[18:44:26] ⇦ Quits: eragonn1490|movingunderfire (~eragonn14@2600:1005:b04a:d548:995d:8dad:871f:e3ee) (Client Quit)
L1552[18:44:34] *** Keridos|away is now known as Keridos
L1553[18:44:43] ⇨ Joins: Eragonn1490 (~eragonn14@2600:1005:b04a:d548:995d:8dad:871f:e3ee)
L1554[18:48:23] ⇦ Quits: Inusua1Z (~InusualZ@adsl-64-237-237-249.prtc.net) (Ping timeout: 206 seconds)
L1555[18:50:14] ⇦ Quits: AstralSorcerer (~AstralSor@cpe-66-66-15-47.rochester.res.rr.com) (Ping timeout: 384 seconds)
L1556[18:51:46] ⇦ Quits: IceDragon (~ThatGuy@184.170.0.69) (Ping timeout: 206 seconds)
L1557[18:55:02] ⇦ Quits: MrIbby (~MrIbby@wireless-173-87-173-218.dr04.ekgv.ca.frontiernet.net) (Remote host closed the connection)
L1558[18:57:41] ⇨ Joins: MrIbby (~MrIbby@wireless-173-87-173-218.dr04.ekgv.ca.frontiernet.net)
L1559[18:57:55] ⇦ Quits: MrIbby (~MrIbby@wireless-173-87-173-218.dr04.ekgv.ca.frontiernet.net) (Remote host closed the connection)
L1560[18:58:02] ⇨ Joins: MrIbby (~MrIbby@wireless-173-87-173-218.dr04.ekgv.ca.frontiernet.net)
L1561[19:03:36] ⇦ Quits: CoolerExtreme__ (~CoolerExt@45.249.156.104) (Quit: Leaving)
L1562[19:04:32] ⇦ Quits: Lumien (Elite13049@ipv6.6.sigma.elitebnc.org) (Ping timeout: 198 seconds)
L1563[19:07:12] ⇨ Joins: wizjany (~wizjany@ns528916.ip-198-27-65.net)
L1564[19:07:51] ⇨ Joins: c233 (~c233@164.40.205.233)
L1565[19:07:59] ⇨ Joins: Doty1154 (~Doty1154@c-73-189-164-179.hsd1.ca.comcast.net)
L1566[19:10:40] ⇨ Joins: Lumien (Elite13049@ipv6.6.sigma.elitebnc.org)
L1567[19:25:43] <Keridos> question, the world.playSoundEffect(params) is not available in 1.10.2 anymore, what is the best alternative for it?
L1568[19:26:54] <Ordinastie> did you even try to look for an alternative ?
L1569[19:30:23] ⇦ Quits: MrIbby (~MrIbby@wireless-173-87-173-218.dr04.ekgv.ca.frontiernet.net) (Remote host closed the connection)
L1570[19:30:29] ⇨ Joins: howtonotwin (~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net)
L1571[19:32:38] <howtonotwin> There is an entire page dedicated to sounds on the rtd site...
L1572[19:32:54] <howtonotwin> http://mcforge.readthedocs.io/en/latest/effects/sounds/#playing-sounds
L1573[19:35:40] <killjoy> I learned by looking at GuiButton
L1574[19:35:45] <Keridos> the worldclient method is not available on the server?
L1575[19:35:59] <killjoy> or do you want to trigger it from server?
L1576[19:36:16] <Keridos> in this case it is a block making a sound in the world
L1577[19:36:28] <Keridos> so I want all players nearby to hear it
L1578[19:37:08] <Keridos> ah playsound with overload 2 seems to be the right one
L1579[19:37:13] <Keridos> misread something
L1580[19:37:14] <howtonotwin> erm
L1581[19:37:14] <Keridos> thanks
L1582[19:37:20] <howtonotwin> there are 3 on world?
L1583[19:37:25] <howtonotwin> there ya go
L1584[19:39:04] <Keridos> Oh this has changed quite a bit, I need to have a class holding all my sound events apparently
L1585[19:39:22] ⇦ Quits: edr (~edr@d-65-175-180-73.cpe.metrocast.net) (Read error: Connection reset by peer)
L1586[19:39:49] <howtonotwin> oh
L1587[19:39:54] <howtonotwin> in that case
L1588[19:40:00] <howtonotwin> that page is a tiny bit outdated
L1589[19:40:04] <howtonotwin> one moment
L1590[19:40:59] <howtonotwin> Use this instead: https://github.com/howtonotwin/MCForgeDocumentation/blob/registration/docs/effects/sounds.md
L1591[19:41:17] <howtonotwin> main differences are snake_casing and how to register them
L1592[19:42:53] <Keridos> gonna have the soundevents in their own class aswell, since OMT needs a bit more support for addons
L1593[19:47:16] <howtonotwin> wait you might not actually need that
L1594[19:47:28] <howtonotwin> there's always @ObjectHolder
L1595[19:47:41] <howtonotwin> and actually going through the registries
L1596[19:48:05] <howtonotwin> will ask about that tomorrow when this channel is actually active and change that line if necessary
L1597[19:50:08] ⇦ Quits: Eragonn1490 (~eragonn14@2600:1005:b04a:d548:995d:8dad:871f:e3ee) (Ping timeout: 198 seconds)
L1598[19:50:44] <killjoy> I guess I'm an idea guy now. blob:http://imgur.com/a8056832-4ae6-4cae-add0-45b503bccfc0
L1599[19:50:44] ⇦ Quits: KGS (~KGS@h-155-4-129-249.na.cust.bahnhof.se) (Ping timeout: 198 seconds)
L1600[19:50:59] <killjoy> http://i.imgur.com/PeICzWz.png
L1601[19:51:00] <howtonotwin> uhhh
L1602[19:51:37] <howtonotwin> where did that first one come from?
L1603[19:51:47] <killjoy> I uploaded the image from snipping tool
L1604[19:52:36] <Keridos> in 1.11 can there be capitalization in assets?
L1605[19:52:44] <killjoy> kind of
L1606[19:52:48] <Keridos> in the filenames or must it all be lowercase?
L1607[19:52:48] <killjoy> vanilla? no
L1608[19:52:56] <killjoy> forge, still works
L1609[19:53:09] <Keridos> so it might be better to do it all in lowercase?
L1610[19:53:13] <killjoy> yes
L1611[19:53:35] <howtonotwin> if you don't everyone is going to stare at you and make you very uncomfortable
L1612[19:54:01] <killjoy> make sure to update your lang file names at least
L1613[19:54:10] <howtonotwin> lang files are the exception
L1614[19:54:22] <howtonotwin> pretty sure they're still camelCase
L1615[19:54:37] <killjoy> also remember that git for windows won't pick up capitalization changes
L1616[19:56:37] <howtonotwin> well going from camelCase to snake_case also adds underscores so you'll be fine
L1617[19:56:44] <howtonotwin> and if you aren't fine use git mv
L1618[19:57:34] <srs_bsns> git config --global core.ignorecase false
L1619[19:57:57] <killjoy> rename File File1
L1620[19:58:06] <killjoy> git add File1
L1621[19:58:08] <killjoy> rename File1 file
L1622[19:58:16] <killjoy> git add file
L1623[19:58:24] <howtonotwin> uuh
L1624[19:58:26] <howtonotwin> git mv File file
L1625[19:58:28] <howtonotwin> :P
L1626[19:58:48] <killjoy> Doesn't that only work with full paths?
L1627[19:59:30] <howtonotwin> don't think so
L1628[19:59:39] <howtonotwin> and don't know why that would ever be so
L1629[20:00:46] ⇨ Joins: Eragonn1490 (~eragonn14@2600:1005:b04a:d548:995d:8dad:871f:e3ee)
L1630[20:04:48] <Keridos> luckily I do not dev on windows anymore :)
L1631[20:05:02] <Keridos> i like my arch linux
L1632[20:14:56] ⇦ Quits: howtonotwin (~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net) (Quit: Pop!)
L1633[20:16:10] ⇦ Quits: williewillus (~williewil@cpe-24-28-24-13.austin.res.rr.com) (Quit: Leaving)
L1634[20:17:43] ⇨ Joins: KnightMiner (~KnightMin@adsl-75-5-73-60.dsl.emhril.sbcglobal.net)
L1635[20:18:23] ⇦ Quits: Gil (uid147942@id-147942.brockwell.irccloud.com) (Quit: Connection closed for inactivity)
L1636[20:19:57] <Keridos> hm, is there a way to send a sound to the client only from the server?
L1637[20:20:13] <Keridos> it is a block sound but I do only want a certain player to hear it
L1638[20:20:39] <Ordinastie> you'd have to manually check and send to clients
L1639[20:22:04] ⇦ Quits: KnightMiner (~KnightMin@adsl-75-5-73-60.dsl.emhril.sbcglobal.net) (Ping timeout: 186 seconds)
L1640[20:22:51] ⇨ Joins: KnightMiner (~KnightMin@adsl-75-5-73-60.dsl.emhril.sbcglobal.net)
L1641[20:31:20] ⇦ Quits: KnightMiner (~KnightMin@adsl-75-5-73-60.dsl.emhril.sbcglobal.net) (Ping timeout: 206 seconds)
L1642[20:33:21] ⇨ Joins: KnightMiner (~KnightMin@adsl-75-5-73-60.dsl.emhril.sbcglobal.net)
L1643[20:35:59] <Eragonn1490> ordi do you have any examples of .jsons for multiple blockstates
L1644[20:36:14] <Ordinastie> I don't use jsons
L1645[20:36:16] <Ordinastie> but vanilla does
L1646[20:36:34] <Eragonn1490> whats the recomended way to do it?
L1647[20:38:08] ⇦ Quits: KnightMiner (~KnightMin@adsl-75-5-73-60.dsl.emhril.sbcglobal.net) (Ping timeout: 198 seconds)
L1648[20:44:18] <Ordinastie> I think the docs explain it
L1649[21:00:57] *** Vigaro is now known as V
L1650[21:03:14] ⇦ Quits: Wastl2_ (~Wastl2@x4e349082.dyn.telefonica.de) (Ping timeout: 206 seconds)
L1651[21:05:54] ⇨ Joins: Wastl2 (~Wastl2@x4e35071c.dyn.telefonica.de)
L1652[21:18:42] ⇦ Quits: TechnicianLP2 (~Technicia@p4FE1C11A.dip0.t-ipconnect.de) (Ping timeout: 384 seconds)
L1653[21:51:18] ⇨ Joins: KnightMiner (~KnightMin@adsl-75-5-73-60.dsl.emhril.sbcglobal.net)
L1654[21:52:16] ⇦ Quits: quadraxis (~quadraxis@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net) (Quit: ChatZilla 0.9.93 [Firefox 50.0/20161104212021])
L1655[21:54:49] ⇨ Joins: TechnicianLP2 (~Technicia@p4FE573D8.dip0.t-ipconnect.de)
L1656[21:58:36] ⇦ Quits: KnightMiner (~KnightMin@adsl-75-5-73-60.dsl.emhril.sbcglobal.net) (Ping timeout: 186 seconds)
L1657[22:12:47] ⇨ Joins: SquareWheel (~SquareWhe@s0106687f7463986c.ok.shawcable.net)
L1658[22:13:33] ⇦ Quits: Cast0077 (~Cast0077@24-151-68-108.dhcp.nwtn.ct.charter.com) (Quit: Poof)
L1659[22:14:16] ⇨ Joins: McJty (~jorrit@94-225-8-18.access.telenet.be)
L1660[22:28:14] ⇦ Quits: RebelKeithy (Mibbit@173-240-139-59.pool.dsl.nctc.com) (Quit: http://www.mibbit.com ajax IRC Client)
L1661[22:33:08] ⇦ Quits: Girafi (Girafi@0x555178eb.adsl.cybercity.dk) (Read error: Connection reset by peer)
L1662[22:45:34] <Eragonn1490> *this is irritating*
L1663[22:46:14] <Ordinastie> modding is not really the proper way to learn programming
L1664[22:46:21] <Eragonn1490> no i have that working
L1665[22:46:37] <Eragonn1490> im just getting stuck on the blockstates .jsons arent my thing
L1666[22:47:11] <Ordinastie> but JSONs are just to tie your states to rendering
L1667[22:48:36] ⇨ Joins: Lathanael (~Lathanael@p54960435.dip0.t-ipconnect.de)
L1668[22:48:44] <Eragonn1490> all im getting are purple blocks, but it was showing up in the inventory
L1669[22:49:26] <Ordinastie> yeah, it's a mess and a pain to use, that's why I made my own system that doesn't use json at all
L1670[22:49:42] <Eragonn1490> what was your solution?
L1671[22:49:58] <Eragonn1490> currently all thats holding me up are the blocks
L1672[22:50:10] <Ordinastie> custom rendering
L1673[22:50:30] ⇦ Quits: Lathanael|Away (~Lathanael@p54960201.dip0.t-ipconnect.de) (Ping timeout: 384 seconds)
L1674[22:50:37] <Eragonn1490> interesting
L1675[22:52:38] <Ordinastie> I have a whole framework dedicated to easing the development of mods
L1676[22:55:56] <Eragonn1490> sounds lovely
L1677[22:58:34] <McJty> Avoiding json is not a good idea though
L1678[22:58:45] <McJty> The nice thing about json is that resource pack makers can change your models and stuff
L1679[22:59:00] <McJty> And it cleanly separates graphics from code too
L1680[23:00:33] ⇨ Joins: kinggoesgaming (uid23106@id-23106.tooting.irccloud.com)
L1681[23:00:41] <TehNut> Tbh, I have never cared about the resource pack support bit.
L1682[23:00:43] ⇦ Quits: sinkillerj (~sinkiller@nc-67-232-9-133.dhcp.embarqhsd.net) (Remote host closed the connection)
L1683[23:00:54] <Ordinastie> never did I
L1684[23:01:12] <Eragonn1490> i wish they left the option to do it old school
L1685[23:01:13] <TehNut> The amount of resource packs that will take advantage of the model system for mods is very, very small.
L1686[23:01:22] <Ordinastie> but it wouldn't be really hard to make something up anyway
L1687[23:01:29] <TehNut> Useful for vanilla, not really in modded
L1688[23:01:34] <Eragonn1490> ^
L1689[23:01:44] <TehNut> Eragonn1490: I won't agree with that. The old system was stupid.
L1690[23:02:01] <Ordinastie> TehNut, it was mainly badly implemented
L1691[23:02:09] <Ordinastie> but so is the new system
L1692[23:02:12] <Eragonn1490> i prefered being able to set up my images in the code and it work
L1693[23:02:46] <Eragonn1490> vrs having to set up an arbitrary file that i cant get working thats useless considering i have no texture packs being made
L1694[23:02:59] <TehNut> >that i cant get working
L1695[23:03:05] <TehNut> Yeah that's not a problem with the system though
L1696[23:03:19] <TehNut> So you cannot use that as an argument.
L1697[23:03:21] <McJty> I like the json system for models. Makes so many things a LOT easier
L1698[23:03:33] <Eragonn1490> with models i understand that
L1699[23:03:49] <Ordinastie> that's why I have stuff like that : https://github.com/Ordinastie/MalisisCoreDemos/blob/1.9.4/source/net/malisis/demo/components/BlockPower.java
L1700[23:05:13] <TehNut> I fully support the JSON system (besides the fact that JSON is not a good format for models), I just don't care about the RP part
L1701[23:05:15] <Eragonn1490> did you just keep the old icon way of adding textures?
L1702[23:05:32] <Ordinastie> yes
L1703[23:06:43] <Eragonn1490> thats beautiful
L1704[23:06:50] <McJty> Don't agree
L1705[23:06:54] <McJty> Don't stick to the past way of doing things
L1706[23:06:58] <McJty> It is useless
L1707[23:07:30] <Eragonn1490> new !always > old
L1708[23:07:38] <McJty> In this case it is
L1709[23:07:48] <McJty> You just have to get used to it/understand it enough
L1710[23:08:01] <Ordinastie> oh, I understand it
L1711[23:08:26] <Ordinastie> just, answer that : is it a pleasant system to use ?
L1712[23:08:32] <McJty> Yes!
L1713[23:08:34] <McJty> I really think so
L1714[23:08:34] <TehNut> Yes actually
L1715[23:08:45] <McJty> I don't like writing code for this
L1716[23:08:47] <Ordinastie> you enjoy making the JSON blockstate and models ?
L1717[23:08:48] <Eragonn1490> i have no issue playing around with it, overall for items i cant complain. but with blocks its a pain
L1718[23:08:50] <kenzierocks> hardest part is understanding the exceptions
L1719[23:08:52] <McJty> I like the blockstate json system a lot
L1720[23:08:56] <McJty> Ordinastie, yes
L1721[23:09:04] <McJty> Much more then doing that in code as it had to be done before
L1722[23:09:10] <TehNut> Annoying when you reach edge cases with how variants are handled, but I prefer it over the old system.
L1723[23:09:39] <TehNut> Most of my items/blocks only take 1 blockstate json each
L1724[23:10:04] <TehNut> And it's really just moving the IIcon registration and siding to JSON
L1725[23:11:21] ⇨ Joins: Upth (~ogmar@108-204-125-173.lightspeed.frokca.sbcglobal.net)
L1726[23:11:47] ⇨ Joins: Naiten (Naiten@5.143.4.222)
L1727[23:12:27] ⇦ Quits: Upth (~ogmar@108-204-125-173.lightspeed.frokca.sbcglobal.net) (Client Quit)
L1728[23:14:25] ⇨ Joins: KnightMiner (~KnightMin@adsl-75-5-73-60.dsl.emhril.sbcglobal.net)
L1729[23:17:34] <killjoy> What would be a good way of getting an instance of MetadataSerializer without needing reflection?
L1730[23:17:59] <killjoy> Or is there a better way to do what I want without needing to?
L1731[23:18:26] <TehNut> i don't know, what do you want
L1732[23:18:39] <killjoy> add a section to the .mcmeta
L1733[23:18:51] <Ordinastie> make your own
L1734[23:19:11] <Ordinastie> ah wait nvm, I still use reflection
L1735[23:21:48] ⇦ Quits: KnightMiner (~KnightMin@adsl-75-5-73-60.dsl.emhril.sbcglobal.net) (Ping timeout: 186 seconds)
L1736[23:23:05] <killjoy> Oh, it's public in ResourcePackRepository
L1737[23:23:17] <killjoy> I wonder why
L1738[23:25:17] ⇨ Joins: alexiy (~alexiy@ip-118-203.zb.lv)
L1739[23:26:38] <Ordinastie> god, someone asked me to backport one of my mod
L1740[23:26:42] <killjoy> Minecraft.getMinecraft().getResourcePackRepository().rprMetadataSerializer.registerMetadataSectionType()
L1741[23:26:42] <Ordinastie> to 1.6.4 -_-
L1742[23:27:35] <sham1> :P
L1743[23:27:38] <sham1> What?
L1744[23:27:49] <sham1> Is that for real?
L1745[23:27:55] <Ordinastie> killjoy, I take it back I don't use reflection
L1746[23:27:58] ⇦ Quits: McJty (~jorrit@94-225-8-18.access.telenet.be) (Quit: Leaving)
L1747[23:28:06] <Ordinastie> I just instantiate a new serializer
L1748[23:28:17] <killjoy> eh
L1749[23:28:20] <killjoy> This way works, too
L1750[23:28:29] <Ordinastie> sham1, http://puu.sh/ssEOk.png
L1751[23:28:37] <kenzierocks> lol
L1752[23:29:12] <sham1> ...
L1753[23:29:43] <Ordinastie> damn, I ran out of stuff to watch on youtube :s
L1754[23:30:01] <kenzierocks> impossible
L1755[23:30:06] <kenzierocks> there's always more memes
L1756[23:30:20] <Ordinastie> also why does youtube regularly insists on recommending ASMR videos :x
L1757[23:31:18] ⇨ Joins: KnightMiner (~KnightMin@adsl-75-5-73-60.dsl.emhril.sbcglobal.net)
L1758[23:40:27] ⇦ Quits: alexiy (~alexiy@ip-118-203.zb.lv) (Quit: Leaving)
<<Prev Next>> Scroll to Top