<<Prev Next>> Scroll to Bottom
Stuff goes here
L1[00:00:26] *** AbrarSyed is now known as Abrar|gone
L2[00:04:00] ⇦ Quits: IceDragon (~ThatGuy@184.170.41.67) (Ping timeout: 206 seconds)
L3[00:05:00] ⇨ Joins: Lain|log (~Aphrael@baka.khobbits.co.uk)
L4[00:05:05] ⇨ Joins: Hobbits|away (~khm@2600:3c03::21:1001)
L5[00:05:56] ⇦ Quits: Kano (~Kano@107-209-128-138.lightspeed.mssnks.sbcglobal.net) (Ping timeout: 206 seconds)
L6[00:06:13] ⇨ Joins: Kano (~Kano@107-209-128-138.lightspeed.mssnks.sbcglobal.net)
L7[00:09:16] ⇦ Quits: Ordinastie_ (~Ordinasti@87-231-58-94.rev.numericable.fr) (Quit: Leaving)
L8[00:09:41] ⇨ Joins: Cooler (~CoolerExt@117.221.150.24)
L9[00:12:13] ⇨ Joins: lclc98 (~lclc98@208.81.180.144)
L10[00:12:21] ⇦ Quits: KnightMiner (~KnightMin@68.73.225.172) (Quit: Leaving)
L11[00:15:07] ⇦ Quits: Cooler (~CoolerExt@117.221.150.24) (Ping timeout: 206 seconds)
L12[00:17:38] ⇨ Joins: Hunterz (~hunterz@2001:af0:8000:1c01:6af7:28ff:fe37:5d6a)
L13[00:23:48] ⇨ Joins: olee (~olee@mail.bzeutzheim.de)
L14[00:24:19] ⇨ Joins: Cooler (~CoolerExt@117.221.150.24)
L15[00:26:06] *** fry|sleep is now known as fry
L16[00:29:37] ⇦ Quits: Cooler (~CoolerExt@117.221.150.24) (Ping timeout: 206 seconds)
L17[00:39:34] ⇨ Joins: mezz (~mezz@24.6.28.151)
L18[00:39:35] MineBot sets mode: +v on mezz
L19[00:40:15] ⇦ Quits: Kaiyouka (~IdiotNono@c-75-71-231-133.hsd1.co.comcast.net) (Ping timeout: 206 seconds)
L20[00:46:32] ⇦ Quits: _illy_ (~LordIllyo@2602:304:cf32:f980:e002:875:7132:da37) (Ping timeout: 206 seconds)
L21[00:47:20] ⇨ Joins: MalkContent (~MalkConte@p4FDCF9DD.dip0.t-ipconnect.de)
L22[00:50:38] ⇨ Joins: Snapples (uid167569@id-167569.highgate.irccloud.com)
L23[00:54:46] ⇦ Quits: nallar (~nallar@cpc16-cani3-2-0-cust33.14-2.cable.virginm.net) (Ping timeout: 198 seconds)
L24[00:58:04] <Naiten> How can paket leak happen with simpleimpl?
L25[01:00:22] ⇦ Quits: Dimitriye98 (~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net) (Remote host closed the connection)
L26[01:25:59] ⇦ Quits: Brokkoli (~Brokkoli@p5b23c47d.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))
L27[01:26:11] *** minecreatr is now known as Mine|dreamland
L28[01:31:10] ⇨ Joins: Dimitriye98 (~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net)
L29[01:39:48] ⇨ Joins: nallar (~nallar@cpc16-cani3-2-0-cust33.14-2.cable.virginm.net)
L30[01:39:50] ⇦ Quits: blood_ (unknown@ool-4574115b.dyn.optonline.net) (Read error: Connection reset by peer)
L31[01:45:01] ⇦ Quits: Dimitriye98 (~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net) (Ping timeout: 206 seconds)
L32[01:51:35] ⇨ Joins: xGhOsTkiLLeRx (~xGhOsTkiL@tmo-109-82.customers.d1-online.com)
L33[01:52:54] ⇨ Joins: KGS (~KGS@h-155-4-129-249.na.cust.bahnhof.se)
L34[01:59:53] <MCPBot_Reborn> [TEST CSV] Pushing snapshot_20160907 mappings to Forge Maven.
L35[01:59:56] <MCPBot_Reborn> [TEST CSV] Maven upload successful for mcp_snapshot-20160907-1.10.2.zip (mappings = "snapshot_20160907" in build.gradle).
L36[02:00:07] <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/
L37[02:00:07] ⇨ Joins: Jezza (~Jezza@bps-gw.hrz.tu-chemnitz.de)
L38[02:09:50] ⇦ Quits: xGhOsTkiLLeRx (~xGhOsTkiL@tmo-109-82.customers.d1-online.com) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
L39[02:15:03] ⇨ Joins: VikeStep (~VikeStep@101.184.243.180)
L40[02:19:14] ⇦ Quits: candybar (~foo@adsl-074-181-053-011.sip.sav.bellsouth.net) (Ping timeout: 384 seconds)
L41[02:28:07] ⇨ Joins: xGhOsTkiLLeRx (~xGhOsTkiL@vpn.dmz.nordakademie.de)
L42[02:31:05] ⇨ Joins: candybar (~foo@adsl-074-181-053-011.sip.sav.bellsouth.net)
L43[02:35:02] ⇦ Quits: alekso56 (~znc@2001:464b:c2aa:0:745d:45ff:fe3b:a098) (Ping timeout: 202 seconds)
L44[02:36:19] ⇨ Joins: alekso56 (~znc@2001:464b:c2aa:0:745d:45ff:fe3b:a098)
L45[02:36:46] ⇨ Joins: Kaiyouka (~IdiotNono@c-75-71-231-133.hsd1.co.comcast.net)
L46[02:51:43] ⇨ Joins: Zolingoto (~Melakion@50-35-180-227.evrt.wa.frontiernet.net)
L47[02:52:41] ⇦ Quits: codahq (~codahq@c-73-65-219-228.hsd1.ut.comcast.net) (Ping timeout: 206 seconds)
L48[02:57:31] ⇨ Joins: TechnicianLP (~Technic@p4FE56F5C.dip0.t-ipconnect.de)
L49[02:58:54] ⇦ Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 384 seconds)
L50[03:13:02] ⇨ Joins: Nentify (uid14943@2604:8300:100:200b:6667:1:0:3a5f)
L51[03:26:40] ⇦ Quits: candybar (~foo@adsl-074-181-053-011.sip.sav.bellsouth.net) (Ping timeout: 384 seconds)
L52[03:29:03] ⇨ Joins: Dimitriye98 (~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net)
L53[03:31:22] ⇦ Quits: KGS (~KGS@h-155-4-129-249.na.cust.bahnhof.se) (Ping timeout: 198 seconds)
L54[03:33:46] ⇦ Quits: Dimitriye98 (~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net) (Ping timeout: 206 seconds)
L55[03:38:43] ⇨ Joins: candybar (~foo@adsl-074-181-053-011.sip.sav.bellsouth.net)
L56[03:46:16] ⇨ Joins: Larry1123 (Larry1123@irc.larry1123.net)
L57[03:46:33] ⇨ Joins: untamemadman (~untamemad@cpc87177-aztw31-2-0-cust196.18-1.cable.virginm.net)
L58[03:48:51] ⇦ Quits: candybar (~foo@adsl-074-181-053-011.sip.sav.bellsouth.net) (Ping timeout: 186 seconds)
L59[04:00:27] ⇨ Joins: Dimitriye98 (~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net)
L60[04:04:22] ⇨ Joins: candybar (~foo@adsl-074-181-053-011.sip.sav.bellsouth.net)
L61[04:04:51] ⇦ Quits: Dimitriye98 (~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net) (Ping timeout: 186 seconds)
L62[04:09:01] ⇨ Joins: secknv (~secknv@2001:8a0:6c72:2a01:e1ad:ff48:b79e:85a)
L63[04:10:22] <secknv> so onItemUse gets called on both sides; say I wanted to chat a msg when player clicks block with item, should I do it client or server side
L64[04:10:40] <secknv> that is, should my if be (isRemote) or (!isRemote)
L65[04:11:08] <secknv> the if I would put inside the onItemUse method
L66[04:11:30] ⇨ Joins: Hgrebnednav (~Hgrebnedn@d8d872a6e.access.telenet.be)
L67[04:13:47] ⇦ Quits: untamemadman (~untamemad@cpc87177-aztw31-2-0-cust196.18-1.cable.virginm.net) (Quit: Leaving)
L68[04:21:38] ⇨ Joins: Javaschreiber (~Thunderbi@p200300D2F3C0B4000441883C1F60F4B5.dip0.t-ipconnect.de)
L69[04:37:43] ⇦ Quits: xGhOsTkiLLeRx (~xGhOsTkiL@vpn.dmz.nordakademie.de) (Read error: Connection reset by peer)
L70[04:37:46] ⇦ Quits: alekso56 (~znc@2001:464b:c2aa:0:745d:45ff:fe3b:a098) (Ping timeout: 202 seconds)
L71[04:39:06] <masa> I send the chat messages from the server usually
L72[04:39:26] ⇨ Joins: alekso56 (~znc@2001:464b:c2aa:0:745d:45ff:fe3b:a098)
L73[04:39:40] <masa> can't remember any case where I would do it on the client
L74[04:40:03] <masa> I think you'd have to add the message in a different way if it originates on the client
L75[04:40:34] <masa> ie. player.addChatMessageWhatever() works from the server
L76[04:48:39] <MalkContent> there no way to just do it client side?
L77[04:49:21] <MalkContent> i mean why would you involve the server, if the client has all the info it needs
L78[04:57:06] <masa> well sure there is, I just don't know it from the top of my head
L79[04:58:54] ⇦ Quits: Hanii (~user@host109-152-249-194.range109-152.btcentralplus.com) (Quit: Hanii)
L80[05:02:52] ⇦ Quits: Naiten (Naiten@77.34.228.61) (Read error: Connection reset by peer)
L81[05:25:49] <secknv> what's the difference between addChatMessage and addChatComponentMessage?
L82[05:26:40] <secknv> they both take an ITextComponent as args
L83[05:26:56] <secknv> and I couldnt really find an explanation of what they do
L84[05:29:23] <secknv> I mean, what they do differently
L85[05:29:53] <secknv> I tried them both and (at least on the user leve) there seems to be no difference
L86[05:30:12] ⇦ Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 384 seconds)
L87[05:31:57] ⇨ Joins: Larry1123 (Larry1123@irc.larry1123.net)
L88[05:37:15] <masa> the best answer to "what's the difference" or "what does it do" is to just use your IDE and take a look at what they do
L89[05:37:31] <masa> that's what someone else has or would do for the answer anyway...
L90[05:37:41] <secknv> well
L91[05:37:45] <secknv> they do nothing
L92[05:37:49] <secknv> empty methods
L93[05:37:57] <masa> look at the type hierarchy
L94[05:38:07] <masa> they are overridden by EntityPlayerMP
L95[05:38:37] <secknv> thanks I missed that
L96[05:42:21] <secknv> actually I missed something else
L97[05:42:45] <secknv> addChatMsg is from Entity while addChatComponentMsg is from EntityPlayer
L98[05:44:30] <secknv> they both do the same exact thing in their respective implementations on EntityPlayerSP and EntityPlayerMP
L99[05:46:01] <secknv> but the component one has an implementation on FakePlayer and the other one has an implementation on EntityOtherPlayerMp
L100[05:46:10] <secknv> that's the only difference I could find
L101[05:47:27] *** PaleOff is now known as PaleoCrafter
L102[05:47:28] <secknv> still dont really understand it though
L103[05:47:53] <secknv> guess imma look at forestry's source or something like that and see what they use
L104[05:49:44] ⇨ Joins: Dimitriye98 (~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net)
L105[05:50:31] <secknv> so for forestry commands they use addChatMessage I guess I'll go with that
L106[05:52:27] <Tazz> XD
L107[05:53:37] <Tazz> gotta love when this: (0.0F, 1.0F, 0.0F).rotate(90.0F); becomes a thing XD
L108[05:53:50] ⇦ Quits: Dimitriye98 (~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net) (Ping timeout: 202 seconds)
L109[05:53:55] ⇨ Joins: howtonotwin (~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net)
L110[05:54:03] <secknv> I have no idea what that is
L111[05:54:14] <Tazz> XD
L112[05:54:16] <PaleoCrafter> but what axis do you rotate around, Tazz? :P
L113[05:54:29] <Tazz> rofl
L114[05:54:39] <Tazz> the y-axis ;)
L115[05:54:49] <PaleoCrafter> lol
L116[05:55:26] <Tazz> secknv, its a stupidly funny hack I implemented that allows one to specify the rotation vector then call a rotate function like an instance function on the vector and rotate it by whatever value
L117[05:55:45] <Tazz> I also did one for translate
L118[05:55:52] <Tazz> (10.0F, 0.0F, 0.0F).translate();
L119[05:56:05] <secknv> seems legit
L120[05:56:19] <Tazz> haha it is!
L121[05:56:52] <Tazz> and another favourite of mine is using ints as an object that has instance functions for attaching shader uniform values
L122[05:57:14] <Tazz> like (1).attachColor("accents", 0xFF0000);
L123[05:57:45] <secknv> that java is way out of my league
L124[05:57:51] <Tazz> haha its not java in this case
L125[05:57:53] <Tazz> its Scala
L126[05:58:09] * secknv just recently learnt primitive types are not objects lol
L127[05:58:10] <Tazz> its still fun XD
L128[05:58:19] <Tazz> secknv, but they are :<
L129[05:58:22] <Tazz> technically!
L130[05:58:24] <Tazz> XD
L131[05:58:24] <secknv> wat
L132[05:58:30] <howtonotwin> boxing
L133[05:58:32] <Tazz> ^^^
L134[05:58:41] ⇨ Joins: Cooler (~CoolerExt@103.208.235.102)
L135[05:58:42] <Tazz> java has autoboxing on the majority of prims
L136[05:58:57] <secknv> yes I think I've heard of this
L137[05:59:03] <Tazz> and another thing to blow your mind is that all numbers that are relatively small in java are actually the same object
L138[05:59:04] <secknv> basically they put them inside objects
L139[05:59:16] <Tazz> as would "test" == "test" because they are also the same objects technically
L140[05:59:33] <secknv> wait I thought that didnt work for strings
L141[05:59:34] <Tazz> secknv, well the compiler basically boxes the literal value into an Integer, Double, Float object
L142[05:59:44] ⇦ Quits: zml (~zml@minions.aoeu.xyz) (Ping timeout: 206 seconds)
L143[05:59:46] <howtonotwin> Integer objects -128 to 127 (I think) are cached
L144[05:59:52] <howtonotwin> string interning
L145[05:59:58] <Tazz> ^^
L146[06:00:07] <howtonotwin> "test" == "test"
L147[06:00:17] <howtonotwin> encodes one string "test" into the classfile
L148[06:00:18] <Tazz> also Red Hot Chili Peppers - Dark Necessities <3
L149[06:00:29] <Tazz> that bass slapping and popping is awesome asf
L150[06:00:30] <Tazz> XD
L151[06:00:39] <Tazz> but yeah howtonotwin has the idea haha
L152[06:00:43] <howtonotwin> and then when the code runs both strings are the same object
L153[06:00:52] <Tazz> same reason why passwords shouldnt be string objects and rather a char[]
L154[06:00:58] <secknv> so it works because those 2 tests have the same memory reference
L155[06:00:59] <howtonotwin> but doing new String("test") == "test" fails
L156[06:01:06] <Tazz> yeah
L157[06:01:13] <Tazz> they point to the same chunk of mem
L158[06:01:13] <howtonotwin> because you make a new object and compare it to another
L159[06:01:28] <Tazz> however if you modify either string in any way its automatically a new string object
L160[06:01:32] <Tazz> and thus not equivalent
L161[06:01:53] <secknv> oh mah gawwd I learnt more java today than in #java for the past week
L162[06:01:53] <Tazz> but you could do something rediculous like (new String("Test")).intern() == "Test" and afaik that would hold true
L163[06:02:23] <howtonotwin> Don't actually depend on intern() to make ref comparisons work
L164[06:02:29] <Tazz> ^^
L165[06:02:30] <secknv> that's some lit stuff
L166[06:02:50] <howtonotwin> there's even a JVM option to make that method a noop
L167[06:03:00] <Tazz> I know someone that bitched at me for suggesting that they shouldnt compare strings with the equality operator XD
L168[06:03:07] <Tazz> howtonotwin, I did not know that XXD
L169[06:03:45] <secknv> well I tried that a lot during my first week of java
L170[06:03:51] <Tazz> Im very much teetering between getting some work done on my language or rewriting the assembler thing that I had XD
L171[06:04:12] <secknv> but after a few hours upset with my program I found out about .equals()
L172[06:04:38] <sham1> How did you not know about Object#equals
L173[06:04:38] <Tazz> secknv, yeah .equals is nice however it can be a bane on some people if the developerss that wrote the .equals func are idiots
L174[06:04:52] <Tazz> mostly if they dont follow the contract XD
L175[06:05:12] <secknv> "first week of java"
L176[06:05:14] <secknv> is how
L177[06:05:15] <Tazz> XD
L178[06:05:42] <sham1> That's like one of the first methods thaught because they are needed with Strings
L179[06:05:47] <Tazz> XD
L180[06:05:59] <secknv> blame tutorial pls
L181[06:06:07] <Tazz> I surprisingly missed enums in java for a while D
L182[06:06:11] <sham1> What tutorial
L183[06:06:13] <Tazz> like I was like wtf is that
L184[06:06:14] <Tazz> XD
L185[06:06:22] <secknv> that's me right now
L186[06:06:24] <secknv> lol
L187[06:06:27] <secknv> I mean
L188[06:06:34] <secknv> I kinda got a feel of them
L189[06:06:45] <secknv> but dont really make my own
L190[06:06:58] <Tazz> well if you plan on venturing anywhere farther than Java dont get too comfortable with the idea that enums are classes
L191[06:07:22] <sham1> They will always be integers to me
L192[06:07:26] <Tazz> cause like C and C++ enums are just basically numerical constants with different references
L193[06:07:41] <Tazz> Java enums are great for things
L194[06:07:45] <howtonotwin> Says the Haskeller
L195[06:07:56] <sham1> I also know C and stuff
L196[06:08:06] <Tazz> sham1, same!
L197[06:08:07] <sham1> In haskell Integers are enums ;)
L198[06:08:11] <secknv> I wasnt even confident enough to call enums classes
L199[06:08:19] <sham1> Or is it Ints
L200[06:08:19] <Tazz> Im literally opening Clion rn
L201[06:08:37] <Tazz> time to work on a better JIT for C
L202[06:08:37] <sham1> I don't remember if Integer was an instance of the Enum typeclass
L203[06:08:37] <Tazz> XD
L204[06:08:57] <sham1> Oh it is
L205[06:09:10] <Tazz> like my last one was good but not good enough XD
L206[06:09:40] <sham1> C to me is worth learning if one wants to learn assembly
L207[06:09:58] <sham1> It's very comfortable going from C to assembly as a lot of the things are very similar
L208[06:10:03] * secknv adds c to bucketlist
L209[06:10:15] <Tazz> lol
L210[06:10:18] <sham1> But C++ is a clusterfuck
L211[06:10:24] <secknv> lol
L212[06:10:26] <Tazz> yeah C++ is kinda bad XD
L213[06:10:31] <Tazz> like lots of things are just like why
L214[06:10:36] <Tazz> C is 10x better XD
L215[06:10:48] <Tazz> and if your interesting in class based OOP then just use Java or something stupid XD
L216[06:11:01] <sham1> I like C++'s operation overloading
L217[06:11:06] <sham1> Like if doing matrix or vector maths
L218[06:11:07] <Tazz> sham1, scala <3
L219[06:11:12] <sham1> But that's scala
L220[06:11:20] <Tazz> it has operator overloading though :/
L221[06:11:23] <sham1> yes
L222[06:11:24] <Tazz> and lots of other stuffs XD
L223[06:11:30] <howtonotwin> not that they are actually operators :P
L224[06:11:38] <Tazz> howtonotwin, haha
L225[06:11:53] <sham1> What if you took Java's type system, added a bit of Haskell influence while having Java-like syntax
L226[06:11:59] <Tazz> lol
L227[06:12:10] <sham1> That's basically scala
L228[06:12:18] <Tazz> I literally need to redesign Eschelle because Im not going to make a Scala duplicate XD
L229[06:12:32] <fry> "Java-like syntax" - wat
L230[06:12:33] <sham1> I'd regard infix functions as operators
L231[06:12:34] <Tazz> Ive thought it through XD
L232[06:12:39] <Tazz> XD
L233[06:12:43] <sham1> More Java-like than anything
L234[06:12:45] <PaleoCrafter> also, "Java's type system"
L235[06:12:48] <PaleoCrafter> wat
L236[06:12:54] <sham1> with Haskell influence
L237[06:12:57] <sham1> It's more powerful
L238[06:13:06] <Tazz> also I like Scala's type system XD
L239[06:13:17] <Tazz> its one of the major reasosn why scala is performant XXD
L240[06:13:21] <sham1> But it still has to make so many compromises
L241[06:13:25] <secknv> from what I read you also like scala everything
L242[06:13:29] <sham1> To be compatible with Java
L243[06:13:33] <Tazz> secknv, eh there are things I dont XD
L244[06:13:43] <Tazz> like optional returns and semicolons XD
L245[06:13:47] <Tazz> sooo aggrivating XD
L246[06:13:53] <secknv> xD
L247[06:14:02] <howtonotwin> XML literals
L248[06:14:03] <PaleoCrafter> optional semicolons are best :P
L249[06:14:08] <sham1> I never got the fear of the semicolon
L250[06:14:09] <Tazz> they are not
L251[06:14:09] <Tazz> XD
L252[06:14:18] <Tazz> ffs they are hell
L253[06:14:18] <Tazz> XD
L254[06:14:36] <sham1> Also, try to program with Javascript, then you can judge if optional semicolons are a good thing
L255[06:14:40] <Tazz> I do like Scala's type disjunction XD
L256[06:14:48] <Tazz> sham1, I do a lot of javascript :<
L257[06:15:26] <sham1> I like it when it is limited to my web browser
L258[06:15:30] <Tazz> ^^^^^
L259[06:15:31] * sham1 glares at Node
L260[06:15:46] <Tazz> Im hating this bullshit wave of desktop stuffs thats literally written in Javascript XD
L261[06:15:49] <Tazz> its like dafuq
L262[06:15:56] <sham1> Atom springs to mind
L263[06:15:59] <Tazz> haha
L264[06:16:25] <Tazz> although v8 is my favourite thing in the world sometimes XD
L265[06:16:30] <sham1> But I probably will be able to run Atom under Emacs because in the next version Emacs gets support for Webkit
L266[06:16:42] <sham1> A man can dream
L267[06:16:42] <Tazz> the majority of its tech has inspired me to write my own stuffs
L268[06:17:26] <Tazz> like when I redesigned the compilation pipeline for Eschelle I based it upon v8's own pipeline in a way
L269[06:17:50] <sham1> But one very interesting language is rust
L270[06:17:55] <Tazz> XD
L271[06:18:00] <Tazz> lol
L272[06:18:13] <Tazz> I hate Rust's syntax XD
L273[06:18:34] <sham1> Well, that's the downside
L274[06:18:41] <Tazz> but its a marvel otherwise XD
L275[06:19:04] <sham1> The closure syntax of Rust is... interesting to say the least
L276[06:19:12] <Tazz> is it anything like C++'s?
L277[06:19:16] <sham1> Well
L278[06:19:21] <Tazz> and also I hate that they use LLVM in Rust :/
L279[06:19:32] <sham1> LLVM is fine
L280[06:19:36] <Tazz> no XXD
L281[06:19:53] <Tazz> not when your backed by developers that can surely roll their own
L282[06:20:22] <secknv> I got python down and have barely started with java
L283[06:20:31] <sham1> Python is meh
L284[06:20:31] <secknv> watching you guys talk about all these other langs
L285[06:20:36] <Tazz> Python is bad
L286[06:20:38] <Tazz> bad bad bad XD
L287[06:20:42] <secknv> make it seem like a world of endless wonder lol
L288[06:20:45] <sham1> I don't like dynamic typing
L289[06:20:49] <secknv> I'm not saying it's good
L290[06:20:53] <secknv> I just had to start somewhere
L291[06:20:58] <Tazz> I can say that I dont mind dynamic typign
L292[06:21:04] <sham1> At least Python is strongly typed dynamic language unlike javascript for instance
L293[06:21:09] <Tazz> but like python has other reasons for being shit XD
L294[06:21:21] <sham1> Where "str" - 1 is a valid piece of code
L295[06:21:26] <Tazz> rofl
L296[06:21:35] <Tazz> or undefined !== undefined
L297[06:21:45] <Tazz> which at one point was a thing but apparently its gone
L298[06:21:50] <Tazz> like dafuq haha
L299[06:21:59] <sham1> Array(16).join("wat" - 1) + " Batman!";
L300[06:22:10] <Tazz> lol
L301[06:22:36] <secknv> that would give a very funny sentence
L302[06:22:43] <sham1> Indeed
L303[06:23:21] <sham1> But sadly it is very valid code
L304[06:23:30] <Tazz> lol
L305[06:23:42] <Tazz> urls can be valid java code XD
L306[06:23:50] <secknv> except for the semicolon
L307[06:23:54] <Tazz> http://google.com/ is like valid
L308[06:23:55] <Tazz> XD
L309[06:24:01] <Tazz> cause it creates a label then a comment XD
L310[06:24:05] <sham1> I have not seen any other language where you can subtract a number from a string
L311[06:24:19] <Tazz> sham1, well technically you can in C... XD
L312[06:24:22] <Tazz> XD
L313[06:24:59] <Tazz> like char str[] = "Hello World"; char* str2 = str; while(str2 != NULL) str2++;
L314[06:25:04] <Tazz> or something along those lines
L315[06:25:13] <sham1> But not from a string literal
L316[06:25:14] <Tazz> and you can do a bunch of random things with it
L317[06:25:25] <sham1> You need to have it in a variable first
L318[06:25:38] <Tazz> true
L319[06:26:14] <sham1> While ECMAScript will just allow you to subtract from a string literal because "Types? What are those!?"
L320[06:26:14] <Tazz> sham1, you said you were familiar with C right? XD
L321[06:26:19] <sham1> Well
L322[06:26:23] <sham1> Sort of
L323[06:26:27] <Tazz> I haz a question
L324[06:26:44] <sham1> Ask away
L325[06:27:38] <Tazz> alright
L326[06:27:45] <Tazz> sham1, you know the concept of a tagged union?
L327[06:28:14] <sham1> Well, yeh
L328[06:28:55] <sham1> Sort of
L329[06:29:24] <Tazz> uhhhh
L330[06:29:25] <Tazz> 1 sec
L331[06:33:02] ⇦ Quits: CoderPuppy (~cpup@32.218.117.140) (Ping timeout: 202 seconds)
L332[06:33:54] <sham1> What was the question
L333[06:34:13] <sham1> I was a dumb person and closed the irc on my phone
L334[06:34:30] <fry> there was no question so far :P
L335[06:34:51] <Tazz> XD
L336[06:34:52] <Tazz> sorry
L337[06:35:03] <Tazz> I was setting it up (will be relevant in a second)
L338[06:35:18] <Tazz> sham1, basically this: https://gist.github.com/s0cks/a7cc187549ba6d2102eca135211b3df2 which would you use to structure an AST system in C
L339[06:35:23] <Tazz> ex. 1 or ex. 2?
L340[06:35:50] <Tazz> Ive been told ex. 2 is the way to go but it seems sloppy and terribly done XD
L341[06:36:19] <Tazz> obviously not with the long ass names XD
L342[06:37:40] <sham1> Well example 2 is used by stuff where you want something like pseudo inheritance
L343[06:37:47] <sham1> Like in SDL events
L344[06:37:58] <Tazz> XD
L345[06:38:08] <Tazz> but its cleaner and more effective with Ex. 1 I think XD
L346[06:38:14] <Tazz> its a bit more pointer maths though :<
L347[06:39:32] ⇨ Joins: Naiten (Naiten@5.143.105.249)
L348[06:39:36] ⇦ Quits: Hink (~Hink@hink.me) (Quit: quit from client)
L349[06:39:47] ⇨ Joins: zml (~zml@minions.aoeu.xyz)
L350[06:40:07] ⇨ Joins: Hink (~Hink@hink.me)
L351[06:40:26] <sham1> But as you know, people don't like pointer math
L352[06:40:33] <Tazz> I do :<
L353[06:40:51] <sham1> It can be quite confusing
L354[06:40:56] <Tazz> howso?
L355[06:41:45] <sham1> Rather, the math itself is easy enough
L356[06:44:05] <sham1> Like when one looks at addressing a specific member in an array
L357[06:44:56] <sham1> as you know, arr[i] is equal to *(arr + i * sizeof(*arr))
L358[06:45:16] <sham1> it can look daunting
L359[06:46:11] <Tazz> lol
L360[06:46:21] <Tazz> well if you know the type of arr its a bit simpler...
L361[06:46:37] <Tazz> arr[1] = *(arr + (i * sizeof(char));
L362[06:47:26] <sham1> Well sure
L363[06:47:35] <sham1> Only for chars :p
L364[06:47:49] <sham1> but yeah
L365[06:48:12] <sham1> And then there is shit like triple pointer indirection and other shit
L366[06:48:16] <Tazz> well it works for the rest of the types but thats specifically for hcars XD
L367[06:48:25] <sham1> yes
L368[06:51:09] <sham1> Also, one thing I like about Rust is that it had safe pointers from the beginning
L369[06:54:11] <Tazz> gah I love macros
L370[06:54:18] <PaleoCrafter> Last I've looked at Rust, it had some weird restrictions/decisions I just couldn't get over
L371[06:54:20] <Tazz> https://gist.github.com/s0cks/61f7be40db60517ee03af56a894dce58
L372[06:55:29] ⇦ Quits: shartte (uid182918@2604:8300:100:200b:6667:4:2:ca86) (Quit: Connection closed for inactivity)
L373[06:56:03] ⇦ Quits: candybar (~foo@adsl-074-181-053-011.sip.sav.bellsouth.net) (Ping timeout: 186 seconds)
L374[06:56:50] ⇨ Joins: Nitrodev (~Nitrodev@85-23-77-207.bb.dnainternet.fi)
L375[07:06:46] ⇨ Joins: shartte (uid182918@2604:8300:100:200b:6667:4:2:ca86)
L376[07:10:54] ⇨ Joins: candybar (~foo@adsl-074-181-053-011.sip.sav.bellsouth.net)
L377[07:38:38] ⇨ Joins: Dimitriye98 (~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net)
L378[07:42:12] ⇦ Quits: Dimitriye98 (~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net) (Ping timeout: 206 seconds)
L379[07:47:08] ⇨ Joins: quadraxis (~quadraxis@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net)
L380[07:50:08] ⇦ Quits: npe|office (~NPExcepti@bps-gw.hrz.tu-chemnitz.de) (Remote host closed the connection)
L381[07:50:14] ⇨ Joins: Isi (~Isi@cpc96910-walt25-2-0-cust672.13-2.cable.virginm.net)
L382[08:05:26] ⇦ Quits: Javaschreiber (~Thunderbi@p200300D2F3C0B4000441883C1F60F4B5.dip0.t-ipconnect.de) (Ping timeout: 202 seconds)
L383[08:08:51] *** V is now known as Vigaro
L384[08:10:34] <secknv> lol
L385[08:11:00] <secknv> so say I have a ItemModItem
L386[08:11:42] <secknv> I wanted to be able to right click a block with it and have it change it's description so that it is the name of the last block clicked
L387[08:11:58] <secknv> I did that using onItemUse to get the block
L388[08:12:08] <secknv> and addInformation to set description
L389[08:12:41] <secknv> problem is, as you might guess, if I have 3 of those items in inv and click on a block with one of them
L390[08:12:52] <secknv> all 3 get their description changed
L391[08:13:28] <secknv> so that every item can be paired to a different block
L392[08:13:32] <secknv> how can I do that
L393[08:13:53] <secknv> i need to use ItemStack no
L394[08:13:56] <secknv> tips ples
L395[08:18:11] ⇦ Quits: candybar (~foo@adsl-074-181-053-011.sip.sav.bellsouth.net) (Ping timeout: 186 seconds)
L396[08:18:35] <Tazz> lol
L397[08:18:39] <Tazz> sham1, I did it :D
L398[08:18:54] <sham1> :P
L399[08:19:24] <Tazz> sham1, https://gist.github.com/s0cks/486328c6354f66c0ddc36fdac72fea17 JIT basics done :D
L400[08:19:33] <Tazz> and it works better XD
L401[08:19:54] <Tazz> removed lots of redundant inlines and added some needed ones and optimized a few functions and made the code prettier XXD
L402[08:20:00] ⇨ Joins: Ivorius (~Ivorius@2604:a880:800:10::55b:8001)
L403[08:20:24] <Tazz> and it should now claim the correct memory sizes as well as go lighter on it when doing the emitions
L404[08:21:23] <Tazz> also totally love that syntax for calling the JIT'd function XD the: ((void (*)(void)) asm_compile(&buffer))(); part
L405[08:21:36] <sham1> Yeez
L406[08:21:39] <Tazz> XD
L407[08:22:02] <Tazz> its awesome though :D
L408[08:22:11] ⇨ Joins: Girafi (Girafi@0x555178eb.adsl.cybercity.dk)
L409[08:32:12] ⇨ Joins: candybar (~foo@adsl-074-181-053-011.sip.sav.bellsouth.net)
L410[08:32:57] ⇦ Quits: Kodos (~Kodos@2602:306:ce20:6c30:7cd9:27a5:fa95:b8d8) (Ping timeout: 206 seconds)
L411[08:32:59] <secknv> meh stack.setDisplayName does exactly what one would expect
L412[08:33:40] <secknv> is there not an ItemStack equivalent of Item.addInformation
L413[08:34:19] <sham1> I thought that addInformation passes you an ItemStack
L414[08:34:57] <secknv> yes
L415[08:35:15] <secknv> I want to have many of the same item with different descriptions
L416[08:35:26] <sham1> Is it your own item?
L417[08:35:48] <secknv> yes
L418[08:36:10] <secknv> basically I want to right click a block with it and have it get the block name on it's description
L419[08:36:27] <secknv> I tried addInformation(ItemStack stack, EntityPlayer playerIn, List<String> tooltip, boolean advanced)
L420[08:36:50] <secknv> tooltip.add(blockname)
L421[08:37:05] <secknv> but that changes the desc of all the items
L422[08:37:15] <secknv> and I wanted to be per item
L423[08:37:25] <sham1> What do you want to seperate the items by
L424[08:37:28] <sham1> Metadata?
L425[08:37:43] <secknv> is that what you recomend
L426[08:38:42] <sham1> Well yes
L427[08:38:44] <secknv> the final goal is an item that when used on a block saves the blockpos to it's desc
L428[08:39:13] <sham1> Oh
L429[08:39:18] <sham1> In that case you can use NBT
L430[08:39:32] ⇨ Joins: Benimatic (~Benimatic@cblmdm72-241-108-184.buckeyecom.net)
L431[08:39:34] <sham1> You put the block position into the itemstack's NBT data
L432[08:39:48] <secknv> where can I see the tags for desc
L433[08:40:09] <sham1> You make them yourself
L434[08:40:24] <sham1> You read the tag in addInformation and act accordingly
L435[08:40:32] <Tazz> ^^
L436[08:40:34] <secknv> while messing around I got it to work but the nbt changed the name of the item itself
L437[08:40:42] <Tazz> how I made Exoskeleton's armour "modular"
L438[08:40:47] <Tazz> its actually a quite useful trick haha
L439[08:40:55] <secknv> I want the name to be same but desc different
L440[08:41:16] <sham1> Wait, how did you change the name
L441[08:41:22] ⇨ Joins: Korobi (korobi@is.a.ninja.korobi.io)
L442[08:42:36] <secknv> ItemStack.setDisplayName
L443[08:42:54] <secknv> I looked at it and it creates a new NBTTagCompound
L444[08:43:08] <secknv> and then does this.stackTagCompound.getCompoundTag("display").setString("Name", displayName);
L445[08:43:34] <secknv> I'm guessing I could do something like that but for the description
L446[08:43:55] <secknv> but looking at that makes me thing there are already "defined" names for tags
L447[08:44:14] <secknv> because it gets the "display" tag
L448[08:45:00] ⇦ Quits: Hunterz (~hunterz@2001:af0:8000:1c01:6af7:28ff:fe37:5d6a) (Quit: Leaving.)
L449[08:46:13] <secknv> I'm not very familiar with the nbt system
L450[08:46:44] <Tazz> lol I totally used scala's implicit classes to hack in a funky syntax for appending values to an NBTTagCompound
L451[08:47:13] <Tazz> basically: val cmp: NBTTagCompound = new NBTTagCompound(); cmp += "Key" -> "Value";
L452[08:49:30] ⇨ Joins: armctec (~Thunderbi@201.6.194.245)
L453[08:49:53] <masa> secknv: that display tag is vanilla's item renaming system
L454[08:50:35] <masa> you don't need to use that for your own items, just override getDisplayName() and/or addInformation(), I guess you only wanted the latter
L455[08:50:57] <secknv> but
L456[08:51:25] <secknv> when I want to change the descriprion then which tag should I use
L457[08:51:33] <masa> none
L458[08:51:35] <sham1> Override addInformation
L459[08:51:35] <secknv> is there one named "description"
L460[08:51:50] <masa> override addInformation() and add the description string to the list
L461[08:51:55] <secknv> ok I have already done that
L462[08:51:57] <sham1> You're in modding land now. No need to hack NBT
L463[08:51:58] <masa> *strings
L464[08:52:16] <Tazz> XD
L465[08:52:24] <secknv> but that means if I have 3 of my item and click block with one of them all 3 get the blockpos in them
L466[08:52:30] <Tazz> sham1, but its fun XD
L467[08:52:41] <sham1> no
L468[08:52:44] <sham1> It won't
L469[08:52:49] <masa> secknv: uhh what? you add the strings based on the blockpos you store in the NBT
L470[08:52:53] <sham1> ^
L471[08:53:04] <secknv> I am doing it wrong I got that
L472[08:53:10] <secknv> 1 sec lemme pastebin
L473[08:53:26] <masa> https://github.com/maruohon/enderutilities/blob/master/src/main/java/fi/dy/masa/enderutilities/item/base/ItemLocationBound.java#L112
L474[08:53:36] <masa> this is way more complicated than you need, but...
L475[08:53:57] <secknv> http://pastebin.com/X21emyDW
L476[08:54:02] <secknv> imma look at that rn
L477[08:54:26] <sham1> Why is tip a variable
L478[08:54:29] <sham1> err
L479[08:54:31] <sham1> An attribute
L480[08:54:34] <masa> don't store fields in your item class ;_;
L481[08:54:36] <sham1> ^
L482[08:54:40] <masa> there is ever only one instance of items
L483[08:54:55] <secknv> this is test ok
L484[08:54:58] <masa> you should only store data in the NBT
L485[08:55:15] <sham1> And the test is such that it affects all itemstacks with your item
L486[08:55:25] <secknv> exactly
L487[08:55:29] <secknv> thats my problem
L488[08:55:33] <masa> well it is because of that "test" that you then get the same description on all items, because of what I said above
L489[08:55:45] <secknv> ooooooooohhhhhhhhhh
L490[08:55:54] <secknv> I was missing the point
L491[08:56:05] <masa> ALL items of that type share the same class, so they all have that exact same field/reference "tip"
L492[08:56:15] <sham1> "addInformationSelective"
L493[08:56:15] <secknv> i see very stupid
L494[08:56:16] <sham1> Wat
L495[08:56:32] <masa> custom
L496[08:56:35] <masa> so what?
L497[08:56:47] <secknv> so I can create any nbt tag I want basically
L498[08:56:48] <sham1> what extra does it do
L499[08:56:53] <secknv> with whatever name I want
L500[08:56:53] <sham1> secknv, yes
L501[08:56:57] <sham1> You are in charge
L502[08:57:04] <secknv> and should always do that to store information
L503[08:57:09] <secknv> in cases like this one
L504[08:57:20] <sham1> indeed
L505[08:57:26] <masa> sham1: well I have common description stuff in the super class in the vanilla method, and I add per-item stuff in that custom method
L506[08:57:44] <secknv> thanks
L507[08:57:51] <secknv> for explaining and stuff
L508[08:59:37] ⇨ Joins: sokratis12gr (~sokratis1@moritz30.de)
L509[09:00:16] ⇦ Quits: armctec (~Thunderbi@201.6.194.245) (Quit: armctec)
L510[09:02:55] ⇦ Quits: candybar (~foo@adsl-074-181-053-011.sip.sav.bellsouth.net) (Ping timeout: 206 seconds)
L511[09:06:18] ⇦ Quits: Jezza (~Jezza@bps-gw.hrz.tu-chemnitz.de) (Remote host closed the connection)
L512[09:10:51] <Naiten> Hi everybody. Can somebody help me debug packet leak on simpleimpl? I've suspended sever at FMLProxyPacket:88 badPackets.add(this.channel); and now am investigating where the leak comes from
L513[09:11:26] <Naiten> but welp, only could get that packet was sent from client, into my channel and from specific player
L514[09:11:26] ⇦ Quits: Chais (~Chais@62.178.210.212) (Read error: Connection reset by peer)
L515[09:12:18] <Naiten> Getting at least the packet ID would help a lot, but I just can't see anything looking alike that >_>
L516[09:13:32] <Naiten> oh my
L517[09:13:59] <Naiten> wrote here and found the required immediately .-.
L518[09:15:53] ⇨ Joins: Chais (~Chais@62.178.210.212)
L519[09:16:01] ⇨ Joins: IceDragon (~ThatGuy@184.170.51.21)
L520[09:16:15] ⇨ Joins: armctec (~Thunderbi@201.6.194.245)
L521[09:17:14] ⇨ Joins: candybar (~foo@adsl-074-181-053-011.sip.sav.bellsouth.net)
L522[09:24:08] <Naiten> However. Is it possible to save the thread state when it's suspended after breakpoint fired?
L523[09:24:32] <Naiten> i'm in Intellij IDEA
L524[09:25:51] ⇦ Quits: VikeStep (~VikeStep@101.184.243.180) (Read error: Connection reset by peer)
L525[09:27:33] ⇨ Joins: Dimitriye98 (~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net)
L526[09:28:49] ⇨ Joins: codahq (~codahq@c-73-65-219-228.hsd1.ut.comcast.net)
L527[09:31:26] ⇦ Quits: Dimitriye98 (~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net) (Ping timeout: 206 seconds)
L528[09:32:04] ⇨ Joins: Javaschreiber (~Thunderbi@p5b0dfe1c.dip0.t-ipconnect.de)
L529[09:32:49] ⇨ Joins: Brokkoli (~Brokkoli@p5B23C47D.dip0.t-ipconnect.de)
L530[09:34:20] ⇦ Quits: armctec (~Thunderbi@201.6.194.245) (Ping timeout: 206 seconds)
L531[09:50:37] ⇨ Joins: ThePsionic (~ThePsioni@ip5457f909.direct-adsl.nl)
L532[09:51:30] ⇨ Joins: auenf (David@DC-24-199.bpb.bigpond.com)
L533[09:51:30] ⇨ Joins: Trent (~trent@potato.bnc.io)
L534[09:52:39] ⇨ Joins: Jezza (~Jezza@92.206.33.136)
L535[10:06:40] ⇨ Joins: Samario (~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net)
L536[10:29:23] ⇦ Quits: candybar (~foo@adsl-074-181-053-011.sip.sav.bellsouth.net) (Ping timeout: 186 seconds)
L537[10:37:20] ⇦ Quits: Zed (~Zed@36.57.9.51.dyn.plus.net) (Ping timeout: 384 seconds)
L538[10:41:53] ⇨ Joins: Davnit_ (~Davnit@72.189.103.223)
L539[10:43:35] ⇨ Joins: candybar (~foo@adsl-074-181-053-011.sip.sav.bellsouth.net)
L540[10:43:38] ⇦ Quits: quadraxis (~quadraxis@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net) (Ping timeout: 202 seconds)
L541[10:44:06] ⇦ Quits: mallrat208 (~mallrat20@107-145-136-189.res.bhn.net) (Ping timeout: 202 seconds)
L542[10:44:06] ⇦ Quits: Davnit (~Davnit@72-189-103-223.res.bhn.net) (Ping timeout: 202 seconds)
L543[10:44:09] ⇨ Joins: Dimitriye98 (~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net)
L544[10:49:14] ⇦ Quits: Katrix (~Katrix@2a02:fe0:cb10:2420:447c:4:a41f:cf8a) (Ping timeout: 202 seconds)
L545[10:49:15] ⇦ Quits: candybar (~foo@adsl-074-181-053-011.sip.sav.bellsouth.net) (Ping timeout: 206 seconds)
L546[10:49:32] ⇨ Joins: Katrix (~Katrix@2a02:fe0:cb10:2420:3dee:7372:aa77:73b)
L547[10:52:20] ⇨ Joins: quadraxis (~quadraxis@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net)
L548[10:58:55] ⇨ Joins: Ordinastie_ (~Ordinasti@87-231-58-94.rev.numericable.fr)
L549[10:59:50] ⇦ Quits: Dimitriye98 (~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net) (Remote host closed the connection)
L550[11:03:46] ⇨ Joins: candybar (~foo@adsl-074-181-053-011.sip.sav.bellsouth.net)
L551[11:05:30] ⇨ Joins: cpup (~cpup@32.218.114.47)
L552[11:07:43] *** amadornes is now known as amadornes[Streaming]
L553[11:08:25] ⇨ Joins: Bottersnike (~Bottersni@cpc92744-stap14-2-0-cust374.12-2.cable.virginm.net)
L554[11:09:37] *** PaleoCrafter is now known as PaleOff
L555[11:16:21] ⇨ Joins: Noppes (~Noppes@ip56530f2e.direct-adsl.nl)
L556[11:16:51] ⇦ Quits: Bottersnike (~Bottersni@cpc92744-stap14-2-0-cust374.12-2.cable.virginm.net) ()
L557[11:26:32] ⇨ Joins: CoderPuppy (~cpup@32.218.114.176)
L558[11:28:53] ⇦ Quits: cpup (~cpup@32.218.114.47) (Ping timeout: 206 seconds)
L559[11:35:20] ⇦ Quits: Rushmead (uid136212@id-136212.ealing.irccloud.com) (Quit: Connection closed for inactivity)
L560[11:35:31] ⇦ Quits: Javaschreiber (~Thunderbi@p5b0dfe1c.dip0.t-ipconnect.de) (Ping timeout: 186 seconds)
L561[11:40:37] ⇨ Joins: Hgreb (~Hgrebnedn@d8D872A6E.access.telenet.be)
L562[11:40:46] ⇦ Quits: Hgrebnednav (~Hgrebnedn@d8d872a6e.access.telenet.be) (Read error: Connection reset by peer)
L563[11:43:19] ⇨ Joins: KGS (~KGS@h-155-4-129-249.na.cust.bahnhof.se)
L564[11:45:26] ⇨ Joins: McJty (~jorrit@94-225-203-206.access.telenet.be)
L565[11:59:00] ⇨ Joins: cpup (~cpup@32.218.115.13)
L566[11:59:54] ⇨ Joins: Zed (~Zed@36.57.9.51.dyn.plus.net)
L567[12:01:06] ⇦ Quits: CoderPuppy (~cpup@32.218.114.176) (Ping timeout: 202 seconds)
L568[12:02:08] ⇨ Joins: Nepharius (~Nepharius@host-091-097-163-162.ewe-ip-backbone.de)
L569[12:06:18] <Nepharius> Anyone ever had the problem that the texture of a custom armor interferes with the player texture?
L570[12:10:38] ⇦ Quits: Hgreb (~Hgrebnedn@d8D872A6E.access.telenet.be) (Read error: Connection reset by peer)
L571[12:10:40] ⇨ Joins: Hgrebnednav (~Hgrebnedn@d8d872a6e.access.telenet.be)
L572[12:13:43] ⇦ Quits: luacs1998 (~miyamoto@2001:19f0:6400:8965:5400:ff:fe07:8777) (Quit: ZNC - http://znc.in)
L573[12:14:07] ⇨ Joins: luacs1998 (~sayuka@2001:19f0:6400:8965:5400:ff:fe07:8777)
L574[12:15:03] ⇦ Quits: luacs1998 (~sayuka@2001:19f0:6400:8965:5400:ff:fe07:8777) (Client Quit)
L575[12:16:44] ⇦ Quits: Cooler (~CoolerExt@103.208.235.102) (Ping timeout: 206 seconds)
L576[12:16:56] ⇨ Joins: luacs1998 (~sayuka@abrarsyed.com)
L577[12:20:50] ⇨ Joins: Cooler (~CoolerExt@117.248.11.164)
L578[12:21:04] ⇨ Joins: zabi94 (~androirc@93.37.140.130)
L579[12:22:02] ⇦ Quits: zabi94 (~androirc@93.37.140.130) (Client Quit)
L580[12:22:10] ⇦ Quits: candybar (~foo@adsl-074-181-053-011.sip.sav.bellsouth.net) (Ping timeout: 384 seconds)
L581[12:28:03] ⇨ Joins: zabi94 (~zabi94@93.37.140.130)
L582[12:28:51] ⇦ Quits: zabi94 (~zabi94@93.37.140.130) (Read error: Connection reset by peer)
L583[12:29:10] ⇨ Joins: zabi94 (~zabi94@93.37.140.130)
L584[12:32:31] ⇨ Joins: Gigabit101 (~Gigabit10@cpc76690-cosh16-2-0-cust331.6-1.cable.virginm.net)
L585[12:33:07] ⇨ Joins: irctc980 (~irctc980@ip68-104-222-58.ph.ph.cox.net)
L586[12:33:59] ⇨ Joins: candybar (~foo@adsl-074-181-053-011.sip.sav.bellsouth.net)
L587[12:38:37] <MalkContent> is it possible to register blocks to be used as beacon bases?
L588[12:38:50] <MalkContent> i mean i know that was possible at some point
L589[12:38:59] ⇨ Joins: Javaschreiber (~Thunderbi@p200300D2F3C0B40099DA560A8B66D671.dip0.t-ipconnect.de)
L590[12:39:01] <MalkContent> but that was way before 1.8
L591[12:39:23] <zabi94> Your blocks or already registered ones?
L592[12:39:35] <Ordinastie_> look for what the beacon does when checking for the base
L593[12:40:04] <zabi94> it uses blockObject.isBeaconBase() or something like that
L594[12:41:32] <zabi94> public boolean isBeaconBase(IBlockAccess worldObj, BlockPos pos, BlockPos beacon)
L595[12:42:35] ⇨ Joins: CoderPuppy (~cpup@32.218.115.150)
L596[12:44:30] ⇦ Quits: cpup (~cpup@32.218.115.13) (Ping timeout: 202 seconds)
L597[12:45:38] <Nepharius> Is there a way to stop minecraft from rendering the textures of a custom armor in places where the vanilla armor would have been?
L598[12:46:18] ⇨ Joins: Hunterz (~hunterz@62.182.234.189)
L599[12:47:29] ⇨ Joins: Dimitriye98 (~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net)
L600[12:48:42] <MalkContent> thanks zabi94
L601[12:49:19] <zabi94> np
L602[12:49:54] ⇦ Quits: Naiten (Naiten@5.143.105.249) (Read error: Connection reset by peer)
L603[12:50:58] ⇦ Quits: Dimitriye98 (~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net) (Remote host closed the connection)
L604[12:52:18] *** PaleOff is now known as PaleoCrafter
L605[12:53:33] ⇨ Joins: Dimitriye98 (~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net)
L606[13:01:52] ⇦ Quits: ThePsionic (~ThePsioni@ip5457f909.direct-adsl.nl) (Quit: Leaving)
L607[13:02:18] *** MrKick|Away is now known as MrKickkiller
L608[13:02:45] ⇨ Joins: p455w0rd (~p455w0rd@50.102.83.141)
L609[13:04:30] <p455w0rd> why would build get stuck at retroMapReplacedMain? just hangs
L610[13:06:14] ⇨ Joins: aidancbrady (~aidancbra@res400d-128-61-102-197.res.gatech.edu)
L611[13:08:49] <PaleoCrafter> try running vintageMapReplacedMain, p455w0rd
L612[13:10:58] *** Mine|dreamland is now known as minecreatr
L613[13:15:42] ⇦ Quits: p455w0rd (~p455w0rd@50.102.83.141) (Ping timeout: 206 seconds)
L614[13:16:31] ⇨ Joins: p455w0rd (~p455w0rd@172.78.233.30)
L615[13:20:45] ⇦ Quits: zabi94 (~zabi94@93.37.140.130) (Read error: Connection reset by peer)
L616[13:20:55] ⇨ Joins: zabi94 (~zabi94@93.37.140.130)
L617[13:26:30] ⇦ Quits: zabi94 (~zabi94@93.37.140.130) (Ping timeout: 202 seconds)
L618[13:27:14] <Nepharius> Anyone experienced with armor rendering here?
L619[13:27:37] ⇦ Quits: manmaed (~Ender@97e5ac1e.skybroadband.com) (Ping timeout: 195 seconds)
L620[13:29:13] ⇨ Joins: manmaed|AFK (~Ender@97e5ac1e.skybroadband.com)
L621[13:29:56] *** manmaed|AFK is now known as manmaed
L622[13:35:48] ⇦ Quits: Dimitriye98 (~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net) (Read error: Connection reset by peer)
L623[13:35:53] ⇨ Joins: zabi94 (~zabi94@93.37.140.130)
L624[13:36:00] ⇨ Joins: Dimitriye98 (~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net)
L625[13:38:56] ⇨ Joins: zacstewart (webchat@c-98-192-38-139.hsd1.ga.comcast.net)
L626[13:39:34] ⇦ Quits: irctc980 (~irctc980@ip68-104-222-58.ph.ph.cox.net) (Ping timeout: 202 seconds)
L627[13:40:01] ⇦ Quits: zacstewart (webchat@c-98-192-38-139.hsd1.ga.comcast.net) (Quit: Web client closed)
L628[13:40:53] ⇨ Joins: zacstewart (~zacstewar@c-98-192-38-139.hsd1.ga.comcast.net)
L629[13:41:34] <zacstewart> I'm working on a mod to let players add/search shops on servers using the ItemExchange mod. Is there a way to get a unique identifier for the server/shard a player is connected to? I haven't been able to find anything in the documentation
L630[13:44:03] <gigaherz_x> no there's no standard way to do that
L631[13:44:55] <tterrag|ZZZzzz> 'shard' is not a concept vanilla or forge understands
L632[13:44:56] *** tterrag|ZZZzzz is now known as tterrag
L633[13:45:33] <zacstewart> Yeah, I know shard's are tricky. The only example I know of is BungeeCord doing proxy shenangigans
L634[13:46:04] <zacstewart> Somehow JourneyMap assigns a UUID for the shard in it's data dir, so it keeps coords and stuff separate even when you connect to one main address. I wish I could see what they were doing
L635[13:46:11] ⇦ Quits: Benimatic (~Benimatic@cblmdm72-241-108-184.buckeyecom.net) (Ping timeout: 186 seconds)
L636[13:47:02] <techbrew> Are the maps the same across each shard?
L637[13:47:07] ⇨ Joins: Benimatic (~Benimatic@cblmdm72-241-108-184.buckeyecom.net)
L638[13:47:09] <zacstewart> Not even close
L639[13:47:21] <zacstewart> Different world sizes, different everything
L640[13:48:01] <zacstewart> It's civcraft.co. The idea is that the different shards all have portals connecting to different edges so that you can effectively have a "world" made up of different shards
L641[13:48:17] <tterrag> then it's considered a different server
L642[13:48:26] <techbrew> OK, so JM's behavior is correct for the multiworld set up?
L643[13:48:37] <techbrew> And you want to mimic that for your own purposes?
L644[13:49:22] <zacstewart> Basically. It's a little glitchy (i have to reconnect after transitioning shards to load my waypoints), but I suspect they have a starting point for me to look at at least
L645[13:49:36] *** fry is now known as fry|sleep
L646[13:49:54] <techbrew> They equals me
L647[13:50:14] <zacstewart> Oh, hi! Glad to meet you. I love JM
L648[13:50:28] <techbrew> As in, I am the lead developer. :-) Nice to meet you.
L649[13:51:01] <techbrew> so, for a little background, read: http://journeymap.info/JourneyMapServer
L650[13:51:10] <zacstewart> So, yes, I think what you're doing is something I need to look into. Not sure why JM doens't know the world has changed after portaling to another shard, but othwerwise it does what I want
L651[13:51:13] <techbrew> Specifically, the multi world support section
L652[13:51:46] <zacstewart> Reading
L653[13:52:46] <zacstewart> I see. So it's not even your client being clever, it's that the server actually has a mod cueing it into shards
L654[13:53:23] <zacstewart> Well, I was planning to integrate the JM API for adding waypoints for shops. Would I have access to this world ID API?
L655[13:53:44] <techbrew> I can certainly add that
L656[13:54:54] <techbrew> Also I'll ask Mysticdrew to see if he can suss out why civcraft.co doesn't trigger a new world Id event in the client when you go between shards
L657[13:55:55] <zacstewart> Awesome. Is there any kind of release or issue tracker I can be watching for when you add that API?
L658[13:59:48] <zacstewart> also, is this world change event something I can just @SubscribeEvent to on the MinecraftForge.EVENT_BUS?
L659[14:03:30] ⇨ Joins: Ipsis (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk)
L660[14:05:19] ⇦ Quits: Dimitriye98 (~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net) (Read error: Connection reset by peer)
L661[14:05:22] ⇨ Joins: Dimitriye98 (~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net)
L662[14:10:11] ⇦ Quits: Dimitriye98 (~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net) (Remote host closed the connection)
L663[14:11:34] ⇨ Joins: Dimitriye98 (~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net)
L664[14:11:38] <techbrew> zacstewart: hop over on #journeymap so we don't spam people here with stuff they don't care about :)
L665[14:13:21] ⇨ Joins: P3pp3rF1y (~P3pp3rF1y@minehost.io)
L666[14:13:43] ⇨ Joins: Lylac (~Tamtam18_@c-73-96-85-25.hsd1.or.comcast.net)
L667[14:15:38] ⇦ Quits: Cooler (~CoolerExt@117.248.11.164) (Ping timeout: 206 seconds)
L668[14:17:02] ⇨ Joins: illy (~LordIllyo@2602:304:cf32:f980:d7b4:c6fb:fb09:5c82)
L669[14:19:39] ⇦ Quits: Nepharius (~Nepharius@host-091-097-163-162.ewe-ip-backbone.de) (Quit: Leaving)
L670[14:20:51] ⇦ Quits: Dimitriye98 (~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net) (Ping timeout: 186 seconds)
L671[14:23:08] ⇨ Joins: Tamtam (~Tamtam18_@c-73-96-85-25.hsd1.or.comcast.net)
L672[14:23:53] ⇦ Quits: zabi94 (~zabi94@93.37.140.130) (Read error: Connection reset by peer)
L673[14:24:38] ⇦ Quits: glasspelican (~quassel@stanley.glasspelican.ca) (Remote host closed the connection)
L674[14:25:39] ⇦ Quits: Lylac (~Tamtam18_@c-73-96-85-25.hsd1.or.comcast.net) (Ping timeout: 186 seconds)
L675[14:26:27] ⇦ Quits: Tamtam (~Tamtam18_@c-73-96-85-25.hsd1.or.comcast.net) (Client Quit)
L676[14:28:28] *** sokratis12gr is now known as sokratis12gr|githubing
L677[14:28:32] ⇦ Quits: Ipsis (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk) (Ping timeout: 384 seconds)
L678[14:28:32] ⇦ Quits: Samario (~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net) (Ping timeout: 384 seconds)
L679[14:28:43] ⇦ Parts: sokratis12gr|githubing (~sokratis1@moritz30.de) ())
L680[14:29:38] ⇨ Joins: glasspelican (~quassel@stanley.glasspelican.ca)
L681[14:36:28] ⇦ Quits: bilde2910 (bilde2910@51.174.170.178) (Ping timeout: 384 seconds)
L682[14:38:03] ⇨ Joins: Samario (~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net)
L683[14:38:25] ⇨ Joins: bilde2910 (bilde2910@51.174.170.178)
L684[14:42:24] *** PaleoCrafter is now known as PaleOff
L685[14:43:15] ⇦ Quits: zacstewart (~zacstewar@c-98-192-38-139.hsd1.ga.comcast.net) (Ping timeout: 186 seconds)
L686[14:50:08] ⇦ Quits: McJty (~jorrit@94-225-203-206.access.telenet.be) (Quit: Leaving)
L687[14:51:43] ⇨ Joins: Dimitriye98 (~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net)
L688[14:52:06] ⇦ Quits: Dimitriye98 (~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net) (Read error: Connection reset by peer)
L689[14:52:29] ⇨ Joins: Dimitriye98 (~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net)
L690[14:54:35] ⇨ Joins: zabi94 (~zabi94@93.37.140.130)
L691[14:54:51] ⇦ Quits: primetoxinz (~primetoxi@ip68-107-226-229.hr.hr.cox.net) (Quit: Leaving)
L692[14:56:35] ⇦ Quits: Dimitriye98 (~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net) (Ping timeout: 186 seconds)
L693[14:58:18] ⇦ Quits: Nitrodev (~Nitrodev@85-23-77-207.bb.dnainternet.fi) (Read error: Connection reset by peer)
L694[15:05:14] ⇨ Joins: Gil (uid147942@2604:8300:100:200b:6667:5:2:41e6)
L695[15:08:26] <p455w0rd> So if I do gradlew setupDecompWorkspace using FG 2.2, then use FG 2.2, it hangs @ :retroMapReplacedMain...however if I setupDecompWorkspace with FG 2.2, and build with FG 2.1, it works...any clue why?
L696[15:08:45] <p455w0rd> then use FG 2.2 to build*
L697[15:10:28] ⇦ Quits: Javaschreiber (~Thunderbi@p200300D2F3C0B40099DA560A8B66D671.dip0.t-ipconnect.de) (Ping timeout: 384 seconds)
L698[15:16:19] ⇦ Quits: candybar (~foo@adsl-074-181-053-011.sip.sav.bellsouth.net) (Ping timeout: 186 seconds)
L699[15:17:47] ⇨ Joins: ThePsionic (~ThePsioni@ip5457f909.direct-adsl.nl)
L700[15:19:17] *** olee is now known as olee|afk
L701[15:20:16] <zabi94> p455w0rd i had the same problem, make sure your path var contains a java8 jdk directory, and set the project compatibility to java8
L702[15:25:52] *** olee|afk is now known as olee
L703[15:29:25] ⇨ Joins: founderio (~Thunderbi@p200300C4E3C164001F65E75F74E8E63F.dip0.t-ipconnect.de)
L704[15:31:07] ⇨ Joins: candybar (~foo@adsl-074-181-053-011.sip.sav.bellsouth.net)
L705[15:34:02] ⇨ Joins: Subaraki (~Artix@mf763-h01-176-150-102-154.dsl.sta.abo.bbox.fr)
L706[15:39:58] ⇦ Quits: Woodstone (~quassel@2a03:b0c0:2:d0::2c8:d001) (*.net *.split)
L707[15:40:26] ⇨ Joins: heretyui (~IceChat9@131.159.150.77.rev.sfr.net)
L708[15:40:29] <heretyui> Hello !
L709[15:40:44] <heretyui> I wanted to have a small chat about using AccessTransformers
L710[15:41:02] <heretyui> I basically tried since the past hour to register one but I'm struggling like hell
L711[15:41:39] <heretyui> My _at.cfg is correctly read, but my getASMTransformerClass() is never executed when I start the client
L712[15:41:52] <heretyui> (It's in a class implementing IFMLLoadingPlugin)
L713[15:41:55] <LexManos> Shouldnt be an issue either way and you only need J8 as your JDK if you use J8
L714[15:42:07] *** heretyui was kicked by LexManos (DO NOT WRITE COREMODS))
L715[15:42:18] ⇨ Joins: heretyui (~IceChat9@131.159.150.77.rev.sfr.net)
L716[15:42:23] <Ordinastie_> pretty he doesn't want a coremod, just the AT
L717[15:42:36] <LexManos> true, but hes moving to the coremod route
L718[15:42:41] <heretyui> Hello again ok so how do I hook the loottable reading without AT ><
L719[15:43:00] <LexManos> Define what you want to do
L720[15:43:31] ⇦ Quits: Techno (~quassel@cpe-72-230-173-5.rochester.res.rr.com) (Remote host closed the connection)
L721[15:43:43] <heretyui> The method that generate loots based on lootTable have a rand attribute, that I want to alter based on another argument (the context)
L722[15:43:51] <heretyui> So it basically is one line to inject a computation
L723[15:43:58] ⇨ Joins: Techno (~quassel@cpe-72-230-173-5.rochester.res.rr.com)
L724[15:43:59] <LexManos> reflection
L725[15:43:59] <heretyui> But if thzre's a betterway
L726[15:44:01] <heretyui> I'm in
L727[15:44:07] <LexManos> but beyond that, you shouldnt need to edit it
L728[15:44:11] <LexManos> its a RNG
L729[15:44:19] <heretyui> It's an argument not an attribute, I can't reflection on it right ?
L730[15:44:32] <LexManos> What method are you referring to?
L731[15:44:49] <heretyui> net.minecraft.world.storage.loot.LootPool#createLootRoll
L732[15:44:59] <heretyui> and generateLoot
L733[15:45:23] <heretyui> I want to do something like /
L734[15:45:55] <heretyui> rand *= context.player.getDistanceFrom(0,0,0)
L735[15:45:56] <LexManos> You pass in random to that function when you call it, you can pass in whatever you want
L736[15:46:05] <LexManos> why?
L737[15:46:10] <heretyui> No but I don't call it
L738[15:46:12] <LexManos> What do you expect that to do?
L739[15:46:23] <heretyui> Change the loots based on distance from the center
L740[15:47:03] <LexManos> explain better.... what loot, and rand isnt a int its a random number generator, it will generate random numbers
L741[15:47:46] <heretyui> (Yeah sorry that was just a gross pseudo-code) I want to change any loot (chest/monster/whatever) to generate based on the distance of the inventory from the center point
L742[15:48:11] <LexManos> thats exactly how it works right now
L743[15:48:29] <LexManos> the Random is seeded with the tile entities position
L744[15:48:46] <heretyui> Yeah but I'm changing the balance because I'm bufffing the mobs
L745[15:49:01] <gigaherz_x> wait you want to have better loot the further away you are from the spawn point?
L746[15:49:03] <LexManos> you're not explaining yourself.
L747[15:49:07] <zabi94> I guess he means that the further away from 0,0 the better loot
L748[15:49:08] <heretyui> Yes Gigabit101
L749[15:49:13] <LexManos> the RNG wont do 'better loot'
L750[15:49:13] <heretyui> Exactly
L751[15:49:16] <gigaherz_x> wrong g-tab
L752[15:49:16] <gigaherz_x> ;P
L753[15:49:17] <LexManos> its 'different loot'
L754[15:49:32] <LexManos> you'd need different loot tables for different loot
L755[15:49:56] <gigaherz_x> yeh I suggest you define loot tiers, and switch the tiers based on distance
L756[15:50:00] <heretyui> OK sorry for not being clear enough I'm gonna try to recapitulate everything
L757[15:50:09] *** gigaherz_x is now known as gigaherz
L758[15:50:44] <LexManos> entities have a central getLootTable function which you can use to swap the tables out based on distance
L759[15:50:51] <LexManos> THAT is how you do it, and thats non-hacky
L760[15:51:10] <heretyui> So basically I have a mod that empower the mobs based on the distance from 0,0. The more you travel, the stronger the mobs get. For now, the reward is, the "more" loots you'll get (AKA clooning the drops with the EntityDrop event)
L761[15:51:52] <heretyui> What I need to do, is somehting that use the LootTable to drop "more" based on what have supposely not being dropped yet (and therefore not catched by the event drop list)
L762[15:52:00] <LexManos> ya.. you should just change the loot table to something else
L763[15:52:14] <heretyui> And using this hook, it will affect dungeon chest (so, one stone two birds)
L764[15:52:35] <heretyui> And eventually any mod using lootTable
L765[15:53:22] *** PaleOff is now known as PaleoCrafter
L766[15:53:30] <LexManos> ya thats not good, for a few reasons least of not being it breaks others balance and changes world gen. But point is for your entites its easy, just tell it to use a different table
L767[15:53:39] ⇦ Quits: candybar (~foo@adsl-074-181-053-011.sip.sav.bellsouth.net) (Ping timeout: 186 seconds)
L768[15:53:39] <heretyui> I'm not sure I understand ? If they have a "getLootTable" does it means I can overwrite the methods ?
L769[15:53:53] <LexManos> yes
L770[15:53:58] <LexManos> thats basic java
L771[15:54:05] <heretyui> uhm
L772[15:54:11] <gigaherz> on your own entities ;P
L773[15:54:27] <heretyui> Yeah right gigaherz I'm not crazy
L774[15:54:33] <heretyui> Only inheritance can get me that
L775[15:54:41] <heretyui> Therefore writting my own entities
L776[15:54:47] <LexManos> yes
L777[15:54:52] <heretyui> I'm not adding anything to the game it's just a balancing mod
L778[15:55:02] <LexManos> there are also the related methods and fields which let you control other's entities
L779[15:55:56] <gigaherz> heretyui: then you may want to do it from EntityJoinWorldEvent, change the assigned loot table
L780[15:56:22] <gigaherz> then it will be assigned based on the spawn position, rather than the one at the moment of death
L781[15:56:23] <heretyui> That looks reasonnable to me, do I need to do a separated code for chests ?
L782[15:56:41] <gigaherz> yep, but no idea how chest loot works
L783[15:57:02] <heretyui> Can I edit the LootTable, or do I need to manually create a new lootTable in a file with a random name and swap it ?
L784[15:57:30] <gigaherz> well ideally you'd have them by name
L785[15:57:32] <zabi94> just change the loot table when the world generates a chest
L786[15:57:36] <gigaherz> so they can be replaced by users
L787[15:58:03] <heretyui> But considering I'm not changing the loot at all, just the quantity
L788[15:58:07] <heretyui> User is still empowered
L789[15:58:10] <gigaherz> but really, I don't know much about loot tables
L790[15:58:13] <heretyui> With the choice
L791[15:58:26] <gigaherz> well
L792[15:58:40] <gigaherz> if it really is just a multiplier on the quantity
L793[15:58:51] <heretyui> yes it is
L794[15:58:58] ⇦ Quits: P3pp3rF1y (~P3pp3rF1y@minehost.io) (Quit: Bye)
L795[15:59:01] <gigaherz> then why not just modify the drops are you were already doing?
L796[15:59:10] <gigaherz> as*
L797[15:59:10] <heretyui> Two reasons :
L798[15:59:36] ⇨ Joins: P3pp3rF1y (~P3pp3rF1y@minehost.io)
L799[15:59:38] <gigaherz> you could just store the spawn position in the spawn event, and store it in an entity capability
L800[16:00:11] <heretyui> 1 - for example, if the Zombie normally drops flesh and iron, I want to increase both drops, but if I multiply the iron x2 because I'm far away, the probability to get iron remains inchanged (because 0x2 = 0)
L801[16:00:34] <heretyui> 2 - It doesn't affect anything else than mobs (Chests is my main concern other than mobs)
L802[16:00:58] <PaleoCrafter> 0x2 is 2, isn't it
L803[16:01:07] <PaleoCrafter> Hurr durr
L804[16:01:09] <heretyui> Not in Hex
L805[16:01:10] <heretyui> xD
L806[16:01:19] <gigaherz> but, that won't change even if you multiply it in the loot table?
L807[16:01:29] <zabi94> 1) create a LootTableOverride.class
L808[16:01:42] <heretyui> That was what I was concerned with gigaherz
L809[16:02:14] <zabi94> with constructor LootTableOverride(LootTable original). the class extends LootTable obvs
L810[16:02:16] <LexManos> create a new loot table
L811[16:02:20] <LexManos> with more rolls
L812[16:02:21] <LexManos> OR
L813[16:02:22] <heretyui> But if I hook the Loot generation, to increase the RNG threshlod, the game will take care of increasing Iron prob by it self (Because it will try harder)
L814[16:02:34] <LexManos> just tell the entitty to drop its loot multiple times on death
L815[16:02:41] <LexManos> and it'll run the loot table multiple times
L816[16:02:59] <LexManos> this isnt a hard thing you just need to try it out and look at the code. No reflection or asm hacks needed
L817[16:03:14] <LexManos> there is no RNG threeashold
L818[16:03:50] <heretyui> There is a thershold, that tell the game how many time to roll for the lootgeneration called rand in the method in LootPool
L819[16:03:54] <heretyui> right ?
L820[16:03:56] <heretyui> I'm keen for the new loot table
L821[16:03:58] <LexManos> nope
L822[16:04:10] ⇦ Quits: Hunterz (~hunterz@62.182.234.189) (Remote host closed the connection)
L823[16:04:11] <heretyui> As long as I can create it on the fly (not using a file)
L824[16:04:19] <LexManos> rand is just a RANDOM NUMBER GENERATOR it has no 'threashold' or anything like that.
L825[16:04:29] <LexManos> https://docs.oracle.com/javase/7/docs/api/java/util/Random.html
L826[16:04:31] <zabi94> 2) override the fillInventory(IInventory inventory, Random rand, LootContext context), by calling the super method multiple times for instance (or do something a bit better and more clever)
L827[16:05:23] <heretyui> Oh yeah gotcha LexManos
L828[16:05:29] *** heretyui was kicked by LexManos (heretyui))
L829[16:05:49] ⇨ Joins: heretyui (~IceChat9@131.159.150.77.rev.sfr.net)
L830[16:06:18] <zabi94> 3) when chests and mobs spawn, replace lootTableOld with an instance of yours by passing lootTableOld to the new constructor
L831[16:06:29] <zabi94> just reflection
L832[16:06:32] <zabi94> or AT
L833[16:06:58] <gigaherz> heretyui: you were already told, even talking about creating coremods is not allowed in this channel
L834[16:07:01] <gigaherz> ;P
L835[16:07:27] <heretyui> I was saying this as an implicit way to say "I'm not doing it" of course
L836[16:07:40] <gigaherz> even talking about them is discouraged because it means new people learn about their existance ;P
L837[16:07:40] <PaleoCrafter> I think the trigger was pinging Lex :P
L838[16:07:57] <gigaherz> that too
L839[16:08:02] <gigaherz> I didn't notice the pinging
L840[16:08:23] <heretyui> uhm so... - event onentityjoin (or woldgen for chest) - destroy the entity and create a new entity with a multiplier set on the lootTable - let the magic happen
L841[16:08:25] <heretyui> Sounds right ?
L842[16:08:31] <zabi94> no
L843[16:08:31] ⇨ Joins: candybar (~foo@adsl-074-181-053-011.sip.sav.bellsouth.net)
L844[16:08:37] <zabi94> don't destroy the entity
L845[16:08:41] <gigaherz> no need to destroy
L846[16:08:42] * LexManos facepalsm
L847[16:08:45] <LexManos> seriously
L848[16:08:51] <LexManos> do you want us to writ the mod for you?
L849[16:08:51] <zabi94> just replace the lootTable with yours
L850[16:09:02] <gigaherz> the game already has ways to replace the loot table for an entity, that's how commandblocks can do it
L851[16:09:04] <heretyui> but if the lootTable is in the constructor do I have a choice ? Or is the table public ?
L852[16:09:10] <heretyui> Ok ok sorry
L853[16:09:11] <LexManos> we've explained how to do it in all but giving you code.
L854[16:09:12] <LatvianModder> lol destroy.. that would create a loop of events and kill mC
L855[16:09:14] ⇦ Quits: founderio (~Thunderbi@p200300C4E3C164001F65E75F74E8E63F.dip0.t-ipconnect.de) (Quit: founderio)
L856[16:09:35] <gigaherz> hmm although only the minecarts have a setLootTable hmm XD
L857[16:09:50] <heretyui> Sorry I just assumed I need to do it, because I saw "constructor" being mentionned
L858[16:10:03] <heretyui> But it's obviously not necessary in this case
L859[16:10:09] <gigaherz> heretyui: anywhere where accessing a provate thing is needed
L860[16:10:18] <heretyui> Ok right trying it now, thanks a lot
L861[16:10:28] <gigaherz> if it's not called too often, you have refletion
L862[16:10:33] <gigaherz> if it's called too often to use reflection
L863[16:10:36] <gigaherz> thne you are doing it wrong regardless
L864[16:10:56] <zabi94> that's what AT are for :)
L865[16:11:10] <gigaherz> ATs turn your mod into a coremod, even if you aren't ASMing
L866[16:11:14] <gigaherz> best avoided ;P
L867[16:11:28] *** zabi94 was kicked by MineBot (Banned: (15) You're not helping))
L868[16:11:44] <PaleoCrafter> Noice
L869[16:12:09] <PaleoCrafter> Also, method handles
L870[16:12:17] <LexManos> ats dont nessasarily turn you into a coremod, as Forge' controlls everyhting to make sure you dont do somethign stupid
L871[16:12:19] <LexManos> but SERIOUSLY
L872[16:12:24] <LexManos> ITS ONE FUCKING FIELD IN THE ENTITY
L873[16:12:28] <LexManos> DEATH LOOT TABLE
L874[16:12:30] <LexManos> set it and DONE
L875[16:12:44] <LexManos> no 'constructors' no replacing entities, no nothing.
L876[16:12:50] <gigaherz> PaleoCrafter: well in this case, a MH would be pointless, since it would be used once per entity
L877[16:12:54] <LexManos> Just a Loot table that runs another loot table multiple times
L878[16:13:17] <gigaherz> just keeping a Field object around for later
L879[16:13:19] <PaleoCrafter> gigaherz, wat?
L880[16:13:33] <gigaherz> MHs are bound to one object instance, aren't they?
L881[16:13:56] <Ordinastie_> didn't you already ask that question not so long ago ?
L882[16:13:57] <PaleoCrafter> You can bind them, but that isn't permanent
L883[16:14:04] <LexManos> Method Handles are not a valid option as we're on java 6
L884[16:14:42] <PaleoCrafter> "Binding" just removes the need to provide the instance as first parameter to invoke
L885[16:19:07] <gigaherz> then I understood them completely wrong
L886[16:19:15] <gigaherz> my impression was that a MH was only usable AFTER binding it to something
L887[16:20:13] <PaleoCrafter> Nah, that wouldn't make any sense with regards to their implementation :P
L888[16:20:24] <heretyui> ok so, I really don't want to look like I'm not even trying but, even thought I was able to find the methods "setLootTable", it's a tile's method, not available on EntityLivingBase, am I doing something wrong ?
L889[16:22:30] <LexManos> yes you are, try again
L890[16:22:31] ⇦ Quits: Samario (~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net) (Quit: You think you are above consequences.)
L891[16:23:21] ⇦ Quits: justJanne (~justJanne@kuschku.de) (Remote host closed the connection)
L892[16:23:39] ⇨ Joins: justJanne (~justJanne@kuschku.de)
L893[16:24:21] ⇦ Quits: bilde2910 (bilde2910@51.174.170.178) (Ping timeout: 195 seconds)
L894[16:24:42] ⇦ Quits: Jezza (~Jezza@92.206.33.136) (Ping timeout: 384 seconds)
L895[16:26:06] ⇨ Joins: bilde2910 (bilde2910@51.174.170.178)
L896[16:26:28] *** MineBot sets mode: -b *!*@93.37.140.130
L897[16:27:11] ⇨ Joins: zabi94 (~zabi94@93.37.140.130)
L898[16:29:14] ⇦ Quits: candybar (~foo@adsl-074-181-053-011.sip.sav.bellsouth.net) (Ping timeout: 384 seconds)
L899[16:32:01] ⇦ Quits: MalkContent (~MalkConte@p4FDCF9DD.dip0.t-ipconnect.de) (Quit: Leaving)
L900[16:36:06] ⇨ Joins: Neon (~Neon@p200300750D42A0009C2424B07D092053.dip0.t-ipconnect.de)
L901[16:36:28] <PaleoCrafter> What about that logo competition btw, Lex? If you need the post again, I can search for the link, it's saved to my pastebin account
L902[16:38:11] ⇦ Parts: zabi94 (~zabi94@93.37.140.130) ())
L903[16:38:48] ⇨ Joins: zabi94 (~zabi94@93.37.140.130)
L904[16:39:26] ⇨ Joins: candybar (~foo@adsl-074-181-053-011.sip.sav.bellsouth.net)
L905[16:39:48] *** amadornes[Streaming] is now known as amadornes
L906[16:39:48] <heretyui> I'm injecting new nbt via readEntityFromNBT, to ovewrite DeathLootTable and I need now to create a dummy lootTable that clone (and edit) the old lootTable of the mob and remove the table uppon death
L907[16:40:11] <heretyui> create a dummy lootTable that clone (and edit) the old lootTable of the mob and remove the table uppon death
L908[16:40:34] <heretyui> But I'll have a problem if the mob doesn't die ? (Like if it despawn, no ? )
L909[16:44:12] *** Darkhax is now known as Darkhax_AFK
L910[16:46:25] <howtonotwin> can you not set deathLootTable directly?
L911[16:46:48] <heretyui> It's private howtonotwin (and I'm editting vanilla mobs)
L912[16:46:56] <howtonotwin> reflection or an AT
L913[16:47:36] <heretyui> Isn't reflection a bit heavy for something triggered at every mob spawn ?
L914[16:47:36] ⇦ Quits: ThePsionic (~ThePsioni@ip5457f909.direct-adsl.nl) (Quit: Leaving)
L915[16:47:46] <howtonotwin> no
L916[16:47:50] <Ordinastie_> not if you do it right
L917[16:47:59] <heretyui> I see
L918[16:48:37] <Corosus> just save a reference to the field instead of fetching it every time, thats the performance heavy part afaik
L919[16:49:13] <heretyui> So in this casr I can directly pass in a "Ressource" instead of a "Ressource Location" which means I don't have to allocate the LootTable itself in the ressource manager
L920[16:49:18] <heretyui> Okay thanks you !
L921[16:54:54] ⇦ Quits: zabi94 (~zabi94@93.37.140.130) (Read error: Connection reset by peer)
L922[16:59:27] <Neon> Any idea where I can find the code that makes slimes despawn after a while or instantly depending on whether a player is near?
L923[17:02:02] <Neon> !help
L924[17:03:32] <Corosus> EntityLiving.despawnEntity() does despawning for all living ents
L925[17:04:12] *** Darkhax_AFK is now known as Darkhax
L926[17:05:01] ⇨ Joins: zabi94 (~androirc@93.37.140.130)
L927[17:10:09] ⇦ Quits: Noppes (~Noppes@ip56530f2e.direct-adsl.nl) (Read error: Connection reset by peer)
L928[17:11:00] *** amadornes is now known as amadornes[OFF]
L929[17:14:34] <Neon> Still can't find it. Must something special for slimes. The wiki states: Slimes will not spawn within 24 blocks (spherical) of any player, and will despawn over time if no player is within 32 blocks and instantly if no player is within 128 blocks.
L930[17:17:26] <howtonotwin> that applies to all mobs
L931[17:18:16] <Corosus> yeah for actual spawning check out WorldEntitySpawner
L932[17:18:17] <Neon> Really? But that's new, isn't it?
L933[17:18:20] <Corosus> prevents close to player spawns
L934[17:18:33] <Corosus> its been like this for a long time
L935[17:18:48] <Neon> Since 1.8?!
L936[17:18:58] <Corosus> and the despawn things you mentioned are in the other method i linked
L937[17:19:28] <PaleoCrafter> 1.8 is almost 2 years old :P
L938[17:19:47] <Neon> Yeah, but it's pretty new relative to development speed.
L939[17:19:56] <PaleoCrafter> That's almost 2/3 of
L940[17:20:19] <PaleoCrafter> Eh, 1/3 of Minecraft's lifetime :P
L941[17:20:28] <heretyui> Will I have a problem if I manually edit LootTableManager inside WorldObj using reflection on each spawn ?
L942[17:20:58] <heretyui> (to add a new table without loading a file)
L943[17:20:59] <howtonotwin> <C-A-h> despawn entity: called by updateEntityActionState called by onLivingUpdate called by onUpdate called by World::updateEntities
L944[17:21:27] <howtonotwin> aka show call hierarchy
L945[17:22:28] <Corosus> the general way it despawns has been around for a long ass time before 1.8
L946[17:22:35] <Corosus> they just added persistant entities at some point
L947[17:22:50] <howtonotwin> It's in 1.6 at least
L948[17:22:52] <howtonotwin> !!gm despawnEntity 1.6.4
L949[17:22:53] <MCPBot_Reborn> === MC 1.6.4: net/minecraft/src/EntityLiving.despawnEntity (of.bo) UNLOCKED ===
L950[17:22:53] <MCPBot_Reborn> Name : bo => func_70623_bb => despawnEntity
L951[17:22:54] <MCPBot_Reborn> Descriptor : ()V
L952[17:22:55] <MCPBot_Reborn> AT : public net.minecraft.src.EntityLiving func_70623_bb()V # despawnEntity
L953[17:22:55] <Corosus> also made animals not despawn
L954[17:22:55] <MCPBot_Reborn> Comment : Makes the entity despawn if requirements are reached
L955[17:22:56] <MCPBot_Reborn> Last Change: 2013-07-07 11:58:24-04:00 (_bot_update_)
L956[17:24:01] <Corosus> heretyui, i think you could just get away with setting EntityLiving.deathLootTable on spawn with your custom one, as its only set if null on mobs death
L957[17:24:07] <PaleoCrafter> The method's existence doesn't indicate the implementation was the same, howtonotwin :P
L958[17:24:34] <howtonotwin> but the fact that it
L959[17:24:50] <howtonotwin> 's called despawnEntity implies that mob despawns have been around for a while :P
L960[17:24:57] <howtonotwin> damn keyboard >.<
L961[17:25:14] <PaleoCrafter> Well, of course :P
L962[17:25:32] <PaleoCrafter> But this was more about the requirements for the despawning
L963[17:25:45] <Corosus> yeah should more be named 'tryToDespawn'
L964[17:26:08] <Corosus> if you blindly trust method names created by the community, youre gonna have a bad time
L965[17:26:36] ⇦ Quits: zabi94 (~androirc@93.37.140.130) (Quit: AndroIRC - Android IRC Client ( http://www.androirc.com ))
L966[17:30:38] <Neon> I was just wondering why slime farming doesn't work anymore. Back then I built a tower with a friend 2 by 2 chunks in the sea next to our house and there were more slimes than air each time we visited it.
L967[17:31:06] <Neon> Now I'm running around swamps for hours and nothing. Feels like a grindy game.
L968[17:32:07] ⇦ Quits: Hgrebnednav (~Hgrebnedn@d8d872a6e.access.telenet.be) (Ping timeout: 384 seconds)
L969[17:32:18] <Neon> And that when slime balls are some of the top notch items.
L970[17:32:23] <Corosus> hrm
L971[17:32:36] <Corosus> these days i always found them underground but not above
L972[17:33:02] <Neon> Yeah, we also found one underground.
L973[17:33:27] <Corosus> 'this.posY > 50.0D && this.posY < 70.0D' maybe thats why tower doesnt work anymore
L974[17:33:35] <Neon> Then we dug some cellars for them and nothing spawns, probably because they're not in the 32 blocks range, thus despawn so fast they can't gather up.
L975[17:33:52] <Neon> No that's the swamp part. The underground part is the other if.
L976[17:33:53] <Corosus> hrm even moon phase is factored into slime spawning
L977[17:34:14] <Neon> Underground part just checks for slime chunk and < 40Y.
L978[17:34:15] <howtonotwin> moon phase is part of all hostile spawning iirc
L979[17:34:21] <Corosus> ah true
L980[17:34:34] <Neon> Probably for slimes it's most important.
L981[17:35:46] <Neon> Now it all makes sense. The slimes probably hadn't the auto-despawn timer, whereas the other mobs had already. That's why they gathered so well.
L982[17:35:57] <Neon> Back then I mean.
L983[17:36:16] <howtonotwin> ah no
L984[17:36:29] <howtonotwin> moon phase affects slime spawns in a swamp
L985[17:36:30] <Neon> In the good old times. When you needed to run around for hours to find 10 clay blocks.
L986[17:37:15] <howtonotwin> and it changes the buffs on other mobs
L987[17:37:32] <Neon> Yeah, the slime chunk spawning is unaffected by the moon phase, but since they added the 32 block limit slime chunks are probably rather useless.
L988[17:39:01] <Neon> I mean, they will not spawn within 24 blocks of the player, but will despawn after time if a player is not within 32 blocks. So if you're in a slime chunk, which is only 16 by 16, a slime can only spawn above or below you (or in another slime chunk next to it, if you're lucky).
L989[17:39:39] ⇨ Joins: Xilef11 (~xilef11@209.195.101.19)
L990[17:40:37] ⇦ Quits: heretyui (~IceChat9@131.159.150.77.rev.sfr.net) (Quit: REALITY.SYS Corrupted: Re-boot universe? (Y/N/Q))
L991[17:41:03] ⇦ Quits: codahq (~codahq@c-73-65-219-228.hsd1.ut.comcast.net) (Ping timeout: 206 seconds)
L992[17:41:17] ⇦ Quits: bilde2910 (bilde2910@51.174.170.178) (Ping timeout: 202 seconds)
L993[17:41:56] <Xilef11> I'm trying to make an item that can be worn as both a Baubles amulet and in the chestplate slot (without taking damage or adding protection). does this look ok?
L994[17:41:57] <Xilef11> https://gist.github.com/Xilef11/5e7e670a69987b40f9dc337527cdac4f
L995[17:42:42] ⇦ Quits: Neon (~Neon@p200300750D42A0009C2424B07D092053.dip0.t-ipconnect.de) (Quit: Leaving)
L996[17:42:44] <ShadwDrgn> couldn't you just test it? those seem like super easy things to test
L997[17:43:44] ⇨ Joins: bilde2910 (bilde2910@51.174.170.178)
L998[17:45:01] <Xilef11> forgot to add the crash log...
L999[17:45:43] <Xilef11> Just added it on the same link
L1000[17:49:32] <howtonotwin> that would be a problem with your ArmorMaterial it seems
L1001[17:51:36] <howtonotwin> it's trying to access the array of damage reductions and is AIOoBE-ing
L1002[17:51:57] <howtonotwin> did you set that array properly?
L1003[17:53:33] <Xilef11> oh... missed the commas between the 0s :/
L1004[17:53:53] <howtonotwin> new int[4] is less error-prone
L1005[17:54:05] <howtonotwin> arrays are automatically filled with the default value
L1006[17:54:08] <howtonotwin> here 0
L1007[17:58:27] ⇦ Quits: CoderPuppy (~cpup@32.218.115.150) (Ping timeout: 186 seconds)
L1008[18:04:00] ⇨ Joins: cpup (~cpup@32.218.118.111)
L1009[18:07:22] ⇦ Quits: KGS (~KGS@h-155-4-129-249.na.cust.bahnhof.se) (Ping timeout: 198 seconds)
L1010[18:08:21] ⇦ Quits: TechnicianLP (~Technic@p4FE56F5C.dip0.t-ipconnect.de) (Ping timeout: 202 seconds)
L1011[18:12:57] <droidicus> PaleoCrafter, you around?
L1012[18:13:11] <PaleoCrafter> Sorta
L1013[18:13:47] <droidicus> ok, question for you, no problem if you don't have time at the moment
L1014[18:14:16] <droidicus> when I make a universal bucket with a crafting recipe the NBT tag data is different then when I cheat in one with JEI
L1015[18:14:27] ⇦ Quits: cpup (~cpup@32.218.118.111) (Ping timeout: 186 seconds)
L1016[18:15:01] <droidicus> the JEI cheated version has an extra tag "ForgeCaps" -> "{}"
L1017[18:15:08] <droidicus> am I doing something wrong?
L1018[18:16:19] <PaleoCrafter> I'm not sure, but I think the cap tag is created on demand
L1019[18:16:33] <PaleoCrafter> So nothing to worry about
L1020[18:17:07] <droidicus> hmm, I need to re-write the custom IRecipe to ignore it then
L1021[18:17:27] ⇦ Quits: Xilef11 (~xilef11@209.195.101.19) (Quit: Leaving)
L1022[18:17:38] <droidicus> since ItemStack.areItemStackTagsEqual(required, present) is returning false
L1023[18:17:46] <droidicus> oh well, thanks!
L1024[18:20:10] ⇨ Joins: cpup (~cpup@32.218.118.151)
L1025[18:20:11] ⇨ Joins: Kodos (~Kodos@2602:306:ce20:6c30:c538:d4a6:3fae:bd87)
L1026[18:20:42] <LexManos> ForgeCaps should only exist if there are caps
L1027[18:21:30] <PaleoCrafter> Might be worth pinging mezz then, maybe JEI is doing something wrong
L1028[18:30:50] ⇦ Quits: Tahg (~Tahg@pool-72-74-136-63.bstnma.fios.verizon.net) (Ping timeout: 206 seconds)
L1029[18:31:37] ⇦ Quits: Gigabit101 (~Gigabit10@cpc76690-cosh16-2-0-cust331.6-1.cable.virginm.net) (Ping timeout: 384 seconds)
L1030[18:32:31] ⇨ Joins: Gigabit101 (~Gigabit10@cpc76690-cosh16-2-0-cust331.6-1.cable.virginm.net)
L1031[18:33:07] ⇦ Quits: Nentify (uid14943@2604:8300:100:200b:6667:1:0:3a5f) (Quit: Connection closed for inactivity)
L1032[18:33:41] ⇨ Joins: CoderPuppy (~cpup@32.218.118.202)
L1033[18:35:27] ⇨ Joins: Tahg (~Tahg@pool-72-74-136-63.bstnma.fios.verizon.net)
L1034[18:35:27] MineBot sets mode: +v on Tahg
L1035[18:35:40] ⇦ Quits: cpup (~cpup@32.218.118.151) (Ping timeout: 206 seconds)
L1036[18:37:43] ⇨ Joins: Vaht (~Tahg@pool-72-74-136-63.bstnma.fios.verizon.net)
L1037[18:37:43] MineBot sets mode: +v on Vaht
L1038[18:38:37] *** PaleoCrafter is now known as PaleOff
L1039[18:40:03] ⇦ Quits: Tahg (~Tahg@pool-72-74-136-63.bstnma.fios.verizon.net) (Ping timeout: 186 seconds)
L1040[18:44:12] <illy> Lex, just finished the Jenkins portion of the PR bot and it should be ready for you
L1041[18:51:21] ⇨ Joins: cpup (~cpup@32.218.118.227)
L1042[18:53:09] ⇦ Quits: CoderPuppy (~cpup@32.218.118.202) (Ping timeout: 202 seconds)
L1043[18:55:19] *** MrKickkiller is now known as MrKick|Away
L1044[18:58:56] <droidicus> mezz, I just verified that the JEI cheated item has the tag tag "ForgeCaps" -> "{}", and the creative mode cheated item does not, so the two different methods of getting an item do not result in the same NBT data
L1045[19:07:47] ⇦ Quits: cpup (~cpup@32.218.118.227) (Ping timeout: 186 seconds)
L1046[19:08:14] <LexManos> As I said
L1047[19:08:26] <LexManos> the NBT for caps is only added if there is a cap that needs to be serialized
L1048[19:08:29] <LexManos> it should never be empty
L1049[19:08:33] <LexManos> not sure what the hell JEI is doing
L1050[19:09:05] <LexManos> either way you could explicitly ignore that data in your recipe or better yet, explititly only use the data in which you need in the recipe and ignore the rest of the NBT
L1051[19:13:34] ⇨ Joins: cpup (~cpup@32.218.119.0)
L1052[19:14:36] <droidicus> got it, thanks
L1053[19:28:03] ⇦ Quits: cpup (~cpup@32.218.119.0) (Ping timeout: 186 seconds)
L1054[19:28:17] ⇦ Quits: Benimatic (~Benimatic@cblmdm72-241-108-184.buckeyecom.net) (Ping timeout: 384 seconds)
L1055[19:31:39] ⇨ Joins: blood_ (unknown@ool-4574115b.dyn.optonline.net)
L1056[19:33:30] ⇦ Quits: Snapples (uid167569@id-167569.highgate.irccloud.com) (Quit: Connection closed for inactivity)
L1057[19:33:49] ⇨ Joins: cpup (~cpup@32.218.119.31)
L1058[19:37:22] ⇨ Joins: CoderPuppy (~cpup@32.218.119.57)
L1059[19:40:17] ⇦ Quits: IceDragon (~ThatGuy@184.170.51.21) (Ping timeout: 202 seconds)
L1060[19:42:27] ⇦ Quits: cpup (~cpup@32.218.119.31) (Ping timeout: 384 seconds)
L1061[19:42:46] ⇨ Joins: Benimatic (~Benimatic@cblmdm72-241-108-184.buckeyecom.net)
L1062[19:49:15] ⇦ Quits: Kano (~Kano@107-209-128-138.lightspeed.mssnks.sbcglobal.net) (Ping timeout: 384 seconds)
L1063[19:49:36] ⇨ Joins: Kano (~Kano@107-209-128-138.lightspeed.mssnks.sbcglobal.net)
L1064[19:49:52] <Ordinastie_> is there any way to make that work : http://puu.sh/r3B0z.png ?
L1065[19:49:59] ⇨ Joins: IceDragon (~ThatGuy@184.170.5.160)
L1066[19:50:18] ⇨ Joins: Lylac (~Tamtam18_@c-73-96-85-25.hsd1.or.comcast.net)
L1067[19:50:57] ⇦ Quits: RichardG (~richardg8@201.37.245.13) (Ping timeout: 384 seconds)
L1068[19:53:06] <howtonotwin> what's wrong with it?
L1069[19:54:09] <Ordinastie_> the subArray is passed as 1 argument
L1070[19:59:35] ⇨ Joins: cpup (~cpup@32.218.119.99)
L1071[20:00:49] ⇦ Quits: CoderPuppy (~cpup@32.218.119.57) (Ping timeout: 202 seconds)
L1072[20:03:26] ⇦ Quits: illy (~LordIllyo@2602:304:cf32:f980:d7b4:c6fb:fb09:5c82) (Quit: Leaving)
L1073[20:04:47] <Ordinastie_> wait, nvm, the params are already messed up at this point
L1074[20:05:04] ⇨ Joins: illy (~LordIllyo@2602:304:cf32:f980:e002:875:7132:da37)
L1075[20:06:05] <howtonotwin> Are you sure about that, because this works: https://gist.github.com/howtonotwin/a197c727cd3585a5ab75fdc85b17dac7
L1076[20:07:00] <Ordinastie_> yeah, it's messed up before
L1077[20:07:41] <howtonotwin> How's it "messed up before?" o_O
L1078[20:08:16] <Ordinastie_> http://puu.sh/r3C0e.png <=
L1079[20:08:54] ⇨ Joins: CoderPuppy (~cpup@32.218.119.118)
L1080[20:08:56] <Ordinastie_> processCallback takes Object... too
L1081[20:10:01] <howtonotwin> which shouldn't change anything though
L1082[20:10:02] <Ordinastie_> need to construct a new Object[] that encompass all
L1083[20:10:25] <howtonotwin> I think you're actually cutting params up twice, but I don't know your code
L1084[20:10:49] <howtonotwin> Once for the args of processListeners and once more inside call itself
L1085[20:10:58] <howtonotwin> oh wait nvm
L1086[20:11:09] <howtonotwin> my brain is broken xD
L1087[20:13:27] <howtonotwin> yep just tested, a method taking Object... can pass them to another method taking Object... directly
L1088[20:13:52] ⇦ Quits: Girafi (Girafi@0x555178eb.adsl.cybercity.dk) (Read error: Connection reset by peer)
L1089[20:14:11] ⇦ Quits: cpup (~cpup@32.218.119.99) (Ping timeout: 384 seconds)
L1090[20:14:59] ⇨ Joins: Kenny164 (~pkinney@host86-129-10-179.range86-129.btcentralplus.com)
L1091[20:15:09] <howtonotwin> if i change thingy to thingy(Object... things) { doSome(things); }, the bytecode is just "aload_0; invokestatic doSome; return"
L1092[20:15:09] <Ordinastie_> I know that's why I was confused
L1093[20:15:21] <Ordinastie_> didn't realised that it was passing a nested array
L1094[20:15:59] <howtonotwin> there weren't any nested arrays though... Unless I'm blind/stupid (which is likely)
L1095[20:17:13] <Ordinastie_> they are, the last screen makes it
L1096[20:18:05] <Ordinastie_> processCallbacks makes an Object[] from the 3 parameters Chunk, BlockPos, Object[]
L1097[20:18:18] <Ordinastie_> it doesn't automatically adds the params into the varargs
L1098[20:18:47] <Ordinastie_> that's why I need to reconstruct a new Object[] where I concatenate all of them
L1099[20:20:19] <Ordinastie_> trying to find the proper concatenation
L1100[20:31:34] ⇨ Joins: cpup (~cpup@32.218.119.147)
L1101[20:33:29] ⇦ Quits: CoderPuppy (~cpup@32.218.119.118) (Ping timeout: 202 seconds)
L1102[20:34:40] <Ordinastie_> I wonder if there is a more elegant way : http://puu.sh/r3Dof.png
L1103[20:34:59] ⇨ Joins: Cooler (~CoolerExt@117.248.11.164)
L1104[20:41:15] <Ordinastie_> ffs, why doesn't it recognise it as the interface lambda shit :x
L1105[20:42:29] <howtonotwin> So you got an array { Chunk, BlockPos, { Params, ... } }, right?
L1106[20:42:40] <Ordinastie_> before, yes
L1107[20:42:43] ⇦ Quits: cpup (~cpup@32.218.119.147) (Ping timeout: 186 seconds)
L1108[20:42:46] <Ordinastie_> that's why subarray wasn't working
L1109[20:42:51] <howtonotwin> why not just array[2] somewhere
L1110[20:43:17] <Ordinastie_> because I don't know beforehand the params
L1111[20:43:25] <Ordinastie_> that's why it's Object...
L1112[20:43:34] <Ordinastie_> but I fixed it already
L1113[20:44:33] <Ordinastie_> now my issue is this one : http://puu.sh/r3DTw.png
L1114[20:45:01] <Ordinastie_> but somehow, elsewhere, it works :http://puu.sh/r3DUC.png
L1115[20:45:11] <Ordinastie_> I just can't seem to find the difference :s
L1116[20:48:25] <Ordinastie_> (I can cast it, but I'd rather not)
L1117[20:48:38] <howtonotwin> your method returns boolean and the first two CBRs return other types maybe?
L1118[20:48:45] ⇨ Joins: cpup (~cpup@32.218.119.158)
L1119[20:49:06] <Ordinastie_> the signatures match the interface's method
L1120[20:50:30] <howtonotwin> your codebase is very intricate and I seem to stumbling all over myself because of it xD
L1121[20:51:06] <Ordinastie_> that part gets a bit more complicated than expected
L1122[20:51:52] <howtonotwin> and for the array+varargs thing, in IChunkCallback::call(Object...), can you not just pass params[2] to the other call instead of the current solution?
L1123[20:54:37] <howtonotwin> so you start with (BlockPos, Chunk, Object...), processCallbacks mangles that to { C, P, { P... } }, which passes to call which extracts them back out into (Chunk, BlockPos, Object...)
L1124[20:56:19] <Ordinastie_> howtonotwin, do you mean where I call super.processCallbacks() ?
L1125[20:56:36] <howtonotwin> you leave processListeners as it was before
L1126[20:56:58] <howtonotwin> so that you have super.processCallbacks(chunk, listener, params)
L1127[20:57:04] <howtonotwin> this is varargs
L1128[20:57:27] <howtonotwin> so it mangles that to Object[] { chunk, listener, Object[] { params... } }
L1129[20:57:36] <Ordinastie_> hum, maybe that could work
L1130[20:57:39] <howtonotwin> and then call receives the same mangled array
L1131[20:57:49] <Ordinastie_> not sure if less confusing though
L1132[20:57:49] <howtonotwin> and you extract out params with array[2]
L1133[20:58:04] <howtonotwin> (and a cast to Object[])
L1134[20:58:23] ⇦ Quits: Gigabit101 (~Gigabit10@cpc76690-cosh16-2-0-cust331.6-1.cable.virginm.net) (Ping timeout: 384 seconds)
L1135[20:59:47] <howtonotwin> probably mine performs a tiny bit better but the JIT will likely fix that :P
L1136[21:00:17] <howtonotwin> and premature optimization is evil, ofc
L1137[21:00:32] <Ordinastie_> stil haven't figure out why it doesn't find the functional interface :s
L1138[21:00:42] <howtonotwin> what's the error?
L1139[21:00:50] <howtonotwin> and you can force it by @FunctionInterface
L1140[21:00:52] <howtonotwin> iirc
L1141[21:01:01] <howtonotwin> *Functional
L1142[21:01:10] <Ordinastie_> @FunctionalInterface doesn't nothing IIRC
L1143[21:01:13] ⇦ Quits: Abastro (~Abastro@112.166.128.227) (Ping timeout: 384 seconds)
L1144[21:01:16] <Ordinastie_> kinda like @Override
L1145[21:01:34] <howtonotwin> I think it makes the compiler complain if it isn't actually a functional interface
L1146[21:01:40] <Ordinastie_> but they are
L1147[21:02:01] <howtonotwin> so, what is javac screaming at you for ;P
L1148[21:02:05] <Ordinastie_> The method of(this::isChunkCollidable) is undefined for the type ICallback.CallbackOption
L1149[21:02:23] <Ordinastie_> https://github.com/Ordinastie/MalisisCore/blob/1.9.4/src/main/java/net/malisis/core/util/callback/ICallback.java#L104
L1150[21:02:44] <howtonotwin> of != or
L1151[21:03:10] <Ordinastie_> sorry, it's lower : https://github.com/Ordinastie/MalisisCore/blob/1.9.4/src/main/java/net/malisis/core/util/callback/ICallback.java#L189
L1152[21:03:54] ⇨ Joins: CoderPuppy (~cpup@32.218.119.203)
L1153[21:04:06] <tterrag> what is the sig for isChunkCollidable ?
L1154[21:04:27] <Ordinastie_> tterrag, http://puu.sh/r3DTw.png
L1155[21:04:29] <howtonotwin> ICallbackPredicate's apply has sig ([Ljava.lang.Object;)Z
L1156[21:04:53] <tterrag> Ordinastie_: that is not a matching sig for Predicate
L1157[21:04:58] <Ordinastie_> yeah, must be the vararg messing it up
L1158[21:04:59] <howtonotwin> the method has (LChunk;LBlockPos;[LObject;)Z
L1159[21:05:00] <tterrag> so it cannot be converted into a Predicate lambda
L1160[21:05:01] <howtonotwin> not the same
L1161[21:05:09] <tterrag> it's not even close
L1162[21:05:12] <tterrag> it's not the varargs...
L1163[21:05:13] ⇦ Quits: cpup (~cpup@32.218.119.158) (Ping timeout: 202 seconds)
L1164[21:05:17] <LexManos> the fuck...
L1165[21:05:30] <tterrag> predicate is x->boolean
L1166[21:05:46] <Ordinastie_> it's not java or guava predicate
L1167[21:05:48] <Ordinastie_> it's mine
L1168[21:05:51] <howtonotwin> remember that varargs are actually arrays, so you're trying to squash 3 params into one Object[]
L1169[21:06:13] <howtonotwin> and you can't do that because type safety
L1170[21:06:31] <howtonotwin> if the first elem isn't a Chunk: Boom!
L1171[21:06:58] <Ordinastie_> that doesn't matter, that would break at call time
L1172[21:07:12] <howtonotwin> that defeats the purpose of generics
L1173[21:07:19] <howtonotwin> like completely
L1174[21:07:43] <howtonotwin> not generics: The entire TYPE SYSTEM
L1175[21:08:14] <tterrag> yeah, the compiler is seeing A: (Object[]) B: (x, y, Object[])
L1176[21:08:17] <tterrag> that cleary does not match
L1177[21:08:19] <howtonotwin> how in cake do you think the compiler will allow you to do that
L1178[21:08:32] <tterrag> this code is hacky
L1179[21:08:42] <Ordinastie_> I was right, it's the varargs
L1180[21:08:50] <howtonotwin> it's not the varargs
L1181[21:08:52] <tterrag> ...
L1182[21:09:00] <howtonotwin> it's the fact that these signatures are not the same
L1183[21:09:19] <howtonotwin> you can get rid of the varargs and nothing will change
L1184[21:09:20] <tterrag> apply(Object... params) is the stupidest signature I've ever seen
L1185[21:09:25] <tterrag> let's end the convo there...
L1186[21:09:34] <tterrag> how are you meant to do anything useful with that?
L1187[21:09:50] <Ordinastie_> they are the same, the signature for IChunkCallbackPredicate is : public boolean apply(Chunk chunk, BlockPos listener, Object... params);
L1188[21:11:46] <Ordinastie_> tterrag, by default, like this : https://github.com/Ordinastie/MalisisCore/blob/1.9.4/src/main/java/net/malisis/core/registry/RenderBlockRegistry.java
L1189[21:12:29] <tterrag> yeah, that looks horrible
L1190[21:12:47] <Ordinastie_> don't really have a better alternative right now
L1191[21:13:08] <tterrag> also, you never posted IChunkCallbackPredicate, just a bunch of interfaces with annoyingly similar names
L1192[21:13:18] <howtonotwin> the repo is on github
L1193[21:13:24] <tterrag> it is yes
L1194[21:13:27] <Ordinastie_> not up to date on github
L1195[21:13:33] <howtonotwin> well then
L1196[21:13:36] <tterrag> but excuse me for misreading 'IChunkCallbackPredicate' as ICallbackPredicate
L1197[21:13:44] <Ordinastie_> :p
L1198[21:14:03] ⇨ Joins: cpup (~cpup@32.218.119.231)
L1199[21:14:03] <Ordinastie_> the functional part of it works
L1200[21:14:13] <Ordinastie_> what doesn't work is the generic inference of the static call
L1201[21:14:25] <howtonotwin> at this point just use scala's Function* types :P
L1202[21:14:32] <Ordinastie_> which is broken when a vararg is involved
L1203[21:14:37] <howtonotwin> will likely look cleaner :P
L1204[21:14:55] <Ordinastie_> except for the scala part...
L1205[21:15:16] <howtonotwin> it's interface is literally the same as yours rn
L1206[21:15:51] <howtonotwin> except generic
L1207[21:17:20] <Ordinastie_> tterrag, but i'm serious, if you have a better solution, I'm all ears
L1208[21:17:21] ⇦ Quits: CoderPuppy (~cpup@32.218.119.203) (Ping timeout: 202 seconds)
L1209[21:17:32] <tterrag> I don't know your system or what you need
L1210[21:18:27] ⇨ Joins: Gigabit101 (~Gigabit10@cpc76690-cosh16-2-0-cust331.6-1.cable.virginm.net)
L1211[21:18:32] <Ordinastie_> generic callback system, with lambdas and predicates, not bound by the number or type of parameters
L1212[21:19:12] <Ordinastie_> the IChunkCallback stuff gets even messier because it's another layer on top of that
L1213[21:21:18] <howtonotwin> Not sure if making that perfect is possible in Java (aimed at both of you) xD And even in Scala you'd have to go ham with the type system, likely implement HList, and make scalac cry salty tears as you work it like a Turing machine.
L1214[21:23:25] ⇦ Quits: Gigabit101 (~Gigabit10@cpc76690-cosh16-2-0-cust331.6-1.cable.virginm.net) (Ping timeout: 202 seconds)
L1215[21:23:41] <tterrag> I feel like that concept in general is just at odds with programming/OO
L1216[21:23:45] ⇨ Joins: Gigabit101 (~Gigabit10@cpc76690-cosh16-2-0-cust331.6-1.cable.virginm.net)
L1217[21:23:48] <tterrag> you might want to rethink your design
L1218[21:23:55] <tterrag> or not, I'm not the code police
L1219[21:24:49] ⇦ Quits: cpup (~cpup@32.218.119.231) (Ping timeout: 202 seconds)
L1220[21:25:43] ⇨ Joins: cpup (~cpup@32.218.119.231)
L1221[21:29:58] <Ordinastie_> lol, I don't know what happened, but I can't place the torches in my hotbar
L1222[21:30:01] <howtonotwin> Honestly though, there's a big fat FP-oriented library right next to us in Forge. With Futures and Actors and predefined tuples and functional interfaces. And NO ONE thinks to use them before rolling their own.
L1223[21:30:18] <Ordinastie_> when I put the breakpont in chunk.setBlockState, I noticed it tries to place snowy dirt ><
L1224[21:30:20] <Ordinastie_> wtf
L1225[21:30:33] <howtonotwin> the only acceptable response to that is "wat"
L1226[21:31:56] <howtonotwin> main = putStrLn $ show $ concat $ replicate "wat"
L1227[21:32:32] <illy> {} + []
L1228[21:32:58] <howtonotwin> s/replicate/repeat/
L1229[21:32:59] <howtonotwin> :P
L1230[21:33:21] <howtonotwin> and s/\$ show//
L1231[21:33:58] <howtonotwin> My haskell is rusty >.<
L1232[21:34:00] ⇨ Joins: codahq (~codahq@c-73-65-219-228.hsd1.ut.comcast.net)
L1233[21:34:32] <illy> Woo fixed the damn Jenkins notifier damn you json >.>
L1234[21:35:09] <howtonotwin> Why does everyone hate JSON all of a sudden xD
L1235[21:35:20] <howtonotwin> would you rather use XML
L1236[21:36:32] ⇨ Joins: CoderPuppy (~cpup@32.218.112.9)
L1237[21:36:50] <Ordinastie_> ok, that explains
L1238[21:37:12] <Ordinastie_> the fact I couldn't place the torch is my fault
L1239[21:37:20] <Ordinastie_> but totally unrelated to the breakpoint
L1240[21:38:24] <illy> howtonotwin, I dont hate it was just annoying this https://wiki.jenkins-ci.org/display/JENKINS/Notification+Plugin, doesn't send the full json on start so I had to replicate some code and not be lazy
L1241[21:39:48] <illy> namely the "status" field didn't exist
L1242[21:41:27] ⇦ Quits: cpup (~cpup@32.218.119.231) (Ping timeout: 384 seconds)
L1243[21:41:47] <Ordinastie_> quick question :
L1244[21:41:48] <Ordinastie_> https://github.com/Ordinastie/MalisisCore/blob/1.9.4/src/main/java/net/malisis/core/util/chunklistener/IBlockListener.java#L56
L1245[21:41:59] <Ordinastie_> should I reverse the logic of the return value ?
L1246[21:43:20] <howtonotwin> no
L1247[21:44:17] <howtonotwin> it doesn't really seem right for true to mean failure, especially as the method name doesn't convey a negative
L1248[21:44:37] <Ordinastie_> so you mean I should reverse it
L1249[21:44:49] <Ordinastie_> right now, true cancels the placement
L1250[21:45:03] <howtonotwin> "true, if the block is allowed to be placed, false to cancel block placement"
L1251[21:45:07] <howtonotwin> <Ordinastie_> right now, true cancels the placement
L1252[21:45:08] ⇦ Quits: IceDragon (~ThatGuy@184.170.5.160) (Ping timeout: 206 seconds)
L1253[21:45:10] <howtonotwin> wat
L1254[21:45:48] ⇨ Joins: cpup (~cpup@32.218.112.23)
L1255[21:46:03] ⇨ Joins: IceDragon (~ThatGuy@184.170.53.185)
L1256[21:46:03] *** Abrar|gone is now known as AbrarSyed
L1257[21:46:12] <howtonotwin> but my verdict is true = allow place false = deny
L1258[21:46:27] <howtonotwin> and possible rename the method to allowBlockPlace
L1259[21:46:28] ⇨ Joins: Dimitriye98 (~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net)
L1260[21:46:45] <howtonotwin> or maybe something in between
L1261[21:47:13] ⇦ Quits: CoderPuppy (~cpup@32.218.112.9) (Ping timeout: 202 seconds)
L1262[21:48:13] <Ordinastie_> rah, and I find it so annoying that you can have private statics in interaces :x
L1263[21:48:29] <howtonotwin> y tho
L1264[21:48:59] <howtonotwin> you can have static interface methods, and you might need private statics for good code in those methods
L1265[21:49:40] <Ordinastie_> there is no reason, that's why I think it's so annoying :x
L1266[21:50:22] <howtonotwin> Ordi, why the heck are lines 47 and 54 in DIRECT FREAKING OPPOSITION to one another
L1267[21:51:06] <Ordinastie_> because in middle of refactoring
L1268[21:51:54] <Ordinastie_> actually, they're not really opposite
L1269[21:51:57] <howtonotwin> well don't just slap us with a javadoc that makes no sense and then proceed to ask us about its validity
L1270[21:52:27] <Ordinastie_> hum, nvm, it's opposite
L1271[21:52:36] <Ordinastie_> but that's exactly why I'm asking
L1272[21:52:47] <Ordinastie_> during refactoring, I somehow changed the logic
L1273[21:53:17] <howtonotwin> well if the javadoc is invalid, half of us will read the top line and half the bottom, and your feedback will be mangled
L1274[21:54:07] <howtonotwin> at least proofread the thing to ensure sanity xD
L1275[21:54:07] <Ordinastie_> well, I wasn't asking what it was currently doing, I was asking what would make the most sense for the method to return
L1276[21:54:19] ⇦ Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 206 seconds)
L1277[21:54:29] ⇦ Quits: candybar (~foo@adsl-074-181-053-011.sip.sav.bellsouth.net) (Ping timeout: 384 seconds)
L1278[21:54:36] <howtonotwin> anyway, about statics in interfaces, may I introduce you to typeclasses :P
L1279[21:55:00] <Ordinastie_> if you talk to me about scala again, I swear I'll find where you live
L1280[21:55:20] <howtonotwin> those are more haskell xD
L1281[21:55:33] <howtonotwin> find and kill sham first
L1282[21:58:51] ⇨ Joins: McJty (~jorrit@94-225-203-206.access.telenet.be)
L1283[22:00:59] ⇦ Quits: Lylac (~Tamtam18_@c-73-96-85-25.hsd1.or.comcast.net) (Quit: z.z)
L1284[22:04:45] *** Vigaro is now known as V
L1285[22:05:18] ⇨ Joins: candybar (~foo@adsl-074-181-053-011.sip.sav.bellsouth.net)
L1286[22:05:31] <sham1> meh
L1287[22:12:34] ⇦ Quits: howtonotwin (~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net) (Quit: Pop!)
L1288[22:13:52] <tterrag> I wonder if on-demand model baking would be useful/possible ?
L1289[22:14:05] <tterrag> it would certainly reduce the memory footprint as I'm sure the majority of models are never seen
L1290[22:14:17] <tterrag> but it could result in a lot of micro stutters (at least at the start)
L1291[22:15:24] ⇦ Quits: quadraxis (~quadraxis@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net) (Quit: ChatZilla 0.9.92 [Firefox 48.0.2/20160823121617])
L1292[22:15:25] <Ordinastie_> lazy loading them ?
L1293[22:15:44] <tterrag> yes
L1294[22:16:02] <Ordinastie_> is memory even an issue ?
L1295[22:16:05] <Ordinastie_> *ever
L1296[22:16:06] <tterrag> yes, very much
L1297[22:16:11] <tterrag> go load up a large 1.10 pack
L1298[22:16:18] <tterrag> watch it swallow up >4G before the main menu
L1299[22:16:43] <TehNut> ^
L1300[22:16:52] <Ordinastie_> then maybe it would be worth it
L1301[22:16:57] <tterrag> that's what I'm thinking
L1302[22:17:00] <tterrag> I just wonder how difficult it would be
L1303[22:17:04] <Ordinastie_> until one skims through JEI pages :p
L1304[22:17:05] ⇦ Quits: alekso56 (~znc@2001:464b:c2aa:0:745d:45ff:fe3b:a098) (Ping timeout: 202 seconds)
L1305[22:17:18] <tterrag> yeah, something like JEI would nullify the benefit
L1306[22:17:20] <tterrag> though not entirely
L1307[22:17:57] <tterrag> see: fences
L1308[22:18:20] <TehNut> If needed, JEI could probably display a temporary model until one is baked
L1309[22:18:51] <Ordinastie_> and JEI caches the output itself, so maybe allow not caching the model in some cases
L1310[22:18:52] <tterrag> afaik JEI already does some preloading
L1311[22:19:20] <tterrag> so it would be pretty easy to just load the models during world load phase, instead of actuall during GUI open
L1312[22:19:33] <tterrag> but yeah, JEI isn't something I considered. that would be an issue
L1313[22:19:45] ⇨ Joins: alekso56 (~znc@2001:464b:c2aa:0:745d:45ff:fe3b:a098)
L1314[22:20:06] <TehNut> I think I worded what I said wrong
L1315[22:20:31] <TehNut> I mean, JEI doesn't cause any models to be baked. It checks if one is there and if it doesn't find it, just render a temporary
L1316[22:20:40] <TehNut> When one gets baked from normal means, start showing that
L1317[22:22:40] <Ordinastie_> hum, that's annoying too, as some point, an array of AABB gets passed as a single argument, and the varargs split it :s
L1318[22:23:34] <tterrag> TehNut: that would require async model loading
L1319[22:23:41] <tterrag> either that, or just a lot of blank models which isn't useful
L1320[22:24:06] <Ordinastie_> tbh, I would settle with lag the first time a new page is displayed in JEI :p
L1321[22:24:08] <TehNut> I'm sure that if somebody can't play because of RAM issues, they'll take "not useful" over "not playable" anyday
L1322[22:25:51] <TehNut> Alternatively, instead of a temporary model, just draw the texture icon as an image
L1323[22:26:03] <Ordinastie_> the particle one ?
L1324[22:26:23] <tterrag> TehNut: how would you konw the particle image?
L1325[22:26:24] <Ordinastie_> because that's the only one available
L1326[22:26:27] <tterrag> that is a factor of the model
L1327[22:26:33] <TehNut> i'unno
L1328[22:29:55] <tterrag> IModel does have a way to get textures but that could be unreliable
L1329[22:33:17] ⇨ Joins: mallrat208 (~mallrat20@107-145-136-189.res.bhn.net)
L1330[22:36:51] ⇦ Quits: Lathanael|Away (~Lathanael@p5496143e.dip0.t-ipconnect.de) (Ping timeout: 186 seconds)
L1331[22:40:11] <Ordinastie_> well, I finally have back the functionnalities I had before refactoring *_*
L1332[22:42:31] <illy> the old I refactored everything and it all exploded?
L1333[22:43:13] <Ordinastie_> no, pretty much works flawlessly after refactoring, it's just that the refactoring itself was big :x
L1334[22:43:21] ⇨ Joins: Lathanael|Away (~Lathanael@p54961F33.dip0.t-ipconnect.de)
L1335[22:45:31] ⇨ Joins: agowa339 (~Thunderbi@p54919DB3.dip0.t-ipconnect.de)
L1336[22:48:53] ⇦ Quits: agowa338 (~Thunderbi@p54919DC9.dip0.t-ipconnect.de) (Ping timeout: 384 seconds)
L1337[22:48:54] *** agowa339 is now known as agowa338
L1338[22:57:42] *** Davnit_ is now known as Davnit
L1339[23:00:32] ⇦ Quits: Cooler (~CoolerExt@117.248.11.164) (Ping timeout: 206 seconds)
L1340[23:05:05] ⇨ Joins: escman1999 (~escman199@cpe-174-97-6-18.cinci.res.rr.com)
L1341[23:12:08] <escman1999> i'm curious, with 1.10.2 forge, were stairs changed so they couldn't be opened with blocks like stairs above them?
L1342[23:12:42] <McJty> Opening stairs?
L1343[23:12:49] <McJty> You mean chests I suppose?
L1344[23:13:03] <escman1999> yeah, that's what i meant
L1345[23:13:18] <McJty> But to answer your question: no idea really. Might be a vanilla change although I haven't heard about that
L1346[23:15:29] <escman1999> without forge installed, chests with stairs above them can be opened just fine, but with forge installed, they can't be opened when stairs are above them
L1347[23:16:56] <TehNut> Yes
L1348[23:17:04] <TehNut> You can only open chests if it's not a full side above them
L1349[23:17:13] <TehNut> Forge considers it a vanilla bug
L1350[23:17:38] <Ordinastie_> really? that's dumb
L1351[23:17:38] <escman1999> oh
L1352[23:18:10] <TehNut> https://github.com/MinecraftForge/MinecraftForge/issues/2820#issuecomment-217060795
L1353[23:18:12] <McJty> That's indeed a bit weird
L1354[23:18:40] <escman1999> it might be pointless, but would it be possible to add a config option for that?
L1355[23:18:57] <McJty> Doubtful
L1356[23:19:04] <McJty> Reading that discussion it would mean special casing
L1357[23:19:06] <McJty> And that's not very nice
L1358[23:19:13] <TehNut> Lex is very adament on it staying how it is
L1359[23:20:08] <escman1999> oh, well then i guess i'll just have to work around it then
L1360[23:21:02] <TehNut> Just put the stair upsidedown with the open bit at the back
L1361[23:23:18] <escman1999> sadly, since i'm using stairs for a roof, doing that doesn't work too well
L1362[23:23:42] <escman1999> but thanks for the explanation anyway
L1363[23:24:40] <tterrag> this is why mojang doesn't fix redstone :)
L1364[23:24:53] <tterrag> or most gameplay "bugs" at this point
L1365[23:26:10] <tterrag> in other news, gradle is telling me none of my deps exist (every import of a library is a compile error)
L1366[23:26:18] <McJty> This is a case where the line between bug and feature is hard to draw :-)
L1367[23:26:20] <tterrag> redoing entire setup now, will update...
L1368[23:26:36] <Ordinastie_> connectivity issue ?
L1369[23:26:46] <tterrag> this seems like a good sign http://i.imgur.com/0Yf5cW6.png
L1370[23:26:50] <escman1999> oh, and another thing, how hard was something like minecraft forge to create?
L1371[23:26:54] <tterrag> Ordinastie_: unlikely. seems like some cached stuff got deleted somehow
L1372[23:27:05] <TehNut> Did you accidentally run gradlew clean?
L1373[23:27:12] <TehNut> escman1999: Extremely.
L1374[23:27:15] <tterrag> escman1999: the current forge is the product of years of development by many people
L1375[23:27:46] <tterrag> TehNut: gradle clean doesn't touch cached deps :P
L1376[23:28:00] <TehNut> I think I meant cleanCache
L1377[23:28:03] <TehNut> Or whatever
L1378[23:28:11] <TehNut> I accidentally ran that once...
L1379[23:28:16] <tterrag> yeah
L1380[23:28:22] <tterrag> cleanCache as a task needs to be removed
L1381[23:28:30] <tterrag> it should not be so easy to delete gigs of data
L1382[23:28:38] <TehNut> It was right above the task I meant to click on
L1383[23:28:43] <TehNut> RIP every workspace
L1384[23:28:44] <tterrag> >click on
L1385[23:28:48] <tterrag> non cmdline scrub
L1386[23:28:53] <TehNut> IDEA has Gradle support
L1387[23:28:57] ⇦ Quits: Kenny164 (~pkinney@host86-129-10-179.range86-129.btcentralplus.com) (Quit: Bye)
L1388[23:29:01] <tterrag> so does eclipse :D
L1389[23:29:05] <tterrag> your point? :D
L1390[23:29:23] <TehNut> Easier to click on stuff than Alt+F12 and type shit
L1391[23:29:23] <Ordinastie_> do you use the gradle plugin ?
L1392[23:30:02] <TehNut> Oh I know what happened. I meant to close the FG tab http://tehnut.info/share/DzjCl0o8ah.png
L1393[23:30:05] <TehNut> but yeah
L1394[23:30:26] <tterrag> Ordinastie_: I don't
L1395[23:30:32] <tterrag> for multiple reasons, but mainly because I don't need it
L1396[23:30:48] <Ordinastie_> I needed it at some point
L1397[23:30:48] <escman1999> in my opinion, mojang should hire you guys :D forge is great
L1398[23:31:21] <tterrag> they have hired a good few, lol
L1399[23:31:21] <TehNut> Once I started importing the gradle script, I stopped using cmdline to do setup stuff
L1400[23:31:23] ⇦ Quits: IceDragon (~ThatGuy@184.170.53.185) (Ping timeout: 384 seconds)
L1401[23:31:26] <TehNut> ^
L1402[23:31:45] <tterrag> s.earge, p.rofmobius
L1403[23:33:27] <tterrag> not stricly forge devs, but contributed to the modding scene similarly
L1404[23:33:47] <escman1999> how come they didn't hire lex as well? (i hope it's alright to ask..)
L1405[23:33:48] <TehNut> And then db from bukkit
L1406[23:34:00] <tterrag> you'd have to ask mojang
L1407[23:34:03] <TehNut> or was that grum
L1408[23:34:12] <tterrag> grum was bukkit, no?
L1409[23:34:20] <tterrag> idk
L1410[23:34:24] <tterrag> didn't follow that scene
L1411[23:34:28] <TehNut> i don't pay attention to mojang so i'unno
L1412[23:35:57] ⇦ Quits: Benimatic (~Benimatic@cblmdm72-241-108-184.buckeyecom.net) (Ping timeout: 202 seconds)
L1413[23:37:34] <escman1999> if mojang just hired the entire forge team, some things would be easier, right?
L1414[23:37:58] <McJty> Being independent also has its benefits
L1415[23:38:16] <McJty> i.e. Forge can do things the way they want
L1416[23:38:20] <McJty> mostly
L1417[23:39:00] <escman1999> doesn't forge have to wait for MCP before they can do stuff, though?
L1418[23:39:39] <LexManos> Yes 'Forge' does.
L1419[23:40:07] <McJty> Anyway have to go
L1420[23:40:09] ⇦ Quits: McJty (~jorrit@94-225-203-206.access.telenet.be) (Quit: Leaving)
L1421[23:43:58] <tterrag> has calling register(Block) always iterated over properties and called getStateFromMeta ?
L1422[23:44:51] <Ordinastie_> building the BlockStateContainer does
L1423[23:45:07] <Ordinastie_> but AFAIK, registering doesn't
L1424[23:45:18] <tterrag> yeah, that's what I thought. I think it changed though
L1425[23:45:19] <escman1999> lex, even though i'm not a modder, i want to thank you for the hard work you, and many others have done in creating the forge api
L1426[23:45:38] <tterrag> Ordinastie_: http://pastebin.com/PveacJ1n
L1427[23:45:52] <tterrag> top of the call stack is register()
L1428[23:46:05] <Ordinastie_> !gm func_176203_a
L1429[23:46:20] <tterrag> getStateFromMeta I assume
L1430[23:46:27] <tterrag> the call above that is not an override....dirty hacks
L1431[23:47:02] <tterrag> BlockCallbacks.add clearly iterates the properties
L1432[23:47:07] <tterrag> I'm going to check when that was added
L1433[23:47:24] <tterrag> this semantic change is not necessarily backwards compatible as I was setting up some lookups for my blockstates post-registration
L1434[23:48:34] <tterrag> wat https://github.com/MinecraftForge/MinecraftForge/blob/1.10.x/src/main/java/net/minecraftforge/fml/common/registry/GameData.java#L294-L296
L1435[23:48:37] <tterrag> what does that mean?
L1436[23:48:50] <LexManos> yes its not backwards compatible if you do stupid shit like register partially setup blocks
L1437[23:48:52] <LexManos> But thats on you.
L1438[23:49:03] <LexManos> Point is we need to do it to fix a major world bug, so we do.
L1439[23:49:48] <tterrag> it's not impossible to fix, it just means I'll need two loops
L1440[23:50:03] <tterrag> one to setup the lookup table before registration, and another to do things like register items/oredict after
L1441[23:50:11] <tterrag> a tad annoying, at most
L1442[23:50:28] <LexManos> What lookup table?
L1443[23:51:05] <tterrag> my mod adds blocks from json files. to save IDs I have compressed the types into metadata. instead of using ints for meta I decided to take advantage of states that hold proper objects
L1444[23:51:27] <tterrag> to do this, I need to be able to compute valid states
L1445[23:51:38] <LexManos> First off thats a bad idea, configurable blocks are really bad if done incorrectly.
L1446[23:51:52] <LexManos> Second, You're still limited to 16 meta so that you gotta deal with
L1447[23:51:54] <tterrag> I like to think I've done it correctly, though I know of some improvements I could make
L1448[23:51:57] <tterrag> yeah, I know
L1449[23:52:01] <tterrag> it compresses as much as possible
L1450[23:52:07] <tterrag> splitting over as many blocks of 16 as needed
L1451[23:53:06] <LexManos> But ya either way you shouldnt be registering blocks that are not fully setup.
L1452[23:53:15] <LexManos> We need to do this for stupid shit like vanilla doors
L1453[23:53:31] <LexManos> which have >16 states, and get a invalid state->id map.
L1454[23:53:44] <tterrag> I see. well like I said, it's annoying, but not unfixable
L1455[23:53:55] <tterrag> should already have the fix done, pending run test
L1456[23:54:12] <escman1999> minecraft's current codebase is terrible, right?
L1457[23:54:28] <tterrag> depends on where you look
L1458[23:54:33] <tterrag> generally though, I'd say 'yes'
L1459[23:54:49] <LexManos> General statement: Its bad in a lot of place
L1460[23:55:00] <LexManos> Optomistic statement: It has been getting better and better ove rhte last 2 years
L1461[23:55:06] <tterrag> ^^ definitely
L1462[23:55:19] <Ordinastie_> Lex, why not simply do getStateFromMeta(0-15) directly ?
L1463[23:55:22] <LexManos> You know all the changes modders have been bitching about?
L1464[23:55:28] <tterrag> lex, if you are curious https://github.com/tterrag1098/CustomThings/commit/7408456640d3bb52139334d0d361399e4e0b4674
L1465[23:55:38] <LexManos> Those are changes that are making thigns BETTER.
L1466[23:55:42] <tterrag> Ordinastie_: not all blocks will properly handle metas that don't exist
L1467[23:55:44] <LexManos> But poeople just like to bitch.
L1468[23:55:51] <tterrag> i.e. wood planks might bork on >5
L1469[23:55:54] <tterrag> who knows
L1470[23:55:56] <LexManos> And naw, dont really care what you do ot fix your mod doesnt deal with me.
L1471[23:55:58] <tterrag> best to just use the known properties
L1472[23:56:14] <escman1999> wasn't the biggest change that annoyed people the 1.8 rendering change?
L1473[23:56:34] <LexManos> Ordinastie_, Because that isnt always a valid option, and as garrett said could cause unknown issues. This fixes it with as clean of a map as we can.
L1474[23:56:38] <tterrag> I still think the new rendering is annoying. but I also think it's beneficial. the two aren't mutually exclusive ;)
L1475[23:56:44] <Ordinastie_> tterrag, but vanilla does that though
L1476[23:56:51] ⇦ Quits: luacs1998 (~sayuka@abrarsyed.com) (Ping timeout: 186 seconds)
L1477[23:56:55] <LexManos> and doing get(meta) doesnt solve the issue of multiple states pointing to the same meta
L1478[23:57:49] <Ordinastie_> wait, it's only for tripwire now
L1479[23:58:21] <Ordinastie_> don't know what the set contained before
L1480[23:58:33] <escman1999> some things that were possible in 1.7, aren't possible in 1.10 anymore, right?
L1481[23:59:06] <LexManos> no
L1482[23:59:09] ⇦ Quits: Wuppy (~wuppyZNC@2001:19f0:6400:8965:5400:ff:fe07:8777) (Ping timeout: 384 seconds)
L1483[23:59:10] <tterrag> yes
L1484[23:59:22] <LexManos> No, everything is still possible.
L1485[23:59:25] <LexManos> Just in a different way
L1486[23:59:28] <tterrag> no, I cannot make a GL item render
L1487[23:59:31] <tterrag> with itemstack context
L1488[23:59:33] <LexManos> Yes you can
L1489[23:59:38] <tterrag> ***with itemstack context***
L1490[23:59:39] <LexManos> You shouldnt which is why we wont help you
L1491[23:59:42] <tterrag> TESRItem doesn't help
L1492[23:59:44] <LexManos> Yes, you can.
L1493[23:59:49] <tterrag> how
L1494[23:59:59] <LexManos> <LexManos> You shouldnt which is why we wont help you
<<Prev Next>> Scroll to Top