<<Prev Next>> Scroll to Bottom
Stuff goes here
L1[00:00:27] *** mrkirby153 is now known as kirby|gone
L2[00:04:21] ⇦ Quits: MattDahEpic (~MattDahEp@184-96-202-46.hlrn.qwest.net) (Ping timeout: 198 seconds)
L3[00:04:34] <Cypher121> is event.getSide() a physical or logical side?
L4[00:04:45] <williewillus> what kind of event?
L5[00:05:01] <Cypher121> lifecycle
L6[00:05:05] <williewillus> physical
L7[00:05:07] <Cypher121> particularly preInit
L8[00:05:09] <Cypher121> oh
L9[00:05:25] <williewillus> and glad to see people adopting my terms ;p
L10[00:05:48] ⇦ Quits: Vorquel (Vorquel@kiss.the.person.using.this.vho.st) (Quit: Bye)
L11[00:13:24] ⇦ Quits: Brokkoli (~Brokkoli@f054031197.adsl.alicedsl.de) (Quit: Die Sprache der Politik ist daf�r gemacht, dass L�gen wahr klingen und das T�ten angemessen wirkt. (George Orwell))
L12[00:15:51] <Cypher121> alright, integrated server seems to work \o/
L13[00:21:46] ⇨ Joins: EyeOfKoishi (~Subconsci@cpe-65-28-43-97.wi.res.rr.com)
L14[00:24:31] ⇦ Quits: SubconsciousEye (~Subconsci@cpe-65-28-43-97.wi.res.rr.com) (Ping timeout: 194 seconds)
L15[00:24:47] ⇨ Joins: SubconsciousEye (~Subconsci@cpe-65-28-43-97.wi.res.rr.com)
L16[00:26:04] *** AbrarSyed is now known as Abrar|gone
L17[00:27:21] ⇦ Quits: EyeOfKoishi (~Subconsci@cpe-65-28-43-97.wi.res.rr.com) (Ping timeout: 186 seconds)
L18[00:30:09] ⇦ Quits: GUIpsp (~GUIpsp@c-75-73-112-194.hsd1.mn.comcast.net) (Ping timeout: 186 seconds)
L19[00:30:11] <williewillus> Cypher121: what are you making?
L20[00:32:43] <killjoy> It's my cake day. I need something to post
L21[00:36:10] ⇦ Quits: shadekiller666 (~shadekill@adsl-108-80-77-64.dsl.lsan03.sbcglobal.net) (Read error: Connection reset by peer)
L22[00:36:15] <kashike> assuming cake day means birthday, happy birthday killjoy
L23[00:36:22] <killjoy> no.
L24[00:36:23] <williewillus> reddit
L25[00:36:27] <killjoy> ^
L26[00:36:30] <williewillus> reddit birthday
L27[00:36:39] <killjoy> my bday was 2 months ago
L28[00:36:57] <killjoy> reddit is known to be generous with upvotes on cakeday
L29[00:37:17] ⇦ Quits: Drullkus (~Drullkus@2601:646:8301:8947:f9b6:7fcb:5cab:559f) (Quit: Good night)
L30[00:37:19] ⇦ Quits: ZaggyMobile2 (~Zaggy1024@174-20-167-106.mpls.qwest.net) (Read error: Connection reset by peer)
L31[00:37:40] ⇨ Joins: ZaggyMobile2 (~Zaggy1024@174-20-167-106.mpls.qwest.net)
L32[00:38:21] <williewillus> https://www.reddit.com/r/ProgrammerHumor/comments/44xxd2/so_a_foo_walks_into_a_bar/
L33[00:38:35] <Cypher121> williewillus: github.com/Cypher121/Skills
L34[00:38:58] <williewillus> if you need to special case the integrated server you are doing something VERY VERY VERY wrong
L35[00:39:00] <williewillus> just fyi
L36[00:39:49] <Cypher121> I store known research maps in a static list
L37[00:40:11] <Cypher121> if I try to load them from server to client while both are in fact the same thing, it explodes
L38[00:40:17] <williewillus> so don't use something static
L39[00:40:38] ⇨ Joins: Drullkus (~Drullkus@c-67-180-188-243.hsd1.ca.comcast.net)
L40[00:40:40] <Cypher121> ThreadLocal?
L41[00:40:49] <killjoy> One of those jokes are wrong
L42[00:40:49] <williewillus> maybe, I haven't tried
L43[00:40:53] <killjoy> A Java programmer walks into a bar and shouts, "STOP EVERYTHING! I'm here to collect the garbage!"
L44[00:41:03] <killjoy> Who knows what's wrong with that?
L45[00:41:03] <williewillus> stop the world gc used to be a thing you know
L46[00:41:47] <williewillus> also why the heck are checking hash collisions manually
L47[00:41:54] <Cypher121> just in case
L48[00:42:03] <williewillus> String's hashCOde is more than good enough
L49[00:42:03] <Cypher121> default string hash is quite weak
L50[00:42:11] <williewillus> for your purposes at least
L51[00:42:31] <williewillus> idk, just seems like premature optimization to me :P
L52[00:42:41] <Cypher121> just in case
L53[00:43:17] <williewillus> 0.o
L54[00:43:32] <Cypher121> wat?
L55[00:43:50] ⇦ Quits: Drullkus (~Drullkus@c-67-180-188-243.hsd1.ca.comcast.net) (Client Quit)
L56[00:44:08] <williewillus> usually, people trust the libraries they're working on to work, not manually code premature optimization checks everywhere :P killjoy: did you see the haskell one in the comments? :P
L57[00:44:08] ⇦ Quits: ZaggyMobile2 (~Zaggy1024@174-20-167-106.mpls.qwest.net) (Read error: Connection reset by peer)
L58[00:44:20] ⇨ Joins: ZaggyMobile2 (~Zaggy1024@174-20-167-106.mpls.qwest.net)
L59[00:44:24] <killjoy> haven't read the comments yet
L60[00:44:35] <killjoy> just finished reading the bash joke
L61[00:45:22] ⇦ Quits: VikeStep (~VikeStep|@203.15.33.147) (Quit: Leaving)
L62[00:45:29] <killjoy> The lua programmer must be lying on the floor
L63[00:46:48] ⇨ Joins: EyeOfKoishi (~Subconsci@cpe-65-28-43-97.wi.res.rr.com)
L64[00:47:09] ⇨ Joins: Hunterz (~hunterz@2001:af0:8000:1c01:6af7:28ff:fe37:5d6a)
L65[00:48:52] <Cypher121> williewillus: did you know "FB".hashcode() == "Ea".hashcode() ?
L66[00:49:21] ⇦ Quits: SubconsciousEye (~Subconsci@cpe-65-28-43-97.wi.res.rr.com) (Ping timeout: 186 seconds)
L67[00:49:27] <williewillus> tell me just how much of a performance impact at runtime that will have
L68[00:49:39] <Cypher121> it's not performance
L69[00:49:52] <Cypher121> did you notice I map researches to hashcodes of their names?
L70[00:49:52] <williewillus> then what is it? collisions are resovled automatically for you
L71[00:50:07] <Cypher121> are they?
L72[00:50:08] ⇨ Joins: SubconsciousEye (~Subconsci@cpe-65-28-43-97.wi.res.rr.com)
L73[00:50:20] <williewillus> any map interface worth their shit from the last 10 years resolve collisions...
L74[00:50:25] <williewillus> especially guava
L75[00:50:35] <williewillus> not sure about bimaps but forward maps definitely do
L76[00:50:44] <Cypher121> is it stable?
L77[00:51:09] <Cypher121> actually no, that's not the problem here
L78[00:51:15] <Cypher121> take a look at StateSyncMessage
L79[00:52:16] <williewillus> why the hell are you using hashcodes as some sort of ID registry system
L80[00:52:23] <williewillus> that sounds liek a terrible idea :P
L81[00:52:45] ⇦ Quits: EyeOfKoishi (~Subconsci@cpe-65-28-43-97.wi.res.rr.com) (Ping timeout: 189 seconds)
L82[00:53:31] <williewillus> unrelated, but your stuff sounds like it'd be easily expressed in json :P that uses more bandwidth though
L83[00:53:31] <Cypher121> that's the 2nd best I had
L84[00:53:38] <Cypher121> EXACTLY
L85[00:53:50] <williewillus> how often will this sync?
L86[00:53:59] <Cypher121> depends on mod
L87[00:54:10] <williewillus> if it's any less often than say every 10-20 seconds i'd just use json :P
L88[00:54:38] <Cypher121> for example, if it has some research book ala thomnomnom, it syncs whole map on each gui open
L89[00:55:25] <Cypher121> and that may be 10 or 50 or more nodes, especially since I intend to provide interface for pack makers and server owners to make their own
L90[00:55:48] <Cypher121> so I want to reduce everything to integers
L91[00:56:43] <williewillus> but hashes are not good integers for this, they are definitely not one to one functions. if you could turn hashes back to identities, man... :P
L92[00:56:53] <williewillus> or surjective, whichever it was
L93[00:57:13] <Cypher121> if you could turn hashes back to identities, there would be no point in hashes
L94[00:57:22] <williewillus> but using them as an id system is terrible
L95[00:57:27] <williewillus> as your case has indicated
L96[00:57:46] <Cypher121> I have one other idea, but I needed something to test with
L97[00:57:50] <williewillus> sync some idmap up front when the player joins then send those ints in subsequent packets
L98[00:57:53] <williewillus> problem solved :P
L99[00:57:59] ⇦ Quits: flappy (~flappy@a88-113-155-120.elisa-laajakaista.fi) (Quit: /0)
L100[00:58:04] <Cypher121> yeah, that's what I may end up doing
L101[01:00:45] ⇨ Joins: flappy (~flappy@a88-113-155-120.elisa-laajakaista.fi)
L102[01:01:50] ⇨ Joins: GUIpsp (~GUIpsp@c-75-73-112-194.hsd1.mn.comcast.net)
L103[01:03:57] ⇦ Quits: robert_ (~hellspawn@static-96-254-212-18.tampfl.fios.verizon.net) (Ping timeout: 194 seconds)
L104[01:05:18] ⇨ Joins: EyeOfKoishi (~Subconsci@cpe-65-28-43-97.wi.res.rr.com)
L105[01:05:57] <Cypher121> williewillus: do you by any chance have a mod in development that is in dire need or research/unlock framework?
L106[01:06:08] <williewillus> not now :P
L107[01:06:18] <Cypher121> :(
L108[01:06:30] <williewillus> PE doesn't have research/unlocks and Botania 1.8 doesn't either :P
L109[01:08:09] ⇦ Quits: SubconsciousEye (~Subconsci@cpe-65-28-43-97.wi.res.rr.com) (Ping timeout: 189 seconds)
L110[01:09:51] ⇨ Joins: McJty (~McJty@bluecoat2.uzleuven.be)
L111[01:10:01] <Cypher121> williewillus: as for the static that needed special handling with integrated server
L112[01:10:13] <Cypher121> special handling = don't sync the map
L113[01:10:14] <Cypher121> that's it
L114[01:11:00] ⇨ Joins: Zyferus (Zyferus@172-3-154-217.lightspeed.mssnks.sbcglobal.net)
L115[01:11:19] ⇨ Joins: panda_2134 (uid121359@id-121359.brockwell.irccloud.com)
L116[01:11:50] <Cypher121> omg, I'm an idiot
L117[01:12:10] <riderj> Yep
L118[01:12:29] <Cypher121> I was cancelling rendering events of health and food bar to detect if nodes are properly sent to client
L119[01:12:43] <Cypher121> food didn't stop rendering for some reason
L120[01:13:06] <Cypher121> apparently it has something to do with event.setCanceled(false);
L121[01:17:07] <tterrag> Cypher121: if you need special handling for the integrated server your code is WRONG
L122[01:18:38] <riderj> Is your research api equivalent to Thaumcrafts research? How does yours work?
L123[01:21:41] *** minecreatr is now known as Mine|dreamland
L124[01:26:26] <Cypher121> tterrag: if I sync maps with a local client, all nodes in them are deleted and reconstructed from NBTTag of the message. This immediately invalidates all references on the server's side
L125[01:26:56] <tterrag> why is what happens on the client affecting the server at all??
L126[01:27:08] <Cypher121> because static
L127[01:27:45] <tterrag> ok
L128[01:27:50] <tterrag> so I repeat my initial statement
L129[01:28:08] <tterrag> http://mcforge.readthedocs.org/en/latest/concepts/sides/#common-mistakes
L130[01:28:10] <williewillus> don't use static fields :P
L131[01:28:16] <Cypher121> then what to use?
L132[01:28:18] <williewillus> ay i wrote that haha
L133[01:28:33] <williewillus> the formatting looks better
L134[01:28:57] <tterrag> um...NOT static?
L135[01:29:05] <Cypher121> okaaay
L136[01:29:26] <Cypher121> and where should that NOT static be stored?
L137[01:29:36] ⇨ Joins: Benimatic (~Benimatic@cblmdm72-241-106-31.buckeyecom.net)
L138[01:29:43] <Cypher121> it's automatically not a singleton, those are same as static
L139[01:29:49] ⇦ Quits: Benimatic (~Benimatic@cblmdm72-241-106-31.buckeyecom.net) (Client Quit)
L140[01:29:56] <Cypher121> in world data? it's not dependant on world
L141[01:30:08] <tterrag> it's what, per save?
L142[01:30:25] <Cypher121> per game instance
L143[01:30:32] <williewillus> not world dependent
L144[01:30:34] <Cypher121> think HQM quests
L145[01:30:43] <Cypher121> or configs
L146[01:30:45] <tterrag> HQM quests are per-world
L147[01:30:49] <tterrag> but ok :P
L148[01:30:54] <Cypher121> their STATE yes
L149[01:31:02] <Cypher121> quests themselves? no
L150[01:31:39] <williewillus> currently PE does a kinda cheaty hack to get around this, it probably has more than a few bugs
L151[01:31:48] <williewillus> but anyways would using threadlocal break shit
L152[01:31:56] <Cypher121> basically, what I do, continuing parallel with HQM, is send quest lists from server to client
L153[01:31:57] <tterrag> probably not
L154[01:32:08] <williewillus> then threadlocal would be your "easiest" solution
L155[01:32:10] <tterrag> bit hacky though
L156[01:32:50] <williewillus> PE makes an immutable copy of the map before reading it in clientside - so no CME but still overwrites. definitely possible bugs in there
L157[01:33:13] <williewillus> anyways bedtime
L158[01:33:16] <Cypher121> so threadlocal
L159[01:33:44] *** williewillus is now known as willieaway
L160[01:34:11] <Cypher121> my solution won't work for people remotely connecting to someone's integrated server, though
L161[01:34:50] <thecodewarrior> Anybody got a triangle-ray intersection method written in java? After fixing it several times mine doesn't seem to be able to tell if the intersection is inside or outside the triangle.
L162[01:35:34] <thecodewarrior> I just ported this: http://geomalgorithms.com/a06-_intersect-2.html
L163[01:35:48] <McJty> thecodewarrior, what about the vanilla code?
L164[01:35:58] <thecodewarrior> It doesn't do angles.
L165[01:36:08] <McJty> Angles?
L166[01:36:16] <McJty> What do you mean exactly? What kind of input do you have
L167[01:36:43] <thecodewarrior> The sides of catwalk stairs will be sloped, so I need a tweaked square, so I need triangles.
L168[01:36:53] <McJty> ah
L169[01:37:09] <thecodewarrior> But right now it's still squares. Just preparing.
L170[01:38:19] <thecodewarrior> Ok, just realized it seems to just have a really large margin of error... weird.
L171[01:38:19] ⇦ Quits: ZaggyMobile2 (~Zaggy1024@174-20-167-106.mpls.qwest.net) (Read error: Connection reset by peer)
L172[01:38:25] ⇨ Joins: VikeStep (~VikeStep@120.156.54.17)
L173[01:38:37] ⇦ Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 194 seconds)
L174[01:40:43] ⇦ Quits: Isi (~Isi@cpc73928-walt17-2-0-cust74.13-2.cable.virginm.net) (Quit: Leaving)
L175[01:46:00] ⇦ Parts: RANKSHANK (~Michael@ppp121-44-139-233.lns20.syd7.internode.on.net) ())
L176[01:49:14] ⇨ Joins: alex_6611 (~alex_6611@p549364B8.dip0.t-ipconnect.de)
L177[01:51:20] ⇨ Joins: SubconsciousEye (~Subconsci@cpe-65-28-43-97.wi.res.rr.com)
L178[01:54:22] ⇦ Quits: EyeOfKoishi (~Subconsci@cpe-65-28-43-97.wi.res.rr.com) (Ping timeout: 198 seconds)
L179[01:55:21] ⇨ Joins: Larry1123 (Larry1123@irc.larry1123.net)
L180[01:55:52] *** Keridos is now known as Keridos|away
L181[01:59:45] ⇨ Joins: RANKSHANK (~RANKSHANK@pa49-181-174-199.pa.nsw.optusnet.com.au)
L182[02:00:02] <MCPBot_Reborn> [TEST CSV] Pushing snapshot_20160211 mappings to Forge Maven.
L183[02:00:06] <MCPBot_Reborn> [TEST CSV] Maven upload successful for mcp_snapshot-20160211-1.8.9.zip (mappings = "snapshot_20160211" in build.gradle).
L184[02:00:16] <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/
L185[02:01:21] ⇦ Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 198 seconds)
L186[02:04:13] ⇨ Joins: Larry1123 (Larry1123@irc.larry1123.net)
L187[02:06:54] *** AEnterpriseAFK is now known as AEnterprise
L188[02:07:13] ⇦ Quits: Kaiyouka (~IdiotNono@c-75-71-231-133.hsd1.co.comcast.net) (Ping timeout: 194 seconds)
L189[02:10:26] <thecodewarrior> It works! https://gyazo.com/91a2aa586cdec3b0bd7d3f36e52e03ff
L190[02:11:06] <RANKSHANK> That's not cubic ;)
L191[02:16:25] ⇦ Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 198 seconds)
L192[02:17:47] ⇨ Joins: ZaggyMobile2 (~Zaggy1024@174-20-167-106.mpls.qwest.net)
L193[02:18:28] *** Darkhax_AFK is now known as Darkhax
L194[02:19:55] <Lordmau5> o/
L195[02:21:11] *** kroeser|away is now known as kroeser
L196[02:21:11] <panda_2134> A silly question:
L197[02:21:21] <panda_2134> is MMPL compatible with GPLv3?
L198[02:21:36] <panda_2134> MMPL->Minecraft Mod Permission Licence
L199[02:22:38] <panda_2134> ;)
L200[02:25:57] <fry> no
L201[02:26:31] <panda_2134> thx
L202[02:29:44] <Lordmau5> hey, fry, small question... are you perhaps available in around, urgh... 7:30h?
L203[02:30:11] ⇦ Quits: SubconsciousEye (~Subconsci@cpe-65-28-43-97.wi.res.rr.com) (Quit: I am the forgotten eye.)
L204[02:30:23] <fry> no idea
L205[02:30:26] ⇨ Joins: Elec332 (~Elec332@ip5456d4a5.speed.planet.nl)
L206[02:31:14] <Lordmau5> ok
L207[02:32:14] <Lordmau5> I've got some issues with fake-fluid rendering and lightmapping it properly... but I can't really figure out how to do it... tterrag recommended me to ask you since you might be more familiar with that
L208[02:32:24] <Lordmau5> but ye, I'm not home until in 7:30-ish h :p
L209[02:32:54] ⇨ Joins: Larry1123 (Larry1123@irc.larry1123.net)
L210[02:35:53] ⇦ Quits: alex_6611 (~alex_6611@p549364B8.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
L211[02:36:09] ⇦ Quits: LexDesktop (~LexManos@172.76.2.58) (Ping timeout: 189 seconds)
L212[02:38:57] ⇦ Quits: ZaggyMobile2 (~Zaggy1024@174-20-167-106.mpls.qwest.net) (Read error: Connection reset by peer)
L213[02:46:09] ⇦ Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 186 seconds)
L214[02:47:51] ⇨ Joins: Larry1123 (Larry1123@irc.larry1123.net)
L215[02:51:11] *** tterrag is now known as tterrag|away
L216[02:51:14] *** tterrag|away is now known as tterrag|ZZZzzz
L217[02:52:47] <thecodewarrior> \o/ I got almost all of block code abstracted away into a superclass! So DRY!
L218[02:53:33] ⇨ Joins: AforAnonymous (bitch2k@dyn-042-184.vix1.mmc.at)
L219[02:57:40] <Lordmau5> nice
L220[03:00:02] ⇦ Quits: [NK]Ghost (~GFt@static-72-64-90-31.dllstx.fios.verizon.net) ()
L221[03:00:52] ⇦ Quits: McJty (~McJty@bluecoat2.uzleuven.be) (Quit: Poof)
L222[03:00:57] ⇦ Quits: thecodewarrior (~thecodewa@75-128-36-18.static.mtpk.ca.charter.com) (Remote host closed the connection)
L223[03:02:46] ⇦ Quits: Upthorn (~ogmar@108-85-88-44.lightspeed.frokca.sbcglobal.net) (Ping timeout: 198 seconds)
L224[03:03:36] ⇨ Joins: ChJees (~ChJees@h211n5-sv-a13.ias.bredband.telia.com)
L225[03:03:58] ⇨ Joins: Upthorn (~ogmar@108-85-88-44.lightspeed.frokca.sbcglobal.net)
L226[03:05:54] <Wuppy> good morning :)
L227[03:06:02] <Lordmau5> o/
L228[03:09:57] <RANKSHANK> Hola
L229[03:10:45] ⇨ Joins: Szernex (~Szernex@188-23-214-49.adsl.highway.telekom.at)
L230[03:11:20] <Wuppy> how's peeps today
L231[03:12:12] <Wuppy> if only I was here... http://www.pcgamer.com/watch-gabe-newells-oprah-moment-as-he-gives-out-free-vr-headsets/?utm_content=buffere24b9&utm_medium=social&utm_source=facebook&utm_campaign=buffer_pcgfb
L232[03:12:53] <Wuppy> smart technique as well, this way you instantly create a lot of developers for your platform
L233[03:14:07] <RANKSHANK> Yeah that's definitely investing your money well haha
L234[03:19:08] ⇨ Joins: alex_6611 (~alex_6611@p549364B8.dip0.t-ipconnect.de)
L235[03:19:56] <Lordmau5> Can we all down-hype the oculus and hype up the HTC Vive?
L236[03:20:32] <Lordmau5> so much more potential, and it's gonna be available for LESS than 600€ :D
L237[03:20:38] <Lordmau5> $600, w/e, still expensive
L238[03:20:38] <Wuppy> our school has both which we can easily work with so I'm fine either way \o/
L239[03:24:25] <Wuppy> hmm I'm now wearing a fallout shirt even though I've never played any fallout games... I should change that :P
L240[03:26:02] <Saturn812> valve missed the chance to attract developers for the platform long time ago...
L241[03:26:15] <Wuppy> why's that Saturn812 ?
L242[03:26:57] <Saturn812> their dev tools are covered in dust and very difficult to use. In compare with other engines like Unreal for example.
L243[03:27:36] <Wuppy> wihch dev tools are you talking about?
L244[03:27:55] <Saturn812> Also with orangebox version of the engine they started to move from their own concepts more and more and in later game half of the stuff is hard coded or scripted instead of using engine powers
L245[03:28:40] <Wuppy> what does their engine have to do with the vive?
L246[03:28:46] <Saturn812> any tools you might need actually. Most of the assets tools don't have any gui and almost all of them never were updated since hl2 version of the engine came out
L247[03:29:05] <Lordmau5> speaking of valve
L248[03:29:09] <Lordmau5> https://www.reddit.com/r/pcmasterrace/comments/44v2jn/another_potential_halflife_3_leak_and_controversy/
L249[03:29:23] ⇨ Joins: fuj1n (~fuj1n@101.190.36.69)
L250[03:29:29] <Saturn812> a lot of people will think twice about using any valve's technology for development now
L251[03:29:39] <Wuppy> again Saturn812, what do their engine tools have to do with the vive?
L252[03:29:55] <Lordmau5> ^
L253[03:30:57] <Saturn812> same company, same approach i guess? I know i would first consider the alternative and only then something from valve. Even tho i've been doing source engine dev for the past 8 years or so, more or less
L254[03:31:34] <Wuppy> Saturn812, so if a company screws up once, nobody will ever work with/for it anymore?
L255[03:31:41] <Wuppy> Lordmau5, what's bad robot again?
L256[03:31:42] <Lordmau5> if I would have to choose between the vr headsets, Oculus is still at the bottom
L257[03:31:53] <Wuppy> even below google cardboard?
L258[03:32:11] <Lordmau5> talking about the actual headsets
L259[03:32:15] ⇦ Quits: Fjolnir|afk (~Fjolnir@ipv6.madjake45.me) (Ping timeout: 189 seconds)
L260[03:32:16] <Lordmau5> not just something you put your phone into
L261[03:32:16] <Saturn812> it's not once. It's been in that stage for ages and it doesn't really change (map editor for Dota 2 is the only exception pretty much)
L262[03:32:35] <Lordmau5> HTC Vive | Razer OSVR | ?some other product? | Oculus
L263[03:33:17] <Saturn812> why on the bottom? Oculus has Carmac :D
L264[03:33:52] <Lordmau5> Oculus lied to us
L265[03:34:06] <Lordmau5> they even try to go for a "exlusive" approach - as in, some games will only be available on the Oculus
L266[03:34:10] <Lordmau5> and not other headsets
L267[03:34:43] <Saturn812> well, consoles still do it even tho there is no much of the logic in it
L268[03:35:18] <Saturn812> although, supporting single platform is a dick move
L269[03:35:21] <Lordmau5> consoles do console exclusive?
L270[03:35:23] <killjoy> http://imgur.com/ZSYVi2d
L271[03:35:25] <Lordmau5> I think it's rather the developers*
L272[03:35:42] <Lordmau5> but then again, we have bullshit like The Division that get's fucking downgraded on PC because it would be "unfair for consoles"
L273[03:36:08] <Saturn812> right. I think it's just an excuse for their incompitance
L274[03:36:21] <Saturn812> *incompetence
L275[03:36:22] <Lordmau5> isn't it developed by Ubisoft?
L276[03:36:26] <Saturn812> yes
L277[03:36:33] *** Darkevilmac is now known as DarkevilAway
L278[03:36:36] <Lordmau5> CAN'T EVEN MAKE A PROPER ENGINE FOR ASSASSIN'S CREED
L279[03:36:45] <Lordmau5> :P
L280[03:37:00] <Saturn812> aren't they using unreal engine for creed?
L281[03:37:01] *** AEnterprise is now known as AEnterpriseAFK
L282[03:37:10] <Lordmau5> no?
L283[03:37:16] <Lordmau5> they use their own one, uh... what was it called
L284[03:37:18] <Lordmau5> Anvil Engine
L285[03:37:27] <Lordmau5> and I think AC Syndicate uses Anvil Next
L286[03:37:40] <Lordmau5> it would be a godsend if they'd just go with UE4
L287[03:38:03] <Saturn812> oh right, it's only Chronicles that use unreal
L288[03:38:46] <Lordmau5> does it at least run well?
L289[03:39:01] <Lordmau5> because if it does not, I don't know why they always manage to fuck up the AC games :D
L290[03:39:15] <Lordmau5> any game* they develop
L291[03:39:25] <Lordmau5> AC 1 and 2 were good, but everything above that went downhill
L292[03:39:30] <Lordmau5> that series is purely shovelware
L293[03:41:26] <Lordmau5> I wonder when they'll figure out that they can get extra money by adding character-modification-DLC
L294[03:41:37] <Lordmau5> as in, new hats, new outfits, that kinda bullshit - but ONLY buyable with real money!
L295[03:43:14] *** DarkevilAway is now known as Darkevilmac
L296[03:44:12] ⇨ Joins: Noppes (~Noppes@82-168-99-26.ip.telfort.nl)
L297[03:45:05] <Saturn812> can't tell, i only played in AC 1 and that's it
L298[03:45:25] <Cypher121> I didn't even finish 1, lol
L299[03:45:35] <Lordmau5> AC 1 is like Prototype 1
L300[03:45:42] <Lordmau5> effing hard at certain parts
L301[03:45:56] ⇨ Joins: Naiten (Naiten@5.143.34.188)
L302[03:46:22] <Wuppy> oh fuck this... they started drilling again
L303[03:47:09] <Cypher121> it's not ac1 that was hard for me
L304[03:47:18] <Cypher121> it was playing it on xbox
L305[03:48:27] <Lordmau5> I fear to say it, but it's as it is
L306[03:48:27] <Lordmau5> PCMR
L307[03:49:30] *** K-4U|Off is now known as K-4U
L308[03:49:32] <Cypher121> yup
L309[03:49:57] <Cypher121> which doesn't cancel out the fact that kinect was promising at first
L310[03:50:02] <Cypher121> but yeah, PCMR
L311[03:50:17] <Wuppy> time to do art :<
L312[03:52:52] <Cypher121> yeah, I definitely need to add some more hooks for getting things
L313[03:53:25] <Cypher121> state.getStateOfNode(map.getNode("name")) gets old faster than I thought
L314[03:53:40] <Lordmau5> I just wish developers would see the full potential of PCs properly...
L315[03:53:58] <Lordmau5> and that if you want to play with super-high-end-graphics you gotta spend a shitton of money
L316[03:54:10] <Lordmau5> If I spend $5000 for my PC, I don't want it to be locked to console graphics
L317[03:54:15] <Lordmau5> OR 30fps
L318[03:54:32] <Wuppy> Lordmau5, you must love The Division then
L319[03:54:43] <Lordmau5> if I were to say "ok, I'm not having enough money" or "I don't want to spend enough money" and am fine with a console, that's cool
L320[03:54:52] <Lordmau5> not saying I have a $5k Pc, but that's my PoV
L321[03:55:06] <Wuppy> no I understand and 100% agree
L322[03:55:13] *** Kolatra is now known as Kolatra[away]
L323[03:55:19] <Lordmau5> but devs are like "ye, 30fps lock, ez, we have to do less work to optimize things"
L324[03:55:29] <Wuppy> just wondering if you were aware of the The Division situation
L325[03:55:42] <Lordmau5> even Ubisoft could do a proper AC title again, if they'd just put another year of development into them
L326[03:55:49] <Lordmau5> and ye, I mentioned The Division before already
L327[03:55:54] ⇦ Quits: Zyferus (Zyferus@172-3-154-217.lightspeed.mssnks.sbcglobal.net) (Ping timeout: 189 seconds)
L328[03:55:59] <Lordmau5> > but then again, we have bullshit like The Division that get's fucking downgraded on PC because it would be "unfair for consoles"
L329[03:56:17] <Wuppy> oh, I wasn't paying great attention
L330[03:56:23] <Lordmau5> compare a $300-600 console with a $1500 PC
L331[03:56:26] <Lordmau5> it's ok :p
L332[03:56:26] <Wuppy> I need a lot of attention to make sprites look even half decent
L333[03:56:27] <Cypher121> Lordmau5: ever seen FFXIII PC port
L334[03:56:32] <Lordmau5> no, haven't
L335[03:56:41] <Cypher121> it was locked at 720p
L336[03:56:45] <Lordmau5> dude nice
L337[03:56:46] <Cypher121> had awful controls
L338[03:57:00] <Cypher121> and pressing Esc closed it immediately
L339[03:57:03] <Lordmau5> that's the problem with porting games that are optimized for consoles
L340[03:57:09] <Lordmau5> consoles / controllers
L341[03:57:22] <Cypher121> oh right, saves are on checkpoints only, so there goes your progress
L342[03:57:32] ⇨ Joins: Zyferus (Zyferus@172-3-154-217.lightspeed.mssnks.sbcglobal.net)
L343[03:57:42] <Lordmau5> nice...
L344[03:58:01] <Cypher121> fortunately, Square Enix aren't stupid enough to leave it like that, so they changed it significantly
L345[03:58:02] <Lordmau5> Then again, just go with the resurrection of Hourglass and do savestates
L346[03:58:19] <Lordmau5> (Tool Assisted Speedrun... tool)
L347[03:58:26] <Lordmau5> for windows games
L348[03:58:48] ⇨ Joins: madcrazydrumma (~madcrazyd@host-78-144-207-166.as13285.net)
L349[03:59:09] <madcrazydrumma> Im getting this error when trying to export my mod: (use -source 8 or higher to enable lambda expressions)
L350[03:59:29] <Cypher121> sourceCompatibility = targetCompatibility = "1.8"
L351[03:59:42] <madcrazydrumma> Where do i find that?
L352[03:59:51] <Lordmau5> build.gradle
L353[03:59:52] <Cypher121> you place it in build.gradle
L354[04:00:01] <Lordmau5> it should state 1.7 - change it to 1.8
L355[04:00:29] <Cypher121> it's not present at all, iirc
L356[04:00:30] <fry> actually, it should state 1.6
L357[04:00:36] <madcrazydrumma> I dont see it anywhere
L358[04:00:40] <Cypher121> anyway, should look like this: https://github.com/Magneticraft-Team/Magneticraft/blob/master/build.gradle#L24-L25
L359[04:00:46] <Cypher121> madcrazydrumma: ^
L360[04:01:06] <Wuppy> does this somewhat look like a space ship?
L361[04:01:10] <Cypher121> by default it's set to 1.6 and these lines aren't present at all
L362[04:01:16] <Lordmau5> ah
L363[04:01:18] <madcrazydrumma> Ahh right
L364[04:01:25] <madcrazydrumma> They should be tbf
L365[04:01:53] <madcrazydrumma> If my mod is a server mod, when i build using 'gradlew build' it should be one hey?
L366[04:02:06] <Cypher121> what?
L367[04:02:22] <madcrazydrumma> My mod is meant to be run on a server
L368[04:02:45] <Cypher121> then you should place something in your @Mod annotation, but I don't remember what exactly
L369[04:03:37] <Cypher121> acceptableRemoteVersions = "*"
L370[04:04:13] <Lordmau5> that, and "serverSideOnly" = true
L371[04:04:29] <Lordmau5> if you want to prevent it from loading on the client, if someone puts it into the client by accident
L372[04:04:46] ⇨ Joins: Kaiyouka (~IdiotNono@c-75-71-231-133.hsd1.co.comcast.net)
L373[04:04:57] <madcrazydrumma> My server mod uses the clients for IEEP, its still alright to just use it on the server hey
L374[04:04:58] <madcrazydrumma> ?
L375[04:05:25] ⇨ Joins: yopu (~yopu@184-89-171-53.res.bhn.net)
L376[04:06:59] <Cypher121> Lordmau5: client is always a server too, so not loading server-only mods rarely makes sense
L377[04:07:45] <Cypher121> madcrazydrumma: basically clients shouldn't even know there's ANY modding going on. what do you mean by "uses clients for IEEP?"
L378[04:08:45] <madcrazydrumma> Like i have gold stored for each player
L379[04:08:59] <madcrazydrumma> But commands used for it are only available for the server
L380[04:09:45] ⇦ Quits: yopu (~yopu@184-89-171-53.res.bhn.net) (Ping timeout: 186 seconds)
L381[04:09:57] ⇨ Joins: Mossyblog (~mossyblog@58-7-237-186.dyn.iinet.net.au)
L382[04:10:12] <Cypher121> so you're using players, not clients
L383[04:10:15] <Cypher121> that's ok
L384[04:10:19] <madcrazydrumma> ok
L385[04:12:39] <Cypher121> damn, I love how fast this SSD works
L386[04:12:54] <Cypher121> rebooted in about 20 seconds
L387[04:13:05] <madcrazydrumma> :o
L388[04:13:09] <madcrazydrumma> what ssd is it?
L389[04:13:29] <Cypher121> Crucial MX200
L390[04:13:31] <Cypher121> 1 TB
L391[04:13:54] <madcrazydrumma> See i only like SSD's for bios
L392[04:14:04] <madcrazydrumma> I dont like storing stuff on them
L393[04:16:21] <killjoy> HDDs are cheap anyway
L394[04:16:31] <killjoy> $80 gets you a decent 1TB HDD
L395[04:16:45] <Cypher121> I put both OS on them
L396[04:16:50] <madcrazydrumma> ^^
L397[04:16:52] <madcrazydrumma> Hm
L398[04:17:19] <Cypher121> I still have 2 HDDs (2 + 0.5 TB), so I store most of stuff on them
L399[04:17:34] <madcrazydrumma> Yeah i just prefer to store on HDD and keep a small SSD for OS and bios
L400[04:17:36] ⇨ Joins: ZaggyMobile2 (~Zaggy1024@174-20-167-106.mpls.qwest.net)
L401[04:18:22] ⇦ Quits: necrogami (~necrogami@199.193.248.29) (Ping timeout: 198 seconds)
L402[04:18:30] ⇨ Joins: necrogami (~necrogami@199.193.248.29)
L403[04:23:16] <killjoy> I have a 256GB SSD and a 1TB HDD
L404[04:23:45] ⇦ Quits: madcrazydrumma (~madcrazyd@host-78-144-207-166.as13285.net) (Quit: Leaving)
L405[04:24:12] * Lordmau5 flexes knuckles
L406[04:24:33] * killjoy cracks Lordmau5's knuckles
L407[04:24:35] <Lordmau5> 256GB SSD, 1TB HDD, 3TB HDD, 6TB HDD, 8TB Ext HDD solely for backup purposes
L408[04:24:41] <Lordmau5> and 2x1TB HDD in hot-swap
L409[04:24:53] <Lordmau5> 8TB is cheap as duck as well. ~220€
L410[04:24:53] <killjoy> why don't you just use a raid configuration?
L411[04:24:57] <Wuppy> finally finished a single damn sprite :<
L412[04:24:57] <Lordmau5> no?
L413[04:25:17] <killjoy> raid 5 is pretty good
L414[04:25:44] ⇦ Quits: Upth (~ogmar@108-85-88-44.lightspeed.frokca.sbcglobal.net) (Read error: Connection reset by peer)
L415[04:25:55] ⇨ Joins: Upth (~ogmar@108-85-88-44.lightspeed.frokca.sbcglobal.net)
L416[04:27:57] <killjoy> better make it a NAT
L417[04:28:01] <killjoy> *NAS
L418[04:28:22] <Lordmau5> my PC?! no
L419[04:28:33] <Lordmau5> the 1TB is for PS3 isos, Movies and Anime.
L420[04:28:49] <killjoy> trust me, I'm a CTI major
L421[04:28:52] <Cypher121> 1tb for anime?
L422[04:28:54] <Cypher121> pleb
L423[04:28:55] <Lordmau5> 3TB mostly for games (Steam & non-steam), downloads and whatnot, e.g. local recordings from OBS
L424[04:29:04] <Lordmau5> not really, ~500GB though
L425[04:29:11] <Lordmau5> I'm not the streamer kind-of person :)
L426[04:29:20] <Lordmau5> streaming*, whatever
L427[04:29:41] <Lordmau5> my 6TB is currently not having much stuff on it. but that'll change
L428[04:29:43] <killjoy> My steam folder is clocking at 250 GB
L429[04:29:53] <killjoy> so about the size of my C: drive
L430[04:29:57] <Lordmau5> oh! and my whole music collection is on my 3TB
L431[04:30:02] <Lordmau5> which is another 1.XTB
L432[04:30:13] <killjoy> Your music is old?
L433[04:30:18] <Lordmau5> I can show pics of the specific folders / drives later
L434[04:30:21] <Lordmau5> huh?
L435[04:30:36] <Cypher121> I honestly don't even need 5TB total
L436[04:30:37] <Lordmau5> I mainly go for FLAC when I can, so one album with 10 songs easily reaches ~400mb
L437[04:30:43] <Lordmau5> I'm a hoarder ^^
L438[04:30:58] <killjoy> I'm using .3 of my 1tb hdd
L439[04:31:24] <Cypher121> the only things I still store on my PC are games and some anime that is hard to find with good subs
L440[04:31:34] <Cypher121> everything else is easier to access online
L441[04:31:45] <killjoy> speaking of anime, I'm finishing up the last episode of SAOII
L442[04:31:54] <Lordmau5> oh god, you actually watched the 2nd season?
L443[04:31:57] <Lordmau5> or rather, SAO 2?
L444[04:32:01] <killjoy> yeah
L445[04:32:03] <Lordmau5> I dropped it after ep. 6, it was horrible
L446[04:32:06] <Lordmau5> compared to the first one >_>
L447[04:32:12] <killjoy> opm got me into subtitles
L448[04:32:13] <Lordmau5> and I'm not talking Alfheim, even though that was okay as well
L449[04:32:24] <Lordmau5> opm as in One Punch Man?
L450[04:32:24] <Wuppy> why does unity require like 30 GB to build to android and windows :V
L451[04:32:29] <killjoy> yes
L452[04:32:34] <Lordmau5> that anime is SO AMAZING
L453[04:32:38] <Lordmau5> I had so many laughs during it :D
L454[04:32:47] <killjoy> I hear it's a comedy
L455[04:33:05] <killjoy> the funny part is the anti-climax
L456[04:33:06] <Lordmau5> it's great
L457[04:33:16] <Lordmau5> if you haven't watched it yet then do it
L458[04:33:31] <killjoy> I have
L459[04:33:39] <killjoy> waiting for s2
L460[04:33:44] <Lordmau5> just wanted to say the same
L461[04:33:48] <Lordmau5> I doubt they'll miss out on that
L462[04:34:06] <killjoy> someome make a onepunchman mod
L463[04:34:28] ⇨ Joins: RedBullWasTaken (~red@2-107-192-82-static.dk.customer.tdc.net)
L464[04:35:13] <Cypher121> you mean Draconic Evolution?
L465[04:35:34] <killjoy> maybe
L466[04:35:47] <killjoy> Can I become a cyborg that can shoot fire from my hands?
L467[04:35:56] <Lordmau5> could be implemented into my old super powers mod that I did with jk-5 ^^
L468[04:35:59] <Lordmau5> or rather, "started" on
L469[04:36:09] <Lordmau5> literally had no functionality, but the idea was there and all
L470[04:36:20] <killjoy> I want to be momen rider
L471[04:36:26] <killjoy> *mumen
L472[04:36:29] <Lordmau5> Licenseless* Rider
L473[04:36:48] <killjoy> ah, can't drive
L474[04:37:47] ⇨ Joins: McJty (~McJty@bluecoat2.uzleuven.be)
L475[04:38:10] ⇦ Quits: CovertJaguar (~you@65.183.205.6) (Ping timeout: 198 seconds)
L476[04:38:28] <killjoy> have you seen the one punch man parody that was uploaded a week ago?
L477[04:38:33] <Lordmau5> ?
L478[04:38:46] <killjoy> https://www.youtube.com/watch?v=UZ8VueL2oVQ
L479[04:38:56] <Lordmau5> oh god
L480[04:40:21] <Lordmau5> ye, no, not that good
L481[04:40:46] ⇦ Quits: ZaggyMobile2 (~Zaggy1024@174-20-167-106.mpls.qwest.net) (Remote host closed the connection)
L482[04:41:15] <killjoy> Yeah, animation isn't his strong point
L483[04:41:22] <killjoy> VA's pretty good
L484[04:41:54] ⇨ Joins: ZaggyMobile2 (~Zaggy1024@174-20-167-106.mpls.qwest.net)
L485[04:45:10] <Cypher121> yay, research syncing works
L486[04:49:23] ⇨ Joins: thecodewarrior (~thecodewa@75-128-36-18.static.mtpk.ca.charter.com)
L487[04:53:01] ⇦ Quits: thecodewarrior (~thecodewa@75-128-36-18.static.mtpk.ca.charter.com) (Ping timeout: 198 seconds)
L488[04:54:09] ⇦ Quits: alex_6611 (~alex_6611@p549364B8.dip0.t-ipconnect.de) (Ping timeout: 198 seconds)
L489[04:54:49] *** Darkevilmac is now known as DarkevilAway
L490[04:55:18] ⇦ Quits: RANKSHANK (~RANKSHANK@pa49-181-174-199.pa.nsw.optusnet.com.au) (Quit: Bye)
L491[04:58:02] ⇨ Joins: RANKSHANK (~Michael@ppp121-44-139-233.lns20.syd7.internode.on.net)
L492[05:01:45] ⇨ Joins: Mraof (~mraof@pool-74-110-222-32.rcmdva.fios.verizon.net)
L493[05:05:08] ⇦ Quits: killjoy (~killjoy@2606:a000:1118:c049:9095:21ba:358b:9ed7) (Quit: Leaving)
L494[05:12:10] *** PaleOff is now known as PaleoCrafter
L495[05:14:19] ⇨ Joins: alex_6611 (~alex_6611@p549364B8.dip0.t-ipconnect.de)
L496[05:18:05] ⇦ Quits: mezz (~mezz@2601:641:4000:63:6927:9f0b:7a9b:9779) (Read error: Connection reset by peer)
L497[05:20:02] *** kroeser is now known as kroeser|away
L498[05:21:00] ⇨ Joins: Pennyw95 (~Dr.Benway@host84-156-dynamic.16-79-r.retail.telecomitalia.it)
L499[05:21:09] ⇨ Joins: Loetkolben (~Loetkolbe@ipbcc17c0a.dynamic.kabel-deutschland.de)
L500[05:23:39] ⇦ Quits: AforAnonymous (bitch2k@dyn-042-184.vix1.mmc.at) (Killed (NickServ (GHOST command used by lolinternet)))
L501[05:28:47] *** Sleepyfglnxehf is now known as Flenix
L502[05:30:08] ⇦ Quits: Upthorn (~ogmar@108-85-88-44.lightspeed.frokca.sbcglobal.net) (Quit: this quit message is 100% guaranteed not to contain obscenity.)
L503[05:40:51] ⇨ Joins: Upthorn (~ogmar@108-85-88-44.lightspeed.frokca.sbcglobal.net)
L504[05:53:45] <Pennyw95> what's the point of a tile entity without ITickable?
L505[05:54:04] <Lordmau5> well, exactly what it is
L506[05:54:07] <Lordmau5> a tile entity that doesn't tick
L507[05:54:17] <Lordmau5> Which would be... a... chest, for example?
L508[05:54:42] <Lordmau5> afaik, chests don't tick
L509[05:55:11] *** kroeser|away is now known as kroeser
L510[05:55:14] <Pennyw95> so, it would be the natural extension of a block, only with more space
L511[05:55:16] <McJty> Pennyw95, there are many uses
L512[05:55:26] <Lordmau5> it's not just a chest that would be applicable here
L513[05:55:26] <McJty> Tile entities are useful for storing information
L514[05:55:31] <Lordmau5> ^
L515[05:56:01] <Lordmau5> I'm trying to think of more potential usages of non-ticking tiles
L516[05:56:08] <Lordmau5> Chest was the only one that came into my mind now...
L517[05:56:10] <Lordmau5> oh
L518[05:56:12] <McJty> Chests and other containers are obvious
L519[05:56:18] <Lordmau5> ye, true
L520[05:56:29] <Lordmau5> a Crafting Table that stores it's inventory
L521[05:56:32] <McJty> Also things that perform an immediate action when you activate them
L522[05:56:35] <Lordmau5> would count towards Chest though, but either way! :D
L523[05:56:50] <Pennyw95> even a fluid tank wouldn't need itickable, then
L524[05:57:06] <Pennyw95> cool
L525[05:57:16] <Lordmau5> technically, ye
L526[05:57:42] <Lordmau5> are buildcraft tanks ticking?
L527[05:57:51] ⇦ Quits: Szernex (~Szernex@188-23-214-49.adsl.highway.telekom.at) (Killed (NickServ (GHOST command used by Szernex_!~Szernex@88-117-112-51.adsl.highway.telekom.at)))
L528[05:57:57] ⇨ Joins: Szernex (~Szernex@88-117-112-51.adsl.highway.telekom.at)
L529[05:58:07] <PaleoCrafter> I suppose it depends on the tank
L530[05:58:07] <McJty> No idea. I would hope not
L531[05:58:19] <PaleoCrafter> if you have something like TE's portable tanks, they'd kinda need to be ticking
L532[05:58:20] <Lordmau5> it does
L533[05:58:34] <McJty> PaleoCrafter, why does that need ticking?
L534[05:58:48] <Lordmau5> thinking of the portable tanks that allow auto output
L535[05:58:51] <Lordmau5> I assume*
L536[05:58:52] <PaleoCrafter> ^
L537[05:59:02] <Lordmau5> portable tanks without that feature wouldn't need it
L538[05:59:23] ⇨ Joins: thecodewarrior (~thecodewa@75-128-36-18.static.mtpk.ca.charter.com)
L539[05:59:26] ⇦ Quits: thecodewarrior (~thecodewa@75-128-36-18.static.mtpk.ca.charter.com) (Remote host closed the connection)
L540[06:00:15] <Pennyw95> very nice, off to remove the itickable from the abstract clsss then
L541[06:00:43] <McJty> oh yes. Certainly don't make everything tickable by default
L542[06:00:52] <McJty> I'm very happy that interface was introduced
L543[06:00:59] <Lordmau5> OpenBlocks tanks don't implement ITickable it seems
L544[06:01:01] <McJty> Before that tickable was default because vanilla had canupdate() return true
L545[06:01:46] <Lordmau5> USB floppy drive, urgh
L546[06:02:01] <Pennyw95> openblocks is 1.8?
L547[06:02:03] <Lordmau5> damn, let me tell you, it's not easy to install windows XP on a skylake motherboard
L548[06:02:08] <Lordmau5> seems like it to me?
L549[06:02:15] <Pennyw95> oh, didn't know that
L550[06:02:29] <McJty> Seems it is being ported
L551[06:02:37] <Lordmau5> ah no it isn't
L552[06:02:40] <Lordmau5> hmm
L553[06:02:46] <McJty> https://github.com/OpenMods/OpenBlocks/tree/1.8.X
L554[06:03:09] <Lordmau5> searching ITickable doesn't show jackshit
L555[06:06:04] ⇨ Joins: yopu (~yopu@184-89-171-53.res.bhn.net)
L556[06:06:47] <Lordmau5> gotta love that everyone pretty much has to rely on this
L557[06:06:47] <Lordmau5> https://github.com/OpenMods/OpenModsLib/blob/1.8.X/src/main/java/openmods/tileentity/OpenTileEntity.java#L73-L75
L558[06:07:34] ⇦ Quits: Pennyw95 (~Dr.Benway@host84-156-dynamic.16-79-r.retail.telecomitalia.it) (Quit: Leaving)
L559[06:07:54] ⇨ Joins: Pennyw95 (~androirc@host84-156-dynamic.16-79-r.retail.telecomitalia.it)
L560[06:11:45] ⇦ Quits: Pennyw95 (~androirc@host84-156-dynamic.16-79-r.retail.telecomitalia.it) (Ping timeout: 189 seconds)
L561[06:22:45] ⇨ Joins: psxlover (psxlover@athedsl-385531.home.otenet.gr)
L562[06:22:50] ⇦ Quits: Naiten (Naiten@5.143.34.188) (Read error: Connection reset by peer)
L563[06:23:56] ⇦ Quits: Davnit (~Davnit@71-47-89-196.res.bhn.net) (Read error: Connection reset by peer)
L564[06:27:29] *** airbreather__ is now known as airbreather
L565[06:27:45] ⇨ Joins: Pennyw95 (~androirc@host84-156-dynamic.16-79-r.retail.telecomitalia.it)
L566[06:35:11] ⇨ Joins: Isi (~Isi@cpc73928-walt17-2-0-cust74.13-2.cable.virginm.net)
L567[06:37:57] ⇦ Quits: Upth (~ogmar@108-85-88-44.lightspeed.frokca.sbcglobal.net) (Read error: Connection reset by peer)
L568[06:38:09] ⇨ Joins: Upth (~ogmar@108-85-88-44.lightspeed.frokca.sbcglobal.net)
L569[06:59:48] ⇨ Joins: MalkContent (MalkConten@p4FDCEA53.dip0.t-ipconnect.de)
L570[07:00:11] ⇦ Quits: poiuy_qwert (~poiuy_qwe@198-84-224-94.cpe.teksavvy.com) (Quit: This computer has gone to sleep)
L571[07:00:22] ⇨ Joins: poiuy_qwert (~poiuy_qwe@198-84-224-94.cpe.teksavvy.com)
L572[07:08:16] ⇨ Joins: Davnit (~Davnit@71-47-89-196.res.bhn.net)
L573[07:14:01] *** AEnterpriseAFK is now known as AEnterprise
L574[07:29:24] *** V is now known as Vigaro
L575[07:33:46] ⇦ Quits: ZaggyMobile2 (~Zaggy1024@174-20-167-106.mpls.qwest.net) (Read error: Connection reset by peer)
L576[07:35:03] *** PaleoCrafter is now known as PaleOff
L577[07:35:23] *** Vigaro is now known as V
L578[07:36:49] ⇨ Joins: ZaggyMobile2 (~Zaggy1024@174-20-167-106.mpls.qwest.net)
L579[07:38:36] *** V is now known as Vigaro
L580[07:47:30] ⇦ Quits: Pennyw95 (~androirc@host84-156-dynamic.16-79-r.retail.telecomitalia.it) (Read error: Connection reset by peer)
L581[07:47:51] ⇨ Joins: thecodewarrior (~thecodewa@75-128-36-18.static.mtpk.ca.charter.com)
L582[07:51:21] ⇦ Quits: thecodewarrior (~thecodewa@75-128-36-18.static.mtpk.ca.charter.com) (Ping timeout: 186 seconds)
L583[07:51:24] ⇦ Quits: covers1624 (~covers162@ppp121-45-25-252.lns20.adl2.internode.on.net) (Read error: Connection reset by peer)
L584[07:51:47] ⇨ Joins: covers1624 (~covers162@ppp121-45-25-252.lns20.adl2.internode.on.net)
L585[07:52:21] ⇨ Joins: Pennyw95 (~Dr.Benway@host84-156-dynamic.16-79-r.retail.telecomitalia.it)
L586[07:57:45] *** Vigaro is now known as V
L587[07:58:48] ⇨ Joins: ghz|afk (gigaherz@37.Red-79-148-159.dynamicIP.rima-tde.net)
L588[07:59:18] *** ghz|afk is now known as gigaherz|bday
L589[08:01:40] ⇨ Joins: Nitrodev (~Nitrodev@dcx0f0ydlqjf63lt3xmct-3.rev.dnainternet.fi)
L590[08:04:38] *** manmaed|AFK is now known as manmaed
L591[08:07:49] ⇦ Quits: poiuy_qwert (~poiuy_qwe@198-84-224-94.cpe.teksavvy.com) (Quit: This computer has gone to sleep)
L592[08:10:52] *** Ashwork is now known as Ashway
L593[08:12:04] ⇦ Quits: VikeStep (~VikeStep@120.156.54.17) (Quit: Leaving)
L594[08:14:01] ⇨ Joins: AforAnonymous (bitch2k@dyn-042-184.vix1.mmc.at)
L595[08:27:13] <simon816> Is there supposed to be a difference between the forge jar in the downloads page to the one the installer downloads?
L596[08:27:32] <gigaherz|bday> ?
L597[08:28:00] <gigaherz|bday> the "universal" jar is designed for custom usage such as uploading to a server hosting service
L598[08:28:30] <simon816> I get this when using universal http://pastebin.com/wcHREPxH
L599[08:28:36] <gigaherz|bday> the "installer" jar configures a client "version" in the official launcher, or can set up a server folder for you
L600[08:28:47] <simon816> I just use universal to update existing setup
L601[08:28:50] <gigaherz|bday> yo uare missing the actual server jar
L602[08:29:05] <gigaherz|bday> you need the "minecraft_server.1.8.9.jar" or whatever the exact name is
L603[08:29:07] <simon816> no it's all there, i'm just doing an in-place updade
L604[08:30:25] <simon816> If I compare the jars, one has META-INF/FORGE.DSA the other doesn't
L605[08:30:33] <gigaherz|bday> wait
L606[08:30:39] <gigaherz|bday> are you on a hosting service?
L607[08:30:43] <gigaherz|bday> you need -nogui
L608[08:30:48] <simon816> no, locally
L609[08:31:03] <unascribed> send an ls -l of your server directory
L610[08:31:07] <Quetzi> which forge?
L611[08:31:19] <simon816> 1732
L612[08:31:27] <Quetzi> try 1738
L613[08:31:39] <unascribed> or send an `ls -l` of the directory >.>
L614[08:31:46] <Lordmau5> OR:
L615[08:31:47] <Lordmau5> Do both :p
L616[08:31:51] <unascribed> ¯\_(ツ)_/¯
L617[08:31:59] <Quetzi> well, that issue was fixed in 1738
L618[08:32:00] <Lordmau5> so both of these nerds can live happily ever after
L619[08:32:05] <Lordmau5> :>
L620[08:32:18] <simon816> oh it works in 1738
L621[08:32:26] <Lordmau5> get rekt, unascribed!
L622[08:32:31] <Lordmau5> :p
L623[08:32:35] <unascribed> >trying to help
L624[08:32:41] <unascribed> >"get rekt" for being 'wrong'
L625[08:32:41] <unascribed> >k
L626[08:32:42] <Lordmau5> btw your StateManager didn't help with my issue on the fluid rendering
L627[08:32:50] <gigaherz|bday> competitive user support
L628[08:32:51] <gigaherz|bday> XD
L629[08:32:51] <Lordmau5> I know what the issue is though
L630[08:32:57] <Lordmau5> giga, no way
L631[08:33:03] <Quetzi> you weren't wrong though
L632[08:33:04] <Lordmau5> it's your birthday?
L633[08:33:08] <gigaherz|bday> yep
L634[08:33:15] <Lordmau5> dude nice, happy cakeday!
L635[08:33:19] <gigaherz|bday> thx
L636[08:33:29] <unascribed> >cakeday
L637[08:33:58] <simon816> oh this probably explains it https://github.com/MinecraftForge/MinecraftForge/commit/32a2bd1dea38d6f3f2eac97f7a40fcf388318d08
L638[08:34:18] <Lordmau5> interesting
L639[08:34:34] <unascribed> which helmet is better?
L640[08:34:34] <unascribed> https://unascribed.com/f/108e97c7_2016-02-11_09.32.11.png
L641[08:34:39] <unascribed> https://unascribed.com/f/ee52f5ed_2016-02-11_09.32.14.png
L642[08:34:49] <Pennyw95> gigaherz: hey, happy birthday!
L643[08:34:52] <gigaherz|bday> thx
L644[08:35:22] ⇨ Joins: Shukaro (~Shukaro@130.108.232.236)
L645[08:35:24] <gigaherz|bday> unascribed: havea key that puts the face thing up and down
L646[08:35:29] <gigaherz|bday> adding an extra bit of armor ;P
L647[08:35:37] <gigaherz|bday> at the exchange of a fullscreen overlay
L648[08:35:39] <gigaherz|bday> ;p
L649[08:35:41] <unascribed> I'd prefer not to add keybinds
L650[08:36:04] <Pennyw95> Lordmau5: what was your issue with fluid rendering?
L651[08:36:09] <Lordmau5> lighting
L652[08:36:18] <Pennyw95> ah right
L653[08:36:28] <Pennyw95> so what was it?
L654[08:36:30] <Lordmau5> I talked with boni about this already (sorry for the ping) and he told me I should do combined-light for it
L655[08:36:38] <Lordmau5> https://github.com/SlimeKnights/TinkersConstruct/blob/master/src/main/java/slimeknights/tconstruct/library/client/RenderUtil.java#L135
L656[08:36:45] <unascribed> currently the helmets are actually two separate items, hence only 3 seconds between the screenshots :P
L657[08:37:04] <Pennyw95> instead of getLuminosity?
L658[08:37:16] <Lordmau5> you didn't read that line yet did you?
L659[08:37:18] <Pennyw95> I mean ,just that
L660[08:37:21] <Pennyw95> no xD
L661[08:37:32] <Pennyw95> ah, I see
L662[08:37:34] <Lordmau5> apparently
L663[08:37:39] <Pennyw95> nice
L664[08:37:40] <Lordmau5> well, before I only took the getLuminosity
L665[08:37:44] <Lordmau5> which, obviously, is 0 at water
L666[08:37:45] <Lordmau5> for example
L667[08:37:54] <Lordmau5> but when you place water in the world, it's not rendering with 0 luminosity
L668[08:37:59] <Lordmau5> but with the combined light which is around it
L669[08:38:16] <Lordmau5> I didn't notice it since I tested most of the tanks with lava in 1.8
L670[08:39:35] <Pennyw95> makes sense
L671[08:39:38] <Pennyw95> (me too)
L672[08:39:47] <Lordmau5> :P
L673[08:39:58] <sham1> Good cakeday giga
L674[08:40:20] <Pennyw95> Minecraft.getMinecraft.theWorld.getCombinedLight(new BlockPos(x,y,z), fluid.getLuminosity)
L675[08:40:23] <gigaherz|bday> thx
L676[08:40:52] <sham1> All the parens that could be there
L677[08:41:00] <Pennyw95> new BlockPos though...not pretty
L678[08:41:15] <Pennyw95> silly me
L679[08:41:21] <sham1> Yeah, lets make it tuple /s
L680[08:41:28] <Lordmau5> huh?
L681[08:41:32] <Lordmau5> why not go with the tilePos?
L682[08:41:35] <Pennyw95> te.getPos
L683[08:41:37] <Lordmau5> ye
L684[08:41:41] <Pennyw95> because I'm an idiot ahah
L685[08:41:45] <Lordmau5> :P
L686[08:42:07] <sham1> Noted
L687[08:44:01] <Pennyw95> that's an awesome render class
L688[08:44:18] ⇦ Quits: Jezza (~Jezza@bps-gw.hrz.tu-chemnitz.de) (Remote host closed the connection)
L689[08:44:48] *** willieaway is now known as williewillus
L690[08:47:04] ⇦ Quits: Hunterz (~hunterz@2001:af0:8000:1c01:6af7:28ff:fe37:5d6a) (Quit: Leaving.)
L691[08:47:42] <Pennyw95> Maybe I'm just missing something obvious, but is there something wrong with making a TE search for its master TE at construction time instead of inside update?
L692[08:48:15] <McJty> Pennyw95, at construction time the master TE may not be there yet.
L693[08:48:34] <McJty> Pennyw95, order at which TE's are created is not defined
L694[08:48:52] <Pennyw95> it always will because my multiblock creator puts the master as the first block. And I've added null checks anyway
L695[08:49:03] <unascribed> but what if the world is loading?
L696[08:49:09] <unascribed> nevermind when you make your multiblock
L697[08:49:25] <Pennyw95> if I save to nbt?
L698[08:49:38] <McJty> Pennyw95, at load time the te's can be reloaded in any order
L699[08:49:44] <McJty> Pennyw95, so your master te can be loaded last
L700[08:49:51] <gigaherz|bday> yay works! first time I make an item that opens a gui
L701[08:49:51] <gigaherz|bday> XD
L702[08:50:03] <Pennyw95> So...i'm forced to put the calculation inside update()?
L703[08:50:10] <McJty> Pennyw95, no
L704[08:50:21] <McJty> What I usually do in such cases is 'lazy evaluation'
L705[08:50:28] <gigaherz|bday> there's a method in the TE
L706[08:50:42] <gigaherz|bday> that is run after the world has been initialized?
L707[08:50:44] <McJty> Only get it when you first need it and cache the location
L708[08:50:45] <gigaherz|bday> IIRC
L709[08:50:52] <McJty> (don't cache the TE itself!)
L710[08:50:54] <gigaherz|bday> but yeah, best approach for multiblocks is
L711[08:50:58] <Pennyw95> java has lazy evaluation?
L712[08:51:00] <gigaherz|bday> keep only the relative location
L713[08:51:03] <Pennyw95> but yes, great idea
L714[08:51:09] <gigaherz|bday> Pennyw95: you do it yourself
L715[08:51:10] <McJty> If you do it yourselves yes
L716[08:51:32] <gigaherz|bday> if(posMaster == null) {posMaster = getPos().offset(xOffset, yOffset, zOffset); }
L717[08:52:02] ⇦ Quits: npe|office (~NPExcepti@bps-gw.hrz.tu-chemnitz.de) (Remote host closed the connection)
L718[08:52:22] <McJty> Do not make the mistake of storing a reference to the actual TE there though. Just remember the position
L719[08:52:50] <Pennyw95> so, the world reloads, a new TE with the old data is made?
L720[08:52:58] <Pennyw95> and poiting to the old one => npe?
L721[08:53:02] <unascribed> if I wanted to render extra stuff on top of the vanilla armor, which event should I use?
L722[08:53:04] <unascribed> Specials.Post?
L723[08:53:05] <McJty> Not a npe but it will not work
L724[08:53:13] <McJty> As the old one cannot get garbage collected
L725[08:53:14] <williewillus> unascribed: 1.7 or 8?
L726[08:53:17] <unascribed> 7
L727[08:53:20] <McJty> So you get a pointer to something that is no longer in the world
L728[08:53:22] <williewillus> yes specials event
L729[08:53:32] <unascribed> for future reference, what would it be in 8
L730[08:53:38] <williewillus> LayerRenderers
L731[08:53:44] <McJty> On the client it is even worse. Tile entities at client side are constantly recreated
L732[08:53:50] <unascribed> that sounds extremely useful and I am now even more annoyed to be stuck on 1.7
L733[08:54:02] <McJty> unascribed, why are you stuck there?
L734[08:54:03] <williewillus> how so stuck :P
L735[08:54:10] <unascribed> this mod only exists for a private modpack
L736[08:54:18] <gigaherz|bday> [15:52] (Pennyw95): and poiting to the old one => npe?
L737[08:54:22] <gigaherz|bday> an NPE would be "nice"
L738[08:54:25] <unascribed> until such a time as the ~20 mods that are still 1.7-only update, I have to develop it for 1.7
L739[08:54:27] <gigaherz|bday> problem is you wouldn't even get an npe
L740[08:54:39] <gigaherz|bday> just an horrible mess where you don't know what's partof the new world, and what's part of the old one
L741[08:55:01] <gigaherz|bday> and that includes chunk unloading/reloading
L742[08:55:09] <gigaherz|bday> imagine your multiblock is in a chunk edge
L743[08:55:16] <gigaherz|bday> and the master is in one chunk
L744[08:55:20] <gigaherz|bday> while a slave is in another chunk
L745[08:55:24] <gigaherz|bday> and the master unloads
L746[08:55:41] <gigaherz|bday> if oyu keep the TE reference, then you'd be keeping data from the unloaded chunk
L747[08:55:44] <gigaherz|bday> and once the chunk reloads
L748[08:55:50] <gigaherz|bday> there would be a NEW te instance created
L749[08:55:57] <gigaherz|bday> but oyu'd still refer to the old one
L750[08:56:12] <McJty> BTW, it might also be a good idea to store relative coordinates and not absolute ones
L751[08:56:16] <Pennyw95> oh ok..
L752[08:56:24] <McJty> That way your structure can be more easily moved with various frame mods
L753[08:56:33] <Pennyw95> relative? like this.getPos.add(distance)?
L754[08:56:40] <McJty> Well not a distance
L755[08:56:42] <McJty> A dx,dy,dz
L756[08:56:47] <gigaherz|bday> yeah
L757[08:56:50] <Pennyw95> didn't want to type pos.getX etc XD
L758[08:56:59] <gigaherz|bday> if oyu are "2 up" "3 west"
L759[08:57:15] <gigaherz|bday> then store xOffset=3, yOffset=-2
L760[08:57:31] <williewillus> or just store that in a pos :P
L761[08:57:37] <gigaherz|bday> so that you can later do getPos().offset(xOff,yOff,zOff)
L762[08:57:38] <Pennyw95> well, I'm actually searching in a 5x5 for the master, that's why I want to te to do it just once
L763[08:57:50] <williewillus> botania multiblocks do that so I can just do getPos().add(offsetPos)
L764[08:57:55] <McJty> Pennyw95, yes that's fine. You can combine that with the tips we gave you here
L765[08:58:10] <gigaherz|bday> well if you don't actually SAVE the relative coords to NBT
L766[08:58:13] <gigaherz|bday> that's a different matter
L767[08:58:35] <McJty> Still makes sense to keep it relative
L768[08:58:41] <McJty> As then the cache will keep working
L769[08:58:48] <Lordmau5> might as well just offer my code o/
L770[08:58:49] <McJty> Otherwise you risk accessing a different block if your structure is moved
L771[08:59:01] <Lordmau5> since I do a master/slave logic as well
L772[08:59:39] <McJty> There are many ways to do multiblocks. In RFTools I now have a multiblock that can span different distant locations and even different dimensions
L773[08:59:43] <Pennyw95> well my master slave stuff wroks just fine, I'm just trying to improve performance
L774[08:59:48] <McJty> And the entire thing stays operational even if those dimensions are not loaded ;-)
L775[08:59:52] <Lordmau5> ah
L776[09:00:07] <Pennyw95> but thanks anyway :)
L777[09:01:10] <Pennyw95> so, I should have the te calculate the master when the multiblock is created, and it will find it. Then, it will save the master's blockpos to nbt, then retrieve the master from them
L778[09:01:34] <McJty> Pennyw95, relative blockpos
L779[09:01:36] <gigaherz|bday> don't save the master blockpos, save the relative position instead
L780[09:01:57] <Pennyw95> so getPos - master.getPos?
L781[09:02:05] <Pennyw95> I mean, the distance for every coord?
L782[09:02:13] <McJty> yes
L783[09:02:14] <gigaherz|bday> yep
L784[09:02:26] <Pennyw95> and that for eventual mods that move stuff?
L785[09:02:41] ⇨ Joins: Cojo (~Cojo@cpe-174-109-251-46.nc.res.rr.com)
L786[09:02:43] <Pennyw95> ok then :) thank you
L787[09:02:45] <McJty> Not eventual
L788[09:02:49] <McJty> RFTools can move stuff already
L789[09:02:50] ⇨ Joins: poiuy_qwert (~poiuy_qwe@206.223.179.158)
L790[09:03:05] <McJty> And players like it when moved things keep working ;-)
L791[09:03:05] <gigaherz|bday> my packingtape mod can move random TileEntities
L792[09:03:09] <gigaherz|bday> unless they are blacklisted ;P
L793[09:03:15] <Pennyw95> BlockPos could benefit from its own writeToNBT method
L794[09:03:18] <unascribed> don't get blacklisted, write your TE correctly :P
L795[09:03:39] <gigaherz|bday> well I had to blacklist command blocks
L796[09:03:41] <gigaherz|bday> for safety ;P
L797[09:04:11] <McJty> My first version of the rftools mover could move bedrock
L798[09:04:25] <gigaherz|bday> https://github.com/gigaherz/PackingTape/blob/master/src/main/java/gigaherz/packingtape/ModPackingTape.java#L92
L799[09:04:28] <gigaherz|bday> heh
L800[09:04:34] <gigaherz|bday> mine only moves tileentities
L801[09:06:34] <Pennyw95> so I have a variable calculated on creation, can I prevent the game to re compute also on new TE instances? and just on multiblock creation?
L802[09:07:04] <McJty> Pennyw95, well if you do it in a lazy way it will only get recomputed when you need it
L803[09:07:10] <McJty> Pennyw95, so that should work in all cases
L804[09:07:48] ⇦ Quits: blood|wrk (~owned@STATIC228.iona.edu) (Read error: Connection reset by peer)
L805[09:08:12] <McJty> If you never use/need it it will never get calculated
L806[09:08:31] <Pennyw95> so this is good: nbt.setInteger("x", this.getPos.getX - master.getPos.getX)
L807[09:10:02] <gigaherz|bday> it's not specifically bad
L808[09:10:11] <gigaherz|bday> but I'd suggest keeping the offset in the TE as a field
L809[09:10:33] <gigaherz|bday> because that way readFromNBT won't be expected to produce a final number
L810[09:10:42] <gigaherz|bday> and you will be ableto lazily evaluate the blockpos when you need it
L811[09:10:53] <unascribed> yeah, and keeping a handle to the master in a field could cause "things to happen that shouldn't happen"
L812[09:11:23] <Pennyw95> I'm getting confused
L813[09:11:41] <Pennyw95> I need to lazily evaluate the master TE object, right?
L814[09:11:56] <gigaherz|bday> no
L815[09:12:00] <gigaherz|bday> the suggestion is
L816[09:12:05] <gigaherz|bday> 1. lazily evaluate the blockpos
L817[09:12:14] <gigaherz|bday> 2. do NOT cache the master TE, get it from the worldObj every time you need it
L818[09:12:40] <Lordmau5> this is how I do it
L819[09:12:40] <Lordmau5> https://github.com/Lordmau5/FFS/blob/master/src/main/java/com/lordmau5/ffs/tile/abstracts/AbstractTankTile.java#L53-L65
L820[09:12:49] <McJty> You can have a convenience method that does getMasterTE() and let it see if there is cached relative position present already
L821[09:12:52] <McJty> If yes then use that
L822[09:13:03] <McJty> If not then calculate it and use that. Using means get the TE at the getPos + relpos
L823[09:13:24] <unascribed> when using RenderPlayerEvent.Specials.Post, is there an easy way to translate to the position of a specific armor piece, or no?
L824[09:15:12] <gigaherz|bday> no idea never used it
L825[09:15:16] *** williewillus is now known as willieaway
L826[09:17:21] <Pennyw95> ah, gigaherz? was onLoad the method you were talking about?
L827[09:17:27] <gigaherz|bday> possibly
L828[09:17:37] <gigaherz|bday> I came across it helping someone else
L829[09:17:41] <gigaherz|bday> but I didn't actually use it myself
L830[09:18:27] ⇨ Joins: big_Xplosion (~big_Xplos@37.ip-51-255-167.eu)
L831[09:21:37] ⇨ Joins: Jezza (~Jezza@185.44.151.118)
L832[09:24:15] <Pennyw95> what if
L833[09:24:18] <gigaherz|bday> does minecraft's drawString support line breaks at all?
L834[09:24:52] <Pennyw95> can a chunk get reloaded while the player is still playing?
L835[09:25:05] <unascribed> gigaherz|bday, no, it'll show an "LF" box
L836[09:25:14] <unascribed> you need to interpret newlines yourself
L837[09:25:29] <gigaherz|bday> found a solution
L838[09:25:33] *** Ashway is now known as Ashlee
L839[09:25:40] <gigaherz|bday> drawSplitString has a width arg
L840[09:26:47] <Pennyw95> Ok guys, question time: lazy eval helps me, but since my slave TE's purpose is to interact with other TEs that look for IInventory or IFluidHandler (pipes), they redirect every request to the master
L841[09:27:21] <Pennyw95> what happens if the world is loading, and one of those connected TEs make a request before the master is loaded, nullifying the lazy eval?
L842[09:27:45] <Pennyw95> the slave redirects*
L843[09:27:52] <McJty> Pennyw95, well if the TE is not present simply do nothing. So check if the TE you get is null
L844[09:28:01] <McJty> Next time the request happens again it will try to find the TE again
L845[09:28:07] <McJty> As soon as it is ready it will start working
L846[09:28:14] <Pennyw95> I already have null checks in the IFluidHandler method...so that it?
L847[09:28:43] <McJty> Can't tell from here but probably
L848[09:28:46] <Pennyw95> but then, if it evals immediately due a request and returns null, it will not eval again and master will stay null
L849[09:29:02] <McJty> Pennyw95, why will it not eval again?
L850[09:29:06] <McJty> Pennyw95, if it is null it will try again next time
L851[09:29:20] <Pennyw95> next time is "next construction time"
L852[09:29:25] <Pennyw95> since it's not inside update
L853[09:29:31] <McJty> ?
L854[09:30:13] <Pennyw95> it's in the constructor
L855[09:30:52] <McJty> So?
L856[09:31:46] <Pennyw95> public TE() {master == null; is(master == null) master = getMaster()}
L857[09:32:15] <Pennyw95> this is done once when the world loads
L858[09:32:15] <McJty> Don't put that in the constructor
L859[09:32:16] <Lordmau5> short question:
L860[09:32:17] <McJty> Use a getter
L861[09:32:22] <Lordmau5> ye that
L862[09:32:26] <McJty> Pennyw95, the constructor should be empty
L863[09:32:33] <gigaherz|bday> we already told you notto keep the master in a field
L864[09:32:34] <Lordmau5> as I said before, check my implementation
L865[09:32:35] <McJty> getMaster() should do all the work
L866[09:32:41] <Lordmau5> never reference the "master" field
L867[09:32:45] <Lordmau5> use getMaster() all thetime
L868[09:32:47] <McJty> And keep the master as a relative coordinate (not the TE)
L869[09:33:09] <McJty> Let getMaster() do the work of seeing if the relative coordinate is set, if not scan for it, and return the TE at that location
L870[09:33:10] <Lordmau5> McJty: so in theory, my implementation is bad? https://github.com/Lordmau5/FFS/blob/master/src/main/java/com/lordmau5/ffs/tile/abstracts/AbstractTankTile.java#L53-L65
L871[09:33:34] <Lordmau5> saying that I should not cache the actual TE, but *only* the position of it
L872[09:33:38] <McJty> I would not keep a reference to the actual valve
L873[09:33:43] <McJty> That can cause problems
L874[09:34:08] <Lordmau5> that's why it's set to null when I update the master-pos
L875[09:34:21] <Lordmau5> so upon the next getMasterValve() call it's getting it fresh
L876[09:34:26] <McJty> What if the chunk containing the master gets reloaded?
L877[09:34:34] <McJty> But your block isn't
L878[09:34:36] <McJty> So you get a new TE
L879[09:34:41] <McJty> But you will never know
L880[09:34:45] <McJty> And still refer to the old valve
L881[09:34:51] <Lordmau5> hmm...
L882[09:35:13] <Lordmau5> Then again, I went for this because I thought that always calling getTileEntity(blockpos) would drain performance
L883[09:35:27] <McJty> That's pretty efficient. I wouldn't worry about that
L884[09:35:31] <McJty> But I have to go
L885[09:35:35] <McJty> Later!
L886[09:35:39] <Lordmau5> ok o/
L887[09:35:40] <unascribed> yeah, it's a map lookup
L888[09:35:40] <Pennyw95> bye
L889[09:35:41] <unascribed> cya
L890[09:35:42] ⇦ Quits: McJty (~McJty@bluecoat2.uzleuven.be) (Quit: Poof)
L891[09:35:46] <Lordmau5> ah ok, map lookup
L892[09:35:58] <Lordmau5> I'll make sure to change that method later on then to prevent potential future crashes
L893[09:36:49] ⇨ Joins: thecodewarrior (~thecodewa@75-128-36-18.static.mtpk.ca.charter.com)
L894[09:39:03] *** PaleOff is now known as PaleoCrafter
L895[09:39:25] <Pennyw95> I'd do to do without implementing ITickable though
L896[09:39:31] <Pennyw95> I'd like to*
L897[09:40:12] ⇦ Quits: thecodewarrior (~thecodewa@75-128-36-18.static.mtpk.ca.charter.com) (Ping timeout: 189 seconds)
L898[09:40:28] <Lordmau5> back to my question:
L899[09:40:36] <Lordmau5> when is "validate" being called? I think I asked this already in the past
L900[09:40:42] <Lordmau5> before the world is initiated, or after?
L901[09:40:47] <Lordmau5> as in, is it called when the worldObj is null?
L902[09:42:13] <Pennyw95> man, what re computing the master only when requested by pipes? and lazy eval at construction time?
L903[09:42:37] <gigaherz|bday> gah crap, I discovered a flaw with my idea
L904[09:42:41] <Pennyw95> what about*
L905[09:42:43] <gigaherz|bday> now that I finished implementing it
L906[09:42:57] <gigaherz|bday> Pennyw95:
L907[09:43:03] <gigaherz|bday> don't do anything at construction, at all
L908[09:43:04] <gigaherz|bday> then
L909[09:43:13] <gigaherz|bday> when a pipe or something wants to interact
L910[09:43:14] <gigaherz|bday> only then
L911[09:43:17] <gigaherz|bday> you use getMaster()
L912[09:43:25] <gigaherz|bday> and relay the call to the master
L913[09:43:30] <gigaherz|bday> no tickables or anything
L914[09:43:33] <Lordmau5> canExtractEnergy, for example
L915[09:43:35] <Lordmau5> canFill
L916[09:43:36] <Lordmau5> that kinda stuff
L917[09:43:52] <gigaherz|bday> all you need is to know when the TE has been "assembled"
L918[09:43:59] <gigaherz|bday> and you keep that info until it's unassembled
L919[09:44:31] <gigaherz|bday> but ALL you save, is the relative coords.
L920[09:44:52] <PaleoCrafter> Geez, Dampfnudeln are the best :3
L921[09:45:08] <Pennyw95> my slave doesn't need to eep track of the master except when another requests it
L922[09:45:18] <PaleoCrafter> So good, there's not a even a proper English translation
L923[09:45:19] <Pennyw95> so why not have the look for it at every request, without saving?
L924[09:45:24] <Pennyw95> thme*
L925[09:45:27] <Pennyw95> them**
L926[09:45:30] <gigaherz|bday> you mean scan tyhe whole 5x5x5 area?
L927[09:45:37] <gigaherz|bday> that seems inefficient
L928[09:45:41] <Pennyw95> you're right, maybe it's not great
L929[09:45:58] ⇨ Joins: MoreThanHidden (~MoreThanH@cpe-1-122-251-2.wwl9.wel.bigpond.net.au)
L930[09:46:02] <Pennyw95> so, I need a lazy eval to scan, then save the coords, the have getMaster use the coords
L931[09:46:14] <Pennyw95> lazy eval inside onLoad()
L932[09:46:18] <Pennyw95> ho about this?
L933[09:46:24] <gigaherz|bday> that's not lazyeval
L934[09:46:31] <gigaherz|bday> ifyou do it always, then it's not lazy
L935[09:46:43] <Pennyw95> onLoad it's not called alway
L936[09:46:44] <gigaherz|bday> lazy means you only do it when you can't delay any longer
L937[09:46:50] <Pennyw95> i know
L938[09:46:57] <gigaherz|bday> onLoad is called always, when the TE is initialized
L939[09:47:16] <Pennyw95> ok, so I get the master via the 5x5 scan within onLoad
L940[09:47:24] <gigaherz|bday> ...no
L941[09:47:48] <gigaherz|bday> scan for the master in getMaster
L942[09:47:50] <Pennyw95> why not? then I can just save to nbt the coords, and throw that var away
L943[09:47:52] <gigaherz|bday> but only if you haven't found it before
L944[09:48:01] ⇦ Quits: Mossyblog (~mossyblog@58-7-237-186.dyn.iinet.net.au) (Read error: Connection reset by peer)
L945[09:48:03] <gigaherz|bday> ifyou save the nbt coords, then you don't needto scan, do you?
L946[09:48:07] <Pennyw95> oh, that's good too
L947[09:48:18] <Lordmau5> https://www.youtube.com/watch?v=ZnNX8SsKF18
L948[09:48:22] <Lordmau5> nice ad, not gonna lie
L949[09:48:40] <PaleoCrafter> Store the coords relative to the block though
L950[09:48:43] ⇨ Joins: Mossyblog (~mossyblog@58-7-237-186.dyn.iinet.net.au)
L951[09:48:44] <Pennyw95> gigaherz: you're right: if the master hasn't loaded before the slave, I'm screwed
L952[09:48:53] ⇦ Quits: alex_6611 (~alex_6611@p549364B8.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
L953[09:49:00] ⇦ Quits: Dakora (~dbaer@S010604a1519de12b.lb.shawcable.net) (Ping timeout: 189 seconds)
L954[09:49:33] ⇦ Quits: useless2764 (useless@meerkat.danmackay.com) (Ping timeout: 189 seconds)
L955[09:49:33] ⇦ Quits: itachi1706 (~itachi170@doserver.itachi1706.com) (Ping timeout: 189 seconds)
L956[09:49:33] ⇦ Quits: Lain|log (~Aphrael@baka.khobbits.co.uk) (Ping timeout: 189 seconds)
L957[09:49:44] <gigaherz|bday> hmmm
L958[09:49:59] <gigaherz|bday> was there a way to make an item stackable somtimes?
L959[09:50:26] <Lordmau5> https://www.youtube.com/watch?v=_wM2c3WtDjQ
L960[09:50:57] ⇨ Joins: [NK]Ghost (~GFt@static-72-64-90-31.dllstx.fios.verizon.net)
L961[09:52:17] ⇨ Joins: useless2764 (useless@meerkat.danmackay.com)
L962[09:52:17] ⇦ Quits: dangranos (~dangranos@149.56.6.196) (Ping timeout: 195 seconds)
L963[09:52:43] ⇦ Quits: kyau (kyau@dark.kyau.net) (Ping timeout: 198 seconds)
L964[09:53:38] ⇦ Quits: AforAnonymous (bitch2k@dyn-042-184.vix1.mmc.at) (*.net *.split)
L965[09:53:38] ⇦ Quits: Pennyw95 (~Dr.Benway@host84-156-dynamic.16-79-r.retail.telecomitalia.it) (*.net *.split)
L966[09:53:38] ⇦ Quits: MalkContent (MalkConten@p4FDCEA53.dip0.t-ipconnect.de) (*.net *.split)
L967[09:53:38] ⇦ Quits: Upthorn (~ogmar@108-85-88-44.lightspeed.frokca.sbcglobal.net) (*.net *.split)
L968[09:53:38] ⇦ Quits: Mraof (~mraof@pool-74-110-222-32.rcmdva.fios.verizon.net) (*.net *.split)
L969[09:53:38] ⇦ Quits: necrogami (~necrogami@199.193.248.29) (*.net *.split)
L970[09:53:38] ⇦ Quits: flappy (~flappy@a88-113-155-120.elisa-laajakaista.fi) (*.net *.split)
L971[09:53:38] ⇦ Quits: Techcable (~Techcable@techcable.net) (*.net *.split)
L972[09:53:38] ⇦ Quits: Wastl2 (~Wastl2@f053002034.adsl.alicedsl.de) (*.net *.split)
L973[09:53:38] ⇦ Quits: LuigiHutch (LuigiHutch@Challenge.Accepted.PanicBNC.eu) (*.net *.split)
L974[09:53:38] ⇦ Quits: thor12022_oops (thor12022_@205.175.226.97) (*.net *.split)
L975[09:53:38] ⇦ Quits: bilde2910|away (bilde2910@51.174.170.178) (*.net *.split)
L976[09:53:38] ⇦ Quits: gabizou (~gabizou@irc.spongepowered.org) (*.net *.split)
L977[09:53:38] ⇦ Quits: gabizou|laptop (~gabizou@irc.spongepowered.org) (*.net *.split)
L978[09:53:38] ⇦ Quits: cppchriscpp (~cppchrisc@c-76-24-45-127.hsd1.nh.comcast.net) (*.net *.split)
L979[09:53:38] ⇦ Quits: Curle (~head@host86-168-195-1.range86-168.btcentralplus.com) (*.net *.split)
L980[09:53:38] ⇦ Quits: shadowfacts (~shadowfac@is.aww.moe) (*.net *.split)
L981[09:53:38] ⇦ Quits: md_5 (~md_5@mark.prod1.spigotmc.org) (*.net *.split)
L982[09:53:38] ⇦ Quits: Cypher121 (~Cypher121@fox.cypher.coffee) (*.net *.split)
L983[09:53:38] ⇦ Quits: Saturn812 (~Saturn812@185.14.28.119) (*.net *.split)
L984[09:53:38] ⇦ Quits: ThuGie (~ThuGie@2a01:4f8:150:70c2::2) (*.net *.split)
L985[09:53:38] ⇦ Quits: Ashlee (~AshleeRee@2a02:2b88:2:1::2d2e:1) (*.net *.split)
L986[09:53:38] ⇦ Quits: Techokami (Techokami@2001:19f0:6800:8161:1:be:a:7001) (*.net *.split)
L987[09:53:38] ⇦ Quits: masa (~masa@86-60-221-191-dyn-dsl.ssp.fi) (*.net *.split)
L988[09:53:38] ⇦ Quits: IdleGandalf (~IdleGanda@harting.hosting) (*.net *.split)
L989[09:53:38] ⇦ Quits: LexMobile (sid15621@id-15621.highgate.irccloud.com) (*.net *.split)
L990[09:53:38] ⇦ Quits: Lildirt (~Lildirt@lildirt.com) (*.net *.split)
L991[09:53:38] ⇦ Quits: Harry (~Harry5573@46.101.12.90) (*.net *.split)
L992[09:53:38] ⇦ Quits: helinus|off (~helinus@znc.helinus.se) (*.net *.split)
L993[09:53:38] ⇦ Quits: Keridos|away (~Keridos@ironhide.stw-bonn.de) (*.net *.split)
L994[09:53:38] ⇦ Quits: Sharparam (~Sharparam@do.sharparam.com) (*.net *.split)
L995[09:53:38] ⇦ Quits: Zerot (~Zerot@wordtango.net) (*.net *.split)
L996[09:53:38] ⇦ Quits: Woodstone (~quassel@2a03:b0c0:2:d0::2c8:d001) (*.net *.split)
L997[09:53:38] ⇦ Quits: EeB (~EeB@2a02:a03f:2614:3500:222:2ff:fe00:40db) (*.net *.split)
L998[09:53:38] ⇦ Quits: ShadowChild (~Shadow@168.235.88.38) (*.net *.split)
L999[09:53:38] ⇦ Quits: kiljacken (sid98644@id-98644.ealing.irccloud.com) (*.net *.split)
L1000[09:53:38] ⇦ Quits: Quetzi (~Q@qmunity.quetzi.tv) (*.net *.split)
L1001[09:53:38] ⇦ Quits: Fridtjof (prassel@2001:470:ca8f::6) (*.net *.split)
L1002[09:53:38] ⇦ Quits: M3gaFr3ak (M3gaFr3ak@I.Dunno.PanicBNC.com) (*.net *.split)
L1003[09:53:38] ⇦ Quits: Sandra (Sandra@2001:19f0:6800:8161:a:1ce:c01d:babe) (*.net *.split)
L1004[09:53:38] ⇦ Quits: CoreDuo (~CoreDuo@ip216-8-161-80.coreduo.me.uk) (*.net *.split)
L1005[09:53:38] ⇦ Quits: bochen415 (~bochen415@46.101.38.101) (*.net *.split)
L1006[09:53:38] ⇦ Quits: SkySom (~SkySom@162.243.21.185) (*.net *.split)
L1007[09:53:38] ⇦ Quits: bartman (~bartman@hastecase.com) (*.net *.split)
L1008[09:53:38] ⇦ Quits: boni (~boni@devsub.net) (*.net *.split)
L1009[09:53:38] ⇦ Quits: MrKick|Away (~MrKickkil@ipv6.chozo.nl) (*.net *.split)
L1010[09:53:38] ⇦ Quits: sham1 (~sham1@weneg.de) (*.net *.split)
L1011[09:53:38] ⇦ Quits: Akkarin (~Akkarin@resides.in.redundant.space) (*.net *.split)
L1012[09:53:38] ⇦ Quits: RyanKnack (RyanKnack@anarchy.esper.net) (*.net *.split)
L1013[09:53:38] ⇦ Quits: kirby|gone (mrkirby153@the.government.stole-your.pw) (*.net *.split)
L1014[09:53:44] ⇦ Quits: Jezza (~Jezza@185.44.151.118) (*.net *.split)
L1015[09:53:44] ⇦ Quits: Nitrodev (~Nitrodev@dcx0f0ydlqjf63lt3xmct-3.rev.dnainternet.fi) (*.net *.split)
L1016[09:53:44] ⇦ Quits: ChJees (~ChJees@h211n5-sv-a13.ias.bredband.telia.com) (*.net *.split)
L1017[09:53:44] ⇦ Quits: cpw (~cpw@24-212-222-167.cable.teksavvy.com) (*.net *.split)
L1018[09:53:44] ⇦ Quits: xampp (~xampp@c-98-243-68-246.hsd1.mi.comcast.net) (*.net *.split)
L1019[09:53:44] ⇦ Quits: kroeser (~kroeser@2001:4801:7817:72:6f7c:4c10:ff10:1b85) (*.net *.split)
L1020[09:53:44] ⇦ Quits: illyohs (~LordIllyo@illyohs.us) (*.net *.split)
L1021[09:53:44] ⇦ Quits: MikrySoft|2 (~MikrySoft@89-76-18-43.dynamic.chello.pl) (*.net *.split)
L1022[09:53:44] ⇦ Quits: Onyx (~OnyxDarkK@cpc81089-colc8-2-0-cust729.7-4.cable.virginm.net) (*.net *.split)
L1023[09:53:44] ⇦ Quits: ghowden (~ghowden@publicuhc.com) (*.net *.split)
L1024[09:53:44] ⇦ Quits: Flenix (~Flenix@static.227.9.251.148.clients.your-server.de) (*.net *.split)
L1025[09:53:44] ⇦ Quits: Forecaster (~Forecaste@83.223.1.173) (*.net *.split)
L1026[09:53:44] ⇦ Quits: Kilobyte (kilobyte@cucumber.kilobyte22.de) (*.net *.split)
L1027[09:53:44] ⇦ Quits: leagris (~lea@meumeu.noiraude.net) (*.net *.split)
L1028[09:53:44] ⇦ Quits: tterrag|ZZZzzz (~tterrag@tterrag.com) (*.net *.split)
L1029[09:53:44] ⇦ Quits: l4mRh4X0r (l4mRh4X0r@l4mrh4x0r.student.ipv6.utwente.nl) (*.net *.split)
L1030[09:53:44] ⇦ Quits: Watchful1 (sid67384@id-67384.tooting.irccloud.com) (*.net *.split)
L1031[09:53:44] ⇦ Quits: TheMike (~Mike@2607:5300:60:47bc:1ceb:da::) (*.net *.split)
L1032[09:53:44] ⇦ Quits: Htbrdd (~Htbrdd@irc.privateirc.com) (*.net *.split)
L1033[09:53:44] ⇦ Quits: MattaBase (~TheMattaB@199.193.248.29) (*.net *.split)
L1034[09:53:44] ⇦ Quits: Lymia (~lymia@magical.girl.lyrical.lymia.moe) (*.net *.split)
L1035[09:53:44] ⇦ Quits: JustRamon (~JustRamon@168.235.88.38) (*.net *.split)
L1036[09:53:44] ⇦ Quits: Tzk (~Tzk@tbotv63.net) (*.net *.split)
L1037[09:53:44] ⇦ Quits: Greenphlem (uid22276@id-22276.tooting.irccloud.com) (*.net *.split)
L1038[09:53:44] ⇦ Quits: GrygrFlzr (~GrygrFlzr@2001:41d0:a:6287::6) (*.net *.split)
L1039[09:53:44] ⇦ Quits: KaseiFR (~KaseiFR@kasei.fr) (*.net *.split)
L1040[09:53:44] ⇦ Quits: NoChance (~nochance@206.ip-51-254-139.eu) (*.net *.split)
L1041[09:53:44] ⇦ Quits: DRedhorse (dredhorse@faris.ijestfajnie.pl) (*.net *.split)
L1042[09:53:44] ⇦ Quits: nxsupert (nxsupert@2001:19f0:6800:8161:1337:c0de:4:11fe) (*.net *.split)
L1043[09:53:44] ⇦ Quits: AEnterprise (~AEnterpri@37.ip-51-255-167.eu) (*.net *.split)
L1044[09:53:44] ⇦ Quits: zml (~zml@minions.aoeu.xyz) (*.net *.split)
L1045[09:53:44] ⇦ Quits: HassanS6000 (~nfinity@2607:5300:60:9940::) (*.net *.split)
L1046[09:53:44] ⇦ Quits: K-4U (~K-4U@ipv6.k-4u.nl) (*.net *.split)
L1047[09:53:44] ⇦ Quits: techbrew (sid72171@id-72171.highgate.irccloud.com) (*.net *.split)
L1048[09:53:44] ⇦ Quits: Jerzerak (sid60746@id-60746.brockwell.irccloud.com) (*.net *.split)
L1049[09:53:44] ⇦ Quits: lxkm|sleep (sid59612@id-59612.highgate.irccloud.com) (*.net *.split)
L1050[09:53:44] ⇦ Quits: EmptyM (sid115453@id-115453.brockwell.irccloud.com) (*.net *.split)
L1051[09:53:44] ⇦ Quits: PaleoCrafter (~paleo@weneg.de) (*.net *.split)
L1052[09:53:44] ⇦ Quits: ollieread (~ollieread@2a01:7e00::f03c:91ff:feae:5b6) (*.net *.split)
L1053[09:53:44] ⇦ Quits: Mysticdrew (sid103488@id-103488.tooting.irccloud.com) (*.net *.split)
L1054[09:53:44] ⇦ Quits: captainnana (sid61716@id-61716.charlton.irccloud.com) (*.net *.split)
L1055[09:53:44] ⇦ Quits: ThePsionic (uid130607@id-130607.brockwell.irccloud.com) (*.net *.split)
L1056[09:53:44] ⇦ Quits: GuntherDW (~guntherdw@ks3308665.kimsufi.com) (*.net *.split)
L1057[09:53:44] ⇦ Quits: BlayTheNinth (~blay09@eiradir.org) (*.net *.split)
L1058[09:53:44] ⇦ Quits: Deamon (~Deamon@ns235617.ip-192-99-21.net) (*.net *.split)
L1059[09:53:44] ⇦ Quits: Katielyn (~Katielyn@katelyn.ml) (*.net *.split)
L1060[09:53:55] ⇦ Quits: chbachman (~chbachman@192.99.145.160) (Ping timeout: 194 seconds)
L1061[09:54:21] ⇦ Quits: Twisted_Code (~macks2008@192.99.124.210) (Ping timeout: 194 seconds)
L1062[09:54:31] ⇨ Joins: masa (~masa@86-60-221-191-dyn-dsl.ssp.fi)
L1063[09:54:47] ⇦ Quits: Mine|dreamland (~minecreat@tterrag.com) (Ping timeout: 194 seconds)
L1064[09:54:47] ⇦ Quits: TehNut (~TehNut@192.99.145.160) (Ping timeout: 194 seconds)
L1065[09:55:06] ⇨ Joins: Forecaster (~Forecaste@83.223.1.173)
L1066[09:55:14] ⇦ Quits: panda_2134 (uid121359@id-121359.brockwell.irccloud.com) (Quit: Connection closed for inactivity)
L1067[09:56:19] ⇦ Quits: RichardG (richardg86@179.158.69.43) (Ping timeout: 198 seconds)
L1068[09:56:22] ⇨ Joins: Pennyw95 (~Dr.Benway@host84-156-dynamic.16-79-r.retail.telecomitalia.it)
L1069[09:56:31] ⇨ Joins: Mraof (~mraof@pool-74-110-222-32.rcmdva.fios.verizon.net)
L1070[09:56:46] ⇨ Joins: itachi1706 (~itachi170@doserver.itachi1706.com)
L1071[09:57:09] ⇨ Joins: md_5 (~md_5@mark.prod1.spigotmc.org)
L1072[09:57:18] <gigaherz|bday> ugh I just realized
L1073[09:57:22] <Pennyw95> crash?
L1074[09:57:31] ⇨ Joins: MattaBase (~TheMattaB@199.193.248.29)
L1075[09:57:33] ⇨ Joins: Cypher121 (~Cypher121@fox.cypher.coffee)
L1076[09:57:35] <gigaherz|bday> having Slot#getSlotStackLimit return 1 doesn't work for shift-clicking
L1077[09:57:51] <gigaherz|bday> it still still happily place a full stack onto the slot like it or not XD
L1078[09:58:41] ⇨ Joins: CoreDuo (~CoreDuo@ip216-8-161-80.coreduo.me.uk)
L1079[09:58:44] ⇨ Joins: Zerot (~Zerot@wordtango.net)
L1080[09:58:50] ⇨ Joins: AforAnonymous (bitch2k@dyn-042-184.vix1.mmc.at)
L1081[09:58:50] ⇨ Joins: Techcable (~Techcable@techcable.net)
L1082[09:58:50] ⇨ Joins: Wastl2 (~Wastl2@f053002034.adsl.alicedsl.de)
L1083[09:58:50] ⇨ Joins: LuigiHutch (LuigiHutch@Challenge.Accepted.PanicBNC.eu)
L1084[09:58:50] ⇨ Joins: Curle (~head@host86-168-195-1.range86-168.btcentralplus.com)
L1085[09:58:50] ⇨ Joins: shadowfacts (~shadowfac@is.aww.moe)
L1086[09:58:50] ⇨ Joins: Saturn812 (~Saturn812@185.14.28.119)
L1087[09:58:50] ⇨ Joins: ThuGie (~ThuGie@2a01:4f8:150:70c2::2)
L1088[09:58:50] ⇨ Joins: Ashlee (~AshleeRee@2a02:2b88:2:1::2d2e:1)
L1089[09:58:50] ⇨ Joins: Techokami (Techokami@2001:19f0:6800:8161:1:be:a:7001)
L1090[09:58:50] ⇨ Joins: IdleGandalf (~IdleGanda@harting.hosting)
L1091[09:58:50] ⇨ Joins: LexMobile (sid15621@id-15621.highgate.irccloud.com)
L1092[09:58:50] ⇨ Joins: boni (~boni@devsub.net)
L1093[09:58:50] ⇨ Joins: Woodstone (~quassel@2a03:b0c0:2:d0::2c8:d001)
L1094[09:58:50] ⇨ Joins: EeB (~EeB@2a02:a03f:2614:3500:222:2ff:fe00:40db)
L1095[09:58:50] ⇨ Joins: Sandra (Sandra@2001:19f0:6800:8161:a:1ce:c01d:babe)
L1096[09:58:50] ⇨ Joins: kiljacken (sid98644@id-98644.ealing.irccloud.com)
L1097[09:58:50] ⇨ Joins: Quetzi (~Q@qmunity.quetzi.tv)
L1098[09:58:50] ⇨ Joins: Fridtjof (prassel@2001:470:ca8f::6)
L1099[09:58:50] ⇨ Joins: kirby|gone (mrkirby153@the.government.stole-your.pw)
L1100[09:58:50] ⇨ Joins: M3gaFr3ak (M3gaFr3ak@I.Dunno.PanicBNC.com)
L1101[09:58:50] ⇨ Joins: bartman (~bartman@hastecase.com)
L1102[09:58:50] ⇨ Joins: MrKick|Away (~MrKickkil@ipv6.chozo.nl)
L1103[09:58:50] ⇨ Joins: Akkarin (~Akkarin@resides.in.redundant.space)
L1104[09:58:50] ⇨ Joins: RyanKnack (RyanKnack@anarchy.esper.net)
L1105[09:58:50] *** nova.esper.net sets mode: +o LexMobile
L1106[09:59:15] <gigaherz|bday> andn ow it eats items
L1107[09:59:17] <gigaherz|bday> XD
L1108[09:59:30] <gigaherz|bday> made the inventory class return stack limit 1 also
L1109[09:59:48] <gigaherz|bday> cou can now shift-click a fill stack of diamonds, and it will only keep 1, discard the other 63
L1110[10:00:14] ⇨ Joins: Upthorn (~ogmar@108-85-88-44.lightspeed.frokca.sbcglobal.net)
L1111[10:00:31] ⇨ Joins: Lildirt (~Lildirt@lildirt.com)
L1112[10:00:50] ⇨ Joins: Htbrdd (~Htbrdd@irc.privateirc.com)
L1113[10:01:00] ⇨ Joins: SkySom (~SkySom@162.243.21.185)
L1114[10:01:00] ⇨ Joins: Lain|log (~Aphrael@baka.khobbits.co.uk)
L1115[10:01:09] ⇨ Joins: Twisted_Code (~macks2008@192.99.124.210)
L1116[10:01:14] ⇨ Joins: bilde2910|away (bilde2910@51.174.170.178)
L1117[10:01:14] ⇨ Joins: helinus|off (~helinus@znc.helinus.se)
L1118[10:01:16] ⇨ Joins: Harry (~Harry@46.101.12.90)
L1119[10:01:22] ⇨ Joins: TehNut (~TehNut@192.99.145.160)
L1120[10:01:36] ⇨ Joins: Sharparam (~Sharparam@do.sharparam.com)
L1121[10:01:38] <PitchBright> Wuppy: did you ever happen to do a tut on metadata blocks for 1.7.10?
L1122[10:01:43] ⇨ Joins: bochen415 (~bochen415@46.101.38.101)
L1123[10:02:04] *** bilde2910|away is now known as bilde2910
L1124[10:02:13] ⇨ Joins: Jezza (~Jezza@185.44.151.118)
L1125[10:02:13] ⇨ Joins: Nitrodev (~Nitrodev@dcx0f0ydlqjf63lt3xmct-3.rev.dnainternet.fi)
L1126[10:02:13] ⇨ Joins: cpw (~cpw@24-212-222-167.cable.teksavvy.com)
L1127[10:02:13] ⇨ Joins: kroeser (~kroeser@2001:4801:7817:72:6f7c:4c10:ff10:1b85)
L1128[10:02:13] ⇨ Joins: Flenix (~Flenix@static.227.9.251.148.clients.your-server.de)
L1129[10:02:13] ⇨ Joins: MikrySoft|2 (~MikrySoft@89-76-18-43.dynamic.chello.pl)
L1130[10:02:13] ⇨ Joins: Onyx (~OnyxDarkK@cpc81089-colc8-2-0-cust729.7-4.cable.virginm.net)
L1131[10:02:13] ⇨ Joins: ghowden (~ghowden@publicuhc.com)
L1132[10:02:13] ⇨ Joins: leagris (~lea@meumeu.noiraude.net)
L1133[10:02:13] ⇨ Joins: Kilobyte (kilobyte@cucumber.kilobyte22.de)
L1134[10:02:13] ⇨ Joins: tterrag|ZZZzzz (~tterrag@tterrag.com)
L1135[10:02:13] ⇨ Joins: l4mRh4X0r (l4mRh4X0r@l4mrh4x0r.student.ipv6.utwente.nl)
L1136[10:02:13] ⇨ Joins: Watchful1 (sid67384@id-67384.tooting.irccloud.com)
L1137[10:02:13] ⇨ Joins: TheMike (~Mike@2607:5300:60:47bc:1ceb:da::)
L1138[10:02:13] ⇨ Joins: Lymia (~lymia@magical.girl.lyrical.lymia.moe)
L1139[10:02:13] ⇨ Joins: NoChance (~nochance@206.ip-51-254-139.eu)
L1140[10:02:13] ⇨ Joins: GrygrFlzr (~GrygrFlzr@2001:41d0:a:6287::6)
L1141[10:02:13] ⇨ Joins: Greenphlem (uid22276@id-22276.tooting.irccloud.com)
L1142[10:02:13] ⇨ Joins: KaseiFR (~KaseiFR@kasei.fr)
L1143[10:02:13] ⇨ Joins: BlayTheNinth (~blay09@eiradir.org)
L1144[10:02:13] ⇨ Joins: DRedhorse (dredhorse@faris.ijestfajnie.pl)
L1145[10:02:13] ⇨ Joins: nxsupert (nxsupert@2001:19f0:6800:8161:1337:c0de:4:11fe)
L1146[10:02:13] ⇨ Joins: HassanS6000 (~nfinity@2607:5300:60:9940::)
L1147[10:02:13] ⇨ Joins: AEnterprise (~AEnterpri@37.ip-51-255-167.eu)
L1148[10:02:13] ⇨ Joins: K-4U (~K-4U@ipv6.k-4u.nl)
L1149[10:02:13] ⇨ Joins: techbrew (sid72171@id-72171.highgate.irccloud.com)
L1150[10:02:13] ⇨ Joins: Jerzerak (sid60746@id-60746.brockwell.irccloud.com)
L1151[10:02:13] ⇨ Joins: ollieread (~ollieread@2a01:7e00::f03c:91ff:feae:5b6)
L1152[10:02:13] ⇨ Joins: lxkm|sleep (sid59612@id-59612.highgate.irccloud.com)
L1153[10:02:13] ⇨ Joins: EmptyM (sid115453@id-115453.brockwell.irccloud.com)
L1154[10:02:13] ⇨ Joins: PaleoCrafter (~paleo@weneg.de)
L1155[10:02:13] ⇨ Joins: Mysticdrew (sid103488@id-103488.tooting.irccloud.com)
L1156[10:02:13] ⇨ Joins: captainnana (sid61716@id-61716.charlton.irccloud.com)
L1157[10:02:13] ⇨ Joins: ThePsionic (uid130607@id-130607.brockwell.irccloud.com)
L1158[10:02:13] ⇨ Joins: GuntherDW (~guntherdw@ks3308665.kimsufi.com)
L1159[10:02:13] ⇨ Joins: Katielyn (~Katielyn@katelyn.ml)
L1160[10:02:13] ⇨ Joins: Deamon (~Deamon@ns235617.ip-192-99-21.net)
L1161[10:02:13] *** nova.esper.net sets mode: +ov cpw PaleoCrafter
L1162[10:02:22] ⇨ Joins: chbachman (~chbachman@192.99.145.160)
L1163[10:02:44] ⇨ Joins: Dakora (~dbaer@S010604a1519de12b.lb.shawcable.net)
L1164[10:03:14] <Wuppy> PitchBright, I haven't had much time for modding tutorials anymore :<
L1165[10:03:19] <Wuppy> but I did write a book about it \o/
L1166[10:03:49] <PitchBright> i was hopin' you did one for it in 1710 but couldn't find anything
L1167[10:03:59] <PitchBright> where do i get the book?
L1168[10:04:29] ⇨ Joins: dangranos (~dangranos@hekate.pc-logix.com)
L1169[10:04:37] <Wuppy> http://www.amazon.com/Minecraft-Development-Hours-Teach-Yourself/dp/0672337193
L1170[10:05:02] ⇨ Joins: zml (~zml@minions.aoeu.xyz)
L1171[10:05:10] <PitchBright> so YOU are Sam!?
L1172[10:05:23] <Wuppy> no, Sams is a series by the publisher
L1173[10:05:38] <PitchBright> I'm jk mang
L1174[10:05:39] <PaleoCrafter> not the missing apostrophe, it's not a genitive :P
L1175[10:05:43] <PaleoCrafter> *note
L1176[10:06:08] <PitchBright> :D
L1177[10:06:30] ⇨ Joins: Keridos|away (~Keridos@ironhide.stw-bonn.de)
L1178[10:06:37] ⇨ Joins: flappy (~flappy@a88-113-155-120.elisa-laajakaista.fi)
L1179[10:06:38] ⇨ Joins: ChJees (~ChJees@h211n5-sv-a13.ias.bredband.telia.com)
L1180[10:07:43] ⇨ Joins: xampp (~xampp@c-98-243-68-246.hsd1.mi.comcast.net)
L1181[10:12:33] ⇦ Quits: ZaggyMobile2 (~Zaggy1024@174-20-167-106.mpls.qwest.net) (Ping timeout: 186 seconds)
L1182[10:13:58] <Pennyw95> well that was more complex than I thought...hope it works now
L1183[10:17:14] <Pennyw95> nah it doesn't
L1184[10:18:04] *** kroeser is now known as kroeser|away
L1185[10:18:54] ⇨ Joins: SandGrainOne (~Terje@cm-84.210.171.146.getinternet.no)
L1186[10:20:51] <Pennyw95> now this crash is really weird... http://pastebin.com/kxF6rUSs
L1187[10:22:30] <gigaherz|bday> gah limiting transferStackInSlot to only put one single item on the slot is HARD >_>
L1188[10:29:54] ⇨ Joins: xanderio (~xanderio@p5B21FD6C.dip0.t-ipconnect.de)
L1189[10:30:25] <gigaherz|bday> ended up overriding mergeItemStacks with a slightly customized versio nthat DOES consider the slot's stack limit
L1190[10:30:29] <gigaherz|bday> I should PR that to forge ¬¬
L1191[10:30:56] *** AEnterprise is now known as AEnterpriseAFK
L1192[10:31:35] ⇨ Joins: gabizou|laptop (~gabizou@irc.spongepowered.org)
L1193[10:32:57] *** big_Xplosion is now known as big_Xplo|AFK
L1194[10:33:29] <fry> oh my god
L1195[10:33:36] <fry> we detected gravitational waves
L1196[10:33:52] <gigaherz|bday> did we? :D
L1197[10:34:22] <fry> https://www.reddit.com/r/askscience/comments/458vhd/gravitational_wave_megathread/
L1198[10:34:25] <gigaherz|bday> (I assume "we" you mean humanity, if you were part of that team, grats ;P)
L1199[10:34:37] <fry> heh, I'm not that good :P
L1200[10:34:50] *** kroeser|away is now known as kroeser
L1201[10:35:08] <unascribed> is there a way to decouple the camera from the player?
L1202[10:35:16] <unascribed> trying to write an armor renderer
L1203[10:35:20] <unascribed> and need to look at the player in profile
L1204[10:35:24] <gigaherz|bday> nope
L1205[10:35:29] <unascribed> :/
L1206[10:35:40] <gigaherz|bday> open to lan
L1207[10:35:41] <unascribed> I guess I could use MP
L1208[10:35:42] <unascribed> yeah
L1209[10:35:42] <gigaherz|bday> connect another player
L1210[10:36:19] <unascribed> now with double the lag!
L1211[10:37:12] <gigaherz|bday> the only way to decouple thecamera from the player
L1212[10:37:16] <gigaherz|bday> would be to render the world twice
L1213[10:37:33] <gigaherz|bday> IIRC
L1214[10:37:39] <gigaherz|bday> so you endu p in the same situation
L1215[10:37:40] <gigaherz|bday> ;P
L1216[10:37:47] <unascribed> or a renderViewEntity
L1217[10:37:52] <unascribed> sounds like a useful utility mod
L1218[10:37:58] * fry have that
L1219[10:38:02] <fry> *has
L1220[10:38:06] <unascribed> oh?
L1221[10:38:11] <unascribed> is it available?
L1222[10:38:18] <fry> lemme find the link
L1223[10:38:40] <fry> https://www.dropbox.com/s/fqi882he0618f13/EntityCameraMod-1.0.jar?dl=0
L1224[10:38:48] <unascribed> mc version?
L1225[10:39:09] <unascribed> I guess I could just check the mcmod.info
L1226[10:39:26] <fry> 1.8.9
L1227[10:39:28] <unascribed> :/
L1228[10:39:35] <fry> here's how it looks: http://www.youtube.com/watch?v=VgeUtbNsPXA
L1229[10:40:23] <unascribed> I guess I'm just stuck with using MP
L1230[10:40:46] * unascribed adds "find a way to decouple the third person camera from the player" to his endless todo list
L1231[10:40:51] ⇨ Joins: MattDahEpic (~MattDahEp@184-96-202-46.hlrn.qwest.net)
L1232[10:40:57] <gigaherz|bday> fry: nice, I didn't think that was possible without heavy asming
L1233[10:41:18] <fry> all events are in forge
L1234[10:41:38] <fry> mod is basically CommandBase + a couple of event handlers
L1235[10:43:08] <gigaherz|bday> heh
L1236[10:43:22] <gigaherz|bday> then I'll have to update my answer to unascribed's original question ;P
L1237[10:43:34] <unascribed> yeah, it's just renderViewEntity
L1238[10:46:15] *** AEnterpriseAFK is now known as AEnterprise
L1239[10:46:32] ⇦ Quits: MoreThanHidden (~MoreThanH@cpe-1-122-251-2.wwl9.wel.bigpond.net.au) (Quit: Leaving)
L1240[10:46:40] *** Darkhax is now known as Darkhax_AFK
L1241[10:47:30] *** AEnterprise is now known as AEnterpriseAFK
L1242[10:50:06] <MattDahEpic> is there any program where you can paste in mcp named code and itll rename all the names to their nice ones?
L1243[10:50:14] <unascribed> BON2
L1244[10:50:25] <unascribed> https://github.com/Parker8283/BON2
L1245[10:50:32] <MattDahEpic> its already deobf'd
L1246[10:50:41] <unascribed> then what are you trying to do?
L1247[10:51:14] <gigaherz|bday> he wants to do what runtime deobf does already in forge
L1248[10:51:21] <gigaherz|bday> rename srg->nice
L1249[10:51:40] ⇨ Joins: ShadowChild (~Shadow@168.235.88.38)
L1250[10:51:48] <gigaherz|bday> but
L1251[10:51:49] <unascribed> which it what BON2 does??
L1252[10:51:52] <Pennyw95> gigaherz what about a if(master == null) findMaster() inside update()?
L1253[10:51:53] <unascribed> s/it/is/
L1254[10:51:56] <gigaherz|bday> yeah I was about to say
L1255[10:52:05] <gigaherz|bday> Pennyw95: what would that achieve?
L1256[10:52:25] ⇨ Joins: karlthepagan (~karl@c-66-235-7-92.sea.wa.customer.broadstripe.net)
L1257[10:52:28] <Pennyw95> well it could be an alternative to a non ticking one computing the master?
L1258[10:52:28] <gigaherz|bday> think about it
L1259[10:52:46] <gigaherz|bday> it would run at most one tick later than onLoad
L1260[10:52:50] <gigaherz|bday> but requires ticking
L1261[10:53:07] <Pennyw95> does it still reduce performance, even when the condition is false?
L1262[10:53:09] <gigaherz|bday> for all practical purposes, it's exactly as non-lazy as just doing it in onLoad
L1263[10:53:37] <gigaherz|bday> the slowdown doesn'tm atter
L1264[10:53:38] <gigaherz|bday> matteR*
L1265[10:53:42] <gigaherz|bday> matter**
L1266[10:53:49] <gigaherz|bday> the point is it gives no advantage over onLoad
L1267[10:54:01] <Pennyw95> ehm but I've been getting some weird crashes while trying to do as you suggested, so..
L1268[10:54:47] <gigaherz|bday> here is what you should be doing:
L1269[10:55:14] <gigaherz|bday> 1. in a field, keep the xyz/blockpos with the RELATIVE coords of the master
L1270[10:56:02] ⇨ Joins: kyau (kyau@dark.kyau.net)
L1271[10:56:05] <gigaherz|bday> 2. in a getMaster() method, if xyz is not assigned yet, find the master coords, then finally return worldObj.getTileEntityAt(getPos().offset(xyz))
L1272[10:56:22] <gigaherz|bday> 3. from any method that needs the master, call getMaster()
L1273[10:56:45] <gigaherz|bday> and NEVER store the master in a field "for later".
L1274[10:57:23] <unascribed> fancy rendering achieved: https://unascribed.com/i/194bd505.png
L1275[10:57:40] <gigaherz|bday> fancy indeed
L1276[10:58:15] <Pennyw95> what's the difference between pos.add and pos.offset?
L1277[10:58:31] <gigaherz|bday> pos.add works with a BlockPos, pos.offset works with separate x,y,z
L1278[10:58:45] <gigaherz|bday> if you store the relative coords using a BlockPos object, you'd use add
L1279[10:58:52] <gigaherz|bday> if you store them in 3 separate ints, you'd use offset
L1280[10:59:01] <gigaherz|bday> (IIRC)
L1281[10:59:02] <gigaherz|bday> XD
L1282[10:59:09] <unascribed> https://unascribed.com/i/d57d98fb.png :D
L1283[10:59:42] <Pennyw95> add takes 3 ints too
L1284[10:59:42] ⇨ Joins: agowa338 (~Thunderbi@p54918548.dip0.t-ipconnect.de)
L1285[11:02:06] <PaleoCrafter> there's no version of offset that takes 3 ints :P only facing + an optional int
L1286[11:02:27] <Pennyw95> can't I just store the master.getPos, save the xyz to nbt and then make a new one with the xyz from nbt?
L1287[11:03:01] <gigaherz|bday> ah then I brainfarted
L1288[11:03:03] <gigaherz|bday> XD
L1289[11:03:07] <gigaherz|bday> must be add for both cases
L1290[11:03:08] <gigaherz|bday> XD
L1291[11:03:25] <Pennyw95> eheh :P
L1292[11:03:27] <gigaherz|bday> Pennyw95: that would stop working if someone moves your slave around
L1293[11:03:37] <gigaherz|bday> that's why we strongly suggest you use relative coords
L1294[11:03:46] <PaleoCrafter> if somebody even touches your slave, they deserve to die?
L1295[11:03:56] ⇨ Joins: Poppy (~Poppy@chello085216146055.chello.sk)
L1296[11:03:59] <Pennyw95> I'll answer that another time :P
L1297[11:04:20] <Pennyw95> but if I create a new BlockPos in readFromNBT made with the relative coords, isn't it ok?
L1298[11:04:54] <Pennyw95> well, there probably ins't much difference...I'll be better off with 3 ints
L1299[11:05:32] <gigaherz|bday> so
L1300[11:05:32] <gigaherz|bday> https://dl.dropboxusercontent.com/u/743491/2016-02-11_18.04.52.png
L1301[11:05:40] <gigaherz|bday> what do you ppl think of my pocket gem analyzing kit?
L1302[11:05:58] <Pennyw95> So, the procedure is this: I have 4 uninstantiated variables: master, x, y, z
L1303[11:06:06] <Pennyw95> very cool :D
L1304[11:06:06] <gigaherz|bday> DO NOT SAVE MASTER
L1305[11:06:12] <gigaherz|bday> DO NOT keep it in a field
L1306[11:06:15] <Pennyw95> 3
L1307[11:06:17] <gigaherz|bday> it defeats the whole purpose
L1308[11:06:27] <MattDahEpic> has anyone made a tree of Entity hierarchy like EntityLiving-->EntityPlayer & EntityLivingBase?
L1309[11:06:46] <gigaherz|bday> MattDahEpic: ask your IDE to do that for you ;P
L1310[11:07:07] <Pennyw95> then, i only want my TE to evaluate the master's position when requested by IFluidhandler's methods, right? so no onLoad() / inside constructor / inside update()
L1311[11:07:31] <gigaherz|bday> MattDahEpic: in IDEA yo ucan use Navigate -> Type hierarchy
L1312[11:07:38] <gigaherz|bday> start from Entity
L1313[11:07:41] <gigaherz|bday> and you'll see the tree
L1314[11:08:11] <gigaherz|bday> Pennyw95: exactly
L1315[11:08:13] <Pennyw95> so, I need a getMaster that will: get the master from the saved xyz or, if they are still uninstantiated, scan the 5x5 area. then save xyz
L1316[11:08:15] <gigaherz|bday> youd method may look a bit like
L1317[11:08:32] <gigaherz|bday> public void setFluidWhatever() { getMaster().setFluidWhatever(); }
L1318[11:08:52] <Pennyw95> already done
L1319[11:09:31] <gigaherz|bday> ugh youtube/firefox works like crap today
L1320[11:09:36] <gigaherz|bday> videos just stop loading randomly
L1321[11:09:54] <gigaherz|bday> haveto "poke" the progress slider to get it to continue
L1322[11:10:21] ⇦ Quits: Wastl2 (~Wastl2@f053002034.adsl.alicedsl.de) (Quit: Hi, I'm a quit message virus. Please replace your old line with this one and help me take over the world of IRC.)
L1323[11:10:46] ⇨ Joins: Hgrebnednav (~Hgrebnedn@d8D872D48.access.telenet.be)
L1324[11:12:35] *** MrKick|Away is now known as MrKickkiller
L1325[11:13:19] <Pennyw95> uninstantiaed ints are 0, right?
L1326[11:14:16] <gigaherz|bday> ints are not "instantiated"
L1327[11:14:18] <gigaherz|bday> but yes
L1328[11:14:24] <gigaherz|bday> uninitialized int fields are set to 0
L1329[11:14:43] <gigaherz|bday> and yes, checking if "x==0 && y==0 && z==0" would tell you if you have found the master or not
L1330[11:15:25] <Pennyw95> ok
L1331[11:15:46] *** DRedhorse is now known as DonAway
L1332[11:16:11] <PaleoCrafter> y u no optional
L1333[11:16:35] <Pennyw95> (yes that's what I'll do :P)
L1334[11:18:02] <gigaherz|bday> you could just store it as a BlockPos
L1335[11:18:06] <gigaherz|bday> and use null as uninitialized
L1336[11:18:06] <gigaherz|bday> XD
L1337[11:18:14] * PaleoCrafter slaps gigaherz|bday
L1338[11:18:49] <gigaherz|bday> remember, I'm a C# developer
L1339[11:19:04] <gigaherz|bday> in C#, we have a thing called Nullable<T>
L1340[11:19:14] <gigaherz|bday> which can be applied to structs and primitive types
L1341[11:19:36] <gigaherz|bday> which is close to java's Optional, but in a funny way
L1342[11:20:09] <gigaherz|bday> you have two ways to use it, you can compareto null
L1343[11:20:25] <gigaherz|bday> or you can use "nullable.HasValue" and "nullable.Value" for explicit testing
L1344[11:21:08] ⇨ Joins: Girafi (Girafi@0x555178eb.adsl.cybercity.dk)
L1345[11:21:10] <gigaherz|bday> (and no, it's not a reference type, it can't actually be "null", it just compares to null ;P)
L1346[11:22:15] <PaleoCrafter> what does comparing mean in this context? :P
L1347[11:22:35] <gigaherz|bday> int? a; (shorthand for "Nullable<int> a;"
L1348[11:22:43] <Pennyw95> PaleoCrafter: like this? https://gist.github.com/DrBenway95/5bd4bdba1d184debc867
L1349[11:22:45] <gigaherz|bday> if (a == null) { ... }
L1350[11:22:58] <gigaherz|bday> in C#, "==" is a value comparison
L1351[11:23:08] <gigaherz|bday> you have to use Object.ReferenceEquals for reference comparison
L1352[11:23:27] <PaleoCrafter> use BlockPos, Pennyw95
L1353[11:23:45] <Pennyw95> oh, blimey
L1354[11:23:48] <Pennyw95> forgot about that
L1355[11:24:24] ⇨ Joins: Brokkoli (~Brokkoli@f054031197.adsl.alicedsl.de)
L1356[11:25:06] <Pennyw95> here: https://gist.github.com/DrBenway95/7fb513cb6f95c2946fad
L1357[11:25:53] ⇨ Joins: VapourDrive (~vapourdri@london142cw-lp130-04-845430279.dsl.bell.ca)
L1358[11:25:59] ⇨ Joins: thecodewarrior (~thecodewa@75-128-36-18.static.mtpk.ca.charter.com)
L1359[11:26:02] <PaleoCrafter> did you change anything at all? :P
L1360[11:26:28] <gigaherz|bday> hmmm
L1361[11:26:45] <gigaherz|bday> I may have to change the way I do the analyzer identification
L1362[11:26:51] <Pennyw95> the readFromNBT
L1363[11:26:58] <Pennyw95> it saves the relative positions
L1364[11:27:07] <Pennyw95> I thought that's what you meant
L1365[11:27:16] <PaleoCrafter> use BlockPos for storing the position, too :P
L1366[11:27:26] <Pennyw95> Oki
L1367[11:27:28] <gigaherz|bday> here's my issue: I'm currently using an item-based gui, which uses its own internal IInventory and such
L1368[11:27:32] <Pennyw95> brb in 15 minutes
L1369[11:27:41] <gigaherz|bday> when I place an item in a slot
L1370[11:27:59] <gigaherz|bday> I used the setStackInSlot method to do the conversion
L1371[11:28:19] <gigaherz|bday> but that means the client and the server get different random items
L1372[11:29:15] ⇦ Quits: thecodewarrior (~thecodewa@75-128-36-18.static.mtpk.ca.charter.com) (Ping timeout: 194 seconds)
L1373[11:29:37] ⇦ Quits: mallrat208 (~mallrat20@184-88-190-37.res.bhn.net) (Read error: Connection reset by peer)
L1374[11:30:57] ⇦ Quits: Pennyw95 (~Dr.Benway@host84-156-dynamic.16-79-r.retail.telecomitalia.it) (Ping timeout: 186 seconds)
L1375[11:31:19] ⇦ Quits: RedBullWasTaken (~red@2-107-192-82-static.dk.customer.tdc.net) (Quit: Leaving)
L1376[11:31:36] ⇨ Joins: RedBullWasTaken (~red@2-107-192-82-static.dk.customer.tdc.net)
L1377[11:34:57] ⇦ Quits: bilde2910 (bilde2910@51.174.170.178) (Ping timeout: 195 seconds)
L1378[11:36:52] ⇨ Joins: bilde2910|away (bilde2910@51.174.170.178)
L1379[11:37:09] *** Abrar|gone is now known as AbrarSyed
L1380[11:37:43] *** bilde2910|away is now known as bilde2910
L1381[11:39:36] <MattDahEpic> so im making a golden lasso-esque mobderpearl and it ideally is able to pick up aggressive mobs. what should i check for to make sure i dont pick up the wrong mobs?
L1382[11:39:58] <MattDahEpic> atm im checking for no targets, not a boss, and less health then the player
L1383[11:44:07] <gigaherz|bday> you are making pokeballs?
L1384[11:44:08] <gigaherz|bday> XD
L1385[11:44:59] <gigaherz|bday> well "Entity extends EntityLivingBase" seems like the #1 thing to test for
L1386[11:46:40] <MattDahEpic> i just want to make sure i dont pick up like aura nodes or something
L1387[11:46:56] <MattDahEpic> and im already testing for entityliving
L1388[11:48:39] <unascribed> aura nodes are blocks
L1389[11:48:45] <MattDahEpic> not in 1.8.9
L1390[11:48:49] <unascribed> oh
L1391[11:48:56] <unascribed> he can't make up his mind of what aura nodes should be >.>
L1392[11:49:06] <unascribed> first they're metadata
L1393[11:49:08] <unascribed> then they're blocks
L1394[11:49:10] <unascribed> now they're entities
L1395[11:49:19] <MattDahEpic> i think he needed the onUpdate to get his aura system working
L1396[11:51:25] <gigaherz|bday> MattDahEpic: I highly doubt aura nodes are living entities
L1397[11:51:26] <gigaherz|bday> XD
L1398[11:51:57] <unascribed> this also means the usual "/kill @e[type=!Player]" to clean up a creative world is harmful
L1399[11:52:41] ⇨ Joins: Hunterz (~hunterz@62.182.234.189)
L1400[11:53:00] <MattDahEpic> i got rid of a tainted node that showed up otside my base by /kill @e[type=Thaumcraft.AuraNode,r=50]
L1401[11:53:38] <gigaherz|bday> lol
L1402[11:54:14] <gigaherz|bday> I did a short playthrough with T5 in the 1.8 version
L1403[11:54:35] <PaleoCrafter> I guess the node moving stuff is easier if they are entities
L1404[11:54:42] <gigaherz|bday> at some point I made the mistake of having just a little bit too much bad aura around my base
L1405[11:54:55] <gigaherz|bday> it started having the "flux events"
L1406[11:55:07] <MattDahEpic> the flux rainstorm is cool
L1407[11:55:08] <gigaherz|bday> which at that point were almost exclusively "spawn taint in random places"
L1408[11:55:14] <MattDahEpic> looks cool*
L1409[11:55:21] <gigaherz|bday> basically broke my base
L1410[11:55:42] <gigaherz|bday> my options were give up the base ( and probably the playthrough, since I didn't want to start over)
L1411[11:55:50] <gigaherz|bday> or creative mode fix the problem
L1412[11:55:56] <gigaherz|bday> I chose the later
L1413[11:56:08] ⇨ Joins: McJty (~jorrit@94-225-203-206.access.telenet.be)
L1414[11:56:18] <gigaherz|bday> spawned a whole bunch of trees and plants all over the base area
L1415[11:56:26] <PaleoCrafter> aw, why did Pennyw leave :/
L1416[11:56:34] <PaleoCrafter> I wanted to teach him some idiomatic Scala, lol
L1417[11:56:46] <gigaherz|bday> he said "brb in 15 minutes", been 30
L1418[11:56:46] <gigaherz|bday> ;P
L1419[11:59:04] <PaleoCrafter> hm... should I send the more accurate client-side look vec with my 'select target' packet and risk exploits or should I use the server-side one?
L1420[11:59:25] <MattDahEpic> go serverside
L1421[11:59:43] <MattDahEpic> unless the only thing you're targeting is silverfish you should be fine
L1422[11:59:54] <diesieben07> just do the targetting clientside
L1423[12:00:01] <diesieben07> and make sure it is somewhat reasonable on the server
L1424[12:00:12] <PaleoCrafter> yeah, that was my other thought, diesieben07
L1425[12:00:23] <diesieben07> that's what vanilla does
L1426[12:01:09] ⇨ Joins: thor12022_oops (thor12022_@205.175.226.97)
L1427[12:02:08] <PaleoCrafter> I guess I'll just send the MOP
L1428[12:02:40] ⇨ Joins: alex_6611 (~alex_6611@p549364B8.dip0.t-ipconnect.de)
L1429[12:02:46] <MattDahEpic> does EntityLivingBase.serailizeNBT return the entire mob nbt tag?
L1430[12:03:10] *** big_Xplo|AFK is now known as big_Xplosion
L1431[12:06:04] ⇨ Joins: Pennyw95 (~Dr.Benway@host84-156-dynamic.16-79-r.retail.telecomitalia.it)
L1432[12:06:05] <Pennyw95> back
L1433[12:08:11] <Pennyw95> PaleoCrafter: but to save the relative positions via NBT, I still need the 3 xyz ints, don't I?
L1434[12:08:15] <PaleoCrafter> here, Pennyw95, have some idiomatic Scala https://gist.github.com/PaleoCrafter/c67c98ffe36e6f5e73dc :3
L1435[12:08:36] * unascribed 's eyes light on fire
L1436[12:08:42] <Pennyw95> that's hardcore
L1437[12:08:52] <diesieben07> god why do scala people dislike "." to call methods -.-
L1438[12:08:57] <Pennyw95> I'm happy when I use getOrElse xD
L1439[12:09:01] *** AbrarSyed is now known as Abrar|gone
L1440[12:09:01] <diesieben07> the fuck is this: https://git.io/vg6Ka
L1441[12:09:09] <PaleoCrafter> sometimes I like dots, diesieben07 :P
L1442[12:09:15] <unascribed> >backwards parameter typing
L1443[12:09:19] <diesieben07> thats just ... ugly
L1444[12:09:26] <Pennyw95> it's prettier
L1445[12:09:51] <diesieben07> and then they dont have something to do this: https://git.io/vg6KH properly
L1446[12:09:53] <unascribed> seriously this code makes me want to stab someone
L1447[12:09:56] <diesieben07> /rant over
L1448[12:10:00] <LatvianModder> doFill: Boolean
L1449[12:10:09] <LatvianModder> there is no boolean vs Boolean in scala?
L1450[12:10:13] <PaleoCrafter> diesieben07, even Kotlin can't do *that*, I think? :P
L1451[12:10:16] <LatvianModder> or Int vs int?
L1452[12:10:20] <PaleoCrafter> there is not, no, LatvianModder :P
L1453[12:10:31] <PaleoCrafter> well, there sort of is
L1454[12:10:33] <diesieben07> PaleoCrafter, implements SomeInterface by <expression>
L1455[12:10:37] <LatvianModder> can you set that boolean to null though?
L1456[12:10:47] <fry> diesieben07: small number of orthogonal features > a grab bag of useful on the surface but arbitrary features
L1457[12:10:51] <Pennyw95> I'd never go back ... see the brevity? https://gist.github.com/DrBenway95/68b38248bbd98946b562
L1458[12:10:57] <diesieben07> again /rant over :D
L1459[12:11:00] <PaleoCrafter> LatvianModder, no
L1460[12:11:06] <diesieben07> i am not doing a scala vs X discussion again
L1461[12:11:11] <fry> if you rant, expect a reply :P
L1462[12:11:15] <PaleoCrafter> how would I refer to the appropriate default value though, diesieben07? :P
L1463[12:11:18] <diesieben07> sure
L1464[12:11:50] <fry> PaleoCrafter: also, (pos add) was deprecated, I think
L1465[12:11:57] <diesieben07> idk paleo, i was just ranting
L1466[12:12:15] <PaleoCrafter> fry, it's behind a lang flag :D
L1467[12:12:16] <PaleoCrafter> scala.language.postfixOps
L1468[12:12:23] <PaleoCrafter> can write pos add _ of course
L1469[12:12:35] * unascribed lights on fire and falls out the window
L1470[12:12:36] <fry> and I don't see you importing that flag :P
L1471[12:12:47] <PaleoCrafter> https://gist.github.com/PaleoCrafter/c67c98ffe36e6f5e73dc#file-tilefountainfluidholder-scala-L4 look closer then :P
L1472[12:13:04] <unascribed> >burying a language-changing flag in the imports
L1473[12:13:18] <PaleoCrafter> it's quick and dirty code :P
L1474[12:13:33] <PaleoCrafter> you can set the flag via compiler options or a local import
L1475[12:13:33] <fry> heh
L1476[12:13:48] <fry> unascribed: it's a warning
L1477[12:13:53] <Pennyw95> PaleoCrafter: I don't get the NBT part
L1478[12:14:05] <PaleoCrafter> how so? :P
L1479[12:14:50] <Pennyw95> you are saving a long array with foreach, right?
L1480[12:15:19] <PaleoCrafter> foreach on an Option is a little special
L1481[12:15:32] <PaleoCrafter> if the option is defined, run the code, otherwise don't
L1482[12:15:36] <diesieben07> its like isPresent
L1483[12:15:42] <diesieben07> which would be a proper name for it :D
L1484[12:15:43] <PaleoCrafter> *ifPresent :P
L1485[12:15:48] <Pennyw95> ah...
L1486[12:16:10] <PaleoCrafter> they could have added another function to Option, yeah, but why if you have Traversable? :P
L1487[12:16:29] <Pennyw95> clarity? lol
L1488[12:16:46] <diesieben07> it's scala hue hue hue
L1489[12:18:08] <Pennyw95> I like it tho
L1490[12:18:25] ⇨ Joins: Mowmaster (~Mowmaster@67-3-165-201.omah.qwest.net)
L1491[12:18:50] <unascribed> >scala
L1492[12:18:52] <unascribed> >clarity
L1493[12:19:09] ⇦ Quits: Loetkolben (~Loetkolbe@ipbcc17c0a.dynamic.kabel-deutschland.de) (Quit: Over and Out!)
L1494[12:19:29] <fry> > something unfamilliar
L1495[12:19:31] <fry> > people
L1496[12:19:38] <diesieben07> >>>
L1497[12:19:47] <unascribed> >putting spaces after meme arrows
L1498[12:20:00] <fry> "meme arrows"
L1499[12:20:12] <unascribed> yes, that's what they call greentext now
L1500[12:20:14] <unascribed> keep with the times :P
L1501[12:20:46] *** willieaway is now known as williewillus
L1502[12:21:44] <fry> unascribed: https://en.wikipedia.org/wiki/Posting_style#Quoted_line_prefix
L1503[12:22:03] <unascribed> I am aware
L1504[12:22:35] <unascribed> I used to always yell at people for calling arrow quotes "greentext" or "meme arrows" but I realized it's futile rather quickly
L1505[12:23:23] <fry> and yet you're doing it in the other direction now :P
L1506[12:23:28] ⇦ Quits: ChJees (~ChJees@h211n5-sv-a13.ias.bredband.telia.com) (Ping timeout: 198 seconds)
L1507[12:23:34] <unascribed> there's a word for this phenomenon
L1508[12:23:37] <unascribed> I forget what it's called
L1509[12:27:59] ⇨ Joins: Naiten (Naiten@86-102-23-109.xdsl.primorye.ru)
L1510[12:29:40] ⇨ Joins: LexManos (~LexManos@172.76.2.58)
L1511[12:29:40] MineBot sets mode: +o on LexManos
L1512[12:31:12] <Mowmaster> Tis a lex...
L1513[12:34:00] <[NK]Ghost> shhh
L1514[12:34:12] <Mowmaster> Oh...
L1515[12:34:16] * Mowmaster hides
L1516[12:34:34] * Mowmaster eats a smoked egg while hiding
L1517[12:41:01] ⇦ Quits: Zidane (~Zidane@irc.spongepowered.org) (Ping timeout: 198 seconds)
L1518[12:41:56] ⇦ Quits: gabizou|laptop (~gabizou@irc.spongepowered.org) (Ping timeout: 198 seconds)
L1519[12:44:44] *** williewillus is now known as willieaway
L1520[12:45:11] <MattDahEpic> so i have the output of an EntityLivingBase.serializeNBT and i cant figure out how to get back into EntityLivngBase form
L1521[12:46:10] <diesieben07> EntityList.createEntityFromNBT
L1522[12:46:46] *** Mowmaster is now known as Mowmaster_Streaming
L1523[12:46:49] ⇦ Quits: primetoxinz (~primetoxi@ip68-107-226-229.hr.hr.cox.net) (Ping timeout: 194 seconds)
L1524[12:50:19] <gigaherz|bday> hmm where does mc/forge create the Block instances thesedays?
L1525[12:50:30] <gigaherz|bday> I wanted to see waht properties an iron block has
L1526[12:50:39] <gigaherz|bday> (or a diamond block)
L1527[12:50:48] <diesieben07> Item class
L1528[12:50:52] <gigaherz|bday> (properties I mean like hardness)
L1529[12:51:04] <gigaherz|bday> o_O
L1530[12:51:55] <gigaherz|bday> ah foundit
L1531[12:52:00] <gigaherz|bday> at the bottom of Block
L1532[12:52:23] <diesieben07> god why did i say Item -.- :D
L1533[12:53:01] <PaleoCrafter> you're getting old
L1534[12:53:57] <diesieben07> shuu
L1535[12:54:03] <diesieben07> just hungry
L1536[13:00:01] ⇨ Joins: MalkContent (MalkConten@p4FDCEA53.dip0.t-ipconnect.de)
L1537[13:01:01] ⇨ Joins: primetoxinz (~primetoxi@ip68-107-226-229.hr.hr.cox.net)
L1538[13:02:09] *** amadornes[OFF] is now known as amadornes
L1539[13:02:25] ⇦ Quits: Elec332 (~Elec332@ip5456d4a5.speed.planet.nl) (Ping timeout: 194 seconds)
L1540[13:05:12] ⇨ Joins: Ipsis (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk)
L1541[13:09:36] <gigaherz|bday> hmmm is there anything in mc/forge for declaring the recipes and such for a new ore?
L1542[13:10:42] ⇨ Joins: Drullkus (~Drullkus@2601:646:8301:8947:4dda:6a99:80a:61b4)
L1543[13:10:57] ⇨ Joins: AquaXV (webchat@ip4da39001.direct-adsl.nl)
L1544[13:11:55] ⇦ Quits: AquaXV (webchat@ip4da39001.direct-adsl.nl) (Quit: Web client closed)
L1545[13:12:05] ⇨ Joins: AquaXV (webchat@ip4da39001.direct-adsl.nl)
L1546[13:12:25] <riderj> For putting into a furnace?
L1547[13:13:44] ⇨ Joins: Samario (~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net)
L1548[13:16:02] <gigaherz|bday> riderj: well these are gemstone ores, so the furnace is the least of my concerns ;P
L1549[13:17:44] <riderj> Oh
L1550[13:22:27] ⇦ Quits: Mraoffle (~mraof@2601:642:4400:20c4:ba27:ebff:fea5:e37e) (Quit: Leaving)
L1551[13:23:15] ⇦ Quits: AquaXV (webchat@ip4da39001.direct-adsl.nl) (Quit: Web client closed)
L1552[13:24:32] ⇨ Joins: AquaXV (~Jim@ip4da39001.direct-adsl.nl)
L1553[13:24:49] <AquaXV> That took more effort than it could have xD
L1554[13:25:04] ⇦ Parts: AquaXV (~Jim@ip4da39001.direct-adsl.nl) ())
L1555[13:25:25] ⇨ Joins: AquaXV (~Jim@ip4da39001.direct-adsl.nl)
L1556[13:25:38] <AquaXV> *sigh*
L1557[13:25:42] <AquaXV> Ok, finaly.
L1558[13:26:31] <AquaXV> So, I had a question about Gui´s; When I try to open a Gui the cursor remains invisible.
L1559[13:27:09] ⇨ Joins: shadekiller666 (~shadekill@adsl-108-80-77-64.dsl.lsan03.sbcglobal.net)
L1560[13:28:09] <AquaXV> What can I do to fix that? I tried to this.mc.setIngameNotInFocus(), this.mc.mouseHelper.ungrabMouseCursor().
L1561[13:28:41] <AquaXV> I even looked at the source of GuiIngameMenu, but I just can´t figure it out.
L1562[13:30:51] <unascribed> you're displaying the GUI using Minecraft.displayScreen, right?
L1563[13:31:03] <MattDahEpic> i cant figure out why my mobderpearl destroys mobs but doesnt keep their data to put them back down with: https://github.com/MattDahEpic/RingkyDinks/blob/1.8.9/src/main/java/com/mattdahepic/ringkydinks/dink/DinkAbilities.java#L59
L1564[13:31:26] <AquaXV> Minecraft.getMinecraft().displayerGuiScreen(new instance());
L1565[13:31:34] <unascribed> yeah, that sounds right then
L1566[13:31:38] <AquaXV> instance being the class extending GuiScreen
L1567[13:31:46] <unascribed> gist your guiscreen?
L1568[13:32:06] <AquaXV> The one extending GuiScreen I assume?
L1569[13:32:09] <unascribed> yes
L1570[13:32:18] ⇦ Quits: zz_SnowShock35 (~SnowShock@2607:5300:100:200::17a0) (Quit: ZNC - http://znc.in)
L1571[13:32:53] <AquaXV> https://gist.github.com/AquaXV/d03c0c8554e39f5dc313
L1572[13:33:28] ⇦ Quits: Cojo (~Cojo@cpe-174-109-251-46.nc.res.rr.com) (Remote host closed the connection)
L1573[13:33:47] <unascribed> this looks right for the most part
L1574[13:33:56] <unascribed> gist the code that displays it
L1575[13:34:02] *** willieaway is now known as williewillus
L1576[13:34:33] <AquaXV> https://gist.github.com/AquaXV/6b401de1c52bac8f4a91
L1577[13:34:39] <AquaXV> The GUI displays fine
L1578[13:34:42] <AquaXV> and it functions correctly
L1579[13:34:47] <AquaXV> only the cursor remains invisible
L1580[13:34:53] ⇨ Joins: Cojo (~Cojo@cpe-174-109-251-46.nc.res.rr.com)
L1581[13:35:09] <AquaXV> When I move the mouse out of the minecraft window, the cursor returns, and works in the minecraft window again
L1582[13:35:22] <diesieben07> that GlobalVars class looks horrible
L1583[13:35:23] <unascribed> so it's not grabbed, it's just invisible?
L1584[13:35:25] <unascribed> OS?
L1585[13:35:28] <AquaXV> Win
L1586[13:35:29] <AquaXV> 7
L1587[13:35:36] <AquaXV> It is dies
L1588[13:35:46] <AquaXV> But the west way to handle my needs.
L1589[13:35:47] <unascribed> so obscure glitchy OSes aren't the problem then
L1590[13:35:48] <unascribed> weird.
L1591[13:35:51] <diesieben07> nope its not
L1592[13:35:52] <diesieben07> :D
L1593[13:35:59] <unascribed> yeah, global vars are never the way you should do anything
L1594[13:36:11] <unascribed> but the point here is why your GUI is broken, not why your programming style is awful
L1595[13:36:21] <AquaXV> sshhh
L1596[13:36:30] <diesieben07> sorry i cant resist :p
L1597[13:36:35] <AquaXV> Its not for public release, and first mod ever.
L1598[13:36:43] <AquaXV> So I dont bother for now.
L1599[13:37:04] <unascribed> but yeah I honestly have no idea, and I've spent a lot of time in the GUI code
L1600[13:37:35] <unascribed> never seen an invisible cursor bug before.
L1601[13:37:51] <diesieben07> show your GUI class
L1602[13:38:13] <unascribed> misc stuff in your gui class though
L1603[13:38:21] <unascribed> 1. calling setIngameFocus when doing displayScreen(null) is redundant
L1604[13:38:27] <unascribed> 2. buttonList.clear in initGui is redundant
L1605[13:38:30] <AquaXV> Was testing
L1606[13:38:42] <AquaXV> Like I said, first mod ever, not for public release
L1607[13:38:46] <diesieben07> oh its already there
L1608[13:38:51] <unascribed> initGui is called by setWorldAndResolution, and it clears the buttonList for you
L1609[13:39:00] <diesieben07> no tis not...
L1610[13:39:07] <diesieben07> god i am blind
L1611[13:39:08] <unascribed> from memory
L1612[13:39:10] <unascribed> probably slightly wrong
L1613[13:39:37] <AquaXV> probably, followed some youtube vid on Gui to get started with them
L1614[13:39:40] <unascribed> https://gist.github.com/AquaXV/d03c0c8554e39f5dc313
L1615[13:39:44] <unascribed> ^ the gui, diesieben07
L1616[13:39:51] <diesieben07> yeah i found it... :D
L1617[13:39:57] ⇨ Joins: Mowmaster (~Mowmaster@2600:1014:b125:f93c:bcb8:43cc:d2d3:a76e)
L1618[13:40:01] ⇨ Joins: mallrat208 (~mallrat20@184-88-190-37.res.bhn.net)
L1619[13:41:51] ⇦ Quits: Poppy (~Poppy@chello085216146055.chello.sk) (Ping timeout: 194 seconds)
L1620[13:42:09] ⇦ Quits: Mowmaster_Streaming (~Mowmaster@67-3-165-201.omah.qwest.net) (Ping timeout: 186 seconds)
L1621[13:42:25] <AquaXV> I suppose I am out of luck then?
L1622[13:43:45] ⇦ Quits: aef (~aef@schweinehegel.raxys.net) (Ping timeout: 186 seconds)
L1623[13:48:26] ⇦ Quits: Drullkus (~Drullkus@2601:646:8301:8947:4dda:6a99:80a:61b4) (Quit: Gotta go!)
L1624[13:51:59] ⇨ Joins: yurikoster1 (~yurikoste@189.110.89.153)
L1625[13:52:32] <MattDahEpic> i cant figure out why my mobderpearl destroys mobs but doesnt keep their data to put them back down with: https://github.com/MattDahEpic/RingkyDinks/blob/1.8.9/src/main/java/com/mattdahepic/ringkydinks/dink/DinkAbilities.java#L59
L1626[13:53:10] ⇦ Quits: RedBullWasTaken (~red@2-107-192-82-static.dk.customer.tdc.net) (Quit: Leaving)
L1627[13:53:23] ⇨ Joins: RedBullWasTaken (~red@2-107-192-82-static.dk.customer.tdc.net)
L1628[13:54:11] ⇦ Quits: Nitrodev (~Nitrodev@dcx0f0ydlqjf63lt3xmct-3.rev.dnainternet.fi) (Read error: Connection reset by peer)
L1629[13:54:59] <yurikoster1> hey guys sorry if this is a stupid question but how do i find the forge documentation for the 1.8.9 version? the wiki says i need to click the JavaDoc link, but i can�t seem to find it. Am i being blind?
L1630[13:55:24] <MattDahEpic> mcforge.readthedocs.org
L1631[13:55:45] <PaleoCrafter> and javadocs you can read in code
L1632[13:56:29] <yurikoster1> MattDahEpic: thanks
L1633[13:58:32] <diesieben07> MattDahEpic, it doesnt spawn the entity again or the nbt data is gone?
L1634[13:59:15] <MattDahEpic> diesieben07, the nbt data just doesnt show up
L1635[13:59:27] <AquaXV> Did you try to spawn the mob back in?
L1636[13:59:36] <MattDahEpic> AquaXV, yes
L1637[14:00:04] <shadekiller666> fry, someone commented on my PR for the OBJ Loader updates about the OBJ Loader disregarding any other translations/rotations (ie. EnumFacing rotations, etc.) that may be contained in the IBS passed into handleBlockState() if OBJProperty is present, and this is something i've noticed but hadn't confirmed. I've had times when I would have to pass the TRSRTransformation for an EnumFacing to the constructor of
L1638[14:00:04] <shadekiller666> OBJState in order for it to be applied, and I'm wondering if you know how I can fix it
L1639[14:00:21] <shadekiller666> the B3DLoader doesn't seem to have this problem, but I can't confirm that
L1640[14:00:23] <PaleoCrafter> how bad of an idea is it to allow locally in- or decreasing the tick rate? xD
L1641[14:00:39] <AquaXV> End of the universe bad, Paleo :p
L1642[14:00:53] <diesieben07> yeah no idea matt
L1643[14:01:08] <williewillus> PaleoCrafter: tickrate as in game ticks? :P
L1644[14:01:12] <PaleoCrafter> yes
L1645[14:01:19] <AquaXV> Does the client (like vanilla server) require an inventory update to show the changes?
L1646[14:01:35] <williewillus> AquaXV: theoretically...no but I've always had to do player.openContainer.detecthAndSendChanges
L1647[14:01:39] <williewillus> which drives diesieben07 nuts
L1648[14:01:39] <MattDahEpic> i set it to dirty
L1649[14:01:41] <williewillus> :D
L1650[14:01:56] <williewillus> PaleoCrafter: i don't see why not tbh :P
L1651[14:02:03] <williewillus> its only limited by hardware
L1652[14:02:05] <AquaXV> Dirty only marks the chunk you are in to be saved to disk
L1653[14:02:09] <AquaXV> according to javadocs
L1654[14:02:14] <diesieben07> for TEs
L1655[14:02:15] <williewillus> no inventories can be markDirtied as well
L1656[14:02:16] <williewillus> same name
L1657[14:02:49] <AquaXV> ah yes
L1658[14:02:50] <diesieben07> InventoryPlayer.markDirty does jack shit btw
L1659[14:02:51] <AquaXV> I see.
L1660[14:02:56] <PaleoCrafter> williewillus, yeah, but maybe there are some weird quirks that would render it infeasible :P
L1661[14:03:24] ⇨ Joins: Aaron1011 (~Aaron1011@irc.spongepowered.org)
L1662[14:04:38] <AquaXV> Matt, you could try to do some debugging as in output stack data before and after the NBT modifications, to see where the issue is.
L1663[14:05:03] <AquaXV> If that remains the same, its the NBT acting up, otherwise might be inventory update (?)
L1664[14:06:05] ⇦ Quits: McJty (~jorrit@94-225-203-206.access.telenet.be) (Quit: Leaving)
L1665[14:06:47] <PaleoCrafter> now I have to think about implementing this, lol
L1666[14:07:05] ⇨ Joins: gabizou (~gabizou@irc.spongepowered.org)
L1667[14:07:58] ⇨ Joins: thecodewarrior (~thecodewa@75-128-36-18.static.mtpk.ca.charter.com)
L1668[14:08:44] <williewillus> PaleoCrafter: grab the world object and just call runTick() on it right ;p
L1669[14:09:00] <williewillus> then watch as recursion burns everything
L1670[14:09:05] <PaleoCrafter> lol
L1671[14:09:36] <PaleoCrafter> I also need to be able to slow down the tick rate, you know :P
L1672[14:10:09] <PaleoCrafter> and it has to be local (i.e. only within X blocks of a player)
L1673[14:10:48] <diesieben07> yeah that screams mayhem
L1674[14:11:09] *** big_Xplosion is now known as big_Xplo|AFK
L1675[14:11:13] *** big_Xplo|AFK is now known as big_Xplosion
L1676[14:11:34] <PaleoCrafter> that's what I get for writing a mod based on novels xD
L1677[14:11:49] ⇨ Joins: Vazkii (~Vazkii@a79-169-163-74.cpe.netcabo.pt)
L1678[14:11:52] *** V is now known as Vigaro
L1679[14:12:49] ⇦ Parts: AquaXV (~Jim@ip4da39001.direct-adsl.nl) ())
L1680[14:14:55] *** tterrag|ZZZzzz is now known as tterrag
L1681[14:15:38] ⇨ Joins: gabizou|laptop (~gabizou@irc.spongepowered.org)
L1682[14:16:10] *** williewillus is now known as willieaway
L1683[14:17:30] <Ivorius> PaleoCrafter, why don't you write a mod with / about novels
L1684[14:17:35] <Ivorius> I could use that functionality :P
L1685[14:17:48] <PaleoCrafter> wat
L1686[14:18:19] <Ivorius> Randomly generated lore, man
L1687[14:18:21] <Ivorius> That's the shit
L1688[14:20:14] ⇨ Joins: Seppon (~Noppes@82-168-99-26.ip.telfort.nl)
L1689[14:21:20] ⇨ Joins: Loetkolben (~Loetkolbe@ipbcc17c0a.dynamic.kabel-deutschland.de)
L1690[14:21:21] ⇦ Quits: Noppes (~Noppes@82-168-99-26.ip.telfort.nl) (Ping timeout: 186 seconds)
L1691[14:29:24] <riderj> If I were to use LivingDeathEvent to increase an NBTTag on an item in the users inventory, how would I access the player in the event?
L1692[14:30:06] <diesieben07> event.entity
L1693[14:31:55] <riderj> Wouldn't that get the entity that died? I plan to increase a charge on an item when they kill a living entity.
L1694[14:32:04] ⇦ Quits: Seppon (~Noppes@82-168-99-26.ip.telfort.nl) (Read error: Connection reset by peer)
L1695[14:32:23] ⇨ Joins: Seppon (~Noppes@82-168-99-26.ip.telfort.nl)
L1696[14:33:20] <PaleoCrafter> riderj, check if(event.source instanceof EntityDamageSource) and then get the entity from that
L1697[14:33:40] <riderj> Ah, ok. Thanks
L1698[14:33:43] <VapourDrive> has anyone actually had luck with the semi-new "no need for deobf jars" feature in dev environments?
L1699[14:33:43] <VapourDrive> over half of the mods I've tried don't load
L1700[14:33:58] <Pennyw95> I've been getting this crash all day...does someone have clue about what's happening? :( http://pastebin.com/PWqwDtEr
L1701[14:35:53] <diesieben07> well, shoulda said you want the player who killed, not the one who diesd :P
L1702[14:38:40] <riderj> :p
L1703[14:40:40] <smbarbour> Pennyw95: That crash seems to indicate that there's a block with a metadata value of -1
L1704[14:41:04] <Pennyw95> hmm
L1705[14:42:44] ⇦ Quits: Pennyw95 (~Dr.Benway@host84-156-dynamic.16-79-r.retail.telecomitalia.it) (Quit: Leaving)
L1706[14:43:13] <smbarbour> Since it seems to be on server startup, my guess is that it's somewhere around spawn
L1707[14:43:54] <smbarbour> Might need to check the NBT data for the world to find it. (Good luck with finding that needle...)
L1708[14:45:58] ⇦ Quits: Hunterz (~hunterz@62.182.234.189) (Quit: Leaving.)
L1709[14:48:44] ⇨ Joins: armctec (~Thunderbi@186.204.130.121)
L1710[14:50:33] ⇨ Joins: kimfy (~kimfy@9.12.34.95.customer.cdi.no)
L1711[14:50:43] ⇦ Quits: Naiten (Naiten@86-102-23-109.xdsl.primorye.ru) (Read error: Connection reset by peer)
L1712[14:50:57] *** fry is now known as fry|sleep
L1713[14:51:45] ⇦ Quits: Samario (~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net) (Ping timeout: 186 seconds)
L1714[14:52:24] <gigaherz|bday> and... the time has come
L1715[14:52:28] <gigaherz|bday> I need to learn oregen
L1716[14:52:28] <gigaherz|bday> XD
L1717[14:52:40] <diesieben07> its not hard :P
L1718[14:53:05] ⇨ Joins: Elec332 (~Elec332@ip5456d4a5.speed.planet.nl)
L1719[14:54:16] <gigaherz|bday> hmm
L1720[14:54:29] <gigaherz|bday> google directed me to a reddit post with this link: https://github.com/TehNut/BaseMod/blob/master/src/main/java/main/basemod/util/GenerationHandler.java
L1721[14:54:34] ⇨ Joins: minecreatr (~minecreat@tterrag.com)
L1722[14:54:45] <TehNut> i suggest not using that
L1723[14:54:58] <gigaherz|bday> heh
L1724[14:55:02] <TehNut> it works. somehow.
L1725[14:55:08] <gigaherz|bday> lol
L1726[14:55:09] <TehNut> But yeah...
L1727[14:55:45] <gigaherz|bday> http://www.minecraftforge.net/wiki/Tutorials/Ore_Generation#TutorialGenerator.java
L1728[14:55:48] <gigaherz|bday> doesn't look different from this one
L1729[14:55:54] ⇦ Quits: nxsupert (nxsupert@2001:19f0:6800:8161:1337:c0de:4:11fe) (Ping timeout: 189 seconds)
L1730[14:56:42] ⇦ Quits: Techokami (Techokami@2001:19f0:6800:8161:1:be:a:7001) (Ping timeout: 198 seconds)
L1731[14:57:09] ⇦ Quits: M3gaFr3ak (M3gaFr3ak@I.Dunno.PanicBNC.com) (Ping timeout: 198 seconds)
L1732[14:57:36] ⇦ Quits: Sandra (Sandra@2001:19f0:6800:8161:a:1ce:c01d:babe) (Ping timeout: 198 seconds)
L1733[15:00:15] ⇦ Quits: agowa338 (~Thunderbi@p54918548.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
L1734[15:00:22] ⇨ Joins: agowa338 (~Thunderbi@p54918548.dip0.t-ipconnect.de)
L1735[15:00:23] ⇨ Joins: Thutmose (~elpat@cpe-193-199-193-104.caribcable.com)
L1736[15:00:53] <Thutmose> cpw: any word on the villager registry?
L1737[15:02:21] <riderj> Should I register my LivingDeathEvent on the server and client or just server/client? To me it sounds mostly like a server event.
L1738[15:02:22] ⇨ Joins: Samario (~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net)
L1739[15:03:13] ⇨ Joins: AbsentThirdEye (~Subconsci@cpe-65-28-43-97.wi.res.rr.com)
L1740[15:04:41] ⇨ Joins: SubconsciousEye (~Subconsci@cpe-65-28-43-97.wi.res.rr.com)
L1741[15:05:12] <gigaherz|bday> riderj: the question is where you want to detect those
L1742[15:05:24] <gigaherz|bday> chances are you want the logic to run on the server
L1743[15:05:31] <gigaherz|bday> but
L1744[15:05:43] <gigaherz|bday> for that you just do "if (world.isRemote) return;"
L1745[15:05:52] <riderj> It returns two results, and the other is null. The first is EntityPlayerMP so I'm guessing server.
L1746[15:05:54] <gigaherz|bday> you probably want the event handling tohappen also in singleplayer
L1747[15:06:28] <gigaherz|bday> if you are new to modding oyu may want to give this a read: http://mcforge.readthedocs.org/en/latest/concepts/sides/
L1748[15:06:38] ⇨ Joins: Techokami (Techokami@2001:19f0:6800:8161:1:be:a:7001)
L1749[15:06:41] <riderj> I am, and thank you.
L1750[15:06:52] <gigaherz|bday> (it took me like a year of modding before I realized what the "sides" really mean)
L1751[15:07:21] ⇦ Quits: AbsentThirdEye (~Subconsci@cpe-65-28-43-97.wi.res.rr.com) (Ping timeout: 186 seconds)
L1752[15:07:25] ⇨ Joins: Pennyw95 (~Dr.Benway@host84-156-dynamic.16-79-r.retail.telecomitalia.it)
L1753[15:08:33] ⇦ Quits: Ipsis (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk) (Ping timeout: 189 seconds)
L1754[15:09:34] <riderj> https://gyazo.com/56af2da1b699e1b0093210fcaed4d7cb how do I interpret this? When I limit it to the server, it doesn't print anything so I assume it doesn't run on the server?
L1755[15:10:21] <diesieben07> uhhmmm
L1756[15:10:27] <diesieben07> Minecraft#theWorld is ALWAYS client
L1757[15:10:34] <diesieben07> since that is, well, the client's world
L1758[15:10:59] <riderj> I see, how can I check sides without a world?
L1759[15:11:23] <diesieben07> you don't.
L1760[15:11:30] <diesieben07> the event gives you the entity, which has a world
L1761[15:11:46] <gigaherz|bday> everything is tied to a word, unless it's client-side processing stuff
L1762[15:11:57] <riderj> I see
L1763[15:12:49] ⇦ Quits: Jezza (~Jezza@185.44.151.118) (Quit: Leaving)
L1764[15:12:51] ⇦ Quits: Elec332 (~Elec332@ip5456d4a5.speed.planet.nl) (Ping timeout: 194 seconds)
L1765[15:13:27] <gigaherz|bday> \o/ worked
L1766[15:13:41] <gigaherz|bday> now I have no idea how MUCH of it is being generated
L1767[15:13:41] <gigaherz|bday> XD
L1768[15:15:51] <Wuppy> it's your birthday gigaherz|bday?
L1769[15:15:55] <gigaherz|bday> yep
L1770[15:16:02] <Wuppy> congrats man!
L1771[15:16:06] <Wuppy> happy bday :)
L1772[15:16:07] <gigaherz|bday> thx
L1773[15:16:10] <gigaherz|bday> s^5 ;P
L1774[15:16:13] <gigaherz|bday> 2^5 ;P
L1775[15:16:15] ⇦ Quits: Hgrebnednav (~Hgrebnedn@d8D872D48.access.telenet.be) (Ping timeout: 189 seconds)
L1776[15:16:21] ⇨ Joins: M3gaFr3ak (M3gaFr3ak@I.Dunno.PanicBNC.com)
L1777[15:16:39] <Wuppy> 2^5?
L1778[15:16:43] <gigaherz|bday> my age ;P
L1779[15:16:58] <PaleoCrafter> tsk, it's like you're crying for attention :P
L1780[15:17:17] <fry|sleep> so, 7 years old? :P
L1781[15:17:20] <gigaherz|bday> hey it's not every day that one gets to be a power of two years old
L1782[15:17:23] * fry|sleep runs away
L1783[15:17:26] <gigaherz|bday> fry|sleep: lol
L1784[15:17:47] <gigaherz|bday> 1<<5 for you ;P
L1785[15:20:42] ⇦ Quits: RANKSHANK (~Michael@ppp121-44-139-233.lns20.syd7.internode.on.net) (Read error: Connection reset by peer)
L1786[15:27:15] <thecodewarrior> What I think would be awesome is if you could set up an IDE to set a boolean field to true whenever a class is hot-swapped, that way you could re-run the function once and set it to false.
L1787[15:28:30] ⇨ Joins: mezz (~mezz@2601:641:4000:63:4e3:cb68:ecbe:7536)
L1788[15:28:31] MineBot sets mode: +v on mezz
L1789[15:28:40] <riderj> Why does this keep returning null inventory values/what's the difference between getEnityt and getSourceOfDamage? https://gyazo.com/05918c64e496584f59474e3c189bc06d
L1790[15:28:53] <gigaherz|bday> hmf
L1791[15:29:04] <gigaherz|bday> what is the best way to make a recipe output depend on one of the input items?
L1792[15:29:16] <gigaherz|bday> for stuff like compatibility with JEI/NEI/TMI recipe browsers
L1793[15:29:25] <riderj> Well figured out the second half, getSourceOfDamage is just a reference to getEntity
L1794[15:29:34] <gigaherz|bday> I'd do a custom IRecipe, but I believe there's a better method XD
L1795[15:30:13] <diesieben07> riderj, getEntity is the actual entity (e.g. arrow). getSourceOfDamage is the one who caused the damage (e.g. the arrow shooter)
L1796[15:30:19] ⇨ Joins: Raspen0 (~Raspen0@D97A01A5.cm-3-3a.dynamic.ziggo.nl)
L1797[15:30:26] <diesieben07> and what the heck is that entity ID stuff?
L1798[15:30:40] <riderj> I was just fooling around trying to see if it made a difference
L1799[15:33:19] ⇨ Joins: Mowmaster_Mobile (~Mowmaster@67-3-165-201.omah.qwest.net)
L1800[15:35:45] ⇦ Quits: Mowmaster (~Mowmaster@2600:1014:b125:f93c:bcb8:43cc:d2d3:a76e) (Ping timeout: 186 seconds)
L1801[15:37:12] ⇦ Quits: bilde2910 (bilde2910@51.174.170.178) (Ping timeout: 198 seconds)
L1802[15:37:17] *** minecreatr is now known as Mine|away
L1803[15:39:40] <riderj> Why does DamageSource return null when trying to get the source?
L1804[15:40:15] <diesieben07> by "the source" you mean the enitty that caused it?
L1805[15:40:19] <Pennyw95> Do you think the cause of this crash should be a wrong world.setBlockState()? http://pastebin.com/PWqwDtEr
L1806[15:40:54] <diesieben07> looks like a corrupt TileEntity data in the world save
L1807[15:41:15] <Pennyw95> oh
L1808[15:41:40] <riderj> Yeah, when I call entity.source.getDamageSource() it returns two, one EntityPlayerMP and null.
L1809[15:41:43] <Pennyw95> the kind of stuff you should delete your world to solve?
L1810[15:41:57] <diesieben07> yes penny
L1811[15:42:02] <diesieben07> riderj, it returns two?!
L1812[15:42:04] <Pennyw95> ok
L1813[15:42:07] <diesieben07> a method cannot return two things
L1814[15:42:23] <riderj> I assume it's returning one from the server and one from the client.j
L1815[15:42:31] <diesieben07> ah
L1816[15:42:38] <diesieben07> yes the cleint doesn't know abotu the source entity
L1817[15:42:43] ⇨ Joins: bilde2910|away (bilde2910@51.174.170.178)
L1818[15:43:07] <riderj> I check to see if it's server by checking if the source != null, but I still can't get the players inventory :/
L1819[15:43:24] <diesieben07> thats not how you check for serverside
L1820[15:43:32] *** bilde2910|away is now known as bilde2910
L1821[15:43:34] <diesieben07> check using world.isRemote, that is false on the server.
L1822[15:44:18] <riderj> I would, but I can't get the worldObj from the entity because it tries to get the worldObj from the client as well so it errors
L1823[15:44:38] <diesieben07> whut.
L1824[15:44:41] <diesieben07> event.entity.worldObj
L1825[15:45:16] <riderj> Jeez, didn't see that when I was looking through it. I was getting the world from the entity that is returned from getDamageSource()
L1826[15:45:45] <Pennyw95> diesieben07: those corrupt data, is there a common cause for them?
L1827[15:45:52] <diesieben07> not that i know of
L1828[15:47:01] <Pennyw95> so I was just unlucky? or is my code falwed?
L1829[15:47:01] <riderj> Cool, that's all fixed up. Still saying the inventory ItemStack's are null.
L1830[15:47:32] <diesieben07> unless you are screwing with the chunk data i wouldn't say it's your fault
L1831[15:47:38] <diesieben07> unless you don't shut the server down properly
L1832[15:47:46] <diesieben07> show your code rider
L1833[15:48:08] <Pennyw95> ok :)
L1834[15:48:17] <Pennyw95> and no I'm not
L1835[15:48:34] <shadekiller666> happy bday gigaherz|bday
L1836[15:48:37] <riderj> http://pastebin.com/btRrErvu
L1837[15:48:52] *** kroeser is now known as kroeser|away
L1838[15:49:26] <gigaherz|bday> thx
L1839[15:49:31] <diesieben07> getInventory() is pretty useless, since it's return value depends on the type of entity
L1840[15:49:41] <diesieben07> for players it's just the armor inventory slots
L1841[15:49:48] <diesieben07> you want EntityPlayer#inventory
L1842[15:51:09] ⇦ Quits: kimfy (~kimfy@9.12.34.95.customer.cdi.no) (Quit: Leaving)
L1843[15:51:26] <riderj> Should I just cast EntityPlayer to entity?
L1844[15:51:38] <diesieben07> the other way arund
L1845[15:51:44] <diesieben07> but you need to check fi its actually a player
L1846[15:52:57] <riderj> How would I do that? Check if they are in the player list?
L1847[15:53:05] <diesieben07> instanceof operatr
L1848[15:53:14] <riderj> Alright
L1849[15:53:52] <riderj> EntityPlayer p = (EntityPlayer)event.source.getSourceOfDamage that's correct, yes?
L1850[15:54:45] ⇦ Quits: alex_6611 (~alex_6611@p549364B8.dip0.t-ipconnect.de) (Ping timeout: 189 seconds)
L1851[15:55:11] <diesieben07> after an instanceof check, yes.
L1852[15:55:49] <riderj> Cool, thanks for the help.
L1853[15:57:50] <riderj> Still looking like it returns the armor slots, http://pastebin.com/bVc8mLWJ
L1854[15:58:25] <riderj> Nevermind
L1855[15:59:13] ⇦ Quits: Forecaster (~Forecaste@83.223.1.173) (Ping timeout: 194 seconds)
L1856[16:00:09] ⇨ Joins: Forecaster (~Forecaste@83.223.1.173)
L1857[16:09:47] <PaleoCrafter> meh, why must EntityVillager.villagerObj be package-local while EntityIronGolem.villageObj is not ._.
L1858[16:10:37] <diesieben07> its also package local in EntityIronGolem for me
L1859[16:10:53] <PaleoCrafter> oh, yeah, but it has a getter xD
L1860[16:11:18] <diesieben07> ah
L1861[16:11:31] <diesieben07> probably just optimized away by their obfuscator/optimizer
L1862[16:12:04] <PaleoCrafter> probably, still meh :P
L1863[16:12:32] <diesieben07> inaccessible fields are the smallest problems in modding really :D
L1864[16:12:55] <PaleoCrafter> they're still annoying :P
L1865[16:13:59] * diesieben07 hits head against desk
L1866[16:14:00] <diesieben07> http://www.minecraftforge.net/forum/index.php/topic,36685.0.html
L1867[16:16:00] ⇦ Quits: Loetkolben (~Loetkolbe@ipbcc17c0a.dynamic.kabel-deutschland.de) (Quit: Over and Out!)
L1868[16:17:31] <PaleoCrafter> not sure if he's from Turkey or he's actually a humanoid turkey xD
L1869[16:17:55] <Thutmose> seems more like the latter to me, and a domestic one at that.
L1870[16:18:02] <diesieben07> lol
L1871[16:18:44] ⇦ Quits: Pennyw95 (~Dr.Benway@host84-156-dynamic.16-79-r.retail.telecomitalia.it) (Quit: Leaving)
L1872[16:21:42] ⇦ Quits: AforAnonymous (bitch2k@dyn-042-184.vix1.mmc.at) (Quit: Try not to think not.)
L1873[16:24:36] ⇨ Joins: moog (~moog@24-176-156-144.dhcp.jcsn.tn.charter.com)
L1874[16:30:21] *** amadornes is now known as amadornes[OFF]
L1875[16:32:55] ⇨ Joins: RANKSHANK (~RANKSHANK@pa49-181-174-199.pa.nsw.optusnet.com.au)
L1876[16:40:07] *** big_Xplosion is now known as big_Xplo|AFK
L1877[16:44:31] <Cypher121> are sided proxies only injected in @Mod classes or in other classes too?
L1878[16:45:01] <PaleoCrafter> other classes as well
L1879[16:45:57] <diesieben07> uhm what?
L1880[16:45:59] <diesieben07> not they are not
L1881[16:46:04] <PaleoCrafter> works for me :P
L1882[16:46:08] <diesieben07> really??
L1883[16:46:08] ⇨ Joins: sciguyryan (~sciguyrya@95.211.188.20)
L1884[16:46:13] *** Darkhax_AFK is now known as Darkhax
L1885[16:46:41] <PaleoCrafter> have I ever lied to you? :P
L1886[16:46:46] ⇦ Quits: RedBullWasTaken (~red@2-107-192-82-static.dk.customer.tdc.net) (Remote host closed the connection)
L1887[16:47:13] <diesieben07> no :P
L1888[16:47:21] <diesieben07> i am just expressing my surprise
L1889[16:47:43] <Cypher121> anyway, this code is getting shittier every minute
L1890[16:47:44] <PaleoCrafter> what if I told you that I just lied to you?
L1891[16:48:00] <diesieben07> go away with your paradoxes
L1892[16:48:18] *** willieaway is now known as williewillus
L1893[16:50:29] ⇦ Quits: xanderio (~xanderio@p5B21FD6C.dip0.t-ipconnect.de) (Remote host closed the connection)
L1894[16:51:39] ⇨ Joins: VikeStep (~VikeStep|@203.15.33.147)
L1895[16:53:06] <MalkContent> that's no paradox, that's a question :|
L1896[16:53:44] ⇦ Quits: Raspen0 (~Raspen0@D97A01A5.cm-3-3a.dynamic.ziggo.nl) (Quit: Leaving)
L1897[16:54:15] * diesieben07 flails arms
L1898[16:54:16] <diesieben07> shuuu
L1899[16:54:36] ⇦ Quits: Samario (~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net) (Quit: Leaving)
L1900[16:55:15] <MalkContent> also a totally valid one :D like movie villian stuff
L1901[16:55:39] <MalkContent> blablabla mysterious statement. ... what if i told you i just lied to you?
L1902[16:56:51] <Cypher121> I think I'm going to pretend integrated servers with remote players don't exist
L1903[16:56:58] <diesieben07> please dont
L1904[16:57:07] <Cypher121> this is just awful
L1905[16:58:10] <diesieben07> why?
L1906[16:58:12] <Cypher121> if I have 2 sets of mappings for client and server, I have to somehow guess if user wants to access the ones for integrated server or for client
L1907[16:58:19] <diesieben07> what do you mean by mappings?
L1908[16:58:27] <Cypher121> research maps
L1909[16:58:42] <diesieben07> are they per player?
L1910[16:58:45] <Cypher121> no
L1911[16:58:56] <diesieben07> per world?
L1912[16:59:03] <Cypher121> per server
L1913[16:59:13] <diesieben07> so even if you change worlds they persist?
L1914[16:59:14] <Cypher121> like config
L1915[16:59:17] <Cypher121> yes
L1916[16:59:33] <Cypher121> but when you join server, server sends you its maps
L1917[16:59:42] <Cypher121> and you use them until you leave
L1918[16:59:44] <diesieben07> have two sets, one for client one for server
L1919[16:59:46] <diesieben07> even in SP
L1920[16:59:49] <Cypher121> yes
L1921[16:59:55] <diesieben07> i dont see your problem
L1922[16:59:57] <Cypher121> now here's the question
L1923[17:00:34] <Cypher121> actually no, I can't formulate it properly
L1924[17:00:41] <williewillus> :P
L1925[17:01:13] <Cypher121> but problem is that I always have to choose one of 2 maps, and I'm not exactly sure what to use
L1926[17:01:20] <gigaherz|bday> uh
L1927[17:01:26] <diesieben07> on the cleint, use the cleint one
L1928[17:01:29] <diesieben07> on the server, use the server one
L1929[17:01:35] <Cypher121> but client is also a server
L1930[17:01:38] <gigaherz|bday> yes
L1931[17:01:39] <diesieben07> no its not.
L1932[17:01:39] <Cypher121> and is also a squid
L1933[17:01:43] <diesieben07> (i need to put in an autocorrect for cleint)
L1934[17:01:51] <gigaherz|bday> Cypher121: when you are in LAN mode
L1935[17:02:13] <gigaherz|bday> whoever started the game IS the server, but the remote players are exactly as if they were on a server
L1936[17:02:16] ⇦ Quits: poiuy_qwert (~poiuy_qwe@206.223.179.158) (Quit: This computer has gone to sleep)
L1937[17:02:17] <diesieben07> you still have server & client in LAN
L1938[17:02:22] <diesieben07> even in SP
L1939[17:02:22] <gigaherz|bday> so if oyu have a "map" per save
L1940[17:02:25] <Cypher121> yes, of course
L1941[17:02:33] <gigaherz|bday> then it wouldn't be different
L1942[17:02:37] <Cypher121> I had other solution, but it was broken for remote LAN players
L1943[17:02:41] <gigaherz|bday> the map would be directly linked to the server world
L1944[17:02:45] <Cypher121> now I use 2 maps
L1945[17:02:46] <gigaherz|bday> even for clients
L1946[17:03:06] <Cypher121> alright, let me give an example
L1947[17:03:09] <gigaherz|bday> just load the map from the server thread(wherever it may be)
L1948[17:03:15] <Cypher121> single-player (integrated):
L1949[17:03:15] <gigaherz|bday> and transfer it to all the clients (including singleplayer)
L1950[17:03:27] <Cypher121> ffs, stop
L1951[17:03:38] <Cypher121> so here's the problem
L1952[17:04:07] <Cypher121> if there's an integrated server and user wants to add a map, which side should it be added on?
L1953[17:04:21] <gigaherz|bday> what is "a map"?
L1954[17:04:47] <gigaherz|bday> if it's something that's managed server-side and the client just draws it
L1955[17:05:13] <gigaherz|bday> then it would make sense for it to always be done on the server thread
L1956[17:05:16] <gigaherz|bday> be it remote or local
L1957[17:06:36] ⇦ Parts: VapourDrive (~vapourdri@london142cw-lp130-04-845430279.dsl.bell.ca) ())
L1958[17:07:01] <gigaherz|bday> in that case, you could make no difference between SP or MP, you'd simply use packets to send the data to the clients, even in singleplayer
L1959[17:07:04] <Cypher121> yeah, it can be solved apparently
L1960[17:07:37] *** Mine|away is now known as minecreatr
L1961[17:08:27] <Cypher121> basically a map is a graph of unlock nodes
L1962[17:08:33] ⇦ Quits: Katrix (~Katrix@2a02:fe0:cb10:2650:3dee:7372:aa77:73b) (Read error: Connection reset by peer)
L1963[17:08:37] <gigaherz|bday> so it's not actually a map
L1964[17:08:48] <gigaherz|bday> I mean, a piece of paper with stuff drawn on it
L1965[17:08:48] <gigaherz|bday> XD
L1966[17:08:53] <Cypher121> no, lol
L1967[17:08:55] ⇨ Joins: Katrix (~Katrix@2a02:fe0:cb10:2650:3dee:7372:aa77:73b)
L1968[17:08:59] <gigaherz|bday> ok so
L1969[17:09:15] <Cypher121> they should only be managed by servers, I guess
L1970[17:09:18] ⇦ Quits: Seppon (~Noppes@82-168-99-26.ip.telfort.nl) (Read error: Connection reset by peer)
L1971[17:09:19] <gigaherz|bday> but wait
L1972[17:09:20] <gigaherz|bday> unlock?
L1973[17:09:25] <Cypher121> research
L1974[17:09:26] <PaleoCrafter> that'd be a drawing, gigaherz|bday :P
L1975[17:09:27] <Cypher121> unlock
L1976[17:09:35] <gigaherz|bday> is this something that would be player-bound?
L1977[17:09:36] <Cypher121> whatever you want to call it
L1978[17:09:56] <Cypher121> definition vs. state
L1979[17:10:05] <gigaherz|bday> I mean
L1980[17:10:06] <Cypher121> definition is same for all players on server
L1981[17:10:09] <Cypher121> states vary
L1982[17:10:12] <gigaherz|bday> aha
L1983[17:10:25] <gigaherz|bday> so the actual "unlock trees" are managed server-wide
L1984[17:10:30] <Cypher121> yes
L1985[17:10:35] <gigaherz|bday> like the HQM book would
L1986[17:10:40] <Cypher121> exactly
L1987[17:10:58] <Cypher121> but then I send them to all clients in form of a giant pile of NBT
L1988[17:11:04] <gigaherz|bday> yeah that'd bebest as a server-side feature
L1989[17:11:11] <Cypher121> yes
L1990[17:11:17] <gigaherz|bday> yeh dump it into the clients on login and problem solved
L1991[17:11:17] <gigaherz|bday> ;p
L1992[17:11:45] <Cypher121> the problem I have is that on integrated servers I have to choose if I want to access server or client maps
L1993[17:11:55] <gigaherz|bday> there should be no "client map"
L1994[17:12:02] <gigaherz|bday> the server thread would still manage it
L1995[17:12:06] <diesieben07> sure there should...
L1996[17:12:07] <gigaherz|bday> and it would still send a packet to the client
L1997[17:12:11] ⇨ Joins: sinkillerj (~sinkiller@nc-67-232-14-71.dhcp.embarqhsd.net)
L1998[17:12:19] <diesieben07> on integrated servers its the same as eveywhere else
L1999[17:12:23] <diesieben07> serverside: use server map
L2000[17:12:26] <diesieben07> cleintsie: use client map
L2001[17:12:32] <diesieben07> its not hard...
L2002[17:12:46] <gigaherz|bday> basically IMO, the server shoudl be the one to manage saving the data
L2003[17:12:52] <unascribed> yeah, the best way to deal with the integrated server is to not deal with the integrated server
L2004[17:12:54] <gigaherz|bday> the client should just simply keep it in memory for the duration of the session
L2005[17:12:56] <diesieben07> yes but the client still ahs to hold onto it somehow
L2006[17:12:58] ⇨ Joins: illyohs (~LordIllyo@2604:a880:800:10::94a:8001)
L2007[17:13:00] <gigaherz|bday> sure
L2008[17:13:04] <gigaherz|bday> but that's like
L2009[17:13:05] <unascribed> treat a singleplayer session exactly like a multiplayer session
L2010[17:13:06] <diesieben07> thats what he means i assume
L2011[17:13:14] <diesieben07> yes what unascribed said.
L2012[17:13:20] <gigaherz|bday> in the integrated server
L2013[17:13:25] <gigaherz|bday> there would simply be two instances of it
L2014[17:13:28] <gigaherz|bday> I'd have something like
L2015[17:13:34] <gigaherz|bday> a WorldSavedData instance for the server
L2016[17:13:40] <Cypher121> alright, alright
L2017[17:13:40] <diesieben07> well, he said its not tied to the world
L2018[17:13:46] <gigaherz|bday> and a "temporary" ClientData for keeping the data in-memory
L2019[17:13:49] <diesieben07> more like config
L2020[17:13:50] <Cypher121> now let me explain the fucking problem
L2021[17:14:13] <Cypher121> let's imagine that there are several maps defined
L2022[17:14:28] <gigaherz|bday> sure
L2023[17:14:34] <Cypher121> and someone tries to access one of them on client/integrated server
L2024[17:14:42] <diesieben07> stop right there
L2025[17:14:47] <diesieben07> client and integrated server are NOT the same.
L2026[17:14:58] <Cypher121> they are same process
L2027[17:15:01] <diesieben07> yes
L2028[17:15:03] <unascribed> meaningless
L2029[17:15:07] <diesieben07> ^
L2030[17:15:10] <unascribed> the client and server are separate entities
L2031[17:15:14] <diesieben07> you are throwing logical side and physical side into the same bin
L2032[17:15:14] <unascribed> even if they share a process space
L2033[17:15:19] <unascribed> if you are throwing objects over that boundary
L2034[17:15:20] <Cypher121> omg
L2035[17:15:21] <unascribed> your code is broken.
L2036[17:15:41] <Cypher121> I'M FUCKING TRYING NOT TO CAN YOU JUST ALL FUCKING LISTEN?
L2037[17:15:43] <unascribed> you are not describing a problem, you are describing an error in your design
L2038[17:15:51] <diesieben07> we are listening
L2039[17:15:57] <diesieben07> no need to scream
L2040[17:16:06] <Cypher121> alright
L2041[17:16:33] <Cypher121> maps aren't bound to world or to player
L2042[17:16:36] <VikeStep> man, looking up stuff for ASP.NET 5 is so frustrating :/ because all that comes up is MVC 5 which is actually ASP.NET 4
L2043[17:16:42] <Cypher121> so they are just static
L2044[17:16:46] <gigaherz|bday> okay
L2045[17:16:51] <diesieben07> you need two fields then
L2046[17:16:53] <VikeStep> happy birthday gigaherz|bday
L2047[17:16:55] <diesieben07> client & server.
L2048[17:17:00] <Cypher121> yeah, that's what I have
L2049[17:17:03] <gigaherz|bday> it still applies though: whoever runs the server thread controls the maps
L2050[17:17:10] <Cypher121> of course
L2051[17:17:13] ⇨ Joins: Dark (~MrDark@cpe-76-181-157-113.columbus.res.rr.com)
L2052[17:17:14] <diesieben07> ok now describe your issue.
L2053[17:17:14] <gigaherz|bday> the client still asks the server for them, and then there's no problem tobe had
L2054[17:17:17] <Cypher121> but now I want to access them
L2055[17:17:27] <Cypher121> and I'm physically on a client
L2056[17:17:31] <unascribed> so, if you have a map, let's say map 0
L2057[17:17:35] <unascribed> and your client wants to look at map 0
L2058[17:17:38] <unascribed> it sends a packet asking for map 0
L2059[17:17:39] <Cypher121> yes
L2060[17:17:40] <gigaherz|bday> doesn't matter, you can still send a packet to the server thread
L2061[17:17:41] <diesieben07> where you are PHYSCIALLY is irellevant
L2062[17:17:42] <gigaherz|bday> and wait for a reply
L2063[17:17:44] <unascribed> server sends back a packet with the contents of map 0
L2064[17:17:46] <diesieben07> it matters where you are LOGICALLY
L2065[17:17:50] <unascribed> the client loads from the packet
L2066[17:17:54] <diesieben07> server -> ResearchMaps.server
L2067[17:17:58] <diesieben07> client -> researchmaps.client
L2068[17:18:00] <unascribed> there is no magic object passing over the boundary
L2069[17:18:20] <diesieben07> (and client means NOT integrated server, integrated server = server)
L2070[17:18:40] <unascribed> yes, client is effectively the render thread
L2071[17:18:42] <PaleoCrafter> unascribed, afaik, sending a packet to the integrated server is just that :P
L2072[17:18:47] <unascribed> and server is the (potentially remote) server thread
L2073[17:18:56] <Cypher121> alright, there will be 4 points, please let me state all 4
L2074[17:18:57] <PaleoCrafter> (magically passing the object over the border)
L2075[17:18:58] <unascribed> PaleoCrafter, in that case the magic object passing is abstracted and simply an optimization
L2076[17:19:03] <PaleoCrafter> yeah :D
L2077[17:19:10] <gigaherz|bday> we really shoudl rename those to "UI" side and "Logic" side
L2078[17:19:11] <gigaherz|bday> ;P
L2079[17:19:13] <Cypher121> 1) I have clientMaps and serverMaps as static lists
L2080[17:19:45] <gigaherz|bday> yep
L2081[17:19:57] <Cypher121> 2) accessor for them should be same, API user should NOT specify which ones he wants.
L2082[17:20:14] <gigaherz|bday> wat
L2083[17:20:21] <diesieben07> that is wrong
L2084[17:20:25] <diesieben07> they need to
L2085[17:20:25] <gigaherz|bday> that is broken
L2086[17:20:30] <gigaherz|bday> there's TWO kinds of api users
L2087[17:20:32] <gigaherz|bday> the "client" users
L2088[17:20:35] <gigaherz|bday> and the "server" users
L2089[17:20:38] <gigaherz|bday> they should be separate APIs
L2090[17:20:47] <diesieben07> not necessarily that
L2091[17:20:48] <Cypher121> so dump deciding which side is checked on user?
L2092[17:20:49] <gigaherz|bday> regardless on if they run dedicated or integrated
L2093[17:20:56] <diesieben07> but at least a method that takes a Side argument
L2094[17:21:06] <gigaherz|bday> Cypher121: depends on context, not user
L2095[17:21:09] <diesieben07> yes the api user must know what he is doing
L2096[17:21:15] <gigaherz|bday> if you want the data for rendering purposes, you do it from the client thread
L2097[17:21:19] <gigaherz|bday> and you use the ClientMaps
L2098[17:21:36] <gigaherz|bday> ifyou want the data for unlocking things, then you do it from the server thread, and you use the ServerMaps
L2099[17:21:38] <diesieben07> there is no way to magically knwo the side without context
L2100[17:21:45] <diesieben07> there is getEffectiveSide but do not use it
L2101[17:22:04] <diesieben07> you at least need a World object so you can check isRemote
L2102[17:22:10] <PaleoCrafter> this would be a lot easier if you used WorldSavedData (which can work per save, not actual dimensions) :P
L2103[17:22:20] <gigaherz|bday> the whole point of Mojang isolating the gameplay logic into an integrated server
L2104[17:22:24] <gigaherz|bday> was that the code was clearly separate
L2105[17:22:40] <gigaherz|bday> the situation where "client code runs gameplay logic" was removed from the equation
L2106[17:23:09] <gigaherz|bday> you are trying to blur a line Mojang took a lot of effort to draw ;P
L2107[17:23:45] <gigaherz|bday> so yes, you should have separate "access paths" for User Interface data access
L2108[17:23:50] <gigaherz|bday> and Gameplay data access
L2109[17:23:55] <Cypher121> what I basically want is to allow user to call Skills.mapExists("name") and get correct result for current maps
L2110[17:24:12] <diesieben07> that is impossible
L2111[17:24:15] <unascribed> ultimately you should have some class, say SkillsCollection
L2112[17:24:17] <diesieben07> the user needs to tell you the side
L2113[17:24:18] <Cypher121> no matter if he's on server and working with his own maps, be it dedicated or integrated
L2114[17:24:21] <unascribed> which provides a common API for this
L2115[17:24:28] <unascribed> then have SkillsClient.getMap().contains("name")
L2116[17:24:32] <unascribed> and one for SkillsServer
L2117[17:24:38] <diesieben07> yeah or that
L2118[17:24:46] <unascribed> then you still have a common API handle you can pass to common code
L2119[17:24:47] <gigaherz|bday> yep our strongest suggestion is that you have two access points for it
L2120[17:24:50] <Cypher121> fuck
L2121[17:24:52] <gigaherz|bday> depending on which side you call it from
L2122[17:25:10] <gigaherz|bday> in fact, it may be good to have an assertion in your code, if it gets called from the wrong thread
L2123[17:25:15] <Cypher121> I spent a week simplifying it as much as possible for users
L2124[17:25:17] <diesieben07> how you thought this was only a problem in LAN i do not know :P
L2125[17:25:30] <diesieben07> this is a problem everywhere
L2126[17:25:42] <gigaherz|bday> diesieben07: it's the problem if having a shared instance of the @Mod and static fields
L2127[17:25:53] <diesieben07> but he already said he as TWO fields
L2128[17:25:54] <gigaherz|bday> people are allowed to forget there's separate threads running separate logic
L2129[17:25:59] <diesieben07> no they are not :P
L2130[17:26:20] <Cypher121> I didn't think it was a LAN problem. original solution involved disabling sync for LAN server and just using 1 field
L2131[17:26:27] <diesieben07> oh
L2132[17:26:30] <diesieben07> yeah dont do that
L2133[17:26:32] <gigaherz|bday> they shouldn't, but if they do forget, thigns just act funny
L2134[17:26:40] <Cypher121> THAT was LAN problem, but also a pretty easy solution
L2135[17:26:40] <gigaherz|bday> they don't crash in a clear way
L2136[17:26:57] <diesieben07> i mean you CAN use one field and just sync everywhere if you REALLY wnat to
L2137[17:27:07] <diesieben07> BUT: you have t make your data structure threadsafe
L2138[17:27:15] <diesieben07> and REALLY knwo what you are doing in that regard
L2139[17:28:02] <Cypher121> I think what I want is a way to check if player that connected to a server is a player from same process
L2140[17:28:14] <diesieben07> no
L2141[17:28:20] <diesieben07> you really do not wnat to go this route :P
L2142[17:28:20] ⇦ Quits: MalkContent (MalkConten@p4FDCEA53.dip0.t-ipconnect.de) (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
L2143[17:28:21] ⇨ Joins: EyeOfKoishi (~Subconsci@cpe-65-28-43-97.wi.res.rr.com)
L2144[17:28:21] <gigaherz|bday> you can check if the server is ... no it's just ugly don't do that
L2145[17:28:30] <diesieben07> because this than drips through to the users of your API
L2146[17:28:45] <diesieben07> because they need to then deal with a threadsafe data struture as well
L2147[17:28:47] <gigaherz|bday> just... keep separate maps, have a ServerMapStorage, and a ClientMapCache
L2148[17:28:52] <gigaherz|bday> and send any data on-demand
L2149[17:29:00] <diesieben07> overall just dont
L2150[17:29:06] <unascribed> it's a lot better to split the API for client/server than to have weird behaviors when on LAN or remote
L2151[17:29:24] <unascribed> that's how the game works, that's how Forge works
L2152[17:29:37] <unascribed> FMLServerHandler, FMLClientHandler, MinecraftForgeClient, Minecraft, MinecraftServer...
L2153[17:29:55] <diesieben07> FMLXXXHandler is actually physical side though
L2154[17:29:56] <unascribed> attempting to abstract something that is not abstracted anywhere else is just Wrong™
L2155[17:30:24] <gigaherz|bday> if you want to give a "dump" access place, make those two classes implement an interface
L2156[17:30:27] <gigaherz|bday> and then have a method somewhere
L2157[17:30:33] ⇦ Quits: SubconsciousEye (~Subconsci@cpe-65-28-43-97.wi.res.rr.com) (Ping timeout: 186 seconds)
L2158[17:30:35] <Cypher121> unascribed: then you must hate java that runs on virtual machine, which abstraction from OS and architecture
L2159[17:30:44] <unascribed> that's not a split
L2160[17:30:49] <unascribed> that is what abstraction is intended for
L2161[17:30:54] <gigaherz|bday> MapManager.getMapAccess(world.isRemote)
L2162[17:30:56] <unascribed> abstracting (non-split!) underlying details
L2163[17:31:00] <unascribed> you cannot abstract a split
L2164[17:31:15] <gigaherz|bday> if isRemote is true, you return ClientMapCache.instance, if it's false, you return ServerMapStorage.instance
L2165[17:31:21] <PaleoCrafter> just accept the world :P
L2166[17:31:21] *** Abrar|gone is now known as AbrarSyed
L2167[17:31:33] <gigaherz|bday> that's the best we can offer
L2168[17:31:33] <PaleoCrafter> then there's zero room for confusion on the user side
L2169[17:32:23] <diesieben07> there will always be the guy who just passes in Minecraft.getMinecraft().theWorld
L2170[17:32:28] ⇨ Joins: mrburgerUS (webchat@cpe-184-59-92-41.cinci.res.rr.com)
L2171[17:32:30] <diesieben07> so i would not say zero :P
L2172[17:32:37] <gigaherz|bday> yeah
L2173[17:32:39] <PaleoCrafter> that's not confusion, that is stupidity :P
L2174[17:32:45] <unascribed> but at least that will just crash on the server side
L2175[17:32:52] <unascribed> instead of having confusing subtle behavior
L2176[17:32:54] <gigaherz|bday> but then again, the same guy probably would use ServerMapStorage.instance in the client
L2177[17:32:56] <gigaherz|bday> so /shrug
L2178[17:33:29] <gigaherz|bday> at least that way
L2179[17:33:37] <gigaherz|bday> you can have an assertion testing if it's the right thread
L2180[17:33:41] <gigaherz|bday> and slap the user
L2181[17:34:15] <diesieben07> merp
L2182[17:34:17] <gigaherz|bday> make the exception crash with "http://mcforge.readthedocs.org/en/latest/concepts/sides/&quot;
L2183[17:34:30] <diesieben07> haha
L2184[17:35:07] <Cypher121> I just hate this
L2185[17:35:16] <unascribed> you're making this more complicated than it is.
L2186[17:35:38] <Cypher121> from the start I made everything to keep everything inside
L2187[17:35:55] ⇦ Quits: mrburgerUS (webchat@cpe-184-59-92-41.cinci.res.rr.com) (Client Quit)
L2188[17:36:11] ⇨ Joins: burger (webchat@cpe-184-59-92-41.cinci.res.rr.com)
L2189[17:36:36] <Cypher121> just let user register a map with some nodes, then access it and set states for players
L2190[17:36:49] <PaleoCrafter> burger, if you want to talk, don't use webchat :P
L2191[17:37:08] <diesieben07> thats all fine cypher. you just need a world argument to the access methods.
L2192[17:37:13] <Cypher121> no need or even a way to access underlying IEEP, messages, anything
L2193[17:37:15] <gigaherz|bday> Cypher121: interface IMapAccess{} /// class MapManager{ public static IMapAccess getMapAccess(boolean worldIsRemote); } /// user of the class doesn't needto know if it's server or client map returned
L2194[17:37:20] ⇦ Quits: sciguyryan (~sciguyrya@95.211.188.20) (Remote host closed the connection)
L2195[17:37:33] <Cypher121> but client needs a world then
L2196[17:37:42] <Cypher121> example:
L2197[17:37:43] <diesieben07> tehre is always a world
L2198[17:37:44] <unascribed> yes, and 99% of the time they will have a world handle anyway
L2199[17:37:46] <gigaherz|bday> of course?
L2200[17:37:55] <unascribed> and if they don't, they know which side they're on and how to get a world handle
L2201[17:37:56] <Cypher121> there's a mod called mod1 that adds a research map
L2202[17:38:00] <gigaherz|bday> if you want to write a special UI that is accessed from the main menu
L2203[17:38:06] <gigaherz|bday> then you use ClientMap.instance directly
L2204[17:38:15] <gigaherz|bday> instead of going through the World object
L2205[17:38:34] <gigaherz|bday> since a Gui class knows it must be on the client
L2206[17:38:37] <gigaherz|bday> that's perfectly fine
L2207[17:38:53] <gigaherz|bday> and the IEEP code still doesn't need to care
L2208[17:39:10] <gigaherz|bday> IEEPs can just do MapManager.getMapAccess(entity.worldObj);
L2209[17:39:12] <Cypher121> then a mod2 wants to get that map during postInit and replace it with its own
L2210[17:39:35] <gigaherz|bday> ideally
L2211[17:39:39] <gigaherz|bday> those maps would be server maps
L2212[17:39:44] <diesieben07> no
L2213[17:39:48] <diesieben07> actually
L2214[17:39:50] <gigaherz|bday> the client maps would only exist while the user is logged in
L2215[17:39:50] <diesieben07> yeah
L2216[17:39:53] <tterrag> gigaherz|bday: http://puu.sh/n4ygC.jpg
L2217[17:39:53] <diesieben07> yeah that.
L2218[17:40:00] <gigaherz|bday> into a world
L2219[17:40:00] <tterrag> two different texture types layered :)
L2220[17:40:04] <gigaherz|bday> and they'd get wiped on disconnect
L2221[17:40:05] <tterrag> also, happy birthday :D
L2222[17:40:11] <gigaherz|bday> (or lazily)
L2223[17:40:17] <gigaherz|bday> tterrag: thx
L2224[17:40:18] <diesieben07> i'll just shut up and let the birthday man talk
L2225[17:40:29] <PaleoCrafter> actually, Cypher121, are those maps only the "definitions" as you called them earlier?
L2226[17:40:30] <tterrag> O_O
L2227[17:40:30] <gigaherz|bday> tterrag: and nice ;P
L2228[17:40:34] <unascribed> :confetti_ball:
L2229[17:40:36] <Cypher121> yes
L2230[17:40:45] <Cypher121> states of these maps are obvious as fuck
L2231[17:40:49] ⇨ Joins: mrburgerUS (~mrburgerU@cpe-184-59-92-41.cinci.res.rr.com)
L2232[17:40:57] <PaleoCrafter> those states are stored in IEEP?
L2233[17:40:59] <mrburgerUS> Hello everyone!
L2234[17:41:08] <Cypher121> they're bound to a player, so there are at least 2 ways to check if it's a server or client side
L2235[17:41:24] * thecodewarrior welcomes the new guy
L2236[17:41:38] <PaleoCrafter> then I don't see a reason to sync the definitions whatsoever, if it's a simple API registry sort of thing
L2237[17:41:46] <mrburgerUS> Yeah Im new
L2238[17:41:56] <gigaherz|bday> hello mrburgerUS
L2239[17:42:09] <Cypher121> it's a registry and interface for that registry
L2240[17:42:12] <PaleoCrafter> as mods would ideally register their own stuff in the lifecycle events on both physical sides
L2241[17:42:16] <gigaherz|bday> sorry, we have a restriction that people who don't bother to change their ident string, can't speak
L2242[17:42:17] <gigaherz|bday> ;P
L2243[17:42:27] <Cypher121> are lifecycles fired in both threads?
L2244[17:42:33] <gigaherz|bday> no
L2245[17:42:37] <gigaherz|bday> @Mod only exists once
L2246[17:42:59] <PaleoCrafter> you're having a situation similar to blocks or items though
L2247[17:43:05] <gigaherz|bday> but that doesn't mean you can't initialize two separate classes from them
L2248[17:43:23] <PaleoCrafter> the game doesn't sync anything regarding those either (apart from the IDs maybe)
L2249[17:43:41] <diesieben07> the lifecycel events fire before there even are two threads
L2250[17:44:31] <Cypher121> so I guess I'll limit all writing/re-writing to init events
L2251[17:44:54] <Cypher121> and that makes everyone's life easier
L2252[17:45:17] <Cypher121> btw, how would I check for that? :D
L2253[17:45:45] <PaleoCrafter> Loader.instance().isInState(LoaderState.XYZ)
L2254[17:45:52] <gigaherz|bday> iirc there's a way to ask fml for the current phase
L2255[17:46:07] <Cypher121> thx
L2256[17:46:10] <diesieben07> in this case LoaderState.AVAILABLE
L2257[17:46:27] <Cypher121> I'll get back to it later, can't think straight now
L2258[17:46:56] <tterrag> gigaherz|bday: now I need to figure out how to rotate UVs with this system .-.
L2259[17:47:00] <tterrag> before I was letting vanilla handle it
L2260[17:47:11] <gigaherz|bday> heh
L2261[17:47:44] <gigaherz|bday> I never felt the need to rotate uvs
L2262[17:47:45] <gigaherz|bday> XD
L2263[17:47:49] <tterrag> new BlockFaceUV(uvs, rotation)
L2264[17:47:52] <tterrag> that's all it took .-.
L2265[17:48:01] <tterrag> gigaherz|bday: tell that to pillars
L2266[17:48:03] <PaleoCrafter> fry dun gud job
L2267[17:48:15] <gigaherz|bday> and logs?
L2268[17:48:16] <tterrag> (that's a vanilla class)
L2269[17:48:22] <gigaherz|bday> I guess I never made pillars nor logs
L2270[17:48:23] <gigaherz|bday> XD
L2271[17:48:39] <gigaherz|bday> hmm oh I see
L2272[17:48:43] <gigaherz|bday> I just don't rotate UVs
L2273[17:48:50] <gigaherz|bday> I rotate the actual models in the blockstate file
L2274[17:49:03] <tterrag> yeah...I suppose we could actually do that now huh
L2275[17:49:04] *** manmaed is now known as manmaed|AFK
L2276[17:49:07] <gigaherz|bday> { "model": "blah", "y":90 }
L2277[17:49:09] <tterrag> actually...not sure this system will like rotated UVs
L2278[17:49:19] * tterrag goes to try
L2279[17:49:48] <RANKSHANK> Murphy's gonna get you tterrag
L2280[17:50:17] <tterrag> gigaherz|bday: the problem with that is pillars don't use a state for their rotation
L2281[17:50:20] <tterrag> it's contextual
L2282[17:50:28] <tterrag> it could be done in getActualState I suppose
L2283[17:50:48] <gigaherz|bday> ah
L2284[17:50:49] <gigaherz|bday> yeah
L2285[17:51:00] ⇦ Quits: yopu (~yopu@184-89-171-53.res.bhn.net) (Read error: Connection reset by peer)
L2286[17:51:02] <gigaherz|bday> anything contextual fits in getActualState
L2287[17:51:12] <gigaherz|bday> including stairs
L2288[17:51:13] <gigaherz|bday> ;P
L2289[17:51:22] <gigaherz|bday> (and fences)
L2290[17:52:22] <tterrag> mhm...that might be the better option
L2291[17:52:28] <tterrag> but I Need to see if rotated UVs actually works in our system
L2292[17:53:40] <gigaherz|bday> hmmm
L2293[17:53:41] <shadekiller666> darn fry is gone :(
L2294[17:53:50] <gigaherz|bday> depending on how you did it, it will look funny
L2295[17:53:51] <gigaherz|bday> ;p
L2296[17:53:55] <shadekiller666> got an issue with the obj loader i'm not sure how to fix
L2297[17:54:08] <tterrag> I'm not sure how to test this though...since I just load the model manually there are no blockstate TRSRs applied
L2298[17:54:19] <tterrag> I guess I could just create my own TRSR and apply it
L2299[17:54:37] <shadekiller666> tterrag, ya, TRSRs are pretty easy to make now
L2300[17:54:55] ⇦ Quits: RANKSHANK (~RANKSHANK@pa49-181-174-199.pa.nsw.optusnet.com.au) (Ping timeout: 194 seconds)
L2301[17:54:55] <tterrag> how do I apply it to a model though?
L2302[17:54:55] <shadekiller666> the constructors should take any input you want to make a TRSR for
L2303[17:55:13] ⇨ Joins: RANKSHANK (~RANKSHANK@ppp121-44-139-233.lns20.syd7.internode.on.net)
L2304[17:55:15] <shadekiller666> TRSRTransformation.apply(IModelPart) i think
L2305[17:56:07] <tterrag> the heck is an IModelPart
L2306[17:56:09] <shadekiller666> basically you use the TRSR to do matrix math with the vertex position vectors
L2307[17:57:23] <riderj> Best part is when he says "here it is [/img]" and what you said XD
L2308[17:57:42] <riderj> Oops, my chat wasn't scrolled all the way haha.
L2309[17:57:42] <tterrag> shadekiller666: how do I get an IModelPart
L2310[17:57:55] <shadekiller666> tterrag, this is how the obj loader applies TRSRs: https://github.com/shadekiller666/MinecraftForge/blob/OBJ_Loader/src/main/java/net/minecraftforge/client/model/obj/OBJModel.java#L956-L1021
L2311[17:58:02] <diesieben07> still got it riderj :P
L2312[17:58:17] <shadekiller666> prob don't need an IModelPart
L2313[17:58:17] <riderj> Cool cool, lost my shit when I read that.
L2314[17:58:36] <tterrag> but that's how you .apply
L2315[17:58:38] <diesieben07> genious like him always show up, cant do aythig about it
L2316[17:58:42] <tterrag> ...
L2317[17:59:03] ⇦ Quits: RANKSHANK (~RANKSHANK@ppp121-44-139-233.lns20.syd7.internode.on.net) (Remote host closed the connection)
L2318[18:00:33] <shadekiller666> tterrag, m = transform.getMatrix(); for (each vertex) {Vector4f pos = vertex.pos; m.transform(pos, newPos);}
L2319[18:00:46] <tterrag> and I get vertices how? working with an IModel here...
L2320[18:01:08] <shadekiller666> do you not have vertex position vectors
L2321[18:01:57] <tterrag> IModel model = event.modelLoader.getModel(BASE_MODEL_LOC);
L2322[18:02:01] <tterrag> that's all I have.
L2323[18:02:14] <shadekiller666> ahh
L2324[18:02:17] <shadekiller666> :/
L2325[18:02:24] <shadekiller666> hmmm
L2326[18:03:01] <diesieben07> cant you wrap that in a new IModel that just inserts your TRSR when bake is called?
L2327[18:03:10] <diesieben07> as in calling bake on the original model with your TRSR
L2328[18:03:24] <shadekiller666> the only other place you can "give" the IModel a TRSR is via IModel.bake()
L2329[18:03:38] <shadekiller666> without having direct access to the vertex position vectors
L2330[18:03:58] <shadekiller666> what diesieben07 said might work
L2331[18:04:08] <shadekiller666> but could potentially break things
L2332[18:04:08] <tterrag> diesieben07: no easy way to do that?
L2333[18:04:18] <diesieben07> ?
L2334[18:04:24] ⇨ Joins: ZaggyMobile2 (~Zaggy1024@174-20-167-106.mpls.qwest.net)
L2335[18:05:28] <tterrag> ohh
L2336[18:05:33] <tterrag> model.getDefaultState().apply()
L2337[18:05:41] ⇦ Quits: yurikoster1 (~yurikoste@189.110.89.153) (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/)
L2338[18:05:59] <thecodewarrior> what method dictates suffocation? I can't remember and there are like a dozen different ones with almost synonymous names.
L2339[18:05:59] <diesieben07> not sure what that would achieve
L2340[18:06:03] <tterrag> no
L2341[18:06:05] <tterrag> I read it wrong
L2342[18:06:07] <tterrag> I'm lost
L2343[18:06:11] <diesieben07> make new IModel
L2344[18:06:11] <tterrag> why is this system just a series of dead ends
L2345[18:06:14] <diesieben07> forwrd everything
L2346[18:06:22] <diesieben07> except in bake use your TRSR as the state
L2347[18:06:28] <tterrag> why do I have to create a freaking wrapper to apply a transformation
L2348[18:06:28] ⇦ Quits: ZaggyMobile2 (~Zaggy1024@174-20-167-106.mpls.qwest.net) (Read error: Connection reset by peer)
L2349[18:06:43] ⇨ Joins: ZaggyMobile2 (~Zaggy1024@174-20-167-106.mpls.qwest.net)
L2350[18:06:48] <tterrag> wait
L2351[18:06:54] <tterrag> why didn't you just say TRSR implements IModelState
L2352[18:06:56] <tterrag> ._.
L2353[18:06:57] <diesieben07> because models are immutable
L2354[18:06:59] <diesieben07> oh
L2355[18:07:00] <diesieben07> lol
L2356[18:07:07] <diesieben07> thecodewarrior, isVisuallyOpaque
L2357[18:07:23] <thecodewarrior> Ok. that's strange. :P
L2358[18:07:27] <thecodewarrior> Thanks.
L2359[18:07:43] <diesieben07> i thought you knew tterrag :P
L2360[18:07:46] <tterrag> http://puu.sh/n4Ae2.jpg
L2361[18:07:48] <tterrag> as I figured
L2362[18:07:50] <tterrag> doesn't work
L2363[18:08:17] <diesieben07> ok what excatly do you want?
L2364[18:08:26] <tterrag> dunno
L2365[18:08:29] <diesieben07> lol
L2366[18:08:34] <tterrag> to fix that I guess
L2367[18:08:37] <tterrag> but I have no idea how I would
L2368[18:08:40] <diesieben07> search your feelings
L2369[18:08:54] <diesieben07> what is "that"? :D
L2370[18:08:56] <diesieben07> that screenshot?
L2371[18:08:58] <tterrag> yes
L2372[18:09:00] <tterrag> they should connect
L2373[18:09:24] <diesieben07> are those stairs?
L2374[18:09:24] <tterrag> like they do when the model is not rotated http://puu.sh/n4Amf.jpg
L2375[18:09:24] <Ivorius> They already do
L2376[18:09:30] <Ivorius> On an emotional level
L2377[18:09:34] <Ivorius> You just don't get it
L2378[18:09:38] <tterrag> diesieben07: in this case yet, but it can be any model
L2379[18:09:44] <tterrag> stairs are just a test
L2380[18:09:49] <diesieben07> hrmmm
L2381[18:09:50] ⇨ Joins: poiuy_qwert (~poiuy_qwe@198-84-224-94.cpe.teksavvy.com)
L2382[18:09:55] ⇦ Quits: poiuy_qwert (~poiuy_qwe@198-84-224-94.cpe.teksavvy.com) (Client Quit)
L2383[18:09:59] <Ivorius> Man, when was the last time I was helpful in here
L2384[18:10:04] ⇦ Quits: sinkillerj (~sinkiller@nc-67-232-14-71.dhcp.embarqhsd.net) (Quit: またね)
L2385[18:10:04] <diesieben07> that sounds like a bug if the texture are not rotated properly
L2386[18:10:05] <Ivorius> Must have been a few months
L2387[18:10:08] <Ivorius> That's so freeing
L2388[18:10:12] <diesieben07> but i dont knwo the model system well enoguh
L2389[18:10:35] <shadekiller666> tterrag, are those custom stairs?
L2390[18:10:39] ⇦ Quits: armctec (~Thunderbi@186.204.130.121) (Ping timeout: 198 seconds)
L2391[18:10:47] <tterrag> no
L2392[18:10:51] <shadekiller666> ok
L2393[18:10:53] <tterrag> it's just my ctm code applied to the stairs model
L2394[18:11:00] <shadekiller666> ahh
L2395[18:11:19] <PaleoCrafter> Ivorius, all your contributions are invaluable :P
L2396[18:11:20] <shadekiller666> and you're trying to rotate the uvs with the rest of the model?
L2397[18:11:28] <tterrag> the UVs are rotated
L2398[18:11:33] <gigaherz|bday> hmm wait
L2399[18:11:38] <Ivorius> Quit projecting your problems on me PaleoCrafter
L2400[18:11:38] <gigaherz|bday> if the model is physically rotated
L2401[18:11:56] <gigaherz|bday> (so the UVs are not in the "default" orientation
L2402[18:11:58] <tterrag> but the CTM system doesn't know that so it says "hey you're connected left and right", then because the UVs are rotated 90 degrees it's wrong
L2403[18:12:08] <PaleoCrafter> I just complimented you D:
L2404[18:12:15] <gigaherz|bday> hmm then either it wouldn't make sense to connect them
L2405[18:12:24] <gigaherz|bday> or it would only make sense to connect with other blocks with the same orientation
L2406[18:12:27] <tterrag> why not :/
L2407[18:12:43] <gigaherz|bday> I mean if they woudl be actually rotated in the world
L2408[18:12:46] <tterrag> think about 3 stairs, in an L shape
L2409[18:12:50] <tterrag> the bottom sshould connect
L2410[18:13:02] <tterrag> but if the model is rotated, they won't
L2411[18:13:05] <Ivorius> Eh
L2412[18:13:16] <Ivorius> That was totally a higher matter statement
L2413[18:13:21] <Ivorius> I didn't just misread
L2414[18:13:40] <shadekiller666> ahh so the problem is the CTM system assumes that the uvs will be in X order, but when the game performs the rotation for EnumFacing, that assumption ends up rotating
L2415[18:13:41] <shadekiller666> hmm
L2416[18:14:03] <shadekiller666> question: does the game's EnumFacing rotation happen before or after your ctm code takes over?
L2417[18:14:10] ⇨ Joins: KanoCodex (~Giratina5@2604:180:0:368::bcd8)
L2418[18:16:56] ⇦ Quits: Szernex (~Szernex@88-117-112-51.adsl.highway.telekom.at) (Read error: Connection reset by peer)
L2419[18:17:13] <tterrag> it's done on baked models
L2420[18:17:15] <tterrag> so I assume before
L2421[18:17:31] <tterrag> unless it's rotated after handleBlockState
L2422[18:21:47] ⇨ Joins: poiuy_qwert (~poiuy_qwe@198-84-224-94.cpe.teksavvy.com)
L2423[18:24:17] <shadekiller666> EnumFacing is applied in handleBlockState, but thats because it either returns a new instance of IBakedModel, or pulls one out of a cache
L2424[18:24:36] ⇦ Quits: poiuy_qwert (~poiuy_qwe@198-84-224-94.cpe.teksavvy.com) (Client Quit)
L2425[18:25:05] <tterrag> shadekiller666: what?
L2426[18:25:19] <tterrag> I'm not applying any rotations in my code
L2427[18:26:34] <shadekiller666> the game *should* rotate the model in handleBlockState
L2428[18:27:24] <tterrag> sure
L2429[18:27:25] <tterrag> but where?
L2430[18:28:16] <shadekiller666> going off that assumption, and the fact that your ctm code works on IBMs, the rotation from an EnumFacing should have been applied before your ctm code operates on it
L2431[18:28:20] <tterrag> https://github.com/Chisel-Team/Chisel/blob/1.8/model-ctm/src/main/java/team/chisel/client/render/ModelChiselBlock.java#L107-L138
L2432[18:28:23] <tterrag> tell me where you see any rotations
L2433[18:29:58] <shadekiller666> i'm not saying YOU are rotating it
L2434[18:30:32] <tterrag> seems to me that the TRSR is applied at baking
L2435[18:30:33] <tterrag> no?
L2436[18:30:38] <shadekiller666> it is
L2437[18:30:44] <tterrag> ok
L2438[18:30:48] <tterrag> so that'd definitely BEFORE my code
L2439[18:30:53] <tterrag> so there is a bug
L2440[18:32:06] <tterrag> I'd assume in here https://github.com/Chisel-Team/Chisel/blob/1.8/model-ctm/src/main/java/team/chisel/client/render/Quad.java#L197-L255
L2441[18:32:07] <shadekiller666> the standard way that the game does it is by passing an EnumFacing into handleBlockState(), which then checks a cache for a model with the passed in state, if one exists, it passes it back, if one doesn't exist, it instantiates a new one and passes the IBS into the IBM constructor
L2442[18:32:32] <shadekiller666> which would store the state and apply the rotation later
L2443[18:36:56] <shadekiller666> IModel.bake() is only called once i believe, but that usually just returns a new instance of IBM
L2444[18:37:42] <shadekiller666> so if the rotation happens before your ctm code gets a hold of it, you might be able to figure out how much things have rotated
L2445[18:38:09] <shadekiller666> that would require an un-rotated version to compare to though
L2446[18:40:56] ⇨ Joins: Doty1154 (~Doty1154@2601:648:8002:c1a1:49a6:9520:586f:3eb)
L2447[18:41:46] <shadekiller666> tterrag, does your ctm code "reset" the uv shell? ie. does it always start from the same base uv layout/order?
L2448[18:42:01] <tterrag> not sure what you mean
L2449[18:43:46] <shadekiller666> does your ctm code modify the uvs of the model that it recieves, or does it apply its own set of uvs that don't have anything to do with the uvs that the model already contained
L2450[18:45:31] ⇨ Joins: GildedGames (~GildedGam@ec2-23-22-62-226.compute-1.amazonaws.com)
L2451[18:50:44] <tterrag> shadekiller666: it should modify
L2452[18:50:49] ⇨ Joins: Drullkus (~Drullkus@c-67-180-188-243.hsd1.ca.comcast.net)
L2453[18:51:57] <shadekiller666> then i would think that, if it modifies correctly, this problem wouldn't happen
L2454[18:52:08] <shadekiller666> do the textures on those stairs rotate at all?
L2455[18:52:22] <shadekiller666> or do they always get applied in that configuration?
L2456[18:59:21] ⇨ Joins: An_Sar (~srw@www.nmd.so)
L2457[18:59:22] ⇨ Joins: SubconsciousEye (~Subconsci@cpe-65-28-43-97.wi.res.rr.com)
L2458[19:02:28] *** williewillus is now known as willieaway
L2459[19:02:31] ⇦ Quits: EyeOfKoishi (~Subconsci@cpe-65-28-43-97.wi.res.rr.com) (Ping timeout: 194 seconds)
L2460[19:02:37] *** K-4U is now known as K-4U|Off
L2461[19:06:07] <tterrag> shadekiller666: again, not sure what you're asking
L2462[19:06:10] <tterrag> CTM doesn't rotate anything, no
L2463[19:06:20] <tterrag> it applies from a map of subtextures
L2464[19:06:38] <tterrag> read javadoc https://github.com/Chisel-Team/Chisel/blob/1.8/model-ctm/src/main/java/team/chisel/client/render/ctm/CTM.java
L2465[19:06:58] <shadekiller666> if the stairs are placed facing a different direction than in that screenshot you posted, do the textures on the bottom rotate with them?
L2466[19:07:09] <shadekiller666> i'm not asking about whats rotating them
L2467[19:07:54] <shadekiller666> i'm asking if they rotate with the block, and just happen to not be oriented correctly relative to the block, or if they stay in the same orientation regardless of the facing direction of the block
L2468[19:11:18] <tterrag> there is no block rotation yet
L2469[19:11:21] <tterrag> it's JUST a model
L2470[19:12:59] <tterrag> to rotate it I just do this
L2471[19:13:12] <tterrag> baseModel = model.bake(new TRSRTransformation(ModelRotation.X0_Y90), Attributes.DEFAULT_BAKED_FORMAT, r -> Minecraft.getMinecraft().getTextureMapBlocks().getAtlasSprite(r.toString()));
L2472[19:13:43] <tterrag> shadekiller666: and then it's broken
L2473[19:13:48] <shadekiller666> hmm
L2474[19:14:07] <shadekiller666> i think ModelRotation.X0_Y90 is the problem
L2475[19:14:17] <shadekiller666> or rather, always using that, would be the problem
L2476[19:21:40] <tterrag> ...
L2477[19:21:44] <tterrag> but that's the whole point
L2478[19:21:48] <tterrag> I'm trying to test rotated models
L2479[19:24:35] ⇨ Joins: Fendirain (~Fendirain@172-14-113-26.lightspeed.irvnca.sbcglobal.net)
L2480[19:24:40] *** PaleoCrafter is now known as PaleOff
L2481[19:32:12] <tterrag> shadekiller666: ?
L2482[19:33:22] <shadekiller666> :/
L2483[19:33:22] ⇦ Quits: ZaggyMobile2 (~Zaggy1024@174-20-167-106.mpls.qwest.net) (Read error: Connection reset by peer)
L2484[19:33:31] ⇨ Joins: ZaggyMobile2 (~Zaggy1024@174-20-167-106.mpls.qwest.net)
L2485[19:33:38] <shadekiller666> in the screenshot you posted
L2486[19:33:43] <shadekiller666> with the purple stairs
L2487[19:33:50] <shadekiller666> what direction are the stairs facing
L2488[19:33:51] *** Kolatra[away] is now known as Kolatra
L2489[19:37:07] <tterrag> shadekiller666: no idea
L2490[19:37:19] <tterrag> 90 degrees rotated from the original model
L2491[19:37:23] <shadekiller666> ok
L2492[19:38:16] <shadekiller666> if they face 180 degrees from the original, do the textures on the bottom still "point" in the same direction as they do when the stairs are at 90 degrees
L2493[19:38:37] <tterrag> probably not
L2494[19:38:39] <tterrag> let me test
L2495[19:38:40] <tterrag> in a few mins
L2496[19:39:30] ⇦ Quits: Mowmaster_Mobile (~Mowmaster@67-3-165-201.omah.qwest.net) (Quit: going out to get a "real life" whatever that is...)
L2497[19:39:47] ⇨ Joins: Mowmaster (~Mowmaster@67-3-165-201.omah.qwest.net)
L2498[19:39:56] ⇦ Quits: thecodewarrior (~thecodewa@75-128-36-18.static.mtpk.ca.charter.com) (Remote host closed the connection)
L2499[19:44:51] ⇨ Joins: Ipsis (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk)
L2500[19:52:17] <tterrag> shadekiller666: as expected http://puu.sh/n4Gmx.jpg
L2501[19:52:26] <tterrag> everything is backwards
L2502[19:52:50] <shadekiller666> so the textures do rotate with the stairs
L2503[19:52:51] <shadekiller666> ok
L2504[19:52:58] <shadekiller666> thats what i've been trying to get at :P
L2505[19:53:04] ⇦ Quits: Cojo (~Cojo@cpe-174-109-251-46.nc.res.rr.com) (Quit: If we wish to explore, if we wish to see what's over the next hill, wonders unfold before us; all we have to do is want it enough.)
L2506[19:53:09] <tterrag> yeah
L2507[19:53:16] *** willieaway is now known as williewillus
L2508[19:53:16] <tterrag> CTM can't really allow that....for obvious reasons
L2509[19:53:17] <shadekiller666> also, stairs don't cull face
L2510[19:53:22] <tterrag> I know
L2511[19:53:24] <tterrag> it's a bug that I know how to fix
L2512[19:53:26] <tterrag> just haven't
L2513[19:54:55] <shadekiller666> so you need to figure out what uv index order to use depending on the way that the texture needs to "point"
L2514[19:55:22] <tterrag> I guess
L2515[19:55:25] <tterrag> not sure what that means exactly:P
L2516[19:55:25] <shadekiller666> (you can rotate a texture by shifting the uv indices up or down, so long as they remain in the same order)
L2517[19:56:27] <shadekiller666> so if uv[0], uv[1], uv[2], uv[3] is the order, and you want to rotate the texture 90 degrees, you'd do uv[1], uv[2], uv[3], uv[0]
L2518[19:57:20] <tterrag> yeah
L2519[19:57:59] *** Vigaro is now known as V
L2520[19:58:27] *** V is now known as Vigaro
L2521[20:02:33] ⇨ Joins: Broad-mobile (~BroadSigh@2600:100d:b10b:c25f:0:52:a3dc:1a01)
L2522[20:06:54] *** kirby|gone is now known as mrkirby153
L2523[20:07:47] <gigaherz|bday> what do you ppl think would be the best way to allow my items to have replaceable gemstones?
L2524[20:07:56] <gigaherz|bday> my top choices are
L2525[20:08:18] <gigaherz|bday> either a recipe, or some random key that opens a gui
L2526[20:08:55] <gigaherz|bday> the third choice would be a "workshop" block that's required to modify the parts
L2527[20:08:57] <gigaherz|bday> but meh
L2528[20:08:59] ⇦ Quits: Vazkii (~Vazkii@a79-169-163-74.cpe.netcabo.pt) (Quit: ~FILLED WITH DETERMINATION~)
L2529[20:09:40] ⇦ Quits: Maxetime (~Thunderbi@modemcable086.219-70-69.static.videotron.ca) (Ping timeout: 198 seconds)
L2530[20:11:08] ⇦ Quits: shadekiller666 (~shadekill@adsl-108-80-77-64.dsl.lsan03.sbcglobal.net) (Quit: Leaving)
L2531[20:11:51] <Broad-mobile> Is there still a "src" version of mc forge to download to start a mod?
L2532[20:12:16] ⇨ Joins: hasunwoo (~hasunwoo@14.50.209.13)
L2533[20:12:50] <hasunwoo> How to retrieve world path from serverstartedevent?
L2534[20:13:06] <unascribed> Broad-mobile, it got renamed to the MDK
L2535[20:13:16] <Broad-mobile> Ahh...thanks
L2536[20:16:11] ⇦ Quits: hasunwoo (~hasunwoo@14.50.209.13) (Ping timeout: 194 seconds)
L2537[20:16:38] ⇨ Joins: thecodewarrior (~thecodewa@75-128-36-18.static.mtpk.ca.charter.com)
L2538[20:17:33] ⇨ Joins: agowa339 (~Thunderbi@p54918B78.dip0.t-ipconnect.de)
L2539[20:18:45] ⇦ Quits: agowa338 (~Thunderbi@p54918548.dip0.t-ipconnect.de) (Ping timeout: 189 seconds)
L2540[20:18:45] *** agowa339 is now known as agowa338
L2541[20:19:13] ⇨ Joins: hasunwoo (~hasunwoo@110.70.55.28)
L2542[20:19:51] ⇦ Quits: thecodewarrior (~thecodewa@75-128-36-18.static.mtpk.ca.charter.com) (Ping timeout: 189 seconds)
L2543[20:19:59] <HassanS6000> Is there any documentation on using the Forge OBJ Animation (Support)?
L2544[20:20:36] <hasunwoo> Anyone knows how to retrieve savepath from serverstartedevent?
L2545[20:24:05] <gigaherz|bday> HassanS6000: there's no such thing as "obj animation"
L2546[20:24:10] <gigaherz|bday> animations are for .b3d files
L2547[20:24:33] <HassanS6000> gigaherz|bday, is there no way to animate an OBJ model? Especially for an Entity?
L2548[20:24:39] <HassanS6000> gigaherz|bday, happy birthday
L2549[20:24:45] <gigaherz|bday> you'd have to do it manually
L2550[20:24:50] <gigaherz|bday> split the model into the separate pieces
L2551[20:24:55] <gigaherz|bday> and draw each one in its own way
L2552[20:25:08] <gigaherz|bday> ... or you can use the b3d format, and setup the skeleton animations from within blender
L2553[20:25:12] ⇦ Quits: bilde2910 (bilde2910@51.174.170.178) (Ping timeout: 195 seconds)
L2554[20:26:25] <HassanS6000> gigaherz|bday, if I use B3D format, I can still bind a texture as I would for an OBJ?
L2555[20:26:46] <gigaherz|bday> I suppose
L2556[20:26:49] <HassanS6000> I guess what I'm really asking is if it's easy to transfer an OBJ to a B3D WITH textures?
L2557[20:27:00] <gigaherz|bday> oh not sure about that
L2558[20:27:04] <gigaherz|bday> never actually used b3d myself
L2559[20:27:09] ⇨ Joins: bilde2910|away (bilde2910@51.174.170.178)
L2560[20:27:11] <gigaherz|bday> so I don't know the quirks of exporting them
L2561[20:27:20] <HassanS6000> I used it once - but only with a very generic texture.
L2562[20:27:35] <HassanS6000> gigaherz|bday, anyway, if I choose to use B3D, how to animate via Forge
L2563[20:27:42] <gigaherz|bday> no idea ;P
L2564[20:27:58] <HassanS6000> haha, guess I gatta wait for fry to wake up ;_;
L2565[20:28:00] *** bilde2910|away is now known as bilde2910
L2566[20:28:03] <williewillus> ask fry and check out the examples
L2567[20:28:07] ⇦ Quits: primetoxinz (~primetoxi@ip68-107-226-229.hr.hr.cox.net) (Ping timeout: 198 seconds)
L2568[20:28:10] <HassanS6000> williewillus, examples? link?
L2569[20:28:22] <williewillus> I'm like the only one who's touched it so far lol and even I don't have a full grasp of how to do it yet
L2570[20:28:26] <williewillus> forge github
L2571[20:28:33] <williewillus> and this thing https://gist.github.com/RainWarrior/964ed4692f4da1fd4964
L2572[20:28:44] <hasunwoo> Is this possible to retrieve save path from serverstartedevent?
L2573[20:28:50] <williewillus> yeah
L2574[20:29:00] <hasunwoo> How?
L2575[20:29:18] <williewillus> iirc if you have a server object you can get the overworld then get its save path
L2576[20:29:27] <williewillus> look around in server/world/savehandler
L2577[20:30:06] <HassanS6000> williewillus, this example is for blockss
L2578[20:30:18] <williewillus> what do you need it for?
L2579[20:30:57] ⇦ Quits: Dark (~MrDark@cpe-76-181-157-113.columbus.res.rr.com) (Ping timeout: 186 seconds)
L2580[20:31:44] <HassanS6000> williewillus, entities, and for SPECIFIC times. Technically I need it when the entity is moving veritcally
L2581[20:31:47] <HassanS6000> *vertically
L2582[20:31:53] <williewillus> AnimationModelBase
L2583[20:32:01] <williewillus> in the example mod
L2584[20:32:06] <HassanS6000> So while not moving it's still, when moving animate it
L2585[20:32:10] <HassanS6000> kk
L2586[20:32:22] <gigaherz|bday> williewillus: there was a method to allow items with different NBT to use different models right?
L2587[20:32:40] <williewillus> custom mesh definitions, yeah
L2588[20:32:43] <williewillus> happy bday by the way
L2589[20:32:46] <williewillus> how was your interview
L2590[20:32:56] <gigaherz|bday> disappointing within expectation
L2591[20:33:04] <williewillus> who with?
L2592[20:33:10] <gigaherz|bday> it was a uni department
L2593[20:33:18] <williewillus> ah
L2594[20:33:22] <gigaherz|bday> but spanish research grants are shitty and sparse
L2595[20:33:23] <HassanS6000> williewillus, this? https://github.com/MinecraftForge/MinecraftForge/blob/960717eb0c57e56b99f978b843d2ab53e683055d/src/test/java/net/minecraftforge/debug/ModelAnimationDebug.java#L228
L2596[20:33:46] <gigaherz|bday> basically the best I could hope for, would have been a crappy part-time job starting 3 months from now
L2597[20:34:01] <gigaherz|bday> or a phd scholarship starting around september
L2598[20:34:10] <gigaherz|bday> so yeah, still looking for jobs
L2599[20:34:18] <gigaherz|bday> and it's 3am
L2600[20:34:20] <HassanS6000> How the fuck does this work O.o
L2601[20:34:23] <gigaherz|bday> it's not technically my bday anymore
L2602[20:34:27] *** gigaherz|bday is now known as gigaherz
L2603[20:34:42] <HassanS6000> gigaherz|bday, Nuuu, it's your birthday in spirit. Until you've slept is still your b-day
L2604[20:34:49] <gigaherz> although if I were to count 24h starting from when I was born, there are still some hours left
L2605[20:34:49] <gigaherz> XD
L2606[20:34:50] <williewillus> HassanS6000: models are animated by dynamically rebaking them with TRSRs applied
L2607[20:34:58] <gigaherz> cos I was born around 10:45am
L2608[20:35:02] ⇦ Quits: hasunwoo (~hasunwoo@110.70.55.28) (Quit: Bye)
L2609[20:35:12] <HassanS6000> xD
L2610[20:35:14] <williewillus> you specify the animation in a json in asms/ folder
L2611[20:35:17] <HassanS6000> williewillus, alright
L2612[20:35:29] ⇨ Joins: primetoxinz (~primetoxi@ip68-107-226-229.hr.hr.cox.net)
L2613[20:35:30] <williewillus> whose grammar gist I also linked above
L2614[20:35:43] <gigaherz> okay so custom mesh definitions... I'll take a look
L2615[20:35:52] <williewillus> i think it's easier to understand if you look at the TE version of the animations first
L2616[20:36:03] <HassanS6000> williewillus, this? https://github.com/MinecraftForge/MinecraftForge/blob/960717eb0c57e56b99f978b843d2ab53e683055d/src/test/resources/assets/forgedebugmodelanimation/asms/block/engine.json
L2617[20:36:07] <williewillus> yes
L2618[20:36:14] <gigaherz> HassanS6000: areyou doing a mob-like entity?
L2619[20:36:24] <HassanS6000> gigaherz, nuu, it's much more complicated
L2620[20:36:39] <gigaherz> complicated enough to have different parts animating independently?
L2621[20:36:44] <HassanS6000> gigaherz, yus
L2622[20:36:52] <gigaherz> ah then the animation systme may not be fit for you
L2623[20:36:56] <HassanS6000> :/
L2624[20:36:57] <gigaherz> system*
L2625[20:36:57] <williewillus> I'd use layers then
L2626[20:36:57] ⇦ Quits: karlthepagan (~karl@c-66-235-7-92.sea.wa.customer.broadstripe.net) (Ping timeout: 186 seconds)
L2627[20:37:00] <HassanS6000> rip
L2628[20:37:09] <HassanS6000> I need to move four different parts of my model
L2629[20:37:11] <HassanS6000> this vehicle has legs
L2630[20:37:13] <gigaherz> you will probably need to split the IModel into parts
L2631[20:37:14] <HassanS6000> hehe
L2632[20:37:25] <gigaherz> (there's something in forge for it)
L2633[20:37:30] <HassanS6000> that sounds complicated
L2634[20:37:36] <gigaherz> HassanS6000: but they move at unison?
L2635[20:37:38] <williewillus> but the animation api operates on submodels/split imodels
L2636[20:37:42] <williewillus> but idk how exactly it works
L2637[20:37:47] <williewillus> ask fry :P
L2638[20:37:49] <HassanS6000> gigaherz, it's an AT-AT
L2639[20:37:51] <HassanS6000> from Star WARS
L2640[20:37:52] <gigaherz> yeah better ask fry
L2641[20:37:53] <gigaherz> XD
L2642[20:37:55] <HassanS6000> yep
L2643[20:37:56] <williewillus> the botania lexicon is gonna take a while to do
L2644[20:38:05] <gigaherz> well waht I meant was
L2645[20:38:09] <williewillus> I'm gonna wet my feet with the corporea crystal cube first (which is just a cube bobbing up and down)
L2646[20:38:12] <gigaherz> if there's different parts that move independently
L2647[20:38:12] <gigaherz> like
L2648[20:38:16] <gigaherz> the head looking in one direction
L2649[20:38:21] <gigaherz> while the legs do the walking
L2650[20:38:21] <HassanS6000> gigaherz, there's like 25 parts
L2651[20:38:25] <gigaherz> while the arms do something else
L2652[20:38:25] <HassanS6000> legs walking
L2653[20:38:27] <HassanS6000> head moving
L2654[20:38:30] <HassanS6000> turrets moving
L2655[20:38:32] <gigaherz> and they are separate states
L2656[20:38:37] <gigaherz> that can change independently without relation?
L2657[20:38:39] <williewillus> yeah not sure if this is fit for a single model
L2658[20:38:39] <HassanS6000> oh god
L2659[20:38:52] <HassanS6000> well is OBJ so it's technically separated into parts
L2660[20:38:55] <gigaherz> you probably want to have separate actual models
L2661[20:39:02] <HassanS6000> but it's a pain to do it via Java and literally rotate them
L2662[20:39:02] <williewillus> Ask Fry (tm)
L2663[20:39:03] <gigaherz> and draw them manually
L2664[20:39:08] <gigaherz> with rotations and such
L2665[20:39:14] <gigaherz> you can still have an animation loop for the legs
L2666[20:39:20] <HassanS6000> gigaherz, how
L2667[20:39:20] <gigaherz> unless you want the legs to use inverse kinematics
L2668[20:39:26] ⇨ Joins: karlthepagan (~karl@c-66-235-7-92.sea.wa.customer.broadstripe.net)
L2669[20:39:29] <gigaherz> so th at they detect hwere the ground is
L2670[20:39:30] <HassanS6000> gigaherz, I just need legs to look normal xD
L2671[20:39:35] ⇨ Joins: Maxetime (~Thunderbi@modemcable086.219-70-69.static.videotron.ca)
L2672[20:39:51] <gigaherz> but yeah, speka with fry about HOW to do it
L2673[20:39:52] <gigaherz> XD
L2674[20:40:06] <HassanS6000> Alright, will do
L2675[20:40:16] * HassanS6000 goes into his cave to wait for fry to appear
L2676[20:40:35] <williewillus> hopefully we can get to a point where fry isnt our single point of reliance lol
L2677[20:40:47] <williewillus> I'm kinda getting there for the static model system, but not the animation API :P
L2678[20:43:33] <HassanS6000> btw this is what I've got just via OBJ + Java + OpenGL https://gyazo.com/63778136b7d00866e69d0de4fb8a083c
L2679[20:43:43] <mrburgerUS> hey everyone
L2680[20:43:55] <HassanS6000> heya
L2681[20:44:38] <mrburgerUS> Is this a good place to ask a forge question? I know Java and all but Forge is just a doozy
L2682[20:44:44] <gigaherz> HassanS6000: you'd need to do that one leg at a time
L2683[20:44:46] <gigaherz> and in a way that
L2684[20:44:51] <gigaherz> 3 legs are moving backward
L2685[20:44:58] <gigaherz> while one is raised moving forward
L2686[20:45:10] <HassanS6000> gigaherz, I know it's completely wrong, that's why I need to talk to fry, cuz doing it how I am is very complicated
L2687[20:45:17] <gigaherz> so like your cycle would have 75% of the time moving backward
L2688[20:45:23] <HassanS6000> yea
L2689[20:45:26] <gigaherz> then 25% of the time the raise move forward and drop
L2690[20:45:54] <gigaherz> and eahc leg would be 25% of the animation offset from the previous
L2691[20:46:06] <gigaherz> FL, FR, BL, BR
L2692[20:46:15] <williewillus> mrburgerUS: just ask
L2693[20:46:18] <mrburgerUS> alright
L2694[20:46:47] <mrburgerUS> so Im making an addon to Immersive Engineering but Im redoing a huge portion of the weapon items
L2695[20:46:59] <mrburgerUS> But Ive reached a roadblock
L2696[20:47:07] <williewillus> I hope this is 1.8 since IE is on 1.8 now, but anyways what's the block?
L2697[20:47:18] <mrburgerUS> Im still on 1.7
L2698[20:47:23] <mrburgerUS> I need to update
L2699[20:48:05] <mrburgerUS> Okay so is there a way to make onItemRightClick only fire once / make using an item not slow the player down
L2700[20:48:09] ⇦ Quits: Fendirain (~Fendirain@172-14-113-26.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 198 seconds)
L2701[20:49:07] <riderj> Why do professors like to think they are the best? I mean, yeah you know what you are doing in your field, but that doesn't give them the right to disrespect their students -.-
L2702[20:49:26] <mrburgerUS> my AP Comp Sci Teacher was like that rider
L2703[20:49:47] ⇦ Quits: burger (webchat@cpe-184-59-92-41.cinci.res.rr.com) (Ping timeout: 204 seconds)
L2704[20:50:14] <riderj> My English Comp professor acts like a child, I didn't watch a video and I needed help so I posted on the forum. He comes in saying "If you actually watched my lecture you would understand".
L2705[20:50:24] <riderj> Like be less childish, and email me your complaints
L2706[20:51:53] <williewillus> ?shrug they're kinda justified to say that, but yeah being less dickish is always nice
L2707[20:52:16] <riderj> I just don't agree that he chewed me out in public, that's all.
L2708[20:54:40] <riderj> On the bright side, finally got my blood crystal to add life essence to it's charge when an animal is killed by the player :D
L2709[20:57:39] <gigaherz> williewillus: hmm the ItemMeshDefinition doesn't know anything about textures right? so I'd have to ensure they are loaded using the stitch event?
L2710[20:58:27] <williewillus> you return a MRL from itemmeshdef, you tell the game you need those MRL's loaded and baked using registerItemVariants
L2711[20:58:47] <williewillus> and the models will stitch the textures as normal
L2712[21:00:18] <gigaherz> ah registerItemVariants
L2713[21:00:19] <gigaherz> gotcha
L2714[21:00:32] <gigaherz> ugh.
L2715[21:00:33] <gigaherz> XD
L2716[21:01:04] <williewillus> the game has no idea what you need baked otherwise :P
L2717[21:01:27] <mrburgerUS> so is there a method to fix player speed when an item is "in use"
L2718[21:01:48] <mrburgerUS> Ive combed the EntityPlayer class and the Item class and couldnt find anything
L2719[21:02:08] <williewillus> what do you mean in use?
L2720[21:02:11] <williewillus> like eating/bow?
L2721[21:02:26] <mrburgerUS> yes thats what I mean
L2722[21:02:57] <williewillus> so you want it to still pull back but not affect the player's speed?
L2723[21:03:16] <williewillus> perhaps you could modify the speed attribute
L2724[21:03:16] <mrburgerUS> its a rifle but I want to make it semi automatic
L2725[21:03:24] <williewillus> but that messes with the fov, so idk
L2726[21:04:02] <mrburgerUS> Mainly Im just trying to get onItemRightClick to fire once
L2727[21:06:04] <gigaherz> in my magic mod, I make use of some reflection-based magic to prevent the item from cancelling the "use" animation when the wands are being charged while casting spells
L2728[21:06:16] <gigaherz> in theory you could use the same to customize it
L2729[21:06:23] <gigaherz> it's not very nice though
L2730[21:06:58] <gigaherz> it worked \o/
L2731[21:07:07] <gigaherz> I'm getting the placeholder texture
L2732[21:07:10] <gigaherz> but the right model
L2733[21:07:11] <gigaherz> XD
L2734[21:07:51] <mrburgerUS> so what if I intercepted the slowdown method and cancelled it? would that be possible
L2735[21:08:44] <SomeGuyInATree> Is there anyway to profile your servers jvm without a desktop enviroment?
L2736[21:09:16] <williewillus> mrburgerUS: uh it already should
L2737[21:09:26] <williewillus> only onItemUseTick should fire more tha once
L2738[21:09:30] <williewillus> make sure you're checking serverside
L2739[21:10:06] <mrburgerUS> alright
L2740[21:10:25] <mrburgerUS> yeah Im checking !world.isRemote
L2741[21:10:30] <williewillus> post code?
L2742[21:10:39] <mrburgerUS> Github acceptable?
L2743[21:10:46] <williewillus> idc :P
L2744[21:11:52] <mrburgerUS> https://github.com/mrburger/ImmersiveArms/blob/master/src/main/java/com/mrburgerus/ImmersiveArms/item/items/ItemSniperRifle.java
L2745[21:13:00] <williewillus> hm
L2746[21:13:14] <williewillus> oh do you override EnumAction anywhere?
L2747[21:13:23] <mrburgerUS> nope
L2748[21:13:27] <williewillus> make sure it hasn't been overriden to EnumAction.BOW or EnumAction.EAT
L2749[21:13:28] <mrburgerUS> should I?
L2750[21:13:34] <williewillus> then that's strange
L2751[21:13:39] <mrburgerUS> My problem right now
L2752[21:13:43] <williewillus> it should only ever play thos eanimations if it's been overriden
L2753[21:13:53] <mrburgerUS> is that you can hold right click it just spsam fires
L2754[21:14:07] <mrburgerUS> I changed the code off the eating animation
L2755[21:17:28] <mrburgerUS> what if I changed it back but made the EnumAction NONE?
L2756[21:18:46] <riderj> What's the easiest way to use github with the mod? I don't really want to copy/paste everything over to a new folder, but it's not allowing me to create a repository in my mods folder :/
L2757[21:19:10] <riderj> (Desktop for windows)
L2758[21:20:01] <williewillus> use the command line version or soething like sourcetree
L2759[21:20:05] <williewillus> github for windows is terrible .-.
L2760[21:20:16] <Kolatra> SourceTree >
L2761[21:20:37] <riderj> I would use the command line, but i've been too lazy to read up on it haha.
L2762[21:22:29] <riderj> Where would the best place to learn git be located? Any suggestions?
L2763[21:22:38] <williewillus> git-scm.org/book
L2764[21:23:08] <riderj> Aight, so I googled and chose the right place haha.
L2765[21:23:35] <williewillus> you really need the first three chapters of that book
L2766[21:23:36] <Thutmose> I use the git thing in eclipse
L2767[21:24:03] <williewillus> yeah but its good to know the command line and how the BTS works
L2768[21:24:16] <Thutmose> ya, that would probably be a good idea
L2769[21:24:16] <riderj> I would like to, but my eclipse decides when it wants to work :/
L2770[21:24:32] <riderj> Lately it's been throwing me into the resource perspective even though it's set to Java by default
L2771[21:24:50] <williewillus> i use gitg on linux or sourcetree on windows
L2772[21:24:56] <williewillus> whe I need a gui/tree
L2773[21:24:59] <williewillus> but otherwise its command line
L2774[21:25:33] <riderj> I've always wanted to learn command line, but it's very intimidating just looking at it. Probably simpler than it looks.
L2775[21:26:12] <riderj> Anyone have a clue why my Documents library keeps replicating -.- https://gyazo.com/5f0b7cd673a2355c3c16582c600f08dc
L2776[21:29:16] *** AbrarSyed is now known as Abrar|gone
L2777[21:31:48] ⇨ Joins: Zaggy1024 (~Zaggy1024@174-20-167-106.mpls.qwest.net)
L2778[21:33:05] ⇨ Joins: EyeOfKoishi (~Subconsci@cpe-65-28-43-97.wi.res.rr.com)
L2779[21:35:55] ⇦ Quits: SubconsciousEye (~Subconsci@cpe-65-28-43-97.wi.res.rr.com) (Ping timeout: 194 seconds)
L2780[21:41:30] <Kolatra> Why does onBlockBreakEvent not return the event anymore?
L2781[21:42:34] <williewillus> in what class?
L2782[21:42:39] <Kolatra> ForgeHooks
L2783[21:43:02] ⇨ Joins: SubconsciousEye (~Subconsci@cpe-65-28-43-97.wi.res.rr.com)
L2784[21:43:04] <Kolatra> https://github.com/MinecraftForge/MinecraftForge/blob/7a0a801740eaf876207f08b5abd43e9a4b56560e/src/main/java/net/minecraftforge/common/ForgeHooks.java#L650
L2785[21:44:35] <williewillus> no idea
L2786[21:44:42] <williewillus> those are kinda semi-internal use though
L2787[21:45:45] ⇦ Quits: EyeOfKoishi (~Subconsci@cpe-65-28-43-97.wi.res.rr.com) (Ping timeout: 198 seconds)
L2788[21:52:02] ⇨ Joins: EyeOfKoishi (~Subconsci@cpe-65-28-43-97.wi.res.rr.com)
L2789[21:53:37] <gigaherz> crafting-grid based gem replacing works :3
L2790[21:53:58] <gigaherz> that took a while to get working XD
L2791[21:54:27] <gigaherz> but now you can craft a basic "wand" item, then craft it together with a "Flawless Agate", to get a "Flawless Agate Wand"
L2792[21:54:48] <gigaherz> I'm thinking of changing the quality names for crafted items
L2793[21:54:59] ⇦ Quits: SubconsciousEye (~Subconsci@cpe-65-28-43-97.wi.res.rr.com) (Ping timeout: 194 seconds)
L2794[21:55:02] <gigaherz> so Flawless <x> becomes "Exceptional <x> Wand"
L2795[21:56:14] *** williewillus is now known as willieaway
L2796[21:57:13] <riderj> I praise the people that first came up with checksum algorithms, or data authentication in general.
L2797[21:57:16] *** Vigaro is now known as V
L2798[21:58:49] <gigaherz> there we go, "Superb Amethyst Ring" :3
L2799[21:59:13] <gigaherz> Exceptional Agate Wand
L2800[21:59:23] <gigaherz> Rudimentary Quartz Staff
L2801[22:00:08] <Cypher121> alright, I think I found my solution for server/client maps. since server maps can't be modified after postInit and maps are synchronized between server and client on join, I can read from client maps on physical client whenever they exist and from server otherwise (that's only load and main menu).
L2802[22:03:56] <Cypher121> gigaherz: http://ffxiv.consolegameswiki.com/wiki/Template:Relic_Weapons_Heading
L2803[22:04:38] <gigaherz> Cypher121: I know enough about the ff14 relic
L2804[22:04:42] <gigaherz> my flatmate plays ff14
L2805[22:04:51] <gigaherz> he's been mentioning/complaining about every single step of the chain
L2806[22:04:57] <gigaherz> XD
L2807[22:05:17] <Cypher121> fucking casual
L2808[22:05:26] ⇨ Joins: thecodewarrior (~thecodewa@75-128-36-18.static.mtpk.ca.charter.com)
L2809[22:06:05] <gigaherz> he's a guild leader, he just doesn't enjoy when things are done through purely random luck
L2810[22:07:54] ⇨ Joins: SubconsciousEye (~Subconsci@cpe-65-28-43-97.wi.res.rr.com)
L2811[22:08:51] ⇦ Quits: thecodewarrior (~thecodewa@75-128-36-18.static.mtpk.ca.charter.com) (Ping timeout: 194 seconds)
L2812[22:10:02] ⇨ Joins: Wastl2 (~Wastl2@f052012023.adsl.alicedsl.de)
L2813[22:10:02] ⇦ Quits: ZaggyMobile2 (~Zaggy1024@174-20-167-106.mpls.qwest.net) (Read error: Connection reset by peer)
L2814[22:10:34] <Cypher121> ah, yeah there are 3 stages where you just have to be lucky, I hate those
L2815[22:10:57] ⇦ Quits: EyeOfKoishi (~Subconsci@cpe-65-28-43-97.wi.res.rr.com) (Ping timeout: 189 seconds)
L2816[22:11:09] <Cypher121> namely atma, novus and 1st stage of new relic
L2817[22:12:56] ⇨ Joins: ZaggyMobile2 (~Zaggy1024@174-20-167-106.mpls.qwest.net)
L2818[22:12:57] ⇨ Joins: McJty (~jorrit@94-225-203-206.access.telenet.be)
L2819[22:15:21] <SomeGuyInATree> McJty: What version was that hotfix in? I'll update to it today
L2820[22:15:55] ⇦ Quits: KanoCodex (~Giratina5@2604:180:0:368::bcd8) (Remote host closed the connection)
L2821[22:15:56] <McJty> The latest version 4.22
L2822[22:17:03] ⇨ Joins: killjoy (~killjoy@71.65.255.183)
L2823[22:26:34] <gigaherz> okay I like how this behaves :3
L2824[22:26:59] <gigaherz> release time!
L2825[22:31:52] ⇦ Quits: Lathanael|Away (~Lathanael@p54961BE8.dip0.t-ipconnect.de) (Ping timeout: 198 seconds)
L2826[22:35:17] <gigaherz> hmm recipe adding time first...
L2827[22:37:34] ⇨ Joins: Lathanael|Away (~Lathanael@p5496190C.dip0.t-ipconnect.de)
L2828[22:37:45] ⇦ Parts: CelticChristoph (~Celtic@203.152.196.48.static.zoot.jp) ())
L2829[22:38:11] ⇨ Joins: Celtic (~Celtic@203.152.196.48.static.zoot.jp)
L2830[22:45:05] ⇦ Quits: Shukaro (~Shukaro@130.108.232.236) ()
L2831[22:49:58] <killjoy> Is there a way to hide a mod from the mod list?
L2832[22:51:53] ⇦ Quits: SubconsciousEye (~Subconsci@cpe-65-28-43-97.wi.res.rr.com) (Quit: I am the forgotten eye.)
L2833[22:51:59] <Broad-mobile> Why is the mod annotation saying it's not applicable to type in IDEA
L2834[22:52:26] <killjoy> post code
L2835[22:52:39] <gigaherz> https://github.com/gigaherz/ElementsOfPower/releases/tag/v0.5.0-alpha
L2836[22:52:44] <gigaherz> if anyone wants to play a bit with it
L2837[22:52:47] <gigaherz> I'm jumping into bed ;P
L2838[22:52:49] <gigaherz> night
L2839[22:52:52] *** gigaherz is now known as ghz|afk
L2840[22:53:21] <ghz|afk> (comments and issues welcome -- will read tomorrow ;P)
L2841[22:54:04] <ghz|afk> (see the description at http://www.curse.com/mc-mods/minecraft/240687-elements-of-power for things that I have planned but are not yet finished)
L2842[22:54:43] <Broad-mobile> Https://goo.gl/f8CghD
L2843[23:01:50] <Broad-mobile> I just ran the setup and idea gradle scripts...did something majorish change in the last few months?
L2844[23:02:18] <killjoy> no
L2845[23:02:20] <killjoy> should still work
L2846[23:02:31] <killjoy> run cleanCache
L2847[23:03:01] ⇦ Quits: Mraof (~mraof@pool-74-110-222-32.rcmdva.fios.verizon.net) (Ping timeout: 194 seconds)
L2848[23:04:38] <Broad-mobile> Now rerun the other two?
L2849[23:04:47] <killjoy> yes, but don't run idea
L2850[23:04:52] <killjoy> idea takes care of that for you
L2851[23:05:05] <Broad-mobile> Alright
L2852[23:05:46] <Broad-mobile> Thanks for the help
L2853[23:10:32] ⇨ Joins: npe|office (~NPExcepti@bps-gw.hrz.tu-chemnitz.de)
L2854[23:12:16] <Broad-mobile> Out of curiosity, does it matter if the gradle scripts are run from a command line or the ide?
L2855[23:22:04] ⇨ Joins: Sollux-Captor (~Sollux-Ca@2601:547:c400:cbbd:8db5:f981:2ba:5a50)
L2856[23:22:29] <Sollux-Captor> would it be bad to nest all item classes in one item initialization class?
L2857[23:22:54] <killjoy> Is there a way to hide a mod from the mod list?
L2858[23:23:08] <Sollux-Captor> or should item classes be seperate individual files?
L2859[23:24:29] <killjoy> I would do it 1-1
L2860[23:24:33] <killjoy> one class per file
L2861[23:25:25] <Sollux-Captor> ok, i just thought it might have been more convienient to nest all items in one class
L2862[23:26:55] <Sollux-Captor> like is there an up to having it 1-1?
L2863[23:27:26] ⇨ Joins: RANKSHANK (~Michael@ppp121-44-139-233.lns20.syd7.internode.on.net)
L2864[23:27:34] <Sollux-Captor> well, i should rephrase that, is it better to have it 1-1 and why?
L2865[23:30:04] <Sollux-Captor> and i guess a better question is is there a reason as to why not to nest classes?
L2866[23:32:06] ⇨ Joins: Mraof (~mraof@2601:642:4400:20c4:ba27:ebff:fea5:e37e)
L2867[23:33:48] <killjoy> Sollux-Captor, organization
L2868[23:34:07] <Sollux-Captor> for wich method? 1-1 or nested?
L2869[23:34:17] <killjoy> 1-1
L2870[23:34:38] <Cypher121> Broad-mobile: I don't know about eclipse, but IDEA seems to be extremely slow when running gradle tasks. and by default it runs out of memory
L2871[23:35:06] <Sollux-Captor> well is that the only reason?
L2872[23:35:52] <killjoy> Program like the person who takes over the project is angry and knows your home address
L2873[23:35:56] <Cypher121> Sollux-Captor: you can put your whole mod in 1 file, so organization is always the only reason
L2874[23:36:14] <Sollux-Captor> well duh but this is only for items
L2875[23:36:15] <killjoy> also 1 line
L2876[23:36:23] <killjoy> or without indentation
L2877[23:36:31] <Cypher121> killjoy: that person would be myself
L2878[23:36:37] <killjoy> are you angry?
L2879[23:36:43] <Cypher121> always
L2880[23:37:01] <Cypher121> http://www.commitstrip.com/en/2016/01/18/what-idiot-wrote-this-code/
L2881[23:37:27] <killjoy> Maintain? What's that?
L2882[23:37:45] <Sollux-Captor> well i may go with the nesting reasoning being logical organization but it doesnt sound like there is any downfall other than visual organization
L2883[23:37:45] <killjoy> build, release, forget
L2884[23:38:06] <killjoy> You could also just put all the item classes in an item packege
L2885[23:38:17] <Sollux-Captor> well ye
L2886[23:38:17] <killjoy> You'll have the same effect
L2887[23:39:21] <Sollux-Captor> isnt it easier to share variables between classes though if the classes are nested? like instead of always sending values through constructors?
L2888[23:39:24] <Cypher121> one outer class per file, even if some are not public
L2889[23:39:33] <killjoy> just make them protected
L2890[23:39:55] <Cypher121> only use inner classes if there's an absolutely 100% "part of" relationship
L2891[23:40:06] <killjoy> like with Map.Entry
L2892[23:40:14] <Sollux-Captor> hmm ok
L2893[23:40:14] <Cypher121> yes
L2894[23:40:15] <Techcable> Cypher121: Agreed
L2895[23:40:38] <killjoy> It's crazy that Map.forEach doesn't take an Entry
L2896[23:40:42] <Techcable> Or for encapsulation
L2897[23:40:44] <killjoy> instead, it takes a BiConsumer
L2898[23:41:01] <Sollux-Captor> aight i guess i will go with the seperate class files
L2899[23:41:02] <Cypher121> map.entrySet().forEach()
L2900[23:41:04] <killjoy> BiConsumer isn't used anywhere else
L2901[23:42:56] ⇨ Joins: thecodewarrior (~thecodewa@75-128-36-18.static.mtpk.ca.charter.com)
L2902[23:43:03] ⇦ Quits: thecodewarrior (~thecodewa@75-128-36-18.static.mtpk.ca.charter.com) (Client Quit)
L2903[23:43:54] ⇦ Quits: Ipsis (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk) (Ping timeout: 189 seconds)
L2904[23:46:59] *** fry|sleep is now known as fry
L2905[23:51:59] ⇦ Quits: McJty (~jorrit@94-225-203-206.access.telenet.be) (Quit: Leaving)
L2906[23:53:38] *** Ashlee is now known as Ash|Work
L2907[23:53:48] ⇦ Quits: Brokkoli (~Brokkoli@f054031197.adsl.alicedsl.de) (Ping timeout: 189 seconds)
L2908[23:53:55] <Cypher121> wat. there's a method in BinaryOperator that takes a Comparator and returns a BinaryOperator that is basically max(a, b)
L2909[23:55:30] <xaero> ignoring the Comparator and substituting max?
L2910[23:55:56] *** willieaway is now known as williewillus
L2911[23:58:28] *** williewillus is now known as willieaway
L2912[23:58:41] ⇨ Joins: Brokkoli (~Brokkoli@f054189138.adsl.alicedsl.de)
L2913[23:59:18] <Cypher121> xaero: no, it takes 2 arguments and returns the one that is greater according to comparator
L2914[23:59:28] *** DarkevilAway is now known as Darkevilmac
<<Prev Next>> Scroll to Top