<<Prev
Next>>
Scroll to Bottom
Stuff goes here
L1[00:01:27] ⇦
Quits: mezz (mezz!~mezz@24.6.28.151) (Ping timeout: 207
seconds)
L2[00:06:28] ⇨
Joins: quadraxis
(quadraxis!~quadraxis@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net)
L3[00:24:24] ⇨
Joins: Ipsis
(Ipsis!~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk)
L4[00:35:34] ⇦
Quits: Doty1154 (Doty1154!~Doty1154@67.215.244.186) (Ping timeout:
198 seconds)
L5[00:35:48] ⇨
Joins: Doty1154
(Doty1154!~Doty1154@2601:648:8000:134f:c90a:a5e2:36ae:bb51)
L6[00:55:10] ⇦
Quits: mallrat208 (mallrat208!~mallrat20@107.145.144.41) (Quit:
Leaving)
L7[01:21:12] ⇦
Quits: Brokkoli (Brokkoli!~Brokkoli@p2E5B1E0E.dip0.t-ipconnect.de)
(Remote host closed the connection)
L8[02:00:03] <MCPBot_Reborn> [TEST CSV]
Pushing snapshot_20180101 mappings to Forge Maven.
L9[02:00:07] <MCPBot_Reborn> [TEST CSV]
Maven upload successful for mcp_snapshot-20180101-1.12.zip
(mappings = "snapshot_20180101" in build.gradle).
L10[02:00:17] <MCPBot_Reborn> Semi-live
(every 10 min), Snapshot (daily ~3:00 EST), and Stable (committed)
MCPBot mapping exports can be found here:
http://export.mcpbot.bspk.rs/
L11[02:17:29] ⇦
Quits: sinkillerj
(sinkillerj!~sinkiller@nc-67-238-185-186.dhcp.embarqhsd.net)
(Remote host closed the connection)
L12[02:26:59] ⇨
Joins: Hunterz (Hunterz!~hunterz@62.182.234.189)
L13[02:28:01] ⇦
Quits: Doty1154
(Doty1154!~Doty1154@2601:648:8000:134f:c90a:a5e2:36ae:bb51) (Read
error: Connection reset by peer)
L14[03:10:09] ⇦
Quits: Larry1123 (Larry1123!Larry1123@irc.larry1123.net) (Ping
timeout: 194 seconds)
L15[03:20:46] ⇨
Joins: Larry1123
(Larry1123!Larry1123@irc.larry1123.net)
L16[03:25:33] ⇦
Quits: cpup (cpup!~cpup@24-151-98-142.dhcp.nwtn.ct.charter.com)
(Ping timeout: 207 seconds)
L17[03:27:22] ⇨
Joins: cpup
(cpup!~cpup@24-151-98-142.dhcp.nwtn.ct.charter.com)
L18[03:43:38] ⇨
Joins: Hgrebnednav
(Hgrebnednav!~Hgrebnedn@d8D872A6E.access.telenet.be)
L19[04:11:24] ⇦
Quits: immibis
(immibis!~chatzilla@122-60-111-246.jetstream.xtra.co.nz) (Ping
timeout: 383 seconds)
L20[04:35:52] ⇦
Quits: McJty
(McJty!~jorrit@ptr-9197ufqskchcl93d8j9.18120a2.ip6.access.telenet.be)
(Quit: Leaving)
L21[04:40:27] ⇨
Joins: MajorPotato
(MajorPotato!~MajorSlim@206.63.240.42)
L22[04:40:54] <MajorPotato> yo
L23[04:42:59] <MajorPotato> I had a
question, or more like an opinion poll. I was wondering if people
would be interested in a read-only registry option? (IE a registry
type that is readable like normal, but not registered to and
doesn't fire events. Instead its contents are generated by whatever
mod owns it, probably just after the current register events are
fired) Basically, I wanted to know if it might be something that
would be accepted if I spent time to make a
L24[04:43:00] <MajorPotato> PR for it. Not
sure how many other people would find it useful, but I would.
L25[04:43:37] <gigaherz> I have no idea of
the use case for this
L26[04:44:48] <MajorPotato> Currently, I
have a mod that creates several registries. Most of them I want to
be able to be registered to by other mods, but one of which I want
the contents generated using some conditions and data that is
registered to the other registries.
L27[04:45:18] <MajorPotato> I don't want
this registry to be writeable, but I want it to be read accessible
just like other registries.
L28[04:45:42] <MajorPotato> Primarily
because its a nice already existing system, and doesn't require
much in the way of an API aside from a few interface base
types.
L29[05:31:40] ⇨
Joins: KGS
(KGS!~KGS@h-158-174-9-50.NA.cust.bahnhof.se)
L30[05:41:38] ***
PaleOff is now known as PaleoCrafter
L31[05:45:17] ⇦
Quits: SparkVGX (SparkVGX!~SparkVGX@121.99.164.93) (Ping timeout:
194 seconds)
L32[05:54:17] ⇨
Joins: ben_mkiv
(ben_mkiv!~ben_mkiv@p4FED5E4F.dip0.t-ipconnect.de)
L33[05:58:14] ⇨
Joins: Hgreb
(Hgreb!~Hgrebnedn@d8D872A6E.access.telenet.be)
L34[06:02:34] ⇦
Quits: Hgrebnednav
(Hgrebnednav!~Hgrebnedn@d8D872A6E.access.telenet.be) (Ping timeout:
383 seconds)
L35[06:49:01] ⇦
Quits: Umbraco (Umbraco!~Umbraco@121-87-222-159f1.nar1.eonet.ne.jp)
()
L36[07:22:48] ⇦
Quits: Hgreb (Hgreb!~Hgrebnedn@d8D872A6E.access.telenet.be) (Ping
timeout: 383 seconds)
L37[07:39:23] ⇨
Joins: Cast0077
(Cast0077!~Cast0077@24-151-68-108.dhcp.nwtn.ct.charter.com)
L38[07:44:48] ***
PaleoCrafter is now known as PaleOff
L39[07:45:25] ⇨
Joins: YourMCGeek
(YourMCGeek!webchat@pool-68-134-67-35.bltmmd.fios.verizon.net)
L40[07:46:37] ⇨
Joins: Nedelosk
(Nedelosk!~Nedelosk@ip-37-201-253-118.hsi13.unitymediagroup.de)
L41[07:48:59] ⇦
Quits: YourMCGeek
(YourMCGeek!webchat@pool-68-134-67-35.bltmmd.fios.verizon.net)
(Ping timeout: 180 seconds)
L42[07:49:43] ⇨
Joins: Lepidora
(Lepidora!~Lepidora@host86-137-214-168.range86-137.btcentralplus.com)
L43[08:09:24] ⇦
Quits: Lepidora
(Lepidora!~Lepidora@host86-137-214-168.range86-137.btcentralplus.com)
(Quit: Lepidora)
L44[08:10:58] ⇦
Quits: quadraxis
(quadraxis!~quadraxis@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net)
(Ping timeout: 198 seconds)
L45[08:16:34] <barteks2x> MajorPotato, that
looks like something that would be better done without using a
forge registry, just maybe an immutable Map/Collection and some API
to access it. Most of the difference between such collection and a
registry is that registry ID mappings are saved in the world
L46[08:16:54] <barteks2x> and that there
are registry events
L47[08:17:19] <barteks2x> if you don't want
that, you are essentially left with immutable collection/map
L48[08:17:58] ⇨
Joins: MonkeyTyrant
(MonkeyTyrant!~MonkeyTyr@142.163.129.161)
L49[08:18:49] <gigaherz> ID mappings
meaning the internal numeric IDs assigned to each entry
L50[08:18:56] <gigaherz> back
L51[08:19:44] <barteks2x> you would use
them only if you want to actually serizlize a lot of those objects
(hundreds per chunk at least)
L52[08:20:29] <gigaherz> yep that's why I
used a plain map in this
L54[08:23:14] ⇨
Joins: Lepidora
(Lepidora!~Lepidora@host86-137-214-168.range86-137.btcentralplus.com)
L55[08:25:53] ⇦
Quits: Lepidora
(Lepidora!~Lepidora@host86-137-214-168.range86-137.btcentralplus.com)
(Read error: Connection reset by peer)
L56[08:26:33] ⇨
Joins: Lepidora
(Lepidora!~Lepidora@host86-137-214-168.range86-137.btcentralplus.com)
L57[08:27:29] ⇦
Quits: covers1624_
(covers1624_!~covers162@ppp122-232-6.static.internode.on.net) (Read
error: Connection reset by peer)
L58[08:29:43] ⇨
Joins: covers1624
(covers1624!~covers162@ppp122-232-6.static.internode.on.net)
L59[08:32:11] ⇦
Quits: Lepidora
(Lepidora!~Lepidora@host86-137-214-168.range86-137.btcentralplus.com)
(Quit: Lepidora)
L60[08:44:50] ⇦
Quits: MonkeyTyrant (MonkeyTyrant!~MonkeyTyr@142.163.129.161)
(Quit: Leaving)
L61[08:47:40] ⇦
Quits: RichardG (RichardG!~richardg8@201.37.246.64) (Read error:
Connection reset by peer)
L62[08:50:10] ⇨
Joins: RichardG (RichardG!~richardg8@201.37.246.64)
L63[08:50:11]
MineBot sets mode: +v on RichardG
L64[09:07:03] ⇨
Joins: Lepidora
(Lepidora!~Lepidora@host86-137-214-168.range86-137.btcentralplus.com)
L65[09:08:25] ⇦
Quits: Lepidora
(Lepidora!~Lepidora@host86-137-214-168.range86-137.btcentralplus.com)
(Read error: Connection reset by peer)
L66[09:09:06] ⇨
Joins: Lepidora
(Lepidora!~Lepidora@host86-137-214-168.range86-137.btcentralplus.com)
L67[09:16:29] ⇦
Quits: Lepidora
(Lepidora!~Lepidora@host86-137-214-168.range86-137.btcentralplus.com)
(Quit: Lepidora)
L68[09:48:35] ⇨
Joins: Brokkoli
(Brokkoli!~Brokkoli@p2E5B1E0E.dip0.t-ipconnect.de)
L69[09:48:42] ⇨
Joins: Lepidora
(Lepidora!~Lepidora@host86-137-214-168.range86-137.btcentralplus.com)
L70[09:52:30] ⇦
Quits: Lepidora
(Lepidora!~Lepidora@host86-137-214-168.range86-137.btcentralplus.com)
(Read error: Connection reset by peer)
L71[09:53:13] ⇨
Joins: Lepidora
(Lepidora!~Lepidora@host86-137-214-168.range86-137.btcentralplus.com)
L72[10:11:40] ⇦
Quits: Lepidora
(Lepidora!~Lepidora@host86-137-214-168.range86-137.btcentralplus.com)
(Read error: Connection reset by peer)
L73[10:11:56] ⇨
Joins: Lepidora
(Lepidora!~Lepidora@host86-137-214-168.range86-137.btcentralplus.com)
L74[10:17:46] *** Vaht
is now known as Tahg
L75[10:31:18] ⇦
Quits: Zethalion
(Zethalion!~Zethalion@095-097-058-227.static.chello.nl) (Ping
timeout: 207 seconds)
L76[10:32:09] ⇨
Joins: Zethalion
(Zethalion!~Zethalion@095-097-058-227.static.chello.nl)
L77[10:40:19] ⇦
Quits: Lepidora
(Lepidora!~Lepidora@host86-137-214-168.range86-137.btcentralplus.com)
(Quit: Lepidora)
L78[10:54:34] ***
PaleOff is now known as PaleoCrafter
L79[11:22:03] ⇨
Joins: sinkillerj
(sinkillerj!~sinkiller@nc-67-238-187-249.dhcp.embarqhsd.net)
L80[11:27:46] ⇦
Quits: sinkillerj
(sinkillerj!~sinkiller@nc-67-238-187-249.dhcp.embarqhsd.net) (Ping
timeout: 198 seconds)
L81[11:35:53] ⇨
Joins: cpw_ (cpw_!~cpw@76.10.144.161)
L82[11:35:53]
MineBot sets mode: +o on cpw_
L83[11:36:15] ⇨
Joins: Redfoxmoon
(Redfoxmoon!~Red@77.16.76.85.tmi.telenormobil.no)
L84[11:38:27] ⇦
Quits: cpw (cpw!~cpw@23-233-58-185.cpe.pppoe.ca) (Ping timeout: 194
seconds)
L85[11:38:27] *** cpw_
is now known as cpw
L86[11:41:53] ⇨
Joins: sinkillerj
(sinkillerj!~sinkiller@nc-67-238-187-249.dhcp.embarqhsd.net)
L87[11:54:09] ⇦
Quits: h404bi (h404bi!~h404bi@119.129.114.135) (Ping timeout: 200
seconds)
L88[12:10:47] ⇦
Quits: Unh0ly_Tigg
(Unh0ly_Tigg!~Unh0ly_Ti@c-24-21-196-226.hsd1.or.comcast.net) (Quit:
Leaving)
L89[12:12:23] <illy> beep o/
L90[12:14:03] <PaleoCrafter> boop \o
L91[12:16:10] <blackgem> ping
L92[12:35:28] ⇨
Joins: Commoble
(Commoble!~Commoble@mnpl-04-3331.dsl.iowatelecom.net)
L93[12:43:01] ⇦
Quits: diamondice
(diamondice!~quassel@jmst-ftth-sn-11.48.daktel.net) (Quit: http://quassel-irc.org - Chat comfortably.
Anywhere.)
L94[12:46:22] ⇦
Quits: Searge (Searge!~Searge@c83-250-150-134.bredband.comhem.se)
(Read error: Connection reset by peer)
L95[12:49:17] ⇨
Joins: McJty
(McJty!~jorrit@ptr-9197ufoocmv5e324m9n.18120a2.ip6.access.telenet.be)
L96[13:00:31] <barteks2x> Using one
dimensional arrays for 2d data is evil... I can't figure out what
is wrong with my biome generation code
L97[13:01:32] <barteks2x> I tried swapping
X and Z in a few places, with no luck. Except when I swap them in
one specific place, the terrain shape generates fine, but
everything else is broken. And I have no idea *why* it works
L98[13:01:47] <gigaherz> uhm
L99[13:02:06] <gigaherz> you might have one
place where you do [x*WIDTH+y] instead of [y*WIDTH+x]
L100[13:02:29] <barteks2x> what...?
where?
L101[13:02:45] <gigaherz> I have no idea
how your code looks like
L102[13:03:04] <gigaherz> but if you are
using a 1D array for 2D
L103[13:03:26] <Commoble> then you have to
make double sure you're using the same format everywhere
L104[13:03:32] <gigaherz> chances are you
index it using [y*WIDTH+x]
L105[13:03:38] <gigaherz> if you don'¡t
use a getter for that
L106[13:03:46] <barteks2x> It partially
works when I have it mixed up
L107[13:03:48] <gigaherz> which I guess
you don't since you are using a 1D array for 2D
L108[13:03:59] <gigaherz> (so you think
it's an advantage to do so)
L109[13:04:00] <barteks2x> It's because og
GenLayers that I don't warp it in object
L110[13:04:27] <Commoble> I'm guessing
he's doing that because the vanilla code is doing that
L111[13:04:33] <barteks2x> and as soon as
it goes out of GenLayer I have iot nicely wrapped in objects
L112[13:04:55] <barteks2x> I'm doing that
because I would have to wrap it separately in an object each time
in each GenLayer
L113[13:05:24] <barteks2x> vanilla kind of
forces it on me
L114[13:06:17] <Commoble> What you could
do to help keep yourself from punching yourself in the foot is make
a function like
L115[13:06:47] <Commoble> int flatten(x,y)
= x*WIDTH + y
L116[13:07:10] <Commoble> (or however your
format is) and then use that everywhere you need to index an array,
and that'll ensure you have the same format everywhere
L117[13:07:22] <Commoble> or x,z
L118[13:07:25] <blackgem> I have a thing
to ask you about when you're done with that
L119[13:08:39] <gigaherz> you can ask, no
need to wait
L120[13:12:08] <blackgem> Okay, thanks
:)
L121[13:12:25] <blackgem> I'm trying to
set up a code for genetic traits passed on from mob to mob in
breeding.
L122[13:13:24] <barteks2x> stupid IDEA...
I compiled it a minute ago and it was fine, but now it
L123[13:13:28] <barteks2x> uses way too
much ram
L124[13:13:40] <barteks2x> (the
compiler)
L125[13:13:44] <illy> welcome to java IDEs
:P
L126[13:15:03] <barteks2x> if I have
x+y*width in GenLayer AND in ChunkGenerator, it dopes this:
https://i.imgur.com/7eVVdHK.png and so I thought
that if I swap them for both, it will work correctly but the I get
this: Spectacle.E10186.png
L128[13:15:59] <illy> huh when did imgur
change its logo...
L129[13:16:16] <Commoble> sometime in the
last month, I think
L130[13:16:36] <illy> why would they
change it to something so... ugly
L131[13:16:59] *
illy wonders how the community took it knowing
imgur...
L133[13:19:29] <barteks2x> (the second one
is kotlin)
L134[13:19:35] <blackgem> KOTLIN
L135[13:19:38] <blackgem> XD
L136[13:19:57] <PaleoCrafter> I feel
personally offended by that shitty language detection now
L137[13:20:55] <barteks2x> well, what is
the code actually could be valid scala code?
L138[13:21:02] <Ordinastie>
s/detection//
L139[13:21:21] <PaleoCrafter> Scala uses
def as the function keyword, not fun
L140[13:21:30] <PaleoCrafter> that alone
is telling enough
L141[13:22:08] <barteks2x> anyway, I have
no idea what is wrong in my code
L142[13:22:29] <blackgem> 'kotlin' is what
the word filter on my server replaces curse words with. :3
L143[13:22:32] <blackgem> Other then that
I know nothing of it.
L144[13:22:41] <blackgem> 'kotlining
admins'
L145[13:23:15] <illy> bah kotlin Scala is
where it's at :P
L146[13:23:20] *
illy hides
L147[13:23:36] <PaleoCrafter> I personally
prefer Kotlin for mod dev by now, tbh
L148[13:23:47] <PaleoCrafter> Scala is too
good for the MC code base
L149[13:24:09] <barteks2x> I would
probably use kotlin for cubic chunks if I knew for sure it won't
make my performance even worse
L150[13:24:31] <gigaherz> I'd like to see
a real non-joke Javascript/typescript modding environment
L151[13:24:39] <barteks2x> and if I didn't
have to deal with a mix of java and kotlin for the next few
years
L152[13:24:55] <illy> gig I am thinking
about doing a coffeecript one just to spite you
L153[13:24:58] <gigaherz> I can easily see
stuff like items and blocks declared using requirejs-style module
exports
L154[13:25:03] <gigaherz> illy: ugh
L155[13:25:14] <gigaherz> we use
coffeescript at work
L156[13:25:18] <gigaherz> so I'm perfectly
familiar with that
L157[13:25:24] <gigaherz> and that's why I
dislike it :P
L158[13:25:44] <illy> damn it... what
really really need is clojure mods
L159[13:25:55] <PaleoCrafter> I
tried
L160[13:26:10] <PaleoCrafter> as long as
you don't need reobfuscation, everything works fine
L161[13:26:14] <illy> try harder damn it
:P
L162[13:26:49] <illy> thanks to emacs I
kinda know lisp...
L163[13:26:50] <barteks2x> and I guess
there is no way to reobfuscate javascript?
L164[13:26:54] <gigaherz> I'm thinking
though, typescript would remove most of the fun of using JS, since
it's typed so may as well jsut use java
L165[13:26:57] <barteks2x> oh wait
L166[13:26:59] <barteks2x> nvm
L167[13:27:08] <barteks2x> I think I mixed
2 parts of the discuission
L168[13:27:19] <gigaherz> yeah that was
clojure :P
L169[13:28:04] <PaleoCrafter> for JS,
you'd probably have a compat layer that could do some runtime
(de)obfuscation or something like that
L170[13:28:09] <gigaherz> yeah
L172[13:28:24] <gigaherz> and it would
need duck typing for declaring stuff :P
L173[13:28:26] <PaleoCrafter> Clojure also
is reobfuscatable, just not with our current toolchain xD
L174[13:28:46] <gigaherz> what I really
think would fit better
L175[13:28:53] <gigaherz> would be
something like UnityScript's js dialect
L177[13:29:06] <gigaherz> since it adds
classes, and optional typing
L178[13:29:32] <illy> in theory you could
just use the JS api and then use typescript compiler
L179[13:29:41] <gigaherz> (and removes the
prototype-based instantiation stuff)
L180[13:30:52] <illy> what we need to do
and I know somepeople will call me crazy but need this as a
community is lolcode
L181[13:31:59] <gigaherz> wouldn't that
cause WAY too many mods to be memes?
L182[13:32:29] <illy> you might have a
point
L183[13:32:53] ⇦
Quits: McJty
(McJty!~jorrit@ptr-9197ufoocmv5e324m9n.18120a2.ip6.access.telenet.be)
(Quit: Leaving)
L184[13:33:06] <PaleoCrafter> nah
L185[13:33:27] <PaleoCrafter> that assumes
people would actually make the effort of being productive in
lolcode
L186[13:35:52] <gigaherz> anyone wants to
lean a LOT OF THINGS! about python?
L188[13:36:13] <PaleoCrafter> might be
worth it just for the machine learning stuff xD
L189[13:36:21] <gigaherz> I personally
don't care much about indentation-delimited langauges, but others
might :P
L190[13:36:24] <Commoble> I just had the
weirdest boner
L191[13:37:41] <Commoble> Eleven python
books for $15? hnnngggg
L192[13:37:54] *
gigaherz drops the link and walks back slowly
L193[13:37:57] <PaleoCrafter> something's
terribly wrong with you
L195[13:38:22] <Commoble> wait no 25
books
L196[13:38:49]
⇨ Joins: Hgreb
(Hgreb!~Hgrebnedn@d8d872a6e.access.telenet.be)
L197[13:39:05] <gigaherz> illy: I like
indentation
L198[13:39:07] <gigaherz> for style
purposes
L199[13:39:23] <gigaherz> I consider
things to require delimiters, to avoid shooting yourself in the
foot
L200[13:39:37] <gigaherz> you don't know
just how many times I have wasted hours because I copypasted
something with wrong indentation
L201[13:39:41] <illy> same I just hate it
being forced like python...
L202[13:39:49] <gigaherz> and one of the
lines was inside/outside its intended scope
L203[13:40:05] <barteks2x> Well, the part
I don't like about it is that I can't just add 2 braces and hit
"reformat"
L204[13:40:36] <barteks2x> of wrap
something in if(false) without changing formatting
L205[13:43:54] <barteks2x> At this point
I'm just ranbdoml;y chaging the code and hope I get it right at
some point
L206[13:51:09] <Commoble> the only thing
about python that really annoys me is that for some reason the
standard for indentation is spaces instead of tabs
L207[13:51:23] <Commoble> you can take my
tabs away when you pry them from my cold, dead hands
L208[13:51:35] <PaleoCrafter> get
out
L209[13:51:37] <PaleoCrafter> right
now
L210[13:51:52] <PaleoCrafter> that's just
disgusting
L211[13:56:36] *
illy hands Paleo a torch and a pitchfork
L212[13:58:40] <barteks2x> I think I tried
all possible combinations of using X and Z in different order to
access the data
L213[13:58:45] <barteks2x> none of it
works...
L214[13:58:56] <barteks2x> Each of them
breaks differently
L215[13:59:29] <barteks2x> Unless it's
GenLayerVoronoiZoom being broken
L216[14:00:10] <barteks2x> Minecraft uses
GenLayerVoronoiZoom in one place... it *could* be broken...
L217[14:00:17] <Commoble> oh fuck these
were ebooks
L218[14:00:22] <Commoble> I immediately
regret my decision
L219[14:00:25] <PaleoCrafter> ._.
L220[14:00:31] <PaleoCrafter> it's a
humble bundle
L221[14:00:35] <PaleoCrafter> of course
they're ebooks :P
L222[14:01:16] <barteks2x> Let's see if it
works after replacing GenLayerVoronoiZoom with GenLayerZoom
L223[14:05:39] <barteks2x> nope
L224[14:06:55] <gigaherz> Commoble: eww,
tabs, I can't be friends with you anymore >_<
L225[14:06:57] <gigaherz> ;P
L226[14:08:27] <gigaherz> there is only
one thing worse than a code file with egyptian braces, tab
indentations, and snake_case function names: a file with
inconsistent indentation, inconsistent naming, AND inconsistent
brace positions.
L227[14:09:46] <gigaherz> actually I
lie.
L228[14:09:58] <gigaherz> there's other
ways to place the braces that are worse than egyptian style
L230[14:10:17] <gigaherz> there are worse
ways than tab indentation (example: 3-space indentation)
L231[14:10:18] <PaleoCrafter> most
definitely
L232[14:10:26] <gigaherz> and there are
worse things than snake_case.
L233[14:10:48] <illy> you should see a
codebase of a mod I worked on I tried for months to get them to
have a consistent coding stlye and I got yelled at for just doing
cleanup...
L234[14:11:04] <gigaherz> PaleoCrafter:
ahh... "I don't like delimiters so I shove them to
theright" style... yeah definitely worse... even worse than
inconsistent formatting.
L235[14:11:04] <Ordinastie> what's the mod
?
L236[14:11:33] <Ordinastie> PaleoCrafter,
at least indentation is consistent
L237[14:11:41] <PaleoCrafter> true
L238[14:11:52] <illy> Runix the mod
stopped at 1.7 im debaing about rewiting it 1.12... but im also
lazy
L239[14:11:53] <PaleoCrafter> but I think
the rest offsets that pretty well
L240[14:11:54] <gigaherz> if I hated
delimiters that much, I'd refuse to program in that kind of
language, and just write my own compiler, or langauge adapter
L241[14:12:04] <barteks2x> There is one
more thing you can mess up: line endings :D and I've also seen that
mixed in one file
L242[14:12:15] <PaleoCrafter> how?
xD
L243[14:12:33] <illy> he would do it with
black jack and hookers of course
L244[14:14:40] <illy> funfact rewriting
git history is not fun
L246[14:14:51] <illy> you mean perl
:P
L247[14:15:22] <PaleoCrafter> that's GNU
style?
L248[14:15:31] <barteks2x> is it?
L249[14:15:34] <barteks2x> I hope it's
not
L251[14:15:56] <PaleoCrafter> actually,
not quite
L252[14:16:05] <barteks2x> oh god...
L253[14:16:12] <barteks2x> someone
actually *uses* this style!?
L254[14:16:50] <illy> well as a linux user
I try to avoid GNUism as much as I can... :P aside from emacs illy
<3's emacs
L255[14:17:29] ⇦
Quits: RichardG (RichardG!~richardg8@201.37.246.64) (Read error:
Connection reset by peer)
L256[14:18:46]
⇨ Joins: RichardG
(RichardG!~richardg8@201.37.246.64)
L257[14:18:47]
MineBot sets mode: +v on RichardG
L258[14:22:39] <barteks2x> It's
GenLayerVoronoiZoom being broken...
L259[14:23:17] <barteks2x> there is no way
at all to use it correctly
L260[14:23:24] <barteks2x> aside of not
using it
L261[14:23:29] <Commoble> sounds like a
plan
L262[14:29:50] ⇦
Quits: Cast0077
(Cast0077!~Cast0077@24-151-68-108.dhcp.nwtn.ct.charter.com) (Quit:
Poof)
L264[14:32:16] <gigaherz> WAIT WAIT
WAIT
L265[14:32:27] <gigaherz> I always thought
those files had messed indentation
L266[14:32:32] <gigaherz> due to
conversion or whatever
L267[14:32:40] <PaleoCrafter> lol
L268[14:32:41] <gigaherz> I didn't realize
people INTENTIONALLY did that!
L269[14:33:42] <PaleoCrafter> that
indentation style would be way too much effort for me, because I
don't think that IDEA supports it xD
L270[14:34:03] <gigaherz> there's certain
things where, if I have to work on them
L271[14:34:09] <gigaherz> I MUST reformat
first
L272[14:34:29] <gigaherz> like, I can work
on egyptian+tabs code jsut fine
L273[14:34:33] <gigaherz> I don't like it,
but I can work with that
L274[14:34:54] <gigaherz> but stuff like
3-space indentation, or 8-space indentation, or inconsistent
code
L275[14:35:01] <gigaherz> yeah nope,
reformat first, then code
L276[14:35:21] <gigaherz> that GNU style,
I would have to reformat.
L277[14:36:01] ⇦
Quits: Kuraron
(Kuraron!~DUX@HSI-KBW-46-223-0-70.hsi.kabel-badenwuerttemberg.de)
(Remote host closed the connection)
L278[14:36:30]
⇨ Joins: Kuraron
(Kuraron!~DUX@HSI-KBW-46-223-0-70.hsi.kabel-badenwuerttemberg.de)
L279[14:37:03] ⇦
Quits: Kuraron
(Kuraron!~DUX@HSI-KBW-46-223-0-70.hsi.kabel-badenwuerttemberg.de)
(Remote host closed the connection)
L280[14:37:40] <barteks2x> well it
wouldn't be that bad if any IDE supported it
L281[14:38:05] <PaleoCrafter> it'd still
be bad
L282[14:38:20] <gigaherz> it would still
hurt my eyes.
L283[14:38:59]
⇨ Joins: Kuraron
(Kuraron!~DUX@HSI-KBW-46-223-0-70.hsi.kabel-badenwuerttemberg.de)
L284[14:40:16] <barteks2x> yes but you
could write more code whater way you want and then hit
reformat
L285[14:44:23] ⇦
Quits: Kuraron
(Kuraron!~DUX@HSI-KBW-46-223-0-70.hsi.kabel-badenwuerttemberg.de)
(Remote host closed the connection)
L286[14:59:18] ⇦
Quits: Ipsis (Ipsis!~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk)
(Ping timeout: 186 seconds)
L287[15:05:39]
⇨ Joins: Kuraron
(Kuraron!~DUX@HSI-KBW-46-223-0-70.hsi.kabel-badenwuerttemberg.de)
L288[15:08:28] ⇦
Quits: Kuraron
(Kuraron!~DUX@HSI-KBW-46-223-0-70.hsi.kabel-badenwuerttemberg.de)
(Remote host closed the connection)
L289[15:10:16]
⇨ Joins: Kuraron
(Kuraron!~DUX@HSI-KBW-46-223-0-70.hsi.kabel-badenwuerttemberg.de)
L291[15:12:33] <PaleoCrafter> permutations
or something?
L292[15:12:36] <PaleoCrafter> I dunno, I
didn't write it :P
L293[15:13:03] <gigaherz> it swaps
characters in an array
L294[15:13:14] <gigaherz>
recursively.
L295[15:13:44] <gigaherz> and when it
reaches the last depth level
L296[15:13:45] <gigaherz> it prints
outs
L297[15:13:46] <gigaherz> so
L298[15:14:14] <gigaherz> in short: it
prints outs all the permutations of the characters in the array,
using a recursive implementation
L299[15:14:25] <gigaherz> and editing the
array in-place
L300[15:14:59] <gigaherz> either it's a
student exercise
L301[15:15:17] <gigaherz> or someone just
wanting to give proper coders a headache :P
L302[15:15:48] <illy> using proper code
makes professors think your plagiarizing code
L303[15:16:20] <TechnicianLP> yes - thanks
for clarifying ... i didnt fully grasp what te recursion actually
did (and the even check in the swap confused me)
L304[15:16:29] ⇦
Quits: Hunterz (Hunterz!~hunterz@62.182.234.189) (Quit:
Leaving.)
L305[15:16:33] <illy> hey illy I saw you
used regex to strip punctuation you must be using stolen
code...
L306[15:17:09] *
TechnicianLP breaks into the codebank
L307[15:17:16] <PaleoCrafter> hey illy, I
saw you confused IRC with the terminal, you must be doing something
wrong
L308[15:17:29] <illy> no that's just illy
being a derp
L309[15:29:42]
⇨ Joins: williewillus
(williewillus!~williewil@cpe-24-28-24-13.austin.res.rr.com)
L310[15:30:29] <williewillus> !dcc
L311[15:37:14]
⇨ Joins: Lepidora
(Lepidora!~Lepidora@host86-137-214-168.range86-137.btcentralplus.com)
L312[15:48:54] <gigaherz> oooh UnityScript
compiler is in github
L314[15:49:05] <gigaherz> but ohshit, it's
written in boo (a python dialect for .NET)
L315[15:50:01] <gigaherz> and it uses
gradle... to compile boo
L316[15:50:17] <illy> wait what
L317[15:51:04] <gigaherz> it uses gradle
to compile boo code into .net executables (mono?) in order to allow
you to compile unityscript (a javascript with types) into
.NET
L318[15:51:17] <gigaherz> so that the code
can run in the mono environment within the Unity engine
L320[15:51:45] <illy> s/and/an/
L321[15:51:50] <gigaherz> nant
L322[15:51:52] <gigaherz> not just plain
ant
L323[15:52:00] <barteks2x> damn, my unit
test is running out of memory
L324[15:52:03] <gigaherz> it's like ant,
but for .NET
L325[15:52:18]
⇨ Joins: Doty1154
(Doty1154!~Doty1154@2601:648:8000:134f:ed26:f7d8:bf32:b885)
L326[15:52:39] <Commoble> I don't think
even Unity uses UnityScript anymore, to give a sense of
perspective
L327[15:52:46] <barteks2x> I guess getting
250k arrays from IntCache isn't a good idea
L328[15:52:51] ⇦
Quits: Lepidora
(Lepidora!~Lepidora@host86-137-214-168.range86-137.btcentralplus.com)
(Quit: Lepidora)
L329[15:53:09] <gigaherz> Commoble:
yup
L330[15:53:13] <gigaherz> well
L331[15:53:16] <gigaherz> they are phasing
it out
L332[15:53:23] <gigaherz> I don't know if
it's still included
L333[15:53:26] <gigaherz> but it won't be
for long
L334[15:53:53] <gigaherz> they are tired
of maintaining that compiler, and they want to update to newer
versions of Mono that support newer C# features
L335[15:54:26] <gigaherz> but still
L336[15:54:41] <gigaherz> I think a
cleaned up version of that language would be a nice thing to write
mods with
L337[15:54:42] <gigaherz> :P
L338[15:55:03] <gigaherz> ofc I'm not
going to port the compiler from "sortof python" to
something JVM-based
L339[15:55:06] <barteks2x> so all the
tests I throw at it that verify that the code does what I want are
successful, and yet it doesn't do what I want ingame...
L340[15:55:23] <gigaherz> even less take
it upon myself ot maintain the codebase
L341[15:55:25] <barteks2x> I just want it
so that no 2 biomes non-ocean biomes ever touch each other
L342[15:55:51] <gigaherz> I have no idea
how biome selection works
L343[15:55:53] <gigaherz> so I can't
help
L344[15:56:11] <gigaherz> I know it's not
the way I was considering it for my "toy engine"
L345[15:56:47] <gigaherz> the way I
thought I'd do it would be to have 4 noise seeds: elevation,
temperature, humidity, roughness
L346[15:56:50] <illy> we need to make a
language that uses a greek question mark instead of a
semicolon
L347[15:56:53] <barteks2x> it's
"start with something large scale, zoom in and add randomness,
add more stuff, repeat"
L348[15:57:03] <gigaherz> and the biome
would be selected based on a fuzzy selection of the values
L349[15:57:24]
⇨ Joins: immibis
(immibis!~chatzilla@122-59-200-50.jetstream.xtra.co.nz)
L350[15:57:34] <barteks2x>
temperature/humidity was how it worked in MC beta
L351[15:58:01] <barteks2x> and then the
released beta 1.8 that removed all of it and replaced it with the
cuirrent GenLayers
L352[15:58:06] <gigaherz> heh
L353[16:00:00] <barteks2x> I exported an
image withmy biome layout and it works as I expect. Except that
ingame it doesn't
L354[16:00:50] <Commoble> then the game
isn't reading your biome layout the way you're expecting it
to
L355[16:01:17] <barteks2x> unless
GenLayerVoronoiZoom is *that* weird
L356[16:02:49] <barteks2x> it's not
that
L357[16:03:54] <Commoble> mm
L358[16:04:33] <Commoble> well,
*somewhere* there's an assumption you're making that you firmly
believe to be true, except it isn't. Those are tricky to figure
out.
L359[16:06:37]
⇨ Joins: Lepidora
(Lepidora!~Lepidora@host86-137-214-168.range86-137.btcentralplus.com)
L361[16:07:38] <barteks2x> the test are ok
and yet ingame, I can see islands made of 3 different biomes
L362[16:09:25] ⇦
Quits: dangranos (dangranos!~dangranos@hekate.pc-logix.com) (Ping
timeout: 190 seconds)
L363[16:09:25] ⇦
Quits: Techokami (Techokami!Techokami@znc.theender.net) (Ping
timeout: 190 seconds)
L364[16:10:19]
⇨ Joins: SparkVGX
(SparkVGX!~SparkVGX@121.99.164.93)
L365[16:10:43]
⇨ Joins: killjoy
(killjoy!~killjoy@cpe-2606-A000-1118-82FA-93D-DC93-D786-7003.dyn6.twc.com)
L366[16:11:33]
⇨ Joins: Techokami
(Techokami!Techokami@znc.theender.net)
L367[16:11:43]
⇨ Joins: dangranos
(dangranos!~dangranos@hekate.pc-logix.com)
L368[16:15:10] ⇦
Quits: Hgreb (Hgreb!~Hgrebnedn@d8d872a6e.access.telenet.be) (Ping
timeout: 198 seconds)
L369[16:20:30] ⇦
Quits: Lepidora
(Lepidora!~Lepidora@host86-137-214-168.range86-137.btcentralplus.com)
(Quit: Lepidora)
L370[16:20:34] ⇦
Quits: lp (lp!~lordpipe@66.109.211.167) (Ping timeout: 198
seconds)
L371[16:27:18] ⇦
Quits: SuperCoder79
(SuperCoder79!~SuperCode@c-98-192-10-12.hsd1.ga.comcast.net) (Read
error: Connection reset by peer)
L372[16:34:27]
⇨ Joins: SuperCoder79
(SuperCoder79!~SuperCode@c-98-192-10-12.hsd1.ga.comcast.net)
L373[16:35:13]
⇨ Joins: Lepidora
(Lepidora!~Lepidora@host86-137-214-168.range86-137.btcentralplus.com)
L374[16:38:06]
⇨ Joins: lp (lp!~lordpipe@66.109.211.167)
L375[16:38:08]
⇨ Joins: Lepidora_
(Lepidora_!~Lepidora@host86-137-214-168.range86-137.btcentralplus.com)
L376[16:39:51] ⇦
Quits: Lepidora
(Lepidora!~Lepidora@host86-137-214-168.range86-137.btcentralplus.com)
(Ping timeout: 207 seconds)
L377[16:39:52] ***
Lepidora_ is now known as Lepidora
L378[16:40:17] <heldplayer>
<barteks2x> temperature/humidity was how it worked in MC
beta
L379[16:40:29] <barteks2x> exactly what i
said...
L380[16:40:29] <heldplayer> With the
smooth transitions, oh how I had forgotten those
L381[16:40:32] <barteks2x> oh.
L382[16:40:35] <barteks2x> You quoted
me
L383[16:40:40] <heldplayer> Yeah ;)
L384[16:41:24] <barteks2x> it had smooth
transitions because instead of first generationg biomes and then
using biome colors for colors, it directly used the underlying
temperature and humidity for color
L385[16:41:42] <heldplayer> Might be an
idea for a mod (if it doesn't exist yet), save temperature and
humidity per chunk and use that for the 'biome' rather than the
current system
L386[16:42:03] <heldplayer> And in effect
the color of the grass per block
L387[16:42:09] <heldplayer> Yeah I know
;)
L388[16:42:13] <barteks2x> except afaik it
doesn't ever actually generate humidity or temperature
L389[16:42:59] <heldplayer> I remember the
criticism on it was that the transitions between biomes got very
hard compared to before
L390[16:43:16] <barteks2x> they fixed it
by assigning temperature categories to biomes
L391[16:43:33] <barteks2x> and making sure
that 2 biopmes with opposite temperature categories don't generate
next to each other
L392[16:43:36] <gigaherz> I do wish biomes
were "fuzzier"
L393[16:43:47] <gigaherz> but it would
make generation a bit weirder
L394[16:43:48] <gigaherz> like
L395[16:44:19] <barteks2x> OTG BiomeBundle
does it quite nice
L396[16:44:32] <barteks2x> it has I think
over 600 biomes now
L397[16:44:36] <Commoble> weirder
how
L398[16:44:36] <heldplayer> Nice
L399[16:44:37] <barteks2x> or maybe
300?
L400[16:44:38] <gigaherz> how would you
generate trees in a biome that's 37% forest and 23% plains, 11%
hills, ...
L401[16:44:50] <gigaherz> s/and/,/
L402[16:45:11] <barteks2x> you would
generate 37% of the amount of trees from forest, 23% of those from
plains and 11% of thise from hill;s
L403[16:45:16] <Commoble> "The
Deadlands stand before you. The twitching arms protrude from the
ground, endlessly reaching for things beyond their
grasp"
L404[16:45:30] <gigaherz> but since it
changes smoothly, you would have to decide, per column?
L405[16:45:44] <gigaherz> I guess it could
work...
L406[16:45:59] <gigaherz> "this
column has 10% chance of oak, 5% chance of birch, 2% chance of
spruce"
L407[16:46:01] <gigaherz> and generate
from that
L408[16:46:04] <barteks2x> vanilla already
does population only based on biome from one corner of a
chunk
L409[16:46:33] <gigaherz> also
L410[16:46:41] <barteks2x> with fuzzy
biomes, you could do some sampling
L411[16:47:06] <gigaherz> back to the idea
of using [elevation,temperature,humidity,roughness] as an input to
a decision network
L412[16:47:24] <gigaherz> what biome would
be (low temp, low humidity) ?
L413[16:47:49] <Commoble> Dwarf Fortress
uses temperature, precipitation, and drainage
L414[16:48:07] <barteks2x> actually, mc
beta assumed there are no biomes with high humidity and low
temperatures
L415[16:48:15] <barteks2x> that all low
temperature biomes are low humidity
L416[16:48:29] <gigaherz> that makes no
sense
L417[16:48:32] <barteks2x> before
selecting biome, it first multiplied the raw humidity by
temperature
L418[16:48:41] <Commoble> if you replace
humidity with rainfall you'd get a snowy tundra
L419[16:48:42] <gigaherz> low temps have a
lower capacity for water vapor
L420[16:48:46] <gigaherz> meaning there's
always more humidity :P
L421[16:48:55] ⇦
Quits: lp (lp!~lordpipe@66.109.211.167) (Quit: WeeChat
2.0.1)
L422[16:48:58] <barteks2x> but in absolute
terms the humidity is lower
L423[16:49:31] <barteks2x> well, noone
actually knows if notch intended it to be rainfall or
humidity
L424[16:49:34] <gigaherz> Commoble: IMO
rainfall is a function of humidity :P
L425[16:49:39] <gigaherz> more humidity
-> higher chance of rain
L426[16:49:44] <Commoble> right
L427[16:49:46] <barteks2x> some
deobfuscation mappings caalled it one way, some ote pther way
L428[16:50:12] <blackgem> Bye
L429[16:50:48] <gigaherz> (low altitude,
high humidity) -> sea
L430[16:51:04] ⇦
Quits: Lepidora
(Lepidora!~Lepidora@host86-137-214-168.range86-137.btcentralplus.com)
(Quit: Lepidora)
L431[16:51:06] <barteks2x> also the
4-variable thing is what I experimented with once
L432[16:51:14] <barteks2x> let me fine the
super-old branch for it
L433[16:51:18] <gigaherz> (mid altitude
low humidity) -> desert
L434[16:51:51] <gigaherz> (high altitude
low humidity) -> plateau
L435[16:52:05] <Commoble> they say
plateaus are the highest form of flattery
L436[16:53:51] <gigaherz> .......
lol
L437[16:53:54]
⇨ Joins: lp (lp!~lordpipe@66.109.211.167)
L438[16:59:57] <barteks2x> found it
L442[17:01:55] <barteks2x> 50$ for anyone
who can compile that repository either on that commit or +-5
commits in the history
L443[17:02:02] <barteks2x> and have it
run
L444[17:02:14] <barteks2x> (no not really,
btu I doubt anyone cando that)
L445[17:06:06] <TechnicianLP> define
run?
L446[17:06:38] <barteks2x> you should be
able to create a cubic chunks world with this commit
L447[17:06:49] <barteks2x> I used to be
able to do that
L448[17:07:05] <barteks2x> now... I would
rather backport my current code to 1.7.10
L449[17:07:08] <MajorPotato> back.
barteks, I actually *do* want to use the registry for its ID
mapping. Believe me, I'm not saying this just taking a look at the
registry system and going "hey that looks cool". I've
spent some time investigating it
L450[17:07:45] <MajorPotato> In addition,
the registries are accessible without an API function needed at
all, which is another appealing reason to use them
L451[17:08:01] <barteks2x> you need some
way to get the registry object
L452[17:08:21] <gigaherz> there's some
reigstry manager, with a get(ClassName.class) method
L453[17:08:34] <MajorPotato> yes, so you
need an API in the form of interfaces, for the base type
L454[17:08:39] <barteks2x> well the I
guess you are right
L455[17:08:51] <MajorPotato> but as soon
as you get into having a concrete object, that API gets much more
complicated
L456[17:08:55] <MajorPotato> and requires
a library mod
L457[17:09:50] <barteks2x> There probably
is a way to not game the registry event fired,and then you just
need to disallow any fiurther registrations after you add your
stuff to it
L458[17:10:06] <LexMobile> MajorPotato:
You dont want a registry
L459[17:10:06] <gigaherz> that's already
present, IIRC?
L460[17:10:13] <LexMobile> Stop trying to
use Forge's registry
L461[17:10:24] <LexMobile> You want a
immutible map
L462[17:10:49] <MajorPotato> I understand
the basic premise of that lex, but I actually want the ID map and
all the baggage that comes with the registry system
L463[17:11:08] <gigaherz> except the part
where it's designed for people to register things into it....
L464[17:11:12] <LexMobile> Why?
L465[17:11:26] <MajorPotato> For both
serialization and synchronization
L466[17:11:39] <LexMobile> Buzzwords,
explain better
L467[17:13:40] <MajorPotato> The client
and server can have different data for the registries i'm creating,
so it needs to be synchronized properly. Now, this is the one
section I haven't dug too deep into, but I believe the registries
have a way of handling syncing...?
L468[17:14:00] <LexMobile> Yes, and
no.
L469[17:14:07] ⇦
Quits: c233 (c233!~c233@164.40.196.203) (Killed (NickServ (GHOST
command used by c233_!~c233@164.40.200.65)))
L470[17:14:08] <LexMobile> It doesn't sync
the data. It just syncs the ID map.
L471[17:14:10]
⇨ Joins: c233 (c233!~c233@164.40.200.65)
L472[17:14:24] <MajorPotato> In addition,
as I already mentioned, its easier to have an API for using the
registries, as only interface types are required, and not concrete
objects, which would require a library.
L473[17:14:30] <MajorPotato> And yes,
thats perfect
L474[17:14:39] <LexMobile> Why are you
using ids?
L475[17:17:07] <LexMobile> And your whole
line about concrete objects vs interfaces and their relation to
needing a 'library'... both would need one.... If you have hard
references to the types.
L476[17:17:22] <MajorPotato> For a variety
of reasons. One of which is because I'm attaching this data to
items/blocks, so I'm using ids for lookup. And yes the ids can
change per world, as diff worlds may have diff data, depending on
client/server differences or simply a client changing options.
(Part of my mod reads from a bunch of JSON files)
L477[17:17:46] <LexMobile> define
attaching to blocks?
L478[17:17:54] <LexMobile> How often is
this used?
L479[17:17:59] <LexMobile> Is it sent over
the wire?
L480[17:18:01] <MajorPotato> No, my API as
it is is just interfaces. That API can be included as just the API,
without needed the mod behind it
L481[17:18:01] ⇦
Quits: armed_troop
(armed_troop!~armedtroo@pool-108-2-113-105.phlapa.fios.verizon.net)
(Quit: Bye)
L482[17:18:10] <LexMobile> Are you
expecting 10 instaces or 1,000,000,000?
L483[17:18:18] ⇦
Quits: williewillus
(williewillus!~williewil@cpe-24-28-24-13.austin.res.rr.com) (Quit:
Leaving)
L484[17:18:24] <LexMobile> Thats what a
fucking API is...
L485[17:18:30] <MajorPotato> yes
L486[17:18:33] <MajorPotato> but not a
library
L487[17:18:48] <MajorPotato> ok
L488[17:18:50] <MajorPotato> lemme
rephrase
L489[17:18:58] <LexMobile> They are
different things. Your library is a method of shipping your
api.
L490[17:19:22] <MajorPotato> if I have a
concrete object, the mod will be required at runtime. If its just
the API, it will be optional
L491[17:19:23] <LexMobile> It doesnt
matter if its concrete classes or interfaces, its all exactly the
same in the end
L492[17:19:35] <LexMobile> No... thats not
how any of this works
L493[17:19:48] <MajorPotato> It is how the
way I'm doing it works, and how I want it to work
L494[17:19:55] <LexMobile> If they use
your API the API spec needs to exist
L495[17:20:25] <LexMobile> It has NOTHING
to do with being a interface or a concerete object. All they see is
a interface
L496[17:20:35] <MajorPotato> the API is
just a collection of interfaces, which they are expected to
implement and register to the registries, or retrieve from the
registry
L497[17:21:03] <MajorPotato> if the mod
behind it exists, there will be no registry, so there will be no
data, and nothing will happen
L498[17:21:06] <MajorPotato> er
L499[17:21:09] <MajorPotato> if it doesn't
exist
L500[17:21:17] <LexMobile> Either way, use
the registry as it is and just tell people to not register
shit
L501[17:21:22] <LexMobile> or roll your
own.
L502[17:21:37] <LexMobile> the entire
point of the registry system in forge is to be expandable by
multiple mods.
L503[17:21:48] <barteks2x> Isn't freezing
a registry kind of designed to not allow registring stuff to
it?
L504[17:21:57] <LexMobile> Yes
L505[17:22:15] <LexMobile> But thats more
of state based on engine state thing
L506[17:22:16] <MajorPotato> Thats after
the registry events happen though, so everything should already be
registred
L507[17:22:36] <barteks2x> And it's
impossible to freeze a registry earlier?
L508[17:22:58] <MajorPotato> The thing is,
the data in my registry that I want to be generated requires data
from other registries of mine that I expect people to add to
L509[17:23:10] <LexMobile> It may be, but
it would be a hack that would screw up the internals of rebuilding
the registries
L510[17:23:19] <MajorPotato> Hmm
L511[17:23:32] <MajorPotato> Is there any
way to request priority for when the register event visits
you?
L512[17:23:37] <LexMobile> no
L513[17:23:42] <gigaherz> MajorPotato: you
are giving a whole lot of reason why you think you need it, but
also a whole lot of reasons why rolling your own would be
best
L514[17:23:43] <LexMobile> its
alphabetical
L515[17:23:54] <MajorPotato> If not, would
that be something that might be possible to add?
L516[17:24:02] <MajorPotato> yeah, thats
why I'm reconsidering
L517[17:24:08] <LexMobile> why would
people besides yourself use this registry?
L518[17:24:17] <MajorPotato> but priority
requests would be something else
L519[17:24:23] <LexMobile> No we are not
going to add a priority syetem
L520[17:24:32] <gigaherz> I believe it was
already proposed
L521[17:24:34] <gigaherz> and the PR was
rejected
L522[17:24:37] <MajorPotato> k then. may I
ask why?
L523[17:24:44] <LexMobile> This is an
explicity design decision that was debated quite throughly
L524[17:25:18] <barteks2x> My guess is
that people would try to be the first or the last to receive and
event and when 2 mods attempt that it wouldnever work anyway
L525[17:25:28] <Commoble> I'm assuming
it's because we don't want the order in which mods are registered
to matter
L526[17:26:09] <gigaherz> well if it
wasn't out of the question, it would have to be a system similar to
the mod dependencies, or the old recipe sorter
L527[17:26:18] <gigaherz> with
"before:class,after:class"
L528[17:26:36] <gigaherz> so it wouldn't
be mod-order-dependant either way
L529[17:26:48] <LexMobile> Long story
short, its a rats nest and will never happen
L530[17:27:03] <gigaherz> but since it is
out of the queston, who cares :P
L531[17:34:07] <MajorPotato> Honestly, I'd
be happy with a way to ensure my one registry is visited after my
others, but atm there's no way short of naming it with a 'z' in
front or something, and hoping that never changes
L532[17:34:24] <LexMobile> Do that
L533[17:34:33] <MajorPotato> ... thats
horrible
L534[17:34:44] <MajorPotato> I do want it
read-accessible by other mods
L535[17:34:55] <LexMobile> And? Why?
L536[17:35:02] <gigaherz>
ZeFeatureName
L537[17:36:24] <MajorPotato> Essentially,
my other registries are types that can be registered, namely
components and properties. The one I want generated contains
objects that hold actual values associated with those types.
L538[17:36:44] <MajorPotato> (But are also
types themselves, in a larger way)
L539[17:36:51] <LexMobile> Wat
L540[17:37:19] <gigaherz> it would really
help if you did describe exactly what you are doing
L541[17:37:32] <gigaherz> it's not like
anyone here is going to run away with your idea :P
L542[17:37:39] <barteks2x> explaining how
something is supposed to work without explaining exactly what it
does usually leads to that kind of reaction at some point
L543[17:37:45] <MajorPotato> yes, but it
would take a while
L544[17:37:48] <MajorPotato> several walls
of text
L545[17:37:53] <MajorPotato> if you really
want...
L546[17:38:53] <gigaherz> well it would
certainly reduce the "wat why?" questions -- either
people would TL;DR and go elsewhere, or they would understand why
you think you need this :P
L547[17:45:56] <barteks2x> O.o why this
just evaluates to y? ((long) x) << 32 | y
L548[17:46:25] <LexMobile> because y is an
int
L549[17:46:33] <barteks2x> yes but I case
x to long
L550[17:46:44] <LexMobile> and shift it by
an int
L551[17:47:01] <barteks2x> shouldn't long
<< int -> long and long | int -> long?
L552[17:47:17] <LexMobile> Sometimes
L553[17:47:40] <TechnicianLP> try
brackets?
L554[17:48:00] <barteks2x> (((long) x)
<< 32L) | y tried this too
L555[17:48:14] <barteks2x> WAT
L556[17:48:14] <Commoble> are you casting
y to a long too
L557[17:48:16] <barteks2x> (((long) x)
<< 32L) | ((long)y)
L558[17:48:19] <barteks2x> this also
evaluates to y
L559[17:48:22] <Commoble> wut
L560[17:48:29] <gigaherz> that means x is
0? :P
L561[17:48:47]
⇨ Joins: Dark
(Dark!~MrDark@2607:fcc8:d48b:eb00:345a:997f:302e:b23b)
L562[17:48:52] <Commoble> what sorcery is
this
L564[17:49:48] <MajorPotato> The basic
premise is to expand on the OreDictionary in a more concrete way.
Instead of assigning blocks/items names, the idea is to create
"Materials" for every unique material type (silver, iron,
etc). These Materials are comprised of Components and Properties,
with Components comprising the 'ore', 'ingot', etc part of the
OreDictionary name. Properties are property keys that represent
specific values for a material (or override values
L565[17:49:48] <MajorPotato> that are
unique to a material+component combo), such as a blocks hardness,
or the color data needed for the texture (which is generated at
startup from grayscale images and color data). Both components and
properties can be created and registered by other mods, and there
are some common ones included in the base mod. Materials on the
other hand, are created by the base mod by scanning OreDictionary
entries (also just realized I need to wait
L566[17:49:49] <MajorPotato> until
OreDictionary entries are registered, that adds another kink).
Materials can also be read from a disk directory of JSON files.
There's several config options to control how the combo of JSON +
generating works. Finally, each component has an instance type,
such as a block or item that is a representation of the component
and a material for actual usages.
L567[17:50:02] <barteks2x> I'm askign this
in ##java
L568[17:50:19] <MajorPotato> Another
section of the mod will attempt to go through world gen, recipes
etc and replace equivalent OreDictionary entries will the component
instances.
L569[17:50:46] <LexMobile> jshell>
((long)x << 32) | y
L570[17:50:46] <LexMobile> $11 ==>
4294967298
L571[17:50:49] <LexMobile> Seems to
work
L572[17:51:01] <MajorPotato> ^ Long
explanation, but also allowed me to realize that registry might not
work anyways because I need to wait for OreDictionary to be
populated >_>
L573[17:51:15] <LexMobile> OreDict is
never populated
L575[17:51:27] <barteks2x> doesn't work
for me
L576[17:51:49] <PaleoCrafter> oh...
L577[17:51:56] <LexMobile> also besides
that, you're reinventing the horse i think... 1.13's tags may be a
solution
L578[17:51:59] <PaleoCrafter> it's because
of two's complement
L579[17:52:10] <PaleoCrafter> if you
convert the negative to a long, it'll become mostly ones
L580[17:52:21] <gigaherz> yeah
L581[17:52:23] ⇦
Quits: auenf
(auenf!~David@cpe-60-229-41-184.lns8.ken.bigpond.net.au) (Ping
timeout: 200 seconds)
L582[17:52:27] <MajorPotato> oh? I haven't
looked at 1.13 much (I started this probably six months ago)
L583[17:52:34] <gigaherz> or != +
L584[17:52:38] <barteks2x> (((long) x)
<< 32L) | (((long)y)&0xFFFFFFFFL) works
L585[17:52:53] <gigaherz> MajorPotato:
they are adding "tags" which are lists of items, for use
in commands and recipes
L586[17:53:06] <gigaherz> so like, if you
declare a tag "yourmod:foodstuffs"
L587[17:53:13] <gigaherz> which includes
baked potatoes, steak, ...
L588[17:53:17] <MajorPotato> oh
L589[17:53:20] <LexMobile> oh oh god
L590[17:53:22] <MajorPotato> no, doesn't
do what I'm doing
L591[17:53:25] <gigaherz> then you can
make a recipe use "tag":
"yourmod:foodstuffs"
L592[17:53:30] <LexMobile> you're doing
runtime texture gneration
L593[17:53:34] <LexMobile> the fuck is
wrong with you...
L594[17:53:36] <MajorPotato> yes and
no
L595[17:53:54] <MajorPotato> startup time,
not runtime. and they will be cached
L596[17:54:04] <LexMobile> same
thing
L597[17:54:11] <LexMobile> either way it
should be done at build time
L598[17:54:12] <MajorPotato> much less of
a performance hit
L599[17:54:17] <gigaherz> it blows up the
atlas
L600[17:54:30] <MajorPotato> not possible.
there's infinite possibilities
L601[17:54:33] <MajorPotato> hmm
L602[17:54:36] <LexMobile> no there
isnt
L603[17:54:42] <LexMobile> there is a base
and a overlay
L604[17:54:47] <gigaherz> even vanilla
ores
L605[17:54:49] <LexMobile> there are
literally 2 possibilities
L606[17:54:49] <MajorPotato> the overlay
is unknown
L607[17:54:54] <LexMobile> overlay IS
known
L608[17:54:56] <gigaherz> should just be
two-layer textures
L609[17:54:59] <MajorPotato> there could
be any amount
L610[17:55:08] <MajorPotato> depending on
what materials are registered
L611[17:55:09] <gigaherz> base = plain
stone, overlay = the pixels to draw on top
L612[17:55:20] <LexMobile> gigaherz: yell
at grum
L613[17:55:26] <gigaherz> just because
vanilla doesn't do that, doesn't mean mods shouldn't do
better
L614[17:55:41] <gigaherz> forge already
has multi-layer models
L615[17:55:44] <MajorPotato> um, you can
actually do that
L616[17:55:46] <LexMobile> you're wanting
to reinvent what tinkers construct does
L617[17:55:55] <gigaherz> which can be
used to draw both an opaque and a cutout model, in the same
block
L618[17:55:59] <LexMobile> which can be
done as a simple base testure + overlay + tint
L619[17:56:11] <MajorPotato> it was my
original way. you can do it with the json models
L620[17:56:18] <LexMobile> then do
it
L621[17:56:21] <gigaherz> and item models
already have texture layers with per-layer tints
L622[17:56:22] <LexMobile> quite this
runtime shit
L623[17:56:32] <LexMobile> Minecraft is
moving to data driven, get your code out of your mod
L624[17:56:37] <MajorPotato> actually, I
still am. but thats not the issue. The color of the overlay is
unknown
L625[17:56:44] <LexMobile> no its
not
L626[17:57:06] <gigaherz> put it in a
resource pack, some .json file or whatever
L627[17:57:09] <gigaherz> like mc does for
animation data
L628[17:57:10] <MajorPotato> yes it is.
There is a unique color per material, and materials are determined
at runtime
L629[17:57:20] <LexMobile> materials are
not determined at runtime
L630[17:57:21] <gigaherz> if you are
concerned with resourcepacks changing the colors
L631[17:57:29] <LexMobile> you just stated
it yourself that other modders register them
L632[17:57:32] <LexMobile> they know it at
build time
L633[17:58:00] <MajorPotato> .... I see
what your saying
L634[17:58:22] <MajorPotato> But I also do
an average of registered colors for a material, since it can have
more than one
L635[17:58:31]
⇨ Joins: auenf
(auenf!~David@CPE-139-168-72-108.lns4.cht.bigpond.net.au)
L636[17:58:36] <LexMobile> you could do
that
L637[17:58:46] <LexMobile> or you could
just do last one wins like resource packs
L638[17:58:55] <MajorPotato> thats
actually a config option I have
L639[17:59:13] <MajorPotato> i'll look
into that
L640[17:59:14] <gigaherz> nothing prevents
you from averaging the given tint colors anyhow
L641[17:59:22] <MajorPotato> tint doesn't
work
L642[17:59:24] <gigaherz> since tints are
provided through an IBlockColor/IItemColor
L643[17:59:30] <LexMobile> Thats also
true, but that would be more work
L644[17:59:32] <MajorPotato> the whole
reason I was doing this system was to avoid tint
L645[17:59:39] <LexMobile> use tints
L646[17:59:42] <LexMobile> from the
json
L647[17:59:42] <MajorPotato> tint doesn't
provide the blending I need
L648[17:59:49] <MajorPotato> no, their
blend implementation is horrendous
L649[17:59:52] <LexMobile> then use better
overlays
L650[18:00:13] <gigaherz> ? the tint just
does color*multiplier, you give it grayscale, it outputs
color
L651[18:00:27] <MajorPotato> yes, and
that's horrendous
L652[18:00:44] <MajorPotato> the blending
I'm doing is at minimum using Overlay blending, but usually using
color curves
L654[18:01:46] <MajorPotato> It would be
nice if there was an option to change the blend mode for
tinting
L655[18:01:52] <MajorPotato> but idk if
thats even possible
L656[18:02:47] <gigaherz> it would require
doing the blending on a shader
L657[18:03:19] <MajorPotato> anyways, the
color part is irrelevant to the original issue. Lex, you said the
OreDictionary isn't populated, what exactly do you mean by that? By
populated I mean when people actually register stuff to it
L658[18:03:21] <gigaherz> or wait
hmm
L659[18:03:29] <gigaherz> Ican't remember
if mc applies the tints on cpu of gpu
L660[18:03:31] <gigaherz> or*
L661[18:03:37] <LexMobile> Oredict is
oldshit
L662[18:03:44] <LexMobile> it gets
popilated at whim
L663[18:03:49] <LexMobile> which is
fucking annoying
L664[18:03:52] <gigaherz> cpu.
L665[18:04:00] <gigaherz> so
effectively
L666[18:04:04] <MajorPotato> honestly, its
anyone's guess for the tints. MC is a frankenstein of rendering
technology
L667[18:04:10] <MajorPotato> and yes Lex,
I agree
L668[18:04:17] <gigaherz> all it does is
multiply the color of each vertex
L669[18:04:23] <gigaherz> which later gets
used in the rendering
L670[18:04:34] <gigaherz> using the gpu's
blending (which is linear)
L671[18:04:42] <MajorPotato> ah
L672[18:04:55] <MajorPotato> and MC
doesn't use shaders by default I don't think (could be wrong)
L673[18:05:11] <gigaherz> not so far as
you are concerned
L674[18:05:38] <gigaherz> (if there's any
shader, it's beyond what a mod is able to customize without
coremodding)
L675[18:05:47] <TechnicianLP> MajorPotato:
you can still use a custom baked model and set the tintcolor
manually based on state or something
L676[18:06:01] <gigaherz> TechnicianLP:
yes but it won't change the actual blending of the texture
L677[18:06:06] <MajorPotato> Its not the
tintcolor thats the issue. Read up ^ XD
L678[18:06:18] <gigaherz> the gpu
effectively does:
L679[18:06:36] <MajorPotato> It does the
default interpolation between vertices, right?
L680[18:06:37] <gigaherz> target.color =
target.color * (1-alpha) + source.color*(alpha)
L681[18:06:52] <gigaherz> where
source.color = texture.color * vertex.color
L682[18:07:05] <gigaherz> where
vertex.color = interpolated values between vertices
L683[18:07:07] <MajorPotato> its
essentially just Multiply blend
L684[18:07:21] <barteks2x> I was able to
actually use vanilla shaders code successfully, btu haven't tried
changing the shaders
L685[18:07:26] <gigaherz> it's
essentially
L686[18:07:37] <barteks2x> *changing themn
ingame
L687[18:07:43] <gigaherz> texture *
vertex, yes
L688[18:07:52] <MajorPotato> wouldn't need
to change them ingame
L689[18:08:06] <MajorPotato> wait
L690[18:08:07] <gigaherz> which
means
L691[18:08:15] <MajorPotato> no actually
yes I probably would
L692[18:08:18] <gigaherz> texture * model
vertex value * tint value
L693[18:08:35] <barteks2x> I just use the
shaders in my GUII, which was hard enough to figure out
L694[18:08:48] <gigaherz> yeah but gui !=
model system
L695[18:09:01] <gigaherz> you can also
technically use shaders in a TESR, or in an entity renderer
L696[18:09:06] <MajorPotato> shaders in a
GUI? What on earth are you doing in the GUI...
L697[18:09:09] <gigaherz> but since we
were talking block models...
L698[18:09:21] <barteks2x> MajorPotato,
dynamic preview of terrain generator result based on settings
L699[18:09:25] <MajorPotato> ah
L700[18:09:29] <MajorPotato> nice
L701[18:10:38] <MajorPotato>
Unfortunately, it looks like I'm going to have to use an
ImmutableMap for my Materials anyways, because of the OreDictionary
>_>
L702[18:11:52] <MajorPotato> Really wanted
to avoid that, as it makes my mod required to use the API, not
optional
L703[18:12:22] <illy> I could have gotten
more work done but then I found a beer...
L704[18:12:33] <MajorPotato> XD
L705[18:13:45] <illy> git pull
L707[18:14:30] ⇦
Quits: KGS (KGS!~KGS@h-158-174-9-50.NA.cust.bahnhof.se) (Ping
timeout: 186 seconds)
L708[18:15:33] <MajorPotato> Also random
note, but I noticed that Coal isn't added to the OreDictionary by
default
L709[18:16:43] <MajorPotato> (in item
form, anyways)
L710[18:17:01] <gigaherz> people haven't
complained enough about it, I suppose
L711[18:18:11] <MajorPotato> feature
request or something?
L712[18:18:35] <gigaherz> you would have
to make your case as to why "coal" needs to be in the
oredict
L713[18:18:50] <MajorPotato> Maybe its
because it doesn't match any of the default oredict prefixes
L714[18:19:09] <gigaherz> no there's
plenty of things without prefix
L715[18:19:10] <MajorPotato> it matches
for 'chunk' and 'coal', which a lot of mods use, but those aren't
default to the oredict
L716[18:19:11] <gigaherz> like
"gravel"
L717[18:19:14] <MajorPotato> oops
L718[18:19:16] <MajorPotato> 'fuel'
L719[18:19:19] <MajorPotato> not
'coal'
L720[18:19:54] <gigaherz> fuel?
L721[18:20:05] <gigaherz> oh you mean in
your last sentence
L722[18:20:11] <MajorPotato> yeah
L723[18:20:44] <gigaherz> well fuel isn't
really the kind of thing you expect to see in recipes
L724[18:20:49] <gigaherz> lava buckets are
fuel
L725[18:20:54] <gigaherz> and you wouldn't
want to make torches with lava buckets
L726[18:21:41] <gigaherz> and the oredict
isn't really meant for use in like, a machine taking burnable
things as input
L727[18:22:09] <MajorPotato> true. 'fuel'
isn't one I necessarily use or care about, just one I noticed other
mods using
L728[18:22:25] <MajorPotato> 'chunk'
though, is used for recipes
L729[18:22:36] <gigaherz> yeah as I said,
forge only puts things in oredict that really have a case for being
there
L730[18:22:56] <gigaherz> woodstuffs are
there because plenty of mods add new wood types
L731[18:23:22] <gigaherz> ore types are
there because mods add other ore sources (nether ore, end ore,
andesite ore, ...)
L732[18:23:33] <MajorPotato> yes yes
L733[18:24:25] <gigaherz> that said,
"netherStar" is in the oredict, so my point is a bit
wrong :P
L734[18:24:32] <MajorPotato> XD
L735[18:24:54] <gigaherz> so yeah back to
my original statement: people haven't complained enough about coal
not being present
L736[18:25:09] <gigaherz> to cause someone
from the forge team to add it
L737[18:25:19] <MajorPotato> huh. all the
mob drops are oredict'ed
L738[18:25:23] <MajorPotato> wonder
why
L739[18:25:52] <gigaherz> chances are they
were either added long ago before everyone realized oredict'ing all
the things was a bad idea
L740[18:26:02] <gigaherz> or it was added
in bulk at some point
L741[18:26:29] <gigaherz> speaking about
oredict and your idea
L742[18:26:37] <gigaherz> you are not the
first to mention oredict replacements
L743[18:26:43] <gigaherz> and you won't be
the last :P
L744[18:26:44] <MajorPotato> I'd
imagine
L745[18:27:12] <gigaherz> I did discus
with someone, his idea of an oredict replacement that would have
used "material" and "shape"
L746[18:27:18] <gigaherz> as a pair of
properties
L747[18:27:25] <MajorPotato> XD
L748[18:27:29] <gigaherz> but as a
counter-example, I mentioned one:
L749[18:27:31] <MajorPotato> I'm taking
that a bit farther :P
L750[18:27:49] <gigaherz> is a golden
apple {material:apple,shape:gold} or
{material:gold,shape:apple}
L751[18:28:05] <MajorPotato> the latter
makes more sense
L752[18:28:10] <gigaherz> spoken,
yes
L753[18:28:25] <MajorPotato> no, because
there would be other things with the material:gold
L754[18:28:38] <MajorPotato> and mods add
a diamond apple sometimes
L755[18:29:07] <MajorPotato> but in any
case, that system wouldn't cut it either
L756[18:29:13] <gigaherz> but then you
have a baked potato
L757[18:29:17] <gigaherz> is that
material:baked?
L758[18:29:25] <MajorPotato> prob
L759[18:29:31] <gigaherz> that makes no
sense
L760[18:29:33] <MajorPotato> yeah
L761[18:29:41] <gigaherz> in that case it
should be material:potato,state:baked
L762[18:29:43] <MajorPotato> as I said,
wouldn't cut it
L763[18:29:50] <gigaherz> yeah
L764[18:30:01] <MajorPotato> One of the
main things I'm trying to do with my system anyways is to remove
duplicates
L765[18:30:04] <gigaherz> IMO, going there
blows up too much the complexity of the system
L766[18:30:20] <MajorPotato> so no
multiple ores of one type
L767[18:30:45] <gigaherz> yep that has
also been suggested, in fact I wrote a design idea built around
that
L768[18:30:48] <gigaherz> after talking to
someone else
L769[18:30:56] <MajorPotato> I've got a
working one :P
L770[18:31:14] <gigaherz> yeah, that's the
difference: I decided it was still too complex, and people would
ignore it
L771[18:31:15] <gigaherz> :p
L772[18:31:20] <MajorPotato> meh
L773[18:31:26] <MajorPotato> wrote it
mostly for myself
L774[18:31:44] <MajorPotato> would be nice
if it was used, and I designed it to be used, but I'd be happy with
it on my own server
L775[18:31:56] <gigaherz> on my side, I
have had for a LONG time, the idea of making a more flexible
crafting system
L776[18:32:02] <gigaherz> have you played
Atelier Iris 1?
L777[18:32:04] <MajorPotato> heh
L778[18:32:06] <MajorPotato> no
L779[18:32:22] <gigaherz> in that game,
you have recipes, for things
L780[18:32:26] <gigaherz> so like
L781[18:32:42] <gigaherz> a cake recipe
would take "water", "eggs",
"flour"
L782[18:32:52] <gigaherz> but with a
twist
L783[18:32:58] <gigaherz> you can choose
different things for each slot
L784[18:33:07] <gigaherz> so like, the
flour may take other kinds of powder
L785[18:33:10] <MajorPotato> ah
L786[18:33:21] <gigaherz> the liquid may
not be water, and so on
L787[18:33:29] <MajorPotato> would it
create a result with diff properties, or just act similar to the
OreDict?
L788[18:33:39] <gigaherz> so if you were
to choose "oil", "clay",
"gunpowder"
L789[18:33:51] <gigaherz> at the end of
the crafting animation, you'd obtain "C4"
L790[18:33:53] <gigaherz> instead of a
cake
L791[18:33:57] <MajorPotato> (thats the
other thing with my mod, is I'm also adding property values to
materials, instead of just identification)
L792[18:34:14] <MajorPotato> i see
L793[18:34:16] <gigaherz> this is made up
-- it's not an actual recipe from the game
L794[18:34:21] <MajorPotato> yeah
L795[18:34:21] <gigaherz> but you get the
idea
L796[18:34:25] <gigaherz> so I wanted to
have like
L797[18:34:39] <gigaherz> each
item/itemblock in the game categorized
L798[18:34:45] <gigaherz> with
"description chains"
L799[18:34:46] <gigaherz> so like
L800[18:35:00] <gigaherz> thing -> item
-> consummable -> food -> fruit -> apple
L801[18:35:11] <gigaherz> if a recipe
accepts "fruit", an apple would match, but not a
fish
L802[18:35:39] <gigaherz> each item would
receive a number of labels
L803[18:35:45] <gigaherz> each one fitting
somewhere in the hierarchy
L804[18:36:24] <gigaherz> and recipes
would have this kind of label-based ingredient which would be able
to handle "special cases"
L805[18:36:32] <gigaherz> stuff like
L806[18:36:48] <gigaherz> if flour is
explosive then result=TNT
L807[18:37:03] <gigaherz> else if flour is
food then result=cake
L808[18:37:09] <gigaherz> else result =
disgusting mess
L809[18:37:28] <gigaherz> but all
expressed in data-driven predicates
L810[18:37:44] <MajorPotato> its a nice
idea
L811[18:38:12] <gigaherz> it's also a
whole lot of work :P
L812[18:38:16] <MajorPotato> yeah
L813[18:38:39] <gigaherz> but I work
part-time now, so someday
L814[18:38:39] <gigaherz> :P
L815[18:38:48] <gigaherz> right now I'm
waiting for 1.13
L816[18:38:55] <gigaherz> got some ideas
it will unlock
L817[18:40:18] <MajorPotato> I see
L818[18:40:28] <MajorPotato> what MC
version are mods mainly using rn?
L819[18:40:46] <gigaherz> depends on what
kind of modder we are talking about
L820[18:40:59] <MajorPotato> I'm still
developing in 1.10 atm, because I haven't taken the time to update
in a while
L821[18:41:09] <MajorPotato> but the
mainstream mods, what are they on?
L822[18:41:14] <gigaherz> msot of us here
are either working exclusively on 1.12, or 1.12+1.11, or
1.12+1.11.1.10
L823[18:41:19] <MajorPotato> ah
L824[18:41:22] <MajorPotato> I need to
update XD
L825[18:41:43] <gigaherz> but there's a
whole lot of modders that stick to "hwatever people are
playing"
L826[18:41:47] <gigaherz> which is
currently 1.10
L827[18:41:53] <MajorPotato> is it still
1.10?
L828[18:41:56] <MajorPotato> huh
L829[18:41:57] <barteks2x> I'm really not
sure if it's a good idea to support 1.10 after 1.13 is
released...
L830[18:42:06] <gigaherz> ALL the big
modpacks are 1.10 right now
L831[18:42:21] <gigaherz> some 1.11, some
1.12
L832[18:42:27] <gigaherz> but the big big
ones, are 1.10
L833[18:42:39] <illy> well the 1.13 is
going to be a huge change cant wait to see what it brings
L834[18:42:55] <gigaherz> I fear it will
be like 1.8
L835[18:43:18] <gigaherz> with plenty of
modders having tantrums
L836[18:43:19] <barteks2x> the first
update since 1.8 that will give me some some work to do
L837[18:43:19] <MajorPotato> we'll
see
L838[18:43:41] <gigaherz> because forge is
going to make things more data-driven
L839[18:44:05] <illy> "forge"
making things more data driven
L840[18:44:19] <gigaherz> mc+forge*^
L841[18:44:37] <gigaherz> it's not just mc
going data-driven
L842[18:44:46] <gigaherz> but forge also
deprecates old features in favor of data-driven ones
L843[18:44:51] <gigaherz> this has already
happened in 1.12
L844[18:45:01] <gigaherz> and it will
continue happening
L845[18:45:02] <MajorPotato> oh?
L846[18:45:12] <illy> people will bitch
and moan fork forge out of spite give up and settle on 1.14
L847[18:45:28] <gigaherz> in 1.12, it's
deprecated to register recipes in code
L848[18:45:33] <MajorPotato> ah
L849[18:45:36] <gigaherz> you can register
recipe factories
L850[18:45:37] <MajorPotato>
interesting
L851[18:45:41] <gigaherz> and reference
them from json recipe files
L852[18:45:51] <illy> I like 1.12 :P
L853[18:46:01] <gigaherz> but since it
changes the way the code works
L854[18:46:08] <MajorPotato> that... might
change part of my mod
L855[18:46:12] <gigaherz> it means someone
has to spend a few hours updating a mod
L856[18:46:17] <MajorPotato> since I have
to go through recipes and replace outputs
L857[18:46:29] <gigaherz> that's still
possible
L858[18:46:33] <MajorPotato> k
L859[18:46:41] <gigaherz> the registry
event for recipes
L860[18:46:51] <gigaherz> happens after
the json recipes have loaded
L861[18:47:04] <gigaherz> so that mods can
remove/override recipes
L862[18:47:19] <MajorPotato> when exactly
does it happen? (preinit/init/postinit)
L863[18:47:31] <illy> gigaherz, what im
really looking forward to is an FML i can read without consulting
the tea leaves :P
L864[18:47:34] <gigaherz> right before
init, IIRC
L865[18:47:53] <MajorPotato> hmm
L866[18:48:02] <gigaherz> or was it right
after? can't remember anymore
L867[18:48:18] <gigaherz> the other
registries fire after preinit
L868[18:48:23] <MajorPotato> is it a part
of the other registry events? cause the registry events happen
between preinit and init
L869[18:48:30] <gigaherz> yes
L870[18:48:39] <gigaherz> but I don't know
if it fires at the same time
L871[18:48:49] <MajorPotato> that would
be... beyond annoying
L872[18:48:50] <gigaherz>
RegistryEvent.Register<IRecipe>
L873[18:49:00] <MajorPotato> ...
L874[18:49:01] <MajorPotato> it does
L875[18:49:08] <MajorPotato> sonuva
L876[18:49:15] ***
mezz_ is now known as mezz
L877[18:49:47] <MajorPotato> I need to go
through them after I have all my material stuff sorted, which
happens at the same time or after... >_<
L878[18:50:38] <MajorPotato>
fuuuuuuuuuuuun
L879[18:50:48] <MajorPotato> I guess more
Reflection is the anwer >_>
L880[18:51:55] <MajorPotato> anyways, I'm
getting off, so cya all
L881[18:51:59] <gigaherz> cya
L882[18:53:24]
⇨ Joins: moony
(moony!~moony@tx-76-4-59-100.dhcp.embarqhsd.net)
L883[18:57:39] ⇦
Quits: ben_mkiv (ben_mkiv!~ben_mkiv@p4FED5E4F.dip0.t-ipconnect.de)
(Ping timeout: 207 seconds)
L884[19:32:01]
⇨ Joins: armed_troop
(armed_troop!~armedtroo@pool-98-111-142-113.phlapa.fios.verizon.net)
L885[19:43:29] ⇦
Quits: SparkVGX (SparkVGX!~SparkVGX@121.99.164.93) (Ping timeout:
200 seconds)
L886[19:43:57]
⇨ Joins: SparkVGX
(SparkVGX!~SparkVGX@121.99.164.93)
L887[20:02:43]
⇨ Joins: Umbraco
(Umbraco!~Umbraco@121-87-222-159f1.nar1.eonet.ne.jp)
L888[20:31:11] ***
PaleoCrafter is now known as PaleOff
L889[20:34:08] <LexMobile> gigaherz:
you're a fucking moron
L890[20:34:23] <LexMobile> if you dont
like the way minecraft is going stop modding
L891[20:34:39] <LexMobile> Forge reacts
and helps develop Minecraft as a engine.
L892[20:34:52] <LexMobile> Mojang is the
one making it data driven
L893[20:35:09] <LexMobile> We're not gunna
encourage people to use old shit because ITS GOING TO
DISSAPEAR
L894[20:37:04] <LexMobile> Honestly all
yall are fucking LUCKY that I gave you the Recipe event. You SHOULD
NOT have it. Its nothing but moving in the exact opposite direction
you should be.
L896[20:46:11] ⇦
Quits: moony (moony!~moony@tx-76-4-59-100.dhcp.embarqhsd.net) (Ping
timeout: 194 seconds)
L897[21:37:06] <mezz> illy, agreed! really
good
L898[21:37:59] <kashike> tl;dr?
L899[21:38:41] <mezz> person masters an
economy in minecraft, reflections on discovering and exploring new
systems for the first time vs later after you have already mastered
it
L900[21:40:05] <mezz> generally nerding
out, written by someone insightful and articulate enough to make it
engaging to read
L901[21:40:25] <kashike> nawat
L902[21:40:27] <kashike> neat*
L903[21:41:31] <illy> it makes me kinda
want to learn an eco of a sponge server... sadly I has a lack to
time to many half finished projects to catch on before the holiday
is over
L904[21:43:07] <mezz> I think you'll find
most servers are going to be dominated before you get there...
there is some sweet spot about being an early adopter to a new
thing that this taps into. I've been there for a few things that I
can really relate to
L905[21:44:24] <mezz> and yeah... that
person clearly put an incredible amount of time into mastering that
server's economy
L906[21:49:07]
⇨ Joins: Searge
(Searge!~Searge@c83-250-150-134.bredband.comhem.se)
L907[21:49:44] <illy> kashike, Korobi
seems to be down
L908[21:50:05] <illy> the world is now on
fire I will now start burning everything
L909[22:07:21] ***
DaMachinator is now known as Arcanitor
L910[22:11:50] ⇦
Quits: Nedelosk
(Nedelosk!~Nedelosk@ip-37-201-253-118.hsi13.unitymediagroup.de)
(Read error: Connection reset by peer)
L911[22:13:18]
⇨ Joins: moony
(moony!~moony@tx-76-4-59-100.dhcp.embarqhsd.net)
L912[22:14:53] ⇦
Quits: Commoble
(Commoble!~Commoble@mnpl-04-3331.dsl.iowatelecom.net) (Quit:
Leaving)
L913[22:20:33] ⇦
Quits: sinkillerj
(sinkillerj!~sinkiller@nc-67-238-187-249.dhcp.embarqhsd.net) (Quit:
またね)
L914[22:27:37]
⇨ Joins: Upthorn
(Upthorn!~ogmar@108-204-125-173.lightspeed.frokca.sbcglobal.net)
L915[22:29:42] ⇦
Quits: Upthorn
(Upthorn!~ogmar@108-204-125-173.lightspeed.frokca.sbcglobal.net)
(Read error: Connection reset by peer)
L916[22:29:52]
⇨ Joins: Upthorn
(Upthorn!~ogmar@108-204-125-173.lightspeed.frokca.sbcglobal.net)
L917[22:31:19]
⇨ Joins: McJty
(McJty!~jorrit@ptr-9197ufpw3w30c94cmkm.18120a2.ip6.access.telenet.be)
L918[22:57:10] ⇦
Quits: Lathanael|Away
(Lathanael|Away!~Lathanael@p54960211.dip0.t-ipconnect.de) (Ping
timeout: 198 seconds)
L919[22:58:38]
⇨ Joins: Lathanael|Away
(Lathanael|Away!~Lathanael@p5496003A.dip0.t-ipconnect.de)
L920[23:13:26]
⇨ Joins: npe|office
(npe|office!~NPExcepti@bps-gw.hrz.tu-chemnitz.de)
L921[23:22:35] ⇦
Quits: covers1624
(covers1624!~covers162@ppp122-232-6.static.internode.on.net) (Read
error: Connection reset by peer)
L922[23:22:56]
⇨ Joins: covers1624
(covers1624!~covers162@ppp122-232-6.static.internode.on.net)
L923[23:37:05] ⇦
Quits: Dimtree
(Dimtree!~dimtree@74-196-33-246.nbrncmtk01.res.dyn.suddenlink.net)
(Quit: Peace)
L924[23:48:26]
⇨ Joins: Dimtree
(Dimtree!~dimtree@74.196.33.246)