<<Prev Next>> Scroll to Bottom
Stuff goes here
L1[00:06:25] ⇦ Quits: Zaggy1024 (~Zaggy1024@2602:47:dc70:5200:c947:d307:7ac:be9d) (Read error: Connection reset by peer)
L2[00:06:51] ⇨ Joins: Zaggy1024 (~Zaggy1024@2602:47:dc70:5200:c947:d307:7ac:be9d)
L3[00:08:23] ⇦ Quits: kenzierocks (~kenzieroc@yes.quite.indeed.old.chap.it.is.kenzierocks.me) (Ping timeout: 190 seconds)
L4[00:08:54] ⇨ Joins: kenzierocks (~kenzieroc@yes.quite.indeed.old.chap.it.is.kenzierocks.me)
L5[00:11:09] ⇨ Joins: Hunterz (~hunterz@2001:af0:8000:1c01:6af7:28ff:fe37:5d6a)
L6[00:14:17] ⇦ Quits: blood|wrk (~owned@STATIC228.iona.edu) (Read error: Connection reset by peer)
L7[00:15:58] *** fry|sleep is now known as fry
L8[00:16:03] ⇨ Joins: Actuarius (~Actuarius@195.91.246.187)
L9[00:16:03] MineBot sets mode: +v on Actuarius
L10[00:26:50] ⇦ Quits: sinkillerj (~sinkiller@nc-67-232-14-224.dhcp.embarqhsd.net) (Quit: またね)
L11[00:30:45] ⇦ Quits: justJanne (~justJanne@kuschku.de) (*.net *.split)
L12[00:30:45] ⇦ Quits: luacs1998 (~miyamoto@abrarsyed.com) (*.net *.split)
L13[00:30:45] ⇦ Quits: Meow-J (~Meow-J@45.32.34.121) (*.net *.split)
L14[00:30:45] ⇦ Quits: chbachman (~chbachman@192.99.145.160) (*.net *.split)
L15[00:30:45] ⇦ Quits: Larry1123 (Larry1123@irc.larry1123.net) (*.net *.split)
L16[00:30:45] ⇦ Quits: Drakmyth (~quassel@ec2-52-89-110-230.us-west-2.compute.amazonaws.com) (*.net *.split)
L17[00:30:45] ⇦ Quits: Blarghedy (~Blarghedy@50-90-115-148.res.bhn.net) (*.net *.split)
L18[00:30:45] ⇦ Quits: Searge|office (~Searge@h-85-24-130-18.na.cust.bahnhof.se) (*.net *.split)
L19[00:30:45] ⇦ Quits: mallrat208 (~mallrat20@107-145-136-189.res.bhn.net) (*.net *.split)
L20[00:30:45] ⇦ Quits: rebecca (~rebecca@60-241-180-77.static.tpgi.com.au) (*.net *.split)
L21[00:30:45] ⇦ Quits: cppchriscpp (~cppchrisc@c-76-24-45-127.hsd1.nh.comcast.net) (*.net *.split)
L22[00:30:45] ⇦ Quits: caseif (caseif@bnc.lol768.com) (*.net *.split)
L23[00:30:45] ⇦ Quits: Deamon (~Deamon@irc.thevoxelbox.com) (*.net *.split)
L24[00:30:45] ⇦ Quits: minecreatr (~minecreat@tterrag.com) (*.net *.split)
L25[00:30:45] ⇦ Quits: gabizou|laptop (~gabizou@e3-1270v3.bl-ash0.1.1.2.10.k8.securedservers.com) (*.net *.split)
L26[00:30:45] ⇦ Quits: jamierocks (~jamierock@lon1.lexteam.xyz) (*.net *.split)
L27[00:30:45] ⇦ Quits: glasspelican (~quassel@stanley.glasspelican.ca) (*.net *.split)
L28[00:30:45] ⇦ Quits: dmillerw (~dmillerw@192.241.225.208) (*.net *.split)
L29[00:30:45] ⇦ Quits: Cyrusc (~cyrusc@30.ip-149-56-141.net) (*.net *.split)
L30[00:30:45] ⇦ Quits: useless2764 (useless@meerkat.danmackay.com) (*.net *.split)
L31[00:30:45] ⇦ Quits: simon816 (~simon816@ec2-52-11-212-67.us-west-2.compute.amazonaws.com) (*.net *.split)
L32[00:30:45] ⇦ Quits: srs_bsns (blk@198-48-175-31.cpe.pppoe.ca) (*.net *.split)
L33[00:30:45] ⇦ Quits: gabizou (~gabizou@e3-1270v3.bl-ash0.1.1.2.10.k8.securedservers.com) (*.net *.split)
L34[00:30:45] ⇦ Quits: Grinch (~NinjaGrin@e3-1270v3.bl-ash0.1.1.2.10.k8.securedservers.com) (*.net *.split)
L35[00:30:45] ⇦ Quits: nekosune (~BNCClient@darkmatter.spacetechnology.net) (*.net *.split)
L36[00:30:45] ⇦ Quits: Rallias (~Rallias@sadmin.starasaservice.com) (*.net *.split)
L37[00:30:45] ⇦ Quits: boni (~boni@devsub.net) (*.net *.split)
L38[00:30:45] ⇦ Quits: Goof (~Goof@plebcraft.net) (*.net *.split)
L39[00:30:45] ⇦ Quits: md_5 (~md_5@marius.md-5.net) (*.net *.split)
L40[00:30:45] ⇦ Quits: teqwve (~teqwve@rbx1-fr.quadhost.net) (*.net *.split)
L41[00:30:45] ⇦ Quits: Darkhax (~Darkhax@ts.darkhax.net) (*.net *.split)
L42[00:30:45] ⇦ Quits: SkySom (~SkySom@162.243.21.185) (*.net *.split)
L43[00:30:45] ⇦ Quits: cindy_k (~cindy@107.170.20.212) (*.net *.split)
L44[00:30:45] ⇦ Quits: Prospector (~Prospecto@162.243.21.185) (*.net *.split)
L45[00:30:45] ⇦ Quits: zetaPRIME (~zetaPRIME@209.141.57.4) (*.net *.split)
L46[00:30:45] ⇦ Quits: Synergiance (~syn@lsv1.synerfiles.info) (*.net *.split)
L47[00:30:45] ⇦ Quits: mumfrey (~Mumfrey@dedi5.eq2.co.uk) (*.net *.split)
L48[00:30:45] ⇦ Quits: mort (~mort@188.166.114.29) (*.net *.split)
L49[00:30:45] ⇦ Quits: bspkrs (~bspkrs@is.that.a.bspk.rs) (*.net *.split)
L50[00:30:45] ⇦ Quits: armed_troop (~armedtroo@pool-173-59-20-164.phlapa.fios.verizon.net) (*.net *.split)
L51[00:30:45] ⇦ Quits: Lord_Ralex (~Ralex@107.191.104.81) (*.net *.split)
L52[00:31:11] ⇨ Joins: justJanne (~justJanne@kuschku.de)
L53[00:31:11] ⇨ Joins: luacs1998 (~miyamoto@abrarsyed.com)
L54[00:31:11] ⇨ Joins: Meow-J (~Meow-J@45.32.34.121)
L55[00:31:11] ⇨ Joins: chbachman (~chbachman@192.99.145.160)
L56[00:31:11] ⇨ Joins: Larry1123 (Larry1123@irc.larry1123.net)
L57[00:31:11] ⇨ Joins: Drakmyth (~quassel@ec2-52-89-110-230.us-west-2.compute.amazonaws.com)
L58[00:31:11] ⇨ Joins: Blarghedy (~Blarghedy@50-90-115-148.res.bhn.net)
L59[00:31:11] ⇨ Joins: Searge|office (~Searge@h-85-24-130-18.na.cust.bahnhof.se)
L60[00:31:11] ⇨ Joins: mallrat208 (~mallrat20@107-145-136-189.res.bhn.net)
L61[00:31:11] ⇨ Joins: rebecca (~rebecca@60-241-180-77.static.tpgi.com.au)
L62[00:31:11] ⇨ Joins: cppchriscpp (~cppchrisc@c-76-24-45-127.hsd1.nh.comcast.net)
L63[00:31:11] ⇨ Joins: jamierocks (~jamierock@lon1.lexteam.xyz)
L64[00:31:11] ⇨ Joins: caseif (caseif@bnc.lol768.com)
L65[00:31:11] ⇨ Joins: Deamon (~Deamon@irc.thevoxelbox.com)
L66[00:31:11] ⇨ Joins: minecreatr (~minecreat@tterrag.com)
L67[00:31:11] ⇨ Joins: gabizou|laptop (~gabizou@e3-1270v3.bl-ash0.1.1.2.10.k8.securedservers.com)
L68[00:31:11] ⇨ Joins: glasspelican (~quassel@stanley.glasspelican.ca)
L69[00:31:11] ⇨ Joins: Grinch (~NinjaGrin@e3-1270v3.bl-ash0.1.1.2.10.k8.securedservers.com)
L70[00:31:11] ⇨ Joins: dmillerw (~dmillerw@192.241.225.208)
L71[00:31:11] ⇨ Joins: Cyrusc (~cyrusc@30.ip-149-56-141.net)
L72[00:31:11] ⇨ Joins: simon816 (~simon816@ec2-52-11-212-67.us-west-2.compute.amazonaws.com)
L73[00:31:11] ⇨ Joins: Darkhax (~Darkhax@ts.darkhax.net)
L74[00:31:11] ⇨ Joins: useless2764 (useless@meerkat.danmackay.com)
L75[00:31:11] ⇨ Joins: srs_bsns (blk@198-48-175-31.cpe.pppoe.ca)
L76[00:31:11] ⇨ Joins: gabizou (~gabizou@e3-1270v3.bl-ash0.1.1.2.10.k8.securedservers.com)
L77[00:31:11] ⇨ Joins: boni (~boni@devsub.net)
L78[00:31:11] ⇨ Joins: Rallias (~Rallias@sadmin.starasaservice.com)
L79[00:31:11] ⇨ Joins: Goof (~Goof@plebcraft.net)
L80[00:31:11] ⇨ Joins: md_5 (~md_5@marius.md-5.net)
L81[00:31:11] ⇨ Joins: teqwve (~teqwve@rbx1-fr.quadhost.net)
L82[00:31:11] ⇨ Joins: SkySom (~SkySom@162.243.21.185)
L83[00:31:11] ⇨ Joins: cindy_k (~cindy@107.170.20.212)
L84[00:31:11] ⇨ Joins: Prospector (~Prospecto@162.243.21.185)
L85[00:31:11] ⇨ Joins: zetaPRIME (~zetaPRIME@209.141.57.4)
L86[00:31:11] ⇨ Joins: Synergiance (~syn@lsv1.synerfiles.info)
L87[00:31:11] ⇨ Joins: mumfrey (~Mumfrey@dedi5.eq2.co.uk)
L88[00:31:11] ⇨ Joins: bspkrs (~bspkrs@is.that.a.bspk.rs)
L89[00:31:11] ⇨ Joins: armed_troop (~armedtroo@pool-173-59-20-164.phlapa.fios.verizon.net)
L90[00:31:11] ⇨ Joins: Lord_Ralex (~Ralex@107.191.104.81)
L91[00:31:11] *** stormlight.esper.net sets mode: +v bspkrs
L92[00:31:12] <tterrag> what's the best way to get a specific blockstate from a config value?
L93[00:31:15] ⇦ Quits: Meow-J (~Meow-J@45.32.34.121) (Excess Flood)
L94[00:31:18] <tterrag> I could just use meta but that seems wrong/lazy
L95[00:31:41] <tterrag> they could specify i.e. stone#variant=andesite but how do I convert that ?
L96[00:32:17] ⇦ Quits: SatanicSanta (~SatanicSa@c-76-115-175-15.hsd1.or.comcast.net) (Ping timeout: 384 seconds)
L97[00:32:30] ⇨ Joins: killjoy1 (~killjoy@71.65.255.183)
L98[00:34:05] *** kroeser|away is now known as kroeser
L99[00:34:20] ⇦ Quits: killjoy (~killjoy@71.65.255.183) (Ping timeout: 182 seconds)
L100[00:35:03] ⇦ Quits: Brokkoli (~Brokkoli@p5B23CCE8.dip0.t-ipconnect.de) (Quit: Die Sprache der Politik ist daf�r gemacht, dass L�gen wahr klingen und das T�ten angemessen wirkt. (George Orwell))
L101[00:36:23] ⇨ Joins: Snapples (uid167569@id-167569.highgate.irccloud.com)
L102[00:41:56] <McJty> tterrag, in rftools dimensions I have a json file with something like:
L103[00:41:57] <McJty> "property": {
L104[00:41:57] <McJty> "type": "COBALT"
L105[00:41:57] <McJty> }
L106[00:42:15] <McJty> That was for Tinkers Construct material
L107[00:43:48] *** kroeser is now known as kroeser|away
L108[01:01:15] ⇦ Quits: Chaoschaot234 (~Chaoschao@83-221-68-174.dynamic.primacom.net) (Quit: Nettalk6 - www.ntalk.de)
L109[01:06:17] *** minecreatr is now known as Mine|dreamland
L110[01:12:01] ⇦ Quits: Doty1154 (~Doty1154@c-73-189-164-179.hsd1.ca.comcast.net) (Read error: Connection reset by peer)
L111[01:22:43] ⇦ Quits: IceDragon (~ThatGuy@184.170.2.108) (Ping timeout: 384 seconds)
L112[01:25:56] ⇨ Joins: IceDragon (~ThatGuy@184.170.2.108)
L113[01:26:07] ⇦ Quits: Lirianer (~Lirianer@r186-55-90-22.dialup.adsl.anteldata.net.uy) (Read error: Connection reset by peer)
L114[01:31:46] ⇦ Quits: Gil (uid147942@2604:8300:100:200b:6667:5:2:41e6) (Quit: Connection closed for inactivity)
L115[01:31:48] ⇨ Joins: Noppes (~Noppes@ip56530f2e.direct-adsl.nl)
L116[01:32:27] ⇦ Quits: The_Pyrrhonist (~The_Pyrrh@cpe-98-122-46-75.sc.res.rr.com) (Remote host closed the connection)
L117[01:34:47] *** kroeser|away is now known as kroeser
L118[01:37:11] ⇦ Quits: codahq (~codahq@c-73-65-219-228.hsd1.ut.comcast.net) (Ping timeout: 182 seconds)
L119[01:43:36] ⇦ Quits: IceDragon (~ThatGuy@184.170.2.108) (Ping timeout: 186 seconds)
L120[01:44:10] *** kroeser is now known as kroeser|away
L121[01:45:49] *** Darkhax is now known as Darkhax_AFK
L122[01:48:15] <tterrag> McJty: right, but how to get the actual IBlockState object?
L123[01:48:32] <tterrag> the best way I've found asking around is to just brute force through the property map
L124[01:51:08] <McJty> Well my case is a bit different
L125[01:51:20] <McJty> I don't have to construct a blockstate from that. I only have to match a blockstate with the properties defined in the json
L126[01:51:24] <McJty> So that's slightly easier I guess
L127[01:51:39] <tterrag> I suppose
L128[01:51:45] <tterrag> that's really all I need I guess
L129[01:52:02] <tterrag> it's just that == is faster than a bunch of string/etc comparisons
L130[01:52:15] <tterrag> and this is done during rendering so I'd prefer to use == if at all possible
L131[01:53:23] <tterrag> I'll just do it the brute force way :p
L132[01:53:41] <McJty> You cannot cache this in some way?
L133[01:54:41] <tterrag> I could yes
L134[01:54:44] <tterrag> and will :P
L135[01:57:30] ⇦ Quits: killjoy1 (~killjoy@71.65.255.183) (Ping timeout: 182 seconds)
L136[01:58:59] ⇦ Quits: alekso56 (~znc@2001:464b:c2aa:0:745d:45ff:fe3b:a098) (Ping timeout: 202 seconds)
L137[01:59:58] <MCPBot_Reborn> [TEST CSV] Pushing snapshot_20160826 mappings to Forge Maven.
L138[02:00:01] <MCPBot_Reborn> [TEST CSV] Maven upload successful for mcp_snapshot-20160826-1.10.2.zip (mappings = "snapshot_20160826" in build.gradle).
L139[02:00:12] <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/
L140[02:00:23] ⇨ Joins: alekso56 (~znc@2001:464b:c2aa:0:745d:45ff:fe3b:a098)
L141[02:00:33] ⇨ Joins: Meow-J (~Meow-J@45.32.34.121)
L142[02:00:45] ⇨ Joins: Eccles (~eccles@S0106f81edff80f58.gv.shawcable.net)
L143[02:04:35] ⇦ Quits: MrZoidbergMD (Zoidberg@have.i.gone.mad.panicbnc.org) (Ping timeout: 202 seconds)
L144[02:08:03] ⇦ Quits: Hobbyboy (Hobbyboy@hobbyboy.co.uk) (Ping timeout: 384 seconds)
L145[02:08:03] ⇦ Quits: barteks2x (barteks2x@it.is.your.corrupt.we.claim.panicbnc.org) (Ping timeout: 384 seconds)
L146[02:12:06] ⇨ Joins: MalkContent (~MalkConte@p4FDCE65B.dip0.t-ipconnect.de)
L147[02:12:28] ⇨ Joins: Hgreb (~Hgrebnedn@d8D872A6E.access.telenet.be)
L148[02:12:34] <tterrag> McJty: question, why have "property" as a key?
L149[02:12:52] <tterrag> since properties serialize down to a Map<String, String>
L150[02:13:03] <tterrag> shouldn't it at least be "properties" ?
L151[02:13:56] <McJty> Well this is the entire rule: https://bpaste.net/show/ed9d97acfe5f
L152[02:14:10] <McJty> I wanted to avoid complicating it more by needing an extra 'properties' around all 'property' tags
L153[02:15:22] <tterrag> my question is why is property not "properties" which is just a Map<String, String>
L154[02:15:41] <tterrag> so it could look like "properties": { "type": "COBALT", "foo": "bar" }
L155[02:16:03] <tterrag> in your current scheme, how does one specify multiple properties?
L156[02:16:10] <McJty> Multiple "property" tags
L157[02:16:21] <tterrag> O.o that's not valid json
L158[02:16:41] <McJty> Well it works
L159[02:16:42] <tterrag> or rather, it's not a proper OO structure
L160[02:16:51] <tterrag> I fear what your deserialization code looks like...
L161[02:17:18] <tterrag> fromJson(new FileReader(jsonConfig), new TypeToken<Map<ResourceLocation, BlockInfo>>(){}.getType()); deserializes http://pastebin.com/mPfsqcrK
L162[02:17:55] <tterrag> it helps when using Gson to think of your JSON objects as Java objects
L163[02:18:03] <tterrag> you can't have multiple fields with the same name in java
L164[02:19:24] <McJty> Actually I was wrong
L165[02:19:26] <McJty> I do it like you say
L166[02:19:32] <McJty> And then yes it should have been called 'properties'
L167[02:19:59] <tterrag> thought so :D
L168[02:20:09] <tterrag> that's much saner :P
L169[02:20:47] <McJty> Although technically the other fields in the rule can also have multiple values: i.e. like "name" in that example
L170[02:21:01] <McJty> Every one of those properties can have multiple values
L171[02:21:10] <McJty> It is just a filter on that specific thing
L172[02:21:35] <tterrag> then why aren't they arrays? :C
L173[02:21:45] <tterrag> "names" : ["foo", "bar", "baz"]
L174[02:21:57] <McJty> It is an array
L175[02:21:59] <tterrag> much more readable than name:foo, name:bar, etc
L176[02:22:11] <tterrag> ahh I see
L177[02:22:12] <McJty> But I also allow a string instead of an array
L178[02:22:33] <tterrag> hmmm...that again makes me worry about your deserialization code :D
L179[02:22:49] <tterrag> but I hate all gson code that isn't direct json->object conversion, so I'm picky :P
L180[02:23:05] * fry has a generis multimap deserializer somewhere that takes either a string or an array of strings
L181[02:23:15] <McJty> This is the code that parses that: https://bpaste.net/show/8d72ed213c5d
L182[02:23:32] <tterrag> what is JSonTools O.o
L183[02:23:39] <McJty> My own thing
L184[02:23:42] <kashike> JSonTools
L185[02:23:44] <kashike> ugly name
L186[02:23:47] <tterrag> you didn't use...Gson ?
L187[02:23:55] <tterrag> or, you did
L188[02:23:57] <McJty> nope
L189[02:23:59] <tterrag> because I see JsonElement
L190[02:24:07] <kashike> inb4 org.json
L191[02:24:09] <McJty> Well yes
L192[02:24:21] <McJty> Just something on top of that to make it a bit easier for me
L193[02:24:29] <tterrag> I see
L194[02:24:38] <tterrag> I still prefer converting it to a java object before manipulation
L195[02:24:51] <tterrag> from this code it looks like you are constantly doing lookups on the raw JSON data
L196[02:25:01] <tterrag> which is much slower than if it existed as a java object
L197[02:26:49] ⇨ Joins: Hobbyboy (Hobbyboy@hobbyboy.co.uk)
L198[02:27:00] <McJty> Speed is not really an issue here. This is only called at init on a rather small input file
L199[02:28:06] <McJty> BTW anyone here know about some weird behaviour with dimensions in 1.10?
L200[02:28:22] <McJty> Seems that all existing dimensions are loaded at startup and only get unloaded AFTER the first time you vist each of them
L201[02:28:38] <McJty> i.e. nether only unloads if you visit it at least once
L202[02:29:41] <tterrag> McJty: ah, I see you turn it into a Filter object
L203[02:30:04] <tterrag> see, personally I would have made the java structure of Filter reflect the JSON structure of the config, then just directly done fromJson(json, Filter.class)
L204[02:33:29] ⇨ Joins: MrZoidbergMD (Zoidberg@2a01:4f8:d13:311::3)
L205[02:34:03] ⇨ Joins: barteks2x (barteks2x@it.is.your.corrupt.we.claim.panicbnc.org)
L206[02:34:47] ⇨ Joins: MalkContent_ (~MalkConte@p5B02DDE8.dip0.t-ipconnect.de)
L207[02:37:33] ⇨ Joins: Tahgtahv (~Tahg@pool-72-74-136-63.bstnma.fios.verizon.net)
L208[02:37:33] MineBot sets mode: +v on Tahgtahv
L209[02:37:46] *** Tahgtahv is now known as Tahg
L210[02:39:36] ⇦ Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 186 seconds)
L211[02:40:21] ⇦ Quits: MalkContent (~MalkConte@p4FDCE65B.dip0.t-ipconnect.de) (Ping timeout: 384 seconds)
L212[02:40:30] ⇨ Joins: Aroma1997 (~Aroma1997@2604:a880:800:10::168:d001)
L213[02:43:11] ⇦ Quits: Vaht (~Tahg@pool-72-74-136-63.bstnma.fios.verizon.net) (Ping timeout: 384 seconds)
L214[02:49:52] ⇨ Joins: killjoy1 (~killjoy@71.65.255.183)
L215[02:50:39] ⇨ Joins: silenz (~silenz@185.108.121.43)
L216[02:57:10] ⇨ Joins: Gil (uid147942@2604:8300:100:200b:6667:5:2:41e6)
L217[02:58:45] ⇨ Joins: Larry1123 (Larry1123@irc.larry1123.net)
L218[03:01:30] ⇨ Joins: Nentify (uid14943@2604:8300:100:200b:6667:1:0:3a5f)
L219[03:01:55] <Snapples> So I have a library for doing a specific task (XCP transport protocol implementation), written in C.
L220[03:02:11] <Snapples> I need this functionality to work from an Android device.
L221[03:02:25] ⇦ Quits: Eccles (~eccles@S0106f81edff80f58.gv.shawcable.net) (Remote host closed the connection)
L222[03:02:26] <tterrag> sounds like you're in the wrong channel then :P
L223[03:02:39] <Snapples> SHould I port the library to native android or rather use the NDK to access it?
L224[03:02:47] <Snapples> You think so?
L225[03:03:44] <Snapples> oh, wait, you're right.
L226[03:04:18] <Snapples> Why does this happen all the time...
L227[03:05:43] ⇦ Quits: Actuarius (~Actuarius@195.91.246.187) (Ping timeout: 202 seconds)
L228[03:10:23] <tterrag> !gc bxl
L229[03:10:45] ⇨ Joins: Actuarius (~Actuarius@195.91.246.187)
L230[03:10:45] MineBot sets mode: +v on Actuarius
L231[03:11:23] ⇦ Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 190 seconds)
L232[03:14:42] ⇨ Joins: iari (~iari___@evana.futhark24.org)
L233[03:20:39] ⇦ Quits: killjoy1 (~killjoy@71.65.255.183) (Ping timeout: 202 seconds)
L234[03:28:08] ⇨ Joins: BordListian (~BordListi@213-47-142-14.cable.dynamic.surfer.at)
L235[03:40:51] ⇨ Joins: Larry1123 (Larry1123@irc.larry1123.net)
L236[03:41:29] ⇨ Joins: Naiten (Naiten@77.35.249.208)
L237[03:46:51] ⇦ Quits: RANKSHANK_mob1 (~RANKSHANK@ppp121-44-60-13.lns20.syd4.internode.on.net) (Quit: ciao)
L238[03:47:04] ⇨ Joins: RANKSHANK_mob1 (~RANKSHANK@pa49-181-222-145.pa.nsw.optusnet.com.au)
L239[03:50:23] ⇦ Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 190 seconds)
L240[03:57:00] ⇨ Joins: Ordinastie_ (~Ordinasti@87-231-58-94.rev.numericable.fr)
L241[04:03:35] ⇦ Quits: alekso56 (~znc@2001:464b:c2aa:0:745d:45ff:fe3b:a098) (Ping timeout: 202 seconds)
L242[04:05:03] ⇨ Joins: alekso56 (~znc@2001:464b:c2aa:0:745d:45ff:fe3b:a098)
L243[04:05:04] ⇦ Quits: RANKSHANK (~Michael@ppp121-44-60-13.lns20.syd4.internode.on.net) (Quit: Leaving.)
L244[04:07:55] ⇨ Joins: Larry1123 (Larry1123@irc.larry1123.net)
L245[04:08:43] ⇦ Quits: RANKSHANK_mob1 (~RANKSHANK@pa49-181-222-145.pa.nsw.optusnet.com.au) (Ping timeout: 190 seconds)
L246[04:10:33] ⇨ Joins: Koward (~Koward@2a02:2788:344:2d0:d45b:865:7421:17a4)
L247[04:10:35] <Koward> Would Item.getItemFromBlock(Blocks.SAPLING) get a reference valid to identify all sapling items, despite all the sapling variants ?
L248[04:11:24] <BordListian> err
L249[04:11:33] <BordListian> probably not?
L250[04:11:37] ⇨ Joins: ThePsionic (~ThePsioni@ip5457f909.direct-adsl.nl)
L251[04:11:47] <McJty> All vanilla saplings yes
L252[04:11:51] <McJty> But not saplings from other mods
L253[04:13:07] ⇨ Joins: TechnicianLP (~Technic@p4FE565B1.dip0.t-ipconnect.de)
L254[04:14:47] ⇦ Quits: sweetpi (~sweetpi@c-67-172-57-82.hsd1.pa.comcast.net) (Quit: Leaving)
L255[04:15:48] ⇨ Joins: Jezza (~Jezza@92.206.5.6)
L256[04:16:50] <Koward> I'm using a map so I'm afraid there's not much I can do for other mods saplings
L257[04:17:32] <Koward> (it maps items to a value I use in my mod)
L258[04:18:27] <BordListian> get all oredict entries for blockSapling or something?
L259[04:18:37] <BordListian> *shrugs*
L260[04:19:14] <Koward> I'll look at the doc
L261[04:19:59] <Ordinastie_> you can use hard coded registry names, so at least you'll be able to manually add other mods sapling that way
L262[04:20:09] <Hanii> My IWorldGenerator’s getting called for most chunks, but getting ignored for some o.o
L263[04:20:13] <Ordinastie_> if oredict doesn't work
L264[04:21:52] <Koward> I'm looking at the wiki (don't have a more recent doc), and there is a "treeSapling" entry, so I'll be fine I guess
L265[04:21:55] <McJty> Hanii, how do you know it is ignored?
L266[04:22:34] <McJty> Hanii, also note that IWorldGenerator is only called for new chunks. Not for chunks that were already created before
L267[04:22:48] <tterrag> Koward: why do you need all sapling items?
L268[04:23:31] <Hanii> McJty: At the top of the generate method, I added a world.setBlockState to stick a stone brick in the air so I can see it’s been called for that chunk.
L269[04:24:01] <Koward> tterrag : my mod use a value (like a currency) and must do it on many items (including many existing ones, so extending is not an option) and I want to set all saplings to a price
L270[04:24:17] <tterrag> oredict is probably your best bet then, yeah
L271[04:24:18] <Hanii> The generator’s registered in FMLInitializationEvent, and for new worlds, it should be used for all chunks.
L272[04:24:27] <tterrag> but for a currency mod, shouldn't stuff like that be config-based?
L273[04:24:29] <tterrag> not hardcode?
L274[04:24:30] <McJty> Hanii, can you show me the code?
L275[04:24:36] <McJty> And a screenshot?
L276[04:24:38] <tterrag> (also, another currency mod?)
L277[04:25:10] <BordListian> i kinda wanna copy maker's mark
L278[04:25:26] <BordListian> cause it doesn't have a 1.10 version i think
L279[04:25:39] <BordListian> don't think it even has a 1.7 version honk
L280[04:25:59] <Koward> It's not currency, it's weight here, mistake sorry. But same problem anyway
L281[04:26:57] <tterrag> I see. oredict is a safe bet for that stuff, but it still sounds like something that should be configurable
L282[04:27:17] <tterrag> anyways, bedtime for me
L283[04:27:19] *** tterrag is now known as tterrag|ZZZzzz
L284[04:27:47] <Hanii> McJty: http://pastebin.com/EUrqHJ9P
L285[04:27:54] <Tazz> http://i.imgur.com/y3Y9tA4.png too much? XD
L286[04:28:04] <Koward> Yes but if it's configurable, I would not see how to refer them at all
L287[04:28:11] <Koward> Because I could not use the oredict then
L288[04:28:38] <McJty> Hanii, hmm height 20. Isn't there ore or something that will overwrite your block?
L289[04:28:40] <BordListian> json config
L290[04:28:44] <McJty> Or are you doing this in a flat world/void world?
L291[04:28:54] <Hanii> I’m testing this in a flat world
L292[04:29:03] <Hanii> Hold on a second and I’ll show you a screenshot
L293[04:30:38] <tterrag|ZZZzzz> Koward: why not?
L294[04:31:08] <Ordinastie_> if oredict, take value, if config override that value
L295[04:31:39] <Hanii> http://i.imgur.com/CG2Xjku.png
L296[04:31:43] <Hanii> @ McJty
L297[04:31:47] <Koward> Would I not have to choose between storing Oredict names and proper item registry names but not both then ?
L298[04:32:14] <Ordinastie_> both
L299[04:32:18] <McJty> Hanii, hmm strange... Not sure what's up with that
L300[04:32:25] <Hanii> :<
L301[04:33:20] <BordListian> For one, you could make a regular forge config that has two seperate areas, one for item registry names and one for oredict names
L302[04:33:26] <BordListian> or something like that
L303[04:33:57] <tterrag|ZZZzzz> Hanii: try using PopulateChunkEvent.Post perhaps?
L304[04:34:28] <tterrag|ZZZzzz> I use an IWG myself and don't have that issue (that I know of)
L305[04:34:36] <Hanii> Problem is I want my generator to run before certain things, like trees and stuff
L306[04:35:09] <tterrag|ZZZzzz> .Pre then? :P
L307[04:35:16] <tterrag|ZZZzzz> I was just saying to test with the event
L308[04:35:25] <Hanii> Oh right, okay ^^;
L309[04:35:25] <tterrag|ZZZzzz> see if those chunsk make it to the event but not the IWG for some reason
L310[04:35:31] <tterrag|ZZZzzz> anyways...sleep for real
L311[04:38:13] ⇦ Quits: Naiten (Naiten@77.35.249.208) (Read error: Connection reset by peer)
L312[04:42:13] <Koward> Is the wiki still supported or is it dead ?
L313[04:42:39] <BordListian> isn't there this readthedocs thing now
L314[04:42:42] <ThePsionic> I'm pretty sure we're migrating to RTD yeah
L315[04:42:52] <Koward> Yeah but there's so few information on RTD
L316[04:43:09] <ThePsionic> http://github.com/MinecraftForge/Documentation then add to it :P
L317[04:43:15] <Koward> Pretty recent I guess
L318[04:43:30] <Koward> Will do.
L319[04:44:01] <kashike> http://mcforge.rtfd.io
L320[04:49:33] ⇦ Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 384 seconds)
L321[04:51:44] ⇦ Quits: McJty (~jorrit@94-225-203-206.access.telenet.be) (Quit: Leaving)
L322[04:53:33] ⇨ Joins: Larry1123 (Larry1123@irc.larry1123.net)
L323[04:55:08] <Hanii> @tterrag: Nope, still chunks it’s not working for :<
L324[04:55:37] ⇨ Joins: RANKSHANK_mob1 (~RANKSHANK@ppp121-44-60-13.lns20.syd4.internode.on.net)
L325[05:04:11] ⇨ Joins: RANKSHANK (~Michael@ppp121-44-60-13.lns20.syd4.internode.on.net)
L326[05:04:59] <Hanii> No exceptions or anything in the game log
L327[05:06:06] ⇦ Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 182 seconds)
L328[05:06:53] <Ordinastie_> Hanii, brand new world each test ?
L329[05:07:00] <Hanii> Jup
L330[05:07:06] <Ordinastie_> same chunks every time ?
L331[05:07:23] <Hanii> Nope, different, I have to go looking for chunks it happens to.
L332[05:07:35] <Ordinastie_> different chunks for different seeds ?
L333[05:07:47] <Hanii> That’s a good question. Give me a second and I’ll check
L334[05:09:22] <Hanii> Yes o.O
L335[05:09:31] <Hanii> Sorry, I meant No o.O
L336[05:09:38] <Ordinastie_> so same chunks if same seed ?
L337[05:09:48] <Hanii> I recreated with the same seed and it’s happened in the same place.
L338[05:10:03] <Ordinastie_> good, that means it's not totally random
L339[05:10:12] <Ordinastie_> but now you can debug
L340[05:10:25] <BordListian> totally random would've been better tho
L341[05:10:32] <Ordinastie_> no
L342[05:10:40] <Ordinastie_> if you can replicate, you can debug
L343[05:10:58] <BordListian> totally random means a priority fight
L344[05:11:10] ⇨ Joins: Samario (~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net)
L345[05:11:28] <Ordinastie_> randoms means no easily determinable cause
L346[05:11:32] <BordListian> don't think that could even happen
L347[05:11:43] <BordListian> with minecraft, anyway
L348[05:11:45] ⇦ Quits: Gil (uid147942@2604:8300:100:200b:6667:5:2:41e6) (Quit: Connection closed for inactivity)
L349[05:11:58] <Ordinastie_> there is no such things as random in computers
L350[05:12:05] <Ordinastie_> only stuff that appears random
L351[05:12:22] <Hanii> Irreproductive, I think the word is :P
L352[05:12:25] <LatvianModder> randoms means no easily determinable cause.. well it is perfectly determinable in computers :P
L353[05:12:28] <ThePsionic> Pseudo-random
L354[05:12:46] <LatvianModder> it just Looks random to viewer
L355[05:12:56] <Ordinastie_> LatvianModder, yes, but if you need to debug, it's not the computer that needs to determine the cause, it's you
L356[05:13:52] <Ordinastie_> now he can replicate and knows exactly what to breakpoint on to debug
L357[05:14:01] <Ordinastie_> if it happened on random chunks, it would be a pain
L358[05:15:22] ⇨ Joins: founderio (~Thunderbi@p200300C4E3C06900160889A028A4EB18.dip0.t-ipconnect.de)
L359[05:16:21] <Ordinastie_> Hanii, I assume you know how to do proper debugging ?
L360[05:16:32] <BordListian> pfft
L361[05:16:42] <Hanii> I haven’t the faintest idea why it’s happening T·T
L362[05:16:48] <BordListian> unpredictable behavior is the easiest thing to debug
L363[05:17:19] <Ordinastie_> Hanii, hence "debugging"
L364[05:17:23] ⇦ Quits: adox (~adoxes@87.69.240.9) (Quit: Leaving)
L365[05:17:30] ⇨ Joins: CoderPuppy (~cpup@32.218.117.131)
L366[05:18:15] <Hanii> Yeah, thing is that it’s happening with code that just registers and sets the block. It’s not reaching any of the more complicated code.
L367[05:18:46] <Ordinastie_> no, the thing is that your code is not reached in some cases
L368[05:18:52] <Ordinastie_> you need to find out why
L369[05:19:23] ⇦ Quits: cpup (~cpup@32.218.115.192) (Ping timeout: 190 seconds)
L370[05:19:40] <Ordinastie_> so breakpoint before in the call trace for those cases, and go step by step and see where it differs from what it's supposed to do
L371[05:20:18] <Hanii> I’m saying that the very first thing my code does is set that block to check, and it’s not even reaching that.
L372[05:20:38] <Ordinastie_> that's EXACTLY what I said
L373[05:20:45] ⇨ Joins: Nitrodev (~Nitrodev@85-23-77-207.bb.dnainternet.fi)
L374[05:21:11] <Ordinastie_> debugging doesn't NOT mean putting println everywhere
L375[05:22:28] *** MalkContent_ is now known as MalkContent
L376[05:28:15] <ThePsionic> Ordinastie_: Are you sure you want that double negative? :P
L377[05:28:59] <Ordinastie_> I am not not sure I want that double negative
L378[05:29:21] <Ordinastie_> but yes, don't println
L379[05:29:24] <ThePsionic> Oh okay, you aren't not not not sure then
L380[05:37:15] ⇨ Joins: cpup (~cpup@32.218.117.152)
L381[05:39:03] ⇦ Quits: CoderPuppy (~cpup@32.218.117.131) (Ping timeout: 190 seconds)
L382[05:39:15] ⇨ Joins: Larry1123 (Larry1123@irc.larry1123.net)
L383[05:39:25] ⇦ Quits: MalkContent (~MalkConte@p5B02DDE8.dip0.t-ipconnect.de) (Ping timeout: 384 seconds)
L384[05:42:54] ⇦ Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 182 seconds)
L385[05:43:35] ⇨ Joins: MalkContent (~MalkConte@p4FDCD1CC.dip0.t-ipconnect.de)
L386[05:43:48] ⇦ Quits: Hunterz (~hunterz@2001:af0:8000:1c01:6af7:28ff:fe37:5d6a) (Quit: Leaving.)
L387[05:44:30] ⇨ Joins: Larry1123 (Larry1123@irc.larry1123.net)
L388[05:48:24] *** V is now known as Vigaro
L389[05:51:27] ⇨ Joins: howtonotwin (~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net)
L390[05:57:03] <Hanii> WorldEvent.Load is fired after some chunks are generated <<;;
L391[05:58:44] <Ordinastie_> did you do what I told you ?
L392[05:59:52] <Hanii> You just told me to debug.
L393[05:59:57] <Ordinastie_> yes
L394[06:00:00] <Ordinastie_> do you know how ?
L395[06:00:11] <Hanii> ...
L396[06:01:11] <Ordinastie_> that's a legitimate question
L397[06:01:18] <Ordinastie_> 90% don't know how
L398[06:01:38] <BordListian> you're kinda missing the point Ordi
L399[06:01:41] <Hanii> I’m trying to hold myself back from saying something extremely rude to you.
L400[06:01:59] <BordListian> same tbh
L401[06:02:12] <Hanii> Of course I know how to debug. It’s literally one of the first things I learned when I was taught how to program.
L402[06:02:32] ⇨ Joins: minot (~minot@pool-98-109-119-45.nwrknj.fios.verizon.net)
L403[06:02:51] <Hanii> Around the same time as finding out from cout did.
L404[06:03:16] <BordListian> so like
L405[06:03:17] <Hanii> *out what cout did.
L406[06:03:29] <Ordinastie_> so debugging means printing stuff to console ?
L407[06:03:30] <BordListian> you registered your world generator in WorldEvent.Load?
L408[06:04:03] ⇦ Quits: Hgreb (~Hgrebnedn@d8D872A6E.access.telenet.be) (Ping timeout: 190 seconds)
L409[06:04:16] <BordListian> and that was why a bunch of chunks didn't generate with your world generator?
L410[06:05:36] <Hanii> Not quite - the world generator’s registered in the preinitialisation event, but it relies on code that’s registered per-world on world-load, under the assumption that WorldEvent.Load happens before the world starts generating, which seemed like a reasonable assumption.
L411[06:05:52] <BordListian> hm
L412[06:06:07] <BordListian> that would mean the further you go out, the more chunks are generated with your generator tho
L413[06:06:12] <BordListian> is that the case?
L414[06:06:16] <Hanii> So I’m taking a break, and later on, I’m going to load my per-world data on first access for any given world, rather than on that world’s load event.
L415[06:06:19] ⇦ Quits: alekso56 (~znc@2001:464b:c2aa:0:745d:45ff:fe3b:a098) (Ping timeout: 202 seconds)
L416[06:06:33] <Hanii> Huh? Yes?
L417[06:06:42] <BordListian> right
L418[06:09:17] ⇨ Joins: alekso56 (~znc@2001:464b:c2aa:0:745d:45ff:fe3b:a098)
L419[06:09:27] ⇦ Quits: Samario (~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net) (Ping timeout: 384 seconds)
L420[06:11:38] ⇦ Quits: Chais (~Chais@62.178.210.212) (Quit: ZNC - http://znc.in)
L421[06:13:29] <Koward> Mmm config files look nice for what I want to do, but I don't want the user to mess up with values and then cry about bugs... What a dilemma
L422[06:13:32] ⇨ Joins: Chais (~Chais@62.178.210.212)
L423[06:14:31] <Hanii> Run format checks on load then chastise the user in the text chat about using valid values? :P
L424[06:15:53] <Koward> Haha
L425[06:16:19] <Hanii> I’m away for lunch. Thanks for the help anyway. Sorry if I’m getting a bit short.
L426[06:16:21] <Koward> "Your configuration file has been configured"
L427[06:16:36] <Koward> "Please don't configure configuration files"
L428[06:17:31] <ThePsionic> "Please configure the configuration files before trying to configure the configuration files"
L429[06:21:35] <BordListian> you pretty much never have to worry about that tho
L430[06:30:01] <Koward> I wonder why we get ItemStacks from the OreDict and not Items.
L431[06:30:22] <Koward> (I always always wondered why it's still called the OreDictionary but heh)
L432[06:31:38] <BordListian> wut
L433[06:31:49] <BordListian> you can get the item from ItemStack
L434[06:31:55] <BordListian> but why would you need that
L435[06:34:33] ⇨ Joins: Hgreb (~Hgrebnedn@d8d872a6e.access.telenet.be)
L436[06:34:45] ⇨ Joins: Thefjong (~Thefjong@3e6b1b1c.rev.stofanet.dk)
L437[06:35:00] <Ordinastie_> is there no SortedList implementation available ?
L438[06:35:13] ⇦ Quits: Thefjong (~Thefjong@3e6b1b1c.rev.stofanet.dk) (Read error: Connection reset by peer)
L439[06:35:52] ⇦ Quits: howtonotwin (~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net) (Ping timeout: 186 seconds)
L440[06:36:06] ⇨ Joins: Thefjong (~Thefjong@3e6b1b1c.rev.stofanet.dk)
L441[06:38:22] <Koward> I know, but why would someone need a stack ?
L442[06:38:59] <Ordinastie_> because it's metadata dependant
L443[06:39:21] ⇨ Joins: howtonotwin (~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net)
L444[06:40:50] <Koward> Oh yeah, like for stainted glass, right
L445[06:40:56] <Ordinastie_> for example
L446[06:42:08] <BordListian> there's mods that stick all their resources into one item
L447[06:42:35] <BordListian> so instead of mod:gear_iron you have mod:resource with metadata 79
L448[06:45:54] *** linuxdaemon is now known as linuxdaemon1
L449[06:46:30] ⇨ Joins: fuj1n (~fuj1n@101.190.244.200)
L450[06:46:50] *** linuxdaemon1 is now known as linuxdaemon
L451[06:49:52] *** Vigaro is now known as V
L452[06:51:01] <ThePsionic> why would you do that tbh BordListian
L453[06:51:22] <BordListian> *shrugs*
L454[06:51:27] <BordListian> any reason not to?
L455[06:51:46] <ThePsionic> /shrug
L456[06:52:11] <ThePsionic> I guess it allows for more mods together since you don't have to worry about the internal item ID capping out
L457[06:52:28] <ThePsionic> (If that's even still a thing)
L458[06:52:40] <ThePsionic> (It probably is)
L459[06:55:43] <ThePsionic> And if it's just resources that don't do anything special, sure, why not
L460[07:00:12] <Koward> Because readability and consistency, maybe.
L461[07:00:56] ⇦ Quits: cpup (~cpup@32.218.117.152) (Ping timeout: 186 seconds)
L462[07:06:48] ⇨ Joins: cpup (~cpup@32.218.118.42)
L463[07:07:52] <BordListian> eh
L464[07:08:00] <BordListian> i think registering them one by one is more readable
L465[07:11:42] <masa> I have my dummy crafting ingredients in one item
L466[07:11:58] <masa> using metadata to separate the tiers and types
L467[07:12:12] <masa> it saves on having to have billions of item registrations
L468[07:12:28] <masa> and makes it easier to group all the stuff kind of
L469[07:13:09] <RANKSHANK> could also use enums for readability :D
L470[07:13:31] <RANKSHANK> EnumResource.GEAR_IRON.createStack(1);
L471[07:14:55] ⇦ Quits: Kaiyouka (~IdiotNono@c-75-71-231-133.hsd1.co.comcast.net) (Ping timeout: 202 seconds)
L472[07:22:55] ⇦ Quits: silenz (~silenz@185.108.121.43) (Quit: Leaving)
L473[07:25:04] ⇨ Joins: Chaoschaot234 (~Chaoschao@83-221-68-174.dynamic.primacom.net)
L474[07:29:44] ⇦ Quits: cpup (~cpup@32.218.118.42) (Ping timeout: 186 seconds)
L475[07:34:14] ⇨ Joins: cpup (~cpup@32.218.118.106)
L476[07:45:37] ⇦ Quits: npe|office (~NPExcepti@bps-gw.hrz.tu-chemnitz.de) (Quit: Leaving)
L477[07:51:04] <luacs1998> anyone knows what happened to MinecraftServer.getConfigurationManager?
L478[07:52:16] <gigaherz> getPLayerList
L479[07:52:23] <gigaherz> or soemthing like that
L480[07:58:19] ⇦ Quits: abab9579 (~Abastro@112.166.128.227) (Read error: Connection reset by peer)
L481[08:00:26] ⇨ Joins: abab9579 (~Abastro@112.166.128.227)
L482[08:02:46] ⇨ Joins: IceDragon (~ThatGuy@184.170.59.97)
L483[08:04:07] ⇨ Joins: Lunatrius` (~Lunatrius@77.38.21.26)
L484[08:04:47] ⇨ Joins: raoulvdberge (uid95673@id-95673.richmond.irccloud.com)
L485[08:05:03] ⇦ Quits: Abastro (~Abastro@112.166.128.227) (Ping timeout: 384 seconds)
L486[08:05:19] ⇦ Quits: Lunatrius (~Lunatrius@77.38.21.26) (Ping timeout: 202 seconds)
L487[08:05:24] *** Lunatrius` is now known as Lunatrius
L488[08:05:47] ⇦ Quits: Jezza (~Jezza@92.206.5.6) (Ping timeout: 202 seconds)
L489[08:05:50] ⇦ Quits: Koward (~Koward@2a02:2788:344:2d0:d45b:865:7421:17a4) (Quit: Leaving)
L490[08:06:07] ⇨ Joins: Naiten (Naiten@77.35.9.35)
L491[08:06:28] ⇨ Joins: Hunterz (~hunterz@62.182.234.189)
L492[08:10:27] ⇦ Quits: alekso56 (~znc@2001:464b:c2aa:0:745d:45ff:fe3b:a098) (Ping timeout: 202 seconds)
L493[08:13:00] ⇨ Joins: alekso56 (~znc@2001:464b:c2aa:0:745d:45ff:fe3b:a098)
L494[08:19:42] ⇨ Joins: Brokkoli (~Brokkoli@p5B23CCE8.dip0.t-ipconnect.de)
L495[08:22:07] ⇨ Joins: CoderPuppy (~cpup@32.218.118.217)
L496[08:23:59] ⇦ Quits: cpup (~cpup@32.218.118.106) (Ping timeout: 202 seconds)
L497[08:25:24] <luacs1998> what happened to EntityInteractEvent?
L498[08:27:42] <gigaherz> PlayerInteractEvent.entity
L499[08:30:10] <luacs1998> thanks
L500[08:33:18] ⇨ Joins: sinkillerj (~sinkiller@nc-67-232-14-224.dhcp.embarqhsd.net)
L501[08:40:14] ⇨ Joins: Searge (~Searge@c83-252-50-53.bredband.comhem.se)
L502[08:43:57] ⇨ Joins: Girafi (Girafi@0x555178eb.adsl.cybercity.dk)
L503[08:49:52] ⇦ Quits: blood_ (unknown@ool-4574115b.dyn.optonline.net) (Read error: Connection reset by peer)
L504[08:52:27] ⇦ Quits: Kano (~Kano@107-209-128-138.lightspeed.mssnks.sbcglobal.net) (Ping timeout: 202 seconds)
L505[08:53:25] ⇨ Joins: Kano (~Kano@107-209-128-138.lightspeed.mssnks.sbcglobal.net)
L506[08:54:47] ⇨ Joins: Lirianer (webchat@r167-60-97-190.dialup.adsl.anteldata.net.uy)
L507[09:00:01] ⇦ Quits: bilde2910 (bilde2910@51.174.170.178) (Ping timeout: 384 seconds)
L508[09:00:41] ⇨ Joins: bilde2910 (bilde2910@51.174.170.178)
L509[09:08:57] ⇨ Joins: JamEngulfer (~JamEngulf@host5-81-242-203.range5-81.btcentralplus.com)
L510[09:11:07] ⇦ Quits: Chais (~Chais@62.178.210.212) (Read error: Connection reset by peer)
L511[09:12:03] ⇦ Quits: minot (~minot@pool-98-109-119-45.nwrknj.fios.verizon.net) (Ping timeout: 190 seconds)
L512[09:12:51] ⇨ Joins: Kaiyouka (~IdiotNono@c-75-71-231-133.hsd1.co.comcast.net)
L513[09:14:17] ⇨ Joins: Chais (~Chais@62.178.210.212)
L514[09:15:00] ⇨ Joins: Koward (~Koward@2a02:2788:344:2d0:d45b:865:7421:17a4)
L515[09:15:06] <JamEngulfer> I’m making a tileentity that does stuff based on the blocks around it. Should I just loop through every block around it, or is there another way of doing it? I was considering checking the blocks when it’s first placed, then re-doing the calculation whenever a block update happens
L516[09:15:53] *** TTFT|Away is now known as TTFTCUTS
L517[09:16:37] <JamEngulfer> But, I don’t really know how to do the latter
L518[09:17:09] <Ordinastie_> depends on the radius
L519[09:17:19] <Ordinastie_> are they supposed to be direct neighbors ?
L520[09:18:42] <JamEngulfer> good question. I was initially planning for that, but I just thought I might be able to have it larger than that
L521[09:19:07] <Ordinastie_> because your block is notified when direct neighbors change
L522[09:19:17] <Ordinastie_> blocks further away, they don't
L523[09:19:18] <JamEngulfer> That sounds much easier
L524[09:19:29] <JamEngulfer> I’ll just go for the neighbors
L525[09:19:46] <Ordinastie_> then you override onNeighborChanged in your block
L526[09:20:31] <JamEngulfer> Thanks! I guess I just wasn’t googling the right words
L527[09:20:51] ⇨ Joins: cpup (~cpup@32.218.119.110)
L528[09:22:10] ⇦ Quits: CoderPuppy (~cpup@32.218.118.217) (Ping timeout: 182 seconds)
L529[09:38:45] <JamEngulfer> Wait, how do I get the position of a block from a Block object?
L530[09:39:01] <JamEngulfer> I’m not finding any methods/variables that tell me that
L531[09:39:10] <TechnicianLP> from the block alone you cant get it
L532[09:39:25] ⇦ Quits: p455w0rd (~p455w0rd@172.78.247.236) (Ping timeout: 182 seconds)
L533[09:39:35] <JamEngulfer> Huh. That’s kinda weird
L534[09:40:15] <TechnicianLP> where do you need the position?
L535[09:40:27] <Ordinastie_> you get the position passed in the parameter
L536[09:40:42] ⇨ Joins: p455w0rd (~p455w0rd@172.76.179.123)
L537[09:41:08] <JamEngulfer> in onNeighborBlockChange, is there any way to get the position of the block that caused the change?
L538[09:41:16] <Ordinastie_> ah no
L539[09:41:30] <Ordinastie_> you only know the type of the block that changed
L540[09:41:42] <Ordinastie_> (not even the IBlockState, thanks mojang :x)
L541[09:41:53] ⇨ Joins: minot (~minot@pool-98-109-119-45.nwrknj.fios.verizon.net)
L542[09:42:02] <JamEngulfer> Strange… I don’t particularly need that, but it’s weird that it’s not included
L543[09:42:08] ⇦ Quits: RANKSHANK (~Michael@ppp121-44-60-13.lns20.syd4.internode.on.net) (Quit: Leaving.)
L544[09:42:40] <Ordinastie_> mojang only does what they need
L545[09:42:47] <Ordinastie_> so if they don't need smart, you don't get smart
L546[09:43:10] <JamEngulfer> :(
L547[09:45:14] ⇨ Joins: Samario (~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net)
L548[09:45:19] <Ordinastie_> but yes, you need to redo all your neighbor calculations each time
L549[09:45:44] ⇦ Quits: p455w0rd (~p455w0rd@172.76.179.123) (Ping timeout: 186 seconds)
L550[09:45:54] ⇨ Joins: p455w0rd (~p455w0rd@172.76.179.173)
L551[09:46:24] <JamEngulfer> At least it’s better than doing the calculation each update
L552[09:46:32] <Ordinastie_> yup
L553[09:48:55] ⇨ Joins: Pearle (~Curle@host86-168-198-38.range86-168.btcentralplus.com)
L554[09:49:00] <Pearle> o/ :D
L555[09:51:29] ⇨ Joins: Vazkii (~Vazkii@a79-169-163-74.cpe.netcabo.pt)
L556[09:53:36] ⇦ Quits: p455w0rd (~p455w0rd@172.76.179.173) (Ping timeout: 182 seconds)
L557[09:53:45] ⇨ Joins: p455w0rd (~p455w0rd@172.76.195.188)
L558[09:54:22] ⇦ Quits: HiddenKnowledge (~HiddenKn@93.ip-158-69-206.net) (Ping timeout: 182 seconds)
L559[09:54:48] ⇦ Quits: chbachman (~chbachman@192.99.145.160) (Ping timeout: 186 seconds)
L560[09:54:48] ⇦ Quits: Mine|dreamland (~minecreat@tterrag.com) (Ping timeout: 186 seconds)
L561[09:55:27] ⇦ Quits: dangranos (~dangranos@hekate.pc-logix.com) (Ping timeout: 202 seconds)
L562[09:55:31] ⇦ Quits: wolfmitchell (~wolfmitch@149.56.182.12) (Ping timeout: 182 seconds)
L563[09:55:38] ⇦ Quits: Twisted_Code (~macks2008@ip232.ip-192-99-226.net) (Quit: ZNC 1.7.x (http://znc.in) quit: disconnected from ZNC)
L564[09:55:43] ⇦ Quits: linuxdaemon (~linuxdemo@dev.walterbarnes.net) (Ping timeout: 190 seconds)
L565[09:55:52] ⇦ Quits: Deamon (~Deamon@irc.thevoxelbox.com) (Ping timeout: 186 seconds)
L566[09:56:01] ⇦ Quits: TehNut (~TehNut@192.99.145.160) (Ping timeout: 186 seconds)
L567[09:56:23] ⇦ Quits: tterrag|ZZZzzz (~tterrag@tterrag.com) (Ping timeout: 202 seconds)
L568[09:56:24] ⇦ Quits: Cyrusc (~cyrusc@30.ip-149-56-141.net) (Ping timeout: 186 seconds)
L569[09:57:25] ⇨ Joins: RichardG (~richardg8@201.37.240.120)
L570[09:57:25] MineBot sets mode: +v on RichardG
L571[10:01:18] ⇨ Joins: HiddenKnowledge (~HiddenKn@93.ip-158-69-206.net)
L572[10:01:20] ⇨ Joins: Cyrusc (~cyrusc@30.ip-149-56-141.net)
L573[10:01:25] ⇦ Quits: fuj1n (~fuj1n@101.190.244.200) (Quit: Stuff)
L574[10:01:46] ⇨ Joins: linuxdaemon (~linuxdemo@dev.walterbarnes.net)
L575[10:01:56] ⇨ Joins: chbachman (~chbachman@2607:5300:100:200::199)
L576[10:01:56] ⇨ Joins: TehNut (~TehNut@192.99.145.160)
L577[10:02:01] ⇨ Joins: dangranos (~dangranos@hekate.pc-logix.com)
L578[10:02:27] ⇨ Joins: tterrag (~tterrag@tterrag.com)
L579[10:03:02] ⇨ Joins: CoderPuppy (~cpup@32.218.119.172)
L580[10:04:54] ⇨ Joins: wolfmitchell (~wolfmitch@149.56.182.12)
L581[10:06:11] ⇦ Quits: cpup (~cpup@32.218.119.110) (Ping timeout: 202 seconds)
L582[10:06:38] ⇦ Quits: Lathanael|Away (~Lathanael@p54961065.dip0.t-ipconnect.de) (Ping timeout: 182 seconds)
L583[10:06:41] ⇦ Quits: JamEngulfer (~JamEngulf@host5-81-242-203.range5-81.btcentralplus.com) (Quit: JamEngulfer)
L584[10:06:58] ⇨ Joins: JamEngulfer (~JamEngulf@host5-81-242-203.range5-81.btcentralplus.com)
L585[10:08:48] ⇨ Joins: Lathanael|Away (~Lathanael@p549607F3.dip0.t-ipconnect.de)
L586[10:10:22] ⇦ Quits: Wolwrig (~Wolwrig@2602:ffe8:200::7f1e:61de) (Quit: ZNC - http://znc.in)
L587[10:12:23] ⇨ Joins: Twisted_Code (~macks2008@ip232.ip-192-99-226.net)
L588[10:14:42] ⇨ Joins: Wolwrig (~Wolwrig@2602:ffe8:200::7f1e:61de)
L589[10:22:47] ⇦ Quits: Naiten (Naiten@77.35.9.35) (Read error: Connection reset by peer)
L590[10:25:22] ⇨ Joins: Cooler (~CoolerExt@117.223.21.218)
L591[10:25:23] ⇦ Quits: V (Vigaro@vigaro.tk) (Ping timeout: 190 seconds)
L592[10:29:05] *** willieaway is now known as williewillus
L593[10:29:08] ⇨ Joins: olee (~olee@mail.bzeutzheim.de)
L594[10:29:50] ⇨ Joins: V (Vigaro@vigaro.tk)
L595[10:29:56] <olee> can any1 tell my why now CommandBase.execute gets passed a MinecraftServer instance? is there any use for that?
L596[10:30:05] *** V is now known as Vigaro
L597[10:30:41] <Koward> Wood, sapling, leaves have a metadata of 32767 when got from the Oredict. Why ?
L598[10:31:43] ⇦ Quits: Pearle (~Curle@host86-168-198-38.range86-168.btcentralplus.com) (Ping timeout: 190 seconds)
L599[10:33:30] <Ordinastie_> Koward, I think that's the WILDCARD
L600[10:33:51] <Ordinastie_> olee, because commands are executed on the server ?
L601[10:34:33] <gigaherz> Koward: it's the value of OreDictionary.WILDCARD_VALUE
L602[10:36:34] <Koward> Okay, makes sense.
L603[10:40:24] <gigaherz> hmmm
L604[10:40:24] <gigaherz> https://www.youtube.com/watch?v=GKnYBdgg7dc
L605[10:40:29] <gigaherz> I wonder what they did to cause this
L606[10:40:38] <gigaherz> he speaks of it being ona "global timer" but his description doesn't match
L607[10:40:49] <gigaherz> sounds more like they switched to using wall-clock delays for the timers
L608[10:41:09] <williewillus> what delays? :P
L609[10:41:16] <gigaherz> hoppers don't send items every tick
L610[10:41:21] <gigaherz> they work every X ticks
L611[10:41:41] <gigaherz> they have a transferCooldown right now
L612[10:41:48] <gigaherz> but apparently in one of the snapshots that changed
L613[10:41:50] <gigaherz> watch the vid
L614[10:42:07] <gigaherz> the timings for hoppers appear to be inconsistent in the snapshot
L615[10:42:28] <williewillus> oh jeb said in the linked bug ticket it's aligned to the game tick now
L616[10:42:33] <williewillus> hence global timer
L617[10:42:53] <williewillus> https://bugs.mojang.com/browse/MC-105560?focusedCommentId=324518&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-324518
L618[10:43:36] <gigaherz> yep
L619[10:43:44] <gigaherz> "etho clocks" and such aree completely inconsistent now
L620[10:44:04] <gigaherz> can't rely on 3 items = 24 ticks periot
L621[10:44:07] <gigaherz> period*
L622[10:44:07] ⇦ Quits: Thefjong (~Thefjong@3e6b1b1c.rev.stofanet.dk) (Read error: Connection reset by peer)
L623[10:45:25] ⇦ Quits: ThePsionic (~ThePsioni@ip5457f909.direct-adsl.nl) (Ping timeout: 384 seconds)
L624[10:45:28] <gigaherz> williewillus: I wonder what this alignment is supposed to mean :/
L625[10:45:34] <williewillus> worldtime % 4
L626[10:45:56] <williewillus> instead of transferCooldown = 4
L627[10:46:00] <gigaherz> I see
L628[10:46:01] <gigaherz> but
L629[10:46:15] <williewillus> id rather have the old bug back lol
L630[10:46:21] <gigaherz> how does that make the "etho clocks" activate so inconsistently?
L631[10:46:41] <gigaherz> shouldn't this make them MORE stable?
L632[10:46:55] <gigaherz> that's what confuses me
L633[10:50:50] ⇨ Joins: codahq (~codahq@c-73-65-219-228.hsd1.ut.comcast.net)
L634[10:54:09] <masa> hmm, doesn't it mean the cooldown period is now variable depending on when the item arrives to the hopper?
L635[10:55:50] <gigaherz> yes
L636[10:56:21] <williewillus> the tradeoff is too great for this "fix"
L637[10:56:31] <williewillus> and it also doesnt make sense from a logical standpoint :P
L638[10:56:33] <gigaherz> I'm not even sure what that fixes
L639[10:56:34] <masa> mojang sure are doing a fine job... 1.9 and 1.10 are too broken for me to update my vanilal server, and 1.11 might have fixed some of those issues, and now they break redstone so badly that it is another blocker for an upgrade
L640[10:56:46] <williewillus> gigaherz: that ticket I linked above
L641[10:56:54] <williewillus> the fix for it caused this
L642[10:57:01] <gigaherz> yes I know
L643[10:57:03] <gigaherz> I mean
L644[10:57:11] <gigaherz> I don't know how the issue is fixed by this ;P
L645[10:57:40] <williewillus> probably something to do with whatre they called, shadow chunks or something where you're right on the edge and TE ticks are strange
L646[10:57:46] <williewillus> i don't know :P
L647[10:57:55] <gigaherz> wait nevermind
L648[10:57:56] <gigaherz> The bug in this particular case was that the two neighboring hoppers would get almost exactly the same cooldown tick. This meant that instead of hopping the item every ~4 ticks, the item would stay in either hopper 7 or 8 ticks and in the other one 1 or 0 ticks. The comparator is not updated frequently enough to notice this, so it looked stuck.
L649[10:58:08] <masa> "The comparator is not updated frequently enough to notice this, so it looked stuck."
L650[10:58:14] <masa> so was the bug visual only?
L651[10:58:18] <gigaherz> no
L652[10:58:23] <gigaherz> the issue is the comparator for one side would be like
L653[10:58:40] <gigaherz> [0]->1->0...[0]
L654[10:58:47] <gigaherz> where []is the comparator measuring the items
L655[10:59:00] <gigaherz> it wouldn't have time to see an item for long enough to become active
L656[10:59:05] <williewillus> ah
L657[10:59:12] <gigaherz> while the other would be like
L658[10:59:20] <gigaherz> [1]->0->1-...[1]
L659[10:59:21] <williewillus> because redstone components only update every other tick
L660[10:59:28] <gigaherz> not long enough for it to notice the 0 and become inactive
L661[11:00:02] <gigaherz> basically two hoppers having their cooldown cycle offset by 1 or 2
L662[11:00:20] <gigaherz> 1 or 3* which is 1
L663[11:00:21] <gigaherz> ;P
L664[11:00:26] <gigaherz> so offset by 1
L665[11:00:51] ⇨ Joins: Pearle (~Curle@host86-168-198-38.range86-168.btcentralplus.com)
L666[11:02:03] ⇦ Quits: minot (~minot@pool-98-109-119-45.nwrknj.fios.verizon.net) (Ping timeout: 190 seconds)
L667[11:02:05] *** amadornes is now known as amadornes[Streaming]
L668[11:04:44] <Koward> I replaced EntityItem with my own class at EntityJoinWorldEvent. Could I do the same with EntityPlayer or would it impossible ? As there are things like EntityPlayerMP next to it, I'm not sure
L669[11:07:27] <TechnicianLP> what are you trying to do to the player?
L670[11:09:21] <williewillus> yeah start with your objective
L671[11:09:33] <williewillus> replacing a player entity class is usually not the best of ideas :P
L672[11:09:48] <JamEngulfer> Is it safe to save the ordinal of an Enum in NBT data for a block? Or should I do a switch statement on the Enum and return a set value?
L673[11:10:06] <Koward> Mainly I'd like to edit onLivingUpdate(), which holds the logic for countless things like movement speed or healing
L674[11:10:18] <williewillus> Koward: edit how so?
L675[11:10:23] <williewillus> precisely what do you need changed
L676[11:10:29] <williewillus> JamEngulfer: what kind of even is this?
L677[11:10:33] <williewillus> *enum
L678[11:10:36] <williewillus> idk how even came out
L679[11:10:42] <TechnicianLP> the ordinals normally dont change ... (but ad a range check)
L680[11:11:11] <williewillus> yeah if its something that would never change like enumfacing youre fine but otherwise be wary of it changing on you
L681[11:11:29] <Pearle> ps, willie, my modding group wants to make a mod that fucks up the progression of botania
L682[11:11:33] <Pearle> thoughts? :L
L683[11:12:02] <JamEngulfer> williewillus: It’s a custom one to represent different types of power in a tileentity. There’s a good chance I’ll edit the Enum in the future to add more
L684[11:12:03] <gigaherz> the ordinals do change
L685[11:12:11] <gigaherz> if you reorder the enum members between versions
L686[11:12:11] <gigaherz> ;P
L687[11:12:27] <JamEngulfer> Yeah, that’s what I’m afraid of
L688[11:12:27] <gigaherz> however it's generally safe ;P
L689[11:12:34] <williewillus> Pearle: the way you word it already makes me not like it, but what do you mean by that?
L690[11:12:46] <williewillus> also I don't have control over what you guys do or don't do, the community does by choosing to play it or not
L691[11:12:49] <williewillus> :P
L692[11:12:53] <Pearle> fair enough
L693[11:12:54] <gigaherz> JamEngulfer: if the enum is IStringSerializable
L694[11:12:58] <gigaherz> then use the name for it
L695[11:13:07] <Pearle> just thought you might have some suggestions to make it easier for everyone :L
L696[11:13:08] <williewillus> gigaherz: but how do you map that back to the enum object 0.o
L697[11:13:17] <gigaherz> williewillus: iterate VALUES
L698[11:13:20] <JamEngulfer> Won’t that take up a lot of disk space?
L699[11:13:25] <gigaherz> and .equals(getName)
L700[11:13:30] <gigaherz> or rather
L701[11:13:35] <gigaherz> getName().equals(value)
L702[11:13:35] <williewillus> could build a lookup map
L703[11:13:39] <gigaherz> to avoid NPEs
L704[11:13:47] <gigaherz> or yes
L705[11:13:54] <williewillus> Pearle: suggestions for what lol
L706[11:13:55] <gigaherz> make a Map<String,it> at startup
L707[11:14:25] <JamEngulfer> I’ll just go with a switch statement in a method
L708[11:14:43] <williewillus> switching on what? :P
L709[11:14:51] <olee> Ordinastie_: but you can get the server via MinecraftServer.getServer()
L710[11:15:00] <JamEngulfer> on the enum, duh
L711[11:15:02] <gigaherz> JamEngulfer: that's like theworst possible option?
L712[11:15:09] <gigaherz> what about new values? ;P
L713[11:15:21] <JamEngulfer> I’ll just add them to the switch!
L714[11:15:28] <JamEngulfer> It’s fiiine
L715[11:15:52] <williewillus> default: :P
L716[11:16:18] <Koward> I want first to multiply EntityPlayer.jumpMovementFactor
L717[11:16:20] <JamEngulfer> I’ll just remember new ones. Nothing will go wrong
L718[11:16:23] <JamEngulfer> I promise :P
L719[11:16:37] ⇦ Quits: Lirianer (webchat@r167-60-97-190.dialup.adsl.anteldata.net.uy) (Ping timeout: 195 seconds)
L720[11:16:49] <williewillus> Koward: jump boost is a thing :P
L721[11:17:56] <gigaherz> What the.... there's a QUEUE
L722[11:18:01] <gigaherz> to open the LAUNCHER for battle.net
L723[11:18:05] <gigaherz> not the games
L724[11:18:07] <gigaherz> the LAUNCHER
L725[11:18:19] <williewillus> lolwat
L726[11:18:20] <JamEngulfer> XD
L727[11:18:26] <JamEngulfer> what in the heck?
L728[11:19:53] <gigaherz> https://dl.dropboxusercontent.com/u/743491/battlenetlauncher.PNG
L729[11:20:30] <gigaherz> that < 1 minute
L730[11:20:35] <gigaherz> has been going on for over 2
L731[11:20:36] <gigaherz> ;P
L732[11:21:02] <williewillus> i have resolved myself to never look at the source of mods i really like, because usually i find something terrible there xD
L733[11:21:25] <Koward> I'd also want to multiple getDigSpeed but there's already an event for that
L734[11:21:43] <williewillus> Koward: and haste effect :P
L735[11:21:55] <JamEngulfer> williewillus: Never meet your hero’s code?
L736[11:22:06] <williewillus> for example extra alchemy addds a bunch of cool potion effects...but it manually scans the reggistry to find a free int id
L737[11:22:11] <williewillus> instead of using the FML auto-assign
L738[11:22:24] <TechnicianLP> williewillus: https://github.com/brandon3055/Draconic-Evolution/blob/master/src/main/java/com/brandon3055/draconicevolution/common/handler/FMLEventHandler.java#L36
L739[11:22:26] <Koward> But it would pollutes the GUI
L740[11:22:28] <williewillus> it works but just y
L741[11:22:52] <williewillus> TechnicianLP: wtf
L742[11:23:11] <TechnicianLP> that handler needs a lot of ticking ...
L743[11:23:19] <gigaherz> a whole lot!
L744[11:23:23] <JamEngulfer> TechnicianLP: Explain why that’s so wrong?
L745[11:23:34] <TechnicianLP> it is ticked ~40 per second
L746[11:23:40] <JamEngulfer> good lord....
L747[11:23:42] <williewillus> retrieving contributor stuff is something you do once
L748[11:23:54] <Koward> williewillus If I could change foodStats without reflection that'd be great
L749[11:24:08] <Koward> And I could if I overrided EntityPlayer
L750[11:24:13] <raoulvdberge> How can I check if a chunk is loaded, serverside?
L751[11:24:15] <diesieben07> it's not really that's ticking 40 times a second. it's that it's called "serverTick", implying the intention, but that method also receives client and render ticks...
L752[11:24:41] <williewillus> raoulvdberge: isBlockLoaded(Block Pos)
L753[11:24:43] <raoulvdberge> Currently I'm doing worldObj.getChunkFromBlockCoords(pos).isLoaded(), but I think thats clientside only?
L754[11:24:59] <williewillus> or world.isChunkLoaded( chunkX, chunkZ)
L755[11:25:03] <TechnicianLP> Koward: http://www.minecraftforge.net/wiki/Using_Access_Transformers
L756[11:25:14] <williewillus> use methodhandles
L757[11:25:37] <williewillus> and don't try to replace the player entity you will break absolutely everything
L758[11:25:40] <williewillus> literally :P
L759[11:26:10] <Koward> I already use reflection, but I was looking for a nicer method. It feels so clunky. I change the foodStats field, it works, but I also have to make events at logout to manually save the NBT, it's so clunky
L760[11:26:31] <gigaherz> wat
L761[11:26:35] <williewillus> ???
L762[11:26:42] <gigaherz> can't you use a capability for managing it?
L763[11:26:42] <Koward> @SubscribeEvent
L764[11:26:42] <Koward> public void saveFoodSystem(PlayerLoggedOutEvent event) {
L765[11:26:42] <Koward> event.player.getFoodStats().writeNBT(event.player.getEntityData());
L766[11:26:42] <Koward> }
L767[11:26:44] <williewillus> are you replacing the foodstats object with something entirely different?
L768[11:26:47] <Koward> That should not happen
L769[11:26:58] <Koward> Yes, with a class extending FoodStats
L770[11:27:05] <gigaherz> o_O
L771[11:27:16] <williewillus> then the standard saving should save it properly
L772[11:27:26] <williewillus> if it's not saving that means your extension class is not saving properly
L773[11:28:05] <gigaherz> wait if you replace foodstats
L774[11:28:07] <diesieben07> and that writing to getEntityData is... very questionable
L775[11:28:10] <gigaherz> are you forwarding the calls to the original?
L776[11:28:13] <diesieben07> i don't think you know what getEntityData does.
L777[11:28:15] <gigaherz> otherwise
L778[11:28:19] <williewillus> and yes
L779[11:28:21] <gigaherz> any other mod that does thesame as you will break
L780[11:28:29] <williewillus> that's not getEntityData is supposed to be used for :P
L781[11:29:19] <williewillus> getEntityData is for a custom *modded* tag. foodstats is vanilla data and is stored with all the vanilla tags. If your extrension class is composing the original properly everything should just work (tm)
L782[11:29:36] <Koward> I indeed keep data of original
L783[11:29:38] <JamEngulfer> Hey, do we have guaranteed access to the Google Commons library?
L784[11:29:48] <williewillus> Koward: you don't keep anything... :P
L785[11:29:53] <williewillus> you mean you compose the original object?
L786[11:29:56] <williewillus> JamEngulfer: yes
L787[11:30:02] <JamEngulfer> neat
L788[11:30:25] <JamEngulfer> Just wondering, in case it was something that might be removed without warning
L789[11:30:27] <williewillus> every lib you see in a decomp workspace is available to you at runtime (besides vecmath i think? there was a special one somewhre). plus obvious stuff like the sound codecs
L790[11:30:40] <williewillus> which won't be on dediserver
L791[11:30:48] ⇨ Joins: Eccles (~eccles@S0106f81edff80f58.gv.shawcable.net)
L792[11:31:13] <Koward> I just read its NBT
L793[11:31:23] <williewillus> wat
L794[11:31:50] <Koward> I mean, I deserialize it now for a few days, diesieben affirms it keeps more.
L795[11:31:52] <williewillus> are you not composing it? (hold the orignal in a field and forward eveyrthing to it)
L796[11:31:52] <diesieben07> so many people don't understand NBT -.-
L797[11:32:30] <Koward> No, as I'm editing every single method I don't have anything to forward.
L798[11:33:23] <Koward> I'm editing the maximum amount of food for example, from 20 to 60, allowing more intermediate levels of hunger.
L799[11:33:50] <williewillus> that's not "every single method" :P
L800[11:33:51] <Koward> I don't expect compatibility with anything that would try to also edit that.
L801[11:33:53] <williewillus> but whatever
L802[11:34:26] <williewillus> diesieben07: more people don't know how to compose in a comptaible way :P (coughs at reach distance-modifying mods)
L803[11:34:36] <williewillus> though that really needs to jyust be an attribute mojang pls
L804[11:35:28] <williewillus> botania currently does a pretty ugly thing to modify reach distance and i haven't had time or motivation to fix it lol
L805[11:35:55] <Koward> No I'm also changing onUpdate, all the getters (since I define my own private fields with higher numbers), lots of things.
L806[11:36:01] <Koward> Compatibility is quite overrated
L807[11:36:11] <williewillus> lol
L808[11:36:13] <williewillus> i'm done
L809[11:36:26] <williewillus> if it's overrated then don't use forge and make it a jar mod :P
L810[11:36:29] <Koward> Sometimes things just can't live together x)
L811[11:37:00] <TechnicianLP> if you dont want compatibility you can use this: http://www.minecraftforge.net/wiki/Core_Mod but dont come here if something breaks ...
L812[11:37:08] ⇦ Quits: Hanii (~Hanii@227.120.147.147.dyn.plus.net) (Quit: Hanii)
L813[11:37:14] <williewillus> TechnicianLP: no you don't use forge if you don't want compat :P
L814[11:37:30] <Koward> I don't want to break things for the sake of breaking things
L815[11:37:41] <TechnicianLP> thats another option ...
L816[11:38:38] <williewillus> Koward: either way, the way you compose i do't really care about but saving to getEntityData is downright incorrect. the writeToNBT and readToNBT methods are all you need
L817[11:39:10] <raoulvdberge> When is TileEntity#invalidate called?
L818[11:39:23] <williewillus> find usages in your ide :P
L819[11:39:45] ⇨ Joins: darkdiplomat (Diplomat@irc.visualillusionsent.net)
L820[11:40:10] <Koward> Where should I point write/readToNBT if not to EntityData like I'm doing right now ?
L821[11:40:20] <raoulvdberge> williewillus: that only shows from my own project usages :P
L822[11:40:31] <williewillus> you can change it to do libraries
L823[11:40:34] <TechnicianLP> Koward: ouch
L824[11:41:11] <williewillus> Koward: what do you think that little parameter you get passed in those two methods is for? :P
L825[11:41:38] <TechnicianLP> decoration!
L826[11:41:49] <williewillus> lmao
L827[11:42:31] <williewillus> MC takes care of calling writeToNBT/readFromNBT for you, you jiust have to do the right thing in it
L828[11:42:44] <williewillus> and the vanilla foodstats class shows you an example
L829[11:42:48] <Koward> So even though I add no new tags (and the vanilla values of those are useless to me), instead of using EntityData I should just do my own compound. That's what you're telling me ?
L830[11:42:58] <williewillus> no...
L831[11:43:08] <williewillus> you should never be calling read/write yourself on FoodStats
L832[11:43:19] <williewillus> just save stuff to the compound that is passed in
L833[11:43:48] <Koward> Oh I see.
L834[11:43:58] <gigaherz> haveyou never implemented an entity or tileentity?
L835[11:44:16] <williewillus> we need rtd on how saving works lol
L836[11:44:18] <Koward> I know what you mean now
L837[11:44:29] <Koward> Oh that was a terrible misunderstanding
L838[11:44:37] <williewillus> heh nbd
L839[11:46:16] <Koward> I already do properly override the writeNBT&readNBT. If I remember well for some reason they do not get called at all. Which is my problem.
L840[11:47:06] <williewillus> they should be called by EntityPlayer's read/writenbt, stick a breakpoint in there or something
L841[11:47:20] <williewillus> it's possible you are replacing foodstats too late and read/write has already been called on the original
L842[11:48:15] *** williewillus is now known as willieaway
L843[11:48:44] <Koward> The read, probalbly, but the writing should happen after
L844[11:48:55] ⇦ Quits: JamEngulfer (~JamEngulf@host5-81-242-203.range5-81.btcentralplus.com) (Quit: JamEngulfer)
L845[11:49:12] ⇨ Joins: JamEngulfer (~JamEngulf@host5-81-242-203.range5-81.btcentralplus.com)
L846[11:49:53] ⇨ Joins: McJty (~jorrit@94-225-203-206.access.telenet.be)
L847[11:51:25] ⇦ Quits: Eccles (~eccles@S0106f81edff80f58.gv.shawcable.net) ()
L848[11:52:20] <diesieben07> Koward, where are you replacing it?
L849[11:55:00] ⇨ Joins: Curle (~Nurgie546@host86-168-198-38.range86-168.btcentralplus.com)
L850[11:55:22] <JamEngulfer> Hmm, how would I go about finding if a block is a water/lava block or not?
L851[11:56:02] <diesieben07> check the material
L852[11:56:56] <Pearle> or check if it extends BlockFluid(Classic?)
L853[11:58:24] <JamEngulfer> Ah, I didn’t mean if it’s a liquid or not. I meant checking specifically if it’s water or specifically if it’s lava
L854[11:58:30] ⇦ Parts: olee (~olee@mail.bzeutzheim.de) (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))
L855[11:59:37] <Pearle> yeah. just a thought.
L856[12:02:36] *** Vigaro is now known as V
L857[12:02:48] <JamEngulfer> I’ve seen solutions for 1.7, but nothing for 1.8
L858[12:04:25] <Corosus> material checking, has lava vs water materials
L859[12:04:33] *** Darkhax_AFK is now known as Darkhax
L860[12:04:57] <Corosus> eg datBlock.getMaterial(state) == Material.LAVA
L861[12:07:56] <JamEngulfer> Oh right, I didn’t realise the materials worked like that. whoops
L862[12:08:07] <sham1> o/
L863[12:08:37] ⇨ Joins: Seppon (~Noppes@ip56530f2e.direct-adsl.nl)
L864[12:09:15] *** kroeser|away is now known as kroeser
L865[12:11:43] <Koward> diesieben07 EntityJoinWorldEvent
L866[12:11:51] <diesieben07> yeah thats too late.
L867[12:12:15] <Koward> So when I replace it I read the NBT from EntityData.
L868[12:12:28] <diesieben07> that won't work.
L869[12:12:45] <diesieben07> you need something earlier, maybe entityconstructing
L870[12:12:47] <Koward> Maybe I could write original to a compound, then read the new on it. To copy data, I mean
L871[12:12:53] <diesieben07> but thats too early, since itÄs in the superconstructor... hrm
L872[12:13:12] <diesieben07> don't have access to my IDE at the moment because my computer is dead
L873[12:13:19] <diesieben07> so you'll have to find a hook yourself
L874[12:13:54] <JamEngulfer> rip computer
L875[12:13:58] <Koward> I'm not sure there is. I have also looked into other mods that do what I'm trying to achieve, such as TerraFirmaCraft, and they have the same solution as me
L876[12:14:14] <diesieben07> that is a lie, since then your solution would work :P
L877[12:14:23] ⇦ Quits: Noppes (~Noppes@ip56530f2e.direct-adsl.nl) (Ping timeout: 384 seconds)
L878[12:14:41] <Koward> It works, if I do all the things manually :P
L879[12:14:45] ⇨ Joins: Morphan1 (Morphan1@neo.mcmonkey.org)
L880[12:15:06] <Ordinastie_> where is the bus for FML events again ?
L881[12:15:09] <Koward> But it's also limited to food. If wrapping EntityPlayer had been possible, it would have seemed better in my mind
L882[12:15:14] <diesieben07> Ordinastie_, it's gone.
L883[12:15:27] <Ordinastie_> I mean the mod events
L884[12:15:31] <Ordinastie_> FML loading
L885[12:15:39] <Ordinastie_> it's gone too ?
L886[12:15:54] <diesieben07> oh
L887[12:15:55] <diesieben07> uhhh
L888[12:15:59] <diesieben07> not sure if you get access to that bus
L889[12:16:05] <diesieben07> because there is one per mod
L890[12:16:08] ⇦ Quits: Cooler (~CoolerExt@117.223.21.218) (Ping timeout: 186 seconds)
L891[12:18:02] <Ordinastie_> it's private :(
L892[12:18:21] <diesieben07> why do you want it?
L893[12:19:14] <Ordinastie_> have my client registry registered in it
L894[12:19:26] <Ordinastie_> so I don't have to get the instance from my mod container
L895[12:19:45] <diesieben07> ehm... what? :O
L896[12:19:49] <diesieben07> oh
L897[12:20:04] <diesieben07> you want to receive Fml events outside of your mod?
L898[12:20:33] <McJty> Going to ask a question again for which I got no answer so far
L899[12:20:35] <Ordinastie_> outisde of the mod class yes
L900[12:20:45] <McJty> Why are all dimensions only unloading after the first time you visit it?
L901[12:20:48] <McJty> Like nether and end
L902[12:20:53] <Ordinastie_> and tbh, I think that's how proxies should have been done too
L903[12:20:56] <McJty> You have to visit them once and only then do they unload
L904[12:21:07] <diesieben07> don't you have a coremod already anyways ordi? in that case you get the bus in registerBus
L905[12:21:36] <Ordinastie_> I have a plugin, but the mod itself is a regular @Mod
L906[12:22:50] <diesieben07> you could subscribe to just FMLEvent and then put that into your own bus
L907[12:23:14] <Ordinastie_> hum?
L908[12:23:25] <Ordinastie_> but events need to fire for that bus
L909[12:23:28] <diesieben07> in your mod class handle ALL the events
L910[12:23:32] <diesieben07> in one method
L911[12:23:38] <Ordinastie_> meh
L912[12:23:41] <diesieben07> and then re-post them on your own bus, to which everyone cna subscribe
L913[12:25:46] <Ordinastie_> I love how far I get side tracked when refactoring :/
L914[12:26:36] <Koward> You were right diesieben, I just checked again and I'm a lier. TFC, at each LivingUpdateEvent 1)create new FoodStats 2) readNBT(getEntityData) 3) call onUpdate() 4) writeNBT(getEntityData).
L915[12:26:49] <diesieben07> that is horrible
L916[12:26:52] <Koward> I'm not sure that's very elegant
L917[12:26:52] <Ordinastie_> ewww
L918[12:26:53] <diesieben07> please don't copy that
L919[12:26:55] <Ordinastie_> lol
L920[12:27:46] <Koward> Oh, and I know that from here : https://github.com/Deadrik/TFCraft/blob/master/src/Common/com/bioxx/tfc/Handlers/EntityLivingHandler.java , https://github.com/Deadrik/TFCraft/blob/master/src/Common/com/bioxx/tfc/Handlers/EntityLivingHandler.java
L921[12:28:39] <Koward> It's bad, but it does not use any AT or ASM.
L922[12:30:34] ⇨ Joins: robotbrain (~robotbrai@2604:a880:800:10::94a:d001)
L923[12:31:30] ⇨ Joins: shadekiller666 (~shadekill@adsl-108-71-39-51.dsl.lsan03.sbcglobal.net)
L924[12:31:36] <robotbrain> is there an example of a persistent capability?
L925[12:32:13] <shadekiller666> is there a way to set the AxisAlignedBB of any given block?
L926[12:32:48] *** kroeser is now known as kroeser|away
L927[12:33:11] *** kroeser|away is now known as kroeser
L928[12:33:59] <Ordinastie_> shadekiller666, if they're not yours, no
L929[12:34:14] <shadekiller666> ok
L930[12:39:14] <gigaherz> even before, where there was a setbounds, it wasn't meant to be used from outside
L931[12:43:38] *** MrKick|Away is now known as MrKickkiller
L932[12:44:52] <Ordinastie_> diesieben07, the issue with forwarding the events is that i would need to do that for every mod I want that behavior, I cna't have centralized dispatch
L933[12:44:58] <Ordinastie_> (if I care about mod load order)
L934[12:46:10] ⇦ Quits: Koward (~Koward@2a02:2788:344:2d0:d45b:865:7421:17a4) (Quit: Leaving)
L935[12:46:39] ⇦ Quits: McJty (~jorrit@94-225-203-206.access.telenet.be) (Quit: Leaving)
L936[12:47:27] *** sokratis12GR is now known as sokratis12GR|Away
L937[12:53:33] <shadekiller666> if i wanted to detect when a vanilla block is broken in a specific area (without checking the area periodically), would having an entity that occupies that area and intercepts the left click (and doing some raytrace math to determine what was supposed to be broken) be a viable option?
L938[12:53:56] <shadekiller666> or would there be a simpler (or potentially faster) way of doing so
L939[12:59:04] <BordListian> check block harvest event or similar
L940[12:59:20] *** gigaherz is now known as ghz|afk
L941[12:59:40] <shadekiller666> how about block activation (ie. right clicking a furnace to open its gui)
L942[13:00:04] <BordListian> BlockInteract event
L943[13:00:07] <BordListian> i think
L944[13:04:13] <shadekiller666> i suppose it could be done with a combination PlayerInteractEvent and BlockEvent handler
L945[13:08:59] ⇨ Joins: Thefjong (~Thefjong@3e6b1b1c.rev.stofanet.dk)
L946[13:09:25] ⇦ Quits: JamEngulfer (~JamEngulf@host5-81-242-203.range5-81.btcentralplus.com) (Quit: JamEngulfer)
L947[13:22:43] *** fry is now known as fry|sleep
L948[13:23:10] ⇦ Parts: sokratis12GR|Away (~sokratis1@moritz30.de) ())
L949[13:24:31] ⇦ Quits: shadekiller666 (~shadekill@adsl-108-71-39-51.dsl.lsan03.sbcglobal.net) (Quit: Leaving)
L950[13:33:11] ⇨ Joins: killjoy1 (~killjoy@71.65.255.183)
L951[13:38:35] *** willieaway is now known as williewillus
L952[13:38:58] <TechnicianLP> !gm drawSlot
L953[13:38:58] <williewillus> can't you just ues BlockEvent.Break?
L954[13:40:18] ⇨ Joins: Ipsis (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk)
L955[13:45:26] ⇨ Joins: Koward (~Koward@2a02:2788:344:2d0:c4c6:e20:5028:8089)
L956[13:58:51] *** williewillus is now known as willieaway
L957[13:59:08] ⇨ Joins: Gil (uid147942@id-147942.brockwell.irccloud.com)
L958[14:01:37] ⇦ Quits: auenf (David@DC-24-199.bpb.bigpond.com) (Ping timeout: 182 seconds)
L959[14:02:36] ⇨ Joins: auenf (David@DC-24-199.bpb.bigpond.com)
L960[14:02:54] ⇦ Quits: Hunterz (~hunterz@62.182.234.189) (Remote host closed the connection)
L961[14:14:09] ⇨ Joins: Drullkus (~Dru11kus@2601:646:8301:ead3:69fd:7ee2:f149:f61c)
L962[14:25:17] ⇦ Quits: Ipsis (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk) (Ping timeout: 384 seconds)
L963[14:36:08] <Koward> I want to make a map ItemStack => Float, where I can store item variants (defined metadata) but also weapons for instance (all metadata), would it be safe to just set a Wildcard metadata when not specified and try the item with it when the first peek did not work, or would some special Items not like it
L964[14:36:09] <Koward> ?
L965[14:36:28] <sham1> Breathe
L966[14:36:45] <sham1> Take a deep breathe and explain to us what you want to do
L967[14:36:51] * Koward breathe in the air
L968[14:37:09] <sham1> Because this could be an XY problem
L969[14:37:26] <Koward> I'm adding weight for items. Simple, classic.
L970[14:37:37] <sham1> Sounds fun
L971[14:37:59] <Koward> Everything is ready, but as you can guess the weight values for each item must be stored somewhere, somehow.
L972[14:38:06] <sham1> L
L973[14:38:11] <sham1> Okay
L974[14:38:30] <sham1> What about storing the weights to the Itemstack's nbt
L975[14:38:45] <sham1> So each stack could have its own weight
L976[14:40:20] <sham1> And then you could just map each Item instance to a "base weight"
L977[14:40:33] <Koward> The idea is to attribute a weight to each item, and variants of course.
L978[14:41:03] <diesieben07> well, first of all, a Map will not work for oyu
L979[14:41:03] <Koward> Well with this map the weight of an actual stack is just number*weight
L980[14:41:10] <diesieben07> since ItemStacks don't override equals or hashCode
L981[14:41:13] <Koward> Okay, good to know.
L982[14:41:21] <diesieben07> so you basically need a List<Pair<ItemStack, Float>>
L983[14:41:29] <Koward> I expected it when I saw OreDict's code
L984[14:41:35] <diesieben07> and then iterate and check every stack with OreDictionary.itemMatches until you find one that matches
L985[14:41:41] <diesieben07> that would also support the wildcard metadata
L986[14:41:46] <diesieben07> but it does not compare NBT at all
L987[14:41:51] <sham1> "Java has no tupples" they said
L988[14:42:12] <sham1> s/tupples/tuples/
L989[14:42:15] <diesieben07> no proper tuples :D
L990[14:42:25] <diesieben07> you always have to box, which sucks
L991[14:42:38] * diesieben07 points to project valhalla
L992[14:42:50] <sham1> Til Valhalla?
L993[14:43:27] <Koward> You suggest to iterate around a List each time I want to query a weight ?
L994[14:43:40] <diesieben07> yep
L995[14:43:51] <diesieben07> what you can do if you get a performance problem is:
L996[14:44:05] <diesieben07> Map<Item,List<Pair<ItemStack, Float>>>
L997[14:44:07] <sham1> Note. dom
L998[14:44:12] <diesieben07> and have a List per item
L999[14:44:26] <sham1> don't do this now as it is premature optimisation at this point
L1000[14:44:54] <sham1> Only after you have verified your performance problems
L1001[14:45:15] <Koward> Premature optimisation, but this time there's a bit of readibility involved, but no problem, I don't have a better solution after all.
L1002[14:46:23] <Koward> Mmm what if I had a Map<Item, <Map<Integer (metadata), Float>>
L1003[14:46:30] <sham1> And honestly, iterating a list should not be too bad of a performance drop
L1004[14:46:55] <diesieben07> you could do that, yes
L1005[14:47:12] <diesieben07> but at that point a cleaner solution would be Map<ItemMetadataTuple, Float>
L1006[14:47:19] <Wuppy> anyone got a link to that big youtuber speaking out against kinguin & g2a?
L1007[14:47:24] <diesieben07> where ItemMetadataTuple is your classw, tih proper equals and hashcode
L1008[14:47:26] <Wuppy> I dont remember which youtuber it was anymore
L1009[14:47:41] <Koward> And then easy methods that decompose the ItemStack and if not found, I try with new ItemStack(stack.getItem(), OreDict.WILDCARD)
L1010[14:48:05] <diesieben07> you could do that, yes
L1011[14:48:16] <diesieben07> remember though like sham said, iterating a list is not as bad as you think
L1012[14:48:29] <diesieben07> vanilla crafting recipes iterate the whole list of recipes every time you check
L1013[14:49:57] <Pearle> o/
L1014[14:50:04] <sham1> \o
L1015[14:50:19] <sham1> \_o< quack
L1016[14:50:26] <Pearle> :D
L1017[14:51:09] <sham1> Oh stackoverflow, why you no have night theme
L1018[14:51:17] <Pearle> you know, if I had an anti-grav bike,
L1019[14:51:23] <Pearle> it'd drive me up the wall.
L1020[14:51:25] <Pearle> 7
L1021[14:51:33] <Pearle> damnit HexChat!
L1022[14:51:38] <sham1> hah
L1023[14:51:41] <sham1> hah
L1024[14:51:42] <sham1> hah
L1025[14:52:38] <Pearle> where'd you find a one-legged dog?
L1026[14:52:54] <Koward> What is happening
L1027[14:53:15] <Pearle> i'm raising the mood of stuff
L1028[14:53:20] <Pearle> it's my thing.
L1029[14:53:28] <Pearle> At night, we'd all just have a laff
L1030[14:53:54] <Pearle> i bought a book on anti-gravity
L1031[14:53:57] <Pearle> i couldnt put it down
L1032[14:53:59] <Koward> So much mood, I'm overwhelmed
L1033[14:54:09] <sham1> foo
L1034[14:54:10] <sham1> bar
L1035[14:54:11] <sham1> baz
L1036[14:54:13] <sham1> barf
L1037[14:54:36] ⇨ Joins: Katrix (~Katrix@2a02:fe0:cb10:2420:3dee:7372:aa77:73b)
L1038[14:54:36] <diesieben07> quuz
L1039[14:55:13] <sham1> Best way to name your variables is by making references to Monty Python
L1040[14:55:36] <Pearle> why is gold on the wind?
L1041[14:55:41] <Pearle> because it's August
L1042[14:55:44] <howtonotwin> If I had an anti-grav biked I'd clearly use it to save the life of the woman who died in front of my very eyes twice. :P
L1043[14:55:47] <sham1> mej
L1044[14:55:50] <sham1> meh
L1045[14:55:56] <Pearle> Au GUsT
L1046[14:55:59] <Pearle> damnit
L1047[14:56:05] <Pearle> Au GUST CORAL
L1048[14:56:06] <Pearle> Au GUST
L1049[14:56:13] <sham1> augustus caesar
L1050[14:56:16] <sham1> aka octavius
L1051[14:57:53] <Pearle> we had a contest for best neckwear
L1052[14:57:53] ⇦ Quits: Nitrodev (~Nitrodev@85-23-77-207.bb.dnainternet.fi) (Read error: Connection reset by peer)
L1053[14:57:55] <Pearle> it was a tie
L1054[14:58:16] <sham1> ...
L1055[14:58:19] <howtonotwin> Client for URLs: please no
L1056[14:58:57] <Pearle> what does a tree do to go on the internet
L1057[14:59:01] <Pearle> it logs on
L1058[14:59:23] * sham1 breathes deeply
L1059[15:00:16] <howtonotwin> DELETE /~Curle HTTP/1.1
L1060[15:00:21] <howtonotwin> Host: @host86-168-198-38.range86-168.btcentralplus.com
L1061[15:00:22] <howtonotwin> Connection: close
L1062[15:00:28] <Pearle> oi
L1063[15:00:32] <Pearle> wrong person
L1064[15:00:35] <sham1> wat
L1065[15:00:47] <howtonotwin> slightly malformed HTTP delete request xD
L1066[15:00:51] ⇦ Quits: TamasHenning (uid154987@id-154987.tooting.irccloud.com) (Ping timeout: 198 seconds)
L1067[15:00:52] <Pearle> i'm Pearle. There's a difference
L1068[15:00:57] <sham1> slightly
L1069[15:01:09] <howtonotwin> Your user field says otherwise ;)
L1070[15:01:20] ⇦ Quits: r4wk (uid48318@id-48318.tooting.irccloud.com) (Read error: Connection reset by peer)
L1071[15:01:22] <howtonotwin> User: ~Curle@host86-168-198-38.range86-168.btcentralplus.com
L1072[15:01:23] <Pearle> The difference is that this is a different computer
L1073[15:01:27] ⇦ Quits: CrazyPants (sid25103@id-25103.tooting.irccloud.com) (Ping timeout: 198 seconds)
L1074[15:01:33] <Pearle> Curle is my computer's user name :L
L1075[15:03:03] ⇦ Quits: Watchful1 (sid67384@id-67384.tooting.irccloud.com) (Ping timeout: 190 seconds)
L1076[15:03:23] ⇦ Quits: Greenphlem (uid22276@id-22276.tooting.irccloud.com) (Ping timeout: 190 seconds)
L1077[15:03:27] ⇦ Quits: Mysticdrew (sid103488@2604:8300:100:200b:6667:4:1:9440) (Ping timeout: 202 seconds)
L1078[15:03:37] <sham1> weird
L1079[15:03:47] <Pearle> hm?
L1080[15:03:48] ⇦ Quits: p455w0rd (~p455w0rd@172.76.195.188) (Quit: ✫✰)
L1081[15:04:16] <sham1> It's silent here
L1082[15:04:46] <sham1> Usually at this time there is discussions ad nauseum
L1083[15:05:06] <howtonotwin> scala vs java
L1084[15:05:08] <howtonotwin> discuss
L1085[15:05:10] <howtonotwin> xD
L1086[15:05:15] <sham1> haskell
L1087[15:05:17] <Pearle> uhm
L1088[15:05:20] <Pearle> scala is a mistake
L1089[15:05:26] <Pearle> eof
L1090[15:06:13] <PitchBright> any of the minecraftforge.net mods/admins around?
L1091[15:06:18] <sham1> I don't like that the bind in scala is not called >>= or even bind
L1092[15:06:55] <sham1> Because no monad as a base trait for stuff
L1093[15:07:19] <PitchBright> (forums)
L1094[15:08:54] ⇦ Quits: founderio (~Thunderbi@p200300C4E3C06900160889A028A4EB18.dip0.t-ipconnect.de) (Quit: founderio)
L1095[15:09:26] ⇦ Quits: raoulvdberge (uid95673@id-95673.richmond.irccloud.com) (Quit: Connection closed for inactivity)
L1096[15:11:06] <howtonotwin> Doing something similar isn't hard though. Define `trait Monad[M[_]]` that supports unit/return and >>=/bind/flatMap, and define several `implicit object OptionMonad extends Monad[Option]` that represents those ops on a type, here `Option`. Additionally, why does bind being called flatMap stop you from making a Monad base trait?
L1097[15:12:40] <howtonotwin> You can then generalize functions to all monads by writing their signatures as this: `def foo[M : Monad](in: M[Input]): M[Output]`
L1098[15:12:42] <sham1> well nothing really
L1099[15:13:52] ⇦ Quits: IceDragon (~ThatGuy@184.170.59.97) (Quit: Thou hast been banish)
L1100[15:16:45] ⇨ Joins: founderio (~Thunderbi@p200300C4E3C06900160889A028A4EB18.dip0.t-ipconnect.de)
L1101[15:16:52] <sham1> I was refering to the fact that no such base trate does not exist
L1102[15:21:19] <howtonotwin> well there's FilterMonadic, but yes that's a valid point.
L1103[15:22:55] ⇦ Quits: founderio (~Thunderbi@p200300C4E3C06900160889A028A4EB18.dip0.t-ipconnect.de) (Quit: founderio)
L1104[15:25:23] ⇦ Quits: Baughn (~Baughn@madoka.brage.info) (Ping timeout: 202 seconds)
L1105[15:27:46] ⇨ Joins: Baughn (~Baughn@madoka.brage.info)
L1106[15:27:54] <sham1> Well, there is no Functor trait either so...
L1107[15:39:52] ⇨ Joins: Greenphlem (uid22276@id-22276.tooting.irccloud.com)
L1108[15:41:05] ⇨ Joins: CrazyPants (sid25103@id-25103.tooting.irccloud.com)
L1109[15:41:41] ⇨ Joins: minot (~minot@pool-100-8-212-113.nwrknj.fios.verizon.net)
L1110[15:46:23] ⇨ Joins: ThePsionic (~ThePsioni@ip5457f909.direct-adsl.nl)
L1111[15:50:20] ⇨ Joins: Watchful1 (sid67384@id-67384.tooting.irccloud.com)
L1112[16:00:15] ⇨ Joins: Mysticdrew (sid103488@id-103488.tooting.irccloud.com)
L1113[16:03:19] ⇦ Quits: Hgreb (~Hgrebnedn@d8d872a6e.access.telenet.be) (Ping timeout: 384 seconds)
L1114[16:07:32] ⇨ Joins: TamasHenning (sid154987@id-154987.tooting.irccloud.com)
L1115[16:08:02] <Koward> Why are non valid ItemStacks even possible ?
L1116[16:08:30] <Koward> Should Item.getItemFromBlock not throw some exception right away ?
L1117[16:09:15] <Ordinastie_> how would you know if there is an item for that block before calling it ?
L1118[16:09:32] <Ordinastie_> YOU should check for the item before creating the itemStack
L1119[16:13:35] <diesieben07> i agree there should be a nullcheck in the ItemStack cstr
L1120[16:13:48] <diesieben07> item is null? throw IllegalArgumentException
L1121[16:13:56] <diesieben07> instead of some random ass NPE some time later
L1122[16:15:00] <Ordinastie_> true
L1123[16:19:00] <TechnicianLP> how would i change to a different itemmodel based on the gui it is displayed in?
L1124[16:19:24] ⇦ Quits: Seppon (~Noppes@ip56530f2e.direct-adsl.nl) (Read error: Connection reset by peer)
L1125[16:19:58] <diesieben07> your item? and what do you mean by "based on the gui"? differnet inventories show the items differently?
L1126[16:20:57] <TechnicianLP> my item (for now at least) - i have the default "inventory" model but if i have a special gui open i want that model to be exchanged
L1127[16:21:37] <diesieben07> ok. implement IItemPropertyGetter. in there return 1 if the special GUI is open and 0 if not
L1128[16:21:48] <diesieben07> then add it to your item with a ResourceLocation that includes your ModID
L1129[16:21:56] <diesieben07> you can then reference this property in your item model
L1130[16:22:03] <diesieben07> see bow.json / ItemBow for vanilla examples
L1131[16:23:12] <Curle> i kinda broke the inventory system
L1132[16:23:12] <Curle> https://www.youtube.com/watch?v=nDeqVgAyiig
L1133[16:23:19] ⇨ Joins: primetoxinz (~primetoxi@ip68-107-226-229.hr.hr.cox.net)
L1134[16:23:29] <Curle> i was following one of McJty's tutorials too :L
L1135[16:23:35] <primetoxinz> LEL out of boredom I removed the grid lock from stacks on stacks
L1136[16:25:04] <ThePsionic> Curle: Is that the video being laggy or is my computer having a stroke
L1137[16:25:25] <Curle> my laptop freezes every 3 seconds and i don't know why
L1138[16:25:44] <howtonotwin> That needs to be checked out o_O
L1139[16:26:04] <Curle> i can live with it :L
L1140[16:26:37] <Curle> all i do is make a super complex mod with it :D
L1141[16:28:58] <Ordinastie_> or models ?
L1142[16:29:08] <Curle> minced
L1143[16:29:33] <TechnicianLP> diesieben07: thanks for pointing me in the right direction :) +1
L1144[16:30:43] ⇦ Quits: killjoy1 (~killjoy@71.65.255.183) (Ping timeout: 202 seconds)
L1145[16:31:03] <diesieben07> did it work? :D
L1146[16:33:16] <TechnicianLP> didnt implement it yet ... but i looks like it would work
L1147[16:34:10] <diesieben07> ok :)
L1148[16:34:27] <diesieben07> it even works for items that are not yours, but that gets a bit hackier :P
L1149[16:35:31] <TechnicianLP> just add the getter from outside and make the model reroute?
L1150[16:36:59] <diesieben07> well, not quite that easy, since you don't have access to the JSON
L1151[16:37:11] <diesieben07> so you have to add the property override to the model at runtime
L1152[16:37:20] <diesieben07> which requires a bit of reflection naughtyness
L1153[16:41:55] <TechnicianLP> adding the override at runtime .. ok (ill look into that one if i need it later)
L1154[16:43:57] <diesieben07> basically get the ItemOverrideList from the IBakedModel in ModelBakeEvent
L1155[16:44:08] <diesieben07> then get the List<ItemOverride> from that using reflectrion
L1156[16:44:11] <diesieben07> and add your own ItemOverride
L1157[16:44:32] ⇦ Quits: TamasHenning (sid154987@id-154987.tooting.irccloud.com) (Ping timeout: 182 seconds)
L1158[16:44:47] <TechnicianLP> wow thanks
L1159[16:44:47] ⇨ Joins: JamEngulfer (~JamEngulf@host5-81-242-203.range5-81.btcentralplus.com)
L1160[16:44:49] ⇨ Joins: TamasHenning (sid154987@id-154987.tooting.irccloud.com)
L1161[16:45:06] <diesieben07> np :)
L1162[16:49:08] ⇦ Quits: Watchful1 (sid67384@id-67384.tooting.irccloud.com) (Ping timeout: 182 seconds)
L1163[16:50:54] ⇨ Joins: Watchful1 (sid67384@2604:8300:100:200b:6667:4:1:738)
L1164[16:55:52] *** V is now known as Vigaro
L1165[17:00:15] <Koward> Anyone have an idea how to change player's stepsound based on its armor ?
L1166[17:04:47] *** amadornes[Streaming] is now known as amadornes
L1167[17:13:51] <diesieben07> Koward, all i can think of is make a special sound event that is only used for the step sound. then listen for the PlaySoundAtEntityEvent, check for that sound and replace it based on armor
L1168[17:18:51] ⇦ Parts: Aroma1997 (~Aroma1997@2604:a880:800:10::168:d001) ())
L1169[17:21:06] *** kroeser is now known as kroeser|away
L1170[17:23:52] <Koward> It's quite tricky since the sound produced could be anything depending on the block the player is on. So no way to identify it from PlaySoundAtEntityEvent I guess
L1171[17:24:50] <diesieben07> Koward, why not? you get the player...
L1172[17:25:46] <Koward> I get the player so I can rebuild the original SoundType, get the SoundEvent the same way and then compare it. You're a genius.
L1173[17:25:47] <diesieben07> plus you can make the sound event whatever you want...
L1174[17:26:01] <diesieben07> like, based on the SOundEvent you know the block
L1175[17:26:03] ⇦ Quits: Pearle (~Curle@host86-168-198-38.range86-168.btcentralplus.com) (Ping timeout: 190 seconds)
L1176[17:26:06] <diesieben07> since you can make a SoundEvent per blocik
L1177[17:31:23] ⇦ Quits: TechnicianLP (~Technic@p4FE565B1.dip0.t-ipconnect.de) (Ping timeout: 202 seconds)
L1178[17:35:40] <Koward> I was thinking more about getting block & pos from entity, since I can't get Block from SoundEvent as multiple blocks can have the same sound.
L1179[17:35:53] <diesieben07> are we not talking about just your blocks?
L1180[17:36:54] ⇦ Quits: ThePsionic (~ThePsioni@ip5457f909.direct-adsl.nl) (Quit: Leaving)
L1181[17:36:57] <Koward> No. Any block.
L1182[17:37:17] ⇦ Quits: howtonotwin (~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net) (Read error: Connection reset by peer)
L1183[17:37:29] <diesieben07> ok one second. i might have something else for you.
L1184[17:37:40] <Koward> In a perfect world I would have edited Entity.playStepSound(BlockPos pos, Block blockIn)
L1185[17:38:21] <Koward> and just added a sound there based on getEquipmentAndArmor()
L1186[17:44:17] *** amadornes is now known as amadornes[OFF]
L1187[17:46:21] ⇨ Joins: Lirianer (~Lirianer@r186-55-95-59.dialup.adsl.anteldata.net.uy)
L1188[17:46:54] <diesieben07> Koward, yeah, i don't think there is a good way for blocks taht aren't yours
L1189[17:47:51] <diesieben07> and with that... sleepytime
L1190[17:47:57] <Koward> It would require some event in Entity.playStepSound, just before the two playSound, with the Entity
L1191[17:48:28] <Koward> Yeah, me too. Thank you for your help, have a good night
L1192[17:48:37] <diesieben07> you too :) #
L1193[17:48:55] ⇦ Quits: Koward (~Koward@2a02:2788:344:2d0:c4c6:e20:5028:8089) (Quit: Leaving)
L1194[17:50:09] ⇦ Quits: iari (~iari___@evana.futhark24.org) (Quit: Leaving)
L1195[17:52:03] ⇦ Quits: Thefjong (~Thefjong@3e6b1b1c.rev.stofanet.dk) (Read error: Connection reset by peer)
L1196[17:52:51] ⇦ Quits: Curle (~Nurgie546@host86-168-198-38.range86-168.btcentralplus.com) (Ping timeout: 202 seconds)
L1197[18:00:19] ⇦ Quits: Watchful1 (sid67384@2604:8300:100:200b:6667:4:1:738) (Ping timeout: 202 seconds)
L1198[18:02:03] ⇦ Quits: Greenphlem (uid22276@id-22276.tooting.irccloud.com) (Ping timeout: 190 seconds)
L1199[18:03:30] ⇦ Quits: Mysticdrew (sid103488@id-103488.tooting.irccloud.com) (Read error: Connection reset by peer)
L1200[18:04:03] ⇦ Quits: An_Angry_Brit (~AngryBrit@90.197.163.74) (Ping timeout: 190 seconds)
L1201[18:04:19] ⇦ Quits: CrazyPants (sid25103@id-25103.tooting.irccloud.com) (Read error: Connection reset by peer)
L1202[18:06:04] <techbrew> \o sups all
L1203[18:06:17] ⇦ Quits: TamasHenning (sid154987@id-154987.tooting.irccloud.com) (Ping timeout: 384 seconds)
L1204[18:07:11] ⇨ Joins: An_Angry_Brit (~AngryBrit@90.197.163.74)
L1205[18:07:17] <techbrew> Anyone have recommendations on the optimal way for a mod to register itself as having a Resource Pack?
L1206[18:07:49] *** willieaway is now known as williewillus
L1207[18:12:51] ⇦ Quits: Samario (~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net) (Quit: You think you are above consequences.)
L1208[18:15:00] ⇨ Joins: Greenphlem (uid22276@tooting.irccloud.com)
L1209[18:15:45] ⇨ Joins: Doty1154 (~Doty1154@c-73-189-164-179.hsd1.ca.comcast.net)
L1210[18:16:37] ⇨ Joins: Mysticdrew (sid103488@id-103488.tooting.irccloud.com)
L1211[18:18:26] ⇨ Joins: RANKSHANK (~Michael@ppp121-44-60-13.lns20.syd4.internode.on.net)
L1212[18:21:08] ⇦ Quits: Kaiyouka (~IdiotNono@c-75-71-231-133.hsd1.co.comcast.net) (Ping timeout: 182 seconds)
L1213[18:23:11] ⇨ Joins: Watchful1 (sid67384@id-67384.tooting.irccloud.com)
L1214[18:23:29] ⇨ Joins: p455w0rd (p455w0rd@50-80-138-196.client.mchsi.com)
L1215[18:23:54] <LexManos> it automatically does
L1216[18:25:56] ⇨ Joins: zuul4242__ (webchat@cpe-76-183-120-99.tx.res.rr.com)
L1217[18:26:05] ⇨ Joins: CrazyPants (sid25103@id-25103.tooting.irccloud.com)
L1218[18:27:00] ⇦ Quits: zuul4242__ (webchat@cpe-76-183-120-99.tx.res.rr.com) (Client Quit)
L1219[18:28:46] ⇨ Joins: zuul4242 (webchat@cpe-76-183-120-99.tx.res.rr.com)
L1220[18:40:57] ⇨ Joins: TamasHenning (~sid154987@id-154987.tooting.irccloud.com)
L1221[18:44:13] ⇦ Quits: ghz|afk (gigaherz@250.red-88-3-44.dynamicip.rima-tde.net) (Remote host closed the connection)
L1222[18:45:58] ⇦ Quits: Mysticdrew (sid103488@id-103488.tooting.irccloud.com) (Remote host closed the connection)
L1223[18:45:58] ⇦ Quits: Watchful1 (sid67384@id-67384.tooting.irccloud.com) (Remote host closed the connection)
L1224[18:45:58] ⇦ Quits: CrazyPants (sid25103@id-25103.tooting.irccloud.com) (Remote host closed the connection)
L1225[18:45:58] ⇦ Quits: TamasHenning (~sid154987@id-154987.tooting.irccloud.com) (Remote host closed the connection)
L1226[18:45:58] ⇦ Quits: Greenphlem (uid22276@tooting.irccloud.com) (Remote host closed the connection)
L1227[18:47:23] ⇦ Quits: CoderPuppy (~cpup@32.218.119.172) (Ping timeout: 190 seconds)
L1228[18:49:14] ⇨ Joins: blood_ (unknown@ool-4574115b.dyn.optonline.net)
L1229[18:51:10] ⇨ Joins: cpup (~cpup@32.218.119.172)
L1230[18:55:59] ⇦ Quits: Girafi (Girafi@0x555178eb.adsl.cybercity.dk) ()
L1231[19:02:13] ⇦ Quits: MalkContent (~MalkConte@p4FDCD1CC.dip0.t-ipconnect.de) (Quit: Leaving)
L1232[19:04:15] ⇨ Joins: minecreatr (~minecreat@tterrag.com)
L1233[19:06:14] ⇦ Quits: zuul4242 (webchat@cpe-76-183-120-99.tx.res.rr.com) (Quit: Web client closed)
L1234[19:07:42] <tterrag> is it intended that when using an ExtendedBlockState all the block's normal states are extended too?
L1235[19:07:44] <tterrag> this doesn't seem right
L1236[19:07:51] <tterrag> it means that getClean() returns another IExtendedBlockState
L1237[19:08:04] <tterrag> but forge has patched BlockStateContainer
L1238[19:08:07] <tterrag> BlockStateContainer.StateImplementation blockstatecontainer$stateimplementation = createState(blockIn, ImmutableMap.copyOf(map1), unlistedProperties);
L1239[19:08:12] <tterrag> which shoves extended states into the normalMap
L1240[19:08:55] ⇦ Quits: BordListian (~BordListi@213-47-142-14.cable.dynamic.surfer.at) (Ping timeout: 202 seconds)
L1241[19:10:11] ⇨ Joins: zuul4242xyz (zuul4242@cpe-76-183-120-99.tx.res.rr.com)
L1242[19:11:28] <zuul4242xyz> hello
L1243[19:11:50] ⇦ Quits: zuul4242xyz (zuul4242@cpe-76-183-120-99.tx.res.rr.com) (Client Quit)
L1244[19:13:50] ⇨ Joins: zuul4242 (zuul4242@cpe-76-183-120-99.tx.res.rr.com)
L1245[19:15:32] <tterrag> fry|sleep: can you explain how extended states are meant to be used?
L1246[19:18:12] <Ordinastie_> it's states with properties that are not fully resolved in the validStates
L1247[19:18:43] <Ordinastie_> but you can still query them for when you need them like model rendering
L1248[19:18:45] <tterrag> Ordinastie_: believe me I know what it *is*
L1249[19:18:50] <Ordinastie_> ah
L1250[19:18:51] <tterrag> but not how it's meant to be used
L1251[19:19:01] <tterrag> because the way I'm currently using it, fills our clean states with extended instances
L1252[19:19:07] <tterrag> and that's not good
L1253[19:19:14] <tterrag> because we lose identity comparability
L1254[19:19:21] <Ordinastie_> you have a method to get the clean state back
L1255[19:19:34] <tterrag> m8 read what I said
L1256[19:19:37] <tterrag> <tterrag> it means that getClean() returns another IExtendedBlockState
L1257[19:19:58] <Ordinastie_> oh, I didn't notice you wrote something before sorry *_*
L1258[19:20:01] <tterrag> I'm stepping through the debug now and watching it fill the normalMap with extended states http://i.imgur.com/UN0iddc.png
L1259[19:20:38] <tterrag> all this code is terrible
L1260[19:20:46] <tterrag> it's impossible to read and bounces all over the place
L1261[19:20:58] <tterrag> it's the definition of "spaghetti"
L1262[19:21:14] <tterrag> not entirely forge's fault, but it certainly isn't making it better
L1263[19:22:56] <Ordinastie_> getClean() still returns an extended states, but it should only contain regular properties
L1264[19:24:29] <Ordinastie_> actually, no
L1265[19:24:48] <Ordinastie_> it returns StateImplementation
L1266[19:27:01] <Ordinastie_> but it does look more complicated that it needs to be
L1267[19:28:16] <tterrag> Ordinastie_: I'm telling you it's returning an ExtendedStateImplementation :x
L1268[19:29:00] <tterrag> I've fixed it by caching what getClean() returns as my reference state
L1269[19:29:01] ⇦ Quits: cpup (~cpup@32.218.119.172) (Ping timeout: 384 seconds)
L1270[19:29:04] <tterrag> then I can still identity compare
L1271[19:29:05] <Ordinastie_> that means it violate the generic contract :x
L1272[19:29:12] <tterrag> but it's REALLY dumb that I get extended state at all
L1273[19:29:22] <tterrag> Ordinastie_: no...ExtendedStateImplementation is a child class
L1274[19:29:35] <Ordinastie_> ah yes, fuck
L1275[19:31:04] ⇨ Joins: Cooler (~CoolerExt@117.223.21.218)
L1276[19:31:21] <Ordinastie_> I don't even see where that normalMap is filled
L1277[19:32:08] <Ordinastie_> ah found it
L1278[19:32:36] <Ordinastie_> oh lol, that's what you wrote ><
L1279[19:32:41] <Ordinastie_> (should go to bed I think ><)
L1280[19:34:10] ⇨ Joins: cpup (~cpup@32.218.119.172)
L1281[19:37:22] <Ordinastie_> tterrag, what do you mean you lose identity comparability ?
L1282[19:37:53] <tterrag> extended states are not singletons
L1283[19:37:58] <tterrag> they could be equal but not the same instance
L1284[19:38:10] <tterrag> with normal IBlockStates you can ALWAYS rely on ==
L1285[19:38:22] <Ordinastie_> equals does == anyway
L1286[19:39:04] *** williewillus is now known as willieaway
L1287[19:39:46] <tterrag> that's the problem
L1288[19:40:07] <tterrag> I shouldn't have to call getClean() unless I'm in rendering. == should always work on any IBlockState
L1289[19:40:21] <Ordinastie_> setBlockState calls it too
L1290[19:40:54] *** willieaway is now known as williewillus
L1291[19:41:21] <Ordinastie_> it's all a mess, yes
L1292[19:41:42] * williewillus rages over people who return true from hasCap and null from getCap
L1293[19:42:08] <williewillus> wtf is so hard to understand if you don't have the cap don't return true >.>
L1294[19:42:55] <tterrag> http://i.imgur.com/x1TGf6e.png
L1295[19:43:00] <tterrag> still working out problems, but it's looking good so far :P
L1296[19:43:10] <tterrag> (no coal shouldn't be a phantom)
L1297[19:43:23] <Ordinastie_> what's even on the right ?
L1298[19:43:28] <RANKSHANK> lol who dun did it willie?
L1299[19:43:28] <tterrag> quartz lol
L1300[19:43:48] <tterrag> Ordinastie_: http://i.imgur.com/yNxaiIP.png
L1301[19:43:48] <williewillus> RANKSHANK: no idea because the crash is originating in my code
L1302[19:43:55] <Ordinastie_> oh
L1303[19:43:56] ⇦ Quits: cpup (~cpup@32.218.119.172) (Ping timeout: 182 seconds)
L1304[19:43:58] <williewillus> but whoever's it is is an idiot
L1305[19:43:59] <tterrag> I'm just computing the differences between the ore and the background texture. it's not 100% perfect
L1306[19:44:00] <Ordinastie_> yeah, no :p
L1307[19:44:16] <tterrag> I don't think I'll ship quartz as a default
L1308[19:44:21] <RANKSHANK> crashed in your code? all the blame is yours then ;)
L1309[19:44:26] <tterrag> since I can't think of any mod that adds different stones to gen in the nether
L1310[19:44:29] <williewillus> the vanilla quartz texture is quite noisy now that I look at it
L1311[19:44:58] <tterrag> it deosn't even blend with netherrack well http://i.imgur.com/PiKxDq1.png
L1312[19:45:07] <tterrag> partly because of randomized textures
L1313[19:45:09] <tterrag> but still
L1314[19:45:27] <Ordinastie_> williewillus, just null check and then throw the NPE with the data from where you get the cap
L1315[19:45:52] <williewillus> *sighs angrily*
L1316[19:45:55] <Ordinastie_> with a big YELL AT THAT MORON => {block}
L1317[19:46:11] <Ordinastie_> then you can rage because people don't read logs anyway
L1318[19:46:28] <tterrag> or do something like call a method on the block with really dumb parameters that makes the top line in the log in their code ;)
L1319[19:47:58] <Ordinastie_> or reflectively remove random state ids from the map for the culprit mod :D
L1320[19:49:00] <Ordinastie_> god I understand why there are so many hackers, looks like it way more fun coding for evil :D
L1321[19:50:02] ⇨ Joins: cpup (~cpup@32.218.119.172)
L1322[19:51:45] ⇦ Quits: Gil (uid147942@id-147942.brockwell.irccloud.com) (Quit: Connection closed for inactivity)
L1323[19:52:46] <Ordinastie_> tterrag, I wonder, did the StateImplementation change since 1.8 ?
L1324[19:52:53] <tterrag> I don't think so
L1325[19:53:10] <Ordinastie_> it already add equals override to == ?
L1326[19:53:18] <Ordinastie_> *had
L1327[19:53:46] ⇨ Joins: Kaiyouka (~IdiotNono@c-75-71-231-133.hsd1.co.comcast.net)
L1328[19:53:46] <williewillus> well i mean it inherits the same thing from object
L1329[19:53:50] <williewillus> that override is redundant
L1330[19:54:11] <Ordinastie_> true
L1331[19:54:29] <Kaiyouka> Override ALL the things
L1332[19:54:53] <Ordinastie_> but that's why I tend to think they did override it before, and after, they just changed the impl
L1333[19:56:08] <Ordinastie_> nah, it was already ==
L1334[19:56:49] <Ordinastie_> well I don't know then
L1335[19:57:32] <Ordinastie_> tterrag, somehow, it still works when doing setBlockState, so maybe look at what's different thre
L1336[19:57:46] <tterrag> it uses extended states in the world too
L1337[19:58:07] <williewillus> thats definitely a bug
L1338[19:59:18] <Ordinastie_> I wonder why it's not just a wrapper around StateImpl
L1339[19:59:29] ⇦ Quits: cpup (~cpup@32.218.119.172) (Read error: Connection reset by peer)
L1340[20:07:36] ⇦ Quits: Cooler (~CoolerExt@117.223.21.218) (Ping timeout: 186 seconds)
L1341[20:08:30] <Ordinastie_> can someone confirm they have a slight freeze in that video : https://youtu.be/URavnMb3QLc?t=3m18s
L1342[20:08:34] <Ordinastie_> at 3:20 ?
L1343[20:08:48] <TehNut> yes
L1344[20:08:53] <Ordinastie_> thanks
L1345[20:10:35] ⇨ Joins: cpup (~cpup@32.218.119.172)
L1346[20:19:02] ⇦ Quits: sinkillerj (~sinkiller@nc-67-232-14-224.dhcp.embarqhsd.net) (Quit: またね)
L1347[20:22:18] <JamEngulfer> How unique are IBlockStates?
L1348[20:22:22] ⇨ Joins: Greenphlem (uid22276@tooting.irccloud.com)
L1349[20:22:31] <williewillus> normal ones are completely unique
L1350[20:22:31] <Ordinastie_> what do you mean ?
L1351[20:22:41] <williewillus> as in each combination of values only has one instance
L1352[20:22:55] <williewillus> generated at startup
L1353[20:23:10] ⇨ Joins: CrazyPants (sid25103@tooting.irccloud.com)
L1354[20:23:24] <JamEngulfer> Ok, say like, would one random dirt block in the ground share the same block state as another?
L1355[20:23:37] <Ordinastie_> yes
L1356[20:23:47] <williewillus> it would not make sense otherwise
L1357[20:23:53] <JamEngulfer> So I can just == them? Cool.
L1358[20:24:05] <williewillus> yes in most cases
L1359[20:25:30] <JamEngulfer> Actually… Hmm… how much is stored in the BlockState? Would different heights of Lava flow be represented with BlockStates or Blocks?
L1360[20:26:00] <williewillus> well think about it, it's all still the lava block :P
L1361[20:26:13] <williewillus> you can also open it an look, BlockLiquid
L1362[20:28:36] <JamEngulfer> Ah crap… I was hoping to be able to just compare the block types. I’m storing Blocks in a hashmap as the key for a value
L1363[20:28:53] ⇨ Joins: Watchful1 (sid67384@tooting.irccloud.com)
L1364[20:28:55] <williewillus> well did you not consider meta?
L1365[20:29:05] <JamEngulfer> Meta for what?
L1366[20:29:21] <shadowfacts> you should use metadata or IBlockStates not Blocks
L1367[20:29:26] <williewillus> in a given spot in the world, you have block id + the metadata
L1368[20:29:28] <williewillus> in the world save
L1369[20:29:37] <williewillus> the iblockstate represents the metadata + block together
L1370[20:29:54] <williewillus> for example all 16 colors of wool are all the same Block object
L1371[20:30:06] <williewillus> they just have a blockstate property COLOR that distinguishes each
L1372[20:30:09] <williewillus> !gm func_189808_dh
L1373[20:30:17] <JamEngulfer> Oh right. I thought Block stored the metadata
L1374[20:30:22] <williewillus> wat
L1375[20:30:26] <williewillus> Block doesn't store anything
L1376[20:30:28] <williewillus> it should be stateless
L1377[20:30:39] ⇦ Quits: zuul4242 (zuul4242@cpe-76-183-120-99.tx.res.rr.com) ()
L1378[20:31:04] <JamEngulfer> I thought the block object would be an instance of the block at a specific point in the world.
L1379[20:31:13] <JamEngulfer> At least, I assumed that would be how it worked
L1380[20:31:43] <Ordinastie_> no, the BLock class represent a type of block
L1381[20:31:53] <JamEngulfer> Good point
L1382[20:31:59] <JamEngulfer> Makes sense now I think about it XD
L1383[20:32:07] <Ordinastie_> when you do world.getBlockState() you get the state and the blockType
L1384[20:32:38] <Ordinastie_> that's why most of the methods from block do have a world and blockPos params
L1385[20:32:52] <JamEngulfer> That would explain it
L1386[20:33:32] ⇨ Joins: Mysticdrew (sid103488@192.184.10.9)
L1387[20:34:04] <Ordinastie_> the world data is basically an array of ints, where the int is the block id + metadata packed together
L1388[20:34:45] <Ordinastie_> that's why you need getStateFromMeta and getMetaFromState in you block, to be able to make to conversion back and forth
L1389[20:35:01] <Ordinastie_> and it's also why metadata is limited to 4 bits
L1390[20:35:35] <JamEngulfer> Is there any way to get an IBlockState for some given properties then?
L1391[20:35:57] <Ordinastie_> yes, block.getDefaultState().withProperty(prop, value)
L1392[20:35:59] <tterrag> state.withProperty
L1393[20:37:17] ⇨ Joins: TamasHenning (sid154987@tooting.irccloud.com)
L1394[20:38:21] <JamEngulfer> Would that represent a block I’d normally find in the world, or is there any more setup needed than that?
L1395[20:39:53] <JamEngulfer> Sorry about being a bit new to this. The last time I really got into modding was back in 2013
L1396[20:40:47] <Ordinastie_> you can test that way, but depending on what you're doing, you may want to test the values you get for the IBlockState
L1397[20:40:50] ⇦ Quits: Benimatic (~Benimatic@cblmdm72-241-108-184.buckeyecom.net) (Read error: Connection reset by peer)
L1398[20:41:04] ⇨ Joins: Benimatic (~Benimatic@cblmdm72-241-108-184.buckeyecom.net)
L1399[20:41:16] <Ordinastie_> like if (state.getValue(prop) == someValue) doStuff();
L1400[20:42:50] ⇦ Quits: Benimatic (~Benimatic@cblmdm72-241-108-184.buckeyecom.net) (Read error: Connection reset by peer)
L1401[20:43:03] ⇨ Joins: Benimatic (~Benimatic@cblmdm72-241-108-184.buckeyecom.net)
L1402[20:43:22] <JamEngulfer> Ok. I’ll state my intentions so you know what I’m trying to do. I’m having certain blocks (Vanilla or otherwise) be associated with some numeric value. I don’t want to be super specific, so just stuff like a Lava block or a Leaves block.
L1403[20:44:06] <Ordinastie_> is value weight ?
L1404[20:45:11] <Ordinastie_> well, what you want is probably a map with states as key
L1405[20:45:15] <JamEngulfer> No? It’s an arbitrary value for determining power generation (not like fuel for smelting, but like the actual block in the world).
L1406[20:45:35] <JamEngulfer> I’m currently using a HashMap of IBlockState/Integer
L1407[20:45:42] <Ordinastie_> yeah, that's good
L1408[20:45:50] ⇦ Quits: Benimatic (~Benimatic@cblmdm72-241-108-184.buckeyecom.net) (Read error: Connection reset by peer)
L1409[20:45:59] ⇦ Quits: minot (~minot@pool-100-8-212-113.nwrknj.fios.verizon.net) (Ping timeout: 202 seconds)
L1410[20:46:04] ⇨ Joins: Benimatic (~Benimatic@cblmdm72-241-108-184.buckeyecom.net)
L1411[20:46:31] <JamEngulfer> I’m just worried IBlockState will be too specific. Like, only a fence with sides pointing North and West, instead of just ‘fence’
L1412[20:46:50] ⇦ Quits: Benimatic (~Benimatic@cblmdm72-241-108-184.buckeyecom.net) (Read error: Connection reset by peer)
L1413[20:46:57] <Ordinastie_> well, in some case, yes, in other, no
L1414[20:47:02] <Ordinastie_> it will depend on the block
L1415[20:47:04] ⇨ Joins: Benimatic (~Benimatic@cblmdm72-241-108-184.buckeyecom.net)
L1416[20:47:37] <JamEngulfer> I guess I’ll just have to add all of the states if that’s needed
L1417[20:47:49] <Ordinastie_> well, you can have 2 maps
L1418[20:47:50] ⇦ Quits: Benimatic (~Benimatic@cblmdm72-241-108-184.buckeyecom.net) (Read error: Connection reset by peer)
L1419[20:47:52] ⇨ Joins: IceDragon (~ThatGuy@184.170.41.125)
L1420[20:48:04] ⇨ Joins: Benimatic (~Benimatic@cblmdm72-241-108-184.buckeyecom.net)
L1421[20:48:06] ⇨ Joins: minot (~minot@pool-100-8-212-113.nwrknj.fios.verizon.net)
L1422[20:48:10] <JamEngulfer> How so?
L1423[20:48:11] <Ordinastie_> one with state as key, and fallback to one with block as key if nothing is found in the first
L1424[20:48:30] <Ordinastie_> but that's assuming you will have "hardcoded" data
L1425[20:49:04] <Ordinastie_> because wether to fill the block map or the state map, it can only be a human decision
L1426[20:49:06] <JamEngulfer> It’s technically possible to be dynamically added, but I’ll be setting it all at init time
L1427[20:49:52] <Ordinastie_> actually, you could even have more optimized way
L1428[20:50:04] <JamEngulfer> Oh?
L1429[20:50:12] <Ordinastie_> stay with 1 map
L1430[20:50:46] <Ordinastie_> if you want all the states available for a block, just store the default blockState, and fall back to that one if the specific state you have is not found
L1431[20:51:33] <JamEngulfer> Oh yeah. That’s actually kinda obvious now I think about it XD
L1432[20:51:35] <Ordinastie_> value = map.get(state); if(value == null) value = map.get(state.getBlock().getDefaultState());
L1433[20:52:16] ⇨ Joins: Cooler (~CoolerExt@117.223.21.218)
L1434[20:52:23] <JamEngulfer> Seems good. I think knowing what BlockStates actually stored would have helped me understand this from the start
L1435[20:53:00] <Ordinastie_> but what I meant by human decision is that there is no way in code to know if a blockState just represent a slight difference or a total different block (logic wise)
L1436[20:53:46] *** williewillus is now known as willieaway
L1437[20:53:55] <Ordinastie_> taking fence gate as exemple, orientation and open are properties, but as user perspective, it's the same gate
L1438[20:54:34] <Ordinastie_> colors for wool are different state too, not sure if you would want to consider them different
L1439[20:54:47] <JamEngulfer> Yeah, that’s always a problem in programming
L1440[20:54:57] <JamEngulfer> Easy for human, hard for computer
L1441[20:55:08] <Ordinastie_> then you have stones that reall ARE supposed to be different
L1442[20:55:10] <JamEngulfer> Ah well, hopefully I’ll be able to make it work
L1443[20:55:48] <Ordinastie_> but as long as you fill in the data yourself, you should be ok
L1444[21:00:02] <RANKSHANK> the only problem with resorting to a full hardcode is mod compat. as soon as another mod is installed there's a whole chunk of unsupported content
L1445[21:00:37] <RANKSHANK> But if you wanted to somehow support that you'd need some form of inter mod comm support
L1446[21:00:51] <JamEngulfer> I mean, there’s not much I can do about that
L1447[21:00:57] <Ordinastie_> or you'd just go for a default behavior
L1448[21:01:06] *** Keridos|away is now known as Keridos
L1449[21:01:15] <Ordinastie_> and manually fix based on user report maybe
L1450[21:01:29] <RANKSHANK> yeah user input is definitely an option
L1451[21:01:48] ⇨ Joins: howtonotwin (~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net)
L1452[21:01:50] ⇦ Quits: JamEngulfer (~JamEngulf@host5-81-242-203.range5-81.btcentralplus.com) (Read error: Connection reset by peer)
L1453[21:01:55] <RANKSHANK> you could also resort to the hardcoding being stored in txt/json/whatever file and load those based on what mods are loaded
L1454[21:02:03] ⇨ Joins: JamEngulfer (~JamEngulf@host5-81-242-203.range5-81.btcentralplus.com)
L1455[21:02:25] <Ordinastie_> but you still need to make those files
L1456[21:02:55] <RANKSHANK> indeed but you could easily automate half the writing there by making the state mapper dump the missing values to the correct files
L1457[21:03:30] <Ordinastie_> you're missing the point I think
L1458[21:03:47] <RANKSHANK> probably :D
L1459[21:04:20] <Ordinastie_> the issue is not really getting that, it's deciding whether or not you should use only the defaultState or consider each state as different blocks requiring different values
L1460[21:05:23] <Ordinastie_> that decision can't be automated because it's entirely based on subjective appreciation
L1461[21:06:09] <RANKSHANK> yup so it's gotta be manually done :P
L1462[21:06:49] <howtonotwin> This sounds interesting; what was this about?
L1463[21:07:06] <RANKSHANK> Either way it's a pita sorta thing unless you can implement some form of robust parent/child system
L1464[21:07:21] <RANKSHANK> howtonotwin mapping states to integer values
L1465[21:08:25] <howtonotwin> tellmemore.gif
L1466[21:09:02] <JamEngulfer> It’s a massive pain in the ass XD
L1467[21:09:12] <Ordinastie_> howtonotwin, sbnc.khobbits.co.uk/log/logs/minecraftforge.htm
L1468[21:09:22] <JamEngulfer> huh, that’s a thing
L1469[21:09:41] <howtonotwin> neat, thanks Ordi
L1470[21:09:47] <RANKSHANK> It's a wonderful thing :D
L1471[21:10:27] <RANKSHANK> JamEngulfer what sort of power is it? Are we talking fuels?
L1472[21:13:46] <JamEngulfer> It’s more of a passive generation thing. Generating energy of different types in varying amounts from being near various blocks.
L1473[21:14:34] <JamEngulfer> Things like lava/fire/netherrack generating far more power than say, a bunch of dirt
L1474[21:15:22] <RANKSHANK> ahh fair enough, laziest approach I can think of off the top of my head for that would be to check the block's material
L1475[21:15:33] <RANKSHANK> but you miss a metric shit ton of specifics that way
L1476[21:15:44] <JamEngulfer> That’s what I’m doing to determine the type of power it gives
L1477[21:17:27] <RANKSHANK> well from there you could check the AABB dimensions for the states in a fake world to get a rough volume... use that value with the material to spit out some form of standard
L1478[21:17:56] <RANKSHANK> the rough patches are things like Slime where it uses clay instead of a slim material
L1479[21:18:01] <RANKSHANK> *slime
L1480[21:18:19] <JamEngulfer> Oh great, there just has to be crap like that in there
L1481[21:19:08] <RANKSHANK> of course there is :D mojang's all about the continuity side of things ;D
L1482[21:20:23] <JamEngulfer> At least they did the big refactoring stuff
L1483[21:20:43] <Ordinastie_> but they half assed it anyway
L1484[21:20:47] <RANKSHANK> ^
L1485[21:21:04] ⇨ Joins: YourMCGeek (webchat@pool-68-134-63-169.bltmmd.fios.verizon.net)
L1486[21:21:21] ⇦ Parts: YourMCGeek (webchat@pool-68-134-63-169.bltmmd.fios.verizon.net) ())
L1487[21:21:23] <RANKSHANK> Personally I'd definitely rather a full ass that half an ass ;)
L1488[21:21:41] <JamEngulfer> But they even didn’t have Notch doing it!
L1489[21:22:01] <Ordinastie_> feels like they come up with a decent design, and then let the intern make the implementations
L1490[21:22:31] <RANKSHANK> only the *unpaid* interns though
L1491[21:23:05] ⇦ Quits: Nentify (uid14943@2604:8300:100:200b:6667:1:0:3a5f) (Quit: Connection closed for inactivity)
L1492[21:23:06] <howtonotwin> I'm not really seeing what's wrong with a plain old Map<IBlockState, Float>, from the chat logs. You can supply fallbacks with another Map<Material, Float> or similar, which would take care of most external modded blocks. More specific inter-mod support can be done by exposing a register method in an API.
L1493[21:24:49] <JamEngulfer> I’m having a debate about making it easy for me now, or making it possible for other mods to add values to it
L1494[21:24:56] ⇦ Quits: Cooler (~CoolerExt@117.223.21.218) (Ping timeout: 186 seconds)
L1495[21:25:07] <Ordinastie_> they're not exclusive
L1496[21:25:11] <howtonotwin> Why would a map not be easy?
L1497[21:25:14] <Ordinastie_> it's just a design choice
L1498[21:26:26] <JamEngulfer> This part isn’t the issue. The debate I was having was over whether it was worth the effort to allow people to add their own types of power, as I’m currently doing it through Enums
L1499[21:26:42] <JamEngulfer> My conclusion was no
L1500[21:26:58] <Ordinastie_> enum + interface
L1501[21:27:00] <howtonotwin> Forge Registry for power types :P
L1502[21:27:05] <RANKSHANK> enumbuster :D
L1503[21:27:07] <Ordinastie_> or that
L1504[21:27:22] <RANKSHANK> ^hopefully not what I said
L1505[21:27:45] *** Morphan1 is now known as MorphFK
L1506[21:28:16] ⇦ Quits: Benimatic (~Benimatic@cblmdm72-241-108-184.buckeyecom.net) (Read error: Connection reset by peer)
L1507[21:28:30] ⇨ Joins: Benimatic (~Benimatic@cblmdm72-241-108-184.buckeyecom.net)
L1508[21:28:36] <Ordinastie_> that's what I did when I wandted both enum and easy customisation : https://github.com/Ordinastie/MalisisCore/blob/1.9.4/src/main/java/net/malisis/core/block/component/DirectionalComponent.java#L54
L1509[21:29:00] <Ordinastie_> not sure if possible to make it cleaner
L1510[21:29:25] <JamEngulfer> Wait, what? That’s a thing you can do?
L1511[21:30:04] <Ordinastie_> all things consider, there is no real value to have that over simple public final static final IPlacement
L1512[21:30:16] <howtonotwin> public final static final
L1513[21:30:23] <JamEngulfer> XD
L1514[21:30:28] <howtonotwin> yes ok that's fine Ordi
L1515[21:30:39] <howtonotwin> Are you having a stronk? Be true with us
L1516[21:30:44] <Ordinastie_> yes, because I really don't want people to change them, so I double final
L1517[21:30:56] <howtonotwin> const
L1518[21:31:01] <howtonotwin> const ALL THE THINGS
L1519[21:31:13] <TehNut> public static private final protected static final boolean dontHugMeImScared
L1520[21:31:18] <JamEngulfer> final Final FINAL;
L1521[21:32:10] <Ordinastie_> but not fInAl though, have some decency, you're not a 14y teenage girl
L1522[21:33:03] <TehNut> f1n4l
L1523[21:33:04] <JamEngulfer> My conclusion was “I’ll do it later”. I’d rather have something that works first. I’m making the rest of it as API-y as possible
L1524[21:34:20] <howtonotwin> I've never actually used a custom registry; how well do they work?
L1525[21:34:27] <TehNut> Quite well
L1526[21:34:34] <RANKSHANK> ^
L1527[21:34:42] <RANKSHANK> they feel so shiny when they're implemented
L1528[21:34:47] <JamEngulfer> Google isn’t being very helpful telling me how that works
L1529[21:34:51] <Ordinastie_> I'm currently making my own system
L1530[21:35:02] <Ordinastie_> with hookers and lambdas
L1531[21:35:12] <howtonotwin> Basically once a mod has a registry you can register all the things with GameRegistry.register I think
L1532[21:35:16] <RANKSHANK> you've sold me 'nastie ;D
L1533[21:35:23] <TehNut> correct
L1534[21:36:46] <JamEngulfer> I’m currently only seeing Blocks, Items, TEs and World Gen there
L1535[21:36:48] <howtonotwin> So you'd register a power type with GameRegistry.register(ManaPower.INSTANCE, new ResourceLocation("mana:manapower")) and everything will now know about it.
L1536[21:36:52] <howtonotwin> You'd make your own registry
L1537[21:37:08] <howtonotwin> not sure how exactly you register the registry though :P
L1538[21:37:13] <JamEngulfer> GameRegistry.register totally isn’t showing up as a method for me
L1539[21:37:22] <JamEngulfer> Or do I subclass it?
L1540[21:37:29] <Ordinastie_> work in progress: http://puu.sh/qPOYD.png http://puu.sh/qPP1a.png
L1541[21:38:01] *** cpw is now known as cpw|out
L1542[21:38:02] <JamEngulfer> lambdas scare me
L1543[21:38:06] <Ordinastie_> JamEngulfer, what version are you using ?
L1544[21:38:09] <JamEngulfer> Oh.
L1545[21:38:12] <JamEngulfer> 1.8
L1546[21:38:15] <TehNut> ew update
L1547[21:38:19] ⇦ Quits: Benimatic (~Benimatic@cblmdm72-241-108-184.buckeyecom.net) (Read error: Connection reset by peer)
L1548[21:38:23] <Ordinastie_> yeah, no
L1549[21:38:24] <Ordinastie_> update
L1550[21:38:31] <TehNut> 1.8 should be used for dev even less than 1.7 should be
L1551[21:38:32] ⇨ Joins: Benimatic (~Benimatic@cblmdm72-241-108-184.buckeyecom.net)
L1552[21:38:36] <JamEngulfer> Oh come on! I want to be done with one freaking version before I start another one ;_;
L1553[21:38:46] <TehNut> 1.8 is 100% dead
L1554[21:38:47] <howtonotwin> Welp, 1.11 is happening soon
L1555[21:38:55] <howtonotwin> get ready for "internal changes"
L1556[21:39:03] <Ordinastie_> JamEngulfer, why ?
L1557[21:39:03] <TehNut> Use a minimum of 1.9 since many 1.9 mods will work on 1.10
L1558[21:39:11] <TehNut> 1.9.4*
L1559[21:39:13] <howtonotwin> i.e. insta-death for mods, again
L1560[21:39:16] ⇦ Quits: Benimatic (~Benimatic@cblmdm72-241-108-184.buckeyecom.net) (Read error: Connection reset by peer)
L1561[21:39:30] ⇨ Joins: Benimatic (~Benimatic@cblmdm72-241-108-184.buckeyecom.net)
L1562[21:39:36] *** cpw|out is now known as cpw
L1563[21:39:49] <Ordinastie_> there is no good reason to not update
L1564[21:39:53] <JamEngulfer> I’ve been making this damn mod for 2-3 years. Every time I come back to it, I just spend all my time updating to whatever internal shakeup Mojang has done this time, then I run out of energy and give up
L1565[21:39:54] <RANKSHANK> ^
L1566[21:40:03] <TehNut> 1.8 to 1.9 is easy
L1567[21:40:05] <TehNut> Don't worry
L1568[21:40:07] <howtonotwin> 1.9 is not much different actually
L1569[21:40:32] <TehNut> Blood Magic took me like an hour to update
L1570[21:40:38] <JamEngulfer> I completely gave up at 1.7 to 1.8. The whole gradle thing threw me for a loop and I stopped XD
L1571[21:40:41] <Ordinastie_> well, don't stop, you won't have to "come back", just follow the flow
L1572[21:41:09] <RANKSHANK> gradle was the best thing ever.
L1573[21:41:11] <howtonotwin> Sorry if this pings you: https://gist.github.com/williewillus/e37edde85dc78d2e138c
L1574[21:41:15] <JamEngulfer> Yeah, I know. As long as it’s easy :P
L1575[21:41:16] ⇦ Quits: Benimatic (~Benimatic@cblmdm72-241-108-184.buckeyecom.net) (Read error: Connection reset by peer)
L1576[21:41:22] <howtonotwin> you'll see it's not very much
L1577[21:41:30] ⇨ Joins: Benimatic (~Benimatic@cblmdm72-241-108-184.buckeyecom.net)
L1578[21:42:11] ⇦ Quits: cpup (~cpup@32.218.119.172) (Ping timeout: 384 seconds)
L1579[21:42:16] ⇦ Quits: Benimatic (~Benimatic@cblmdm72-241-108-184.buckeyecom.net) (Read error: Connection reset by peer)
L1580[21:42:31] ⇨ Joins: Benimatic (~Benimatic@cblmdm72-241-108-184.buckeyecom.net)
L1581[21:43:04] <JamEngulfer> Also, I really like Blood Magic. I had fun making thousands of diamond blocks through a dupe bug I found
L1582[21:43:19] <TehNut> okay?
L1583[21:43:30] <JamEngulfer> I’m just kidding, but yeah.
L1584[21:44:31] <JamEngulfer> So 1.9 is the version to go to? Or should I go for 1.10?
L1585[21:44:44] <TehNut> Minimum of 1.9.4. 1.10.2 is preferred though
L1586[21:44:49] *** Darkhax is now known as Darkhax_AFK
L1587[21:44:51] <RANKSHANK> I always go latest forge
L1588[21:44:59] <RANKSHANK> you miss out on features otherwise
L1589[21:45:21] ⇦ Quits: Benimatic (~Benimatic@cblmdm72-241-108-184.buckeyecom.net) (Read error: Connection reset by peer)
L1590[21:45:26] <howtonotwin> 1.10 is the same as 1.9 except for the small touch of new stuff
L1591[21:45:34] ⇨ Joins: Benimatic (~Benimatic@cblmdm72-241-108-184.buckeyecom.net)
L1592[21:45:46] <TehNut> MC wise*
L1593[21:45:52] <TehNut> Forge has made some changes between the two
L1594[21:46:02] <howtonotwin> But nothing should break
L1595[21:46:22] ⇦ Quits: Benimatic (~Benimatic@cblmdm72-241-108-184.buckeyecom.net) (Read error: Connection reset by peer)
L1596[21:46:32] <TehNut> The only thing Forge "broke" that I noticed were AddCallbacks for the registries. But that's not a huge deal
L1597[21:46:36] ⇨ Joins: Benimatic (~Benimatic@cblmdm72-241-108-184.buckeyecom.net)
L1598[21:46:40] <TehNut> I doubt anybody uses that
L1599[21:46:46] <Ordinastie_> my mods work for both, so if my mods work, pretty sure all the mods work :p
L1600[21:46:47] <TehNut> Other than me >.>
L1601[21:47:12] <Ordinastie_> addCallback ?
L1602[21:47:17] <JamEngulfer> The problem is, stuff like FTB Infinity Evolved is still on 1.7. All of the packs seemed to have skipped 1.8 and 1.9. There’s only Unstable on 1.10.
L1603[21:47:35] <TehNut> I don't see the problem there
L1604[21:47:56] <JamEngulfer> I do. Most people play Infinity Evolved. I know I sure do
L1605[21:48:02] <TehNut> Ordinastie_: a method that gets called every time something is added to an IForgeRegistry
L1606[21:48:30] <TehNut> That being "a problem" keeps us on old MC versions :P
L1607[21:48:32] <Ordinastie_> yeah I know that, but what do you use it for ?
L1608[21:48:42] <JamEngulfer> I guess so, yeah
L1609[21:48:47] <TehNut> Oh, elegantly crashing if people registered stuff too late
L1610[21:49:00] <Ordinastie_> lol
L1611[21:49:03] <TehNut> :P
L1612[21:49:46] <JamEngulfer> It just doesn’t seem like it’s worth updating if by the time I’m finished with one version, the next MC version is out. I guess that’s why a lot of packs are always so far behind. More mods
L1613[21:50:11] <TehNut> When Mojang gets to a point they like, we'll get another LTS version
L1614[21:50:29] <TehNut> Right now, it's rapid fire updates and we just have to deal with that
L1615[21:50:43] <JamEngulfer> LTS? Long Term… S?
L1616[21:50:43] <RANKSHANK> the further behind you are the more you'll have to update in future releases
L1617[21:50:48] <howtonotwin> Support
L1618[21:50:48] <TehNut> Support
L1619[21:50:53] <JamEngulfer> oh yeah
L1620[21:51:06] <howtonotwin> Someone owes me a cookie :P
L1621[21:51:11] <JamEngulfer> heh
L1622[21:51:11] <Ordinastie_> if you think updating to a new version is annoying, wait until you need to update 2 or 3 version at once
L1623[21:51:18] <RANKSHANK> ^
L1624[21:51:36] <JamEngulfer> At least it’s not 1.7 to 1.8
L1625[21:52:00] <TehNut> I doubt we'll see another 1.7 to 1.8 style update anytime soon
L1626[21:52:18] <TehNut> That's the benefit of quick updates: less major overhauls
L1627[21:53:50] <JamEngulfer> Unless they do a major overhaul very quickly :P
L1628[21:53:59] <TehNut> Hah. We're talking about Mojang.
L1629[21:54:06] <JamEngulfer> true, true
L1630[21:54:13] <howtonotwin> <grammarnazi>fewer</grammarnazi>
L1631[21:54:26] <TehNut> scru u mang
L1632[21:55:43] * howtonotwin brings forth the Holy Cross of the Righteous Grammar Church to expel the demon set upon TehNut by the False Speaker.
L1633[21:55:59] <TehNut> no u
L1634[21:56:21] <JamEngulfer> Hopefully because of the effort I put into abstracting the registration process, I can change 4 lines of code to update my registry stuff
L1635[21:58:21] <RANKSHANK> Or you could use the most recent version and forgo some future-proofing
L1636[21:58:28] <RANKSHANK> something sensible really
L1637[21:58:41] <JamEngulfer> Huh?
L1638[21:59:42] <RANKSHANK> read: update and just straight out use the forge registries. they're easy to work with and require little code to get up and running
L1639[21:59:51] <JamEngulfer> That’s what I meant
L1640[22:00:16] <JamEngulfer> It doesn’t matter, dw
L1641[22:01:28] <RANKSHANK> ahh kk misinterpretation on my end :P
L1642[22:04:37] * howtonotwin surprise-exorcises the demon from TH's body.
L1643[22:05:34] <RANKSHANK> yew bleedy wot m8
L1644[22:05:57] <TehNut> who is TH
L1645[22:06:16] <RANKSHANK> Me thinks yous am
L1646[22:06:18] * howtonotwin realizes he succeeded in the exorcism
L1647[22:06:24] * howtonotwin rejoices
L1648[22:06:26] <TehNut> me thinks mez notz
L1649[22:10:07] <JamEngulfer> Oh wow, it’s 4am. I didn’t even notice. I should probably sleep at some point soon
L1650[22:10:27] <howtonotwin> What's with this IRC and sleeping at 4?
L1651[22:10:44] <JamEngulfer> Anyway, thanks eveyone for the help! It’s been great.
L1652[22:12:21] <RANKSHANK> toodles~
L1653[22:14:00] ⇦ Quits: JamEngulfer (~JamEngulf@host5-81-242-203.range5-81.btcentralplus.com) (Ping timeout: 186 seconds)
L1654[22:17:47] ⇦ Quits: Ordinastie_ (~Ordinasti@87-231-58-94.rev.numericable.fr) (Quit: Leaving)
L1655[22:21:29] ⇦ Quits: auenf (David@DC-24-199.bpb.bigpond.com) (Ping timeout: 182 seconds)
L1656[22:22:33] ⇨ Joins: auenf (David@DC-24-199.bpb.bigpond.com)
L1657[22:28:48] *** Keridos is now known as Keridos|away
L1658[22:33:06] ⇨ Joins: McJty (~jorrit@94-225-203-206.access.telenet.be)
L1659[22:41:03] ⇨ Joins: AbrarSyed (~AbrarSyed@ipv6.abrarsyed.com)
L1660[22:41:03] MineBot sets mode: +o on AbrarSyed
L1661[22:41:34] ⇦ Quits: Dries007 (~DriesZNC@abrarsyed.com) (Quit: ZNC - http://znc.in)
L1662[22:41:34] ⇦ Quits: diesieben07 (~diesieben@abrarsyed.com) (Quit: ZNC - http://znc.in)
L1663[22:41:34] ⇦ Quits: AbrarSyed (~AbrarSyed@ipv6.abrarsyed.com) (Quit: All things are trivial once you've mastered them.)
L1664[22:41:34] ⇦ Quits: Wuppy (~wuppyZNC@abrarsyed.com) (Quit: ZNC - http://znc.in)
L1665[22:41:34] ⇦ Quits: luacs1998 (~miyamoto@abrarsyed.com) (Quit: ZNC - http://znc.in)
L1666[22:41:35] ⇦ Quits: Reika (~Reika@reika.kalseki.mods.abrarsyed.com) (Quit: ZNC - http://znc.in)
L1667[22:42:03] ⇨ Joins: AbrarSyed (~AbrarSyed@ipv6.abrarsyed.com)
L1668[22:42:03] MineBot sets mode: +o on AbrarSyed
L1669[22:43:01] ⇨ Joins: luacs1998 (~miyamoto@2001:19f0:6400:8965:5400:ff:fe07:8777)
L1670[22:43:09] *** Darkhax_AFK is now known as Darkhax
L1671[22:43:32] ⇨ Joins: Reika (~Reika@reika.kalseki.mods.abrarsyed.com)
L1672[22:44:01] ⇨ Joins: diesieben07 (~diesieben@abrarsyed.com)
L1673[22:44:37] ⇨ Joins: Wuppy (~wuppyZNC@abrarsyed.com)
L1674[22:46:25] ⇨ Joins: agowa339 (~Thunderbi@p549181A9.dip0.t-ipconnect.de)
L1675[22:49:37] ⇦ Quits: agowa338 (~Thunderbi@p54918825.dip0.t-ipconnect.de) (Ping timeout: 384 seconds)
L1676[22:49:37] *** agowa339 is now known as agowa338
L1677[22:50:30] ⇦ Quits: primetoxinz (~primetoxi@ip68-107-226-229.hr.hr.cox.net) (Remote host closed the connection)
L1678[22:53:23] ⇦ Quits: Lathanael|Away (~Lathanael@p549607F3.dip0.t-ipconnect.de) (Ping timeout: 202 seconds)
L1679[22:54:28] ⇨ Joins: Lathanael|Away (~Lathanael@p549613F9.dip0.t-ipconnect.de)
L1680[22:57:51] ⇦ Quits: minot (~minot@pool-100-8-212-113.nwrknj.fios.verizon.net) (Read error: Connection reset by peer)
L1681[22:58:41] ⇨ Joins: panda_2134 (~panda_213@ss1.flamerat.org)
L1682[23:00:25] ⇨ Joins: killjoy1 (~killjoy@71.65.255.183)
L1683[23:03:16] ⇨ Joins: Naiten (Naiten@77.35.188.83)
L1684[23:04:52] ⇦ Quits: Chaoschaot234 (~Chaoschao@83-221-68-174.dynamic.primacom.net) (Quit: Nettalk6 - www.ntalk.de)
L1685[23:07:59] *** willieaway is now known as williewillus
L1686[23:08:45] <williewillus> what do i return for IRecipe.getRevcipeSize if it varies?
L1687[23:09:17] <williewillus> have a "shapeless" recipe for recharging an item by crafting a base ingredient with it and you can do anything from 1 to 8 of that item
L1688[23:09:37] <killjoy1> What's wrong with hexchat? Every time my computer goes to sleep with it open, I get a new entry of it in the tray
L1689[23:09:48] <AbrarSyed> thats a problem with your tray lol
L1690[23:10:13] <AbrarSyed> luinux standards dictate only 1 tray item may exist per program, across all monitors. Does your OS not have a similar restriction?
L1691[23:10:14] <killjoy1> I have 11 of them
L1692[23:10:27] <killjoy1> 2 of them say I have notifications
L1693[23:10:48] <killjoy1> https://github.com/hexchat/hexchat/issues/1423
L1694[23:11:38] <killjoy1> yup. issue with 4k monitor
L1695[23:11:56] <AbrarSyed> #linuxmasterrace
L1696[23:12:09] <AbrarSyed> srsly killjoy, why havent you joined us yet?
L1697[23:12:18] <killjoy1> I already have.
L1698[23:12:20] <killjoy1> Like.. long ago
L1699[23:12:30] <killjoy1> I just use Windows for games and office
L1700[23:12:32] <AbrarSyed> thats what I remember.. but this is a windows only bug?
L1701[23:12:40] <killjoy1> would seem so
L1702[23:12:41] <AbrarSyed> fun fact, LOL works great through wine
L1703[23:12:59] <killjoy1> I don't play
L1704[23:13:47] <killjoy1> If I had a spare laptop, I'd probably put Elementary on it.
L1705[23:13:53] <killjoy1> Has it gotten better since Luna?
L1706[23:14:08] <AbrarSyed> #archmasterrace
L1707[23:14:51] <killjoy1> Honestly, I haven't found a DE I've fallen in love with
L1708[23:15:06] <RANKSHANK> williewillus I think you just return the default value of 10
L1709[23:15:14] <williewillus> wait 10?
L1710[23:15:17] <RANKSHANK> It's what I've done and it works
L1711[23:15:19] <williewillus> doesnt the grid have 9 slots
L1712[23:15:21] <williewillus> lol
L1713[23:16:25] <killjoy1> cool. google knows a few irc clients.
L1714[23:16:33] <killjoy1> via wikipedia
L1715[23:16:36] <RANKSHANK> yeah I dunno I've been using the 10 for ages :P
L1716[23:16:51] <RANKSHANK> williewillus my usage https://github.com/RANKSHANK/Arbitraria/blob/master/src/main/java/mod/rankshank/arbitraria/common/recipes/RecipeSprayBottleFiller.java#L138-L140
L1717[23:17:12] <RANKSHANK> allows me to fill x number of bottles dependent on the fluid container
L1718[23:18:47] ⇦ Quits: Vazkii (~Vazkii@a79-169-163-74.cpe.netcabo.pt) (Quit: seeya m8 thx 4 playin)
L1719[23:21:54] <williewillus> !gm getFullEffectsFromTag
L1720[23:22:22] <williewillus> tfw you see a terrible mapping you thought you made but it wasn't you
L1721[23:22:43] <williewillus> !gm addCustomPotionEffectToList
L1722[23:27:51] <AbrarSyed> killjoy1, there is this one linux distro that has like everything under the sun preinstalled (all the DEs) so you can just reloig in and try them all without reinstalling
L1723[23:28:04] <killjoy1> Sounds bloated
L1724[23:28:18] <AbrarSyed> well yeah, bbut its just to see what you like
L1725[23:28:23] <AbrarSyed> after which you install a REAL distro
L1726[23:28:27] <killjoy1> I'd do it if it was just a livecd
L1727[23:28:32] <killjoy1> *livedvd
L1728[23:28:35] <killjoy1> *liveusb
L1729[23:28:38] <AbrarSyed> it migth be a lviecd.. if only I could find it again
L1730[23:28:38] <killjoy1> *livehdd
L1731[23:28:54] <killjoy1> *livenetboot
L1732[23:29:28] ⇦ Quits: Doty1154 (~Doty1154@c-73-189-164-179.hsd1.ca.comcast.net) (Read error: Connection reset by peer)
L1733[23:43:13] *** williewillus is now known as willieaway
L1734[23:50:02] ⇦ Quits: Zyferus (Zyferus@172-3-154-217.lightspeed.mssnks.sbcglobal.net) (Ping timeout: 182 seconds)
<<Prev Next>> Scroll to Top