<<Prev Next>> Scroll to Bottom
Stuff goes here
L1[00:06:57] ⇦ Quits: cpup (~cpup@32.218.118.158) (Ping timeout: 183 seconds)
L2[00:07:18] ⇦ Quits: CoderPuppy (~cpup@32.218.118.158) (Ping timeout: 186 seconds)
L3[00:08:36] ⇨ Joins: cpup (~cpup@32.218.119.23)
L4[00:11:07] ⇦ Quits: sinkillerj (~sinkiller@nc-67-232-15-178.dhcp.embarqhsd.net) (Quit: またね)
L5[00:12:09] <McJty> I'm using: buffer.begin(GL11.GL_LINES, DefaultVertexFormats.POSITION_COLOR); to render colored lines but I would like these lines to have alpha transparency
L6[00:12:29] <McJty> I'm giving 0.5f alpha to the color in the VertexBuffer but there is no alpha
L7[00:12:47] <McJty> And no, the obvious GLStateManager.enableAlpha() doesn't work
L8[00:13:38] ⇨ Joins: CoderPuppy (~cpup@32.218.119.23)
L9[00:23:17] ⇨ Joins: Me4502|Sexy (webchat@131-181-158-13.qut.edu.au)
L10[00:23:26] ⇦ Parts: Me4502|Sexy (webchat@131-181-158-13.qut.edu.au) ())
L11[00:23:31] ⇨ Joins: Me4502|Sexy (webchat@131-181-158-13.qut.edu.au)
L12[00:23:53] ⇦ Parts: Me4502|Sexy (webchat@131-181-158-13.qut.edu.au) ())
L13[00:23:55] <abab9579> I guess you should disableAlpha
L14[00:24:15] ⇨ Joins: Me4502_ (webchat@131-181-158-13.qut.edu.au)
L15[00:24:34] ⇦ Quits: Me4502_ (webchat@131-181-158-13.qut.edu.au) (Client Quit)
L16[00:26:12] ⇨ Joins: Me4502_ (webchat@131-181-158-13.qut.edu.au)
L17[00:26:17] <abab9579> GlStateManager::enableAlpha enables alpha filter
L18[00:26:48] ⇦ Quits: Me4502_ (webchat@131-181-158-13.qut.edu.au) (Client Quit)
L19[00:27:36] <abab9579> Which only passes those with l alpha level over 0.5
L20[00:28:14] <abab9579> Also blending should be enabled.
L21[00:33:15] ⇨ Joins: cpup- (~cpup@32.218.119.29)
L22[00:33:51] ⇦ Quits: CoderPuppy (~cpup@32.218.119.23) (Ping timeout: 383 seconds)
L23[00:34:26] ⇨ Joins: CoderPuppy (~cpup@32.218.119.29)
L24[00:35:41] ⇨ Joins: Ipsis (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk)
L25[00:35:47] ⇦ Quits: cpup (~cpup@32.218.119.23) (Ping timeout: 383 seconds)
L26[00:37:47] <McJty> Let me try that
L27[00:38:30] <McJty> Hmm no, doesn't make a difference either
L28[00:38:59] <McJty> Oh actually it does
L29[00:40:04] <McJty> Thanks
L30[00:44:59] <abab9579> Glad it worked :)
L31[00:46:20] ⇨ Joins: Abastro (~Abastro@175.223.39.197)
L32[00:52:42] ⇦ Quits: abab9579 (~Abastro@175.223.31.1) (Ping timeout: 383 seconds)
L33[00:58:05] ⇨ Joins: Mraof (~mraof@pool-96-253-118-18.rcmdva.fios.verizon.net)
L34[00:59:00] <Mraof> If I'm going to make a tech (or maybe magic) mod, what other mods are the most important to consider and have support for?
L35[00:59:11] <Mraof> (I haven't done much modding since 1.7.10)
L36[01:17:20] ⇨ Joins: Hunterz (~hunterz@62.182.234.189)
L37[01:27:30] ⇦ Quits: Brokkoli (~Brokkoli@p2E5B133F.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))
L38[01:32:12] ⇦ Quits: cpup- (~cpup@32.218.119.29) (Ping timeout: 183 seconds)
L39[01:45:42] ⇨ Joins: Elec0 (~Elec0@2605:e000:2d86:4f00:a5b8:e1c0:222a:7a78)
L40[01:57:03] ⇨ Joins: h5h77 (~h5h77@2a02:8108:4b40:907:922b:34ff:feae:b38b)
L41[01:57:20] ⇨ Joins: cpup (~cpup@32.218.119.84)
L42[01:58:55] ⇦ Quits: CoderPuppy (~cpup@32.218.119.29) (Ping timeout: 383 seconds)
L43[02:00:03] <MCPBot_Reborn> [TEST CSV] Pushing snapshot_20170813 mappings to Forge Maven.
L44[02:00:07] <MCPBot_Reborn> [TEST CSV] Maven upload successful for mcp_snapshot-20170813-1.12.zip (mappings = "snapshot_20170813" in build.gradle).
L45[02:00:18] <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:06:08] ⇦ Quits: Elec0 (~Elec0@2605:e000:2d86:4f00:a5b8:e1c0:222a:7a78) (Quit: Leaving)
L47[02:07:52] ⇦ Quits: killjoy (~killjoy@2606:a000:1118:8164:9c70:b7b:2604:7fe4) (Ping timeout: 204 seconds)
L48[02:23:42] ⇦ Quits: cpup (~cpup@32.218.119.84) (Ping timeout: 204 seconds)
L49[02:24:55] ⇨ Joins: cpup (~cpup@32.218.119.107)
L50[02:29:11] ⇨ Joins: Hgrebnednav (~Hgrebnedn@d8d872a6e.access.telenet.be)
L51[02:31:04] ⇦ Quits: McJty (~jorrit@94-224-153-80.access.telenet.be) (Quit: Leaving)
L52[03:21:20] ⇦ Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 204 seconds)
L53[03:37:02] ⇦ Quits: Abastro (~Abastro@175.223.39.197) (Ping timeout: 383 seconds)
L54[03:39:52] ⇨ Joins: Abastro (~Abastro@175.223.39.197)
L55[03:42:25] <TechnicianLP> is there something that could break 1.12>1.12.1?
L56[03:42:52] ⇦ Quits: cpup (~cpup@32.218.119.107) (Ping timeout: 204 seconds)
L57[03:44:05] ⇨ Joins: cpup (~cpup@32.218.119.202)
L58[03:49:50] ⇦ Quits: blood (~unknown@ip-4-39-52-196.chicago.us.northamericancoax.com) ()
L59[03:58:59] ⇨ Joins: Larry1123 (Larry1123@irc.larry1123.net)
L60[04:07:17] <ghz|afk> TechnicianLP: mostly coremods using notch names
L61[04:07:38] <ghz|afk> or stuff touching the deep internals
L62[04:07:43] ⇦ Quits: cpup (~cpup@32.218.119.202) (Ping timeout: 183 seconds)
L63[04:07:50] <ghz|afk> eitherthrough ASMing or heavy reflection
L64[04:08:37] <ghz|afk> thte chances are low your mod won't work
L65[04:08:39] <ghz|afk> the*
L66[04:09:36] ⇨ Joins: cpup (~cpup@32.218.119.217)
L67[04:13:42] <TechnicianLP> yeah seems to work ... (even though im confused how [1.12] allows 1.12.1)
L68[04:14:03] <ghz|afk> forge does
L69[04:15:20] <ghz|afk> there's a thingy in the mod info loader
L70[04:15:47] <ghz|afk> just like how if it saw [1.9.4] it would implicitly replace it with [1.9.4,1.10.2]
L71[04:16:01] <ghz|afk> if it sees [1.12] it replaces it with [1.12.0,1.12.1]
L72[04:25:23] <TechnicianLP> now to figure out why intellij always wants to start in fullscreen-mode
L73[05:08:49] *** PaleOff is now known as PaleoCrafter
L74[05:13:33] <ghz|afk> I wanna hug whoever made FG2.2 reject forge 1.12 versions
L75[05:13:47] <ghz|afk> I would have corrupted my gradle folder once again ;P
L76[05:14:11] <TechnicianLP> why would it corrupt with fg2.2?
L77[05:14:26] <PaleoCrafter> changes due to Java 8 support, iirc
L78[05:14:55] <ghz|afk> yeah the fg2.2 decompiler output doesn't match the patches
L79[05:15:08] <ghz|afk> which leaves the thing in a state where it is unable to continue due to that
L80[05:15:09] ⇦ Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 383 seconds)
L81[05:15:34] <ghz|afk> the only solution is to wipe the gradle cache of those invalid files, which is annoying so "cleanCache" was the easy solution
L82[05:22:42] ⇨ Joins: Nedelosk (~Nedelosk@ip-109-90-74-164.hsi11.unitymediagroup.de)
L83[05:24:44] ⇨ Joins: Larry1123 (Larry1123@irc.larry1123.net)
L84[05:31:05] <Abastro> What would happen if two different coords return identical TEs or such?
L85[05:33:24] ⇨ Joins: abab9579 (~Abastro@175.117.182.109)
L86[05:35:03] <PaleoCrafter> a lot of bad things, Abastro :P
L87[05:38:21] ⇦ Quits: Abastro (~Abastro@175.223.39.197) (Ping timeout: 383 seconds)
L88[05:47:33] ⇨ Joins: BlueMonster (uid82864@id-82864.ealing.irccloud.com)
L89[05:58:35] <abab9579> Like what..? =/
L90[05:58:44] *** abab9579 is now known as Abastro
L91[06:04:45] <PaleoCrafter> TEs are inherently associated with a position
L92[06:05:08] <PaleoCrafter> reusing the object for another position would result in a lot of weirdness
L93[06:10:38] <Akkarin> Well. Can't be that terrible. Saving the world would break entirely, you'd probably receive two tick calls, etc.
L94[06:10:58] <Akkarin> Simply put: You might rather want to manage whatever state you wish to share somewhere else so mc doesn't poop itself
L95[06:11:03] <ghz|afk> well given the fact that TEs are stored in a map
L96[06:11:04] <ghz|afk> per chunk
L97[06:11:07] <ghz|afk> based on their position
L98[06:11:14] <ghz|afk> I don't think you CAN have two TEs for the same position?
L99[06:11:23] <Akkarin> yup. Multiple tick calls and probably one gets lost
L100[06:11:31] <Akkarin> not two TEs for the same position
L101[06:11:40] <Akkarin> well I guess I'd look like that for the chunk saving mechanism
L102[06:12:10] <ghz|afk> wait I was thinking opposite
L103[06:12:13] <ghz|afk> nevermind
L104[06:12:21] <ghz|afk> that's two BlockPos mapped to the same object
L105[06:12:24] <ghz|afk> not the other way around
L106[06:12:48] <ghz|afk> even if you did manage to do that somehow
L107[06:12:59] <ghz|afk> it would behave very badly
L108[06:13:07] <ghz|afk> and never survive a save+reload
L109[06:13:11] <ghz|afk> we all agree on that :P
L110[06:14:56] <Akkarin> don't think you'd see explosions at least
L111[06:15:31] <ghz|afk> Abastro: are you making a multiblock machine?
L112[06:15:54] <Akkarin> well in that case make one TE at a known location track the state
L113[06:16:09] <Akkarin> otherwise create something global that knows of these connections (however you decide what is connected and what isn't)
L114[06:16:14] <ghz|afk> yeah there's two ways to have multiblock structures
L115[06:16:25] <ghz|afk> 1. master-slave, where the slaves forward calls to the master
L116[06:16:40] <ghz|afk> 2. shared data object
L117[06:17:03] <ghz|afk> #1 method works best for machines that are local and the date is internal to them
L118[06:17:26] <ghz|afk> #2 method works best for abstract networks that may continue existing elsewhere even if the structure is disassembled
L119[06:22:02] ⇨ Joins: KGS (~KGS@h-158-174-9-50.NA.cust.bahnhof.se)
L120[06:26:55] <Abastro> Well no
L121[06:27:09] <Abastro> Remember that I'm working on spherical world?
L122[06:27:23] <Abastro> It's related with the seams.
L123[06:29:11] <Abastro> The issue is that there are two BlockPos representing the same pos
L124[06:32:18] <ghz|afk> why?
L125[06:32:55] <Akkarin> wouldn't you rather be dealing with negative and positive coordinates or only positive coordinates that each identify a block uniquely depending on what you chose to do? :o
L126[06:33:44] <Akkarin> I mean. You do have to define a way to identify the position of things regardless of what you do and it does need to be unique
L127[06:33:58] <Akkarin> not only for blocks but also for entities and what not that ... well walk on it
L128[06:34:27] <Abastro> Yes of course I'll have unique coords for then
L129[06:34:36] <Abastro> But not probably BlockPos.
L130[06:39:05] <Abastro> To clarify, I get a problem of a block having 5 adjacent blocks.
L131[06:39:31] <Abastro> It happens where two world of distinct angle collides.
L132[06:44:34] <Abastro> Making adjacency work would be painful...
L133[06:44:56] <PaleoCrafter> https://youtu.be/0Nf1mEkGi08?t=5m49s hm... apart from the Norse setting, that enemy also sounds an awful lot like those from Wuppy's Einar xD
L134[06:45:55] <Wuppy> yep, it's sorta similar ins't it
L135[06:46:14] <Wuppy> but I gtg. bye
L136[06:46:27] <PaleoCrafter> heh, hadn't even expected you to respond :D
L137[06:55:03] <Abastro> http://m.imgur.com/GlG3Lbo.jpg
L138[06:55:24] <heldplayer> Is that heresy I see?
L139[06:55:33] <barteks2x> So I see 4 possible ways to fix the random netty issue, anyidea how should I choose which one?
L140[06:55:36] <Akkarin> have fun. with that concept you are probably going to break just about all of the code
L141[06:56:10] <Abastro> Pic describing my issue.. I have no idea how to fix thr coordinates.
L142[06:56:19] <ghz|afk> Abastro: when you said spherical world, I assumed it would just wrap around as a square, not an actual sphere ;P
L143[06:56:49] <barteks2x> I still thing the way would be to just wrap x/z coords
L144[06:56:54] <ghz|afk> like
L145[06:56:54] <ghz|afk> https://i.ytimg.com/vi/7ajiIdNkwdI/maxresdefault.jpg
L146[06:56:59] <ghz|afk> but in a bigger scale ;P
L147[06:57:00] <barteks2x> and map those onto the surface of a sphere wth distortions
L148[06:57:09] <Abastro> The problem is seam on entering the planet.
L149[06:57:16] <Abastro> Oh
L150[06:57:42] <barteks2x> you would get distortions at the poles
L151[06:57:57] <barteks2x> where from far away blocks would be "smaller"
L152[06:58:19] <ghz|afk> yeah I'd distort things only when seen far away, but still wrap the square
L153[06:58:22] <barteks2x> Then if you insist you can use some shaders to render some sort of curvature
L154[06:58:24] <ghz|afk> so that if you are in the surface
L155[06:58:26] <ghz|afk> it looks flat
L156[06:58:29] <ghz|afk> all the way throug
L157[06:58:30] <ghz|afk> h
L158[06:58:48] <barteks2x> on the surface you can use a shader that approximates curvature
L159[06:58:51] <ghz|afk> rendering with curvature will make people dizzy
L160[06:59:02] <ghz|afk> unless the world is large enough to appear flat
L161[06:59:04] ⇦ Quits: Spottedleaf (~Spottedle@node-1w7jr9qqos9g14aacupyzn7km.ipv6.telus.net) (Ping timeout: 383 seconds)
L162[06:59:05] <barteks2x> if the sphere will be big, it won't be too noticable
L163[06:59:07] <ghz|afk> in whcih case you don't need a shader
L164[06:59:08] <ghz|afk> ;P
L165[06:59:30] <barteks2x> it would basically just make things disappear behind the horison with big render distance
L166[07:00:00] <ghz|afk> the way I'd do it is to keep it all flat when you are on the surface, but when moving away form the surface, draw the surface as a hemisphere map
L167[07:00:31] <barteks2x> and to renderthe planet you could map the coprds to surfa e of the sphere as I said, you would also use large scale biome map and maybe density map if neded to approsimate colors
L168[07:00:33] <ghz|afk> and this wouldn't even need to draw the actual blocks for far away chunks, since it would be WAY too heavy, so only basic biome coloring would be more than enough
L169[07:00:42] <barteks2x> so that you don't need to actually generate the whole thing
L170[07:01:24] <barteks2x> and if you already have the biome color based stuff - you could actuallyu render it as a sphere all the time in places without chunks
L171[07:01:34] <barteks2x> and would get awesome "infinite" render distance
L172[07:04:09] <Abastro> How can I map (x,z) onto the sphere?
L173[07:04:12] ⇦ Quits: Shawn|i7-Q720M (~shawn156@c-73-153-76-80.hsd1.co.comcast.net) (Read error: Connection reset by peer)
L174[07:04:24] ⇨ Joins: Uristqwerty (~chatzilla@modemcable128.165-177-173.mc.videotron.ca)
L175[07:04:30] <Abastro> I didn't get the point.
L176[07:05:29] <barteks2x> the reverse of map projections
L177[07:06:04] <barteks2x> The earth is a sphere, but we do have rectangular maps
L178[07:06:18] <Abastro> But that means area distortion on poles.
L179[07:06:35] <barteks2x> it does. On the rendered sphere blocks would be smaller
L180[07:06:53] <barteks2x> and more tightly packed, with exactly at the pole being infinitely small
L181[07:07:25] <barteks2x> but this is much more sane approach than completely rewriting coordinate handling in MC
L182[07:08:39] <Abastro> Though, entering to the pole of the world won't look sane.
L183[07:09:01] <ghz|afk> you ahve to make a choice
L184[07:09:18] <Abastro> I may eliminate adjacency idea if I have to.
L185[07:09:32] <ghz|afk> if you want to make it into an actual sphere you could render all at once and have it truly mapped correctly block by block
L186[07:09:40] <barteks2x> other way would be to look at how the game StarMade did it
L187[07:09:41] <ghz|afk> it's going to look crappy, no matter what method you choose
L188[07:09:48] <barteks2x> but it's... ugly
L189[07:09:55] <barteks2x> as it it doesn't look good from player perspective
L190[07:09:57] <ghz|afk> either you cut off the blocks (ugly)
L191[07:10:03] <ghz|afk> or distord the blocks (ugly)
L192[07:10:25] <barteks2x> the "best" way would be to use cubic chunks with modified gravity and have a real sphere
L193[07:10:35] <ghz|afk> the alternative is to do away with true sphere, and just have a square grid that folds on itself on both X and Z
L194[07:10:42] <Abastro> Oh it did this way?
L195[07:10:55] <barteks2x> you looked at starmade?
L196[07:11:01] <ghz|afk> but it won't be truly a sphere at all
L197[07:11:16] <barteks2x> I also remember a game that actually did it with wrapping X/Z coords
L198[07:11:19] <ghz|afk> it will be a hyperbolic plane.
L199[07:11:40] <ghz|afk> you can't truly map that into a sphere, but you can pretend to draw it and ignore the fact that it will never truly be a sphere
L200[07:11:57] <ghz|afk> if you did that
L201[07:12:06] <ghz|afk> you could draw a hemisphere from the rectangle grid
L202[07:12:19] <ghz|afk> centered around the closest point to you
L203[07:12:33] <ghz|afk> this means that as you move around, things wouldn't be on the same place in the sphere
L204[07:13:01] <barteks2x> the problem will always be transition between space and planet
L205[07:13:12] <Abastro> Yes, that.
L206[07:13:44] <barteks2x> instead of approximating a hemisphere around your point, you could always render the same sphere with distorted block
L207[07:14:05] <barteks2x> and as you get closer the blocks are scaled up to be the right size regardless of distortions
L208[07:14:08] <Abastro> And cubic world won't make sense with newtonian gravity
L209[07:14:19] <barteks2x> witha shader you could smootly remove the distortions as you get closer
L210[07:15:07] <barteks2x> you also want newtonian gravity?
L211[07:15:41] <Abastro> Well that's the problem
L212[07:16:30] <barteks2x> do you want it to actually change directions or just changing sthength is enough?
L213[07:17:02] <barteks2x> really, MC has manyhardcoded parts about gravity
L214[07:17:02] <Abastro> What do you mean by changing directions?
L215[07:17:25] <barteks2x> should it be actually based on blocks?
L216[07:17:32] <barteks2x> or would it be just predetermined by planet?
L217[07:17:59] <barteks2x> (as in could you affect the gravity by plcing eniough blocks)
L218[07:19:04] <Abastro> Gravity should be downward direction, isn't it?
L219[07:19:27] <ghz|afk> it's usually the other way around
L220[07:19:33] <ghz|afk> "down" is where gravity pulls you toward
L221[07:19:37] <barteks2x> yes, if you map a rectangle onto the surface of a sphere, you won't have any issue with that
L222[07:19:56] <barteks2x> because when you are on the surface the gravity is always right
L223[07:20:14] <barteks2x> the only issue would be doing it right as you get farther away
L224[07:20:55] <barteks2x> but since in vanilla you can't build above y=256 you can haver a cutoff beyond which you just consider it to be space and do your own gravity
L225[07:22:41] <Abastro> I need gravity hook anyway, for other planets.
L226[07:23:43] <Abastro> So some hackery is necessary.
L227[07:25:04] <barteks2x> would be cool for it to have galactocraft integration
L228[07:25:17] <Abastro> How..?
L229[07:25:32] <Abastro> I see no way for it to be compatible with it.
L230[07:25:37] <barteks2x> if you do it right it may just work
L231[07:26:22] <barteks2x> all galactocraft does is makes a rocket entity, that flies up and as it reaches a cutoff point it transfers you doa different dimension
L232[07:26:52] <Abastro> I have to hijack the entity before it going up
L233[07:27:57] <barteks2x> you probably would need to modify galacticraft if you want to actually travel that distance to another planet
L234[07:28:12] <barteks2x> might be also a good idea to actually create your own space world
L235[07:28:20] <barteks2x> where you would have no actual chunks
L236[07:28:29] <Abastro> Also I need custom handling for worlds, which will break galacticraft.
L237[07:28:40] <Abastro> Yes I'm going to have that.
L238[07:29:18] <Abastro> (And starmade planets seem to be dodecahedron)
L239[07:30:58] <barteks2x> they are ugly but they are not intended to be walked on by players most of the time
L240[07:35:09] ⇨ Joins: Yuri6037 (kiwiirc@ALagny-155-1-11-45.w83-114.abo.wanadoo.fr)
L241[07:38:01] <Yuri6037> Hey all I'm creating a replacement mod for the old UgoCraft mod that is stuck on Mc 1.7.10, I'm modding 1.11. I already got the slider block working and a first version of the entity to handle moving blocks. I'm trying to add the isolation plates however for that I need to store custom bits flags on existing blocks. Does anyone know a way to store
L242[07:38:01] <Yuri6037> custom bits on any block
L243[07:38:03] <Yuri6037> ?
L244[07:38:19] ⇨ Joins: Hgrebnednav_ (~Hgrebnedn@d8D872A6E.access.telenet.be)
L245[07:39:10] <ghz|afk> Yuri6037: you can't add data to random blocks
L246[07:39:17] <ghz|afk> you can add a capability to a TE, but not to like, a dirt block
L247[07:39:30] ⇨ Joins: sinkillerj (~sinkiller@nc-67-232-10-50.dhcp.embarqhsd.net)
L248[07:39:59] <ghz|afk> you could replace the original blocks with blocks that copy the aspect of the original but have the custom data added to them
L249[07:40:01] <Yuri6037> Dirt is not conserned as it's not allowed to be movable (cause it would do an infinite recursion
L250[07:40:30] <Yuri6037> That means I need to replicate millions of blocks ?
L251[07:40:33] <ghz|afk> I said dirt meaning "an arbitrary block that isn't your own"
L252[07:40:38] <ghz|afk> no
L253[07:40:59] <ghz|afk> you can have a block with tileentity that can hold the info needed to draw like another block
L254[07:41:42] <Yuri6037> Yeah and by the way add 1000 of those blocks and enjoy 3 FPS....
L255[07:41:58] <ghz|afk> nah
L256[07:42:03] <ghz|afk> TE != slow
L257[07:42:22] <Yuri6037> But the TESR would have to create a vertex buffer
L258[07:42:27] <ghz|afk> no TESR
L259[07:42:31] <ghz|afk> you can use standard static models
L260[07:42:48] <ghz|afk> this is a bit old, but the concepts apply to 1.11: https://gist.github.com/williewillus/57d7093efa80163e96e0
L261[07:42:55] <Abastro> I may remove adjacency and let the connections work only through interdimensional devices or some utility blocka
L262[07:42:57] <ghz|afk> just the exact classes and such have changed a bit
L263[07:43:20] <ghz|afk> this explains the rendering concepts of 1.8+ including how to achieve a "camo block" (a block that looks like another)
L264[07:43:42] <barteks2x> Abastro, you can do whatever you ant here but doing anything other than wrapping x/z coords is going to be a lot of work and much more incompatibilities
L265[07:43:55] <ghz|afk> the alternative is to store those bits SEPARATELY
L266[07:43:56] <ghz|afk> as in
L267[07:44:02] <ghz|afk> have your own chunk data elsewhere
L268[07:44:06] <ghz|afk> with the extra bits
L269[07:44:15] <ghz|afk> and manage your own saving and loading when the chunks save and load
L270[07:44:24] <ghz|afk> it seems far more complicated to me
L271[07:44:43] <Yuri6037> I though of that I even though of hacking the minecraft format to check if there are any unused bits for flags
L272[07:45:09] <Yuri6037> I would go that way if I can not find a simpler/faster way
L273[07:45:11] <barteks2x> with the registries nothing is unused
L274[07:45:30] <ghz|afk> and there will be even less in 1.12
L275[07:45:31] <ghz|afk> 1.13*
L276[07:45:35] <ghz|afk> they are getting rid of metadata
L277[07:45:47] <ghz|afk> and moving block storage to IBlockState IDs
L278[07:45:53] <ghz|afk> and item storage to NBT
L279[07:46:05] <ghz|afk> (meaning the items won't have a metadata either)
L280[07:46:44] <ghz|afk> anyhow
L281[07:46:50] <ghz|afk> my suggestion is that you have a camo block
L282[07:46:59] <Yuri6037> Well on your link I can not find anywhere where I could dynamicallt change the model of my block
L283[07:47:10] <ghz|afk> yes you can
L284[07:47:10] ⇦ Quits: CorexTech (~edmonds@99-108-142-68.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer)
L285[07:47:14] <ghz|afk> it talks about ExtendedBlockState
L286[07:47:17] <ghz|afk> and IUnlistedProperty
L287[07:47:28] <ghz|afk> you can have a custom IBakedModel
L288[07:47:43] ⇨ Joins: CorexTech (~edmonds@99-108-142-68.lightspeed.sntcca.sbcglobal.net)
L289[07:47:46] <ghz|afk> in its getQuads method receives an IBlockState
L290[07:48:26] <Yuri6037> and how do I link an IBakedModel to my block ?
L291[07:48:41] <ghz|afk> back
L292[07:48:43] <ghz|afk> so
L293[07:48:56] <ghz|afk> using blockstates json, you can reference a custom model location
L294[07:49:03] <ghz|afk> which loads using a custom model loader
L295[07:49:27] <ghz|afk> this custom model loader can bake into a custom IBakedModel that casts the IBlockState to IExtendedBlockState
L296[07:49:34] <ghz|afk> and gets an IUnlistedProperty from it
L297[07:49:36] <ghz|afk> meanwhile
L298[07:49:36] <Yuri6037> And how do I specify the custom model loader
L299[07:49:44] ⇦ Quits: Hgrebnednav_ (~Hgrebnedn@d8D872A6E.access.telenet.be) (Quit: Leaving)
L300[07:50:25] <ghz|afk> on your block, you'll have to define the IUnlistedProperty, and from getExtendedState and ONLY on getExtendedState, you can use withProperty of the IUnlistedProperty
L301[07:50:35] <ghz|afk> to get a copy of the info from your TE (it shoudl always be a copy)
L302[07:50:40] <ghz|afk> brb
L303[07:51:48] <ghz|afk> back
L304[07:51:56] <ghz|afk> to get a custom model loader
L305[07:51:59] <ghz|afk> you register it
L306[07:52:06] <ghz|afk> it's literally all in that doc
L307[07:52:46] <ghz|afk> and if not, it's not too hard to find where forge registers the OBJ loader or the B3D loader
L308[07:53:06] <ghz|afk> it's just a call to ModelLoaderRegsitry.registerLoader
L309[07:53:22] <ghz|afk> your custom model loader will have an "accepts" function
L310[07:53:34] <ghz|afk> that will receive the custom special location you will recognize as your own
L311[07:53:59] <ghz|afk> this is an example of a working custom model
L312[07:54:02] <ghz|afk> it's NOT a camo block
L313[07:54:05] <ghz|afk> but it's a custom model: https://github.com/gigaherz/Everpipe/blob/master/src/main/java/gigaherz/everpipe/pipe/client/PipeBakedModel.java
L314[07:54:52] <ghz|afk> this is the client proxy code https://github.com/gigaherz/Everpipe/blob/master/src/main/java/gigaherz/everpipe/client/ClientProxy.java#L31
L315[07:55:19] <ghz|afk> and this is the blockstates json I use to reference my custom model
L316[07:55:19] <ghz|afk> https://github.com/gigaherz/Everpipe/blob/master/src/main/resources/assets/everpipe/blockstates/block_pipe.json#L14
L317[07:58:56] <Yuri6037> And is there a way to have the block use the properties of the block it reflects ?
L318[07:59:19] <Yuri6037> like if it's stone it should have lighting of a stone hardness of a stone, ....
L319[07:59:45] <Yuri6037> if it's a glowstone clone it should be emiting light
L320[08:01:54] <barteks2x> if the properties in Block are location/state aware you can override them and return data based on the block from TileEntity
L321[08:02:19] <Yuri6037> yeah which is not the case for hardness cause it's a value you set...
L322[08:02:42] <barteks2x> there still is a getter
L323[08:02:51] <barteks2x> does it get a BlockPos?
L324[08:02:55] <ghz|afk> you can get relatrively close
L325[08:02:57] <ghz|afk> but not 100%
L326[08:04:18] <Yuri6037> well if not 100% then it's not what I need it HAS to be 100% identical just that there are bits set that's all
L327[08:04:44] <ghz|afk> well you can get a few variations of your special block
L328[08:04:53] <ghz|afk> and choose the correct match based on the original properties
L329[08:05:10] <barteks2x> and whatthai bit is supposed to do again?
L330[08:05:51] <Yuri6037> It's supposed to identify if this specific block instance in the world can not be used for an EntityMovingBlocks
L331[08:06:16] <barteks2x> and what will the value of that bit depend on?
L332[08:06:22] <barteks2x> set by player? calculated somehow?
L333[08:06:34] <Yuri6037> The value of that bit is set by item on right click on block
L334[08:07:19] <barteks2x> I'm not exactly sure what the mod is doing, what is that EntityMovingBlocks? An entity made of blocks?
L335[08:08:21] <Yuri6037> EntityMovingBlocks represents a set of blocks that do not exist physically in the world but exists as an entity that can move/rotate smoothly
L336[08:08:47] <Yuri6037> and it renders as the different blocks it is composed of
L337[08:09:13] <barteks2x> and you create ot from normal blocks right? And how do you distinguish ones that are supposed to be part or one EntityMovingBlocks from ones that will be part of another EntityMovingBlocks?
L338[08:09:26] <barteks2x> some kind of controller block? Will it be "remembered" by the item?
L339[08:10:00] <barteks2x> maybe it would be possible to just store all blockpos instances smewhere
L340[08:10:14] <barteks2x> instead of adding a flag to blocks
L341[08:11:06] <Yuri6037> I create from normal blocks from the origin blockpos in constructor, and there is a black list first for buttons/grass/stone, ... And the idea is to have the ability for the player to set a block that normaly is recursively added as black listed but not add ALL blocks of that type just THAT block
L342[08:11:44] <ghz|afk> I feel like this would be best in 1.12
L343[08:11:53] <Yuri6037> Why ?
L344[08:12:01] <barteks2x> So you could store the BlockPos list somewhere
L345[08:12:02] <ghz|afk> because they have the new terracotta blocks
L346[08:12:12] <ghz|afk> which don't stick to pistons or slime blocks
L347[08:12:22] <ghz|afk> so you could also say "hey they don't stick to my rotaty-block-machine
L348[08:12:50] <ghz|afk> and just have the user place a glazed terracotta where they want the thing to stop being "stuck together"
L349[08:13:07] <barteks2x> but then you may want to allow user to add the terracota
L350[08:13:12] <Yuri6037> yeah but my flag must be independent from the piston thing
L351[08:13:30] <ghz|afk> well if you want it to be separate, then /shrug :P
L352[08:13:44] <ghz|afk> I'd probably do what barteks2x says in that case
L353[08:13:56] <ghz|afk> and have you click to toggle which blocks are included
L354[08:13:58] <ghz|afk> rather than excluded
L355[08:14:04] <barteks2x> if the daya doesn't need to be saved after you quit the world, you can even store it in some global hashmap
L356[08:14:07] <ghz|afk> and I'd have some kind of overlay
L357[08:14:13] <barteks2x> and if it needs to be saved, just save it in WorldSavedData
L358[08:14:14] <ghz|afk> shown while you hold this item
L359[08:14:21] <ghz|afk> that shows you which ones are connected
L360[08:14:39] <ghz|afk> looking at the mod
L361[08:14:40] <ghz|afk> http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/mods-discussion/2300452-ugocraft-mod-for-minecraft-1-7-10
L362[08:14:44] <ghz|afk> there's some kind of controller block
L363[08:14:48] <ghz|afk> that you place at the center of the thing
L364[08:14:52] <barteks2x> if there is controller, even easier
L365[08:14:54] <ghz|afk> so that block could have a TE with the list of blockpos
L366[08:14:58] <barteks2x> just store the whitelisted BlockPos there
L367[08:15:00] <Yuri6037> ghz that's exactly what I planned with tat item I was planning on marking the edge of that block with a beam
L368[08:15:28] <ghz|afk> yep then I'd store the blockpos list in the TE of the controller
L369[08:15:31] <barteks2x> just plkease don't use BlockPos.toLong for serialization, it makes me sad that it wouldn't work with infinite height
L370[08:15:37] <ghz|afk> and mark the included, and not the excluded
L371[08:15:50] <ghz|afk> XD
L372[08:17:54] <Yuri6037> that might be a problem because the blocks are recursively added it's a recursion I can't really set a whitelist otherwise you'd have to mark used blocks yourself I intended to just mark unused blocks not used ones
L373[08:18:16] <ghz|afk> well it's up to you
L374[08:18:32] <ghz|afk> I suggested that it may be best to switch it around and mark the included instead of the excluded
L375[08:18:43] <ghz|afk> but if you disagree, you can still store a list of blockpos that you wnat to exclude
L376[08:18:47] <Yuri6037> I'd have to mark the excluded that are connected to the included
L377[08:19:07] <Yuri6037> if the user specifies a block that is connected it would be ignored
L378[08:19:42] <barteks2x> based on what I understod you would have block types included by default
L379[08:19:57] <barteks2x> and then you can explicitly mark some of the excluded ones as inclluded
L380[08:20:14] <barteks2x> so that would be your blockpos whitelist
L381[08:20:45] <Yuri6037> No that's not how it works by default there are some blocks that are excluded then you can add more specific block instances as excluded
L382[08:21:08] <Yuri6037> it's a blacklist system not whitelist
L383[08:21:25] <barteks2x> you could just make that item flip between excluded and included
L384[08:22:01] <barteks2x> but whatever, still a blockpos list
L385[08:22:16] <barteks2x> that you can store in the controller, or in whatever other place
L386[08:22:56] <Yuri6037> Yes still the blockpos list.... Is there a way to redirect MC NBT to IOutputStream/IInputStream ?
L387[08:23:23] <Yuri6037> That way I could store a file in the world's save
L388[08:23:36] <barteks2x> Vanilla generally uses CompressedStreamTools
L389[08:24:29] <barteks2x> also you can use WorldSavedData
L390[08:24:35] <barteks2x> which should just take NBT
L391[08:24:48] <Yuri6037> what is WorldSavedData ?
L392[08:24:55] <barteks2x> or store it as NBT in controller
L393[08:25:15] <barteks2x> iirc vanilla uses that to store data abou structures like strngholds
L394[08:25:36] <Yuri6037> The thing is that controller would need to either use whitelist or would cause data duplication
L395[08:25:55] <barteks2x> why?
L396[08:25:56] <Yuri6037> or would need a special algorythm...
L397[08:26:16] <Yuri6037> Because you can add any block pos as not usable in the entire world
L398[08:26:34] <barteks2x> so what is the problem?
L399[08:26:48] <barteks2x> oh, you want a global unusabeblockPos?
L400[08:26:52] <Yuri6037> How do I know which blockpos is linked to which controler
L401[08:27:09] <Yuri6037> Yes that's a world global blacklist
L402[08:27:24] <barteks2x> ... why?
L403[08:27:47] <barteks2x> why would blackisting some blocks for one structure made it automatically blacklisted for other one?
L404[08:28:25] <Yuri6037> Imagine a bridge
L405[08:29:00] <Yuri6037> made of two parts that slides in and out they would be two different constructions but need to NOT connect when they join
L406[08:29:33] <Keridos> when using a TESR as item renderer
L407[08:29:49] <Keridos> how can I prevent the model from inventory changing when the TE is changed ingame?
L408[08:29:52] <barteks2x> then you need to exclude BlockPos of the edge of #1 in #2 and exclude the edge of #2 in #1
L409[08:30:00] ⇦ Quits: Nedelosk (~Nedelosk@ip-109-90-74-164.hsi11.unitymediagroup.de) (Read error: Connection reset by peer)
L410[08:30:20] <barteks2x> if you exclude any of these globally, it's not going to be part of eother of them
L411[08:31:02] <Yuri6037> yes and globally would make it much easier to integrate with the current way and would be the same as UgoCraft
L412[08:31:42] <barteks2x> so you want the excluded blocks to be global, independent of the controller? Not linked to any specific one?
L413[08:31:55] <Yuri6037> Yes that makes sense
L414[08:32:09] <Keridos> is there a tool that can create item models based from java ingame models for TESR?
L415[08:32:15] <barteks2x> then you could use WorldSavedData, or if it ever gets accepted as forge PR in the future chunk capabilities
L416[08:33:39] <barteks2x> but I still think it wold be better and more efficient on large scale to have per-controller excluded/included ones. But it's not me making it
L417[08:38:08] <Yuri6037> the percontroller one would be a lot more complicated to do due to the fact an item is not linked to a specific block
L418[08:38:42] <Yuri6037> I would have to dynamically create a new item in the creative tab for each controller block
L419[08:41:36] <Yuri6037> Or is there a way to know when an item destroys a block and which block that item destroyed ?
L420[08:41:49] <Yuri6037> Inside the Item class
L421[08:49:47] <Yuri6037> I found a function that allows me to check when an item breaks a certain block but I can't seam to cancel break
L422[08:53:05] ⇦ Quits: sinkillerj (~sinkiller@nc-67-232-10-50.dhcp.embarqhsd.net) (Quit: またね)
L423[08:56:23] ⇦ Quits: cpup (~cpup@32.218.119.217) (Ping timeout: 186 seconds)
L424[08:57:20] ⇨ Joins: Nedelosk (~Nedelosk@ip-109-90-74-164.hsi11.unitymediagroup.de)
L425[09:02:29] ⇨ Joins: cpup (~cpup@32.218.113.175)
L426[09:12:35] ⇦ Quits: Yuri6037 (kiwiirc@ALagny-155-1-11-45.w83-114.abo.wanadoo.fr) (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
L427[09:20:37] <barteks2x> So I have 4 or more ways to fix a forge netty-related bug, a few of them are easy to do hacks, and the last one require a more major change to the code but is less of a hack. And I have no clue which would be better to do here
L428[09:21:11] ⇨ Joins: Brokkoli (~Brokkoli@p2E5B133F.dip0.t-ipconnect.de)
L429[09:22:47] <barteks2x> could I get some feedback on it before I submit a PR?
L430[09:23:02] ⇦ Quits: PitchBright (~PitchBrig@CPE00fc8d8a3ce3-CM00fc8d8a3ce0.cpe.net.cable.rogers.com) (Quit: brb)
L431[09:25:10] ⇦ Quits: cpup (~cpup@32.218.113.175) (Ping timeout: 186 seconds)
L432[09:28:04] ⇨ Joins: malte0811 (~malte0811@p4FDE5519.dip0.t-ipconnect.de)
L433[09:28:20] ⇨ Joins: PitchBright (~PitchBrig@CPE00fc8d8a3ce3-CM00fc8d8a3ce0.cpe.net.cable.rogers.com)
L434[09:32:20] ⇨ Joins: cpup (~cpup@32.218.113.221)
L435[09:33:18] ⇨ Joins: quadraxis (~quadraxis@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net)
L436[09:36:36] *** Lathanael|Away is now known as Lathanael
L437[09:43:38] <Keridos> what values do modelbases rotationX Y or z have?
L438[09:43:51] <Keridos> trying to get my model to render with yaw and pitch
L439[09:44:11] <Keridos> where yaw and pitch are values in degrees of rotation
L440[09:44:56] ⇨ Joins: Javaschreiber (~Thunderbi@p5790ebc1.dip0.t-ipconnect.de)
L441[09:45:02] ⇦ Quits: Javaschreiber (~Thunderbi@p5790ebc1.dip0.t-ipconnect.de) (Client Quit)
L442[09:47:40] ⇦ Quits: Chais (~Chais@62.178.210.212) (Read error: Connection reset by peer)
L443[09:50:53] ⇨ Joins: Chais (~Chais@62.178.210.212)
L444[10:00:31] ⇨ Joins: Jaffa (~Jaffa@cpc79543-sund12-2-0-cust91.11-1.cable.virginm.net)
L445[10:05:44] <Jaffa> Hey, is there an event to hook into before a login but after auth (with a reference to the network handler) where I can cancel the login? I'm currently using FMLNetworkEvent.ServerConnectionFromClientEvent but can't cancel the event
L446[10:14:43] ⇨ Joins: Spottedleaf (~Spottedle@d75-155-207-106.bchsia.telus.net)
L447[10:20:24] <ghz|afk> hmf
L448[10:20:33] <ghz|afk> how are you supposed to use RegistryEvent.MissingMappings?
L449[10:20:50] <PaleoCrafter> what is it you want to do with it? :P
L450[10:20:54] <barteks2x> I'm more curious what would anyone use it for?
L451[10:20:59] <malte0811> I used it in IE
L452[10:21:02] <ghz|afk> wait nevermind, I see
L453[10:21:10] <PaleoCrafter> changing IDs, for example
L454[10:21:11] <malte0811> the block anmes had uppercase before 1.11
L455[10:21:15] <PaleoCrafter> or removing stuff
L456[10:21:16] <malte0811> *names
L457[10:22:00] ⇨ Joins: CoderPuppy (~cpup@32.218.113.221)
L458[10:22:09] <ghz|afk> upgrade old name to new name in a test mod on one of my libs
L459[10:22:29] <ghz|afk> it's a one-time thing, so meh
L460[10:23:02] <barteks2x> so for the netty fix, shoudl I first submit: reverting to the old reflection hack idea, properly handle threads there, in that one place set new handshake state before sending packet as a workaround, fix it properly by modifying all the code to always set new handshake state before sending packets, or a clientside hack that special cases the wrong packets?
L461[10:24:35] *** diesieben|away is now known as diesieben07
L462[10:30:57] ⇦ Quits: cpup (~cpup@32.218.113.221) (Ping timeout: 200 seconds)
L463[10:31:22] ⇦ Quits: CoderPuppy (~cpup@32.218.113.221) (Ping timeout: 204 seconds)
L464[10:31:52] ⇨ Joins: Shawn|i7-Q720M (~shawn156@c-73-153-76-80.hsd1.co.comcast.net)
L465[10:32:37] ⇨ Joins: cpup (~cpup@32.218.114.9)
L466[10:33:39] <TechnicianLP> should MathHelper.sin/cos be prefered over the default ones? (java.lang.Math)
L467[10:34:36] <diesieben07> Not really. The standard ones are JVM instrinsics and are optimized a lot on modern processors. The MathHelper things use techniques mostly useful on older less-powerful hardware, afaik.
L468[10:34:54] <barteks2x> but the MathHelper ones can be optimized by optimization mods
L469[10:35:20] <diesieben07> afaik what those do is just redirect to java.lang.Math, right?
L470[10:36:14] <malte0811> No, they have a lookup table
L471[10:36:24] <diesieben07> isnt that what MathHelper already does?
L472[10:36:31] ⇨ Joins: CoderPuppy (~cpup@32.218.114.9)
L473[10:36:44] <diesieben07> yes it is.
L474[10:36:50] <malte0811> Wait, have I missed something?
L475[10:37:07] <diesieben07> maybe?
L476[10:37:13] <malte0811> Oh, you were talking about optimization mods
L477[10:37:23] <malte0811> I thought you meant the default implementation
L478[10:39:12] <TechnicianLP> so in conclusion i should be using the default ones because they are hardware optimized?
L479[10:39:28] <diesieben07> that's what I would say, yes. But I am no expert.
L480[10:43:32] <malte0811> Lookup tables seem to be faster, but less acurate (https://stackoverflow.com/a/16934267) So I'd say use Math.sin for acuracy and MathHelper.sin for performance
L481[10:44:24] <malte0811> Actually it seems like that depends on CPU caching and such
L482[10:44:44] <diesieben07> yep, on modern CPUs the sin is optimized by the jvm afaik
L483[10:46:06] <diesieben07> lookup tables are also hard to benchmark, since they depend on the cpu cache
L484[10:46:21] <diesieben07> if you are doing a benchmark the only thing really being accessed is the table, so it'll be in the cache, and fast.
L485[10:46:27] <PaleoCrafter> I only talked to somebody else about intrinsics (in this case Math.max) and interestingly enough, those can turn out slower than the obvious implementation: https://stackoverflow.com/questions/22752198/java-math-min-max-performance
L486[10:46:27] <diesieben07> that's not the case in the real world
L487[10:47:02] <PaleoCrafter> apparently only in that type of scenario, because branch prediction can work wonders, but still interesting xD
L488[10:48:34] <diesieben07> so it's not really slower, it's just that the benchmark is flawed, right?
L489[10:49:28] <PaleoCrafter> well, for a common usecase of Math.max, determining the maximum of a list, it'd actually be slower :P
L490[10:49:47] <diesieben07> provided the branches are predicted...
L491[10:49:50] <PaleoCrafter> but in all other circumstances it most likely is a lot faster
L492[10:50:21] <PaleoCrafter> yeah, and apparently the prediction is more or less a given with large enough collections :P
L493[10:50:55] <diesieben07> i wonder why that is...
L494[10:51:12] <PaleoCrafter> depends a lot on the nature of your data as well, if I understand it correctly
L495[10:51:16] <diesieben07> yeah
L496[10:51:34] <diesieben07> I would expect it to be predictable if the maximum element is either at the very beginning of the list or the very end
L497[10:52:54] <PaleoCrafter> yep, the "more sorted" the data is, the better it probably gets
L498[10:53:48] <diesieben07> but in the thing you linked, the data is random...
L499[10:54:54] <ghz|afk> IMO, there's only one reason to NOT use Math.sin: if you need a lot of them and you don't want the standard double-precision values.
L500[10:55:14] <ghz|afk> like how MathHelper.sin is float instead of double
L501[10:55:33] <ghz|afk> but even then, the performance is questionable
L502[11:04:18] ⇦ Quits: RichardG (~richardg8@201.37.241.168) (Read error: Connection reset by peer)
L503[11:04:35] ⇨ Joins: RichardG (~richardg8@201.37.241.168)
L504[11:04:35] MineBot sets mode: +v on RichardG
L505[11:08:28] ⇦ Quits: Cornelia (~Nel@c-75-71-231-133.hsd1.co.comcast.net) (Ping timeout: 383 seconds)
L506[11:21:59] <ghz|afk> hmm I was wondering, how does forge dependency extraction handle multiple versions of a library?
L507[11:22:51] <barteks2x> so I can just include dependency jars into my mod jar now?
L508[11:23:08] <ghz|afk> I'm adding a couple new features to my GraphLib, so I bumped the version from 1.3.x to 1.4.0, so I would expect there to be "GraphLib-1.3.x.jar" and "GraphLib-1.4.0.jar" inside the 1.12.1 folder
L509[11:23:09] <diesieben07> Yes, need to specify them with ContainedDeps in the manifest
L510[11:23:12] <ghz|afk> which files would end up used?
L511[11:23:18] <ghz|afk> barteks2x: it has been possible since 1.7.10 or earlier
L512[11:23:22] <diesieben07> and ghz, it seems it does not handle it at all
L513[11:23:27] <diesieben07> it just compares file names
L514[11:23:46] <diesieben07> it also does not delete any old files, so if you ship a new version and the old version is still there, you will have problems.
L515[11:23:51] <ghz|afk> barteks2x:
L516[11:23:51] <ghz|afk> https://github.com/gigaherz/Ender-Rift/blob/master/build.gradle
L517[11:24:18] <ghz|afk> Liones: 50-53, 57, 60, 71-81
L518[11:24:20] <ghz|afk> Lines*
L519[11:24:41] <ghz|afk> that's all you need to ask gradle to generate a jar within a jar, witht he proper manifest data
L520[11:25:55] <ghz|afk> I have 3 released mods using this already
L521[11:26:00] <PaleoCrafter> ghz|afk, my system handles multiple versions somewhat
L522[11:26:23] <PaleoCrafter> if the modlist.json contains a version already but a mod wants to extract another one, that will always be used
L523[11:26:25] <ghz|afk> so far the only comments have been "why is your mod downloading jars and what do they do?"
L524[11:26:49] <PaleoCrafter> there's no logic for strictly updating an artifact yet, though
L525[11:27:15] <PaleoCrafter> right now, whatever mod wanted to extract the dependency last would get to do it
L526[11:27:23] <barteks2x> So can it be used for non-mod dependencies/
L527[11:27:29] <ghz|afk> yes
L528[11:27:43] <ghz|afk> forge adds mods/ and mods/<current mc version> to the classpath
L529[11:27:57] <barteks2x> but if it doesn't delete old jars... that really doesn't look like better solution
L530[11:28:03] <barteks2x> considering how clueless most users are
L531[11:29:30] <PaleoCrafter> my solution *does* remove old dependencies
L532[11:29:31] <barteks2x> Even wheninstalling mod is as simple as putting the jar in and should work no matter what, they find more and mre creative way to screw it up
L533[11:29:35] <PaleoCrafter> the JARs are still there, but in a separate repo
L534[11:29:52] <barteks2x> but can't use it below 1.12
L535[11:30:16] <PaleoCrafter> if mezz feels like it, we can backport it
L536[11:30:39] <barteks2x> and then still I want to release 1.10 version of mymod if I release before 1.13
L537[11:30:46] <barteks2x> because I want to support 3 major versions back
L538[11:31:13] <PaleoCrafter> well, that insanity is up to you :P
L539[11:40:38] ⇦ Quits: Spottedleaf (~Spottedle@d75-155-207-106.bchsia.telus.net) (Ping timeout: 186 seconds)
L540[11:44:08] <ghz|afk> I suppose 3 major versions, but I develop separately
L541[11:44:13] <ghz|afk> well, i support 2
L542[11:44:25] <ghz|afk> but right now, I'm finishing the 1.10 cycle
L543[11:44:33] <ghz|afk> trying to get the last polishing touches on 1.10.2 mods
L544[11:44:45] <ghz|afk> but developing new features only on 1.12
L545[11:48:54] <PaleoCrafter> somebody want to create 3 JARs with different contained dep version for me? :P
L546[11:55:52] <barteks2x> Cubic chunks is so easy to support across multiple MC version that there is no real reason not to. Literally the only signifficant changes are forge and mappings.
L547[12:03:55] <PaleoCrafter> welp, ghz|afk, I added version checking to the extraction
L548[12:04:09] <PaleoCrafter> and my implementation doesn't actually delete old dependencies, I mixed something up
L549[12:04:52] <barteks2x> so old versions will still be loaded?
L550[12:05:05] <PaleoCrafter> old versions get replaced
L551[12:05:06] <barteks2x> or will just keep being there without being loaded?
L552[12:05:08] <PaleoCrafter> but old files won't
L553[12:05:11] *** Lathanael is now known as Lathanael|Away
L554[12:05:27] <PaleoCrafter> i.e. removing a mod completely will leave in its extracted deps
L555[12:05:39] <barteks2x> what if new version ha different filename in te jar?
L556[12:05:43] <PaleoCrafter> but updating a mod or adding a mod shipping a newer extracted dep, that will get used
L557[12:06:02] <PaleoCrafter> it's not based on the filename but separate Maven artifact data
L558[12:06:23] <barteks2x> so I will be able to make my RegionLib actual extracted jar
L559[12:06:25] <PaleoCrafter> actually removing unnecessary dependencies would require me to store information about all extracted deps somewhere separately or alternatively use parent modlist
L560[12:06:31] <barteks2x> I'm curious if it could be done on mixin
L561[12:06:39] ⇨ Joins: McJty (~jorrit@94-224-153-80.access.telenet.be)
L562[12:06:43] <PaleoCrafter> it should technically be doable
L563[12:07:17] <PaleoCrafter> the extraction occurs completely before any mods are loaded
L564[12:07:25] <barteks2x> and again, if 2 mods ship different version of the same library, what is the planned thing to do?
L565[12:07:37] <barteks2x> does it also occur before any coremods are loaded?
L566[12:07:40] <PaleoCrafter> yep
L567[12:07:46] <PaleoCrafter> "any mods" includes coremods for me :P
L568[12:08:09] <barteks2x> As for the extraction system mixin I have one more question
L569[12:08:17] <barteks2x> *and mixin
L570[12:08:17] <PaleoCrafter> if 2 mods ship different versions of the same lib, assuming they specify the same artifact group and name, the newer version will be preferred
L571[12:08:53] <barteks2x> I know the coremod part should be in separate jar. Are the mixin interfaces condiered part of coremod or aprt of mod?
L572[12:09:16] <PaleoCrafter> I'd say they're part of the coremod
L573[12:09:28] <barteks2x> but then I may need to export them in API
L574[12:09:40] <barteks2x> as in, other mods will be able to use them as API
L575[12:09:53] ⇦ Parts: malte0811 (~malte0811@p4FDE5519.dip0.t-ipconnect.de) ())
L576[12:10:28] <barteks2x> they are directly referenced by the Mixin classes, but te mixin classes never actually get loaded. They are more of metadata
L577[12:10:59] <PaleoCrafter> I've never worked with mixin, so I'm really not entirely sure what the best course of action would be :P
L578[12:11:48] <barteks2x> mixin allows me to for example make World implement ISomethingWorld. Is that interface part of coremod orpartof mod?
L579[12:12:11] <barteks2x> ifI added that interface on top of World manually with asm, what would it count as?
L580[12:12:29] <diesieben07> I'd say that interface is part of the public API
L581[12:12:31] <diesieben07> so keep it in your mod
L582[12:14:05] <barteks2x> I'm not exactly sure if the interface class is loaded by mixin or is loaded when loading the class that implements it
L583[12:14:42] <barteks2x> I keep putting off actually working on 1.12 because I have a lot of stuff to do anyway...
L584[12:35:59] ⇦ Quits: h404bi (~h404bi@119.129.115.6) (Ping timeout: 200 seconds)
L585[12:46:32] <Jaffa> I'm not understanding why I'm getting this error. https://gist.github.com/DeliciousJaffa/182e2bd6f1e04316d807e989434626f7
L586[12:47:33] ⇦ Quits: Kuraron (~DUX@HSI-KBW-46-223-0-70.hsi.kabel-badenwuerttemberg.de) (Remote host closed the connection)
L587[12:48:37] <barteks2x> maybe the player list needs some additional initialization code?
L588[12:48:50] <barteks2x> look at what vabilla does to player list up until the point the event
L589[12:49:21] <Jaffa> It runs the same init code as the dedicated server
L590[12:49:44] <Jaffa> Since it is using super in the constructor
L591[12:50:03] <barteks2x> Yes but there may be some other methods called on it after constructing it
L592[12:50:09] <barteks2x> which affect the internal state
L593[12:52:06] <Jaffa> I don't see what would cause an issue in them https://gist.github.com/DeliciousJaffa/ab62df3813f510053cb15a9f8f57052c
L594[12:53:09] <barteks2x> I will take a deper look at it once gradle finished because rnning out of memory
L595[12:53:33] <Ordinastie> debugger would be the best help here
L596[12:54:16] <barteks2x> the server may call more methods on the PlayerList instance mutating it's state
L597[12:54:22] <barteks2x> AFTER the PlayerList constructor runs
L598[12:54:33] <barteks2x> when you replace it with new instance, the server expects it to have the same state
L599[12:55:54] <Jaffa> Ugh, I need to be heading off now, but I'll leave my client open, feel free to PM me for when I get back in a few hours
L600[12:56:45] ⇨ Joins: RichardG_ (~richardg8@201.37.252.48)
L601[12:56:45] MineBot sets mode: +v on RichardG_
L602[12:59:38] ⇦ Quits: RichardG (~richardg8@201.37.241.168) (Ping timeout: 383 seconds)
L603[13:01:04] ⇨ Joins: Raycoms (~Raycoms@2804:14d:baa0:97c0:6df4:99db:909b:ac81)
L604[13:01:07] <Raycoms> !latest 1.11.2
L605[13:01:21] <ghz|afk> there was never 1.11.2 mappings, you'll have to look for 1.11
L606[13:01:26] <Raycoms> !latest 1.11
L607[13:01:28] <Raycoms> Thanks =D
L608[13:01:32] *** RichardG_ is now known as RichardG
L609[13:02:13] <ghz|afk> example of what NOT to do in a modpack
L610[13:02:14] <ghz|afk> https://www.youtube.com/watch?v=iS4LWLKnS6c
L611[13:02:27] <ghz|afk> it removes the mc version and forge version from the main menu
L612[13:03:35] ⇨ Joins: Cornelia (~Nel@c-75-71-231-133.hsd1.co.comcast.net)
L613[13:03:54] <ghz|afk> it's not even technically about patent protection, just they want you to have to pay them to use AVX
L614[13:05:59] <ghz|afk> oops wrong channel
L615[13:06:37] <ghz|afk> so it seems that pack is 1.10.2 https://mods.curse.com/modpacks/minecraft/269327-sprout-explore-for-more
L616[13:07:21] <Ordinastie> where is the mod list ?
L617[13:07:39] <ghz|afk> dependencies
L618[13:07:41] <ghz|afk> in the project site
L619[13:07:50] <ghz|afk> incidently: ooooh!
L620[13:07:50] <ghz|afk> https://minecraft.curseforge.com/projects/chunk-animator
L621[13:07:51] <Ordinastie> they have animated doors but I don't think it's my mod
L622[13:07:53] <ghz|afk> I like this mod
L623[13:07:59] ⇨ Joins: killjoy (~killjoy@2606:a000:1118:8164:93c:d312:b9aa:52df)
L624[13:08:27] <PaleoCrafter> welp, the dep extraction now supports removing dependencies as well
L625[13:09:13] <Ordinastie> oh, apparently it is my mod
L626[13:10:20] <PaleoCrafter> quick, somebody name any actual maven artifact that I can add to my depextraction example :P
L627[13:10:25] <ghz|afk> that chunk animator mod is awesome :D
L628[13:10:31] <barteks2x> I've seen ome hond of door frequently break in MalisisDoor 9some kind of gorizontal 2x2 ones)
L629[13:10:49] <Ordinastie> say that again ? ><
L630[13:11:14] <ghz|afk> PaleoCrafter: "gigaherz.commons:gigaherz.commons-1.12.1:0.6.4"
L631[13:11:17] <barteks2x> the edges of those doors was sometimes transparent and sometimes not
L632[13:11:34] <barteks2x> which made tem sometimes look like they are floating
L633[13:11:52] <PaleoCrafter> is that on central or jcenter, ghz|afk? :P
L634[13:11:57] <ghz|afk> http://dogforce-games.com/maven
L635[13:11:58] <ghz|afk> ;P
L636[13:12:30] <Ordinastie> this one ? https://puu.sh/slpto.png
L637[13:12:35] <Ordinastie> that's the only 2x2 doors
L638[13:12:49] <barteks2x> no some horizontal rusty 2x2 ones
L639[13:12:54] <Ordinastie> ah
L640[13:13:17] <ghz|afk> http://dogforce-games.com/maven/gigaherz/commons/gigaherz.commons-1.12.1/0.6.4/gigaherz.commons-1.12.1-0.6.4.jar
L641[13:13:21] <ghz|afk> actual URL if you want to dl
L642[13:13:26] <Ordinastie> yes, I've had reports of this, but I was never able to replicate
L643[13:13:36] <barteks2x> I may still have a world with it
L644[13:13:46] ⇨ Joins: Kuraron (~DUX@HSI-KBW-46-223-0-70.hsi.kabel-badenwuerttemberg.de)
L645[13:13:52] <barteks2x> but it will take me a ile to convince my brother to give me access to the computer it's on
L646[13:14:02] <barteks2x> note that it was on dedicated server
L647[13:14:07] <barteks2x> I didn't test it on singleplayer
L648[13:15:01] <barteks2x> I also didn't have too many mods installed, but some of them could cause issues (foamfix and optifine mainly)
L649[13:15:22] <PaleoCrafter> I need to add a pre-commit hook to my Forge fork to run the tests >:>
L650[13:15:46] <ghz|afk> there, enabled directory listing for my maven :P
L651[13:15:47] <ghz|afk> http://dogforce-games.com/maven/
L652[13:15:59] ⇨ Joins: malte0811 (~malte0811@p4FDE5519.dip0.t-ipconnect.de)
L653[13:16:52] <ghz|afk> hmm why is the .xml not shown...
L654[13:17:19] <ghz|afk> oh right the root htaccess
L655[13:17:29] *** Lathanael|Away is now known as Lathanael
L656[13:20:57] <barteks2x> about this, any idea which fix would be better diea for PR? https://github.com/MinecraftForge/MinecraftForge/issues/4285
L657[13:42:36] ⇨ Joins: Hgreb (~Hgrebnedn@d8D872A6E.access.telenet.be)
L658[13:44:19] ⇦ Quits: Hgrebnednav (~Hgrebnedn@d8d872a6e.access.telenet.be) (Ping timeout: 183 seconds)
L659[13:45:10] ⇨ Joins: Hubry (~Hubry@ip-93-94-186-179.uznam.net.pl)
L660[13:45:48] ⇦ Quits: Kuraron (~DUX@HSI-KBW-46-223-0-70.hsi.kabel-badenwuerttemberg.de) (Ping timeout: 204 seconds)
L661[13:51:22] <Raycoms> Is there a good way yet to trigger advancements from the code and to check from code if a player has a certain advancement?
L662[13:52:22] <ghz|afk> well the jsons do it so I would assume it can be called from code
L663[13:53:48] <ghz|afk> Raycoms: look at AdvancementCommand.ActionType.GRANT
L664[13:55:02] <Raycoms> Thanks
L665[13:57:30] <PaleoCrafter> well... fuck xD
L666[13:57:56] <PaleoCrafter> for some reason I can't reference classes from my extracted library :/
L667[13:58:11] <PaleoCrafter> yet the log definitely says it gets loaded
L668[13:58:31] <ghz|afk> :/
L669[14:01:43] ⇨ Joins: Kuraron (~DUX@HSI-KBW-46-223-0-70.hsi.kabel-badenwuerttemberg.de)
L670[14:06:12] <PaleoCrafter> it doesn't try to load it through the mod classloader, for some reason
L671[14:06:14] ⇦ Quits: McJty (~jorrit@94-224-153-80.access.telenet.be) (Quit: Leaving)
L672[14:08:20] <minecrell> PaleoCrafter: Which library did you extract?
L673[14:08:29] <PaleoCrafter> apache commons math
L674[14:08:47] <minecrell> Forge has a class loader exclusion for org.apache.*, they will never go through the mod classloader
L675[14:09:13] <PaleoCrafter> >.>
L676[14:09:15] <PaleoCrafter> fml
L677[14:09:44] <minecrell> Well, yeah, the exclusion is in FML XD
L678[14:09:48] <PaleoCrafter> :D
L679[14:10:04] <PaleoCrafter> any other packages I should be aware of? <<.
L680[14:10:08] <PaleoCrafter> <.<
L681[14:10:25] <barteks2x> so... you can't use any apache libraries with the mod extraction system?
L682[14:10:45] <minecrell> Well, might be a reason to change it
L683[14:10:51] <PaleoCrafter> like... why must I choose the excluded one of all the stuff there is on Maven Central
L684[14:11:06] <PaleoCrafter> other suggestions? I don't actually need commons math, only an example project
L685[14:11:50] <PaleoCrafter> I had considered Guice, but that comes with a few transitive dependencies which I want to avoid for now
L686[14:12:26] ⇨ Joins: howtonotwin (~howtonotw@75-110-22-15.gvllcmtk01.res.dyn.suddenlink.net)
L687[14:12:32] <minecrell> com.flowpowered:flow-math:1.0.3
L688[14:12:47] <howtonotwin> How about copypasta? :P
L689[14:12:55] <quadraxis> probably safe with anything that isn't shared with a minecraft library
L690[14:13:20] <PaleoCrafter> yeah, but I'm not particularly creative and don't want a really big library either :P
L691[14:13:23] <PaleoCrafter> flow math will work fine
L692[14:14:03] <quadraxis> is there a leftpad on maven?
L693[14:15:09] <barteks2x> this is not javascript
L694[14:15:46] <PaleoCrafter> apache commons comes with padding functions
L695[14:15:50] <PaleoCrafter> the lang module, that is
L696[14:15:54] <PaleoCrafter> ... I think
L697[14:16:16] <PaleoCrafter> yeah, StringUtils.left/rightPad
L698[14:17:08] <minecrell> Guava has Strings.padStart/End
L699[14:18:21] <quadraxis> well I was being flippant, you wanted a small library
L700[14:19:07] <quadraxis> and now people are being helpful and I feel bad
L701[14:19:30] <minecrell> :D
L702[14:20:04] *** diesieben07 is now known as diesieben|away
L703[14:20:05] <howtonotwin> I'm just surprised no one said String.format :P
L704[14:24:28] <barteks2x> do I need to run somethong other than gradlew setup when I change minecraft version in forge dev environment
L705[14:25:15] <barteks2x> or do I need clean setup?
L706[14:26:29] <TechnicianLP> a setupDecomp should suffice in most cases
L707[14:26:38] <barteks2x> forge environment, not mdk
L708[14:26:58] ⇦ Quits: Kuraron (~DUX@HSI-KBW-46-223-0-70.hsi.kabel-badenwuerttemberg.de) (Ping timeout: 204 seconds)
L709[14:27:54] <TechnicianLP> well those tend to be weird anyways ...
L710[14:28:25] <howtonotwin> https://mcforge.readthedocs.io/en/latest/forgedev/#setting-up-the-environment
L711[14:28:52] <howtonotwin> Eclipse -> easy; IntelliJ -> small bits of annoyance
L712[14:29:23] <howtonotwin> (And setup = setupForge)
L713[14:29:40] <barteks2x> I'm curious how complicated setting up my mod dev would be in eclipse
L714[14:30:15] <barteks2x> because I've never tried it and so far noone I know has succeeded toing it in a way I could replicate
L715[14:31:01] <howtonotwin> FG is finicky, yes, but a gradle eclipse *should* be it
L716[14:31:18] <PaleoCrafter> welp... https://github.com/PaleoCrafter/Dependency-Extraction-Example/tree/library-embedding
L717[14:31:35] <PaleoCrafter> took some inspiration from your solution, ghz|afk :P
L718[14:32:52] ⇨ Joins: Kuraron (~DUX@HSI-KBW-46-223-0-70.hsi.kabel-badenwuerttemberg.de)
L719[14:33:07] <ghz|afk> PaleoCrafter: heh
L720[14:42:30] <barteks2x> howtonotwin, I doubt it deals well with submodule as gradle project dependency
L721[14:43:10] <barteks2x> this is the main part it had issues with
L722[14:43:47] * howtonotwin has an urge to go test it
L723[14:44:00] <barteks2x> my project or gradle project dependencies?
L724[14:44:13] <howtonotwin> gradle
L725[14:44:57] <barteks2x> I know someone did get it working in eclipse but from what he said it involved a lot of black magic
L726[14:45:04] <barteks2x> (as in my project)
L727[14:52:05] *** Lathanael is now known as Lathanael|Away
L728[14:57:47] ⇦ Quits: Nedelosk (~Nedelosk@ip-109-90-74-164.hsi11.unitymediagroup.de) (Read error: Connection reset by peer)
L729[15:11:44] <LexMobile> !gc Entity
L730[15:12:32] ⇨ Joins: Fridtjof (~prassel@osiris.9net.org)
L731[15:18:12] <ghz|afk> !gf EntityAIFindEntityNearest.predicate
L732[15:21:45] ⇦ Quits: Hunterz (~hunterz@62.182.234.189) (Quit: Leaving.)
L733[15:24:02] ⇨ Joins: sinkillerj (~sinkiller@nc-67-232-10-50.dhcp.embarqhsd.net)
L734[15:25:52] ⇦ Quits: killjoy (~killjoy@2606:a000:1118:8164:93c:d312:b9aa:52df) (Ping timeout: 204 seconds)
L735[15:37:19] ⇦ Quits: Kuraron (~DUX@HSI-KBW-46-223-0-70.hsi.kabel-badenwuerttemberg.de) (Remote host closed the connection)
L736[15:41:01] ⇨ Joins: boni (~boni@devsub.net)
L737[15:41:47] <ghz|afk> !gm EntitySlime.setSlimeSize
L738[15:43:12] ⇨ Joins: Kuraron (~DUX@HSI-KBW-46-223-0-70.hsi.kabel-badenwuerttemberg.de)
L739[15:43:27] ⇦ Parts: malte0811 (~malte0811@p4FDE5519.dip0.t-ipconnect.de) ())
L740[15:43:37] <mezz> nice 4 character fix barteks2x :D
L741[15:44:15] <barteks2x> got a bit sidetracked working on 1.11.2 version
L742[15:44:25] <mezz> ... how?
L743[15:44:44] <barteks2x> resetting up the workspace is *slow*
L744[15:44:56] <barteks2x> at leats on my ancient computer
L745[15:45:06] <mezz> yeah at this point I have a separate workspace for every version of forge
L746[15:45:32] <barteks2x> also I would like to get soem feedback as to which way I should fix the netty crah for PR
L747[15:45:52] <barteks2x> but apparently noone knows any better than me
L748[15:46:01] <mezz> right. talk to c.pw, nobody else has working knowledge of it
L749[15:46:12] <mezz> he should be around on discord
L750[15:46:22] <barteks2x> discord?
L751[15:46:43] <ghz|afk> :D It works!
L752[15:46:51] <quadraxis> old man c.pw on the hip new discord thing, what is this?
L753[15:46:55] <ghz|afk> I made it so that if one slime finds 3 others of the same size, they merge :D
L754[15:47:02] <barteks2x> I'm definitely not on that server
L755[15:47:05] <mezz> nvm he's on irc
L756[15:47:17] <mezz> at least today, often on discord these days though
L757[15:47:35] <quadraxis> what discord?
L758[15:48:02] ⇦ Quits: Ipsis (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk) (Ping timeout: 204 seconds)
L759[15:48:32] <barteks2x> I explained the what exactly causes it and my 4 ideas for fixing it in the issue comment for it
L760[15:51:35] <barteks2x> and right, I don't know about any such discord place
L761[15:52:21] <ghz|afk> :3 https://youtu.be/El5ihG0g3Co
L762[15:53:47] <quadraxis> pretty neat
L763[15:54:24] <ghz|afk> I need some sound effect for this :P
L764[15:54:37] <ghz|afk> some kind of "pop"
L765[15:55:13] <ghz|afk> like when you open a glass jar that was in a vaccuum
L766[15:55:22] ⇦ Quits: l4mRh4X0r (l4mRh4X0r@pomacium.student.ipv6.utwente.nl) (Ping timeout: 195 seconds)
L767[15:55:35] <ghz|afk> hmmm
L768[15:55:35] <ghz|afk> http://freesound.org/people/onikage22/sounds/240566/
L769[15:56:24] <barteks2x> I will just submit one simple workaround and wait for replies about it...
L770[15:58:37] ⇨ Joins: l4mRh4X0r (l4mRh4X0r@pomacium.student.ipv6.utwente.nl)
L771[16:02:36] ⇨ Joins: Spottedleaf (~Spottedle@node-1w7jr9qqos9fzgyx4ab86qpi7.ipv6.telus.net)
L772[16:03:30] ⇦ Quits: Spottedleaf (~Spottedle@node-1w7jr9qqos9fzgyx4ab86qpi7.ipv6.telus.net) (Read error: Connection reset by peer)
L773[16:04:07] ⇨ Joins: Spottedleaf (~Spottedle@node-1w7jr9qqos9fzgyx4ab86qpi7.ipv6.telus.net)
L774[16:11:29] ⇦ Quits: Hgreb (~Hgrebnedn@d8D872A6E.access.telenet.be) (Read error: Connection reset by peer)
L775[16:14:37] ⇨ Joins: Hgrebnednav (~Hgrebnedn@d8D872A6E.access.telenet.be)
L776[16:18:49] <ghz|afk> crap, sounds WAY too much like chicken dropping an egg
L777[16:20:17] <barteks2x> maybe chocken dropping an egg sounds too muc like when you open a glass jar? :D
L778[16:20:41] <ghz|afk> I need more slimyness
L779[16:20:59] <quadraxis> reverse/mix/alter an existing slime fx
L780[16:21:18] <barteks2x> reversing would be good probably
L781[16:21:28] <barteks2x> if you want the sound of jopining them
L782[16:21:37] <barteks2x> is there a sound for splitting already?
L783[16:22:33] <ghz|afk> oooh yes, reversing sounds nice
L784[16:23:03] <barteks2x> I'm curious if you could dynamically generate it in code based on resource pack sound
L785[16:23:44] <ghz|afk> nah, I meant reversing it and adding my existing effect on top :P
L786[16:24:39] <ghz|afk> hmmm what's the proper way to get the sounds loaded?
L787[16:24:45] <ghz|afk> never added a sound before :P
L788[16:24:47] <ghz|afk> (1.12.1)
L789[16:25:02] <barteks2x> I doubt forge has any sound registry
L790[16:25:07] <ghz|afk> it does
L791[16:25:13] <ghz|afk> SoundEffect is a registrable object
L792[16:25:50] <ghz|afk> or something like that
L793[16:25:58] <ghz|afk> SoundEvent*
L794[16:26:40] <barteks2x> just look at where vanilla places it's soud files?
L795[16:26:45] <barteks2x> and follow the same structure
L796[16:26:46] <ghz|afk> lol no
L797[16:26:48] <ghz|afk> those are outside the jar
L798[16:27:00] <ghz|afk> in .minecraft/resources XD
L799[16:27:15] <barteks2x> they still have ResourceLocation
L800[16:28:27] ⇦ Quits: Blarghedy (~Blarghedy@50-90-116-51.res.bhn.net) (Ping timeout: 200 seconds)
L801[16:28:44] ⇨ Joins: Blarghedy (~Blarghedy@50-90-116-51.res.bhn.net)
L802[16:30:39] <barteks2x> InputStream for it seems to be Minecraft.getMinecraft().getResourceManager().getResource(p_148612_0_).getInputStream()
L803[16:30:50] <barteks2x> where that p_whatever is the resourcelocation
L804[16:31:17] <barteks2x> and resourcepacks can override sounds iirc
L805[16:31:24] <ghz|afk> I think I already got it
L806[16:31:27] <ghz|afk> don't worry about it :P
L807[16:41:57] <ghz|afk> https://youtu.be/ibrIGLPlZiE
L808[16:42:02] <ghz|afk> it works, I'd say :P
L809[16:47:20] ⇦ Quits: BlueMonster (uid82864@id-82864.ealing.irccloud.com) (Quit: Connection closed for inactivity)
L810[16:54:42] <barteks2x> I *really* don't see the point of IntCache methods being synchronized seeing the kind of WTF stuff it does
L811[16:54:57] <barteks2x> it's not going to work in multithreaded way anyway
L812[16:56:16] <barteks2x> using resetIntCache breaks everything while other thread is doing anything with the arrays from intcache
L813[17:02:43] ⇦ Quits: nallar (~nallar@cpc16-cani3-2-0-cust33.14-2.cable.virginm.net) (Quit: ZNC - http://znc.in)
L814[17:03:47] ⇨ Joins: nallar (~nallar@cpc16-cani3-2-0-cust33.14-2.cable.virginm.net)
L815[17:06:04] ⇦ Quits: TomyLobo (~TomyLobo@2a02:8109:87c0:20c:d094:b20:fca7:9e74) (Ping timeout: 195 seconds)
L816[17:06:59] <Abastro> What's the superiority cubic world could have over partitioned world on implementation?
L817[17:07:24] <barteks2x> define cubic world here?
L818[17:07:37] <barteks2x> and partitioned world too
L819[17:07:45] <barteks2x> because Im not exactly sure hat you are referring to
L820[17:08:17] <Abastro> https://i.ytimg.com/vi/7ajiIdNkwdI/maxresdefault.jpg
L821[17:08:23] <Abastro> This is cubic world.
L822[17:09:10] <Abastro> And partitioned worlds meets on each end with angle
L823[17:09:29] <barteks2x> Not sure how you would maker a cubic world
L824[17:09:43] <Abastro> With great property: They look mirrored.
L825[17:10:35] <Abastro> I guess rendering cubic world is easy, the problem is always adjacency
L826[17:10:58] ⇦ Quits: Raycoms (~Raycoms@2804:14d:baa0:97c0:6df4:99db:909b:ac81) (Ping timeout: 195 seconds)
L827[17:11:16] <barteks2x> and since a ton of code uses coordinates, there is no solution for that
L828[17:11:40] <barteks2x> the only soprt of possible solution that won't take years to implement and be incompatible with all mods is wrapper x/z
L829[17:11:58] <Abastro> So both are identical in terms of adjacency workload
L830[17:12:11] <barteks2x> unless you would use cubic chunks for that, then it would work
L831[17:12:19] <howtonotwin> I have a horrible idea that is terrible and bad but just MAY work, and also will probably need cubic chunks
L832[17:12:21] <barteks2x> sort of
L833[17:12:55] <barteks2x> what would that be?
L834[17:13:05] <Abastro> So you mean latitude/longitude with x/z?
L835[17:13:19] <howtonotwin> Use cubic chunks to build a huge floating cube world a good few hundred m above the void. Then do *something* to patch gravity, which is possible because I saw a mod that does it, once.
L836[17:13:24] ⇦ Quits: Hubry (~Hubry@ip-93-94-186-179.uznam.net.pl) (Quit: Good night!)
L837[17:13:44] <Abastro> I'm not definitely going for cubic world
L838[17:13:47] <barteks2x> that's exactly what I was suggesting with cubic chunks
L839[17:14:29] <howtonotwin> Oh, I didn't read through all of that thoroughly enough :P
L840[17:14:46] <barteks2x> it would also need some hooks into lighting code
L841[17:15:04] <barteks2x> (2 additional surface trackers)
L842[17:15:30] <Abastro> Again, you mean latitude & longitude by x/z?
L843[17:15:38] <barteks2x> basically yes
L844[17:15:55] <barteks2x> the only diwnside is distortions at poles
L845[17:16:20] <Abastro> But it could be huge distortions.
L846[17:17:18] <barteks2x> or you could just say that the poles are completely inaccessible
L847[17:17:43] <Abastro> Would making another worlds for poles work?
L848[17:18:09] <barteks2x> and the distortions are only an issue when flyng away from the world
L849[17:18:12] ⇨ Joins: KnightMiner (~KnightMin@adsl-75-5-71-111.dsl.emhril.sbcglobal.net)
L850[17:18:47] <barteks2x> hm... actually you would need some different kind of projection here
L851[17:19:00] <barteks2x> if you wnat it as easy as wrapping x/z
L852[17:19:53] <barteks2x> you could have 2 separate world one for each hemisphere
L853[17:19:58] <barteks2x> with minimal distortions
L854[17:21:37] <barteks2x> or you could say all planets are donut shaped
L855[17:23:41] <Abastro> How can I have separate world for each hemisphere?
L856[17:24:41] <Abastro> And I wouldn't bother donut shaped ones if they are easy to render.
L857[17:24:46] <barteks2x> distorting a square to fit onto one hemisphere is not that bad, and you coud join 2 of those together to have full sphere
L858[17:25:08] <barteks2x> donut shaped ones would be much easier because you could then easily use wrapped coords
L859[17:25:30] <barteks2x> because wrapped coords have the exacttopoloofy of a torus/donut
L860[17:25:37] <barteks2x> *topology
L861[17:25:40] <howtonotwin> You'd still have distortion though, because Gauss.
L862[17:25:48] <barteks2x> but much less of it
L863[17:26:28] <barteks2x> especially if it's not a square but a rectangle, for exmple 4096x8192
L864[17:26:41] <Abastro> It has same topology type with tiles so
L865[17:26:54] <Abastro> It should be great for maps.
L866[17:27:37] <Abastro> Adjacency is still prolematic tho
L867[17:28:37] <Abastro> Is this the hemisphere one?https://en.m.wikipedia.org/wiki/Orthographic_projection_in_cartography
L868[17:28:44] <barteks2x> only at the edges of your rectangle, sort of
L869[17:28:55] <barteks2x> and ou could patch things like getBlock and setBlock to workaround it
L870[17:31:05] <barteks2x> basically someting similar is what I meant by the hemisphere thing
L871[17:35:02] <Abastro> I guess in any way adjacency is going to be the problem. Isn't It?
L872[17:35:23] <Abastro> If I drop that, the issue is only on the rendering part.
L873[17:36:03] <ghz|afk> ........
L874[17:36:16] <ghz|afk> ICY MUSIC NCS commented on your video Survivalist: Slime merging sound effect test
L875[17:36:16] <ghz|afk> Amazing vid If you need any free music for your content, come check me out!
L876[17:37:00] <ghz|afk> the comment is gone but still... XD
L877[17:41:19] <Abastro> Forgot that lighting is included in adjacency.
L878[17:43:11] <Abastro> But I guess I can sync them on each world. Also the logic is in World.
L879[17:44:45] <barteks2x> Minecraft has no concept of adjacency really...
L880[17:44:50] <barteks2x> it just uses coordinates directly
L881[17:45:09] <ghz|afk> well besides blockpos.east() and such ;P
L882[17:46:45] <howtonotwin> I have no idea if it'll work, but you can maybe try to make sphericalness a purely "cosmetic" change
L883[17:47:32] <barteks2x> which is basically what I suggested with wrapping x/z
L884[17:47:40] <barteks2x> just with making the world finite
L885[17:47:47] <howtonotwin> I should really start reading
L886[17:49:00] <ghz|afk> same, my suggestion was to wrap x/z in a rectangular way, and project that into a hemisphere centered around the closest point
L887[17:50:23] <barteks2x> oh... generating a ractangle and projecting that onto a sphere... that would work
L888[17:50:46] <barteks2x> I can clearly imagien it and the distortions wouldn't me much worse than with a donut
L889[17:59:19] ⇦ Quits: Doty1154 (~Doty1154@31.7.63.198) (Ping timeout: 186 seconds)
L890[18:02:08] ⇦ Quits: Hgrebnednav (~Hgrebnedn@d8D872A6E.access.telenet.be) (Ping timeout: 183 seconds)
L891[18:11:33] <Abastro> That could work. Or can I store blocks on actual sphere and get blocks with simple interpolation?
L892[18:12:06] <Abastro> No thinking about It, should not work.
L893[18:12:57] <Abastro> Guess donuts with (coord%size) could work.
L894[18:13:38] <Abastro> Thought about ghost coordinates, but it could get messy
L895[18:21:39] <barteks2x> you don't actually need donut
L896[18:21:45] <Abastro> ..toroid has its own problem - permanently dark regions
L897[18:21:53] <Abastro> Oh is It?
L898[18:21:54] <barteks2x> not if the sun is inside the hole
L899[18:22:04] <barteks2x> I will need to draw it
L900[18:22:09] <barteks2x> let me fire up gimp
L901[18:22:18] <howtonotwin> Hello, Niven
L902[18:22:31] <howtonotwin> But then the outside is dark
L903[18:23:57] <howtonotwin> ...How much stress would a toroidal planet that rotates in-out be under?
L904[18:24:10] <ghz|afk> the sun would have to spin in a spiral around the torus and through the hole and back out
L905[18:24:30] <howtonotwin> Physicality aside, an inverting torus seems like an interesting place to live
L906[18:24:36] <ghz|afk> uhm
L907[18:25:03] <ghz|afk> you mean like, things on the "hole" of the torus eventually are out on the far side?
L908[18:25:12] <howtonotwin> Yep
L909[18:25:28] <ghz|afk> if it was possible to keep material in a toroidal shape and spin like that
L910[18:25:35] <ghz|afk> it would certainly NOT have a surface
L911[18:26:04] <ghz|afk> the friction in the material would keep it at least very hot, probably just a lava donut
L912[18:26:19] <howtonotwin> So, the Nether?
L913[18:26:37] <howtonotwin> The gate to the nether is even a blocky torus :P
L914[18:26:51] <ghz|afk> well xcept the inside would be experiencing extreme compression forces
L915[18:26:57] <ghz|afk> and the outside would be stretched out
L916[18:27:06] <ghz|afk> so the outside might be slightly cooler?
L917[18:27:15] <howtonotwin> Which fits just fine with the Nether
L918[18:27:18] <ghz|afk> dunno I can't imagine anything but very hot material
L919[18:27:24] <howtonotwin> Given the half-height and bedrock
L920[18:27:51] <howtonotwin> This is the game where you can carry several tons of diamond 24/7
L921[18:28:16] <howtonotwin> I think contriving an unobtainium that withstands those forces is within it's scope ;P
L922[18:28:16] <ghz|afk> or gold, which is the heaviest thing you can carry
L923[18:28:26] <howtonotwin> *its
L924[18:28:28] <ghz|afk> 9*4 * 64 cubic meters of gold
L925[18:28:52] <ghz|afk> !!calc 9*4 * 64
L926[18:28:52] <ghz|afk> ghz|afk: Result(s): 2304
L927[18:29:16] <howtonotwin> +64 for the offhand
L928[18:29:34] <ghz|afk> true
L929[18:29:54] <Abastro> If the rotation is fast enough, can happen. But where is the tidal force from?
L930[18:30:09] <ghz|afk> !!calc volume = 9*4 * 64 + 64; weight = 193200 * volume; tons=weight/1000000
L931[18:30:10] <ghz|afk> ghz|afk: Result(s): 2368; 457497600; 457.4976
L932[18:30:16] <howtonotwin> The planet is already a torus :P
L933[18:30:22] <quadraxis> 45-46 thousand tonnes of gold
L934[18:30:31] <howtonotwin> There's no need to explain the rotation
L935[18:30:37] <ghz|afk> you are carrying 457 metric tons if my calculation iscorrect
L936[18:31:06] <quadraxis> its more than that
L937[18:31:28] <quadraxis> 1m^3 of water is a metric tonne
L938[18:31:37] <quadraxis> gold is 19.32x that
L939[18:31:47] <barteks2x> I can't draw so just imagine taking a sphere
L940[18:31:50] <barteks2x> and a sheet of paper
L941[18:32:08] <ghz|afk> wait yes
L942[18:32:10] <ghz|afk> my number is wrong
L943[18:32:16] <ghz|afk> I converted assuming square, not cubic
L944[18:32:27] <barteks2x> and making it so that one end of the sheet of paper is at one pole and the other end is at the other pole. and then pulling that sphere inside
L945[18:32:38] <barteks2x> and then you just stretch the paper to cover the whole thing
L946[18:32:40] <ghz|afk> !!calc volume = 9*4 * 64 + 64; weight = 19320000 * volume; tons=weight/1000000
L947[18:32:40] <ghz|afk> ghz|afk: Result(s): 2368; 4.574976e+010; 45749.76
L948[18:32:43] <ghz|afk> yup
L949[18:32:49] <ghz|afk> > 45k metric tons
L950[18:34:43] <Abastro> barteks2x, by one end you mean an end vertex?
L951[18:34:57] ⇦ Quits: h5h77 (~h5h77@2a02:8108:4b40:907:922b:34ff:feae:b38b) (Remote host closed the connection)
L952[18:35:14] ⇦ Quits: cpup (~cpup@32.218.114.9) (Ping timeout: 204 seconds)
L953[18:35:14] ⇦ Quits: CoderPuppy (~cpup@32.218.114.9) (Ping timeout: 204 seconds)
L954[18:35:40] <barteks2x> I can't figure out how to descrie what I mean
L955[18:36:20] <barteks2x> take a 2x1 rectangle, split it in half, cover the upper partof the sphere with one half, the lower part of the sphere with the other half
L956[18:36:39] <barteks2x> and you get a way to map the surface of x/z wrapped rectangle onto a sphere
L957[18:36:49] <barteks2x> with not so terrible distortions
L958[18:37:12] <Abastro> But what about equators.
L959[18:37:49] <barteks2x> this is where wrapped parts woudl merge
L960[18:37:57] ⇨ Joins: cpup (~cpup@32.218.117.12)
L961[18:38:10] ⇨ Joins: CoderPuppy (~cpup@32.218.117.12)
L962[18:38:20] <barteks2x> oh... you would need a bit more wrapping there
L963[18:39:27] <Abastro> On the sheet, equator size is 2 pi r I guess
L964[18:39:55] <Abastro> Where the r is not the radius but the spherical distance from pole to equator
L965[18:41:18] <Abastro> On the other hand, real equator has length of 2 pi R
L966[18:41:29] <Abastro> Where R is the radius of the sphere and
L967[18:41:46] <Abastro> r=pi/2 R
L968[18:46:41] <Abastro> Oh wait that's only about 1.57
L969[18:47:34] <Abastro> Definitely going for this
L970[18:52:33] ⇦ Quits: cpup (~cpup@32.218.117.12) (Ping timeout: 200 seconds)
L971[18:53:11] ⇨ Joins: cpup (~cpup@32.218.117.51)
L972[18:54:53] ⇦ Quits: CoderPuppy (~cpup@32.218.117.12) (Ping timeout: 383 seconds)
L973[18:58:08] ⇨ Joins: CoderPuppy (~cpup@32.218.117.51)
L974[18:59:58] * ghz|afk jumps into bed
L975[19:03:50] <Abastro> Good night
L976[19:06:47] ⇨ Joins: KnightMiner_ (~KnightMin@adsl-75-5-71-111.dsl.emhril.sbcglobal.net)
L977[19:09:26] ⇦ Quits: CoderPuppy (~cpup@32.218.117.51) (Ping timeout: 204 seconds)
L978[19:09:37] ⇨ Joins: CoderPuppy (~cpup@32.218.117.125)
L979[19:09:47] ⇦ Quits: KnightMiner (~KnightMin@adsl-75-5-71-111.dsl.emhril.sbcglobal.net) (Ping timeout: 200 seconds)
L980[19:09:52] ⇦ Quits: cpup (~cpup@32.218.117.51) (Ping timeout: 383 seconds)
L981[19:11:28] ⇨ Joins: cpup (~cpup@32.218.117.125)
L982[19:25:04] <barteks2x> I'm getting exception that makes zero sense
L983[19:26:51] <barteks2x> when I set a breakpoint in that line it hits, and I can step through it and it works, then I continue and NPE is thrown at the exact line I just stepped through
L984[19:27:27] <Ordinastie> discrepency between code and compiled most likely
L985[19:30:28] <barteks2x> oh wait
L986[19:30:29] <barteks2x> threads
L987[19:33:04] ⇦ Quits: Abastro (~Abastro@175.117.182.109) (Ping timeout: 383 seconds)
L988[19:35:51] <barteks2x> I think I hit this issue... https://github.com/netty/netty/issues/3633
L989[19:39:11] <barteks2x> I will continue on this tomorrow
L990[20:02:01] ⇦ Quits: cpup (~cpup@32.218.117.125) (Ping timeout: 183 seconds)
L991[20:05:30] ⇨ Joins: cpup (~cpup@32.218.117.125)
L992[20:36:20] <KnightMiner_> Is there a clean way to check which side a block update came from?
L993[20:36:37] <KnightMiner_> Basically, if I know which side, on update I can just check 1 block instead of all five neighbors
L994[20:36:57] <KnightMiner_> Function returns a position instead
L995[20:37:10] <howtonotwin> onNeighborChanged has a neighbor param
L996[20:37:41] <howtonotwin> Just someHelperMethodThatsProbablyInEnumFacing(that.subtract(this))
L997[20:38:33] <howtonotwin> Bleck sorry, wrong method
L998[20:39:07] <KnightMiner_> Well, I have EnumFacing.random(), did not know that existed
L999[20:39:28] <KnightMiner_> From index would work if I can get a facing index from two positions
L1000[20:39:54] <howtonotwin> I meant onNeighborChanged is the wrong method :P
L1001[20:40:00] <howtonotwin> It's getFacingFromVector
L1002[20:40:17] <howtonotwin> Helpfully, it takes 3 floats instead of an actual vector /s
L1003[20:40:45] <KnightMiner_> Yeah, does three floats
L1004[20:40:57] <KnightMiner_> <.<
L1005[20:41:23] *** PaleoCrafter is now known as PaleOff
L1006[20:41:25] * howtonotwin is eventually going to stick a macro in his Scala mod for that
L1007[20:41:26] <KnightMiner_> Well then, now to guess randomly whether its pos.subtract(fromPos) or the opposite :)
L1008[20:41:38] <howtonotwin> A - B is "from b to a"
L1009[20:41:39] <quadraxis> is this going to end up as a.add(b.subtract(a))
L1010[20:41:46] <KnightMiner_> I think thats right
L1011[20:41:59] <quadraxis> also known as b
L1012[20:42:17] <KnightMiner_> Because A - B will get the distance from A to B, so say 1 for up
L1013[20:42:54] <KnightMiner_> Actually, I think I want B - A
L1014[20:43:18] <KnightMiner_> So if A = 10 and B = 11, B - A = 1, a.k.a up
L1015[20:43:33] <quadraxis> and 10 + 1 = 11
L1016[20:43:38] <KnightMiner_> howtonotwin: what do you mean by neighbor changed is wrong?
L1017[20:43:56] <quadraxis> so if you are going to work out 1 in order to add it to 10, don't
L1018[20:45:14] <KnightMiner_> quadraxis: in my case, I am simply determining which side changed, so I query that position then based on some vector math update the proper boolean
L1019[20:45:20] <KnightMiner_> If its up, I can actually ignore it
L1020[20:49:40] <KnightMiner_> Wait, seems there is a better method, getDirectionVec() returns a vector representing the offset
L1021[20:49:50] <KnightMiner_> Compare my vector to that one with .equals for each facing
L1022[20:50:06] ⇦ Quits: Waterpicker (~Waterpick@2602:306:35ba:ca40:9c49:f11b:2c0:1104) (Read error: Connection reset by peer)
L1023[20:50:22] ⇨ Joins: Waterpicker (~Waterpick@2602:306:35ba:ca40:9c49:f11b:2c0:1104)
L1024[20:50:58] <KnightMiner_> Thats basically what getFacingFromVector does internally, only with a lot more work as its using float differences
L1025[20:52:16] <quadraxis> getFacingFromVector just does dot product with each direction, and takes the max
L1026[20:52:28] <quadraxis> so, similar
L1027[20:52:54] <KnightMiner_> In my case, I always know its just one block, so I can cut out a bit of work by just doing .equals
L1028[20:53:25] <quadraxis> can make a hashmap Vec3i -> EnumFacing
L1029[20:54:19] <KnightMiner_> BlockPos supports hashcode I assume?
L1030[20:54:33] <howtonotwin> It supports equals, so I assume so
L1031[20:54:52] <KnightMiner_> Yep, I see hashCode in there
L1032[20:55:24] <KnightMiner_> So I could build a map, arguably getting a bit complex for a TE, so I guess I'll throw it in a util to let me reuse it
L1033[20:55:43] <howtonotwin> onNeighborChange is only called for comparators. neighborChange is the correct one
L1034[20:55:59] <KnightMiner_> Oh, there are two? I have neighborChange anyways
L1035[20:56:14] <KnightMiner_> Sounds like someone needs to rename one in #mcpbot
L1036[20:56:40] <howtonotwin> onNeighborChange is the Forge one, so that one should be changed
L1037[20:58:10] ⇦ Quits: covers1624 (~covers162@ppp122-232-6.static.internode.on.net) (Read error: Connection reset by peer)
L1038[21:00:47] ⇨ Joins: covers1624 (~covers162@ppp122-232-6.static.internode.on.net)
L1039[21:02:48] ⇦ Quits: Wastl2 (~Wastl2@x4e3501ec.dyn.telefonica.de) (Ping timeout: 204 seconds)
L1040[21:03:26] ⇦ Quits: cpup (~cpup@32.218.117.125) (Ping timeout: 204 seconds)
L1041[21:05:01] ⇨ Joins: Wastl2 (~Wastl2@x4e34c7c2.dyn.telefonica.de)
L1042[21:08:37] ⇨ Joins: Abastro (~Abastro@175.117.182.109)
L1043[21:41:58] ⇨ Joins: cpup (~cpup@32.218.117.125)
L1044[21:59:18] ⇦ Quits: KGS (~KGS@h-158-174-9-50.NA.cust.bahnhof.se) (Ping timeout: 186 seconds)
L1045[22:05:25] <KnightMiner_> Is there a separate method for right click raytrace then for collision raytrace? I have four boxes that should always be clickable, but conditionally cause collision
L1046[22:06:10] <KnightMiner_> Wait, I think I found it
L1047[22:08:27] <KnightMiner_> I was mixing up addCollisionBox and collisionRayTrace
L1048[22:08:59] ⇨ Joins: McJty (~jorrit@94-224-153-80.access.telenet.be)
L1049[22:18:27] ⇦ Quits: howtonotwin (~howtonotw@75-110-22-15.gvllcmtk01.res.dyn.suddenlink.net) (Quit: Pop!)
L1050[22:20:06] ⇦ Quits: Lathanael|Away (~Lathanael@p5496042C.dip0.t-ipconnect.de) (Ping timeout: 186 seconds)
L1051[22:26:15] ⇨ Joins: Lathanael|Away (~Lathanael@p54960E6E.dip0.t-ipconnect.de)
L1052[22:38:16] ⇨ Joins: killjoy (~killjoy@2606:a000:1118:8164:e0a1:ec3e:fba9:4bb7)
L1053[23:04:07] ⇦ Quits: quadraxis (~quadraxis@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net) (Ping timeout: 195 seconds)
L1054[23:19:12] ⇦ Quits: McJty (~jorrit@94-224-153-80.access.telenet.be) (Quit: Leaving)
L1055[23:41:58] ⇨ Joins: quadraxis (~quadraxis@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net)
<<Prev Next>> Scroll to Top