<<Prev Next>> Scroll to Bottom
Stuff goes here
L1[00:09:11] *** TTFTCUTS is now known as TTFT|Away
L2[00:10:26] ⇨ Joins: VikeStep (~VikeStep@192.43.96.58.static.exetel.com.au)
L3[00:13:10] ⇨ Joins: BerciTheBeast (~BerciTheB@77.111.11.55.ipv4.telemach.net)
L4[00:13:22] ⇦ Quits: BerciTheBeast (~BerciTheB@77.111.11.55.ipv4.telemach.net) (Remote host closed the connection)
L5[00:23:40] ⇨ Joins: Hunterz (~hunterz@2001:af0:8000:1c01:6af7:28ff:fe37:5d6a)
L6[00:37:42] *** fry|sleep is now known as fry
L7[00:44:13] ⇦ Quits: TechnicianLP2_ (~AndChat59@p4FE1D3F2.dip0.t-ipconnect.de) (Read error: No route to host)
L8[00:55:58] ⇨ Joins: Shawn|i7-Q720M (~shawn156@c-50-170-156-102.hsd1.co.comcast.net)
L9[00:58:36] ⇦ Quits: kinggoesgaming (uid23106@id-23106.tooting.irccloud.com) (Quit: Connection closed for inactivity)
L10[01:16:23] ⇨ Joins: quadraxis (~quadraxis@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net)
L11[01:41:10] ⇨ Joins: King_Hual (adam@thefoxbox.xyz)
L12[01:52:59] ⇦ Quits: Brokkoli (~Brokkoli@p5B23C6BC.dip0.t-ipconnect.de) (Quit: Die Sprache der Politik ist daf�r gemacht, dass L�gen wahr klingen und das T�ten angemessen wirkt. (George Orwell))
L13[01:53:23] ⇦ Quits: killjoy (~killjoy@cpe-2606-A000-1118-81A9-BC3D-FF77-7C43-B8FD.dyn6.twc.com) (Ping timeout: 206 seconds)
L14[02:00:03] <MCPBot_Reborn> [TEST CSV] Pushing snapshot_20170224 mappings to Forge Maven.
L15[02:00:07] <MCPBot_Reborn> [TEST CSV] Maven upload successful for mcp_snapshot-20170224-1.11.zip (mappings = "snapshot_20170224" in build.gradle).
L16[02:00:17] <MCPBot_Reborn> Semi-live (every 10 min), Snapshot (daily ~3:00 EST), and Stable (committed) MCPBot mapping exports can be found here: http://export.mcpbot.bspk.rs/
L17[02:03:12] ⇦ Quits: Kaiyouka (~IdiotNono@c-75-71-231-133.hsd1.co.comcast.net) (Ping timeout: 194 seconds)
L18[02:05:56] ⇦ Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 180 seconds)
L19[02:10:50] ⇨ Joins: Larry1123 (Larry1123@irc.larry1123.net)
L20[02:15:04] *** Darkevilmac is now known as DarkevilAway
L21[02:21:54] ⇨ Joins: npe|office (~NPExcepti@bps-gw.hrz.tu-chemnitz.de)
L22[02:29:59] ⇨ Joins: gigaherz|work (~gigaherz@84.89.63.25)
L23[02:44:27] ⇦ Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 201 seconds)
L24[02:54:07] ⇦ Quits: jackmcbarn (~jackmcbar@gateway.insomnia247.nl) (Ping timeout: 192 seconds)
L25[02:54:19] ⇨ Joins: Larry1123 (Larry1123@irc.larry1123.net)
L26[03:03:36] ⇨ Joins: ThePsionic (~Psi@188.226.133.172)
L27[03:04:20] ⇦ Quits: Kaelten (~Kaelten@2600:3c00::f03c:91ff:fedb:9160) (Ping timeout: 202 seconds)
L28[03:05:12] ⇨ Joins: Ashindigo_ (uid202308@id-202308.hathersage.irccloud.com)
L29[03:11:22] ⇨ Joins: CoolerExtreme (~CoolerExt@117.204.121.76)
L30[03:14:16] ⇦ Quits: CoolerExtreme__ (~CoolerExt@117.204.121.76) (Ping timeout: 194 seconds)
L31[03:15:04] ⇨ Joins: Noppes (~Noppes@ip56530f2e.direct-adsl.nl)
L32[03:16:24] <codahq> hm... when entities get really large their "hit boxes" aren't very accurate. i doubled checked that the getEntityBoundingBox is returning the correct rectangle around the mob but that doesn't stop arrow from passing through his head most of the time.
L33[03:16:32] <codahq> he's 11 blocks tall.
L34[03:16:47] <codahq> anybody know why that is?
L35[03:16:55] <gigaherz|work> chances are the collision code is just not designed for large bounding boxes
L36[03:17:24] <gigaherz|work> hmm
L37[03:17:28] <gigaherz|work> one possible reason I can think of
L38[03:17:36] <gigaherz|work> is that the code may get the nearby entities, within a certain radius
L39[03:17:39] <gigaherz|work> and if the entity is too large
L40[03:17:52] <gigaherz|work> its' feet position may be ouside of that radius
L41[03:18:15] <gigaherz|work> I don't have the code in front of me but if that is the case, getEntitiesWithinAABB
L42[03:18:32] <gigaherz|work> would not use the entityes' AABBs, only their position
L43[03:18:44] <codahq> hm... that's a good thought. i'll check that.
L44[03:18:46] <gigaherz|work> if that is the case, the fix would be to make getEntitiesWithinAABB test for overlaps
L45[03:18:54] <gigaherz|work> however that would make the query slower
L46[03:22:09] ⇦ Quits: ThePsionic (~Psi@188.226.133.172) (Quit: Leaving)
L47[03:22:53] <codahq> oh, geez.
L48[03:22:56] <codahq> here's the real reason
L49[03:23:05] <codahq> so, it checks the chunks entity lists
L50[03:23:11] <gigaherz|work> yep
L51[03:23:17] <gigaherz|work> (that was my #2 possibility)
L52[03:23:25] <codahq> but to decide what chunks are loaded it floors the position by the max entity radius
L53[03:23:26] <codahq> which is 2
L54[03:23:42] <codahq> so it never checks the chunks it needs to until it's right on top of the entity
L55[03:23:46] <codahq> dag
L56[03:23:50] <codahq> i can't really fix that easily
L57[03:23:54] <codahq> or at all
L58[03:25:12] <codahq> that's weird that i don't notice this kind of miss on the ender dragon
L59[03:25:18] <codahq> i wonder how they got around it on that dood.
L60[03:25:40] <codahq> he's as long as this entity is wide
L61[03:26:00] <gigaherz|work> are you sure it doesn't happen? ;P
L62[03:26:08] <codahq> you know what. i'm not
L63[03:26:15] <codahq> i haven't actually paid that much attention
L64[03:26:25] ⇦ Quits: diesieben07 (~diesieben@abrarsyed.com) (Ping timeout: 190 seconds)
L65[03:26:25] <gigaherz|work> I have had many cases of "WTF THIS HOULD HAVE HIT!" while fighting the dragon ;P
L66[03:26:33] <gigaherz|work> but I never associated it with collision detection
L67[03:26:42] <gigaherz|work> more like lag or such
L68[03:26:48] <gigaherz|work> (or bad aim)
L69[03:26:53] <gigaherz|work> but now I'm wondering...
L70[03:27:33] <gigaherz|work> problem is, you can't fix this from there
L71[03:27:40] <codahq> nope.
L72[03:27:40] ⇦ Quits: x3n0ph0b3 (~x3n0ph0b3@2001:19f0:6400:8965:5400:ff:fe07:8777) (*.net *.split)
L73[03:27:40] ⇦ Quits: Kolatra (~Kolatra@abrarsyed.com) (*.net *.split)
L74[03:27:40] ⇦ Quits: Abrar|gone (~AbrarSyed@ipv6.abrarsyed.com) (*.net *.split)
L75[03:27:40] ⇦ Quits: ntzrmtthihu777 (ntzrmtthih@Join.The.DarkSide.We.Have.Coookies.PanicBNC.us) (*.net *.split)
L76[03:27:40] ⇦ Quits: auenfx4 (David@120.155.29.160) (*.net *.split)
L77[03:27:54] <Akkarin> the dragon hitbox is a little different though
L78[03:28:00] <Akkarin> it's not actually just one big hitbox
L79[03:28:06] <gigaherz|work> the only "correct" fix would be to keep a separate "colliders in chunk" list -- at runtime
L80[03:28:23] <gigaherz|work> with all the bounding boxes that overlap the chunk
L81[03:28:30] <gigaherz|work> meaning an entity may be on up to 4 lists at once
L82[03:28:49] <codahq> lol... ain't no way i'm making a PR for this entity
L83[03:28:59] <codahq> i thought it would be funny to give the giant AI
L84[03:29:03] <codahq> that's basically all i did
L85[03:29:07] <codahq> i'm not that attached to it
L86[03:29:14] ⇨ Joins: diesieben|away (~diesieben@abrarsyed.com)
L87[03:29:40] *** diesieben|away is now known as diesieben07
L88[03:29:49] <codahq> i'm going to look at the dragon to see if i can provide separate hit boxes i guess
L89[03:30:06] <codahq> is the dragon really a cluster of entities then or something? moving together?
L90[03:30:46] <codahq> wow
L91[03:30:48] <codahq> he really is
L92[03:31:29] <Akkarin> well that was the easiest way to get it to work the way it does now
L93[03:33:33] <gigaherz|work> I'm picturing a "block golem"
L94[03:33:43] <gigaherz|work> that at first appears to be a singlething
L95[03:33:58] <gigaherz|work> but every now and then, it's starts to "droop off"
L96[03:34:13] <gigaherz|work> and then it recovers back into a solid thing
L97[03:35:06] <codahq> huh, maybe it wouldn't be that big of a deal to make a multipart mob
L98[03:35:23] <gigaherz|work> it's just like a multiblock -- xcept with entities
L99[03:35:24] <gigaherz|work> ;P
L100[03:35:26] <codahq> there are already interfaces for it so the rest of minecraft might easily accept one.
L101[03:35:35] <gigaherz|work> make a "brain" part, and the rest follow
L102[03:35:39] <codahq> they didn't just go all rogue and hardcode stuff in to make it work
L103[03:36:20] <codahq> it's a pretty big class but most of it is the AI
L104[03:36:35] <codahq> (which they should have put into AITasks imo
L105[03:36:50] ⇨ Joins: Kaelten (~Kaelten@li208-254.members.linode.com)
L106[03:37:47] <codahq> hm... cool. i'll put it on my todo list for when i run out of other things that are more exciting.
L107[03:38:01] *** codahq is now known as codahq_away
L108[03:42:00] ⇦ Quits: codahq_away (~codahq@c-73-65-219-228.hsd1.ut.comcast.net) (Ping timeout: 194 seconds)
L109[03:51:14] ⇦ Quits: Zyferus (Zyferus@172-3-154-217.lightspeed.mssnks.sbcglobal.net) (Read error: Connection reset by peer)
L110[03:52:57] ⇦ Quits: gigaherz|work (~gigaherz@84.89.63.25) (Read error: Connection reset by peer)
L111[03:53:22] ⇨ Joins: gigaherz|work (~gigaherz@84.89.63.25)
L112[04:00:49] ⇨ Joins: Kaiyouka (~IdiotNono@c-75-71-231-133.hsd1.co.comcast.net)
L113[04:23:38] ⇨ Joins: x3n0ph0b3 (~x3n0ph0b3@2001:19f0:6400:8965:5400:ff:fe07:8777)
L114[04:23:38] ⇨ Joins: Kolatra (~Kolatra@abrarsyed.com)
L115[04:23:38] ⇨ Joins: Abrar|gone (~AbrarSyed@ipv6.abrarsyed.com)
L116[04:23:38] ⇨ Joins: ntzrmtthihu777 (ntzrmtthih@Join.The.DarkSide.We.Have.Coookies.PanicBNC.us)
L117[04:23:38] ⇨ Joins: auenfx4 (David@120.155.29.160)
L118[04:23:38] *** portlane.esper.net sets mode: +o Abrar|gone
L119[04:30:53] ⇦ Quits: Meronat (uid190493@2604:8300:100:200b:6667:2:2:e81d) (Quit: Connection closed for inactivity)
L120[04:34:33] ⇨ Joins: KGS (~KGS@h-155-4-129-249.na.cust.bahnhof.se)
L121[04:52:45] ⇨ Joins: sciguyryan (~sciguyrya@45.62.37.23)
L122[04:57:38] ⇨ Joins: TechnicianLP (~Technicia@p4FE1D3F2.dip0.t-ipconnect.de)
L123[05:11:05] ⇨ Joins: InusualZ (~InusualZ@adsl-64-237-233-30.prtc.net)
L124[05:32:05] ⇨ Joins: jackmcbarn (jackmcbarn@gateway.insomnia247.nl)
L125[05:43:25] ⇦ Quits: InusualZ (~InusualZ@adsl-64-237-233-30.prtc.net) (Ping timeout: 190 seconds)
L126[05:50:29] ⇨ Joins: edr (~edr@d-65-175-180-73.cpe.metrocast.net)
L127[06:06:10] ⇦ Quits: psxlover (psxlover@athedsl-387017.home.otenet.gr) (Ping timeout: 206 seconds)
L128[06:07:17] ⇨ Joins: InusualZ (~InusualZ@adsl-64-237-233-76.prtc.net)
L129[06:10:28] ⇨ Joins: Kruptein (~kruptein@134.58.253.57)
L130[06:13:25] ⇦ Quits: InusualZ (~InusualZ@adsl-64-237-233-76.prtc.net) (Ping timeout: 190 seconds)
L131[06:13:44] <Kruptein> how do I use the !mh commands etc
L132[06:13:54] <gigaherz|work> well type !help
L133[06:13:55] <Kruptein> can I pm minebot to avoid spamming this channel ?
L134[06:14:00] <gigaherz|work> you can type it in MCPBot_Reborn pm
L135[06:14:06] <Kruptein> yeah I pmd minebot !help
L136[06:14:08] <gigaherz|work> or join #mcpbot
L137[06:14:10] <Kruptein> I guess he's not the one
L138[06:14:15] <gigaherz|work> nope, it's MCPBot_Reborn
L139[06:14:20] <Kruptein> ah thanks
L140[06:14:30] <gigaherz|work> there's also #mcpbot
L141[06:14:49] <Kruptein> alright
L142[06:15:36] ⇨ Joins: Inusua1Z (~InusualZ@adsl-64-237-232-158.prtc.net)
L143[06:16:48] ⇦ Quits: KGS (~KGS@h-155-4-129-249.na.cust.bahnhof.se) (Ping timeout: 206 seconds)
L144[06:21:12] <Kruptein> Block.setBlockBoundsBasedOnState is not in Block anymore, can someone point me where it is now ?
L145[06:23:15] ⇨ Joins: Umbraco (~Umbraco@113x37x12x233.ap113.ftth.ucom.ne.jp)
L146[06:26:06] <Kruptein> ah it seems to be getBoundingBox
L147[06:30:21] ⇦ Quits: Kruptein (~kruptein@134.58.253.57) (Remote host closed the connection)
L148[06:31:40] ⇨ Joins: Kruptein (~kruptein@134.58.253.57)
L149[06:33:24] ⇨ Joins: Cast0077 (~Cast0077@24-151-30-78.dhcp.nwtn.ct.charter.com)
L150[06:42:12] ⇦ Quits: Shawn|i7-Q720M (~shawn156@c-50-170-156-102.hsd1.co.comcast.net) (Read error: Connection reset by peer)
L151[06:54:50] ⇦ Quits: Kruptein (~kruptein@134.58.253.57) (Ping timeout: 194 seconds)
L152[06:58:32] ⇨ Joins: Meronat (uid190493@id-190493.ealing.irccloud.com)
L153[06:58:33] ⇨ Joins: Kruptein (~kruptein@134.58.253.57)
L154[07:05:11] ⇦ Quits: Hunterz (~hunterz@2001:af0:8000:1c01:6af7:28ff:fe37:5d6a) (Quit: Leaving.)
L155[07:11:47] ⇨ Joins: gigaherz_ (~gigaherz@84.89.63.25)
L156[07:13:54] ⇦ Quits: gigaherz|work (~gigaherz@84.89.63.25) (Ping timeout: 194 seconds)
L157[07:15:05] ⇦ Quits: gigaherz_ (~gigaherz@84.89.63.25) (Ping timeout: 190 seconds)
L158[07:20:40] <Baughn> Anyone got an up-to-date, not overly clever XMonad config I could borrow? I'm a bit unsure how to make it all work with NixOS today.
L159[07:20:46] <Baughn> ...aaand this is the wrong channel.
L160[07:26:08] *** MrKick|Away is now known as MrKickkiller
L161[07:29:42] ⇨ Joins: sinkillerj (~sinkiller@nc-67-232-15-221.dhcp.embarqhsd.net)
L162[07:38:00] ⇦ Quits: Waterpicker (~Waterpick@2602:306:35ba:ca40:dd15:3e6a:a50:e561) (Ping timeout: 206 seconds)
L163[07:50:19] ⇦ Quits: npe|office (~NPExcepti@bps-gw.hrz.tu-chemnitz.de) (Remote host closed the connection)
L164[07:59:45] ⇦ Quits: Umbraco (~Umbraco@113x37x12x233.ap113.ftth.ucom.ne.jp) (Ping timeout: 206 seconds)
L165[08:09:49] ⇨ Joins: Shambling (~Shambling@24-181-186-74.dhcp.nwtn.ct.charter.com)
L166[08:19:34] ⇦ Quits: zml (~zml@minions.aoeu.xyz) (Ping timeout: 206 seconds)
L167[08:21:15] ⇨ Joins: CoolerExtreme__ (~CoolerExt@117.204.121.76)
L168[08:24:14] ⇦ Quits: CoolerExtreme (~CoolerExt@117.204.121.76) (Ping timeout: 201 seconds)
L169[08:25:47] ⇨ Joins: zml (~zml@45.62.243.197)
L170[08:30:33] <Shambling> question on build 2235, what behavior does "Added check for quad builder to always have the particle texture set,
L171[08:30:33] <Shambling> and fixed where that wasn't true. Fixes #3653 " perform?
L172[08:30:57] <fry> what do you mean? :P
L173[08:32:37] ⇦ Quits: VikeStep (~VikeStep@192.43.96.58.static.exetel.com.au) (Quit: Leaving)
L174[08:33:47] <Shambling> oh, it throws a crash
L175[08:34:01] <fry> logs? :P
L176[08:34:06] <Shambling> just looked at the source. 2235 has been exposing a bug in exu2
L177[08:34:09] <Shambling> was just wondering what was causing it
L178[08:34:22] <Shambling> sure I think I still have the paste
L179[08:34:23] <Shambling> one second
L180[08:34:24] <fry> exu2 not setting the texture :P
L181[08:34:28] <fry> most likely :P
L182[08:35:06] <Shambling> was wondering what the 'fix' waas. What was the problem people were winging about anyways?
L183[08:35:24] <Shambling> http://pastebin.com/5FJgCJhF
L184[08:35:31] <Shambling> pretty obvious its him having those quad issues
L185[08:35:48] <fry> it now crashes early instead of late
L186[08:36:02] <Shambling> ah it was causing crashes late into the game? good fix in my eyes then lol
L187[08:36:03] <fry> (at model construction time instead of model access time)
L188[08:36:07] <fry> yup
L189[08:36:12] ⇨ Joins: fatguylaughing (~fatguylau@worx01.worxco.net)
L190[08:36:32] <Shambling> weird, it wasn't crashes me until I accessed the items that had the broken textures
L191[08:36:47] <Shambling> i.e. they entered the world or my inventory and I looked at my inventory
L192[08:36:53] <fry> lazy construction :P
L193[08:37:05] <fry> still, better than at some random point later
L194[08:37:09] <Shambling> well I can't confirm, as its closed source and obfuscated to the point it breaks a decompiler
L195[08:38:09] <Shambling> but yeah, its good to throw exceptions early rather than after a point you become dependant on a broken mod that won't ever update, and lets mod authors know to fix bugs if they still are updating
L196[08:39:08] <Shambling> I'll go through jei and see if anything else is missing textures, since that seems to indicate the problem exists, and remove mods until they update. Thanks fry
L197[08:40:25] <Shambling> btw, was that what caused breaking particles to be purple and black? because if that is the case, I can see a ton of mods either getting updates soon, or being rmeoved from packs.
L198[08:42:56] ⇦ Quits: Chais (~Chais@62-178-210-212.cable.dynamic.surfer.at) (Read error: Connection reset by peer)
L199[08:43:18] <fry> not really, that's a separate thing
L200[08:43:43] <Shambling> is the texture set in the jsons?
L201[08:44:09] <Shambling> or is that a field in the method call?
L202[08:44:17] <fry> both
L203[08:44:29] <Shambling> ah, drat
L204[08:45:38] <Shambling> so fixing the json wouldn't really fix the crash if its not fixed in code
L205[08:45:53] ⇨ Joins: Chais (~Chais@62.178.210.212)
L206[08:46:10] <fry> it can
L207[08:46:19] <fry> but it's not always possible to set it in the json
L208[08:48:32] <TechnicianLP> exu2 is obfuscated? /me goes of downloading it
L209[08:50:22] <Shambling> maybe the version of bon2 I deobfuscated it and then jd-win doesn't work for looking at the code, but it looked like a mess in jd-win
L210[08:50:37] <Shambling> errr jd-gui
L211[08:51:02] <Shambling> I did see a reference to the behemian rapsody in the class names though :P
L212[08:51:19] <Lord_Ralex> I use luyten when i decompile now, i've had issues in the past with jd-gui for some stuff
L213[08:51:41] <Shambling> weird, only broken in 1.11.2
L214[08:51:58] <Shambling> guess the bugs are in 1.11.2 for exu2's crash with that texture fix
L215[08:52:21] <Shambling> luyten?
L216[08:52:24] <Corosus> oooooo an open source decompiler
L217[08:52:30] <tterrag> ExU was not obfuscated (beyond normal srg name usage) last I checked
L218[08:52:46] <tterrag> BON2+jd-gui worked fine
L219[08:52:47] <fry> why do you people act like fernflower doesn't exist? :P
L220[08:52:53] <Shambling> isn't the srg name crud the obfuscation? or is obfuscation more the active hiding of code within confusing methods?
L221[08:52:58] <Corosus> i thought fern was closed source?
L222[08:52:58] <Shambling> the name fry
L223[08:52:59] <fry> you know, the thing that you all actually use to make mods :D
L224[08:53:04] <tterrag> fry: does FF allow me to just open a jar and view it?
L225[08:53:13] <Shambling> ferns don't flower
L226[08:53:15] <tterrag> I don't actually want to dump the source
L227[08:53:26] <Corosus> oh nm
L228[08:53:29] <Shambling> *the real reason is I haven't looked into how to use it
L229[08:53:41] <tterrag> Shambling: minecraft is obfuscated. for mods to work at all they must be obfuscated to the same level that MC is (names of methods, fields, etc)
L230[08:53:43] <fry> why would you want a file browser embedded in a decompiler? it's not it's job :P
L231[08:54:16] <tterrag> *every* mod you download for use in a normal game is obfuscated in some ways
L232[08:54:22] ⇦ Quits: romibi (~quassel@cable-static-7-174.rsnweb.ch) (Ping timeout: 206 seconds)
L233[08:54:23] <tterrag> it's part of the build process
L234[08:54:46] <Shambling> I usually just decompile to eyeball source code looking for bugs, I don't neccessarily want to recompile it afterwards
L235[08:55:03] ⇨ Joins: romibi (~quassel@cable-static-7-174.rsnweb.ch)
L236[08:55:41] ⇦ Quits: sinkillerj (~sinkiller@nc-67-232-15-221.dhcp.embarqhsd.net) (Remote host closed the connection)
L237[08:55:56] <Shambling> ok I guess I used the wrong terms tterrag. I guess all I was doing with bon2 was applying the SRG changes
L238[08:56:06] <tterrag> because that's all it needs to do
L239[08:56:15] <tterrag> mod reobfuscation only involves replacing mcp names with srg names
L240[09:00:45] ⇨ Joins: advancid (~advancid@2a01:e35:2f06:a720:1337:1727:4295:8b31)
L241[09:00:48] <gigaherz_m> yay, the dimension spawn-setting PR got merged :D
L242[09:01:25] ⇦ Quits: quadraxis (~quadraxis@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net) (Ping timeout: 190 seconds)
L243[09:03:01] <advancid> do the SRG names change between mc versions?
L244[09:03:57] <gigaherz_m> no, that's the whole point of them
L245[09:04:16] <gigaherz_m> wait, between mc versions
L246[09:04:19] <gigaherz_m> a few do
L247[09:04:23] <gigaherz_m> due to signature changes
L248[09:04:27] <gigaherz_m> sincem ethods get added removed and such
L249[09:04:31] <gigaherz_m> but most don't
L250[09:04:45] <gigaherz_m> they however NEVER EVER change with forge releases within the same mc version
L251[09:04:50] <fry> they don't "change", old ones are removed and new oned are added
L252[09:05:00] <gigaherz_m> well yeah
L253[09:05:03] <gigaherz_m> I meant in the sense that
L254[09:05:04] <fry> if the srg name is the same then the method should be the same
L255[09:05:16] <fry> withing reason :P
L256[09:05:26] <gigaherz_m> doX(int) may be func_123456_a
L257[09:05:27] <gigaherz_m> and
L258[09:05:35] <gigaherz_m> doX(IBlockState) may become func_145214_f
L259[09:05:42] <gigaherz_m> but it's really a different method
L260[09:05:56] <advancid> ok
L261[09:06:03] <fry> but func_123456_a will never become something that's not doX(int)
L262[09:06:09] * gigaherz_m nods
L263[09:06:13] *** gigaherz_m is now known as gigaherz
L264[09:06:42] <gigaherz> yeah that's a better way to put it: the SRG name will never become a different thing
L265[09:06:48] <gigaherz> but old SRG names may become obsolete
L266[09:06:53] <gigaherz> and new ones may be introduced
L267[09:07:12] <advancid> and if I understood correctly SRG is not used in the dev environment
L268[09:07:25] <gigaherz> in the development environment, you use "pretty names"
L269[09:07:30] <Shambling> hrmmm... how hard would it be to mod something like making it so saplings were destroyed 90% of the time when placed?
L270[09:07:38] <gigaherz> those CAN change, depending on the mappings you use
L271[09:07:45] <gigaherz> but when you compile the jar for your mod
L272[09:07:52] <gigaherz> all the names are re-translated
L273[09:07:54] <gigaherz> back into SRG
L274[09:08:08] <advancid> gigaherz: so if I want my mod which uses reflection to work on both environments?
L275[09:08:08] <gigaherz> Shambling: when *placed* ?
L276[09:08:16] <gigaherz> sounds easy
L277[09:08:24] <gigaherz> just handle the place block event, and see if it's a sapling?
L278[09:08:26] <gigaherz> or
L279[09:08:32] <gigaherz> handle the item use of a sapling
L280[09:08:35] <gigaherz> and cancel it
L281[09:08:48] <gigaherz> advancid: ReflectionHelper.findMethod
L282[09:09:05] <gigaherz> with new String[] { "srg_name_here", "pretty_name_here" }
L283[09:09:13] <advancid> ok thank you
L284[09:09:18] <gigaherz> ALWAYS put the srg first
L285[09:09:24] <tterrag> I mean
L286[09:09:31] <gigaherz> because you want it to succeed first time outside dev
L287[09:09:32] <tterrag> if it's a one time method lookup and then cached, it doesn't really matter
L288[09:09:39] <tterrag> but yeah, generally, srg first
L289[09:10:53] ⇦ Quits: Meronat (uid190493@id-190493.ealing.irccloud.com) (Quit: Connection closed for inactivity)
L290[09:14:39] <Shambling> yeah I just thought about it a bit and it should be simple enough
L291[09:14:58] <Shambling> was just thinking, with most of the biomes in my modpack being dead or dying, trees should be rare
L292[09:15:04] ⇨ Joins: ThePsionic (~Psi@ip5457f909.direct-adsl.nl)
L293[09:15:34] <Shambling> and I could either have leaves not drop saplings (which probably would be a bad thing) or make it so they despawn when placed sometimes
L294[09:15:54] <Shambling> maybe 'fertile soil' type things would improve odds
L295[09:16:32] <advancid> Shambling: I think the first idea would be the best idea because if there is a mod which uses saplings whithout placing them, then it doesn't limit the saplings
L296[09:16:50] <Shambling> hrmm.. true farmers don't place them like normal
L297[09:17:17] <Shambling> thanks
L298[09:18:26] ⇦ Quits: samschaap (~samschaap@5469BF1F.cm-12-2c.dynamic.ziggo.nl) (Ping timeout: 180 seconds)
L299[09:22:03] <advancid> how can I "implement" the disable button in the mod options for my mod
L300[09:26:44] ⇨ Joins: samschaap (~samschaap@5469BF1F.cm-12-2c.dynamic.ziggo.nl)
L301[09:29:56] *** TTFT|Away is now known as TTFTCUTS
L302[09:34:44] ⇨ Joins: BlueMonster (~BlueMonst@cpc23-telf11-2-0-cust237.16-1.cable.virginm.net)
L303[09:35:10] ⇦ Quits: Cast0077 (~Cast0077@24-151-30-78.dhcp.nwtn.ct.charter.com) (Ping timeout: 194 seconds)
L304[09:42:53] *** MrKickkiller is now known as MrKick|Away
L305[09:57:01] *** MrKick|Away is now known as MrKickkiller
L306[10:04:47] <TechnicianLP> advancid: afaik you can only make the button show ...
L307[10:05:48] <Ashindigo_> Afaik that button was never finished
L308[10:06:04] <tterrag> yeah, it does nothing
L309[10:11:49] <TechnicianLP> if you really want to you can listen to someone clicking that button while having your mod selected and then unregister your listeners (and use reflection to drop your modcontainer)
L310[10:12:33] <TechnicianLP> but thats probably why it has not been implemented fully ... the loading system isnt designed for disabling stuff afterwards
L311[10:15:25] ⇦ Quits: Inusua1Z (~InusualZ@adsl-64-237-232-158.prtc.net) (Ping timeout: 190 seconds)
L312[10:15:38] ⇨ Joins: Tazz (socks@ds003.info)
L313[10:23:45] <Kruptein> hm I updated my mod from 1.8.9 to 1.11.2 no more errors. Tryig to launch it mc eventually reports that I'm missing the mod Forge (running through intellij). I can't recall having to specifically put the forge mod in the mods folder is that a recent change ?
L314[10:24:38] <fry> nope, something is wrong with your setup
L315[10:24:59] <Kruptein> hm
L316[10:25:11] <Kruptein> ill just rerun setupdecomp and refresh gradle I suppose
L317[10:27:04] <kashike> do remember that the Forge mod ID is now "forge", Kruptein
L318[10:27:54] <Kruptein> ah that will be it
L319[10:28:41] <Kruptein> yup thanks
L320[10:28:56] <Kruptein> haven't really followed development in that period so mb
L321[10:29:11] ⇨ Joins: codahq_away (~codahq@c-73-65-219-228.hsd1.ut.comcast.net)
L322[10:29:14] <kashike> mod ids should be all lowercase now
L323[10:29:25] <kashike> same with assets directories/names
L324[10:29:55] <Kruptein> as a guideline or forced ?
L325[10:30:05] <Kruptein> not that I dislike it
L326[10:30:05] <Ashindigo_> Forced in 1.11+
L327[10:30:19] <Kruptein> kk
L328[10:30:34] <fry> hmm, dependency strings should probably check it too
L329[10:31:19] <Kruptein> yeah it was my mcmod.info that still depended on Forge
L330[10:31:47] <Kruptein> the memory counter when starting up is nice
L331[10:32:08] <fry> <3 mezz
L332[10:32:08] <Ashindigo_> I like it too
L333[10:33:17] <gigaherz> yup it's awesome
L334[10:38:16] <Fokson> Good Morning*, everyone. How goes it? (* Subject to time zone)
L335[10:39:12] <gigaherz> Good afternoon from GMT+1
L336[10:39:30] <Ashindigo_> Good after noon
L337[10:39:55] <Kruptein> good afternoon from +1 as well :)
L338[10:40:06] <Fokson> Man I'm in the wrong timezone =D
L339[10:40:33] <fry> good evening from gmt+3 :D
L340[10:40:34] <gigaherz> XD
L341[10:41:03] <Fokson> So, I'm having an ordeal with some mod coding I was hoping to get some assistance with, if anyone could spare the time =)
L342[10:41:12] ⇦ Quits: ntzrmtthihu777 (ntzrmtthih@Join.The.DarkSide.We.Have.Coookies.PanicBNC.us) (Ping timeout: 202 seconds)
L343[10:41:33] <Ashindigo_> Ask away
L344[10:42:28] <Fokson> It originally started as "EntityMob's getAttackTarget was always returning null and I couldn't figure out why", but I came to the conclusion that that information was server-side only, and the client was not privy to it.
L345[10:42:58] <Corosus> i suspect so yes
L346[10:42:59] <Fokson> Now that I know that, I'm curious on how to have the client request that information from the server, and have the server provide it.
L347[10:44:02] <Fokson> I'm pretty much brand new to modding so I don't really know much besides basic programming practice. That much has got me so far, but the more specific things I have a hard time finding my way around.
L348[10:46:56] <codahq_away> usually the question i ask at this point is what are you trying to do. a description of what you need is sometimes the best way to address how to get it.
L349[10:47:10] *** codahq_away is now known as codahq
L350[10:47:15] <Fokson> Yeah, I was just getting together some information =)
L351[10:48:18] <Corosus> if there really is no data already on the client side to get active target, id suggest manual packetwork, by passing the entity.entityID from server to client, you can use that to get the correct entity client side, http://mcforge.readthedocs.io/en/latest/networking/simpleimpl/
L352[10:49:04] <Fokson> So, the goal is to have the client gather a list of mobs around the player within a 32 block radius, and ascertain which ones are currently aggressive to the player. If more than 5 mobs are currently targetting / trying to attack the player, the background music will change.
L353[10:49:05] <codahq> that seems like one that would be synced already though... at least to me. on client side the mobs have to look at their target.
L354[10:50:15] <Fokson> I thought so too, yeah. I was stumped as to why getAttackTarget, getAITarget, and taskList were all null all the time.
L355[10:50:48] <Fokson> Eventually I tried hacking together some scotch tape code, using the singleplayer integrated server's version of the world to get the values, and it worked fine.
L356[10:51:00] <Fokson> Of course that won't work in multiplayer and is overall shoddy code
L357[10:51:08] ⇦ Quits: Kruptein (~kruptein@134.58.253.57) (Quit: Leaving)
L358[10:51:45] <Corosus> looks like stuff like EntityAIWatchClosest just sets head yaw and pitch and syncs those values to client instead of maintaining target data client side
L359[10:52:08] <TechnicianLP> can you send a packet to the client saying "hey play that scary music" and "hey play the boring one again"
L360[10:52:18] ⇦ Quits: Kaiyouka (~IdiotNono@c-75-71-231-133.hsd1.co.comcast.net) (Ping timeout: 206 seconds)
L361[10:52:32] <Corosus> try to think of a mod that might need client side target data and see how they do it for a good reference
L362[10:52:38] <Corosus> cant think of one atm
L363[10:53:02] ⇨ Joins: TechnicianLP2 (~AndChat59@p4FE1D3F2.dip0.t-ipconnect.de)
L364[10:53:30] <Fokson> TechnicianLP: Up until now the mod only ran on the clientside, since all it does is play music. I previously didn't even consider the need for the server to be involved.
L365[10:54:19] <Fokson> A lot of the things I was going for, the client's data was sufficient. Low HP, current biome, depth, etc.
L366[10:54:32] <codahq> well, if you wanted to be sort of silly...
L367[10:54:45] <codahq> you could ray trace the target from what the mobs are looking at
L368[10:55:02] <codahq> if the server is setting the yaw and pitch you could take that and ray trace to the entity that is being attacked
L369[10:55:11] <codahq> (if you don't want to have a server side mod)
L370[10:55:19] <Fokson> Coda: I was thinking of that originally but it gets a little dicey when you duck behind a tree or around the corner of a building
L371[10:55:51] <codahq> did you debug into the AI tasks to see if one of them doesn't have the target?
L372[10:56:18] <codahq> or all they all empty on the client side too?
L373[10:56:26] <Fokson> Yeah, taskList is empty all the time
L374[10:57:12] <codahq> kind of a drag, isn't it? well... there's probably an event for when a mob picks up a new target
L375[10:57:43] ⇦ Quits: advancid (~advancid@2a01:e35:2f06:a720:1337:1727:4295:8b31) (Quit: WeeChat 1.7)
L376[10:57:49] <codahq> you can send yourself a packet on that event so that you can handle what you need to do.
L377[10:58:05] <codahq> or maybe the event even fires client side
L378[10:58:07] <codahq> dunno
L379[10:58:23] <Fokson> Yeah, I don't mind making the mod have a server component really, it's just not something I've learned about yet so I have some reading to do.
L380[10:59:41] <Fokson> It would be neat if I could somehow... have all EntityMob objects on the server send a packet to their client selves to provide their current attack target.
L381[11:00:22] <Fokson> There is a setAttackTarget function as well, so server mob does getAttackTarget -> client mob does setAttackTarget, and then the code I've already written will work as it is.
L382[11:00:42] <Corosus> yup
L383[11:01:26] ⇦ Quits: BlueMonster (~BlueMonst@cpc23-telf11-2-0-cust237.16-1.cable.virginm.net) (Ping timeout: 180 seconds)
L384[11:02:03] <Fokson> Is it even possible to change the behavior of the default minecraft classes in that way? To add something like sending a packet to their onTick method?
L385[11:02:12] ⇨ Joins: killjoy (~killjoy@cpe-2606-A000-1118-81A9-F15B-6701-A8DE-4DC5.dyn6.twc.com)
L386[11:02:26] <codahq> no, you can't. you can do that manually though if there is an event that fires. on server, register to the event of a mob acquiring a new target.
L387[11:02:47] <codahq> then in your event, it should have the target entity and the attacking entity
L388[11:02:54] <codahq> send the packet to all connected clients
L389[11:03:14] <codahq> you might have to send the chunk data as well if you want it to handle entities not in view
L390[11:03:34] <codahq> then on client you can go lookup the entity and set the attacking target yourself
L391[11:03:55] <Corosus> yeah dont mess with their onTick, make use of LivingSetAttackTargetEvent event
L392[11:04:13] <Fokson> Understood, I'll give it a shot. Thanks!
L393[11:04:35] <codahq> that will be fine unless for some silly reason the client clears that value periodically.
L394[11:05:55] <codahq> Fokson, by the way... technically you "could" change the minecraft base classes with a PR to forge but unless you can justify its existence it might not be merged.
L395[11:06:53] <codahq> since there is already a way to get what you want with the event and a little work on your part i bet a PR like this would probably not be accepted.
L396[11:06:55] <Fokson> Yeah, what I'm going for probably isn't important enough.
L397[11:14:14] ⇨ Joins: TechnicianLP2_ (~AndChat59@p4FE1D3F2.dip0.t-ipconnect.de)
L398[11:14:14] ⇦ Quits: TechnicianLP2 (~AndChat59@p4FE1D3F2.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
L399[11:15:54] ⇨ Joins: Meronat (uid190493@id-190493.ealing.irccloud.com)
L400[11:19:45] ⇨ Joins: Brokkoli (~Brokkoli@p2E5B1949.dip0.t-ipconnect.de)
L401[11:32:08] ⇨ Joins: Hunterz (~hunterz@62.182.234.189)
L402[11:35:26] ⇦ Quits: johnnyhostile (~irssi@castlevania.bhgdo.com) (Remote host closed the connection)
L403[11:38:44] ⇨ Joins: BlueMonster (~BlueMonst@cpc23-telf11-2-0-cust237.16-1.cable.virginm.net)
L404[11:39:45] <BlueMonster> is there a recommended way to change the state of a lot of blocks at once?
L405[11:43:42] <Akkarin> don't do it all at once is usually the mantra
L406[11:48:02] <BlueMonster> right, ok
L407[11:49:47] ⇨ Joins: johnnyhostile (~irssi@castlevania.bhgdo.com)
L408[11:53:14] ⇨ Joins: williewillus (~williewil@nat-128-62-70-147.public.utexas.edu)
L409[11:57:23] <killjoy> do it in queues or batches
L410[11:57:58] <killjoy> Suggest using a Queue object
L411[12:04:41] *** PaleOff is now known as PaleoCrafter
L412[12:11:32] <BlueMonster> how many is too many per tick?
L413[12:13:07] <Fokson> It really depends on the computer running it, you want to account for the worst case scenario.
L414[12:13:26] <Fokson> The best answer I could give is, 'do as few as you possibly can while still achieving your intended goal'
L415[12:13:45] <fry> I'd also suggest measuring time, and not the number of blocks :P
L416[12:13:57] <Fokson> Thaumcraft is a good example, when it changes a bunch of blocks with its Exchange focus it does one per tick, but it makes it look really fancy doing so.
L417[12:15:54] ⇨ Joins: TechnicianLP2 (~AndChat59@p4FE1D3F2.dip0.t-ipconnect.de)
L418[12:15:54] ⇦ Quits: TechnicianLP2_ (~AndChat59@p4FE1D3F2.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
L419[12:21:28] ⇦ Quits: TechnicianLP2 (~AndChat59@p4FE1D3F2.dip0.t-ipconnect.de) (Read error: No route to host)
L420[12:23:25] ⇨ Joins: quadraxis (~quadraxis@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net)
L421[12:26:16] ⇨ Joins: McJty (~jorrit@94-224-154-146.access.telenet.be)
L422[12:36:54] <BlueMonster> fry = genius XD
L423[12:40:12] ⇦ Quits: gigaherz (gigaherz@154.red-83-55-12.dynamicip.rima-tde.net) (Ping timeout: 194 seconds)
L424[12:42:02] ⇨ Joins: gigaherz (gigaherz@154.red-83-55-12.dynamicip.rima-tde.net)
L425[12:45:04] ⇦ Quits: gigaherz (gigaherz@154.red-83-55-12.dynamicip.rima-tde.net) (Remote host closed the connection)
L426[12:49:46] ⇨ Joins: Kaiyouka (~IdiotNono@c-75-71-231-133.hsd1.co.comcast.net)
L427[12:51:23] ⇨ Joins: gigaherz (gigaherz@154.red-83-55-12.dynamicip.rima-tde.net)
L428[12:56:45] ⇦ Quits: McJty (~jorrit@94-224-154-146.access.telenet.be) (Quit: Leaving)
L429[12:56:46] <Tazz> whattup gigaherz
L430[12:56:48] <Tazz> ltns
L431[12:57:23] <gigaherz> Something went wrong with my pc
L432[12:57:57] <gigaherz> woke me up from a nap making ding noises
L433[12:58:24] ⇦ Quits: CoolerExtreme__ (~CoolerExt@117.204.121.76) (Ping timeout: 194 seconds)
L434[12:58:56] <gigaherz> and when I tried to turn onthe screens to see
L435[12:59:00] <gigaherz> stuff went a bit crazy
L436[12:59:11] <gigaherz> but I managed to see some "system is out of memory" messages in the background
L437[12:59:22] <gigaherz> ended up closing as much as I could in the blind
L438[12:59:31] <gigaherz> and then resetting
L439[13:00:22] <Tazz> XD
L440[13:00:30] <Shambling> so why was hoppering shulker boxes into shulker boxes a bad thing?
L441[13:00:31] <Tazz> did you figure out what happened?
L442[13:00:40] <Fokson> Well, I have progress!
L443[13:00:56] <Fokson> The game now crashes violently when a mob tries to change targets! =D
L444[13:01:04] <Shambling> that does seem like progress D:
L445[13:01:21] *** cpw is now known as cpw|out
L446[13:01:32] <Fokson> It certainly means that I have the event firing properly. I just need to read up on "java.lang.InstantiationException"
L447[13:01:55] ⇦ Quits: ThePsionic (~Psi@ip5457f909.direct-adsl.nl) (Quit: Leaving)
L448[13:02:10] <gigaherz> Tazz: nope, but stuff is normal after the restart
L449[13:02:20] <gigaherz> so i'll leave it as "some driver must have sharted"
L450[13:02:21] <Tazz> also gigaherz do you know uncle bob?
L451[13:02:44] ⇦ Quits: codahq (~codahq@c-73-65-219-228.hsd1.ut.comcast.net) (Ping timeout: 194 seconds)
L452[13:02:45] <gigaherz> I highly doubt that
L453[13:02:46] <Shambling> bing bang zoom bob's your uncle
L454[13:03:15] <Tazz> gigaherz, doubt what?
L455[13:03:20] ⇨ Joins: founderio (~Thunderbi@p200300C4E3C14400548DC8513CC5304C.dip0.t-ipconnect.de)
L456[13:04:23] <gigaherz> I have heard that expression a few times, I still have no idea wtf it means
L457[13:04:35] <gigaherz> I mean, I know what it's used for, I think, but wtf? XD
L458[13:04:53] <Fokson> "Bob's your uncle"?
L459[13:04:58] <gigaherz> yeh
L460[13:05:05] <Fokson> Yeah, it's a strange one.
L461[13:05:15] *** DarkevilAway is now known as Darkevilmac
L462[13:05:46] ⇦ Quits: romibi (~quassel@cable-static-7-174.rsnweb.ch) (Ping timeout: 194 seconds)
L463[13:06:16] ⇨ Joins: romibi (~quassel@cable-static-7-174.rsnweb.ch)
L464[13:07:21] <Fokson> Apparently I have no idea what 'static' means. I thought it meant that it couldn't be instanced and essentially 'there can only be one'
L465[13:07:48] <gigaherz> no static means it's no part of the instance
L466[13:07:52] <Fokson> And yet I'll crash if I do "new Packet(...)" if it's not static, and won't crash if it is static.
L467[13:08:04] <gigaherz> oh
L468[13:08:07] <gigaherz> that's a different static
L469[13:08:19] <gigaherz> java has two kinds of nested classes
L470[13:08:27] <gigaherz> class A { class B {} }
L471[13:08:27] <gigaherz> and
L472[13:08:31] <gigaherz> class A { static class B {} }
L473[13:08:37] <gigaherz> in the first case
L474[13:08:40] <gigaherz> you'd have to do like
L475[13:08:44] <gigaherz> A a = new A();
L476[13:08:50] <Shambling> bob's your uncle I think means something that is obvious and simple
L477[13:08:55] <gigaherz> A.B b = a.new B();
L478[13:09:18] <gigaherz> Shambling: it's actually used to mean "problem solved"
L479[13:09:21] <Shambling> ah
L480[13:09:44] <gigaherz> no idea WHY or HOW that means that
L481[13:09:48] <gigaherz> but that's what I have gathered
L482[13:09:49] <Fokson> Well then, Bob's your uncle!
L483[13:10:00] <Fokson> Now the crash is a nullpointer, and those are much easier to deal with =)
L484[13:10:03] <gigaherz> Fokson: so yeah, for the secondcase
L485[13:10:06] <gigaherz> you'd have to do instead
L486[13:10:11] <gigaherz> A.B = new A.B()
L487[13:10:17] <Akkarin> Inner non-statics are kind of funky in the sense of bytecode since they essentially get a constructor at compile time which passes the parent instance along
L488[13:10:22] <gigaherz> notice how the first cases uses an instance
L489[13:10:26] <gigaherz> to create another instance
L490[13:10:29] <Akkarin> so you get access to its parent context through ParentTypeName.this
L491[13:10:32] <gigaherz> that's because B has a reference to the parent
L492[13:10:35] <gigaherz> and can access its fields
L493[13:10:37] <Tazz> gigaherz, you dont necessarily need to do a.new B(), you can new B() but still shouldnt ever do a non-static inner class
L494[13:10:41] <Shambling> I just googled and and now I am more confused
L495[13:10:42] <Akkarin> which is also why creating instances of them from anywhere sucks :P
L496[13:10:58] <Tazz> they are bad
L497[13:11:02] <Tazz> same with anonymous inner classes
L498[13:11:04] <Tazz> and closures
L499[13:11:06] <tterrag> there are tons of reasons you would want an inner class
L500[13:11:07] <Akkarin> anons are even more fun
L501[13:11:08] <Tazz> (at least in terms of JVM)
L502[13:11:12] <tterrag> what are you on about
L503[13:11:13] <gigaherz> they are awesome-- in the right hands
L504[13:11:13] <gigaherz> ;P
L505[13:11:24] <Akkarin> lambdas are even funnier since they break the standard JVM hotswapping
L506[13:11:25] <Tazz> tterrag, there are reasons to do them but do them right
L507[13:11:29] * Akkarin starts hugging jrebel
L508[13:11:30] <gigaherz> really
L509[13:11:33] <gigaherz> if you would do
L510[13:11:49] <tterrag> Tazz, and that means?
L511[13:11:51] <gigaherz> A.B b = new A.B(a)
L512[13:11:53] <tterrag> what is "right" ?
L513[13:11:54] <gigaherz> because B needs A
L514[13:11:59] <gigaherz> then you want an inner class instead
L515[13:12:16] <Akkarin> You cannot see the constructor for regular inner types at compile time afaik
L516[13:12:17] <gigaherz> it just makes the reference implicit
L517[13:12:22] <Tazz> tterrag, dont use non-static inner classes unless you are 100% sure you know what you are doing isn't going to cause the implicit reference memory leak
L518[13:12:36] <tterrag> non-statc inner class is a meaningless phrase
L519[13:12:38] <Tazz> rather choose to use the static varient
L520[13:12:43] <tterrag> inner classes ARE nonstatic
L521[13:12:47] <tterrag> by definition
L522[13:12:53] <Tazz> tterrag, you can define a static inner class
L523[13:12:54] <gigaherz> inner vs nested
L524[13:13:00] <gigaherz> Tazz: it's officially a nested class
L525[13:13:06] <Akkarin> inner classes are an illusion anyways :P
L526[13:13:11] <Tazz> gigaherz, the fucking terminology is relatively the same
L527[13:13:21] <gigaherz> yes, which ameks it more fun to be pedantic about it
L528[13:13:21] <Tazz> the point being
L529[13:13:21] <gigaherz> XD
L530[13:13:23] <Tazz> dont use them
L531[13:13:25] <gigaherz> makes*
L532[13:13:28] <tterrag> no
L533[13:13:34] <tterrag> blanket statements are bad and reduce understanding
L534[13:13:47] <Tazz> tterrag, blanket statements?
L535[13:13:50] <tterrag> "don't use X"
L536[13:14:01] <gigaherz> "don't use gotos"
L537[13:14:07] <gigaherz> ;P
L538[13:14:08] <Akkarin> gotos do have a legit use
L539[13:14:15] <Tazz> well gotos have a great use but they arent supported in JAva
L540[13:14:15] <Akkarin> specifically in error handling in low level code ;-)
L541[13:14:18] <gigaherz> yep, same for inner classes
L542[13:14:18] <tterrag> gotos are the basis of all logic flow in programing
L543[13:14:19] <tterrag> so
L544[13:14:23] <Fokson> I've used gotos, you just need to use them carefully and for specific purposes
L545[13:14:35] <Tazz> tterrag, no jmp is the basis
L546[13:14:36] <gigaherz> the real statement is
L547[13:14:41] <tterrag> *sigh*
L548[13:14:48] <Fokson> I mean, when it boils down to the assembly while, for, even ifs are gotos.
L549[13:14:51] <tterrag> the difference between jmp and goto is minimal. it SKIPS code to go to another point
L550[13:14:55] <gigaherz> "don't use goto when if / for / while / break / continue will do the trick"
L551[13:15:02] <Tazz> tterrag, what happened to being pedantic?
L552[13:15:05] <Tazz> dont like it?
L553[13:15:06] <tterrag> you don't get to argue semantics when you just said they are irrelevant
L554[13:15:19] <gigaherz> uhm actually
L555[13:15:32] <gigaherz> jmp is only a thing in some architectures
L556[13:15:37] <Tazz> gigaherz, true
L557[13:15:39] <gigaherz> others prefer calling it "b" or "branch"
L558[13:16:09] ⇦ Quits: sciguyryan (~sciguyrya@45.62.37.23) (Read error: -0x7880: SSL - The peer notified us that the connection is going to be closed)
L559[13:16:31] <gigaherz> of course, "control flow instructions are the basis for control flow" sounds reduntant
L560[13:16:31] <gigaherz> ;P
L561[13:17:04] <Tazz> gigaherz, XD it is but you are correct in saying that one should use if / for / while / break
L562[13:17:22] <Tazz> its good for code readability
L563[13:17:43] <gigaherz> there are exception, ofc
L564[13:17:47] <Tazz> obviously
L565[13:17:52] <tterrag> you all sure know how to drive a conversation off topic
L566[13:18:10] <gigaherz> yeah wtf was the original topic? XD
L567[13:18:12] <Tazz> Ive used goto plenty of times in C to ease recursion as well as handle pre-prologue code better
L568[13:18:14] <gigaherz> oh yes
L569[13:18:29] <tterrag> how blanket statements are stupid
L570[13:18:43] <tterrag> they cause the problem you set out to solve - misunderstanding
L571[13:18:43] ⇦ Quits: BlueMonster (~BlueMonst@cpc23-telf11-2-0-cust237.16-1.cable.virginm.net) (Read error: Connection reset by peer)
L572[13:18:57] <Fokson> And now we're back to square one, ladies and gents.
L573[13:18:57] <gigaherz> nested vs inner classes: nested class = a class that was declared inside another, inner class = syntactic sugar for a class that captures a reference to another
L574[13:19:06] ⇨ Joins: BlueMonster (~BlueMonst@cpc23-telf11-2-0-cust237.16-1.cable.virginm.net)
L575[13:19:07] <Fokson> The PACKETS are null now lmao
L576[13:19:16] <gigaherz> stack trace?
L577[13:19:36] <gigaherz> (remember to pastebin)
L578[13:20:08] <Fokson> No stack trace, no error thrown. I put a null check in the message reciever so it'd stop nullpointering thinking it was the odd message that wasn't containing the right data, but it turns out all of the packets just carry null.
L579[13:20:22] <tterrag> so the message isn't null
L580[13:20:24] <tterrag> the contents are
L581[13:20:27] <tterrag> very different situations
L582[13:20:29] <Tazz> Fokson, never nullcheck and remove in dev
L583[13:20:30] *** fry is now known as fry|sleep
L584[13:20:30] <Fokson> Right, sorry.
L585[13:20:46] <tterrag> in that case check your write/read methods
L586[13:20:50] <Fokson> Tazz: I'm not sure I understand
L587[13:20:55] <tterrag> make sure they are getting called and doing the correct thing
L588[13:21:10] <Fokson> I suspect it might be the contents I'm sending, I'm still really new to this so I'm not sure the rules
L589[13:21:15] <tterrag> show code?
L590[13:21:28] <Fokson> Can you not send an "EntityLivingBase" object as a packet? Does it need to be a primitive?
L591[13:21:29] <Shambling> is there a subscribable event for sapling and plant growth? I had a better idea for killing off tree-gen
L592[13:21:37] <tterrag> ok we need to back up
L593[13:21:40] <Tazz> Fokson, when you are working on something try not to ignore any exceptions that are thrown in any way, prefer to do that when you know its right
L594[13:21:51] <Fokson> Tazz: Okay, understood.
L595[13:22:01] <Tazz> it helps to debug your code like in this situation
L596[13:22:22] <tterrag> Fokson, what is your actual problem
L597[13:22:34] <Fokson> Yeah, let me start from the top.
L598[13:22:36] <Tazz> gigaherz, so you dont know uncle bob?
L599[13:22:39] <Tazz> like bob martin
L600[13:22:53] <tterrag> I would like xy-problem but I think you explained it earlier and I just missed it
L601[13:22:57] <tterrag> s/like/link
L602[13:23:06] <Fokson> The mod: Plays different music in different situations, such as biome, combat, low health
L603[13:23:09] <gigaherz> Tazz: can't say I do
L604[13:23:31] <Fokson> The goal: When more than 5 mobs are targetting you, the music changes to a specific song
L605[13:23:49] <tterrag> OK
L606[13:23:51] <Fokson> The problem: The client is not privvy to a mob's current target, it always returns null
L607[13:23:58] <tterrag> so, why are you trying to send an entire entity to the client?
L608[13:24:03] <tterrag> shouldn't you just send "hey client play this song"
L609[13:24:08] <Tazz> gigaherz, author of Clean Code; and Agile Design Patterns?
L610[13:24:30] <Fokson> The attempted solution: Have the server send mob's current target to the clients
L611[13:24:49] <gigaherz> Tazz: I mean I googled him
L612[13:24:52] <Tazz> LOL
L613[13:24:59] <tterrag> Fokson, always send the MINIMAL amount of data
L614[13:25:02] <gigaherz> but no I can't say I know him ;p
L615[13:25:03] <Tazz> gigaherz, well hes pretty popular in the dev realm
L616[13:25:11] <Tazz> and hes awesome asf
L617[13:25:12] <Fokson> tterrag, as it stands the server has no concept of 'songs', the client thus far has done everything
L618[13:25:13] <tterrag> in this case, the server can do all the work, and just tell the client what music it should play
L619[13:25:16] <Tazz> and hes going to be speaking at my office :D
L620[13:25:22] <gigaherz> doens't mean he wasn't referenced at university
L621[13:25:27] <tterrag> Fokson, as much logic as possible should be serverside
L622[13:25:30] <gigaherz> but yeah names. bad at them.
L623[13:25:40] <tterrag> almost always, with some exception (usually to do with motion)
L624[13:25:42] ⇦ Quits: Shambling (~Shambling@24-181-186-74.dhcp.nwtn.ct.charter.com) (Quit: Leaving)
L625[13:26:24] <Fokson> I thought that only held true for things that affect all players; this is a very client-oriented thing, playing music for the client when certain things are happening to the client
L626[13:26:32] <Tazz> gigaherz, Im so excited haha
L627[13:26:39] <tterrag> but these "things" should be authoritative from the server
L628[13:26:48] <tterrag> you can't rely on client data for everything, and you've found one of those things here
L629[13:27:13] <tterrag> vanilla actually has many places where sound is authoritative from the server
L630[13:27:40] <tterrag> I'd advise just making a general purpose "play this song" packet and, for at least this case, just send that
L631[13:28:08] <gigaherz> is there no music packet?
L632[13:28:13] <gigaherz> vanilla I mean
L633[13:28:21] <tterrag> there is yeah, you could use that if it works
L634[13:28:32] <williewillus> it takes the item id of a record
L635[13:28:34] <tterrag> pretty sure one of the sound methods sends it automatically
L636[13:28:48] <Fokson> Nah, totally different sound system up in here, not using Minecraft's one
L637[13:28:49] <williewillus> for the actual "music" event at least
L638[13:28:50] <Tazz> would anyone happen to know of a good way of creating a voice chat server similar to teamspeak?
L639[13:28:55] <Tazz> (unrelated to MC)
L640[13:29:02] <Fokson> Well I'll try that I guess, it'll take a bit of refactoring
L641[13:29:21] <tterrag> but I don't think music would want to use that sytem anyways
L642[13:29:48] <tterrag> Fokson, if you want, you could take it back a layer, and send when the condition is met for the sound
L643[13:29:58] <tterrag> but the further removed from the actual action, the more data needs to be sent
L644[13:30:47] <Fokson> Yeah, I understand. You're right, of course. I was just aiming for the lazy solution; the one that would require the least amount of changing what I've already done
L645[13:31:22] <Fokson> The easiest method for that in my eyes was to leave the song selection code the same and have the server share mobs' current attack target with the client
L646[13:31:34] ⇦ Quits: williewillus (~williewil@nat-128-62-70-147.public.utexas.edu) (Quit: Leaving)
L647[13:31:55] <tterrag> but you see why that's a massive waste of bandwidth, yes?
L648[13:32:00] <Fokson> Yeah, I do.
L649[13:32:03] <tterrag> ok
L650[13:32:30] <Fokson> The client doesn't need to know that at all but for this one thing, and that could be done with a single short int
L651[13:36:56] ⇨ Joins: codahq (~codahq@c-73-65-219-228.hsd1.ut.comcast.net)
L652[13:37:29] <Fokson> Actually hey, I could change nothing and just send the song name as a string to the client, and have the song selector (Which returns a string) done on the server and sent as a string
L653[13:38:19] ⇨ Joins: Shambling (~Shambling@24-181-186-74.dhcp.nwtn.ct.charter.com)
L654[13:39:50] <Shambling> is it rude to replace saplings with dead shrubs on growth event ticks? I think that is the best way to account for automated farming machines for what I want to do
L655[13:40:22] <Fokson> I got a chuckle out of that wording
L656[13:40:30] <Fokson> Yeah, that's ruuuuude~ =D
L657[13:40:42] <Shambling> and how likely is that to cause floating items on world update/save server/close server?
L658[13:40:50] <Shambling> because I'm not sure if dead shrubs can exist on grass
L659[13:41:50] <Shambling> well I want to make it harder to get plant growth in a modpack I'm making, but I'm not sure what the least obnoxious method, that still makes life a pain in the ass, is :P
L660[13:43:59] <codahq> if you are going to kill the sapling then kill the grass as well... ;)
L661[13:44:59] ⇨ Joins: TimRiker (~TimRiker@216.49.181.128)
L662[13:54:05] <Shambling> well I'm going to go see what is available in vanilla and go from there
L663[13:54:21] <Shambling> just finished setting up my environment, just need to find some events to subscribe to
L664[13:54:55] <Shambling> why does intellij keep whining about unindexed maven repos for forge?
L665[13:56:49] <Shambling> well doesn't seem to matter, so I'm just ... oh nm just crashed
L666[13:58:06] <Shambling> huh its still treating it as if I'm compiling from the original project, even though I copied everything and renamed all the methods/classes to the new project
L667[13:58:25] ⇦ Quits: Kaiyouka (~IdiotNono@c-75-71-231-133.hsd1.co.comcast.net) (Ping timeout: 190 seconds)
L668[13:59:08] <Shambling> guess I'll setup the decomp workspace again and go from there
L669[14:02:12] <Shambling> *sigh* wtf
L670[14:02:28] <Shambling> there's like... no reference to the old mod in this and the project seems to think its the old project
L671[14:05:01] <Shambling> I guess git is treating this folder I copied in windows as an actual instance of my git repo
L672[14:05:05] <Shambling> how do I kill that?
L673[14:05:26] <tterrag> Fokson: sounds a bit like http://wiki.c2.com/?StringlyTyped
L674[14:11:23] ⇦ Quits: TimRiker (~TimRiker@216.49.181.128) (Quit: This space intentionally left blank)
L675[14:15:06] <Baughn> Shambling: If it's for your pack, then it doesn't matter what's rude or not. Do whatever.
L676[14:15:17] <Baughn> But what precise behavior are you trying to prevent?
L677[14:15:49] <Shambling> eh, I'm not going to worry about it now, think I'll just go with killing saplings randomly on growth ticks
L678[14:16:10] <Shambling> I'll need to make sure I don't kill it after the tree itself grows though, because if I replace a log with a dead bush its going to look really weird
L679[14:16:25] ⇦ Quits: quadraxis (~quadraxis@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net) (Ping timeout: 190 seconds)
L680[14:16:34] <Fokson> Woo, major progress! The server now handles the music selection and is successfully sending it to the client! =)
L681[14:17:18] <Baughn> Fokson: What are you doing? I think we might have a shared interest...
L682[14:17:28] <Shambling> does the server push the music itself, or is it client side resource?
L683[14:17:49] <killjoy> I'm assuming server
L684[14:17:54] <Fokson> Negative.
L685[14:17:58] <killjoy> since with a resource pack, a mod/plugin isn't needed
L686[14:18:22] <Shambling> battle music?
L687[14:18:22] <killjoy> just use /playsound
L688[14:18:30] <Baughn> I've been building a radio for Eln. That's server-streamed, mind.
L689[14:18:55] <Fokson> I really don't want to explain the whole thing again, I've done so quite a few times over the last 24 hours lol
L690[14:19:18] <Fokson> Short version : The game plays music with a custom sound engine based on stuff like low HP, biome, combat, etc
L691[14:19:28] <drazuam> huh
L692[14:19:30] <drazuam> neat
L693[14:19:49] <Fokson> The server does the logic and sends the song name as a string to the client, who then takes that string and plays the local sound file
L694[14:20:35] <Baughn> Hum. Fair enough.
L695[14:20:38] <Shambling> so immersive environment type stuff
L696[14:20:50] <Baughn> Make sure you avoid assuming that the server runs at 20 TPS...
L697[14:20:50] <Shambling> well immersive gameplay
L698[14:20:51] <killjoy> Just like /playsound
L699[14:21:23] <Baughn> (That is, do all looping client-side.)
L700[14:21:24] <Fokson> Except nothing like playsound at all, killjoy.
L701[14:21:44] <Fokson> You can't stop a sound started with playsound, or loop it, fade it in or out, etc.
L702[14:22:02] <Fokson> Playsound is fire-and-forget.
L703[14:23:06] <Shambling> !gm func_149878_d
L704[14:23:20] <Shambling> !gf func_149878_d
L705[14:23:37] <Shambling> well no wonder, that was a 1.8 info page :\
L706[14:28:04] <Shambling> wait, is there no generic crop growth event?
L707[14:31:26] ⇦ Quits: cpup (~cpup@32.218.113.255) (Ping timeout: 180 seconds)
L708[14:31:38] ⇨ Joins: cpup (~cpup@32.218.113.255)
L709[14:36:29] <shabble> is there some way within mc/forge to stop crashes (in a local SSP world with a large 180+ mod pack) from taking down the whole client process?
L710[14:36:48] <killjoy> question: Do you have access to where it crashes?
L711[14:36:53] <shabble> it takes me 5+ mins to restart from desktop, which is hell for testing reproducibility
L712[14:37:02] <shabble> access to what?
L713[14:37:10] <killjoy> the code
L714[14:38:24] <shabble> this isn't in a dev environment, it's runnign the 'release' versions of things as mods/*.jar
L715[14:38:27] <shabble> if that's waht you mean?
L716[14:50:54] <Shambling> ok, so... yeah. weird that there are no subscribeable events for plant growth, but whatevers
L717[14:51:19] <Shambling> and I don't dare subscribe to tree grow, because that happens on world gen as well
L718[14:58:41] ⇨ Joins: ntzrmtthihu777 (ntzrmtthih@Join.The.DarkSide.We.Have.Coookies.PanicBNC.us)
L719[14:59:25] <Shambling> nm found something in blockevent, I'm a blind man
L720[15:05:10] ⇨ Joins: Shawn|i7-Q720M (~shawn156@c-50-170-156-102.hsd1.co.comcast.net)
L721[15:05:17] <tterrag> Fokson: actually not true
L722[15:05:23] <tterrag> MC sound engine does allow start/stop and loop
L723[15:05:23] ⇦ Quits: Hunterz (~hunterz@62.182.234.189) (Remote host closed the connection)
L724[15:05:29] <tterrag> you just have to be a bit tricky
L725[15:05:33] <tterrag> see: minecarts
L726[15:06:18] <tterrag> https://github.com/SleepyTrousers/EnderIO/blob/master/src/main/java/crazypants/enderio/machine/AbstractMachineEntity.java#L224-L237
L727[15:08:05] ⇨ Joins: Thisguy_ (~Thisguy@cpe-75-183-18-230.triad.res.rr.com)
L728[15:08:38] <Thisguy_> Okay, so does gradlew setupDecompWorkspace provide a deobfuscated Minecraft source or...?
L729[15:09:02] *** mumfrey is now known as Mumfrey
L730[15:09:05] <tterrag> yes
L731[15:09:07] <tterrag> as an attached source
L732[15:09:29] <Thisguy_> I feel stupid for having to ask this, but where has it put it?
L733[15:09:49] <tterrag> have you set up your IDE yet?
L734[15:09:52] <Thisguy_> Yes
L735[15:10:09] <tterrag> then, look there
L736[15:10:14] <tterrag> it's an attached source to the forge library
L737[15:10:51] <Thisguy_> I'm new to my IDE, which is why I've never seen anything like this before.
L738[15:10:58] <Thisguy_> Rather, to IDEs in general.
L739[15:11:15] <tterrag> what IDE are you using
L740[15:11:42] <Thisguy_> IDEA
L741[15:11:46] <drazuam> are there any openGL wizards on right now?
L742[15:11:57] <tterrag> well, you'll have to ask someone else then
L743[15:12:06] <tterrag> but the point is, just open an MC class and the source will be visible
L744[15:12:07] <Thisguy_> I'll ask the all-knowing oracle.
L745[15:12:13] <Shambling> alot of times the code I find is in build\tmp\recompileMc\sources\net\minecraftforge
L746[15:12:16] <tterrag> your IDE knows about the soruce
L747[15:12:26] <tterrag> Shambling: that only appears during a build
L748[15:12:28] <tterrag> and it's obfuscated
L749[15:12:40] <tterrag> the actual source jar is somewhere in your gradle cache
L750[15:12:56] <tterrag> drazuam: just ask
L751[15:13:08] <drazuam> okay lol
L752[15:13:33] <drazuam> I'm rendering some models, but they seems to change color (they get darker and lighter) as I rotate them
L753[15:13:52] <drazuam> was wondering if anybody knew what was causing that or could point me in a direction
L754[15:14:13] <tterrag> render some models? what kind? in what context?
L755[15:14:21] <drazuam> here:
L756[15:14:22] <drazuam> blob:http://imgur.com/6d88332c-fa42-4518-8d94-ed39f7e0f376
L757[15:14:24] <drazuam> ooops
L758[15:14:32] <drazuam> http://imgur.com/95CfHTi
L759[15:14:52] <drazuam> The color is messed up on the smaller glyphs
L760[15:14:52] ⇨ Joins: ThePsionic (~Psi@ip5457f909.direct-adsl.nl)
L761[15:15:01] <tterrag> that didn't really answer my question. is this a TESR?
L762[15:15:13] <drazuam> yeah sort of
L763[15:15:22] <drazuam> It's getting called from the TESR
L764[15:15:29] <drazuam> well I guess its in it actually...
L765[15:15:37] <drazuam> They're baked models
L766[15:15:47] <tterrag> are you using a fast tesr?
L767[15:16:12] <drazuam> What is that?
L768[15:16:26] <tterrag> a class
L769[15:16:28] <tterrag> FastTESR
L770[15:16:29] <drazuam> Oh I see
L771[15:16:38] <drazuam> no, I'm not. does it operate the same?
L772[15:17:09] <tterrag> similar, except you are expected to render everything to the passed VertexBuffer
L773[15:17:13] <tterrag> i.e. no special GL operations
L774[15:17:18] <tterrag> and it batches all FastTESRs together
L775[15:17:23] <drazuam> Oh, gotcha
L776[15:17:29] <tterrag> I'd advise you use that
L777[15:17:43] <Shambling> ooo I like this... growth ticks have a 70% chance to make the crop pop back off the ground
L778[15:17:46] <drazuam> that's pretty nice, but I need special openGL operations for transparency and things
L779[15:17:54] <tterrag> "for transparency and things" ?
L780[15:17:56] <drazuam> unless you can specify them with fast tesr
L781[15:18:02] <tterrag> alpha is just a color value
L782[15:18:47] <drazuam> Yeah, but dont you need to set up openGL with GL11 parameters for it to render alpha?
L783[15:18:56] <drazuam> That's what I'm doing right now at least
L784[15:19:18] <drazuam> Unless the Fast TESR defaults to being able to render alpha
L785[15:19:42] <drazuam> which I imagine it probably would, otherwise it wouldn't be good...
L786[15:19:51] <tterrag> read FastTESR
L787[15:19:54] <tterrag> it enables alpha
L788[15:20:00] <drazuam> Cool. I'll look into it
L789[15:20:08] <drazuam> thanks for the tip
L790[15:21:41] <Shambling> so.... pop plant on growth tick randomly... or strike it with lightning
L791[15:22:36] <Shambling> and then turn the dirt into glass ^_^
L792[15:25:36] <Shambling> well it works for crops, doesn't look like saplings use this event
L793[15:30:18] <Fokson> Ladies and gentlemen, we have liftoff.
L794[15:30:39] <Fokson> After about 40 hours of on hell of a learning experience, the code works flawlessly.
L795[15:36:00] <Ashindigo_> Woho
L796[15:36:20] <Fokson> Holy crap, I got a stack overflow error! =D
L797[15:36:26] <Fokson> I've only heard of those in legends XD
L798[15:37:50] <Shambling> dangit, trees don't want to behave
L799[15:37:53] <Fokson> http://puu.sh/uiiIF/1c524b33ae.txt
L800[15:38:04] <Fokson> It continues like this for about 2500 lines lol
L801[15:39:00] <tterrag> did you send a packet from a packet?
L802[15:39:10] <tterrag> or return one? forever?
L803[15:39:13] <Fokson> As far as I know, no.
L804[15:39:16] <tterrag> show code
L805[15:39:25] <Fokson> The server sends the packet to the client
L806[15:40:51] ⇦ Quits: xaero (xaero@the.flying.dutchman.panicbnc.net) (Ping timeout: 206 seconds)
L807[15:43:20] <Shambling> ok, so as far as I can tell, public void treeGrowEvent(SaplingGrowTreeEvent event) never gets fired
L808[15:43:42] <Shambling> I put a system out println in there, and it literally never gets called... ever
L809[15:44:00] ⇦ Quits: fatguylaughing (~fatguylau@worx01.worxco.net) (Quit: fatguylaughing)
L810[15:44:02] <Fokson> Yeah, can confirm. The only packet sending (sendToAll) is in a LivingSetAttackTargetEvent that returns void immediately if not called from the server side, and the handler returns null
L811[15:44:10] <Shambling> so is there a better way to subscribe to an event to make sure I'm subscribing properly? the crop one seemed to work because it was a blockevent.cropgrowth
L812[15:44:42] <Fokson> I'm thinking maybe it sent too many packets, since it seems to be sending some four-digit-figure of them per second
L813[15:45:11] <Fokson> I thought LivingSetAttackTargetEvent would only fire once when a target was changed, but it seems to be firing every server tick
L814[15:47:19] <Corosus> i assume you are using setAttackTarget on client side, so its probably triggering the event too, make sure in your event handling code for LivingSetAttackTargetEvent it only sends packet when !world.isRemote
L815[15:48:37] <Fokson> Corosus, you're correct. However I was also under the impression that this line in particular would prevent the client from affecting the packets:
L816[15:49:00] <Fokson> http://puu.sh/uijvy/000e02c55e.png
L817[15:49:20] <Fokson> Shouldn't that cancel it immediately if the client tries to do anything?
L818[15:49:46] <Corosus> ehhhh, i generally avoid that way, it depends on active threads
L819[15:50:32] <Fokson> Okay, understood.
L820[15:51:19] <PaleoCrafter> doesn't that event provide a world for context?
L821[15:51:24] <Corosus> sure does
L822[15:54:10] <tterrag> indirectly, but yes
L823[15:54:12] <Fokson> Doesn't seem like the event itself provides the world, but I could do event.getEntityLiving().getEntityWorld().isRemote
L824[15:54:24] <Corosus> ^
L825[15:54:45] ⇦ Quits: TechnicianLP (~Technicia@p4FE1D3F2.dip0.t-ipconnect.de) (Ping timeout: 190 seconds)
L826[15:54:55] <Fokson> So I've replaced what I had with that. If (... .isRemote) return;
L827[15:55:35] ⇨ Joins: Kaiyouka (~IdiotNono@c-75-71-231-133.hsd1.co.comcast.net)
L828[15:55:36] <Fokson> I've also added (as you probably saw in the snipper) a counter that will only let the code run every 200 server ticks to reduce the load.
L829[15:55:58] ⇨ Joins: Waterpicker (~Waterpick@2602:306:35ba:ca40:192a:7309:9ba6:2018)
L830[15:56:02] ⇨ Joins: osum4est (~osum4est@c-174-52-155-148.hsd1.ut.comcast.net)
L831[15:58:40] ⇨ Joins: xaero (xaero@the.flying.dutchman.panicbnc.net)
L832[15:58:55] <tterrag> world.getTotalWorldTime() would suffice for that
L833[15:59:20] <tterrag> but 200 ticks is 10 seconds...do you really want potentially a 10 second delay starting the music?
L834[15:59:32] <tterrag> you should only send a packet on state change...not constantly
L835[15:59:58] <Fokson> tterrag, server ticks seems to go way, way faster than 1/20th of a second
L836[16:00:05] <tterrag> incorrect
L837[16:00:12] <tterrag> a tick cannot take less than 50ms
L838[16:00:39] <Shambling> ok so does MinecraftForge#TERRAIN_GEN_BUS still need to be called for tree growth events?
L839[16:00:45] <tterrag> Shambling: that bus is deprecated
L840[16:00:50] <tterrag> and I believe is marked as such
L841[16:00:56] <tterrag> or wait, was it?
L842[16:01:08] <tterrag> ah no, nvm
L843[16:01:12] <Shambling> has it been worked into the proxy.registerEventHandlers(); then?
L844[16:01:29] <Shambling> so maybe that is why it was never being called, if it isn't being register. sheeoot
L845[16:01:30] <tterrag> but SaplingGrowTreeEvent is for worldgen trees, iirc
L846[16:01:40] <Fokson> tterrag, I must have been mistaken; I'll set it to 20 instead of 200. Regarding packet on state change, I thought that's what LivingSetAttackTargetEvent was supposed to do.
L847[16:01:48] <Fokson> Only trigger when the target changes
L848[16:01:48] <Shambling> I've yet to find an event that links to it other than world gen :\
L849[16:02:07] <tterrag> Fokson: sure, but I thought you would only send a packet when the music should start/stop
L850[16:02:12] <tterrag> not every time an entity does something
L851[16:02:13] <Shambling> gotta go inside, I'll zip my project and take this up on the main pc
L852[16:02:18] ⇦ Quits: Shambling (~Shambling@24-181-186-74.dhcp.nwtn.ct.charter.com) (Quit: Leaving)
L853[16:02:36] <osum4est> hello, i'm having an issue geting my en_US.lang read and my texture file loaded. In game the item does not use the localized name and is untextured. My image is 16x16. Relavent code and folder structure: https://hastebin.com/aqopefiloh.java
L854[16:03:08] <tterrag> osum4est: don't use uppercase letters in your item names
L855[16:03:11] <tterrag> or any folders
L856[16:03:12] <Fokson> Oh, that didn't pan out. The code I already had was incredibly focused on the client to the point where I'll have to just scrap it and rewrite it from scratch. I do plan on doing that eventually, but for now settled for a workaround - don't send the entities over packets, but just their integer id numbers
L857[16:03:15] <tterrag> or files
L858[16:03:28] <tterrag> Fokson: that's the only way to send an entity
L859[16:04:29] <tterrag> Fokson: I think you are underestimating the number of places that event is fired from
L860[16:04:31] <tterrag> it's a LOT
L861[16:04:36] <PaleoCrafter> regarding "rewrite it from scratch": https://xkcd.com/844/ :P
L862[16:04:44] <tterrag> please do not send a packet every time you receive that event....do some checks to make sure it's relevant
L863[16:05:18] <osum4est> tterrag, are you saying that becuase it won't work that way, or from a style standpoint? i changed them to all lowercase and it didn't fix the issue
L864[16:06:07] <tterrag> osum4est: all resources must be lowercase
L865[16:06:09] <tterrag> including paths, yes
L866[16:06:20] ⇨ Joins: Protocol_7 (~Protocol7@togame.ipwnage.com)
L867[16:07:01] <Fokson> tterrag, I most likely am underestimating. I was expecting it to change only when an entity becomes aggressive to another entity, once, when it becomes aggressive to that entity.
L868[16:07:10] ⇨ Joins: sinkillerj (~sinkiller@nc-67-232-15-221.dhcp.embarqhsd.net)
L869[16:07:16] <osum4est> tterrag, ok, got it. btw this is 1.7.10, sorry should've mentioned that earlier. unfortunately lowercase did not fix the probelem
L870[16:07:52] <Fokson> So 40 zombies in an area, wandering around without a target, don't call the event. When a player walks by and gets the attention of 10, it fires one for each of those 10, and not again until they find a new target or stop chasing that player.
L871[16:08:23] <tterrag> reading the EntityAITarget code, it seems it updates the target every tick regardless of whether it changed or not
L872[16:08:34] <tterrag> nothing about the event suggests that it fires on changes
L873[16:08:36] <tterrag> only *updates*
L874[16:08:55] <Fokson> That explains a lot lmao
L875[16:08:55] <tterrag> osum4est: 1.7.10 does not get support
L876[16:09:25] ⇨ Joins: Gaelan (~Gaelan@98-125-192-55.dyn.centurytel.net)
L877[16:10:17] <Gaelan> Feature request: crash if -Xmx, -XX etc are in minecraft’s args instead of Java’s
L878[16:10:34] <Gaelan> It should be a pretty quick check, and would have saved me many hours of headache.
L879[16:10:55] <PaleoCrafter> some mod might actually be reading them from the program arguments :P
L880[16:11:02] <tterrag> that's a check MC would do, not forge. forge doesn't have direct access to the program args I don't think
L881[16:11:11] <PaleoCrafter> eh, it does
L882[16:11:48] <tterrag> with an extra patch, maybe
L883[16:11:50] <tterrag> but not currently
L884[16:12:00] <tterrag> I don't think forge currently patches Main
L885[16:12:11] <PaleoCrafter> I think it also does normally, because MC passes the arguments somewhere
L886[16:12:31] <tterrag> nope
L887[16:12:35] <PaleoCrafter> anyways, I don't think it's a thing that should be done anway
L888[16:12:36] <tterrag> it parses them all directly in Main
L889[16:13:01] <Gaelan> PaleoCrafter: why not?
L890[16:13:07] <PaleoCrafter> see above :P
L891[16:13:18] <PaleoCrafter> it's highly unlikely and terribly stupid, but it's possible
L892[16:13:47] <tterrag> but as I said, that's irrelevant, because no mod can access them
L893[16:13:53] <Gaelan> well, the probability of a server admin derping and spending several hours of headscratching is astronomically higher
L894[16:13:56] <tterrag> you can't even ASM patch Main
L895[16:14:10] <tterrag> not that you would
L896[16:14:23] <Gaelan> wait, Main isn’t main
L897[16:14:25] <Gaelan> launchwrapper is
L898[16:14:36] <PaleoCrafter> a server admin should be able to tell program from VM arguments :P
L899[16:14:53] <Gaelan> Are you telling me I’m not a server admin?
L900[16:15:33] <Gaelan> Experience is something gained, not magically endowed. I spent many hours figuring out what was going wrong, and don’t want another to suffer my fate.
L901[16:16:18] <Gaelan> That’s like saying “docs are unnesessary, players should know how to use the mod”
L902[16:16:44] <tterrag> server admins should know how to use the java command
L903[16:17:01] <PaleoCrafter> well, the thing is, this is documented :P
L904[16:17:26] <PaleoCrafter> and it's not Forge's, MC's or the JVM's job to tell you about doing it "wrong", because there technically isn't anything wrong with it
L905[16:17:41] <osum4est> tterrag, got it sorry. well i figured out the problem in case you were wondering. had to add idea { module { inheritOutputDirs = true } } to end of my build.gradle since i'm using intellij
L906[16:17:57] <tterrag> however yes, you are correct, FML injects launchwrapper, but it still doesn't provide mods (or forge) any access to the args directly
L907[16:18:11] <tterrag> osum4est: and now you see why 1.7.10 gets no support
L908[16:18:14] <tterrag> that bug was fixed years ago
L909[16:18:49] <osum4est> tterrag, good to know. if my friend and i weren't still playing infinity evolved i would totally do 1.10...
L910[16:19:01] ⇦ Quits: Fridtjof (~prassel@2001:470:ca8f::4) (Max SendQ exceeded)
L911[16:19:33] ⇨ Joins: Fridtjof (prassel@2001:470:ca8f::4)
L912[16:19:49] <Fokson> Hmm. It also doesn't seem to reset its target after it loses aggro.
L913[16:20:03] <Gaelan> tterrag: launchwrapper passes all unknown opts to tweakers https://github.com/Mojang/LegacyLauncher/blob/master/src/main/java/net/minecraft/launchwrapper/Launch.java#L114
L914[16:20:11] <Fokson> So once it's aggroed you once, you remain it's AttackTarget until it dies or it sees another player.
L915[16:20:25] <tterrag> Fokson: aggro range is separate from target, yeah
L916[16:20:46] <tterrag> Gaelan: well....technically tweakers aren't mods. most people don't even know about them
L917[16:20:54] <tterrag> tweakers hook directly into FML, not forge
L918[16:21:18] <tterrag> so yeah I guess it's theoretically possible. doesn't mean anyone would or should do it
L919[16:21:23] <Gaelan> PaleoCrafter: fact is, this isn’t about pedantics. This is about saving actual people actual time.
L920[16:21:33] <PaleoCrafter> for god's sake
L921[16:22:29] <PaleoCrafter> if it takes you that long to figure out a JVM vs program arguments thing, maybe you really shouldn't be a server admin ._.
L922[16:25:10] <Gaelan> Look, I know that I derped. Fact of the matter is, a ~3 line addition to Forge would make a few newbie server admin’s lives easier. Is it necessary? No. But it’s a nice thing to do, and there really isn’t any harm.
L923[16:25:23] *** diesieben07 is now known as diesieben|away
L924[16:25:54] <PaleoCrafter> create an issue on GH, then we'll see what comes of it :P
L925[16:26:01] <Gaelan> will do
L926[16:28:51] <Thisguy_> I changed the working name of my mod. Everything except the gradle project name. What am I meant to do about that one?
L927[16:29:18] <killjoy> http://i.imgur.com/1ZA9P0S.jpg
L928[16:29:19] <gigaherz> the gradle project name is the folder name
L929[16:29:25] <gigaherz> unless you explicitly say otherwise
L930[16:29:30] <killjoy> unless you change it in settings.gradle
L931[16:29:34] <Thisguy_> I changed that, and I've got the old name in brackets.
L932[16:29:42] <Thisguy_> Where's settings.gradle?
L933[16:29:50] <gigaherz> I think it updates itself
L934[16:29:57] <gigaherz> if you rpess the blue refresh icon in the gradle panel in IDEA
L935[16:30:07] <tterrag> settings.gradle is a file you gotta make
L936[16:30:19] <tterrag> like so https://github.com/Chisel-Team/Chisel/blob/1.10/dev/settings.gradle
L937[16:30:50] <Thisguy_> Right, there is was, on the gradle panel. I forgot that existed, somehow.
L938[16:31:17] <gigaherz> how do you mod in IDEA and forget that?
L939[16:31:24] <gigaherz> you have to like, press that icon every time you mess with gradle ;P
L940[16:31:31] <gigaherz> setupdecompworkspace? press that icon
L941[16:31:42] <Thisguy_> Yes you do. This is my first ever time using an IDE, except that other time.
L942[16:31:46] <gigaherz> added a dependency? press that icon
L943[16:31:47] <gigaherz> etc
L944[16:31:55] <Thisguy_> I'm not new to Java, but I *do* hate myself, so I've never done IDEs.
L945[16:32:04] <gigaherz> oh
L946[16:32:06] <gigaherz> you are that dude
L947[16:32:07] <gigaherz> ;P
L948[16:32:13] <Thisguy_> I am! Hello again.
L949[16:32:19] <gigaherz> o/
L950[16:32:56] <Thisguy_> In other news, my first ever forge mod is coming along nicely.
L951[16:33:23] ⇨ Joins: Shambling (~Shambling@24-181-186-74.dhcp.nwtn.ct.charter.com)
L952[16:33:40] <Gaelan> https://github.com/MinecraftForge/MinecraftForge/issues/3727
L953[16:33:50] <killjoy> I always forget Thisguy_'s name
L954[16:34:02] <Gaelan> PaleoCrafter ^
L955[16:34:14] <Thisguy_> killjoy: Ayyy
L956[16:34:18] <killjoy> lmao
L957[16:35:30] <tterrag> what is going on here? why do these logs hide the error? https://github.com/Chisel-Team/Chisel/issues/365
L958[16:35:54] <Shambling> alright so I found the code I need, thanks tterrag
L959[16:36:06] <Shambling> I needed to use that MinecraftForge.TERRAIN_GEN_BUS.register and register a new event class for terrain
L960[16:36:24] <tterrag> Shambling: yeah and I was going to tell you, normal sapling growth (i.e. player placed saplings) do indeed fire that event
L961[16:36:30] <tterrag> but you do have to use the terrain bus
L962[16:36:39] ⇦ Quits: osum4est (~osum4est@c-174-52-155-148.hsd1.ut.comcast.net) (Quit: Leaving)
L963[16:36:43] <Shambling> yup, just fired the system out after registering it to terrain bus, and it fired fine
L964[16:36:54] <Shambling> so I'll put my code in for killing the sapling and I should be good
L965[16:37:10] <Shambling> question is, do I have the sapling morph into a dead bush (vanilla) or just pop off
L966[16:37:23] <Shambling> ultimately final mod would have a config if it was released outside of my modpack
L967[16:37:53] ⇦ Quits: killjoy (~killjoy@cpe-2606-A000-1118-81A9-F15B-6701-A8DE-4DC5.dyn6.twc.com) (Ping timeout: 206 seconds)
L968[16:40:07] <Shambling> lol undesired outcome. sapling pops off, tree still grows
L969[16:40:17] <Shambling> double the saplings. :O
L970[16:40:45] <Shambling> event.isCanceled(); should stop it right?
L971[16:41:05] <gigaherz> depends
L972[16:41:14] <gigaherz> not all events can actually be cancelled
L973[16:41:24] <Shambling> depends are for poopy buts, so hopefully this isn't a poopy but :P
L974[16:41:28] ⇦ Quits: founderio (~Thunderbi@p200300C4E3C14400548DC8513CC5304C.dip0.t-ipconnect.de) (Quit: founderio)
L975[16:41:48] <tterrag> @Canceled is very clear
L976[16:41:51] <tterrag> @Cancelable*
L977[16:42:04] <Shambling> I don't think this is cancelable , but here's trying anyways :D
L978[16:42:06] <gigaherz> there's also setResult(DENY) in some(?) events
L979[16:42:19] <tterrag> and that event is not cancelable
L980[16:42:23] <Shambling> nope, lol
L981[16:42:25] <tterrag> but it does have a result
L982[16:42:26] <tterrag> so you can do that
L983[16:42:42] <tterrag> so you want DENY
L984[16:43:35] <Shambling> trying it now
L985[16:43:44] <Shambling> is there a way to change code while the game is still running?
L986[16:43:59] <tterrag> run in debug mode?
L987[16:44:52] ⇨ Joins: KGS (~KGS@h-155-4-129-249.na.cust.bahnhof.se)
L988[16:46:21] <Thisguy_> Oh yeah, tt, I found the forge source by the way
L989[16:46:24] <Thisguy_> Thanks
L990[16:46:26] ⇦ Quits: Ashindigo_ (uid202308@id-202308.hathersage.irccloud.com) (Ping timeout: 180 seconds)
L991[16:46:27] <Shambling> works a great trick, thanks again
L992[16:46:44] <Shambling> wonder how I'm going to determine if its bonemeal growth or natural growth
L993[16:46:45] ⇦ Quits: Akai (sid40324@2604:8300:100:200b:6667:7:0:9d84) (Ping timeout: 190 seconds)
L994[16:48:58] ⇨ Joins: Ashindigo_ (uid202308@id-202308.hathersage.irccloud.com)
L995[16:49:03] <Shambling> lets see how pumpkins work
L996[16:49:16] <Shambling> lol the actually full grown stock dies as well
L997[16:49:32] ⇨ Joins: Akai (sid40324@id-40324.hathersage.irccloud.com)
L998[16:52:13] ⇨ Joins: Hgrebnednav (~Hgrebnedn@d8d872a6e.access.telenet.be)
L999[16:52:31] ⇨ Joins: kinggoesgaming (uid23106@2604:8300:100:200b:6667:4:0:5a42)
L1000[16:54:08] ⇦ Quits: Hgreb (~Hgrebnedn@d8d872a6e.access.telenet.be) (Ping timeout: 194 seconds)
L1001[16:54:26] ⇦ Quits: Ashindigo_ (uid202308@id-202308.hathersage.irccloud.com) (Ping timeout: 180 seconds)
L1002[16:55:27] ⇦ Quits: Akai (sid40324@id-40324.hathersage.irccloud.com) (Ping timeout: 201 seconds)
L1003[16:58:18] ⇦ Quits: Dark (~MrDark@cpe-75-185-6-240.columbus.res.rr.com) (Quit: Off to nuke a wizard)
L1004[16:58:34] <Shambling> hrmmm now I need to figure out how to place blocks
L1005[17:00:28] ⇨ Joins: Zaggy1024 (~Zaggy1024@71-220-45-151.mpls.qwest.net)
L1006[17:00:55] <Zaggy1024> !query MCPBot_Reborn
L1007[17:01:25] <Zaggy1024> oops, too used to Discord bots :P
L1008[17:01:51] ⇦ Quits: Noppes (~Noppes@ip56530f2e.direct-adsl.nl) (Read error: Connection reset by peer)
L1009[17:05:31] ⇦ Quits: FusionLord (~FusionLor@2600:8800:0:9000:2183:4d68:d305:76d) (Quit: Leaving)
L1010[17:05:45] ⇨ Joins: Akai (sid40324@id-40324.hathersage.irccloud.com)
L1011[17:06:22] ⇨ Joins: Ashindigo_ (uid202308@id-202308.hathersage.irccloud.com)
L1012[17:07:18] <Zaggy1024> is MCPBot not working with 1.11.2?
L1013[17:07:43] <Zaggy1024> there's three parameters missing on RenderGlobal.renderClouds on MCPBot's mapping
L1014[17:08:35] <tterrag> no 1.11.2 mappings yet
L1015[17:08:53] <tterrag> see !latest
L1016[17:10:48] <Zaggy1024> ah, I'd assumed that because Forge's recommended is on 1.11.2 it would be up to date
L1017[17:10:59] <Zaggy1024> I'll have to remember to use that command next time
L1018[17:11:32] <tterrag> mcp doesn't depend on forge :P
L1019[17:13:29] <Zaggy1024> sure, but they collaborate a lot
L1020[17:15:30] <tterrag> can someone please tell me why event post is hiding this error? https://github.com/Chisel-Team/Chisel/issues/365
L1021[17:21:38] <gigaherz> o_O
L1022[17:21:51] <gigaherz> no stack trace after the caused by wtf?
L1023[17:22:56] <tterrag> I think it's because the event is fired from a scheduled task
L1024[17:22:57] <tterrag> Forge didn't consider that edge case
L1025[17:23:22] <Ordinastie> scheduled task usually show full stacktrace
L1026[17:23:39] <Ordinastie> think about the packet stacktraces
L1027[17:28:40] ⇨ Joins: FusionLord (~FusionLor@2600:8800:0:9000:21b6:458b:206e:5ecc)
L1028[17:31:39] <DiscworldZA> how can i now do world.setblock?
L1029[17:31:53] <gigaherz> setBlockState
L1030[17:32:02] <gigaherz> with like
L1031[17:32:12] <gigaherz> Blocks.DIRT.getDefaultState()
L1032[17:32:12] <gigaherz> or
L1033[17:32:23] <gigaherz> Blocks.DIRT.getDefaultState().withProperty(whatever, vlaue)
L1034[17:32:31] <gigaherz> you can chain together many withProperty
L1035[17:32:38] <gigaherz> to select the right state
L1036[17:32:51] <DiscworldZA> right so i got that right...something else is throwing an NPE
L1037[17:32:52] <Shambling> lol someone asks the same question after I find the answer and try it out. Handy
L1038[17:33:00] <gigaherz> what's your stack trace?
L1039[17:33:02] <gigaherz> (pastebin=
L1040[17:33:07] <Fokson> Welp, after 8 hours of faffing around with this I'm finally done and able to just sit and play Minecraft =D
L1041[17:33:29] <Fokson> Thanks everyone who helped me get it all sorted out, I really appreciate it =)
L1042[17:33:30] <Shambling> haha, sapling successfully turned into dead bush
L1043[17:33:53] <Shambling> anyone have suggestions for better graphics for a dead sapling that is vanilla?
L1044[17:36:48] <codahq> i don't understand what you're asking.
L1045[17:37:05] <tterrag> Ordinastie: does it?
L1046[17:37:39] <Ordinastie> yes
L1047[17:37:47] <Ordinastie> I think
L1048[17:39:14] <Shambling> codahq, just trying to find a good replacement for saplings when they die during growth
L1049[17:42:48] <gigaherz> dead bush seems like the only choice
L1050[17:43:09] <gigaherz> besides making your own item
L1051[17:43:19] <DiscworldZA> gigaherz nevermind i did something stupid
L1052[17:44:34] <Shambling> and now to strike the dead bush with lightning
L1053[17:45:33] <Shambling> ahahaha that's awesome
L1054[17:46:09] <Shambling> twerking for lightning simulator 2017
L1055[17:47:50] <Shambling> so pure opinion on this, but if its 50/50 for a tree to die, what chance should I have lightning strike?
L1056[17:48:03] <Shambling> I'm thinking 10% chance when the tree itself dies
L1057[17:50:13] <Shambling> now crops... maybe simply .1% chance per growth tic for crops to get struck by lightnign if they can see the sky
L1058[17:54:52] <Shambling> growing indoors should be fine
L1059[17:56:47] <Shambling> bahahah, villages are now witch farms
L1060[17:57:58] ⇨ Joins: killjoy (~killjoy@cpe-76-182-16-229.nc.res.rr.com)
L1061[18:00:01] ⇨ Joins: Vazkii (~Vazkii@144.134.37.188.rev.vodafone.pt)
L1062[18:01:21] <Shambling> I suppose I should set a metadata for it
L1063[18:02:23] <LexMobile> !gm func_70039_c
L1064[18:02:57] <LexMobile> !gm func_177409_g
L1065[18:03:11] <LexMobile> !gm func_74742_a
L1066[18:04:33] <killjoy> All the awesome stuff is coming out on March 3
L1067[18:04:37] <killjoy> Logan AND Switch
L1068[18:15:22] <Shambling> alright well I think that is good to go. Though I am tempted to make some checks for game difficulty, I think I'll save that for later versions.
L1069[18:28:24] ⇨ Joins: CoolerExtreme__ (~CoolerExt@117.204.121.76)
L1070[18:32:14] *** PaleoCrafter is now known as PaleOff
L1071[18:42:02] ⇦ Quits: codahq (~codahq@c-73-65-219-228.hsd1.ut.comcast.net) (Ping timeout: 194 seconds)
L1072[18:47:14] ⇦ Quits: CoolerExtreme__ (~CoolerExt@117.204.121.76) (Ping timeout: 194 seconds)
L1073[18:56:21] ⇨ Joins: CoolerExtreme__ (~CoolerExt@117.204.121.76)
L1074[18:57:35] ⇦ Quits: Vazkii (~Vazkii@144.134.37.188.rev.vodafone.pt) (Quit: seeya m8 thx 4 playin)
L1075[19:03:52] ⇨ Joins: Aurilux (~Aurilux@64-126-82-209.dyn.everestkc.net)
L1076[19:06:41] <Aurilux> Which is better to use: FMLClientHandler.instance().displayGuiScreen OR player.openGui?
L1077[19:07:43] <tterrag> they do completely different things
L1078[19:07:46] <gigaherz> player.openGui is for calling from the server
L1079[19:07:50] ⇨ Joins: codahq (~codahq@c-73-65-219-228.hsd1.ut.comcast.net)
L1080[19:07:57] <gigaherz> in order to coordinate a container gui opening
L1081[19:08:14] <gigaherz> Minecraft#displayGuiScreen is for opening client-only GUIs from the client
L1082[19:08:25] <gigaherz> so there's no better -- they are just plain different in purpose
L1083[19:09:11] <Aurilux> Ok, so in 1.7.10 a gui opened from a key press would best be used with displayGuiScreen?
L1084[19:10:09] <gigaherz> okay think about it yourself
L1085[19:10:15] <gigaherz> are you initiating the gui from the server?
L1086[19:10:40] <gigaherz> are you opening a container gui that needs to coordinate the Container between server and client?
L1087[19:12:59] <Aurilux> No and no. It was just a confirming question to ensure I wasn't missing something else. Thank you for you help.
L1088[19:14:46] <Wuppy> sup gigaherz?
L1089[19:15:10] <gigaherz> I'm tired XD
L1090[19:15:53] <Wuppy> makes sense, it's like 2AM where you're at
L1091[19:16:00] <gigaherz> yeah but that's not the reason
L1092[19:16:01] <gigaherz> I mean
L1093[19:16:21] <gigaherz> I usually return from work feeling tired, but happy to be walking home
L1094[19:16:32] <Wuppy> I'm tired because of a party today
L1095[19:16:36] <Wuppy> yesterday*
L1096[19:16:39] <gigaherz> today I was like, each step was an internal fight not to stop and sit down into the muddy road
L1097[19:16:49] <Wuppy> and rather than being smart and going to bed early, I just had another party
L1098[19:16:59] <gigaherz> I got home, laid in bed for a few minutes, and then had to cook lunch
L1099[19:17:22] <gigaherz> then the afternoon was a sequence of me feeling "meh", trying to play games, and napping
L1100[19:17:24] <Wuppy> and same tomorrow, I should go to sleep early and don't do much, but I'll go to a festival instead XD
L1101[19:17:37] <Wuppy> why were you on a muddy road? :P
L1102[19:18:09] <gigaherz> my house and the place where I work are on opposite sides of a hill
L1103[19:18:10] ⇦ Quits: ThePsionic (~Psi@ip5457f909.direct-adsl.nl) (Read error: Connection reset by peer)
L1104[19:18:22] <gigaherz> there's a road that goes around the hill
L1105[19:18:29] ⇦ Quits: Gaelan (~Gaelan@98-125-192-55.dyn.centurytel.net) (Quit: Gaelan)
L1106[19:18:46] <gigaherz> and next to it, there's a river, with a...
L1107[19:19:09] <gigaherz> whatever you call a road that only people can walk in
L1108[19:19:26] <codahq> walking path?
L1109[19:19:27] <gigaherz> I mean no vehicles
L1110[19:19:31] <gigaherz> right, a path
L1111[19:19:31] <gigaherz> ;P
L1112[19:19:33] <Wuppy> you live in spain right?
L1113[19:19:35] <gigaherz> yes
L1114[19:19:48] <Wuppy> I thought that wasn't a third world country? :P
L1115[19:19:58] <gigaherz> wait let me find it in maps
L1116[19:20:02] <Wuppy> might be moving there in a couple of months so its good to know
L1117[19:20:18] <Shambling> just because a road is muddy doesn't mean that its ill kempt :P
L1118[19:20:22] <Shambling> just means its raining lol
L1119[19:20:58] ⇨ Joins: Gaelan (~Gaelan@98-125-192-55.dyn.centurytel.net)
L1120[19:21:27] <gigaherz> https://www.google.es/maps/@41.9725387,2.832906,3a,75y,121.83h,73.79t/data=!3m6!1e1!3m4!1szK0r4AUPM0ghlecPyvkO0A!2e0!7i13312!8i6656?hl=en
L1121[19:21:44] <Wuppy> that looks like a normal road
L1122[19:21:45] <gigaherz> it's hard to see
L1123[19:21:46] ⇨ Joins: CoolerExtreme (~CoolerExt@117.204.121.76)
L1124[19:21:47] <gigaherz> yes
L1125[19:21:56] <gigaherz> see the dirt path next to ir?
L1126[19:21:58] <gigaherz> it*
L1127[19:21:59] <Wuppy> yeah
L1128[19:22:04] <Wuppy> looks like a lovely town as well
L1129[19:22:04] <gigaherz> yeah that's where I walk through
L1130[19:22:07] <Wuppy> man I should move to spain
L1131[19:22:29] <Shambling> what is that thing next to the road?
L1132[19:22:45] <Shambling> is that a sidewalk or pike path?
L1133[19:23:04] <Wuppy> gigaherz, you don't happen to know any game development studios in spain looking for AI interns do you? :P
L1134[19:23:43] ⇦ Quits: killjoy (~killjoy@cpe-76-182-16-229.nc.res.rr.com) (Read error: Connection reset by peer)
L1135[19:23:51] <gigaherz> if I personally knew any game studios, I probably wouldn't be working as a webdev
L1136[19:24:04] ⇦ Quits: CoolerExtreme__ (~CoolerExt@117.204.121.76) (Ping timeout: 194 seconds)
L1137[19:24:32] <Wuppy> I need an internship from september
L1138[19:24:32] <gigaherz> Shambling: that road doesn't count as a city street, so it has a protective fence separating the sidewalk
L1139[19:24:44] <Wuppy> and spain is simply the best country so I wanna go there :P
L1140[19:25:13] <Shambling> so people would drive on the sidewalk if it didn't exist?
L1141[19:25:28] <gigaherz> more like "drive into" the sidewalk
L1142[19:25:34] <gigaherz> it has happened before
L1143[19:25:38] <gigaherz> the fence is broken at points
L1144[19:25:41] <gigaherz> from cars having accidents
L1145[19:25:53] <Shambling> bad drivers, or very windy roads?
L1146[19:26:09] <gigaherz> a bit of everything
L1147[19:26:12] <gigaherz> also low visibility
L1148[19:26:18] <gigaherz> and road is somewhat slippery when it rains
L1149[19:27:06] <gigaherz> the police often install mobile speed radars on the ends of that road
L1150[19:27:12] <gigaherz> where they join with city streets
L1151[19:27:18] <gigaherz> to catch speeding drivers
L1152[19:27:25] <gigaherz> specially on weekend evenings
L1153[19:27:39] <gigaherz> and post-party hourts
L1154[19:27:40] <gigaherz> hours*
L1155[19:27:53] <Wuppy> and spanish drunk drivers
L1156[19:28:31] ⇦ Quits: sww1235 (~sww1235@lotus.cs.colostate.edu) (Remote host closed the connection)
L1157[19:30:27] <Shambling> how and the hang does foamfix work on 1.11.2 and 1.10.2 with the same jar
L1158[19:30:36] <Shambling> I just noticed that, its one download for both versions
L1159[19:31:22] <tterrag> because it doesn't touch anything that differs between versions
L1160[19:32:22] ⇦ Quits: KGS (~KGS@h-155-4-129-249.na.cust.bahnhof.se) (Ping timeout: 206 seconds)
L1161[19:32:30] <Shambling> ah
L1162[19:35:41] <gigaherz> some people have gone to great lengths to make that happen ;P
L1163[19:35:53] <gigaherz> like mcjty's mods, use that compatlayer
L1164[19:36:05] <gigaherz> so that the same jars work on both version assuming the right compatlayer is installed
L1165[19:37:03] <Shambling> hrmmm true. I suppose its no different then making a layer to microsoft away all the bad layers of directx back in the day using libraries
L1166[19:37:30] <Shambling> if the core code changes, you just change your calls to them, while leaving the interfaces the same
L1167[19:37:46] <gigaherz> you may need a new version of the layer
L1168[19:37:50] <gigaherz> which means you may need new builds
L1169[19:37:56] <gigaherz> but you can then backport the differences
L1170[19:38:00] <gigaherz> and make the new builds work in old versions
L1171[19:47:27] ⇦ Quits: Shambling (~Shambling@24-181-186-74.dhcp.nwtn.ct.charter.com) (Read error: Connection reset by peer)
L1172[19:47:38] ⇨ Joins: Doty1154 (~Doty1154@2601:648:8000:134f:f470:c6aa:738a:2ac4)
L1173[19:47:56] ⇨ Joins: Shambling (~Shambling@24-181-186-74.dhcp.nwtn.ct.charter.com)
L1174[19:49:11] <Shambling> hrmm weird
L1175[19:56:34] ⇦ Quits: codahq (~codahq@c-73-65-219-228.hsd1.ut.comcast.net) (Ping timeout: 194 seconds)
L1176[19:57:37] ⇨ Joins: sww1235 (~sww1235@lotus.cs.colostate.edu)
L1177[20:02:03] <Shambling> unintended behavior, cactus seem to act weird with my mod
L1178[20:02:57] ⇦ Quits: sww1235 (~sww1235@lotus.cs.colostate.edu) (Remote host closed the connection)
L1179[20:04:48] <Shambling> oh well, whats a little lightning to a cactus
L1180[20:10:21] ⇨ Joins: Denyol (Denyol@xi.elitebnc.org)
L1181[20:11:11] <Denyol> Is there a standard way of using other mod's items in my mod?
L1182[20:11:19] <Denyol> Without depending on it
L1183[20:18:42] ⇦ Quits: edr (~edr@d-65-175-180-73.cpe.metrocast.net) (Quit: Leaving)
L1184[20:27:50] ⇦ Quits: BlueMonster (~BlueMonst@cpc23-telf11-2-0-cust237.16-1.cable.virginm.net) (Quit: Goodbye)
L1185[20:28:36] *** MrKickkiller is now known as MrKick|Away
L1186[20:29:21] ⇨ Joins: sww1235 (~sww1235@lotus.cs.colostate.edu)
L1187[20:31:47] *** Mumfrey is now known as mumfrey
L1188[20:33:49] ⇨ Joins: codahq (~codahq@c-73-65-219-228.hsd1.ut.comcast.net)
L1189[20:38:51] ⇦ Quits: Shambling (~Shambling@24-181-186-74.dhcp.nwtn.ct.charter.com) (Quit: Leaving)
L1190[20:45:56] ⇨ Joins: Umbraco (~Umbraco@113x37x12x233.ap113.ftth.ucom.ne.jp)
L1191[20:53:06] ⇦ Quits: Ashindigo_ (uid202308@id-202308.hathersage.irccloud.com) (Quit: Connection closed for inactivity)
L1192[21:02:26] ⇦ Quits: Wastl2 (~Wastl2@x4e3410c2.dyn.telefonica.de) (Ping timeout: 194 seconds)
L1193[21:04:51] *** Denyol is now known as Denyol[Away]
L1194[21:05:04] ⇨ Joins: Wastl2 (~Wastl2@x4e34c608.dyn.telefonica.de)
L1195[21:17:11] ⇦ Quits: Gaelan (~Gaelan@98-125-192-55.dyn.centurytel.net) (Quit: Gaelan)
L1196[21:19:38] ⇨ Joins: Gaelan (~Gaelan@98-125-192-55.dyn.centurytel.net)
L1197[21:19:41] ⇦ Quits: Aurilux (~Aurilux@64-126-82-209.dyn.everestkc.net) (Read error: Connection reset by peer)
L1198[21:24:05] ⇨ Joins: CoolerExtreme__ (~CoolerExt@117.204.124.54)
L1199[21:26:42] ⇦ Quits: Gaelan (~Gaelan@98-125-192-55.dyn.centurytel.net) (Ping timeout: 194 seconds)
L1200[21:26:47] ⇦ Quits: CoolerExtreme (~CoolerExt@117.204.121.76) (Ping timeout: 201 seconds)
L1201[21:27:02] ⇨ Joins: Gaelan (~Gaelan@172.58.40.179)
L1202[21:27:27] ⇦ Quits: Gaelan (~Gaelan@172.58.40.179) (Client Quit)
L1203[21:28:23] *** Denyol[Away] is now known as Denyol
L1204[21:29:13] ⇦ Quits: foxy (~gravityfo@superfox.dyn.ucr.edu) (Read error: Connection reset by peer)
L1205[21:29:32] ⇨ Joins: foxy (~gravityfo@superfox.dyn.ucr.edu)
L1206[21:38:35] ⇨ Joins: Zyferus (~Zyferus@172-3-154-217.lightspeed.mssnks.sbcglobal.net)
L1207[21:48:21] ⇦ Quits: Zyferus (~Zyferus@172-3-154-217.lightspeed.mssnks.sbcglobal.net) (Read error: Connection reset by peer)
L1208[21:59:22] ⇨ Joins: Gaelan (~Gaelan@172.58.40.179)
L1209[22:06:33] ⇦ Quits: Waterpicker (~Waterpick@2602:306:35ba:ca40:192a:7309:9ba6:2018) (Ping timeout: 206 seconds)
L1210[22:12:26] ⇦ Quits: Gaelan (~Gaelan@172.58.40.179) (Ping timeout: 180 seconds)
L1211[22:12:32] ⇨ Joins: Waterpicker (~Waterpick@2602:306:35ba:ca40:e07d:15f:ed12:93f3)
L1212[22:14:35] ⇦ Quits: sinkillerj (~sinkiller@nc-67-232-15-221.dhcp.embarqhsd.net) (Quit: またね)
L1213[22:15:33] ⇨ Joins: Zyferus (~Zyferus@172-3-154-217.lightspeed.mssnks.sbcglobal.net)
L1214[22:21:23] ⇨ Joins: Gaelan (~Gaelan@c-50-181-191-78.hsd1.wa.comcast.net)
L1215[22:24:14] ⇦ Quits: Zyferus (~Zyferus@172-3-154-217.lightspeed.mssnks.sbcglobal.net) (Read error: Connection reset by peer)
L1216[22:31:44] ⇨ Joins: Alexbegt (~AlexbegtZ@2001:19f0:6400:8965:5400:ff:fe07:8777)
L1217[22:34:13] ⇨ Joins: McJty (~jorrit@94-224-154-146.access.telenet.be)
L1218[22:34:37] ⇦ Quits: CoolerExtreme__ (~CoolerExt@117.204.124.54) (Ping timeout: 201 seconds)
L1219[22:34:56] ⇨ Joins: Zyferus (~Zyferus@172-3-154-217.lightspeed.mssnks.sbcglobal.net)
L1220[22:44:44] ⇦ Quits: Lathanael|Away (~Lathanael@p54960E5C.dip0.t-ipconnect.de) (Ping timeout: 206 seconds)
L1221[22:50:11] ⇨ Joins: Lathanael|Away (~Lathanael@p5496131A.dip0.t-ipconnect.de)
L1222[22:53:01] <Denyol> Hmm for some reason my ItemStackHandler is not accepting my items
L1223[22:53:20] <Denyol> oh nvm I know why
L1224[22:56:24] ⇦ Quits: codahq (~codahq@c-73-65-219-228.hsd1.ut.comcast.net) (Ping timeout: 194 seconds)
L1225[23:07:04] ⇦ Quits: ntzrmtthihu777 (ntzrmtthih@Join.The.DarkSide.We.Have.Coookies.PanicBNC.us) (Quit: PanicBNC - https://PanicBNC.net)
L1226[23:11:47] ⇦ Quits: Gaelan (~Gaelan@c-50-181-191-78.hsd1.wa.comcast.net) (Quit: Gaelan)
L1227[23:19:50] ⇨ Joins: ALM (~austin@2601:481:c200:2589:38c5:1925:e8de:db8f)
L1228[23:20:04] ⇦ Quits: ALM (~austin@2601:481:c200:2589:38c5:1925:e8de:db8f) (Client Quit)
L1229[23:23:07] ⇨ Joins: ntzrmtthihu777 (ntzrmtthih@Join.The.DarkSide.We.Have.Coookies.PanicBNC.us)
L1230[23:34:16] ⇦ Quits: McJty (~jorrit@94-224-154-146.access.telenet.be) (Quit: Leaving)
L1231[23:43:15] ⇦ Quits: Zyferus (~Zyferus@172-3-154-217.lightspeed.mssnks.sbcglobal.net) (Read error: -0x1: UNKNOWN ERROR CODE (0001))
L1232[23:44:29] ⇨ Joins: Gaelan (~Gaelan@98-125-192-55.dyn.centurytel.net)
L1233[23:46:22] ⇦ Quits: johnnyhostile (~irssi@castlevania.bhgdo.com) (Quit: leaving)
L1234[23:46:48] ⇨ Joins: McJty (~jorrit@94-224-152-81.access.telenet.be)
L1235[23:49:13] ⇦ Quits: flappy (~flappy@a88-113-154-4.elisa-laajakaista.fi) (Ping timeout: 189 seconds)
<<Prev Next>> Scroll to Top