<<Prev Next>> Scroll to Bottom
Stuff goes here
L1[00:06:36] *** TTFTCUTS is now known as TTFT|Away
L2[00:14:06] ⇨ Joins: Hunterz (~hunterz@2001:af0:8000:1c01:6af7:28ff:fe37:5d6a)
L3[00:14:53] ⇦ Quits: Brokkoli (~Brokkoli@p5B23C80C.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))
L4[00:25:51] ⇨ Joins: Cornelia (~Nel@c-75-71-231-133.hsd1.co.comcast.net)
L5[00:47:56] ⇦ Quits: KnightMiner (~KnightMin@adsl-75-5-65-139.dsl.emhril.sbcglobal.net) (Quit: Leaving)
L6[00:52:51] *** SatanicSanta is now known as Santa|afk
L7[00:58:34] ⇦ Quits: Meronat (uid190493@id-190493.highgate.irccloud.com) (Quit: Connection closed for inactivity)
L8[00:59:37] ⇨ Joins: quadraxis (~quadraxis@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net)
L9[01:08:40] ⇦ Quits: TomyLobo (~TomyLobo@2a02:8109:87c0:20c:559b:7b0d:4d4a:5f7f) (Ping timeout: 204 seconds)
L10[01:48:40] ⇦ Quits: p455w0rd (~p455w0rd@50.102.91.181) ()
L11[02:00:03] <MCPBot_Reborn> [TEST CSV] Pushing snapshot_20170714 mappings to Forge Maven.
L12[02:00:07] <MCPBot_Reborn> [TEST CSV] Maven upload successful for mcp_snapshot-20170714-1.12.zip (mappings = "snapshot_20170714" in build.gradle).
L13[02:00:17] <MCPBot_Reborn> Semi-live (every 10 min), Snapshot (daily ~3:00 EST), and Stable (committed) MCPBot mapping exports can be found here: http://export.mcpbot.bspk.rs/
L14[02:05:13] ⇦ Quits: squeek (~squeek@040.112-30-64.ftth.swbr.surewest.net) (Ping timeout: 201 seconds)
L15[02:12:43] ⇨ Joins: Noppes (~Noppes@ip56530f2e.direct-adsl.nl)
L16[02:17:45] ⇨ Joins: Hgrebnednav (~Hgrebnedn@d8d872a6e.access.telenet.be)
L17[02:23:20] ⇨ Joins: KGS (~KGS@h-158-174-9-89.NA.cust.bahnhof.se)
L18[02:27:35] ⇦ Quits: KGS (~KGS@h-158-174-9-89.NA.cust.bahnhof.se) (Ping timeout: 186 seconds)
L19[02:28:23] ⇨ Joins: KGS (~KGS@h-155-4-222-89.NA.cust.bahnhof.se)
L20[02:30:38] ⇨ Joins: gigaherz|work (~gigaherz@84.89.63.25)
L21[02:45:57] ⇦ Quits: bilde2910 (bilde2910@178.51-174-170.customer.lyse.net) (Ping timeout: 383 seconds)
L22[02:46:29] ⇨ Joins: bilde2910 (bilde2910@178.51-174-170.customer.lyse.net)
L23[02:58:52] ⇦ Quits: Relkofizz (~Relkofizz@S0106f0f249e0f7a3.cg.shawcable.net) (Ping timeout: 204 seconds)
L24[03:10:45] ⇦ Quits: bilde2910 (bilde2910@178.51-174-170.customer.lyse.net) (Ping timeout: 190 seconds)
L25[03:12:31] ⇨ Joins: bilde2910 (bilde2910@178.51-174-170.customer.lyse.net)
L26[03:34:17] *** PaleOff is now known as PaleoCrafter
L27[03:39:43] <Ordinastie> so, how does one make custom recipes with the new system ?
L28[03:39:49] <gigaherz|work> what kind of custom
L29[03:40:08] <gigaherz|work> if you want a custom recipe json parser
L30[03:40:14] <gigaherz|work> you register the factory class in _factories.json
L31[03:40:18] <Ordinastie> in my case, 1 door and 5 of the same block
L32[03:40:38] <gigaherz|work> "recipes": { "typename": "your.fully.qualified.FactoryName" , ... }
L33[03:41:01] <gigaherz|work> where FactoryName would implement IRecipeFactory
L34[03:41:09] <gigaherz|work> ah
L35[03:41:23] <gigaherz|work> so you want a recipe specifically to transfer the "wood type" from the input to the output
L36[03:41:58] <Ordinastie> the block is use for the texture, so kinda
L37[03:42:09] <gigaherz|work> right
L38[03:42:11] <Ordinastie> I'm debating whether using JSON
L39[03:42:15] <gigaherz|work> well you can still use the factory
L40[03:42:20] <gigaherz|work> and have a custom recipe json like
L41[03:43:04] <gigaherz|work> { "type": "yourmod:door_wood", "wood_item": { ingredient data }, "result": { "item": which door } }
L42[03:44:06] <Ordinastie> any example somewhere of that factory json ?
L43[03:44:36] <Ordinastie> (damn thos jets are loud :x)
L44[03:44:42] <gigaherz|work> I don't have a factory for recipe types
L45[03:44:46] <gigaherz|work> but the idea is the same as this:
L46[03:44:47] <gigaherz|work> https://github.com/gigaherz/Survivalist/blob/master/src/main/resources/assets/survivalist/recipes/_factories.json
L47[03:44:51] <gigaherz|work> https://github.com/gigaherz/Survivalist/blob/master/src/main/java/gigaherz/survivalist/ConfigurationCondition.java
L48[03:44:57] <gigaherz|work> xcept instead of "conditions" it's "recipes"
L49[03:45:04] <gigaherz|work> and instead of IConditionFactory it's IRecipeFactory
L50[03:45:23] <Ordinastie> and the key is the type in recipe json ?
L51[03:45:34] <gigaherz|work> the key is the thing you use in "type" in the json
L52[03:45:42] <gigaherz|work> xcept it gets your modid
L53[03:45:52] <gigaherz|work> so "key" -> "type": "modid:key"
L54[03:46:24] <gigaherz|work> so like for my condition: https://github.com/gigaherz/Survivalist/blob/master/src/main/resources/assets/survivalist/recipes/chain_chestplate.json#L5
L55[03:48:46] <Ordinastie> mmk,I think I got it
L56[03:49:41] <Ordinastie> need to remember how to parse JSON now *_*
L57[03:50:50] <Ordinastie> do you know where is the vanilla parser ?
L58[03:52:20] <Ordinastie> I think I got it
L59[03:53:54] <gigaherz|work> i just did it by hand, using json.getAs*
L60[03:54:21] <TechnicianLP> vanilla uses JsonUtils a lot
L61[04:04:30] <PaleoCrafter> in case anybody is interested in using the dependency extraction feature with a coremod and doesn't know shit about gradle: https://github.com/PaleoCrafter/Dependency-Extraction-Example xD
L62[04:13:43] <TechnicianLP> its missing signing ... (and the default forge-gradle task does not support a tsa ...)
L63[04:14:58] <PaleoCrafter> it's only about the extraction, not the rest of the guidelines :P
L64[04:15:04] <PaleoCrafter> although I might add that
L65[04:15:11] <Ordinastie> PaleoCrafter, you know what would be really useful ?
L66[04:15:15] <PaleoCrafter> hm?
L67[04:15:19] <Ordinastie> comments for each line in the build.gradle
L68[04:15:43] <PaleoCrafter> I guess :P
L69[04:16:02] <PaleoCrafter> Quickly hacked it together yesterday because somebody on Discord wasn't able to do it on their own
L70[04:16:06] <PaleoCrafter> TechnicianLP, TSA?
L71[04:17:06] ⇨ Joins: Javaschreiber (~Thunderbi@bt-nac-2189.nac.uni-bayreuth.de)
L72[04:19:54] <TechnicianLP> TimeStampingAuthority
L73[04:20:37] *** amadornes[OFF] is now known as amadornes
L74[04:22:24] ⇦ Quits: Javaschreiber (~Thunderbi@bt-nac-2189.nac.uni-bayreuth.de) (Quit: Javaschreiber)
L75[04:26:04] ⇨ Joins: Meronat (uid190493@id-190493.highgate.irccloud.com)
L76[04:27:07] <Ordinastie> so, moment of truth
L77[04:27:34] <PaleoCrafter> wat... you can't send ZIPs via Gmail? Oo
L78[04:27:56] <fry> .tar.gz ftw :P
L79[04:30:34] <gigaherz|work> you can
L80[04:30:40] <gigaherz|work> but not if they have an executable file inside
L81[04:30:44] <gigaherz|work> google considers them unsafe
L82[04:31:03] <gigaherz|work> I sent a lot of .rer and .zep over the years
L83[04:31:19] <PaleoCrafter> So PHP counts as executable? :D
L84[04:31:30] <fry> lol who sends php
L85[04:31:32] <fry> :P
L86[04:31:33] <PaleoCrafter> fry, you wish :P
L87[04:31:42] <PaleoCrafter> It's a Drupal module for my school >.>
L88[04:31:43] <gigaherz|work> no one sane sends php, so it must be a virus
L89[04:37:04] <immibis> just rename the .zip to .zap
L90[04:37:34] <PaleoCrafter> I sent a link to my files server, works just as well
L91[04:37:45] <Ordinastie> it works \o/
L92[04:38:26] <gigaherz|work> put it in a floppy and leave the floppy at your teacher's locker
L93[04:38:43] <gigaherz|work> Ordinastie: \o/
L94[04:43:48] <PaleoCrafter> I won't enter the school building ever again, that's the thing :P
L95[04:44:04] <gigaherz|work> XD
L96[04:52:58] <Ordinastie> does a recipe need to have a group to appear in the book ?
L97[04:54:08] ⇦ Quits: bilde2910 (bilde2910@178.51-174-170.customer.lyse.net) (Ping timeout: 204 seconds)
L98[04:54:24] <Ordinastie> gigaherz|work, in case you're interested : https://github.com/Ordinastie/MalisisDoors/commit/78ba2d81cb795bdb2a1d6a178247cfe3393c64a8
L99[04:54:55] <PaleoCrafter> added comments, Ordinastie :P
L100[04:55:28] <Ordinastie> wow, didn't expected that much :p
L101[04:55:39] ⇨ Joins: bilde2910 (bilde2910@178.51-174-170.customer.lyse.net)
L102[04:55:45] <PaleoCrafter> You asked for comments for each line, you get comments for each line :P
L103[04:56:45] <Ordinastie> I expected one-liners :p
L104[04:56:47] <Ordinastie> but that's good
L105[04:56:54] <Ordinastie> can you make comments for my mods too? :p
L106[04:57:27] <Ordinastie> PaleoCrafter, the "containedJar" is the coremod right ?
L107[04:57:41] <PaleoCrafter> unfortunately not, no
L108[04:58:00] <Ordinastie> so main mod is inside the coremod ?
L109[04:58:01] <PaleoCrafter> the way Forge's extraction works right now, you have to extract the normal mod out of the coremod
L110[04:58:08] <Ordinastie> wow
L111[04:58:08] <PaleoCrafter> otherwise it won't load the coremod on first launch
L112[04:58:20] <gigaherz|work> that seems backward
L113[04:58:24] <Ordinastie> definitely
L114[04:58:33] <PaleoCrafter> my PR fixes that :P
L115[04:59:14] <PaleoCrafter> the problem was that FML did one pass over the directory searching for coremods and it looked for the dependencies in that very same pass
L116[05:03:17] <gigaherz|work> ah
L117[05:03:25] <gigaherz|work> so it should just look for dependencies first, in a separate pass
L118[05:03:30] <PaleoCrafter> exactly
L119[05:03:33] <gigaherz|work> OR check the subdirectories afterward
L120[05:03:51] ⇦ Quits: KGS (~KGS@h-155-4-222-89.NA.cust.bahnhof.se) (Ping timeout: 186 seconds)
L121[05:04:11] <PaleoCrafter> with my PR, it'll do one pass searching for dependencies, then it loads stuff from the modlist.json and then it does the second pass looking for coremods
L122[05:08:41] ⇨ Joins: mcmaur (~mcmaur@93.37.56.74)
L123[05:16:16] *** PaleoCrafter is now known as PaleOff
L124[05:18:50] ⇦ Quits: mcmaur (~mcmaur@93.37.56.74) (Quit: Leaving)
L125[05:27:56] <masa> which GL state would cause my TESR-renderer ItemStacks to render completely black whenever there is an item on the ground being rendered?
L126[05:31:02] <gigaherz|work> hmmm
L127[05:31:23] <gigaherz|work> color? texture bind? lighting?
L128[05:31:36] <Ordinastie> your item is black when on ground ?
L129[05:31:46] <Ordinastie> or your item is black when some other item is on the ground ?
L130[05:32:15] <masa> my tiem is black when any item is on the ground
L131[05:32:40] <masa> to clarify these are stacks rendered in a pipe
L132[05:33:03] <masa> and they turn completely black when I drop an item on the ground
L133[05:34:02] <Ordinastie> i'd go to the method that renders in on the ground and check all the GL state modifications there
L134[05:34:20] <masa> okay it was the texture, thanks :)
L135[05:34:32] <Ordinastie> or that
L136[05:35:12] <masa> yeah, I'm just completely useless at rendering... :p
L137[05:35:30] <masa> I just copy paste and comment/uncomment stuff and ask stupid questions until it works ;D
L138[05:41:11] ⇨ Joins: MonkeyTyrant (~MonkeyTyr@blk-212-75-47.eastlink.ca)
L139[05:41:13] ⇦ Quits: MonkeyTyrant (~MonkeyTyr@blk-212-75-47.eastlink.ca) (Remote host closed the connection)
L140[05:42:27] *** PaleOff is now known as PaleoCrafter
L141[05:42:51] <TechnicianLP> did you convert the vertex-format of the quads? (Normals vs Lightmap)
L142[05:45:05] <masa> hmm?
L143[05:46:53] <TechnicianLP> Item vs Block format (in DefaultVertexFormats)
L144[05:47:26] <masa> where/why would I needto do that?
L145[05:47:35] <masa> it seems to be working now...
L146[05:48:40] <TechnicianLP> if it works ...
L147[05:55:37] <gigaherz|work> TechnicianLP: ITEM and BLOCK are compatible
L148[05:55:58] <gigaherz|work> the last 4 bytes on ITEM are "NORMAL+PADDING", on BLOCK are the lightmap coords
L149[05:56:03] <gigaherz|work> the idea is that you can bake once
L150[05:56:07] <gigaherz|work> and without converting
L151[05:56:14] <gigaherz|work> send the ITEM vertices to the block drawing code
L152[05:56:18] <gigaherz|work> which overwrites the lightmap coords
L153[05:56:24] <TechnicianLP> lengthwise yes - (but it should result in wierd lighting if you dont convert)
L154[05:57:06] <TechnicianLP> which method? (the ones i used didnt do it)
L155[06:25:09] ⇨ Joins: Cast0077 (~Cast0077@24-151-30-78.dhcp.nwtn.ct.charter.com)
L156[06:37:34] ⇦ Quits: Hunterz (~hunterz@2001:af0:8000:1c01:6af7:28ff:fe37:5d6a) (Quit: Leaving.)
L157[06:52:55] ⇨ Joins: Javaschreiber (~Thunderbi@88-209-32-73.nga.highspeed-baumann.de)
L158[07:00:44] ⇨ Joins: cpup (~cpup@32.218.115.144)
L159[07:04:55] ⇦ Quits: gigaherz|work (~gigaherz@84.89.63.25) (Remote host closed the connection)
L160[07:19:01] ⇨ Joins: Nedelosk (~Nedelosk@ip-178-203-0-245.hsi10.unitymediagroup.de)
L161[07:26:15] ⇦ Quits: Uristqwerty (~chatzilla@modemcable128.165-177-173.mc.videotron.ca) (Ping timeout: 186 seconds)
L162[07:32:50] ⇦ Quits: Rushmead (sid136212@id-136212.charlton.irccloud.com) (Quit: Connection closed for inactivity)
L163[07:42:32] ⇨ Joins: GenerousGuava (~GenerousG@p4FDCCA55.dip0.t-ipconnect.de)
L164[07:52:03] ⇨ Joins: c64cosmin (kiwiirc@79.114.70.53)
L165[07:53:27] ⇦ Quits: c64cosmin (kiwiirc@79.114.70.53) (Client Quit)
L166[08:07:48] ⇦ Quits: Rokiyo (~Rokiyo@101.167.173.217) ()
L167[08:12:05] ⇨ Joins: mcmaur (~mcmaur@93.37.56.74)
L168[08:15:21] ⇨ Joins: Rokiyo (~Rokiyo@101.167.173.217)
L169[08:38:42] ⇨ Joins: Brokkoli (~Brokkoli@p5B23C80C.dip0.t-ipconnect.de)
L170[08:43:52] <Ordinastie> if I want to check the validity of a multiblock when it's loaded, where is the best place to do it ?
L171[08:45:26] <TechnicianLP> probably some onFirstTick in the master-te (never actually made a multiblock until now)
L172[08:45:40] ⇦ Quits: Meronat (uid190493@id-190493.highgate.irccloud.com) (Quit: Connection closed for inactivity)
L173[08:45:51] <Ordinastie> TE doesn't necessarily tick
L174[08:45:58] <Ordinastie> isn't necessarily a TE even
L175[08:57:57] <Ordinastie> TechnicianLP, FYI, there is a TE.onLoad method now, to prevent the firstTick shenanigans
L176[09:10:30] <TechnicianLP> well .. my environment where i have TEs in use was not ready to compile since before 1.12 came out ... (major redesign of a feature ... (and not much time))
L177[09:31:54] ⇦ Quits: Javaschreiber (~Thunderbi@88-209-32-73.nga.highspeed-baumann.de) (Quit: Javaschreiber)
L178[09:32:54] ⇨ Joins: Hunterz (~hunterz@62.182.234.189)
L179[09:33:00] <Ordinastie> I think onLoad is quite old now
L180[09:35:05] ⇨ Joins: malte0811 (~malte0811@p54825E2A.dip0.t-ipconnect.de)
L181[09:36:11] *** TTFT|Away is now known as TTFTCUTS
L182[09:36:23] ⇦ Quits: mcmaur (~mcmaur@93.37.56.74) (Ping timeout: 186 seconds)
L183[09:46:27] ⇦ Quits: Chais (~Chais@62.178.210.212) (Read error: Connection reset by peer)
L184[09:47:46] ⇨ Joins: Chais (~Chais@62.178.210.212)
L185[09:48:25] <ghz|afk> onload is old
L186[09:48:29] <ghz|afk> but until very recently
L187[09:48:37] <ghz|afk> it was called before te.world was valid
L188[09:48:47] <ghz|afk> meaning it was almost useless
L189[09:48:56] ⇦ Quits: GenerousGuava (~GenerousG@p4FDCCA55.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
L190[10:01:28] *** mumfrey is now known as Mumfrey
L191[10:02:51] ⇨ Joins: TomyLobo (~TomyLobo@2a02:8109:87c0:20c:55:960c:7efe:5dc5)
L192[10:05:25] ⇨ Joins: c0 (~ChipUK@ec2-52-51-201-170.eu-west-1.compute.amazonaws.com)
L193[10:14:43] <Ordinastie> same code, different results :x https://puu.sh/wJrLm.png
L194[10:15:48] ⇦ Quits: c0 (~ChipUK@ec2-52-51-201-170.eu-west-1.compute.amazonaws.com) (Quit: <G80R> Wiring is probably dildos. Hello Chip.)
L195[10:25:17] <tterrag> Ordinastie: wut
L196[10:25:56] <Ordinastie> it's not the whole rendering
L197[10:26:03] <Ordinastie> it's just the model that is wrong
L198[10:26:20] <Ordinastie> I use a setCustomMesher for the item
L199[10:26:46] <Ordinastie> but as mc checks for model for item-meta first, I have to overwrite that too
L200[10:26:59] <Ordinastie> for some reason, it works for the oak door, but not the others
L201[10:27:54] <Ordinastie> I'm trying to debug why, but so far, no luck
L202[10:29:35] <malte0811> It isn't possible to add quads to a chunk like a block model would without having a block in that chunk, right?
L203[10:30:14] <Ordinastie> not natively
L204[10:30:38] <Ordinastie> what are you trying to do ?
L205[10:30:53] <malte0811> I'm thinking about improving IE's wire render
L206[10:30:56] <fry> when would those quads update?
L207[10:31:07] <malte0811> Not very often
L208[10:31:16] <fry> I mean, exactly when?
L209[10:31:27] <fry> what would trigger it?
L210[10:31:32] <malte0811> When an IE wire is connected through that chunk
L211[10:31:48] <malte0811> triggering the chunk updates for it wouldn't be an issue
L212[10:31:56] <fry> does it go through blocks?
L213[10:32:26] <malte0811> What exactly do you mean? the wire isn't made of blocks, but it has blocks at the ends
L214[10:32:35] <malte0811> which may be up to 32 blocks away
L215[10:32:43] <fry> does the wire go through walls?
L216[10:32:51] <malte0811> It can
L217[10:33:03] <malte0811> Why would that be relevant? for lighting?
L218[10:33:45] <fry> then RenderWorldLastEvent is probably the best choice
L219[10:33:53] <fry> or adding it to the end blocks
L220[10:34:28] <malte0811> End blocks is what we are using right now, but that causes issues when you see the wire but not the ends
L221[10:34:41] <malte0811> RenderWorldLastEvent is like TESR or like models?
L222[10:34:52] <fry> neither
L223[10:35:07] <fry> it's simply an event at the end of the world renderer
L224[10:35:39] <malte0811> So every frame?
L225[10:35:42] <Ordinastie> yes
L226[10:36:21] <fry> everything is every frame
L227[10:36:25] <ghz|afk> note that blocks DO draw every frame
L228[10:36:31] <ghz|afk> the gpu doesn't have model permanence
L229[10:36:37] <ghz|afk> only vertex buffers, which mc barely uses
L230[10:36:53] <fry> not barely
L231[10:36:59] <malte0811> Only barely? I thought the whole chunk was in a VBO?
L232[10:37:03] <fry> it is
L233[10:37:06] <ghz|afk> yes
L234[10:37:10] <fry> you'd notice if it wasn't :P
L235[10:37:18] <ghz|afk> that's what I meant by barely ;P
L236[10:37:32] <ghz|afk> it doesn't use VBOs for entities and such
L237[10:37:39] <ghz|afk> only world meshes
L238[10:37:40] <fry> it's a sizeable load, and probably the majority
L239[10:37:54] <malte0811> So I should put the wires in a VBO and render that in the RenderWorldLastEvent?
L240[10:37:58] <fry> especially with the lighting recalculation
L241[10:38:08] <ghz|afk> you could do that, yes
L242[10:38:11] <fry> start with just rendering them there
L243[10:38:20] <fry> ocache later if needed
L244[10:38:22] <fry> *cache
L245[10:38:24] <ghz|afk> you could cache all the "wire segments" for each chunk
L246[10:38:30] <ghz|afk> and keep a list for eahc loaded chunk and such
L247[10:38:33] <ghz|afk> but that's optimizations
L248[10:38:36] <ghz|afk> make it work first ;P
L249[10:38:55] <malte0811> We had them as TESR's some time ago with noticable performance issues, so caching would be needed
L250[10:39:02] <Ordinastie> so, any idea why I can replace oak door model but not the others ?
L251[10:39:05] <fry> TESR is 1 per wire
L252[10:39:13] <ghz|afk> yes but you can cache on cpu
L253[10:39:13] <fry> you need 1 render call for all wires
L254[10:39:18] <ghz|afk> no need to cache on a VBO yet
L255[10:39:30] <ghz|afk> even just buffering all the wires that are visible into one tesellator call
L256[10:39:34] <ghz|afk> would be a dramatic improvement
L257[10:39:49] <malte0811> Right, I forgot about TESR's using a draw call each
L258[10:39:57] <ghz|afk> that's what FastTESRs solve, in fact
L259[10:40:10] <ghz|afk> they are buffered into a single tesellator begin/draw block
L260[10:40:14] <malte0811> I know
L261[10:40:58] <fry> that might actually be the simplest
L262[10:41:34] <malte0811> Do TESR's render when the chunk isn't being rendered asumeing I set the renderBoundingBox correclty?
L263[10:42:37] <Ordinastie> no
L264[10:42:46] <Ordinastie> if the chunk is culled, the TEs are culled too
L265[10:42:58] <malte0811> Then TESR wouldn't help at all
L266[10:43:01] <Ordinastie> unless you set global renderer I think
L267[10:43:25] <Ordinastie> in the TESR
L268[10:43:33] <fry> look at what beacons do
L269[10:43:46] <malte0811> I'll try it, the code for TESR wires is probably still somewhere
L270[10:44:12] <fry> look at AnimationTESR for how to render a model in a FastTESR
L271[10:44:57] <malte0811> I know how to do that, I just thought most of the lag came from transfering the quads to the GPU
L272[10:45:57] <ghz|afk> wait, if wires aren't TESR now
L273[10:45:58] <ghz|afk> what are they?
L274[10:46:09] <malte0811> Block models
L275[10:46:57] <malte0811> https://github.com/BluSunrize/ImmersiveEngineering/tree/master/src/main/java/blusunrize/immersiveengineering/client/models/smart
L276[10:55:05] <Ordinastie> damn, I can't even debug with conditional breakpoints, it keeps throwing exceptions for some reason -_-
L277[10:56:17] ⇨ Joins: mcmaur (~mcmaur@93.37.56.74)
L278[11:06:59] <mcmaur> I saw a pathfinder somewhere, right?
L279[11:07:17] <ghz|afk> well mobs pathfind
L280[11:11:32] <Ordinastie> god, I give up :x
L281[11:11:42] <Ordinastie> it's so much a clusterfuck
L282[11:13:41] <Ordinastie> I have no idea why ModelLoader.setCustomModelResourceLocation(item, 0, mrl); works for oak doors and not the others :x
L283[11:21:23] <ghz|afk> hm? :/
L284[11:27:57] ⇦ Quits: malte0811 (~malte0811@p54825E2A.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
L285[11:28:18] ⇨ Joins: cjm721 (~cjm721@c-73-222-0-7.hsd1.ca.comcast.net)
L286[11:31:02] ⇦ Quits: mcmaur (~mcmaur@93.37.56.74) (Quit: Leaving)
L287[11:32:07] ⇦ Quits: Cornelia (~Nel@c-75-71-231-133.hsd1.co.comcast.net) (Ping timeout: 186 seconds)
L288[11:36:39] ⇦ Quits: bilde2910 (bilde2910@178.51-174-170.customer.lyse.net) (Ping timeout: 383 seconds)
L289[11:38:11] ⇨ Joins: bilde2910 (bilde2910@178.51-174-170.customer.lyse.net)
L290[11:43:13] *** Santa|afk is now known as SatanicSanta
L291[11:56:50] <Renari> Did something change with registering events?
L292[11:56:51] <Renari> https://gist.github.com/Renari/be5af44d24f42a10d829ce7540aa55fc
L293[11:57:08] <Renari> The above code, doesn't appear to ever call the event.
L294[11:59:30] *** MrKick|Away is now known as MrKickkiller
L295[12:00:55] ⇨ Joins: Jezza (~Jezza@92.206.15.110)
L296[12:01:26] <ghz|afk> Renari: as part of the registry rewrite, the events were moved from before preinit, to right after preinit
L297[12:01:44] <ghz|afk> that would have never worked
L298[12:01:54] <ghz|afk> since by the time you register, it's too late
L299[12:02:03] <ghz|afk> you should use @Mod.EventBusSubscriber on the class
L300[12:02:22] <ghz|afk> well since this is cient proxy, you should use EventbusSubscriber(Side.CLIENT)
L301[12:02:27] <ghz|afk> and make your event handler static
L302[12:02:40] <Renari> Alright, thanks.
L303[12:07:58] ⇦ Parts: Cast0077 (~Cast0077@24-151-30-78.dhcp.nwtn.ct.charter.com) ())
L304[12:08:05] <PaleoCrafter> actually, this doesn't have anything to do with the registry rewrite but with the fact that resource loading doesn't happen twice at startup anymore :P
L305[12:08:07] *** Mumfrey is now known as mumfrey
L306[12:08:18] <PaleoCrafter> still a good idea to use EventBusSubscriber though
L307[12:10:30] ⇦ Quits: cpup (~cpup@32.218.115.144) (Ping timeout: 204 seconds)
L308[12:11:27] <ghz|afk> ah
L309[12:11:32] <ghz|afk> actually
L310[12:11:37] <ghz|afk> that explains why Guidebook broke, too
L311[12:12:16] <PaleoCrafter> anyways, let's finally get that darn Forge contribution docs article done xD
L312[12:14:58] ⇨ Joins: cpup (~cpup@32.218.115.144)
L313[12:16:46] ⇨ Joins: howtonotwin (~howtonotw@75.110.22.15)
L314[12:26:09] ⇦ Quits: Rokiyo (~Rokiyo@101.167.173.217) (Remote host closed the connection)
L315[12:26:26] ⇨ Joins: Rokiyo (~Rokiyo@101.167.173.217)
L316[12:29:43] ⇦ Quits: quadraxis (~quadraxis@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net) (Ping timeout: 186 seconds)
L317[12:35:07] *** Tahgtahv is now known as Tahg
L318[12:37:25] ⇨ Joins: malte0811 (~malte0811@p54825e2a.dip0.t-ipconnect.de)
L319[12:42:25] ⇦ Quits: bilde2910 (bilde2910@178.51-174-170.customer.lyse.net) (Ping timeout: 190 seconds)
L320[12:44:17] ⇨ Joins: bilde2910 (bilde2910@178.51-174-170.customer.lyse.net)
L321[12:45:23] ⇦ Quits: Jezza (~Jezza@92.206.15.110) (Quit: Leaving)
L322[12:54:50] ⇦ Quits: bilde2910 (bilde2910@178.51-174-170.customer.lyse.net) (Ping timeout: 204 seconds)
L323[12:56:18] ⇨ Joins: bilde2910 (bilde2910@178.51-174-170.customer.lyse.net)
L324[13:02:20] ⇨ Joins: KGS (~KGS@h-158-174-9-89.NA.cust.bahnhof.se)
L325[13:12:32] ⇨ Joins: McJty (~jorrit@94-224-152-129.access.telenet.be)
L326[13:18:10] ⇨ Joins: Hubry (~Hubry@ip-93-94-186-179.uznam.net.pl)
L327[13:29:29] ⇨ Joins: Cornelia (~Nel@c-75-71-231-133.hsd1.co.comcast.net)
L328[13:32:57] ⇨ Joins: killjoy (~killjoy@2606:a000:1118:80bc:8899:d8aa:3e93:faf9)
L329[13:47:40] ⇦ Quits: McJty (~jorrit@94-224-152-129.access.telenet.be) (Quit: Leaving)
L330[13:49:49] <killjoy> Help!
L331[13:49:55] <killjoy> My mechanical keyboard is too loud!
L332[13:50:26] <fry> earplugs!
L333[13:50:49] <howtonotwin> echo 0 > /sys/class/kbd/xxx/sound
L334[13:51:12] <killjoy> No, you want to pipe the sound into /dev/null
L335[13:51:55] <howtonotwin> That would be racy
L336[13:51:56] <killjoy> I do like the LEDs though
L337[13:52:42] <killjoy> Why don't most mechanical keyboards have a numpad?
L338[13:52:54] <fry> a lot of them do
L339[13:53:00] <fry> including mine
L340[13:53:04] <fry> but it takes a lot of space
L341[13:53:10] <killjoy> I can never find them
L342[13:53:11] <fry> and nobody needs it :P
L343[13:53:30] <killjoy> There are some games that make heavy use of the numpad
L344[13:53:32] <killjoy> i.e. gmod
L345[13:53:43] <fry> name one more :P
L346[13:53:50] <killjoy> some minecraft mods
L347[13:54:01] <fry> that doesn't count :P
L348[13:54:04] <howtonotwin> Blender, while not a game
L349[13:54:05] <killjoy> ksp I think
L350[13:54:55] <killjoy> Well, I find the numpad useful when typing in longg hex codes
L351[13:55:01] <killjoy> since a-f are entirely on the left hand
L352[13:55:44] <killjoy> Also I think any serious rts uses the numpad
L353[13:55:51] <killjoy> but I'm not sur
L354[13:56:27] <killjoy> FFVII
L355[13:57:00] <howtonotwin> FFVII has the same number of letters as seven
L356[13:57:04] <howtonotwin> So there's that
L357[14:03:55] ⇨ Joins: Uristqwerty (~chatzilla@modemcable128.165-177-173.mc.videotron.ca)
L358[14:05:54] ⇨ Joins: Ipsis (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk)
L359[14:07:55] <ghz|afk> just finished watching the netflix castlevania
L360[14:07:59] <ghz|afk> nice introduction
L361[14:08:06] <ghz|afk> looking forward to season 2 ;P
L362[14:08:51] <ghz|afk> [20:52] (killjoy): Why don't most mechanical keyboards have a numpad?
L363[14:08:59] <ghz|afk> there are mechanical keyboard without numpad? who'd buy that?
L364[14:09:11] <fry> people with small desks? :P
L365[14:09:19] <ghz|afk> one would think mechanical keyboard users have some taste
L366[14:09:27] <fry> or people who don't play gmod/ksp/excel :P
L367[14:09:36] <ghz|afk> don't get me wrong
L368[14:09:42] <ghz|afk> I have no use for the numpad
L369[14:09:51] <ghz|afk> well, with sporadic exceptions
L370[14:09:56] <ghz|afk> but I would still never buy a keyboard without one
L371[14:09:57] <ghz|afk> ;P
L372[14:10:05] <fry> sporadic exceptions? we have java for those.
L373[14:10:24] <ghz|afk> XD
L374[14:10:29] <ghz|afk> I'm a proud owner of one of these
L375[14:10:30] <ghz|afk> http://cherryamericas.com/wp-content/uploads/2014/12/G80-3000-Front-72-dpi-1100x641.jpg
L376[14:10:37] <ghz|afk> cherry mx black switches
L377[14:10:45] <ghz|afk> no multimedia keys, no colors
L378[14:10:46] ⇨ Joins: Relkofizz (~Relkofizz@S0106f0f249e0f7a3.cg.shawcable.net)
L379[14:10:49] <ghz|afk> a true keyboard.
L380[14:11:11] <ghz|afk> the only feature it lacks, is NKRO
L381[14:11:24] <fry> here's mine http://orig03.deviantart.net/6695/f/2010/096/8/f/compaq_p1_by_phaedrus2401.jpg
L382[14:11:49] <ghz|afk> ewh so many keys in the wrong place
L383[14:11:54] ⇦ Quits: RichardG (~richardg8@201.37.252.173) (Read error: Connection reset by peer)
L384[14:11:56] <fry> silly old, still works great :P
L385[14:12:23] <fry> also, nothing you can't get used to :P
L386[14:12:47] <fry> (hipster points for the lack of the windows key)
L387[14:13:54] <ghz|afk> the g80-3000 has a vista-style windows key
L388[14:13:56] <ghz|afk> it's an orb
L389[14:14:14] ⇨ Joins: RichardG (~richardg8@201.37.252.173)
L390[14:14:14] MineBot sets mode: +v on RichardG
L391[14:24:44] <Relkofizz> Hey,I'm trying to move my mod from 1.10.2 to 1.12, trying to get the new registry event subscription working, can someone lend me a hand? Here's a pastebin https://pastebin.com/mREvWDt1
L392[14:25:06] <howtonotwin> That's correct
L393[14:25:10] <howtonotwin> You just have to register the handler
L394[14:25:34] <Relkofizz> Where do I do that?
L395[14:25:37] <howtonotwin> Just stick a @EventBusSubscriber at the top of the class
L396[14:26:29] <howtonotwin> That's equivalent to a EVENT_BUS.register(YourClass.class) after mod construction, btw
L397[14:27:01] <howtonotwin> And you may want to use registerAll to avoid being redundant
L398[14:28:18] <Relkofizz> Yeah, I intend to later, just the examples I found didn't use it, so I figured I'd do this way till I got it working
L399[14:28:53] ⇨ Joins: h5h77 (~h5h77@2a02:8108:4b40:907:922b:34ff:feae:b38b)
L400[14:29:01] <howtonotwin> d(^.^)
L401[14:34:46] <Relkofizz> Got it working now, thanks for the help
L402[14:34:56] <howtonotwin> No problem
L403[14:57:49] <PaleoCrafter> so fry's counting Excel as a game? Wouldn't have expected anything else tbh
L404[14:58:10] <howtonotwin> Excel in Space is a game, at least
L405[14:58:15] <howtonotwin> It's called EVE :P
L406[14:59:13] <PaleoCrafter> also no surprise at that keyboard, especially what appears to be a trackball xD
L407[15:04:56] ⇨ Joins: MonkeyTyrant (~MonkeyTyr@blk-212-75-47.eastlink.ca)
L408[15:06:08] *** SatanicSanta is now known as Santa|afk
L409[15:08:50] *** mumfrey is now known as Mumfrey
L410[15:16:21] ⇦ Quits: Redfoxmoon (~Red@177.92-221-236.customer.lyse.net) (Read error: Connection reset by peer)
L411[15:16:31] ⇨ Joins: Redfoxmoon (~Red@177.92-221-236.customer.lyse.net)
L412[15:25:53] ⇨ Joins: quadraxis (~quadraxis@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net)
L413[15:26:09] ⇦ Quits: Hunterz (~hunterz@62.182.234.189) (Remote host closed the connection)
L414[15:28:55] ⇦ Quits: quadraxis (~quadraxis@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net) (Remote host closed the connection)
L415[15:29:16] ⇦ Quits: MonkeyTyrant (~MonkeyTyr@blk-212-75-47.eastlink.ca) (Quit: Leaving)
L416[15:29:18] <howtonotwin> Is there an event for registering TEs?
L417[15:30:07] <TechnicianLP> according to lex one should do it together with the blocks (which means Register<Blocks>)
L418[15:30:14] <howtonotwin> Ok thanks
L419[15:30:37] <TechnicianLP> (but dont make me search where he discussed that (somewhere on github ...))
L420[15:31:16] ⇦ Quits: Cornelia (~Nel@c-75-71-231-133.hsd1.co.comcast.net) (Ping timeout: 204 seconds)
L421[15:32:47] ⇦ Quits: Ipsis (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk) (Ping timeout: 200 seconds)
L422[15:38:23] ⇦ Quits: Uristqwerty (~chatzilla@modemcable128.165-177-173.mc.videotron.ca) (Max SendQ exceeded)
L423[15:40:56] ⇨ Joins: Uristqwerty (~chatzilla@modemcable128.165-177-173.mc.videotron.ca)
L424[15:41:33] ⇦ Parts: malte0811 (~malte0811@p54825e2a.dip0.t-ipconnect.de) ())
L425[16:05:15] ⇨ Joins: quadraxis (~quadraxis@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net)
L426[16:05:56] ⇦ Quits: howtonotwin (~howtonotw@75.110.22.15) (Quit: acpid: disrupt_irc: Commencing sleep...)
L427[16:19:41] <LexMobile> What part of DO NOT CONSTRUCT YOUR BLOCKS UNTIL THE REGISTER even don't you guys get?
L428[16:20:02] <LexMobile> Static constructors are bad mmkey
L429[16:20:12] <LexMobile> its literally the definition of not being able to be run multiple times
L430[16:21:41] <killjoy> I was sent this. https://www.youtube.com/watch?v=5pay_BLPpJ4
L431[16:24:18] <killjoy> I'm going to say that's where I got my name from now
L432[16:27:06] <illy> I spent an way longer than I would like trying to get textures working only to find out I spelled my modid is wrong in my assets folder >.>
L433[16:27:54] <PaleoCrafter> heh
L434[16:28:23] ⇨ Joins: c64cosmin (kiwiirc@79.114.70.53)
L435[16:29:38] <c64cosmin> o/ hello ppl, I wonder what is the most efficient way for testing ChunkGenerators, right now what I'm doing is running the code in debug mode and after changing the generation formula, I exit and save, delete the dimension folder and then reload
L436[16:29:42] <c64cosmin> is there any faster way?
L437[16:30:07] <illy> Now to figure out particles :D
L438[16:32:42] ⇦ Quits: killjoy (~killjoy@2606:a000:1118:80bc:8899:d8aa:3e93:faf9) (Ping timeout: 204 seconds)
L439[16:33:05] <PaleoCrafter> illy, just ASM in some hooks and globally enable additive blending
L440[16:34:11] * illy stabs PaleoCrafter in place of lex
L441[16:34:52] <PaleoCrafter> alright, PR the hooks to Forge ( ͡° ͜ʖ ͡°)
L442[16:35:03] <illy> ...
L443[16:35:20] *** MrKickkiller is now known as MrKick|Away
L444[16:37:01] *** PaleoCrafter was kicked by LexMobile (Twat))
L445[16:37:12] ⇨ Joins: PaleoCrafter (~paleo@weneg.de)
L446[16:37:13] MineBot sets mode: +v on PaleoCrafter
L447[16:37:21] <PaleoCrafter> :3
L448[16:40:34] <Renari> Does anyone know why this recipe isn't registering the expected way? https://gist.github.com/Renari/f58619bb3cc523e86b242d0ccdf6e800
L449[16:40:57] <ghz|afk> why are you doing this in code?
L450[16:40:59] *** Clank[Away] is now known as Clank
L451[16:41:08] <ghz|afk> that's like, perfect for a json file
L452[16:41:19] <ghz|afk> and you didn't show WHERE you run this
L453[16:41:21] <ghz|afk> so it's useless
L454[16:41:32] <ghz|afk> well you are missing .setRegistryName
L455[16:41:32] <Renari> Because it's generating items based on other items.
L456[16:41:38] <ghz|afk> so it wouldn't work anywhere
L457[16:41:49] <Renari> setRegistryName is beign called
L458[16:42:13] <ghz|afk> also
L459[16:42:23] <ghz|afk> you didn't really describe in what way this is unexpected
L460[16:42:26] <ghz|afk> what happens?
L461[16:42:48] <Renari> It was in a comment on the linked page.
L462[16:42:55] <Renari> sec
L463[16:43:21] <Renari> https://gist.github.com/Renari/f58619bb3cc523e86b242d0ccdf6e800/b8893480854ae7f15f46421f4c81e7dcc7bf6e5c
L464[16:43:43] <Renari> https://gist.github.com/Renari/f58619bb3cc523e86b242d0ccdf6e800
L465[16:43:49] <Renari> the second one is the entire class
L466[16:44:39] <Renari> The recipes for everything except the boots end up showing up as nothing in-game and boots show up as shown in the first file.
L467[16:45:27] <ghz|afk> what are the squares and crosses supposed to mean?
L468[16:45:36] <ghz|afk> just A and B item? empt and something?
L469[16:45:42] <Renari> Here: http://i.imgur.com/YoSwKXw.png
L470[16:45:59] <Renari> The other 3 items end up with no recipe.
L471[16:46:09] <ghz|afk> OH right
L472[16:46:10] <ghz|afk> this is armor
L473[16:46:15] <ghz|afk> so it's meant to look like any armor recipe
L474[16:46:17] <ghz|afk> but with random blocks
L475[16:46:19] <ghz|afk> I see
L476[16:46:45] <ghz|afk> don't use Ingredient.fromStacks(EMPTY)
L477[16:46:48] <ghz|afk> use Ingredient.EMPTY
L478[16:46:55] <Renari> Alright
L479[16:48:33] <LexMobile> Use the registry events not PostInit -.-
L480[16:52:43] <Renari> The way this is working is it's generating a list of recipes for each block and then later checking the config if any of them are disabled, and if they aren't it registers them.
L481[16:53:38] <c64cosmin> Minecraft's Chunk Generators are lightining fast compared to my own implementation :(
L482[16:53:52] <Renari> The recipes aren't registering the way I'm expecting though, previously it was passing an itemstack array into ShapedRecipes.
L483[16:54:34] <LexMobile> you dont need to generate recipes per block
L484[16:54:40] <LexMobile> and you dont need to make it 'configurable'
L485[16:54:56] <LexMobile> just register all your shit and disable the recipes if it is disabled
L486[16:55:05] ⇨ Joins: starg09 (~starg09@186.138.97.32)
L487[16:58:55] <Renari> That's what's being done, with the exception of registering recipes per block.
L488[17:01:12] <ghz|afk> couldn't you like
L489[17:01:36] <ghz|afk> ... register ONE recipe (well, one per armor type or something), that dynamically checks if the items form a valid armor piece?
L490[17:01:59] <ghz|afk> although I suppose that wouldn't show up nicely in JEI, but you fix that with JEI integrations
L491[17:02:39] <ghz|afk> c64cosmin: yup
L492[17:02:56] <ghz|afk> I started working on my own toy engine for 3d voxel worlds, some time ago
L493[17:03:07] <ghz|afk> I expected my code to be a lot faster than MC's
L494[17:03:22] <ghz|afk> but I struggled to not be more than one order of magnitude slower
L495[17:03:44] <ghz|afk> funny thing is, mcpe (windows 10 edition and such) are WAY faster
L496[17:03:45] <ghz|afk> ;P
L497[17:04:45] ⇨ Joins: KnightMiner (~KnightMin@adsl-75-5-65-139.dsl.emhril.sbcglobal.net)
L498[17:05:37] <Renari> I see what Lex was talking about, so currently what is happening is when the config is loaded it's calling enable or disable which registers the recipe based on the config. Rather everything could be registered and then only call disable on those that aren't valid.
L499[17:12:15] <c64cosmin> @ghz I expect that MCPE spawns more threads, but the noise generators are crazy optimized, afterall what I'm doing looks like this http://glslsandbox.com/e#41473.0 , it's clear why they are so slow :)
L500[17:14:20] *** amadornes is now known as amadornes[OFF]
L501[17:14:27] <ghz|afk> c64cosmin: heh
L502[17:14:37] <ghz|afk> mine... well, my code is in C# and it's quite long ;P
L503[17:15:05] <ghz|afk> but the code is the same logic as the original by Ken Perlin
L504[17:15:18] <ghz|afk> I also have a simplex noise generator
L505[17:15:45] <c64cosmin> fancy sharing, do you have some clips or something? :D
L506[17:16:11] <ghz|afk> I had some stuff on dropbox, but I deleted my dropbox account when they removed the public folder feature
L507[17:16:13] <ghz|afk> sec...
L508[17:17:24] <ghz|afk> ah no wait, I can't run atm
L509[17:17:33] <ghz|afk> I was in the middle of implementing SSAO, and nothing works
L510[17:18:38] <c64cosmin> haha, noisy screen xD, no problem, I'm curious though what you've been fiddling with :D
L511[17:18:58] ⇦ Quits: Noppes (~Noppes@ip56530f2e.direct-adsl.nl) (Read error: Connection reset by peer)
L512[17:20:17] <ghz|afk> these are some videos from last year
L513[17:20:18] <ghz|afk> https://1drv.ms/f/s!AvOILJoyO9_xjVBHITaWYbJszHU3
L514[17:20:54] <ghz|afk> the engine is fully multithreaded
L515[17:21:19] <ghz|afk> and fully 3D as in, there are vertical chunks
L516[17:22:09] <ghz|afk> the chunks exist in a custom octree implementation, using the chunk coord bits as the index
L517[17:22:34] <ghz|afk> the generation is split into multiple phases, each of which has different dependencies on previous phases and neighbours
L518[17:22:54] <Renari> Hm, that wont work, since it seems the register event is called somewhere around preInit, meaning other mods may not have registered their blocks yet.
L519[17:23:53] <ghz|afk> like: basic terrain calculation -> surface detection and water flooding -> decoration (not yet done) -> mesh generation & lighting
L520[17:24:16] <ghz|afk> each of those phases can depend on the previous phase of its own chunk, and the previous phase of the neighbour chunks
L521[17:24:41] <ghz|afk> like, (0,0,1) phase 1 can request (0,0,0) phase 0, but not phase 1
L522[17:25:16] <ghz|afk> that ensures there's never cyclic dependencies or runaway generation
L523[17:26:07] <c64cosmin> some nice terrain engineer I can see, look promising
L524[17:26:45] <ghz|afk> I tried to do voxed-based ambient occlusion
L525[17:26:56] <ghz|afk> but it made things HORRIBLY slow
L526[17:27:04] <ghz|afk> so I wanted to try SSAO instead
L527[17:28:02] ⇨ Joins: Cornelia (~Nel@c-75-71-231-133.hsd1.co.comcast.net)
L528[17:28:26] <c64cosmin> engineering, the octree idea is very good, also the AO can be calculated per voxel, with an arbitrary set of samples, though I think some ray tracing functionality might be useful
L529[17:28:53] <ghz|afk> I tried to compute a lightness value on each corner
L530[17:29:09] <ghz|afk> (a grid offset by half a block so that each cell woud lie on a corner)
L531[17:29:15] <fry> octree is not cache-friendly
L532[17:29:35] <ghz|afk> it is if you switch around the key
L533[17:29:47] <ghz|afk> also not using one bit per level
L534[17:29:56] <fry> corner AO should be stupidly fast too
L535[17:30:04] <ghz|afk> yeah but it's not enough
L536[17:30:10] <fry> yes, >1 bit per level is the key
L537[17:30:24] <ghz|afk> since two separately-lit meshes can share the corner
L538[17:30:36] <fry> why are they separately lit? :P
L539[17:30:48] <ghz|afk> XX
L540[17:30:51] <ghz|afk> __X
L541[17:30:52] <ghz|afk> __X
L542[17:30:59] <fry> ah, yes
L543[17:31:00] <ghz|afk> the "_" is dark inside of a room
L544[17:31:03] <ghz|afk> the space is outside
L545[17:31:05] <fry> which is why you do it per pixel :P
L546[17:32:21] <ghz|afk> yeah so when I realized I couldn't do corner AO without bleeding lights, I tried to make each voxel have 8 AO samples independent of neighbours
L547[17:32:26] <ghz|afk> but that multiplied the AO load by 8
L548[17:32:36] <ghz|afk> making it too slow
L549[17:32:42] <ghz|afk> at least for computing it the way I was
L550[17:33:02] <ghz|afk> so I went "eh, i'll try to implement SSAO"
L551[17:33:04] <fry> that is the way to go, if you still do it per vertex
L552[17:33:18] <fry> with SS you lose transparency
L553[17:33:22] <ghz|afk> which lead me to reworking the graphics pipeline to support deferred rendering
L554[17:33:52] <ghz|afk> which introduced a shitton of issues and took me ages to even get it to draw anything
L555[17:33:56] <c64cosmin> that will push your graphical posibilities quite fast
L556[17:34:15] <fry> simply using fragment shader with adequate culling is not much slower :P
L557[17:34:31] <fry> SS is all the rage, but it's not the only way :P
L558[17:35:27] <c64cosmin> I was thinking right now, how fast would be to isolate all the maximum size faces, and apply AO on those
L559[17:35:43] <fry> "maximum size faces"?
L560[17:35:46] <c64cosmin> after that you'd apply lighting
L561[17:36:07] <c64cosmin> you have a wall of 4x4 blocks, you don't have 16 faces, rather just one
L562[17:36:24] <c64cosmin> something like poly reduction technique
L563[17:36:36] <fry> doesn't help with AO, since it's not linear
L564[17:36:54] ⇨ Joins: sinkillerj (~sinkiller@nc-67-232-14-94.dhcp.embarqhsd.net)
L565[17:36:55] ⇨ Joins: Upth (~ogmar@108-204-125-173.lightspeed.frokca.sbcglobal.net)
L566[17:37:46] <ghz|afk> one thing I wanted to try with my toy engine
L567[17:37:50] <ghz|afk> was to support baked entities
L568[17:38:09] <ghz|afk> and I wanted to implement entity-based trees
L569[17:38:13] <ghz|afk> rather than block-based
L570[17:38:42] <c64cosmin> you mean baking all the entities to a single VBO?
L571[17:38:46] <ghz|afk> no I mean
L572[17:38:51] <ghz|afk> an entity that is declared static
L573[17:39:01] <ghz|afk> gets bakedto the VBO for the chunk mesh
L574[17:39:04] <ghz|afk> as if it was a block
L575[17:39:12] ⇦ Quits: Relkofizz (~Relkofizz@S0106f0f249e0f7a3.cg.shawcable.net) (Ping timeout: 204 seconds)
L576[17:39:13] ⇦ Quits: Upthorn (~ogmar@108.204.125.173) (Ping timeout: 204 seconds)
L577[17:39:26] <c64cosmin> afterwards you update by doing glSub....?
L578[17:39:34] <ghz|afk> well this is directx
L579[17:39:49] <c64cosmin> I suppose the alternative...
L580[17:39:49] <ghz|afk> so dunno what the equivalent would be ;P
L581[17:40:01] <ghz|afk> anyhow what I meant is
L582[17:40:03] <fry> directx, boooo
L583[17:40:06] <c64cosmin> xD
L584[17:40:11] <ghz|afk> okay okay
L585[17:40:13] <ghz|afk> it's monogame
L586[17:40:20] <ghz|afk> which has a directx backend, and an opengl backend
L587[17:40:29] <ghz|afk> but I'm developing on dx, because I prefer dx ;P
L588[17:40:37] <c64cosmin> has it's feats
L589[17:40:39] * ghz|afk thinks it's a superior API, even if less crossplatform
L590[17:41:06] <c64cosmin> never did more than a colored triangle, so cannot really talk about dx xD
L591[17:41:10] ⇦ Quits: AbrarSyed (~AbrarSyed@ipv6.abrarsyed.com) (Quit: All things are trivial once you've mastered them.)
L592[17:41:10] ⇦ Quits: Kolatra (~Kolatra@abrarsyed.com) (Quit: ~If you keep my secret, this strawberry is yours~)
L593[17:41:10] ⇦ Quits: diesieben|away (~diesieben@abrarsyed.com) (Quit: ZNC - http://znc.in)
L594[17:41:10] ⇦ Quits: Wuppy (~wuppyZNC@abrarsyed.com) (Quit: ZNC - http://znc.in)
L595[17:41:10] ⇦ Quits: x3n0ph0b3 (~x3n0ph0b3@abrarsyed.com) (Quit: ZNC - http://znc.in)
L596[17:41:10] ⇦ Quits: luacs1998 (~sayuka@abrarsyed.com) (Quit: ZNC - http://znc.in)
L597[17:41:22] <tterrag> rip abrar's bouncer
L598[17:41:25] <ghz|afk> so yeah... what I was saying... a tree, while attacked to the ground, would be static, it's geometry baked with the world grid, etc. but once broken by an axe, the detached piece would become dynamic, gain physics, and be able to roll around
L599[17:41:46] <ghz|afk> so trees owuld actually FALL once cut from the bottom ;P`
L600[17:42:07] <tterrag> revolutionary! :P
L601[17:42:53] <c64cosmin> http://imgur.com/wZTZmrt
L602[17:42:55] ⇨ Joins: Abrar|gone (~AbrarSyed@ipv6.abrarsyed.com)
L603[17:42:56] MineBot sets mode: +o on Abrar|gone
L604[17:43:23] *** Abrar|gone is now known as AbrarSyed
L605[17:43:23] ⇨ Joins: Reika (~Reika@reika.kalseki.mods.abrarsyed.com)
L606[17:43:36] <c64cosmin> something like that is done also in VoxelFarm with amazing results
L607[17:43:41] <ghz|afk> c64cosmin: funnything about dx
L608[17:43:47] ⇨ Joins: diesieben|away (~diesieben@abrarsyed.com)
L609[17:43:56] <ghz|afk> if you learn enough to actually draw ONLY a colored triangly
L610[17:44:05] <ghz|afk> you sortof learned more than the average person learns of opengl ;P
L611[17:44:14] *** diesieben|away is now known as diesieben07
L612[17:44:26] ⇨ Joins: Wuppy (~wuppyZNC@2001:19f0:6400:8965:5400:ff:fe07:8777)
L613[17:44:30] <ghz|afk> in many ways, the learning curve is a lot steeper
L614[17:44:38] <c64cosmin> unless you use ogl 4.0+ you go through the same difficulties
L615[17:44:42] <fry> copypasting MC code != learning :P
L616[17:44:48] ⇨ Joins: x3n0ph0b3 (~x3n0ph0b3@abrarsyed.com)
L617[17:45:06] <fry> also, you should be using vulkan for new things, it's 2017 :P
L618[17:45:12] <c64cosmin> xD
L619[17:45:41] <ghz|afk> lol, nah, dx12! ;P
L620[17:46:27] <fry> no.
L621[17:47:11] <ghz|afk> incidently, I heard from someone that some of vulkan's data structures look quite a lot like dx11's, which lead them to believe that vulkan was probably based on AMD's dx11 driver backend
L622[17:47:54] <fry> vulkan is based on amd's mantle
L623[17:48:00] <fry> it's fairly well known
L624[17:48:04] <ghz|afk> yeah
L625[17:48:31] <ghz|afk> well you can replace vulkan with mantle there ;P
L626[17:50:36] <fry> dx11 came many years before mantle
L627[17:50:53] <ghz|afk> yes
L628[17:50:58] <fry> it's reasonable to assume that there was a large code reuse between drivers
L629[17:51:04] <ghz|afk> exactly
L630[17:51:08] <fry> they do the same thing after all
L631[17:51:21] <fry> so I don't see how it is relevant in any way :P
L632[17:51:48] <ghz|afk> the "joke" (or rather, curiosity) was just that given dx<->gl rivality, vulkan would share things with DX
L633[17:52:16] <fry> surprize, there's tons of GL extensions that were originally DX features
L634[17:52:31] <fry> cause, you know, they are implemented by the same hardware
L635[17:53:00] <ghz|afk> you know, you could have said "heh" and I'd be going to sleep happy ;P
L636[17:53:25] <fry> there's nothing 'heh' about it :P
L637[17:53:50] <ghz|afk> that's the whole poitn about "heh" -- you say it when it wasn't really funny but you don't want to hurt other people's feelings ;p
L638[17:54:21] <fry> I'm sorry if I hurt your feelings
L639[17:54:37] ⇦ Quits: Hgrebnednav (~Hgrebnedn@d8d872a6e.access.telenet.be) (Ping timeout: 383 seconds)
L640[17:55:10] <ghz|afk> don't worry, it just annoys me very slightly when I think something is funny, but others don't agree
L641[17:56:13] <fry> I can see how one would find it funny :)
L642[17:56:32] <fry> also, DX uses left-handed coordinate system for the world, so it's clearly inferior :)
L643[17:56:45] <ghz|afk> as a left-handed person, that's offensive! ;P
L644[17:57:58] ⇨ Joins: Meronat (uid190493@id-190493.highgate.irccloud.com)
L645[17:58:56] <ghz|afk> but really, right-handed people should prefer left-handed coordinate systems, because they can make silly gestures with their left hand, and still have the right hand free to write down the numbers!
L646[17:59:18] ⇨ Joins: Inqy (~Inqy@159-205-149-127.adsl.inetia.pl)
L647[17:59:29] <ghz|afk> which means I should prefer right-handed coordinate systems... I'm a disgrace for my people.
L648[17:59:41] <fry> pfft, everyone types with the right hand, even left-handed people :D
L649[18:00:04] <c64cosmin> "silly gestures" xD
L650[18:00:14] <c64cosmin> I leave for like 10 minutes, that happens
L651[18:00:46] <ghz|afk> ah back in time, you can entertain fry for me
L652[18:00:48] <ghz|afk> i'm going to sleep
L653[18:00:51] <ghz|afk> night ppl
L654[18:00:57] * ghz|afk poofs
L655[18:01:18] <fry> same here :P
L656[18:01:23] <c64cosmin> o/
L657[18:01:23] <fry> zzzz
L658[18:01:27] ⇦ Quits: Rokiyo (~Rokiyo@101.167.173.217) (Ping timeout: 186 seconds)
L659[18:03:28] ⇨ Joins: Rokiyo (~Rokiyo@101.167.173.217)
L660[18:04:14] ⇦ Quits: MCDis (~MCDis@68.ip-158-69-220.net) ()
L661[18:04:24] ⇨ Joins: MCDis (~MCDis@68.ip-158-69-220.net)
L662[18:04:24] <tterrag> !gm 73660
L663[18:05:11] ⇦ Quits: Cornelia (~Nel@c-75-71-231-133.hsd1.co.comcast.net) (Ping timeout: 186 seconds)
L664[18:06:34] <c64cosmin> !gm
L665[18:06:56] *** PaleoCrafter is now known as PaleOff
L666[18:09:35] <Inqy> what's the equivalent of IExtendedEntityProperties saveNBTData/loadNBTData in Capabilities?
L667[18:10:10] <Inqy> I'm lost. ItemStackHandler uses INBTSerializable<NBTTagCompound>, forge site mentions ICapabilitySerializable<T extends NBTBase>
L668[18:29:07] ⇨ Joins: Umbraco (~Umbraco@113x37x12x233.ap113.ftth.ucom.ne.jp)
L669[18:29:20] ⇨ Joins: Cornelia (~Nel@c-75-71-231-133.hsd1.co.comcast.net)
L670[18:31:02] ⇦ Quits: Hubry (~Hubry@ip-93-94-186-179.uznam.net.pl) (Quit: Good night.)
L671[18:37:22] <LexMobile> ICapabilitySerializeable really isnt meant for modders
L672[18:37:38] <LexMobile> its just a shorthand for patches of INBTSerializeable and ICapabilityProvider
L673[18:44:55] ⇦ Quits: quadraxis (~quadraxis@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net) (Ping timeout: 200 seconds)
L674[18:53:42] <Inqy> ok
L675[19:17:43] ⇨ Joins: MonkeyTyrant (~MonkeyTyr@blk-212-75-47.eastlink.ca)
L676[19:20:09] ⇦ Quits: Nedelosk (~Nedelosk@ip-178-203-0-245.hsi10.unitymediagroup.de) (Read error: Connection reset by peer)
L677[19:48:12] <c64cosmin> does anyone know what this happens http://imgur.com/a/nCpjM
L678[19:48:42] <c64cosmin> I'm generating a 16x200x16 chunk using the generateNoiseOctaves , yet this slicing appears
L679[19:59:00] ⇨ Joins: PitchBright (~PitchBrig@CPE00fc8d8a3ce3-CM00fc8d8a3ce0.cpe.net.cable.rogers.com)
L680[20:00:01] ⇦ Quits: c64cosmin (kiwiirc@79.114.70.53) (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
L681[20:12:23] ⇨ Joins: User7365274 (webchat@host-39-165.robnet.pl)
L682[20:13:59] ⇦ Quits: User7365274 (webchat@host-39-165.robnet.pl) (Quit: Web client closed)
L683[20:15:10] ⇨ Joins: c64cosmin (~c64cosmin@2a02:2f09:3380:1383:4d39:3cda:97c5:24c8)
L684[20:27:36] <Inqy> erm, so I am probably missing something obvious, but my capability implements INBTSerializable, now what? The methods never get called. How do I make them get called when world is saved/read as it was with IEEP?
L685[20:27:51] <Inqy> in other words: is there a system for that in place or do I have to implement everything myself?
L686[21:01:46] ⇦ Quits: Wastl2 (~Wastl2@x4e3505ba.dyn.telefonica.de) (Read error: Connection reset by peer)
L687[21:05:44] ⇨ Joins: Wastl2 (~Wastl2@x4e3500e1.dyn.telefonica.de)
L688[21:10:38] *** Mumfrey is now known as mumfrey
L689[21:14:32] <Elec0> @Inqy, you should have a CapabilityProvider that implements ICapabilitySerilizable<NBTBase>, then has the serializeNBT and deserializeNBT methods that call your capability's writeNBT and readNBT
L690[21:14:34] <Elec0> at least that's how I did it
L691[21:14:44] <Elec0> albeit that was in 1.10, so it might have changed but I don't think so
L692[21:15:10] ⇦ Quits: Tahg (~Tahg@pool-71-248-165-18.bstnma.fios.verizon.net) (Ping timeout: 204 seconds)
L693[21:15:52] <Elec0> https://github.com/mchorse/capabilities is a basic example of making a capability that saves for 1.9.4
L694[21:16:28] ⇨ Joins: Tahg (~Tahg@pool-71-248-165-18.bstnma.fios.verizon.net)
L695[21:16:29] MineBot sets mode: +v on Tahg
L696[21:17:25] <Inqy> looking at that now, thank you
L697[21:22:08] <Inqy> ok, I don'
L698[21:22:22] <Inqy> ok I don't* see the methods called anywhere else, I assume that means forge magically takes over from that point on
L699[21:23:35] ⇦ Quits: KGS (~KGS@h-158-174-9-89.NA.cust.bahnhof.se) (Ping timeout: 186 seconds)
L700[21:36:20] <Inqy> @Elec0: works great now, thanks
L701[22:00:13] ⇦ Quits: starg09 (~starg09@186.138.97.32) (Quit: Leaving)
L702[22:04:34] ⇦ Quits: Rokiyo (~Rokiyo@101.167.173.217) (Ping timeout: 204 seconds)
L703[22:06:41] ⇨ Joins: Rokiyo (~Rokiyo@101.167.173.217)
L704[22:10:57] ⇦ Quits: MonkeyTyrant (~MonkeyTyr@blk-212-75-47.eastlink.ca) (Quit: Leaving)
L705[22:11:44] ⇨ Joins: starg09 (~starg09@186.138.97.32)
L706[22:17:14] ⇦ Quits: c64cosmin (~c64cosmin@2a02:2f09:3380:1383:4d39:3cda:97c5:24c8) (Ping timeout: 204 seconds)
L707[22:27:31] ⇨ Joins: killjoy (~killjoy@2606:a000:1118:80bc:f8b7:12e:161e:d96)
L708[22:36:29] ⇦ Quits: Inqy (~Inqy@159-205-149-127.adsl.inetia.pl) (Quit: Inqy)
L709[22:39:02] ⇨ Joins: Lathanael (~Lathanael@p54960A25.dip0.t-ipconnect.de)
L710[22:40:45] ⇦ Quits: Lathanael|Away (~Lathanael@p5496076F.dip0.t-ipconnect.de) (Ping timeout: 383 seconds)
L711[22:49:49] ⇦ Quits: Waterpicker (~Waterpick@2602:306:35ba:ca40:d8fb:9254:77b7:a846) (Quit: Leaving)
L712[22:54:48] ⇨ Joins: McJty (~jorrit@94-224-152-129.access.telenet.be)
L713[23:33:02] <tterrag> is there a TE method which is reliably called after readFromNBT and after world/pos has been set?
L714[23:33:07] ⇦ Quits: Cornelia (~Nel@c-75-71-231-133.hsd1.co.comcast.net) (Ping timeout: 200 seconds)
L715[23:33:17] <tterrag> validate() is called clientside without readFromNBT (and before desc packet I think)
L716[23:37:02] ⇦ Quits: Umbraco (~Umbraco@113x37x12x233.ap113.ftth.ucom.ne.jp) (Ping timeout: 204 seconds)
L717[23:37:35] ⇦ Quits: Meronat (uid190493@id-190493.highgate.irccloud.com) (Quit: Connection closed for inactivity)
L718[23:52:25] ⇦ Quits: sinkillerj (~sinkiller@nc-67-232-14-94.dhcp.embarqhsd.net) (Quit: またね)
L719[23:59:55] ⇦ Quits: primetoxinz (~primetoxi@ip68-107-226-229.hr.hr.cox.net) (Remote host closed the connection)
<<Prev Next>> Scroll to Top