<<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...
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
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
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
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
L315[07:55:19] <ghz|afk> and this is the
blockstates json I use to reference my custom model
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
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.
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.
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:
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)
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
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
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
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!
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
L635[13:11:58] <ghz|afk> ;P
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
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
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
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 ...
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
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
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
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
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
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
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)
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)