<<Prev Next>> Scroll to Bottom
Stuff goes here
L1[00:01:11] <tterrag> lex: there should be an @Ignore
L2[00:01:18] <tterrag> if I want to have non-config fields
L3[00:01:33] <tterrag> otherwise looking great
L4[00:04:43] <LexManos> maybe...
L5[00:05:01] <LexManos> Adding things after the fact is always possible
L6[00:05:06] <LexManos> removing on the other hand is not./
L7[00:05:16] ⇨ Joins: TechnicianLP (~Technicia@p4FE575FC.dip0.t-ipconnect.de)
L8[00:05:45] <covers1624> Ohh, new config stuff
L9[00:06:39] <kashike> tterrag: or `transient` keyword
L10[00:07:02] ⇨ Joins: Hunterz (~hunterz@2001:af0:8000:1c01:6af7:28ff:fe37:5d6a)
L11[00:08:15] <tterrag> kashike: true
L12[00:08:19] <tterrag> that's what gson does. makes sense
L13[00:08:32] <kashike> gson has support for transient and an annotation iirc
L14[00:10:01] <tterrag> not quite
L15[00:10:11] <tterrag> either you use transient, or you turn on a mode where it requires @Expose
L16[00:10:17] <tterrag> there is no @Ignore sadly
L17[00:10:46] <kashike> oh, yeah, other way around for gson - expose
L18[00:17:49] *** TTFTCUTS is now known as TTFT|Away
L19[00:28:39] *** fry|sleep is now known as fry
L20[00:30:27] ⇦ Quits: TechnicianLP (~Technicia@p4FE575FC.dip0.t-ipconnect.de) (Ping timeout: 183 seconds)
L21[00:30:27] ⇦ Quits: Kaiyouka (~IdiotNono@c-75-71-231-133.hsd1.co.comcast.net) (Ping timeout: 183 seconds)
L22[00:33:22] ⇨ Joins: Kaiyouka (~IdiotNono@c-75-71-231-133.hsd1.co.comcast.net)
L23[00:36:27] ⇦ Quits: illy (~LordIllyo@2602:304:cf32:f980:e002:875:7132:da37) (Ping timeout: 206 seconds)
L24[00:37:48] ⇦ Quits: Upthorn (~ogmar@108-204-125-173.lightspeed.frokca.sbcglobal.net) (Ping timeout: 198 seconds)
L25[00:58:41] ⇦ Quits: blood_ (unknown@ool-4574115b.dyn.optonline.net) ()
L26[00:59:32] *** tterrag is now known as tterrag|ZZZzzz
L27[01:03:50] ⇦ Quits: Brokkoli (~Brokkoli@p5B23C07C.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))
L28[01:04:56] ⇦ Quits: Doty1154 (~Doty1154@c-73-189-164-179.hsd1.ca.comcast.net) (Quit: Leaving)
L29[01:24:11] ⇨ Joins: Naiten (Naiten@86-102-22-252.xdsl.primorye.ru)
L30[01:24:49] ⇨ Joins: TechnicianLP (~Technicia@p5DE94345.dip0.t-ipconnect.de)
L31[01:31:26] *** AbrarSyed is now known as Abrar|gone
L32[01:33:14] ⇦ Quits: SkySom (~SkySom@162.243.21.185) (Ping timeout: 186 seconds)
L33[01:33:46] ⇨ Joins: SkySom (~SkySom@162.243.21.185)
L34[01:36:04] ⇦ Quits: PitchBright (~PitchBrig@CPE00fc8d8a3ce3-CM00fc8d8a3ce0.cpe.net.cable.rogers.com) (Ping timeout: 183 seconds)
L35[01:36:41] ⇨ Joins: Koward (~Koward@2a02:2788:7d4:4dd:dd31:5b64:bd6b:d240)
L36[01:44:02] ⇨ Joins: ThePsionic (~ThePsioni@95.85.4.153)
L37[01:46:02] ⇦ Quits: ollieread (~ollieread@exia.ollieread.com) (Ping timeout: 195 seconds)
L38[01:49:05] ⇦ Quits: auenf (David@DC-24-199.bpb.bigpond.com) (Remote host closed the connection)
L39[01:50:02] ⇨ Joins: auenf (David@DC-24-199.bpb.bigpond.com)
L40[01:50:03] ⇦ Quits: TechnicianLP (~Technicia@p5DE94345.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
L41[01:53:07] ⇨ Joins: KGS (~KGS@h-155-4-129-249.na.cust.bahnhof.se)
L42[01:57:10] ⇨ Joins: PitchBright (~PitchBrig@CPE00fc8d8a3ce3-CM00fc8d8a3ce0.cpe.net.cable.rogers.com)
L43[01:59:43] <MCPBot_Reborn> [TEST CSV] Pushing snapshot_20161011 mappings to Forge Maven.
L44[01:59:47] <MCPBot_Reborn> [TEST CSV] Maven upload successful for mcp_snapshot-20161011-1.10.2.zip (mappings = "snapshot_20161011" in build.gradle).
L45[01:59:58] <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/
L46[02:05:00] ⇦ Quits: IceDragon (~ThatGuy@69.160.109.166) (Ping timeout: 183 seconds)
L47[02:07:43] ⇨ Joins: Lildirt (~Lildirt@lildirt.com)
L48[02:08:24] ⇦ Quits: Lumien (Elite13049@ipv6.6.sigma.elitebnc.org) (Ping timeout: 198 seconds)
L49[02:15:40] ⇦ Quits: Kaiyouka (~IdiotNono@c-75-71-231-133.hsd1.co.comcast.net) (Ping timeout: 384 seconds)
L50[02:29:09] ⇨ Joins: Noppes (~Noppes@ip56530f2e.direct-adsl.nl)
L51[02:32:43] ⇦ Quits: thechief5456 (~austindor@c-24-13-64-193.hsd1.il.comcast.net) (Read error: Connection reset by peer)
L52[02:36:50] ⇨ Joins: VikeStep (~VikeStep@101.184.243.180)
L53[02:42:43] ⇦ Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 183 seconds)
L54[02:45:46] ⇨ Joins: jordibenck (~jordi@86.89.212.184)
L55[02:45:47] ⇦ Quits: MrIbby (~MrIbby@173.85.200.171) (Remote host closed the connection)
L56[02:49:20] ⇨ Joins: Larry1123 (Larry1123@irc.larry1123.net)
L57[02:54:32] ⇦ Quits: cppchriscpp (~cppchrisc@c-76-24-45-127.hsd1.nh.comcast.net) (Read error: Connection reset by peer)
L58[02:54:43] ⇨ Joins: cppchriscpp (~cppchrisc@c-76-24-45-127.hsd1.nh.comcast.net)
L59[03:10:14] ⇨ Joins: OrionOnline (~OrionOnli@ip-80-236-217-21.dsl.scarlet.be)
L60[03:19:10] ⇨ Joins: Emris (~Miranda@195.234.58.25)
L61[03:25:43] ⇨ Joins: Seppon (~Noppes@ip56530f2e.direct-adsl.nl)
L62[03:27:40] ⇦ Quits: Noppes (~Noppes@ip56530f2e.direct-adsl.nl) (Ping timeout: 183 seconds)
L63[03:34:48] ⇦ Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 206 seconds)
L64[03:34:48] ⇦ Quits: xampp (~xampp@c-98-243-68-246.hsd1.mi.comcast.net) (Ping timeout: 198 seconds)
L65[03:37:10] ⇨ Joins: xampp (~xampp@98.243.68.246)
L66[03:38:11] ⇦ Quits: Naiten (Naiten@86-102-22-252.xdsl.primorye.ru) (Read error: Connection reset by peer)
L67[03:45:00] ⇦ Quits: xampp (~xampp@98.243.68.246) (Ping timeout: 198 seconds)
L68[03:46:41] ⇨ Joins: xampp (~xampp@c-98-243-68-246.hsd1.mi.comcast.net)
L69[03:55:12] ⇦ Quits: KGS (~KGS@h-155-4-129-249.na.cust.bahnhof.se) (Ping timeout: 198 seconds)
L70[03:55:34] ⇦ Quits: Everseeking (~Everseeki@pool-100-6-80-90.pitbpa.fios.verizon.net) (Quit: Big Gulps, huh? Alright... Welp, see ya later)
L71[03:57:09] ⇨ Joins: Larry1123 (Larry1123@irc.larry1123.net)
L72[04:00:13] ⇦ Quits: alekso56 (~znc@2001:464b:c2aa:0:745d:45ff:fe3b:a098) (Ping timeout: 183 seconds)
L73[04:03:15] ⇨ Joins: alekso56 (~znc@2001:464b:c2aa:0:745d:45ff:fe3b:a098)
L74[04:04:57] ⇦ Quits: Meow-J (~Meow-J@45.32.34.121) (Remote host closed the connection)
L75[04:23:11] <OrionOnline> Heey guys
L76[04:23:19] <OrionOnline> (and girls)
L77[04:37:19] ⇨ Joins: Snapples (uid167569@id-167569.highgate.irccloud.com)
L78[04:57:52] ⇨ Joins: mezz_ (~mezz@24.6.28.151)
L79[04:57:52] MineBot sets mode: +v on mezz_
L80[04:59:42] ⇦ Quits: jordibenck (~jordi@86.89.212.184) (Quit: Leaving)
L81[05:00:00] ⇦ Quits: mezz (~mezz@24.6.28.151) (Ping timeout: 198 seconds)
L82[05:07:42] <LatvianModder> deobfCompile is something only added by forgegradle?
L83[05:07:57] <LatvianModder> actually, duh, makes sense
L84[05:12:11] ⇦ Quits: Searge|office (~Searge@h-85-24-130-18.na.cust.bahnhof.se) (Read error: Connection reset by peer)
L85[05:15:36] ⇨ Joins: mallrat208 (~mallrat20@107-145-175-135.res.bhn.net)
L86[05:16:09] <Koward> Damn my TE is null at randomDisplayTicks and it pisses me off.
L87[05:16:37] <Ordinastie> you're probably doing it wrong
L88[05:16:41] <Ordinastie> show code
L89[05:17:22] <Koward> Which part ?
L90[05:17:26] <Ordinastie> the block
L91[05:17:55] <LatvianModder> *please dont be BlockContainer please dont be BlockContainer *
L92[05:19:17] <Ordinastie> I'm more like *please don't paste the full class here :x*
L93[05:19:33] <Koward> Come on. I'm a retard, but not that retarded.
L94[05:20:02] <Ordinastie> you'd be surprise how often that happens
L95[05:21:27] <Koward> http://hastebin.com/juwiwumoto.java
L96[05:22:19] <Ordinastie> LatvianModder, and that's why I prefer to use ITEP
L97[05:22:26] <Ordinastie> Koward, you're missing hasTileEntity override
L98[05:22:37] ⇨ Joins: Naiten (~Naiten@82.162.1.196)
L99[05:23:01] <Ordinastie> also, ew the formatting :s
L100[05:23:41] <Koward> I don't know why the formatting is fucked up, I assure you it's not that messy on my side
L101[05:23:45] <LatvianModder> yes, hasTileEntity(IBlockState) is essential
L102[05:24:00] <Ordinastie> Koward, yes it it
L103[05:24:02] <Ordinastie> *it is
L104[05:24:10] <Ordinastie> you just don't *see* it
L105[05:24:20] <LatvianModder> Im pretty sure its hastebin
L106[05:24:27] <Ordinastie> no
L107[05:24:32] <Ordinastie> mixed tabs and spaces
L108[05:24:49] <Subaraki> ctrl a ctrl i
L109[05:24:49] <Koward> Oh yes I just noticed.
L110[05:24:51] <Subaraki> very handy
L111[05:25:06] <LatvianModder> Crtl + Shift + F
L112[05:25:06] <Ordinastie> just auto format on save
L113[05:25:11] <LatvianModder> at least with Eclipse key settings
L114[05:25:16] <LatvianModder> assert(te != null); why
L115[05:25:30] <Ordinastie> oh no don't do that
L116[05:25:30] <LatvianModder> IIRC assert isnt even recommended by Java :P
L117[05:25:40] <Ordinastie> just return if no TE
L118[05:25:44] <Koward> Oh I was just checking things between the time I said my problem here and the moment I pasted code
L119[05:25:46] ⇨ Joins: Meow-J (~Meow-J@45.32.34.121)
L120[05:26:00] <Ordinastie> and check type of TE too
L121[05:26:07] <Ordinastie> before casting
L122[05:26:09] <LatvianModder> dont null check at all
L123[05:26:22] <LatvianModder> basically if(te instanceof TileMy) { ... }
L124[05:26:33] <Koward> Why checking ? It has to be that type. If it's not there's something very wrong.
L125[05:26:39] <LatvianModder> no
L126[05:26:44] <Ordinastie> no
L127[05:27:00] <Ordinastie> I have a block that disguise itself as others
L128[05:27:02] <Koward> What else could it be ?
L129[05:27:22] <LatvianModder> thats probably the most popular case, yes
L130[05:27:46] <LatvianModder> Even though its hard to do it nowdays, you should still check for instanceof. Also it looks better
L131[05:27:48] <Ordinastie> well, tbh, my camo block actually has a proxy world for that
L132[05:27:52] <LatvianModder> Also its general safety
L133[05:28:02] <Ordinastie> but yes, that
L134[05:28:06] <LatvianModder> Mine too had that but its still not 100% guarateed to work
L135[05:28:14] <Ordinastie> never had an issue
L136[05:28:20] <Ordinastie> suprisingly
L137[05:28:53] <LatvianModder> me neither. also suprisingly :P
L138[05:29:17] <Ordinastie> did you copy the typo on purpose? ><
L139[05:29:36] ⇦ Quits: Naiten (~Naiten@82.162.1.196) (Ping timeout: 183 seconds)
L140[05:29:38] <Koward> General safety could hide my problem or my misunderstanding of what can happen.
L141[05:30:40] <Ordinastie> hum wut ?
L142[05:33:22] <Koward> I prefer errors to problems I won't see.
L143[05:33:54] <Ordinastie> but that shouldn't error
L144[05:34:25] <Ordinastie> you mod will crash in modpack because you didn't anticipate mod interractions
L145[05:35:32] ⇨ Joins: iari (~iari___@evana.futhark24.org)
L146[05:35:39] <Koward> Okay. By the way, still getting TE null. Could the randomDisplayTick happen before the TE is actually set ?
L147[05:35:47] <Ordinastie> no
L148[05:36:25] <Ordinastie> show code again
L149[05:37:28] <Koward> http://hastebin.com/mitalizupi.java
L150[05:37:33] <Subaraki> isn't randomdisplaytick client side only ?
L151[05:37:36] <LatvianModder> uugh
L152[05:37:40] <Subaraki> and have you tried starting a new world?
L153[05:37:49] <LatvianModder> wrong hasTileEntity
L154[05:37:58] <LatvianModder> hasTileEntity(IBlockState)
L155[05:38:26] <LatvianModder> and you are *still* not using instanceofs in your Block file
L156[05:39:31] <Subaraki> the instanceof is very important ^
L157[05:39:47] <Subaraki> if your tileentity gets changed, or altered by anything, it'll crash
L158[05:39:51] <LatvianModder> line 93: tiny optimization - cache the AABBs. Also return instead of setting the aab, then break
L159[05:39:52] <Subaraki> because it cannot cast to yours
L160[05:40:52] <LatvianModder> we already told him that :P
L161[05:41:47] <LatvianModder> EnumFacing.values(), you can replace that with EnumFacing.VALUES. might be 1 nanosecond faster
L162[05:51:09] ⇨ Joins: Noppie (~Noppes@ip56530f2e.direct-adsl.nl)
L163[05:52:20] ⇦ Quits: Seppon (~Noppes@ip56530f2e.direct-adsl.nl) (Ping timeout: 183 seconds)
L164[05:57:49] ⇨ Joins: Noppes (~Noppes@ip56530f2e.direct-adsl.nl)
L165[05:58:52] ⇨ Joins: Searge|office (~Searge@h-85-24-130-18.na.cust.bahnhof.se)
L166[05:59:54] ⇦ Quits: Noppie (~Noppes@ip56530f2e.direct-adsl.nl) (Ping timeout: 186 seconds)
L167[06:04:44] ⇦ Quits: alekso56 (~znc@2001:464b:c2aa:0:745d:45ff:fe3b:a098) (Ping timeout: 183 seconds)
L168[06:07:29] ⇨ Joins: alekso56 (~znc@2001:464b:c2aa:0:745d:45ff:fe3b:a098)
L169[06:09:24] <OrionOnline> fry, you around?
L170[06:09:32] <OrionOnline> I have an interesting question
L171[06:09:41] <OrionOnline> regarding this exception:
L172[06:09:47] <OrionOnline> https://gist.github.com/OrionDevelopment/589b7cbfec4de85342830ce0b0defea2#file-armorylaunchlog-txt-L235-L265
L173[06:23:22] ⇦ Quits: samschaap (~samschaap@5469bf1f.cm-12-2c.dynamic.ziggo.nl) (Ping timeout: 186 seconds)
L174[06:25:55] ⇦ Quits: Koward (~Koward@2a02:2788:7d4:4dd:dd31:5b64:bd6b:d240) (Ping timeout: 183 seconds)
L175[06:28:54] <howtonotwin> I'm tertiary model guru.
L176[06:29:02] <howtonotwin> Can you post then json?
L177[06:29:03] <howtonotwin> :P
L178[06:29:17] <howtonotwin> OrionOnline ^
L179[06:29:35] <howtonotwin> *the
L180[06:29:58] ⇨ Joins: samschaap (~samschaap@5469bf1f.cm-12-2c.dynamic.ziggo.nl)
L181[06:30:34] ⇨ Joins: Upthorn (~ogmar@108-85-88-44.lightspeed.frokca.sbcglobal.net)
L182[06:32:46] ⇨ Joins: Dark (~MrDark@cpe-104-230-227-71.columbus.res.rr.com)
L183[06:33:59] ⇦ Quits: ghz|afk (gigaherz@198.red-88-22-37.staticip.rima-tde.net) (Remote host closed the connection)
L184[06:34:26] <OrionOnline> howtonotwin
L185[06:34:33] <OrionOnline> You should now that the model is split into three files
L186[06:34:38] <OrionOnline> But yeah one sec
L187[06:35:00] <howtonotwin> and what was your question?
L188[06:35:40] <OrionOnline> One sec i am looking up the method name
L189[06:36:51] <OrionOnline> howtonotwin, in particular, is this possible with blocks: https://github.com/SmithsGaming/Armory/blob/15d1ac447aeab74d8d75aba25197f0cac6b64605/src/main/com/smithsmodding/armory/client/logic/ArmoryClientInitializer.java#L109-L124
L190[06:36:57] <OrionOnline> I know it was possible with Items
L191[06:37:01] <OrionOnline> But i need it for blocks
L192[06:37:21] <howtonotwin> statemappers
L193[06:37:29] <howtonotwin> one moment
L194[06:37:46] <howtonotwin> https://github.com/howtonotwin/MCForgeDocumentation/blob/models/docs/models/using.md#block-models
L195[06:38:02] <howtonotwin> read the block models section
L196[06:38:20] <howtonotwin> including "Custom IStateMappers"
L197[06:38:40] <OrionOnline> howtonotwin, i have those one sec
L198[06:39:28] <howtonotwin> also may I advise you to replace those ifs with a switch :P
L199[06:41:43] <OrionOnline> howtonotwin, https://github.com/SmithsGaming/Armory/blob/15d1ac447aeab74d8d75aba25197f0cac6b64605/src/main/com/smithsmodding/armory/client/logic/ArmoryClientInitializer.java#L149-L150
L200[06:42:06] <OrionOnline> And yeah i will upgrade that, it was a test for the conduits so that i could get their logic working
L201[06:42:25] ⇨ Joins: gigaherz (gigaherz@198.red-88-22-37.staticip.rima-tde.net)
L202[06:42:28] <OrionOnline> I need to fix ther locale and stuff like that
L203[06:42:53] <OrionOnline> So i will give the Enum for the type a proper upgrade as well which will improve the handling of this as well
L204[06:43:18] <OrionOnline> So i have the StateMapper splitting the state into three blockstate files
L205[06:43:39] <OrionOnline> Each of them having an inventory tag: https://github.com/SmithsGaming/Armory/tree/Development-1.10.2/src/resources/assets/armory/blockstates
L206[06:43:49] <OrionOnline> But it still cannot find it
L207[06:44:21] <howtonotwin> hmm
L208[06:46:23] <howtonotwin> do the blocks in the world still look correct?
L209[06:48:39] <OrionOnline> Yeah
L210[06:48:42] <OrionOnline> both in the world
L211[06:48:45] <OrionOnline> And in the inventory
L212[06:49:37] <howtonotwin> so you just get this exception even though nothing breaks
L213[06:49:50] ⇦ Quits: gigaherz (gigaherz@198.red-88-22-37.staticip.rima-tde.net) (Remote host closed the connection)
L214[06:50:30] ⇦ Quits: OrionOnline (~OrionOnli@ip-80-236-217-21.dsl.scarlet.be) (Read error: Connection reset by peer)
L215[06:56:13] ⇦ Quits: Noppes (~Noppes@ip56530f2e.direct-adsl.nl) (Read error: Connection reset by peer)
L216[06:56:33] ⇨ Joins: Noppes (~Noppes@ip56530f2e.direct-adsl.nl)
L217[06:59:05] ⇦ Quits: Noppes (~Noppes@ip56530f2e.direct-adsl.nl) (Read error: Connection reset by peer)
L218[06:59:08] ⇨ Joins: gigaherz (gigaherz@198.red-88-22-37.staticip.rima-tde.net)
L219[06:59:33] ⇨ Joins: Noppes (~Noppes@ip56530f2e.direct-adsl.nl)
L220[07:01:18] <gigaherz> there proposed my terminal-free configuration instructions as a docs PR
L221[07:01:19] <gigaherz> https://github.com/MinecraftForge/Documentation/pull/70
L222[07:01:20] <gigaherz> ;P
L223[07:06:29] ⇦ Quits: howtonotwin (~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net) (Ping timeout: 206 seconds)
L224[07:06:33] ⇨ Joins: howtolose (~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net)
L225[07:06:59] *** howtolose is now known as howtonotwin
L226[07:10:21] ⇦ Quits: Noppes (~Noppes@ip56530f2e.direct-adsl.nl) (Ping timeout: 183 seconds)
L227[07:11:30] ⇨ Joins: howtolose (~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net)
L228[07:12:01] ⇦ Quits: howtonotwin (~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net) (Killed (NickServ (GHOST command used by howtolose)))
L229[07:12:04] *** howtolose is now known as howtonotwin
L230[07:20:10] ⇦ Quits: ThePsionic (~ThePsioni@95.85.4.153) (Read error: Connection reset by peer)
L231[07:29:02] ⇨ Joins: IceDragon (~ThatGuy@184.170.52.74)
L232[07:30:13] <Subaraki> any way to get the item being placed in the container ?
L233[07:30:24] <Subaraki> on slot click returns only the item when there is one in the slot, not when it is placed
L234[07:30:42] <Ordinastie> !xy
L235[07:31:26] <Ordinastie> what are you trying to do?
L236[07:33:16] <Subaraki> when placing an item, set a flag in my entity class
L237[07:33:34] <Subaraki> now it only changes when you take the item out
L238[07:33:55] <Ordinastie> placing an item where ?
L239[07:34:06] <Subaraki> in a slot. slotClick has the player argument that i need
L240[07:34:59] <Subaraki> i also called it onSlotChange in the slot itself, but that changes the flag everytime i open the inventory
L241[07:35:38] <Ordinastie> you mean the player inventory ?
L242[07:35:39] <Subaraki> hmm, putStack seems interesting
L243[07:35:52] <Subaraki> no, its an ivnentory bound to the player that changes pet values
L244[07:36:15] <Ordinastie> check the slot content each tick
L245[07:36:17] <Subaraki> decided to save the inventory to the player, because you can only have one pet at a time, and this way you can keep it over said pet's death
L246[07:37:20] <Ordinastie> or use onSlotChanged
L247[07:37:36] <Subaraki> i did use onSlotChanged
L248[07:37:48] <Subaraki> but every time you open the inventory, onSlotChanged is called
L249[07:37:53] <Ordinastie> and ?
L250[07:38:11] <Subaraki> so items with random int switches get reset everytime
L251[07:38:21] <Subaraki> kinda anoying if you're looking for a certain skin
L252[07:38:28] <Ordinastie> wut ?
L253[07:38:52] <Subaraki> place rabbit foot in slot, get rabbit with skin [0;5]
L254[07:39:02] <Subaraki> keep placing it again untill you find the skin that appeals to you
L255[07:39:25] <Subaraki> if it then changes evertime you open the inventory again, can be a pain to try and find the texture you want
L256[07:39:28] <Subaraki> anyway
L257[07:39:41] <Ordinastie> onSlotChanged, just check if your item is here, set your flag accordingly
L258[07:39:42] <Subaraki> this might solve it : using putStack in the slot
L259[07:40:01] <Ordinastie> god, I'm sorry I asked :s
L260[07:40:15] <Subaraki> ?
L261[07:40:24] <Subaraki> this is getting confusing ._.
L262[07:40:32] * Subaraki hides in a hideyhole
L263[07:40:50] <gigaherz> Subaraki: there's a field in the player inventory for the stack "on the mouse"
L264[07:41:33] <Subaraki> yeah, that I know. didn't think that would fit in
L265[07:41:38] <Ordinastie> yes, but that's dumb
L266[07:41:50] <gigaherz> first of all
L267[07:41:53] <gigaherz> is this your own GUI?
L268[07:41:56] <Subaraki> yes
L269[07:42:00] <Ordinastie> doesn't matter
L270[07:42:06] <Ordinastie> don't use player interaction to set it
L271[07:42:08] <gigaherz> so get your own custom Slot class, and handle the putStack method
L272[07:42:17] ⇦ Quits: Searge|office (~Searge@h-85-24-130-18.na.cust.bahnhof.se) (Read error: Connection reset by peer)
L273[07:42:17] <Ordinastie> if the slot is set programmatically, that won't work anymore
L274[07:42:22] <Subaraki> <Subaraki> this might solve it : using putStack in the slot
L275[07:42:49] <Subaraki> but thanks for the help guys :)
L276[07:43:03] <Subaraki> sometimes just blurting stupid code in this chat helps self realization
L277[07:43:10] <Subaraki> o/
L278[07:43:26] ⇨ Joins: Searge|office (~Searge@h-85-24-130-18.na.cust.bahnhof.se)
L279[07:47:01] <Subaraki> darnit, putStack also gets called on opening the inventory !
L280[07:51:21] <gigaherz> of course
L281[07:51:47] <gigaherz> well
L282[07:51:49] <gigaherz> on the client, at least
L283[07:52:00] <gigaherz> remember that there's two copies of the Container, and the slots
L284[07:52:05] <gigaherz> one on the server, and one on the client
L285[07:52:10] <gigaherz> and the first thing that happens when you open an inventory
L286[07:52:17] <gigaherz> is the server sends the slots' contents to the client
L287[07:52:51] <gigaherz> you should make it so that the special "selection" logic only runs on the server, I guess
L288[07:55:33] *** amadornes[OFF] is now known as amadornes
L289[07:59:55] ⇨ Joins: OrionOnline (~OrionOnli@ip-80-236-217-21.dsl.scarlet.be)
L290[08:00:13] <OrionOnline> howtonotwin, you still there?
L291[08:00:20] <howtonotwin> yep
L292[08:01:03] <howtonotwin> are you on latest forge?
L293[08:01:15] <OrionOnline> nope
L294[08:01:19] <OrionOnline> i can update however
L295[08:01:22] <howtonotwin> try updating
L296[08:01:49] <howtonotwin> right before you left:
L297[08:01:49] <howtonotwin> <howtonotwin> so you just get this exception even though nothing breaks
L298[08:02:00] <howtonotwin> ?
L299[08:02:06] ⇨ Joins: Lumien (Elite13049@ipv6.6.sigma.elitebnc.org)
L300[08:02:45] <OrionOnline> Yes
L301[08:02:48] <OrionOnline> Nothing breaks
L302[08:02:53] <OrionOnline> at least nothing that i notice
L303[08:03:00] <OrionOnline> It just spamms the log with that
L304[08:03:25] <howtonotwin> do you ever register the model for that item anywhere else?
L305[08:03:53] <OrionOnline> Nope
L306[08:04:02] <OrionOnline> I checked
L307[08:04:09] <OrionOnline> Those are the only two places that handle that
L308[08:04:51] ⇨ Joins: quadraxis (~quadraxis@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net)
L309[08:05:04] <howtonotwin> sounds like a bug in forge :D
L310[08:05:05] <howtonotwin> update it
L311[08:06:02] ⇨ Joins: Gil (uid147942@2604:8300:100:200b:6667:5:2:41e6)
L312[08:07:52] <OrionOnline> I am now
L313[08:08:44] <OrionOnline> Lets see if this version fixes it: 1.10.2 - 12.18.2.2103
L314[08:10:17] ⇦ Quits: alekso56 (~znc@2001:464b:c2aa:0:745d:45ff:fe3b:a098) (Ping timeout: 183 seconds)
L315[08:12:13] ⇨ Joins: alekso56 (~znc@2001:464b:c2aa:0:745d:45ff:fe3b:a098)
L316[08:12:16] ⇦ Quits: Searge|office (~Searge@h-85-24-130-18.na.cust.bahnhof.se) (Read error: Connection reset by peer)
L317[08:13:21] ⇨ Joins: Searge|office (~Searge@h-85-24-130-18.na.cust.bahnhof.se)
L318[08:18:13] <OrionOnline> howtonotwin, that did not fix it: https://gist.github.com/OrionDevelopment/d75cb9bb2af6c6d938d2ac06d49cec70#file-armorylaunchlog2-log-L277-L307
L319[08:18:59] * howtonotwin is confused
L320[08:19:04] <gigaherz> OrionOnline: that IS the right filename, right?
L321[08:19:06] <howtonotwin> yes
L322[08:19:12] <howtonotwin> I mean, no
L323[08:19:14] <howtonotwin> everything works
L324[08:19:17] <howtonotwin> nothing is broken
L325[08:19:31] <howtonotwin> but for some reason it still tries to load a non existent file
L326[08:19:41] <howtonotwin> even though that model has never been registered for the item anyway
L327[08:20:25] <gigaherz> so he isn't calling setcustomMRL/registerItemvariants with that MRL?
L328[08:20:36] <howtonotwin> nope
L329[08:20:55] <OrionOnline> gigaherz, I am.....
L330[08:20:59] <howtonotwin> ...
L331[08:21:02] <gigaherz> well
L332[08:21:04] <howtonotwin> why didn't you say so?
L333[08:21:14] ⇨ Joins: ThePsionic (~ThePsioni@ip5457f909.direct-adsl.nl)
L334[08:21:18] <gigaherz> then of course mc is looking for that file
L335[08:21:18] <gigaherz> ;P
L336[08:21:34] <OrionOnline> https://github.com/SmithsGaming/Armory/blob/Development-1.10.2/src/main/com/smithsmodding/armory/client/logic/ArmoryClientInitializer.java#L108-L140
L337[08:21:39] <gigaherz> I see that you metnioned a statemapper -- item locations don't go through statemappers
L338[08:21:39] <OrionOnline> howtonotwin, i did
L339[08:21:47] <OrionOnline> gigaherz, it is not an item
L340[08:21:50] <OrionOnline> It is a block
L341[08:21:59] <gigaherz> with an ItemBlock
L342[08:22:01] <howtonotwin> still an item
L343[08:22:01] <gigaherz> which is an item
L344[08:22:09] <gigaherz> so what you register with setCustomMRL
L345[08:22:11] <gigaherz> is the ItemBlock's model
L346[08:22:16] <gigaherz> the one that's used while in inventory
L347[08:22:16] <OrionOnline> Correct
L348[08:22:44] <gigaherz> so the idea is
L349[08:22:45] <howtonotwin> you DON'T call setCustomMRL or setItemVariants with that MRL...
L350[08:22:47] <OrionOnline> Actually to be precise i am not setting an MRL I am setting an CustomMesh
L351[08:22:52] <howtonotwin> you call it with other MRLs
L352[08:22:56] <howtonotwin> not the ones in question
L353[08:22:57] <gigaherz> if you call setCustomMRL or registerItemVariants with that path
L354[08:23:01] <gigaherz> it will be REQUIRED during load
L355[08:23:11] <gigaherz> so that'd be why you get it on the log
L356[08:23:16] <gigaherz> you asked for it, but it wasn't found
L357[08:23:17] ⇨ Joins: BordListian (~BordListi@213-47-142-14.cable.dynamic.surfer.at)
L358[08:23:29] <gigaherz> if you don't actually need that specific MRL, don't apply for it.
L359[08:23:34] <OrionOnline> Does that also work that way for the SetCustomMesh Function?
L360[08:24:15] <OrionOnline> So this whole thing is referencing the wrong files: https://github.com/SmithsGaming/Armory/blob/Development-1.10.2/src/main/com/smithsmodding/armory/client/logic/ArmoryClientInitializer.java#L108-L140??
L361[08:24:40] <howtonotwin> nono those are perfect
L362[08:25:02] <howtonotwin> and setCustomMesh doesn't register models for loading
L363[08:25:11] <howtonotwin> only registerItemVariants does
L364[08:25:15] <howtonotwin> which you call
L365[08:25:18] <OrionOnline> So I am missing something
L366[08:25:20] <OrionOnline> ??
L367[08:25:20] <howtonotwin> no
L368[08:25:24] ⇨ Joins: KomradeSpectre (~Darwin@d47-69-240-161.try.wideopenwest.com)
L369[08:25:29] <howtonotwin> everything there is perfectly fine
L370[08:25:32] <OrionOnline> Then what is my problem?
L371[08:25:37] <howtonotwin> I have no idea
L372[08:25:47] <OrionOnline> I am not calling SetCustomMRL anywhere for those blocks
L373[08:25:57] <howtonotwin> because for some reason MC is doing something it is no supposed to do
L374[08:26:00] <OrionOnline> It seems to be loocking for Armory.Blocks.Conduit.Json
L375[08:26:07] <howtonotwin> also snake_case
L376[08:26:12] <howtonotwin> just a style thing
L377[08:26:26] <howtonotwin> (and also a "don't die when porting to 1.11" thing)
L378[08:26:28] <OrionOnline> which ofcourse does not exist when it tries to load the models
L379[08:26:37] <howtonotwin> you don't refer to that model
L380[08:26:40] <howtonotwin> anywhere
L381[08:26:44] <howtonotwin> which is strange
L382[08:26:49] <howtonotwin> because MC thinks you do
L383[08:26:55] <howtonotwin> and that's the problem
L384[08:26:56] <OrionOnline> How do i tell it: ItemStack A With MetaData 0 should use Model Y/Z.json?
L385[08:27:01] <howtonotwin> you already did
L386[08:27:09] <howtonotwin> everything that YOU did is perfect
L387[08:27:11] <howtonotwin> MC is being stupid
L388[08:27:32] <OrionOnline> I though so, as thats is what fry thought me to use when i started working on this a long time ago (literally=
L389[08:28:14] <howtonotwin> bust out a debugger and locate the stupid :P
L390[08:28:30] <howtonotwin> probably in loadVariantItemModels
L391[08:29:30] <OrionOnline> Okey lets see this thing in action then
L392[08:30:43] * howtonotwin is dumb
L393[08:31:09] <howtonotwin> breakpoint ModelLoader.setupModelRegistry instead
L394[08:31:38] <OrionOnline> So when i look at the variant names it wants to load it has three
L395[08:32:03] <howtonotwin> which are?
L396[08:32:05] <OrionOnline> http://i.imgur.com/cBY1N8e.png
L397[08:32:33] <OrionOnline> The light and the normals are correct, but the Armory.Block.Conduit one should not be there
L398[08:32:41] <howtonotwin> a lead!
L399[08:33:20] <howtonotwin> hmm
L400[08:33:34] <howtonotwin> the variants are registered in registerVariantNames
L401[08:33:49] <howtonotwin> restart MC and breakpoint that?
L402[08:33:55] <OrionOnline> I am currently calling registerItemVariants
L403[08:34:05] <OrionOnline> Which does not seem to clear the existing once
L404[08:34:07] <OrionOnline> But i can try
L405[08:34:27] <howtonotwin> that's called after the list of models to load is determined
L406[08:34:51] <howtonotwin> you have to breakpoint registerVariantNames and restart the game to go deeper
L407[08:35:15] <howtonotwin> actually
L408[08:35:27] <howtonotwin> the only thing that can modify customVariantNames
L409[08:35:31] <howtonotwin> is registerItemVariants
L410[08:35:34] <howtonotwin> breakpoint that
L411[08:35:47] <howtonotwin> and set a condition for your ItemBlock
L412[08:39:06] <gigaherz> UGH WHY
L413[08:39:20] <gigaherz> @Mod.EventBusSubscriber doesn't seem to work
L414[08:39:31] <gigaherz> and ModelRegistryEvent fires BEFORE preInit
L415[08:39:58] <gigaherz> so the only way to get it working is to register the proxy into the bus from RegistryEvent.Register<Block> or <Item>
L416[08:40:02] <OrionOnline> howtonotwin, The custom variants are put correctly in their corresponding map
L417[08:40:15] <howtonotwin> where's the other one coming from then?
L418[08:40:47] <howtonotwin> is it ever called a 2nd time with for some reason?
L419[08:40:55] ⇦ Quits: Hunterz (~hunterz@2001:af0:8000:1c01:6af7:28ff:fe37:5d6a) (Remote host closed the connection)
L420[08:41:06] <OrionOnline> I htink i found it
L421[08:41:13] <OrionOnline> I was registering it again.....
L422[08:41:40] <howtonotwin> welp there ya go
L423[08:41:47] <howtonotwin> ;P
L424[08:41:53] <OrionOnline> Now only my Guide remains.....
L425[08:42:00] <OrionOnline> But i can fix that myself i think
L426[08:42:13] <OrionOnline> I just need to know if there is a way to animate OBJ Models for items
L427[08:42:52] <gigaherz> i'm an idiot.
L428[08:42:53] <gigaherz> public ClientProxy() { MinecraftForge.EVENT_BUS.register(this); }
L429[08:42:59] <gigaherz> no need to put the registration in a random event
L430[08:42:59] <gigaherz> ;p
L431[08:43:58] <OrionOnline> So is there an example, or tutorial on the new event driven way of registering Block, Items Registries and such?
L432[08:44:30] <OrionOnline> Now that I can create new ForgeRegistries is it possible for me to create my own registry for materials and such?
L433[08:44:33] <howtonotwin> yes
L434[08:44:42] <howtonotwin> that's how you're meant to handle registering things
L435[08:45:09] <OrionOnline> I saw that there are some events added
L436[08:45:15] <OrionOnline> I just need to handle them
L437[08:45:17] <howtonotwin> you handle the events
L438[08:45:18] <howtonotwin> yep
L439[08:45:23] <OrionOnline> But how do i register my handlers?
L440[08:45:24] <howtonotwin> beware
L441[08:45:32] <howtonotwin> some things end up running before preinit
L442[08:45:42] ⇦ Quits: npe|office (~NPExcepti@bps-gw.hrz.tu-chemnitz.de) (Quit: Feierabend ((( \o/ ))))
L443[08:45:47] <howtonotwin> as GHz :P he knows more about this
L444[08:45:49] <howtonotwin> *ask
L445[08:45:57] <OrionOnline> gigaherz, ?????
L446[08:46:09] <OrionOnline> How do these new registration events work?
L447[08:46:19] <OrionOnline> I heard i need to register them with a new type of anotation?
L448[08:46:24] <gigaherz> OrionOnline: nah
L449[08:46:24] <OrionOnline> Or something
L450[08:46:28] <gigaherz> they are @SubscribeEvent
L451[08:46:30] <gigaherz> the issue is
L452[08:46:37] <gigaherz> @Mod.EventBusSubscriber doesn't seem to work
L453[08:46:42] <gigaherz> at least I ccan't get it to work
L454[08:46:50] <gigaherz> so I had to manually apply for the event bus
L455[08:46:58] <gigaherz> in both my main mod class, and my client proxy
L456[08:47:14] <gigaherz> I'm doing some refactoring, then i'll push and i'll show you how it ended up looking like
L457[08:47:18] <OrionOnline> What does that Annot do?
L458[08:47:24] <OrionOnline> gigaherz, thanks
L459[08:47:31] <OrionOnline> I will work on my new block then
L460[08:47:39] <gigaherz> @Mod.EventBusSubscriber is SUPPOSED to register new instances of that class with the event bus, automatically
L461[08:47:51] <gigaherz> (unless I misunderstood)
L462[08:48:54] <howtonotwin> At mod construction time, which I guess is after the registries for blocks and items would be set up?
L463[08:48:55] <howtonotwin> idk
L464[08:49:11] <gigaherz> no
L465[08:49:17] <gigaherz> registries and such run right before preinit
L466[08:52:29] ⇨ Joins: Koward (~Koward@2a02:2788:7d4:4dd:ec62:b017:129f:7c42)
L467[08:53:50] <gigaherz> OrionOnline:
L468[08:53:55] <gigaherz> as I was saying
L469[08:54:02] <gigaherz> because the automatic subscription doesn't seem to work
L470[08:54:04] <gigaherz> I had to do this
L471[08:54:04] <gigaherz> https://github.com/gigaherz/Survivalist/blob/master/src/main/java/gigaherz/survivalist/Survivalist.java#L109
L472[08:54:15] <gigaherz> so that the new events work:
L473[08:54:15] <gigaherz> https://github.com/gigaherz/Survivalist/blob/master/src/main/java/gigaherz/survivalist/Survivalist.java#L146
L474[08:54:21] <gigaherz> https://github.com/gigaherz/Survivalist/blob/master/src/main/java/gigaherz/survivalist/Survivalist.java#L161
L475[08:54:37] <gigaherz> as the javadocs say, this works for any registrable type
L476[08:54:37] <gigaherz> https://github.com/gigaherz/Survivalist/blob/master/src/main/java/gigaherz/survivalist/Survivalist.java#L230
L477[08:54:41] <gigaherz> such as enchantments
L478[08:54:53] <gigaherz> similarly
L479[08:54:53] <gigaherz> https://github.com/gigaherz/Survivalist/blob/master/src/main/java/gigaherz/survivalist/client/ClientProxy.java#L27
L480[08:55:00] <gigaherz> allows this to work
L481[08:55:01] <gigaherz> https://github.com/gigaherz/Survivalist/blob/master/src/main/java/gigaherz/survivalist/client/ClientProxy.java#L40
L482[08:55:41] <gigaherz> you may see some weird stuff if you browse this repo
L483[08:55:47] <gigaherz> that's because I'm in the process of abstracting some stuff
L484[08:55:55] <gigaherz> including an IItemState abstraction for item metadata
L485[08:55:56] <gigaherz> https://github.com/gigaherz/Survivalist/tree/master/src/main/java/gigaherz/common/state
L486[08:56:28] <howtonotwin> what if you made the event handlers static?
L487[08:56:38] <gigaherz> hmmmm
L488[08:56:46] <gigaherz> i'll have to check
L489[08:56:57] <howtonotwin> I think that's what AutomaticEventSubscriber:66 implies
L490[08:57:00] <gigaherz> I didn't even consider that possibility
L491[08:57:02] <howtonotwin> it registers the Class
L492[08:57:05] <howtonotwin> not an instance
L493[08:57:23] <howtonotwin> Class<?> subscriptionTarget = Class.forName(targ.getClassName(), true, mcl);
L494[08:57:23] <howtonotwin> MinecraftForge.EVENT_BUS.register(subscriptionTarget);
L495[08:58:39] <OrionOnline> howtonotwin, gigaherz yeah the methods should be static i think
L496[08:58:57] <OrionOnline> This tied in to lexes commit that added those abilities
L497[08:59:42] <OrionOnline> Check line 80 of the EventBus class
L498[09:00:06] <OrionOnline> In combination of line 85
L499[09:00:22] <OrionOnline> That means i will need to update SmithsCore with a nice handle on this
L500[09:00:24] <OrionOnline> Cool
L501[09:01:58] <gigaherz> I have been thinking about a common lib
L502[09:02:05] <gigaherz> but I loathe external dependencies
L503[09:02:10] <gigaherz> so I think i'll useit through maven
L504[09:02:13] ⇨ Joins: jordibenck (~jordi@145.102.90.53)
L505[09:02:18] <gigaherz> and shade it renamed
L506[09:02:40] <gigaherz> YEP WORKS
L507[09:02:46] <gigaherz> so those have to be static events
L508[09:02:51] <gigaherz> to use @Mod.EventBusSubscriber
L509[09:05:44] <OrionOnline> Yeah
L510[09:06:02] <OrionOnline> I have a question: When are the register events for blocks and items fired?=
L511[09:06:05] <howtonotwin> [yay sound effect]
L512[09:06:07] <OrionOnline> Before PreInit?
L513[09:06:41] <Subaraki> why are near to all parts in the entity models private :/
L514[09:06:50] <Subaraki> I can post render sheit
L515[09:07:24] <BordListian> oh you're doing model stuff too?
L516[09:07:28] <Subaraki> yeah
L517[09:07:36] <Subaraki> mine is for a pet that can change model
L518[09:08:01] <Subaraki> and i'm tired of making duplicate models so i can acces the parts and remove casts
L519[09:08:07] <Subaraki> yours ?
L520[09:08:15] <BordListian> armor
L521[09:08:18] <Subaraki> armor is easy
L522[09:08:22] <BordListian> having a jolly old time with z-fighting
L523[09:08:23] <Subaraki> if its for bipeds
L524[09:08:27] <BordListian> ye
L525[09:08:36] <Subaraki> apart from that, use layers ?
L526[09:08:40] <Subaraki> and why z fighting ?
L527[09:08:49] <BordListian> it's a custom model
L528[09:08:58] <BordListian> not defaultarmor_001
L529[09:09:02] <Subaraki> you'd make the armor model bigger then the main model normally
L530[09:09:06] <Subaraki> tell me more
L531[09:09:08] <BordListian> obv
L532[09:09:14] <Subaraki> i've made a mod with custom armor as well
L533[09:09:53] <BordListian> is it just the scaling factor in addBox for that stuff?
L534[09:10:21] <OrionOnline> BordListian, what are you trying to do?
L535[09:10:47] <OrionOnline> To fix the zu fighting you should add 0.0001 to the scale factor
L536[09:10:55] <BordListian> ah
L537[09:11:18] <BordListian> what's the scale factor for the outer player layer?
L538[09:11:23] <Subaraki> ?
L539[09:11:29] <BordListian> jacket layer
L540[09:11:31] <Subaraki> in biped armor ?
L541[09:11:33] <Subaraki> 1.0
L542[09:11:34] <BordListian> or is that auto disabled
L543[09:11:37] <Subaraki> inner is 0.5
L544[09:11:41] <BordListian> wut
L545[09:11:43] <BordListian> really?
L546[09:11:49] <Subaraki> yeah
L547[09:11:53] <BordListian> huh
L548[09:11:58] <Subaraki> if we're talking about the same thing
L549[09:12:04] ⇨ Joins: AstralSorcerer (~AstralSor@u-of-rochester-128-151-150-18.wireless.rochester.edu)
L550[09:12:15] <Subaraki> chest, feet and head is ModelBiped(1.0)
L551[09:12:20] <Subaraki> and legs are ModelBiped(0.5)
L552[09:12:30] <Subaraki> where the player model itself is ModelBiped(0)
L553[09:12:35] <BordListian> run that by me again
L554[09:13:18] <BordListian> the outer chest is scale 1.0? and the inner chest is 0.5?
L555[09:13:20] *** TTFT|Away is now known as TTFTCUTS
L556[09:13:30] <BordListian> the outer leg is 0.5 and the inner leg is 0.0?
L557[09:16:00] <gigaherz> [16:06] (OrionOnline): I have a question: When are the register events for blocks and items fired?=
L558[09:16:00] <gigaherz> [16:06] (OrionOnline): Before PreInit?
L559[09:16:01] <gigaherz> yes
L560[09:16:05] <gigaherz> everythingfires before preInit
L561[09:17:40] <OrionOnline> Why.........
L562[09:17:49] <OrionOnline> It makes no sense to do it all before preinit.....
L563[09:17:49] ⇨ Joins: x3n0ph0b3 (~x3n0ph0b3@2001:19f0:6400:8965:5400:ff:fe07:8777)
L564[09:18:07] <OrionOnline> I might be ablke to live with it though
L565[09:18:28] <OrionOnline> gigaherz, when i create my custom registry, does it fire its create it event instantly
L566[09:18:34] <OrionOnline> Or do i have to fire it?
L567[09:18:46] <gigaherz> all registered registries fire it, afaik
L568[09:19:34] <OrionOnline> Okey
L569[09:19:46] <OrionOnline> Is there a way i can influence the Order
L570[09:19:53] <OrionOnline> I need specific data before i can register my items
L571[09:19:55] ⇦ Quits: VikeStep (~VikeStep@101.184.243.180) (Read error: Connection reset by peer)
L572[09:20:20] <gigaherz> no
L573[09:20:22] <gigaherz> and you shouldn't
L574[09:20:28] <gigaherz> you shouldn't rely on previous data while registering items
L575[09:21:00] <gigaherz> lex yelled at me for daring to have config options that affect which blocks/items get registered
L576[09:21:01] <gigaherz> ;P
L577[09:21:12] <BordListian> ?
L578[09:21:20] <BordListian> was considering having it
L579[09:21:31] <gigaherz> config should NEVER affect which objects get registered
L580[09:21:33] <BordListian> but it's a hassle anyway
L581[09:21:43] <gigaherz> because then people would be able to have mismatchign config in the client
L582[09:21:46] <gigaherz> vs the server
L583[09:21:52] <BordListian> ah
L584[09:22:03] <gigaherz> and the server should always be in control of those things
L585[09:22:10] <OrionOnline> WHAT? Who came up with that Idea?
L586[09:22:12] <BordListian> i'll just remove the creative tab from them if they're disabled then
L587[09:22:19] <gigaherz> which idea?
L588[09:22:44] <OrionOnline> To not really on things like my own API, when i want to know what Items i need to register
L589[09:22:58] ⇨ Joins: Brokkoli (~Brokkoli@p5B23C07C.dip0.t-ipconnect.de)
L590[09:23:15] <OrionOnline> Or should i just register every thing, regardless?
L591[09:23:34] <OrionOnline> That is rediculous if you ask me, but okey
L592[09:23:34] <gigaherz> ytou should always register everything
L593[09:23:41] <gigaherz> just not make it available if the server says it shouldn't be
L594[09:23:58] <gigaherz> it's as easy as moving the check into getSubItems
L595[09:24:04] <gigaherz> which will remove the item from JEI/Creative menu
L596[09:24:17] <OrionOnline> gigaherz, not that easy
L597[09:24:23] <gigaherz> mayben ot for you ;P
L598[09:24:30] <OrionOnline> In particular i am talking about armor
L599[09:24:40] <OrionOnline> It requires an ID of the position it is on when registered,
L600[09:24:57] <OrionOnline> Right now the API provides the Data i need to determine what i should register.
L601[09:25:02] <gigaherz> hm?
L602[09:25:15] <OrionOnline> Right now i register my complete armor set on default
L603[09:25:29] <OrionOnline> But i have some submods which register rings and stafsf
L604[09:25:38] <OrionOnline> Those go in special slots
L605[09:25:53] <OrionOnline> But the hear bands go into the head slot
L606[09:26:09] <OrionOnline> Right now a mod does not need to care about creating items and handlers for all that stuf
L607[09:26:24] <OrionOnline> It just registers with my api before Armory gets its pre init
L608[09:26:38] <OrionOnline> And I handle everything, all callbacks, model constructioon
L609[09:27:12] <OrionOnline> If i cannot really on my api to provide me with that data, i need to lay that all out onto the modders implementing my api
L610[09:28:17] <OrionOnline> making them have to copy all classes that i have created just so they can register their items, makes for redundant code in my opinion
L611[09:28:36] <gigaherz> why copy? can't they just instantiate them?
L612[09:29:38] <gigaherz> also you should never rely on numeric IDs in order to do things. make it all rely on string/RL
L613[09:30:09] <OrionOnline> gigaherz, armor slots require unique IDs, why should i divert from that when i make the custom slots, just creates inconsistencies
L614[09:30:44] <OrionOnline> gigaherz, and no, that would mean exposing internal workings to the API, which is by definition not how the API should work
L615[09:31:03] <OrionOnline> I could however expose a Helper that allows them to create the relevant Items If need be
L616[09:31:14] <gigaherz> well, the way I see it
L617[09:31:20] <gigaherz> you have items for equipment
L618[09:31:26] <gigaherz> in vanilla you just do new ItemArmor
L619[09:31:32] <gigaherz> why would it have to be different for your mod? ;P
L620[09:32:29] <gigaherz> unless you want people to be able to work with soft-dependencies
L621[09:32:31] <gigaherz> in which case
L622[09:32:34] <gigaherz> you should use capabilities instead
L623[09:32:37] <OrionOnline> From an API perspective, why would i put my whole ItemArmor implementations into the API?
L624[09:32:40] <OrionOnline> It makes no sense
L625[09:33:52] <gigaherz> it's a matter of level of abstraction
L626[09:34:23] <gigaherz> yes, it's good to keep it as high-level as possible, to avoid relying on implementation details
L627[09:34:39] <gigaherz> but there's a point in which trying to abstract too much becomes counter-productive
L628[09:34:47] <OrionOnline> Right now i have it implemented as follows:
L629[09:35:14] <OrionOnline> My ItemArmor implementation extends a Class called MLAArmor, which extends ItemArmor in turn
L630[09:35:58] <OrionOnline> MLAArmor, provides details for which Addon on the armor goes where, how many of each Addon can fit where, which materials are allowed to be crafted into this MLAArmor
L631[09:36:56] <OrionOnline> It makes no sens to store them outside of the MLAArmor, as that is the central point, I could create this as a Capability, but i cannot force a Capability on specific Types of Items, on top of that it would require a complete rewite of everything
L632[09:37:03] <OrionOnline> Which i think i need to do anyway
L633[09:37:13] <gigaherz> nah a capability doesn't make sense here
L634[09:37:33] <gigaherz> since it's general of the item, not to a concrete stack :/
L635[09:37:39] ⇨ Joins: offbeatwitch (~offbeatwi@163.172.169.69)
L636[09:37:47] <gigaherz> it would be weird to create an instance of the capability for each itemstack, just to store some global data
L637[09:38:10] <OrionOnline> Yeah
L638[09:38:14] <OrionOnline> That is what i mean
L639[09:38:19] <gigaherz> however, it would be possible to have a small interface, IMLAArmor { getArmorDetails; setArmorDetails }
L640[09:38:29] <gigaherz> that can be implemented on any random item
L641[09:38:32] <OrionOnline> Wait i will show you....
L642[09:38:49] <gigaherz> and thne you could initialize the items without the IMLAArmor assigned
L643[09:38:57] <gigaherz> and then later initialize all of them in bulk
L644[09:39:06] <OrionOnline> https://github.com/SmithsGaming/Armory/tree/48e81f8a9408355959457bf1ee9e3926208ef3fe/src/api/com/smithsmodding/armory/api/armor is the API for the actual armor
L645[09:39:19] <offbeatwitch> capabilities are weird
L646[09:39:24] <offbeatwitch> useful, but weird
L647[09:39:33] <offbeatwitch> I have 4 classes for a single capability
L648[09:39:37] <offbeatwitch> just what even
L649[09:39:42] ⇦ Quits: Dark (~MrDark@cpe-104-230-227-71.columbus.res.rr.com) (Ping timeout: 206 seconds)
L650[09:39:49] <gigaherz> read this
L651[09:39:49] <gigaherz> https://gist.github.com/gigaherz/2dbaaff11e32940cc9500e863071b69b
L652[09:39:55] <gigaherz> it may explain why it's designed the way it is
L653[09:39:57] <gigaherz> ;P
L654[09:40:23] <gigaherz> everything in the design of the capability system makes sense, when you see it in the appropiate context
L655[09:40:24] <gigaherz> ;P
L656[09:40:40] <BordListian> when you set your skin to use small arms, only the left arm changes
L657[09:40:50] <gigaherz> wat? XD
L658[09:41:04] ⇦ Quits: jordibenck (~jordi@145.102.90.53) (Ping timeout: 384 seconds)
L659[09:41:18] <offbeatwitch> 10/10
L660[09:41:27] ⇨ Joins: RichardG (~richardg8@201.37.241.91)
L661[09:41:28] MineBot sets mode: +v on RichardG
L662[09:41:51] <BordListian> take a look at ModelPlayer
L663[09:42:06] ⇨ Joins: Dark (~MrDark@cpe-104-230-227-71.columbus.res.rr.com)
L664[09:42:16] <BordListian> okay wait actually
L665[09:42:26] <BordListian> it's when you don't use small arms
L666[09:42:27] <OrionOnline> gigaherz, that is actually a good read
L667[09:42:29] <BordListian> but why
L668[09:42:31] <OrionOnline> Still does not solve my problem
L669[09:42:32] <BordListian> even change
L670[09:42:36] ⇦ Quits: RichardG_ (~richardg8@201.37.241.91) (Ping timeout: 206 seconds)
L671[09:42:43] <gigaherz> OrionOnline: that was to offbeatwitch, not you XD
L672[09:42:44] ⇦ Quits: Zed (~Zed@12.223.6.51.dyn.plus.net) (Quit: Textual IRC Client: www.textualapp.com)
L673[09:42:54] <OrionOnline> Owh, still a good Read :D
L674[09:44:19] <OrionOnline> gigaherz, if we go real technical here, you can extend MultiLayeredArmor yourself, however, there is a but, Armory will not recognise it as valid.
L675[09:44:37] <OrionOnline> Once you registered it with armory then it will turn valid
L676[09:44:41] <offbeatwitch> wat
L677[09:44:55] <offbeatwitch> oh
L678[09:44:56] <offbeatwitch> fair
L679[09:45:32] *** tterrag|ZZZzzz is now known as tterrag
L680[09:45:53] <OrionOnline> gigaherz, looking at my code now though however, there is no reason for me to not untie that from the pre init phase,
L681[09:46:22] <OrionOnline> I will complete my conduit work first though however and then start working on creating the new registries and such.. That will most likely solve the problem
L682[09:49:49] ⇨ Joins: Zed (~Zed@12.223.6.51.dyn.plus.net)
L683[09:50:14] <OrionOnline> gigaherz, ever used an AccesTransformer to make a Constructor public?
L684[09:51:18] ⇨ Joins: Scoaex (webchat@p5B15C8EA.dip0.t-ipconnect.de)
L685[09:51:25] ⇨ Joins: Nitrodev (~Nitrodev@87-92-124-216.bb.dnainternet.fi)
L686[09:52:16] <Subaraki> setting my slot capacity to 1 still allows for entire stack to be put in it ?
L687[09:52:54] <Subaraki> 'getSlotStackLimit'
L688[09:55:12] <howtonotwin> OrionOnline: constructors are just normal methods that you can use ATs on I think
L689[09:55:21] <howtonotwin> !!gm ItemStack.ItemStack
L690[09:55:22] <MCPBot_Reborn> adz.adz => ItemStack.ItemStack()V [ ItemStack()V ]
L691[09:55:23] <MCPBot_Reborn> adz.adz => ItemStack.ItemStack(Lnet/minecraft/block/Block;)V [ func_i1876_ ]
L692[09:55:23] <gigaherz> OrionOnline: no I just use reflection.
L693[09:55:24] <MCPBot_Reborn> adz.adz => ItemStack.ItemStack(Lnet/minecraft/item/Item;II)V [ func_i1881_ ]
L694[09:55:24] <MCPBot_Reborn> adz.adz => ItemStack.ItemStack(Lnet/minecraft/block/Block;I)V [ func_i1877_ ]
L695[09:55:25] <MCPBot_Reborn> adz.adz => ItemStack.ItemStack(Lnet/minecraft/item/Item;)V [ func_i1879_ ]
L696[09:55:26] <MCPBot_Reborn> adz.adz => ItemStack.ItemStack(Lnet/minecraft/item/Item;I)V [ func_i1880_ ]
L697[09:55:26] <MCPBot_Reborn> adz.adz => ItemStack.ItemStack(Lnet/minecraft/block/Block;II)V [ func_i1878_ ]
L698[09:55:30] <howtonotwin> see?
L699[09:56:22] <OrionOnline> !gm StateMap
L700[09:56:25] ⇨ Joins: Bottersnike (~Bottersni@cpc92754-stap14-2-0-cust1.12-2.cable.virginm.net)
L701[09:56:32] <OrionOnline> Wrong one
L702[09:56:37] *** Bottersnike is now known as Botter|afk
L703[09:58:52] ⇦ Quits: Botter|afk (~Bottersni@cpc92754-stap14-2-0-cust1.12-2.cable.virginm.net) (Client Quit)
L704[09:59:39] <OrionOnline> !! gm StateMap.StateMap
L705[09:59:40] <MCPBot_Reborn> === MC 1.10.2: net/minecraft/client/renderer/block/statemap/StateMap.StateMap (bqa.bqa) LOCKED ===
L706[09:59:41] <MCPBot_Reborn> Name : bqa => func_i46210_ => StateMap
L707[09:59:41] <MCPBot_Reborn> Descriptor : (Lasi;Ljava/lang/String;Ljava/util/List;)V => (Lnet/minecraft/block/properties/IProperty;Ljava/lang/String;Ljava/util/List;)V
L708[09:59:42] <MCPBot_Reborn> AT : public net.minecraft.client.renderer.block.statemap.StateMap func_i46210_(Lnet/minecraft/block/properties/IProperty;Ljava/lang/String;Ljava/util/List;)V # StateMap
L709[09:59:43] <MCPBot_Reborn> Comment : None
L710[09:59:44] <MCPBot_Reborn> SRG Params : IProperty p_i46210_1_, String p_i46210_2_, List p_i46210_3_
L711[09:59:44] <MCPBot_Reborn> MCP Params : IProperty name, String suffix, List ignored
L712[09:59:45] <MCPBot_Reborn> Last Change: 2016-06-27 17:20:13.339100-04:00 (_bot_update_)
L713[09:59:52] ⇨ Joins: Bottersnike (~Bottersni@cpc92754-stap14-2-0-cust1.12-2.cable.virginm.net)
L714[10:00:47] *** Bottersnike is now known as Botter|afk
L715[10:01:41] <gigaherz> OrionOnline: use a single !
L716[10:01:47] <gigaherz> if you don't need to show it in public
L717[10:02:26] ⇦ Quits: AstralSorcerer (~AstralSor@u-of-rochester-128-151-150-18.wireless.rochester.edu) (Ping timeout: 206 seconds)
L718[10:02:30] <OrionOnline> Ah okey
L719[10:02:34] <OrionOnline> So that is how that works
L720[10:02:40] <OrionOnline> Never worked with MCPBot
L721[10:05:28] <Subaraki> i have some slot trouble
L722[10:05:32] <Subaraki> can anyone help me ?
L723[10:06:29] <Subaraki> i've defined my maximum stacksize for my sot to 1, but it can take more then 1. so i overriden the getItemStackLimit to return to 1 as well, but now i cannot swap itemstacks if the held item has a stacksize > 1
L724[10:06:57] <gigaherz> is it a SlotItemHandler?
L725[10:06:57] <Subaraki> http://pastebin.com/56W2UP9k
L726[10:07:01] <Subaraki> yes it is
L727[10:07:17] <gigaherz> there's a known "design flaw" regarding IItemHandlers and swapping
L728[10:07:34] ⇨ Joins: AstralSorcerer (~AstralSor@u-of-rochester-128-151-150-18.wireless.rochester.edu)
L729[10:07:44] <gigaherz> sec
L730[10:08:08] <Subaraki> ah :/
L731[10:09:23] <gigaherz> https://gist.github.com/gigaherz/758d42975fd5824e01959ba746d95799
L732[10:09:39] <gigaherz> this provides an extension to IItemHandler
L733[10:09:45] <gigaherz> which allows it to expose stack limits
L734[10:10:05] <Subaraki> okay, thanks giga
L735[10:10:07] <gigaherz> and an extension to slots, which lets it use this extension instead of relying on insertItem simulations, which is compeltely broken as a method
L736[10:11:04] <gigaherz> I meant to PR this into forge, but work happened and I never got around to it
L737[10:14:15] <Subaraki> i'll wait for the PR x)
L738[10:14:53] <Botter|afk> *cough* PR it now? *cough*
L739[10:15:08] <Subaraki> *cough*totally, he should *cough*
L740[10:15:28] <Botter|afk> *cough*really, if he doesn't. I will*cough*
L741[10:16:33] <gigaherz> if you have the time
L742[10:16:37] <OrionOnline> howtonotwin, what is wrong with this AT line: public net.minecraft.client.renderer.block.statemap.StateMap func_i46210_(Lnet/minecraft/block/properties/IProperty;Ljava/lang/String;Ljava/util/List;)V # StateMap
L743[10:16:43] <gigaherz> go ahead ;P
L744[10:16:43] <Botter|afk> True
L745[10:17:02] <Subaraki> i have no clue how to maek pr's :/
L746[10:17:09] <Botter|afk> MBY I'll give it a look after I write this fu**ing essay on Romeo and Juliet
L747[10:17:18] <Subaraki> or else i would have probably already made one for inventory tabs
L748[10:17:32] <gigaherz> that said
L749[10:17:47] <gigaherz> the idea would be to integrate the interface into the standard ItemStackHandler and SlotItemHandler
L750[10:17:55] <gigaherz> rather than add two new versions of those classes
L751[10:18:05] <Botter|afk> @Subaraki just fork the repo, then edit it, then click "make pull request"
L752[10:18:05] <gigaherz> this way everyone will benefit implicitly
L753[10:18:26] ⇨ Joins: SanAndreasP (~SanAndrea@p54B60E15.dip0.t-ipconnect.de)
L754[10:18:47] <gigaherz> I still haven't managed to properly setup forge in idea, though
L755[10:18:52] <gigaherz> so I recommend using eclipse for that :/
L756[10:19:24] <Botter|afk> *crickets*
L757[10:19:30] *** Botter|afk is now known as Bottetrsnike
L758[10:19:36] <gigaherz> you know what
L759[10:19:43] <gigaherz> I don't actually have anything planned this afternoon
L760[10:19:58] <Subaraki> \o/
L761[10:20:17] <Subaraki> you could make a pr for inventory tabs as well .3.
L762[10:20:25] <Bottetrsnike> Has anyone here studdied romeo and juliet?
L763[10:20:30] <gigaherz> lol no that reuqires more than 5 minutes work
L764[10:20:30] <gigaherz> XD
L765[10:20:37] <Bottetrsnike> f******k
L766[10:20:40] <gigaherz> nope, all I know is the name
L767[10:20:41] <gigaherz> XD
L768[10:20:56] <gigaherz> and that it involves someone named Romeo, and someone named Juliet
L769[10:20:59] <gigaherz> I think.
L770[10:21:03] <Subaraki> and they suicided
L771[10:21:07] <gigaherz> ah yes
L772[10:21:09] <gigaherz> I may have heard that
L773[10:21:12] <Bottetrsnike> I need to write an essay about wether it was fate or romeo that was resonsiable for everyone's deaths
L774[10:21:12] <Subaraki> and romeo is a big player, because he loved someone else before
L775[10:21:18] <Subaraki> but all he does is follow his d*k
L776[10:21:21] <Bottetrsnike> About right
L777[10:21:27] <Subaraki> and they are like 15 years old
L778[10:21:34] <Bottetrsnike> Juliet is 13, Romeo 18
L779[10:21:35] <Subaraki> (crybabies basicly)
L780[10:21:40] <Subaraki> even worse
L781[10:21:43] <Subaraki> that's pedophily
L782[10:21:50] <Bottetrsnike> They meet, marry and have sex withing 24 hours
L783[10:21:58] <Subaraki> well ...
L784[10:21:59] <Bottetrsnike> *within
L785[10:22:08] <Subaraki> your standard today's society meetup, right ?
L786[10:22:15] <Subaraki> (matches on tinder)
L787[10:22:17] <LatvianModder> pretty much
L788[10:22:17] <Subaraki> hey, lets hump
L789[10:22:18] <gigaherz> xcept for the marry part
L790[10:22:22] <Subaraki> (both hump)
L791[10:22:25] <Subaraki> yeah indeed
L792[10:22:29] <Subaraki> but hey, that's just context
L793[10:22:53] <Subaraki> would be aweful to write people had intercoruse before marriage :o
L794[10:22:56] <gigaherz> it may also be that the author made them marry so as to not scandalize the readers
L795[10:22:56] <gigaherz> ;p
L796[10:22:56] <Subaraki> in that time
L797[10:22:57] <Bottetrsnike> What's better? Align left or justify?
L798[10:23:07] <gigaherz> I'm a justify person
L799[10:23:07] <Subaraki> whut ? xD
L800[10:23:18] <Bottetrsnike> The author!! The author!!! It's a play!! By Shakespear!!
L801[10:23:22] <Subaraki> i did not understand that question
L802[10:23:29] <Bottetrsnike> For formatting in word
L803[10:23:32] <Subaraki> ah
L804[10:23:34] <Bottetrsnike> How to aligh the text
L805[10:23:42] <LatvianModder> Who's the author of the journals?!
L806[10:23:44] <Subaraki> what's justify do ?
L807[10:23:55] <Bottetrsnike> Every line fills the whole width
L808[10:24:05] ⇦ Quits: Koward (~Koward@2a02:2788:7d4:4dd:ec62:b017:129f:7c42) (Ping timeout: 183 seconds)
L809[10:24:21] <Subaraki> no
L810[10:24:23] <Bottetrsnike> A minute of silence for Koward please...
L811[10:24:25] <Subaraki> don't do that
L812[10:24:31] <Subaraki> gives akward spaces
L813[10:24:37] <gigaherz> see, there's two people
L814[10:24:48] <gigaherz> people like me, who value the edges
L815[10:24:49] <Subaraki> yeah, romeo and juliet
L816[10:24:52] <Subaraki> :P
L817[10:24:57] <gigaherz> and people like Subaraki, whoare paranoid about the space between words
L818[10:25:08] <gigaherz> big picture vs details
L819[10:25:12] <Subaraki> it's weird reading with unregular spaces between words
L820[10:25:19] <Bottetrsnike> TBH, some sentances look really bad under justify.
L821[10:25:20] <gigaherz> it's weirder when lines end in random places ;P
L822[10:25:26] <gigaherz> Bottetrsnike: that's part of the fun
L823[10:25:27] <Bottetrsnike> OTOH, others look realy good
L824[10:25:29] <gigaherz> to tweak your wording
L825[10:25:31] <Subaraki> best would be justify with equal spaces
L826[10:25:34] <gigaherz> so that justify looks nice
L827[10:25:39] <Subaraki> but the probem here is that it wil split words
L828[10:25:42] <gigaherz> Subaraki: that means you either stretch the letters
L829[10:25:45] <gigaherz> or the space between letters
L830[10:25:53] <gigaherz> that's not justify
L831[10:25:55] <gigaherz> that's hyphenation
L832[10:25:56] <gigaherz> ;p
L833[10:26:00] <Bottetrsnike> :P
L834[10:26:07] <Subaraki> hyphenation is the worse
L835[10:26:09] <gigaherz> you can combine both, too
L836[10:26:15] <quadraxis> do you have all the lines in IRC the same length?
L837[10:26:21] ⇦ Quits: Nitrodev (~Nitrodev@87-92-124-216.bb.dnainternet.fi) (Quit: Veni, Vidi, Non reliquit in)
L838[10:26:29] <gigaherz> quadraxis: no, justify is unfit for informal conversation
L839[10:26:43] <Bottetrsnike> It's for big bodys of text like books or essays
L840[10:26:46] <gigaherz> IRC chat isn't meant to look beautiful.
L841[10:26:48] <gigaherz> essays are
L842[10:26:59] <Bottetrsnike> *cough* Colours IRC chat *cough*
L843[10:27:10] <quadraxis> I thought justify was mainly used for column text, like articles
L844[10:27:19] <Subaraki> and then beautiful becomes subjective, as to people who like or dislike justify x)
L845[10:27:33] <Subaraki> quadraxis has a point
L846[10:27:36] <Bottetrsnike> column text == big body of text
L847[10:27:46] <gigaherz> column text is a requirement for nice reading
L848[10:27:47] <Subaraki> using align left would make collumn texts horendous
L849[10:28:15] <Subaraki> some news papers even use hyphenation in collumn text
L850[10:28:16] <gigaherz> https://gist.github.com/gigaherz/758d42975fd5824e01959ba746d95799
L851[10:28:18] * Subaraki dies
L852[10:28:25] ⇨ Joins: gr8pefish (~gr8pefish@24-121-241-166.flagcmtk01.res.dyn.suddenlink.net)
L853[10:28:48] <gigaherz> oops wrong paste
L854[10:28:54] <gigaherz> https://gigaherz.wordpress.com/
L855[10:29:11] <Bottetrsnike> Umm?
L856[10:29:30] * Bottetrsnike is greatly confused
L857[10:29:42] <gigaherz> by?
L858[10:29:48] <Bottetrsnike> At least use 3/4 or even 2/3 of the page. Not the middle 1/3
L859[10:29:57] <gigaherz> it's not "the middle 1/3
L860[10:30:00] <gigaherz> it's fixed width
L861[10:30:00] <Bottetrsnike> No?
L862[10:30:05] ⇨ Joins: dries007 (~DriesZNC@abrarsyed.com)
L863[10:30:06] <Bottetrsnike> That's worse
L864[10:30:10] <gigaherz> in my screen it's more like 1/5th
L865[10:30:19] <gigaherz> at 100% zoom
L866[10:30:27] <gigaherz> just adjust it so that it's most comfortable for you
L867[10:30:31] * Bottetrsnike dies inside
L868[10:30:35] <gigaherz> i'm not going to tweak the theme
L869[10:30:37] <gigaherz> mostly because I can't
L870[10:30:48] <gigaherz> (free users don't getto choose tweaks)
L871[10:30:54] <quadraxis> better that than too wide
L872[10:31:08] <Bottetrsnike> True
L873[10:31:23] <Bottetrsnike> I just host my own site on github and x10hosting istead of using WP
L874[10:31:34] <Bottetrsnike> jekyll on github is really awesome
L875[10:32:13] * Bottetrsnike needs to get on with his essas
L876[10:32:17] *** Bottetrsnike is now known as Botter|afk
L877[10:32:26] <gigaherz> speaking about hosting, I need to update the CMS on my other website
L878[10:36:24] <Botter|afk> Justified vs Align: http://imgur.com/a/mr59V
L879[10:36:59] <gigaherz> justified looks 1000x better ;P
L880[10:37:04] <Botter|afk> Yup
L881[10:37:18] <gigaherz> just avoid writing long words near the edges of a line
L882[10:37:18] <gigaherz> ;P
L883[10:37:19] <Botter|afk> Word 2016 does it quite subtly
L884[10:37:37] <gigaherz> there's many tricks for it
L885[10:37:57] ⇨ Joins: Vazkii (~Vazkii@62.28.200.62)
L886[10:37:59] <gigaherz> they say a computer will never match someone manually tweaking the spacings by hand
L887[10:38:14] <gigaherz> they also say word will never match TeX so whatever ;P
L888[10:38:22] <Botter|afk> They de lying
L889[10:38:24] <Botter|afk> *be
L890[10:40:36] * Botter|afk is struggling to write an essay without the pay infront of him
L891[10:40:47] * Botter|afk doesn't think the PDF is cutting it
L892[10:44:46] ⇦ Quits: RichardG (~richardg8@201.37.241.91) (Ping timeout: 183 seconds)
L893[10:45:41] <Subaraki> why are fields by default private if nothing was set for them u_u
L894[10:45:53] ⇨ Joins: RichardG (~richardg8@201.37.241.91)
L895[10:45:53] MineBot sets mode: +v on RichardG
L896[10:45:56] ⇨ Joins: KGS (~KGS@h-155-4-129-249.na.cust.bahnhof.se)
L897[10:48:28] ⇨ Joins: Redfoxmoon (~Red@236.109-247-187.customer.lyse.net)
L898[10:49:40] <tterrag> Subaraki: they aren't
L899[10:49:55] ⇨ Joins: micdoodle (webchat@107-179-140-90.cpe.teksavvy.com)
L900[10:50:00] <Lumien> They are protected
L901[10:50:27] ⇨ Joins: Hunterz (~hunterz@62.182.234.189)
L902[10:50:31] <tterrag> nope
L903[10:50:37] * Botter|afk was about the make a learn java joke then realised he doesn't even know how to java well himself
L904[10:50:46] <Lumien> They act as if they are at least
L905[10:50:50] <tterrag> nope
L906[10:51:00] <quadraxis> oh you mean package-private
L907[10:51:11] <tterrag> there we go. yes it is its own access modifier
L908[10:51:17] <tterrag> not private, not protected, it has its own rules
L909[10:51:49] <tterrag> https://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html
L910[10:53:34] <Subaraki> ah
L911[10:53:35] <Subaraki> well
L912[10:53:36] <Subaraki> same same
L913[10:53:39] <Subaraki> can't acces them
L914[10:53:41] ⇨ Joins: RichardG_ (~richardg8@201.37.241.91)
L915[10:53:42] MineBot sets mode: +v on RichardG_
L916[10:53:54] *** Botter|afk is now known as Botter|HWK
L917[10:54:14] *** Botter|HWK is now known as Botter|CWK
L918[10:54:20] *** Botter|CWK is now known as Botter|HWK
L919[10:54:21] ⇨ Joins: iso2013 (~iso2013@c-67-176-10-45.hsd1.co.comcast.net)
L920[10:55:11] ⇦ Parts: Botter|HWK (~Bottersni@cpc92754-stap14-2-0-cust1.12-2.cable.virginm.net) (Bai))
L921[10:55:12] ⇦ Quits: RichardG (~richardg8@201.37.241.91) (Ping timeout: 198 seconds)
L922[10:55:43] ⇨ Joins: Botter|HWK (~Bottersni@cpc92754-stap14-2-0-cust1.12-2.cable.virginm.net)
L923[10:56:03] ⇨ Joins: RichardG (~richardg8@201.37.241.91)
L924[10:56:04] MineBot sets mode: +v on RichardG
L925[10:57:31] ⇦ Quits: RichardG_ (~richardg8@201.37.241.91) (Ping timeout: 206 seconds)
L926[11:01:56] ⇨ Joins: Kano (~Kano@2604:180:2:11bc::a3b8)
L927[11:02:32] ⇦ Quits: Emris (~Miranda@195.234.58.25) (Quit: Miranda IM! Smaller, Faster, Easier. http://miranda-im.org)
L928[11:03:10] ⇦ Quits: SquareWheel (~SquareWhe@s0106687f7463986c.ok.shawcable.net) (Quit: Leaving)
L929[11:04:50] <gigaherz> ugh that took longer than I expected
L930[11:04:50] <gigaherz> XD
L931[11:04:56] <Botter|HWK> What did?
L932[11:05:04] <gigaherz> upgradingthe CMS+wiki on my website
L933[11:05:06] <gigaherz> (not the blog)
L934[11:05:26] ⇦ Quits: AstralSorcerer (~AstralSor@u-of-rochester-128-151-150-18.wireless.rochester.edu) (Ping timeout: 183 seconds)
L935[11:08:12] <Botter|HWK> Can someone @mention me please? I'm curious what happens if I have my IRC minimised to tray while it happens
L936[11:09:36] <IoP> @mention or just mention?
L937[11:09:51] <Subaraki> Botter|HWK,
L938[11:10:48] <Botter|HWK> :( No ballon. Only a flashing icon
L939[11:11:02] <Botter|HWK> An icon might I mention, that was hidden in the overflow section
L940[11:11:35] <Botter|HWK> Try again
L941[11:12:38] <Subaraki> Botter|HWK,
L942[11:12:45] <Botter|HWK> Yay! It worked
L943[11:13:01] <Botter|HWK> That's one less item on my taskbar
L944[11:22:06] <Ivorius> but one giant item for mankind
L945[11:22:14] * howtonotwin decides to write his mod in a combination of Java and Scala.
L946[11:22:15] * howtonotwin prepares to buy a new "$" key.
L947[11:22:47] <OrionOnline> howtonotwin, you there?
L948[11:23:00] <howtonotwin> yep
L949[11:23:26] <OrionOnline> public net.minecraft.client.renderer.block.statemap.StateMap func_i46210_(Lnet/minecraft/block/properties/IProperty;Ljava/lang/String;Ljava/util/List;)V # StateMap seems to be broken
L950[11:23:33] <OrionOnline> Never mind
L951[11:23:36] <howtonotwin> why is StateMap broken
L952[11:23:39] <howtonotwin> what?
L953[11:23:41] <OrionOnline> I think i need to update the Mappings
L954[11:23:51] <OrionOnline> I might be using old mappers that is the reason why the AT is not working
L955[11:24:05] <howtonotwin> why do you need that constructor?
L956[11:24:07] <tterrag> AT works on srg names
L957[11:24:13] <tterrag> it is applied before mappings
L958[11:24:34] <OrionOnline> howtonotwin, I need an ICustomStateMapper that accepts prefixes instead of suffixes...
L959[11:24:37] <gigaherz> anyone knows how to properly import forge proper into IDEA?
L960[11:24:39] <tterrag> but also, why AT that method?
L961[11:24:47] <tterrag> gigaherz: properly proper?
L962[11:24:48] <howtonotwin> um?
L963[11:24:51] <howtonotwin> wrap it?
L964[11:24:51] <gigaherz> forge proper
L965[11:24:54] <OrionOnline> The current statemap will only allow me to add suffixes
L966[11:24:57] <gigaherz> as in, not the mdk
L967[11:25:07] <tterrag> gigaherz: ask diesieben07 maybe :P
L968[11:25:08] <gigaherz> jsut he prospect of starting Eclipse is removing my will of doing this Pr
L969[11:25:09] <gigaherz> XD
L970[11:25:11] <gigaherz> the*
L971[11:25:14] <howtonotwin> create a new class
L972[11:25:22] <howtonotwin> that holds a StateMap in a field
L973[11:25:32] <howtonotwin> and also can set prefixes?
L974[11:25:45] <tterrag> idk what you even mean by "prefixes"
L975[11:25:47] <howtonotwin> there is no need to hack a subclass
L976[11:25:50] <OrionOnline> Actually i know how todo it without
L977[11:25:55] <tterrag> it can map to whatever you want
L978[11:25:56] <howtonotwin> like really no don't do that
L979[11:26:24] <tterrag> $ xy
L980[11:26:27] <Actuarius> Usage: $ [labels|labels add|labels remove|assign|deassign|open|close] [<issue>] [<label>|<assignee>]; add supports a list of labels
L981[11:26:29] <tterrag> fry: pls
L982[11:26:34] <tterrag> OrionOnline: what are you trying to *do*
L983[11:26:55] <OrionOnline> Basically add functionality to the existing StateMap
L984[11:27:07] <OrionOnline> Right now that StateMap only accepts withSuffix
L985[11:27:16] <OrionOnline> I need it to accept withPrefix
L986[11:27:31] <howtonotwin> case class PrefixingMapper(basemapper: IStateMapper, prefix: String) extends IStateMapper { override def getModelResourceLocation(state: IBlockState) = ... }
L987[11:27:37] <howtonotwin> properly java-fied
L988[11:27:40] <howtonotwin> don't hack a subclass
L989[11:27:44] <howtonotwin> like seriously
L990[11:27:44] ⇨ Joins: blood|wrk (~owned@STATIC228.iona.edu)
L991[11:27:45] <howtonotwin> wtf
L992[11:27:47] <tterrag> OrionOnline: no
L993[11:27:49] <tterrag> that's your solution
L994[11:27:51] <tterrag> not your problem
L995[11:28:03] *** V is now known as Vigaro
L996[11:28:03] <tterrag> http://xyproblem.info/
L997[11:28:11] <OrionOnline> tterrag, i know
L998[11:28:33] <OrionOnline> My problem is that all my BlockState files start with the name of the Block that they belong to#
L999[11:28:36] <OrionOnline> Forge
L1000[11:28:39] <OrionOnline> Anvil
L1001[11:28:42] <OrionOnline> etc
L1002[11:28:46] <howtonotwin> IStateMapper != StateMap
L1003[11:28:47] <howtonotwin> ???
L1004[11:28:48] <OrionOnline> However for my conduits i cannot do that
L1005[11:28:54] <howtonotwin> implement your own IStateMapper
L1006[11:28:59] <OrionOnline> as they use a StateMapper
L1007[11:29:08] <howtonotwin> no they use IStateMapper.
L1008[11:29:13] <OrionOnline> howtonotwin, that is exactly what i am going to do
L1009[11:29:14] <howtonotwin> StateMap is just convenience
L1010[11:29:25] <howtonotwin> well why do you need to inherit from StateMap
L1011[11:29:26] <howtonotwin> wtf
L1012[11:29:32] <howtonotwin> composition anyone?
L1013[11:29:38] <OrionOnline> howtonotwin, I figured that out
L1014[11:29:44] <OrionOnline> So i am making my own now
L1015[11:29:56] <OrionOnline> That is why i said i now how to solve it now
L1016[11:29:59] <howtonotwin> ok
L1017[11:30:01] <quadraxis> gigaherz, https://www.youtube.com/watch?v=yanCpy8p2ZE
L1018[11:30:13] <quadraxis> worked ok for me
L1019[11:30:22] <gigaherz> ah nice
L1020[11:32:19] <gigaherz> okay so far it seems to be the same I did, approximately
L1021[11:33:41] *** Darkhax is now known as Darkhax_AFK
L1022[11:33:45] <gigaherz> (he's using git through IDEA, and I prefer to use TortoiseGit for those things)
L1023[11:36:04] <gigaherz> OOOOH so that's how you do it!
L1024[11:36:09] ⇨ Joins: McJty (~jorrit@94-225-203-206.access.telenet.be)
L1025[11:36:40] ⇨ Joins: Samario (~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net)
L1026[11:42:26] <gigaherz> so yeah I was doing everything right xcept I didn't know you had to select the gradle task thing when importing the projects/build.gradle
L1027[11:45:02] <gr8pefish> is there a way to reload a json without restarting MC? f3+T doesn't seem to work
L1028[11:45:14] <Botter|HWK> I hade the same problem
L1029[11:45:20] <Botter|HWK> YOu need to rebuild
L1030[11:45:37] ⇨ Joins: Hgrebnednav (~Hgrebnedn@d8D872A6E.access.telenet.be)
L1031[11:45:37] <Botter|HWK> In intellij I've bound that to f10 but it should be under the build menu
L1032[11:47:26] <gr8pefish> Botter|HWK, rebuild, as in the gradle task? That can't be right
L1033[11:47:43] <Botter|HWK> No the gradle task, just "build project" in the IDE
L1034[11:47:43] <gr8pefish> oh I see it, jk
L1035[11:47:43] ⇨ Joins: AstralSorcerer (~AstralSor@u-of-rochester-128-151-150-18.wireless.rochester.edu)
L1036[11:47:48] <gr8pefish> ty
L1037[11:47:53] <Botter|HWK> NP
L1038[11:48:12] <Botter|HWK> Just be prepared for MC to die for a short while while it loads all the resources
L1039[11:48:17] <gr8pefish> lol k
L1040[11:48:18] <gigaherz> no need to rebuild ;P
L1041[11:48:25] <gigaherz> "make project" is enough
L1042[11:48:35] <Botter|HWK> Make/build... Same thing
L1043[11:48:43] <gigaherz> wait yeah you said "build project"
L1044[11:48:47] <gigaherz> that's not quite the same as "rebuild"
L1045[11:48:52] <gigaherz> which deletes the build folder and starts over
L1046[11:48:53] <gigaherz> ;p
L1047[11:49:05] <Botter|HWK> :P That would not be fun
L1048[11:49:20] * Botter|HWK imagines having to run the minecraft decompiler again.
L1049[11:49:42] ⇨ Joins: Koward (~Koward@2a02:2788:7d4:4dd:a1ac:7e1f:aa58:91a3)
L1050[11:51:14] <gr8pefish> IntelliJ -> top bar -> build -> make project, right? That doesn't seem to work for me to reload the changed json (trying to mess with translations)
L1051[11:51:34] <Botter|HWK> Did you also do F3+t?
L1052[11:51:40] <Botter|HWK> It should work
L1053[11:51:48] <gr8pefish> oh no not that too, I'll try that
L1054[11:51:57] <Botter|HWK> Yeah, you need to do them both
L1055[11:51:59] <BordListian> you need to make and then f3+t, yeah
L1056[11:52:24] * Botter|HWK creates an AutoHotKey script to do it automaticly
L1057[11:52:52] <gr8pefish> sweetness, that works, thanks!
L1058[11:52:56] <Botter|HWK> np
L1059[11:53:09] <howtonotwin> Is there documentation on exposing/using APIs?
L1060[11:53:19] <Botter|HWK> Hahahahahah. Docs?
L1061[11:55:35] ⇨ Joins: Naiten (Naiten@77.35.19.53)
L1062[11:58:33] ⇨ Joins: Alex_hawks (~Alex_hawk@2001:8003:848a:e100:b8a8:cb13:3bf8:6307)
L1063[12:00:15] <gigaherz> howtonotwin: that's like, generic java knowledge, no?
L1064[12:00:30] <Botter|HWK> Depends on what API they are :P
L1065[12:00:33] <Botter|HWK> *APIs
L1066[12:00:42] <howtonotwin> meant @API and stuff like that :P
L1067[12:01:05] ⇦ Quits: Zed (~Zed@12.223.6.51.dyn.plus.net) (Quit: Textual IRC Client: www.textualapp.com)
L1068[12:01:40] <gr8pefish> Is there a way to disable the re-equip animation when right clicking?
L1069[12:02:07] <Botter|HWK> Have a look in the code. There may be a function that can be @Override ed
L1070[12:02:14] <gr8pefish> overriding shouldCauseReequipAnimation does nothing (when right clicking)
L1071[12:02:31] <gr8pefish> might be somethign special in right click
L1072[12:02:38] * gr8pefish goes to look at source code
L1073[12:06:46] *** Vigaro is now known as V
L1074[12:08:45] ⇨ Joins: founderio (~Thunderbi@p200300C4E3C0A700F530415C5A6EEB67.dip0.t-ipconnect.de)
L1075[12:10:34] *** Botter|HWK is now known as Bottersike
L1076[12:10:37] *** Bottersike is now known as Bottersnike
L1077[12:10:44] <howtonotwin> lol
L1078[12:10:50] <Bottersnike> #spelling]
L1079[12:11:06] ⇨ Joins: Koward_ (~Koward@2a02:2788:7d4:4dd:a1ac:7e1f:aa58:91a3)
L1080[12:11:07] <howtonotwin> @jwtviES
L1081[12:11:15] <howtonotwin> that's what happens when you spell #keyboard
L1082[12:11:20] <howtonotwin> but one key to the left
L1083[12:11:21] <howtonotwin> :P
L1084[12:11:33] ⇦ Quits: Koward (~Koward@2a02:2788:7d4:4dd:a1ac:7e1f:aa58:91a3) (Ping timeout: 183 seconds)
L1085[12:11:46] <Bottersnike> http://www.bbc.co.uk/news/uk-scotland-north-east-orkney-shetland-37606361 <-- A kid got killed over a biscuit
L1086[12:12:40] * howtonotwin nopes out of this conversation
L1087[12:13:26] <Bottersnike> :P
L1088[12:13:57] * Bottersnike
L1089[12:14:05] <Bottersnike> Haha! I broke the system
L1090[12:14:06] * Bottersnike
L1091[12:14:07] * Bottersnike
L1092[12:14:08] * Bottersnike
L1093[12:14:39] ⇦ Quits: Koward_ (~Koward@2a02:2788:7d4:4dd:a1ac:7e1f:aa58:91a3) (Ping timeout: 183 seconds)
L1094[12:14:54] ⇨ Joins: TechnicianLP (~Technicia@p4FE575FC.dip0.t-ipconnect.de)
L1095[12:14:55] <howtonotwin> huh
L1096[12:15:16] * Bottersnike "/me " (two spaces) and it just thinks that your message is " "
L1097[12:16:01] ⇨ Joins: ollieread (~ollieread@exia.ollieread.com)
L1098[12:16:12] * howtonotwin
L1099[12:16:15] <howtonotwin> indeed
L1100[12:16:56] <gigaherz> there: https://github.com/MinecraftForge/MinecraftForge/pull/3306
L1101[12:17:13] <Bottersnike> Oh man... You really did it :P
L1102[12:17:45] <Bottersnike> Is there a github for the bot/commands on this (e.g. /me)?
L1103[12:17:55] ⇦ Quits: Gil (uid147942@2604:8300:100:200b:6667:5:2:41e6) (Quit: Connection closed for inactivity)
L1104[12:18:00] <gigaherz> yeah, making PRs isn't that hard, when you don't ahve to fight against the repulsion of using Eclipse
L1105[12:18:09] <heldplayer>  
L1106[12:18:18] <howtonotwin> My mod has existed for ~30 minutes and I'm already abusing path dependent types, hard.
L1107[12:18:19] <howtonotwin> :P
L1108[12:18:21] <Bottersnike> I love that IDEA has git built straight into it
L1109[12:18:21] <Bottersnike>
L1110[12:18:22] <Bottersnike>
L1111[12:18:22] <Bottersnike>
L1112[12:18:25] <howtonotwin> why
L1113[12:18:27] <gigaherz> if you want to like, "+1" or agree, use the reaction thingies
L1114[12:18:31] ⇦ Quits: Naiten (Naiten@77.35.19.53) (Read error: Connection reset by peer)
L1115[12:19:09] <gigaherz> they exist to avoid unnecessary comments with "+1" "/me likes" and similar ;p
L1116[12:19:20] <g> nobody uses them sadly
L1117[12:19:27] <Bottersnike> Ik
L1118[12:19:29] <g> GH should have made it convert the "+1" comments
L1119[12:19:51] <Bottersnike> Want to make a github PR on the github soruce repo?
L1120[12:20:04] <g> that sounds daunting as hell
L1121[12:20:04] <g> lol
L1122[12:20:23] <Bottersnike> Is the /me command an IRC thing or a MC Forge thing?
L1123[12:20:27] <howtonotwin> irc
L1124[12:20:33] <Bottersnike> :'(
L1125[12:20:41] <Bottersnike> Is there a github for that?
L1126[12:20:50] <g> IRC is a standard
L1127[12:20:53] <g> you want RFCs
L1128[12:20:59] <g> that said, /me is part of the IRC client
L1129[12:21:13] <Bottersnike> Where's the hexchat source then?
L1130[12:21:15] <g> under the hood it's actually sending a CTCP ACTION, if I'm not mistaken..
L1131[12:21:16] <gigaherz> g: ? the forge issues & PRs are full of them
L1132[12:21:16] <gigaherz> ;P
L1133[12:21:34] <g> gigaherz, what're you referring to?
L1134[12:21:41] <gigaherz> github reactions
L1135[12:21:48] <gigaherz> https://github.com/MinecraftForge/MinecraftForge/pull/3305
L1136[12:21:49] ⇨ Joins: Gil (uid147942@id-147942.brockwell.irccloud.com)
L1137[12:21:49] <g> I'm talking about the whole of github
L1138[12:21:50] <howtonotwin> https://github.com/MinecraftForge/MinecraftForge/pull/3305
L1139[12:21:52] <howtonotwin> oh
L1140[12:21:52] <g> people tend to ignore them
L1141[12:22:15] <gigaherz> yeah but that's because people tend to dislike the icons
L1142[12:22:15] <gigaherz> ;p
L1143[12:22:16] <Bottersnike> Is there a way to search for code in just one repo not the whole of GH?
L1144[12:22:22] <howtonotwin> yes
L1145[12:22:24] <gigaherz> Bottersnike: when you are in a repository
L1146[12:22:28] <g> example: https://github.com/FortAwesome/Font-Awesome/issues/7574
L1147[12:22:31] <Bottersnike> How?
L1148[12:22:38] <gigaherz> the search box shoudl show Search: [(in this repository) ]
L1149[12:22:39] <howtonotwin> don't backspace the "This Repo" away
L1150[12:22:43] <g> there's a bunch of reactions but also a bunch of people just saying +1
L1151[12:23:04] <g> hm, actually it looks like they have converted a bunch of them to reactions
L1152[12:23:06] <g> gg github
L1153[12:23:11] <IoP> people saying +1 in GH should be sent into some camp to learn not to spam
L1154[12:23:32] <g> well, I get an email when someone +1s this repo
L1155[12:23:36] <g> er, issue
L1156[12:23:42] <heldplayer> g: Like this? https://github.com/isaacs/github/issues/18
L1157[12:23:43] <g> but yeah, they seem to have been converted to reactions
L1158[12:23:43] <gigaherz> g: the +1s are from before
L1159[12:23:49] <gigaherz> they didn't convert retroactively
L1160[12:24:01] <gigaherz> no wait nevermind
L1161[12:24:03] <g> I can't load that page..
L1162[12:24:04] <gigaherz> there's newer +1s
L1163[12:24:11] <g> ah, there we go
L1164[12:24:12] <heldplayer> Might need to try a few times
L1165[12:24:18] <IoP> well of course there is because people are morons
L1166[12:24:40] <Bottersnike> So is /me server or client side?
L1167[12:24:46] <heldplayer> Client side
L1168[12:25:02] * Bottersnike goes hunting in the HexChat source for the /me command
L1169[12:25:04] <g> some servers do implement it
L1170[12:25:08] <g> but yeah, it's mostly on the client
L1171[12:25:11] <heldplayer> It uses the same stuff as normal messages, but adds some extra stuff at the front which pretty much every client understands
L1172[12:25:14] <gigaherz> IRC /me does
L1173[12:25:15] <g> why are you looking for it?
L1174[12:25:17] <gigaherz> CTCP ACTION
L1175[12:25:20] <gigaherz> instead of a normal message
L1176[12:25:25] <g> yeah, that's what I said earlier
L1177[12:25:34] <gigaherz> char(1) + "ACTION " + message + char(1)
L1178[12:25:38] <Bottersnike> To see if I can patch the following:
L1179[12:25:40] * Bottersnike
L1180[12:25:41] * Bottersnike
L1181[12:25:47] <Bottersnike> ("/me ")
L1182[12:25:48] <g> that is not a bug.
L1183[12:25:51] <g> :P
L1184[12:25:51] <Bottersnike> no?
L1185[12:25:56] <heldplayer> gigaherz: Not sure the trailing char(1) is required
L1186[12:25:59] <Bottersnike> It's fairly useless
L1187[12:26:04] <g> but still not a bug.
L1188[12:26:13] <gigaherz> * /me: insufficient parameters
L1189[12:26:18] <gigaherz> mirc doesn't allow /me without a message
L1190[12:26:19] <g> He's put a control character in it
L1191[12:26:19] <gigaherz> ;p
L1192[12:26:21] <Bottersnike> I can't see why it wouldn't be a bug
L1193[12:26:21] <IoP> Are we going to argue about RFC soon ?!
L1194[12:26:29] <g> why would it be a bug?
L1195[12:26:30] * gigaherz  
L1196[12:26:35] <g> Just because it isn't a feature doesn't mean it's a bug
L1197[12:26:35] <g> lol
L1198[12:26:37] <gigaherz> well if you put an invisible char in there
L1199[12:26:40] <gigaherz> it's just an invisible chat
L1200[12:26:42] <gigaherz> char*
L1201[12:26:44] <Bottersnike>
L1202[12:26:46] <Bottersnike> ^
L1203[12:26:53] <g> every client handles it like that
L1204[12:26:59] <Bottersnike> It still seems silly
L1205[12:26:59] <IoP>
L1206[12:27:04] <g> but it's not a bug.
L1207[12:27:06] <IoP> ^^ I can do that also
L1208[12:27:07] <g> silly or not.
L1209[12:27:07] <g> :P
L1210[12:27:09] <g> don't waste your time.
L1211[12:27:19] <Bottersnike> Why would anyone ever thing to implement that though?
L1212[12:27:25] <g> they didn't implement it
L1213[12:27:30] <gigaherz> it's not implemented on purpose
L1214[12:27:30] <g> they just didn't disallow it
L1215[12:27:32] <gigaherz> it's a side-effect
L1216[12:27:39] <gigaherz> unintended "feature"
L1217[12:27:48] ⇦ Quits: Zolingoto (~Melakion@50-35-180-227.evrt.wa.frontiernet.net) (Read error: Connection reset by peer)
L1218[12:27:51] <g> that's kind of a bad way of putting it
L1219[12:28:00] ⇨ Joins: Zolingoto (~Melakion@50-35-180-227.evrt.wa.frontiernet.net)
L1220[12:28:01] <Bottersnike> Could you not argue that an unintended side effect with no use is a bug?
L1221[12:28:05] <g> the command takes any textual input, and control characters count as textual input
L1222[12:28:09] <gigaherz> tell me how would you "fix" it
L1223[12:28:09] <gigaherz> ;P
L1224[12:28:17] <g> they just simply didn't check for a message with only control chars in
L1225[12:28:25] <g> and fixing it would probably break someone's use case anyway
L1226[12:28:36] <g> https://xkcd.com/1172/
L1227[12:28:36] <Bottersnike> Instead of if message.length > 3 check if the rest of the message has any content
L1228[12:28:45] <g> it does have content
L1229[12:28:45] <IoP> Who is they? and Why they should check content of message?
L1230[12:28:48] <BordListian> oh man that's amazing
L1231[12:29:07] <g> the control char is the content
L1232[12:29:07] <BordListian> sending messages in irc using control characters
L1233[12:29:10] <g> it's content.
L1234[12:29:10] <g> lol
L1235[12:29:16] <g> there's not nothing there
L1236[12:29:25] <Bottersnike> I meant content that's not " "
L1237[12:29:33] <BordListian> and only people with a script that decodes the characters can read it
L1238[12:29:36] <g> I'm sure someone has a use-case for sending only control chars
L1239[12:29:40] <IoP> I've said it earlier to people who talk about IRC features: read the RFC and then talk
L1240[12:29:49] ⇦ Quits: howtonotwin (~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net) (Read error: Connection reset by peer)
L1241[12:29:57] <BordListian> >irc features
L1242[12:30:04] <BordListian> irc has features?
L1243[12:30:06] <gigaherz> yes
L1244[12:30:09] <IoP> Not checking content == performance
L1245[12:30:10] ⇨ Joins: howtonotwin (~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net)
L1246[12:30:10] <g> well.. yeah?
L1247[12:30:23] <g> eh, that'd be a negligible gain really
L1248[12:30:25] <gigaherz> it has some default features, some optional features
L1249[12:30:25] <howtonotwin> itsalive.jpg
L1250[12:30:27] <gigaherz> some unintended features
L1251[12:30:32] <gigaherz> and some extensions
L1252[12:30:34] <gigaherz> ;P
L1253[12:30:40] <gigaherz> like literally any specification ever
L1254[12:31:09] <gigaherz> a feature is simply a "thing it can do"
L1255[12:31:13] ⇨ Joins: Magik6k (~Magik6k_@magik6k.net)
L1256[12:31:13] <howtonotwin> Oracle: have lower type bounds on generics
L1257[12:31:17] <g> It's kinda like making block update detectors with redstone in vanilla minecraft
L1258[12:31:24] <howtonotwin> mathematicians: here's a Turing machine
L1259[12:31:27] <g> it's the result of a "bug" or unintended feature in the redstone engine
L1260[12:31:38] <g> do you think it should be removed just because one person doesn't need it?
L1261[12:31:43] ⇦ Quits: AstralSorcerer (~AstralSor@u-of-rochester-128-151-150-18.wireless.rochester.edu) (Ping timeout: 183 seconds)
L1262[12:32:35] <g> the answer is no, of course not
L1263[12:32:39] <BordListian> can irc messages containing only control characters be turned into turing machines
L1264[12:32:41] <g> because you can't speak for every single user out there
L1265[12:32:53] <heldplayer> BordListian: No
L1266[12:33:01] <g> BordListian, you could have a bot that translates it to something like brainfuck I guess
L1267[12:33:01] <g> :P
L1268[12:33:14] <heldplayer> For it to be a turning machine you'd need some form of simulated tape drive
L1269[12:33:21] <heldplayer> Turing *
L1270[12:33:39] <heldplayer> And.. well.. logic
L1271[12:33:48] <howtonotwin> Java's types are Turing complete
L1272[12:34:04] <heldplayer> Are they?
L1273[12:34:09] <howtonotwin> so actually javac can simulate a Turing machine
L1274[12:34:11] <howtonotwin> yes
L1275[12:34:17] <howtonotwin> proven in March (?) this year
L1276[12:34:31] <heldplayer> Nice
L1277[12:34:35] <g> that doesn't sound that far-fetched
L1278[12:34:50] <howtonotwin> ungodly amount of "<? super" though xD
L1279[12:34:51] <heldplayer> I knew C++ templates were Turing complete but those are a bit more advanced than Java generics
L1280[12:35:34] <howtonotwin> https://arxiv.org/pdf/1605.05274.pdf
L1281[12:37:31] <Bottersnike> https://xkcd.com/1195/
L1282[12:40:40] <heldplayer> I'm learning about this kind of stuff this year and my god it's still so confusing
L1283[12:40:50] <howtonotwin> :P
L1284[12:40:56] <heldplayer> The document you linked that is, the stuff I'm learning is ok-ish :P
L1285[12:41:18] <gigaherz> we had to write a turing machine simulator at uni
L1286[12:41:35] <gigaherz> mine was the best apparently ;P
L1287[12:41:56] <gigaherz> (in that year ;P)
L1288[12:42:31] *** Abrar|gone is now known as AbrarSyed
L1289[12:43:23] ⇨ Joins: Randysdoom (~Randysdoo@2601:243:c300:92b0:9d35:c97:6644:83d8)
L1290[12:43:49] ⇦ Quits: Randysdoom (~Randysdoo@2601:243:c300:92b0:9d35:c97:6644:83d8) (Client Quit)
L1291[12:44:12] ⇨ Joins: Randysdoom (~Randysdoo@2601:243:c300:92b0:9d35:c97:6644:83d8)
L1292[12:46:40] ⇨ Joins: AstralSorcerer (~AstralSor@u-of-rochester-128-151-150-18.wireless.rochester.edu)
L1293[12:53:51] ⇦ Quits: howtonotwin (~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net) (Quit: Leaving)
L1294[12:54:13] ⇨ Joins: howtonotwin (~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net)
L1295[12:54:17] ⇦ Quits: Davnit (~Davnit@72-189-103-223.res.bhn.net) (Read error: Connection reset by peer)
L1296[12:57:31] ⇨ Joins: Davnit (~Davnit@72-189-103-223.res.bhn.net)
L1297[12:58:14] ⇦ Quits: Davnit (~Davnit@72-189-103-223.res.bhn.net) (Client Quit)
L1298[12:58:32] ⇨ Joins: Davnit (~Davnit@72-189-103-223.res.bhn.net)
L1299[13:01:10] ⇨ Joins: austindorff (~austindor@c-24-13-64-193.hsd1.il.comcast.net)
L1300[13:01:19] *** austindorff is now known as thechief5456
L1301[13:01:32] ⇨ Joins: SquareWheel (~SquareWhe@s0106687f7463986c.ok.shawcable.net)
L1302[13:04:12] ⇦ Quits: ThePsionic (~ThePsioni@ip5457f909.direct-adsl.nl) (Quit: Leaving)
L1303[13:04:59] ⇦ Quits: SquareWheel (~SquareWhe@s0106687f7463986c.ok.shawcable.net) (Client Quit)
L1304[13:05:07] *** Mine|dreamland is now known as minecreatr
L1305[13:05:45] ⇨ Joins: SquareWheel (~SquareWhe@s0106687f7463986c.ok.shawcable.net)
L1306[13:09:17] *** Bottersnike is now known as Botter|afk
L1307[13:13:00] ⇨ Joins: cpup (~cpup@32.218.113.28)
L1308[13:14:05] ⇦ Quits: Botter|afk (~Bottersni@cpc92754-stap14-2-0-cust1.12-2.cable.virginm.net) (Ping timeout: 183 seconds)
L1309[13:14:24] ⇦ Quits: Hunterz (~hunterz@62.182.234.189) (Ping timeout: 198 seconds)
L1310[13:15:00] <thechief5456> I came up with a great new direction for my mod, the only problem is I dont exactly know how the idea will work just yet
L1311[13:17:29] <IoP> gm func_180495_p
L1312[13:18:25] <IoP> !gm func_180495_p
L1313[13:19:14] <hipsterpig> thechief5456: I say go for it. You never know where that path will take you unless you walk down it.
L1314[13:19:21] <gigaherz> thechief5456: feel free to explain here
L1315[13:19:30] <gigaherz> we can help you fine-tune the idea
L1316[13:19:33] <gigaherz> and suggest mechanics
L1317[13:21:36] ⇦ Quits: gr8pefish (~gr8pefish@24-121-241-166.flagcmtk01.res.dyn.suddenlink.net) (Ping timeout: 198 seconds)
L1318[13:24:07] <thechief5456> my mod name is mechanica so instead of having an electrical network to power machines, I was thinking of axles and gear boxes and mechanical linkages to transfer mechanical energy to power everyting
L1319[13:24:32] <gigaherz> would you simulate the torque and such?
L1320[13:24:40] ⇨ Joins: gr8pefish (~gr8pefish@24-121-241-166.flagcmtk01.res.dyn.suddenlink.net)
L1321[13:24:45] <gigaherz> or do like Ancient Warfare 2 axles that are really RF in disguise?
L1322[13:25:06] <thechief5456> I would try <--- try being the key word
L1323[13:25:23] <gigaherz> so I had thoguht about this in the past
L1324[13:25:27] ⇨ Joins: BlueMonster (uid82864@id-82864.tooting.irccloud.com)
L1325[13:25:39] <gigaherz> I'm just busy with other mods so I wil ltell you so maybe you can make use of the idea ;P
L1326[13:25:54] <gigaherz> in my idea, I'd have axles as multiblock structures
L1327[13:25:59] <gigaherz> they'd work as one single thing
L1328[13:26:09] <gigaherz> and have an inertia and resistance based on tier and length
L1329[13:27:01] <gigaherz> then I'd have... dunno how to call them
L1330[13:27:04] <gigaherz> those flexible bands
L1331[13:27:18] <gigaherz> linking up the axle with machines
L1332[13:27:22] <gigaherz> in a semi-wireless way
L1333[13:27:39] <thechief5456> I was thinking about that last night! rubber belts
L1334[13:27:43] <gigaherz> yep
L1335[13:28:10] <gigaherz> and i'd make it possible to have two belts per block
L1336[13:28:18] <gigaherz> so that you can have a machine connecting on the "left" of the axle
L1337[13:28:24] <gigaherz> and another one on the "right" of the axle
L1338[13:28:26] <gigaherz> to have like
L1339[13:28:37] <gigaherz> two "sides" of machines, with the axle in the middle slghtly elevated
L1340[13:28:59] <thechief5456> yep I like this so far
L1341[13:29:14] <IoP> umm is there some magic tricks to get mcp srg mapper to work in chrome_
L1342[13:29:30] * gigaherz has no idea
L1343[13:30:14] <thechief5456> lol
L1344[13:30:35] <gigaherz> then there's the thing of tiers
L1345[13:31:07] <gigaherz> basic ones are obvious: wood, iron, steel
L1346[13:31:19] <BordListian> >tiers
L1347[13:31:28] <gigaherz> but then you could have stuff like long-distance axles
L1348[13:31:36] <gigaherz> that are in a pipe filled with fluid
L1349[13:32:01] <gigaherz> lower drag/fridction, but can't have bands connected to them
L1350[13:32:15] <gigaherz> -d
L1351[13:33:01] <gigaherz> also in order to avoid very long chains causing chunkloading effects
L1352[13:33:06] <gigaherz> I'd split the axles into sections
L1353[13:33:12] <gigaherz> that spread the information along the axle
L1354[13:33:21] <gigaherz> this would mean there's some "lag" in the rotation
L1355[13:33:29] <gr8pefish> is using ICapabilitySerializable overkill for just storing a boolean value for a player?
L1356[13:33:39] <thechief5456> this is sounding really interesting now
L1357[13:33:46] <gigaherz> but this is ok, because a long axle tends to be able to rotate a bit
L1358[13:33:47] <gigaherz> as in
L1359[13:33:52] <gigaherz> one end rotates a bit more than the other
L1360[13:34:00] <gigaherz> and the other end ends up "lagging behind"
L1361[13:34:50] <thechief5456> but someone will probably refine this idea and develop it 10,000 times faster than I could :(
L1362[13:34:57] <gigaherz> thne there's some potential mechanics
L1363[13:35:06] <gigaherz> such as: what happens if you plug two machines directly into eachother
L1364[13:35:09] <gigaherz> and one spins faster than the other?
L1365[13:35:16] <gigaherz> the slower one would receive feedback
L1366[13:35:18] ⇨ Joins: Hunterz (~hunterz@62.182.234.189)
L1367[13:35:28] <gigaherz> so you could have this generate heat and a chance to explode or break the axle/machine
L1368[13:35:47] <gigaherz> also another idea: you have a possibility for things like friction discs
L1369[13:35:53] <gigaherz> letting you disconnect sectionswithout breaking blocks
L1370[13:36:00] ⇦ Quits: McJty (~jorrit@94-225-203-206.access.telenet.be) (Ping timeout: 198 seconds)
L1371[13:36:02] <gigaherz> or lowering the intake
L1372[13:36:14] <gigaherz> so that other sections receive a bigger % of the force
L1373[13:38:07] <gigaherz> other things to consider:static friction? so that you need a higher force to "get started" and then you can lower the power for sustained operation
L1374[13:38:20] <gigaherz> thechief5456: believe in yourself!
L1375[13:38:31] <gigaherz> that's why I'm refining it for you ;P
L1376[13:39:07] <gigaherz> oh and you'll want to have electrical motors and electrical generators, to interface with the usual energy systems
L1377[13:39:59] <thechief5456> this is polished compared to what i thought up last night :)
L1378[13:40:19] ⇨ Joins: Ipsis (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk)
L1379[13:47:37] <gr8pefish> The attach capabilities event is deprecated, what is it supposed to be now? (Anyone know)?
L1380[13:48:09] <LexManos> The attach capabilities event
L1381[13:50:29] ⇨ Joins: jordibenck (~jordi@86.89.212.184)
L1382[13:50:36] ⇨ Joins: McJty (~jorrit@94-225-203-206.access.telenet.be)
L1383[13:50:37] ⇦ Quits: founderio (~Thunderbi@p200300C4E3C0A700F530415C5A6EEB67.dip0.t-ipconnect.de) (Quit: founderio)
L1384[13:51:09] <gr8pefish> Sorry, I should have been much more clear. The event itself is fine, but the subEvent, AttachCapabilitiesEvent.Entity event, is deprecated.
L1385[13:52:03] <beschio> Are javadocs available for viewing online?
L1386[13:52:48] <IoP> Well shit. mcp srg mapper does not work with pastebin
L1387[13:53:22] ⇦ Quits: Scoaex (webchat@p5B15C8EA.dip0.t-ipconnect.de) (Quit: Web client closed)
L1388[13:53:51] ⇦ Quits: plp (~plp@112.203.118.64) (Quit: Leaving)
L1389[13:54:16] <gigaherz> gr8pefish: look at the javadocs of the event, gr8pefish
L1390[13:54:38] <gigaherz> it's just AttachCapabilitiesEvent<what> now
L1391[13:55:41] <gr8pefish> Oh, thats what I get for only skimming them. Thanks giga
L1392[13:56:02] ⇨ Joins: illy (~LordIllyo@2602:304:cf32:f980:d7b4:c6fb:fb09:5c82)
L1393[13:57:48] ⇦ Quits: howtonotwin (~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net) (Ping timeout: 206 seconds)
L1394[13:58:10] ⇨ Joins: howtonotwin (~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net)
L1395[13:59:13] <beschio> Are javadocs available for viewing online?
L1396[13:59:20] ⇦ Quits: howtonotwin (~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net) (Client Quit)
L1397[13:59:24] ⇦ Quits: gr8pefish (~gr8pefish@24-121-241-166.flagcmtk01.res.dyn.suddenlink.net) (Ping timeout: 198 seconds)
L1398[14:01:14] ⇨ Joins: howtonotwin (~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net)
L1399[14:06:36] ⇦ Quits: McJty (~jorrit@94-225-203-206.access.telenet.be) (Quit: Leaving)
L1400[14:07:04] <TechnicianLP> thechief: reminds me of rotarycraft ...
L1401[14:09:27] <gigaherz> beschio: no, no one volunteered to setup a server and maintain it, IIRC
L1402[14:12:27] ⇦ Quits: Ipsis (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk) (Ping timeout: 183 seconds)
L1403[14:18:26] <LatvianModder> Can someone give me a medal, I'm doing things right for once! http://ss.latmod.com/pc/2016-10-11_22.18.00.png
L1404[14:18:45] * illy steals medal
L1405[14:18:54] <fry> you don't get a medal for doing things right once.
L1406[14:19:17] <LatvianModder> No more running gradlew commands from cmd, not creating idea modules and what not I was doing a day ago
L1407[14:20:28] <quadraxis> not dark theme >_>
L1408[14:20:38] <LatvianModder> deal with it
L1409[14:20:39] <illy> well why are you running gradlew instead of gradle "yaourt -S gradle" :P
L1410[14:20:44] ⇦ Quits: AstralSorcerer (~AstralSor@u-of-rochester-128-151-150-18.wireless.rochester.edu) (Ping timeout: 183 seconds)
L1411[14:20:53] <LatvianModder> Im what? I just use what Idea provides
L1412[14:21:02] <LatvianModder> Im not using gradlew/cmd at all
L1413[14:21:45] <illy> "No more running gradlew commands from cmd" fool there is only gradle :P
L1414[14:21:46] <LatvianModder> Dark theme seriously hurts my eyes, can't use it. Maybe if I ever find a nice color scheme, like Sublime's
L1415[14:21:57] <Dark> what about me as a theme?
L1416[14:21:57] <LatvianModder> ok, gradle wrapper
L1417[14:22:11] <LatvianModder> *uses Dark as theme*
L1418[14:22:17] <illy> lat there's an addon for that
L1419[14:24:28] <LatvianModder> Dark themes save power
L1420[14:24:42] <LatvianModder> In theory. Less leds are active :P
L1421[14:25:09] <IoP> How deep are call tress for net.minecraft.world.gen.ChunkProviderServer.provideChunk() or net.minecraftforge.fml.common.registry.GameRegistry.generateWorld normally. IS there some limit I should be worried after?
L1422[14:25:38] <BordListian> if you have to ask you might be doing something wrong?
L1423[14:26:12] <IoP> Someone else aka some modder, not me.
L1424[14:26:29] ⇨ Joins: wundrweapon (~quassel@cpe-172-101-184-119.rochester.res.rr.com)
L1425[14:26:41] <IoP> http://paste.feed-the-beast.com/view/7507585f I'm looking at this and something is wrong with that?
L1426[14:26:46] <LatvianModder> ./whois SomeModder
L1427[14:27:05] <barteks2x> Looks like someone is doing population wrong
L1428[14:27:38] <BordListian> recursion was a mistake
L1429[14:28:08] <barteks2x> I'm almost sure someone didn't add +8 offset to block coordinates when generating things
L1430[14:28:08] <wundrweapon> recursion is cool
L1431[14:28:08] <IoP> recursion is one of the coolest things in programming languages!11!!
L1432[14:28:24] <OrionOnline> Sombody here experience with the new Animation system?
L1433[14:28:44] <BordListian> +8 what
L1434[14:28:53] <barteks2x> actually, a few mods at once didn't do that (probably)
L1435[14:29:15] <barteks2x> if you are doing stuff other than ore generation - you need to add +8 offset in population
L1436[14:29:34] <barteks2x> (WorldGenMinables has that offset internally)
L1437[14:29:53] <IoP> so probably causes for that are XU2, harvestcraft and actuallyadditions? Did I miss something or is there something more to blame?
L1438[14:30:21] <wundrweapon> I need to make a bow auto-fire every (x) ticks, so long as it's in the "being drawn" state, but I've found no way to pull it off
L1439[14:30:32] <barteks2x> I would need to look at code of these mods, but any mod that generated more chunks while generating terrain is probably doing it wrong
L1440[14:30:47] ⇦ Quits: Hunterz (~hunterz@62.182.234.189) (Remote host closed the connection)
L1441[14:31:16] <barteks2x> oh, and liquids, these do a few things in stacktrace here
L1442[14:31:36] <BordListian> override tick on the bow and do if(ticksused % x == 0)?
L1443[14:31:44] ⇦ Quits: kinggoesgaming (uid23106@id-23106.tooting.irccloud.com) (Quit: Connection closed for inactivity)
L1444[14:31:46] <IoP> Was going to ask about top of the stacj
L1445[14:31:56] <barteks2x> this is most likely caused by simulating flowing liquids
L1446[14:32:03] <wundrweapon> how would I override the tick? keep in mind I can't make a new entity or item
L1447[14:32:30] <BordListian> oh
L1448[14:32:46] <BordListian> is this an enchant?
L1449[14:32:50] <barteks2x> well.. the top of the stacktrace is. The bottom is clearly mods
L1450[14:32:53] <BordListian> or whatever
L1451[14:32:53] <wundrweapon> indeed it is
L1452[14:33:01] <BordListian> ok cool let's see
L1453[14:33:10] <barteks2x> but it's not an exception, so what is wrong here?
L1454[14:33:38] <wundrweapon> OrionOnline: depends on what you're doing
L1455[14:33:46] <IoP> barteks2x: 100% cpu usage
L1456[14:33:50] <OrionOnline> wundrweapon, i need to animate an Item
L1457[14:34:02] <OrionOnline> It is a book in OBJ form
L1458[14:34:06] <OrionOnline> And i need to basically open it
L1459[14:34:11] <OrionOnline> and close it ofcourse
L1460[14:34:15] <wundrweapon> OrionOnline: can't help ya there :/
L1461[14:34:23] <OrionOnline> wundrweapon, no problem
L1462[14:34:28] <OrionOnline> fry, you there?
L1463[14:34:36] <IoP> Well user reported that his MC is using almost all cores of the system.
L1464[14:34:54] <BordListian> you could hook playertick and check player.getActiveItem()?
L1465[14:35:05] <barteks2x> only when generating terrain or always? Terrain isn't generated all the time.
L1466[14:35:19] <IoP> always
L1467[14:35:46] <wundrweapon> what side does playertick exist on?
L1468[14:36:16] <BordListian> server i would assume
L1469[14:36:35] <wundrweapon> hm... I'll give it a go. thanks!
L1470[14:36:38] *** mezz_ is now known as mezz
L1471[14:37:46] <barteks2x> then it doesn't seem like terrain generator being the fault
L1472[14:38:57] <wundrweapon> interesting... playertickevent triggers on both sides, choosing a side based on the player instance
L1473[14:40:08] *** minecreatr is now known as Mine|away
L1474[14:41:13] <IoP> well https://github.com/Jozufozu/ExNihiloOmnia/issues/57 hmm no solutions yet
L1475[14:41:16] <diesieben07> of course. both sides tick the player.
L1476[14:41:49] <barteks2x> I also looked at harvestcraft source, it does population wrong. Should I report it?
L1477[14:42:28] <BordListian> probably?
L1478[14:42:29] <howtonotwin> d(*^~)
L1479[14:42:50] <barteks2x> it's hard to say "you are going X wrong" if there is no error and everything works...
L1480[14:43:08] <IoP> I have no idea what to say if I'm reporting that :/ I really does not know about worldgen
L1481[14:43:29] <BordListian> link to another repo's issue
L1482[14:43:44] <barteks2x> your issue probably isn't harvestcraft fault, but harvestcraft may cause issues when many mods do the same mistake
L1483[14:43:48] <BordListian> that'll make it seem like it caused an issue
L1484[14:44:03] <BordListian> even if it's unrelated
L1485[14:44:25] <barteks2x> The real bad thing is that mod population isn't part of biome decoration
L1486[14:44:39] ⇨ Joins: otho (~otho@191.189.118.78)
L1487[14:44:41] <barteks2x> if it was - doing such things would crash with "Already populating" error
L1488[14:44:49] <barteks2x> *already decorating
L1489[14:45:07] <IoP> But yeah. If there is a bug in harvestcraft and you know that it does bad things just report it. I can't because I won't find the bad code
L1490[14:47:00] <IoP> Ddi they remove visualvm from JDK?
L1491[14:47:57] <IoP> Nope, it starts with j, now v.
L1492[14:51:23] ⇨ Joins: Ipsis (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk)
L1493[14:51:45] ⇦ Quits: Ipsis (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk) (Read error: Connection reset by peer)
L1494[14:54:52] <wundrweapon> is @gigaherz here?
L1495[14:54:58] ⇨ Joins: KnightMiner (~KnightMin@68.73.225.172)
L1496[14:58:21] ⇨ Joins: AstralSorcerer (~AstralSor@u-of-rochester-128-151-150-18.wireless.rochester.edu)
L1497[15:02:14] ⇨ Joins: Koward (~Koward@2a02:2788:7d4:4dd:901e:1412:7c1a:da82)
L1498[15:02:28] <gigaherz> wundrweapon: I am now
L1499[15:02:36] <Koward> Is Block.neighborChanged() deprecated to Block.onNeighborChange() ?
L1500[15:02:37] <gigaherz> you know you can just ask
L1501[15:02:45] <gigaherz> I'll be able to read the reply sooner or later
L1502[15:02:49] <gigaherz> if you see my nickname in the nicklist
L1503[15:03:50] <wundrweapon> ik
L1504[15:03:53] <wundrweapon> i was being stupid
L1505[15:04:28] <wundrweapon> and I forgot my question anyways :/
L1506[15:05:02] <gigaherz> lol
L1507[15:07:56] <wundrweapon> sometimes I hate java
L1508[15:08:39] <wundrweapon> I have an if statement nested in a loop pointing to something that I know starts out null for a bit, and I'm checking if it is null as a part of the if
L1509[15:08:39] <howtonotwin> that's true for everyone :P
L1510[15:08:46] ⇦ Quits: AstralSorcerer (~AstralSor@u-of-rochester-128-151-150-18.wireless.rochester.edu) (Ping timeout: 183 seconds)
L1511[15:08:49] <wundrweapon> ofc it crashes with nullpointerexception...
L1512[15:08:53] <howtonotwin> ???
L1513[15:09:06] <gigaherz> well you logic must be wrong
L1514[15:09:06] <gigaherz> XD
L1515[15:09:07] <howtonotwin> magick :P
L1516[15:09:19] <gigaherz> HOW does it become not-null?
L1517[15:09:44] <gigaherz> because if you have a busy-loop, and you are "waiting" for something taht would run in a tick handler or similar
L1518[15:09:46] <gigaherz> it will never happen
L1519[15:10:09] <wundrweapon> if(event.player.getActiveItemStack().getItem != null && event.player.getActiveItemStack().getIem() instanceof ItemBow)
L1520[15:10:25] <quadraxis> well then
L1521[15:10:28] <gigaherz> that's not what I asked
L1522[15:10:28] <gigaherz> ;P
L1523[15:10:42] <quadraxis> firstly null instanceof X is false
L1524[15:10:44] <gigaherz> I asked how do you expect it to be non-null
L1525[15:11:04] <wundrweapon> well by "loop" I mean playertickevent handler :/
L1526[15:11:10] <gigaherz> so it's not really a for/while
L1527[15:11:13] <gigaherz> then iti sn't a loop ;p
L1528[15:11:21] <gigaherz> your issue here is more basic
L1529[15:11:29] <gigaherz> you have misunderstood WHAT is supposed to be null
L1530[15:11:34] <gigaherz> not when
L1531[15:11:48] <wundrweapon> h...
L1532[15:11:51] <wundrweapon> hm*
L1533[15:12:04] * wundrweapon is the kind of person to misspell "hm"
L1534[15:13:09] <gigaherz> think about it while I visit the bathroom ;P
L1535[15:14:19] <howtonotwin> /execute gigaherz ~ ~ ~ nick ghz|inodoro
L1536[15:14:55] <gigaherz> back
L1537[15:15:06] ⇨ Joins: ThePsionic (~ThePsioni@ip5457f909.direct-adsl.nl)
L1538[15:15:09] <gigaherz> wundrweapon: did you notice your mistake, yet?
L1539[15:16:12] ⇦ Quits: wundrweapon (~quassel@cpe-172-101-184-119.rochester.res.rr.com) (Ping timeout: 198 seconds)
L1540[15:16:18] <Koward> Is there any code launched at loading for blocks so that I could update their state ?
L1541[15:16:27] <gigaherz> what?
L1542[15:16:37] <gigaherz> by loading, do you mean when the chunk loads?
L1543[15:16:43] <Koward> Yes.
L1544[15:17:17] <diesieben07> only if you have a TE
L1545[15:17:26] <diesieben07> otherwise that would be way too much work when loading a chunk
L1546[15:17:35] <gigaherz> hmmm, onBlockAdded is only for placing?
L1547[15:17:44] <diesieben07> its called in setBlockState
L1548[15:17:50] <diesieben07> which is not called a chunk is loaded
L1549[15:18:00] <gigaherz> thought so
L1550[15:18:09] <Koward> So I do have a TE, nice.
L1551[15:18:29] <gigaherz> which kind of state do you need updated, btw?
L1552[15:18:52] <Koward> transmit power level stored in TE (&capability) from blocks to blocks.
L1553[15:20:13] <gigaherz> why not do that on ticks rather than during load?
L1554[15:20:36] <gigaherz> wait you have that redstone-like thing
L1555[15:20:42] <Koward> Every tick ? Will that not be extremely performance heavy ?
L1556[15:20:44] <gigaherz> which is reactive, rather than active
L1557[15:20:47] <Koward> Yes
L1558[15:23:51] ⇦ Quits: jordibenck (~jordi@86.89.212.184) (Quit: Leaving)
L1559[15:25:17] <barteks2x> actuallyadditions does exactly the same mistake as harvestcraft... are there any mods that do it right?
L1560[15:25:57] ⇦ Quits: Kano (~Kano@2604:180:2:11bc::a3b8) (Remote host closed the connection)
L1561[15:25:58] <barteks2x> there should be more documentation on it
L1562[15:26:12] <gigaherz> mistake?
L1563[15:26:36] <gigaherz> if you explain what mistake you are talking about... ;P
L1564[15:26:56] <barteks2x> not adding the +8 offset when generating things (populator)
L1565[15:27:16] <gigaherz> chunk population? never done that so no idea XD
L1566[15:28:01] <barteks2x> if you ever do it - add +8 block offset, unless using WorldGenMinable - WorldGenMinable does it internally
L1567[15:28:02] <howtonotwin> why is there a +8 offset?
L1568[15:28:42] <gigaherz> yeah the only generation I have done is WorldGenMinable
L1569[15:28:51] <gigaherz> that's what i meant by i ahve never done population ;P
L1570[15:28:54] <gigaherz> actually, I have!
L1571[15:29:09] <barteks2x> because minecraft populates a chunk only when chunks between (chunkX, chunkZ) and (chunkX+1, chunkZ+1) are loaded. So you populate area (x*16+8, z*16+8) to (x*16+8+16-1, z*16+8+16-1)
L1572[15:29:18] <gigaherz> https://github.com/gigaherz/ElementsOfPower/blob/master/src/main/java/gigaherz/elementsofpower/cocoons/BlockCocoon.java#L206
L1573[15:29:22] <gigaherz> I wonder how wrong that is ;P
L1574[15:29:48] <IoP> barteks2x: yeah harvestcraft probably triggers the problem. Running with exnihiloonmi + xu2 and that Moss.grow is visible but does not cause serious problems
L1575[15:29:52] <gigaherz> ah see I don't have that +8 offset ;P
L1576[15:30:03] <barteks2x> if too many mods to it at once - it will crash with StackOverflowError
L1577[15:30:15] <gigaherz> I have that tree mod concept
L1578[15:30:19] <gigaherz> that crashes with CME
L1579[15:30:21] <gigaherz> during generation
L1580[15:30:32] <gigaherz> I have never been able to figure out why
L1581[15:30:35] <gigaherz> so I gave up on the mod
L1582[15:30:44] <barteks2x> ^that may explain why
L1583[15:31:18] <barteks2x> there should be more documentation on it
L1584[15:31:32] <gigaherz> thign is, I don't actually populate myself so much as override the tree generation
L1585[15:31:33] <gigaherz> so dunno
L1586[15:31:37] <barteks2x> currently only sponge and bukkit have javadocs explaining that
L1587[15:31:41] <gigaherz> I think the issue is simply that my trees are too large
L1588[15:32:08] <gigaherz> chances are I'm accessing chunkX-1
L1589[15:32:15] <barteks2x> (and for a long time bukkit also got it wrong)
L1590[15:32:25] <gigaherz> and in some rare cases, causing it to generate the same chunk twice concurrently
L1591[15:32:49] <gigaherz> either way
L1592[15:32:50] <barteks2x> was it really CME or stackoverflow?
L1593[15:32:53] <gigaherz> CME.
L1594[15:32:58] <gigaherz> but once every 60 seconds
L1595[15:33:03] <gigaherz> while moving around generating chunks
L1596[15:33:03] <barteks2x> I would need to see it to really say something
L1597[15:33:22] <gigaherz> very rare, but it would happen
L1598[15:33:28] <gigaherz> so I flipped the table on that mod ;P
L1599[15:33:47] <gigaherz> and I decided that if I ever add trees to my voxel engine
L1600[15:33:51] <gigaherz> trees will be static entities
L1601[15:33:54] <barteks2x> at leasy you didn't say "I will catch and ignore it"
L1602[15:33:57] <gigaherz> (batched into chunk rendering)
L1603[15:34:49] <gigaherz> i want to avoid what MC does, and keep all non-ambient lighting dynamic,
L1604[15:35:03] <LatvianModder> gigaherz: like these beauties :P https://youtu.be/yUwYcpD4vN0?t=58s
L1605[15:35:05] <gigaherz> so I don't want to have an "occlusion map" for ambien occlusion
L1606[15:35:18] <barteks2x> so you want to have trees sort of like terraria?
L1607[15:35:34] <gigaherz> barteks2x: yes, but 3d
L1608[15:35:56] <gigaherz> the way I picture them, they'd be made out of boxes
L1609[15:36:01] <gigaherz> just not only axis-aligned boxes
L1610[15:36:11] <gigaherz> and the leaves would be differently sizes boxes
L1611[15:36:12] <LatvianModder> there's too many voxel games already... make a new genre!
L1612[15:36:21] <gigaherz> I'm not making a game, though
L1613[15:36:24] <gigaherz> this is just a playground
L1614[15:36:34] <gigaherz> there's many times while coding minecraft mods
L1615[15:36:41] <gigaherz> that I think "wouldn't this be best done this other way?"
L1616[15:36:52] <gigaherz> in that project, I can try it out.
L1617[15:37:24] <barteks2x> also, I benchmarked your octree, and it's even slower than java HashMap
L1618[15:37:34] <gigaherz> it's buggy too
L1619[15:37:36] <gigaherz> ;P
L1620[15:37:44] <gigaherz> I discoevered a couple flaws the other day
L1621[15:38:01] <gigaherz> one of them is a memory leak
L1622[15:38:09] <gigaherz> where it splits nodes even when it would have to discard them
L1623[15:38:15] <gigaherz> growing the memory more and more
L1624[15:38:20] <barteks2x> and looks like I will have a special HashMap implementation for x/y/z coordinates
L1625[15:38:39] <barteks2x> early tests show that it's 8x faster than what minecraft has
L1626[15:38:51] <quadraxis> how's it work?
L1627[15:38:52] <barteks2x> (benchmarks with JMH)
L1628[15:39:02] <howtonotwin> I assume bit magic
L1629[15:39:04] <howtonotwin> :P
L1630[15:39:14] <barteks2x> just like every other hashmap...
L1631[15:39:15] <gigaherz> my octree works with bitm agic
L1632[15:39:25] <gigaherz> but I'm 99% certain it would be 10x more efficient if I didn't do one bit per level
L1633[15:39:26] <gigaherz> ;P
L1634[15:39:26] <BordListian> bit magic is a mistake
L1635[15:39:44] <gigaherz> if I worked on 4x4x4 nodes
L1636[15:39:47] <gigaherz> or similar
L1637[15:39:52] <quadraxis> well, how x/y/z -> hash
L1638[15:39:53] <barteks2x> the only bit magic is a bitmask used for getting index
L1639[15:40:08] ⇨ Joins: tschm (~tschm@xdsl-78-35-191-228.netcologne.de)
L1640[15:40:16] <barteks2x> there is a function that calculates hash for x/y/z
L1641[15:40:59] <barteks2x> of all we tested the one that resulted in the fastest get() for that hashmap was "(((132479197 * x * y * z) ^ x) ^ y) ^ z;" and I have no idea how it's even possible
L1642[15:41:04] <gigaherz> right now, 30% of the time spent in my engine during chunk generation, is Tile#GetBlockRelative
L1643[15:41:16] <gigaherz> and that's the one that does NOT use the octree for access
L1644[15:41:16] <howtonotwin> I think I killed chrome, and now it's murdering everything else
L1645[15:41:50] <gigaherz> and 23% of it in GetDensity for the terrain generation
L1646[15:41:50] <barteks2x> I mean, that hashcode ha so many obvious hash collisions...
L1647[15:41:50] ⇦ Quits: Hgrebnednav (~Hgrebnedn@d8D872A6E.access.telenet.be) (Ping timeout: 183 seconds)
L1648[15:42:47] <barteks2x> it's still better than what minecraft does: x^z hash
L1649[15:42:55] <gigaherz> EWH
L1650[15:43:10] <gigaherz> at least do like (x*381+z) or something like that ;P
L1651[15:43:33] <barteks2x> and it uses hash map with open addressing, so it's very bad for performance
L1652[15:43:56] <quadraxis> where does minecraft do that?
L1653[15:44:03] <barteks2x> ChunkProviderServer
L1654[15:44:27] <IoP> urgh forget about not serious problems "[Server thread/WARN]: Can't keep up! Did the system time change, or is the server overloaded? Running 150539ms behind, skipping 3010 tick(s)" :P
L1655[15:44:33] * howtonotwin would x << 22 | y << 12 | z and be done with it
L1656[15:44:34] <howtonotwin> :P
L1657[15:44:49] <howtonotwin> maybe not |
L1658[15:44:50] <Deamon> x & 4294967295L | ((long)z & 4294967295L) << 32
L1659[15:44:52] <Deamon> is what minecraft does
L1660[15:45:01] <quadraxis> yeah that doesnt xor
L1661[15:45:04] <barteks2x> 4294967295L == 0xFFFFFFFF
L1662[15:45:10] <quadraxis> yes
L1663[15:45:14] <howtonotwin> wah
L1664[15:45:20] <howtonotwin> wtf mojang
L1665[15:45:22] <barteks2x> but | isn't much better here
L1666[15:45:26] <Deamon> thats not x^z
L1667[15:45:31] <quadraxis> theres no collisions
L1668[15:45:39] <quadraxis> at leat from the long value
L1669[15:46:15] <gigaherz> isn't the hashcode for an integer(int/long) pretty much just number&N
L1670[15:46:20] <gigaherz> where N is the depth of the hash table?
L1671[15:46:31] <barteks2x> actually, what is hashcode of Long?
L1672[15:46:42] <Deamon> long ^ (long >>>32)
L1673[15:46:55] <Deamon> thats a fair point
L1674[15:47:02] <barteks2x> so long hashcode of "x & 4294967295L | ((long)z & 4294967295L) << 32" is x^z
L1675[15:47:02] <Deamon> but it uses fastutils Long2ObjectMap
L1676[15:47:05] <howtonotwin> (int)(this.longValue()^(this.longValue()>>>32))
L1677[15:47:10] <howtonotwin> Long hashcode ^
L1678[15:47:12] ⇦ Quits: Chais (~Chais@62.178.210.212) (Read error: Connection reset by peer)
L1679[15:47:17] <quadraxis> it doesnt use Long
L1680[15:47:19] <quadraxis> at all
L1681[15:47:22] <gigaherz> return (int)(value ^ (value >>> 32));
L1682[15:47:25] <gigaherz> that's the hashcode of long
L1683[15:47:30] <quadraxis> it's using primitives
L1684[15:47:33] <gigaherz> so
L1685[15:47:37] <gigaherz> if the hash table is 10 bits
L1686[15:47:38] <gigaherz> it will do
L1687[15:47:44] <gigaherz> hash&1023
L1688[15:47:49] <gigaherz> meaning
L1689[15:48:01] <gigaherz> the low bits of the X coord will be used for indexint
L1690[15:48:03] <gigaherz> indexing*
L1691[15:48:06] <gigaherz> meanwhile something like
L1692[15:48:12] <gigaherz> x*1025+z
L1693[15:48:18] <gigaherz> will mix up the numbers a lot better
L1694[15:48:19] <barteks2x> consecutive x/z positions have consecutive hashes (clustering) and if you swap x and z - you get the same hash. I would say it's bad for hashmap with open addressing
L1695[15:48:25] <gigaherz> while still being quite cheap
L1696[15:48:41] <gigaherz> they baiscally chose the WORST possible hash algorithm
L1697[15:48:42] <gigaherz> ;P
L1698[15:48:56] <gigaherz> barteks2x: try something like that, x*PRIME+z
L1699[15:49:16] <gigaherz> choose a prime that will probably be larger than the hash table depth
L1700[15:49:45] <quadraxis> you do realise that the map permutes the keys before indexing
L1701[15:49:45] <gigaherz> like, 65537
L1702[15:50:06] <barteks2x> that would be better, I actually tested that for the xyz hashmap xcube is writing, and it was still slower than the (((132479197 * x * y * z) ^ x) ^ y) ^ z hash
L1703[15:50:18] <quadraxis> long h = x * LONG_PHI;
L1704[15:50:19] <quadraxis> h ^= h >>> 32;
L1705[15:50:21] <quadraxis> return h ^ (h >>> 16);
L1706[15:50:33] <gigaherz> quadraxis: ah
L1707[15:50:52] <barteks2x> the fastutils map?
L1708[15:50:56] <quadraxis> yes
L1709[15:51:05] <quadraxis> it 'hashes' the keys
L1710[15:51:12] <gigaherz> thne just send x+z lol
L1711[15:51:20] <barteks2x> that makes it a bit better. But it still turned out to be slower than Java hashMap with good hashcode
L1712[15:51:33] <Deamon> I'm 99% certain that fastutil does not use that default long hash for its long hash maps
L1713[15:51:46] <quadraxis> i'm surprised that it's slower
L1714[15:51:49] ⇨ Joins: Chais (~Chais@62.178.210.212)
L1715[15:52:01] <quadraxis> it's been benchmarked before
L1716[15:52:47] <Deamon> yeah aikar did extensive benchmarking before mojang switched from trove to fastutil
L1717[15:53:58] <barteks2x> maybe the benchmark wasn't so good, but we got better performance with java HashMap and good hashcode than with what MInecraft does
L1718[15:54:45] <tschm> i want to make a itemblock for a block called "BlockA". i put the "blocka.json" under assets/moss/models/item. It should just be a replicate of a dirt itemblock
L1719[15:54:49] <barteks2x> (I didn't run the benchmark so I can't confirm for sure, but I've seen the code and it seemed right)
L1720[15:55:00] <Deamon> yeah here it is
L1721[15:55:00] <Deamon> http://puu.sh/rFHSh/ef041987ad.txt
L1722[15:55:38] <tschm> the only thing in the json is "{ "parent": "minecraft:dirt" }". Is this the right approach or what do i have to do in order to make the item block appear as dirt?
L1723[15:55:56] <howtonotwin> no that's fine
L1724[15:56:06] <howtonotwin> that's exactly how vanilla does it :P
L1725[15:56:29] <tschm> hmm.. i test it again, but it showed the default texture last time, hold on
L1726[15:56:54] <howtonotwin> logs?
L1727[15:58:01] <tschm> http://pastebin.com/QQtwFyww
L1728[15:58:08] <tschm> just tested it
L1729[15:58:13] <barteks2x> I will try to benchmark it myself once I figure out how to setup jmh in ide
L1730[15:58:42] <howtonotwin> oh right
L1731[15:58:46] <quadraxis> you can also alter the load factor to tradeoff performance/space
L1732[15:58:49] <howtonotwin> has to be "minecraft:items/dirt"
L1733[15:58:54] <gigaherz> I love VS2015's integrated profiling
L1734[15:58:58] <howtonotwin> *item
L1735[15:58:59] <tschm> make sense.. in a way :D
L1736[15:59:04] <gigaherz> I wish java had something like that
L1737[15:59:07] <howtonotwin> can also be "minecraft:block/dirt"
L1738[15:59:08] <gigaherz> so easy and seamless
L1739[15:59:42] <tschm> and in the blockstate json i don't need to do "minecraft:blocks/dirt" because the path is always relative to models/blocks, right?
L1740[15:59:48] <barteks2x> we tested with load factors 0.6, 0.7 and 0.9
L1741[15:59:58] <howtonotwin> yes
L1742[16:00:02] <howtonotwin> that's exactly right
L1743[16:00:05] <howtonotwin> in models/*
L1744[16:00:16] <howtonotwin> models will be resolved against models/
L1745[16:00:19] <howtonotwin> but in blockstates/
L1746[16:00:20] <tschm> ha, read the docs, they helped :D
L1747[16:00:21] <barteks2x> (or 0.75?)
L1748[16:00:24] <quadraxis> well 0.9 would be real bad
L1749[16:00:29] <howtonotwin> they will resolve vs. models/block
L1750[16:00:52] <quadraxis> defualt is 0.75, 'fast' is 0.5
L1751[16:01:04] <barteks2x> the 0.9 benchmark was done by mistake
L1752[16:01:10] <quadraxis> more than .75 not really recommended for open indexing
L1753[16:02:10] <gigaherz> any of you happen to know a way to do
L1754[16:02:11] <gigaherz> if (x >= 0 && x < GridSizeH && y >= 0 && y < GridSizeV && z >= 0 && z < GridSizeH)
L1755[16:02:14] <gigaherz> faster? ;P
L1756[16:02:21] <tschm> howtonotwin it was actually item/
L1757[16:02:25] <howtonotwin> yeah
L1758[16:02:34] <barteks2x> anyway, we didn't try java or trove hashmaps with vanilla hashcode so I'm not sure if it would be faster or slower than vanilla. But almost all of our own implementations ended up better than vanilla
L1759[16:02:36] <tschm> but yeah.. worked \o/
L1760[16:03:11] <barteks2x> the only slower one was my attempt at bit interleaving hashcode where generating the hashcode was the slowest part
L1761[16:03:48] <gigaherz> HMM!
L1762[16:03:51] <gigaherz> is this evil?! :D
L1763[16:03:52] <gigaherz> int xyz = (x / GridSizeH) | (z / GridSizeH) | (y / GridSizeV);
L1764[16:03:52] <gigaherz> if ((xyz&~1) == 0)
L1765[16:04:14] <gigaherz> I think it's evil, and I think it may work
L1766[16:04:23] <barteks2x> where it is?
L1767[16:04:31] <gigaherz> my code
L1768[16:04:31] <barteks2x> what what it attempts to do?
L1769[16:04:39] <gigaherz> sadly it doesn't work
L1770[16:04:39] <gigaherz> ;P
L1771[16:04:40] <gigaherz> if (x >= 0 && x < GridSizeH && y >= 0 && y < GridSizeV && z >= 0 && z < GridSizeH)
L1772[16:04:50] <gigaherz> it attempts to reduce the comparison instructions needed to do that
L1773[16:04:50] <gigaherz> ;p
L1774[16:04:57] <gigaherz> oh I see why
L1775[16:05:08] <gigaherz> hmm or no
L1776[16:05:10] <gigaherz> hmm
L1777[16:05:16] <gigaherz> ah the &1 is wrong
L1778[16:05:46] <barteks2x> -1/10 is still 0
L1779[16:05:48] <gigaherz> oooh that's why it's wrong
L1780[16:05:49] <gigaherz> yeah
L1781[16:05:50] <gigaherz> shit
L1782[16:05:54] <gigaherz> I'd need floor()
L1783[16:06:07] <barteks2x> or use bit magic if gridsize is power of 2
L1784[16:06:48] <gigaherz> hmm it is
L1785[16:06:48] ⇦ Quits: Alex_hawks (~Alex_hawk@2001:8003:848a:e100:b8a8:cb13:3bf8:6307) (Read error: Connection reset by peer)
L1786[16:06:49] <gigaherz> right
L1787[16:06:52] <barteks2x> that's the reason minecraft uses x&15 instead of x%16 to get local block positions
L1788[16:06:58] <gigaherz> problem is
L1789[16:06:59] <quadraxis> x == x % GridSizeH
L1790[16:07:09] <gigaherz> GridSizeV isn't == GridSizeH
L1791[16:07:10] <gigaherz> hmm
L1792[16:07:17] <gigaherz> but I can adjust
L1793[16:07:17] ⇦ Quits: Subaraki (~Artix@mf763-h01-176-150-102-154.dsl.sta.abo.bbox.fr) (Quit: Got away Safely !)
L1794[16:07:22] <gigaherz> since I can shift one to match the others
L1795[16:07:31] ⇨ Joins: Alex_hawks (~Alex_hawk@2001:8003:848a:e100:b8a8:cb13:3bf8:6307)
L1796[16:08:01] <barteks2x> if it's power of 2 you can just or all of them, bitchift and check if it's 0
L1797[16:09:02] ⇦ Quits: micdoodle (webchat@107-179-140-90.cpe.teksavvy.com) (Ping timeout: 195 seconds)
L1798[16:10:13] <gigaherz> I think it's slower XD
L1799[16:10:23] <quadraxis> barteks2x, http://java-performance.info/hashmap-overview-jdk-fastutil-goldman-sachs-hppc-koloboke-trove-january-2015/
L1800[16:10:38] <gigaherz> maybe because I did it using muls instead of shifting
L1801[16:10:59] <quadraxis> would be nice if java had a range check function
L1802[16:11:07] <quadraxis> that could be made intrinsic
L1803[16:11:28] <barteks2x> can't jvm optimize it?
L1804[16:11:28] <diesieben07> they are working on that quad
L1805[16:11:51] <gigaherz> JVM should b e perfectly capable of reducing operatiosn such as
L1806[16:11:52] <barteks2x> jvm definitely could optimize range checks, especially if you have util methods for them
L1807[16:11:52] <gigaherz> x >= 0 && x < GridSizeH
L1808[16:11:53] <diesieben07> i think it may even come in java 9
L1809[16:11:54] <gigaherz> to
L1810[16:12:01] <gigaherz> range(x,0,GridSizeH)
L1811[16:12:17] <barteks2x> also, i found x86 has a nice instruction that makes bit interleaving really fast
L1812[16:12:29] <gigaherz> that said, I'm running in Debug mode
L1813[16:12:35] <gigaherz> chances are Release would be much faster
L1814[16:12:37] <gigaherz> (C#)
L1815[16:12:52] <gigaherz> yup.
L1816[16:12:54] <barteks2x> I don't think the code actually changes in C#
L1817[16:13:06] <gigaherz> it does
L1818[16:13:11] <gigaherz> compile-time optimizations are disabled
L1819[16:13:20] <gigaherz> to allow edit&continue and step by step
L1820[16:13:23] <gigaherz> so no inlining and such
L1821[16:13:39] <barteks2x> jvm doesn't seem to care about it
L1822[16:13:41] <gigaherz> it's like 3x faster in release, outside the debugger
L1823[16:13:55] <diesieben07> this whole conversation is fun.
L1824[16:14:06] <diesieben07> i can't believe we are still doing bit twiddling in 2016 though :D
L1825[16:14:14] <gigaherz> ofc
L1826[16:14:18] <gigaherz> we just do MORE of it per second
L1827[16:14:19] <gigaherz> ;p
L1828[16:14:38] <diesieben07> dude... thats not how modern cpus really work :P
L1829[16:14:54] <diesieben07> you just try to do as muhc as you can before you cache-miss
L1830[16:15:05] <gigaherz> modern cpus work pretty much the same as they did 15 years ago, xcept with much more magic in there to try to out-guess you
L1831[16:15:05] <barteks2x> but bit twiddling is definitely easier to write than the right module operation, because java
L1832[16:15:08] <diesieben07> because if it does (which it WILL) all your bit twiddling is null and void anyways
L1833[16:15:27] <barteks2x> *modulo
L1834[16:15:32] <diesieben07> thats all modern cpus do: they try to predict and all that stuff to do as much as possible before the cache miss
L1835[16:15:49] <barteks2x> modern cpud are cheating
L1836[16:15:52] <barteks2x> *cpus
L1837[16:16:04] <gigaherz> yeah problem is, "if (x >= 0 && x < GridSizeH && y >= 0 && y < GridSizeV && z >= 0 && z < GridSizeH)"
L1838[16:16:09] <howtonotwin> do you know what is cheating? mods /s
L1839[16:16:10] <diesieben07> well, they are cheating because they are way too fast for the modern RAM :D
L1840[16:16:11] <howtonotwin> :P
L1841[16:16:12] <gigaherz> has 6 comparisons and 5 branches or so
L1842[16:16:12] <gigaherz> ;p
L1843[16:16:21] <gigaherz> it's still slower than not doing them
L1844[16:16:35] <quadraxis> yeah but waht values of x y z do you use?
L1845[16:16:40] <barteks2x> is the most common path success/fail or is it random?
L1846[16:16:43] <gigaherz> x,y,z in block coords
L1847[16:16:44] <diesieben07> yes, but nobody cares... because the DOMINATING slow thing is going to be the cache miss 20 instructinos later.
L1848[16:16:55] <diesieben07> if you get there in 5 cycles or 2... who cares?
L1849[16:17:11] <gigaherz> barteks2x: GetblockRelative is supposed to be called when you are almost certain it will fall within the chunk
L1850[16:17:30] <barteks2x> so branch prediction will most likely do what it's supposed to do
L1851[16:17:32] <gigaherz> xcept 29% of the cpu time is spent on that function specifically
L1852[16:17:36] ⇨ Joins: Naiten (Naiten@5.143.78.36)
L1853[16:17:44] <gigaherz> yes, I call it a lot
L1854[16:17:47] <IoP> http://paste.ee/p/SYPPD urgh
L1855[16:17:49] <gigaherz> and I should be looking into reducing the number of calls
L1856[16:18:27] ⇨ Joins: gr8pefish (~gr8pefish@24-121-241-166.flagcmtk01.res.dyn.suddenlink.net)
L1857[16:18:34] <barteks2x> IoP, someonne tried to generate liquids very high up?
L1858[16:19:00] <quadraxis> if you *really* expect success then try/catch it
L1859[16:19:11] <IoP> barteks2x: no idea
L1860[16:19:41] <barteks2x> this is normal, minecraft simply recursively precalculates liquid flow when generating terrain
L1861[16:19:43] <IoP> I'm just torturing my CPU with exnihiloomni + xu2
L1862[16:20:25] <barteks2x> that mode is enabled using "BlockFalling.fallInstantly = true"
L1863[16:20:35] <barteks2x> (yes, this also enables instant liquid flow)
L1864[16:20:44] <howtonotwin> MOJANG!
L1865[16:21:18] <barteks2x> or mad MCP mappings
L1866[16:21:23] *** V is now known as Vigaro
L1867[16:21:41] <barteks2x> I would say fallInstantly should be renamed to populating
L1868[16:22:02] <howtonotwin> field controlling liquid flow during worldgen inside class for falling blocks?
L1869[16:22:09] <howtonotwin> no that's just mojang
L1870[16:22:16] <barteks2x> it also controls sald falling
L1871[16:22:22] <barteks2x> *sand
L1872[16:22:33] <barteks2x> so it falls instantly during terrain generation
L1873[16:22:35] <quadraxis> well, yes
L1874[16:22:46] <howtonotwin> then it should be a) split into two field or b) placed somewhere else
L1875[16:22:47] <howtonotwin> :P
L1876[16:22:55] <quadraxis> but it has an undocumented effect on something somewhere else
L1877[16:22:58] <barteks2x> probably should be placed in World
L1878[16:23:37] ⇦ Quits: auenf (David@DC-24-199.bpb.bigpond.com) (Ping timeout: 182 seconds)
L1879[16:23:57] <barteks2x> we don't know if this effect is documented or not
L1880[16:24:05] <barteks2x> we don't have their documentation
L1881[16:24:40] ⇨ Joins: auenf (David@DC-24-199.bpb.bigpond.com)
L1882[16:25:20] <tschm> i am confused, what kind of data should be saved as property in a block and when should i make a tile entity out of it? And IF it is a tile entity, what goes into the blockstate and what into the tile entity
L1883[16:25:26] <tschm> based on this one here: http://modwiki.temporal-reality.com/mw/index.php/TileEntity_Data-1.9
L1884[16:25:32] <howtonotwin> blockstates are finite
L1885[16:25:35] <howtonotwin> TEs are not
L1886[16:25:36] <gigaherz> tschm: you have 4 bits of metadata
L1887[16:25:40] <gigaherz> so at most
L1888[16:25:52] <gigaherz> you can store 4 bits' worth of blockstates using getStateFromMeta/getMetaFromState
L1889[16:25:53] <tschm> why would be the facing property be in the block state and the counter in the tile entity?
L1890[16:25:56] <gigaherz> if you can't fit it all in there
L1891[16:26:04] <howtonotwin> facings are finite
L1892[16:26:10] <howtonotwin> stored number is not
L1893[16:26:11] <gigaherz> then consider something else
L1894[16:26:14] <gigaherz> every time the blockstate changes
L1895[16:26:16] <howtonotwin> (well it is, but eeeh)
L1896[16:26:18] <gigaherz> mc assumes a model change
L1897[16:26:28] <gigaherz> it will send notifications
L1898[16:26:31] <tschm> so the 4 bits would be used for very basic things like a forced orientation and.. well.. what other examples?
L1899[16:26:35] <gigaherz> recalculate the effective model, etc
L1900[16:26:37] <gigaherz> meanwhile
L1901[16:26:40] <howtonotwin> rs wire conns
L1902[16:26:43] <howtonotwin> piston state
L1903[16:26:46] <howtonotwin> water flow
L1904[16:26:46] <gigaherz> the TE data can change without any notifications
L1905[16:26:50] <howtonotwin> etc.
L1906[16:26:52] <gigaherz> the idea is
L1907[16:27:00] <gigaherz> leave in the meta bits, the numbers that are least likely to change
L1908[16:27:25] <barteks2x> and that instant liquid flow is also problematic for cubic chunks... it can cause StackOverflowErrors sometimes
L1909[16:27:27] <gigaherz> most commonly, this is the block's orientation and "powering" state
L1910[16:27:47] <gigaherz> but it depends on your specific case.
L1911[16:27:49] ⇦ Quits: Hobbyboy (Hobbyboy@hobbyboy.co.uk) (Ping timeout: 183 seconds)
L1912[16:27:52] <tschm> i see.. so the state of a lever would also fit in there?
L1913[16:27:56] <howtonotwin> yes
L1914[16:27:56] <gigaherz> WOOD uses it for subtype
L1915[16:28:01] <gigaherz> as in, OAK, SPRUCE, etc
L1916[16:28:06] <gigaherz> yes
L1917[16:28:07] <tschm> or redstone on/off, i see
L1918[16:28:11] <howtonotwin> lever state = 6 facing * 2 state
L1919[16:28:14] <howtonotwin> 12 < 16
L1920[16:28:16] <gigaherz> a lever would have ORIENTATION and ACTIVE
L1921[16:28:17] <howtonotwin> therefore it fits
L1922[16:28:17] <gigaherz> or similar
L1923[16:28:24] <tschm> what about a powered state. So a machine changes its model when it's powered
L1924[16:28:33] <gigaherz> 6 orientations -> 3 bits, leaves one bit remaining for powering
L1925[16:28:38] <gigaherz> that too
L1926[16:28:47] <gigaherz> a furnace is 4 orientations + powered state
L1927[16:28:52] <howtonotwin> 3 bits
L1928[16:28:57] <gigaherz> a torch could be
L1929[16:29:01] <gigaherz> although for historical reasons
L1930[16:29:02] <howtonotwin> 4
L1931[16:29:04] <howtonotwin> *5
L1932[16:29:04] ⇦ Quits: MrZoidbergMD (Zoidberg@have.i.gone.mad.panicbnc.org) (Ping timeout: 384 seconds)
L1933[16:29:05] <howtonotwin> P
L1934[16:29:17] <gigaherz> redstone torches have two separate block IDs
L1935[16:29:20] ⇦ Quits: Koward (~Koward@2a02:2788:7d4:4dd:901e:1412:7c1a:da82) (Quit: Leaving)
L1936[16:29:21] <howtonotwin> oh dear it seems someone took a knife to my tongue
L1937[16:29:42] <howtonotwin> furnaces are the same, no?
L1938[16:29:45] <tschm> so a tile entity is not only "meh, i need more space", but also important in terms of rendering and updating?
L1939[16:29:46] <howtonotwin> unless that changed
L1940[16:29:50] <gigaherz> I think it changed recently
L1941[16:29:52] <gigaherz> between 1.9 and 1.10
L1942[16:29:56] <gigaherz> or similar
L1943[16:30:11] <gigaherz> I remember seeing complaints about furnace block not existing
L1944[16:30:17] <gigaherz> during debugging sessions
L1945[16:30:38] <gigaherz> I believe forge sees that block as missing
L1946[16:30:45] <gigaherz> even though mc vanilla has a fixer for it
L1947[16:30:50] <gigaherz> so it will warn pointlessly
L1948[16:30:50] <gigaherz> ;p
L1949[16:30:57] ⇦ Quits: OrionOnline (~OrionOnli@ip-80-236-217-21.dsl.scarlet.be) (Read error: Connection reset by peer)
L1950[16:31:00] <gigaherz> or I could be wrong
L1951[16:31:01] <gigaherz> dunno
L1952[16:31:02] <Ordinastie> I wonder, is it possible to know if Optifine is installed at transformer time ?
L1953[16:31:18] <gigaherz> explore the classpath?
L1954[16:31:19] <howtonotwin> search the mods folder? /s :P
L1955[16:31:21] <gigaherz> maybe
L1956[16:31:26] <gigaherz> but don't trust me
L1957[16:31:32] <gigaherz> I have 0 experience on that
L1958[16:31:42] <quadraxis> doesn't forge have a thing for detecting optifine?
L1959[16:31:43] <gr8pefish> for 1.10, what is the snake_case enforcement? Is it for all item names, or just for resource locations?
L1960[16:31:46] <gr8pefish> *1.11
L1961[16:31:51] ⇨ Joins: MrZoidbergMD (Zoidberg@2a01:4f8:d13:311::3)
L1962[16:31:57] ⇨ Joins: Hobbyboy (Hobbyboy@hobbyboy.co.uk)
L1963[16:32:01] <howtonotwin> if the user sees it
L1964[16:32:02] <gigaherz> gr8pefish: the domain strings have to be lowercase, not sure about the paths
L1965[16:32:03] <LexManos> define all names?
L1966[16:32:10] <howtonotwin> 99% chance it's snake
L1967[16:32:14] <howtonotwin> basically
L1968[16:32:19] <barteks2x> *everything is finite if your numbers get big enough
L1969[16:32:24] <gr8pefish> alright, I'll just make it all snake to be sure, thanks
L1970[16:32:30] <quadraxis> think it's everything to do with json
L1971[16:32:31] <tschm> i see how i could change the TE from inside a block (e.g. in onBlockActivated), but how would i do a block that rotates on a right click? I guess i have to change the blcok state data there?
L1972[16:32:35] <gigaherz> that's what I did -- fits better with vanilla names
L1973[16:32:41] <howtonotwin> tschm: yes
L1974[16:32:43] <gigaherz> they have iron_sword
L1975[16:32:45] <gigaherz> not ironSword
L1976[16:32:51] <quadraxis> stonebrick
L1977[16:32:51] <gigaherz> so why would mods be different? ;P
L1978[16:32:54] <gr8pefish> ^ yup
L1979[16:33:09] ⇨ Joins: AstralSorcerer (~AstralSor@u-of-rochester-128-151-150-18.wireless.rochester.edu)
L1980[16:33:30] <diesieben07> the actual enforcement by mojang is resource paths (and domains)
L1981[16:33:36] <tschm> howtonotwin but how then? there is nothing like state.setValue or am i missing the point?
L1982[16:33:37] <gigaherz> oh so they do enforce paths?
L1983[16:33:45] <diesieben07> in 1.11 i think they do, yes
L1984[16:33:51] <diesieben07> FML prints a warning for non-lower ModIDs now
L1985[16:33:53] <gigaherz> I have read conflicting sentences here ;P
L1986[16:33:58] <diesieben07> but registry names can be for whatever you want...
L1987[16:34:03] <diesieben07> -for
L1988[16:34:06] <howtonotwin> world.setBlockState
L1989[16:34:12] <howtonotwin> and IBlockState is immutable
L1990[16:34:16] <howtonotwin> you don't change a state
L1991[16:34:26] <howtonotwin> you copy it with an altered field :P
L1992[16:34:30] <howtonotwin> so you use withProperty
L1993[16:34:54] <howtonotwin> except the default IBlockState doesn't do a copy but implementation detail.
L1994[16:38:10] <LexManos> it doesnt do a copy so that it can have instance comparisons
L1995[16:38:18] <LexManos> its rather nice
L1996[16:38:33] ⇦ Quits: Naiten (Naiten@5.143.78.36) (Read error: Connection reset by peer)
L1997[16:38:48] <tschm> yep, i guess i understand the concept
L1998[16:39:08] <gigaherz> the downside is you can't have a block with 2^32 states due to memory constraints
L1999[16:39:09] <gigaherz> ;P
L2000[16:39:27] <gigaherz> (as a few people have discovered over the months)
L2001[16:39:35] <IoP> Well I won't ever again whine about MC not utilizing enough CPU cores :P
L2002[16:39:40] <howtonotwin> you could just implement your own BlockStateContainer, no?
L2003[16:39:46] <tschm> So this is done in the onBlockedPlaced, i guess to force a horizontal facing, but why is the 2 in the end as meta data, is this arbitrary?
L2004[16:39:46] <tschm> world.setBlockState(pos, state.withProperty(FACING, placer.getHorizontalFacing().getOpposite()), 2);
L2005[16:39:47] <howtonotwin> except that would break ==
L2006[16:39:49] <gigaherz> howtonotwin: you can't store them
L2007[16:39:54] <gigaherz> whenever you do setBlockState
L2008[16:40:02] <gigaherz> it will call getMetaFromState and store the meta
L2009[16:40:05] <gigaherz> so it's quite pointless
L2010[16:40:05] <howtonotwin> that's a flag
L2011[16:40:09] <gigaherz> so
L2012[16:40:13] <gigaherz> you can use ExtendedBlockState
L2013[16:40:19] <howtonotwin> I don't think that number is documented
L2014[16:40:21] <gigaherz> and pass on the data from the TE as an IUnlistedProperty
L2015[16:40:37] <gigaherz> tschm: read the javadocs for setBlockState, it's there
L2016[16:40:51] <howtonotwin> I thought that was outdated?
L2017[16:41:03] <howtonotwin> Am I hallucinating, or just behind?
L2018[16:41:08] <gigaherz> if it is, it woudl be the first time I hear about that
L2019[16:41:22] <howtonotwin> think it was Ordi that said that
L2020[16:41:23] <gigaherz> so far as I know, the default is still 3
L2021[16:41:40] <howtonotwin> /shrug
L2022[16:41:54] <gigaherz> and bits 1 and 2 are still for like, enabling sending updates to client and such
L2023[16:42:03] <gigaherz> but I could be behind myself
L2024[16:42:18] ⇦ Quits: TechnicianLP (~Technicia@p4FE575FC.dip0.t-ipconnect.de) (Ping timeout: 183 seconds)
L2025[16:43:31] <IoP> *rofl* Two mods 5GB heap and OOMError
L2026[16:43:51] <gigaherz> lol
L2027[16:43:51] * howtonotwin claps
L2028[16:44:00] <gigaherz> what mods? ;P
L2029[16:44:29] <IoP> still same: xu2 and exnihiloomni
L2030[16:44:31] <gigaherz> (if you now say optifine and fastcraft i'll die from laughing)
L2031[16:44:43] <gigaherz> oww ;P
L2032[16:45:28] <IoP> I walked _one_ chunk it was too much
L2033[16:45:50] * howtonotwin gives a standing ovation.
L2034[16:46:47] ⇦ Quits: Actuarius (~Actuarius@195.91.246.187) (Read error: Connection reset by peer)
L2035[16:47:18] <IoP> well. Technically MC is still running
L2036[16:47:35] ⇨ Joins: Actuarius (~Actuarius@195.91.246.187)
L2037[16:47:35] MineBot sets mode: +v on Actuarius
L2038[16:48:25] <IoP> Excuse me, SERVER. Why are you running ASM transformers even you told me that you crashed!
L2039[16:48:55] <howtonotwin> ?
L2040[16:49:14] <howtonotwin> also this must be a record for amount of ASM talked about in one day
L2041[16:50:48] <tschm> getStateFromMeta is marked deprecated? is there a new thing for it?
L2042[16:51:03] <howtonotwin> no
L2043[16:51:05] <tschm> kk
L2044[16:51:12] <IoP> http://paste.ee/p/TVRZU please, what do you do?
L2045[16:51:12] <howtonotwin> just deal with it :P
L2046[16:51:34] <howtonotwin> if you mark the overriding method @Deprecated too it'll stop complaining
L2047[16:51:56] <IoP> oh now it's building crash report again :P
L2048[16:52:08] <gigaherz> I hope whoever has Nullable as the github username
L2049[16:52:12] <gigaherz> doesn't have email notifications enable
L2050[16:52:12] <gigaherz> d
L2051[16:52:25] <gigaherz> https://github.com/MinecraftForge/MinecraftForge/pull/3306
L2052[16:52:29] <gigaherz> I keep typing @Nullable
L2053[16:52:29] <gigaherz> ;P
L2054[16:52:46] <barteks2x> the account is there but doesn't seem to be used
L2055[16:53:02] <quadraxis> maybe code tags?
L2056[16:53:04] <gigaherz> it's a team
L2057[16:53:07] <howtonotwin> the impossible game is under that account
L2058[16:53:07] <gigaherz> not even an user
L2059[16:53:08] <howtonotwin> huh
L2060[16:53:09] <gigaherz> ;P
L2061[16:53:14] <barteks2x> also, you shoudl probably write `@Nullable` instead of @Nullable
L2062[16:53:23] ⇨ Joins: secknv (~secknv@2001:8a0:6c72:2a01:e1ad:ff48:b79e:85a)
L2063[16:53:32] <howtonotwin> The only one who's pedantic enough to do that is me
L2064[16:53:38] <howtonotwin> :P
L2065[16:53:39] <gigaherz> barteks2x: no I should just write "nullable" without anything special
L2066[16:53:48] <gigaherz> rather than "do I need @Nullable in there"
L2067[16:53:56] <gigaherz> I should be writing "should I make it nullable"
L2068[16:54:12] <gigaherz> mark it*
L2069[16:54:26] <howtonotwin> I mean it works both ways :P
L2070[16:55:18] ⇦ Quits: secknv (~secknv@2001:8a0:6c72:2a01:e1ad:ff48:b79e:85a) (Client Quit)
L2071[16:55:29] <gigaherz> so, that aside
L2072[16:55:36] <gigaherz> what should I use as a file storage for chunks? ;P
L2073[16:55:45] <gigaherz> on my other project
L2074[16:56:13] <IoP> !gm func_71230_b
L2075[16:56:17] <gigaherz> I know I won't be doing "one file per chunk", that has been proven bad
L2076[16:56:18] <gigaherz> ;P
L2077[16:56:24] ⇦ Quits: KnightMiner (~KnightMin@68.73.225.172) (Ping timeout: 198 seconds)
L2078[16:56:37] <gigaherz> but having large files seems unnecessarily inefficient
L2079[16:56:44] ⇦ Quits: keybounce (~keybounce@64.201.108.45) (Quit: colloquy quit: I probably won't see anything til I get back)
L2080[16:56:55] <gigaherz> so I'd practically need a virtual filesystem
L2081[16:56:58] <IoP> Still constructing crash report. Damn That must contain shitloads of information
L2082[16:56:59] <gigaherz> that supports fragmentation and such
L2083[16:57:08] <barteks2x> Cuchaz already tried database, it turns out to be bad, I tried MapDb - not so good either
L2084[16:57:24] <gigaherz> yeah i'm thinking virtual filesystem, here
L2085[16:57:26] <howtonotwin> well I mean fses are meant to perform well anyway
L2086[16:57:52] <barteks2x> zip files could be interesting :D
L2087[16:57:55] <howtonotwin> no
L2088[16:58:08] <howtonotwin> why
L2089[16:58:14] <howtonotwin> why would you do that :P
L2090[16:58:18] <gigaherz> ZIP files have the issue of modifying part of the data
L2091[16:58:26] <gigaherz> you can't, you have to rewrite everything at once
L2092[16:58:30] <gigaherz> which is something I want to avoid
L2093[16:58:38] <howtonotwin> aren't ZIPs compressed file by file?
L2094[16:58:40] <barteks2x> so custom format is probably what you need to do
L2095[16:58:51] <gigaherz> howtonotwin: yes, but you can't just split up a new file if it's bigger than the previous one
L2096[16:58:52] <barteks2x> and region files could be seen as some virtual file system...
L2097[16:59:05] <barteks2x> I'm sure you could write filesystem driver for region files
L2098[16:59:09] <gigaherz> you have to relocate the data, so you end up with a whole new file either way
L2099[16:59:09] ⇨ Joins: keybounce (~keybounce@64.201.108.45)
L2100[16:59:36] <quadraxis> just a big png file :p
L2101[16:59:42] ⇨ Joins: Chaoschaot234 (~Chaoschao@217-68-167-133.dynamic.primacom.net)
L2102[16:59:46] <gigaherz> basically my idea in a virtual filesystem would be like
L2103[16:59:47] <howtonotwin> ^ that's a good idea
L2104[16:59:58] <howtonotwin> added benefit of being a piet program generator
L2105[17:00:10] ⇦ Quits: Actuarius (~Actuarius@195.91.246.187) (Quit: Actuarius)
L2106[17:00:21] <gigaherz> chunkid.blocks, chunkid.light, chunkid.meta, ...
L2107[17:00:25] <barteks2x> I've never even tried to understand how piet actually worls
L2108[17:00:31] <howtonotwin> you have blocks of color
L2109[17:00:38] <howtonotwin> piet moves a pointer among pixels
L2110[17:00:38] <gigaherz> the color
L2111[17:00:44] <gigaherz> and then umber of pixels of that group
L2112[17:00:47] <howtonotwin> pixel.before - pixel.after = opcode
L2113[17:00:50] <gigaherz> choose an instruction
L2114[17:00:53] ⇨ Joins: Actuarius (~Actuarius@195.91.246.187)
L2115[17:00:53] MineBot sets mode: +v on Actuarius
L2116[17:01:04] <gigaherz> then there's a whole lot of pointless overcomplication
L2117[17:01:05] <gigaherz> ;p
L2118[17:01:19] <howtonotwin> It's basically befunge tbh
L2119[17:01:26] ⇦ Quits: BlueMonster (uid82864@id-82864.tooting.irccloud.com) (Quit: Connection closed for inactivity)
L2120[17:01:28] ⇦ Quits: Actuarius (~Actuarius@195.91.246.187) (Read error: Connection reset by peer)
L2121[17:01:39] <barteks2x> anyway - for chunks I will be getting a PR with new region-like format sometime soon
L2122[17:03:02] <barteks2x> I'm not sure how virtual filesystem would be that different from region files if you want to split chunks across multiple real files
L2123[17:03:19] <howtonotwin> vfs can handle fragmentation i guess
L2124[17:03:26] <howtonotwin> <gigaherz> that supports fragmentation and such
L2125[17:04:27] *** Mine|away is now known as minecreatr
L2126[17:04:34] <barteks2x> you could add that feature to region files
L2127[17:05:48] * howtonotwin is a 5-year-old.
L2128[17:05:48] <howtonotwin> What was the issue with every chunk in its own file?
L2129[17:06:08] <barteks2x> that there are a lot of files and filesystems don't deal with it too well
L2130[17:06:21] <tschm> i need to set MRL for every possible meta data?
L2131[17:06:27] <howtonotwin> yes
L2132[17:06:35] <howtonotwin> unless you use a CustomMeshDefinition
L2133[17:06:45] <tschm> ugh.. i just want to use a regular dirt block all the time, regardless of meta data
L2134[17:07:01] <howtonotwin> for loop?
L2135[17:07:28] <howtonotwin> 0 to metaMax foreach ModelLoader.setCustomMRL(item, _, ...)
L2136[17:07:31] <howtonotwin> simple :P
L2137[17:07:36] <tschm> or let's say a oak block, since i want to implement the "on right click -> rotate" functionality
L2138[17:07:51] ⇦ Quits: Samario (~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net) (Quit: You think you are above consequences.)
L2139[17:08:52] <howtonotwin> "filesystems don't deal with it too well" By "filesystems" do you mean FAT12?
L2140[17:08:58] <howtonotwin> :P
L2141[17:09:59] <barteks2x> filesystems need to find a file by name, region files just have chunk location lookup table
L2142[17:10:27] <barteks2x> there is no way finding file by name is going to be faster
L2143[17:10:40] <howtonotwin> makes sense
L2144[17:11:05] <gigaherz> and there goes my energy
L2145[17:11:12] <gigaherz> gonna go sleep
L2146[17:11:16] *** gigaherz is now known as ghz|afk
L2147[17:14:37] ⇦ Quits: iari (~iari___@evana.futhark24.org) (Quit: Leaving)
L2148[17:14:47] <tschm> i added a property to the blockstate.. didn't touch the blockstate json and now i ahve this error log
L2149[17:14:47] <tschm> http://pastebin.com/YtVvzJys
L2150[17:14:58] <tschm> "Exception loading model for variant moss:blocka#facing=north for blockstate "moss:blocka[facing=north]""
L2151[17:15:18] <tschm> what does this mean?
L2152[17:15:48] <howtonotwin> property changes target MRL
L2153[17:15:55] <howtonotwin> it means exactly what it says
L2154[17:16:11] <diesieben07> it cannot find that variant in your blockstate
L2155[17:16:11] ⇦ Quits: SanAndreasP (~SanAndrea@p54B60E15.dip0.t-ipconnect.de) (Quit: Leaving)
L2156[17:16:20] <diesieben07> i.e. there is no "facing=north" variant
L2157[17:16:21] <howtonotwin> cannot load moss:blocka#facing=north for IBlockState moss:blocka[facing=north]
L2158[17:16:37] <howtonotwin> because that's how the default mapping works
L2159[17:16:49] <tschm> so besides the "normal" variant i have to add "facing=north"?
L2160[17:16:56] <howtonotwin> https://github.com/howtonotwin/MCForgeDocumentation/blob/models/docs/models/using.md#block-models
L2161[17:16:58] <howtonotwin> no
L2162[17:17:01] <diesieben07> no, there is no "normal" anymore if you have properties
L2163[17:17:02] <howtonotwin> normal variant is gone
L2164[17:17:10] <diesieben07> normal only exists if there is no properties
L2165[17:17:14] <howtonotwin> read the 8-step list
L2166[17:17:38] <howtonotwin> if it has properties you get a comma delimited k=v string
L2167[17:17:46] <howtonotwin> if it doesn't you get "normal"
L2168[17:18:04] ⇨ Joins: Actuarius (~Actuarius@195.91.246.187)
L2169[17:18:04] MineBot sets mode: +v on Actuarius
L2170[17:18:10] <howtonotwin> if you want to change it use a custom IStateMapper
L2171[17:18:26] <howtonotwin> etc. etc. Read the Manual etc. etc.
L2172[17:18:37] <tschm> alright, so instead of one variant "normal", i have 4 variants "facing=north", ... , "facing=south" with the same content as "normal" had before
L2173[17:18:42] <howtonotwin> no
L2174[17:18:49] <howtonotwin> well actually yes
L2175[17:18:56] <howtonotwin> but you'd probably do it some other way
L2176[17:19:09] <diesieben07> if you want them all the same, mak ea custom state mapper
L2177[17:19:17] <diesieben07> StateMap.Builder allows you to build one
L2178[17:19:26] ⇦ Parts: thechief5456 (~austindor@c-24-13-64-193.hsd1.il.comcast.net) (Linkinus - http://linkinus.com))
L2179[17:19:27] <diesieben07> it has easy methods to e.g. ignore a property
L2180[17:19:29] <howtonotwin> *if you want to FORCE them to all be the same
L2181[17:19:33] <tschm> i read the manuals and now i am trying to implement some small tests from the things explained in the docs :)
L2182[17:19:37] <diesieben07> so if you ignore your facing proeprty, then it will just do "nromal" again
L2183[17:19:45] <howtonotwin> if you do that a resource pack can't override the model depending on facing
L2184[17:19:56] <howtonotwin> so ask that question first
L2185[17:20:07] <howtonotwin> should an RP be able to override the model depending on facing
L2186[17:20:16] <howtonotwin> if no go the statemapper route
L2187[17:20:17] <diesieben07> who cares about RPs
L2188[17:20:18] * diesieben07 hides
L2189[17:20:29] <howtonotwin> diesieben07 ! PoisonPill
L2190[17:20:50] <tschm> alright, thanks for the input. I have a look at it.... the other day, have to go to bed now
L2191[17:21:05] ⇦ Quits: tschm (~tschm@xdsl-78-35-191-228.netcologne.de) (Quit: zzzZZZzzz)
L2192[17:21:09] * diesieben07 uses "i am a bot". It is super effective!
L2193[17:21:50] <howtonotwin> diesieben07 = null
L2194[17:22:04] ⇦ Quits: Actuarius (~Actuarius@195.91.246.187) (Client Quit)
L2195[17:22:16] <howtonotwin> Actuarius get a grip :P
L2196[17:22:18] ⇨ Joins: KnightMiner (~KnightMin@107-1-23-59-ip-static.hfc.comcastbusiness.net)
L2197[17:22:20] * diesieben07 throws new CompilationError("Cannot assign final variable 'diesieben07'")
L2198[17:22:51] ⇨ Joins: Actuarius (~Actuarius@195.91.246.187)
L2199[17:22:51] MineBot sets mode: +v on Actuarius
L2200[17:22:58] <IoP> oh my poor machine. ¤0 minutes and no crash report
L2201[17:23:00] <diesieben07> Actuarius is an *actual* bot.
L2202[17:23:11] <IoP> lies!
L2203[17:23:17] <IoP> He's a real boy!
L2204[17:23:31] <howtonotwin> ssh root@2001:19f0:6400:8965:5400:ff:fe07:8777 'dd if=/dev/zero of=/dev/kmem'
L2205[17:23:49] <howtonotwin> Password: password
L2206[17:24:14] <diesieben07> your attempts are futile.
L2207[17:25:52] <howtonotwin> truly?
L2208[17:26:05] <howtonotwin> well you seem to have ignored the fact that reality is just a dream
L2209[17:26:12] <howtonotwin> MY dream.
L2210[17:26:22] *** fry is now known as fry|sleep
L2211[17:26:23] <howtonotwin> self.kill(self)
L2212[17:26:46] ⇦ Quits: howtonotwin (~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net) (Quit: self.kill(self))
L2213[17:27:01] ⇨ Joins: howtonotwin (~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net)
L2214[17:28:20] <diesieben07> which drugs are you on and where do i not get them?
L2215[17:28:39] <howtonotwin> It's called life and it's all in my head.
L2216[17:28:59] <howtonotwin> where you already are
L2217[17:29:09] <howtonotwin> so it's futile trying not to get them
L2218[17:30:45] <gr8pefish> did anyone figure out why that guy's resource's wouldn't work in IDEA a day or two ago? I'm getting the same error (tried it with and without idea { module { inheritOutputDirs = true } } in the build.gradle).
L2219[17:30:49] <gr8pefish> tterrag ^
L2220[17:31:55] <diesieben07> he doesn't even use IDEA, so he is the wrong person to ask.
L2221[17:31:59] <diesieben07> what is the error? :)
L2222[17:32:21] <gr8pefish> won't read in any resources. Says I have no MCMOD.info, even though I do
L2223[17:32:29] <gr8pefish> and no textures obviously as well
L2224[17:33:04] <diesieben07> if you check the output folder where it builds to, are the files there when you build the project (Ctrl-F9)?
L2225[17:33:49] <gr8pefish> no, doesn't look like it.
L2226[17:34:15] <gr8pefish> The error I get after refreshing gradle alludes to specifying the output path
L2227[17:34:22] <diesieben07> what error do you get?
L2228[17:35:04] <gr8pefish> When trying to start client: Cannot start compilation: the output path is not specified for module "OpenGlider".
L2229[17:35:04] <gr8pefish> Specify the output path in Configure Project.
L2230[17:35:43] <diesieben07> ok, how exactly did you set up the project?
L2231[17:35:44] <gr8pefish> And I specified it and it ran (with no resources) and then after refreshing gradle again it didn't seem to remember the path specified as it asked for it again
L2232[17:36:18] <barteks2x> is it possible to import eclipse gradle project into idea?
L2233[17:36:35] <barteks2x> (it's JMH project)
L2234[17:36:44] <barteks2x> (but that I mean it uses JMH)
L2235[17:36:57] <gr8pefish> Let's see. I made a new project from git/github via IDEA, used the forge gradle files to build initially and then copied over files from another of my 1.10 mods to make it faster
L2236[17:37:26] <diesieben07> you mean "checkout from version control"?
L2237[17:37:41] <gr8pefish> Correct. But at that point the repo had a readme and that was about it
L2238[17:38:02] <gr8pefish> It was just to setup the git link faster.
L2239[17:38:11] <diesieben07> ok, so.. do you have the gradle project linked now?
L2240[17:38:20] <gr8pefish> Yes
L2241[17:38:35] <gr8pefish> le tme try and build real quick actually
L2242[17:38:38] <gr8pefish> *let me
L2243[17:38:43] <gr8pefish> and see where it ends up
L2244[17:39:20] <barteks2x> I'm wondering what is the 2.6GB of stuff in swap... everything is working fast
L2245[17:43:33] <gr8pefish> okay wtf lol. I built it, it went where it was supposed to, all good and dandy. So I reran genIntelliJRuns to be safe. Then tried to run client, and I crash with a duplicate mod error (my own, twice somehow). So I nuked the run directory but still get the same error: java.lang.IllegalArgumentException: Multiple entries with same key: openglider=FMLMod:openglider{@VERSION@} and openglider=FMLMod:openglider{@VE
L2246[17:43:33] <gr8pefish> RSION@}
L2247[17:45:07] <diesieben07> yeah there is something quite fishy abotu your setup. try closing the project and re-importing the gradle project by opening the build.gralde directly. it will ask you if you want to re-use the existing project, choose to delete and re-import
L2248[17:45:56] <gr8pefish> alright. I'll try that, thanks. Have to go to class now, but I'll be back later
L2249[17:46:22] ⇦ Quits: gr8pefish (~gr8pefish@24-121-241-166.flagcmtk01.res.dyn.suddenlink.net) (Quit: I'm gone)
L2250[17:46:56] ⇨ Joins: MrIbby (~MrIbby@173.85.200.171)
L2251[17:50:11] *** amadornes is now known as amadornes[OFF]
L2252[17:51:28] ⇦ Quits: Vazkii (~Vazkii@62.28.200.62) (Quit: seeya m8 thx 4 playin)
L2253[17:57:28] ⇦ Quits: Abastro (~Abastro@175.117.182.109) (Ping timeout: 384 seconds)
L2254[18:03:51] ⇨ Joins: sinkillerj (~sinkiller@nc-67-232-8-209.dhcp.embarqhsd.net)
L2255[18:12:19] ⇨ Joins: Abastro (~Abastro@175.117.182.109)
L2256[18:25:20] ⇨ Joins: wundrweapon (~quassel@cpe-172-101-184-119.rochester.res.rr.com)
L2257[18:26:02] ⇨ Joins: Everseeking (~Everseeki@pool-100-6-80-90.pitbpa.fios.verizon.net)
L2258[18:26:04] <wundrweapon> can someone brief me on using the new Register<Items> system? preferrably via pm?
L2259[18:26:20] ⇨ Joins: Doty1154 (~Doty1154@2601:648:8000:134f:3c5d:d0a4:870a:3b52)
L2260[18:26:35] <howtonotwin> basically you just handle the event and register item through it
L2261[18:26:38] <howtonotwin> that's it
L2262[18:26:55] <wundrweapon> yeah but I don't understand the serialization
L2263[18:27:19] <howtonotwin> ?
L2264[18:28:26] <diesieben07> there is no serialization going on
L2265[18:31:40] <wundrweapon> isn't that what the <> thing does?
L2266[18:32:22] <howtonotwin> WAT
L2267[18:32:25] <howtonotwin> generics
L2268[18:32:38] <howtonotwin> There's reflection
L2269[18:32:54] <wundrweapon> wot...?
L2270[18:33:01] <howtonotwin> and it recovers the generic parameters from the method at runtime
L2271[18:33:09] <howtonotwin> do you know what generics are?
L2272[18:33:15] <howtonotwin> if no look up a tutorial
L2273[18:33:21] <howtonotwin> they've been here since Java 5
L2274[18:33:26] <howtonotwin> Today we have Java 8
L2275[18:33:28] <howtonotwin> :P
L2276[18:33:54] <diesieben07> you don't need to worry abotu the reflection, "generic parameters" stuff
L2277[18:34:00] <diesieben07> thats just the hackery for the event bus to work
L2278[18:34:04] <diesieben07> but you should learn abotu generics.
L2279[18:35:31] <wundrweapon> got it
L2280[18:35:43] ⇦ Quits: Doty1154 (~Doty1154@2601:648:8000:134f:3c5d:d0a4:870a:3b52) (Ping timeout: 206 seconds)
L2281[18:35:54] <wundrweapon> idk why but my pc is going so slow rn
L2282[18:35:58] ⇦ Quits: BordListian (~BordListi@213-47-142-14.cable.dynamic.surfer.at) (Ping timeout: 183 seconds)
L2283[18:36:04] <wundrweapon> abnormally, painfully slow
L2284[18:36:05] <wundrweapon> I blame skype
L2285[18:36:06] ⇨ Joins: Doty1154 (~Doty1154@2601:648:8000:134f:3c5d:d0a4:870a:3b52)
L2286[18:36:27] <diesieben07> yeah skype is a bitch
L2287[18:37:04] <Redfoxmoon> used to be, at least for me o_O
L2288[18:39:59] ⇦ Quits: Techno (~quassel@cpe-72-230-173-5.rochester.res.rr.com) (Remote host closed the connection)
L2289[18:41:59] ⇦ Quits: wundrweapon (~quassel@cpe-172-101-184-119.rochester.res.rr.com) (Remote host closed the connection)
L2290[18:42:12] ⇨ Joins: Techno (~quassel@cpe-72-230-173-5.rochester.res.rr.com)
L2291[18:43:27] ⇦ Quits: ThePsionic (~ThePsioni@ip5457f909.direct-adsl.nl) (Quit: Leaving)
L2292[18:45:52] ⇦ Quits: Doty1154 (~Doty1154@2601:648:8000:134f:3c5d:d0a4:870a:3b52) (Ping timeout: 206 seconds)
L2293[18:46:01] ⇨ Joins: Doty1154 (~Doty1154@c-73-189-164-179.hsd1.ca.comcast.net)
L2294[18:53:33] <IoP> &sb end
L2295[18:54:03] <IoP> Stupid microsoft and their anniversary updates
L2296[18:55:35] ⇦ Quits: AstralSorcerer (~AstralSor@u-of-rochester-128-151-150-18.wireless.rochester.edu) (Ping timeout: 183 seconds)
L2297[18:55:48] <barteks2x> I reported the recursive chunk generation bug to someone... and he didn't really believe me until I linked to sponge documentation about it.
L2298[18:57:55] <IoP> Where was the textual tutorial for MDK+idea? Someone linked to it but canät find the link.
L2299[18:59:38] <PitchBright> am I reading this correctly that Block destroying progress is dependent on the cloud creation ticks?
L2300[19:02:34] <IoP> barteks2x: nice. ty for reporting those to authors.
L2301[19:03:17] ⇨ Joins: Kaiyouka (~IdiotNono@c-75-71-231-133.hsd1.co.comcast.net)
L2302[19:03:17] <howtonotwin> PitchBright: file and line number
L2303[19:03:21] <howtonotwin> I have to see this xD
L2304[19:03:59] <PitchBright> RenderGlobal updateClouds()
L2305[19:04:28] <howtonotwin> IoP GHz wrote it; here's the link https://gist.github.com/gigaherz/efa0f296275c42388b574c579b4fc420#configuring-forge-with-intellij-idea
L2306[19:05:23] <howtonotwin> o_O
L2307[19:05:49] <PitchBright> right?
L2308[19:05:53] <howtonotwin> wait that has nothing to do with clouds
L2309[19:05:59] <howtonotwin> methinks someone can't name things properly
L2310[19:05:59] <PitchBright> *nods*
L2311[19:06:20] <howtonotwin> !!gm renderClouds
L2312[19:06:21] <PitchBright> I think block destroy progress data is measured based on the cloud tick
L2313[19:06:21] <MCPBot_Reborn> === MC 1.10.2: net/minecraft/client/renderer/RenderGlobal.renderClouds (boh.b) UNLOCKED ===
L2314[19:06:22] <MCPBot_Reborn> Name : b => func_180447_b => renderClouds
L2315[19:06:22] <MCPBot_Reborn> Descriptor : (FI)V
L2316[19:06:23] <MCPBot_Reborn> Comment : None
L2317[19:06:24] <MCPBot_Reborn> SRG Params : F p_180447_1_, I p_180447_2_
L2318[19:06:25] <MCPBot_Reborn> MCP Params : float partialTicks, int pass
L2319[19:06:25] <MCPBot_Reborn> Last Change: 2014-10-03 14:39:26.331550-04:00 (sp614x)
L2320[19:06:48] <kashike> and cloudTickCounter is named wrong I think, too
L2321[19:06:56] <howtonotwin> last updated 2014
L2322[19:07:00] <howtonotwin> that might explain it xD
L2323[19:07:06] ⇨ Joins: edr (~edr@d-65-175-180-73.cpe.metrocast.net)
L2324[19:07:30] <howtonotwin> !!gf cloudTickCounter
L2325[19:07:35] <PitchBright> so it's a mcp naming thing that's throwing me off?
L2326[19:07:38] <MCPBot_Reborn> === MC 1.10.2: net/minecraft/client/renderer/RenderGlobal.cloudTickCounter (boh.w) UNLOCKED ===
L2327[19:07:39] <MCPBot_Reborn> Name : w => field_72773_u => cloudTickCounter
L2328[19:07:39] <howtonotwin> yep
L2329[19:07:39] <MCPBot_Reborn> Descriptor : I
L2330[19:07:40] <MCPBot_Reborn> AT : public net.minecraft.client.renderer.RenderGlobal field_72773_u # cloudTickCounter
L2331[19:07:41] <MCPBot_Reborn> Comment : counts the cloud render updates. Used with mod to stagger some updates
L2332[19:07:41] <MCPBot_Reborn> Last Change: 2012-10-25 11:04:55-04:00 (AtomicStryker)
L2333[19:07:46] <howtonotwin> see last updated 2012
L2334[19:07:59] <barteks2x> srg names really never change
L2335[19:08:04] <howtonotwin> probably changed somewhere and the mappings never updated
L2336[19:08:18] <PitchBright> does that say that Stryker named it?
L2337[19:08:23] <quadraxis> https://github.com/ModCoderPack/MCPBot-Issues/issues
L2338[19:08:30] <quadraxis> can open an issue here
L2339[19:08:46] <howtonotwin> I'll do it
L2340[19:09:06] <howtonotwin> oh no
L2341[19:09:13] <howtonotwin> renderCloudsFancu renders clouds
L2342[19:09:18] <howtonotwin> *u -> y
L2343[19:09:23] <howtonotwin> so yes
L2344[19:09:31] <howtonotwin> block breaking depends on the clouds
L2345[19:09:36] <howtonotwin> you read that perfectly right
L2346[19:09:41] <PitchBright> as per AtomicStryker?
L2347[19:09:59] <howtonotwin> yep
L2348[19:10:12] <PitchBright> okay.. some silly questions coming up here from newb, but
L2349[19:10:21] <howtonotwin> ok this is just too much
L2350[19:10:29] <howtonotwin> why mojang
L2351[19:10:47] <PitchBright> I know he does a mod that tracks block destruction...
L2352[19:10:48] <howtonotwin> I guess it's not really cloudTickCount then
L2353[19:10:57] <howtonotwin> more like a general render tick counter
L2354[19:11:21] <PitchBright> so I'm wondering if he named it that, to suit his purposes? or could it be something else?
L2355[19:11:30] <PitchBright> just curious about this stuff
L2356[19:11:36] <howtonotwin> idk I wasn't here 4 years ago :P
L2357[19:12:06] <howtonotwin> yeah ok so cloudTickCounter should be renamed
L2358[19:12:13] <howtonotwin> you can make an issue
L2359[19:12:31] <PitchBright> i was gonna take you up on your offer to do it.... so I can see how you do it (for my learning of the protocols on that stuff)
L2360[19:12:54] <PitchBright> then next time if I find something, I can do it up by myself :)
L2361[19:12:55] <howtonotwin> there are dozens of open issues :P
L2362[19:13:08] <PitchBright> sorry to be a pain in the arse xD
L2363[19:13:37] <howtonotwin> you can study those
L2364[19:13:58] ⇨ Joins: blood_ (unknown@ool-4574115b.dyn.optonline.net)
L2365[19:14:29] <barteks2x> how to firce idea to import a project as gradle project instead of as eclipse project?
L2366[19:15:08] <howtonotwin> delete the eclipse project metadata?
L2367[19:15:19] <howtonotwin> gradle cleanEclipse
L2368[19:15:22] <howtonotwin> should do it
L2369[19:15:40] ⇦ Quits: Abastro (~Abastro@175.117.182.109) (Ping timeout: 384 seconds)
L2370[19:15:54] ⇨ Joins: kinggoesgaming (uid23106@id-23106.tooting.irccloud.com)
L2371[19:16:18] *** Darkhax_AFK is now known as Darkhax
L2372[19:17:19] ⇨ Joins: ScottehBoeh (~ScottehBo@95.144.45.252)
L2373[19:17:29] <ScottehBoeh> The Skeleton in iChuns latest tweet O.o
L2374[19:17:35] <ScottehBoeh> "dat ass" - *Enters Steves butt*
L2375[19:17:48] ⇦ Quits: alekso56 (~znc@2001:464b:c2aa:0:745d:45ff:fe3b:a098) (Ping timeout: 183 seconds)
L2376[19:19:12] ⇦ Quits: InusualZ (Elite17884@ipv6.4.chi.elitebnc.org) (Ping timeout: 198 seconds)
L2377[19:21:24] ⇨ Joins: alekso56 (~znc@2001:464b:c2aa:0:745d:45ff:fe3b:a098)
L2378[19:30:03] ⇨ Joins: InusualZ (Hexchat@ipv6.4.chi.elitebnc.org)
L2379[19:33:19] ⇨ Joins: AstralSorcerer (~AstralSor@u-of-rochester-128-151-150-18.wireless.rochester.edu)
L2380[19:34:18] ⇦ Quits: Kaiyouka (~IdiotNono@c-75-71-231-133.hsd1.co.comcast.net) (Ping timeout: 186 seconds)
L2381[19:38:01] *** mumfrey is now known as Mumfrey
L2382[19:40:58] ⇦ Quits: InusualZ (Hexchat@ipv6.4.chi.elitebnc.org) (Ping timeout: 206 seconds)
L2383[19:48:36] ⇦ Quits: KGS (~KGS@h-155-4-129-249.na.cust.bahnhof.se) (Ping timeout: 198 seconds)
L2384[19:58:21] ⇦ Quits: AforAnonymous (bitch2k@dyn-051-236.vix2.mmc.at) (Remote host closed the connection)
L2385[20:00:40] <barteks2x> 4gb ram + 4gb swap used by who-knows-what... I hate "web apps"
L2386[20:00:56] <howtonotwin> xD
L2387[20:01:16] <howtonotwin> that is a very large amount of swap though
L2388[20:01:27] <barteks2x> I have 3 chrome tabs, idea, skype, spotify and hexchat running
L2389[20:01:35] <barteks2x> that's all
L2390[20:01:43] * howtonotwin sees chrome
L2391[20:01:48] <howtonotwin> everything is very clear no
L2392[20:01:50] <howtonotwin> *now
L2393[20:01:51] <howtonotwin> :P
L2394[20:02:04] <barteks2x> I can easly run with 20 tabs open without any issues
L2395[20:02:23] <howtonotwin> what "web app" is it though?
L2396[20:02:25] <barteks2x> I had to increase swap to 12GB so that the os doesn't freeze when I run out of memory
L2397[20:02:33] <howtonotwin> and why would it eat that much ram?
L2398[20:02:55] <barteks2x> gitter and discord... and skype itself is also a web app in disguise
L2399[20:05:59] <barteks2x> ans all of them seem to have no bound on memory usage... the more I have, the more they use
L2400[20:06:10] ⇨ Joins: InusualZ (Hexchat@ipv6.4.chi.elitebnc.org)
L2401[20:06:57] ⇨ Joins: gr8pefish (~gr8pefish@24-121-241-166.flagcmtk01.res.dyn.suddenlink.net)
L2402[20:10:30] ⇦ Quits: AstralSorcerer (~AstralSor@u-of-rochester-128-151-150-18.wireless.rochester.edu) (Ping timeout: 183 seconds)
L2403[20:11:30] ⇨ Joins: Abastro (~Abastro@175.117.182.109)
L2404[20:15:11] ⇦ Quits: MrIbby (~MrIbby@173.85.200.171) (Remote host closed the connection)
L2405[20:15:37] ⇦ Quits: Alex_hawks (~Alex_hawk@2001:8003:848a:e100:b8a8:cb13:3bf8:6307) (Read error: Connection reset by peer)
L2406[20:16:13] ⇨ Joins: Alex_hawks (~Alex_hawk@2001:8003:848a:e100:b8a8:cb13:3bf8:6307)
L2407[20:25:48] ⇨ Joins: MrIbby (~MrIbby@173.85.200.171)
L2408[20:32:46] ⇨ Joins: Ferdz_TheWeeb (~Ferdz@96.127.227.89)
L2409[20:34:00] ⇦ Quits: ScottehBoeh (~ScottehBo@95.144.45.252) (Read error: Connection reset by peer)
L2410[20:34:26] ⇦ Quits: RichardG (~richardg8@201.37.241.91) (Ping timeout: 384 seconds)
L2411[20:35:02] *** Mumfrey is now known as mumfrey
L2412[20:36:18] <Redfoxmoon> maybe I am missing something obvious, but for using a vanilla texture on a new block shouldn't 'minecraft:<blockname>' suffice in the json file?
L2413[20:38:20] <howtonotwin> models/block json?
L2414[20:38:28] <Redfoxmoon> block texture
L2415[20:38:37] <howtonotwin> "minecraft:blocks/..."
L2416[20:38:44] <Redfoxmoon> yeah I tried that
L2417[20:38:49] <howtonotwin> logs
L2418[20:38:56] <Redfoxmoon> ?
L2419[20:39:09] <howtonotwin> model errors generate a large amount of stacktraces
L2420[20:39:15] <howtonotwin> but first just show the JSON
L2421[20:39:27] ⇦ Quits: MrIbby (~MrIbby@173.85.200.171) (Ping timeout: 206 seconds)
L2422[20:39:36] ⇦ Quits: IceDragon (~ThatGuy@184.170.52.74) (Ping timeout: 198 seconds)
L2423[20:39:44] <Redfoxmoon> wait...
L2424[20:40:07] ⇦ Quits: Ferdz_TheWeeb (~Ferdz@96.127.227.89) (Quit: Leaving)
L2425[20:40:25] ⇨ Joins: MrIbby (~MrIbby@173.85.200.171)
L2426[20:41:22] <Redfoxmoon> howtonotwin, http://pastie.org/10941768
L2427[20:41:53] <howtonotwin> um, you're mixing two blockstate formats there xD
L2428[20:42:03] <howtonotwin> forge_marker should be 1
L2429[20:42:15] <howtonotwin> normal and inventory should be arrays of one object
L2430[20:42:28] <barteks2x> For some weird reason JMH decides to give me OutOfMemoryErrors when I try to run a benchmark...
L2431[20:42:33] <howtonotwin> which tells the loader that instead of doing the normal cartesian product thing
L2432[20:42:41] <howtonotwin> the names are literal variant names
L2433[20:43:07] <howtonotwin> and it's generally good style to always qualify RLs with domains
L2434[20:43:15] <Redfoxmoon> .... changed forge_marker to 1, and now it works
L2435[20:43:17] <Redfoxmoon> magical..
L2436[20:43:18] <howtonotwin> so you may as well say minecraft:cube_all
L2437[20:43:42] <howtonotwin> and at that point you should also shift that up to defaults
L2438[20:43:59] <Redfoxmoon> oh. okay so
L2439[20:44:29] <howtonotwin> { forge_marker: 1, defaults { textures { all: ... }, model: minecraft:cube_all }, variants { inventory [{}], normal [{}] } }
L2440[20:44:37] <howtonotwin> jsonified properly
L2441[20:44:48] * Redfoxmoon is already starting to hate json
L2442[20:44:50] ⇦ Quits: Snapples (uid167569@id-167569.highgate.irccloud.com) (Quit: Connection closed for inactivity)
L2443[20:44:58] <howtonotwin> lol it isn't that bad
L2444[20:45:04] <howtonotwin> and it's better than before xD
L2445[20:45:06] <Redfoxmoon> it is so bloody alien to me :s
L2446[20:45:12] ⇦ Quits: illy (~LordIllyo@2602:304:cf32:f980:d7b4:c6fb:fb09:5c82) (Remote host closed the connection)
L2447[20:45:27] <howtonotwin> it's basically just taking objects and writing them as text :P
L2448[20:45:41] <howtonotwin> this deserializes to a ForgeBlockStateV1
L2449[20:45:45] <Redfoxmoon> yeah "basically ..." says the one who understands it :-)
L2450[20:46:07] <howtonotwin> JSON is actually just a subset of Javascript :P
L2451[20:46:10] <howtonotwin> (almost)
L2452[20:46:26] <howtonotwin> so if you can deal with JS it's super easy to get JSON
L2453[20:46:31] <howtonotwin> and JS isn't very complicated
L2454[20:46:37] <howtonotwin> it's just stupid sometimes
L2455[20:46:55] <Redfoxmoon> been a very long time since I dealt with JS
L2456[20:47:50] <howtonotwin> would you like a link to my model docs?
L2457[20:49:25] <Redfoxmoon> heh, well sure
L2458[20:49:30] <howtonotwin> https://github.com/howtonotwin/MCForgeDocumentation/tree/models/docs/models
L2459[20:49:32] <Redfoxmoon> tried your version; doesn't work :-)
L2460[20:49:41] <howtonotwin> well it's not proper json :P
L2461[20:49:47] <Redfoxmoon> :P
L2462[20:49:48] <howtonotwin> you actually have to do the quoting
L2463[20:49:56] <Redfoxmoon> 'jsonified properly' :P
L2464[20:49:56] <howtonotwin> and fill in the textures :P
L2465[20:50:02] <Redfoxmoon> I did fill in the texture :P
L2466[20:50:49] <howtonotwin> { "forge_marker": 1, "defaults": { "textures" { "all": "FILLME" }, "model": "minecraft:cube_all" }, "variants": { "inventory": [{}], "normal": [{}] } }
L2467[20:50:53] <Redfoxmoon> ah, I see now
L2468[20:50:53] <howtonotwin> there we go
L2469[20:51:03] <Redfoxmoon> yeah, sorry my brain farted
L2470[20:51:40] <howtonotwin> I should probably write my objects like name: {} instead of just name {}
L2471[20:52:07] <howtonotwin> oh yep I missed that on textures
L2472[20:52:15] * howtonotwin tries to break a habit
L2473[20:52:18] * howtonotwin fails
L2474[20:52:22] <howtonotwin> also for the docs
L2475[20:52:29] <howtonotwin> you should read them in a certain order
L2476[20:52:43] <howtonotwin> https://github.com/howtonotwin/MCForgeDocumentation/blob/models/mkdocs.yml#L13-L20
L2477[20:52:46] <howtonotwin> ^ that order
L2478[20:53:00] <Redfoxmoon> ok :)
L2479[20:53:00] <howtonotwin> and open an issue or something if my writing seems off.
L2480[20:54:00] <howtonotwin> for reference, rendering gurus on this chan are 1) fr_y 2) willie_willus and 3) me
L2481[20:54:03] <howtonotwin> without the _s ofc
L2482[20:54:12] <howtonotwin> anyway I'll take my leave now
L2483[20:54:14] <howtonotwin> good luck
L2484[20:54:21] <Redfoxmoon> hm, ok
L2485[20:54:22] ⇦ Quits: howtonotwin (~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net) (Quit: Pop!)
L2486[20:55:52] ⇨ Joins: RichardG (~richardg8@201.37.241.91)
L2487[20:55:53] MineBot sets mode: +v on RichardG
L2488[20:56:26] <Redfoxmoon> now of course if someone could explain what '"inventory": [{}], "normal": [{}]' actually means :^)
L2489[20:59:47] <Redfoxmoon> *sigh* or rather what it does
L2490[21:00:33] ⇨ Joins: IceDragon (~ThatGuy@69.160.113.33)
L2491[21:03:39] ⇦ Quits: quadraxis (~quadraxis@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net) (Quit: ChatZilla 0.9.92 [Firefox 49.0.1/20160922113459])
L2492[21:06:58] ⇦ Quits: sinkillerj (~sinkiller@nc-67-232-8-209.dhcp.embarqhsd.net) (Quit: またね)
L2493[21:13:30] ⇦ Quits: KJ4IPS (~KJ4IPS@68-119-116-168.dhcp.jcsn.tn.charter.com) (Ping timeout: 186 seconds)
L2494[21:15:26] *** Vigaro is now known as V
L2495[21:17:33] <barteks2x> I have problems literally noone else has...
L2496[21:18:08] <barteks2x> I tried to google it, after 5 pages - nothing even closely relevant
L2497[21:19:48] ⇦ Quits: InusualZ (Hexchat@ipv6.4.chi.elitebnc.org) (Ping timeout: 198 seconds)
L2498[21:21:25] ⇦ Quits: MrIbby (~MrIbby@173.85.200.171) (Remote host closed the connection)
L2499[21:22:50] ⇦ Quits: alekso56 (~znc@2001:464b:c2aa:0:745d:45ff:fe3b:a098) (Ping timeout: 183 seconds)
L2500[21:25:09] ⇨ Joins: alekso56 (~znc@2001:464b:c2aa:0:745d:45ff:fe3b:a098)
L2501[21:31:39] ⇨ Joins: Kaiyouka (~IdiotNono@c-75-71-231-133.hsd1.co.comcast.net)
L2502[21:43:32] ⇨ Joins: illy (~LordIllyo@2602:304:cf32:f980:87:5551:4c58:b319)
L2503[21:43:40] <illy> o/
L2504[21:51:54] ⇦ Quits: Kaiyouka (~IdiotNono@c-75-71-231-133.hsd1.co.comcast.net) (Ping timeout: 186 seconds)
L2505[21:54:53] ⇦ Quits: IceDragon (~ThatGuy@69.160.113.33) (Ping timeout: 183 seconds)
L2506[21:55:50] ⇨ Joins: IceDragon (~ThatGuy@69.160.113.33)
L2507[21:56:07] ⇦ Quits: edr (~edr@d-65-175-180-73.cpe.metrocast.net) (Quit: Leaving)
L2508[21:59:55] ⇨ Joins: McJty (~jorrit@94-225-203-206.access.telenet.be)
L2509[22:18:00] ⇦ Quits: Lathanael (~Lathanael@p5496039E.dip0.t-ipconnect.de) (Ping timeout: 198 seconds)
L2510[22:22:40] ⇦ Quits: blood_ (unknown@ool-4574115b.dyn.optonline.net) (Read error: Connection reset by peer)
L2511[22:23:43] ⇨ Joins: Lathanael|Away (~Lathanael@p549602C6.dip0.t-ipconnect.de)
L2512[22:25:11] ⇨ Joins: Kaiyouka (~IdiotNono@c-75-71-231-133.hsd1.co.comcast.net)
L2513[22:25:26] <PitchBright> is there a way for me to make something render, even when it's beyond the player's render distance limit?
L2514[22:26:13] <barteks2x> everything is possible, it's just a matter of how hard you want to try
L2515[22:26:24] <PitchBright> :) I've been tryin' reeeealll hard
L2516[22:26:25] <McJty> But why would you want to do that?
L2517[22:26:31] <McJty> Sounds like a really bad idea
L2518[22:26:35] <PitchBright> I knew that question would get asked xD
L2519[22:26:45] <McJty> There is a reason people lower their render distance
L2520[22:26:49] <barteks2x> minecrart jas z_far set to somethinng close to render distance
L2521[22:27:09] <barteks2x> so without changing zfar you can only get it close to max render distance but smaller
L2522[22:27:29] <barteks2x> but that's all I know
L2523[22:28:44] <barteks2x> and that's probably how some minimap mods render deathpoints and waypoints that are beyond view distance
L2524[22:29:11] <PitchBright> ooooh... good thinkin'!
L2525[22:51:53] ⇨ Joins: KJ4IPS|Gone (~KJ4IPS@68-119-116-168.dhcp.jcsn.tn.charter.com)
L2526[22:52:03] *** KJ4IPS|Gone is now known as KJ4IPS
L2527[22:52:33] ⇨ Joins: killjoy (~killjoy@71.65.228.225)
L2528[22:55:03] <barteks2x> I did the benchmark in a different way and now the result for vanilla hashmap is completely opposite...
L2529[23:03:04] ⇦ Quits: RichardG (~richardg8@201.37.241.91) (Ping timeout: 183 seconds)
L2530[23:04:45] ⇨ Joins: AstralSorcerer (~AstralSor@128.151.114.85)
L2531[23:05:54] ⇨ Joins: RichardG (~richardg8@201.37.241.91)
L2532[23:05:55] MineBot sets mode: +v on RichardG
L2533[23:06:54] *** Drullkus is now known as Drull|zzz
L2534[23:07:26] *** tterrag is now known as tterrag|ZZZzzz
L2535[23:11:39] ⇨ Joins: npe|office (~NPExcepti@bps-gw.hrz.tu-chemnitz.de)
L2536[23:11:54] ⇦ Quits: Kaiyouka (~IdiotNono@c-75-71-231-133.hsd1.co.comcast.net) (Ping timeout: 186 seconds)
L2537[23:15:59] <barteks2x> actually, I did the benchmark wrong
L2538[23:22:41] ⇨ Joins: plp (~plp@112.203.118.64)
L2539[23:25:24] <gr8pefish> Anyone know where the logic is in minecraft's code for setting the player rotation for elytra? It doesn't seem to be in ModelElytra or LayerELyta (as far as I can tell)
L2540[23:25:47] ⇦ Quits: iso2013 (~iso2013@c-67-176-10-45.hsd1.co.comcast.net) (Read error: Connection reset by peer)
L2541[23:26:19] ⇦ Quits: alekso56 (~znc@2001:464b:c2aa:0:745d:45ff:fe3b:a098) (Ping timeout: 183 seconds)
L2542[23:28:51] ⇨ Joins: alekso56 (~znc@2001:464b:c2aa:0:745d:45ff:fe3b:a098)
L2543[23:29:54] ⇦ Quits: McJty (~jorrit@94-225-203-206.access.telenet.be) (Quit: Leaving)
L2544[23:39:10] ⇦ Quits: bilde2910 (bilde2910@51.174.170.178) (Ping timeout: 384 seconds)
L2545[23:40:10] ⇨ Joins: bilde2910 (bilde2910@51.174.170.178)
L2546[23:42:09] ⇦ Quits: IceDragon (~ThatGuy@69.160.113.33) (Ping timeout: 206 seconds)
L2547[23:45:11] <gr8pefish> If I wanted to draw a layer on the player that was just a plane with a 45 degree line (a triangle, so a json model wouldn't work very well), how could I do that? Would I have to use GL11 directly?
<<Prev Next>> Scroll to Top