<<Prev Next>> Scroll to Bottom
Stuff goes here
L1[00:01:54] ⇦ Quits: bilde2910|away (bilde2910@51.174.170.178) (Ping timeout: 186 seconds)
L2[00:04:14] <killjoy> I feel like making a subreddit for formula 409
L3[00:04:26] <killjoy> and then formula410
L4[00:05:46] ⇦ Quits: shadekiller666 (~shadekill@108.80.79.166) (Read error: Connection reset by peer)
L5[00:05:47] ⇨ Joins: bilde2910|away (bilde2910@51.174.170.178)
L6[00:06:33] *** bilde2910|away is now known as bilde2910
L7[00:07:28] ⇨ Joins: MindWorX (~MindWorX@0x3ec639b7.inet.dsl.telianet.dk)
L8[00:08:54] <MindWorX> Is there a guid somewhere on how to properly handle optional mods? Someone requested a more versatile fluid support for a mod, depending on which mods are available.
L9[00:08:57] <MindWorX> guide*
L10[00:09:34] <tterrag> optional mods in what way?
L11[00:09:41] ⇨ Joins: SatanicSanta (~SatanicSa@c-76-115-175-15.hsd1.or.comcast.net)
L12[00:09:43] <killjoy> make an api for it. have the mod in question implement it
L13[00:09:49] <killjoy> that's how i'd do it
L14[00:09:55] <tterrag> good luck with that if you aren't a super popular mod :P
L15[00:09:59] <MindWorX> I guess what I need is a way to check if a mod is present. And also ensure that my mod loads after the other mods.
L16[00:10:04] <tterrag> Loader.isModLoaded
L17[00:10:06] <killjoy> @Optional
L18[00:10:11] <tterrag> dependencies can be specified in the @Mod
L19[00:10:16] <tterrag> killjoy: that's a last resort
L20[00:10:23] <tterrag> only really to be used when implementing interfaces
L21[00:10:26] <MindWorX> Alright, I'll give those a try.
L22[00:10:36] <tterrag> really, don't use @Optional for everything
L23[00:10:44] <MindWorX> Alright
L24[00:10:44] <tterrag> it, much like the other ASM annotations, should be used sparingly
L25[00:12:49] ⇨ Joins: CoolerExtreme__ (~CoolerExt@117.207.160.150)
L26[00:13:12] ⇦ Quits: tekacs (~tekacs@tekacs.com) (Ping timeout: 192 seconds)
L27[00:13:16] ⇨ Joins: Cojosan (~Cojo@2606:a000:1126:8048:e069:bb93:c78f:5400)
L28[00:13:38] ⇦ Quits: mrkirby153 (mrkirby153@the.government.stole-your.pw) (Ping timeout: 186 seconds)
L29[00:14:05] <MindWorX> Oh, the mod I'm extending still uses 1399. Seems a little old to be worth supporting. Or is this not an issue?
L30[00:14:05] ⇨ Joins: Cooler (~CoolerExt@117.207.160.150)
L31[00:14:20] ⇦ Quits: MarcoSlater (~MarcoSlat@marta.marcoslater.com) (Ping timeout: 192 seconds)
L32[00:14:54] ⇦ Quits: Cojo (~Cojo@2606:a000:1126:8048:e069:bb93:c78f:5400) (Ping timeout: 192 seconds)
L33[00:15:26] ⇦ Quits: CoolerExtreme (~CoolerExt@117.207.160.150) (Ping timeout: 190 seconds)
L34[00:15:49] ⇦ Quits: Ri5ux (~Ri5ux@cpe-76-84-93-65.neb.res.rr.com) (Remote host closed the connection)
L35[00:16:02] ⇨ Joins: MarcoSlater (~MarcoSlat@marta.marcoslater.com)
L36[00:16:16] ⇦ Quits: CoolerExtreme__ (~CoolerExt@117.207.160.150) (Ping timeout: 190 seconds)
L37[00:16:23] ⇨ Joins: tekacs (~tekacs@tekacs.com)
L38[00:16:31] ⇨ Joins: michael_ (~michael_@89-138-123-12.bb.netvision.net.il)
L39[00:17:07] *** TehNut|Gone is now known as TehNut
L40[00:18:19] ⇦ Quits: michael_ (~michael_@89-138-123-12.bb.netvision.net.il) (Client Quit)
L41[00:19:05] ⇨ Joins: spaceemotion (~spaceemot@f054098170.adsl.alicedsl.de)
L42[00:22:50] ⇦ Quits: spaceemotion (~spaceemot@f054098170.adsl.alicedsl.de) (Ping timeout: 192 seconds)
L43[00:25:12] ⇦ Quits: Cojosan (~Cojo@2606:a000:1126:8048:e069:bb93:c78f:5400) (Read error: Connection reset by peer)
L44[00:27:20] ⇨ Joins: calclavia (uid15812@richmond.irccloud.com)
L45[00:27:57] ⇨ Joins: Hassan (~Hassan@pool-173-79-220-242.washdc.fios.verizon.net)
L46[00:30:01] ⇦ Quits: HassanS6000 (~Hassan@pool-173-79-220-242.washdc.fios.verizon.net) (Ping timeout: 190 seconds)
L47[00:33:02] ⇦ Quits: ollieread (~ollieread@2a01:7e00::f03c:91ff:feae:5b6) (Ping timeout: 195 seconds)
L48[00:33:37] ⇦ Quits: MarcoSlater (~MarcoSlat@marta.marcoslater.com) (Ping timeout: 195 seconds)
L49[00:35:57] *** kroeser|away is now known as kroeser
L50[00:36:04] ⇨ Joins: MarcoSlater (~MarcoSlat@marta.marcoslater.com)
L51[00:36:05] ⇨ Joins: ollieread (~ollieread@2a01:7e00::f03c:91ff:feae:5b6)
L52[00:36:18] *** AbrarSyed is now known as Abrar|gone
L53[00:38:08] ⇦ Quits: killjoy (~killjoy@2606:a000:1118:c13d:b839:9933:45cf:a09b) (Ping timeout: 192 seconds)
L54[00:45:28] *** kroeser is now known as kroeser|away
L55[00:46:12] *** willieaway is now known as williewillus
L56[00:48:58] ⇨ Joins: HassanS6000 (~Hassan@pool-173-79-220-242.washdc.fios.verizon.net)
L57[00:49:26] <MindWorX> "(see modloader's "priorities" string specification)"
L58[00:49:29] <MindWorX> Where do I find that?
L59[00:49:43] <tterrag> ehh nowhere
L60[00:49:49] <tterrag> that javadoc really needs to be changed
L61[00:49:56] <tterrag> if you want to load after something, it's just after:modid
L62[00:50:00] <MindWorX> Okay
L63[00:50:01] ⇦ Quits: Hassan (~Hassan@pool-173-79-220-242.washdc.fios.verizon.net) (Ping timeout: 190 seconds)
L64[00:50:05] <MindWorX> ; seperated?
L65[00:50:13] <tterrag> yes
L66[00:50:20] <MindWorX> Alright
L67[00:50:24] <williewillus> lol I love the ancient javadocs that haven't been updated in internet decades
L68[00:50:44] <MindWorX> Yeah, documentation is a pain.
L69[00:50:52] <MindWorX> It's straight forward mostly, but it's just a lot of work.
L70[00:51:16] <tterrag> well, it just takes one person to make a PR for it
L71[00:51:41] <MindWorX> Is conditionally adding items a bad idea? I've noticed most "bridging" mods will add items even if they aren't used.
L72[00:51:55] <tterrag> not really, no
L73[00:51:58] <tterrag> it's done quite a bit
L74[00:52:07] <MindWorX> Alright, I'll do that then
L75[00:52:18] <MindWorX> No need to clutter NEI or similar
L76[00:52:55] <Falkreon> Yeah. The only caveat I can think of is if, in a running server, that condition ever winds up being false, it basically deletes any of the item that currently exist.
L77[00:53:08] <tterrag> well the game warns on missing items/blocks
L78[00:53:11] <Falkreon> yep
L79[00:53:21] <Falkreon> it's a really, *really* rare edge case
L80[00:53:22] <tterrag> and if you removed a mod you are probably prepared for that :P
L81[00:53:23] ⇦ Quits: Temportalist (uid37180@id-37180.charlton.irccloud.com) (Quit: Connection closed for inactivity)
L82[00:53:26] <Falkreon> exactly.
L83[00:54:35] <Falkreon> On another note, I'm kind of disappointed that most ISO/IEC specs are for-moneys.
L84[00:54:54] <Falkreon> this is why I like RFCs
L85[00:54:55] <MindWorX> Should I just exclusively use @Mod? What about the mcmod.info file?
L86[00:55:05] <tterrag> what about it?
L87[00:55:17] <MindWorX> Well, it has a dependencies field as well
L88[00:55:19] <Falkreon> mcmod.info lets you supply a description and an image
L89[00:55:32] <Falkreon> but generally, if you don't touch anything else, @Mod overrides mcmod.info
L90[00:55:38] <Falkreon> the fields in @Mod that is
L91[00:55:52] <MindWorX> Fair enough
L92[00:56:11] <Falkreon> I usually have both - mod name, version, and modid in @Mod and the rest in info
L93[00:56:33] <TehNut> The info file is only used for the ingame modlist IIRC
L94[00:56:42] <TehNut> it doesn't actually do anything for you
L95[00:57:03] <Falkreon> it does do something for you: It gives you snarky descriptions in the ingame modlist
L96[00:57:05] <Falkreon> :D
L97[00:57:40] <Falkreon> I love the modlist, I wish we used it more/better
L98[00:58:46] <Falkreon> I kind of wish we binned exceptions from known modContainers in there, it'd be massively handy.
L99[00:59:06] <Falkreon> and I *know* that Forge is mod-aware in ways that would allow it.
L100[01:00:51] <MindWorX> Alright, so I'm using "after" for optional mods and "required-after" for required mods?
L101[01:00:56] <Falkreon> ehh... so many things I wish I just had time to make PRs for.
L102[01:01:01] <Falkreon> mindworx- yep.
L103[01:01:06] <Falkreon> well
L104[01:01:17] <Falkreon> iirc that doesn't actually define dependencies, just order.
L105[01:01:22] <Falkreon> brb
L106[01:01:27] <tterrag> um, no
L107[01:01:39] <tterrag> MindWorX: you're exactly right
L108[01:01:46] <Falkreon> huh. I learned something new.
L109[01:02:24] <MindWorX> Nice, looks like it's working. :)
L110[01:03:04] ⇦ Quits: MattDahEpic (~MattDahEp@75-166-140-155.hlrn.qwest.net) (Ping timeout: 192 seconds)
L111[01:06:01] <Falkreon> ah. It used to be that you needed to use the requiredMods field in mcmod.info, I'm assuming dependencies in @Mod overrides both requiredMods and dependencies
L112[01:06:13] <Falkreon> that's what I'm remembering.
L113[01:06:33] <Falkreon> (I use all soft dependencies so it's been AGES ^_^)
L114[01:10:10] ⇨ Joins: CoolerExtreme (~CoolerExt@117.207.160.150)
L115[01:12:42] ⇦ Quits: Cooler (~CoolerExt@117.207.160.150) (Ping timeout: 195 seconds)
L116[01:27:27] ⇨ Joins: Hassan (~Hassan@pool-173-79-220-242.washdc.fios.verizon.net)
L117[01:29:36] ⇦ Quits: HassanS6000 (~Hassan@pool-173-79-220-242.washdc.fios.verizon.net) (Ping timeout: 190 seconds)
L118[01:30:00] *** Keridos is now known as Keridos|away
L119[01:32:32] ⇦ Quits: MarcoSlater (~MarcoSlat@marta.marcoslater.com) (Ping timeout: 192 seconds)
L120[01:33:07] ⇦ Quits: tekacs (~tekacs@tekacs.com) (Ping timeout: 195 seconds)
L121[01:33:48] ⇦ Quits: ollieread (~ollieread@2a01:7e00::f03c:91ff:feae:5b6) (Ping timeout: 189 seconds)
L122[01:35:13] ⇨ Joins: MarcoSlater (~MarcoSlat@marta.marcoslater.com)
L123[01:35:30] ⇨ Joins: kirby|gone (mrkirby153@the.government.stole-your.pw)
L124[01:35:33] *** kirby|gone is now known as mrkirby153
L125[01:35:42] ⇨ Joins: ollieread (~ollieread@2a01:7e00::f03c:91ff:feae:5b6)
L126[01:41:14] ⇨ Joins: tekacs (~tekacs@tekacs.com)
L127[01:48:46] ⇦ Quits: Hassan (~Hassan@pool-173-79-220-242.washdc.fios.verizon.net) (Ping timeout: 190 seconds)
L128[01:49:40] *** kroeser|away is now known as kroeser
L129[01:51:17] ⇨ Joins: tambre (~tambre@2fcf-bb57-e18a-f9eb-4301-8a22-07d0-2001.dyn.estpak.ee)
L130[01:51:45] *** kroeser is now known as kroeser|away
L131[01:52:19] ⇦ Quits: ollieread (~ollieread@2a01:7e00::f03c:91ff:feae:5b6) (Ping timeout: 186 seconds)
L132[01:52:22] ⇦ Quits: MarcoSlater (~MarcoSlat@marta.marcoslater.com) (Ping timeout: 192 seconds)
L133[01:53:15] *** williewillus is now known as willieaway
L134[01:53:22] ⇦ Quits: mrkirby153 (mrkirby153@the.government.stole-your.pw) (Ping timeout: 186 seconds)
L135[01:53:30] ⇦ Quits: tekacs (~tekacs@tekacs.com) (Ping timeout: 192 seconds)
L136[01:54:41] ⇨ Joins: MarcoSlater (~MarcoSlat@marta.marcoslater.com)
L137[01:54:44] ⇨ Joins: ollieread (~ollieread@2a01:7e00::f03c:91ff:feae:5b6)
L138[01:55:34] ⇨ Joins: tekacs (~tekacs@tekacs.com)
L139[01:55:39] *** willieaway is now known as williewillus
L140[01:59:56] *** williewillus is now known as willieaway
L141[02:00:03] <MCPBot_Reborn> [TEST CSV] Pushing snapshot_20151227 mappings to Forge Maven.
L142[02:00:06] <MCPBot_Reborn> [TEST CSV] Maven upload successful for mcp_snapshot-20151227-1.8.8.zip (mappings = "snapshot_20151227" in build.gradle).
L143[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/
L144[02:11:48] *** kroeser|away is now known as kroeser
L145[02:12:06] ⇦ Quits: SmashShock (~drake@nwcsnbsc03w-047054162090.dhcp-dynamic.fibreop.nb.bellaliant.net) (Ping timeout: 190 seconds)
L146[02:12:33] ⇨ Joins: CoolerExtreme__ (~CoolerExt@117.207.160.150)
L147[02:14:28] ⇦ Quits: tekacs (~tekacs@tekacs.com) (Ping timeout: 192 seconds)
L148[02:15:02] ⇦ Quits: MarcoSlater (~MarcoSlat@marta.marcoslater.com) (Ping timeout: 192 seconds)
L149[02:15:26] ⇦ Quits: CoolerExtreme (~CoolerExt@117.207.160.150) (Ping timeout: 190 seconds)
L150[02:15:42] ⇦ Quits: ollieread (~ollieread@2a01:7e00::f03c:91ff:feae:5b6) (Ping timeout: 195 seconds)
L151[02:17:14] ⇨ Joins: Rushmead (~quassel@host86-154-52-170.range86-154.btcentralplus.com)
L152[02:18:45] <masa> ugh ffs, there are suppreswarnings unuseds added to the copypasted __OBFID strings in this mod ;_;
L153[02:19:12] <masa> also I found this from the world gen stuff: blocks[j3 += short1] = null;//this is the air block i think.
L154[02:19:41] ⇨ Joins: spaceemotion (~spaceemot@f054098170.adsl.alicedsl.de)
L155[02:21:06] <xaero> __OBFID in mods >_<
L156[02:21:16] ⇦ Quits: Doty1154 (~Doty1154@2601:648:8002:ea78:d417:45ae:43d4:acd) (Read error: Connection reset by peer)
L157[02:21:38] <masa> yep...
L158[02:22:12] *** kroeser is now known as kroeser|away
L159[02:22:47] ⇨ Joins: Hunterz (~hunterz@62.182.234.189)
L160[02:23:21] ⇦ Quits: spaceemotion (~spaceemot@f054098170.adsl.alicedsl.de) (Ping timeout: 190 seconds)
L161[02:42:32] ⇦ Quits: bilde2910 (bilde2910@51.174.170.178) (Ping timeout: 195 seconds)
L162[02:44:33] ⇨ Joins: bilde2910|away (bilde2910@51.174.170.178)
L163[02:45:21] *** bilde2910|away is now known as bilde2910
L164[02:47:07] ⇨ Joins: Loetkolben (~Loetkolbe@ipbcc2d086.dynamic.kabel-deutschland.de)
L165[02:47:12] ⇦ Quits: romibi (~quassel@cable-static-7-174.rsnweb.ch) (Ping timeout: 195 seconds)
L166[02:47:29] *** kroeser|away is now known as kroeser
L167[02:47:52] ⇦ Quits: BrunoBronosky (~BrunoBron@c-73-54-178-63.hsd1.ga.comcast.net) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
L168[02:48:17] ⇨ Joins: romibi (~quassel@cable-static-7-174.rsnweb.ch)
L169[02:55:51] ⇦ Quits: SatanicSanta (~SatanicSa@c-76-115-175-15.hsd1.or.comcast.net) (Ping timeout: 190 seconds)
L170[02:56:26] ⇨ Joins: Firedingo (~Firedingo@CPE-121-217-154-65.lnse2.cht.bigpond.net.au)
L171[02:56:49] <sham1|ZZzZ> seems like there are way too many people who prefer to copy-paste
L172[02:56:53] *** sham1|ZZzZ is now known as sham1
L173[03:08:26] ⇨ Joins: MarcoSlater (~MarcoSlat@marta.marcoslater.com)
L174[03:08:54] ⇨ Joins: tekacs (~tekacs@tekacs.com)
L175[03:11:23] <MindWorX> Should I use System.err to write out errors to the log?
L176[03:11:23] <Rushmead> Remaking all my models in MrCrayfish's Model creator :P
L177[03:15:09] <sham1> MindWorX, you could, ybut you can also use the logger
L178[03:15:16] <MindWorX> Logger?
L179[03:15:34] <sham1> Logger!
L180[03:17:17] <MindWorX> LOGGER!
L181[03:18:33] <sham1> you can get one from preInit
L182[03:18:48] <sham1> and it is not java.util.logger thing
L183[03:19:09] <asie> Rushmead: >almost 2016 >not making models in notepad
L184[03:19:30] <sham1> or blender ;)
L185[03:23:24] <tterrag> MindWorX: I typically use LogManager.getLogger
L186[03:23:28] <tterrag> but yeah, using the event works too :P
L187[03:23:33] <tterrag> night all o/
L188[03:23:35] *** tterrag is now known as tterrag|ZZZzzz
L189[03:24:31] ⇨ Joins: PrinceCat (~PrinceCat@124.148.29.106)
L190[03:24:51] <sham1> I use preinit so that I do not need to care about it
L191[03:26:01] ⇨ Joins: sciguyryan (~sciguyrya@80-254-76-225.dynamic.swissvpn.net)
L192[03:26:12] <tterrag|ZZZzzz> what about logging pre-preinit :P
L193[03:26:51] <sham1> Well I get the logger as the first thing in preInit
L194[03:27:43] <Rushmead> Ok i have a json model and when it is right clicked with a specific block, i want it to change model, how can i do this?
L195[03:28:16] ⇨ Joins: mrkirby153 (mrkirby153@the.government.stole-your.pw)
L196[03:28:17] <sham1> you need to set a different blockstate
L197[03:28:31] <sham1> And then declare that one blockstate is one model
L198[03:28:34] <sham1> And another is another
L199[03:28:59] <Rushmead> how?
L200[03:29:07] ⇦ Quits: CoolerExtreme__ (~CoolerExt@117.207.160.150) (Quit: Leaving)
L201[03:29:43] <sham1> what do you mean "how"
L202[03:30:12] <Rushmead> how do i declare the blockstates?
L203[03:30:54] <sham1> Well
L204[03:31:00] <sham1> For one you need some properties
L205[03:31:45] <sham1> you add them to your block class as preferably "public static final PropertyX some" or something equivelant
L206[03:32:06] <sham1> Where PropertyX can be PropertyBool for booleans, PropertyInt for integers etx
L207[03:33:50] <Rushmead> ok.
L208[03:35:02] ⇨ Joins: Szernex (~Szernex@194-166-122-220.adsl.highway.telekom.at)
L209[03:35:08] ⇨ Joins: Overreactedosbol (~Overreact@2a02:1811:2d21:7000:a524:53cd:3a1b:157b)
L210[03:35:24] <Rushmead> How do i initiate them?
L211[03:36:08] <sham1> so you created the fields
L212[03:36:24] <sham1> Then you call the static factory function of theirs
L213[03:36:37] <sham1> Like "PropertyBool.create"
L214[03:38:22] ⇦ Quits: Mitchellbrine (uid38456@id-38456.tooting.irccloud.com) (Quit: Connection closed for inactivity)
L215[03:38:23] <Rushmead> Yeah
L216[03:45:16] <Rushmead> Sham1, i've done that, what now?
L217[03:45:37] <sham1> now override the method "createBlockState"
L218[03:45:56] <Wuppy> I should stop doing everything in rythm after playing crypt of the necrodancer xD
L219[03:46:27] <sham1> rythm of your life is good
L220[03:46:54] <Rushmead> You Literally said that last Yesterday Wuppy :P
L221[03:47:09] <Wuppy> I know... it's starting to annoy me...
L222[03:47:16] ⇨ Joins: jandal (~quassel@li951-76.members.linode.com)
L223[03:47:59] <Wuppy> also the game is so good I play it often, but that's a serious downside
L224[03:48:25] <Rushmead> Ok, got createBlockState
L225[03:50:23] <Rushmead> return new BlockState(this, new IProperty[] {MYPROPERTY}); ??
L226[03:50:25] <sham1> return a new BlockState
L227[03:50:42] <sham1> Its parameters are: the block instance and vararg of IProperties
L228[03:50:52] <sham1> so that works
L229[03:51:03] <sham1> Or just new BlockState(this, MYPROPERTY);
L230[03:51:11] <sham1> no need to make an array
L231[03:51:14] <Rushmead> I have two
L232[03:51:29] <fry> it's a vararg method
L233[03:51:41] <Rushmead> oooh
L234[03:51:54] <Rushmead> Kool got it
L235[03:52:23] <sham1> I did say that :P
L236[03:52:58] <Rushmead> It suddenly clicked :P
L237[03:53:02] <sham1> oh fry
L238[03:53:03] <Rushmead> Right, what next?
L239[03:53:05] <sham1> Good that you are here
L240[03:53:44] <sham1> I have a question that is the same as my yesterday's question to you
L241[03:54:05] <sham1> https://github.com/sham1/FluidCraft/blob/master/src/main/resources/assets/fluidcraft/blockstates/fcraft_multitank_window.json#L78-L89
L242[03:54:17] ⇦ Quits: MarcoSlater (~MarcoSlat@marta.marcoslater.com) (Ping timeout: 195 seconds)
L243[03:54:18] <sham1> Those states do not seem to have any effect on anything
L244[03:56:12] <fry> ah
L245[03:56:12] <Rushmead> Ok. so after looking at a 1.8 mod that i found on github that i can actually understand, i see i need a folder called "blockstates" and for each state i need a model. and inside the blockstates folder i have a file for the block e.g "helloblock" and in there i have variants and then i have "myproperty=true"{ model: "themodeliwantwhenthatistrue" }
L246[03:56:14] <Rushmead> Correct?
L247[03:56:27] <fry> sham1: they're outside the "variants"
L248[03:56:31] <fry> put them back in :P
L249[03:56:34] <sham1> Rushmead, correct
L250[03:56:44] <Rushmead> Sweet
L251[03:56:48] <sham1> well fry, when they are inside there then it will complain about them not being found
L252[03:57:09] *** DRedhorse is now known as DRedAway
L253[03:57:17] <sham1> all the "model definition for state not found" messages
L254[03:57:36] <fry> maybe it's because there are syntax errors? :P
L255[03:57:38] <sham1> they include even those ones that I specify
L256[03:57:43] <fry> read the log carefully
L257[03:58:11] <fry> putting them where you have them certanly won't help with anything :P
L258[03:58:20] <sham1> propably
L259[03:58:20] ⇨ Joins: MarcoSlater (~MarcoSlat@marta.marcoslater.com)
L260[03:58:55] <Rushmead> How do i set my default blockstate
L261[03:58:56] <Rushmead> ?
L262[03:58:59] <sham1> Well at least the log I get to the run console says nothing of interest
L263[03:59:25] <sham1> let me look at the FML log real quick
L264[04:00:35] <sham1> I propably should have something output debug messages dont I
L265[04:02:42] <Wuppy> heh, someone who's working at the MIT AI lab wants my help :P
L266[04:03:30] ⇦ Quits: mrkirby153 (mrkirby153@the.government.stole-your.pw) (Ping timeout: 186 seconds)
L267[04:04:59] <sham1> So yeah fry, nothing in the logs suggessed that anything was wrong
L268[04:05:46] <Rushmead> how can i change a property of my block via the blockActivated? and check one?
L269[04:05:55] <fry> sham1: when the variants are in the right place?
L270[04:06:08] <sham1> yes
L271[04:06:21] <fry> so, what's the error then?
L272[04:06:25] <sham1> it just says that model definition for that variant is not found
L273[04:06:35] <fry> show the log please :P
L274[04:07:16] <sham1> https://gist.github.com/sham1/601bdb384b61c3872325
L275[04:07:48] ⇦ Quits: xaero (xaero@the.flying.dutchman.panicbnc.net) (Ping timeout: 192 seconds)
L276[04:07:56] ⇦ Quits: mjevans (~mjevans@li984-246.members.linode.com) (Ping timeout: 190 seconds)
L277[04:08:11] <sham1> without those variants there it works
L278[04:08:46] ⇦ Quits: Loetkolben (~Loetkolbe@ipbcc2d086.dynamic.kabel-deutschland.de) (Quit: Over and Out!)
L279[04:08:56] ⇦ Quits: MineBot (MineBot@minebot.services.esper.net) (*.net *.split)
L280[04:09:57] <fry> so, it can't find anything
L281[04:10:07] <sham1> mm
L282[04:10:07] <fry> try surrounding full properties with []
L283[04:10:24] <sham1> Umn
L284[04:10:39] <sham1> the whole variant strings as well
L285[04:10:53] <fry> "connect_down=false,connect_east=false,connect_north=false,connect_south=true,connect_up=true,connect_west=false": [{...}]
L286[04:10:58] <sham1> Ah
L287[04:11:48] <sham1> And that did the trick
L288[04:11:51] <sham1> Thanks
L289[04:12:17] <Rushmead> i think i've nearly done this :)
L290[04:14:02] ⇦ Quits: Overreactedosbol (~Overreact@2a02:1811:2d21:7000:a524:53cd:3a1b:157b) (Quit: Leaving)
L291[04:14:42] <Rushmead> how can i make both my propertys false by default?
L292[04:14:51] <sham1> you set them
L293[04:15:15] <Rushmead> How?
L294[04:15:47] <sham1> onBlockPlacedBy maybe...
L295[04:17:13] <Rushmead> java.lang.IllegalArgumentException: Don't know how to convert stagecraft:stageblock[hasTop=true,isShort=true] back into data...
L296[04:17:15] <Rushmead> I get that
L297[04:17:33] <sham1> you need to override getMetaFromState
L298[04:17:47] <sham1> And possibly getStateFromMeta if you want to retain those states
L299[04:18:42] <Rushmead> ok, but what do i put in getMetaFromState?
L300[04:18:51] <sham1> on the block class...
L301[04:19:11] <Rushmead> i know WHERE to put it, but not WHAT to put IN it
L302[04:20:03] <sham1> You need to turn your booleans to bits
L303[04:20:07] <sham1> You know bitshifting?
L304[04:20:31] *** PaleOff is now known as PaleoCrafter
L305[04:21:13] ⇦ Quits: flappy (~flappy@85-76-77-61-nat.elisa-mobile.fi) (Quit: /0)
L306[04:22:49] <Wuppy> there is a way to get a list of all entities in the game right?
L307[04:22:54] <Wuppy> and how do you get them>
L308[04:22:57] *** amadornes[OFF] is now known as amadornes
L309[04:23:07] <sham1> You talking modding or something else
L310[04:23:11] <Wuppy> Mc modding
L311[04:24:12] <PaleoCrafter> World.loadedEntityList
L312[04:24:56] <PaleoCrafter> if you want to get those of a special type, World.getEntities
L313[04:24:59] <Wuppy> that's a static list?
L314[04:25:12] <PaleoCrafter> nah
L315[04:25:20] <Wuppy> good :P
L316[04:25:35] <sham1> that would be some shit
L317[04:25:39] <Wuppy> exactly
L318[04:25:53] <diesieben07> well, it's Minecraft so don't be surprised.
L319[04:26:03] <Wuppy> that's true as well, that's why I asked
L320[04:26:14] <sham1> true
L321[04:26:23] <diesieben07> guys. it's true.
L322[04:26:46] <sham1> Almost two sides of my multiblock connected textures done
L323[04:28:31] <sham1> It's espesially great as I do not need to worry about corner cases
L324[04:30:46] <Wuppy> hmm I'm getting a java heap space error when decompiling 1.8.8
L325[04:30:56] <sham1> That happens
L326[04:31:25] <diesieben07> give it more ram :D
L327[04:31:46] <Wuppy> http://downloadmoreram.com/
L328[04:31:48] <diesieben07> boolean silencerAttached = hasAttachment(stack, MainRegistry.content().silencer.getName());
L329[04:31:51] <diesieben07> wat
L330[04:32:06] <diesieben07> why was THAT in there
L331[04:32:11] <sham1> what
L332[04:32:12] <diesieben07> https://docs.gradle.org/current/userguide/build_environment.html
L333[04:32:30] <sham1> what is that diesieb
L334[04:32:38] <diesieben07> something from the forums iirc
L335[04:32:43] <Wuppy> diesieben07, what was the command for the amount of ram again?
L336[04:32:53] <diesieben07> -Xms / -Xmx
L337[04:33:01] <diesieben07> some dude had a NPE on that line
L338[04:33:04] <sham1> may thee linketh me
L339[04:33:06] <Wuppy> and that's in MB irght?
L340[04:33:17] <diesieben07> you say something like -Xms3000MB
L341[04:33:20] <diesieben07> -B
L342[04:33:24] <diesieben07> 3000M
L343[04:33:25] <diesieben07> or 3G
L344[04:33:49] <Wuppy> didn't know you could use GB there.. cool :)
L345[04:33:54] <diesieben07> sham1, http://www.minecraftforge.net/forum/index.php/topic,35717.0.html
L346[04:34:24] <sham1> the grammar on that post
L347[04:34:27] <sham1> My eyes are bleeding
L348[04:35:24] <Wuppy> what the hell
L349[04:35:32] <Wuppy> it can't reserve 2G on the object heap
L350[04:35:41] <diesieben07> huh
L351[04:36:31] <Wuppy> I have 8GB of ram... wats this
L352[04:36:41] <Wuppy> setting it to 1GB does work
L353[04:36:59] <diesieben07> what does it say?
L354[04:37:33] <diesieben07> also how exactly did you apply the argument?
L355[04:38:02] ⇦ Quits: Delaxarnyazer (~Delaxarny@2a02:a44e:91ce:0:215:5dff:fe02:300) (Ping timeout: 195 seconds)
L356[04:38:30] <Wuppy> http://pastebin.com/RTDWr1qP
L357[04:38:48] <diesieben07> wat
L358[04:38:59] <diesieben07> do you have a 32 bit vm?
L359[04:39:30] <Wuppy> my java is 32 bit
L360[04:39:37] <diesieben07> why?!
L361[04:39:50] <Wuppy> because Aptana is weird and requires the 32 bit version
L362[04:40:10] <diesieben07> you will need the 64 bit version when you want to give it lots of memory.
L363[04:40:26] <Rushmead> Im getting this "10:38:06] [Client thread/ERROR]: Model definition for location stagecraft:stageblock#hastop=false,isshort=true not found!" even though this " "hasTop=false,isShort=false": { "model": "stagecraft:blockFrameOnly" }," refers to https://gyazo.com/daf507dff54d4295eb04c0c11ed49ca3
L364[04:40:26] <Wuppy> can you have 32 and 64 installeda at once?
L365[04:40:32] <diesieben07> sure
L366[04:40:36] <sham1> because 32bit stuff can only allocate 4GB at most
L367[04:40:42] <sham1> Its adress space is 4GB
L368[04:40:50] <Wuppy> wouldn't you have to switch between JAVA_HOME variable all the time then?
L369[04:41:04] <diesieben07> meh
L370[04:41:07] <diesieben07> set JAVA_HOME to be 64 bit
L371[04:41:19] <diesieben07> and tell whatever that weird program is that needs 32 bit directly to use that version
L372[04:41:30] <diesieben07> iirc aptana is eclipse, which probably has a setting for it
L373[04:41:39] <Wuppy> it is
L374[04:43:48] <sham1> was your aptana version 32 or 64 bits
L375[04:43:56] <Wuppy> they only have 32 (64 compatible)
L376[04:44:41] <diesieben07> it's not "64 compatible" :P
L377[04:44:56] <diesieben07> windows 64 bit has a whole 32 bit subsystem to run 32 bit programs
L378[04:45:01] <diesieben07> it's almost a little bit like a vm
L379[04:45:08] <diesieben07> with it's own registry stuff and all
L380[04:46:03] <sham1> Well 64-bit processors have a compatibility mode
L381[04:46:09] <sham1> On the side with long mode
L382[04:46:17] <Wuppy> diesieben07, that's what they call it, I disagree
L383[04:46:27] <sham1> That allows you to run 32-bit code without recompile
L384[04:46:39] <diesieben07> sham1, yes, but it's about the win api calls
L385[04:46:53] <diesieben07> and also i think the OS decides which mode the cpu runs in, doesn't it?
L386[04:46:58] <sham1> yes
L387[04:47:04] <diesieben07> Wuppy, just because that's what they call it doesn't mean it's true :P
L388[04:47:11] <Wuppy> I know :)
L389[04:47:15] <Wuppy> that's why I disagree
L390[04:47:17] <diesieben07> technically it's 64 bit compatible, but not because THEY did something
L391[04:47:24] <diesieben07> but because M$ did something.
L392[04:48:21] ⇦ Quits: turmfalke_ (~turmfalke@p54a68abe.dip0.t-ipconnect.de) (Ping timeout: 190 seconds)
L393[04:48:39] <sham1> Nintendo64-bits has many advantages like Terabytes of effective memory via paging
L394[04:48:59] <diesieben07> nintendo? :D
L395[04:49:20] <sham1> Just included it there, I dunno why
L396[04:49:23] <sham1> But yeah
L397[04:49:34] <diesieben07> i get the N64 joke... but... come on :D
L398[04:49:34] <sham1> x86_64 is very interesting
L399[04:49:46] <Wuppy> is tehre someone who's still working on advanced modding tutorials for 1.8?
L400[04:49:46] <diesieben07> i barely know anything about this low level crap :D
L401[04:50:26] <sham1> nope
L402[04:50:34] <Zaggy2048> ew, ice re-sorting itself is pretty ugly
L403[04:52:28] <sham1> It is very weird that water's dencity is at its biggest in 4 degress Celsius
L404[04:53:28] <Rushmead> Anyone know why imm getting that error?
L405[04:53:38] ⇦ Quits: calclavia (uid15812@richmond.irccloud.com) (Quit: Connection closed for inactivity)
L406[04:53:53] <sham1> I see no error
L407[04:54:02] <Wuppy> damn Eclipse did not get prettier over time :O
L408[04:54:04] <Zaggy2048> Rushmead, it's case sensitive
L409[04:54:11] <Zaggy2048> compare your strings
L410[04:54:16] <sham1> The answer's 42
L411[04:54:30] <sham1> Also wuppy, IDEA
L412[04:54:31] <Rushmead> which oners?
L413[04:54:34] <Wuppy> nop
L414[04:54:37] <Zaggy2048> the blockstate strings
L415[04:54:38] <Rushmead> ones*
L416[04:54:53] <Zaggy2048> but you should treat everything as case sensitive...
L417[04:55:01] <Zaggy2048> and probably all lower case if you really want to be safe
L418[04:55:15] <Zaggy2048> vanilla uses lower case and underscores :)
L419[04:56:26] <sham1> camelCase > snake_case
L420[04:56:34] <sham1> Even though for this snake_case is safer
L421[04:57:05] ⇦ Quits: GildedGames (~GildedGam@ec2-50-16-98-85.compute-1.amazonaws.com) (Remote host closed the connection)
L422[04:59:04] <Zaggy2048> I know, I like camelCase too
L423[04:59:24] <Rushmead> thats really wierd and annoying.
L424[04:59:26] <Rushmead> Its still doing it
L425[04:59:34] <Rushmead> even though i've got the case correct
L426[04:59:40] <Zaggy2048> what's the warning now?
L427[04:59:56] <Zaggy2048> and what's you rjson
L428[04:59:58] <Rushmead> same
L429[05:00:13] <Rushmead> http://pastebin.com/QaN3sARe
L430[05:00:28] <Zaggy2048> I said blockstate strings
L431[05:00:36] <Zaggy2048> meaning "variant1=value,variant2=value"
L432[05:00:48] <Rushmead> yeah
L433[05:00:57] <Zaggy2048> those have to be the exact same case and the property names have to be sorted alphabetically in the string
L434[05:01:20] <Rushmead> public static final PropertyBool hasTop = PropertyBool.create("hasTop");
L435[05:01:20] <Rushmead> public static final PropertyBool isShort = PropertyBool.create("isShort");
L436[05:01:32] <Rushmead> So they need to be, isShort=false,hasTop=false
L437[05:01:33] <Rushmead> ??
L438[05:01:40] <Zaggy2048> mmh
L439[05:01:53] <Zaggy2048> I haven't tried camelCase property names
L440[05:02:07] <Zaggy2048> but why don't you just call them top and short? :P
L441[05:02:24] <Rushmead> ...
L442[05:02:29] <Rushmead> Ok. Rawr :P
L443[05:03:27] <sham1> camelCase does not work with properties
L444[05:03:29] <sham1> :(
L445[05:03:42] <Zaggy2048> property names *should* be short though
L446[05:03:46] <Zaggy2048> :P
L447[05:04:06] <Rushmead> ok. I did it because it was easier for me to understand but
L448[05:04:07] <Rushmead> it doesnt matter
L449[05:04:55] <Rushmead> still getting that errro
L450[05:05:20] <Rushmead> do they need to be alphabetical?
L451[05:05:45] <Zaggy2048> yes
L452[05:05:46] <sham1> yes
L453[05:05:52] <sham1> For some odd reason
L454[05:05:54] <Zaggy2048> they need to be exactly as the warning prints them out
L455[05:06:07] <Zaggy2048> it's just because Mojang was lazy and didn't implement a good system right off the bat :P
L456[05:06:34] <Zaggy2048> hopefully 1.9 will improve it significantly for both vanilla and forge blockstates format
L457[05:06:52] <sham1> Well Forge Blockstates as far as submodels become obsolete
L458[05:06:58] <Zaggy2048> yeah
L459[05:07:04] <Zaggy2048> until I write a new format >:D
L460[05:07:06] <sham1> Other than the fact that multimodel of vanilla cannot declare textures on theirs
L461[05:07:15] <Zaggy2048> yeah, that too
L462[05:07:44] <Zaggy2048> but I've thought of a pretty fancy format, I'll have to see how reasonable it is to implement in 1.9
L463[05:08:15] <sham1> http://i.imgur.com/vQd7OT4.png
L464[05:08:21] <sham1> Look at that \o/
L465[05:08:29] <Zaggy2048> bowtyful
L466[05:08:40] <Zaggy2048> dat fov
L467[05:08:45] *** Zaggy2048 is now known as Zaggy1042
L468[05:08:50] <Zaggy1042> crap lol
L469[05:08:53] *** Zaggy1042 is now known as Zaggy1024
L470[05:09:01] <sham1> I use the Quake Pro FOV
L471[05:09:06] <sham1> Always have and always will
L472[05:09:09] <Zaggy1024> I'm a 90 guy
L473[05:09:26] <sham1> I usually higher than 90 if possible
L474[05:09:32] <Zaggy1024> quake pro would probably make me feel sick pretty quickly
L475[05:09:46] <Zaggy1024> probably more quickly than playing with 65 :P
L476[05:09:53] <sham1> oh wow
L477[05:10:05] <diesieben07> you're a bunch of crazies
L478[05:10:11] <Zaggy1024> lol why
L479[05:10:17] <diesieben07> that fov is insane
L480[05:10:23] <Zaggy1024> is 90 insane?
L481[05:10:31] <fry> 65 is insane :P
L482[05:10:32] <Rushmead> Just got this http://pastebin.com/41kLm1wn
L483[05:10:42] <Zaggy1024> indeed, I can't stand that 65
L484[05:10:43] <fry> it's like looking through a tiny window
L485[05:10:52] <masa> I always have the fov at the default/lowest setting
L486[05:10:54] <sham1> Rushmead, you didnt put your texture domain correctly
L487[05:10:59] <masa> anything else is just insanity :p
L488[05:11:02] <sham1> masa, why
L489[05:11:03] <Rushmead> "textures": {
L490[05:11:04] <Rushmead> "0": "blocks/StageBlockFrameOnly",
L491[05:11:04] <Rushmead> "1": "blocks/TopOnly"
L492[05:11:04] <Rushmead> },
L493[05:11:08] <Rushmead> Thats what i have in my model
L494[05:11:12] <Zaggy1024> domain:blocks/blah"
L495[05:11:12] <sham1> add your modid before them
L496[05:11:16] <masa> sham1: because anything else looks like shit?
L497[05:11:17] <sham1> basically that
L498[05:11:22] <fry> sure, who needs peripheral vision :P
L499[05:11:36] <Zaggy1024> lowest setting? :O
L500[05:11:48] <sham1> FOV of 1
L501[05:12:00] <sham1> not decimal
L502[05:12:06] <sham1> degrees
L503[05:12:16] <sham1> And not radians
L504[05:12:33] <Zaggy1024> what does decimal 1 FOV even mean? :P
L505[05:12:34] <sham1> have fun
L506[05:12:41] <sham1> 360 degrees
L507[05:12:54] <sham1> 1.0 would propably be 360 anyway
L508[05:13:04] <masa> ok sorry I remembered wrong, it's not the lowest setting but the Normal aka 70
L509[05:13:10] <masa> it actually goes down to 30 :D
L510[05:13:25] <masa> via the settings menu that is
L511[05:13:26] <fry> 70 is passable :P
L512[05:13:50] <fry> I still prefer to see the enemies that shoot me from the side :P
L513[05:14:21] <sham1> 30 FOV
L514[05:14:40] <sham1> Which BTW is the same FOV that TF2 uses for the zoom for sniper rifles
L515[05:14:49] <fry> also, subjectively-comfortable fov depends on your distance to and the size of the screen
L516[05:14:50] <sham1> Propably CS does that as well
L517[05:16:01] <ThePsionic> tfw you want to stream gta5 from your desktop to your laptop while away but it doesn't work
L518[05:17:41] <Rushmead> Hmm wierd.
L519[05:17:50] <Rushmead> there are no errors, yet my model isnt showing up
L520[05:19:07] <ThePsionic> RIP Rushmead
L521[05:20:14] <Rushmead> @Override
L522[05:20:14] <Rushmead> public void onBlockPlacedBy(World worldIn, BlockPos pos, IBlockState state, EntityLivingBase placer, ItemStack stack) {
L523[05:20:14] <Rushmead> worldIn.setBlockState(pos, state.withProperty(hasTop, false).withProperty(isShort, false));
L524[05:20:14] <Rushmead> }
L525[05:20:16] <Rushmead> Is that ok?
L526[05:20:30] <sham1> YEs it should be
L527[05:20:52] <Rushmead> http://pastebin.com/aVaQKdES
L528[05:20:55] <Rushmead> Thats my model
L529[05:23:53] <Rushmead> Anyone?
L530[05:27:06] *** DRedAway is now known as DRedhorse
L531[05:27:09] <ThePsionic> sham1: For a log block with different types should I use blockstates or metadata? Or something else entirely idk
L532[05:27:57] <sham1> You could use blockstate as rotation
L533[05:32:38] *** fry is now known as fry|afk
L534[05:32:51] <ThePsionic> How do I get the block at a certain BlockPos?
L535[05:33:08] <Rushmead> Im screwed.
L536[05:33:11] <Rushmead> So screwd
L537[05:33:15] <sham1> why
L538[05:34:06] <Rushmead> i did git rm -rf . in the wrong place...
L539[05:34:16] * ThePsionic facepalm
L540[05:34:21] <sham1> you can roll back
L541[05:34:34] <Rushmead> But thanks to Idea's great history thingy, i got it back
L542[05:36:33] <sham1> Git would have also been able to restore it
L543[05:36:34] <ThePsionic> sham1: Didn't you have a blockstate tutorial anywhere?
L544[05:36:53] <sham1> Not really no
L545[05:37:07] <ThePsionic> bah
L546[05:37:26] ⇦ Quits: bochen415 (~bochen415@46.101.38.101) (Quit: quit)
L547[05:37:36] <Rushmead> So heres my source :P https://github.com/Rushmead/StageCraft/tree/mc1.8
L548[05:37:37] <Rushmead> But
L549[05:38:20] <Rushmead> So yeah, my model doesnt render
L550[05:38:22] <Rushmead> IDK why
L551[05:39:40] <Rushmead> does it need a parent?
L552[05:43:59] <sham1> if you do not define the elements yourself then yes
L553[05:45:58] <Rushmead> Ok i got it working :)
L554[05:46:15] <Rushmead> buuut. The model doesnt seem to fit
L555[05:46:15] <MindWorX> Hmm
L556[05:46:40] <MindWorX> If I enable a required dependency, I get a circular dependency crash.
L557[05:47:36] <MindWorX> I can't figure out why though.
L558[05:47:42] <Rushmead> Ok nope, fixed it :P
L559[05:49:18] <MindWorX> https://gist.github.com/TinkerWorX/4bc4a6b0c996381de664
L560[05:49:41] <MindWorX> If I uncomment the first required-after it gives me the circular dependency crash.
L561[05:49:53] <MindWorX> As far as I can tell, that shouldn't happen.
L562[05:51:02] <ThePsionic> Wait, I can just avoid blockstates altogether by making two separate blocks
L563[05:51:12] <ThePsionic> I need not worry about being backwards compatible
L564[05:52:16] <Rushmead> Alright, if i change the blockstate, does it need a block update?
L565[05:55:46] <sham1> yes
L566[05:56:10] <Rushmead> how do i send one?
L567[05:56:51] <Rushmead> markBlockForUpdate
L568[05:57:46] <ghz|afk> "morning"
L569[05:57:52] *** ghz|afk is now known as gigaherz
L570[05:57:57] ⇦ Quits: Szernex (~Szernex@194-166-122-220.adsl.highway.telekom.at) (Ping timeout: 195 seconds)
L571[05:58:12] <MindWorX> "evening"
L572[05:58:37] <gigaherz> [12:32] (ThePsionic): How do I get the block at a certain BlockPos?
L573[05:58:49] <gigaherz> world.getBlockState(pos).getBlock()
L574[05:58:50] <gigaherz> ;P
L575[05:59:15] <gigaherz> [12:27] (ThePsionic): sham1: For a log block with different types should I use blockstates or metadata? Or something else entirely idk
L576[05:59:22] <gigaherz> you only need 3 rotations for a standard log
L577[05:59:27] <gigaherz> so you can fit those in 2 bits
L578[05:59:38] <gigaherz> leaves you space for up to 4 subtypes
L579[05:59:42] <sham1> and the high bits of the nybble can be the type
L580[05:59:50] <gigaherz> hence why vanilla logs have more than one ID
L581[05:59:51] <gigaherz> ;P
L582[06:00:09] <ThePsionic> it's so hard for my tender brain
L583[06:00:44] <MindWorX> http://i.imgur.com/iaYMwBt.png
L584[06:00:50] <gigaherz> your blockstates would have a proprty direction with X, Y, or Z
L585[06:00:52] <MindWorX> What am I missing?
L586[06:01:02] <Rushmead> The model changes and then it goes back. Why? Heres my code http://pastebin.com/7ENF8Eef
L587[06:01:12] <gigaherz> and a proprty type with "A"/"B"/"C"/"D"
L588[06:01:23] <gigaherz> (an enum with up to 4 values)
L589[06:01:36] <ThePsionic> Yeah I have the types already implemented sortof
L590[06:01:37] <gigaherz> then to make them persist
L591[06:01:55] <ThePsionic> https://gist.github.com/ThePsionic/f3c72574c57a69e395f8
L592[06:02:17] *** kroeser is now known as kroeser|away
L593[06:02:28] <gigaherz> you'd override getMetaFromState, where you'd do ((state.getValue(TYPE).ordinal() << 2) | state.getValue(AXIS))
L594[06:03:40] <gigaherz> and you'd override getStateFromMeta where you'd do getDefaultState().withProperty(TYPE, (meta>>2)&2).withProperty(AXIS, EnumAxis.values()[meta&2])
L595[06:03:47] <Rushmead> Anyone?
L596[06:04:51] <gigaherz> Rushmead: sec, looking
L597[06:04:56] <Rushmead> KK
L598[06:06:42] <gigaherz> MindWorX: you have a circular dependency
L599[06:07:12] <gigaherz> hmmm
L600[06:07:26] <gigaherz> do you have two instances of the same mod loaded at once?
L601[06:07:32] <gigaherz> I'm not sure I understand the screenshot
L602[06:07:48] <ThePsionic> Is that the only things that would change in my thing gigaherz? Because I feel it isn't as simple as that :P
L603[06:07:52] <gigaherz> can you pastebin the actual log file?
L604[06:08:02] ⇨ Joins: MineBot (MineBot@minebot.services.esper.net)
L605[06:08:02] *** ranger.esper.net sets mode: +o MineBot
L606[06:08:21] ⇨ Joins: spaceemotion (~spaceemot@f054098170.adsl.alicedsl.de)
L607[06:08:35] <gigaherz> ThePsionic: you just want to make the woods rotateable like vanilla ones right?
L608[06:08:40] <ThePsionic> Yes
L609[06:08:43] ⇨ Joins: Girafi (Girafi@0x555178eb.adsl.cybercity.dk)
L610[06:09:08] <gigaherz> then feel free to make use of BlockLog.LOG_AXIS
L611[06:09:10] <gigaherz> as a property
L612[06:09:14] <ThePsionic> Ah fair enough
L613[06:09:26] <MindWorX> No one has any idea why I might be experiencing circular dependency issues? I can draw out a very linear graph from the data I'm getting. :P
L614[06:09:34] <gigaherz> and "steal" all placement logic from the log blocks
L615[06:09:34] <gigaherz> ;P
L616[06:09:36] <MindWorX> There's nothing even remotely circular going on.
L617[06:09:43] <ThePsionic> would I still need to make a public static final PropertyEnum in my block for that then?
L618[06:09:58] <gigaherz> nah not for the axis
L619[06:10:04] <gigaherz> in fact
L620[06:10:10] <gigaherz> you don't even need those to be in your block
L621[06:10:15] <gigaherz> you could have a special class for it
L622[06:10:22] <gigaherz> or put them in your @Mod class
L623[06:10:25] <gigaherz> it wouldn't matter
L624[06:10:32] <gigaherz> it's the createBlockState() method that matters
L625[06:10:36] <gigaherz> you define the states there
L626[06:11:07] <ThePsionic> For that I now have this:
L627[06:11:11] <ThePsionic> https://www.irccloud.com/pastebin/gXliv9GM/
L628[06:11:15] <gigaherz> BlockState is a variadic
L629[06:11:20] <gigaherz> protected BlockState createBlockState() { return new BlockState(this, DENSITY); }
L630[06:11:24] <gigaherz> no need for explicit array
L631[06:11:42] <ThePsionic> So no directionalism in there?
L632[06:11:43] <gigaherz> so you can just do
L633[06:11:54] <gigaherz> new BlockState(TYPE, BlockLog.LOG_AXIS)
L634[06:12:02] <ThePsionic> Ah
L635[06:12:29] <ThePsionic> Wait you mean new BlockState(this, TYPE, BlockLog.LOG_AXIS) right?
L636[06:12:35] <ThePsionic> Or am I missing something
L637[06:12:37] <Rushmead> BRB
L638[06:12:45] <gigaherz> Rushmead: if(world.isRemote)
L639[06:12:49] <gigaherz> means you do stuff in the CLIENT
L640[06:12:55] <Rushmead> oh
L641[06:12:59] <gigaherz> so that's why
L642[06:13:32] <ThePsionic> So I have this now
L643[06:13:36] <ThePsionic> https://www.irccloud.com/pastebin/Si6fqL1K/
L644[06:13:51] ⇦ Quits: Rushmead (~quassel@host86-154-52-170.range86-154.btcentralplus.com) (Remote host closed the connection)
L645[06:14:30] <MindWorX> Here's my dependency graph: http://i.imgur.com/5UXAJSY.png
L646[06:14:38] <MindWorX> Apparently, that's circular :P
L647[06:15:37] <ThePsionic> Anything more to it gigaherz or no?
L648[06:16:30] ⇨ Joins: Rushmead (uid136212@id-136212.ealing.irccloud.com)
L649[06:17:31] <Rushmead> Back, got it working now, thanks :)
L650[06:20:12] <gigaherz> back
L651[06:20:55] <gigaherz> ThePsionic: you chose to create your own copy of the property?
L652[06:21:28] <gigaherz> [13:12] (ThePsionic): Wait you mean new BlockState(this, TYPE, BlockLog.LOG_AXIS) right? -- yes sorry ;P
L653[06:21:42] <gigaherz> return new BlockState(this, TYPE, BlockLog.LOG_AXIS);
L654[06:21:44] <gigaherz> if you do this
L655[06:21:49] <Rushmead> How can i stop this? https://gyazo.com/7da4f5efa69428c748b1f66df36a4c21
L656[06:21:53] <gigaherz> you don't need public static final PropertyEnum DIR = PropertyEnum.create("direction", BlockLog.EnumAxis.class);
L657[06:22:01] <gigaherz> if you want the latter
L658[06:22:09] <gigaherz> then use DIR in createBlockState
L659[06:22:41] <gigaherz> Rushmead:make the top of the legs slightly lower
L660[06:22:49] <gigaherz> or remove the top face altogether
L661[06:23:37] <Rushmead> But i want them to all be the same height and have the top face
L662[06:23:48] <Rushmead> Also, how i can set the item in the players hand to a specific block?
L663[06:24:28] <gigaherz> your issue is Z-fighting
L664[06:24:44] <gigaherz> if you havetwo polygons in the same exact position
L665[06:24:53] <gigaherz> the rounding errors from the Z-buffer will cause that
L666[06:24:55] <gigaherz> it's unavoidable.
L667[06:25:32] <gigaherz> either you raise them all a bit and they will always show up, or you lower a bit and they'll never show up
L668[06:26:36] <gigaherz> at least that's my guess
L669[06:26:47] <gigaherz> as for changing the item
L670[06:26:50] <gigaherz> what do you mean exactly?
L671[06:26:52] <Rushmead> Should i make it so all the legs connect together like a big multiblock?
L672[06:27:15] <Rushmead> So when they shift right click the block the top of the block will pop off/ will be put in there hand
L673[06:27:28] <gigaherz> so you want it to actually BECOME an item
L674[06:27:36] <gigaherz> and get picked up by the players
L675[06:27:37] <Rushmead> hang on
L676[06:27:57] <gigaherz> because that's what happens when you do that kind of thing
L677[06:28:13] <gigaherz> you spawn a physical item entity into theworld, at the location of the player's feet
L678[06:28:20] <gigaherz> which causes the item to get picked up within the next tick
L679[06:28:23] <MindWorX> Is there a generic "required" dependency? Rather than required-before/required-after
L680[06:28:25] ⇨ Joins: Nitrodev (~Nitrodev@dcx0f0yfkf-htz8dy-dyt-3.rev.dnainternet.fi)
L681[06:28:52] <Rushmead> I have two blocks, ones the top. ones the frame/bottom. When you click on the frame with the top. the model of the frame changes. So when you shift right click the block i want the top to pop out as a item
L682[06:28:59] <gigaherz> MindWorX: I believe so
L683[06:29:02] <Nitrodev> hi
L684[06:30:13] <gigaherz> I'm not sure how to write it in the @Mod's dependency list, though
L685[06:31:10] <Nitrodev> write what?
L686[06:31:39] <gigaherz> [13:28] (MindWorX): Is there a generic "required" dependency? Rather than required-before/required-after
L687[06:31:59] <MindWorX> gigaherz, looking at the source for modloader, it only seems to support before/after with or without required.
L688[06:32:18] <gigaherz> still
L689[06:32:26] <gigaherz> canyou paste the log please?
L690[06:32:52] <gigaherz> pastebin the contents of the log file
L691[06:32:54] ⇨ Joins: MrKickkiller (~MrKickkil@ipv6.chozo.nl)
L692[06:33:03] <MindWorX> Log file?
L693[06:33:03] <gigaherz> the screenshot is never enough ;P
L694[06:33:13] <MindWorX> Ah, right, yeah, figured it out. Actually from the screenshot
L695[06:33:17] <MindWorX> There's a tiny "*" in the end.
L696[06:33:27] <MindWorX> IgTweaks basically has a "after:*" dependency
L697[06:33:38] <gigaherz> oh
L698[06:33:51] <MindWorX> Yeah, not sure if intended. Waiting to hear back.
L699[06:34:15] <gigaherz> well then you should have said so, I was still waiting for it ;P
L700[06:34:23] <MindWorX> Oh, sorry. <3
L701[06:34:36] *** kroeser|away is now known as kroeser
L702[06:34:38] <MindWorX> I guess I'll have to go with required-before, and then use init or post init to make sure items/blocks have been registerred.
L703[06:36:19] ⇨ Joins: Jezza (~Jezza@185.44.151.55)
L704[06:37:09] ⇦ Quits: Jezza (~Jezza@185.44.151.55) (Read error: Connection reset by peer)
L705[06:37:28] <Rushmead> how do i do a inventory model?
L706[06:38:49] <Zaggy1024> http://i.imgur.com/lW0EaL0.png It friggen works! :D
L707[06:38:59] <MindWorX> Woo!
L708[06:39:32] <Nitrodev> anyone got example code for the custom recipes
L709[06:39:42] <Nitrodev> and i mean the IRecipe custom reipes
L710[06:40:46] ⇨ Joins: Jezza (~Jezza@185.44.151.55)
L711[06:42:20] <gigaherz> Nitrodev: just check something like the vanilla banner or map recipes
L712[06:45:28] <Zaggy1024> cool thing is I made a utility class that should make it relatively easy to do similar things to other non-world-aware methods :)
L713[06:45:57] <gigaherz> ThePsionic: I just realized, you didn't do getMetaFromState?
L714[06:46:25] <gigaherz> you need both getMetaFromState and getStateFromMeta, for storing the state
L715[06:47:13] <Rushmead> hang on. If the player is sneaking and has a item in its hand, my code doesnt work. But if its just sneaking it does.
L716[06:47:20] <Rushmead> BTW this is onBlockActivated
L717[06:47:39] <Rushmead> http://pastebin.com/ssVDhjh6
L718[06:48:35] <Zaggy1024> what item?
L719[06:48:53] <Rushmead> Sorry
L720[06:49:04] <Rushmead> it's ment to be if(equipped instanceof ItemHammer){
L721[06:49:50] <gigaherz> Rushmead: you used the wrong method
L722[06:49:52] <Rushmead> i get "Clickedsneaking" but i dont get "hammer"
L723[06:49:58] <gigaherz> onBlockActivated is ONLY called for empty hand
L724[06:49:59] <Rushmead> What do you mean?
L725[06:50:03] <Rushmead> Nope.
L726[06:50:07] <gigaherz> no wait
L727[06:50:09] <gigaherz> nevermind
L728[06:50:38] <gigaherz> I noticed as soon as I pressed enter
L729[06:50:42] <gigaherz> the wonders of dual screen
L730[06:50:43] <gigaherz> XD
L731[06:50:46] <gigaherz> if ((!player.isSneaking() || player.getHeldItem() == null || player.getHeldItem().getItem().doesSneakBypassUse(worldIn, hitPos, player)))
L732[06:51:12] <Rushmead> Where should that go?
L733[06:51:15] <gigaherz> nono
L734[06:51:25] <gigaherz> that's the condition of the onBlockActivated
L735[06:51:29] <Rushmead> oh
L736[06:51:51] <gigaherz> doesSneakBypassUse is FALSE by default
L737[06:52:10] <gigaherz> whcih means I was partially right ;P
L738[06:52:11] ⇦ Quits: Jezza (~Jezza@185.44.151.55) (Read error: Connection reset by peer)
L739[06:52:13] <Zaggy1024> yeah you basically gotta use an event, I think, if you want to catch an item use on your block
L740[06:52:23] <Rushmead> It works for blocks
L741[06:52:24] <Rushmead> So
L742[06:52:25] <Rushmead> IDK
L743[06:52:26] <gigaherz> Rushmead: here is the thing
L744[06:52:50] <gigaherz> if you shift-click, you usually want it to use the item instead of activating the block
L745[06:53:06] <gigaherz> that's how you place stuff on top of other stuff
L746[06:53:08] <gigaherz> by sneaking
L747[06:53:13] <Rushmead> oh
L748[06:53:14] <Rushmead> ok
L749[06:53:17] <gigaherz> so if you want your specific item not to have that behaviour
L750[06:53:20] <Nitrodev> yeah nope i don't understand the vanilla code AT ALL
L751[06:53:24] <gigaherz> you need to override doesSneakBypassUse
L752[06:53:37] <gigaherz> and return true
L753[06:55:00] <gigaherz> Nitrodev: a custom IRecipe works a bit like this:
L754[06:55:11] ⇨ Joins: Overreactedosbol (~Overreact@2a02:1811:2d21:7000:a524:53cd:3a1b:157b)
L755[06:55:18] <gigaherz> whenever something has changed, the crafting system will call the matches method
L756[06:55:36] <gigaherz> which givesyou the choice to scan the InventoryCrafting slots
L757[06:56:04] <gigaherz> you can tell if the recipe will work in a 2x2 grid or a 3x3 grid by returning the right number from getRecipeSize
L758[06:57:00] ⇨ Joins: Jezza (~Jezza@185.44.151.55)
L759[06:57:13] <gigaherz> then, the getCraftingResult is used to calculate, given the current inventory
L760[06:57:19] <gigaherz> exactly which output you'll have
L761[06:57:24] <Nitrodev> so retuning 2 would mean that the recipe is craftable from the inventory craft grid
L762[06:57:30] <gigaherz> which gives you the chance to include metadata and NBT into the recipe
L763[06:57:37] <gigaherz> yes.
L764[06:57:51] <gigaherz> well no
L765[06:57:56] <gigaherz> you need either 4 or 9
L766[06:58:02] <gigaherz> 2x2=4
L767[06:58:04] <gigaherz> 3x3=9
L768[06:58:09] <gigaherz> the grid is internally an array
L769[06:58:18] <gigaherz> and you return the number of slots needed in that array ;P
L770[06:58:20] <Nitrodev> well the RecipesBAnners class has 2
L771[06:58:30] <Nitrodev> oh
L772[06:58:31] <gigaherz> that's because a banner only needs 2 slots
L773[06:58:36] <Nitrodev> yeah
L774[06:58:48] <Rushmead> Cool
L775[06:58:49] <Rushmead> Nearly dnoe
L776[06:59:33] *** fry|afk is now known as fry
L777[06:59:55] ⇨ Joins: kimfy (~kimfy___@74.141.16.62.customer.cdi.no)
L778[07:00:36] <gigaherz> so as I was saying
L779[07:00:52] <gigaherz> getCraftingResult lets you choose the exact ItemStack that will be returned
L780[07:01:15] <gigaherz> while getRemainingItems lets you choose exactly what is left in the crafting grid after crafting
L781[07:01:23] <ThePsionic> 13:45:58 <gigaherz> ThePsionic: I just realized, you didn't do getMetaFromState?
L782[07:01:23] ⇦ Quits: Overreactedosbol (~Overreact@2a02:1811:2d21:7000:a524:53cd:3a1b:157b) (Quit: Leaving)
L783[07:01:26] ⇦ Quits: DemoXin (~DemoXin@29.sub-70-197-162.myvzw.com) ()
L784[07:01:32] <ThePsionic> because I'm not exactly sure how that's going to work
L785[07:01:48] <gigaherz> [13:02] (gigaherz): you'd override getMetaFromState, where you'd do ((state.getValue(TYPE).ordinal() << 2) | state.getValue(AXIS))
L786[07:01:48] <gigaherz> [13:03] (gigaherz): and you'd override getStateFromMeta where you'd do getDefaultState().withProperty(TYPE, (meta>>2)&2).withProperty(AXIS, EnumAxis.values()[meta&2])
L787[07:02:37] <ThePsionic> It doesn't know ordinal
L788[07:02:47] <gigaherz> hm?
L789[07:02:51] <gigaherz> is it not an enum?
L790[07:02:55] <ThePsionic> Yes
L791[07:03:09] <gigaherz> 1.8 or 1.8.8?
L792[07:03:12] <ThePsionic> 1.8.8
L793[07:04:13] <gigaherz> oh and I made a mistake XD
L794[07:04:23] <gigaherz> in .withProperty(TYPE, (meta>>2)&2)
L795[07:04:40] <gigaherz> that would really be .withProperty(TYPE, WoodTypes.values()[(meta>>2)&2])
L796[07:05:21] <gigaherz> although it may be worth caching the result of values, I don't know if the method creates a new array every time or not
L797[07:05:51] ⇦ Quits: Lain|log (~Aphrael@baka.khobbits.co.uk) (Ping timeout: 190 seconds)
L798[07:06:10] <gigaherz> ThePsionic: oh wait I see
L799[07:06:12] ⇦ Quits: Hobbits|away (~khm@2600:3c03::21:1001) (Ping timeout: 195 seconds)
L800[07:06:13] <gigaherz> you have an explicit "number"
L801[07:06:18] ⇦ Quits: Ordinastie (crystal@bronyville.me) (Ping timeout: 192 seconds)
L802[07:06:23] <gigaherz> getID and such
L803[07:06:26] <gigaherz> you'd use that instead
L804[07:06:34] <gigaherz> and to go back, you'll need your own "fromID"
L805[07:06:38] <gigaherz> unless you use ordinals.
L806[07:07:41] ⇦ Quits: Jezza (~Jezza@185.44.151.55) (Read error: Connection reset by peer)
L807[07:07:52] <Nitrodev> gigaherz, was that all you had?
L808[07:08:00] <Nitrodev> about the IRecipe
L809[07:10:47] ⇨ Joins: Jezza (~Jezza@185.44.151.55)
L810[07:13:05] <gigaherz> Nitrodev: well there's getRecipeOtuput but that one doesn't get an ItemStack, it's only useful for returning a "previe" of the crafting result
L811[07:13:23] <gigaherz> recipes do stuff like
L812[07:13:35] <gigaherz> in getCraftingResult,
L813[07:13:47] <gigaherz> stack = getRecipeOtuput().copy();
L814[07:13:56] <gigaherz> stack.setTagCompound(x)
L815[07:14:00] <gigaherz> return stack;
L816[07:14:45] <gigaherz> it really isn't any more complex than that
L817[07:15:37] <gigaherz> just scan the inputs on matches(), assemble the crafting result on getCraftingResult, and remove inputs on getRemainingItems
L818[07:15:50] <gigaherz> that's why I suggested you look at the vanilla IRecipe implementations
L819[07:15:51] ⇦ Quits: itachi1706 (~itachi170@doserver.itachi1706.com) (Quit: Bye :P)
L820[07:15:52] <gigaherz> there's many of them
L821[07:16:17] ⇨ Joins: itachi1706 (~itachi170@doserver.itachi1706.com)
L822[07:17:06] ⇦ Quits: itachi1706 (~itachi170@doserver.itachi1706.com) (Client Quit)
L823[07:17:12] ⇨ Joins: JustRamon (~JustRamon@168.235.88.38)
L824[07:17:27] ⇨ Joins: itachi1706 (~itachi170@doserver.itachi1706.com)
L825[07:17:38] <gigaherz> and if vanilla isn't enough for you
L826[07:17:38] <JustRamon> Does anyone have a good tutorial for logs in minecraft 1.8? (Mainly the blockstates)
L827[07:17:55] <gigaherz> ProjectE, the tcon rework, etc
L828[07:18:04] ⇦ Quits: itachi1706 (~itachi170@doserver.itachi1706.com) (Client Quit)
L829[07:18:08] <JustRamon> (logblocks)
L830[07:18:14] <gigaherz> JustRamon: they aren't special ;P
L831[07:18:23] <JustRamon> Well
L832[07:18:34] <gigaherz> just learn the blockstate system, and you should figure it out ;P
L833[07:18:41] <gigaherz> all the logs are
L834[07:18:42] <Nitrodev> okay i need to go now but i wrote down everything you said giga so after i come back i'll get to it
L835[07:18:49] *** Nitrodev is now known as Nitroaway
L836[07:18:50] <gigaherz> is two properties: TYPE, and AXIS
L837[07:18:55] ⇦ Quits: Nitroaway (~Nitrodev@dcx0f0yfkf-htz8dy-dyt-3.rev.dnainternet.fi) (Quit: Leaving)
L838[07:19:02] ⇨ Joins: bochen415 (~bochen415@46.101.38.101)
L839[07:19:22] <gigaherz> the AXIS can be X,Y,Z which are the 3 orientations the log can take
L840[07:19:40] <gigaherz> and since the internal metadata on the save files is still only 4 bits
L841[07:19:47] <gigaherz> that leaves you up to 4 values for the TYPE property
L842[07:19:48] *** DRedhorse is now known as DRedAway
L843[07:19:55] <JustRamon> Thing is: I copied all the assets, changed the things to match my code, but still the block shows the missing texture, and the console says it doesn't find the model#none
L844[07:20:08] <gigaherz> then you copypasta'd
L845[07:20:17] <JustRamon> *#normal
L846[07:20:29] ⇨ Joins: itachi1706 (~itachi170@doserver.itachi1706.com)
L847[07:20:32] <gigaherz> okay first
L848[07:20:42] <gigaherz> did you override createBlockState in your class?
L849[07:21:07] <gigaherz> it would look a bit like
L850[07:21:39] ⇦ Quits: itachi1706 (~itachi170@doserver.itachi1706.com) (Client Quit)
L851[07:21:43] <JustRamon> I'm extending BlockRotatingPillar
L852[07:21:49] <gigaherz> protected BlockState createBlockState() { return new BlockState(this, TYPE, BlockLog.LOG_AXIS); }
L853[07:21:59] ⇨ Joins: itachi1706 (~itachi170@doserver.itachi1706.com)
L854[07:22:05] <gigaherz> ah then
L855[07:22:12] ⇦ Quits: Jezza (~Jezza@185.44.151.55) (Read error: Connection reset by peer)
L856[07:22:30] <JustRamon> It isn't exactly a log, thats why I used BlockRotatingPillar instead
L857[07:22:42] ⇨ Joins: Ordinastie (~Ordinasti@87-231-58-94.rev.numericable.fr)
L858[07:22:48] <gigaherz> oh
L859[07:22:51] <gigaherz> well still
L860[07:22:58] <gigaherz> assuming you use thesame mechanics
L861[07:23:04] *** TTFT|Away is now known as TTFTCUTS
L862[07:23:12] <gigaherz> where you have 2bit axis and 2bit type
L863[07:23:21] <gigaherz> you'll want your own custom TYPE property
L864[07:23:23] ⇨ Joins: Jezza (~Jezza@185.44.151.55)
L865[07:23:24] <gigaherz> using your own enum
L866[07:23:26] <gigaherz> with up to 4 values
L867[07:23:31] <gigaherz> and
L868[07:23:44] <gigaherz> protected BlockState createBlockState() { return new BlockState(this, TYPE, BlockRotatedPillar.AXIS); }
L869[07:23:49] <Ordinastie> any good artist who is bored and want to do some stuff ? :p
L870[07:24:57] <ThePsionic> gigaherz: What is an ordinal anyway
L871[07:25:10] <JustRamon> Allright, thanks
L872[07:25:30] <gigaherz> ThePsionic: each enum has an intrinsic order
L873[07:25:37] <gigaherz> in which the elements of the enum are laid out
L874[07:25:46] <gigaherz> that is, the order in which you wrote them in the enum code
L875[07:26:00] <gigaherz> enum.ordinal() gives you that value
L876[07:26:00] <ThePsionic> Mhm
L877[07:26:25] <gigaherz> then, EnumType.values() returns the array of elements, in their ordinal order
L878[07:26:25] <ThePsionic> Oh I see the issue
L879[07:26:26] <gigaherz> ro
L880[07:26:36] <gigaherz> EnumType.values()[X.ordinal()] == X
L881[07:26:38] <gigaherz> so*
L882[07:27:01] <ThePsionic> No wait
L883[07:27:07] <ThePsionic> Hmmm
L884[07:28:18] <ThePsionic> So what do I do instead at getMetaFromState
L885[07:31:41] ⇦ Quits: Something12 (~Something@s010634bdfa9eca7b.vs.shawcable.net) (Ping timeout: 190 seconds)
L886[07:36:55] <ThePsionic> gigaherz: ???
L887[07:37:12] <ThePsionic> I really can't get my head around this
L888[07:37:13] ⇦ Quits: Jezza (~Jezza@185.44.151.55) (Read error: Connection reset by peer)
L889[07:39:14] ⇨ Joins: Jezza (~Jezza@185.44.151.55)
L890[07:42:11] ⇦ Quits: fuj1n (~fuj1n@101.190.222.175) (Quit: Sleep)
L891[07:43:40] <Lumien> If i want to remove experience points from the player, can i just decrease EntityPlayer.experienceTotal or does that not work?
L892[07:46:30] ⇨ Joins: Nitrodev (~Nitrodev@dcx0f0yfkf-htz8dy-dyt-3.rev.dnainternet.fi)
L893[07:47:01] <Nitrodev> im back
L894[07:53:15] <Nitrodev> gigaherz, is the x of setTagCompound(x)
L895[07:53:15] <Nitrodev> the place of the recipe?
L896[07:56:33] <Ordinastie> Nitrodev, wut?
L897[07:56:39] <Nitrodev> nvm don't answer that
L898[07:56:42] ⇦ Quits: VikeStep (~VikeStep@101.184.165.77) (Read error: Connection reset by peer)
L899[07:57:14] <Nitrodev> and Ordinastie i'm trying to figure out IRecipe
L900[07:57:38] <Nitrodev> gigaherz, gave me a piece of code but i don't understand it so no reason to copy it
L901[07:57:41] <Ordinastie> that's pretty straight forward
L902[07:58:38] <Ordinastie> and you already have several examples in MC
L903[07:58:42] <Ordinastie> and Forge
L904[07:59:10] <Nitrodev> the examples in the vanilla classes are like a mess for me
L905[07:59:42] <Nitrodev> and googling IRecipe isn't an option
L906[07:59:53] <sham1> why not
L907[07:59:59] <Nitrodev> google assumes that i mean recipe
L908[08:00:19] <sham1> "IRecipie"
L909[08:00:22] <sham1> Use that
L910[08:00:33] <sham1> Quotes tell google that you mean what you say
L911[08:01:26] <Ordinastie> Nitrodev, http://bfy.tw/3Slu
L912[08:01:49] <sham1> thanks
L913[08:01:59] <Nitrodev> ...shut up...
L914[08:02:47] <gigaherz> Nitrodev: I gave incomplete code on purpose, because you are supposed to learn, not just blindly copy things
L915[08:03:03] <gigaherz> ThePsionic: sorry lunch was ready ;P
L916[08:03:12] <Nitrodev> i know it was an incomplete coed
L917[08:03:15] <Nitrodev> code*
L918[08:03:37] <gigaherz> so what part do you not understand?
L919[08:04:05] <gigaherz> do you at least know how to create a class and implement an interface? ;P
L920[08:04:36] <Nitrodev> creating classes, no problem bnut the latter
L921[08:04:41] <Nitrodev> nope
L922[08:04:47] <gigaherz> okay so you have knowledge gaps.
L923[08:05:02] <Ordinastie> Nitrodev, and that's why people tell you to learn Java first
L924[08:05:09] <gigaherz> https://docs.oracle.com/javase/tutorial/java/IandI/createinterface.html
L925[08:05:48] <gigaherz> https://docs.oracle.com/javase/tutorial/java/concepts/interface.html
L926[08:05:53] <gigaherz> maybe you need the concept first
L927[08:06:53] <Rallias> ...
L928[08:06:56] <Rallias> Uhm...
L929[08:07:02] * Rallias steps back out.
L930[08:07:09] <sham1> get over here
L931[08:07:14] ⇦ Quits: Jezza (~Jezza@185.44.151.55) (Read error: Connection reset by peer)
L932[08:07:22] * Rallias waddles back in and stabs sham1 in the dick
L933[08:08:05] ⇨ Joins: Jezza (~Jezza@185.44.151.55)
L934[08:08:06] * gigaherz plays mortal kombat theme in his head
L935[08:08:18] <sham1> now now
L936[08:08:45] <Rallias> Anyhow, finally got preparations done to remove reika's mods from private server pack.
L937[08:09:29] <gigaherz> the reika-fixer wasn't enough?
L938[08:09:29] <gigaherz> XD
L939[08:09:44] <sham1> "reika-fixer"
L940[08:10:07] <Rallias> The reika-fixer... you mean DanglingVanillaFixer-1.0.jar?
L941[08:10:07] <gigaherz> yeah, a coremod that makes reika's mods' version checks fail immediately
L942[08:10:18] <gigaherz> instead of trying to do HTTP requests
L943[08:10:36] <Rallias> gigaherz, I have a sneaking suspicion that's going to be integrated into fastcraft.
L944[08:10:44] <gigaherz> lol
L945[08:11:09] <gigaherz> and no I meant https://drone.io/github.com/diesieben07/Reika-1.6-Fix/files
L946[08:11:13] <Rallias> Er, nvm... he said he modified dragonapi, not added it to fastcraft
L947[08:12:33] <Nitrodev> question about the IRecipe: is it used as an API?
L948[08:12:39] <masa> welp, finally got around to porting my second to last mod to 1.8.8, still need to test it out on a server though
L949[08:12:42] ⇦ Quits: Jezza (~Jezza@185.44.151.55) (Ping timeout: 195 seconds)
L950[08:12:58] <gigaherz> Nitrodev: it's an interface
L951[08:12:59] <Rallias> Nitrodev, Google "implement interface"
L952[08:13:05] <Rallias> Anyhow, breakfast time.
L953[08:13:06] <gigaherz> in a sortof twisted sense, yes
L954[08:13:07] <gigaherz> but
L955[08:13:11] <gigaherz> it's more like the opposite
L956[08:13:23] <gigaherz> an API makes use of interfaces
L957[08:13:33] <gigaherz> but in a way
L958[08:13:43] <Nitrodev> but the website you gave me has "Interfaces as APIs" in the bottom
L959[08:13:59] <gigaherz> well really, it's inconsequential
L960[08:14:06] <gigaherz> you don't care if it's an API or not
L961[08:14:11] <gigaherz> you just implement the interface
L962[08:14:15] <Nitrodev> okay
L963[08:14:17] <sham1> you implement it yeah
L964[08:14:43] <gigaherz> the important thing is that you understand that an interface is a "contract"
L965[08:14:48] <gigaherz> by implementing the interface
L966[08:14:49] <Nitrodev> so the doc i shuould be reading is this? https://docs.oracle.com/javase/tutorial/java/IandI/usinginterface.html
L967[08:14:59] <gigaherz> you are requiredto provide the methods of the interface
L968[08:15:09] <gigaherz> nothing else, nothing more
L969[08:15:27] <gigaherz> that page simply explains how the interface works in terms of java programming
L970[08:15:37] <Nitrodev> yeah so interfaces are like arrays of methods
L971[08:15:39] <sham1> And this is why we tell people to learn java before they start modding
L972[08:15:44] <sham1> Sorta yeh
L973[08:15:48] <sham1> But not really
L974[08:15:49] <gigaherz> in a very twisted way
L975[08:15:56] <gigaherz> there is an internal "method table"
L976[08:15:57] <Nitrodev> for fucks sake
L977[08:16:09] ⇨ Joins: Elec332 (~Elec332@ip5456d4a5.speed.planet.nl)
L978[08:16:19] <gigaherz> but really, it's just a "promise to have those methods available"
L979[08:16:45] <Nitrodev> okay
L980[08:16:46] <gigaherz> it gives the code referencing your object the assurance that the methods exist
L981[08:17:09] <gigaherz> as far as the codei tself is concerned, that's all that matters
L982[08:17:12] <gigaherz> but on a semantic level
L983[08:17:18] <gigaherz> an interface can have certain implications
L984[08:17:19] <gigaherz> like
L985[08:17:45] <gigaherz> if you implement Iterable<T>, your iterator() method is supposed to return an iterator that goes through the contents
L986[08:17:51] <gigaherz> you could return random numbers
L987[08:18:02] <gigaherz> but then people would be confused when they use it
L988[08:18:06] <sham1> You can think of interfaces akin to any abstract class where you have to implement all the methods
L989[08:18:12] <gigaherz> so although it's not a strict requirement
L990[08:18:24] <gigaherz> an interface should always be used for the purpose it's designedto represent
L991[08:18:38] <gigaherz> Iterable -> iterates the contents of the container
L992[08:18:44] <gigaherz> List -> the container is a list
L993[08:18:45] <kimfy> Pretty sure if you don't understand interfaces you don't understand abstract classes
L994[08:18:55] <gigaherz> IRecipe -> the object represents a crafting recipe in Minecraft
L995[08:19:36] <Nitrodev> i understand that
L996[08:19:50] <gigaherz> kimfy: well someone with ONLY C++ background may not have seen the "interface" as a separate concept
L997[08:20:01] <sham1> ye
L998[08:20:06] <gigaherz> since a C++ "interface" is just an abstract class with pure virtual methods
L999[08:20:24] <sham1> Interfaces are a direct consequence of needing multi-inheritance and not having it in Java
L1000[08:20:41] <gigaherz> no, interfaces are a programming contract
L1001[08:21:02] <sham1> Well with multi-inheritance it would not be needed
L1002[08:21:03] <Nitrodev> what other usages does the interfaces have
L1003[08:21:07] <gigaherz> they are designedto avoid multiple-inheritance without losing the ability to have multiple ... interfaces
L1004[08:21:15] ⇨ Joins: Jezza (~Jezza@185.44.151.55)
L1005[08:21:17] <Nitrodev> because for me mod atm this is not NEEDED
L1006[08:21:24] <Nitrodev> like this IRecipe thing
L1007[08:21:32] <Nitrodev> i can work around it
L1008[08:21:37] <gigaherz> concrete uses? infinite
L1009[08:21:37] <Ordinastie> so, FML apparently catches but silences the "broken aspect ratio and not an animation" message :x
L1010[08:21:38] <sham1> It marks the object you get from it as a certain type
L1011[08:21:45] <gigaherz> but in general terms: that one only
L1012[08:21:46] <sham1> Like when you implement IRecipe
L1013[08:21:58] ⇦ Quits: Jezza (~Jezza@185.44.151.55) (Read error: Connection reset by peer)
L1014[08:22:00] <Nitrodev> yeah like in modding
L1015[08:22:03] <sham1> Your class' instance is also an instance of IRecipe
L1016[08:22:04] <Nitrodev> mc modding
L1017[08:22:07] <gigaherz> the interface is nothing more and nothing less than a contract ensuring that an object has a specific set of methods publicly available for use
L1018[08:22:23] <Nitrodev> that's actually really simple
L1019[08:22:29] <gigaherz> in terms of modding, there's a bunch of interfaces you'll come across eventually
L1020[08:22:38] <gigaherz> IRecipe is one
L1021[08:22:44] <gigaherz> ITickable is another
L1022[08:22:51] *** Vigaro|AFK is now known as Vigaro
L1023[08:22:53] <sham1> IFluidHandler if you want to go there
L1024[08:22:57] <gigaherz> ITileEntityProvider is one you should avoid if you see it
L1025[08:23:01] <Nitrodev> are containers one?
L1026[08:23:04] <gigaherz> (forge has a better alternative)
L1027[08:23:06] <gigaherz> ...
L1028[08:23:06] <Nitrodev> like chests etc.
L1029[08:23:21] <gigaherz> yes, IInventory
L1030[08:23:24] <gigaherz> and ISidedInventory
L1031[08:23:39] <sham1> ISidedInventoy being a special case of IImnventory
L1032[08:23:40] <gigaherz> (the latter adds to the former)
L1033[08:23:47] <Nitrodev> well then
L1034[08:23:54] <sham1> Bringing it into a hierarchy
L1035[08:24:03] <Nitrodev> so even if i TRY to stay clear or interfaces they will show up
L1036[08:24:08] <gigaherz> Minecraft, and specially Forge
L1037[08:24:17] <gigaherz> makes use of almost all the features available in JAva
L1038[08:24:20] <gigaherz> one way or another
L1039[08:24:20] <Nitrodev> since my mod will be about containers
L1040[08:24:30] <sham1> Inventories eh
L1041[08:24:35] <gigaherz> yes
L1042[08:24:45] <Nitrodev> like the anme says it Warehouse STORAGE
L1043[08:24:50] <Nitrodev> name*
L1044[08:25:08] <gigaherz> but as you may have been able to see
L1045[08:25:14] <gigaherz> the concept of interface is really not complicated
L1046[08:25:23] <gigaherz> interface HasA { void A(); }
L1047[08:25:40] <gigaherz> if you implement HasA, you will be required by the compiler to have a public void A() {} method
L1048[08:25:45] ⇨ Joins: H1N1theI (~h1n1thei@2601:5c2:8100:5898:daeb:97ff:fee9:f781)
L1049[08:25:48] <gigaherz> the actual code inside the method doesn't matter
L1050[08:26:05] <sham1> it matters but nothing tells you it has to be like that
L1051[08:26:08] <gigaherz> all that matters is that it's public and has the right name, return value, and paramters
L1052[08:26:20] <sham1> the functionality can be whatever
L1053[08:26:24] <gigaherz> yeah
L1054[08:26:41] ⇨ Joins: Jezza (~Jezza@185.44.151.55)
L1055[08:26:41] <gigaherz> as I said earlier, the interface often has an attached expectation
L1056[08:26:53] <Ordinastie> that's a basic programming concept, you shouldn't be modding if you don't know those concepts
L1057[08:27:29] <sham1> you dont need to know too much programming to jump into modding
L1058[08:27:34] <sham1> Basics can get you quite far
L1059[08:27:44] <gigaherz> sham1: yes, but he's lacking in the basics
L1060[08:27:44] <gigaherz> XD
L1061[08:27:51] <gigaherz> that's the issue
L1062[08:27:51] <sham1> yeah
L1063[08:28:13] <sham1> learning the basic java syntax and class inheritance really helps going forward
L1064[08:28:27] <sham1> More "advanced" topics like reflection are not as important in the beginning
L1065[08:28:31] <gigaherz> variables and fields, methods, classes, packages and interfaces,
L1066[08:28:47] <gigaherz> inheritance and overrides
L1067[08:28:54] <gigaherz> getters and setters
L1068[08:29:44] <PaleoCrafter> darn Java generics ._.
L1069[08:29:49] <gigaherz> that's all general concepts that you really need to be aware of
L1070[08:29:52] <sham1> oh yeah
L1071[08:29:59] <sham1> Generics is also something to learn
L1072[08:30:04] <Ordinastie> basic programming knowledge
L1073[08:30:10] <gigaherz> generics are... partially needed
L1074[08:30:17] <gigaherz> you don't need to know how they work
L1075[08:30:29] <sham1> You need to know how to use them
L1076[08:30:44] <gigaherz> yeah
L1077[08:30:51] <sham1> So you can have more advanced data structures than just an array
L1078[08:31:00] <gigaherz> which requires knowing the concept of type erasure
L1079[08:31:10] <sham1> Which is BS btw
L1080[08:31:13] <gigaherz> otherwise you end up shooting yourself in the feet
L1081[08:31:44] <gigaherz> or the arm, because to the compile, it's al lthe same
L1082[08:31:48] <gigaherz> compiler*
L1083[08:32:03] <Nitrodev> one of the problems for even LEARNING programming (any language not just java) is language
L1084[08:32:13] <Nitrodev> sham1 knows what i'm talking about
L1085[08:32:21] <sham1> You have trouble in English?
L1086[08:32:30] <sham1> To be fair
L1087[08:32:35] <sham1> They do teach it here so late
L1088[08:32:38] <Nitrodev> not much trouble
L1089[08:32:40] <gigaherz> I'm from Spain
L1090[08:32:48] <Nitrodev> 3rd grade isnt late
L1091[08:32:51] <gigaherz> heck most people here are non-native
L1092[08:33:05] <Nitrodev> i leanrd english when i was on 2nd grade
L1093[08:33:19] <gigaherz> I can't even remember when I started
L1094[08:33:27] <Nitrodev> but i still have trouble with the most "advanced words"
L1095[08:33:31] <gigaherz> but I spent quite a lot of time on the internet ;P
L1096[08:33:40] <gigaherz> watching english tv shows
L1097[08:33:44] <Nitrodev> my learning was from games
L1098[08:33:45] <gigaherz> reading english websites
L1099[08:33:49] <gigaherz> chatting in english
L1100[08:33:54] <Nitrodev> ^^
L1101[08:34:00] <gigaherz> it's a matter of practice
L1102[08:34:13] <Nitrodev> yeah
L1103[08:34:27] <Nitrodev> i hate this kind of parameters in mc ... p_i45327_1_
L1104[08:34:34] <gigaherz> I'm 31, I have had internet since I was 14
L1105[08:34:38] <gigaherz> english was unavoidable ;P
L1106[08:34:38] <Nitrodev> sure i know what that is...
L1107[08:34:50] <gigaherz> it just means it's unnamed
L1108[08:34:58] <gigaherz> you can contribute new names for things to mcp
L1109[08:35:10] <Nitrodev> i'm not gonna say my age because you would laugh
L1110[08:35:12] <Nitrodev> ah
L1111[08:35:57] <gigaherz> [15:35] -MCPBot_Reborn- sp <srg name> <new name> [<comment>] : Sets the MCP name and comment for the SRG method parameter specified. SRG index can also be used.
L1112[08:37:10] <sham1> Well as far as programming goes
L1113[08:37:25] <sham1> Nitro, you propably could get a Java book from library in Finnish
L1114[08:37:34] <sham1> I remember a good one
L1115[08:37:47] ⇦ Quits: Jezza (~Jezza@185.44.151.55) (Read error: Connection reset by peer)
L1116[08:39:20] ⇨ Joins: Jezza (~Jezza@185.44.151.55)
L1117[08:40:48] <sham1> Also, age really does not matter as far as this goes
L1118[08:42:45] <masa> well isn't it usually thought that it is easier to learn things when you are young?
L1119[08:43:24] <gigaherz> the brain is more flexible
L1120[08:43:33] <gigaherz> it's easier for young neurons to form new connections
L1121[08:43:38] <ThePsionic> You can't teach an old dog new tricks
L1122[08:43:46] <gigaherz> but you CAN teach an old dog new tricks
L1123[08:43:53] <gigaherz> ;P
L1124[08:43:58] <ThePsionic> Shh
L1125[08:44:06] <gigaherz> the mythbusters proved so!
L1126[08:44:06] <gigaherz> ;P
L1127[08:44:08] <masa> you can, but he demands more treats for learning them :p
L1128[08:44:15] <Nitrodev> lol
L1129[08:44:17] <Vigaro> I know a guy who has been learning to code since the age of 8
L1130[08:44:20] <gigaherz> it takes extra patience
L1131[08:44:26] <Vigaro> He is now at 18 and is almost a guru
L1132[08:44:33] <ThePsionic> gigaherz: bring me a 13yo dog that can code and then come back to me
L1133[08:44:43] <sham1> I learnt to program at the age of 9
L1134[08:44:45] <gigaherz> ThePsionic: coding is a bit more than a trick
L1135[08:44:45] <gigaherz> ;P
L1136[08:44:50] <ThePsionic> Lol
L1137[08:44:50] <sham1> 8 years ago
L1138[08:45:11] <Nitrodev> sham1, i learned to program around 2 years ago
L1139[08:45:13] <gigaherz> I maybe able to teach a dog to press one of those programmable "emergency" buttons
L1140[08:45:17] <Nitrodev> that was when i started
L1141[08:45:21] <gigaherz> teach the dog to press it
L1142[08:45:27] <ThePsionic> Sometimes I wonder why I'm trying to port this project
L1143[08:45:28] <gigaherz> and then program the button to write a hello world, and compile it
L1144[08:45:29] <gigaherz> XD
L1145[08:45:31] <sham1> Well that is conditioning
L1146[08:45:40] <Nitrodev> after that i kept having 2 month long breaks
L1147[08:45:48] <ThePsionic> It's so much work just trying to get it to working state
L1148[08:45:54] <Nitrodev> during the breaks i forgot almost everything
L1149[08:46:03] <Nitrodev> so #notusefull
L1150[08:46:17] <sham1> And while we still can experience conditioning, it is the cognitive learning that is the most important for a person
L1151[08:46:54] <masa> bleh I need to do so much testing for one of my mods before I feel comfortable releasing it as a stable version ;_;
L1152[08:47:00] <ThePsionic> sham1: i thought the most important thing for a person was oxygen
L1153[08:47:16] <ThePsionic> masa: alpha builds forever
L1154[08:47:18] <gigaherz> on the right proportion
L1155[08:47:22] <gigaherz> too much oxygen kills
L1156[08:47:23] <gigaherz> XD
L1157[08:47:24] <sham1> More like water and sodiumchloride
L1158[08:47:34] <Nitrodev> btw is there a way to make a tool (that takes damage) but can't mine anything
L1159[08:47:49] <ThePsionic> Yes
L1160[08:47:56] <sham1> what would it be able to do then
L1161[08:47:57] <gigaherz> oxygen > warmth > water > food > *
L1162[08:48:05] <masa> ThePsionic: I have an alpha build of it out, it has seen 6 + 2 downloads so far... (alpha-1 and alpha-2)
L1163[08:48:11] <sham1> and where would it take the damage
L1164[08:48:13] <ThePsionic> sham1: onItemRightClick
L1165[08:48:19] ⇦ Quits: Ordinastie (~Ordinasti@87-231-58-94.rev.numericable.fr) (Quit: Leaving)
L1166[08:48:25] <sham1> ...
L1167[08:48:36] <Nitrodev> on crafting
L1168[08:48:43] <sham1> Ah
L1169[08:48:54] <sham1> It does not need to be an actual tool then
L1170[08:48:56] ⇨ Joins: Ordinastie (crystal@bronyville.me)
L1171[08:49:00] <ThePsionic> masa: I have 60 downloads across 5 alpha builds on the only public mod I have
L1172[08:49:06] <gigaherz> Nitrodev: you can have an item that has a damage
L1173[08:49:06] <sham1> It could be any item
L1174[08:49:10] <Nitrodev> oh so no extends ItemTool?
L1175[08:49:13] <gigaherz> and make the IRecipe keep the item
L1176[08:49:13] ⇨ Joins: Lain|log (~Aphrael@baka.khobbits.co.uk)
L1177[08:49:19] ⇨ Joins: Hobbits|away (~khm@2600:3c03::21:1001)
L1178[08:49:24] <gigaherz> but increase the damage value of the item
L1179[08:49:25] <sham1> Nitrodev, it does not HAVE to exten ItemTool
L1180[08:49:29] <sham1> it can if you want to
L1181[08:50:35] <Nitrodev> okay
L1182[08:51:16] ⇦ Quits: Lain|log (~Aphrael@baka.khobbits.co.uk) (Remote host closed the connection)
L1183[08:51:16] ⇦ Quits: Hobbits|away (~khm@2600:3c03::21:1001) (Remote host closed the connection)
L1184[08:51:26] <Nitrodev> but wait you need Irecipe for that?
L1185[08:52:29] <gigaherz> yes
L1186[08:52:36] <gigaherz> since you have to manually cause it to get damaged on crafting
L1187[08:52:47] <gigaherz> well, maybe you could use the crafting event
L1188[08:52:55] <gigaherz> but hat'd be a hack
L1189[08:52:59] <gigaherz> better to implement the recipe manually
L1190[08:53:08] ⇨ Joins: Hobbits|away (~khm@2600:3c03::21:1001)
L1191[08:53:12] ⇨ Joins: Lain|log (~Aphrael@baka.khobbits.co.uk)
L1192[08:54:32] <Nitrodev> a hack?
L1193[08:55:04] <gigaherz> a kludge
L1194[08:55:17] ⇦ Quits: Jezza (~Jezza@185.44.151.55) (Ping timeout: 195 seconds)
L1195[08:55:30] <gigaherz> ugly code that I can't teach you to write without feeling bad ;P
L1196[08:55:45] <Nitrodev> my code is ungly anyway
L1197[08:55:54] <sham1> it would become uglier
L1198[08:55:54] <Nitrodev> i don't see the problem
L1199[08:56:00] <Nitrodev> i doubt it
L1200[08:56:15] <gigaherz> please do the IRecipe, it's not that hard
L1201[08:56:21] <gigaherz> the IDE will almost do it for you ;P
L1202[08:56:32] <gigaherz> just add " implements IRecipe" to the class declaration
L1203[08:56:43] <gigaherz> and then tell the IDE to add all the missing methods
L1204[08:56:46] <gigaherz> ;P
L1205[08:57:06] <Nitrodev> okay so i make a class that is essentially a recipe right?
L1206[08:57:13] <gigaherz> yes
L1207[08:57:14] *** zz_SnowShock35 is now known as SnowShock35
L1208[08:57:30] <gigaherz> class YourRecipe implements IRecipe
L1209[08:58:47] <Nitrodev> okay implemented the recipes
L1210[08:58:53] <Nitrodev> methods***
L1211[08:59:02] <gigaherz> okay then
L1212[08:59:07] <gigaherz> remember what I told you earlier?
L1213[08:59:30] <Nitrodev> which one
L1214[08:59:38] <gigaherz> about the methods in IRecipe
L1215[08:59:45] <gigaherz> I explained each one for you
L1216[08:59:57] <Nitrodev> i have the notepad opened here
L1217[09:00:08] <Nitrodev> where i copied all you said about the methods
L1218[09:00:21] *** Keridos|away is now known as Keridos
L1219[09:00:39] <gigaherz> yeap then that's your next task
L1220[09:00:51] <gigaherz> make sure you return the right number from the recipe size method
L1221[09:01:14] <gigaherz> (4 or 9 are the common numbers, so you can stick to those if you are unsure)
L1222[09:01:17] <Nitrodev> so all i ahve to do in the getrecipesize is change the number after return?
L1223[09:01:25] <gigaherz> yes
L1224[09:01:44] <gigaherz> then in matches(inv) you want to access the contents of the inventory
L1225[09:01:50] <gigaherz> to see if each slot has a valid value
L1226[09:02:15] <Nitrodev> with value being the item?
L1227[09:02:25] <gigaherz> the value would be an ItemStack
L1228[09:02:41] <Nitrodev> so that's kind of yes
L1229[09:02:54] <gigaherz> yes
L1230[09:04:46] <shadowfacts> How would I send a vanilla packet to all players in a certain range (equivalent to SNW sendToAllAround)? I specifically want to send a S29PacketSoundEffect
L1231[09:04:58] <Nitrodev> i think i'm kind of getting this
L1232[09:05:12] <gigaherz> shadowfacts: world.playSound?
L1233[09:05:12] <Nitrodev> while looking at the RecipesBanners class
L1234[09:06:05] <gigaherz> shadowfacts: calling world.playSound from the server should send the sound to everyone within range, I believe
L1235[09:06:09] <Nitrodev> gigaherz, so in matches the first thing i want to do is make ItemStack variables for the inputs
L1236[09:06:15] <Nitrodev> right?
L1237[09:06:18] <ThePsionic> Looking at other implementations is a good way to learn :P
L1238[09:06:22] <gigaherz> not necessary
L1239[09:06:32] <gigaherz> you want to check what is already in the slots
L1240[09:06:38] <gigaherz> and see ifthe contents are what you need
L1241[09:06:38] <gigaherz> like
L1242[09:07:00] ⇨ Joins: Brokkoli (~Brokkoli@f054181209.adsl.alicedsl.de)
L1243[09:07:03] <Nitrodev> for loops are for those checking right?
L1244[09:07:12] <gigaherz> if you need slot 0 to be empty, you can do: if(inv.getStackInSlot(0) != null) return false;
L1245[09:07:58] <shadowfacts> alrighty
L1246[09:07:59] <gigaherz> if you need slot 1 to be paper, you can do stack=inv.getStackInSlot(1); if(stack == null ||stack.getItem() != Items.paper) return false;
L1247[09:08:10] <gigaherz> if you want your recipe to be shaped
L1248[09:08:16] <gigaherz> that's enough
L1249[09:08:17] <gigaherz> but
L1250[09:08:24] <gigaherz> if you want it to be shapeless
L1251[09:08:39] <gigaherz> you will want to have some variables to keep track of the items you have already seen
L1252[09:08:41] ⇨ Joins: Szernex (~Szernex@91-113-118-42.adsl.highway.telekom.at)
L1253[09:08:48] <gigaherz> and if you see an item twice, you return false
L1254[09:08:52] <gigaherz> and if at the end
L1255[09:08:58] <gigaherz> any of the needed items hasn't feen found
L1256[09:09:00] <gigaherz> you still return false
L1257[09:09:07] <gigaherz> only return true if theitems have been seen once and only once
L1258[09:09:26] <gigaherz> the beauty of IRecipe, is that you are not restricted to the shaped/shepeless concept
L1259[09:09:29] <gigaherz> you can allow anything
L1260[09:09:53] <gigaherz> like, you could makea crazy recipe that requires items to be in a certain order
L1261[09:09:58] <gigaherz> but regardless of the slot they are in
L1262[09:10:04] <gigaherz> just so long as B comes after A in the array
L1263[09:10:36] <gigaherz> justremember to check for nulls
L1264[09:10:42] <gigaherz> ;P
L1265[09:11:31] <Nitrodev> so varaibles should be like this? http://pastebin.com/gzrKtdtU
L1266[09:11:47] <Nitrodev> i just took those from the RecipesBanners class
L1267[09:16:19] <shadowfacts> gigaherz, for future reference, on the server side, playSound does nothing b/c it's not implemented by WorldServer, but playSoundEffect does work
L1268[09:16:43] <gigaherz> oh
L1269[09:16:46] <gigaherz> oops then ;P
L1270[09:18:24] *** Jared is now known as Jared|Away
L1271[09:24:23] ⇨ Joins: cppchriscpp (~cppchrisc@c-76-24-45-127.hsd1.nh.comcast.net)
L1272[09:24:49] <Nitrodev> itemStack2.getItem() != ModItems.itemSaw
L1273[09:25:19] <Nitrodev> i know that that means that itemStack2 should be ModItems.itemSaw but does IDEA understand that
L1274[09:25:42] <gigaherz> what no
L1275[09:25:46] <gigaherz> that means the item is NOT itemSaw
L1276[09:25:55] <Nitrodev> like is that the same as declaring a variable itemStack2 = ModItems.itemSaw
L1277[09:26:08] <gigaherz> no!
L1278[09:26:13] <Nitrodev> yeh i know != means not
L1279[09:26:15] <Nitrodev> oh
L1280[09:26:32] <gigaherz> if you want a variable
L1281[09:26:34] <gigaherz> you declare it.
L1282[09:27:30] <sham1> This will be full of fluid soon <3
L1283[09:27:31] <sham1> http://i.imgur.com/1pnd7ls.jpg
L1284[09:27:39] <ThePsionic> Huehue
L1285[09:27:58] <Nitrodev> yey i'm not the only one with bad textures
L1286[09:28:14] <ThePsionic> :P
L1287[09:28:15] <gigaherz> Placeholderine? ;P
L1288[09:28:29] <sham1> that placeholder is the valve block
L1289[09:28:37] <gigaherz> ah ;P
L1290[09:28:44] <gigaherz> so a Placeholderium block
L1291[09:28:50] <gigaherz> ;P
L1292[09:28:51] <Nitrodev> does this look good? http://pastebin.com/Y1FikPQg
L1293[09:28:53] <ThePsionic> Nice
L1294[09:28:59] <Nitrodev> i'm pretty sure it looks weird
L1295[09:29:15] <Nitrodev> as i copied it from RecipesBanners class
L1296[09:29:20] <gigaherz> no Nitrodev, it does not look good ;P
L1297[09:29:21] <gigaherz> XD
L1298[09:29:31] <gigaherz> that code shows just how lacking your understanding of Java is
L1299[09:29:33] <Nitrodev> i kinda guessed that
L1300[09:29:58] <ThePsionic> itemStack2 is never null, and is being filled with an Item instead
L1301[09:30:05] <gigaherz> first, you are assigning an Item, to an ItemStack variable
L1302[09:30:07] <gigaherz> second
L1303[09:30:10] <gigaherz> that line lacks a ;
L1304[09:30:26] <gigaherz> third, you are fixing the variable to a value, instead of reading it from the inventory inside the loop
L1305[09:30:30] <Nitrodev> oh that line
L1306[09:30:32] <sham1> wouldnt his IDE tell him about that
L1307[09:30:44] <Nitrodev> i made it different
L1308[09:30:47] <gigaherz> fourth, you are never assigning the values of the variables,
L1309[09:30:48] <sham1> the semicolon I mean
L1310[09:30:54] <Nitrodev> that code in the pastebin is no longer the code i use
L1311[09:30:57] <ThePsionic> It should sham1
L1312[09:31:01] <Nitrodev> i was
L1313[09:31:04] <Nitrodev> it*
L1314[09:31:12] <gigaherz> fifth, the loop is rejecting the recipe if ANY slot is not a saw
L1315[09:31:26] <gigaherz> which means, you must fill the crafting grid with saws for it to pass
L1316[09:31:32] <Nitrodev> oh
L1317[09:31:33] <Nitrodev> XD
L1318[09:31:38] <gigaherz> but sixth,
L1319[09:32:00] <gigaherz> since you never assigned the value to itemstack2, even if you wereto fix the first issue
L1320[09:32:01] <ThePsionic> This list is endless!
L1321[09:32:05] <gigaherz> yourcode owuld never enter the if
L1322[09:32:15] <gigaherz> which means the return at the end owuld always returnfalse
L1323[09:32:28] <Nitrodev> i removed the return at the end
L1324[09:32:37] <Nitrodev> i realized that i while ago
L1325[09:32:46] <gigaherz> 7th, you have inside the loop an if that checks if both are null
L1326[09:32:53] <gigaherz> so if the first slot was empty
L1327[09:32:54] <Nitrodev> but as i said: <Nitrodev> i'm pretty sure it looks weird
L1328[09:32:54] <Nitrodev> <Nitrodev> as i copied it from RecipesBanners class
L1329[09:32:58] <gigaherz> it would immediately exit the function
L1330[09:33:23] <gigaherz> soyeah
L1331[09:33:35] <gigaherz> that code you linked, is wrong in many many levels ;P
L1332[09:33:44] <Nitrodev> yeah i fixed alot of stuff while you were mocking me
L1333[09:33:52] <sham1> He was not mocking you
L1334[09:33:59] <ThePsionic> IDEs can not help you when your code is just plain bad
L1335[09:34:08] <gigaherz> I was only slightly mocking, I was being mostly serious
L1336[09:34:10] <Nitrodev> okay whatever
L1337[09:34:22] <Nitrodev> the thing i'm about to ask is not related to java
L1338[09:34:36] <sham1> okay
L1339[09:34:39] <ThePsionic> Let's hear it
L1340[09:34:46] <Nitrodev> what does this mean : inventoryCrafting.getSizeInventory()
L1341[09:35:01] * gigaherz facedesks
L1342[09:35:01] <Nitrodev> does that echeck the crafting inv size?
L1343[09:35:08] <ThePsionic> How is that not Java related
L1344[09:35:13] <sham1> It gets the size of the inventory
L1345[09:35:16] <Nitrodev> how is it not
L1346[09:35:21] <Nitrodev> the players?
L1347[09:35:32] <gigaherz> inventoryCrafting -> identifier, referes to the method parameter
L1348[09:35:34] <sham1> The crafting inventory
L1349[09:35:41] <Nitrodev> ah got it
L1350[09:35:43] <ThePsionic> The crafting GUI is an inventory too
L1351[09:35:46] <gigaherz> . -> member access operator, refers to the identifier seen right before it
L1352[09:35:53] <ThePsionic> Anything with a slot is
L1353[09:36:00] <gigaherz> getSizeInventory -> identifier, method name
L1354[09:36:07] <gigaherz> () -> function call operator
L1355[09:36:13] <Nitrodev> OKAY I GET IT
L1356[09:36:19] <sham1> no giga
L1357[09:36:19] <Nitrodev> it was related to java then
L1358[09:36:24] <sham1> That is declaring a lambda :P
L1359[09:36:28] <Nitrodev> i made that mistake
L1360[09:36:34] <ThePsionic> sham1 pls
L1361[09:36:41] ⇨ Joins: Temportalist (uid37180@id-37180.charlton.irccloud.com)
L1362[09:36:50] <gigaherz> inventoryCrafting.getSizeInventory() --> function call to a method inside inventoryCrafting, which happens to be a parameter in the function
L1363[09:37:17] ⇦ Quits: Firedingo (~Firedingo@CPE-121-217-154-65.lnse2.cht.bigpond.net.au) (Ping timeout: 195 seconds)
L1364[09:37:19] <Nitrodev> no need to explain it
L1365[09:37:27] <gigaherz> I like to finish what I start ;P
L1366[09:37:34] <Nitrodev> you could have just said that it is elated to java
L1367[09:37:44] <Nitrodev> and then i would have guessed how
L1368[09:37:44] <gigaherz> yo uare writing a mod
L1369[09:37:49] <Nitrodev> no shit
L1370[09:37:49] <sham1> also, that function call is not a parameter to a method
L1371[09:37:50] <gigaherz> EVERYTHING is java
L1372[09:37:54] <sham1> It is just a for-loop
L1373[09:38:17] <sham1> Everything is Java except for Scala, Clojure, Groovy et
L1374[09:38:21] <sham1> et cetera*
L1375[09:38:39] <gigaherz> sham1, I meant that "inventoryCrafting" is a parameter, not the result of the call
L1376[09:38:39] <gigaherz> ;p
L1377[09:38:46] <Nitrodev> hold on
L1378[09:39:01] <sham1> it is the instance you call the method with
L1379[09:39:08] <sham1> It technically is a parameter
L1380[09:39:18] <Nitrodev> does this look better?: http://pastebin.com/VhysUZZN
L1381[09:39:24] <sham1> But this is getting too close to the JVM internals
L1382[09:39:32] <Nitrodev> i know it doesn't have the return at the functions end but
L1383[09:39:40] <gigaherz> it looks less bad, yes
L1384[09:39:48] <gigaherz> with the current code
L1385[09:39:53] <gigaherz> assumingyou added a return at the end
L1386[09:40:02] <gigaherz> it would require you to have ALL slots in the inventory be saws
L1387[09:40:12] <Nitrodev> okay so that is still bad
L1388[09:40:17] <gigaherz> yes
L1389[09:40:20] <gigaherz> but less bad ;P
L1390[09:40:26] <sham1> Let me give you an example
L1391[09:40:30] <gigaherz> what you want to do is
L1392[09:40:30] <Nitrodev> okay
L1393[09:40:39] <gigaherz> store the itemStack2 as you do now
L1394[09:40:42] <gigaherz> that's not wrong
L1395[09:40:44] <gigaherz> then
L1396[09:41:12] <gigaherz> if(itemStack2.getItem() == ModItems.itemSaw)
L1397[09:41:45] <gigaherz> if (itemStack1 != null) return false; // to disallow having the same item twice
L1398[09:41:50] <gigaherz> itemStack1 = itemStack2;
L1399[09:41:57] <gigaherz> ...
L1400[09:42:07] <gigaherz> well, you'd wrap the last two in {} since they are part of the same if
L1401[09:42:26] *** fry is now known as fry|sleep
L1402[09:42:37] <sham1> This is the absolute basic
L1403[09:42:39] <sham1> http://pastebin.com/yJgmZPWf
L1404[09:42:50] <sham1> It requires the saw to be there and nothing else
L1405[09:43:06] <gigaherz> you didn't check for the saw being there twice, sham1 ;P
L1406[09:43:17] <sham1> That's for him to do
L1407[09:43:25] <sham1> I only provided an example
L1408[09:43:25] <gigaherz> yeah but let it be clear
L1409[09:43:27] <gigaherz> with your code
L1410[09:43:34] <gigaherz> it allows anywhere from 1 to 9 saws
L1411[09:43:38] <Nitrodev> sham1, i have it backwards
L1412[09:43:42] <Nitrodev> well sorta
L1413[09:43:56] <Nitrodev> yeah i have it backwards
L1414[09:44:09] <gigaherz> yes it's part of why yours was bad ;P
L1415[09:44:21] <gigaherz> sham1's code looks for saws
L1416[09:44:28] <sham1> Time to do some multiblock coding
L1417[09:44:28] <gigaherz> yours looks for non-saws
L1418[09:44:30] <sham1> Oh joy
L1419[09:45:24] <ThePsionic> Modding! :D
L1420[09:45:30] <Nitrodev> now i'm just kind of confused
L1421[09:45:38] <Nitrodev> i have two examples here
L1422[09:46:03] <sham1> yes
L1423[09:46:07] <gigaherz> copying from examples is meaningless ifyou don't *understand* what the examples are doing
L1424[09:46:15] <sham1> ^
L1425[09:46:18] <Nitrodev> i know
L1426[09:46:22] <sham1> same with base classes ;)
L1427[09:46:30] <Nitrodev> i've reminded me enough times already
L1428[09:47:27] <Nitrodev> okay i'm gonna pastebin my current code and i'll add comments to say what i THINK is happening in each line
L1429[09:47:56] <sham1> Anyway Giga, do you know of any way to make the world automatically call Block#onNeighbourBlockChanged
L1430[09:48:03] <sham1> On my own custom little update
L1431[09:48:49] <sham1> or "onNeighborBlockChanged" because different spelling behind the atlantic ocean
L1432[09:50:01] <ThePsionic> sham1: It has a mapping name, and that's the name :P
L1433[09:50:15] <sham1> yeah
L1434[09:50:21] <sham1> But back to the relevant point
L1435[09:50:41] <ThePsionic> /shrug tbh
L1436[09:50:52] <gigaherz> what?
L1437[09:50:54] ⇨ Joins: Dante666 (webchat@c33-180.i07-9.onvol.net)
L1438[09:51:04] <sham1> Well World#notifyBlockOfStateChange calls it
L1439[09:51:09] <sham1> Time to see what calls that
L1440[09:51:39] <gigaherz> it gets called automatically when you do world.setBlockState
L1441[09:51:45] <gigaherz> there's a different method
L1442[09:52:28] <gigaherz> onbeighborChange, which is for notifying of non-state changes
L1443[09:52:36] <gigaherz> such as if a TE changes
L1444[09:52:46] ⇦ Quits: Dante666 (webchat@c33-180.i07-9.onvol.net) (Quit: Web client closed)
L1445[09:52:47] <gigaherz> well for getting notified of*
L1446[09:52:54] <sham1> okay
L1447[09:53:03] <sham1> It can be called with TE stuff
L1448[09:53:18] <sham1> Should I just invoke it manually or is there a better way
L1449[09:53:50] <gigaherz> yes-ish
L1450[09:53:57] <gigaherz> vanilla calls it through updateComparatorOutputLevel
L1451[09:54:03] <sham1> Hmm
L1452[09:54:11] <gigaherz> but that only uses horizontal updates
L1453[09:54:12] <gigaherz> not vertical
L1454[09:54:20] ⇦ Quits: PrinceCat (~PrinceCat@124.148.29.106) (Quit: My Mac has gone to sleep. ZZZzzz…)
L1455[09:54:33] <sham1> Coz I am doing this to notify my multiblock about the presense or absense of the master TE
L1456[09:54:35] <gigaherz> since comparators can't be above/below
L1457[09:54:43] ⇨ Joins: pahimar (~pahimar@192.227.130.190)
L1458[09:54:43] MineBot sets mode: +o on pahimar
L1459[09:54:45] <gigaherz> hmmm
L1460[09:54:53] <shadowfacts> In a GUI, is there any way to prevent this issue? https://aww.moe/lc4e67.png
L1461[09:54:54] <gigaherz> then you could use your own custom method?
L1462[09:55:07] <gigaherz> just look up all the TEs and call the method on each one
L1463[09:55:10] <gigaherz> iwthout using recursive calls
L1464[09:55:19] <sham1> that could work
L1465[09:55:45] <Nitrodev> http://pastebin.com/iCsMpe8t ignore the typos pls
L1466[09:55:54] <gigaherz> shadowfacts: how do you draw the button?
L1467[09:56:08] <sham1> and better to do without recursion as recursion kills Java fairly quickly especially in MC where you already are at very deep in the stackframe count
L1468[09:56:33] <sham1> shadowfacts, you need to call the button draw code before you call the hovering text code
L1469[09:56:53] <IoP> "but they teach recursion and did not say it is bad"
L1470[09:57:11] <Nitrodev> i can almost hear gigaherz laughing at my code
L1471[09:57:19] <shadowfacts> gigaherz, it's using whatever the default Gui code is
L1472[09:57:25] <sham1> that would be less of a problem if JVM had a recursion optimization builtin
L1473[09:57:46] <gigaherz> Nitrodev: yo uare imagining things off
L1474[09:57:51] <gigaherz> I don't laugh at code ;P
L1475[09:57:58] <Nitrodev> sure
L1476[09:58:03] <sham1> he however laughs at people
L1477[09:58:05] <gigaherz> if it's bad code, I tend to feel bad, not laugh
L1478[09:58:05] <gigaherz> ;p
L1479[09:58:09] <IoP> gigaherz: cry then?
L1480[09:58:10] <Nitrodev> you laugh at the MAKER of the code
L1481[09:58:30] <sham1> Lets not get melanchonic here
L1482[09:58:37] <Nitrodev> okay fine
L1483[09:58:45] <ThePsionic> Nitrodev: @the return, it returns true if the itemstack is not null and false otherwise
L1484[09:58:59] <Nitrodev> okay
L1485[09:59:03] <gigaherz> Nitrodev: yup you got the for loop right, but just in case: the condition is checked at the beginning of each iteration, not just once ;P
L1486[09:59:11] <Nitrodev> i guessed that after i put the link here
L1487[09:59:22] <gigaherz> also the assignations are active
L1488[09:59:32] <gigaherz> it declares the item stack and then actively queries the contents of the slot
L1489[09:59:45] <Nitrodev> hold on i'm opening a translator
L1490[09:59:49] <gigaherz> each iteration, it will actively query the value
L1491[09:59:54] <Nitrodev> and yes it's that bad
L1492[10:00:00] <gigaherz> it's not a passive declaration that gets run by magic
L1493[10:00:08] <sham1> which part do you need translation to
L1494[10:00:11] <sham1> I can translate
L1495[10:00:13] <Nitrodev> nothig anymore
L1496[10:00:18] <Nitrodev> no need to
L1497[10:00:18] <ThePsionic> Lol
L1498[10:00:29] <gigaherz> each iteration calls the function, and puts the return value into the variable
L1499[10:00:35] <ThePsionic> Nitrodevs internet > sham1
L1500[10:00:45] <sham1> yes
L1501[10:00:46] <Nitrodev> yeah
L1502[10:01:11] <Nitrodev> except for iteration since google says iteraatio but i understand the meaning
L1503[10:01:21] <gigaherz> I just wanted to stress that fact that Java is an imperative language, not a logic language
L1504[10:01:28] <ThePsionic> Iteration = loop
L1505[10:01:35] <gigaherz> assignations are active, not a consequence of a declaration
L1506[10:01:40] <ThePsionic> As in every time it loops
L1507[10:01:53] <sham1> Mind me having a private message to you Nitro so you can ask me if you do not understand a term
L1508[10:02:10] <Nitrodev> okay
L1509[10:02:19] <IoP> Nitrodev: iteraatio = loopin yksi kierros
L1510[10:02:26] <sham1> :D
L1511[10:02:32] <ThePsionic> :P
L1512[10:02:35] <Nitrodev> yeah i understood that Iop but thanks anyway
L1513[10:02:56] <sham1> More finns
L1514[10:03:03] <Nitrodev> yes
L1515[10:03:05] <IoP> "finnish" terms </3
L1516[10:03:05] <sham1> This is interesting and scary at the same time
L1517[10:03:21] <ThePsionic> They're taking over
L1518[10:03:26] <ThePsionic> Run for the hills
L1519[10:03:31] <Nitrodev> bow down before us
L1520[10:03:56] <ThePsionic> Never
L1521[10:04:03] <Nitrodev> XD
L1522[10:04:24] <Nitrodev> gigaherz so i'm in the right tracks atm?
L1523[10:04:30] <Nitrodev> as far as the code goes
L1524[10:05:06] ⇨ Joins: flappy (~flappy@a88-113-155-120.elisa-laajakaista.fi)
L1525[10:05:45] <gigaherz> Nitrodev: you seem to understand what each line does
L1526[10:05:47] <gigaherz> but
L1527[10:05:52] ⇦ Quits: kimfy (~kimfy___@74.141.16.62.customer.cdi.no) (Ping timeout: 195 seconds)
L1528[10:06:05] *** flappy is now known as flappz
L1529[10:06:16] <gigaherz> what will happen with that code if you try to use it as-is
L1530[10:06:25] <gigaherz> is that as soon as it sees a saw,
L1531[10:06:29] <gigaherz> it wil lreturn false
L1532[10:06:32] <gigaherz> which will reject the recipe
L1533[10:06:48] <Nitrodev> okay
L1534[10:06:51] ⇦ Quits: flappz (~flappy@a88-113-155-120.elisa-laajakaista.fi) (Remote host closed the connection)
L1535[10:06:56] <gigaherz> so it's not very useful to you ;P
L1536[10:07:02] <Nitrodev> yeah i figured
L1537[10:07:05] ⇨ Joins: flappy (~flappy@a88-113-155-120.elisa-laajakaista.fi)
L1538[10:07:36] <gigaherz> does this work for you?
L1539[10:07:37] <gigaherz> http://piratepad.net/Q838DLRTbu
L1540[10:07:39] <gigaherz> the page
L1541[10:08:03] <Nitrodev> yup
L1542[10:12:57] <shadowfacts> ok, so I moved the tooltip rendering code to drawGuiContainerForegroundLayer, but now whenever a tooltip is visible the top faces of all the blocks in NEI go dark
L1543[10:15:08] <sham1> you can have it in the background layer
L1544[10:15:15] <sham1> Just render it after the buttons
L1545[10:16:01] ⇨ Joins: HassanS6000 (~Hassan@pool-173-79-220-242.washdc.fios.verizon.net)
L1546[10:19:55] <shadowfacts> yay! everything works, now I just need textures :V
L1547[10:20:32] ⇨ Joins: ollieread (~ollieread@2a01:7e00::f03c:91ff:feae:5b6)
L1548[10:35:31] ⇨ Joins: madcrazydrumma (~madcrazyd@94.205.12.222)
L1549[10:36:27] <madcrazydrumma> I'm currently getting this error which i can't fix: http://pastebin.com/aTVjcEhu
L1550[10:39:07] <diesieben07> madcrazydrumma, you are calling MessageContext.getServerHandler but the packet is received on the client...
L1551[10:40:19] <madcrazydrumma> diesieben07, so i use getClientHandler, but how do i get the player for this context? Just use Minecraft#thePlayer
L1552[10:41:40] <diesieben07> yes, but relay it through your @SidedProxy otherwise it will crash servers.
L1553[10:42:34] <madcrazydrumma> Okay i have no idea about these sided proxies :s can you point me to where I can write these client/server proxies?
L1554[10:43:11] <diesieben07> you can find tutorials pretty easily on google
L1555[10:44:59] <madcrazydrumma> Fixed my issue, cheers man
L1556[10:45:25] <madcrazydrumma> By the way, i have an auto incrementing number in a variable in my RenderGameOverlayEvent. How do i show this constantly updating in the overlay?
L1557[10:45:38] ⇨ Joins: KanoCodex (~Giratina5@2604:180:0:368::bcd8)
L1558[10:47:37] <diesieben07> what exactly do you mean? you want to show a number on screen that increments?
L1559[10:47:46] <madcrazydrumma> Yeah
L1560[10:47:54] <diesieben07> you just increment the variable...
L1561[10:47:56] <madcrazydrumma> I've already got it incrementing and have the drawString
L1562[10:47:58] <madcrazydrumma> But its not updating
L1563[10:48:16] <diesieben07> show the code.
L1564[10:48:19] <madcrazydrumma> if(zCooldownTicks > 0) drawCenteredString(fr, "ZCD: " + (zCooldownTicks / 20), 10, 10, 0xFFFFFFFF);
L1565[10:48:32] <diesieben07> the full method. on pastebin.
L1566[10:48:55] <madcrazydrumma> http://pastebin.com/NLBKcvUd
L1567[10:49:49] <diesieben07> first of all you should be using RGOE.Pre
L1568[10:50:28] <diesieben07> and also use ClientTickEvent to check if your custom keys are pressed, not KeyINputEvent
L1569[10:50:42] <diesieben07> and your ClientTickEvent handler runs twice per tick, you need to check event.phase
L1570[10:51:02] <diesieben07> the isZUseable field is also redundant.
L1571[10:51:58] ⇨ Joins: AforAnonymous (bitch2k@dyn-042-143.vix1.mmc.at)
L1572[10:52:26] <madcrazydrumma> Okay
L1573[10:53:33] <Nitrodev> gigaherz, i understand the code now
L1574[10:55:06] <Nitrodev> why cant == be applied to this? stackInSlot.getItem() == Blocks.wooden_slab
L1575[10:55:31] <madcrazydrumma> Because they are not identical object references
L1576[10:55:36] <madcrazydrumma> you should use .equals()
L1577[10:55:58] <Nitrodev> will it work if i put in this? Item.getItemFromBlock(Blocks.wooden_slab
L1578[10:55:59] <diesieben07> not true mcd
L1579[10:56:02] <diesieben07> yes nitro
L1580[10:56:06] <Nitrodev> okay
L1581[10:56:07] <diesieben07> you cannot compare blocks to items
L1582[10:56:32] <madcrazydrumma> Oh but in a general case am i correct diesieben07?
L1583[10:56:46] <Nitrodev> not in the case i'm in
L1584[10:56:46] <diesieben07> for items and blocks? no. you can use == there.
L1585[10:56:56] <madcrazydrumma> I mean for objects in general
L1586[10:57:00] <diesieben07> then yes.
L1587[10:57:14] <madcrazydrumma> Okay, computer science degree ain't failing just yet xo
L1588[10:57:21] <Nitrodev> i needed that for an if statement checking if there is a wooden_slab in a slot
L1589[10:57:32] <diesieben07> Nitrodev, in general you might want to consider checking for the OreDict entry "slabWood"
L1590[10:57:37] <diesieben07> then you support all mod slabs
L1591[10:57:53] <Nitrodev> like slabs of any wood?
L1592[10:58:00] <diesieben07> yes
L1593[10:58:02] <Nitrodev> oh
L1594[10:58:11] <Nitrodev> that's exactly what i wanted thanks
L1595[10:59:13] <diesieben07> so getOreID("slabWood") and store it somewhere permanently (e.g. do it in postInit and put it in a static field). then Ints.contains(OreDictionary.getOreIDs(stack), <id from step one>)
L1596[11:03:45] <Nitrodev> let's see if this works
L1597[11:04:32] <Nitrodev> i doubt it will but eh
L1598[11:06:13] <Nitrodev> huh that's a crash i don't understand at all
L1599[11:07:00] <Nitrodev> http://pastebin.com/teMQ56gy
L1600[11:07:23] <diesieben07> you told FML to load "ClientProxy" as a class, but that class does not exist.
L1601[11:08:31] <Nitrodev> i got that part
L1602[11:08:43] <Nitrodev> but understanding WHY it says that is odd
L1603[11:08:48] <Nitrodev> the class is there
L1604[11:08:50] ⇨ Joins: Vazkii (~Vazkii@a79-169-163-74.cpe.netcabo.pt)
L1605[11:08:58] <diesieben07> why are you putting classes in the default package?
L1606[11:09:35] <Nitrodev> well i put them in one package
L1607[11:10:25] <Nitrodev> a moment ago i had an error of package names
L1608[11:10:25] <diesieben07> but you told FML it was in the default package...
L1609[11:10:35] <diesieben07> (meaning no package at all)
L1610[11:10:53] <Nitrodev> where apperently somehow one of my package names in the ClientPRxy class had uppercase letters
L1611[11:11:43] <Nitrodev> i changed it and this happened
L1612[11:12:04] <Nitrodev> (this being the crashlog i posted)
L1613[11:12:09] <diesieben07> how is FML supposed to know your class is in a package if you don't tell it?
L1614[11:13:07] <Nitrodev> okay how do i do that
L1615[11:13:18] <diesieben07> you... put the package name there...
L1616[11:13:18] <Nitrodev> i never had had this kind of problem before
L1617[11:13:23] <Nitrodev> it is there
L1618[11:13:26] <Nitrodev> hold on
L1619[11:14:03] <diesieben07> you told FML: "My class is called 'ClientProxy'", but in reality it is called 'some.package.ClientProxy'
L1620[11:15:25] <Nitrodev> okay i changed it to correct
L1621[11:15:37] <Nitrodev> works
L1622[11:24:22] <Rushmead> Can i set the block bounds based on a state / using the block model?
L1623[11:25:26] <diesieben07> Rushmead, override getSelectedBoundingBox and getCollisionBoundingBox
L1624[11:26:50] <JustRamon> Allright
L1625[11:26:53] <JustRamon> got another question xD
L1626[11:27:36] <diesieben07> ask :D
L1627[11:28:15] <JustRamon> I have 1 food item called gumball. I gave it the properties it needed to have, but I want to make different versions of it with different colors. How would I do that?
L1628[11:28:41] <JustRamon> I could register them as items apart
L1629[11:28:50] <JustRamon> put I think a damage based thing would be easier
L1630[11:28:53] <JustRamon> *buyt
L1631[11:28:57] <JustRamon> *but
L1632[11:29:03] <diesieben07> yes
L1633[11:29:08] <diesieben07> what is your question? :D
L1634[11:29:51] <JustRamon> How can I render different textures for 1 item with different damage values?
L1635[11:30:11] <JustRamon> Example: gumball:1 = red, gumball:2 = green etc.
L1636[11:30:18] <diesieben07> what mc versino are you on?
L1637[11:30:22] <JustRamon> 1.8.8
L1638[11:30:52] <diesieben07> ok so for your Item you have ModelLoader.setCustomModelResourceLocation in preInit right?
L1639[11:31:21] <JustRamon> Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(item, 0, new ModelResourceLocation(Reference.MOD_ID + ":" + item.getUnlocalizedName().substring(5), "inventory"));
L1640[11:31:26] <diesieben07> oh god.
L1641[11:31:29] <JustRamon> xD
L1642[11:31:35] <diesieben07> you should change that
L1643[11:31:45] <JustRamon> Why?
L1644[11:31:54] <diesieben07> because the one you are using is discouraged.
L1645[11:32:03] <JustRamon> hmm
L1646[11:32:06] <diesieben07> anyways, the 2nd argument (no matter which one you use) is the "damage value"
L1647[11:32:06] <JustRamon> kden
L1648[11:32:12] <JustRamon> right
L1649[11:32:18] <JustRamon> ah
L1650[11:32:20] <diesieben07> so just repeat the line for all metadatas you have
L1651[11:32:21] <JustRamon> well
L1652[11:32:24] <JustRamon> thanks then :P
L1653[11:32:31] ⇨ Joins: Drullkus (~Drullkus@2601:646:8301:8947:f92c:1c14:9cd1:f73e)
L1654[11:35:06] <JustRamon> wait diesieben07, can I just replace the Minecraft.getMinecraft.... with .setCustomModelResourceLocation? And can I keep the new ModelResourceLocation as is then?
L1655[11:35:15] <diesieben07> yes
L1656[11:35:18] <JustRamon> oh
L1657[11:35:18] <diesieben07> you just have to move it to preInit
L1658[11:35:21] <JustRamon> easy fix xD
L1659[11:35:23] *** kroeser is now known as kroeser|away
L1660[11:35:26] <Rushmead> whats the f3 thing to show all the collision boxeS?
L1661[11:35:28] <JustRamon> okey
L1662[11:37:27] *** willieaway is now known as williewillus
L1663[11:37:39] ⇨ Joins: Jezza (~Jezza@185.44.151.55)
L1664[11:37:51] ⇨ Joins: MiningMark48 (~MiningMar@h228.58.187.173.dynamic.ip.windstream.net)
L1665[11:38:06] <williewillus> okay so I'm trying to convert a techne model into json, and it has those big convoluted texturemaps... should I destitch it all or can I just use that texturemap with decimal UV's?
L1666[11:39:15] <diesieben07> gah this is frustrating as hell
L1667[11:39:31] ⇨ Joins: SmashShock (~drake@nwcsnbsc03w-047054162090.dhcp-dynamic.fibreop.nb.bellaliant.net)
L1668[11:39:35] <williewillus> what is? :p
L1669[11:39:44] <gigaherz> williewillus: each block should have 0..16 for UVs
L1670[11:40:04] <diesieben07> i have to asynchronous I/O so if someone says "apply this thing to that file" i have to wait for any potential previious operations to finish.
L1671[11:40:07] <Rushmead> diesieben07, return new AxisAlignedBB(0, 0, 0, 1, 1, 1); that should work?
L1672[11:40:10] <diesieben07> which itself is fine
L1673[11:40:13] <gigaherz> decimals may work, butyou don't want to have pre-stitchedtextures
L1674[11:40:20] <williewillus> why not?
L1675[11:40:26] <diesieben07> but then i have to also discard anything cached after a certain time
L1676[11:40:30] <williewillus> I don't wanna destitch all 18 of these .-.
L1677[11:40:32] <gigaherz> well
L1678[11:40:37] <diesieben07> but NOt if it is still beign saved because then i cant wait for it anymore...
L1679[11:40:41] <diesieben07> Rushmead, yes.
L1680[11:40:45] <gigaherz> it's not efficient with the atlas
L1681[11:40:47] <gigaherz> ;P
L1682[11:41:01] <gigaherz> you can try, though
L1683[11:41:06] <williewillus> but some of the parts aren't 16x16 and then MC complains about broken aspect ratio
L1684[11:41:10] <williewillus> should they all be square?
L1685[11:41:14] <gigaherz> although you'll have to *16 all the UVs if they come in 0..1 range
L1686[11:41:28] <gigaherz> I don't know the restrictions on that
L1687[11:42:14] <williewillus> second question is I have setdefaultstate set to always have cetain property with values [NONE, WATER, LAVA] set to NONE. getStateFromMeta doesn't touch this property. But somehow when I place it in the world it has LAVA
L1688[11:42:30] <williewillus> the only other thing that touches it is getActualState, based on the TE. But I know the TE doesn't have lava
L1689[11:42:34] <williewillus> so where is it coming from 0.o
L1690[11:43:44] <gigaherz> what does your setDefaultState look like?
L1691[11:43:53] <gigaherz> it should be something like
L1692[11:43:53] <gigaherz> setDefaultState(this.blockState.getBaseState().withProperty(DENSITY, 16));
L1693[11:43:56] <williewillus> yes
L1694[11:45:01] ⇨ Joins: DemoXin (~DemoXin@29.sub-70-197-162.myvzw.com)
L1695[11:46:41] <williewillus> bleh I just set it to always set to false in getActualState which is a bandaid but oh well.
L1696[11:47:22] *** Vazkii is now known as Vazkii|Streaming
L1697[11:49:25] <williewillus> oh boo I can't render the liquid on the apothecary using bakedmodels since the water would be opaque
L1698[11:50:17] <williewillus> and rendering on the translucent pass would make the sparkly particles show through the sides of the cup
L1699[11:50:26] ⇦ Quits: HassanS6000 (~Hassan@pool-173-79-220-242.washdc.fios.verizon.net) (Ping timeout: 190 seconds)
L1700[11:50:27] ⇨ Joins: Hassan (~Hassan@pool-173-79-220-242.washdc.fios.verizon.net)
L1701[11:51:07] <Rushmead> My bounding box isnt working, like it doesnt apepar
L1702[11:51:09] <Rushmead> appear*
L1703[11:52:14] * Rushmead grabs code
L1704[11:52:28] ⇦ Quits: Jezza (~Jezza@185.44.151.55) (Read error: Connection reset by peer)
L1705[11:52:43] <Rushmead> https://gist.github.com/Rushmead/71fad0741facf7cb8c08
L1706[11:53:35] <diesieben07> uhm, in getSelectedBoundingBox you always check the base state, which is useless
L1707[11:53:51] <Rushmead> Why?
L1708[11:54:07] <diesieben07> it's the default state of your block....
L1709[11:54:19] <Rushmead> ooh ok
L1710[11:54:20] <Rushmead> i see
L1711[11:54:53] <Rushmead> if (((Boolean) worldIn.getBlockState(pos).getValue(isShort)).booleanValue()) {
L1712[11:54:56] <Rushmead> Better?
L1713[11:55:07] <williewillus> i still haven't figured out a way to convert tessellator setBrightness calls to 1.8.8 0.io
L1714[11:55:18] <diesieben07> yes, but you can get rid of the manual unboxing
L1715[11:55:34] <ThePsionic> williewillus: that domain is premium and not taken :P
L1716[11:56:04] <diesieben07> Rushmead, actually it can just be if (world.getBlockState(pos).getValue(isShort))
L1717[11:56:04] <Rushmead> whats the manual unboxing?
L1718[11:56:09] <diesieben07> since 1.8.8 has generics
L1719[11:56:34] ⇨ Joins: MattDahEpic (~MattDahEp@75-166-140-155.hlrn.qwest.net)
L1720[11:56:37] <Rushmead> Nope.
L1721[11:56:39] <Rushmead> Doesnt work
L1722[11:56:52] <diesieben07> what is the exact type of the isShort field?
L1723[11:57:02] <Rushmead> boolean
L1724[11:57:03] ⇨ Joins: laci200270 (~laci20027@78.92.233.250)
L1725[11:57:08] <Rushmead> PropertyBool
L1726[11:57:19] <diesieben07> then it will work :P
L1727[11:57:25] <diesieben07> if you are really on 1.8.7
L1728[11:57:27] <diesieben07> *.8
L1729[11:58:01] ⇨ Joins: Jezza (~Jezza@185.44.151.55)
L1730[11:58:04] <Rushmead> im on 1.8-11
L1731[11:58:05] <Rushmead> forge wise
L1732[11:58:10] <Rushmead> 1577
L1733[11:58:51] <diesieben07> ohh rigth the other guy is on 1.8.8...
L1734[11:58:53] <diesieben07> you should update :P
L1735[11:59:00] <Rushmead> how?
L1736[11:59:06] <laci200270> how can I make a progressbar to a side of a block?
L1737[11:59:13] <diesieben07> change your build.gralde,re-run the setup tasks
L1738[11:59:53] <Rushmead> im
L1739[11:59:57] <Rushmead> im on the latest
L1740[12:00:12] <diesieben07> for 1.8, yes
L1741[12:00:17] <Rushmead> oh
L1742[12:00:18] <Rushmead> yeah
L1743[12:00:19] <Rushmead> i see
L1744[12:00:42] <laci200270> how can I make a progressbar to a side of a block using IFlexibleBakedModel?
L1745[12:00:58] <diesieben07> but even if you don't update if ((Boolean) world.getBlockState(pos).getValue(isShort)) is enough
L1746[12:01:16] ⇨ Joins: HassanS6000 (~Hassan@pool-173-79-220-242.washdc.fios.verizon.net)
L1747[12:02:06] ⇦ Quits: Hassan (~Hassan@pool-173-79-220-242.washdc.fios.verizon.net) (Ping timeout: 190 seconds)
L1748[12:03:25] ⇨ Joins: Maxetime (~Thunderbi@modemcable086.219-70-69.static.videotron.ca)
L1749[12:03:47] <laci200270> fry|sleep, where are you?
L1750[12:04:33] <williewillus> asleep :p
L1751[12:04:35] <Nitrodev> sleeping probadly
L1752[12:04:41] <Nitrodev> oh hi willie
L1753[12:04:42] <williewillus> he doesn't wake up in another few hours
L1754[12:05:08] <laci200270> when he is usally online?
L1755[12:05:26] <Nitrodev> <williewillus> he doesn't wake up in another few hours
L1756[12:05:34] <Nitrodev> you got your answer there
L1757[12:05:34] <laci200270> :/
L1758[12:05:40] <Nitrodev> few hours
L1759[12:05:47] <sham1> At 23 UTC usually
L1760[12:05:57] <laci200270> thanks sham1
L1761[12:05:57] <sham1> make that what you will
L1762[12:06:19] ⇨ Joins: Hassan (~hassa@2602:306:cde1:d700:7561:774a:9b1:7a9a)
L1763[12:06:59] ⇦ Quits: Jezza (~Jezza@185.44.151.55) (Read error: Connection reset by peer)
L1764[12:10:02] <MiningMark48> How could I set the bounding box/collision box of the player
L1765[12:10:05] <MiningMark48> ?
L1766[12:11:01] <sham1> First question
L1767[12:11:07] <sham1> What are you trying to do
L1768[12:11:41] ⇨ Joins: Jezza (~Jezza@185.44.151.55)
L1769[12:11:45] <MiningMark48> change the player's collision box to something smaller during a certain event
L1770[12:13:32] <Soni> so when did Forge block rotation get added?
L1771[12:13:49] <Soni> something like when BetterThanWolves added turntables?
L1772[12:13:53] <williewillus> you mean the rotateBlock method?
L1773[12:13:56] <williewillus> it's ollld
L1774[12:14:29] <Soni> so something like when BetterThanWolves added turntables?
L1775[12:14:38] <sham1> MiningMark48, have you tried using Entity#setEntityBoundingBox
L1776[12:15:07] *** kroeser|away is now known as kroeser
L1777[12:15:11] <MiningMark48> in 1.7.10
L1778[12:15:14] <MiningMark48> btw
L1779[12:15:30] <sham1> *le sigh*
L1780[12:15:40] <sham1> !gm setEntityBoundingBox 1.7.10
L1781[12:15:53] <sham1> Thus comes another question
L1782[12:15:54] <sham1> Why
L1783[12:16:10] <sham1> !gf Entity#boundingBox 1.7.10
L1784[12:16:16] <sham1> !gf boundingBox 1.7.10
L1785[12:16:29] <williewillus> lol
L1786[12:16:34] <williewillus> you just write to boundingBox in 1.7
L1787[12:16:39] <williewillus> 1.8 has the getter/setters
L1788[12:16:43] <sham1> ye
L1789[12:17:00] <sham1> *something something use 1.8 something*
L1790[12:18:35] ⇦ Quits: MiningMark48 (~MiningMar@h228.58.187.173.dynamic.ip.windstream.net) (Killed (NickServ (GHOST command used by MiningMark48_)))
L1791[12:18:45] ⇨ Joins: MiningMark48 (~MiningMar@h228.58.187.173.dynamic.ip.windstream.net)
L1792[12:19:31] ⇨ Joins: pugi (~pugi@host-091-097-035-248.ewe-ip-backbone.de)
L1793[12:20:51] ⇦ Quits: HassanS6000 (~Hassan@pool-173-79-220-242.washdc.fios.verizon.net) (Ping timeout: 190 seconds)
L1794[12:20:57] ⇨ Joins: HassanS6000 (~Hassan@pool-173-79-220-242.washdc.fios.verizon.net)
L1795[12:21:13] <williewillus> how do I update the world light at a specified position?
L1796[12:21:17] <Nitrodev> in the getCraftingResult method of IRecipe do i need to only return the item i want to craft?
L1797[12:21:37] <Falkreon> that's kind of how it works
L1798[12:21:46] <Falkreon> what else would you be returning?
L1799[12:21:59] ⇦ Quits: Jezza (~Jezza@185.44.151.55) (Read error: Connection reset by peer)
L1800[12:22:19] <Falkreon> like, for custom behaviors, it's how Thermal Expansion keeps the locks and upgrades if you upgrade the machine.
L1801[12:22:26] <gigaherz> Nitrodev: yes. the method exists to give you the chance to add NBT data to the ItemStack, based on the contents of the inventory
L1802[12:22:29] <Falkreon> it copies the NBT from the machine you're upgrading
L1803[12:22:35] <Falkreon> TE does*
L1804[12:22:41] <gigaherz> otherwise, you can just return getRecipeOutput()
L1805[12:22:45] <Falkreon> ^
L1806[12:22:54] <gigaherz> and create the ItemStack directly in getRecipeOutput()
L1807[12:23:16] <Falkreon> or you could just register a pre-baked recipe X)
L1808[12:23:22] ⇨ Joins: Jezza (~Jezza@185.44.151.55)
L1809[12:23:32] <gigaherz> he wants to have an item that gets durability damage on crafting intead of on use
L1810[12:23:39] <Falkreon> oh
L1811[12:23:50] <gigaherz> that sortof requires implementing IRecipe and handling that yourself
L1812[12:23:51] <Falkreon> yeah that's not going to work super well, I think that's an event to handle that
L1813[12:23:58] <Nitrodev> gigaherz, with two items in the crafting recipe will this work? http://pastebin.com/Sm7rphNy
L1814[12:24:00] <gigaherz> there is, but it's a hack
L1815[12:24:17] <gigaherz> you can just do the actual recipe properly ;P
L1816[12:24:20] <Falkreon> wait, you can do microblocks-saw-type damage for grid ingredients?
L1817[12:24:22] ⇨ Joins: vsg1990 (~vsg1990@cpe-67-241-148-119.buffalo.res.rr.com)
L1818[12:24:27] <Falkreon> with just an IRecipe?
L1819[12:24:32] <gigaherz> in 1.8
L1820[12:24:38] <gigaherz> you can choosewhat's left in the table afterward
L1821[12:24:50] <gigaherz> so you can "leave" the original item but with some damage applied to it
L1822[12:24:53] <Nitrodev> oh you're talking to Falkreon
L1823[12:24:56] <Falkreon> nice. That's been needed for a long time.
L1824[12:25:17] <gigaherz> Nitrodev: yes I was XD
L1825[12:25:22] <williewillus> !gm func_147453_f 1.7.10
L1826[12:25:36] <williewillus> !mh func_147453_f
L1827[12:25:51] <Nitrodev> did you look at the pastebin?
L1828[12:25:58] <gigaherz> Nitrodev: you can merge the two ifs
L1829[12:26:06] <gigaherz> the ones for stackInSlot != null
L1830[12:26:22] <Nitrodev> ah
L1831[12:26:24] <gigaherz> but otherwise, that would work
L1832[12:26:32] <gigaherz> als oremember to fix the return at the end
L1833[12:27:24] <Nitrodev> to have an && ?
L1834[12:27:30] <gigaherz> yes
L1835[12:27:40] <gigaherz> yo uwant both the saw and the planks, right?
L1836[12:27:45] <gigaherz> if one of them is missing, it's not your recipe
L1837[12:27:45] <Nitrodev> yes
L1838[12:27:49] <gigaherz> so yes
L1839[12:27:55] <gigaherz> yo uwant saw not null AND planks not null
L1840[12:28:12] <Nitrodev> so this will work? http://pastebin.com/LkdnDdTY
L1841[12:28:31] ⇦ Quits: Drullkus (~Drullkus@2601:646:8301:8947:f92c:1c14:9cd1:f73e) (Remote host closed the connection)
L1842[12:28:49] <gigaherz> nonono
L1843[12:28:53] <gigaherz> when I said merge
L1844[12:28:58] <gigaherz> I meant the outer if
L1845[12:29:02] <gigaherz> not place theo ther one INSIDE the inner if!
L1846[12:29:14] <gigaherz> you went one too deep! ;P
L1847[12:29:21] <williewillus> onEntityCollidedWIthBlock is broken in 1.8 .-.
L1848[12:29:25] <williewillus> it seems to be at least
L1849[12:29:29] <williewillus> or I'm missing something
L1850[12:29:31] <gigaherz> works for me
L1851[12:29:32] <Falkreon> hm?
L1852[12:29:37] <Nitrodev> yeah i fixed it now
L1853[12:29:38] <Falkreon> it's not actually collided with block
L1854[12:29:41] ⇦ Quits: Maxetime (~Thunderbi@modemcable086.219-70-69.static.videotron.ca) (Quit: Maxetime)
L1855[12:29:41] <williewillus> I know
L1856[12:29:45] <gigaherz> I have a block that slows down the player to avoid fall damage
L1857[12:29:55] <Falkreon> ?
L1858[12:29:58] <Falkreon> does that even work
L1859[12:30:01] <gigaherz> yes
L1860[12:30:08] <williewillus> it's entering the 1x1 space. but it still fails. LIke all the things in botania that require tossing to do stuff (petal apothecary, mana pool, etc.) use entitycollidedwithblock
L1861[12:30:10] <Falkreon> I thought you needed to also reduce the fall-time counter
L1862[12:30:11] <gigaherz> sorta
L1863[12:30:12] <williewillus> and they're all not triggering
L1864[12:30:14] <gigaherz> I do
L1865[12:30:14] <gigaherz> XD
L1866[12:30:17] <williewillus> or triggering in very weird ways
L1867[12:30:17] ⇨ Joins: Drullkus (~Drullkus@2601:646:8301:8947:d5c8:4fa9:5d91:7afa)
L1868[12:30:26] <Falkreon> ah. ok
L1869[12:30:27] <gigaherz> https://github.com/gigaherz/ElementsOfPower/blob/master/src/main/java/gigaherz/elementsofpower/blocks/BlockCushion.java#L39
L1870[12:30:51] <Falkreon> 1.9 it gets a little stranger because of horizontal speed-based collision :/
L1871[12:31:02] <gigaherz> it's stupid though
L1872[12:31:05] <gigaherz> fall damage should be
L1873[12:31:07] <williewillus> https://github.com/williewillus/Botania/blob/MC18/src/main/java/vazkii/botania/common/block/mana/BlockPool.java
L1874[12:31:12] <gigaherz> N * (speed-x)
L1875[12:31:17] <gigaherz> not some stupid fall counter
L1876[12:31:21] <Falkreon> I agree
L1877[12:31:23] <williewillus> anything look wrong in that? because onentitycolided with block isn't even called for items
L1878[12:31:25] <Nitrodev> gigaherz, so i return getRecipeOutput().copy() in the getCraftingResult()
L1879[12:31:30] <williewillus> like breakpoints don't even trigger
L1880[12:31:40] <gigaherz> williewillus: wait 1.8.0 or 1.8.8
L1881[12:31:44] <williewillus> 1.8.8
L1882[12:31:47] <gigaherz> hmmm
L1883[12:31:48] <Nitrodev> or wait if i need to add NBT (for the damage) i need to do it in the getcraftingresult
L1884[12:31:52] <gigaherz> because I had troubles getting it to work on 1.8.0
L1885[12:31:56] <gigaherz> but in 1.8.8 it worked perfectlyu
L1886[12:31:57] <gigaherz> -u
L1887[12:32:07] <gigaherz> but if you also use 1.8.8 dunno
L1888[12:32:11] <Falkreon> Nitrodev- add NBT based on input, or just static NBT?
L1889[12:32:21] <gigaherz> Nitrodev: no need to copy if you don't modify it
L1890[12:32:27] ⇨ Joins: Herpahermaderp (webchat@216.196.92.69)
L1891[12:32:27] ⇨ Joins: Lothendal (~Lothendal@ip5b42d1b2.dynamic.kabel-deutschland.de)
L1892[12:32:32] <gigaherz> if you assign NBT data afterward, then yes, copy
L1893[12:32:33] <williewillus> what buidl do you use?
L1894[12:32:53] <gigaherz> atm, 1.8.8-11.15.0.1634
L1895[12:33:17] <gigaherz> although I don't think I tested it in this build
L1896[12:34:12] <williewillus> can you try? :p
L1897[12:34:33] <williewillus> wanna know if I'm just messing up somewhere (it shouldn't because straight port 0.o)
L1898[12:34:34] <gigaherz> yeh sec
L1899[12:36:09] <Rushmead> Trying to update to 1.8.8 and it keeps giving me :decompileMc went wrong. Java heap space
L1900[12:36:09] <Rushmead> And im like.
L1901[12:36:09] <gigaherz> seems to work justfine
L1902[12:36:10] <Rushmead> Wut
L1903[12:36:16] <williewillus> ugh
L1904[12:36:17] <gigaherz> Rushmead: known issue
L1905[12:36:26] <gigaherz> if you tried it from idea or similar, try a standalone console/terminal
L1906[12:36:28] <gigaherz> if not
L1907[12:36:28] <williewillus> does my block class look weird anywhere?
L1908[12:36:30] <gigaherz> then try again
L1909[12:36:34] <Nitrodev> so idon't have to assign NBT data in the getCraftingResult method?
L1910[12:36:34] <gigaherz> and if it still happens
L1911[12:36:42] <JustRamon> Another question: How can I add an item with a damage value to the creative inventory?
L1912[12:36:55] <Falkreon> ugh. Yeah, never had that problem because I use standalone gradle
L1913[12:36:55] <Rushmead> and if it still happens gigaherz?
L1914[12:36:56] <gigaherz> try to run gradle with more ram
L1915[12:37:00] ⇦ Quits: Jezza (~Jezza@185.44.151.55) (Read error: Connection reset by peer)
L1916[12:37:01] <Falkreon> but I was warned about that
L1917[12:37:05] <Rushmead> How do i run gradle with more ram?
L1918[12:37:15] <Falkreon> rushmead, do you use gradle or gradlew?
L1919[12:37:21] <gigaherz> your ./gradlew or gradlew.bat
L1920[12:37:21] <Rushmead> gradlew
L1921[12:37:35] <gigaherz> add java args for -Xmx3G or 4G
L1922[12:37:36] <Falkreon> ew. Alright, I'll let giga walk you through then
L1923[12:37:48] <Falkreon> :D~
L1924[12:37:51] <Rushmead> but i can use gradle
L1925[12:37:55] <Rushmead> because i have it installed :P
L1926[12:38:12] <Rushmead> Forgot i had it :P
L1927[12:38:12] <Falkreon> the standalone seems to default to more ram somehow
L1928[12:38:39] <gigaherz> Rushmead are you on linux?
L1929[12:38:42] <Rushmead> Nope
L1930[12:38:45] <gigaherz> windows?
L1931[12:38:49] <Rushmead> yeah
L1932[12:38:58] *** Abrar|gone is now known as AbrarSyed
L1933[12:39:22] <gigaherz> edit gradlew.bat, below DEFAULT_JVM_OPTS, add GRADLE_OPTS=-Xmx4g
L1934[12:39:23] <gigaherz> and try again
L1935[12:39:40] <gigaherz> (4g may be overkill but better safe ;P)
L1936[12:40:00] <gigaherz> (hopefully you use 64bit jvm)
L1937[12:40:06] <gigaherz> (which is better for minecraft anyhow)
L1938[12:40:24] ⇨ Joins: Jezza (~Jezza@185.44.151.55)
L1939[12:43:13] <williewillus> ugh screw converting this stupid thing to json
L1940[12:43:35] <PaleoCrafter> how about going to obj? :P
L1941[12:43:50] <gigaherz> yeah then use a .OBJ file and be done with it ;P
L1942[12:44:45] <williewillus> if I do that will I not have to destitch this stupid texture map and figure out all the uv's for everything?
L1943[12:45:01] <PaleoCrafter> yep :P
L1944[12:45:07] ⇦ Quits: Wastl2 (~Wastl2@f052228199.adsl.alicedsl.de) (Quit: Hi, I'm a quit message virus. Please replace your old line with this one and help me take over the world of IRC.)
L1945[12:45:22] <williewillus> welp give me your easiest obj editor
L1946[12:45:27] <PaleoCrafter> https://www.dropbox.com/sh/nbwkm8gakjxt9le/AADgUh3Oo2qkzPKlWakCPHKla?dl=0
L1947[12:45:34] <PaleoCrafter> use this together with tabula 5.0.0 :P
L1948[12:45:54] <PaleoCrafter> assuming you have the original tcn files
L1949[12:46:07] <gigaherz> yeah just import the model into tabula, and export as obj
L1950[12:46:07] <williewillus> I don't
L1951[12:46:07] <gigaherz> XD
L1952[12:46:17] <JustRamon> How can I add an item with a damage value to the creative inventory? << I think my question got lost in the conversation :P
L1953[12:46:18] <gigaherz> hmmmç
L1954[12:46:38] <gigaherz> you have the code using cube models and tesellator?
L1955[12:47:08] <williewillus> yes
L1956[12:47:18] <williewillus> JustRamon: override getSUbItems
L1957[12:47:21] <gigaherz> there wer talking around here
L1958[12:47:28] <JustRamon> hmm k
L1959[12:47:29] <gigaherz> about doing a .obj generator from those
L1960[12:47:36] <gigaherz> I don't know if anyone actually programmed it
L1961[12:47:40] <gigaherz> but the idea was a standalone app
L1962[12:47:45] <gigaherz> with a tesellator class and such
L1963[12:48:01] <gigaherz> where you'd dump the code
L1964[12:48:07] <gigaherz> and it owuld have its own pretend-tesellator and such
L1965[12:48:16] <gigaherz> that instead of rendering to screen, owuld write a .obj file
L1966[12:48:55] <gigaherz> I gotta go though, so I can't guide you through it
L1967[12:48:56] <gigaherz> ;P
L1968[12:49:05] <williewillus> wouldn't help anyway I ahve no idea how obj works
L1969[12:49:19] <gigaherz> g name
L1970[12:49:25] <Falkreon> obj itself is nearly human-readable. Is a good format.
L1971[12:49:26] <gigaherz> v <x> <y> <z>
L1972[12:49:34] <gigaherz> vt <u> <v>
L1973[12:49:42] <gigaherz> vn <x> <y> <z>
L1974[12:49:48] ⇨ Joins: Maxetime (~Thunderbi@modemcable086.219-70-69.static.videotron.ca)
L1975[12:49:58] <williewillus> what's vn
L1976[12:50:01] <Falkreon> for vertex-position, vertex-texture-coords, and vertex-normal, respectively
L1977[12:50:02] <gigaherz> normals
L1978[12:50:03] <gigaherz> optional
L1979[12:50:06] <gigaherz> then
L1980[12:50:16] ⇦ Quits: MiningMark48 (~MiningMar@h228.58.187.173.dynamic.ip.windstream.net) (Ping timeout: 192 seconds)
L1981[12:50:16] <williewillus> what exactly is a normal
L1982[12:50:20] <gigaherz> f 1/1/1 2/2/2 3/3/3 4/4/4 for each quad
L1983[12:50:24] <gigaherz> if you don't know, don't use it
L1984[12:50:27] <Falkreon> it's which direction the front face is in
L1985[12:50:30] <gigaherz> and leave the last number in the f blank
L1986[12:50:31] <PaleoCrafter> Falkreon, depends on the usecase :P anything human readable is overly verbose
L1987[12:50:35] <Falkreon> think of an arrow pointing straight out of the face
L1988[12:50:49] <gigaherz> f 1/1 2/2 3/3 4/4
L1989[12:50:53] <gigaherz> and don't include the vn lines
L1990[12:51:02] <Nitrodev> man i still don't understand the output of an Irecipe
L1991[12:51:16] <Nitrodev> like the getcraftingresult and getrecipeoutput methods
L1992[12:51:30] <gigaherz> https://github.com/gigaherz/ElementsOfPower/blob/master/src/main/resources/assets/elementsofpower/models/block/essentializer_2.obj
L1993[12:51:32] <gigaherz> like this
L1994[12:51:49] <gigaherz> this is semi-handmade
L1995[12:52:00] ⇦ Quits: Jezza (~Jezza@185.44.151.55) (Read error: Connection reset by peer)
L1996[12:52:01] <gigaherz> (had to manually fixup the output)
L1997[12:52:03] ⇨ Joins: ShadowChild (~ShadowChi@host81-151-59-190.range81-151.btcentralplus.com)
L1998[12:52:20] <Falkreon> paleo, yeah I kind of wonder why we haven't settled on a binary format for 3d objects
L1999[12:52:20] ⇨ Joins: Jezza (~Jezza@185.44.151.55)
L2000[12:52:22] <gigaherz> these are triangles though, so the f only has 3 elements
L2001[12:52:34] <gigaherz> Falkreon: b3d?
L2002[12:52:36] <PaleoCrafter> ^
L2003[12:52:41] <Falkreon> considering the thousands of faces we get ourselves into trouble with
L2004[12:52:42] <williewillus> probably gonan stick with json, I have the model done anyway
L2005[12:52:43] <Falkreon> dear god no
L2006[12:52:52] <williewillus> was just complaining about ahving to reexpand my textures to squares
L2007[12:52:57] <williewillus> and having to pick out al the uvs
L2008[12:53:05] <Falkreon> actually, I haven't looked at the format specs, let me look at it and then tell you no
L2009[12:53:05] <PaleoCrafter> and there probably are thousands of proprietary ones
L2010[12:53:18] <gigaherz> Falkreon: it's simple enough to write importers and exporters
L2011[12:53:19] <gigaherz> XD
L2012[12:53:36] <gigaherz> and it does skeleton animations
L2013[12:54:05] <gigaherz> the games industry sortof settled on FBX
L2014[12:54:09] <gigaherz> but it's proprietary so whatever
L2015[12:55:36] ⇦ Quits: madcrazydrumma (~madcrazyd@94.205.12.222) (Quit: Leaving)
L2016[12:55:55] <Nitrodev> man i still don't understand the output of an Irecipe
L2017[12:55:57] <Nitrodev> like the getcraftingresult and getrecipeoutput methods
L2018[12:56:17] <gigaherz> in getcraftingresult, you return an itemstack with the item you want to create
L2019[12:56:26] <gigaherz> but if that item is simple
L2020[12:56:32] <gigaherz> you can just reuse the same one as from getrecipeoutput
L2021[12:56:41] <gigaherz> now I have to go
L2022[12:56:42] <gigaherz> later
L2023[12:56:44] *** gigaherz is now known as ghz|afk
L2024[12:56:46] <Falkreon> what he said. It's all about whether the inputs *change* the outcome
L2025[12:57:16] <ThePsionic> Damnit
L2026[12:57:22] <ThePsionic> I can't own a caddy in GTAO
L2027[12:57:41] <Falkreon> if the outcome has the same NBT regardless of what the inputs look like, then just reuse getRecipeOutput.
L2028[12:58:38] <Nitrodev> So this should work? http://pastebin.com/00FWCtXW
L2029[12:58:43] ⇨ Joins: madcrazydrumma (~madcrazyd@94.205.12.222)
L2030[12:58:59] <madcrazydrumma> How do i render onto creative mode in rendergameoverlay eventt?
L2031[12:59:10] <diesieben07> wat
L2032[12:59:15] <PaleoCrafter> wat²
L2033[12:59:18] <madcrazydrumma> wait
L2034[12:59:21] <madcrazydrumma> ;_;
L2035[12:59:26] <Falkreon> that doesn't look right
L2036[12:59:38] <madcrazydrumma> *Why won't my overlay render in creative mode?
L2037[12:59:39] <madcrazydrumma> There we go
L2038[12:59:44] <Falkreon> if (saw!=null) return false;
L2039[12:59:48] <Falkreon> ^ wth
L2040[12:59:53] <Falkreon> the recipe is never going to activate
L2041[12:59:57] <Nitrodev> blame ghz|afk
L2042[13:00:12] ⇦ Quits: Maxetime (~Thunderbi@modemcable086.219-70-69.static.videotron.ca) (Quit: Maxetime)
L2043[13:00:14] <PaleoCrafter> well, I'd guess that you don't draw anything in creative mode, madcrazydrumma
L2044[13:00:17] <Falkreon> swap those around to if (saw==null)
L2045[13:00:35] <Nitrodev> then it won't work
L2046[13:00:41] <Falkreon> wait
L2047[13:00:45] <Nitrodev> AFAIK
L2048[13:00:47] <Falkreon> what are you OH
L2049[13:00:56] ⇨ Joins: Maxetime (~Thunderbi@modemcable086.219-70-69.static.videotron.ca)
L2050[13:00:57] <Falkreon> you want to make sure you're not capturing multiple saws
L2051[13:01:07] <Falkreon> I get it.
L2052[13:01:11] <Nitrodev> yeah
L2053[13:01:13] <Falkreon> just had to look at it for a min
L2054[13:01:28] <madcrazydrumma> diesieben07, using RenderGameOverlayEvent.Pre renders nothing anymore
L2055[13:01:35] <Falkreon> okay, so far so good
L2056[13:01:45] <diesieben07> then you are doing it wrong. show your code.
L2057[13:02:02] <madcrazydrumma> same as before, just using RenderGameOverlayEvent.Pre
L2058[13:02:20] <Falkreon> the getRecipeOutput().copy() is extra if you're not making changes, but not a big deal
L2059[13:02:21] <PaleoCrafter> show your code, man
L2060[13:02:35] <madcrazydrumma> http://pastebin.com/9J2HVXue
L2061[13:02:37] <Nitrodev> oh
L2062[13:02:49] <Nitrodev> then i need to figure out the calling of that class
L2063[13:02:54] <Falkreon> it looks like getRemainingItems is what's left on the board.
L2064[13:02:54] ⇦ Quits: Maxetime (~Thunderbi@modemcable086.219-70-69.static.videotron.ca) (Client Quit)
L2065[13:02:56] <PaleoCrafter> there is no experience bar in creative
L2066[13:02:58] <PaleoCrafter> simple as that
L2067[13:03:04] <Nitrodev> but i'll just look at some othermods code
L2068[13:03:06] <diesieben07> not even that.
L2069[13:03:11] ⇨ Joins: Maxetime (~Thunderbi@modemcable086.219-70-69.static.videotron.ca)
L2070[13:03:12] <madcrazydrumma> but it doesnt render in sp anymore
L2071[13:03:14] <diesieben07> (event.isCancelable() is always true...
L2072[13:03:16] <Falkreon> the calling of what class?
L2073[13:03:18] ⇦ Quits: tambre (~tambre@2fcf-bb57-e18a-f9eb-4301-8a22-07d0-2001.dyn.estpak.ee) (Ping timeout: 192 seconds)
L2074[13:03:18] <PaleoCrafter> that too
L2075[13:03:19] <diesieben07> so you ALWAYS retrun
L2076[13:03:22] <PaleoCrafter> :D
L2077[13:03:23] <diesieben07> why do you check for that -.-
L2078[13:03:47] <Falkreon> Nitrodev, keep it, it's working. I think you want to put your damaged saw in getRemainingItems
L2079[13:04:00] <Nitrodev> oh yeah that
L2080[13:04:00] <madcrazydrumma> Tutorial ;_;
L2081[13:04:14] <madcrazydrumma> Should i just remove the whole statement?
L2082[13:04:45] <PaleoCrafter> guess someone should change this: http://www.minecraftforge.net/wiki/Gui_Overlay :D
L2083[13:04:46] <masa> Falkreon: well without the .copy() you would give access to the template ItemStack thought, right? so inventory code would/could then change the stackSize on it, which would most likely be bad :p
L2084[13:05:17] <Falkreon> yeah. I don't *think* anyone's going to do that, but you're right about the defensive copy being desirable if you think it's going to get tampered with
L2085[13:06:05] <masa> how would nobody do that? if you craft/ever have more than two of the item at a time, the size WILL get changed in the inventory
L2086[13:06:13] <Falkreon> heh
L2087[13:06:22] <Falkreon> you have no idea how much defensive copying already happens in the code
L2088[13:06:37] <madcrazydrumma> diesieben07 PaleoCrafter http://pastebin.com/TmpYAGpT -> it still doesn't render the cooldown update in the gui
L2089[13:06:38] <Falkreon> well, you probably do.
L2090[13:06:56] <Falkreon> but yeah, when the inventory gets opened, defensive copies happen
L2091[13:07:01] ⇦ Quits: Jezza (~Jezza@185.44.151.55) (Read error: Connection reset by peer)
L2092[13:07:01] <PaleoCrafter> try to understand the code you're copying
L2093[13:07:18] <Nitrodev> what mods add recipes with things remaining in the crafting recipe
L2094[13:07:33] <Falkreon> Nitrodev- Chisel2
L2095[13:07:38] <Falkreon> it's fairly up to date
L2096[13:07:54] <Falkreon> or Forge Microblocks
L2097[13:08:03] <Falkreon> both are doing almost exactly the sort of thing you're looking fo
L2098[13:08:04] <Falkreon> r
L2099[13:08:26] <masa> and still the inventory code is crap, because in many places the result from getStackInSlot(slotNum) is used directly when changing the stackSIe, without ever calling setInventorySlotContents() on it...
L2100[13:08:36] <madcrazydrumma> No I do understand it PaleoCrafter, its all working aside from that
L2101[13:08:46] <Falkreon> masa, hmm. You're right.
L2102[13:08:50] <PaleoCrafter> you obviously do not understand it
L2103[13:08:51] <madcrazydrumma> I've done GUIs before but never having to update it :P it was always static
L2104[13:08:55] <Falkreon> and I suspect mods aren't too interested in defensive copies either
L2105[13:09:02] <madcrazydrumma> I know the event is called every tick
L2106[13:09:09] <PaleoCrafter> apart from that, I already told you what is wrong
L2107[13:09:48] <madcrazydrumma> I need to keep the element experience type in there because otherwise it just goes all white aside from the images im rendering
L2108[13:10:15] <Falkreon> hm. I wonder
L2109[13:10:21] <Falkreon> don't we have a chisel2 dev in here?
L2110[13:10:29] <Falkreon> reminds me, I have some questions about it.
L2111[13:10:35] <Falkreon> that and ctmlib X)
L2112[13:10:38] <masa> madcrazydrumma: so you are not restoring the bound texture then?
L2113[13:11:25] ⇨ Joins: Jezza (~Jezza@185.44.151.55)
L2114[13:11:28] <madcrazydrumma> masa, are we supposed to do that? o.O
L2115[13:11:33] *** AbrarSyed is now known as Abrar|gone
L2116[13:11:55] <Nitrodev> sigh i can't find the IREcipe code from chisel 2s github
L2117[13:12:38] <Falkreon> oh crap
L2118[13:12:43] <Falkreon> that's right, they're using a custom UI
L2119[13:12:49] <Falkreon> I forgot about that
L2120[13:12:52] <minecreatr> Falkreon, Chisel 2 is not the latest version, the latest version is Chisel
L2121[13:12:58] <Falkreon> wat
L2122[13:13:08] <Falkreon> I don't even understand what's going on
L2123[13:13:35] <masa> madcrazydrumma: hmm have you tried ElementType.ALL ?
L2124[13:13:44] <masa> I seem to be using that in one of my overlays atm
L2125[13:14:11] <madcrazydrumma> in the !=?
L2126[13:15:02] <masa> yes as in rendering your stuff in the ALL Post event
L2127[13:15:26] <williewillus> chisel2 got forked
L2128[13:15:29] <masa> that should be after everything else, so you not restoring the regular mc texture shouldn't matter
L2129[13:15:32] <williewillus> and tehy renamed it back to chisel
L2130[13:15:47] <madcrazydrumma> hmm
L2131[13:15:48] <madcrazydrumma> true
L2132[13:15:49] <Falkreon> so it's not the pokefenn chisel repo
L2133[13:15:54] <Falkreon> sorry if I'm pinging people
L2134[13:16:11] <williewillus> pokefenn's chisel is ancient
L2135[13:16:18] <madcrazydrumma> masa, can i see your event?
L2136[13:16:18] <Falkreon> that's what I thought
L2137[13:16:23] <williewillus> thats the original chisel 1 1.7.2 version :p
L2138[13:16:29] <Falkreon> so I see the pokefenn chisel and the Chisel-2 repo
L2139[13:16:37] <Falkreon> I don't see the fork
L2140[13:16:38] ⇦ Quits: Herpahermaderp (webchat@216.196.92.69) (Ping timeout: 204 seconds)
L2141[13:16:39] <masa> madcrazydrumma: https://github.com/maruohon/multishot/blob/master/src/main/java/fi/dy/masa/minecraft/mods/multishot/gui/MsGui.java#L101-L104
L2142[13:16:40] <madcrazydrumma> My code is still not updating the counter
L2143[13:16:52] <masa> the rest of the code is most likely complete shit, don't even look at it :D
L2144[13:16:57] <PaleoCrafter> https://github.com/Chisel-Team/Chisel
L2145[13:17:06] ⇨ Joins: Herpahermaderp (Herpaherma@216.196.92.69)
L2146[13:17:17] <madcrazydrumma> xD
L2147[13:17:24] <Falkreon> A New Hope?
L2148[13:17:27] <Falkreon> lel
L2149[13:17:40] <Herpahermaderp> how do I check if the player has entered a new dimension
L2150[13:17:42] <Falkreon> why don't we just tack a couple more e's onto that and be extra special
L2151[13:18:00] <diesieben07> Herpahermaderp, PlayerChangedDimensionEvent
L2152[13:18:33] <madcrazydrumma> masa, still doesn't bloody update the counter ;_;
L2153[13:19:01] <Herpahermaderp> ah, thanks
L2154[13:20:07] <masa> define upate the counter
L2155[13:20:16] <masa> does it render something?
L2156[13:20:35] <madcrazydrumma> it should do
L2157[13:20:43] <madcrazydrumma> renders: "ZCD: 0"
L2158[13:20:48] <madcrazydrumma> drawCenteredString(fr, "ZCD: " + (zCooldownTicks / 20), 20, 10, 0xFFFFFFFF);
L2159[13:22:02] ⇦ Quits: Jezza (~Jezza@185.44.151.55) (Read error: Connection reset by peer)
L2160[13:22:40] <Nitrodev> any examples for getReamianingItems method?
L2161[13:23:05] <diesieben07> Nitrodev, ForgeHooks.defaultRecipeGetRemainingItems
L2162[13:23:16] <Nitrodev> yeah i juts saw that
L2163[13:23:28] <Nitrodev> but now clue how to use that
L2164[13:23:33] <diesieben07> you... call it.
L2165[13:23:47] <Nitrodev> oh
L2166[13:24:06] <Nitrodev> right
L2167[13:24:07] <madcrazydrumma> masa
L2168[13:24:14] <Nitrodev> now what
L2169[13:24:17] ⇦ Quits: Falkreon (~Frost@75-163-85-206.omah.qwest.net) (Killed (NickServ (GHOST command used by Frost_)))
L2170[13:24:27] ⇨ Joins: falkreon (~Frost@75-163-85-206.omah.qwest.net)
L2171[13:26:21] ⇨ Joins: theGliby (theGliby@85.254.158.175)
L2172[13:29:44] *** DRedAway is now known as DRedhorse
L2173[13:30:18] ⇨ Joins: skcoreimaj (~jamierock@host-212-159-176-21.static.as13285.net)
L2174[13:30:39] <skcoreimaj> Hi there, is there a way to render a tranlucent item in the players hand?
L2175[13:31:34] <falkreon> what's the Futura glowey renderer in the chisel issues list?
L2176[13:31:44] <Nitrodev> okay recipe works now i just have to figure out the remaining items part
L2177[13:31:54] <skcoreimaj> oh hi falkreon
L2178[13:31:55] <Nitrodev> or there is something else i missed
L2179[13:32:16] <falkreon> Nitrodev, like I said, just return an ItemStack[1] containing the saw
L2180[13:32:22] <falkreon> from getRemainingItems
L2181[13:32:39] ⇨ Joins: c233 (~c233@164.40.204.162)
L2182[13:32:39] <Nitrodev> i was told about this ForgeHooks.defaultRecipeGetRemainingItems(inventoryCrafting)
L2183[13:32:50] <falkreon> wat
L2184[13:32:56] <falkreon> no, in your IRecipe
L2185[13:33:01] <falkreon> it has built-in hooks for it
L2186[13:33:24] <Nitrodev> okay
L2187[13:33:35] <Nitrodev> now i have a java problem
L2188[13:33:38] <Nitrodev> i think
L2189[13:33:42] <falkreon> oh?
L2190[13:34:06] <Nitrodev> how do i make the array ItemStack contain the saw
L2191[13:34:34] <Nitrodev> wait i think i know how
L2192[13:34:38] <falkreon> ok
L2193[13:35:12] <Nitrodev> nope it errors with Exxpression expected
L2194[13:35:18] <Nitrodev> under the ItemStack
L2195[13:35:19] <falkreon> pastebin
L2196[13:35:45] ⇦ Quits: madcrazydrumma (~madcrazyd@94.205.12.222) (Quit: Leaving)
L2197[13:35:49] <Nitrodev> http://pastebin.com/usJdJ1bj
L2198[13:36:07] <falkreon> okay we've got a lot of work to do X)
L2199[13:36:14] <falkreon> so first of all
L2200[13:36:20] <Nitrodev> okay
L2201[13:36:27] <falkreon> (ItemStack[1] = ModItems.itemSaw) is a nonsense expression
L2202[13:36:43] <falkreon> first thing you need to do is create an ItemStack[]
L2203[13:37:03] <falkreon> assign it to a temp variable like "result"
L2204[13:37:04] <Nitrodev> okay i got that
L2205[13:37:25] <falkreon> so it'll look something like ItemStack[] result = new ItemStack[1];
L2206[13:37:46] <falkreon> ItemStack[] is the type
L2207[13:37:56] <falkreon> but if you try to dimension the type java hates you forever.
L2208[13:38:10] <falkreon> it's not part of the type information
L2209[13:38:10] <Nitrodev> dimension?
L2210[13:38:26] <falkreon> ItemStack[1] is not a type. ItemStack[] is a type.
L2211[13:38:34] <falkreon> just so we're clear.
L2212[13:38:58] ⇨ Joins: raoulvdberge (uid95673@2001:67c:2f08:6::1:75b9)
L2213[13:39:11] <masa> ohb tw the size of the returned array from getRemainingItems() should match the crafting grid sie, otherwise it won't work properly, sinze it only loops through that array when decresing the input itemstack sizes
L2214[13:39:31] <masa> see SlotCrafting.onPickupFromSlot()
L2215[13:39:39] <raoulvdberge> anyone know why my item is not rendering in the inventory (purple default block) with following blockstate JSON: http://pastebin.com/xFYuPz1k
L2216[13:39:41] <raoulvdberge> I did declare also the custom model resource location: ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(StorageCraftBlocks.GRID), 0, new ModelResourceLocation("storagecraft:grid", "inventory"));
L2217[13:39:52] <Nitrodev> okay now the first line of the entire class is ItemStack[] result = new ItemStack[1];
L2218[13:40:54] <falkreon> alright, if what masa is saying is true, you're actually going to want new ItemStack[9] instead
L2219[13:41:11] <masa> didn't he use a grid of 4 slots?
L2220[13:41:20] <masa> yep
L2221[13:41:22] <Nitrodev> yeah
L2222[13:41:28] <falkreon> okay, 4 then.
L2223[13:41:31] <falkreon> :P
L2224[13:41:33] <Nitrodev> so ItemStack[4]
L2225[13:42:12] <falkreon> and if we wanted to get advanced we'd put a damaged saw where the original saw was instead of the first slot, and we can do that, but we'll get there.
L2226[13:42:25] <Nitrodev> okay
L2227[13:42:31] ⇦ Quits: LexLap2 (~LexManos@98.125.178.185) (Ping timeout: 190 seconds)
L2228[13:42:46] <Nitrodev> and i have an idea of what we need to do next
L2229[13:43:08] <sham1> Let's hear it
L2230[13:43:10] * Nitrodev is looking at the array doc for java
L2231[13:43:24] <falkreon> heh
L2232[13:43:30] <Nitrodev> we need to initialize the ItemStack[4]
L2233[13:43:32] ⇦ Quits: Hassan (~hassa@2602:306:cde1:d700:7561:774a:9b1:7a9a) (Ping timeout: 192 seconds)
L2234[13:43:36] <Nitrodev> well the whole array
L2235[13:43:41] <falkreon> well sort of. It's all nulls by default.
L2236[13:43:49] <falkreon> and nulls are just empty itemslots
L2237[13:43:50] <masa> looking at the onPickupFromSlot() method, it seems that you also want to put the saw in the same position that it was at in the input grid, so that it will properly decrease the other input item stackSizes
L2238[13:43:51] <falkreon> which is good.
L2239[13:43:56] <Nitrodev> oh yeah
L2240[13:45:29] <falkreon> yeah, I finally have SlotCrafting open here too
L2241[13:45:41] <Nitrodev> unexpected token when i try to do ItemStack[1] = null;
L2242[13:45:59] <falkreon> yeah
L2243[13:46:05] <falkreon> because ItemStack[1] is not a field
L2244[13:46:14] <Nitrodev> oh yeah result is
L2245[13:46:18] <Nitrodev> isn't?
L2246[13:46:32] <falkreon> result is a local variable, yeah, close enough.
L2247[13:46:45] <falkreon> it can be a left-hand-side
L2248[13:46:53] <Nitrodev> a what?
L2249[13:46:59] <falkreon> it can be on the left side of an equals
L2250[13:47:06] ⇦ Quits: skcoreimaj (~jamierock@host-212-159-176-21.static.as13285.net) (Ping timeout: 190 seconds)
L2251[13:47:08] <falkreon> result = null; //good
L2252[13:47:20] <falkreon> well
L2253[13:47:26] <falkreon> also result[0] = null;
L2254[13:47:28] <falkreon> :D
L2255[13:47:54] <sham1> Setting an array to null is possible but not wanted
L2256[13:48:00] <falkreon> right, I wouldn't advise it
L2257[13:48:02] <Nitrodev> result = null; won't work
L2258[13:48:12] <Nitrodev> thinks result is a class
L2259[13:48:22] <sham1> Lolwut
L2260[13:48:28] <Nitrodev> so error is unknown class 'result'
L2261[13:48:31] <falkreon> result=null; would work, but as sham1 says it's really not a good idea.
L2262[13:48:46] <Nitrodev> no wait unexpected token error
L2263[13:48:52] <Nitrodev> on result = null;
L2264[13:48:56] <falkreon> arrays are an object type, but they are compiled a bit specially
L2265[13:49:03] <falkreon> so who knows.
L2266[13:49:12] <falkreon> In any case your compiler's right, don't do it X)
L2267[13:49:12] <sham1> Yeah
L2268[13:49:15] <Nitrodev> http://pastebin.com/PGNU7CZ6
L2269[13:49:19] <sham1> They don't get type erased
L2270[13:49:22] <sham1> For one
L2271[13:49:31] <falkreon> what the
L2272[13:49:48] <falkreon> why did you move result up to the IRecipe
L2273[13:49:50] ⇦ Quits: c233 (~c233@164.40.204.162) (Quit: Leaving)
L2274[13:49:51] <Rushmead> Hmm this still isnt working https://gist.github.com/Rushmead/65351f5dd53a4122af1a
L2275[13:49:52] <falkreon> that's not what you want
L2276[13:49:57] <Nitrodev> oh?
L2277[13:49:57] <laci200270> pinging fry|sleep
L2278[13:50:03] <falkreon> keep it local to the method.
L2279[13:50:20] <Nitrodev> oh yeah to the getremaining
L2280[13:50:32] <falkreon> the "result=null;" is failing because it's floating in the class and not inside a static block
L2281[13:50:35] <Nitrodev> wait the array declaration aswell?
L2282[13:50:40] <falkreon> yes the array declaration
L2283[13:50:43] <Nitrodev> okay
L2284[13:50:59] <falkreon> you don't want anything else in the class tampering with it, it should scope to the method.
L2285[13:51:08] <Wuppy> seriously, how many early access survival procedurally generated rogue likes can there be on steam...
L2286[13:51:16] <falkreon> Wuppy, too many
L2287[13:51:17] <Nitrodev> too many Wuppy
L2288[13:51:21] <falkreon> :D
L2289[13:51:22] <Nitrodev> darn
L2290[13:51:23] <Wuppy> lol
L2291[13:51:27] <falkreon> ikr
L2292[13:51:29] <falkreon> it's like
L2293[13:51:35] <falkreon> I see a game, it starts to look good
L2294[13:51:35] <Wuppy> I've seen at least 50 of them in the steam discovery queue this sale
L2295[13:51:37] <Nitrodev> we're synced
L2296[13:51:51] <falkreon> and then they're like "randomly generated levels" and total bonerkill
L2297[13:51:54] <sham1> Why are there so many 8-bit indie games
L2298[13:51:57] *** illy[AFK] is now known as illy
L2299[13:52:10] <Wuppy> oh wow, finally there's an early access game I'm interested in, first after 1000 int he queue
L2300[13:52:18] <Wuppy> an indie version of diablo pretty much
L2301[13:52:24] <falkreon> ehh
L2302[13:52:32] <falkreon> there's a non-indie version of diablo that just came out
L2303[13:52:36] <Nitrodev> what next?
L2304[13:52:38] <Rushmead> diesieben07 -> still not working, no border or collision appears for both states https://gist.github.com/Rushmead/65351f5dd53a4122af1a
L2305[13:52:40] <falkreon> devilian is probably quite good
L2306[13:52:46] <Wuppy> falkreon, what's it called?
L2307[13:52:50] <laci200270> who expreinced with model system?
L2308[13:52:57] <falkreon> Trion makes good stuff, it's underrated
L2309[13:53:00] <laci200270> *experienced
L2310[13:53:21] <Nitrodev> simple models or advanced laci200270
L2311[13:53:32] <laci200270> smartmodels
L2312[13:53:37] <Nitrodev> not me then
L2313[13:54:11] <falkreon> Nitro, now you want to go through the slots in the InventoryCrafting and find your saw.
L2314[13:54:23] <Nitrodev> a for loop will do fine then
L2315[13:54:26] <falkreon> yes.
L2316[13:54:26] <Nitrodev> right?
L2317[13:54:46] <masa> Nitrodev: maybe something like this: http://pastebin.com/T0Ny30aB
L2318[13:54:49] ⇦ Quits: sciguyryan (~sciguyrya@80-254-76-225.dynamic.swissvpn.net) ()
L2319[13:55:06] <falkreon> eww the prefix operators
L2320[13:55:17] <falkreon> imo, if it needs to be prefix, it needs its own line.
L2321[13:55:37] <masa> shut up :D
L2322[13:55:40] <falkreon> also hanging braces
L2323[13:55:44] <masa> shut up :D
L2324[13:55:46] <falkreon> srsly I think I hate you
L2325[13:55:47] <falkreon> :D
L2326[13:55:48] <masa> shut up :D
L2327[13:56:20] <falkreon> but the code is right.
L2328[13:56:26] <MattDahEpic> whats the best way to tell how many ticks have passed in a world from Thread or Runnable?
L2329[13:56:32] <masa> if prefix deserves its own line, then so do the opening braces! don't be brace-racist now!
L2330[13:56:45] <williewillus> MattDahEpic: read the world time? :p
L2331[13:56:49] <falkreon> I am bracist and proud of it
L2332[13:56:54] <falkreon> get astyle'd
L2333[13:57:04] <sham1> C indentation :C
L2334[13:57:07] <williewillus> nextline braces are a waste of space
L2335[13:57:10] <williewillus> *flamewar*
L2336[13:57:36] ⇨ Joins: shadekiller666 (~shadekill@adsl-108-80-76-81.dsl.lsan03.sbcglobal.net)
L2337[13:57:36] <sham1> Masa, why U do this
L2338[13:57:39] <falkreon> yeah I hate most C conventions too, which is funny because we're using java
L2339[13:57:49] <Wuppy> I can has holiday badge :D
L2340[13:57:50] <masa> C indentation?
L2341[13:58:02] <shadekiller666> most of java's conventions are different than C's
L2342[13:58:06] <falkreon> masa- typical C indentation has the hanging braces
L2343[13:58:23] <williewillus> I just tend to follow the conventions of the resdpective language
L2344[13:58:31] <falkreon> I'm pretty sure if you crack open an O'Reilly C book you'd see em
L2345[13:58:33] <williewillus> like in C# I do nextline just because their documentationdoes :p
L2346[13:58:36] <masa> maybe that's why I like them then, since I did some C before I started java with mc modding
L2347[13:58:45] <falkreon> ah. Yeah.
L2348[13:58:56] <sham1> For {C,C++} I use the same style as Masa used there
L2349[13:59:04] <falkreon> I do some C# but we definitely have some friction because they Like To Capitalize Everything
L2350[13:59:08] <shadekiller666> i hate newline open braces...
L2351[13:59:35] <sham1> Newline open braces look passable in C
L2352[13:59:35] <sham1> In java, no...
L2353[13:59:40] <masa> but the closing brace feels so lonely without his opening brother fro manother mother
L2354[13:59:41] <falkreon> instance field? Capitalize it. Method name? Capitalized.
L2355[14:00:07] <falkreon> bleh
L2356[14:00:24] <falkreon> completely unrelated: Why can't I seem to ping anything?
L2357[14:00:28] <sham1> C# is just weird
L2358[14:00:40] <falkreon> clearly I have internet access. I can get at irc and websites just fine.
L2359[14:00:49] <falkreon> nslookup runs nice and quick
L2360[14:00:54] <falkreon> ping just dies.
L2361[14:01:00] <sham1> Why Are The Method Names Capitalized
L2362[14:01:06] <masa> don't ping dead hosts
L2363[14:01:12] <shadekiller666> i actually prefer C# over java, because it is more flexible and there is some syntactic sugar stuff that java doesn't have
L2364[14:01:13] <falkreon> masa- like google.com?
L2365[14:01:17] <masa> yeah :D
L2366[14:01:18] <falkreon> totally dead host
L2367[14:01:34] <falkreon> shadekiller666, it's hard to argue with reified generics, yeah.
L2368[14:01:41] ⇦ Quits: Ipsis (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk) (Ping timeout: 190 seconds)
L2369[14:01:49] <falkreon> but I'm gonna stick to java 8 for a good long time.
L2370[14:01:50] <sham1> Only thing I prefer C# with is the fact that it has unsigned integers
L2371[14:02:07] <falkreon> unsigned integers and signed integers are the same thing though :/
L2372[14:02:13] <shadekiller666> well more like the way that you can instantiate multi-dimensional arrays, and change what the basic operators do
L2373[14:02:25] <Nitrodev> masa, works other wise except the the other recipe input stays too
L2374[14:02:28] <shadekiller666> falkreon, no, not really
L2375[14:02:30] <Nitrodev> the slab stays
L2376[14:02:31] <falkreon> operator overloading is a whole different argument
L2377[14:02:32] <sham1> They are the same yes
L2378[14:02:48] <sham1> They look the same in memory
L2379[14:03:14] <falkreon> When it matters, it's because I'm doing bit twiddling where it specifically doesn't matter.
L2380[14:03:22] <falkreon> :P
L2381[14:03:26] <Nitrodev> okay i'm gonna be done for today
L2382[14:03:37] <shadekiller666> oh, and the fact that you can make C# completely ignore its GC
L2383[14:04:05] <falkreon> I've actually found a nice balance between avoiding GC and working with it.
L2384[14:04:09] <sham1> I for one like the GC
L2385[14:04:19] ⇦ Quits: Hunterz (~hunterz@62.182.234.189) (Quit: Leaving.)
L2386[14:04:30] <falkreon> I put together a generic pooling system for single-threaded objects
L2387[14:04:33] <shadekiller666> GC is often terrible for games
L2388[14:04:43] <shadekiller666> assuming you know how to manage memory
L2389[14:04:44] <falkreon> where it's not actually guaranteeing object reuse
L2390[14:04:59] <falkreon> but if you do, it counts towards avoiding a GC because it avoids instance *creation*
L2391[14:05:24] <falkreon> if the heap doesn't grow, the GC is called less aggressively.
L2392[14:05:26] <diesieben07> shadekiller666, actually that is not true. if you have a good GC ...
L2393[14:05:30] <MattDahEpic> !gm World.spawnParticle 1.8.8
L2394[14:06:28] <MattDahEpic> what does the boolean and int[] do in World.spawnParticle?
L2395[14:06:35] <falkreon> I should write a mod to get rid of the texture atlas.
L2396[14:06:36] <sham1> I also like the smart pointer in c++
L2397[14:06:40] <falkreon> :D~
L2398[14:06:43] <shadekiller666> for optimization purposes non-GC can always be faster than GC if you know what you're doing
L2399[14:07:04] <falkreon> shadekiller, actually that's not true
L2400[14:07:18] <diesieben07> there are even problems that are not solveable without a GC
L2401[14:07:20] <falkreon> again, if you guarantee that the heap doesn't grow inside the inner loop it won't trip a GC and you get the same speed
L2402[14:07:43] <diesieben07> even then, there are GCs that run completely concurrent to the program
L2403[14:07:46] <falkreon> you DO still have to manage your memory
L2404[14:07:49] <diesieben07> they never block your progam
L2405[14:08:07] <falkreon> diesieben07, STW is unavoidable.
L2406[14:08:16] <diesieben07> not true.
L2407[14:08:18] <falkreon> if you need a STW, it's going to STW
L2408[14:08:31] <diesieben07> there are GCs that never stop the world
L2409[14:08:38] <falkreon> which ones
L2410[14:08:58] <sham1> The ones that don't stop the world :p
L2411[14:09:06] <falkreon> don't say concurrentMark+Sweep, because that one does.
L2412[14:09:11] <diesieben07> azul's
L2413[14:09:24] <laci200270> shadekiller666, can u help me?
L2414[14:09:34] <diesieben07> https://www.youtube.com/watch?v=LJC_2agoLuE
L2415[14:09:49] <diesieben07> falkreon: ^
L2416[14:10:14] <falkreon> I'm looking at Azul Systems copy right now
L2417[14:10:25] <sham1> Diesieb, can you later tonight send me some videos about the JVM architecture I can burn through and absorb the knowledge from
L2418[14:10:40] <falkreon> https://www.azul.com/files/c4_paper_acm1.pdf
L2419[14:10:45] <falkreon> this is more what I'm interested in
L2420[14:10:57] <shadekiller666> laci, with what?
L2421[14:11:29] <diesieben07> sham1, i just watched all of this: https://www.youtube.com/playlist?list=PLX8CzqL3ArzUo2dtMurvpUTAaujPMeuuU
L2422[14:12:06] <falkreon> I really wish people would go back to actually printing documentation :P
L2423[14:12:09] <diesieben07> and falk, you obviously know more than me about this :D
L2424[14:12:16] <sham1> I presume the LS5 means Language Specification 5
L2425[14:12:32] <laci200270> shadekiller666, with smartmodels
L2426[14:12:35] <diesieben07> Language Summit
L2427[14:12:43] <sham1> Ah
L2428[14:12:51] <diesieben07> and then 2015 because that's the year.
L2429[14:13:02] <falkreon> I miss Unsafe :(
L2430[14:13:02] <shadekiller666> laci, what about them
L2431[14:13:10] <diesieben07> miss?
L2432[14:13:14] <laci200270> i want to make a progressbar
L2433[14:13:22] <falkreon> sun.misc.Unsafe is a great idea
L2434[14:13:24] <laci200270> on the sides of the block
L2435[14:13:36] <diesieben07> meh
L2436[14:13:36] <falkreon> we need that kind of library back
L2437[14:13:39] <diesieben07> not for java
L2438[14:13:43] <falkreon> yes for java
L2439[14:13:58] <diesieben07> it will come back in a much nicer api in java 9
L2440[14:13:59] <diesieben07> var handlers
L2441[14:14:02] <diesieben07> -r
L2442[14:14:05] <falkreon> it goes back to responsible self-management
L2443[14:14:45] <diesieben07> you can do horrible things with unsafe. and one of java's goals is to stop you doing horrible things
L2444[14:15:07] <falkreon> JNI is basically always horrible things
L2445[14:15:14] <sham1> I like how the new LWJGL stores the pointer adresses in longs, making the assumption about 64-bit computer
L2446[14:15:24] <falkreon> :D
L2447[14:15:34] <sham1> (Not that you cannot have 32bit pointers in 64 bit integers)
L2448[14:16:03] <laci200270> shadekiller666, a progressbar on the sides of my block
L2449[14:16:07] <shadekiller666> ok
L2450[14:16:13] <laci200270> or change color dynamically
L2451[14:16:31] <laci200270> do you have any ideas?
L2452[14:16:34] <shadekiller666> you'll need an ISmartBlockModel i think
L2453[14:17:00] <laci200270> how can I manipulate images?
L2454[14:17:05] <laci200270> in quads
L2455[14:18:04] <diesieben07> falkreon, JNI is an unavoidable thing
L2456[14:18:24] <sham1> Points at LWJGL
L2457[14:18:33] <diesieben07> sham1, but what else would you do? have all things that deal with pointers in two versions? :D
L2458[14:18:33] <sham1> Which is an obvious example
L2459[14:18:41] <sham1> True
L2460[14:18:54] <diesieben07> everything in java that deals with pointers (see native buffers in NIO) uses longs
L2461[14:19:10] <sham1> 32 bits fit in 64 bits so might as well make them longs
L2462[14:19:48] <sham1> Not that you can access >4GB with 32bits
L2463[14:21:25] <shadekiller666> uhh
L2464[14:21:41] <shadekiller666> not 100% sure laci, and i can't really look atm
L2465[14:24:36] ⇨ Joins: manmaed (~Ender@97e11aeb.skybroadband.com)
L2466[14:24:40] <raoulvdberge> Failed with error: error: cannot fork() for git-remote-https: Resource temporarily unavailable
L2467[14:24:44] <raoulvdberge> fucking github..
L2468[14:24:49] <raoulvdberge> just as you want to push a big commit
L2469[14:25:27] ⇨ Joins: Johnsmith0508 (~johnsmith@pool-100-13-10-44.tampfl.fios.verizon.net)
L2470[14:28:41] *** manmaed is now known as manmaed|AFK
L2471[14:31:28] <raoulvdberge> so what is ITileEntityProvider in 1.8?
L2472[14:31:36] <raoulvdberge> I know it is still there, but I heard it can be removed?
L2473[14:31:37] <williewillus> don't use ITEP
L2474[14:31:39] <williewillus> yeah
L2475[14:31:49] ⇦ Quits: Herpahermaderp (Herpaherma@216.196.92.69) ()
L2476[14:31:50] <williewillus> just override hasTIleEntity and createTileENtity in block
L2477[14:31:56] <raoulvdberge> OK thx
L2478[14:32:04] <williewillus> ITEP is just legacy and you can't rely on it to determine if a block has a TE
L2479[14:36:14] <laci200270> textures are built up from quads?
L2480[14:36:33] <Rushmead> How do i change the block bounds based on state?
L2481[14:36:49] <sham1> Well textures are indeed 2d planes
L2482[14:37:54] ⇦ Quits: Johnsmith0508 (~johnsmith@pool-100-13-10-44.tampfl.fios.verizon.net) (Quit: *poof*)
L2483[14:38:09] <sham1> Rushed, Block#addCollisionBoxToPool or something like that
L2484[14:38:14] <sham1> Override it
L2485[14:38:15] <williewillus> Rushmead: there's a method to do that :p take a look at vnailla doors, trapdoors, etc.
L2486[14:38:33] <laci200270> sham1 can I manipulate textures from ISmartModel?
L2487[14:38:51] <sham1> I don't know
L2488[14:38:57] <williewillus> what do you want to do?
L2489[14:38:59] <sham1> Ask fry or shadekiller
L2490[14:39:09] <sham1> Or use TESR if desperate
L2491[14:39:11] <falkreon> laci, why would you for a progress bar? Just only show part of the texture
L2492[14:39:13] ⇨ Joins: Hassan (~Hassan@pool-173-79-220-242.washdc.fios.verizon.net)
L2493[14:39:23] <sham1> So you can manipulate the texture with OpenGL
L2494[14:39:35] <williewillus> laci200270: are you wanting a progress bar on your block?
L2495[14:39:39] <laci200270> yes
L2496[14:39:45] <williewillus> how many increments does it ened to have?
L2497[14:39:52] <laci200270> idk
L2498[14:39:55] <williewillus> just use submodels and getActualState
L2499[14:39:55] <laci200270> if possible 100
L2500[14:39:56] <sham1> Or is it smooth
L2501[14:39:58] <williewillus> lol
L2502[14:40:04] <falkreon> just change the width of the quad based on the progress
L2503[14:40:12] <williewillus> I think you're better off tesr'ing it if it's going to be changing constantly
L2504[14:40:13] <falkreon> and use according UV values
L2505[14:40:31] <laci200270> ok then I use TESRs
L2506[14:40:39] <williewillus> constant chunk wr rebuidls are fatal for fps (anyone remember redpower pipes :p)
L2507[14:40:40] <sham1> TESRs certanly still have uses
L2508[14:40:50] <sham1> But their uses are limited
L2509[14:40:59] <williewillus> like use a tesr only for the bar
L2510[14:41:03] <williewillus> make the rest of the block static model
L2511[14:41:35] <falkreon> yeah, I think some people make the mistake of having a static blockmodel plus a TESR somehow
L2512[14:41:41] ⇦ Quits: HassanS6000 (~Hassan@pool-173-79-220-242.washdc.fios.verizon.net) (Ping timeout: 190 seconds)
L2513[14:41:42] <falkreon> I keep seeing blocks z-fight with themselves
L2514[14:41:44] <falkreon> it's insane
L2515[14:41:51] <williewillus> it's not insane, it's useful :p
L2516[14:41:56] <williewillus> enchanting table?
L2517[14:41:58] <williewillus> tesr + static
L2518[14:42:05] <williewillus> botania's runic altar? same :p
L2519[14:42:15] <laci200270> and what if the TESR renders the block model?
L2520[14:42:17] <falkreon> no, I mean like project tables and chisel lavastone
L2521[14:42:23] <williewillus> it's slower
L2522[14:42:26] <falkreon> z-fighting with themselves
L2523[14:42:28] <falkreon> :(
L2524[14:42:30] <williewillus> you want as little in the tesr as possible
L2525[14:42:34] <falkreon> yes.
L2526[14:42:39] <laci200270> ok
L2527[14:42:54] <laci200270> i just ask a lot because I noob at rendering
L2528[14:43:08] ⇨ Joins: kimfy (~kimfy___@74.141.16.62.customer.cdi.no)
L2529[14:43:10] <williewillus> basically anything dynamically updating goes in tesr because changing static model states rebuidls the whole chunk
L2530[14:43:19] <williewillus> which is godawful slow if you do it a lot like redpower pipes used to
L2531[14:43:21] <falkreon> yeah, so like
L2532[14:43:28] <falkreon> the part of your block which is not progress bar
L2533[14:43:32] <falkreon> it gets sort of rendered one
L2534[14:43:34] <falkreon> time
L2535[14:43:45] <falkreon> along with all the dirt and stone
L2536[14:43:50] <laci200270> oh I have got a better idea..
L2537[14:44:02] <falkreon> it gets rotated and redrawn but it "lives" right on your graphics card
L2538[14:44:10] <laci200270> it is possible to render something when I am looking into the block?
L2539[14:44:11] <sham1> Make it a hud thing
L2540[14:44:16] <falkreon> if it's a tesr it lives on the CPU
L2541[14:44:19] <sham1> Yes laci
L2542[14:44:24] <williewillus> heh had the same idea together didn't you
L2543[14:44:27] <sham1> Entirely possible
L2544[14:44:28] <williewillus> yeah that would be better
L2545[14:44:38] <williewillus> just use one of the render world events and add a hud
L2546[14:44:51] ⇨ Joins: Poppy (~Poppy@chello085216146055.chello.sk)
L2547[14:45:06] <sham1> Or use the render hud event
L2548[14:45:16] <laci200270> I want to render a bar floating on the block
L2549[14:45:21] <laci200270> it is possible?
L2550[14:45:25] <sham1> Yes
L2551[14:45:42] <laci200270> what event do I need?
L2552[14:45:43] <sham1> You just need to know how to use opengl transforms
L2553[14:45:56] <sham1> For the floating part
L2554[14:46:43] <sham1> I propably will have an item that allows you to do stuff akin to WAILA
L2555[14:46:52] <sham1> Because it is broken in 1.8...
L2556[14:46:56] <falkreon> :(
L2557[14:46:58] <falkreon> I love waila
L2558[14:47:11] <sham1> I love it too
L2559[14:47:19] <sham1> But the rendering is broken in 1.8
L2560[14:47:22] <falkreon> I integrate with it for my mod, it's really good for debugging heat simulations
L2561[14:47:57] <raoulvdberge> williewillus: it says here that hasTileEntity is deprecated
L2562[14:48:10] <williewillus> use the state sensitive version
L2563[14:48:13] <sham1> Take the version with IBlockState
L2564[14:48:24] <sham1> DAMN IT NINJAS
L2565[14:48:27] <raoulvdberge> so jsut createTileEntity and no hasTileEntity with it
L2566[14:48:32] <williewillus> wat
L2567[14:48:34] <sham1> No...
L2568[14:48:40] <williewillus> override the hasTIleEntity that takes IBlockState
L2569[14:48:58] <raoulvdberge> williewillus: "> just override hasTIleEntity and createTileENtity in block"
L2570[14:48:59] <raoulvdberge> your words :P
L2571[14:49:14] *** Vigaro is now known as Vigaro|AFK
L2572[14:49:20] <raoulvdberge> OOOH NVM
L2573[14:49:21] <raoulvdberge> lol
L2574[14:49:24] <williewillus> yeah the non deprecated versions
L2575[14:49:25] *** Vigaro|AFK is now known as Vigaro
L2576[14:49:40] * sham1 is confused
L2577[14:50:01] <williewillus> should I have typed out hasTileEntity(Lnet/minecraft/block/state/IBlockState;)Z ? ;p
L2578[14:50:14] <sham1> Yes
L2579[14:50:18] <raoulvdberge> yes. secretly, I am the JVM
L2580[14:50:56] <sham1> Everyone is JVM if they believe
L2581[14:51:12] *** bilde2910 is now known as bilde2910|away
L2582[14:51:13] <raoulvdberge> My mom told me I could become anything. So I became the JVM.
L2583[14:51:14] <sham1> Everyone is also ghc but that is another story
L2584[14:51:26] <raoulvdberge> Noooooo
L2585[14:51:27] ⇨ Joins: HassanS6000 (~hassa@2602:306:cde1:d700:308c:7050:5094:7a54)
L2586[14:52:30] <sham1> The Glorious Glasgow Haskell Compilation System
L2587[14:52:31] ⇦ Quits: HassanS6000 (~hassa@2602:306:cde1:d700:308c:7050:5094:7a54) (Client Quit)
L2588[14:52:36] *** Hassan is now known as HassanS6000
L2589[14:54:01] <williewillus> i much prefer clojure/lisps to haskell
L2590[14:54:19] <sham1> Parentheses for days
L2591[14:54:25] <williewillus> besides the fact that the GHC is literally as enormous as all my modding environments combined...
L2592[14:54:52] <Nitrodev> huh well the recipe works fine atm
L2593[14:54:55] <sham1> Well at least for windows ghc also has a mingw embedded
L2594[14:55:15] <Nitrodev> except the wooden slab stays in the recipe aswell as the saw making it possible for duping
L2595[14:55:59] <Nitrodev> any idea why
L2596[14:56:07] <falkreon> let's see it
L2597[14:56:22] <sham1> Inb4 you don't delete it
L2598[14:56:31] ⇨ Joins: c233 (~c233@164.40.204.162)
L2599[14:56:34] <Nitrodev> http://pastebin.com/RWv1LTLm
L2600[14:57:30] <falkreon> odd.
L2601[14:57:37] <Wuppy> woop, finally out of my parents house again, life is good :D
L2602[14:58:04] <falkreon> if you don't overwrite it it should consume the item from the recipe ingredients. Wait...
L2603[14:58:27] <Nitrodev> https://github.com/Nitrodev/Warehouse-Storage
L2604[14:58:30] <sham1> I sense something bad
L2605[14:58:34] <Nitrodev> there is the git repo is that helps
L2606[14:59:14] <falkreon> not rly. It's about the recipe
L2607[15:00:40] <sham1> I really wonder why people at Oracle didn't add proper immutable collections to java8
L2608[15:01:21] <Nitrodev> proper what?
L2609[15:01:42] <sham1> Immutable collections
L2610[15:01:49] <sham1> Did I stutter?
L2611[15:01:53] <falkreon> like guava ImmutableList and ImmutableSet
L2612[15:01:59] <falkreon> and ImmutableMap*
L2613[15:02:01] <Nitrodev> oh
L2614[15:02:21] <falkreon> sets you can't change
L2615[15:02:44] ⇨ Joins: Tarig (~Tarig@cpe-104-230-154-96.columbus.res.rr.com)
L2616[15:02:47] <sham1> Or rather when you change, you get a new list or whatever
L2617[15:02:52] <williewillus> because "unmodifiableList/Set/Map" are good enough
L2618[15:02:55] <Rushmead> Dum dum dum. states, you piece of sh*t. Please work properly Thanks from Rush <3
L2619[15:03:06] <williewillus> it makes me feel dirty that reductions in java 8 give you mutable collections :p
L2620[15:03:10] <williewillus> Rushmead: what's wrong lol
L2621[15:03:15] <falkreon> ha
L2622[15:03:38] <falkreon> I keep running into roadblocks where I want to filter+map
L2623[15:03:39] <Nitrodev> ?
L2624[15:03:41] <Rushmead> IDk. For some reason, if you so withProperty, it resets any other properties
L2625[15:03:44] <Nitrodev> oh
L2626[15:03:52] <falkreon> and there's no good interface for that
L2627[15:03:52] <williewillus> Rushmead: it shouldn't :p
L2628[15:03:52] <williewillus> what case is tihs?
L2629[15:03:55] <williewillus> where are you doing it and what for?
L2630[15:04:19] <Rushmead> So
L2631[15:04:36] <falkreon> for example, I want to take each input, and atomically apply a predicate and emit a mapped result on success
L2632[15:04:46] <falkreon> it doesn't work that way though.
L2633[15:04:57] <falkreon> and most people using streams don't care about the atomicity there.
L2634[15:05:07] ⇦ Quits: c233 (~c233@164.40.204.162) (Quit: Leaving)
L2635[15:05:19] <sham1> UnmodifiableList is only a read-only view of a mutable list, that changes to reflect the changes in the list it is view of
L2636[15:05:21] ⇨ Joins: c233 (~c233@164.40.204.162)
L2637[15:05:35] <williewillus> i was being sarcastic sham :p
L2638[15:06:05] <Rushmead> When you shift right click with a hammer, the block goes smaller(A property called isShort), when you click with a block called "top" it will put a black kinda cover thing on the top(A property called hasTop, which changes the model). So when i have my block small and then add a top the block goes back to normal size with the top. Even though i do
L2639[15:06:05] <Rushmead> "world.setBlockState(pos, state.withProperty(hasTop, true));"
L2640[15:06:08] <sham1> Were you?
L2641[15:06:47] <williewillus> sham1: I didn't close quote in the right place, but I was lol
L2642[15:07:08] <williewillus> Rushmead: not sure, that may be your submodels applying incorrectly
L2643[15:07:22] <williewillus> in the f3 menu are the values right for your properties?
L2644[15:07:52] <Rushmead> Nope
L2645[15:07:56] <Rushmead> it changes them
L2646[15:08:03] <Rushmead> without me asking
L2647[15:08:07] <Rushmead> SONS OF A B*TCH
L2648[15:08:11] <williewillus> calm down
L2649[15:08:14] <williewillus> pastebin your block
L2650[15:08:27] <Rushmead> JSON or Java?
L2651[15:08:38] <laci200270> 64x64 res is acceptable for blocks?
L2652[15:08:39] <williewillus> blockstate json and java block class
L2653[15:08:44] * ThePsionic pats Rushmead
L2654[15:08:49] <ThePsionic> It'll be ok
L2655[15:08:56] <Rushmead> Relying on Ircclouds auto pastebin thing... HERE WE GO
L2656[15:09:00] <sham1> Laci, it is a square with powers of two so yes
L2657[15:09:07] <Rushmead> I dont trust it
L2658[15:09:08] <ThePsionic> That works very well dw :P
L2659[15:09:12] <laci200270> thx
L2660[15:09:14] <Rushmead> oh ok
L2661[15:09:14] <falkreon> laci200270, a lot of people hate mismatched texture resolutions
L2662[15:09:20] <Rushmead> https://www.irccloud.com/pastebin/jnup5nV1/Block
L2663[15:09:21] <Rushmead> Ooh
L2664[15:09:22] <Rushmead> it did
L2665[15:09:22] <Rushmead> Nice
L2666[15:09:25] <ThePsionic> see
L2667[15:09:28] <ThePsionic> nothing to worry about
L2668[15:09:30] <williewillus> mc rejects bad aspect ratio textures
L2669[15:09:33] <williewillus> unless you have a mcmeta
L2670[15:09:37] <falkreon> yep
L2671[15:09:39] <Rushmead> https://www.irccloud.com/pastebin/TMcOccGF/json%20stages
L2672[15:09:44] <Rushmead> There
L2673[15:09:52] <Rushmead> Bit messy
L2674[15:09:53] <Rushmead> but
L2675[15:09:54] <Rushmead> yeah
L2676[15:09:55] <laci200270> falkreon, I want to use higher res textures
L2677[15:10:02] <falkreon> but yeah, if you can provide 16x textures and an optional 32x or 64x resource pack it'd be better.
L2678[15:10:03] <williewillus> why don't you set defaultstate?
L2679[15:10:15] <laci200270> falkreon, thats a good idea
L2680[15:10:23] <sham1> Hi-res textures are not bad
L2681[15:10:31] <Rushmead> https://www.irccloud.com/pastebin/VuplJnl8/Thing
L2682[15:10:39] <Rushmead> ^^ Defaults
L2683[15:10:44] <williewillus> your logic in getMetaFromState is also flawed.
L2684[15:11:02] <falkreon> sham1, as I said I love 32x textures, it's just really hard when I've got things like Chisel which are impossible to make complete resource packs for
L2685[15:11:02] <williewillus> that first check will always prevent the second one from returning
L2686[15:11:14] ⇨ Joins: Jezza (~Jezza@185.44.151.55)
L2687[15:11:19] <falkreon> I'm trying really hard, but it's inhuman how many textures that has X)
L2688[15:12:05] <Rushmead> https://www.irccloud.com/pastebin/CjPKZzzJ/Better%3F
L2689[15:12:29] <williewillus> you just cleaned it up, the logic is still flawed :p
L2690[15:12:37] <williewillus> wait nvm
L2691[15:12:39] <Rushmead> No i changed it
L2692[15:12:40] <Rushmead> :P
L2693[15:13:06] <williewillus> in your constructor set a default state
L2694[15:13:35] <Rushmead> Hang on... found a issue with the opposite to the one above
L2695[15:13:47] <falkreon> so anyhow the important thing is helping people match the texture they actually want to run
L2696[15:14:03] <falkreon> not like, forcing a texture size on people.
L2697[15:14:12] <Nitrodev> not solutions for my problem?
L2698[15:14:40] <falkreon> I've been doing a lot of live-compositing where I just check the size of the stone texture and match that ^_^
L2699[15:15:00] <Rushmead> williewillus, what do i put in it?>
L2700[15:15:09] <williewillus> your default state? false for both props
L2701[15:15:09] ⇨ Joins: Cojo (~Cojo@cpe-174-109-251-46.nc.res.rr.com)
L2702[15:15:15] <williewillus> it's usually your 0 meta
L2703[15:15:35] <Rushmead> But its asking for a IBlockState
L2704[15:15:54] <Rushmead> Fixed it
L2705[15:15:55] <Rushmead> :P
L2706[15:17:18] ⇨ Joins: Firedingo (~Firedingo@cpe-121-217-154-65.lnse2.cht.bigpond.net.au)
L2707[15:17:43] ⇨ Joins: Gene (~Gene@2601:985:4100:fbe0::1)
L2708[15:19:09] <Rushmead> Ok. so now how do i do the inventory and item rendering?
L2709[15:19:36] <williewillus> what variant do you want it to look like in the inventory?
L2710[15:19:47] <Rushmead> Depends on the state
L2711[15:19:49] <Rushmead> :P
L2712[15:20:03] <Nitrodev> no solutions for my problem?
L2713[15:20:59] <williewillus> use the forge json format and setCustomMRL to point to specific variants in your blockstate json
L2714[15:21:52] <Gene> is the EntityLiving class part of forge?
L2715[15:22:08] ⇦ Quits: Jezza (~Jezza@185.44.151.55) (Read error: Connection reset by peer)
L2716[15:22:11] <masa> it's part of vanilla
L2717[15:22:17] <Gene> thank you :)
L2718[15:22:51] <Zaggymobile> Forge doesn't add any entity classes :)
L2719[15:22:57] <Rushmead> What do you mean williewillus
L2720[15:23:08] <williewillus> oh look first moron has appeared in my port https://github.com/williewillus/Botania/issues/3
L2721[15:23:10] ⇨ Joins: Jezza (~Jezza@185.44.151.55)
L2722[15:23:17] <williewillus> Rushmead: forge has its own blockstatejson specification
L2723[15:23:26] <williewillus> which lets you do things in a much, much quicker and compact way
L2724[15:23:54] <Gene> I'm still new to modding minecraft. I've found a mod and I'm trying to update it from 1.6.4 -> 1.8
L2725[15:23:54] <Rushmead> Example?
L2726[15:24:20] <Gene> I think I'm about 70% done.. ran into something with attackTime.. trying to google for information for about a day now
L2727[15:24:43] <ThePsionic> williewillus: Oh Soni
L2728[15:24:44] <ThePsionic> yeah
L2729[15:24:51] ⇦ Quits: Jezza (~Jezza@185.44.151.55) (Killed (NickServ (GHOST command used by Jezza_)))
L2730[15:24:56] <ThePsionic> (He's in here you know)
L2731[15:24:57] <williewillus> Rushmead: this and one loop elsewhere defines all the models for livingrock https://github.com/williewillus/Botania/blob/MC18/src/main/resources/assets/botania/blockstates/livingrock.json
L2732[15:24:58] <Gene> thanks for the help
L2733[15:25:00] <williewillus> I know
L2734[15:25:04] <williewillus> Thanks for the ping
L2735[15:25:14] <ThePsionic> whoops
L2736[15:25:24] ⇨ Joins: Jezza (~Jezza@185.44.151.55)
L2737[15:25:46] <williewillus> Rushmead: see ModelHandler (it's a mess right now and will be cleaned up)
L2738[15:26:49] <Nitrodev> wow this is great
L2739[15:26:59] <williewillus> what is?
L2740[15:27:33] <Nitrodev> the fact that either no one knows how to fix my peoblem or everyone ignores me
L2741[15:27:43] <williewillus> sarcasm isn't going to help it
L2742[15:27:57] <Nitrodev> ...
L2743[15:28:00] <williewillus> are you trying to work on it or are you just sititng waiting for help? :P
L2744[15:28:01] <Nitrodev> still
L2745[15:28:10] <Nitrodev> trying to work with it ofc
L2746[15:28:18] <Nitrodev> on it*
L2747[15:28:38] <williewillus> any new findings? I don't think I read your original problem either, what's wrong?
L2748[15:29:31] <Rushmead> Williewillus, where is the ModelHandler?
L2749[15:29:51] <williewillus> botania.core.client.handler
L2750[15:30:07] <Nitrodev> i made a crafting recipe using this: http://pastebin.com/RWv1LTLm but when i try to craft it makes the recipe a dupe bug
L2751[15:30:19] ⇦ Quits: Gene (~Gene@2601:985:4100:fbe0::1) (Quit: Leaving)
L2752[15:30:32] <Nitrodev> it leaves both the items in the crafting invnot just the itemSaw
L2753[15:31:27] <diesieben07> attemptDamageItem is for damaging tools.
L2754[15:31:32] <diesieben07> not decreasing stack size
L2755[15:31:48] <diesieben07> i don't see why you need a custom recipe for this at all
L2756[15:31:48] <Nitrodev> i know
L2757[15:31:58] <Nitrodev> to do damage to itemSaw
L2758[15:32:05] <Nitrodev> after it is crafted
L2759[15:32:08] <diesieben07> getContainerItem in the Item class
L2760[15:32:12] <Nitrodev> after used in crafting*
L2761[15:32:13] <diesieben07> & hasContainerItem
L2762[15:32:58] <Nitrodev> really
L2763[15:33:07] <Nitrodev> i was told to use IRecipe
L2764[15:33:30] <diesieben07> that's a shame.
L2765[15:33:31] <laci200270> can I use glVertex2f in TESRs?
L2766[15:34:15] <williewillus> you can do wahtever the crap you want in tesrs :p
L2767[15:34:24] <Nitrodev> if i remember correctly it was ghz|afk who said to use IRecipe
L2768[15:34:37] <Nitrodev> bug him when he comes back
L2769[15:35:22] ⇦ Quits: Zaggymobile (~Zaggy1024@174-20-13-82.mpls.qwest.net) (Ping timeout: 186 seconds)
L2770[15:35:46] *** ghz|afk is now known as gigaherz
L2771[15:35:48] <gigaherz> back
L2772[15:35:51] <gigaherz> [22:31] (diesieben07): i don't see why you need a custom recipe for this at all
L2773[15:35:52] <gigaherz> what else?
L2774[15:36:05] *** kroeser is now known as kroeser|away
L2775[15:36:25] <gigaherz> the alternative is handling the global crafting event and if it happens to be your recipe, you force the item back into the crafting table
L2776[15:36:29] <gigaherz> which seems like a ugly hack to me
L2777[15:36:45] <gigaherz> if there's a third way, I'm not aware of it so I couldn't possibly recommend it
L2778[15:37:27] <Nitrodev> diesieben07, said something like getContainerItem and hasContainerItem
L2779[15:37:31] ⇦ Quits: Jezza (~Jezza@185.44.151.55) (Read error: Connection reset by peer)
L2780[15:38:04] <gigaherz> never heard about that before
L2781[15:38:27] <Nitrodev> well he said it
L2782[15:38:34] <gigaherz> yes
L2783[15:38:38] <gigaherz> I'm not presuming to know everything
L2784[15:38:57] <gigaherz> and I'm truly sorry if I gave a wrong suggestion
L2785[15:38:58] <Nitrodev> okay
L2786[15:39:04] <gigaherz> still, it never hurts to learn ;P
L2787[15:39:06] <Nitrodev> no idea if you did or not
L2788[15:39:10] <Nitrodev> yeah
L2789[15:39:23] <Nitrodev> but the code i have here doesn't work
L2790[15:39:28] <Nitrodev> http://pastebin.com/RWv1LTLm
L2791[15:39:38] <masa> Nitrodev: oh btw, I might have something for you to try in the current IRecipe system still
L2792[15:39:46] <Nitrodev> oh?
L2793[15:40:06] <masa> you seem to have changed it to: ItemStack[] result = new ItemStack[4];
L2794[15:40:15] <masa> that won't work in a 3x3 crafting grid
L2795[15:40:34] <masa> try ItemStack[] result = new ItemStack[inv.getSizeInventory()];
L2796[15:40:37] <Nitrodev> so that owrks ONLY in inv crafting?
L2797[15:41:14] <masa> well that will return a 4 element array, which causes the onPickupFromSlot() to only handle the first 4 slots of ANY crafting grid, so any items beyond that will remain on the grid
L2798[15:41:15] <gigaherz> yeah your output needs to be as big as the input grid
L2799[15:41:33] <gigaherz> I was going to suggest the same masa did
L2800[15:41:52] <masa> I even had the getSizeInventory() in my example I believe
L2801[15:42:23] <Nitrodev> works
L2802[15:42:59] ⇨ Joins: Hassan (~Hassan@pool-173-79-220-242.washdc.fios.verizon.net)
L2803[15:43:04] <Nitrodev> now i believe to add the maxuses i need to modify the item class itself?
L2804[15:43:37] <masa> but yeah, another way to do this is to define your saw item to have a container item, and then return an itemstack from the getContainerWhatever that has one less durability left than the stack that is given to it, assuming you want to reduce the durability by one each time
L2805[15:43:39] <gigaherz> Ah I see
L2806[15:43:54] <gigaherz> diesieben07's suggestion is really the better one
L2807[15:44:03] <Nitrodev> oh
L2808[15:44:12] <gigaherz> his method would be:
L2809[15:44:22] <gigaherz> 1. you register a standard shapeless recipe
L2810[15:44:22] <diesieben07> because if oyu have a custom IRecipe you need handlers for NEI and stuff
L2811[15:44:27] <diesieben07> or they won't show your recipe
L2812[15:44:32] <gigaherz> 2. in your Item class,
L2813[15:44:39] <gigaherz> you override the getContainerItem method
L2814[15:44:48] <gigaherz> the one WITH the ItemStack
L2815[15:44:50] <gigaherz> and in that
L2816[15:44:56] <gigaherz> you cope the provided itemstack
L2817[15:44:58] <Nitrodev> so the IRecipe can go away then?
L2818[15:45:00] <gigaherz> and damage it
L2819[15:45:01] ⇦ Quits: HassanS6000 (~Hassan@pool-173-79-220-242.washdc.fios.verizon.net) (Ping timeout: 190 seconds)
L2820[15:45:08] <gigaherz> like you do in the remaining items stuff
L2821[15:45:11] <gigaherz> but just for the one item you need
L2822[15:45:16] <gigaherz> and yes
L2823[15:45:26] <gigaherz> the IRecipe wouldn't be necessary anymore
L2824[15:45:33] <gigaherz> although I suggestyou keep it around for future reference
L2825[15:45:37] <gigaherz> maybe commit first
L2826[15:45:38] <gigaherz> before deleting
L2827[15:45:39] <Temportalist> Anyone interested in doing some sonic screwdriver textures?
L2828[15:45:47] <gigaherz> so you know it's in an older commit
L2829[15:46:10] <masa> I have my collection of random code snippets as separate files in dropbox :p
L2830[15:46:13] <gigaherz> copy**
L2831[15:46:25] <gigaherz> masa: why not gist? ;P
L2832[15:46:27] <laci200270> how can I rotate something countinously towards to the player?
L2833[15:46:38] <gigaherz> laci200270: entity?
L2834[15:46:44] <laci200270> circle
L2835[15:46:48] <gigaherz> I mean
L2836[15:46:53] <laci200270> tesr
L2837[15:46:53] <gigaherz> is this from an entity renderer?
L2838[15:46:58] <gigaherz> aha
L2839[15:47:00] <Nitrodev> well i'm grabbing the IRecipe from my repo and storing it somewhere
L2840[15:47:02] <gigaherz> I'm not fully certain about the TESR
L2841[15:47:09] <masa> right... well that would be nice if I could organize them so tht they aren't all just slammed in a big honking list on the "front page" :p
L2842[15:47:11] <gigaherz> but there's an example of how to orient toward the player in the
L2843[15:47:14] <gigaherz> RenderSnowball
L2844[15:47:19] <laci200270> thx
L2845[15:47:24] <gigaherz> maybe you can make use of it somehow
L2846[15:47:39] <gigaherz> masa: I see
L2847[15:47:45] <Soni> williewillus, I'm not a moron it's a planned trajectory compatibility
L2848[15:47:56] <williewillus> I'm not the person to ask
L2849[15:47:58] <Soni> williewillus, amadornes is gonna add it whether you like it or not
L2850[15:47:58] <williewillus> period
L2851[15:47:59] <gigaherz> masa: then maybe an actual github repository that you edit from the web interface would do
L2852[15:48:00] <gigaherz> XD
L2853[15:48:17] <gigaherz> it has the "new file" and "edit" buttons
L2854[15:48:18] <gigaherz> ;P
L2855[15:48:21] <williewillus> I hate that "whether you like it or not" attitude. I said go ask upstream so just go away
L2856[15:48:27] <williewillus> go. ask. upstream.
L2857[15:48:31] <Soni> williewillus, I can't ask upstream!
L2858[15:48:35] <williewillus> and why is that?
L2859[15:48:46] ⇦ Quits: Poppy (~Poppy@chello085216146055.chello.sk) (Ping timeout: 190 seconds)
L2860[15:48:47] <Soni> because I made stupid puns in upstream
L2861[15:48:51] <amadornes> I'm doing what?
L2862[15:49:03] <diesieben07> "I have been a dick to other people so now you need to listen to me being a dick because I say so!"
L2863[15:49:17] <amadornes> Soni, what am I adding to Trajectory...?
L2864[15:49:17] <laci200270> should I use GLStateManager instead of GL11?
L2865[15:49:24] <Soni> amadornes, adding mana spreader rotation
L2866[15:49:27] <gigaherz> laci200270: yes, whenever possible
L2867[15:49:30] <amadornes> oh
L2868[15:49:31] <laci200270> ok
L2869[15:49:33] <gigaherz> it will avoid unnecessary state changes
L2870[15:49:48] <williewillus> gigaherz: does calling the same GL11 actually make things slwoer though :p
L2871[15:49:51] <amadornes> I'm trying to add support for as many blocks from as many mods as possible
L2872[15:49:59] <gigaherz> williewillus: yes, when done often enough
L2873[15:50:06] <amadornes> so mana spreaders will probably be supported, yes
L2874[15:50:08] <gigaherz> explicit state changes are one of opengl's biggest flaws
L2875[15:50:10] <williewillus> amadornes: i know, that's all good, but I'm not the one to ask about adding support for rotateBlock
L2876[15:50:24] <amadornes> oh, I know
L2877[15:50:25] <amadornes> I didn't
L2878[15:50:33] <amadornes> it's Soni that's asking everybody >.<
L2879[15:50:40] <gigaherz> every state change potentially causes the driver to rebuild the fixed-pipeline emulation shaders
L2880[15:50:48] <gigaherz> the driver has to do extra work to cache the changes
L2881[15:50:50] <williewillus> gigaherz: i understood some of that :p
L2882[15:51:03] <amadornes> he has nothing to do with me or the mod, I have a separate mod that adds support for blocks that don't use rotateBlock :P
L2883[15:51:04] <gigaherz> to the less changes you do from your side, the less work you give the driver
L2884[15:51:19] <williewillus> amadornes: how is the micropart system going?
L2885[15:51:29] <amadornes> pretty well
L2886[15:51:31] <Nitrodev> wait but how will i write the wooden slab to the shapeless recipe if i want the slab to be of ANY wood
L2887[15:51:41] <williewillus> Nitrodev: oredict recipe
L2888[15:51:42] <amadornes> asie got Charset completely ported over and started working on the gates today
L2889[15:51:45] <diesieben07> Nitrodev, ShapedOreRecipe
L2890[15:51:45] <gigaherz> Nitrodev: welcome to the world of ore dictionary
L2891[15:51:46] <Rushmead> Todays work - Update from 1.7.10 to 1.8.8, Convert all models to JSON, Blockstates. http://imgur.com/a/Q1kck Im Super Duper Happ
L2892[15:51:47] ⇦ Quits: Elec332 (~Elec332@ip5456d4a5.speed.planet.nl) (Ping timeout: 195 seconds)
L2893[15:51:49] <Rushmead> Happy*
L2894[15:52:06] <williewillus> awesome
L2895[15:52:07] <gigaherz> instead of the slab itself, you use the oredict name for the slab
L2896[15:52:14] <gigaherz> which may be something like "slabWood"
L2897[15:52:25] <gigaherz> (you needto verify, I don't know them from memory!)
L2898[15:52:41] <williewillus> or that random useless oredict page on the wiki form 2012 lol
L2899[15:53:00] <amadornes> MCMicroBlock is also coming along very nicely: http://ss.amadornes.com/ama-1451247674-104 http://ss.amadornes.com/ama-1451231382-98 ;)
L2900[15:53:13] <amadornes> those are the features I've been working on today :P
L2901[15:53:35] <Nitrodev> so the thing i put on ItemSTack() would be Oredictionary.getOreID?
L2902[15:53:37] <Rushmead> Think im going to have to hook my mod into the Multipart system
L2903[15:53:45] <williewillus> Ive been doubling down on botania, i want to release an alpha on new years :p
L2904[15:53:46] <Rushmead> I want redstone wires EVERYWHERE
L2905[15:53:54] <diesieben07> Nitrodev, no. you would not use an ItemStack, you would use the String "slabWood"
L2906[15:53:58] <Rushmead> oh and my own DMX and XLR Cables :P
L2907[15:54:51] <gigaherz> Nitrodev: look for tutorials
L2908[15:54:52] <gigaherz> ;P
L2909[15:54:52] <Rushmead> Right im off.
L2910[15:54:55] <Rushmead> Thanks to everyone for the help
L2911[15:54:58] <Nitrodev> i think i got it
L2912[15:55:02] <Rushmead> Keep up the good work amadornes <3
L2913[15:55:12] <Nitrodev> Bye Rushmead
L2914[15:55:12] <amadornes> oh, williewillus: we have a channel now, #MCMultiPart :P
L2915[15:55:16] <williewillus> yay
L2916[15:55:18] <amadornes> cya Rush o/
L2917[15:55:31] <Rushmead> o/
L2918[15:55:47] <gigaherz> amadornes: that looks nice
L2919[15:55:54] <gigaherz> is that 1.8.x?
L2920[15:55:58] <amadornes> yup
L2921[15:56:02] <gigaherz> ^_^
L2922[15:56:18] <PaleoCrafter> and it doesn't have forge in its name :D
L2923[15:56:26] <gigaherz> yeh XD
L2924[15:56:38] <amadornes> yeah ^.^
L2925[15:56:47] <gigaherz> hopefully it's less annoying to use than the chisels&bits
L2926[15:56:57] <gigaherz> which as nice as it is, it's a pain to use
L2927[15:56:58] <gigaherz> XD
L2928[15:57:03] <williewillus> hopefully its faster thanks to baking/multithreaded wr
L2929[15:57:09] <williewillus> 1.7- microparts were godawful
L2930[15:57:18] <amadornes> C&B is actually getting support for it right now
L2931[15:57:19] <williewillus> slow ,that is
L2932[15:57:23] <amadornes> Algo is already working on it :P
L2933[15:57:29] <gigaherz> heh
L2934[15:57:54] <amadornes> but MCMicroBlock is going to add all the microblocks we all know and love :P
L2935[15:58:01] <gigaherz> yay ^_^
L2936[15:58:02] <amadornes> plus a few others, actually
L2937[15:58:13] ⇨ Joins: Zaggymobile (~Zaggy1024@c-24-118-178-13.hsd1.mn.comcast.net)
L2938[15:58:16] <masa> c&b is getting support for what?
L2939[15:58:17] <gigaherz> btw you showed lots of stone in the vid
L2940[15:58:20] <amadornes> fences, walls and "wire covers"
L2941[15:58:22] <Nitrodev> what mc classes use the getContainerItem method
L2942[15:58:22] <sham1> microblocks!?
L2943[15:58:27] <williewillus> masa: 1.8 microblock api
L2944[15:58:30] <gigaherz> but is there any plans to allow complex layering like C&B does?
L2945[15:58:48] <amadornes> you'll be able to do that with C&B directly, gigaherz :P
L2946[15:58:53] <gigaherz> nice :D
L2947[15:59:02] <amadornes> yup, microblocks, sham1 ;)
L2948[15:59:32] <amadornes> since they'll be microblocks you'll be able to place other stuff in the same block
L2949[15:59:41] <sham1> I know what they are
L2950[15:59:44] <amadornes> so hiding cables and decorating will be a lot nicer
L2951[15:59:47] <gigaherz> hmmm
L2952[15:59:51] <Nitrodev> hello?
L2953[15:59:52] <amadornes> I was telling gigaherz :P
L2954[15:59:55] <amadornes> hey Nitrodev o/
L2955[15:59:57] <sham1> for 1.9?
L2956[15:59:58] <gigaherz> now I'm wondering how annoying would it be to add microblock doors
L2957[15:59:59] <gigaherz> ,P
L2958[16:00:02] <Temportalist> amadornes that looks great!
L2959[16:00:03] <Nitrodev> what mc classes use the getContainerItem method?
L2960[16:00:07] <amadornes> 1.8.8, sham1
L2961[16:00:11] <sham1> oh good
L2962[16:00:13] <Nitrodev> so i can get the method
L2963[16:00:22] <gigaherz> Nitrodev: it's used by vanilla recipes, but you override it in your Item class
L2964[16:00:25] <sham1> I do not actually need to make my own cover system for my pipes
L2965[16:00:27] <sham1> Thank god
L2966[16:00:27] <amadornes> thanks, Temportalist :D
L2967[16:00:43] <gigaherz> Nitrodev: if you use IDEA
L2968[16:00:45] <Nitrodev> gigaherz, but IDEA needs me to actually write it down
L2969[16:00:50] <gigaherz> use ctrl-shift-o
L2970[16:00:54] <gigaherz> and select if from the list
L2971[16:00:56] <Temportalist> I'll be updating soon, but I want to finish my sonic screwdriver first.
L2972[16:01:11] <sham1> how ready is this microblock mod
L2973[16:01:28] <Nitrodev> ctrl-shifht-o doesn't do anything
L2974[16:01:33] <gigaherz> Nitrodev: in your item class
L2975[16:01:37] <gigaherz> hmm
L2976[16:01:38] <gigaherz> wait
L2977[16:01:40] <Nitrodev> im trying
L2978[16:01:44] <gigaherz> I have my keymap changed
L2979[16:01:47] <Rushmead> Ctrl O
L2980[16:01:47] <gigaherz> to Visual studio style
L2981[16:01:53] <Rushmead> Its Ctrl O
L2982[16:01:57] <gigaherz> nevermind don't trust my keybinds
L2983[16:02:01] <sham1> you and your VS
L2984[16:02:03] <gigaherz> ctrl-o for me is "open" ;P
L2985[16:02:13] <Rushmead> Oh yeah
L2986[16:02:17] <gigaherz> sham1: I like my F10/F11 for debugging
L2987[16:02:17] <gigaherz> ;P
L2988[16:02:24] ⇦ Quits: Drullkus (~Drullkus@2601:646:8301:8947:d5c8:4fa9:5d91:7afa) (Remote host closed the connection)
L2989[16:02:31] <Rushmead> Its ctrl shift o
L2990[16:02:35] <amadornes> the microblock mod is half-done, but the multipart API is pretty much ready to be used, sham1
L2991[16:03:01] <sham1> amadornes, does it have a maven or something or do I just have to download the API source to add it to myself
L2992[16:03:16] <amadornes> right now it's just on github
L2993[16:03:22] <amadornes> and there are no compiled versions available
L2994[16:03:32] <amadornes> but I'm hoping it'll be ready by new year
L2995[16:03:47] <gigaherz> woudl be nice of curse had a maven interface for accessing project jars
L2996[16:03:48] <gigaherz> ;P
L2997[16:03:52] <gigaherz> curseforge*
L2998[16:03:59] <Nitrodev> gigaherz, cope the current itemstack
L2999[16:04:00] <Nitrodev> ???
L3000[16:04:06] <sham1> I'd suggest getting a maven for it so it can be added as an easy gradle dependency
L3001[16:04:06] <gigaherz> Nitrodev: copy**
L3002[16:04:08] <Nitrodev> the what now
L3003[16:04:21] <gigaherz> Nitrodev: what you did in the IRecipe!
L3004[16:04:24] <gigaherz> stack.copy()
L3005[16:04:36] <amadornes> people have already reverse-engineered it, gigaherz
L3006[16:04:36] <gigaherz> stac.damagewhatever
L3007[16:04:55] <gigaherz> amadornes: what?
L3008[16:04:57] * Nitrodev is confused
L3009[16:04:57] <amadornes> I know somebody had maven-like access to it working
L3010[16:05:08] <gigaherz> someone made a maven-curseforge bridge?
L3011[16:05:14] <amadornes> I *think* so
L3012[16:05:20] <gigaherz> o_O
L3013[16:06:00] <Nitrodev> gigaherz, https://gist.github.com/Nitrodev/7d4f37181f123cafa124 that is the IRecipe code
L3014[16:06:24] <gigaherz> Nitrodev: https://gist.github.com/Nitrodev/7d4f37181f123cafa124#file-plankrecipe-java-L61,L67
L3015[16:06:30] <gigaherz> this bit
L3016[16:06:34] <gigaherz> just instead of writing to an array
L3017[16:06:43] <gigaherz> you store it ina variable and return the result
L3018[16:06:48] <gigaherz> in a*
L3019[16:07:11] <gigaherz> get the input, copy, and apply damage
L3020[16:07:47] <Nitrodev> but what do i add to the place of stack
L3021[16:07:54] <gigaherz> what?
L3022[16:08:08] <Nitrodev> line 61
L3023[16:08:19] ⇦ Quits: MattDahEpic (~MattDahEp@75-166-140-155.hlrn.qwest.net) (Quit: sleep, school, or food)
L3024[16:08:29] <gigaherz> ItemStack newStack = itemStack.copy()
L3025[16:08:43] <gigaherz> then use newStack instead of result[i]
L3026[16:08:54] <gigaherz> and return newStack
L3027[16:10:21] <Nitrodev> itemStack being a parameter?
L3028[16:10:33] <gigaherz> is it not?
L3029[16:10:45] <falkreon> wat
L3030[16:10:53] <falkreon> gigaherz, the method signature is ItemStack[]
L3031[16:11:08] <gigaherz> public ItemStack getContainerItem(ItemStack itemStack)
L3032[16:11:10] <Nitrodev> that is for an array isn't it?
L3033[16:11:18] <falkreon> what?
L3034[16:11:19] <gigaherz> there's no arrays there
L3035[16:11:19] <gigaherz> XD
L3036[16:11:31] <gigaherz> falkreon: diesieben07 told us of a better way to do the same
L3037[16:11:38] <gigaherz> there's a method in Item
L3038[16:11:39] <Nitrodev> oh yeah sorry the itestack had a different name here
L3039[16:11:48] <falkreon> in Item?
L3040[16:11:51] <gigaherz> yup
L3041[16:11:53] <falkreon> hmm
L3042[16:11:58] <Nitrodev> one of thos p_add random numbers
L3043[16:12:01] <gigaherz> it lets you choosewhat your item does after it's used in recipes
L3044[16:12:05] <gigaherz> the original is designed for buckets
L3045[16:12:08] <falkreon> ehh
L3046[16:12:09] <gigaherz> the buckets are containers
L3047[16:12:18] <gigaherz> so they choose to leave their "empty version" in the grid
L3048[16:12:26] <gigaherz> in the case of Nitrodev
L3049[16:12:34] <gigaherz> he can use the same method to return a modified ItemStack
L3050[16:13:03] <falkreon> problem with that is if you want to inflict different amounts of dura based on the size of the recipe, but I guess that works
L3051[16:13:15] <gigaherz> yeah than you have "special needs"
L3052[16:13:19] <gigaherz> so you need a special recipe
L3053[16:13:19] <gigaherz> ;P
L3054[16:13:22] <falkreon> I always have special needs
L3055[16:13:24] <masa> Nitrodev: http://pastebin.com/AMzawuMD
L3056[16:13:29] <gigaherz> but in the case of Nitrodev
L3057[16:13:31] <falkreon> short bus, etc.
L3058[16:13:34] <gigaherz> the less code, the less confused he is
L3059[16:13:34] <gigaherz> ;P
L3060[16:13:40] <falkreon> true
L3061[16:15:14] <masa> Nitrodev: and then in your item constructor, add a call to this.setmaxDamage(1234); with the durability you want for the saw
L3062[16:16:25] <gigaherz> oh right there's a hasContainerItem too
L3063[16:16:26] <gigaherz> XD
L3064[16:16:58] <Nitrodev> item constructor being the place you put the setcreativetab etc right?
L3065[16:16:58] <masa> that one could probably just be always true though
L3066[16:17:17] <falkreon> Nitrodev, yes, the same.
L3067[16:17:47] <laci200270> how can I make a floating circle?
L3068[16:17:52] <laci200270> above a TESR?
L3069[16:17:59] <laci200270> which faces to player
L3070[16:18:11] <williewillus> check out how rendersnowball billboards
L3071[16:18:12] <masa> which player? :p
L3072[16:18:28] <laci200270> I have checked it
L3073[16:18:31] <Nitrodev> now the problem is the oredict
L3074[16:18:37] <laci200270> mase the actual player
L3075[16:18:40] <falkreon> oredict is never a problem
L3076[16:18:42] <falkreon> :D
L3077[16:18:50] <falkreon> what do you need to check
L3078[16:19:03] <falkreon> for the wood slab?
L3079[16:19:12] <Nitrodev> if i want to assign the oredict wooden slab to a varialbe what do i need to add
L3080[16:19:15] <Nitrodev> any wooden slab
L3081[16:19:21] <masa> Nitrodev: https://github.com/maruohon/enderutilities/blob/master/src/main/java/fi/dy/masa/enderutilities/setup/EnderUtilitiesItems.java#L168
L3082[16:19:33] <falkreon> oredict will give you an ItemStack[] of slab kinds, if you ask it
L3083[16:19:52] <falkreon> masa, he's got a custom IRecipe, it won't work
L3084[16:20:02] <masa> umm, he shouldn't have anymore?
L3085[16:20:23] <falkreon> oh, right, he's not setting the output to anything special
L3086[16:20:26] <masa> it got replaced by the container item stuff
L3087[16:20:33] <falkreon> yeah, change it into a shapelessOreRecipe
L3088[16:20:37] <falkreon> and pass in a String.
L3089[16:21:20] <laci200270> when I use GlStateManager.translate(x, y,0); it moves along with the player
L3090[16:21:34] <falkreon> yeah, coords by default are in playerspace when you're in a tesr
L3091[16:21:58] <falkreon> but the block coords it gives you, those are also in eye-space
L3092[16:22:12] <falkreon> I think?
L3093[16:22:19] <Nitrodev> by default does the Blocks.wooden_slab mean the oak slab?
L3094[16:22:30] <falkreon> Nitro, sort of
L3095[16:22:37] <laci200270> but GlStateManager.translate(te.getPos().getX(), te.getPos().getY(),te.getPos().getZ()); doesn't render anything
L3096[16:22:42] <falkreon> one sec, let me look up the oredict name
L3097[16:22:49] <falkreon> slabWood probably, but I'll check
L3098[16:23:21] <falkreon> http://www.minecraftuniversity.com/forge/ore_dictionary_list/slabwood/
L3099[16:23:25] <SmashShock> Hi everyone, I'm using §2 to change the color of a player.addChatMessage(new ChatComponentText("")); message to the player. Any reason that this works until it's made into a jar?
L3100[16:23:25] <falkreon> I love this tool btw
L3101[16:23:30] <Nitrodev> okay the recipe works once then it doesn't want to craft
L3102[16:23:46] <falkreon> SmashShock: you're supposed to set the EnumChatFormatting instead these days
L3103[16:24:15] <SmashShock> Ha, the second you said that I just found that in the docs
L3104[16:24:19] <falkreon> :D
L3105[16:24:23] <SmashShock> Thanks falkreon
L3106[16:24:58] <Nitrodev> falkreon, a shapelessOreRecipe how do i change the recipe to that
L3107[16:25:09] <Nitrodev> the GameRegistry doesnt add that
L3108[16:25:26] ⇦ Quits: Cojo (~Cojo@cpe-174-109-251-46.nc.res.rr.com) (Ping timeout: 190 seconds)
L3109[16:25:31] <falkreon> GameRegistry.addRecipe
L3110[16:25:37] <falkreon> takes any IRecipe
L3111[16:25:44] <falkreon> ShapelessOreRecipe is a kind of IRecipe
L3112[16:26:19] <Nitrodev> any examples
L3113[16:26:33] <falkreon> masa linked you over to a bunch of them\
L3114[16:26:39] <SmashShock> One more question, do you need to use NBT to add a tooltip to a block?
L3115[16:26:58] <falkreon> nope.
L3116[16:27:09] <falkreon> You need to do that from your particular ItemBlock
L3117[16:27:29] <falkreon> it's pretty easy to miss that the GameRegistry can take 3 args instead of 2 there
L3118[16:27:50] <falkreon> stick an ItemBlock class in the middle to use for that Block
L3119[16:28:07] <falkreon> erm, for the block registration
L3120[16:28:22] ⇨ Joins: Cojo (~Cojo@cpe-174-109-251-46.nc.res.rr.com)
L3121[16:28:22] <masa> Nitrodev: you mean it doesn't accept the saw once it takes damage? then you need to change the recipe so that the ItemStack of the saw you give it has the wildcard value as the damage value
L3122[16:28:51] <falkreon> there's a static field in either ItemStack or OreDictionary with the wildcard value, sec
L3123[16:29:05] <Nitrodev> in the item class? masa
L3124[16:29:08] <masa> ie. new ItemStack(ModItems.itemSaw, 1, OreDictionary.WILDCARD_VALUE) or something along those lines
L3125[16:29:26] <falkreon> yep masa's got it. OreDictionary.WILDCARD_VALUE
L3126[16:29:28] <masa> well wherever you register the recipe
L3127[16:29:43] <falkreon> yeah, don't register the recipe in your item class.
L3128[16:29:47] <falkreon> that would be a mess.
L3129[16:30:12] <falkreon> for a recipe it should probably be somewhere in Init
L3130[16:30:38] <falkreon> brb coffee
L3131[16:31:21] <ThePsionic> falkreon: cup + coffee beans + hot water
L3132[16:31:25] <ThePsionic> yet another recipe ;)
L3133[16:31:34] <ThePsionic> (milk/sugar optional)
L3134[16:31:40] <williewillus> i have been porting nonstop for the last week, perhaps I should take a break and actually play >.>
L3135[16:31:48] <falkreon> back
L3136[16:31:56] ⇦ Quits: Zaggymobile (~Zaggy1024@c-24-118-178-13.hsd1.mn.comcast.net) (Read error: Connection reset by peer)
L3137[16:32:15] <masa> williewillus: nah to olate for that, once you start modding, you stop playing, glhf :p
L3138[16:32:16] <ThePsionic> same williewillus
L3139[16:32:21] ⇨ Joins: Zaggymobile (~Zaggy1024@c-24-118-178-13.hsd1.mn.comcast.net)
L3140[16:32:24] <falkreon> nah, I used the shapeless UniversalCarafeFluidCell + CoffeeCup recipe
L3141[16:32:26] <ThePsionic> altho i'm playing gta online atm
L3142[16:32:30] <ThePsionic> so i can't complain
L3143[16:32:32] <masa> I haven't played modded in almost a year
L3144[16:32:44] <ThePsionic> masa: then what are you doing here
L3145[16:32:46] <ThePsionic> gtfo
L3146[16:32:50] <masa> mods are boring
L3147[16:32:51] <falkreon> sometimes that recipe's inefficient, you lose some mats in the transition, but the coffee is delicious
L3148[16:32:52] <ThePsionic> (jk ily)
L3149[16:32:52] <masa> :D
L3150[16:33:12] <Nitrodev> works
L3151[16:33:31] <Nitrodev> now i gotta remember what i was gonna add next
L3152[16:33:32] <masa> but seriously though, I've lost interest in playing with mods, they make the game "too easy" and I don't feel like doing anything :/
L3153[16:33:39] <falkreon> agreed.
L3154[16:33:42] <falkreon> but
L3155[16:33:42] <Nitrodev> too easy?
L3156[16:33:46] <ThePsionic> falkreon: For an extra touch, placing a pumpkin with some sugar in a crafting grid makes pumpkin spice
L3157[16:33:51] <falkreon> I'm playing with a group that likes pain
L3158[16:33:59] <ThePsionic> you can craft that together with coffee and milk to make a pumpkin spice latte
L3159[16:34:06] ⇦ Quits: Cojo (~Cojo@cpe-174-109-251-46.nc.res.rr.com) (Ping timeout: 192 seconds)
L3160[16:34:13] <falkreon> so we've disabled all the solar power and all the gliders
L3161[16:34:15] <Nitrodev> i would want to play the new ftb infinity evolved pack but my cpu says no
L3162[16:34:16] <falkreon> all tesseracts
L3163[16:34:29] <falkreon> I ripped the roof off the nether and replaced the lava with liquid pain
L3164[16:34:41] <falkreon> so we're playing on a server where it's *really* hard to generate power
L3165[16:34:46] <falkreon> comparitively
L3166[16:34:47] <Nitrodev> before my cpu was fine now it spikes to 100 when opening chrome
L3167[16:34:51] <masa> my current mc project (on hold for a few months while I've been playing terraria instead) are mod farms in vanilla, both of them require me to dig out a few million blocks manually, fun times :p
L3168[16:34:53] <falkreon> oh, we also have no auto-treefarm
L3169[16:34:54] <Nitrodev> not sure if it did before
L3170[16:35:07] <falkreon> Might be possible with thaum, but we're kind of iffy on that mod in the first place
L3171[16:35:38] <masa> s/mod/mob/
L3172[16:35:51] ⇦ Quits: Hassan (~Hassan@pool-173-79-220-242.washdc.fios.verizon.net) (Ping timeout: 190 seconds)
L3173[16:35:57] <falkreon> so, in conclusion: No solar, finite lava gen, finite coal/charcoal, finite oil/fuel
L3174[16:35:59] <falkreon> etc etc
L3175[16:36:16] <falkreon> botania tier 1 decay enabled
L3176[16:36:31] <falkreon> it's important to get away from the first-order optimizations
L3177[16:36:34] <Nitrodev> tier 1?
L3178[16:36:40] <falkreon> tier 1 as in passive generation
L3179[16:36:42] <masa> botania decay?
L3180[16:36:44] <williewillus> masa: even design-oriented stuff like botania? :p
L3181[16:37:14] <williewillus> re: stuff is too easy in modded :p
L3182[16:37:18] <falkreon> masa, the default config for botania is for dayblooms to die after a certain amount of time
L3183[16:37:29] <falkreon> most people turn that off instantly
L3184[16:37:35] <falkreon> as such botania plays all weird
L3185[16:37:49] <falkreon> lots of people just make more dayblooms
L3186[16:37:56] <masa> well, I built my first proper base with automation (AE + TE + IC2) in FTB Unleashed (aka 1.5.2), and after that I haven't felt like doing the same stuff again...
L3187[16:38:01] <falkreon> ugh
L3188[16:38:09] <falkreon> I hate waitcraft (AE)
L3189[16:38:15] <gigaherz> I haven't played botania since they added that
L3190[16:38:23] <falkreon> "since they added that"
L3191[16:38:25] <falkreon> no
L3192[16:38:35] <williewillus> since they removed the incentive to sit on tier 1 stuff forever :p
L3193[16:38:35] <gigaherz> ?
L3194[16:38:55] <gigaherz> well if it existed before the original FTB Infinity pack
L3195[16:39:15] <gigaherz> no one spoke about it until some months AFTER I finished my playthrough of that pack
L3196[16:39:30] <gigaherz> or maybe it was that they removed the "off" setting?
L3197[16:39:31] <gigaherz> anyhow
L3198[16:39:34] <masa> I did play some 1.6.4 dw20, but didn't even have a proper base in that yet, and in 1.7.10 I made my own pack, but there my "base" was left to a minimum sized bi greactor with one pulverizer and one furnace before I stopped playing that :p
L3199[16:39:46] <gigaherz> it was grindy enough for me with that off
L3200[16:39:56] <gigaherz> I'm not really interested in crafting the same shit over and over
L3201[16:40:27] <williewillus> you're supposed to automate it then :p
L3202[16:40:31] <gigaherz> sure
L3203[16:40:43] <gigaherz> but by then I'm already bored
L3204[16:40:46] <gigaherz> like IC2
L3205[16:40:49] <gigaherz> I tried to play once
L3206[16:40:57] <Nitrodev> i think i just made a decent looking texture for the saw
L3207[16:40:58] <masa> so yeah sure, I like to build fully automated and self-sustaining systems, but I haven't had the real motivation, and perhaps more important, enaough extra/free time to play modded anymore
L3208[16:41:05] <gigaherz> didn't know things truly break when you try to mine them without the right tool
L3209[16:41:19] <gigaherz> so when I played the first machine slightly wrong
L3210[16:41:25] <gigaherz> I tried to move it to the right block
L3211[16:41:31] <gigaherz> and it undid half of the progress I had in that pack
L3212[16:41:34] <gigaherz> so I went "fuck this"
L3213[16:41:42] <masa> :D
L3214[16:41:59] <gigaherz> (no I did not have the materials to rebuild it, Id' have neededto do another mining session)
L3215[16:42:00] <falkreon> heh
L3216[16:42:29] <williewillus> to be fair my last big modde world was ultimate
L3217[16:42:39] <williewillus> the only other world I keep playing is my first vanilla world
L3218[16:42:44] <falkreon> yeah, we've evolved a lot of strange shared mechanics
L3219[16:42:59] <falkreon> like this idea that every energy should get converted to every other
L3220[16:43:21] <masa> I spent many hunderds of hours in ftb ultimate manually breeding bees
L3221[16:43:25] <sham1> Can anyone recommend a good hex editor
L3222[16:43:37] <masa> hexcurse... maybe not
L3223[16:43:39] <falkreon> yesssss bees
L3224[16:43:58] <falkreon> bees are the best thing in forestry
L3225[16:44:07] <gigaherz> ugh bees
L3226[16:44:13] <williewillus> bees :D
L3227[16:44:14] <sham1> OH NO
L3228[16:44:15] <sham1> NOT THE BEES
L3229[16:44:17] <sham1> NOT THE BEES
L3230[16:44:19] <sham1> AAHHH
L3231[16:44:22] <sham1> MY EYES
L3232[16:44:34] <gigaherz> at least gendustry makes it less... random
L3233[16:44:36] <PaleoCrafter> I'm more of a tree guy, lol
L3234[16:44:40] <williewillus> if you're dedicated enough you can run everything on bees because there's a interaction mod for everything
L3235[16:44:47] <falkreon> I was thinking of making apiaries, but actually having them maintain bee entities
L3236[16:44:52] <masa> and in ftb unleashed I also did a bunch of bees, plus I bred all the forestry and extra tres trees, and even the ultimate production trees of silver lime with apples, max sappiness/sapling/height you could get :p
L3237[16:45:00] <gigaherz> williewillus: yeah I have nearly 0 dedication
L3238[16:45:01] <sham1> what cant you get with bees
L3239[16:45:04] <gigaherz> either the mod keeps my attention
L3240[16:45:05] <masa> but then I stopped playing it before I used them for anything...
L3241[16:45:07] <gigaherz> or it does not.
L3242[16:45:23] ⇨ Joins: Samario (~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net)
L3243[16:45:41] <falkreon> well uu is a liquid now, so I guess you get it from juicing combs now
L3244[16:45:49] <falkreon> :D
L3245[16:45:53] <Nitrodev> seriously i can't remember what to add to my mod now
L3246[16:46:05] <masa> it must be ready then? :p
L3247[16:46:13] <williewillus> polish and release :p
L3248[16:46:29] <gigaherz> is there some java exception for "unacceptable values"
L3249[16:46:33] <Nitrodev> yup 3 things added
L3250[16:46:40] <PaleoCrafter> IllegalArgumentException, gigaherz ?
L3251[16:46:44] <gigaherz> ah that'd do
L3252[16:47:02] <gigaherz> sorry my "exception dictionary" is still C#
L3253[16:47:02] <gigaherz> ;P
L3254[16:47:03] <Nitrodev> 1 block that acts like a cactus but doesn't hurt players and mobs and 2 items
L3255[16:47:19] <Nitrodev> with one of them only obtainable from creative
L3256[16:47:26] <williewillus> does C# have unsigned integral values?
L3257[16:47:30] <Tarig> hey guys, is there a decent guide to creating a textured b3d model? I'm trying to analyze how the chest model is able to use the vannila texture and I'm coming up with nothing
L3258[16:47:31] <williewillus> just wondering
L3259[16:47:33] <gigaherz> yes williewillus
L3260[16:47:36] <williewillus> since it's annoying that java doesn't
L3261[16:47:39] <gigaherz> uint, ushort, ulong
L3262[16:47:40] <gigaherz> in fact
L3263[16:47:43] <gigaherz> byte is unsigned
L3264[16:47:45] <gigaherz> you have sbyte
L3265[16:47:48] <gigaherz> for the signed variant
L3266[16:48:06] <ThePsionic> #consistency
L3267[16:48:10] <masa> ^
L3268[16:48:14] <gigaherz> ThePsionic: it's much better that way XD
L3269[16:48:15] <williewillus> if only we could run C# on the jvm :p
L3270[16:48:21] <PaleoCrafter> Tarig, just use obj xD
L3271[16:48:21] <gigaherz> almost every single time you need a byte
L3272[16:48:23] <gigaherz> you need it unsigned
L3273[16:48:45] <ThePsionic> fair enough
L3274[16:48:46] <gigaherz> I haven't come across anything where having byte be -128 to 127 is useful
L3275[16:48:53] <masa> yeah but still, consistency would be nice
L3276[16:48:57] <Tarig> my smart model doesn't like obj yet
L3277[16:49:00] <gigaherz> well
L3278[16:49:02] <gigaherz> that's the syntax
L3279[16:49:06] <gigaherz> the library has
L3280[16:49:08] <gigaherz> System.Int8
L3281[16:49:10] <gigaherz> System.Int16
L3282[16:49:12] <gigaherz> System.Int32
L3283[16:49:17] <gigaherz> you CAN use those for variables
L3284[16:49:18] <Nitrodev> now i'm just fiddling with the model files
L3285[16:49:21] <gigaherz> but it's... wasteful
L3286[16:49:28] <masa> uint8_t/int8_t ftw ;p
L3287[16:49:39] <gigaherz> yes they are equivalent to the stdint.h
L3288[16:49:40] <gigaherz> ;P
L3289[16:50:00] <gigaherz> Int32, UIntPtr,
L3290[16:50:04] <gigaherz> etc
L3291[16:50:20] ⇨ Joins: Doty1154 (~Doty1154@2601:648:8002:ea78:b45c:857e:892e:c60e)
L3292[16:50:30] <Nitrodev> Oh yeha i need to add a recipe to the saw
L3293[16:50:38] <gigaherz> XD
L3294[16:50:42] <masa> speaking of models, what exactly is the "origin point" in the ModelRenderer constructor arguments? because there is the rotationpoint separately
L3295[16:50:49] <PaleoCrafter> well, can't you have type aliases in C#, gigaherz? :P
L3296[16:51:03] <gigaherz> PaleoCrafter: hmmm you can have import aliases
L3297[16:51:17] <gigaherz> using something=fully.qualified.name;
L3298[16:51:21] <PaleoCrafter> ah, right
L3299[16:51:35] <ThePsionic> import<stdio.h>
L3300[16:51:35] <gigaherz> but there's no "typedef"
L3301[16:51:51] <masa> hmm well now that I think about it I think it makes sense
L3302[16:52:13] <gigaherz> origina vs pivot
L3303[16:52:16] <gigaherz> origin*
L3304[16:52:54] <masa> so the origin is what will be at the origin of the GL surface or whatever, right? depending on the GL translations etc
L3305[16:53:06] <gigaherz> dunno
L3306[16:53:13] <gigaherz> I have no idea what that looks like
L3307[16:53:19] <gigaherz> I mean
L3308[16:53:23] <gigaherz> the ModelRenderer constructor
L3309[16:53:23] <gigaherz> Xd
L3310[16:53:47] <masa> ok, well it takes originX/Y/X and also width, height, depth
L3311[16:54:03] <Nitrodev> if only there was a way instantly got to the client without running it everytime i modified something
L3312[16:54:21] <masa> Nitrodev: run in debug mode?
L3313[16:54:23] <williewillus> hotswap man
L3314[16:54:33] <Nitrodev> oh
L3315[16:54:38] <Nitrodev> did not know that
L3316[16:54:56] <williewillus> every time you save (or hit make all in idea) it will swap the code out if it can
L3317[16:55:01] <masa> some things you still need to restart for, like adding/changing method signatures, class variables, changing mc recipes etc
L3318[16:55:28] <PaleoCrafter> everything that involves assets requires a restart as well
L3319[16:55:41] <masa> but you can edit the code inside methods for example
L3320[16:55:52] <masa> PaleoCrafter: umm, no? F3 + S?
L3321[16:55:59] <masa> plus refresh first in the IDE
L3322[16:56:14] <Nitrodev> masa but what about for things like changing the model files?
L3323[16:56:18] <Nitrodev> the .jsons
L3324[16:56:22] <sham1> yeah masa is right
L3325[16:56:26] <PaleoCrafter> oh, right :D
L3326[16:56:46] <masa> not sure about models, they might work too with just refresh in IDE and then F3 + S in-game?
L3327[16:56:54] <sham1> they do
L3328[16:57:04] <PaleoCrafter> but there was something that didn't work with that...
L3329[16:57:11] <falkreon> really depends on your gradle setup
L3330[16:57:22] <falkreon> and your run configuration
L3331[16:57:35] <laci200270> asm transformers?
L3332[16:57:41] <falkreon> if it's setup to use the assets directly then you should be pretty good. If there's gradle copying involved, it gets rough.
L3333[16:57:45] <masa> I think I haven't been able to get GUI textures to reload using F3+S
L3334[16:57:54] <laci200270> f3+t?
L3335[16:58:00] <Nitrodev> well time to test
L3336[16:58:13] ⇦ Quits: raoulvdberge (uid95673@2001:67c:2f08:6::1:75b9) (Quit: Connection closed for inactivity)
L3337[16:59:17] <Nitrodev> yeah models dont work
L3338[16:59:39] <Nitrodev> oh well
L3339[16:59:50] <laci200270> try f3 t
L3340[17:00:05] <Nitrodev> k
L3341[17:00:53] <masa> Pressing S while holding F3 will reload all web-loaded client resources, which is useful for resource pack authors. As of 15w43a[upcoming], this option was moved to pressing T while holding F3.
L3342[17:01:09] <masa> y u do dis
L3343[17:01:16] *** amadornes is now known as amadornes[OFF]
L3344[17:02:06] <Nitrodev> okay models aren't woorking like that
L3345[17:03:10] <Nitrodev> well i'll just make the model look good then make the recipe for the saw and go to sleep
L3346[17:03:14] ⇦ Quits: IoP (jikuja@kapsi.fi) (Ping timeout: 186 seconds)
L3347[17:03:22] ⇨ Joins: IoP (jikuja@2001:1bc8:1004::2:0:164)
L3348[17:03:22] <masa> which IDE do you use? at least in eclipse you need to refresh the project first
L3349[17:03:29] <Nitrodev> IDEA
L3350[17:04:42] ⇨ Joins: sciguyryan (~sciguyrya@93-94-245-57.dynamic.swissvpn.net)
L3351[17:05:41] <sham1> I await for VarHandles to become a reality
L3352[17:06:41] <diesieben07> yea
L3353[17:06:48] <diesieben07> AtomicXXX sucks
L3354[17:07:15] <sham1> and if it works like MethodHandles :P
L3355[17:07:26] <sham1> No longer using MethodHandles for field access
L3356[17:07:37] <diesieben07> it is bascially MethodHandles under the hood :P
L3357[17:07:48] <sham1> It looks different :3
L3358[17:07:51] <diesieben07> a VarHandle is basically in the end just a MethodHandle pointing to unsafe :D
L3359[17:08:04] <sham1> RIP Unsafe BT
L3360[17:08:48] <diesieben07> BT?
L3361[17:08:57] <sham1> I cannot type BTW
L3362[17:09:04] <diesieben07> heh
L3363[17:09:13] <diesieben07> well, unsafe will NOT go away until it is replaced :D
L3364[17:09:25] <sham1> True
L3365[17:09:47] <diesieben07> i see you are watching the playlist :D
L3366[17:09:51] <sham1> Yes :P
L3367[17:09:58] <sham1> Or rather listening
L3368[17:10:07] <diesieben07> :D
L3369[17:10:34] ⇦ Quits: Zaggymobile (~Zaggy1024@c-24-118-178-13.hsd1.mn.comcast.net) (Ping timeout: 186 seconds)
L3370[17:10:56] <sham1> it is very interesting
L3371[17:11:34] <Nitrodev> okay i'm going to bed
L3372[17:11:39] <diesieben07> it is indeed
L3373[17:11:41] <Nitrodev> g' night all
L3374[17:11:46] <diesieben07> night
L3375[17:11:59] <PaleoCrafter> what playlist? D:
L3376[17:12:09] <sham1> https://www.youtube.com/playlist?list=PLX8CzqL3ArzUo2dtMurvpUTAaujPMeuuU
L3377[17:12:10] <diesieben07> https://www.youtube.com/playlist?list=PLX8CzqL3ArzUo2dtMurvpUTAaujPMeuuU
L3378[17:12:13] <diesieben07> damn
L3379[17:12:25] ⇦ Quits: Nitrodev (~Nitrodev@dcx0f0yfkf-htz8dy-dyt-3.rev.dnainternet.fi) (Read error: Connection reset by peer)
L3380[17:12:25] <sham1> For once I was quicker
L3381[17:12:56] <sham1> learning of the internals really is fun way to just understand what happens
L3382[17:15:10] *** MrKickkiller is now known as MrKick|Away
L3383[17:15:30] *** Jared|Away is now known as Jared
L3384[17:16:02] ⇦ Quits: spaceemotion (~spaceemot@f054098170.adsl.alicedsl.de) (Ping timeout: 192 seconds)
L3385[17:18:00] ⇨ Joins: Zaggymobile (~Zaggy1024@c-24-118-178-13.hsd1.mn.comcast.net)
L3386[17:19:50] *** DRedhorse is now known as DRedAway
L3387[17:21:02] <laci200270> why I can't see the background of vertex2d?
L3388[17:21:24] <laci200270> *the back side
L3389[17:22:49] * laci200270 goes to sleep
L3390[17:23:30] ⇦ Quits: laci200270 (~laci20027@78.92.233.250) (Read error: Connection reset by peer)
L3391[17:26:47] ⇨ Joins: Drullkus (~Drullkus@2601:646:8301:8947:f15d:c049:804:6975)
L3392[17:27:27] ⇦ Quits: Drullkus (~Drullkus@2601:646:8301:8947:f15d:c049:804:6975) (Remote host closed the connection)
L3393[17:27:44] ⇨ Joins: olee (~olee@2a01:4f8:150:70c2::2)
L3394[17:27:53] ⇨ Joins: Drullkus (~Drullkus@2601:646:8301:8947:f15d:c049:804:6975)
L3395[17:27:58] ⇦ Parts: olee (~olee@2a01:4f8:150:70c2::2) (Once you know what it is you want to be true, instinct is a very useful device for enabling you to know that it is))
L3396[17:30:55] ⇦ Quits: ShadowChild (~ShadowChi@host81-151-59-190.range81-151.btcentralplus.com) (Quit: Leaving)
L3397[17:31:20] ⇦ Quits: Drullkus (~Drullkus@2601:646:8301:8947:f15d:c049:804:6975) (Ping timeout: 192 seconds)
L3398[17:32:29] ⇨ Joins: killjoy (~killjoy@2002:4741:ffb7:e472:61d0:85e1:49ae:595b)
L3399[17:33:07] <ThePsionic> http://i.imgur.com/nkI11gz.png
L3400[17:33:10] <ThePsionic> beautiful
L3401[17:33:19] <sham1> yex
L3402[17:36:13] <ThePsionic> https://github.com/ThePsionic/GTAO-Car-Compare
L3403[17:36:22] <ThePsionic> i'll continue this later maybe
L3404[17:36:25] ⇦ Quits: primetoxinz (~primetoxi@ip68-107-226-229.hr.hr.cox.net) (Read error: Connection reset by peer)
L3405[17:37:07] ⇨ Joins: primetoxinz (~primetoxi@ip68-107-226-229.hr.hr.cox.net)
L3406[17:37:09] ⇨ Joins: sinkillerj (~sinkiller@nc-71-49-179-31.dhcp.embarqhsd.net)
L3407[17:37:28] <PaleoCrafter> ThePsionic, if you're using HTML 5, actually use it :P
L3408[17:37:41] <ThePsionic> eh
L3409[17:37:49] <ThePsionic> it's webstorm's default
L3410[17:37:51] <ThePsionic> /shrug
L3411[17:38:08] <sham1> yay for JavaScript
L3412[17:38:19] <diesieben07> ohgodpleaseno
L3413[17:38:33] <ThePsionic> yes
L3414[17:40:07] <PaleoCrafter> btw, good job at ignoring the idea folder
L3415[17:40:38] <ThePsionic> thanks
L3416[17:42:16] <sham1> he can git rm --cached it out
L3417[17:42:23] <sham1> and add it to the .gitignore
L3418[17:42:32] ⇦ Quits: sciguyryan (~sciguyrya@93-94-245-57.dynamic.swissvpn.net) ()
L3419[17:43:15] <sham1> git can be hard but not that hard
L3420[17:50:10] ⇦ Quits: Zaggymobile (~Zaggy1024@c-24-118-178-13.hsd1.mn.comcast.net) (Ping timeout: 186 seconds)
L3421[17:50:48] <ThePsionic> http://thepsionic.com/GTAO-Car-Compare/
L3422[17:50:50] <ThePsionic> There we go
L3423[17:51:10] ⇨ Joins: Loraanicus (webchat@135-23-247-142.cpe.pppoe.ca)
L3424[17:51:13] <sham1> It's empty
L3425[17:51:22] <ThePsionic> wat
L3426[17:51:33] <sham1> the listbox has nothing
L3427[17:51:52] <ThePsionic> i know
L3428[17:52:19] <ThePsionic> i just started it 15 minutes ago and since it's real fuckin late I don't want to put any actual effort in atm :P
L3429[17:56:44] <ThePsionic> Out of context screenshot! http://41.media.tumblr.com/e11bf2c17f8b244e7627aa49051d6a3a/tumblr_nzxbn1yoak1rqbl96o1_500.png
L3430[17:57:41] <sham1> I know one Grenade Launcher like that
L3431[17:57:50] <sham1> In TF2 at the very least
L3432[17:58:03] <ThePsionic> anyway bed cya
L3433[17:58:07] <sham1> cya
L3434[17:58:13] <sham1> Should go to bed myself
L3435[17:58:17] *** sham1 is now known as sham1|ZZzZ
L3436[17:59:22] <williewillus> the one thing people should acknowledge has gotten a lot cleaner
L3437[17:59:29] <williewillus> multilayered item models with coloring
L3438[17:59:43] <williewillus> no more geticon crpa that has to check the renderpass etc.
L3439[18:00:03] <gigaherz> wtf is up with java's clone()/Cloneable ?
L3440[18:00:11] <williewillus> reason: Java 1
L3441[18:00:15] <williewillus> it's always Java 1 :p
L3442[18:00:24] <diesieben07> yeah clone is broken as crap
L3443[18:00:32] <williewillus> people didn't know wtf they were doing and then had to stick with it because backward compat
L3444[18:00:33] <gigaherz> why the F am I supposed to rely on super.clone() returning the right type?
L3445[18:00:34] <diesieben07> prefer a copy constructor
L3446[18:01:10] <diesieben07> so new Myclass(obj) instead of obj.clone
L3447[18:01:16] <gigaherz> yeah I know the concept
L3448[18:01:20] <gigaherz> I don't really like it though :/
L3449[18:01:29] <diesieben07> why not?
L3450[18:01:38] <gigaherz> seems less elegant XD
L3451[18:01:40] <diesieben07> or make a clone method but without CLoneable
L3452[18:01:58] <gigaherz> IDEA still nags me about not calling super.clone()
L3453[18:02:04] <williewillus> or just immutable everything :D
L3454[18:02:26] <diesieben07> don't implement Cloneable
L3455[18:02:34] <diesieben07> actually wait
L3456[18:02:39] <diesieben07> yeah don't call it clone, Object has that method...
L3457[18:02:46] <williewillus> copy()
L3458[18:02:51] <PaleoCrafter> ^
L3459[18:03:09] <PaleoCrafter> Consistent with scala case classes
L3460[18:03:10] <williewillus> id just make it immutable if possible :p
L3461[18:03:12] <gigaherz> yeah renamed to copy
L3462[18:03:12] <PaleoCrafter> xD
L3463[18:03:31] <gigaherz> williewillus: I'm not making an immutable data structure kthx
L3464[18:03:36] <williewillus> lol
L3465[18:03:55] <williewillus> what data structure are you making?
L3466[18:03:58] <PaleoCrafter> Still working on that queue thing?
L3467[18:04:19] <gigaherz> no the queue was a tiny part of a lib
L3468[18:04:30] <williewillus> general minecraft collections lib :p
L3469[18:04:38] <diesieben07> wat
L3470[18:04:39] <gigaherz> no not mc-related XD
L3471[18:04:44] <gigaherz> https://github.com/gigaherz/GDDL-Java
L3472[18:04:56] <gigaherz> I needed the queue for the parser
L3473[18:05:24] ⇦ Quits: Szernex (~Szernex@91-113-118-42.adsl.highway.telekom.at) (Read error: Connection reset by peer)
L3474[18:05:32] <williewillus> that looks like "I can't believe it's not JSON!"
L3475[18:05:43] <gigaherz> it's not json.
L3476[18:05:51] <gigaherz> it's slightly inspired by json, yes
L3477[18:05:57] <gigaherz> but it's non-retarded json
L3478[18:06:22] <gigaherz> that said, I designed it before I learned about json
L3479[18:06:44] <gigaherz> so the original design was more inspired by C-like languages
L3480[18:06:53] <williewillus> why is the mob syncing in 1.8 so terrible
L3481[18:06:55] <gigaherz> it makes no attempt to reuse the initializer syntax of any language
L3482[18:07:19] <gigaherz> wtf IDEA?
L3483[18:07:21] <gigaherz> I opened a .md file
L3484[18:07:26] <gigaherz> told me there's plugins for that
L3485[18:07:33] <gigaherz> but it choseto select ALL of them
L3486[18:07:38] <williewillus> lol
L3487[18:07:39] <diesieben07> yeah it does that
L3488[18:07:55] <gigaherz> NO I do not want every single markdown plugin ever ¬¬
L3489[18:08:00] <PaleoCrafter> Looks a bit like HOCON, gigaherz
L3490[18:08:08] <diesieben07> HOCON?
L3491[18:08:10] <diesieben07> HOCON.
L3492[18:08:17] <diesieben07> HOCON HOCON.
L3493[18:08:19] <gigaherz> ho convention?
L3494[18:08:55] <gigaherz> so which one do I choose? XD
L3495[18:08:56] <PaleoCrafter> You got it, hodor07
L3496[18:09:10] <gigaherz> (markdown plugin)
L3497[18:09:17] <diesieben07> hodor
L3498[18:09:18] ⇦ Quits: kimfy (~kimfy___@74.141.16.62.customer.cdi.no) (Quit: off to whatever)
L3499[18:09:51] ⇨ Joins: Cojo (~Cojo@2606:a000:1126:8048:e4d7:87ac:828d:38fb)
L3500[18:10:02] <gigaherz> that HOCON thing looks like an overcomplicated version of mine ;P
L3501[18:10:37] <gigaherz> ah is it what gradle uses?
L3502[18:10:44] <PaleoCrafter> HOCON is to JSON what Scala is to Java :P
L3503[18:11:06] <williewillus> so messy syntax? :D
L3504[18:11:08] <gigaherz> this clearly has a different purpose
L3505[18:11:18] <gigaherz> https://github.com/typesafehub/config/blob/master/HOCON.md
L3506[18:11:28] <williewillus> kidding :p
L3507[18:11:46] ⇨ Joins: Jezza (~Jezza@185.44.151.55)
L3508[18:11:46] ⇦ Quits: auenfx4 (David@120.155.97.223) (Ping timeout: 186 seconds)
L3509[18:12:18] <PaleoCrafter> Well, it's main purpose of configuration, but you can just use it as a JSON superset
L3510[18:12:21] ⇦ Quits: Samario (~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net) (Quit: Leaving)
L3511[18:12:49] <PaleoCrafter> Don't think gradle uses it, though
L3512[18:12:50] ⇨ Joins: auenfx4 (David@120.155.97.223)
L3513[18:14:32] <PaleoCrafter> williewillus, if by messy you mean extremely versatile, sure :P
L3514[18:15:39] ⇦ Quits: Doty1154 (~Doty1154@2601:648:8002:ea78:b45c:857e:892e:c60e) (Quit: Leaving)
L3515[18:16:00] ⇨ Joins: Doty1154 (~Doty1154@2601:648:8002:ea78:b45c:857e:892e:c60e)
L3516[18:16:17] *** SnowShock35 is now known as zz_SnowShock35
L3517[18:16:18] <gigaherz> PaleoCrafter: if they don't, they chose rather similar feature sets ;P
L3518[18:16:22] <gigaherz> language-wise
L3519[18:17:40] <PaleoCrafter> Gradle uses groovy for the script files, but that's not comparable to HOCON
L3520[18:18:50] <gigaherz> but yeah
L3521[18:19:04] ⇦ Quits: DemoXin (~DemoXin@29.sub-70-197-162.myvzw.com) ()
L3522[18:19:06] <gigaherz> I just pushed commited before linking here
L3523[18:19:08] <killjoy> groovy can so things similarly if it's coded to, but you can also run code in it
L3524[18:19:15] <gigaherz> I was adding the feature of using strings for element names
L3525[18:19:22] ⇨ Joins: PrinceCat (~PrinceCat@124.148.29.106)
L3526[18:19:28] <gigaherz> for when you want a name that isn't specifically an identifier
L3527[18:22:02] ⇦ Quits: Jezza (~Jezza@185.44.151.55) (Read error: Connection reset by peer)
L3528[18:23:43] <gigaherz> the ARK christmas event is sortof stupid. they gave al lthe event recipes such a high price, that unless you are part of a large tribe farming every single santa drop, you wouldn't get to the fun in time at all
L3529[18:24:04] <gigaherz> wtf is the point of a reindeer skin for megaloceros, if you don't haveit by christmas?
L3530[18:24:22] ⇦ Quits: AforAnonymous (bitch2k@dyn-042-143.vix1.mmc.at) (Quit: good night)
L3531[18:24:49] ⇨ Joins: Zaggymobile (~Zaggy1024@174-20-13-82.mpls.qwest.net)
L3532[18:24:53] <gigaherz> the haloween event sure, that was ok because skeleton skins are never "out of season", but jy mid january, who the heck needs a santa hat? ;P
L3533[18:24:56] <gigaherz> by
L3534[18:25:51] ⇨ Joins: Drullkus (~Drullkus@2601:646:8301:8947:6993:2296:5226:9694)
L3535[18:28:02] ⇨ Joins: waterpicker (~waterpick@108-85-62-85.lightspeed.nworla.sbcglobal.net)
L3536[18:28:11] <waterpicker> I need help with this error. https://gist.github.com/Waterpicker/e864f565d07743aacc83
L3537[18:28:33] ⇨ Joins: MonkeyTyrant (~MonkeyTyr@stjhnbsu1kw-047055189214.dhcp-dynamic.FibreOp.nb.bellaliant.net)
L3538[18:28:54] ⇦ Quits: MonkeyTyrant (~MonkeyTyr@stjhnbsu1kw-047055189214.dhcp-dynamic.FibreOp.nb.bellaliant.net) (Client Quit)
L3539[18:30:27] ⇦ Quits: primetoxinz (~primetoxi@ip68-107-226-229.hr.hr.cox.net) (Quit: Leaving)
L3540[18:30:49] <gigaherz> waterpicker: are you trying to load buildcraft with a too old MC? or too new?
L3541[18:33:55] <waterpicker> 1.7.10 with version 7.1.14 of BC and I have no idea
L3542[18:35:01] ⇨ Joins: VikeStep (~VikeStep@101.184.165.77)
L3543[18:35:11] <gigaherz> whatversion of forge?
L3544[18:35:20] <SmashShock> Anyone know why PlayerUseItemEvent isn't firing for my mod-item?
L3545[18:36:18] <waterpicker> 1.7.10-10.13.4.1614-1.7.10
L3546[18:36:28] <waterpicker> Sorry Smash have my own set of issue right. :(
L3547[18:37:09] <SmashShock> Uhh
L3548[18:38:12] <gigaherz> wel lthat seems to be latest
L3549[18:38:14] <gigaherz> so no idea :/
L3550[18:38:29] <gigaherz> do you have any other mods that could cause an incompatibility?
L3551[18:38:39] <diesieben07> SmashShock, you should need to use the event for your own item...
L3552[18:38:51] <waterpicker> It is my dev environment
L3553[18:38:56] <waterpicker> And IC2
L3554[18:39:20] <gigaherz> oh!
L3555[18:39:20] <waterpicker> The mod I'm working on is a IC2 addon
L3556[18:39:29] <gigaherz> dev environment is pickier
L3557[18:39:47] <gigaherz> you may need to downgrade to the version of forge they used while compiling BC
L3558[18:40:01] <waterpicker> at that version?
L3559[18:40:15] <gigaherz> although the mappings for 1.7.10 haven't changed in a while
L3560[18:40:21] <gigaherz> so dunno really
L3561[18:40:59] <SmashShock> diesieben07, do you mean that I have to change my item class to make it call onPlayerInteractEvent when it's used?
L3562[18:41:10] <diesieben07> whaaa
L3563[18:41:17] ⇨ Joins: Kobata_ (~Kobata@cpe-24-210-17-81.columbus.res.rr.com)
L3564[18:41:22] <diesieben07> now you are talking abotu PlayerInteractEvent?
L3565[18:41:34] <PaleoCrafter> waterpicker, are you using the deobfuscated version of BC?
L3566[18:41:36] <SmashShock> Oops, sorry, I mean PlayerUseItemEvent
L3567[18:41:43] <diesieben07> no you don't
L3568[18:41:51] <diesieben07> but again, you shouldn't care about the event. why do you?
L3569[18:42:12] <waterpicker> Just found that out when you talked
L3570[18:42:22] <waterpicker> No I"m not ><
L3571[18:42:26] <SmashShock> I'm trying to do something when someone right-clicks with my specific item, but only once, at the first tick
L3572[18:42:31] ⇦ Quits: Kobata (~Kobata@cpe-24-210-17-81.columbus.res.rr.com) (Ping timeout: 190 seconds)
L3573[18:42:38] <diesieben07> onItemRightClick?
L3574[18:42:42] ⇨ Joins: Herpahermaderp (Herpaherma@216.196.92.69)
L3575[18:42:44] * waterpicker is still new at doing mods of any more complexity than a a couple blocks.
L3576[18:42:59] <falkreon> but I love cosmetic blocks :o
L3577[18:43:13] <Herpahermaderp> blocks are beautiful
L3578[18:43:27] <waterpicker> I'm however doing a machine that uses both fluids, power, and sided inventories
L3579[18:43:37] <falkreon> ew. That gets complicated.
L3580[18:43:41] <waterpicker> Yea.
L3581[18:43:49] <falkreon> I kind of dislike the GUI-heavy machine style
L3582[18:44:04] <falkreon> I'd like TFC if it was less total-conversion I think.
L3583[18:44:44] <gigaherz> what was TFC? XD
L3584[18:44:44] <waterpicker> Do I need the deobfuscated version PaleoCrafter?
L3585[18:44:52] <waterpicker> TerafirmaCraft
L3586[18:44:55] <gigaherz> right
L3587[18:44:56] <gigaherz> Xd
L3588[18:44:59] <PaleoCrafter> What would you think about a GUI that is in-world, falkreon? :P
L3589[18:45:07] <falkreon> in-world is the best kind
L3590[18:45:09] <PaleoCrafter> Yes, waterpicker
L3591[18:45:12] <waterpicker> Like projected Paleo?
L3592[18:45:12] <gigaherz> map-like?
L3593[18:45:17] <falkreon> like, bibliocraft
L3594[18:45:19] <waterpicker> How do I support that Paleo?
L3595[18:45:23] <gigaherz> I'd like for the main menu to be like the map
L3596[18:45:23] <gigaherz> XD
L3597[18:45:25] <falkreon> where you just rightclick crap onto shelves
L3598[18:45:33] <gigaherz> so that the game doesn't actually pause
L3599[18:45:38] <falkreon> yeah
L3600[18:45:39] <gigaherz> and you can "look up" from the config
L3601[18:45:54] <falkreon> actually I love the Reset menus for just that reason
L3602[18:45:57] <SmashShock> diesieben07, is onItemRightClick an event? I can't find anything in the forge docs
L3603[18:46:04] <SmashShock> Or is that a method in my item class
L3604[18:46:17] <gigaherz> ARK had theright idea with pretending that the UI is projected from the gem in your arm
L3605[18:46:20] <diesieben07> the latter
L3606[18:46:22] <falkreon> yea
L3607[18:46:22] <gigaherz> but they failed at making it in-world
L3608[18:46:26] <falkreon> that's umm
L3609[18:46:28] <gigaherz> it's still justa menu
L3610[18:46:33] <falkreon> a blatant copy of dead space but sure
L3611[18:46:40] <SmashShock> Thanks diesieben07
L3612[18:46:40] <PaleoCrafter> I was thinking more along the lines of holograms xD
L3613[18:46:42] <gigaherz> never played dead space
L3614[18:46:42] <falkreon> I like the dead space strategy too
L3615[18:46:42] <gigaherz> ;P
L3616[18:46:53] <falkreon> Also never played dead space
L3617[18:46:56] <waterpicker> Wait Smash are you wanting to interact with a block by right clicking?
L3618[18:46:58] <falkreon> but it made some UI waves
L3619[18:47:10] <falkreon> by at least pretending not to break your immersion
L3620[18:47:24] <gigaherz> ah
L3621[18:47:24] <SmashShock> No waterpicker, I'm just trying to detect the first tick that my mod-item is used
L3622[18:47:29] <gigaherz> that one is actually more in-world
L3623[18:47:33] <SmashShock> On anything, air or block
L3624[18:47:40] <gigaherz> ARK's is just an UI that "appears" after animating your arm
L3625[18:47:49] <falkreon> oh. that's dumb
L3626[18:47:55] <falkreon> I like that it tries, but
L3627[18:47:59] <falkreon> hmm
L3628[18:48:10] <falkreon> that's more a Pip Boy strategy I'd say
L3629[18:48:24] <falkreon> it's pretending it's on your arm, but it's a normal GUI after the animation.
L3630[18:48:55] ⇦ Parts: Loraanicus (webchat@135-23-247-142.cpe.pppoe.ca) ())
L3631[18:48:56] <falkreon> Metroid Prime was also nice in that it simulated fog and reflections in the helmet
L3632[18:49:11] <falkreon> and all the UI was sort of believably projected onto that glass
L3633[18:49:12] <shadekiller666> is there a way to pass variables to methods by reference?
L3634[18:49:26] <falkreon> shadekiller666, everything in java is pass by value of the reference
L3635[18:49:34] <falkreon> so I guess I'm asking for specifics ^_^
L3636[18:49:51] <falkreon> like
L3637[18:50:36] <falkreon> public void foo(int[3] thing) { thing[0] = 0xF00; } //0xF00 is still in that array in the outside scope
L3638[18:50:56] <falkreon> err
L3639[18:50:59] <falkreon> int[] thing
L3640[18:51:10] <falkreon> ignore the dimensions, they're incorrect and irrelevant ^_^
L3641[18:51:36] <falkreon> but basically if you pass in a mutable type, and mutate it, it stays mutated.
L3642[18:52:08] <shadekiller666> kind of
L3643[18:53:10] <falkreon> of course, I'm sure you'll get a couple of people in here that'll tell you that parameter side effects are bad (and they'd be right)
L3644[18:53:26] <shadekiller666> if you define 2 Vector2f variables in a method, then pass them to a method that sets the x and y values of one of the vectors, the instances in the calling method will have changed
L3645[18:53:34] <falkreon> right.
L3646[18:53:44] <falkreon> so is there a use case that you have in mind?
L3647[18:53:55] <PaleoCrafter> All side effects are bad :P
L3648[18:53:58] <falkreon> :D
L3649[18:54:01] <falkreon> that's the spirit!
L3650[18:54:09] <shadekiller666> but if that same method tries to swap the values of the two passed-in vectors, by setting its argument names to each other, that fails
L3651[18:54:16] <SmashShock> Wait, is onItemRightClick fired every tick that the item is being used, or just the first tick?
L3652[18:54:20] <falkreon> shadekiller- correct
L3653[18:54:43] <falkreon> SmashShock, iirc each tick
L3654[18:54:46] <shadekiller666> unless the method swaps the values individually using the x and y values...
L3655[18:55:12] <PaleoCrafter> I think it's called on mouse down
L3656[18:55:15] <shadekiller666> i just wish there was a syntactic distinction between pass by value and pass by reference in java
L3657[18:55:16] <falkreon> shade, yeah, it's just a thing you've got to get used to. You're asking the question, but you've got a pretty good handle on the reference situation here.
L3658[18:55:19] <SmashShock> Is there any method that only fires on the first tick? Or some way I can
L3659[18:55:36] <williewillus> first tick of?
L3660[18:55:41] <falkreon> first tick of use
L3661[18:55:53] <williewillus> for an item?
L3662[18:55:57] <falkreon> you should probably set the player's swing timer
L3663[18:56:07] *** Kobata_ is now known as Kobata
L3664[18:56:16] <falkreon> that's not quite the same thing, but it does give people plenty of warning before a refire
L3665[18:56:25] <falkreon> and it's more consistent with Minecraft's overall behavior
L3666[18:56:36] <SmashShock> On a right-click, though
L3667[18:56:39] <falkreon> yes.
L3668[18:56:39] <shadekiller666> falkreon, now, if the passed in variables were primitive types, would a swap operation still fail?
L3669[18:56:49] <falkreon> shadekiller666, yes, it would fail.
L3670[18:57:25] <shadekiller666> and there is no way of making it work
L3671[18:57:27] <PaleoCrafter> A syntactic distinction wouldn't make any sense as there is no difference in the first place
L3672[18:58:36] <falkreon> in this case because they're primitive types and not reference in the first place, it's pass by value
L3673[18:58:50] <shadekiller666> paleo, in C you can define a method with arguments such as 'double& num1' and the value passed in will be passed by reference instead of by value, which would allow a swap operation to succeed
L3674[18:58:58] <falkreon> everything's technically pass by value, it's just that all object pointers, the value is the pointer.
L3675[18:59:08] <PaleoCrafter> Exactly
L3676[18:59:29] <SmashShock> Is the swing timer a property of an item object or something?
L3677[18:59:30] <PaleoCrafter> shade, I know, but that doesn't exist in Java :P
L3678[18:59:33] <SmashShock> I can't find it
L3679[18:59:36] <falkreon> so the behavior is consistent across the board, if a little non-intuitive
L3680[18:59:37] <shadekiller666> if passed as their wrapped counter parts (ie. Double instead of double) would that allow a swap to work?
L3681[18:59:45] <PaleoCrafter> No
L3682[18:59:47] <williewillus> no,
L3683[18:59:47] <falkreon> the swing timer is a property on the player
L3684[18:59:51] <williewillus> the wrappers are immutable
L3685[18:59:54] <williewillus> and plus
L3686[18:59:56] <williewillus> the pointer is by value
L3687[19:00:01] <williewillus> (reference, whatever)
L3688[19:00:17] ⇨ Joins: LexLap2 (~LexManos@172.76.2.58)
L3689[19:00:17] MineBot sets mode: +o on LexLap2
L3690[19:00:20] <falkreon> there are some Mutable boxed types floating around in some place somewhere, and also Atomic varieties
L3691[19:00:27] <falkreon> I suggest not using them.
L3692[19:00:31] <falkreon> not for this.
L3693[19:00:59] <falkreon> what you really want is not pass by reference, what you REALLY want is a macro.
L3694[19:01:05] <PaleoCrafter> We all know the proper solution is tuples and pattern matching
L3695[19:01:09] <falkreon> no.
L3696[19:01:14] <falkreon> just no.
L3697[19:02:11] <PaleoCrafter> Why not? :P
L3698[19:02:12] <falkreon> I need to write a gradle plugin for texture compositing.
L3699[19:02:36] <SmashShock> I... I'm not really sure where to go from here. Is there an event that's fired on right-mousedown or something? Neither the events or the method in the item class let me fire some code on the first tick of an item use
L3700[19:03:01] <falkreon> SmashShock, don't rely on bindings
L3701[19:03:10] <falkreon> if someone's using a controller or whatever
L3702[19:03:16] <falkreon> or has remapped click to a key
L3703[19:03:28] <falkreon> you want your code to roll with it
L3704[19:03:34] <falkreon> and behave like minecraft
L3705[19:03:39] <SmashShock> Good point
L3706[19:03:55] <Herpahermaderp> you could use the PlayerUseItemEvent
L3707[19:04:12] <falkreon> is that the first tick or every tick?
L3708[19:04:24] <SmashShock> Yeah it has the .Start sub
L3709[19:04:32] <SmashShock> But it doesn't fire for my item for some reason
L3710[19:04:35] <falkreon> that's.... not what you think it is....
L3711[19:04:52] <falkreon> maybe it is.
L3712[19:04:56] <falkreon> let me look at it.
L3713[19:06:08] <falkreon> interesting
L3714[19:06:13] <falkreon> it IS what you're looking for.
L3715[19:06:19] <falkreon> are you registering the event handler?
L3716[19:06:24] <falkreon> just sanity checks here
L3717[19:06:29] <SmashShock> Yes, it fires for swords
L3718[19:06:34] <SmashShock> Just not for my item
L3719[19:06:44] <falkreon> let's see code
L3720[19:06:46] <SmashShock> Seems it only fires for items that actually do something on right-click
L3721[19:06:52] <falkreon> can you gist or link github?
L3722[19:06:56] <SmashShock> Yeah, one moment
L3723[19:09:10] <falkreon> there might be some nonsense going on with Item.getItemUseAction too.
L3724[19:09:18] <Zaggy1024> looks as though in 1.8.8 if a block has water material but no LEVEL property the game crashes :\
L3725[19:09:21] <falkreon> it *says* it's for animation, but I don't necessarily trust that
L3726[19:09:42] <SmashShock> https://gist.github.com/ihatecsv/6f18d801d2b5ece27db2
L3727[19:09:59] <diesieben07> there is NO need to use na event for this...
L3728[19:10:01] <falkreon> 1.8.8's fluid handling seems to still be intensely beta, mostly because of blockmodel challenges
L3729[19:10:32] <falkreon> diesieben07, the goal here was to trap the first tick of a rightclick, and not subsequent ones
L3730[19:10:33] <williewillus> it's functional
L3731[19:10:35] <diesieben07> onItemUseFirst is a ethod in Item
L3732[19:10:38] <diesieben07> you can verride it.
L3733[19:10:41] <falkreon> ah
L3734[19:10:43] <falkreon> that's useful
L3735[19:10:52] <falkreon> that's basically what we were looking for.
L3736[19:11:07] <SmashShock> Oh really? sweet
L3737[19:11:13] <SmashShock> That's much better than this
L3738[19:11:18] <Zaggy1024> I was talking about vanilla liquid handling, not Forge's fluids
L3739[19:11:32] <Zaggy1024> so in other words a block can no longer blend into water without *being* water
L3740[19:11:44] <Zaggy1024> or so it seems
L3741[19:11:54] <falkreon> I really do hate how much special-casing happens around Material.water
L3742[19:12:13] <falkreon> like, you can't actually get water movement to happen
L3743[19:12:24] <falkreon> the fluid needs to have either water or lava material.
L3744[19:12:37] <PaleoCrafter> Well, doesn't onItemUseFirst only fire when you right click a block?
L3745[19:12:38] <falkreon> and if it's lava the damage is non-negotiable
L3746[19:12:56] <diesieben07> that is true paleo
L3747[19:13:06] <diesieben07> for just "right clicking": onItemRightClick
L3748[19:13:36] ⇨ Joins: Something12 (~Something@s010634bdfa9eca7b.vs.shawcable.net)
L3749[19:14:09] <falkreon> I am so amped for Valhalla now
L3750[19:14:14] <falkreon> darn it
L3751[19:15:29] <falkreon> you don't just announce you're working on primitive generics, reified generics, and native vector types and then throw it two versions away
L3752[19:15:49] <falkreon> I want my SIMD today ;_;
L3753[19:15:52] <SmashShock> diesieben07, onItemRightClick doesn't only fire once, though
L3754[19:16:07] <SmashShock> so onItemUseFirst doesn't work on air? :/
L3755[19:16:08] <diesieben07> yes, but every.single.item behaves like that
L3756[19:16:12] <diesieben07> why do you care?
L3757[19:16:37] <falkreon> like I said, to stay consistent with minecraft, you probably want to set the swing timer to delay a re-activation.
L3758[19:16:43] <williewillus> oh the joy of right click events in minecraft
L3759[19:16:54] <williewillus> it's a mess even in vanilla :p
L3760[19:16:58] <falkreon> yea :/
L3761[19:17:03] <falkreon> well
L3762[19:17:05] <falkreon> let's be fair
L3763[19:17:08] <falkreon> most things are a mess in vanilla
L3764[19:17:19] <falkreon> collisions are just rough.
L3765[19:17:33] <SmashShock> falkreon, how would I go about changing the swing timer? I did some google-fu and I didn't see anything
L3766[19:17:52] <williewillus> that being said my onEntityCollidedWithBlock is still broken and I have no clue why :D
L3767[19:17:58] <williewillus> (in my botania 1.8 port)
L3768[19:19:31] <falkreon> I *think* it calls itself setItemInUse these days
L3769[19:19:43] <falkreon> I could use some help from people more current on the api there
L3770[19:20:58] <falkreon> and if that winds up being circular and dumb, you can just set Player.itemInUse and itemInUseCount directly, but not sure what impact that has on network.
L3771[19:21:28] <diesieben07> these in use counters only apply if your item is actually useable for a longer period
L3772[19:21:30] <diesieben07> such as a bow
L3773[19:21:33] <diesieben07> or a sword
L3774[19:21:46] <falkreon> huh. then where does the swing timer live?
L3775[19:21:53] <falkreon> maybe the playerInteractManager
L3776[19:21:55] <falkreon> that'd be ugly
L3777[19:22:08] <diesieben07> actaully you could utilise this though
L3778[19:22:09] <diesieben07> one sec
L3779[19:22:50] ⇨ Joins: rockers3000 (rockers300@host213-121-16-55.webport-cl2-hg5.ilford.mdip.bt.net)
L3780[19:22:55] *** rockers3000 is now known as Rockers
L3781[19:23:36] <Rockers> Does anybody have any idea on how to get the dimension id within a TileEntity?
L3782[19:23:55] <williewillus> worldObj.provider.getDimensionId
L3783[19:24:11] <falkreon> aha!
L3784[19:24:16] <diesieben07> in onItemRightClick: if (player.getItemInUse() != stack) { player.setItemInUse(stack); /* do stuff */ }
L3785[19:24:21] <Rockers> Thanks!
L3786[19:24:25] <diesieben07> falkreon, SmashShock ^
L3787[19:24:33] <falkreon> EntityLiving.swingProgressInt is where the actual swing timer lives
L3788[19:24:43] <falkreon> apparently more entities have it than I thought
L3789[19:25:08] <Herpahermaderp> any entity that moves it's arms is going to have it
L3790[19:25:11] <falkreon> yeah, that'd work pretty well
L3791[19:25:16] <falkreon> Herpahermaderp, like what?
L3792[19:25:24] <diesieben07> you also have to override getMaxItemUseDuration though
L3793[19:25:27] <diesieben07> because the default is 0
L3794[19:25:31] <falkreon> mhm
L3795[19:25:32] <Herpahermaderp> zombies, skeletons, pig zombies
L3796[19:25:36] <falkreon> zombies: no
L3797[19:25:39] <falkreon> skeles: no
L3798[19:25:47] <falkreon> well maybe skeles because they have bow drawing anim
L3799[19:25:51] <falkreon> pigzombies: no
L3800[19:26:05] <falkreon> remember these guys have no sword swing
L3801[19:26:30] <Herpahermaderp> ah yes, my bad
L3802[19:26:53] <falkreon> I bet it's intended behavior of all entities that are capable of wearing gear and holding tools though
L3803[19:27:07] <falkreon> like, it's correct design, it's just not really used.
L3804[19:27:18] ⇨ Joins: olee (~olee@2a01:4f8:150:70c2::2)
L3805[19:27:32] <falkreon> like incoming damage vectors ^_^
L3806[19:27:40] <falkreon> we're getting those back I hear?
L3807[19:29:25] ⇦ Quits: Fjolnir|afk (~Fjolnir@server1.madjake45.me) (Remote host closed the connection)
L3808[19:29:32] <olee> Hi, I could need some help on doing some ASM stuff. I am trying to get the class resource (stream) of a MC class at runtime to get some debug information on it's fields etc. However I am unable to do getResourceAsStream from the classloader at runtime - it never finds the MC class... Does anyone have an idea?
L3809[19:29:34] <SmashShock> diesieben07, how does that work?
L3810[19:29:48] <falkreon> whew
L3811[19:29:50] <falkreon> eh
L3812[19:29:57] ⇦ Quits: MindWorX (~MindWorX@0x3ec639b7.inet.dsl.telianet.dk) (Quit: Leaving)
L3813[19:30:01] <falkreon> olee, careful about that kind of question here ^_^
L3814[19:30:27] <williewillus> olee: probably using the wrong classloader
L3815[19:30:33] <olee> I know xD - but to clearly state it - I don't intend to do some bad bad ASM - it's for debugging
L3816[19:30:36] <diesieben07> SmashShock, ?
L3817[19:30:47] <olee> williewillus: the LaunchClassLoader should be the correct, shouldn't it?
L3818[19:30:53] <williewillus> yeha
L3819[19:31:09] <falkreon> I've actually taken a good amount of flak for not touching asm. I feel really good about it though.
L3820[19:31:23] <diesieben07> olee, put -Dlegacy.debugClassLoading=true -Dlegacy.debugClassLoadingSave=true in your JVM arguments and fml will dump the transformed classes into CLASSLOADER_TEMP
L3821[19:31:26] <olee> but what class name do I pass it? when I pass e.g. "Entity.class.getName()" which resolves to the deobfuscated name even at runtime, I don't get anything
L3822[19:32:53] <falkreon> https://bugs.mojang.com/browse/MC-73853 there we go. Yes, we are getting damage vectors back
L3823[19:33:50] <williewillus> falkreon: hey that's my issue :p
L3824[19:33:50] <diesieben07> wow i never knew that was a thing
L3825[19:33:56] <williewillus> except you linked my dupe ticket :p
L3826[19:34:00] <falkreon> whoops
L3827[19:34:02] <falkreon> yeah
L3828[19:34:03] <falkreon> https://bugs.mojang.com/browse/MC-26678
L3829[19:34:04] <falkreon> that one
L3830[19:34:07] <falkreon> that's you?
L3831[19:34:11] <williewillus> yes
L3832[19:34:23] <williewillus> you fixed that bug??
L3833[19:34:33] <falkreon> me?
L3834[19:34:41] <falkreon> I could, but I'm so not mojang
L3835[19:34:45] ⇨ Joins: primetoxinz (~primetoxi@ip68-107-226-229.hr.hr.cox.net)
L3836[19:34:49] <williewillus> you said we're getting them back?
L3837[19:34:51] <falkreon> they'd never take a PR from me X)
L3838[19:35:18] <falkreon> I totally thought mojang was fixing them, but it looks like the bug's confirmed through latest snapshots so I guess not
L3839[19:35:20] <williewillus> this is just another of the numerous things lost in the client during 1.3 :p
L3840[19:35:25] <diesieben07> a PR would require them to have an open repo for starters :D
L3841[19:35:33] <williewillus> another is that end portals used to emit smoke when you put an eye in them
L3842[19:35:44] <diesieben07> the portal transition is also different
L3843[19:35:45] <williewillus> or the nostalgic greeen loading bar D:
L3844[19:35:48] <diesieben07> i really miss the old sound
L3845[19:35:57] <williewillus> i miss the bar more tha the sound tbh :p
L3846[19:35:58] <falkreon> I miss the bone-cracking fall damage sound
L3847[19:36:12] <diesieben07> meh
L3848[19:36:14] <diesieben07> both :D
L3849[19:36:25] <williewillus> I hate how I reported the heart not flashing the delta damage, and they "fixed" it in 1.8
L3850[19:36:37] <williewillus> which invovled gutting it from how it used to be >.<
L3851[19:36:44] *** kroeser|away is now known as kroeser
L3852[19:36:48] <falkreon> not flashing the delta damage?
L3853[19:36:50] <falkreon> huh
L3854[19:37:06] <falkreon> tbh minecraft should steal Earthbound's slow damage
L3855[19:37:08] <williewillus> from 1.3 to 1.8 when you take damage the health you lost doesn't flash
L3856[19:37:18] <falkreon> where you can scramble after you've been killed and fix it
L3857[19:37:22] <williewillus> i reported it and they fixed it but they also made it flash slow as hell
L3858[19:38:03] <falkreon> and I hate how they keep speeding up the swing timer
L3859[19:38:10] <falkreon> the new sword swing timer
L3860[19:38:16] <falkreon> it needs to be slower ;_;
L3861[19:38:21] <williewillus> for 1.9?
L3862[19:38:23] <falkreon> yeah
L3863[19:38:25] <diesieben07> according to some youtube comments the portal sound is back in 1.9
L3864[19:38:27] <williewillus> I thought they only sped it up once
L3865[19:38:31] <falkreon> idk
L3866[19:38:33] <williewillus> it is, but not while you're in the gui
L3867[19:38:36] <falkreon> point is, wrong direction
L3868[19:38:46] <williewillus> it plays after the teleportation is complete
L3869[19:39:00] <williewillus> probably since the gui pauses sounds and they didn't want to change it :p
L3870[19:39:07] <williewillus> or too lazy
L3871[19:39:21] <falkreon> ehh
L3872[19:39:21] <diesieben07> that just makes me furious
L3873[19:39:27] <falkreon> you can also buffer dog barks and whatnot
L3874[19:39:29] <falkreon> using guis
L3875[19:39:33] <diesieben07> "we want this feature in the game but we are too lazy to code it properly so ... NO"
L3876[19:39:41] <diesieben07> thats not how game programming should be.
L3877[19:39:53] <williewillus> yeah the top bugs on their tracker have been reopened time and time again
L3878[19:39:56] <falkreon> best: take a botania tiny potato
L3879[19:40:02] <williewillus> because they throw a bandaid on it and it breaks the next patch
L3880[19:40:06] <falkreon> name it "shia laboeuf"
L3881[19:40:17] <falkreon> use an autonomous activator to repeatedly rightclick it
L3882[19:40:23] <falkreon> open a chest standing next to it
L3883[19:40:26] <falkreon> wait 5 min
L3884[19:40:27] <williewillus> more than half of the bugs on the top of the tracker have been since 1.4-5
L3885[19:40:29] <falkreon> close the chest
L3886[19:40:38] <falkreon> result: broken eardrums
L3887[19:40:45] <williewillus> lol
L3888[19:41:32] <falkreon> pretty similar results if you do that next to a vanilla chickenator
L3889[19:41:51] <falkreon> you can get high volumes in fairly low times.
L3890[19:41:55] <falkreon> anyhow
L3891[19:41:56] <olee> williewillus: ClassReader cr = new ClassReader(Thread.currentThread().getContextClassLoader().getResourceAsStream(clazz.getName().replace('.', '/') + ".class")); ... it always works in dev, but breaks in obf env, where I want to get information from >_<
L3892[19:42:38] <falkreon> breaks how
L3893[19:42:50] <falkreon> what's the String it spits out?
L3894[19:43:17] <williewillus> anyways anyone see anything wrong with this block? :/ items are not triggering onEntityCollided 0.o:
L3895[19:43:19] <williewillus> link incoming
L3896[19:43:21] <falkreon> also, not sure if the classloader is the right one
L3897[19:43:33] <falkreon> it might be to close to root to know about the classes
L3898[19:43:41] <williewillus> https://github.com/williewillus/Botania/blob/MC18/src/main/java/vazkii/botania/common/block/mana/BlockPool.java
L3899[19:43:53] <falkreon> root classloaders in general know about *less* classes than leaf loaders
L3900[19:44:20] <olee> well - it returns a null stream
L3901[19:45:07] ⇦ Quits: waterpicker (~waterpick@108-85-62-85.lightspeed.nworla.sbcglobal.net) (Ping timeout: 195 seconds)
L3902[19:45:19] <falkreon> olee, I'm asking about information before the stream is created. What String are you generating for the binary name?
L3903[19:45:37] <diesieben07> you should use Launch.classLoader
L3904[19:45:40] <olee> you mean clazz.getName().replace('.', '/') + ".class" ?
L3905[19:45:41] <falkreon> williewillus, I normally start debugging this with a println just inside onEntityCollidedWithBlock
L3906[19:45:53] <falkreon> olee- yeah. And diesie is most likely right
L3907[19:45:56] <diesieben07> and then use Launch.classLoader.getClassBytes
L3908[19:46:01] <diesieben07> I am using that and it works fine
L3909[19:46:07] <olee> diesieben07: I'm using it
L3910[19:46:11] <falkreon> no
L3911[19:46:12] <olee> it's the same as the one from the thread
L3912[19:46:12] *** kroeser is now known as kroeser|away
L3913[19:46:17] <falkreon> you're using the thread's contextclassloader
L3914[19:46:17] <diesieben07> it however requires an obfuscated name
L3915[19:46:20] <falkreon> that's wrong
L3916[19:46:22] <diesieben07> use getClassBytes
L3917[19:46:27] <olee> diesieben07: that's what I tried
L3918[19:46:40] <diesieben07> well, ia m using it, it works fine.
L3919[19:46:40] <luacs1998> !gm Entity.attackEntityFrom 1.7.10
L3920[19:46:42] <Jared> In 1.8.8 what do you use isntead of the Tesselator for vertexes?
L3921[19:46:48] <olee> but getting the obf name was the problem... tried it with FMLDeobfuscatingRemapper, but that failed, too
L3922[19:47:01] <falkreon> williewillus, what I'm asking basically tests that your instanceof EntityItem assumption is correct.
L3923[19:47:25] <diesieben07> olee, what did you try?
L3924[19:47:38] <falkreon> olee, if you pick the wrong classloader you won't get the obf name
L3925[19:47:49] <diesieben07> no no no falkreon
L3926[19:47:56] <diesieben07> you have to pass the obf name, perid
L3927[19:47:57] <diesieben07> period
L3928[19:48:06] <falkreon> yep.
L3929[19:48:37] <diesieben07> olee, i am using this: https://goo.gl/nLaZI4 and it works
L3930[19:48:40] <williewillus> falkreon: it doesn't even get called
L3931[19:48:44] <williewillus> I set a breakpoint on it
L3932[19:48:50] <williewillus> and players, xp orbs, etc. trigger it
L3933[19:48:51] <williewillus> but not items
L3934[19:48:55] <falkreon> williewillus, yuck, breakpoints.
L3935[19:49:00] ⇨ Joins: waterpicker (~waterpick@108-85-62-85.lightspeed.nworla.sbcglobal.net)
L3936[19:49:04] <williewillus> actually xp orbs don't trigger it i think, but mobs do
L3937[19:49:06] <diesieben07> the fuck!!
L3938[19:49:15] <diesieben07> "yuck, breakpoints"???
L3939[19:49:20] <olee> diesieben07: wtf - ASMUtils? nice xD
L3940[19:49:20] <falkreon> yes, you heard me
L3941[19:49:25] <diesieben07> lol
L3942[19:49:39] <olee> that's the info I needed probably - thx :P
L3943[19:49:44] <williewillus> Jared: you use the worldrenderer, what is the old call you had?
L3944[19:49:51] <diesieben07> olee, feel free to use it, it gives you all sorts of info on classes whether loaded or not
L3945[19:49:56] <falkreon> breakpoints are better solved with log lines or visual information :P
L3946[19:49:57] <diesieben07> falkreon, you are insane.
L3947[19:50:04] <diesieben07> the fuck are you talking about man
L3948[19:50:05] <Jared> williewillus, I was using t.addVertexWithUV(-0.8, 0, 0, uMax, vMin);
L3949[19:50:12] <Jared> with t being a Tesselator instance
L3950[19:50:12] <falkreon> but yes, I get called insane a lot
L3951[19:50:15] <diesieben07> you obviously do not understand breakpoitns :P
L3952[19:50:29] <olee> diesieben07: lol that's just the thing I wanted to code - just with one single feature of that detail stuff xD
L3953[19:50:32] <falkreon> I have a built-in disdain for IDE facilities in general.
L3954[19:50:47] <diesieben07> you are not using them correctly then :P
L3955[19:50:51] <diesieben07> embrace the utility!
L3956[19:50:53] <falkreon> I'm not using them at all.
L3957[19:50:59] <falkreon> not the breakpoints.
L3958[19:51:10] <olee> class ASMUtils not found ... is it yours?
L3959[19:51:10] <diesieben07> you should.
L3960[19:51:14] <diesieben07> yes it is
L3961[19:51:15] <falkreon> nah. I'm good.
L3962[19:51:30] <williewillus> Jared: http://pastebin.com/5Z1devtW
L3963[19:51:33] <williewillus> or something similar
L3964[19:51:54] <Jared> williewillus, thanks
L3965[19:51:55] ⇨ Joins: HassanS6000 (~hassa@2602:306:cde1:d700:308c:7050:5094:7a54)
L3966[19:52:07] ⇦ Quits: c233 (~c233@164.40.204.162) (Ping timeout: 195 seconds)
L3967[19:52:14] ⇦ Quits: HassanS6000 (~hassa@2602:306:cde1:d700:308c:7050:5094:7a54) (Client Quit)
L3968[19:52:45] <falkreon> in any case, normally here I'd suspect addCollisionBoxesToList, but you're adding the same boxes for all entities
L3969[19:52:59] ⇨ Joins: c233 (~c233@164.40.199.152)
L3970[19:52:59] <falkreon> the only thing I can think of is that the boxes are too thin
L3971[19:53:06] <falkreon> again, MC collisions
L3972[19:53:14] <falkreon> gotta love em
L3973[19:53:34] ⇨ Joins: HassanS6000 (~Hassan@pool-173-79-220-242.washdc.fios.verizon.net)
L3974[19:53:47] <falkreon> f is 1.16f, which is RIGHT on the edge of MC's ability to handle collisions.
L3975[19:53:51] <falkreon> 1/16f even
L3976[19:54:19] <falkreon> try setting it down to 1/8f. Probably not what's up, but worth a try.
L3977[19:54:47] <williewillus> problem is it works for other entities and in 1.7 0.o
L3978[19:54:48] <falkreon> we're still in the realm of sanity checks. None of this should matter in onEntityCollidedWithBlock
L3979[19:55:08] <williewillus> item/xp orb must have some check that was added
L3980[19:55:17] ⇦ Parts: Vazkii|Streaming (~Vazkii@a79-169-163-74.cpe.netcabo.pt) ())
L3981[19:57:32] <Rockers> I'm getting an exception whenever a chunk unloads with my tileEntity....
L3982[19:57:44] <diesieben07> show the crash
L3983[19:57:54] ⇨ Joins: Hassan (~hassa@2602:306:cde1:d700:308c:7050:5094:7a54)
L3984[19:58:05] <Rockers> It's not a crash persay
L3985[19:58:10] <Rockers> throw new RuntimeException(this.getClass() + " is missing a mapping! This is a bug!");
L3986[19:58:16] *** PaleoCrafter is now known as PaleOff
L3987[19:58:18] <Rockers> ^That's the exception...
L3988[19:58:24] <williewillus> you either didnt register it
L3989[19:58:27] <williewillus> or are not calling super.write
L3990[19:58:27] <diesieben07> you have to register it.
L3991[19:58:41] <Rockers> I'm not calling writeToNBT at all...
L3992[19:59:14] <williewillus> you don't, but in your writeToNBT you need to call the superclass one
L3993[19:59:31] ⇦ Quits: sinkillerj (~sinkiller@nc-71-49-179-31.dhcp.embarqhsd.net) (Quit: Leaving)
L3994[19:59:34] <Rockers> I mean, I'm not overriding that function
L3995[19:59:42] <diesieben07> did you register your TE?
L3996[20:00:01] <Rockers> No -_-
L3997[20:00:04] <williewillus> heh
L3998[20:00:05] ⇦ Parts: olee (~olee@2a01:4f8:150:70c2::2) (Once you know what it is you want to be true, instinct is a very useful device for enabling you to know that it is))
L3999[20:00:25] <Rockers> It has been registered now
L4000[20:00:33] <williewillus> i tested the mana pool wih onLanded (another callback) and it seems like it triggers only when the item brushes past hte edge of the block
L4001[20:00:42] <williewillus> if I drop it directly on the pool it doesnt trigger 0.o
L4002[20:01:39] <williewillus> what the actual fuck
L4003[20:01:41] ⇦ Quits: waterpicker (~waterpick@108-85-62-85.lightspeed.nworla.sbcglobal.net) (Ping timeout: 190 seconds)
L4004[20:01:49] *** TehNut is now known as TehNut|Gone
L4005[20:02:46] <falkreon> willie, weird.
L4006[20:02:59] <falkreon> I'm poring over the 1.8 collision code right now, it'll take me a bit
L4007[20:03:31] <williewillus> I didn't try it in 1.8.0 since the port wasn't compiling before I moved to 1.8.8 but this is too weird
L4008[20:04:52] <williewillus> if you're in 1.8.0 can you try putting the exact bounding boxes as the mana pool and see if it triggers?
L4009[20:04:57] <williewillus> i deleted my 1.8.0 workspaces :p
L4010[20:05:24] <falkreon> this is so weird
L4011[20:05:32] <falkreon> there's an onGround check now?
L4012[20:06:00] <williewillus> are you doing vs 1.7 or 1.8.0?
L4013[20:06:34] <falkreon> I'm looking at 1.8....ummm lemme check
L4014[20:06:43] <falkreon> 1.8.8
L4015[20:07:33] <falkreon> net.minecraft.entity.Entity L811
L4016[20:08:18] <williewillus> yeah xp orbs definitely don't trigger it either
L4017[20:08:29] <falkreon> it may be because they're never onGround
L4018[20:08:47] <falkreon> xp orbs specifically.
L4019[20:08:57] <falkreon> that one check seems bizarre to me
L4020[20:08:58] <williewillus> wait I have an idea
L4021[20:09:17] <williewillus> yup that's it
L4022[20:09:27] <falkreon> hm?
L4023[20:09:28] <williewillus> Entity.canTriggerWalking is now checked
L4024[20:09:38] <williewillus> welp
L4025[20:09:47] <falkreon> try onLanded
L4026[20:09:55] <falkreon> that's more semantically what you're looking for anyway
L4027[20:10:07] <falkreon> you're chucking items into the mana pool so that they'll land on it
L4028[20:10:07] <williewillus> onLanded only triggers if I manages to ride it on the lip of the mana pool
L4029[20:10:15] <williewillus> if I throw it straight down nothing happens
L4030[20:10:24] ⇦ Quits: theGliby (theGliby@85.254.158.175) (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
L4031[20:10:25] <falkreon> weird.
L4032[20:10:26] <falkreon> oh
L4033[20:10:31] <falkreon> tell you what
L4034[20:10:41] <falkreon> try something extremely strange:
L4035[20:10:49] <williewillus> wait my mana pool doesn't trigger if I'm standing right in the middle
L4036[20:10:54] <williewillus> am I missing a bottom collision box?
L4037[20:11:08] <falkreon> no, that collision box exists, but it's 1/16th of a meter
L4038[20:11:19] <falkreon> I don't find those thicknesses to be reliable
L4039[20:11:40] <falkreon> but you can conditionally set the collision boxes based on the entity passed in
L4040[20:11:40] <williewillus> it also doesn't trigger if I'm sneaking lol, wtf mojang
L4041[20:12:23] <falkreon> try this strange thing: if, on addCollisionBoxesToList, you find that the entity instanceof ItemEntity, return one slab-like bounding box
L4042[20:12:38] <falkreon> the mana pool is 0.5 high at the walls
L4043[20:13:04] <falkreon> what that'll do is simplify the collision box for items and guarantee that the collision will happen onto the top surface.
L4044[20:13:14] <falkreon> then you can use onLanded much more reliably.
L4045[20:13:41] <falkreon> (otherwise maybe it's colliding horizontally into the walls, meaning onLanded isn't called)
L4046[20:13:58] ⇦ Quits: Cojo (~Cojo@2606:a000:1126:8048:e4d7:87ac:828d:38fb) (Ping timeout: 192 seconds)
L4047[20:14:19] <williewillus> yeah that seems to be more reliable
L4048[20:14:21] <falkreon> it'll also trigger the collision much earlier.
L4049[20:14:31] <williewillus> why did they muck around with the collisions >.<
L4050[20:14:38] <falkreon> because they're bad.
L4051[20:14:40] <falkreon> :D
L4052[20:15:04] <falkreon> I fully support relentlessly experimenting with a bad thing until it becomes not bad.
L4053[20:15:37] <williewillus> well it's also since mc doesn't have a real physics engine :p
L4054[20:15:43] <williewillus> everything is hardcoded
L4055[20:15:56] <williewillus> the gravitational constant is some arbitrary local variable in the entity's onUpdate :p
L4056[20:16:06] <falkreon> and may mc never, ever *ever* get a "real" physics engine
L4057[20:16:41] <falkreon> I can't imagine mojang trying to figure out how to make that deterministic and sync state over TCP
L4058[20:17:00] <williewillus> gliby seemed to have no problem doing it :p
L4059[20:17:10] <williewillus> though I think he opened a separate network stream to sync lol
L4060[20:17:13] <falkreon> gliby?
L4061[20:17:46] <killjoy> port mc to source?
L4062[20:17:47] <williewillus> he made a realistic physics mod for mc using bullet :p
L4063[20:17:56] <killjoy> or implement source in mc?
L4064[20:18:01] <williewillus> he used to hang around here, maybe he got busy
L4065[20:19:39] ⇨ Joins: Reika (~Reika@reika.kalseki.mods.abrarsyed.me)
L4066[20:19:50] <gigaherz> killjoy: MC recreated in Source engine? with Java bindings for mod compat? that'd probably be "fun" to make ;P
L4067[20:20:00] <gigaherz> * for certain definitions of "fun"
L4068[20:21:21] <falkreon> hm. I'd like to see how that stress-tests
L4069[20:21:25] <falkreon> in a server env
L4070[20:21:49] <falkreon> plus, A+ job compared to potential Mojang imp's
L4071[20:21:55] <williewillus> i can't find any videos on his twitter, lemme check youtube
L4072[20:22:01] <williewillus> yeah he had to use udp
L4073[20:22:02] <williewillus> :p
L4074[20:22:02] <gigaherz> well someone managed to run MC server on top of IKVM (JVM layer on top of .NET) and it was just so much faster
L4075[20:22:09] <gigaherz> so who knows
L4076[20:22:28] <gigaherz> (that was ages ago though, dunno how different mc server is now, or Java8 vs Java7)
L4077[20:22:51] <williewillus> really
L4078[20:23:03] <williewillus> I tried running mc on ikvm a couple years ago and it failed spectacularly
L4079[20:23:07] <gigaherz> *server*
L4080[20:23:07] <williewillus> falkreon: https://www.youtube.com/user/TheGlibyHead/videos first five vids
L4081[20:23:10] <williewillus> oh lol
L4082[20:23:14] <gigaherz> the client didn't quite work ;P
L4083[20:23:16] <falkreon> yeah, I'm on his youtube
L4084[20:23:56] <gigaherz> williewillus: https://www.reddit.com/r/Minecraft/comments/g1dbb/running_the_minecraft_server_using_ikvm_instead/
L4085[20:24:38] <gigaherz> so yeah recreating the whole server in another language would be... annoying at best
L4086[20:24:53] <gigaherz> but for large servers, it would have potential for being a big breakthrough
L4087[20:25:09] <gigaherz> modding though....
L4088[20:25:43] <gigaherz> but yeah
L4089[20:25:44] * gigaherz looks at the topic
L4090[20:26:34] <williewillus> i wonder how it works, just a straightforward redirect of standard libraries?
L4091[20:26:39] <williewillus> or does it try other optimizations
L4092[20:27:07] ⇦ Quits: DRedAway (~dredhorse@p54B0E210.dip0.t-ipconnect.de) (Ping timeout: 195 seconds)
L4093[20:27:21] <gigaherz> no forwarding
L4094[20:27:33] <gigaherz> it actually implements the class library directly in .NET code
L4095[20:27:53] <williewillus> it would be cool if they could do stuff like convert small data classes to structs
L4096[20:28:01] <williewillus> no more blockpos thrashing the heap
L4097[20:28:16] <williewillus> it's pretty bad no matter what people say about small objects being easy to reclaim
L4098[20:28:19] <gigaherz> ask Oracle to implement that in the JVM?
L4099[20:28:21] <gigaherz> something like
L4100[20:28:34] <williewillus> it probably does do that to a limited extent
L4101[20:28:36] <gigaherz> empirically convert immutables to stack-allocated copy-semantics
L4102[20:28:52] ⇦ Quits: Rockers (rockers300@host213-121-16-55.webport-cl2-hg5.ilford.mdip.bt.net) (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
L4103[20:29:30] ⇨ Joins: DRedhorse (~dredhorse@p4FFBA1A5.dip0.t-ipconnect.de)
L4104[20:29:46] <gigaherz> the only flaw with that would be reference equality
L4105[20:30:04] <falkreon> they're tackling that
L4106[20:30:07] <falkreon> again, valhalla
L4107[20:30:14] ⇦ Quits: HassanS6000 (~Hassan@pool-173-79-220-242.washdc.fios.verizon.net) (Read error: Connection reset by peer)
L4108[20:30:17] <gigaherz> unless the reference was assigned on "new" and carried over
L4109[20:30:18] <williewillus> if you enforced immutability then the difference between == equals() becomes irrelevant
L4110[20:30:37] ⇨ Joins: HassanS6000 (~Hassan@pool-173-79-220-242.washdc.fios.verizon.net)
L4111[20:30:47] <gigaherz> well only if you enforce a single instance with the same value
L4112[20:30:48] <falkreon> they're going to add freezable values and real final fields
L4113[20:30:58] <falkreon> reference equality is actually a bad idea
L4114[20:31:01] <falkreon> apparently
L4115[20:31:01] <williewillus> falkreon: has anything actually happened in the last few months?
L4116[20:31:07] <williewillus> the mailing list has been pretty dead :/
L4117[20:31:30] <gigaherz> http://weblog.ikvm.net/2014/12/01/RunningMinecraftOnIKVMNET.aspx
L4118[20:31:31] <gigaherz> hmmm
L4119[20:31:41] <gigaherz> someone got the demo running in ikvm last year?
L4120[20:31:54] <gigaherz> that's 1.8.1 in the screenshot
L4121[20:32:01] <gigaherz> now I wonder
L4122[20:32:03] <williewillus> whoah
L4123[20:32:05] * gigaherz gets ikvm
L4124[20:32:33] <williewillus> I'm assuming things like ASM still work or no?
L4125[20:33:10] <gigaherz> no idea
L4126[20:33:37] <gigaherz> I doubt it, though, but who knows
L4127[20:33:54] <williewillus> but doesnt the vanilla launcher/LCL use asm to inject stuff?
L4128[20:34:00] <gigaherz> if the ikvm converts the clases from bytecode to CIL on load
L4129[20:34:13] <gigaherz> maybe that's what they implemented between 2011 and 2014
L4130[20:34:20] <gigaherz> I got the latest development snapshot for ikvm
L4131[20:34:27] <gigaherz> which they published in august this year
L4132[20:37:07] <gigaherz> loading launcher...
L4133[20:37:29] <gigaherz> loading mc 1.8.9 (vanilla) ...
L4134[20:38:07] <gigaherz> main menu
L4135[20:38:19] <gigaherz> creating world...
L4136[20:38:32] <gigaherz> building terrain...
L4137[20:38:37] <gigaherz> downloading terrain
L4138[20:38:59] ⇨ Joins: Shuetox (~Shuetox@c83-255-59-49.bredband.comhem.se)
L4139[20:39:03] <gigaherz> that was laggy
L4140[20:39:04] <gigaherz> XD
L4141[20:39:09] <williewillus> lol
L4142[20:39:16] <williewillus> see if you can get to an MP server
L4143[20:39:31] <williewillus> or minecraftforge
L4144[20:39:45] <Shuetox> Is there a way to apply a color multiplier to the overlay part of textures in 1.8?
L4145[20:39:47] <gigaherz> I'm in Hypixel
L4146[20:39:51] <gigaherz> ;P
L4147[20:40:06] <gigaherz> it's niceenough
L4148[20:40:14] <gigaherz> the lag was when I broke the first block on SP
L4149[20:40:58] <gigaherz> Ican see other players and such
L4150[20:41:02] <gigaherz> so far as I can tell, this is working
L4151[20:41:09] <williewillus> try forge ;p
L4152[20:41:21] <williewillus> Shuetox: what d you mean overlay part?
L4153[20:42:00] ⇦ Quits: Lothendal (~Lothendal@ip5b42d1b2.dynamic.kabel-deutschland.de) (Quit: leaving)
L4154[20:42:23] <gigaherz> Shuetox: MC has layers for textures such as the monster eggs where each layer has a different color, those ARE color multipliers (tints)
L4155[20:42:34] <gigaherz> if you mean instead, the enchant effect
L4156[20:42:38] <gigaherz> I don't think that's customizable
L4157[20:42:49] <williewillus> ohhh in block models you can specify tintindex
L4158[20:42:54] <williewillus> and that's the render pass that will be tinted
L4159[20:43:17] <williewillus> use submodels along with a tinted block model if you want just one part to be tinted
L4160[20:43:27] <williewillus> or multimodels, dpeneding on your usecase
L4161[20:43:34] <gigaherz> nope williewillus, no luck with forge 1.8, at least not with a bunch of mods in it
L4162[20:43:38] <williewillus> heh
L4163[20:43:43] <williewillus> asm crash?
L4164[20:43:51] <gigaherz> InvocationTargetException
L4165[20:44:02] <gigaherz> in CCC
L4166[20:44:10] <gigaherz> no wait
L4167[20:44:10] <williewillus> oh lol of course
L4168[20:44:11] <gigaherz> that's a warning
L4169[20:44:19] <gigaherz> invtweaks?
L4170[20:44:28] <Shuetox> i kinda wanna do what grass does but not the entire texture
L4171[20:45:00] <gigaherz> removed invtweaks
L4172[20:45:03] <gigaherz> let's see... XD
L4173[20:45:15] <Herpahermaderp> k guys, reg MC runs fine, when trying to run it through Eclipse I get a "Pixel format not accelerated" error, any ideas?
L4174[20:45:27] <gigaherz> loaded :D
L4175[20:45:39] <gigaherz> wait what
L4176[20:45:53] <gigaherz> that was not the right profile XD
L4177[20:45:57] <gigaherz> that was the optifine one XD
L4178[20:46:05] <williewillus> Herpahermaderp: does normal mc work?
L4179[20:46:13] <williewillus> make sure it's not trying to run on an integrated card or something
L4180[20:46:18] <gigaherz> (vanilla+optifine, I had it to avoid the opengl crash with the previous gpu)
L4181[20:47:00] <Herpahermaderp> Normal MC run through the launcher (unmodded) works, running it through Eclipse does not. I only have integrated atm
L4182[20:47:09] <falkreon> ew.
L4183[20:47:15] <williewillus> Shuetox: look as the vanilla grass model in models/block/grass.json, it specifies tintindex which tells mc "call colorMultiplier on this model for for this renderpass"
L4184[20:47:17] <Herpahermaderp> yeah I know
L4185[20:47:29] <williewillus> and use multimodels to mix it with another model
L4186[20:47:45] <falkreon> not sure you're going to get anywhere with that. good luck though.
L4187[20:47:57] <Shuetox> Thanks willie
L4188[20:48:44] <gigaherz> nah williewillus, evne a clean profile with forge 1.8.8 has the same issue. IKVM doesn't like whatever forge does XD
L4189[20:49:20] <williewillus> aw would've been an interesting experiment
L4190[20:49:34] <williewillus> though I bet the older forges that shipped mojang classes might've run (tekkit classic, etc)
L4191[20:49:45] <gigaherz> http://weblog.ikvm.net/default.aspx?month=2015-08
L4192[20:49:48] <gigaherz> feel free to try ;P
L4193[20:50:10] <williewillus> wow ikvm isn't in the AUR
L4194[20:50:18] <gigaherz> AUR?
L4195[20:50:19] <williewillus> i think this is the first time I haven't found something in there :p
L4196[20:50:23] <williewillus> Arch User Repository
L4197[20:50:30] <williewillus> the unofficial repos where everyone packages everything
L4198[20:51:10] <williewillus> usually it has every single package you could ever think of... it's failed me D:
L4199[20:51:16] <williewillus> i'll try in windows :p
L4200[20:52:31] <williewillus> oh it's just unzip and run :p
L4201[20:53:07] ⇦ Quits: Herpahermaderp (Herpaherma@216.196.92.69) (Read error: Connection reset by peer)
L4202[20:53:20] <williewillus> guy's file server is slow as hell
L4203[20:53:38] ⇦ Quits: gigaherz (gigaherz@80.30.37.219) (Ping timeout: 192 seconds)
L4204[20:53:42] ⇨ Joins: gigaherz_n (~gigaherz@80.30.37.219)
L4205[20:53:45] <gigaherz_n> geh
L4206[20:53:50] <gigaherz_n> [03:50] (williewillus): wow ikvm isn't in the AUR
L4207[20:53:50] <gigaherz_n> [03:50] (gigaherz): AUR?
L4208[20:53:51] <gigaherz_n> [03:50] * Disconnected
L4209[20:54:09] <williewillus> <williewillus> i think this is the first time I haven't found something in there :p
L4210[20:54:09] <williewillus> <williewillus> Arch User Repository
L4211[20:54:09] <williewillus> <williewillus> the unofficial repos where everyone packages everything
L4212[20:54:09] <williewillus> <williewillus> usually it has every single package you could ever think of... it's failed me D:
L4213[20:54:09] <williewillus> <williewillus> i'll try in windows :p
L4214[20:54:10] <williewillus> <williewillus> oh it's just unzip and run
L4215[20:54:11] <williewillus> :p
L4216[20:54:22] ⇨ Joins: Cojo (~Cojo@2606:a000:1126:8048:83f:317e:b10d:75a5)
L4217[20:54:33] <gigaherz_n> oh, yeah
L4218[20:54:52] <H1N1theI> williewillus: AUR, still better than hunting down rogue ebuilds.
L4219[20:54:58] <gigaherz_n> you unpack, add to PATH, then do ikvm -jar
L4220[20:55:01] <gigaherz_n> as if you used the jvm
L4221[20:55:02] <gigaherz_n> XD
L4222[20:55:21] <williewillus> how does it package all of mono and a jre into 20M? :p
L4223[20:55:27] <williewillus> or is mono a dep
L4224[20:55:28] <gigaherz_n> ?
L4225[20:55:38] <gigaherz_n> does it not run on top of microsoft's .net framework?
L4226[20:55:48] <williewillus> it says linux supported so :p
L4227[20:55:58] <williewillus> mono is an OSS impl of .net
L4228[20:56:30] ⇨ Joins: gigaherz_n_p (gigaherz@80.30.37.219)
L4229[20:56:35] <williewillus> lol
L4230[20:56:36] <gigaherz_n_p> wtf
L4231[20:56:40] *** gigaherz_n_p is now known as gigaherz
L4232[20:56:50] <gigaherz> [03:56] (gigaherz_n): you may need to do
L4233[20:56:50] <gigaherz> [03:56] (gigaherz_n): mono ikvm -jar ... XD
L4234[20:57:20] <gigaherz> no diea if linux has any "exe launcher" that can redirect .exe files to mono
L4235[20:57:23] <gigaherz> idea*
L4236[20:57:38] <gigaherz> I know WINE has one
L4237[20:57:46] <gigaherz> but I presume that only works when you try to run a .exe in wine
L4238[20:59:12] ⇦ Quits: gigaherz_n (~gigaherz@80.30.37.219) (Ping timeout: 195 seconds)
L4239[20:59:39] *** fry|sleep is now known as fry
L4240[20:59:46] <williewillus> but their page says you can just exec ikvm in the folder but there is no unix ikvm there :p, strange
L4241[21:00:31] <H1N1theI> williewillus: Did you build it, or is it a binary distribution?
L4242[21:00:40] <gigaherz> williewillus: they do however have a source package
L4243[21:00:48] <gigaherz> maybe the actual ikvm, the 7.x and older
L4244[21:00:50] <gigaherz> did have linux builds
L4245[21:01:01] <gigaherz> but the author just hasn't bothered releasing snapshots of v8?
L4246[21:01:38] <williewillus> yeah, I'm gonna reboot into windows and see if I can run tekkit classic in ikvm, curious
L4247[21:01:40] <williewillus> brb
L4248[21:02:06] <gigaherz> k
L4249[21:02:13] *** williewillus is now known as willieaway
L4250[21:06:12] *** Vigaro is now known as Vigaro|AFK
L4251[21:06:31] ⇦ Quits: PrinceCat (~PrinceCat@124.148.29.106) (Quit: My Mac has gone to sleep. ZZZzzz…)
L4252[21:06:32] ⇨ Joins: xaero (xaero@the.flying.dutchman.panicbnc.net)
L4253[21:08:20] ⇨ Joins: SatanicSanta (~SatanicSa@c-76-115-175-15.hsd1.or.comcast.net)
L4254[21:10:52] *** willieaway is now known as williewillus
L4255[21:14:06] <williewillus> gigaherz, https://gyazo.com/70051d6188d4e3f54edf580e1ee0e23f
L4256[21:14:33] ⇨ Joins: PrinceCat (~PrinceCat@124.148.29.106)
L4257[21:15:04] <williewillus> magical
L4258[21:15:10] <williewillus> let's try 1.4 though I doubt it'll work
L4259[21:15:59] <williewillus> though it might just be launching a java xD
L4260[21:16:03] <williewillus> whatever too lazy to try
L4261[21:16:38] <gigaherz> XD
L4262[21:18:35] <gigaherz> and heh, so many models that haven't really changed much since 1.2.5 ;P
L4263[21:19:38] <williewillus> basically every logic gate model came from eloraam which came from vanilla :p
L4264[21:20:15] <williewillus> oh I think I got multimc to launch ikvm
L4265[21:20:21] ⇦ Quits: Shuetox (~Shuetox@c83-255-59-49.bredband.comhem.se) (Read error: Connection reset by peer)
L4266[21:20:23] <williewillus> let's add some 1.2 mods here :p
L4267[21:20:31] <gigaherz> XD
L4268[21:22:29] <williewillus> im expecting 1.2 and 1.4 forge alone to work since those still shipped mojang classes
L4269[21:22:39] <williewillus> but 1.4 mods might be iffy because modders discovered the horror that is asm :p
L4270[21:23:48] <williewillus> oh boo lwjgl crashes
L4271[21:24:02] ⇨ Joins: calclavia (uid15812@richmond.irccloud.com)
L4272[21:24:54] <williewillus> hm a bunch of vanilla old versions crash from lwjlg but not 1.8
L4273[21:25:28] <gigaherz> heh
L4274[21:25:39] <williewillus> 1.6/7 are fine as well but 1.5- are rip
L4275[21:25:49] <gigaherz> XD
L4276[21:26:29] <williewillus> wow MinecraftForge 1.6.4 is up
L4277[21:28:07] <williewillus> oh god look I have ALL THE RAM: https://gyazo.com/2f1c75bd49b0090d25e290eb9b4d0f0c
L4278[21:28:40] <gigaherz> yeah I saw that in 1.8 xD
L4279[21:29:02] <williewillus> okay launching dw20 1.6
L4280[21:30:32] <williewillus> awww
L4281[21:31:53] <gigaherz> I loaded vanilla 1.8.9 in both,
L4282[21:32:05] <gigaherz> jvm one is 232fps, ikvm one is 31fps
L4283[21:32:26] <gigaherz> I blame it on ikvm having to emulate JNI ;P
L4284[21:32:55] <gigaherz> nicely enough, the RNG seems to actually work the same ;P
L4285[21:33:03] *** williewillus is now known as willieaway
L4286[21:33:32] *** willieaway is now known as williewillus
L4287[21:35:15] ⇦ Quits: Hassan (~hassa@2602:306:cde1:d700:308c:7050:5094:7a54) (Read error: Connection reset by peer)
L4288[21:35:24] <gigaherz> put myself into a 1x1x1 hole, 1023 fps on jvm, 207fps on ikvm
L4289[21:35:45] <gigaherz> yeah looks like the mc client does not really get an advantage from running on ikvm
L4290[21:36:08] <gigaherz> however, the IKVM process uses a bit less ram
L4291[21:36:15] <gigaherz> 870mb vs 934mb
L4292[21:36:32] ⇨ Joins: Hassan (~hassa@2602:306:cde1:d700:308c:7050:5094:7a54)
L4293[21:37:16] <gigaherz> reloaded the game, and now javaw is lower
L4294[21:37:20] <gigaherz> hmm funny ;P
L4295[21:38:22] <fry> looking at the total process memory in a GC language is meaningless
L4296[21:38:52] <gigaherz> yeah, the 2011 article spoke about ikvm using half the ram in a server after a whole bunch of player joining
L4297[21:38:57] <gigaherz> so I was curious
L4298[21:39:00] <gigaherz> but it's the same content
L4299[21:39:15] <gigaherz> there could have been a tiny bit of difference due to object storage overhead
L4300[21:39:18] <williewillus> i just want our value types >.<
L4301[21:39:33] <gigaherz> but it's still roughly the same number of objects being created and GCd
L4302[21:39:34] <williewillus> primitive generics isn't even that important gimme structs
L4303[21:40:41] <gigaherz> yeah valuetype semantics would be nice
L4304[21:40:41] <gigaherz> but
L4305[21:41:01] <gigaherz> without "primite generics", you'd end up with boxed references in lists and such?
L4306[21:41:07] <killjoy> I really wish mc came with httpclient-mime
L4307[21:41:18] <gigaherz> primitive*
L4308[21:41:26] <gigaherz> I guess it still works out
L4309[21:42:58] <DrDisconsented> shadekiller666> Am I meant to be able texture .obj's externally (within a blockstate.json) or am I better off doing the textures in blender? (Repo: https://github.com/disconsented/Cristalllum)
L4310[21:43:10] <williewillus> anything that improves the "thrash several million blockpos every 3 seconds" that happens right now :p
L4311[21:43:26] <williewillus> yes, the vm is good at collecting young objects, but still :p
L4312[21:44:29] <gigaherz> it's not just the collecting, whenever it detects many instances of the same class, the vm should just internally choose to use a pool instead of just taking bits off a heap
L4313[21:45:17] <shadekiller666> DrDisconsented, the obj loader will read .mtl files as well, inside the .mtl, the command that points to the texture path is "map_Kd", "map_Ka", or "map_Ks" and should point to "modid:blocks/texture.png" or "modid:items/texture.png", depending on where the texture is located in your textures/ folder
L4314[21:45:35] *** mr208 is now known as mallrat208
L4315[21:45:36] <williewillus> do particles in 1.8 get culled differently?
L4316[21:45:50] <williewillus> botania has this block that lights up the night sky with lots of faraway particles but they don't show up anymore
L4317[21:46:24] <shadekiller666> so it doesn't really matter if you apply the texture in blender, as long as an mtl is referenced, in fact the path that blender will make map_Kx point to will almost definitely have to be changed by hand (you can open .obj and .mtl files in a text editor)
L4318[21:46:53] <Soni> williewillus, beacons or something?
L4319[21:47:08] <williewillus> the starfield
L4320[21:47:19] <williewillus> but yeah the beacon acts weird as well
L4321[21:47:22] <shadekiller666> it is possible to change textures that are assigned to materials from within the blockstate json, but that doesn't allow you any way to define what faces get what material applied, so you want to use an mtl
L4322[21:47:42] <Soni> williewillus, hmm I don't think a lot changed between 1.7.10 particles and 1.8.8 particles
L4323[21:48:04] <Soni> altho I do know there'll be huge particle changes between 1.8.8 and 1.9
L4324[21:48:10] <shadekiller666> for the obj loader to find the mtl, the "mtllib" command in the .obj points to it
L4325[21:48:19] <williewillus> it wasn't "huge"
L4326[21:48:28] <williewillus> they're simply not entities anymore :p
L4327[21:48:30] <Soni> williewillus, any idea which particle it's based on?
L4328[21:48:45] <williewillus> ? botania has custom particle classes
L4329[21:48:45] ⇦ Quits: PrinceCat (~PrinceCat@124.148.29.106) (Quit: My Mac has gone to sleep. ZZZzzz…)
L4330[21:49:00] <gigaherz> they are still technically entities, just not inheriting from Entity, iirc?
L4331[21:49:05] <williewillus> yeah
L4332[21:49:08] <Soni> yes but the code comes from somewhere
L4333[21:49:17] <williewillus> Soni: vaz wrote it himself?
L4334[21:49:20] <gigaherz> they didn't do like big game engines and implement ... oh wait Java doens't have valuetypes so having an array-of-structs would be useless
L4335[21:49:32] <williewillus> primitive arrays :p
L4336[21:49:50] <Soni> most code in minecraft mods come from vanilla code, especially if they're related to vanilla somehow (e.g. particles)
L4337[21:49:59] <williewillus> you don't know what you're saying >.>
L4338[21:50:07] <shadekiller666> if that line looks like "mtllib name.mtl", the loader will look in the same folder for "name.mtl" as the .obj file is located, otherwise you want it to be "modid:<folder in models/>/.../name.mtl" where ... is any intermediate folders, i recommend just keeping the .obj and .mtl files together
L4339[21:50:20] <williewillus> or I don't get what you're getting at
L4340[21:50:21] <gigaherz> yeah you'd need a particleX/Y/Z/RX/RY/RZ/SX/SY/SZ/VX/VY/VZ/...
L4341[21:50:22] <shadekiller666> and naming them the same, which should be handled by blender
L4342[21:50:33] <gigaherz> valuetypes sound nicer ;P
L4343[21:50:58] *** Jared is now known as Jared|Away
L4344[21:51:43] <Soni> williewillus, I made my mod based on /playsound and /particle and the noteblock code. even tho yes I made it myself, you can look at how those work in case it breaks, and adapt/update
L4345[21:52:57] <Soni> so, if some of the botania particle code comes from vanilla, you could look into that specific part to figure out what changed
L4346[21:53:26] <williewillus> none of it comes from vanilla
L4347[21:54:02] <DrDisconsented> So really the easiest thing to do is just do it all within blender rather than blockstates correct?
L4348[21:55:49] <gigaherz> DrDisconsented: just assign the defaults directly in blender or whatever, and if you need to replace textures you can use the blockstates file to change them from the default
L4349[21:57:00] <shadekiller666> DrDisconsented, yes
L4350[21:57:46] <shadekiller666> giga, hes still going to need to change the path that "map_Kx" points to, as the obj loader is expecting a resource location
L4351[21:58:45] <gigaherz> ah I thought you could write in that path directly in blender somehow ;P
L4352[21:59:15] <DrDisconsented> Okay so I just added in "map_Ka cristallum:blocks/green"(to the .mtl) and that loads the texture in fine, would I just create map_Kb.., map_Kc... for the other textures?
L4353[21:59:22] ⇦ Quits: H1N1theI (~h1n1thei@2601:5c2:8100:5898:daeb:97ff:fee9:f781) (Ping timeout: 192 seconds)
L4354[21:59:30] <shadekiller666> no
L4355[21:59:30] <gigaherz> nono
L4356[21:59:37] <gigaherz> map_Kd is for diffuse color
L4357[21:59:42] <gigaherz> map_Ka for ambient color
L4358[21:59:47] <gigaherz> map_Ks for specular color
L4359[21:59:52] <shadekiller666> in fact you should use map_Kd, as thats the "default" that the obj loader expects
L4360[21:59:56] <gigaherz> minecraft doesn't REALLY do ambient or specular
L4361[22:00:01] <gigaherz> so the right one would be map_Kd
L4362[22:00:16] <shadekiller666> to add other textures you need other materials
L4363[22:00:16] <DrDisconsented> Ah so new material for each texture then?
L4364[22:00:19] <gigaherz> yup
L4365[22:00:20] <shadekiller666> mhmm
L4366[22:00:29] <shadekiller666> however
L4367[22:01:17] <shadekiller666> you should apply all materials to your model from within blender, because the .obj file has "usemtl" commands that are used to specify what faces of the model get each material
L4368[22:01:50] <shadekiller666> and i'm pretty sure you don't want to go through by hand trying to find the "f" lines that each material is supposed to be applied to :P
L4369[22:02:20] <shadekiller666> if you apply multiple materials in blender it will spit out an mtl with the correct number of "newmtl" lines
L4370[22:03:02] <gigaherz> DrDisconsented: really, just assign the textures from blender using the normal paths, then fixup the mtl file afterward
L4371[22:03:03] <gigaherz> ;P
L4372[22:03:10] <DrDisconsented> cool :)
L4373[22:03:39] <williewillus> is tabula on 1.8.8?
L4374[22:03:57] <gigaherz> site says .0
L4375[22:04:01] <DrDisconsented> What limits are there on the shaders I can use?
L4376[22:04:26] <gigaherz> you "can't"
L4377[22:04:49] <gigaherz> unless you want to inject lots of hacks into the rendering code
L4378[22:05:00] <DrDisconsented> Yeah no thank you
L4379[22:05:01] <gigaherz> you should stick to basic materials with just diffuse lighting
L4380[22:05:23] <gigaherz> no idea what blender calls those
L4381[22:05:41] <DrDisconsented> I was going to go with some transparancy but then I noticed that it seems to be rather expensive (I.E. 300fps -> 7fps)
L4382[22:06:09] <shadekiller666> transparency is supported (i hope, haven't actually tested that)
L4383[22:06:13] <gigaherz> shouldn't be THAT expensive
L4384[22:06:26] <DrDisconsented> Well I managed to have 99% of the render time taken up with culling
L4385[22:06:32] <DrDisconsented> when I disabed transpancy.. gone
L4386[22:06:33] <gigaherz> o_O
L4387[22:06:37] <shadekiller666> in what version?
L4388[22:06:41] <gigaherz> just how many thousands of block did you use?
L4389[22:06:50] <DrDisconsented> 11.15.0.1650-1.8.8
L4390[22:06:59] <shadekiller666> O.o hmm
L4391[22:07:10] <DrDisconsented> http://puu.sh/maWXA/1bafc3a93d.jpg
L4392[22:07:12] <gigaherz> I have a translucent "dustcloud" block in my magic mod
L4393[22:07:26] <gigaherz> and I don't really notice any slowdown that I can't attribute to block update computations
L4394[22:08:56] <gigaherz> hmm... they are relatively complex, I'm not sure how the transparency stuff works
L4395[22:09:01] <gigaherz> but if it's sorting them...
L4396[22:09:12] ⇦ Quits: Lathanael|Away (~Lathanael@p5496075A.dip0.t-ipconnect.de) (Ping timeout: 195 seconds)
L4397[22:09:32] <gigaherz> lol
L4398[22:09:33] <gigaherz> okay
L4399[22:09:38] <gigaherz> how do I uninstall a plugin from idea?
L4400[22:09:54] <gigaherz> the markdown one I installed just popped a screen saying there's an enhanced version ready to buy
L4401[22:10:28] <shadekiller666> plugin manager
L4402[22:10:43] ⇨ Joins: Lathanael|Away (~Lathanael@p549612E9.dip0.t-ipconnect.de)
L4403[22:10:48] <gigaherz> foundit
L4404[22:10:53] <gigaherz> byebye freemium plugin
L4405[22:11:04] <shadekiller666> transparency in the obj loader is handled via fry's fancy light system overhaul thing
L4406[22:11:11] <shadekiller666> LightUtil or whatever
L4407[22:11:22] <DrDisconsented> Hmm ill try to repoduce it then push
L4408[22:11:29] <shadekiller666> and baked into the long array of vertex data that everything else gets baked into
L4409[22:13:18] <DrDisconsented> Welp I can't repoduce it atm, so I don't have a clue what I did wrong
L4410[22:13:31] <gigaherz> there we go, the one from jetbrains doesthe job, BETTER and no nagging screens ;P
L4411[22:13:48] <gigaherz> and it has a live preview panel ;O
L4412[22:14:26] <fry> a lot of faces in TRANSLUCENT layer will give noticable performance slowdown, due to them being sorted on the CPU
L4413[22:14:56] <gigaherz> thought so
L4414[22:16:45] <DrDisconsented> Hmm blender only wants to export the one material. Even with 3 slots
L4415[22:20:14] <gigaherz> DrDisconsented: I have no idea how that works in blender, but in rhino, I had to actually split the faces into separate objects, assign materials, and then export with each sub-object still separate
L4416[22:21:16] <DrDisconsented> https://gist.github.com/disconsented/333f321f22b1884ec436 anything to worry about?
L4417[22:21:35] <gigaherz> I don't think so
L4418[22:22:05] <fry> ultimate doom of human existence, or smth like that
L4419[22:22:23] <gigaherz> wastefulness? well it will be our doom.
L4420[22:23:00] <gigaherz> but I doubt minecraft will be the deciding factor ;P
L4421[22:23:13] <gigaherz> * N years later *
L4422[22:23:16] ⇦ Quits: auenfx4 (David@120.155.97.223) (Remote host closed the connection)
L4423[22:23:26] <DrDisconsented> Woo stutter on 170 fps
L4424[22:23:28] <gigaherz> "Shit, if it hadn't been for that damned Minecraft game..."
L4425[22:23:43] <gigaherz> stutter?
L4426[22:24:05] <gigaherz> are there a "lot" of blocks being created and destroyed by any chance?
L4427[22:24:14] ⇨ Joins: auenfx4 (David@120.155.97.223)
L4428[22:24:28] <DrDisconsented> nope
L4429[22:24:45] <gigaherz> oaky then it's not the same issue that has been annoying me since I updated to 1.8.8 forge
L4430[22:25:32] <DrDisconsented> http://puu.sh/maXPi/3c6773d045.jpg 86% gameRender
L4431[22:26:09] <gigaherz> oh wait you reenabled translucency
L4432[22:26:28] <gigaherz> fry already explained why that happens
L4433[22:26:39] <gigaherz> mc just spends that much time sorting the triangles over and over
L4434[22:27:00] <williewillus> hmm in 1.8 did they remove the ability to make specific parts of items render the enchantment glow?
L4435[22:27:31] <DrDisconsented> Yep but http://puu.sh/maXVI/3b56b97cc1.jpg 6%ish translucent
L4436[22:27:33] <williewillus> I distinctly remember potions only glowing in their liquid layer and now the whole item glimmers. lemme check
L4437[22:27:44] ⇦ Quits: OnyxKnight (~OnyxDarkK@cpc81089-colc8-2-0-cust729.7-4.cable.virginm.net) (Quit: I must leave, my people need me!)
L4438[22:27:48] <gigaherz> hmmm I don't know if you can apply the effect to only a certain texture layer
L4439[22:28:04] <gigaherz> maybe it was a side-effect to the json change
L4440[22:28:13] <gigaherz> and they just never reintroduced the feature
L4441[22:28:40] <williewillus> yeah that's it
L4442[22:28:44] <williewillus> only the liquid glows in 1.7
L4443[22:28:51] <williewillus> that was such a cool detail dammit mojang
L4444[22:29:10] <DrDisconsented> Oh yeah it was translucent
L4445[22:29:22] <DrDisconsented> That is an insane difference
L4446[22:29:25] <DrDisconsented> Oh well
L4447[22:31:27] <williewillus> i remember people complaining about how the glimmer was too strong in 1,8, barely noticed it until now
L4448[22:31:52] <gigaherz> fry, out of curiosity, are all the translucent objects sorted globally, or is there some sort of hierarchy? assuming faces are kept within a block, the sorting system could optimize itself to sort by chunk first, then by block, and only sort the individual faces within each block
L4449[22:32:26] <falkreon> http://hg.openjdk.java.net/valhalla/valhalla/jdk/rev/f65e797d198a amg so fanceh
L4450[22:32:45] <falkreon> they're already any-ifying java.util
L4451[22:33:04] <gigaherz> what' Any-ification?
L4452[22:33:06] <gigaherz> what's*
L4453[22:33:14] <falkreon> Value Types
L4454[22:33:16] <falkreon> so
L4455[22:33:22] <falkreon> in this case Deque<int>
L4456[22:33:38] <gigaherz> oooh
L4457[22:33:47] <falkreon> probably in the near past or near future ArrayList<int>
L4458[22:33:52] <gigaherz> wait value types and primitive generics are two separate things
L4459[22:33:53] <gigaherz> XD
L4460[22:34:03] <falkreon> generic specialization*
L4461[22:34:15] <williewillus> I'm very interested how they'll step around the minefield o fbackward compat
L4462[22:34:19] <falkreon> both happen in the Valhalla branch
L4463[22:34:22] <gigaherz> doesit generate specialized versions for each primitive type?
L4464[22:34:32] <williewillus> sadly it'll probably result in some ugly drawback
L4465[22:34:34] <williewillus> yes
L4466[22:34:39] *** TehNut|Gone is now known as TehNut
L4467[22:34:44] <falkreon> yeah, it generates Deque${0=I} for primitive int
L4468[22:34:54] <falkreon> but Deque for all ref types
L4469[22:35:03] <gigaherz> ewh
L4470[22:35:09] <williewillus> they have to do that
L4471[22:35:11] <williewillus> backward compat
L4472[22:35:13] <falkreon> hey it's a step towards reification
L4473[22:35:16] <falkreon> don't gripe :P
L4474[22:35:32] <gigaherz> I was hoping for "no it reifies the primitive variants, but keeps erased version for the object ones"
L4475[22:35:33] <williewillus> we will never reify without dropping backward compat :p
L4476[22:35:33] <gigaherz> ;P
L4477[22:35:38] ⇦ Quits: pugi (~pugi@host-091-097-035-248.ewe-ip-backbone.de) (Ping timeout: 192 seconds)
L4478[22:35:48] <falkreon> gigaherz, that's exactly what I'm saying.
L4479[22:35:57] ⇨ Joins: pugi (~pugi@host-091-097-013-249.ewe-ip-backbone.de)
L4480[22:36:03] <fry> gigaherz: they're only sorted per-chunk
L4481[22:36:22] <falkreon> generating a Deque${0=I} means you can do things like if (queue instanceof Deque<int>) {}
L4482[22:36:40] <gigaherz> falkreon: as I assumed you meant at compile time ;P
L4483[22:36:56] <falkreon> yes, but runtime also.
L4484[22:37:09] <falkreon> and Deque<int>.class is a thing
L4485[22:37:11] <williewillus> the <?> wildcard is also get retconned into only representing ref types, thanks to backward compat
L4486[22:37:19] <falkreon> yeah
L4487[22:37:24] <falkreon> you can't say
L4488[22:37:29] <falkreon> er
L4489[22:37:29] *** Abrar|gone is now known as AbrarSyed
L4490[22:37:33] <williewillus> if you want truly all specializations of Deque you do Deque<any T>
L4491[22:37:38] <falkreon> queue instanceof Deque<?> will always be false
L4492[22:37:39] <gigaherz> heh
L4493[22:37:53] <falkreon> for a primitive type
L4494[22:38:01] <williewillus> how long can they keep up the backward compat game is the question :p
L4495[22:38:08] <falkreon> heh
L4496[22:38:11] <gigaherz> my question is different
L4497[22:38:15] <falkreon> here's where it breaks afaik:
L4498[22:38:33] <gigaherz> does Deque<int> NOT implement the non-generic Deque interface?
L4499[22:38:35] <falkreon> T[] i = (T[]) new Object[16];
L4500[22:38:45] <falkreon> ^ Totally screwed if you do this
L4501[22:38:48] <gigaherz> or do they provide wrapper methods with Object as the type?
L4502[22:39:13] <falkreon> ?
L4503[22:39:20] <williewillus> I think there's accessors that autobox
L4504[22:39:23] <gigaherz> Deque d = new Deque<int>()
L4505[22:39:38] <falkreon> gigaherz, so far so good.
L4506[22:39:39] <gigaherz> does it have addFirst(Object) or crash?
L4507[22:39:42] <falkreon> hehe
L4508[22:39:47] <falkreon> yeah, that's the rough part
L4509[22:39:47] <williewillus> yeah then you get an object ref version that autoboxes everything
L4510[22:39:50] <falkreon> ^
L4511[22:40:27] <gigaherz> aha so they did what I thought would be the least annoying version of it
L4512[22:40:37] <williewillus> what would've been the more annoying one? :p
L4513[22:41:04] <gigaherz> not allow erased casting for the primitive specializations
L4514[22:41:08] <DrDisconsented> http://puu.sh/maYxJ/6b81f4d169.png I have the multiple textures loading in game, but how would I select one or the other?
L4515[22:41:52] <shadekiller666> DrDisconsented, what?
L4516[22:41:57] <shadekiller666> select one or the other?
L4517[22:42:11] <DrDisconsented> How would I use only the red texture or the green one?
L4518[22:42:14] <Zaggy1024> primitive generics? is that really gonna be a thing?
L4519[22:42:18] <DrDisconsented> Or does it not work like that?
L4520[22:42:27] <shadekiller666> ?
L4521[22:42:30] <shadekiller666> i'm confused
L4522[22:42:44] <shadekiller666> you want that block to be completely red?
L4523[22:42:59] <shadekiller666> are you trying to make a block that you can change th color of?
L4524[22:43:17] <DrDisconsented> Well I want to be able to use 3 different textures with one model
L4525[22:43:18] <falkreon> Zaggy, valhalla is NOT a JSR, so we have no timetables, but I expect based on the level of work done and the people involved that it's happening.
L4526[22:43:50] <falkreon> full support from Oracle and the OpenJDK community, plus some Panama groundwork with IBM
L4527[22:43:58] <DrDisconsented> Also gigaherz yeah my FPS is tanking when I am placing blocks into the world as well
L4528[22:44:17] <Zaggy1024> sweeeet
L4529[22:44:31] <williewillus> yeah, their plan everything is always "don't make it worse than it was"
L4530[22:44:43] <gigaherz> bacl
L4531[22:44:46] <gigaherz> back*
L4532[22:44:52] <gigaherz> so as I was about to say
L4533[22:44:53] <williewillus> if everything's just boxed then we're back to where we are now, which is okay, but the new shiny stuff is available as well
L4534[22:44:56] <gigaherz> some weeks/months ago
L4535[22:44:59] <DrDisconsented> shadekiller666> Basicly wanted to have 3 states on a single block that look different texture wise. Make sense?
L4536[22:44:59] <gigaherz> I was pondering about that
L4537[22:45:03] <shadekiller666> DrDisconsented, ok, then you only need 1 material in the .mtl file, and in your blockstate json, have each variant that changes the texture have its own "textures": {} block, and inside of that you can have "#<name of material>": "modid:block/texture.png"
L4538[22:45:11] <gigaherz> and the best solution for primitive types I could come up with
L4539[22:45:15] * Zaggy1024 excited
L4540[22:45:32] <shadekiller666> that will replace the texture used by the material with the one specified
L4541[22:45:40] <williewillus> yeah it's gonna be java 10, and it's going to take centuries to move to that
L4542[22:45:44] <shadekiller666> and it should only apply to that one block
L4543[22:45:58] <williewillus> MS might've (probably will have_ killed our dear Java version by the time j10 is mainstream
L4544[22:46:00] <falkreon> we all assume it's going to be 10
L4545[22:46:01] <gigaherz> was to create a special interface for the specialized/reified version, which at the moment I named List_of_int in my head
L4546[22:46:09] <gigaherz> and I did think aboutthe erasure issue
L4547[22:46:10] <falkreon> there are no guarantees :P
L4548[22:46:12] <DrDisconsented> so map_Kd will end up being the default correct?
L4549[22:46:21] <gigaherz> and without breaking bytecode,
L4550[22:46:23] <shadekiller666> yes
L4551[22:46:24] <williewillus> I'm gonna keep modding the Java ver if they ever kill it
L4552[22:46:25] <falkreon> gigaherz, so basically Trove.
L4553[22:46:29] <DrDisconsented> Awesome
L4554[22:46:31] <gigaherz> the best I could come up with was for the List_of_int interface
L4555[22:46:36] <gigaherz> to also use specialized method names
L4556[22:46:40] <gigaherz> like .add_of_int(int)
L4557[22:46:42] <shadekiller666> any textures specified in the blockstate json will override whatever is set using map_Kd
L4558[22:46:50] <gigaherz> while leaving theo riginal names for the List interface, as Object
L4559[22:46:51] <williewillus> whatever stupid json walled garden system they come up with will be too limiting :p
L4560[22:46:52] <gigaherz> with internal casting
L4561[22:46:55] <falkreon> they're actually doing some of that
L4562[22:47:03] <gigaherz> and then
L4563[22:47:18] <gigaherz> either at compile time (specialized), or at runtime (reified), generate the versions needed
L4564[22:47:56] <gigaherz> the specialized version would bloat the code a lot, but it wouldn't require jvm changes
L4565[22:48:07] <falkreon> "public __WhereRef(E) boolean contains(Object o)" versus "public boolean containsElement(E e)"
L4566[22:48:20] <falkreon> that's how it's actually looking in the classes.
L4567[22:48:23] <gigaherz> heh
L4568[22:48:55] <gigaherz> it's nice to see my idea isn't far from their own
L4569[22:48:55] <gigaherz> ;p
L4570[22:48:58] <falkreon> same thing for remove and removeElement
L4571[22:49:05] <falkreon> yeah, well great minds think alike
L4572[22:49:06] <williewillus> yeah their experimental code is so ugly because they don't care about syntax until everything else is done
L4573[22:49:07] <falkreon> or in this case
L4574[22:49:13] <falkreon> sensible minds are generally sensible
L4575[22:49:22] <falkreon> and there are finite amounts of sensible solutions here X)
L4576[22:49:25] <gigaherz> yeah
L4577[22:49:25] <williewillus> i feel like there aren't that many paths
L4578[22:49:26] <gigaherz> XD
L4579[22:49:50] <gigaherz> I did work by elimination
L4580[22:49:52] <gigaherz> ;P
L4581[22:50:14] <falkreon> yeah, but the literature I'm seeing is like
L4582[22:50:26] <williewillus> what even is java 9 going to have :p
L4583[22:50:42] <falkreon> "basically not too much changed, but if you were abusing rawtypes and wildcard generics you're going to be screwed till you learn how to use them right"
L4584[22:51:29] <falkreon> like, thanks guys, wildcards were very recently a supported part of the language -_-
L4585[22:51:29] <williewillus> shouldve just broken back compat in the beginning amirite
L4586[22:51:47] <williewillus> hey you never know, you always hear horror stories of java programmers stuck at lang level 4
L4587[22:51:57] <williewillus> can't use autboxing, generics, anything
L4588[22:52:05] <falkreon> lately it's 6
L4589[22:52:15] <falkreon> so no diamond operator, forever typing everything twice
L4590[22:52:22] <falkreon> no enum switches and crap
L4591[22:52:25] <SkySom> No switches on Strings
L4592[22:52:28] <falkreon> yeah
L4593[22:52:33] <falkreon> a lot less switches.
L4594[22:52:38] <SkySom> Also wait enum switches are 7?
L4595[22:52:48] <falkreon> pretty sure.
L4596[22:53:01] <falkreon> I know enums are ancient, but switches took a while to catch up.
L4597[22:53:08] <williewillus> enum switches are 4-5
L4598[22:53:10] <williewillus> strings are 7
L4599[22:53:13] <falkreon> oh.
L4600[22:53:13] *** illy is now known as illy[AFK]
L4601[22:53:14] <falkreon> ok
L4602[22:53:19] <williewillus> actually enums weren't even a thing until 5
L4603[22:53:34] <williewillus> I really like how Java did enums though vs glorified numbers in the C family
L4604[22:53:36] <SkySom> Was gonna say
L4605[22:53:50] <SkySom> Pretty sure I have language level set to 6 and it allows Enum switches
L4606[22:53:53] <gigaherz> I sortof prefer the constant-group concept for enums
L4607[22:53:54] <gigaherz> XD
L4608[22:53:56] <falkreon> you know C++11 is starting to get rid of NULL == 0
L4609[22:54:00] <falkreon> well
L4610[22:54:02] <falkreon> nullptr
L4611[22:54:15] <williewillus> can tabula import techne models? 0.o
L4612[22:54:16] <gigaherz> the java ones just feel like a bunch of static instances with a compiler-generated array
L4613[22:54:17] <williewillus> from TCN file
L4614[22:54:22] <gigaherz> yes
L4615[22:54:26] <williewillus> gigaherz: that's the point, they're full objects
L4616[22:54:31] <williewillus> and can implement things and have attributes
L4617[22:54:31] <falkreon> yeah.
L4618[22:54:34] <gigaherz> yeah
L4619[22:54:39] <williewillus> how do I import then 0.o
L4620[22:54:40] <gigaherz> but my #1 use for enums in C#
L4621[22:54:41] <falkreon> I think they're too close to objects
L4622[22:54:42] <gigaherz> is as flags
L4623[22:54:42] <williewillus> I see no button
L4624[22:54:42] <gigaherz> XD
L4625[22:54:53] <gigaherz> and java enums aren't so flag-friendly
L4626[22:55:01] <falkreon> well, there's EnumSet
L4627[22:55:02] <williewillus> falkreon: as in they are objects :p with enough hacks you could probably instantiate an instance of an enum :p
L4628[22:55:06] <falkreon> but aside from that, yeah
L4629[22:55:11] <williewillus> Unsafe.newInstance(enumclazz)
L4630[22:55:17] <williewillus> *allocateNewInstance
L4631[22:55:19] <falkreon> yeah
L4632[22:55:23] <falkreon> see also EnumHelper
L4633[22:55:24] <falkreon> :P
L4634[22:55:31] <SkySom> :/ Unsafe.....
L4635[22:55:46] ⇦ Quits: pugi (~pugi@host-091-097-013-249.ewe-ip-backbone.de) ()
L4636[22:55:55] <falkreon> Unsafe is getting tucked away in a back corner of the JVM, so don't worry about that too much.
L4637[22:56:05] <williewillus> unsafe is necessary :p
L4638[22:56:11] <falkreon> for now, yes.
L4639[22:56:16] <williewillus> byebye NIO and netty if you don't have unsafe
L4640[22:56:27] <falkreon> but I do like some of the fences and array slices they're doing
L4641[22:56:45] <williewillus> gigaherz: how do import tcn into tabula 0.o there isn't a button
L4642[22:56:47] <SkySom> Yeah Unsafe is necessary
L4643[22:57:01] <SkySom> But it is easy to misuse
L4644[22:57:15] <williewillus> my favorite is allocating an object without running a constructor
L4645[22:57:19] <gigaherz> williewillus: I have no idea XD
L4646[22:57:19] <falkreon> when they finish with the value types and concurrency primitives Unsafe gets a lot easier.
L4647[22:57:20] <williewillus> you just get this dead thing
L4648[22:57:27] <gigaherz> I never used tabula, only heard people talk about it
L4649[22:57:39] <falkreon> tabula is pretty useful.
L4650[22:57:46] <shadekiller666> pig, you around? willie is confused about tabula!
L4651[22:57:58] <williewillus> lol, just wondering if we can stick TCN files in it
L4652[22:58:14] <gigaherz> well the pagedoes say
L4653[22:58:15] <gigaherz> "Has the ability to open Techne files. Supports Child models and has Undo/Redo save-states."
L4654[22:58:15] <falkreon> yeah, but you can't pee out tcn2 files
L4655[22:58:26] <falkreon> which is unfortunate.
L4656[22:58:41] <williewillus> i just need it so I can see the sane version of the texmap
L4657[22:58:44] <williewillus> so I can make a json :p
L4658[22:58:53] <gigaherz> why not export to obj from tabula?
L4659[22:58:57] <gigaherz> ;P
L4660[22:59:00] <williewillus> I don't want to use OBJ :p
L4661[22:59:18] <williewillus> maybe i will
L4662[22:59:28] <williewillus> but can't even import it yet :p
L4663[23:00:35] <gigaherz> I have no idea how it works but
L4664[23:00:36] <williewillus> there's a "IMport model to current project" window but it's empty
L4665[23:00:51] <gigaherz> can't you like, drop the techne file into some folder inside the mc one?
L4666[23:01:05] <williewillus> uhhh maybe? :D
L4667[23:01:35] <falkreon> yeah, there's a folder inside the mod config folder
L4668[23:01:45] <falkreon> where tabula looks for files
L4669[23:02:50] ⇦ Quits: Girafi (Girafi@0x555178eb.adsl.cybercity.dk) (Read error: Connection reset by peer)
L4670[23:03:27] ⇦ Quits: manmaed|AFK (~Ender@97e11aeb.skybroadband.com) (Ping timeout: 195 seconds)
L4671[23:04:09] ⇨ Joins: turmfalke_ (~turmfalke@p54A69A8B.dip0.t-ipconnect.de)
L4672[23:05:38] <pig> williewillus: put it in the saves folder
L4673[23:05:52] <pig> tabula reads the 4 different techne formats I've come across
L4674[23:06:04] ⇨ Joins: manmaed|AFK (~Ender@97e11aeb.skybroadband.com)
L4675[23:06:15] <williewillus> kk
L4676[23:06:16] <pig> also someone enlighten me on tcn2
L4677[23:06:35] <williewillus> whoah the botania mini island model is 24 different cubes wat
L4678[23:06:47] <williewillus> definitely looked like less
L4679[23:06:55] *** manmaed|AFK is now known as manmaed
L4680[23:12:06] <gigaherz> welp, night ppl
L4681[23:12:15] ⇦ Quits: gigaherz (gigaherz@80.30.37.219) (Remote host closed the connection)
L4682[23:12:20] *** Jared|Away is now known as Jared
L4683[23:19:24] *** Firedingo is now known as Firedingo|AFK
L4684[23:27:38] *** Ashley is now known as Ash|Work
L4685[23:28:54] ⇦ Quits: killjoy (~killjoy@2002:4741:ffb7:e472:61d0:85e1:49ae:595b) (Ping timeout: 192 seconds)
L4686[23:29:28] ⇦ Quits: Hassan (~hassa@2602:306:cde1:d700:308c:7050:5094:7a54) (Ping timeout: 192 seconds)
L4687[23:38:33] ⇦ Quits: Cojo (~Cojo@2606:a000:1126:8048:83f:317e:b10d:75a5) (Quit: If we wish to explore, if we wish to see what's over the next hill, wonders unfold before us; all we have to do is want it enough.)
L4688[23:40:58] <williewillus> in tabula/techne the way the guiding furnace is facing is north, correct?
L4689[23:42:47] ⇨ Joins: Ipsis (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk)
L4690[23:49:29] *** tterrag|ZZZzzz is now known as tterrag|away
L4691[23:49:46] ⇨ Joins: Hassan (~Hassan@pool-173-79-220-242.washdc.fios.verizon.net)
L4692[23:52:06] ⇦ Quits: HassanS6000 (~Hassan@pool-173-79-220-242.washdc.fios.verizon.net) (Ping timeout: 190 seconds)
L4693[23:56:02] ⇦ Quits: bilde2910|away (bilde2910@51.174.170.178) (Ping timeout: 186 seconds)
L4694[23:57:59] <shadekiller666> i believe so williewillus
L4695[23:59:17] ⇨ Joins: DemoXin (~DemoXin@233.sub-70-210-57.myvzw.com)
<<Prev Next>> Scroll to Top