<<Prev
Next>>
Scroll to Bottom
Stuff goes here
L1[00:04:59] ⇨
Joins: Poppy (~Poppy@chello085216146055.chello.sk)
L2[00:07:11] ***
Darkhax is now known as Darkhax_AFK
L3[00:14:56] ***
fry|sleep is now known as fry
L4[00:15:42] ⇦
Quits: Cazzar (~CazzarZNC@vocaloid.lovers.at.cazzar.net) (Ping
timeout: 190 seconds)
L5[00:16:42] ⇦
Quits: Abrar|gone (~AbrarSyed@ipv6.abrarsyed.com) (Ping timeout:
190 seconds)
L6[00:18:14] ⇨
Joins: Abrar|gone (~AbrarSyed@ipv6.abrarsyed.com)
L7[00:18:14]
MineBot sets mode: +o on Abrar|gone
L8[00:18:42] ***
Abrar|gone is now known as AbrarSyed
L9[00:18:52] ⇨
Joins: Cazzar
(~CazzarZNC@vocaloid.lovers.at.cazzar.net)
L10[00:18:52] ***
Darkhax_AFK is now known as Darkhax
L11[00:18:57] ***
mrkirby153 is now known as kirby|gone
L12[00:20:40] ⇨
Joins: Hunterz
(~hunterz@2001:af0:8000:1c01:6af7:28ff:fe37:5d6a)
L13[00:20:46] ⇦
Quits: SatanicSanta
(~SatanicSa@c-76-115-175-15.hsd1.or.comcast.net) (Quit:
sleep)
L14[00:25:54] ⇦
Quits: Upthorn
(~ogmar@108-204-125-173.lightspeed.frokca.sbcglobal.net) (Ping
timeout: 384 seconds)
L15[00:26:00] ***
minecreatr is now known as Mine|dreamland
L16[00:30:32] ⇦
Quits: airbreather (~airbreath@d149-67-99-43.nap.wideopenwest.com)
(Read error: Connection reset by peer)
L17[00:30:52] ⇨
Joins: airbreather
(~airbreath@d149-67-99-43.nap.wideopenwest.com)
L18[00:34:12] ⇨
Joins: PrinceCat
(~PrinceCat@124-170-91-29.dyn.iinet.net.au)
L19[00:43:36] ⇦
Quits: Brokkoli (~Brokkoli@p5b23c284.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))
L20[00:45:42] ⇦
Quits: Cazzar (~CazzarZNC@vocaloid.lovers.at.cazzar.net) (Ping
timeout: 190 seconds)
L21[00:46:25] ⇦
Quits: PrinceCat (~PrinceCat@124-170-91-29.dyn.iinet.net.au) (Quit:
My Mac has gone to sleep. ZZZzzz…)
L22[00:48:28] ⇨
Joins: Cazzar
(~CazzarZNC@vocaloid.lovers.at.cazzar.net)
L23[00:48:56] ⇦
Quits: sinkillerj (~sinkiller@nc-67-232-14-71.dhcp.embarqhsd.net)
(Quit: またね)
L24[00:49:08] ⇦
Quits: Poppy (~Poppy@chello085216146055.chello.sk) (Ping timeout:
384 seconds)
L25[00:54:17] ⇨
Joins: Ipsis418
(~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk)
L26[00:59:02] ***
big_Xplo|AFK is now known as big_Xplosion
L27[01:02:10] ⇦
Quits: Ipsis418 (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk) (Ping
timeout: 384 seconds)
L28[01:05:46] ⇦
Parts: baegmon (~baegmon@CPE-60-225-55-120.nsw.bigpond.net.au)
())
L29[01:05:48] ⇨
Joins: baegmon
(~baegmon@CPE-60-225-55-120.nsw.bigpond.net.au)
L30[01:11:48] ⇦
Quits: gravityfox (~gravityfo@cpe-23-242-168-28.socal.res.rr.com)
(Quit: Leaving)
L31[01:12:05] ⇨
Joins: gravityfox
(~gravityfo@cpe-23-242-168-28.socal.res.rr.com)
L32[01:14:51] ⇦
Quits: Doty1154 (~Doty1154@2601:648:8000:134f:892f:64f5:53ec:a774)
(Read error: Connection reset by peer)
L33[01:18:03] ⇨
Joins: Upthorn
(~ogmar@108-85-88-44.lightspeed.frokca.sbcglobal.net)
L34[01:19:11] ⇦
Quits: Drullkus (~Dru11kus@2601:646:8301:8947:305b:1df:f546:3c00)
(Remote host closed the connection)
L35[01:20:09] ⇨
Joins: alex_6611
(~alex_6611@p5DE7A0C9.dip0.t-ipconnect.de)
L36[01:32:31] ⇦
Quits: Gil (uid147942@id-147942.brockwell.irccloud.com) (Quit:
Connection closed for inactivity)
L37[01:46:42] ⇨
Joins: founderio
(~Thunderbi@p200300C4E3C5BE005C244EDCBD25394B.dip0.t-ipconnect.de)
L38[01:47:06] ⇨
Joins: Nitrodev
(~Nitrodev@87-92-75-66.bb.dnainternet.fi)
L39[01:47:30] ⇦
Quits: Kodos (~Kodos@2602:306:ce20:6c30:4f4:2be9:ece7:a10b) (Read
error: Connection reset by peer)
L40[01:47:49] ⇨
Joins: Kodos
(~Kodos@2602:306:ce20:6c30:4f4:2be9:ece7:a10b)
L41[01:50:42] ⇦
Quits: baegmon (~baegmon@CPE-60-225-55-120.nsw.bigpond.net.au)
(Ping timeout: 190 seconds)
L42[01:56:27] ⇦
Quits: blood|wrk (~owned@STATIC228.iona.edu) (Read error:
Connection reset by peer)
L43[01:57:01] ⇨
Joins: mr208 (~mallrat20@184-88-190-37.res.bhn.net)
L44[01:57:08] ⇨
Joins: Noppes (~Noppes@82-168-99-26.ip.telfort.nl)
L45[01:58:25] <Nitrodev> hi
L46[01:59:57] <MCPBot_Reborn> [TEST CSV]
Pushing snapshot_20160506 mappings to Forge Maven.
L47[02:00:00] <MCPBot_Reborn> [TEST CSV]
Maven upload successful for mcp_snapshot-20160506-1.9.zip (mappings
= "snapshot_20160506" in build.gradle).
L48[02:00:05] ⇦
Quits: mallrat208 (~mallrat20@184-88-190-37.res.bhn.net) (Ping
timeout: 201 seconds)
L49[02:00:11] <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/
L50[02:01:45] ⇦
Quits: otho (~otho@191.189.110.191) (Quit: Leaving)
L51[02:02:53] ⇨
Joins: Flaplim (~Flaplim@14.33.50.140)
L52[02:15:04] ⇨
Joins: Elec332 (~Elec332@ip5456d4a5.speed.planet.nl)
L53[02:18:33] ⇨
Joins: Ordinastie_
(~Ordinasti@87-231-58-94.rev.numericable.fr)
L54[02:18:42] ***
PaleOff is now known as PaleoCrafter
L55[02:26:00] ⇨
Joins: ghz|lappy (~gigaherz@84.89.63.25)
L56[02:26:18] ⇦
Quits: tali713 (~user@2601:444:8200:c7d:5d6:6e26:2a24:5ba8) (Read
error: Connection reset by peer)
L57[02:32:50] ⇦
Quits: codahq (~codahq@c-174-52-130-121.hsd1.ut.comcast.net) (Ping
timeout: 384 seconds)
L58[02:35:54] ⇨
Joins: VikeStep (~VikeStep@101.184.243.180)
L59[02:36:14] ⇦
Quits: alex_6611 (~alex_6611@p5DE7A0C9.dip0.t-ipconnect.de) (Ping
timeout: 384 seconds)
L60[02:43:02] ⇦
Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 190
seconds)
L61[02:43:46] ⇨
Joins: KGS (~KGS@h-155-4-135-249.na.cust.bahnhof.se)
L62[03:00:12] ***
kroeser|away is now known as kroeser
L63[03:09:20] ⇦
Quits: PBlock96 (PBlock96@res404s-128-61-104-241.res.gatech.edu)
(Quit: Beware of programmers who carry screwdrivers.)
L66[03:14:40] <big_Xplosion> oh
thanks
L68[03:17:32] <ghz|lappy> and you would
only need one set of json models
L69[03:17:45] <ghz|lappy> since you can
replace the textures from the forge blockstates
L70[03:21:47] ⇨
Joins: Larry1123 (Larry1123@irc.larry1123.net)
L71[03:23:16] ⇦
Quits: killjoy1 (~killjoy@71.65.255.183) (Ping timeout: 384
seconds)
L72[03:25:40] ***
kroeser is now known as kroeser|away
L73[03:27:30] ***
AEnterpriseAFK is now known as AEnterprise
L75[03:31:29] <ghz|lappy> both blocks look
like they'd make awesome floor materials
L76[03:31:53] <Ordinastie_> both block look
like really poor quality textures
L77[03:32:10] <ghz|lappy> well ofc,
programmer art ;P
L78[03:32:33] <ghz|lappy> but those uneven
bricks look a lot like what the floor at my grandma's used to look
like
L79[03:36:27] <big_Xplosion> thanks a lot
ghz|lappy! (sorry for the late answe)
L80[03:40:13] <ghz|lappy> np
L81[03:43:37] <ghz|lappy> hmmm what was the
JEI irc channel? ;P
L82[03:44:12] <ghz|lappy> ah.
L83[03:44:24] <ghz|lappy> the obvious one
(#JEI ;P)
L84[03:47:01] <Nitrodev> tbh that art
doesn't seem that bad
L85[03:47:05] <Wuppy> morning
L86[03:53:27] <Nitrodev> mornign
wuppy
L87[03:54:03] <Wuppy> how're you
L88[03:54:38] <Tazz> o/ Wuppy
L89[03:56:27] <Wuppy> \o Tazz :)
L90[03:56:32] ***
DonAway is now known as DRedhorse
L91[03:56:38] <Tazz> morning
L92[03:57:02] ***
DRedhorse is now known as DonAway
L93[03:57:09] <Wuppy> how're ya
L95[03:57:31] <Tazz> okay you?
L96[03:58:08] <Wuppy> wow that looks
cool
L97[03:58:23] <Wuppy> shit, my fridge broke
:C
L98[03:58:29] <Tazz> Wuppy, all Yulife's
texturing honestly
L99[03:58:32] <Tazz> I just coded it
haha
L100[03:58:39] <Wuppy> had to buy a new
one and once I get it all the new stuff in it, fucking 200 euros
down
L101[03:58:41] <Tazz> although the cool
part is the code
L102[03:58:47] <Tazz> its all rendered
with markdown
L103[03:58:49] <Tazz> also awww
L104[04:00:02] ⇦
Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 190
seconds)
L105[04:00:50] <Wuppy> it was the first
day with great weather of the year though
L106[04:00:58] <Tazz> nice :D
L107[04:01:10] <Wuppy> so storing crap
outside is impossible aswell
L109[04:01:40] <Wuppy> and worst of all, I
have no place to cool beer to drink in the sun
L110[04:01:47] <Tazz> aww
L111[04:02:09] <Wuppy> because cold beer
is more important than a working fridge :P
L112[04:02:31] <Tazz> yes most
definitely
L113[04:02:34] <Tazz> <--- cant
drink
L114[04:02:39] <Wuppy> y no
L115[04:02:47] <Tazz> well legally
L116[04:03:03] <Tazz> but for the sakes of
a channel possibly containing minors...I cant drink
L117[04:03:16]
⇨ Joins: Larry1123 (Larry1123@irc.larry1123.net)
L118[04:03:49] ***
DonAway is now known as DRedhorse
L119[04:05:46] ***
kroeser|away is now known as kroeser
L120[04:08:17] <Wuppy> in NL, you can
legally drink at 18 :D
L121[04:10:16] ⇦
Quits: Wastl2 (~Wastl2@x4e34f38c.dyn.telefonica.de) (Quit: Hi, I'm
a quit message virus. Please replace your old line with this one
and help me take over the world of IRC.)
L122[04:12:19] <founderio> Tazz:
http://i.imgur.com/CBq07v0.png Did something similar
a while ago. How did you do it? Mine still renders the Map behind
it... (ModJam code ;) )
L123[04:13:27] ⇦
Quits: Flaplim (~Flaplim@14.33.50.140) (Quit: Leaving)
L125[04:18:56] <founderio> Ah, so
completely custom. I see. Cool stuff!
L126[04:19:16] <founderio> I think i did
something with the "original" Map rendering code..
L127[04:19:26] <founderio> it was e
MESS
L128[04:19:28] <founderio> *a
L129[04:21:14] ⇦
Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 198
seconds)
L130[04:33:02]
⇨ Joins: Naiten (Naiten@82.162.50.146)
L131[04:34:00]
⇨ Joins: baegmon
(~baegmon@cpe-60-225-55-120.nsw.bigpond.net.au)
L132[04:42:21]
⇨ Joins: Larry1123 (Larry1123@irc.larry1123.net)
L133[05:01:33] ***
big_Xplosion is now known as big_Xplo|AFK
L134[05:02:46] ⇦
Quits: McJty (~jorrit@94-225-203-206.access.telenet.be) (Quit:
Leaving)
L135[05:11:39] <Nitrodev> so what are you
guys working on?
L136[05:11:53] <ghz|lappy> JEI integration
for my magic mod
L137[05:12:13] <Nitrodev> ncie
L138[05:12:16] <Nitrodev> nice*
L139[05:12:49] <Nitrodev> i think i'm
going to start the other mod i was talking about yesterday
L140[05:14:44] <PaleoCrafter> so, Kotlin
says that Scala does too many things implicitly, but can't you
expect from a language that passing '0' as a literal to a function
that expects a double will not complain about the literal being an
int? xD
L141[05:15:56] ***
DRedhorse is now known as DonAway
L142[05:16:54] <ghz|lappy> nope
L143[05:16:57] <ghz|lappy> ;P
L144[05:17:07] <ghz|lappy> '0' is either a
string, or a char, not a number ;P
L145[05:17:18] <PaleoCrafter> lol
L146[05:17:37] <fry> no, that's
"'0'" :D
L147[05:18:24] <ghz|lappy> but yeah
L148[05:18:36] <ghz|lappy> any decent
language does implicit literal inference
L149[05:18:57] <PaleoCrafter> guess what:
Kotlin doesn't ._.
L150[05:18:57] <ghz|lappy> "integer
literal" can be compiled as double, if the function takes a
double
L151[05:19:26] <fry> scala's implicits
aren't hardcoded though, like every other language ever :P
L152[05:20:00] <PaleoCrafter> yeah, but I
just wanted to stress the absurdity of Kotlin :P
L153[05:20:29] <fry> so, 0 + 0f doesn't
work in kotlin? :P
L154[05:21:08] <PaleoCrafter> dafuq, it
seems to work with arithmetics ._.
L155[05:21:28] <fry> so those are special
cases \o/
L156[05:21:32] <fry> as is tradition
L157[05:21:34] <Nitrodev> what's the 1.9
mdk i should download?
L158[05:21:41] <fry> latest?
L159[05:21:46] <Nitrodev> latest or
recommended
L160[05:21:49] <Nitrodev> k
L161[05:22:49] <PaleoCrafter> yeah, Kotlin
treats operators specially and converts it to something like
(0).add(0f), and add is just overloaded
L162[05:22:55] <Nitrodev> now i need to
remind myself how i set this up
L163[05:23:09] <Tazz> PaleoCrafter, yeah
operator overloading
L164[05:23:26] <PaleoCrafter> operator
overloading shouldn't be a thing, you know :P
L165[05:23:33] <Tazz> yeah it should
haha
L166[05:23:39] <ghz|lappy> yes it
should
L167[05:23:42] <Tazz> its the best thing
ever
L168[05:23:47] <fry> not like that
:P
L169[05:23:49] <PaleoCrafter> just don't
treat the symbols specially :P
L170[05:23:55] <ghz|lappy> not because
it's nice or because it's abused
L171[05:24:07] <ghz|lappy> just simply,
the ability to define objects that behave like numbers and
such
L172[05:24:12] <ghz|lappy> vec1 +
vec2
L173[05:24:16] <Tazz> PaleoCrafter, thats
the definition of operator overloading
L174[05:24:36] <ghz|lappy> and a simple
way for a compiler to implement that
L175[05:24:39] <Nitrodev> after i unzip
the folder i downloaded is it okay if i move it to the workspace
now?
L176[05:24:50] <Tazz> ghz|lappy, in a way
yeah
L177[05:25:02] <ghz|lappy> is to translate
"vec1 + vec2" into either "vec1.add(vec2)" ore
"Vector.add(vec1,vec2)"
L178[05:25:04] <Tazz> however operator
overloading for base types is a bitch to do XD
L179[05:25:33] <PaleoCrafter> no, operator
overloading is "you can define a function that gets called
when you use this operator", what I want is "just call
the function + and don't treat it any differently from something
called add" :P
L180[05:25:39] <ghz|lappy> now c++, c++
goes too far.
L181[05:26:03] <ghz|lappy> PaleoCrafter:
but it isn't
L182[05:26:04] <Tazz> PaleoCrafter, it
doesnt treat it any different
L183[05:26:08] <PaleoCrafter> yes it
does
L184[05:26:10] <ghz|lappy> unless you also
accept infix notation for random functions
L185[05:26:24] <fry> it works :P
L186[05:26:26] <ghz|lappy> you need at
LEASt a way to notify the compiler that a certain symbol is valid
infix
L187[05:26:35] <ghz|lappy> else it's an
horrible mess
L188[05:26:40] <Tazz> PaleoCrafter, let me
give you an exxample of operator overloading in my language
Eschelle
L189[05:26:41] <fry> no it isn't :P
L190[05:27:11] <Tazz> def +(x: Type, y:
Type): Type{ return x.value + y.value; }
L191[05:27:21] <Tazz> assuming value is a
base type like long or double
L192[05:27:32] <Tazz> and type is the
class referred to
L193[05:27:38] <PaleoCrafter> does that
work with all symbols or just a predefined set? :P
L194[05:27:42] <Tazz> when you do: Type +
Type
L195[05:28:03] <Tazz> it just converts the
+ call to the function call for that specific overloaded
operator
L196[05:28:27] <Tazz> PaleoCrafter, in
Eschelle it works with all operators
L197[05:28:37] <Tazz> however in scala I
believe it doesnt work with every operator
L198[05:28:44] <PaleoCrafter> in Scala it
works with literally everything
L199[05:28:54] <Tazz> fair enough
L200[05:28:56] <PaleoCrafter> scala
doesn't have a concept of 'operators' per se :P
L201[05:29:00] <Tazz> I know C++ goes
crazy with it
L202[05:29:01] <PaleoCrafter> and that's
what I mean
L203[05:29:06] <ghz|lappy> how does it
distinguish multiple symbols?
L204[05:29:10] <ghz|lappy> a+++b
L205[05:29:24] <ghz|lappy> can be
"a++ + b", "a + ++b", or "a +++
b"
L206[05:29:44] <Tazz> ghz|lappy, referring
to?
L207[05:29:46] <PaleoCrafter> not really,
no, it's the last one :P
L208[05:29:52] <ghz|lappy> yeah then it's
broken ;P
L209[05:29:56] <ghz|lappy> and if
not
L210[05:29:59] <ghz|lappy>
unmaintainable
L211[05:30:01] <PaleoCrafter> ++ is evil,
you know :P
L212[05:30:20] <ghz|lappy> anyhow: I'm
against "freeform" operators
L213[05:30:25] <Tazz> ghz|lappy, in
Eschelle a+++b would be a++ + b
L214[05:30:34] <ghz|lappy> simply because
it hurts the part of me that knows how parsing works
L215[05:30:42] <Tazz> since operators take
precidence
L216[05:30:45] <ghz|lappy> makes the
syntax way too ambiguous
L217[05:30:49] <fry> your parser is weak,
upgrade it :P
L218[05:30:53] <ghz|lappy> oh eyeah,
precedence.
L219[05:31:01] <ghz|lappy> hwo the F do
you declare the precedence for custom operators?
L220[05:31:07] <ghz|lappy> -e
L221[05:31:19] <Tazz> by their inherent
nature
L222[05:31:24] <ghz|lappy> wat?
L223[05:31:39] <PaleoCrafter> the
math-operator-like functions get the according precedence,
everything else gets normal function precedence
L224[05:31:40] <Tazz> if normally ++ would
be a precidence of say 2, then it will always be 2
L225[05:31:47] <ghz|lappy> I mean custom
symbols
L226[05:31:54] <ghz|lappy> PaleoCrafter:
so it's useless, then
L227[05:32:00] <PaleoCrafter> no?
L228[05:32:07] <Tazz> in Eschelle there
are no custom symbols
L229[05:32:09] <ghz|lappy> as a way to add
new mathematical operations? yes
L230[05:32:13] <Tazz> your allowed to
overload all operators
L231[05:32:18] <Tazz> but no custom
symbols
L232[05:32:54] <Nitrodev> okay build
succesful
L233[05:33:00] <ghz|lappy> suppose I want
to implement higher order operators,
L234[05:33:15] <Tazz> like?
L235[05:33:17] <fry> in scala precedence
is determined by the first character of the operator
L236[05:33:20] <PaleoCrafter> ^
L237[05:33:21] <ghz|lappy> like, in maths,
multiplication is like repeated summation
L238[05:33:32] <ghz|lappy> exponentiation
is like rpeated multiplication
L239[05:33:33] <fry> in haskell you can
set the precedence explicitly iirc
L240[05:33:38] <PaleoCrafter> so in 'a + b
*<something_else> c' the stuff after the '+' gets executed
first
L241[05:33:40] <ghz|lappy> there's higher
order operators that follow that same pattern
L242[05:33:58] <ghz|lappy> it's usually
seen as an "up arrow"
L243[05:34:09] <ghz|lappy> for the first
one, two up arrows for the second one, etc
L244[05:34:30] ⇦
Quits: Naiten (Naiten@82.162.50.146) (Read error: Connection reset
by peer)
L245[05:35:33] <Tazz> well as it stands in
Eschelle you can only overload basic math operations since thats
all its got besides some other nifty stuff
L246[05:35:47] <Tazz> however
L247[05:35:57] <fry> there's a whole
spectrum between "useless" and "completely
unrestricted"
L248[05:36:11] <fry> and Scala is way
closer to the right side than most other languages :P
L249[05:36:27] <Tazz> there will be the
ability to overload the exponentiation operator (**)
L250[05:36:33] <Tazz> and many
others
L251[05:36:51] <ghz|lappy> well ,as I
said
L252[05:36:57] <ghz|lappy> IMO, operator
overloading is nice
L253[05:37:11] <ghz|lappy> but allowing
"any symbol" to become a function, and any function to
become an operator, is overengineering
L254[05:37:19] <Tazz> also interesting
tidbit, the majority of the math done in eschelle is optimized due
to canonicalization and constant folding
L255[05:37:31] <Tazz> optimized out*
L256[05:40:51] <Tazz> also true != true
haha
L257[05:40:55] <Tazz> btu thats a bug
rofl
L258[05:41:50] <ghz|lappy> lol
L259[05:43:08] <Tazz> just because I didnt
unbox the values before cmpq'ing them
L260[05:43:46]
⇨ Joins: Cast0077
(~Work@24-181-178-44.dhcp.nwtn.ct.charter.com)
L262[05:46:29] <ghz|lappy> you need a
proper readme, with actual info and syntax examples ;P
L263[05:46:42] <Tazz> ghz|lappy, Im more
concerned with getting a working language rofl
L264[05:46:50] <ghz|lappy> althoguh from
the little snipped you wrote earlier, I think it's not the language
for me
L265[05:46:51] <ghz|lappy> ;P
L266[05:46:52] <Tazz> Im close to fully
implmeneting the majority of stuff that is needed
L267[05:46:55] <ghz|lappy> snippet*
L268[05:47:13] <Tazz> haha
L269[05:47:17] <Tazz> its very much scala
based
L270[05:47:40] <ghz|lappy> I like the
"name: Type" on paper, but whenever I see it in actual
code I go "ewh."
L271[05:48:36] <Tazz> haha
L272[05:48:49] <ghz|lappy> at least you
said "def"
L273[05:48:51] <ghz|lappy> and not
"fun"
L274[05:49:01] <Tazz> I hate fun
L275[05:49:01] <Tazz> haha
L276[05:49:35] <Tazz> Gala (a JVM langauge
Im writing to study compilers in other environments compared to
self contained environments) does func
L277[05:50:41] <ghz|lappy> func is
ok
L278[05:50:53] <ghz|lappy> javascript's
function is ok too, althouhg a bit verbose
L279[05:51:13] <ghz|lappy> "fun"
is just stupid
L280[05:51:34] <ghz|lappy> if you want
short, at least call it "fn"
L281[05:51:45] <ghz|lappy> sounds less
stupid, and has one lessl etter ;P
L282[05:51:53] <Tazz> haha
L283[05:52:00] <Tazz> idk if I like fn for
a function declarator
L284[05:52:36] <ghz|lappy> fn (x,y) ->
int = x + y
L285[05:52:49] <ghz|lappy> or named: fn
a(x,y) -> int = x + y
L286[05:52:55] <Tazz> gah that closure
syntax is just bad
L287[05:52:59] <Tazz> its not C++
bad
L288[05:53:01] <Tazz> but eww
L289[05:53:04] <ghz|lappy> I know, just
made it up on the spot
L290[05:53:04] <ghz|lappy> ;P
L291[05:53:14] <Tazz> C++'s closure syntax
is disgusting
L292[05:53:32] <ghz|lappy> it sortof makes
sense when you think of the full syntax
L293[05:53:34] <ghz|lappy> butyeah
L294[05:53:35] <Tazz> [&](const
std::string& str){ return str; }
L295[05:53:45] <Tazz> gah
L296[05:53:48] <ghz|lappy> the [] can also
contain captured variables
L297[05:53:52] <Tazz> yes
L298[05:53:58] <Tazz> but & captures
references to them
L299[05:54:07] <Tazz> however
L300[05:54:09] <Tazz> no need for it
L301[05:54:15] <Tazz> but I just put it
there to explain my point
L302[05:54:26] <ghz|lappy> yeah
L303[05:54:39] <ghz|lappy> for lambdas, I
just like the way C#/Java do it
L304[05:54:43] <ghz|lappy> (a,b) =>
x
L305[05:54:45] <ghz|lappy> (a,b) ->
x
L306[05:54:51] <Tazz> its fine that
way
L307[05:55:08] <ghz|lappy> or actual
lambda calculus style
L308[05:55:08] <Tazz> but Im still against
lambdas in Java
L309[05:55:15] <ghz|lappy> \x. y
L310[05:55:23] <Tazz> ohohoh scheme
style:
L311[05:55:25] <ghz|lappy> \x,y. yx
L312[05:55:34] <Tazz> (lambda (x, y) + x
y)
L313[05:56:01] <Nitrodev> so what exactly
has changed between 1.8 and 1.9 as far as modding goes?
L314[05:56:08] <ghz|lappy> Nitrodev: names
of things
L315[05:56:16] <Tazz> yeah not much
L316[05:56:20] <ghz|lappy> the way you
register blocks, items, potions, enchants, sounds,
L317[05:56:54] <Nitrodev> what?
L318[05:57:02]
⇨ Joins: alex_6611
(~alex_6611@p5DE7A0C9.dip0.t-ipconnect.de)
L319[05:57:04] <Nitrodev> i really need to
learn those again?
L320[05:57:10] <ghz|lappy> before 1.9,
you'd do
L321[05:57:19] <ghz|lappy>
GameRegistry.registerBlock(theBlock, "name here")
L322[05:57:26] <ghz|lappy> in 1.9 you
do
L323[05:57:33] <ghz|lappy>
theBlock.setRegsitryName("name here")
L324[05:57:39] <ghz|lappy>
GameRegistry.register(theBlock)
L325[05:57:45] <Tazz> or:
L326[05:57:45] <ghz|lappy> and if you want
this block to also have an item form
L327[05:57:52] <ghz|lappy> then you have
to also call
L328[05:57:57] <Tazz>
GameRegistry.register(theBlock.setRegistryName("name_here"));
L329[05:58:07] <ghz|lappy>
GameRegistry.register(new
ItemBlock(theBlock).setRegistryName(theBlock.getRegistryName()))
L330[05:58:11] <Nitrodev> yeah i figured
Tazz
L331[05:58:17] <ghz|lappy> because
itemblocks are optional
L332[05:58:21] <ghz|lappy> but no one ever
realized that
L333[05:58:28] <ghz|lappy> so now it's
opt-in instead of opt-out
L334[05:58:55] <ghz|lappy> I just do the
registration in a special base class
L336[05:59:21] <ghz|lappy> sets up the
registry name AND unlocalized name, for me
L337[05:59:32] <ghz|lappy> and has a
method for setting up the itemblock
L338[05:59:38] <ghz|lappy> so what I do is
basically:
L339[05:59:44] <ghz|lappy> theBlock = new
TheBlock("name");
L340[05:59:49] <ghz|lappy>
GameRegistry.register(theBlock)
L341[05:59:56] <ghz|lappy>
GameRegistry.register(theBlock.createItemBlock()) -- if it needs
one
L342[05:59:59] <Nitrodev>
enderthing?
L343[06:00:04] <Tazz> hey ghz|lappy you
wouldnt know of a good way to populate a biome with flowers
eh?
L344[06:00:08] <Nitrodev> started a new
mod?
L345[06:00:16] <ghz|lappy> a mod I started
last week at the request of Jiraiyah
L346[06:00:31] <ghz|lappy> replaces Ender
Storage chests for 1.8.9+1.9
L347[06:00:43] <ghz|lappy> didn't do
fluids since there's already Ender Tanks
L348[06:00:45]
⇨ Joins: DebugsPeople
(~DebugsPeo@2a02:810d:95c0:880:61a4:4533:e6ba:fba3)
L349[06:00:54] <ghz|lappy> EnderTanks*
they don't have a space in it
L350[06:01:00] ⇦
Parts: Vorquel (~Vorquel@174-18-37-37.tcso.qwest.net)
())
L351[06:01:35] <Nitrodev> okay neat
L352[06:01:58] <Nitrodev> is there page i
can see the initials for starting
L353[06:02:04] <Nitrodev> or have they not
changed
L354[06:02:21] <ghz|lappy> it's really all
the same
L355[06:02:25] <ghz|lappy> just the names
of things change
L356[06:02:29] <ghz|lappy> and then you
have to tweak a few things
L357[06:02:35] <Nitrodev> so all the
preinit etc. are the same?
L359[06:02:45] <ghz|lappy> yes
L360[06:02:48] <ghz|lappy> read through
that
L361[06:04:08] <ghz|lappy> the most
painful part of migrating, atm, is that many constants were
capitalized
L362[06:04:14] <ghz|lappy> Items.something
is now Items.SOMETHING
L363[06:04:20] <ghz|lappy> and same for
Blocks, sound types and such
L364[06:04:47] <Nitrodev> well this mod
will mostly focus on effects more than anythign else
L365[06:04:52] <Nitrodev> like potion
effects
L366[06:05:55] <ghz|lappy> heh
L367[06:06:07] <ghz|lappy> well if it's a
whole new mod, then strting from scratch should be easy
enough
L368[06:09:05] <Nitrodev> yeah i'll just
copy the structure from my 1.8.9 mod
L369[06:10:26] ⇦
Quits: KGS (~KGS@h-155-4-135-249.na.cust.bahnhof.se) (Ping timeout:
198 seconds)
L370[06:12:44] <Nitrodev> okay proxies are
copied
L371[06:15:53] <Nitrodev> i'm thinking
there aren't any tutorials on 1.9 modding yet
L372[06:16:09] <ghz|lappy> tutorials are
overrated
L373[06:16:34] <Nitrodev> but
helpful
L374[06:17:29] <PaleoCrafter> they're
incorrect or flawed 99% of the time, I wouldn't call that
particularly helpful :P
L375[06:20:06] <Nitrodev> but considering
i have no idea how to make something
L376[06:20:11] <Nitrodev> like NO
idea
L377[06:20:16]
⇨ Joins: Drullkus
(~Dru11kus@2601:646:8301:8947:305b:1df:f546:3c00)
L378[06:20:21] <Nitrodev> i never have
even touched something like it
L379[06:20:33] <Nitrodev> and i'm talking
about potion effects
L380[06:20:45] <Nitrodev> but not
inflicted by a potion
L381[06:22:12] <Nitrodev> in that case
tutorials are a good way to see the basics of something
L382[06:24:14] ⇦
Quits: Drullkus (~Dru11kus@2601:646:8301:8947:305b:1df:f546:3c00)
(Ping timeout: 198 seconds)
L383[06:25:42] <Nitrodev> not related: How
do i fix the param names of vanilla methods again?
L384[06:25:55] <Nitrodev> so they are not
like p_982356894756 348756348756
L385[06:27:41] ⇦
Quits: Biochemic (~quassel@p5b00aff6.dip0.t-ipconnect.de) (Remote
host closed the connection)
L386[06:32:23]
⇨ Joins: Jezza (~Jezza@92.206.5.6)
L387[06:33:11] ***
MrKick|Away is now known as MrKickkiller
L388[06:37:34]
⇨ Joins: foxy
(~gravityfo@cpe-23-242-168-28.socal.res.rr.com)
L389[06:38:38] ⇦
Quits: jflory7 (~jflory7@irc.jwf.io) (Ping timeout: 198
seconds)
L390[06:39:14] ⇦
Quits: Nitrodev (~Nitrodev@87-92-75-66.bb.dnainternet.fi) (Ping
timeout: 198 seconds)
L391[06:39:14] ⇦
Quits: gravityfox (~gravityfo@cpe-23-242-168-28.socal.res.rr.com)
(Ping timeout: 198 seconds)
L392[06:45:15]
⇨ Joins: jflory7 (~jflory7@irc.jwf.io)
L393[06:49:14] ⇦
Quits: Hunterz (~hunterz@2001:af0:8000:1c01:6af7:28ff:fe37:5d6a)
(Quit: Leaving.)
L394[06:58:20]
⇨ Joins: theFlaxbeard (~theFlaxbe@184.97.134.35)
L395[07:04:26] ⇦
Quits: ghz|lappy (~gigaherz@84.89.63.25) (Ping timeout: 198
seconds)
L396[07:14:45]
⇨ Joins: Seppon
(~Noppes@82-168-99-26.ip.telfort.nl)
L397[07:20:08] ***
AEnterprise is now known as AEnterpriseAFK
L398[07:20:08] ⇦
Quits: Noppes (~Noppes@82-168-99-26.ip.telfort.nl) (Ping timeout:
384 seconds)
L399[07:27:56]
⇨ Joins: Nitrodev
(~Nitrodev@87-92-75-66.bb.dnainternet.fi)
L400[07:30:55] ⇦
Quits: Dark (~MrDark@cpe-76-181-157-113.columbus.res.rr.com) (Read
error: Connection reset by peer)
L401[07:33:05]
⇨ Joins: Dark
(~MrDark@cpe-76-181-157-113.columbus.res.rr.com)
L402[07:34:12] ***
DonAway is now known as DRedhorse
L403[07:41:33] *** V
is now known as Vigaro
L404[07:46:03]
⇨ Joins: Searge|office
(~Searge@h-85-24-130-18.na.cust.bahnhof.se)
L405[07:47:53] ⇦
Quits: Searge|mojang (~Searge@h-85-24-130-18.na.cust.bahnhof.se)
(Ping timeout: 201 seconds)
L406[08:11:59] ***
Vigaro is now known as V
L407[08:18:10]
⇨ Joins: kimfy_
(~kimfy___@236.5.200.37.customer.cdi.no)
L408[08:21:12]
⇨ Joins: Drullkus
(~Dru11kus@2601:646:8301:8947:305b:1df:f546:3c00)
L409[08:24:50] ⇦
Quits: Drullkus (~Dru11kus@2601:646:8301:8947:305b:1df:f546:3c00)
(Ping timeout: 198 seconds)
L410[08:25:35]
⇨ Joins: turmfalke
(~turmfalke@p20030056CF06BA7CA7B969B70350CA48.dip0.t-ipconnect.de)
L411[08:31:32] ⇦
Quits: Elec332 (~Elec332@ip5456d4a5.speed.planet.nl) (Ping timeout:
384 seconds)
L412[08:32:02] ⇦
Quits: VikeStep (~VikeStep@101.184.243.180) (Read error: Connection
reset by peer)
L413[08:33:03]
⇨ Joins: raoulvdberge
(uid95673@id-95673.richmond.irccloud.com)
L414[08:38:02] ⇦
Quits: stiforr_ (~stiforr@ip72-216-8-185.pn.at.cox.net) (Ping
timeout: 198 seconds)
L415[08:39:28] ⇦
Quits: alex_6611 (~alex_6611@p5DE7A0C9.dip0.t-ipconnect.de) (Ping
timeout: 384 seconds)
L416[08:52:24]
⇨ Joins: DebugsPeople-
(~DebugsPeo@2a02:810d:95c0:880:61a4:4533:e6ba:fba3)
L417[08:53:04] ⇦
Quits: DebugsPeople-
(~DebugsPeo@2a02:810d:95c0:880:61a4:4533:e6ba:fba3) (Client
Quit)
L418[08:55:17] <Forecaster> what is item
rarity used for?
L419[08:56:08] <Cypher121> for name
color?
L420[08:58:17] <Forecaster> really?
L421[09:08:02] ⇦
Quits: IoP (jikuja@kapsi.fi) (Ping timeout: 190
seconds)
L422[09:11:13] ***
cpw|out is now known as cpw
L423[09:16:07]
⇨ Joins: stiforr_
(~stiforr@ip72-216-8-185.pn.at.cox.net)
L424[09:17:40]
⇨ Joins: McJty
(~jorrit@94-225-203-206.access.telenet.be)
L425[09:17:44] ⇦
Quits: stiforr_ (~stiforr@ip72-216-8-185.pn.at.cox.net) (Read
error: Connection reset by peer)
L426[09:17:54]
⇨ Joins: stiforr_
(~stiforr@ip72-216-8-185.pn.at.cox.net)
L427[09:20:20] ***
willieaway is now known as williewillus
L428[09:22:26] ⇦
Quits: kimfy_ (~kimfy___@236.5.200.37.customer.cdi.no) (Ping
timeout: 198 seconds)
L429[09:31:13] ⇦
Quits: brandon3055 (~Brandon@122.129.140.1) (Read error: Connection
reset by peer)
L430[09:31:57]
⇨ Joins: brandon3055 (~Brandon@122.129.140.1)
L431[09:32:47]
⇨ Joins: IoP (jikuja@irc.ioppi.info)
L432[09:38:30] <Forecaster> hm,
rightclicking a block triggers both onItemUse and
onItemRightClick
L433[09:38:49] <williewillus> yes, if the
block has no right click action of its own
L434[09:39:07] <williewillus> if the block
has a gui then only the first would get triggered
L435[09:39:17] <williewillus> and even
then if the block fails ( i think )
L436[09:39:28] <williewillus> what are you
wanting to accomplish again?
L437[09:39:52] <Forecaster> well, I want
to create a linking item for debugging
L438[09:40:06] <williewillus> this links
blocks?
L439[09:40:19] <Forecaster> and I want it
to switch link target when right-clicked in the air, and link when
I click my block with it
L440[09:40:33] <Forecaster> but clicking
the block with it would make it switch the address as well...
L441[09:40:48] <williewillus> what are you
returning from onItemUse
L442[09:40:54] <williewillus> (show
code)
L443[09:41:11] <Forecaster> right now they
run the same method on super
L444[09:41:13] <Forecaster> (Item)
L445[09:41:22] <williewillus> then yeah
that's why
L446[09:41:36] <Forecaster> they return
ItemStack it seems
L447[09:41:43] <williewillus> uhh what
version of MC are you on?
L448[09:41:48] <Forecaster> 1.7
L449[09:41:53] <williewillus> .-.
L450[09:41:54] <williewillus> nvm
L451[09:41:59] <williewillus> I have no
idea how it works there
L452[09:42:13] <williewillus> also update
:P
L453[09:42:18] <Forecaster> no
L454[09:42:36] <williewillus> that's fine,
I tell everyone that
L455[09:42:40] <Forecaster> the mod I'm
making is meant to be played with railcraft, which hasn't updated
yet
L456[09:42:41] <williewillus> but don't
expect much support :P
L457[09:43:11] <Forecaster> so I'm making
it for 1.7 now
L459[09:43:16] <Forecaster> I'll update it
later
L460[09:43:27] <williewillus> it is pretty
ported to 1.8
L461[09:43:42] <Forecaster> I know, I'm an
op in #Railcraft ;)
L462[09:44:08]
⇨ Joins: Stiforr
(~Stiforr@ip72-216-8-185.pn.at.cox.net)
L463[09:44:44] <williewillus> but yeah I
know how the interaction model works in 1.9, but not in 1.8/7, so I
can't help sorry xP
L464[09:44:57] <Forecaster> that's
allright
L465[09:45:02] <Forecaster> I'll figure it
out
L466[09:45:18] <Forecaster> there has to
be some way to keep it from triggering both
L467[09:45:52] <Forecaster> oh,
onItemRightClick returns ItemStack, but onItemUse returns
false
L468[09:45:59]
⇨ Joins: Brokkoli
(~Brokkoli@p5b23c284.dip0.t-ipconnect.de)
L469[09:46:01] <Forecaster> I'll have to
play around with those
L470[09:46:10] <Forecaster> maybe not call
super to start with
L471[09:46:12] <williewillus> oh
L472[09:46:32] <williewillus> returning
true from onItemUse means "I did something when clicked on a
block, don't call onItemRightClick"
L473[09:46:36] <williewillus> so you want
to do that
L474[09:46:53] <Forecaster> ah!
L475[09:46:59] <Forecaster> see, you did
help :P
L476[09:49:02] ⇦
Quits: Lunatrius (~Lunatrius@cpe-77.38.77.164.cable.t-1.si) (Ping
timeout: 190 seconds)
L477[09:49:05] <Forecaster> yes,
perfect
L478[09:50:47]
⇨ Joins: moog
(~moog@24-176-156-144.dhcp.jcsn.tn.charter.com)
L479[09:53:56]
⇨ Joins: Temportalist
(uid37180@2604:8300:100:200b:6667:3:0:913c)
L480[10:06:44]
⇨ Joins: vox
(~voxmods@pool-71-178-241-173.washdc.fios.verizon.net)
L481[10:07:20] <vox> Prospector: Loot
table functionality I don't think works yet
L482[10:07:35]
⇨ Joins: Fye
(~Fye@dynamic-adsl-84-220-169-44.clienti.tiscali.it)
L483[10:08:41]
⇨ Joins: Naiten (~Naiten@77.34.113.60)
L484[10:08:56] <williewillus> ?
L485[10:09:05] <vox> Or does it?
L486[10:09:23] <vox> Unless I missed
something you still have to modify directly the vanilla files
L487[10:09:23] <williewillus> you can use
your own loot tables fine, it's chagning vanilla's that isn't
implemented yet
L488[10:09:27] <williewillus> yeah
L489[10:09:30] <vox> Aaah okay
L490[10:10:42]
⇨ Joins: Samario
(~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net)
L492[10:12:36] <vox> I haven't before but
I like it so I will now :P
L493[10:13:32] <barteks2x> I'm trying to
implement it in my build.gradle (by using git describe and git
tags), I tried before but my attempt failed when new mc version
came out
L494[10:13:39] <thor12022> that's pretty
much what I try to use
L495[10:13:56] <vox> TiCon does it well if
you want to check out their build.gradle file
L496[10:14:08] <vox> they store their mc
version and stuff in a build.properties file
L497[10:14:58] <thor12022> yeah, that's a
pretty common place to put your version info
L498[10:15:01] <barteks2x> I currently
have MC version and majormod.majorapi in git tags. I'm going to
make it so that only majormod.majorapi is in git tag, and mc
version is in build.properties.
L499[10:15:16] <barteks2x> and then minor
version would be from git describe command
L500[10:16:00] <thor12022> Fancy.
L501[10:16:59] <barteks2x> And my current
way broke only because my version should still be 0.0.something.0
but mc version changed
L502[10:18:57] *** V
is now known as Vigaro
L503[10:19:38] ***
amadornes is now known as amadornes[OFF]
L504[10:20:25] ***
amadornes[OFF] is now known as amadornes
L505[10:25:59]
⇨ Joins: Hunterz (~hunterz@62.182.234.189)
L506[10:26:04] <PaleoCrafter> hm...
williewillus, with PIE.LeftClickBlock, is there any way to prevent
the block from temporarily breaking in creative?
L507[10:28:47] <williewillus> oh huh
L508[10:28:51] <williewillus> it doesnt
even catch creative clientside
L509[10:29:02] <williewillus> since it
takes a compeltely separate code path (I think?)
L510[10:29:31] <PaleoCrafter> aha, and
what does that mean for me? :P
L511[10:29:57] <Forecaster> it means
"no, you've got to find another way" :P
L513[10:30:06] <williewillus> or
"wait until I get tiime to pr fix"
L514[10:30:10] <williewillus> or "pr
fix"
L515[10:30:14] <williewillus> :P
L516[10:30:36] <PaleoCrafter> well then
:D
L517[10:31:09] <PaleoCrafter> I guess I
could temporarily just listen to the mouse click and cancel it
:P
L518[10:31:13]
⇨ Joins: RainyMesa
(~RainyMesa@c-73-240-77-154.hsd1.or.comcast.net)
L519[10:31:34] ***
williewillus is now known as willieaway
L520[10:37:00] <barteks2x> now to fix my
version numbers I can eighter start from 0.0.0.0 again, or break
old commits, so compiling them will reult in version
"X.Y-0.0.0.0"
L521[10:37:19] <PaleoCrafter> hm?
L522[10:38:33]
⇨ Joins: codahq
(~codahq@c-174-52-130-121.hsd1.ut.comcast.net)
L523[10:38:36] <barteks2x> I had some code
in my build.gradle that generated version numbers according to
this:
http://mcforge.readthedocs.io/en/latest/conventions/versioning/
but because of the way it worked I had to break it after MC 1.9
release. And I want to fix it. But now I can eighter start from
0.0.0.0 again or break version numbers when compiling old
commits
L524[10:39:26] <baegmon> Hi fam, in
playerinteractevent, is a door counted as a block? I've tried to
check instance of a door but its not reaching my printline. (code:
http://puu.sh/oIqUQ/7768ce0886.png)
L525[10:39:54] <PaleoCrafter> baegmon,
block state != block
L526[10:40:41] <baegmon> oh I've been
using this method lol what other ways are there to check? I know in
1.8 it was something like ACTION.getTarget or something for
blocks
L527[10:42:25] <PaleoCrafter> get the
block from the state :P
L528[10:42:54]
⇨ Joins: Lunatrius
(~Lunatrius@cpe-77.38.77.164.cable.t-1.si)
L529[10:44:11]
⇨ Joins: OscarXcore
(~Oscar@node-1w7jr9yc9viurrxo4vpiomidi.ipv6.telus.net)
L530[10:44:12] ***
Vigaro is now known as V
L531[10:44:18] ⇦
Quits: OscarXcore
(~Oscar@node-1w7jr9yc9viurrxo4vpiomidi.ipv6.telus.net) (Client
Quit)
L532[10:44:26] <baegmon> oh actually that
makes sense haha ty
L533[10:44:57]
⇨ Joins: OscarXcore
(~Oscar@node-1w7jr9yc9viurrxo4vpiomidi.ipv6.telus.net)
L534[10:45:14]
⇨ Joins: keybounce
(~keybounce@adsl-108-192-94-196.dsl.bkfd14.sbcglobal.net)
L535[10:45:22] <OscarXcore> Hello
L536[10:45:48] <baegmon> hi
L537[10:46:01]
⇨ Joins: Poppy
(~Poppy@chello085216146055.chello.sk)
L538[10:46:40]
⇨ Joins: OscarXcorePhone
(uid157529@id-157529.tooting.irccloud.com)
L539[10:47:02] ⇦
Quits: OscarXcorePhone (uid157529@id-157529.tooting.irccloud.com)
(Client Quit)
L540[10:47:19] <barteks2x> I'm probably
going to break version numbers in older commits and hope nobody
ever tries co compile them again
L541[10:55:58] ⇦
Quits: stiforr_ (~stiforr@ip72-216-8-185.pn.at.cox.net) (Ping
timeout: 201 seconds)
L542[11:01:26] ⇦
Quits: Fye (~Fye@dynamic-adsl-84-220-169-44.clienti.tiscali.it)
(Ping timeout: 198 seconds)
L543[11:03:57] <Wuppy> jesus this weather
<3
L544[11:06:02] ⇦
Quits: auenf (David@DC-53-50.bpb.bigpond.com) (Remote host closed
the connection)
L545[11:06:24] <RainyMesa> Wuppy: Same
wuppy as from the #ludumdare channel?
L546[11:06:44] <Wuppy> yep
L547[11:06:50] <RainyMesa> Neat :)
L548[11:07:01] ⇦
Quits: Techokami (Techokami@2001:19f0:6800:8161:1:be:a:7001) (Ping
timeout: 195 seconds)
L549[11:07:01]
⇨ Joins: auenf (David@DC-53-50.bpb.bigpond.com)
L550[11:07:11]
⇨ Joins: Techokami
(Techokami@2001:19f0:6800:8161:1:be:a:7001)
L551[11:07:14] <Forecaster> comments on
weather, then gets talked to by someone whose name contains
"rainy" :P
L552[11:07:23] <RainyMesa> You called
me
L553[11:07:51] <Wuppy> I prefer 16-25C
with sun, no clouds no rain :)
L554[11:08:21] <Forecaster> that's today
in a nutshell
L555[11:09:28] <thor12022> and then the
weather gets commented upon by a Forcaster. . .
L556[11:09:45] ***
amadornes is now known as amadornes[OFF]
L557[11:09:51]
⇨ Joins: agowa338
(~Thunderbi@p54918C24.dip0.t-ipconnect.de)
L558[11:09:55] <Wuppy> Forecaster, depends
on wher eyou live
L559[11:09:56] <Forecaster> then someone
spells my name wrong :P
L560[11:10:18] <barteks2x> I really hope I
won't break my git repository when trying to fix version
numbers
L561[11:10:18] <Forecaster> well, I'm
obviously talking about where I live
L562[11:10:26] <Forecaster> I dunno about
elsewhere
L563[11:10:34] <Wuppy> where's that?
L564[11:10:38] <Forecaster> sweden
L565[11:11:00] <Wuppy> same in tha
netherlands
L566[11:11:56] <thor12022> Same in the
Mid-West US too
L567[11:12:01] <Wuppy> it's lovely in the
park with a beer :)
L568[11:14:41] ***
amadornes[OFF] is now known as amadornes
L569[11:16:05]
⇨ Joins: sinkillerj
(~sinkiller@nc-67-232-14-71.dhcp.embarqhsd.net)
L570[11:17:37] <Forecaster> if you like
parks, and beer :P
L571[11:17:41] <vox> It's raining here in
DC :/
L572[11:17:58] <vox> (East coast,
US)
L573[11:18:00] <Wuppy> I dont have my own
place outside (no yard) so I have to go for the park
L574[11:18:04] <Wuppy> and beer is awesome
:D
L575[11:18:16] *
Forecaster lives in a forest
L576[11:18:22] <Forecaster> and does not
like beer :P
L577[11:18:28] <Wuppy> you should be
called Forestcaster
L578[11:18:50] <Forecaster> I don't cast
forests though
L579[11:18:58] <Wuppy> haha
L580[11:19:45] <Forecaster> hm
L581[11:20:24] <thor12022> you cast
Fores?
L582[11:20:26] ⇦
Quits: IoP (jikuja@irc.ioppi.info) (Ping timeout: 195
seconds)
L583[11:20:31]
⇨ Joins: IoP (jikuja@irc.ioppi.info)
L584[11:20:44] <Forecaster> if I want to
create a new item stack for one of my items what do I do?
L585[11:20:53] <Wuppy> new ItemStack
L586[11:20:55] <Wuppy> :D
L587[11:21:07] <Forecaster> yeah, but I
pass it a new instance of my item
L588[11:21:11] <Forecaster> but the
texture is broken
L589[11:21:34] <thor12022> you'll want to
use the instance you registered
L590[11:21:48] <Forecaster> how do I get
that?
L591[11:21:55] <Wuppy> it's public
static
L592[11:21:58] <Forecaster> do I have to
store that in a gettable way myself?
L593[11:22:04] <Wuppy> so
Classname.itemName
L594[11:22:06] <vox> So, if you guys
didn't know (I've said it a lot :P), I'm adding more shields to
vanilla. Should I add one for tin? It seems like that metal isn't
really used anywhere in mods
L595[11:22:18] <vox> For tools, at
least
L596[11:22:25] <Wuppy> tin ins't a tough
material though, is it?
L597[11:22:27] <Forecaster> isn't tin too
soft?
L598[11:22:29] ⇦
Quits: Samario
(~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net) (Read
error: Connection reset by peer)
L599[11:22:39] <thor12022> not according
to iguana tweaks. . .
L600[11:22:39] <vox> Probably? In reality
it's about as hard as copper
L601[11:22:40] <Forecaster> can't imagine
it making for good shields or tools
L602[11:22:40] ⇦
Quits: sinkillerj (~sinkiller@nc-67-232-14-71.dhcp.embarqhsd.net)
(Ping timeout: 384 seconds)
L604[11:23:12]
⇨ Joins: Samario
(~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net)
L605[11:23:13] <vox> So the current list
is wood (aka the vanilla shield), bone, iron
L606[11:23:27] <Forecaster> no
steel?
L607[11:23:29] <vox> Wood and bone are
historically things that do work, as is iron
L608[11:23:29] <Wuppy> steel :D
L609[11:23:33] <vox> Uh yeah sure, that
works too
L610[11:23:35] <vox> Thanks
L611[11:23:43] ⇦
Quits: Stiforr (~Stiforr@ip72-216-8-185.pn.at.cox.net) (Ping
timeout: 201 seconds)
L612[11:24:02] ⇦
Quits: GildedGames
(~GildedGam@ec2-54-196-56-152.compute-1.amazonaws.com) (Remote host
closed the connection)
L613[11:24:12]
⇨ Joins: GildedGames
(~GildedGam@ec2-54-147-9-132.compute-1.amazonaws.com)
L614[11:24:38] <vox> I think the strategy
for me is to add these shields regardless of whether or not the
required materials are part of the pack, and if they are then add
recipes
L615[11:24:39] <Dark> Historically tin was
used as a bracer for shields, but it was not pure tin
L616[11:24:42] <vox> sound
reasonable?
L617[11:24:49] <Dark> more like iron-tin
alloy
L618[11:24:53]
⇨ Joins: Ipsis418
(~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk)
L619[11:24:54] <vox> Good to know
L620[11:25:07] <Forecaster> yep, add items
regardless
L621[11:25:09] <Dark> most of the metals
used in acient times were never pure
L622[11:25:18] <Dark> and sometimes when
calling it iron it was actually something else
L623[11:25:20] <vox> I plan to eventually
add Tinker's Construct integration, so I'll keep valid parts in
mind
L624[11:25:22] <Dark> like
silver-tin-zinc
L626[11:25:41] ⇦
Quits: manmaed (~Ender@bcdf031c.skybroadband.com) (Ping timeout:
195 seconds)
L627[11:26:03] <Dark> If you want to make
it easy, write some generic code and use a registry to auto
generate the shields
L628[11:26:10] <Dark> this way a mod can
do Shields.reg(material)
L629[11:26:43] <vox> That's not a bad
idea... and then I can require them to add their own textures as
well >:D
L630[11:26:56] <Dark> yep, or do a grey
scale texture and use an rgb color
L631[11:26:56] <vox> I'm already tired of
making these and I'm literally modifing the vanilla one
L632[11:27:03] <Forecaster> allright, so I
set my ModItems.itemCrate to public static
L633[11:27:09] <RainyMesa> Could use tin
as the iron part in shields
L634[11:27:10] <Forecaster> that should do
it I suppose
L635[11:27:39] <vox> So I've got wood,
bone, iron, stell
L636[11:27:41] <vox> *steel
L637[11:27:51] <Forecaster> bronze?
L638[11:27:51] <vox> Anything else I
should add at least in this base part of the mod?
L639[11:27:59] <vox> Okay
L640[11:28:01] <Dark> configs
L641[11:28:09] <Dark> allow server owners
to adjust and blasklist values
L642[11:28:24] <vox> Fair enough
L643[11:28:33] <Dark> maybe even a config
for a list of ingots to support
L644[11:28:33]
⇨ Joins: Drullkus
(~Dru11kus@2601:646:8301:8947:305b:1df:f546:3c00)
L645[11:28:44] <vox> Bronze >
Iron?
L646[11:28:45] <Forecaster> woop, thanks
thor12022
L647[11:29:14] <Dark> depends on
application
L648[11:29:41] <Dark> iron can be better
than bronze but is also heavier, in theory as I don't know the
numbers off hand
L649[11:30:07] <vox> For now the only
thing I'm taking into account is "durability"
L650[11:30:20] <vox> At some point these
shields need to have some more in-depth mechanics
L651[11:30:36] <Dark> In that case stick
with what mod most consider standard
L652[11:30:40] <Dark> where iron is better
than bronze
L653[11:30:45] ***
tterrag|away is now known as tterrag
L654[11:30:50] <vox> Okay
L655[11:30:53] <Dark> its easier on the
players
L656[11:31:10] <vox> In TiCon bronze has
higher durability and the same mining level, apparently
L659[11:31:41] <vox> Okay, I'll stick with
that
L660[11:32:02] ⇦
Quits: Lathanael|Away (~Lathanael@p54961664.dip0.t-ipconnect.de)
(Ping timeout: 190 seconds)
L661[11:32:23]
⇨ Joins: Fye
(~Fye@dynamic-adsl-84-220-169-44.clienti.tiscali.it)
L662[11:32:27] <vox> That gives a point to
actually having bronze shields too, since why would you ever do
that if you could straight away make iron ones
L663[11:32:48]
⇨ Joins: sinkillerj
(~sinkiller@nc-67-232-14-71.dhcp.embarqhsd.net)
L664[11:32:56] <vox> Also, for the list of
supported ingots I plan to do it by ore dictionary
L665[11:33:13] <vox> Hopefully there's a
way to list through all of the oredict'ed ingots
L666[11:33:43] *** V
is now known as Vigaro
L667[11:33:43] <Dark> normally what I do
is get all ore values with the name "ore" in them then
match against values with "ingot"
L668[11:33:52] <Dark> as well check
furnace recipes to ensure they are ingots
L669[11:34:54]
⇨ Joins: Lathanael|Away
(~Lathanael@p54960050.dip0.t-ipconnect.de)
L670[11:35:02] <Dark> also if you want
bonus points, take time to make decor shields
L671[11:35:11] <Dark> eg paint, different
textures, different wood types, etc
L672[11:36:59] <vox> I was planning to
support the vanilla banner system instead
L673[11:37:17] <vox> but different wood
types could be a thing
L674[11:47:21] ⇦
Quits: Naiten (~Naiten@77.34.113.60) (Read error: Connection reset
by peer)
L675[11:53:02] ⇦
Quits: theFlaxbeard (~theFlaxbe@184.97.134.35) (Ping timeout: 198
seconds)
L676[11:53:12] <vox> willieaway: is there
a way to override vanilla textures?
L677[11:54:07]
⇨ Joins: KGS
(~KGS@h-155-4-135-249.na.cust.bahnhof.se)
L678[11:54:22]
⇨ Joins: theFlaxbeard (~theFlaxbe@184.97.134.35)
L679[11:54:25] ***
amadornes is now known as amadornes[AFK]
L680[11:55:13]
⇨ Joins: thecodewarrior
(~thecodewa@75-128-36-21.static.mtpk.ca.charter.com)
L681[11:57:10]
⇨ Joins: manmaed|AFK
(~Ender@bcdf031c.skybroadband.com)
L682[11:57:56] ***
manmaed|AFK is now known as manmaed
L683[11:59:36] ***
willieaway is now known as williewillus
L684[11:59:59] <williewillus> vox: yes,
but essentially no
L685[12:00:11] <Dark> resource packs would
be the correct way
L686[12:00:17] <williewillus> you just put
it in assets/minecraft/. But any resource pack is going to take
precedence over mod assets
L687[12:01:30]
⇨ Joins: OscarXcorePhone
(uid157529@2604:8300:100:200b:6667:4:2:6759)
L688[12:01:35] ***
Vigaro is now known as V
L690[12:02:39] <ghz|afk> PaleoCrafter:
lol, nice
L691[12:02:54] <williewillus> I say render
the result semi-transparent or with some effect
L692[12:02:56] <PaleoCrafter> guess why I
opened the substitution issue ;)
L693[12:03:05] <williewillus> it just
lookewd like another ingredient
L694[12:03:27] <PaleoCrafter> yeah, not
quite sure what to do, but semi-transparent works, I guess
L695[12:05:30]
⇨ Joins: alex_6611
(~alex_6611@p5DE7A0C9.dip0.t-ipconnect.de)
L696[12:05:47] <vox> williewillus: thanks,
that works well enough I think
L697[12:06:00] <williewillus> yeah but any
RP touches that and your changes are gone
L698[12:06:25] <vox> That's definitely
true
L699[12:06:27] <williewillus> caveat
emptor :P
L701[12:07:04] <vox> Since it's a resource
pack they could also override my other textures. I'm not sure it's
a huge issue
L702[12:08:35] <vox> PaleoCrafter: oh man,
link to your mod? That looks awesome
L703[12:08:48] <PaleoCrafter> not released
in any form yet :P
L704[12:09:04] <vox> Be sure to ping me
with a link when you do :D
L705[12:09:06] <Forecaster> I can't store
a player when writing a block to disk can I?
L706[12:09:21] <Forecaster> (still
1.7)
L707[12:09:25]
⇨ Joins: Girafi
(Girafi@0x555178eb.adsl.cybercity.dk)
L708[12:09:36]
⇨ Joins: Delenas
(~Delenas@2600:1016:b012:fc35:d10:773f:52bb:fcfe)
L709[12:09:44] <PaleoCrafter> oh, the
enchanted item glint is a shader? Oo
L710[12:10:41] <Ordinastie_> is it now
?
L711[12:10:49] <PaleoCrafter> actually,
doesn't look like it
L712[12:10:54] <Ordinastie_> it definitely
wasn't before
L713[12:10:55] <PaleoCrafter> but my
shader appears to interfere with it :D
L714[12:11:06] <ghz|afk> Forecaster: not a
"block", but if you have a TileEntity, you can save the
player's UUID
L715[12:11:15] <Forecaster> well yeah, a
tile entity
L716[12:11:47] <vox> o/ gigaherz
L717[12:12:11] <Forecaster> I'm guessing
player.getGameProfile().getId() returns the UUID?
L718[12:13:04] <ghz|afk> hmm dunno in
1.7
L719[12:13:11] <ghz|afk> in 1.8+ there's
player.getUniqueID
L720[12:13:51] <Forecaster> getId returns
a UUID, so that's probably correct
L721[12:13:54] <Forecaster> maybe
L722[12:14:12] <thor12022>
EntityPlayer#getUniqueID() exists in 1.7.10
L723[12:14:20] <williewillus> it's not a
shader :P
L724[12:14:36] <williewillus> it should be
:P
L725[12:14:38] <Forecaster> so it
does
L726[12:15:00] <Forecaster> probably
better to use that then
L727[12:15:08] <thor12022> I think it's
actually a method from Enity
L728[12:15:49] <Forecaster> it is
L729[12:15:49] <PaleoCrafter> yeah,
williewillus, but that alpha shader I gave you some time back
appears to override it in some weird way
L730[12:15:59] <williewillus> what does it
look like?
L732[12:16:39] <williewillus>
RenderItem.renderEffect is what does the enchant glint for
everything
L733[12:17:05] <PaleoCrafter> left is with
glint, right one with shader (should have glint) and in my hand is
reference that shows that it doesn't just not apply the glint
L734[12:18:12] <heldplayer> Right one
looks like it has glint
L735[12:18:25] <williewillus> probably
something in renderEffect
L736[12:18:31] <williewillus> idk what
though since I don't know gl xP
L737[12:18:40] <PaleoCrafter> yeah, it
sort of has the color applied partially, but it doesn't animate
xD
L738[12:18:52] <williewillus> it changes
the blend function and matrix mode
L739[12:18:56] <williewillus> is all I can
get out of it :P
L740[12:18:57] <heldplayer> Can you
clarify what your hand is a reference for?
L741[12:19:02] <Forecaster> how do I turn
the id back into a player? :P
L742[12:19:05] <PaleoCrafter> for the item
without glint
L743[12:19:17] <heldplayer> Ah,
alright
L744[12:19:20] <heldplayer> Weird
L745[12:19:51] ⇦
Quits: Drullkus (~Dru11kus@2601:646:8301:8947:305b:1df:f546:3c00)
(Quit: brb for a few hours)
L746[12:19:53]
⇨ Joins: sciguyryan (~sciguyrya@5.79.74.233)
L748[12:21:42] <PaleoCrafter> oh, I'm
stupid ._.
L749[12:21:47] <williewillus> what
:P
L750[12:21:55] <Wuppy> we already know
that, but what did you do wrong?
L751[12:21:55] <PaleoCrafter> I don't even
need a vertex shader anyway and that seems to have caused the
problem
L752[12:21:58] <Wuppy> sorry :P
L753[12:22:02] <williewillus> lol
L754[12:22:17] <williewillus> why don't
you need a vert?
L755[12:22:46] <PaleoCrafter> dunno, but I
don't xD
L756[12:23:02] ***
DRedhorse is now known as DonAway
L757[12:23:22] <ghz|afk> opengl may let
you use fixed-function vertex pipeline while still using pixel
(fragment) shaders
L758[12:23:23] <Forecaster> is there a
registry for players? :I
L759[12:23:30] <williewillus> Forecaster:
wat
L760[12:23:35] <williewillus> what do you
want to do again?
L761[12:23:41] <PaleoCrafter> I guess so,
gigaherz
L762[12:23:47] <Forecaster> I need to turn
the stored uuid back into a player object
L763[12:23:55] <williewillus>
getEntityByUUID
L764[12:23:58] <Forecaster> when loading
the tile entity
L765[12:23:59] <williewillus> or something
like that
L766[12:24:03] <williewillus> uhhh
L767[12:24:10] <williewillus> the player's
not guaranteed to be online
L768[12:25:05] <Forecaster> what object is
that from though?
L769[12:25:08] <Forecaster>
EntityPlayer?
L770[12:25:43] <DebugsPeople> world?
L771[12:26:02] <Forecaster> writeToNBT
doesn't have a world
L772[12:26:16] <williewillus> what are you
talking about lol
L773[12:26:37] <williewillus> I'm saying
you can't go UUID->EntityPlayer unless that player is online at
that very instant
L775[12:26:58] <ghz|afk> Forecaster: you
can't get the player on load
L776[12:27:06] <ghz|afk> try to get it
only when you need it
L777[12:27:11] <Forecaster> maybe I should
store a name instead
L778[12:27:13] <williewillus> mmm looks
better
L779[12:27:20] <ghz|afk> but remember to
handle the case where the player just simply isn't online
L780[12:27:29] <ghz|afk> so yes, caching
the last known player name is good
L781[12:27:30] <ghz|afk> ;p
L782[12:27:49] <Forecaster> this tile
entity is basically claimable
L783[12:27:58] <PaleoCrafter> well, that's
the anvil done then
L784[12:28:02] <Forecaster> so I need to
store the player who claimed it
L785[12:28:06] <ghz|afk> Forecaster:
sure
L786[12:28:07] <williewillus> store by
UUID
L787[12:28:08] <ghz|afk> use the
UUID
L788[12:28:12] <williewillus> display
names
L789[12:28:13] <ghz|afk> and when someone
tries to use it
L790[12:28:21] <williewillus> do all logic
by UUID
L791[12:28:22] <ghz|afk> use
player.getUniqueID().equals(storedUUID)
L792[12:28:27] <ghz|afk> to compare
L793[12:28:27] <PaleoCrafter> guess I'll
do dragging on my crafting table then, ugh
L794[12:28:41] <williewillus>
PaleoCrafter: what is this mod? :P
L795[12:28:47] <Forecaster> the claiming
is to know who to reward when goods are delivered
L796[12:28:48] <williewillus>
botania-fying vanilla interfaces?
L797[12:28:50] <williewillus> ;p
L798[12:28:55] <Forecaster> which can
happen when the claimer is offline
L799[12:28:56] <PaleoCrafter> hehe
L800[12:29:02] <ghz|afk> which just made
me realize I derped my own test for UUIDs
L801[12:29:03] <PaleoCrafter> yeah, I
wanna get rid of most GUIs
L802[12:29:04] <Forecaster> (assuming a
server of course)
L803[12:29:08] <ghz|afk> &&
(chest.getPlayerBound() == null || chest.getPlayerBound() ==
playerIn.getUniqueID()
L804[12:29:13] <ghz|afk> I'm way too used
to C#
L805[12:29:53] <Delenas> You too,
giga?
L806[12:30:00] <ghz|afk> I AM a C#
developer
L807[12:30:06] <ghz|afk> who happens to
tolerate java enough to write mods
L808[12:30:08] <ghz|afk> ;P
L809[12:30:13] <Forecaster> I was planning
to use the scoreboard system to hand out rewards
L810[12:30:19] <vox> Same here <3
C#
L811[12:30:21] <PaleoCrafter> everything
except chests, hoppers, droppers and dispensers will probably be
directly interacted with
L812[12:30:22] <Forecaster> which I'm
supposing is name based
L813[12:30:44] <Forecaster> so storing the
name might be the best option
L814[12:30:55] <Forecaster> though I need
to find some scoreboard code to know for sure
L815[12:31:05] ⇦
Quits: RainyMesa (~RainyMesa@c-73-240-77-154.hsd1.or.comcast.net)
(Quit: Quit)
L816[12:31:55] <Forecaster> the
alternative would be to have the block dispense the reward as items
through the gui, and making it so only the claimant can open
it
L817[12:32:06] <Forecaster> but then the
player would have to visit each building which I'd like to
avoid
L818[12:32:44] <ghz|afk> Forecaster: store
the data separately
L819[12:32:45] <ghz|afk> hmm
L820[12:32:50] <ghz|afk> did 1.7.10 have
the WorldSavedData system?
L822[12:33:44] <Forecaster> actually,
scoreboard data is stored in the player isn't it...
L823[12:33:48] <Forecaster> it's not
global
L824[12:33:50] <Forecaster>
dangit...
L825[12:33:53] <PaleoCrafter> not sure how
i want to trigger the actual crafting process
L826[12:34:12] <PaleoCrafter> but I guess
I'll have to modify the grid to accomodate for another slot on the
right
L827[12:34:39] <williewillus> why are the
blocks briefly appearing clientside? that sohuldn't happen if you
deny useItem clientside
L828[12:34:45] <ghz|afk> Forecaster: does
WorldSavedData exist in 1.7.10?
L829[12:34:46] <ghz|afk> ;P
L830[12:34:53] <PaleoCrafter> lemme
see
L831[12:34:55] <Forecaster> maybe
L832[12:34:56] <tterrag> answer: yes
L833[12:34:59] <PaleoCrafter> maybe I'm
not even doing it client-side?
L834[12:35:10] <williewillus> :P
L835[12:35:12] <Forecaster> it does
L836[12:35:33] <Forecaster> maybe the best
solution would be to have an "ATM" type block
L838[12:35:38] <tterrag> PaleoCrafter:
that seems likely
L839[12:35:48] <tterrag> it looks like the
client is placing the block then getting the packet from the server
saying "nope"
L840[12:35:52] <ghz|afk> check, as an
example of WorldSavedData being used
L841[12:35:59] <Forecaster> that lets you
get accumulated rewards from one location
L842[12:36:01] <ghz|afk> this will let you
keep track of the player's rewards
L843[12:36:15] <ghz|afk> and make them
accessible from *anywhere*
L844[12:36:27] <barteks2x> Why it always
takes me forever to find so simple mistakes... I was trying to
figure out why setting new default value for max-build-height
doesn't work. I just realized I didn't delete old server.properties
file
L845[12:36:28] <ghz|afk> even if the
player isn't online
L846[12:36:42] <Forecaster> that wasn't
the hard part :P
L847[12:36:47] <ghz|afk> barteks2x:
because the issues are simple, so we forget about them
L848[12:36:55] <Forecaster> actually
giving it to the player was
L849[12:36:59] <PaleoCrafter> yep, I
wasn't doing it client-side because I'd spawn stuff on the client
then (couldn't be arsed to do separate checks for that when I first
wrote it xD)
L850[12:36:59] <masa> Forecaster:
scoreboard should be global, it is stored in
world/data/scoreboard.dat
L851[12:37:06]
⇨ Joins: RainyMesa
(~RainyMesa@c-73-240-77-154.hsd1.or.comcast.net)
L852[12:37:16] <PaleoCrafter> no I do it
on the client and it works all nicely :P
L853[12:37:41] <Forecaster> masa: some of
it is, but I think the specific values for a player is stored in
the player object?
L854[12:37:56] <Forecaster> maybe I'm
thinking of something else
L856[12:39:02] <williewillus> what did you
derp?
L857[12:39:05] <ghz|afk> Forecaster: and
that's why I mentioned the WorldSavedData -- why worry at all about
the scoreboard, when you can just simply store things in a
WorldSavedData instance? ;P
L858[12:39:11] <ghz|afk> williewillus: ==
vs equal
L859[12:39:26] <sham1> Yes
L860[12:39:31] <Forecaster> ghz|afk:
because I still need a way for the player to get the reward?
:P
L861[12:39:48] <ghz|afk> Forecaster: what
kind of reward is it?
L862[12:40:15] <Forecaster> but like I
said, just storing the rewards in a list in my mod and providing an
item to use it should work
L863[12:40:15] <williewillus> how do you
compare reference equality if you can overload ==
L864[12:40:18] <williewillus> jc
L865[12:40:35] <ghz|afk> nononono
"just storing the rewards in a list" is the wrong way to
think about that
L866[12:40:59] <ghz|afk> willies952002:
Object.ReferenceEquals
L867[12:41:00] <Forecaster> ghz|afk: some
arbitrary number for delivering goods that can be exchanged for
currency to buy things
L868[12:41:03] <ghz|afk>
williewillus*^
L869[12:41:19] <Forecaster> currency being
something like emeralds or IC2 coins or something
L870[12:41:32] <ghz|afk> Forecaster: so
it's actual ingame items, or just a counter somewhere?
L871[12:41:46] <masa> why does C# do it
backwards?
L872[12:41:56] <ghz|afk> masa: so far as
I'm concerned, Java does it backward
L873[12:42:04] <ghz|afk> a==b means
"does a equal b?"
L874[12:42:05] <ghz|afk> not
L875[12:42:07] <Tazz> Does anyone know a
good writer?
L876[12:42:10] <ghz|afk> "is a
exactly the same instance as b?"
L877[12:42:18] <ghz|afk> Tazz: what kind
of writing?
L878[12:42:19] <Forecaster> I was just
going to store a number so that the player/server owner can
determine the exchange rate
L879[12:42:22] <ghz|afk> I dabbled in
fiction
L880[12:42:25] <williewillus> it makes
sense they did it that way though
L881[12:42:34] <Forecaster> Tazz: what
kind of writer?
L882[12:42:35] <masa> well to me .equals()
being a method makes more sense so that it actually checks the
data, and == just compares the reference or
"pointer"
L883[12:42:50] <williewillus> in java ==
always means you're comparing two numbers, whether that be
primitives or two references (pointers)
L884[12:42:53] <Tazz> Like story
eriting
L886[12:43:24] <Tazz> Actually == is a
reference comparison
L887[12:43:30] <williewillus> i know
L888[12:43:38] <ghz|afk> in C#, == is
reference, unless you override it
L889[12:43:45] <Tazz> Not comparing 2
numbers
L890[12:43:46] <williewillus> but
"comparing by reference" is just comparing two
numbers
L891[12:43:49] <williewillus> yes it
is..
L892[12:43:49] <ghz|afk> yeah
L893[12:43:57] <williewillus> it's the
pointers in the implementation
L894[12:43:57] <ghz|afk> it's basically
comparing the "instance IDs" of the two classes
L895[12:43:58] <Forecaster> ghz|afk: no
images >: -5/10
L896[12:43:59] <Tazz> Well it is
lower
L897[12:44:04] <masa> oh so by default it
is reference
L898[12:44:08] <ghz|afk> Forecaster: it's
writing, not illustrating ;P
L899[12:44:13] <williewillus> but you are
basically still comparing some sort of unique identifying
number
L900[12:44:22] <Forecaster> ghz|afk: I was
refering to your mod
L901[12:44:26] <ghz|afk> masa: yes, C#
won't do field-by-field comparisons for you
L902[12:44:37] <Forecaster> probably
should have specified that :P
L903[12:44:43] <ghz|afk> Forecaster: Oh,
the logo should be enough
L904[12:44:46] <ghz|afk> use JEI for
recipes
L905[12:44:46] <ghz|afk> ;P
L906[12:45:06] <Tazz> Actually your
comparing the unboxed values of it or the pointed value
L907[12:45:25] <williewillus> wat
L908[12:45:28] <ghz|afk> wat?
L909[12:45:30] <williewillus> what is
"it"
L910[12:45:31]
⇨ Joins: Gil
(uid147942@id-147942.brockwell.irccloud.com)
L911[12:45:34] <Forecaster> ghz|afk: you
should put a larger version of the logo in the body
L912[12:45:47] <Tazz> Any object your
comparing
L913[12:45:55] <Forecaster> it's not
obvious that you can enlarge it
L914[12:45:57] <williewillus> when you do
reference comparison a == b you are *literally* saying "do you
two occupy the exact same memory location*
L915[12:45:59] ⇦
Quits: RainyMesa (~RainyMesa@c-73-240-77-154.hsd1.or.comcast.net)
(Quit: Quit)
L916[12:46:06] <ghz|afk> Forecaster: meh.
:P
L917[12:46:44] <Tazz> Or the unboxed value
if it's a primitive
L918[12:46:51] <williewillus> if it's a
primitive
L919[12:46:55] <Forecaster> images
sells
L920[12:46:58] <williewillus> ?
L921[12:47:05] <williewillus> then it's
not a reference comparison
L922[12:47:06] <williewillus> :P
L923[12:47:15] <Tazz> That is in
dart
L924[12:47:22] <sham1> For primitives ==
could just be generalized as "is the difference between these
two values 0"
L925[12:47:24] <williewillus> we were
talking about java
L926[12:47:32] <Tazz> And my
language
L927[12:47:34] <ghz|afk> Forecaster:
better? ;P
L928[12:48:00] <williewillus> this mailing
list is interesting reading for value types
L930[12:48:20] <Forecaster> ghz|afk: looks
great :D
L931[12:48:26] <Tazz> Honestly though most
smaller numbers are the same object anyways
L932[12:48:32] <Tazz> In java that
is
L933[12:48:53] ***
brandon3055 is now known as brandon|zzz
L934[12:49:44] <tterrag> are boxed values
pooled?
L935[12:49:46] <tterrag> I wasn't aware of
that
L936[12:49:50] <williewillus> only in a
range
L937[12:49:51] <tterrag> I knew strings
were
L938[12:49:57] <tterrag> interesting
L939[12:49:58] <Tazz> Yeah in a small
range
L940[12:50:00] <tterrag> I guess it makes
sense
L941[12:50:05] <williewillus> and you can
hack the pool :P
L942[12:50:11] <sham1> it does yeah
L943[12:50:12] <Tazz> Optimization
technique
L944[12:50:29] <williewillus> Integer i =
4; i == 5 can be true, if you hack the pool :P
L945[12:50:43]
⇨ Joins: Hgrebnednav
(~Hgrebnedn@d8D872D48.access.telenet.be)
L946[12:50:50] <Tazz> I can crew
L947[12:51:03] <Tazz> Create an instance
of a class without a constructor call
L948[12:51:16] <Tazz> Sorry phone client
sucks
L949[12:51:16] <williewillus> of
course
L950[12:51:18] <williewillus> unsafe
:P
L951[12:51:21] <williewillus> or jni
L952[12:51:26] <ghz|afk> [19:50]
(williewillus): Integer i = 4; i == 5 can be true, if you hack the
pool :P
L953[12:51:30] <ghz|afk> that couldn't
happen with operator overloading
L954[12:51:42] <williewillus> that has
nothing to do with op overloading
L955[12:51:44] <ghz|afk> the base class
for all boxed values would simply override the == operator to call
the base type's
L956[12:51:50] <Tazz> Google's gson
wouldn't work real well without unsafe
L957[12:51:54] <williewillus> the pooling
is just stupid
L958[12:52:03] <williewillus> and
boxing/unboxing, and java generics in general :P
L959[12:52:15] <Tazz> Java autboxes
L960[12:52:17] <williewillus> which is why
I'm intently watching the valhalla mailing lists :P
L961[12:52:31] ⇦
Quits: theFlaxbeard (~theFlaxbe@184.97.134.35) (Ping timeout: 201
seconds)
L962[12:52:33] ***
fry is now known as fry|sleep
L963[12:52:35]
⇨ Joins: RainyMesa
(~RainyMesa@128-223-223-204-wireless.uoregon.edu)
L964[12:53:07] <thecodewarrior> With the
JEI API can you specify a special list of items to cycle
through?
L965[12:53:14] <williewillus> yes
L966[12:53:14] <ghz|afk> nope
L967[12:53:24] <williewillus> wat
L968[12:53:25] <ghz|afk> williewillus:
wat?
L969[12:53:35] <williewillus> wherever you
see an Object param
L970[12:53:38] <Tazz> Haha
L971[12:53:41] <williewillus> it can be a
ItemStack or Collection<ItemStack>
L972[12:53:46]
⇨ Joins: theFlaxbeard (~theFlaxbe@184.97.134.35)
L973[12:54:09] <ghz|afk> also, ask in #JEI
;P
L974[12:54:22] <thecodewarrior> Thanks,
and whoops.
L975[12:55:18] <Tazz> To those familiar
should I use a gc or arc or manual memory management for
Eschelle
L976[12:55:30] <williewillus> what is
this?
L977[12:55:39] ⇦
Quits: Cast0077 (~Work@24-181-178-44.dhcp.nwtn.ct.charter.com)
(Read error: Connection reset by peer)
L978[12:55:55] <Tazz> What is what
L979[12:56:04] <williewillus>
Eschelle
L980[12:56:14] <Tazz> My prog
language
L981[12:56:14] <S3> What could possibly be
causng a disconenct generic error?
L982[12:56:21] <williewillus>
anything
L983[12:56:26] <williewillus> as the error
message says :P
L984[12:56:36] <williewillus> Tazz: go
hard or go home GC ;)
L985[12:57:07] <Tazz> Williewillus: it's
not that hars
L986[12:57:23]
⇨ Joins: Hgreb
(~Hgrebnedn@d8D872D48.access.telenet.be)
L987[12:57:25] <williewillus> if you want
a good one yeah
L988[12:57:28] <Tazz> I already have a
generational and marksweep collector for a previous project
L989[12:57:38]
⇨ Joins: stiforr_
(~stiforr@wsip-68-225-123-207.pn.at.cox.net)
L990[12:57:40] <williewillus> do whatever
you want then :P
L991[12:57:42] <Tazz> The generational is
my favourite it works perfecfly
L992[12:57:50] ⇦
Quits: Hgrebnednav (~Hgrebnedn@d8D872D48.access.telenet.be) (Ping
timeout: 198 seconds)
L993[12:58:44] <sham1> I have heard that
the GC is quite decent nowadays
L994[12:59:13] <Tazz> Javas GC is
nice
L995[12:59:52] <ghz|afk> .NET's still
feels smoother
L996[12:59:55] <Tazz> Mine is relatively
good
L997[13:00:30] <Tazz> It's not a
concurrent one though
L998[13:00:30] ***
DonAway is now known as DRedhorse
L999[13:00:40] <Tazz> Only
stoptheworld
L1000[13:00:51] <ghz|afk> well you have
to start somewhere
L1001[13:00:51] <ghz|afk> ;P
L1002[13:00:59] <Tazz> Haha
L1003[13:01:02] <Tazz> Yeah
L1004[13:01:13] <ghz|afk> I wanted to try
writing a langauge VM at some point
L1005[13:01:18] <ghz|afk> the GC kept me
away
L1006[13:01:22] <Tazz> Haha
L1007[13:01:43] <Tazz>
Http://github.com/s0cks/solr
L1008[13:02:07] <Tazz> That contains the
generational gc
L1009[13:02:22] <ghz|afk> I had a design
idea, that would encode complex instructions
L1010[13:02:27] <ghz|afk> including
expressions and such
L1011[13:02:37] <ghz|afk> like, there
were only a handful of root opcodes
L1012[13:02:38]
⇦ Quits: stiforr_
(~stiforr@wsip-68-225-123-207.pn.at.cox.net) (Ping timeout: 198
seconds)
L1013[13:02:50] <ghz|afk> set, compare,
branch, ...
L1014[13:03:19] <Tazz> Like a hot?
L1015[13:03:21] <ghz|afk> and then
successive bytes would indicate how to obtain the source operand,
the destination operand
L1016[13:03:25] <Tazz> Not*
L1017[13:03:29]
⇨ Joins: SatanicSanta
(~SatanicSa@c-76-115-175-15.hsd1.or.comcast.net)
L1018[13:03:30] <Tazz> Jit*
L1019[13:04:22]
⇦ Quits: Girafi (Girafi@0x555178eb.adsl.cybercity.dk) (Ping
timeout: 190 seconds)
L1020[13:04:57] <ghz|afk> so like, an
opcode sequence could have been, "SET(R1, ADD(R2, R3))"
encoded as [set][register,R1][add][register,R2][register,R3]
L1021[13:05:28] <ghz|afk> each [] being
one or more bytes
L1022[13:05:34] <williewillus> variable
legnth instructions are meh :P
L1023[13:05:43] ***
cpw is now known as cpw|out
L1024[13:05:57] <ghz|afk> this was for a
binary intermediate representation, though
L1025[13:06:09] <williewillus> oh
L1026[13:06:22] <SatanicSanta> Question
regarding the capabilities docs: It says that IEEP and Capabilities
do not "match" 1:1, but it never really explains how
their use cases differ. For example, are capabilities used to store
basic data for entities, or are they used for complicated things,
with those simple things being replaced by something else?
L1027[13:06:37] <ghz|afk> not meant to be
interpreted as-is, but JITted
L1028[13:06:43] <ghz|afk> (or
AOTed)
L1029[13:07:08] <Tazz> Eschelle converts
the ast to an ir then optimizes it using flow graph optimization
techniques like ssa and canonicalization constant propagation cse
and what not
L1030[13:07:18] <williewillus>
SatanicSanta: capabilities have a broader use case
L1031[13:07:25] <Tazz> Then emits machine
code
L1032[13:07:25] <williewillus> is really
all it means
L1033[13:07:40] <ghz|afk> SatanicSanta:
one of the possible use cases for a capability, is to replace an
IEEP
L1034[13:08:01] <ghz|afk> the concept is
still the same, when you apply it to an IEEP-like capability
L1035[13:08:12] <ghz|afk> just the way
you attach it and such, change
L1036[13:08:31]
⇨ Joins: stiforr_
(~stiforr@wsip-68-225-123-207.pn.at.cox.net)
L1037[13:08:53] <SatanicSanta> It just
seems like, from the docs, capabilities are used for more
complicated things. It leads me to believe something was
implemented to handle more simple things like, for example, storing
whether youve extended the players reach range
L1038[13:09:49] <ghz|afk> capabilities
are a general-purpose thing
L1039[13:09:56] <ghz|afk> they simply let
you attach "features" into objects
L1040[13:10:25] <ghz|afk> objects being
TileEntities, Entities, ItemStacks
L1041[13:10:40] <SatanicSanta> Right. I
get that much.
L1042[13:10:41] <ghz|afk> forge provides
one capability: IItemHandler
L1043[13:10:49] <ghz|afk> which replaces
IInventory and ISidedInventory
L1044[13:10:51] <williewillus> tehy can
be as "simple" or "complicated" as you make
it..
L1045[13:11:10] <williewillus> one of my
caps for projecte has 2 methods in the Capability Interface
L1046[13:11:13] <ghz|afk> I wrote a
little library that has a capability that replaces RF
L1047[13:11:34] <ghz|afk> and most of my
mods used to have at least one IEEP
L1048[13:11:40] <ghz|afk> which I
converted to capability
L1049[13:11:47] <SatanicSanta> Mkay.
Slightly different question: Are capabilities the only replacement
for IEEPs?
L1050[13:11:53] <ghz|afk> and yes, the
capability system is overkill if all you want is to store a single
number
L1051[13:11:53] <williewillus> yes
L1052[13:12:05] <ghz|afk> yes, if you
used an IEEP, you use a capability now
L1053[13:12:16] <ghz|afk> more
boilerplace, but /shrug
L1054[13:12:20] <ghz|afk> plate*
L1055[13:13:36] <Delenas> So.. dynamic
coloring with IItemColor. Is there a specific shade of color I need
to match an rbg color closely? My colors are super off..
L1056[13:14:16] <williewillus>
0xRRGGBB
L1057[13:14:27] <SatanicSanta> ghz|afk:
That's what was confusing me I suppose. It seems like way more
effort to achieve something that should be so simple. And there
doesn't seem to be any other replacement, in the docs, that isn't
this system.
L1059[13:14:39] <williewillus> it's not
really that much boilerplate
L1060[13:14:48] <williewillus> imo
L1061[13:15:23] <SatanicSanta> It's like
100+ extra lines of code. That's quite a bit of boilerplate if you
ask me. And that doesn't factor in the extra number of classes and
interfaces needed.
L1062[13:15:30] <williewillus> uhh
wat
L1063[13:15:59] <ghz|afk> nah not
100+
L1064[13:16:03] <williewillus>
registering the cap + the cap provider + attaching the cap
L1065[13:16:13] <ghz|afk> it's like 20
lines boilerplate, tops
L1066[13:16:14] <SatanicSanta> multiplied
by how many you need
L1067[13:16:31] <ghz|afk> vs like 15 from
an IEEP?
L1068[13:16:34] <ghz|afk> it's not that
much worse ;P
L1069[13:16:38] <williewillus> it really
isn't
L1070[13:16:49] <SatanicSanta> Well, 1
capability is 1 value, yes?
L1071[13:16:57] <williewillus> that's up
to your design
L1072[13:17:09] <williewillus> if this is
for internal usage
L1073[13:17:12] *
SatanicSanta grumbles about these docs
L1074[13:17:17] <williewillus> you can
put it all into the same one
L1075[13:17:21] <williewillus> what
docs
L1077[13:17:30] <ghz|afk> probably the
mcforge ones that I wrote
L1078[13:17:31] <ghz|afk> ;P
L1079[13:17:35] <williewillus> no one
ever said you only could have one method on a Capability
Interface
L1080[13:18:41] <williewillus> the
Capability Interface doesn't even need to be an interface I
think
L1081[13:18:42] <williewillus> lemme
try
L1082[13:18:48] <ghz|afk> it
doesn't
L1083[13:18:51] <ghz|afk> but lex said
it's meant to be
L1085[13:19:04] <ghz|afk> so the doc
speaks only about interfaces
L1086[13:19:21] <ghz|afk> but it works
just fine if you use a class
L1087[13:19:24] <SatanicSanta>
>.>
L1089[13:19:44] <ghz|afk> this was an
IEEP that I converted to capability
L1090[13:19:49] <ghz|afk> in the laziest
way possible
L1091[13:20:19] <williewillus> idk why
you think it's so much boilerpalte
L1092[13:20:22] <ghz|afk> check the
handler at the bottom
L1093[13:20:25] <williewillus> whipping
up an example rn...
L1094[13:20:32]
⇦ Quits: stiforr_
(~stiforr@wsip-68-225-123-207.pn.at.cox.net) (Ping timeout: 384
seconds)
L1095[13:22:54]
⇦ Quits: baegmon
(~baegmon@cpe-60-225-55-120.nsw.bigpond.net.au) (Read error:
Connection reset by peer)
L1097[13:23:40] <williewillus> that's
doing it the messiest way possible :P
L1098[13:24:05] <ghz|afk> yeah lazy for
me often means more code
L1099[13:24:10] <ghz|afk> because I want
to use my brain less
L1100[13:24:10] <ghz|afk> ;P
L1101[13:24:18]
⇨ Joins: minot
(~minot@pool-108-35-29-135.nwrknj.fios.verizon.net)
L1102[13:24:19] <ghz|afk> also I'd never
use a "struct" with just fields
L1103[13:24:23] <capitalthree> so lazy
today means more work tomorrow
L1104[13:24:35]
⇦ Quits: Samario
(~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net) (Ping
timeout: 201 seconds)
L1105[13:24:40] <williewillus> yeah my
point was you don't need a separate one for every
"value"
L1106[13:24:51] <ghz|afk> capitalthree:
yes
L1107[13:24:53] <williewillus> just have
ONE cap called "InternalProperties" or whatever
L1108[13:24:56] <capitalthree>
williewillus: o_o why doesn't MyInternalCap have an array
L1109[13:25:04] <ghz|afk> capitalthree:
it's an example
L1110[13:25:07] <ghz|afk> it's not meant
to be good code
L1111[13:25:10] <capitalthree> ahh
ok
L1112[13:25:17] <capitalthree> I need to
stop clicking random links in here xD
L1113[13:25:19] <williewillus> am I being
told how my code sucks etc. etc.?
L1114[13:25:32] <ghz|afk> yes, your code
sucks.
L1115[13:25:35] <capitalthree> :D
L1116[13:30:28] <SatanicSanta> Is there
anyone actually using it either A) in a not messy/lazy way, or B)
the way it was intended to be used. I have so far failed to find
anyone NOT using it like that.
L1117[13:32:56] <williewillus>
capabilities?
L1118[13:33:08] <williewillus> ProjectE
has a clean proper implementation of a capability in a way it was
meant to be used
L1119[13:33:09] <williewillus> as does
forge
L1120[13:33:09] <SatanicSanta> sí
L1121[13:33:21] <SatanicSanta> k, ill
look at projecte
L1122[13:33:25] <williewillus> read the
gist I linked
L1124[13:34:11] <SatanicSanta> yeah im
reading that. Just not sure if Projecte was a good example, or if
you were linking that specific interface because that specific
interface was a good example.
L1125[13:34:27] <williewillus> uh that
specific Capability Interface + usage of it
L1126[13:34:35] <williewillus> other
parts of PE are not good example code :P
L1127[13:34:56] <SatanicSanta>
alright
L1128[13:36:47]
⇨ Joins: Lordmau5
(~Lordmau5@2a01:4f8:162:50e3::2)
L1129[13:37:17] <Lordmau5> !pokes
unascribed again :<
L1130[13:37:29] <Lordmau5> (perhaps he's
there now)
L1131[13:39:14] <PaleoCrafter> he
responded a couple hours after you poked him yesterday, Lordmau5
:P
L1132[13:39:25] <Lordmau5> yea, I think
PMs are better in this case
L1133[13:39:32] <Lordmau5> I'm barely on
IRC anymore due to Discord just being better :/
L1134[13:39:41] <williewillus> is there a
modding discord?
L1135[13:39:46] <Lordmau5> I wish
L1136[13:39:51] <Lordmau5> or at least, I
don't know of one
L1137[13:39:56] <SatanicSanta> There
is
L1138[13:40:01] <Lordmau5> an *official*
one?
L1139[13:40:03] <SatanicSanta> no
L1140[13:40:04] <williewillus>
where?
L1141[13:40:04] <Lordmau5> or one of the
500 ones
L1142[13:40:07] <Lordmau5> yea...
L1143[13:40:20] <williewillus> the ones
the big(ger) name modders are on :P
L1145[13:40:33] <Lordmau5> Also, with
"official" I meant "recognized as official by the
community"
L1146[13:40:42] <SatanicSanta> It's more
of a watercooler kinda thing :P
L1147[13:40:49]
⇨ Joins: stiforr_
(~stiforr@ip72-216-8-185.pn.at.cox.net)
L1148[13:41:31] ***
williewillus is now known as willieaway
L1149[13:41:54] <Lordmau5> yea, figured,
not that many people on
L1150[13:41:59] <Lordmau5> compared to
291 on this IRC
L1151[13:42:49] <SatanicSanta> Discord is
kinda blegh anyway.
L1152[13:42:57] <Lordmau5> not if you use
it properly
L1153[13:43:03] <Lordmau5> I'm in like 20
servers
L1154[13:43:04] <Lordmau5> actively
L1155[13:43:12] <SatanicSanta> Nah, it's
just another communication software using electron.
L1156[13:43:26] <Lordmau5> you just have
to use it properly and engage in communities, lol
L1157[13:43:27] <SatanicSanta> I don't
need A) more communication software, or B) more things using
chrome
L1158[13:43:33] <Lordmau5> well, up to
you
L1159[13:43:36] <Lordmau5> I'm gonna head
out of htis again
L1160[13:43:37] <Jdembo> why not use IRC
> electron?
L1161[13:43:39] <Lordmau5> o/
L1162[13:43:41]
⇨ Joins: Stiforr
(~Stiforr@ip72-216-8-185.pn.at.cox.net)
L1163[13:43:49] <SatanicSanta> Jdembo:
what?
L1164[13:43:58] <unascribed> Lordmau5,
I'm here again
L1165[13:43:58] <Jdembo> why use
discord
L1166[13:44:00] <Jdembo> if IRC is
fine
L1167[13:44:16] <SatanicSanta> discord
has voice and game integration
L1168[13:44:41] ***
amadornes[AFK] is now known as amadornes
L1169[13:44:57] <Jdembo> but not
FOSS
L1170[13:45:05] <SatanicSanta> nope
L1171[13:45:08] <SatanicSanta> but
neither is curse
L1172[13:45:13] <SatanicSanta> or slack
iirc
L1173[13:45:15] <SatanicSanta> or
teamspeak
L1174[13:45:28] <Jdembo> thats why slack
is terrible for FOSS projects
L1175[13:45:39] <SatanicSanta> I enjoy
slack
L1176[13:45:45] <Jdembo> and curse-forge
is terrible lol, someone should port KerbalStuff to MC
L1177[13:46:00] <SatanicSanta> Jdembo:
I'm talking about CurseVoice.
L1178[13:46:26] <Jdembo> never even heard
of it
L1179[13:46:44] <Jdembo> why not just use
mumble?
L1180[13:47:31] <SatanicSanta> I don't
think you can have 1000+ people on a single mumble room
L1181[13:47:43] <SatanicSanta> and if you
can i imagine it'd be expensive.
L1182[13:47:59] <Jdembo> i cant even
imagine having 1000 people in a single voicechat
L1183[13:48:03] <Jdembo> that'd be
unusable lol
L1184[13:49:05] <SatanicSanta> actually,
im pretty sure in the ftb curse channel, there were over a hundred
people in a voice room and nobody was saying a word :P
L1185[13:49:10] <Jdembo> but seriously, a
kerbalstuff MC port would be really awesome
L1187[14:02:00] <tterrag> It shut down
because It was prohibitively expensive to run
L1188[14:02:12]
⇦ Quits: vox
(~voxmods@pool-71-178-241-173.washdc.fios.verizon.net) (Ping
timeout: 201 seconds)
L1189[14:02:20] <tterrag> curseforge is
the best mc mod distribution platform so far
L1190[14:02:33] <tterrag> idk how it's
"bad"
L1191[14:03:46] <SatanicSanta> ^
L1192[14:04:02] <ghz|afk> works really
well for me
L1193[14:04:05] <SatanicSanta> certainly
better than adfly links on the minecraft forums :P
L1194[14:04:13] <ghz|afk> the site is
clean and straightforward
L1195[14:04:16] <SatanicSanta> mhm
L1196[14:04:18] <IoP> SatanicSanta: do
you mean that people should actually talk o_O
L1197[14:04:20] <SatanicSanta> all i need
is some api docs
L1198[14:04:27] <SatanicSanta> IoP:
huh?
L1199[14:04:32]
⇨ Joins: CoolSquid
(~CoolSquid@ti0011a400-2417.bb.online.no)
L1200[14:08:04] <IoP> SatanicSanta:
actually biggest amount of users in CV voice chanbel with voice
actived has been 4 or 5.
L1201[14:08:08]
⇨ Joins: vox
(~voxmods@pool-71-178-241-173.washdc.fios.verizon.net)
L1202[14:08:13] <LexDesktop> !gc
LootPool
L1203[14:08:41] <vox> In response to
Satanic and Jdembo: IRC ftw just because other people are here who
know what the heck they're doing
L1204[14:08:42] <LexDesktop> !gm
LootPool.<init>
L1205[14:08:46] <LexDesktop> :/
L1206[14:08:57] <vox> Also the interface
is simple and I can use it from command line
L1207[14:09:01] <vox> Which is nice
L1208[14:09:01] <LexDesktop> !gm
LootPool
L1209[14:09:15] <LexDesktop> Ah okay
thats how it's in the bot.
L1210[14:16:07] <Nosirrom> upgraded my
eclipse to use java8 now. thought my workspace was broken, but no
it just imported the scala list.
L1211[14:17:19] <heldplayer> God damn
Scala
L1212[14:23:49]
⇦ Quits: KGS (~KGS@h-155-4-135-249.na.cust.bahnhof.se) (Read
error: Connection reset by peer)
L1213[14:24:02]
⇦ Quits: Firedingo
(~Firedingo@CPE-121-217-142-167.lnse2.cht.bigpond.net.au) (Ping
timeout: 190 seconds)
L1214[14:24:06]
⇨ Joins: KGS
(~KGS@h-155-4-135-249.na.cust.bahnhof.se)
L1215[14:27:26] <Jdembo> vox:
irssi?
L1217[14:33:52] <capitalthree> scala
ruined everything
L1218[14:38:02]
⇦ Quits: OscarXcorePhone
(uid157529@2604:8300:100:200b:6667:4:2:6759) (Quit: Connection
closed for inactivity)
L1219[14:39:54]
⇦ Quits: Delenas
(~Delenas@2600:1016:b012:fc35:d10:773f:52bb:fcfe) (Quit:
Console.Write("Goodbye, world!");)
L1220[14:40:02]
⇦ Quits: Nitrodev (~Nitrodev@87-92-75-66.bb.dnainternet.fi)
(Read error: Connection reset by peer)
L1221[14:41:40]
⇨ Joins: aidancbrady
(~aidancbra@c-24-125-34-75.hsd1.ga.comcast.net)
L1222[14:42:06]
⇦ Quits: RainyMesa
(~RainyMesa@128-223-223-204-wireless.uoregon.edu) (Quit:
Quit)
L1223[14:42:42]
⇦ Quits: Ipsis418 (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk)
(Ping timeout: 384 seconds)
L1224[14:45:01]
⇦ Quits: McJty (~jorrit@94-225-203-206.access.telenet.be)
(Quit: Leaving)
L1225[14:45:02] ***
synth|sleep is now known as synthetica
L1226[14:48:21]
⇦ Quits: CoolSquid (~CoolSquid@ti0011a400-2417.bb.online.no)
(Quit: Leaving)
L1227[14:48:45] <LexDesktop> !gm
LootEntry
L1228[14:49:03]
⇨ Joins: Samario
(~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net)
L1229[14:50:16]
⇦ Quits: raoulvdberge
(uid95673@id-95673.richmond.irccloud.com) (Quit: Connection closed
for inactivity)
L1230[14:52:41]
⇦ Quits: Hunterz (~hunterz@62.182.234.189) (Quit:
Leaving.)
L1231[14:52:50] <LexDesktop> !gm
LootEntryItem
L1232[14:54:14]
⇦ Quits: vox
(~voxmods@pool-71-178-241-173.washdc.fios.verizon.net) (Quit:
Leaving)
L1233[14:58:04] <Cypher121> !gm
Vec3i.vectorLength
L1234[14:58:14] ***
Keridos is now known as Keridos|away
L1235[14:58:24] <Cypher121> does this
thing support wildcards?
L1236[15:02:01] <Cypher121> ah, so Vec3d
has length but not Vec3i. neat
L1237[15:11:14]
⇦ Quits: thecodewarrior
(~thecodewa@75-128-36-21.static.mtpk.ca.charter.com) (Remote host
closed the connection)
L1238[15:16:27]
⇨ Joins: killjoy1 (~killjoy@71.65.255.183)
L1239[15:17:46] <LexDesktop> !gm
LootEntryTable
L1241[15:25:27] <SatanicSanta> Hm, looks
like FluidContainerRegistry is deprecated. What should we be using
instead? (I am not registering containers)
L1242[15:27:18] ***
willieaway is now known as williewillus
L1243[15:28:39]
⇦ Quits: sciguyryan (~sciguyrya@5.79.74.233) (Remote host
closed the connection)
L1244[15:28:46] <williewillus> $ close
2832
L1245[15:28:49] <Actuarius> Issue 2832
closed.
L1246[15:29:41] <diesieben07>
SatanicSanta, IFluidContainerItem
L1247[15:30:23] <SatanicSanta> Mm, not
for what I'm using. I'm using primarily getFluidForFilledItem and
drainFluidContainer from that registry class.
L1248[15:30:36] <SatanicSanta> and
similar methods. I don't add my own container items or anything
like that.
L1249[15:30:59] <diesieben07> check
instanceof IFLuidContainerItem and then fall back to
FluidContainerRegistry
L1250[15:31:16] <SatanicSanta> So there's
no replacement then? I just hate using deprecated things.
L1251[15:31:27] <diesieben07> you have to
at the moment, for vanilla buckets
L1252[15:31:50] <SatanicSanta> Well, the
point of the code in question was to support non-vanilla buckets
:|
L1255[15:32:13] <diesieben07>
IFluidContainerItem then.
L1256[15:32:21] <PaleoCrafter> oh, lol,
forgot to turn off my music
L1257[15:32:32] <SatanicSanta>
PaleoCrafter: The music fits quite well
L1258[15:32:38] <PaleoCrafter> bonus
points to whoever knows who's singing :P
L1259[15:33:06]
⇨ Joins: NPException
(~NPExcepti@cable-86-56-91-245.cust.telecolumbus.net)
L1260[15:33:52] <SatanicSanta>
diesieben07: Hm. We do use IFluidContainerItem for the things that
implement it, and then fall back to the registry. I guess i'll just
slap a @SuppressWarnings on there.
L1261[15:34:20] <LexDesktop> !gm
LootEntryEmpty
L1262[15:34:29] <diesieben07> yep thats
how to do it atm.
L1263[15:35:34] <PaleoCrafter>
diesieben07, can you tell? :P
L1264[15:35:43] *
SatanicSanta checks if theres an issue i can subscribe to about
this
L1265[15:36:21] <diesieben07> cant listen
to stuff rn paleo
L1266[15:36:30] <PaleoCrafter> ah, too
bad
L1267[15:39:36] <barteks2x> I started
profiler to see why I have so absurdally high tick times, over 50%
of tick time (not including sleep time) is spent in CubeMap.get(),
which only calls TreeMap.get()
L1268[15:39:52]
⇨ Joins: Unh0ly_Tigg
(~Robert@c-76-115-95-185.hsd1.or.comcast.net)
L1269[15:42:15] <williewillus> trees are
log time so i wouldn't be *too* surprised
L1270[15:42:23] <williewillus> assuming
youre storing a lot of stuff
L1271[15:42:38] <PaleoCrafter>
trees
L1272[15:42:39] <PaleoCrafter> log
L1274[15:42:41] <PaleoCrafter> hehe
L1275[15:43:06] <sham1> Hah
L1276[15:43:18] <diesieben07> Zaggy1024,
you know that last thing can be IBlockState[]::new
L1277[15:43:30] <Zaggy1024> mmh
L1278[15:43:32] <sham1> The exponential
growth of my natural log (if you know what I mean)
L1279[15:43:33] <Zaggy1024> didn't
L1280[15:43:42] <Zaggy1024> but that
won't solve it will it?
L1281[15:43:47] <diesieben07> and that
2nd one can be GenesisBlocks.debris::getBlockState
L1282[15:43:48] <Zaggy1024> it's still
the same lambda
L1283[15:43:52] <PaleoCrafter> cheeky,
sham1
L1284[15:43:56] <williewillus> sham1: but
can it rotate
L1285[15:44:05] <sham1> I would not test
it
L1286[15:44:12] <diesieben07> and that
should never be an object array
L1287[15:44:13] <sham1> It would probably
hurt me
L1288[15:44:20] <barteks2x> williewillus,
it's just 10-30 entries in each treemap
L1289[15:44:53] <barteks2x> but they are
called hundreds of thousands if not millions of times
L1290[15:45:18] <sham1> But yeah, after
posting this gem to the wrong channel (god damn it why does my irc
client default to #ForgeGradel")
L1291[15:45:26] <Zaggy1024> huh..
L1292[15:45:27] <PaleoCrafter> sham1,
williewillus, rotation can become quite... complex
L1293[15:45:44] <Zaggy1024> why doesn't
(i) -> new IBlockState[i] not work though?
L1294[15:46:01] <Zaggy1024> doesn't it
detect the most specific class the lambda can return when
compiling?
L1295[15:46:17] <sham1> This is not how
my double entendre would have been interpited by other people but
whatever
L1296[15:47:14] <PaleoCrafter> what? you
didn't actually mean maths? :P
L1297[15:47:15] <sham1> Anyway, I can
apparently floor a number in JavaScript by using a binary OR
L1298[15:47:17] <sham1> Well,
truncate
L1299[15:47:19] ***
big_Xplo|AFK is now known as big_Xplosion
L1300[15:47:19] <Zaggy1024> well,
IBlockState[]::new works
L1301[15:47:44] <Zaggy1024> still, I'm
very confused as to why (i) -> new IBlockState[i] is any
different 0.o
L1302[15:47:53]
⇦ Quits: KGS (~KGS@h-155-4-135-249.na.cust.bahnhof.se) (Read
error: Connection reset by peer)
L1303[15:48:08] <PaleoCrafter> look at
the compiled code :P
L1304[15:48:17]
⇨ Joins: KGS
(~KGS@h-155-4-135-249.na.cust.bahnhof.se)
L1305[15:48:30] <Zaggy1024> on my version
of the compiled code the lambda method returns [LIBlockState;
L1306[15:49:01] <Zaggy1024> it's kind of
difficult to check on someone else's machine what it's compiling
too :P
L1307[15:49:16] <Zaggy1024> what's weird
is we have the same IDE, same compile target and same JDK
L1308[15:49:25] <Zaggy1024> compiles on
my end, not on theirs 0.o
L1309[15:50:15] <williewillus> eclipse
foolery?
L1310[15:50:26] <Zaggy1024>
probably
L1311[15:50:37] <Zaggy1024> I just
realized they have Eclipse, but probably a bit of an older
version
L1312[15:50:43] <Zaggy1024> maybe Java 8
support was crap in their version
L1313[15:51:01] <PaleoCrafter> what would
eclipse have to do with the actual compiled bytecode?
L1314[15:51:19] <diesieben07> they have
their own compiler
L1315[15:51:23] <williewillus> ^
L1316[15:51:30] <barteks2x> and now I
need to figure out how to optimize CubeMap.get() without breaking
it and still allow to use subMap
L1317[15:51:32] <williewillus> and it
didn't work with java 8 for a while iirc
L1318[15:51:44] <williewillus> barteks2x:
post it maybe and we can pick at it? :P
L1319[15:51:55] <Zaggy1024> is there any
info on why they needed to use their own compiler?
L1320[15:52:02] <PaleoCrafter>
presentation
L1321[15:52:03] <Zaggy1024> and how does
its performance compare to javac?
L1322[15:52:11] <diesieben07> because
they use it to make their IDE work
L1323[15:52:17] <diesieben07>
autocomplete? ask the compiler.
L1324[15:52:23] <Zaggy1024> ah
indeed
L1325[15:52:40] <barteks2x>
http://pastebin.com/FK8v8VQS here is the CubeMap
code. I specifically made this class to allow to eventually
optimize it because I knew it may cause performance issues
L1326[15:52:49] <PaleoCrafter> I'd have
thought they used the actual compiler for everything relevant,
meh
L1327[15:53:05] <diesieben07> javac does
not have enough of an API for tht
L1328[15:53:19] <PaleoCrafter> well, I
mean, for everything that isn't IDE-related :P
L1329[15:53:24] <PaleoCrafter> i.e. the
actual building
L1330[15:53:25] <williewillus> barteks2x:
wait first, what does the class aim to do?
L1331[15:53:51] <PaleoCrafter> they can
use their presentation compiler for whatever they want, but I'd
prefer my classes to be done properly xD
L1332[15:53:55] <diesieben07> well that
means you cannot for example run with non-compiling code.
L1333[15:54:08] <williewillus> it just
looks like a treemap wrapper rn
L1334[15:54:08] <barteks2x> williewillus,
previously I used TreeMap direectly in Column class. It stores
mapping y-->cube in column (Chunk) class.
L1335[15:54:21]
⇨ Joins: Drullkus
(~Dru11kus@c-67-180-188-243.hsd1.ca.comcast.net)
L1336[15:54:26] <barteks2x> Currenntly it
is treemap wrapper, but I can easly change it to use arrays or
whatever
L1337[15:54:34] <diesieben07> but yes
what you are describing is called IntelliJ :D
L1338[15:54:57] <PaleoCrafter> nah,
IntelliJ doesn't have a presentation compiler :P
L1339[15:55:03] <PaleoCrafter> it
analyses the AST :P
L1340[15:55:05] <williewillus> any reason
it's a treemap in particular?
L1341[15:55:05] <diesieben07> well,
yes
L1342[15:55:12] <williewillus> and maybe
use the primitive maps in Trove
L1343[15:55:20] <williewillus>
TIntObjHashmap or whatever
L1344[15:55:24] <barteks2x> williewillus,
because it has subMap method and it's used in a few places...
L1345[15:55:25] <williewillus> not sure
if tjeres a tree version
L1346[15:55:36] <williewillus> oh
L1347[15:55:53] <barteks2x> And I don't
feel like touching the code that uses submap
L1348[15:56:38]
⇦ Quits: stiforr_ (~stiforr@ip72-216-8-185.pn.at.cox.net)
(Ping timeout: 198 seconds)
L1349[15:56:40]
⇦ Quits: synthetica
(~synthetic@cpe-98-27-161-235.neo.res.rr.com) (Quit:
Leaving)
L1350[15:56:40] <williewillus> wait so
vanilla code uses a treemap?
L1351[15:56:44]
⇦ Quits: NPException
(~NPExcepti@cable-86-56-91-245.cust.telecolumbus.net) (Quit:
Leaving)
L1352[15:56:49] <barteks2x> no, vanilla
uses array orf length 16
L1353[15:56:59] <williewillus> yeah thats
definitely some overhead ;p
L1354[15:57:05] <williewillus> boxing +
tree lookup
L1355[15:57:54] <barteks2x> but since I
need to have keys like 2435473 and -7284234 I need to use something
more than an array
L1356[15:58:15] <diesieben07> yes, a
hashtable, i.e. HashMap
L1357[15:58:22] <diesieben07> questino is
why you need ordering (=TreeMap)
L1358[15:58:32] <PaleoCrafter> barteks2x,
best advice ever: just put your mod on hiatus until Valhalla is
here :P
L1359[15:58:38] <diesieben07> haha
L1360[15:59:07] <williewillus> he wants
to use subMap
L1361[15:59:11] <sham1> Håh
L1362[15:59:23] <PaleoCrafter> or
Ragnarök, alternatively :P
L1363[15:59:23] <barteks2x> I tried to
add some caching of frequently used values but apparently I can't
really code and it broke everything
L1364[16:00:01] <williewillus> what are
you using submap for? 0.o
L1365[16:00:18] <williewillus> i'd say
switching to hashing maps and then using the trove primitive ones
would give a nice boost
L1366[16:00:58] <barteks2x> for skylight
somewhere (iirc) and to get cube range for getEntitiesWithinAABB
and methods like these
L1367[16:01:34] <williewillus> i mean
what benefit does that provide beyond just querying the whole
map?
L1368[16:01:57] <williewillus> oh nvm i
forgot what submap did
L1369[16:02:11] <diesieben07> submap =
subtree :D
L1370[16:02:27] <barteks2x> sometimes in
skylight code I can have height range like -5000 to +5000 or even
-infinity to +100, and then iterating over that range one by one
isn't a good idea
L1371[16:02:43] <williewillus>
?shrug
L1372[16:02:50] <williewillus> see if
theres a trove primitive treemap :P
L1373[16:02:59] <PaleoCrafter> there
doesn't appear to be
L1374[16:03:40] <barteks2x> wait,
apparently I already got rid of using submap in lighting code, and
instead I iterate over the whole contents of CubeMap and only
select cubes I'm interested in
L1375[16:03:48] <williewillus> :P
L1376[16:03:55] <barteks2x> wait,
no
L1377[16:04:00] <barteks2x> I was looking
in wrong place
L1378[16:04:14] <barteks2x> I still use
it, but I probably could do that
L1379[16:04:43] <barteks2x> technically
it would make FirstLightProcessor O(n^2) instead of O(nlogn) but
that may not be a big issue
L1380[16:05:43] <barteks2x> still, I
benchmarked HashMap vs TreeMap get and there isn't that big
performance difference
L1381[16:05:59] <williewillus> is your
mod open source somewhere?
L1382[16:06:02] <barteks2x> yes
L1383[16:06:13] <williewillus> try a
primitive map instead of hashmap and see
L1384[16:06:17] <williewillus>
link?
L1386[16:07:19] <barteks2x> I compared
HashMap vs TreeMap vs TIntObjectMap vs LongHashMap, TreeMap was the
slowest, but other 3 are comparable.
L1387[16:09:40] <williewillus> yeah i
feel like forcing all your columns to store their cubes in order is
huge overhead
L1388[16:09:47] <williewillus> but idk
what the exact cause of it is
L1389[16:10:21] ***
V is now known as Vigaro
L1390[16:11:25] <barteks2x> I still need
to access it quickly, I will do the benchmark again because I don't
remember the numbers
L1391[16:11:39] ***
Mine|dreamland is now known as minecreatr
L1392[16:12:11] <williewillus> I mean, do
you absolutely need to do in-order iteration?
L1393[16:14:26] <barteks2x> right now - I
think it may not be absolutely necessary, but it will require
making a few other parts of code potentially slower.
L1394[16:14:51] <barteks2x> since I need
to be able to get cubes within specified Y range somehow
L1395[16:15:09] <barteks2x> even if not
necessarily sorted
L1396[16:15:30]
⇨ Joins: raoulvdberge
(uid95673@id-95673.richmond.irccloud.com)
L1397[16:17:20]
⇦ Quits: theFlaxbeard (~theFlaxbe@184.97.134.35) (Ping
timeout: 384 seconds)
L1398[16:18:02]
⇦ Quits: alex_6611 (~alex_6611@p5DE7A0C9.dip0.t-ipconnect.de)
(Ping timeout: 190 seconds)
L1399[16:18:29]
⇨ Joins: theFlaxbeard (~theFlaxbe@184.97.134.35)
L1400[16:18:53] <LexDesktop> !gf
LootTable.pools
L1401[16:19:00] <williewillus> iterate
through the range and query a hashmap?
L1402[16:19:14] <PaleoCrafter> I wonder
what Lex is working on xD
L1403[16:19:18] <williewillus> still not
the fastest but shouldn't be terrible
L1404[16:19:22] <williewillus> loot hooks
probably :p
L1405[16:19:35] <barteks2x> ok, I did the
test again. Different results. 20000 get() calls: TreeMap=7.38ms,
HashMap=0.57ms, LongHashMap=6.81ms, TIntObjectHashMap=2.48ms
L1406[16:19:37] <williewillus> that i
dropped bc time poofed
L1407[16:19:39] <PaleoCrafter> should
have put \s :P
L1408[16:20:19] ***
Darkhax is now known as Darkhax_AFK
L1409[16:20:35] <barteks2x> So java
HashMap is faster than TIntObjectHashMap
L1410[16:20:49] <williewillus> thats
probably not true
L1411[16:20:52] <barteks2x> at least in
this case
L1412[16:20:56] <williewillus> java
benchmarking is hard to do right
L1413[16:20:57] <williewillus> :P
L1414[16:21:10] <barteks2x> I probably
did it wrong, I will post the code
L1415[16:21:30] <williewillus> i mean
even I don't know all the things you have to do
L1416[16:21:31] <PaleoCrafter> you need
to heat the JVM up before doing anything relevant :P
L1417[16:21:41] <williewillus> but you
have to warm up the JIT, make sure the classes are pre-loaded, etc.
etc.
L1418[16:21:52]
⇦ Quits: killjoy1 (~killjoy@71.65.255.183) (Ping timeout: 384
seconds)
L1419[16:22:18] <williewillus> make sure
to minimize impact of gc, etc. :P
L1420[16:22:46] <PaleoCrafter> there
basically is no way to get it right :P
L1422[16:23:00] ***
Darkhax_AFK is now known as Darkhax
L1423[16:23:29] <barteks2x> this is how I
tested it, probably not right, but should be close enough to the
actual use case
L1424[16:23:32] <williewillus> yeah
you're supposed to test them separately
L1425[16:23:53] <williewillus> well not
supposed to, but better strategy i guess
L1426[16:23:57] <diesieben07> also
L1427[16:24:02] <barteks2x> ok, so I will
repeat the test with all of them but one commented out
L1428[16:24:04] <diesieben07> it will
most likely optimize away that get
L1429[16:24:09] <diesieben07> that why
your HashMap is so fast
L1430[16:24:22] <diesieben07> since get
is probably inlined and then it discovers "oh he just throws
it away again"
L1431[16:24:26] <PaleoCrafter> darn JVM,
y u so smart
L1432[16:24:26] <diesieben07> so it just
doesnt do anything.
L1433[16:24:39] <barteks2x> so I will sum
all hashCode values
L1434[16:24:39]
⇦ Quits: Stiforr (~Stiforr@ip72-216-8-185.pn.at.cox.net)
(Ping timeout: 201 seconds)
L1435[16:24:43] <diesieben07> use
JMH
L1436[16:24:47] <williewillus> ^
L1437[16:24:51] <diesieben07> or don't
microbenchmark.
L1438[16:24:51] <barteks2x> JMH?
L1439[16:24:55] <diesieben07> JMH
L1440[16:24:56] <williewillus> java
microbenchmark harness
L1441[16:25:02] <williewillus> what the
java team uses to benchmark :P
L1442[16:25:30] <barteks2x> I will just
replace it with HashMap in the real code and see what happens (I
will have both hashmap and treemap there)
L1443[16:25:40] <barteks2x> TreeMap for
subMap and hashMap for get()
L1444[16:26:13] <williewillus> and double
your mem usage :D
L1445[16:26:32] <barteks2x> most of the
memory is in other places anyway
L1446[16:26:34] <williewillus> try just
using hashmap and iterate over a range
L1447[16:26:37] ***
amadornes is now known as amadornes[OFF]
L1448[16:26:43] <barteks2x> for testing I
will use both
L1449[16:26:53] <barteks2x> to see how it
improves performance
L1450[16:27:26] <diesieben07> depending
on what those ranges are you might be able to optimize that even
futher
L1451[16:29:46] <barteks2x> they are
usually 10-60 consecutive integers
L1452[16:30:07]
⇨ Joins: OscarXcorePhone
(uid157529@2604:8300:100:200b:6667:4:2:6759)
L1453[16:30:07] <barteks2x> wait, which
ranges?
L1454[16:30:10] <barteks2x> I got
confused
L1455[16:30:18] <williewillus> the ones
you use in submap
L1456[16:31:04] <diesieben07> question
is...
L1457[16:31:09] <diesieben07> subMap just
returns a *subset*
L1458[16:31:10] <barteks2x> for
getEntitiesInAABBthey are probably not bigger than 3 cubes, so
simple iteration would be ok. But for skylight they may be
potentially Integer.MIN_VALUE to someValueLike100
L1459[16:31:12] <diesieben07> why is that
subset requirement there?!
L1460[16:31:19] <diesieben07> you can
just use the main map
L1461[16:31:23] <diesieben07> and all
get() will still work the same
L1462[16:31:27] <williewillus> yeah
L1463[16:31:45]
⇨ Joins: stiforr_ (~stiforr@63.173.125.145)
L1464[16:31:51] <diesieben07> and if it's
to iterate just that subset... just iterate your keys.
L1465[16:31:55] <barteks2x> So i can end
up calling subMap(Integer.MIN_VALUE, true, 20, true)
L1466[16:32:28] <diesieben07> what do you
do with that result?
L1467[16:32:35] <barteks2x> but it's
extreme case, usually it's subMap(x, true, x, true)
L1468[16:32:49] <williewillus> wat
L1469[16:32:51] <barteks2x> It's for
skylight calculation, I will send link when I find it
L1470[16:33:01] <williewillus> yah just
iterate
L1471[16:33:04] <diesieben07> No, don't
send a link.
L1472[16:33:05] <diesieben07> Explain.
:D
L1473[16:34:05] <barteks2x> uh... I have
ForctLightProcessor class that updates skylight for a newly
generated Cube
L1474[16:34:10] <barteks2x>
*FirstLightProcessor
L1475[16:36:21] <barteks2x> and to do
that I first the new height value, if it's the the current cube
(the most interesting case) I find the height value below that
cube, and iterate over all cubes in that range and set skylight to
unlit there, then I do the most interesting part which is actually
using world.checkLightFor
L1476[16:36:58] <barteks2x> currently
It's a dumb implementation that doesn't take transparency into
account,so order doesn't matter
L1477[16:36:58] <diesieben07> and... why
do you need a submap? :D
L1478[16:38:20] <barteks2x> so submap may
not be fully needed there, but very frequently the I'm iterating
over range (Y to Y) or (Y-1 to Y), so iterating over all cubes 256
times seems waste of time
L1479[16:38:40] <diesieben07> uhh
L1480[16:38:40] <barteks2x> and it's 256
times for each generated cube
L1481[16:38:45] <diesieben07> just
iterate over y to y then!?
L1482[16:38:47] <diesieben07> i dont see
the submap
L1483[16:39:05] <barteks2x> but then
there is extreme case where I can get range like Integer.MIN_VALUE
to 10
L1484[16:39:27] <barteks2x> technically,
I get null to 10
L1485[16:39:53] <diesieben07> so? for
(int i = Integer.MIN_VALUE; i < 10; i++) { }
L1486[16:39:55] <diesieben07> where is
the submap?
L1487[16:40:02] <LexDesktop> !gf
LootPool.rolls
L1488[16:40:18] <barteks2x> and good luck
with THAT 256 times per cube
L1489[16:40:25] <williewillus>
diesieben07: the tree already enforced the ordering so he's
thinking he won't spend ages in there missing in a hashmap
L1490[16:40:36] <LexDesktop> !gf
LootPool.bonusRolls
L1491[16:40:41] <diesieben07> barteks2x,
less than a subMap call :p
L1492[16:40:42] <williewillus> but this
really isn't that much better
L1493[16:40:55] <diesieben07> no idea
what you are talking about willie :D
L1494[16:41:18] <PaleoCrafter> also,
barteks2x, just *how* likely is it that you need that big of a
range? :P
L1495[16:41:36] <diesieben07> also wait
what...? 256x per cube? what?
L1496[16:41:43] <barteks2x> 100% that it
will be et least once for each generated Column
L1497[16:41:54] <barteks2x> 256 because
it's for each x/z coordinate in a cube
L1498[16:42:16] <PaleoCrafter> wouldn't
that be 16³ per cube? :P
L1499[16:42:21] <williewillus> x/z
L1500[16:42:23] <williewillus> not
xyz
L1501[16:42:27] <barteks2x> well,
actually 0 it may be close to 0% with vanilla worldgen
L1502[16:42:29] <diesieben07> ok listen
man, i dont think this is an issue of treeMap vs hashmap
L1503[16:42:31] <PaleoCrafter> oh,
nvm
L1504[16:42:32] <diesieben07> your shit
is just slow
L1505[16:42:33] <diesieben07> :D
L1506[16:42:52] <williewillus> what does
vanilla do for this? 0.o
L1507[16:43:07] <barteks2x> vanilla
doesn't need to do a few of the things that I need to do
L1508[16:43:18] <barteks2x> and Cuchaz
decided to do a few things "differently"
L1509[16:43:27] <barteks2x> And I still
have that code
L1510[16:43:33] <barteks2x> because it's
too much effort to change it
L1511[16:44:04] <barteks2x> Example:
GenerationPipeline (which is what takes most of the tick time even
when idle)
L1512[16:44:23] <barteks2x> And I see no
reasonable way to replace this
L1514[16:44:46] <barteks2x> +vanilla uses
just plain array for storing cubes
L1515[16:44:49] <PaleoCrafter> so instead
of tackling the stuff that's really important, you get to (possibly
prematurely) optimise some map lookups? :P
L1516[16:45:12] <barteks2x> Because it
also hurts worldgen performance
L1517[16:45:37] <williewillus> a pipeline
for worldgen?
L1518[16:45:38] <williewillus>
interesting
L1519[16:45:42] <williewillus> :P
L1520[16:45:48] <barteks2x> 5 worldgen
stages...
L1521[16:46:13] <barteks2x> terrain,
surface, features, lighting, population
L1522[16:47:03] <barteks2x> I have some
idea about merging the first 3 stages into one but completely
reimplementing the way dirt/grass placement works
L1523[16:48:02] <barteks2x> uh... I can't
type again
L1524[16:48:12] <barteks2x> I'm making so
weird mistakes
L1525[16:50:02]
⇦ Quits: stiforr_ (~stiforr@63.173.125.145) (Ping timeout:
198 seconds)
L1526[16:50:09] <barteks2x> back to why I
need to optimize this lookup for worlgen: because for each
getBlockState/setBlockState there is one cube lookup
L1527[16:50:34] <barteks2x> or more
L1528[16:50:34]
⇨ Joins: ghz|lappy
(~gigaherz@190.red-79-144-13.dynamicip.rima-tde.net)
L1529[16:54:11] <barteks2x> hm.... why
did I need my Queue to be a Set?
L1530[16:54:34]
⇨ Joins: stiforr_
(~stiforr@ip72-216-8-185.pn.at.cox.net)
L1531[16:54:35] <ghz|lappy> lol "Ben
Affleck now an executive producer on Justice League"
L1532[16:55:26] <ghz|lappy> he must have
gone to the WB people and said "Because I'm
BATMAN!"
L1533[16:55:31]
⇦ Quits: founderio
(~Thunderbi@p200300C4E3C5BE005C244EDCBD25394B.dip0.t-ipconnect.de)
(Quit: founderio)
L1534[16:56:06]
⇦ Quits: minot
(~minot@pool-108-35-29-135.nwrknj.fios.verizon.net) (Ping timeout:
201 seconds)
L1535[16:56:18]
⇨ Joins: KnightMiner (~KnightMin@68.255.6.227)
L1536[16:57:04]
⇨ Joins: minot
(~minot@pool-108-35-29-135.nwrknj.fios.verizon.net)
L1537[16:57:20] <williewillus> hmm
something Ive thought about before
L1538[16:57:41] <williewillus> is it
possible to have some sort of testing framework for MC (server-side
at least)
L1539[16:57:57] <williewillus> that
creates some sort of controlled environment you specify and runs
tests
L1540[16:58:01] <williewillus>
in-world
L1541[16:58:08] <PaleoCrafter> you can
mock stuff etc. I guess
L1542[16:58:15] <PaleoCrafter> but it'd
be a lot of work :P
L1543[16:58:27] <barteks2x> I think
Cuchaz worked on something like that for M3L
L1544[16:59:04] <barteks2x> but I don't
think there was anything he didn't reinvent
L1545[16:59:04] <williewillus> M3L?
L1546[16:59:35] <williewillus> i mean,
mocking might be overkill, but something that just sets up a
predefined environment
L1547[16:59:37] <barteks2x> his totally
custom modding environment that he stopped working on because he
didnt get any money for it
L1548[16:59:43] <williewillus> lol
L1549[16:59:53] <williewillus> or it
never took off
L1550[17:00:08] <williewillus> is there a
link still or is website dead :P
L1552[17:00:40] <barteks2x> he made
completely new deobf mappings, new tool for making these mappings
that was aaalso used for runtime deobfiscation, new mod loader, new
"API", new automated built tool
L1553[17:01:37] <williewillus> wat
L1554[17:01:51] <williewillus> the
"WHY ANOTHER MOD LOADER? WHY NOT JUST USE FORGE?"
paragraph
L1555[17:01:58] <williewillus> is
literally that one xkcd about standards
L1556[17:02:05] <williewillus> 997?
L1557[17:02:11] <williewillus> crap
L1558[17:02:12] <williewillus> 927
L1559[17:02:18] <barteks2x>
^exactly
L1560[17:02:58]
⇨ Joins: Stiforr
(~Stiforr@ip72-216-8-185.pn.at.cox.net)
L1561[17:02:58] <barteks2x> you don't
want to know how absurdally hard it was to set up dev workspace fot
it
L1562[17:03:09] <williewillus> also his
name sounds so familiar
L1563[17:03:12] <williewillus> but idk
where I've heard it from
L1564[17:03:18] <williewillus> besides
this
L1565[17:04:51] <barteks2x> after using
HashMap instead of TreeMap idle tick time dropped from 40-60ms to
14-18ms
L1566[17:05:12] <williewillus> :P
L1567[17:05:22] <williewillus> now use a
primitive hashmap
L1568[17:06:22]
⇦ Quits: theFlaxbeard (~theFlaxbe@184.97.134.35) (Ping
timeout: 190 seconds)
L1569[17:06:58] <barteks2x> profiler
doesn't even see the CubeMap.get() now
L1570[17:07:01] <ghz|lappy> barteks2x:
why did you use a treemap?
L1571[17:07:10] <williewillus> premature
opt ;)
L1572[17:07:18] <williewillus> jk, he
wanted submap behaviour
L1573[17:07:22] <ghz|lappy> well
L1574[17:07:37] <ghz|lappy> when you
think of 3d space, you'd think of a kd tree
L1575[17:07:39]
⇨ Joins: theFlaxbeard (~theFlaxbe@184.97.134.35)
L1576[17:07:40] <ghz|lappy> or an
octree
L1577[17:07:41] <barteks2x> well, that
was Cuchaz's idea and until now I didnn't change it
L1578[17:07:44] <ghz|lappy> not really a
treemap
L1579[17:08:05] <ghz|lappy> a treemap is
quite suboptimal in terms of locality
L1580[17:08:19] <barteks2x> what do you
mean?
L1581[17:08:35] <williewillus> aka submap
is slow
L1582[17:08:38] <ghz|lappy> when dealing
with spatial navigation
L1583[17:08:40] <barteks2x> There isn't
just one treemap, there is one for each Chunk/Column
L1584[17:08:55] <ghz|lappy> there's a
very high chance you'll move within a close group of elements
L1586[17:09:20] <ghz|lappy> so a data
structure for spatial data is best if it keeps the nearby data
closer together
L1587[17:09:32] <ghz|lappy> hence octrees
and k-d trees
L1588[17:09:50] <ghz|lappy> k-d trees are
trees where each level works on a different dimension
L1589[17:09:52] <ghz|lappy> like
L1590[17:09:57] <ghz|lappy> top level
splits left/right
L1591[17:10:01] <ghz|lappy> second
up/down
L1592[17:10:04] <ghz|lappy> third
north/south
L1593[17:10:15] <ghz|lappy>
left/right->west/east*^
L1594[17:10:26]
⇦ Quits: Hgreb (~Hgrebnedn@d8D872D48.access.telenet.be) (Ping
timeout: 198 seconds)
L1595[17:10:26] <ghz|lappy> thne back to
left/right for the next subdivision
L1596[17:10:35] <barteks2x> except that I
can't really use that because of compatiblity with...
everything
L1597[17:10:43] <ghz|lappy> yeah
L1598[17:10:54] <williewillus> so just
use TIntObjHashmap :P
L1599[17:11:15] <ghz|lappy> PaleoCrafter:
fancy ;P
L1600[17:11:39] <barteks2x> For now the
bottleneck turns out to be somewhere else. blocksExists method that
checks if given block range exists
L1601[17:11:45] <ghz|lappy> barteks2x:
"one map per column" sounds horribly inefficient
L1602[17:11:57] <ghz|lappy> but
yeah
L1603[17:12:01] <ghz|lappy> much better a
hashmap
L1604[17:12:11] <barteks2x> except that
to do it differently I would need to @Overwrite almost every single
method in World class
L1605[17:12:40] <Ordinastie_> tbh, you
should just have a extension of chunk with a height offset
L1606[17:12:52] <Ordinastie_> and only
temper with the chunk loading/unloading
L1607[17:13:20] <kashike> latest
snapshots don't use LongHashMap/etc anymore
L1608[17:13:30] <barteks2x> that's what
Robinton did in his original CubicChunks mod. Now I have max
height/depth 8 million blocks
L1609[17:13:54] <barteks2x> which means
that using an array will limit the height. Which may be actually
ok.
L1610[17:13:57] ***
Darkhax is now known as Darkhax_AFK
L1611[17:13:58] <Ordinastie_> with
separate chunks, you wouldn't have a limit
L1612[17:14:37] <barteks2x> but I would
need to replace almost every method in World class
L1613[17:14:48] <williewillus> kashike:
oh?
L1614[17:14:51] <Ordinastie_> I don't
think so
L1615[17:15:06] <kashike> williewillus:
replaced with a minimised version of fastutil
L1617[17:15:17] <Ordinastie_> world don't
do much by itself, it delegates to the chunk
L1618[17:15:23] <kashike>
it.unimi.dsi:fastutil:7.0.12_mojang
L1619[17:15:28] <barteks2x> Ordinastie_,
how I wouldn't need to? getBlockState, setBlockState are just 2
examples of what I would need to replace
L1620[17:15:55] <Ordinastie_> why would
you need to replace that ?
L1621[17:16:00] <williewillus> damn
L1622[17:16:02] <ghz|lappy> desn't
getBlockState have a getChunkFromX?
L1623[17:16:05] <williewillus> all the
specializations
L1624[17:16:11] <masa> haha watching
etho's world tour episode... so apparently there is even more stuff
that is badly broken in 1.8 than I previously realized :D
L1625[17:16:13] <ghz|lappy> I don't have
the code in front of me right now
L1626[17:16:19] <masa> *1.9
L1627[17:16:29] <williewillus> like
what?
L1628[17:16:38] <barteks2x> Ordinastie_,
because instead of getting Chunk I would need to get Cube
L1629[17:16:43] <Ordinastie_> no
L1630[17:16:45] <williewillus> I know of
the portal teleport glitch, ice boats, eltra transparency
L1631[17:16:48] <williewillus> memory
leaks
L1632[17:16:52] <Ordinastie_> you would
get a chunk
L1633[17:16:52] <masa> hopper minecarts
don't pick up anything, isnane lag with nether portals at least
when teleporting mobs
L1634[17:16:52] <williewillus>
pathfinding lag
L1635[17:17:03] <ghz|lappy> woah,
Enderthing is picking up speed
L1636[17:17:13] <williewillus> what
version is he playing in?
L1637[17:17:16] <masa> 1.9.2
L1638[17:17:17] <ghz|lappy> one specific
version has has 450 downloads in 1 day
L1639[17:17:19] <barteks2x> Ordinastie_,
so how would it work? I don't understand your idea
L1640[17:17:24] <Ordinastie_> just it
would be yours, a nearly identical to the vanilla one, except for
it holds a height offset that shouldn't affect anything in the
chunk itself
L1641[17:17:27] <williewillus> oh the
1.9.3 pres fixed performance quite a bit
L1642[17:17:29] <williewillus> at least
for me
L1643[17:17:40] <williewillus> it's about
back to 1.8 levels
L1644[17:17:45] <williewillus>
*1.8.9
L1645[17:17:48] <masa> oh nice
L1646[17:18:09] ***
big_Xplosion is now known as big_Xplo|AFK
L1647[17:18:20] *
ghz|lappy hopes they release 1.9.3 soon
L1648[17:18:23] <masa> but even so, my
vanilla world won't ever be updated to 1.9, maybe 1.10 if they fix
stuff by then...
L1649[17:18:25] <Ordinastie_> ideally,
the only thing you would need to change is
getChunkFromBlockCoords() to return yours if y > 255 or <
0
L1650[17:18:33] <ghz|lappy> but at the
same time I don't want them to rush it, and have to make a 1.9.4
the next day
L1651[17:18:46] <ghz|lappy> although it's
going to happen either way
L1652[17:18:49] <Ordinastie_> and the
hardcoded heigh limitations everywhere obviously
L1653[17:18:50] <masa> yep :p
L1654[17:18:51] <barteks2x> Ordinastie_,
I still need to reimplement half of Chunk class because of skylight
etc. And 0-256 it hardcoded in many other places
L1655[17:18:51] <ghz|lappy> there WILL be
one bug or another...
L1656[17:18:53] <williewillus> my
"vanilla world" went modded a couple weeks ago
L1657[17:18:54] <williewillus> lol
L1658[17:19:02] <masa> ? :o
L1659[17:19:12] <williewillus> I hate
early game mc, and haven't been able to maintian a modded world
long since 1.4 because of that
L1660[17:19:27] <williewillus> so I just
added Botania, Psi, Quark, TiCo, JEI, and BM into my main world
:P
L1661[17:19:31] <barteks2x> So you are
essentiially suggesting to use array with height offset
right?
L1662[17:19:39] <ghz|lappy> earlygame
prevents you from having a long-lasting modded world?
L1663[17:19:51] <williewillus> i never
get beyond the starting stages of mods
L1664[17:19:54] <Ordinastie_> I don't
really know how skylight should be handled, but I'm confident that
would require way less changes than what you're doing
L1665[17:19:54] <williewillus> because I
hate resource gathering
L1666[17:20:00] <williewillus> / don't
have time
L1667[17:20:04] <ghz|lappy> oh
L1668[17:20:07] <Ordinastie_> and
wouldn't really impact performances
L1669[17:20:08] <williewillus> I already
have stuff built up in my main world
L1670[17:20:42] <Ordinastie_> what I
suggest is that the way chunks are handled in vanilla horizontally,
you use the same system vertically too
L1671[17:20:43] <ghz|lappy> skylight
means keeping track of a per-column heightmap on the server
L1672[17:20:47] <ghz|lappy> does it
not?
L1673[17:20:59] <Ordinastie_> ghz|lappy,
except you can't really do that
L1674[17:21:06] <ghz|lappy> which is the
whole issue
L1675[17:21:16] <barteks2x> serverside
lighting is mostly solved now
L1676[17:21:24] <masa> I'm waiting for
1.9 forestry, then I'll start a 1.9 modded server with more or less
forestry, c & b, BoP, tico, probably enderthing and ender
utilities
L1677[17:21:24]
⇦ Quits: Seppon (~Noppes@82-168-99-26.ip.telfort.nl) (Read
error: Connection reset by peer)
L1678[17:21:25] <barteks2x> client-server
synchronization is a major issue
L1679[17:21:37] <Ordinastie_> whatever
approach you do, you can't know if there is a block over unless
it's generated
L1680[17:21:40] <ghz|lappy> so you need
one heightmap per vertical chunk
L1681[17:21:58] <ghz|lappy> and and on
updates, scan down
L1682[17:22:05] <ghz|lappy> which woudl
be rather slow :/
L1683[17:22:17] <barteks2x> Ordinastie_,
I don't care about blocks that are not generated. It's up to world
generator to force generating these chunks with suprises in
them
L1684[17:22:19] <Ordinastie_> my approach
would be, consider the sky is clear if no block is present in the
chunk above
L1685[17:22:23] <masa> oh right and quark
and maybe btoania, I never got far in btoania in my 1.7.10 world
because I stopped playing altogether
L1686[17:22:25] <Ordinastie_> or 2 chunks
depending on performance
L1687[17:22:44] <ghz|lappy> yeah that'd
be a solution
L1688[17:22:46] <barteks2x> Ordinastie_,
and the you could make fully enclosed room that it lit inside
L1689[17:23:02] <Ordinastie_> yes, no way
around that
L1690[17:23:04] <ghz|lappy> barteks2x:
anything that's > 256 blocks above you, doesn't matter ;P
L1691[17:23:21] <ghz|lappy> in fact
L1692[17:23:24] <ghz|lappy> it would be
necessary
L1693[17:23:29] <Ordinastie_> and tbh,
that's a concern to adress only when you're done with the mod
L1694[17:23:34] <ghz|lappy> ifyou want to
generate "the aether" at +1000
L1695[17:23:39] <ghz|lappy> yo ucan't
have it produce shadows
L1696[17:24:00] <barteks2x> I can add
some height above which skylight doesn't work anymore
L1697[17:24:12] <ghz|lappy> assume any
block that's more than one vertical "span" away, doesn't
exist
L1698[17:24:28] <ghz|lappy> where one
span == a 256 block tall column
L1699[17:24:52] <ghz|lappy> for lighting
purposes, that is
L1700[17:24:54] <williewillus> i haven't
following have yall been suggesting we just "stack" the
existing kind of vanilla chunks one on top of another?
L1701[17:24:54] <Ordinastie_> ultimately,
you could store separately the 16x16 skymlight map in the world or
something
L1702[17:25:00] ***
LordFokas|out is now known as LordFokas
L1703[17:25:08] <barteks2x> Let me
explain how current skylight code works
L1704[17:25:14] <Ordinastie_> but that
would still not work for not yet generated chunks
L1705[17:25:19] <barteks2x> The one I use
now
L1706[17:25:33] <Ordinastie_> no
need
L1707[17:25:44] <Ordinastie_> I think
your global approach is wrong
L1708[17:26:49] <barteks2x> Any other
approach is also wrong because it produces results that are not
even close to something reasonable
L1709[17:27:07] <Ordinastie_> what I
describe is perfectly reasonable
L1710[17:27:20] <ghz|lappy> yeh
L1711[17:27:21] <ghz|lappy> IMO
L1712[17:27:29] <ghz|lappy> that should
be part of the world description
L1713[17:27:30] <PaleoCrafter> I wonder,
how are you going to cope with BlockPos.toLong? :P
L1714[17:27:31] <barteks2x> that you can
have room that is fully enclosed with full skylight inside?
L1715[17:27:35] <ghz|lappy> ming height,
max height
L1716[17:27:38] <ghz|lappy> open top,
open bottom
L1717[17:27:41] <Ordinastie_> land high
enough shouldn't cast shadow anyway
L1718[17:28:09] <ghz|lappy> if open top,
assume anything without a block above itself in this span or the
one above, is full sky
L1719[17:28:18] <ghz|lappy> if closed
top
L1720[17:28:22] <ghz|lappy> assume
dark
L1721[17:28:31] <ghz|lappy> nether is
closed top, for example
L1722[17:28:42] <barteks2x> I would say
closed bottom, open top is a reasobable idea
L1723[17:28:43] <ghz|lappy> aether is
open top AND open bottom
L1724[17:28:49] <ghz|lappy> while
overworld is closed bottom
L1725[17:28:54] <williewillus>
PaleoCrafter: does that assume 255 :P
L1726[17:29:13] <PaleoCrafter> not
really, but you only have so many bits left for the y value
:P
L1727[17:29:14] <Ordinastie_> what does
open/close even mean here ?
L1728[17:29:19] <Ordinastie_> it means
nothing
L1729[17:29:23] <ghz|lappy> means
"assume dark"
L1730[17:29:29] <ghz|lappy> means if you
go under, it shows black fog
L1731[17:29:33] <ghz|lappy> etc
L1732[17:29:55] <ghz|lappy> if you were
to declare a dimension that is closed top
L1733[17:29:59] <ghz|lappy> but 1000
blcoks tall
L1734[17:30:07] <ghz|lappy> you don't
WANT the skylight to be max, at any point
L1735[17:30:09] <PaleoCrafter> 14 bits,
to be precise, and that is not much, I'd say
L1736[17:30:15] <Ordinastie_> ah
L1737[17:30:45] <barteks2x> It's used in
exactly 2 places
L1738[17:31:16] <ghz|lappy> so "open
top" means "assume sky if nothing is within the span or
the one above", while "closed top" means "don't
search, assume no sky"
L1739[17:31:18] <barteks2x> I can write 3
ints instead in packet stuff, and for end portal - let it
break
L1740[17:31:32] <ghz|lappy> that's the
approach I'd use, right now
L1741[17:31:52] <ghz|lappy> (but it's
late and I'm tired, so there may be even better options)
L1742[17:31:56] <Ordinastie_> ghz|lappy,
yes, but that wasn't the question
L1743[17:31:59] <barteks2x> I still need
something to keep track of skylight in the area between
L1744[17:32:09] <ghz|lappy> I'd have a
heightmap per span
L1745[17:32:17] <Ordinastie_> the
question was if you manually put a ceiling at 10000
L1746[17:32:22] <ghz|lappy> keep one for
each 256 block range
L1747[17:32:24] <Ordinastie_> or an
island generates here
L1748[17:32:31] <ghz|lappy> yeahthat'd be
invisible
L1749[17:32:52] <ghz|lappy> as I said: if
I declare a dimension that has overworld at 0, and the aether at
1000, I don't wnat the aether to cast shadows
L1750[17:33:13] <barteks2x> that can be
done with slight changes to current lighting code
L1751[17:33:25] <Ordinastie_> but if you
build a big box, you'd expect to be in the dark
L1752[17:33:33] <Ordinastie_> there is
real solution for that
L1753[17:33:34] <barteks2x> by simply
ignoring everything above certain height
L1754[17:33:43] <ghz|lappy> so I'd keep
"heightmap" and "depth map" per vertical
span
L1755[17:33:44] <Ordinastie_> that a bad
solution
L1756[17:33:59] <ghz|lappy> allowing
something 1000 blocks away to cast shadows
L1757[17:34:07] <ghz|lappy> implies that
if you break one block at 10000
L1758[17:34:15] <ghz|lappy> you have to
SCAN DOWN until you find another block
L1759[17:34:23] <barteks2x> you don't if
you are clever
L1760[17:34:26] <ghz|lappy> without a
multi-level data structure such as a sparse octree
L1761[17:34:31] <ghz|lappy> that's
hellish
L1762[17:34:40] <barteks2x> That's close
to what I have now
L1763[17:35:06] <barteks2x> I explained
that OpacityIndex before, that's what keeps track of
heightmap
L1764[17:35:31] <barteks2x> getting
heightmap is essentially O(1)
L1765[17:35:48] <barteks2x> with O(logn)
average case overhead when setting blocks
L1766[17:35:49] <ghz|lappy> how does the
heightmap get updated when you remove a block?
L1767[17:36:06] <ghz|lappy> adding ablock
is easy just set the cell to the height, the costly part is
removal
L1768[17:36:12] <Ordinastie_> anyway,
skylighting is an issue to handle when everything else already
works imo
L1769[17:36:16] <barteks2x> let me
explain how OpacityIndex works...
L1770[17:37:40]
⇦ Quits: Samario
(~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net) (Quit: See
ya.)
L1771[17:38:01] <barteks2x> It has array
of 256 arrays of ints, each array for one x/z coord in a Chunk. And
each of thise arrays stores "compressed" opacity values.
It basically stores Y positions at which opacity changes between
opaque and transparent. And it technically can be offloaded to disk
while storing only a few top entries in memory
L1772[17:38:41] <barteks2x> Updating this
thing is hell, but it works
L1773[17:39:09]
⇦ Quits: minot
(~minot@pool-108-35-29-135.nwrknj.fios.verizon.net) (Quit:
Leaving)
L1774[17:41:08] <barteks2x> Maybe I'm
just trying to make everything too perfect, but I just can't force
myself to write something that I know from the beginning is
broken
L1775[17:42:50]
⇦ Quits: KGS (~KGS@h-155-4-135-249.na.cust.bahnhof.se) (Ping
timeout: 198 seconds)
L1776[17:42:53] ***
MrKickkiller is now known as MrKick|Away
L1777[17:48:03] ***
kroeser is now known as kroeser|away
L1778[17:48:04] ***
williewillus is now known as willieaway
L1779[17:52:26]
⇦ Quits: KnightMiner (~KnightMin@68.255.6.227) (Ping timeout:
198 seconds)
L1780[17:53:20]
⇨ Joins: CoolSquid
(~CoolSquid@ti0011a400-2417.bb.online.no)
L1781[17:55:02]
⇦ Quits: Poppy (~Poppy@chello085216146055.chello.sk) (Ping
timeout: 190 seconds)
L1782[17:57:11]
⇨ Joins: KnightMiner
(~KnightMin@adsl-68-255-6-227.dsl.emhril.sbcglobal.net)
L1783[17:58:01]
⇨ Joins: Poppy
(~Poppy@chello085216146055.chello.sk)
L1784[17:59:56] <barteks2x> JVM optimizes
my code in such way that it completely confuses sampler
L1785[17:59:57] ***
Darkhax_AFK is now known as Darkhax
L1786[18:05:36]
⇨ Joins: minot
(~minot@pool-108-35-29-135.nwrknj.fios.verizon.net)
L1787[18:10:28] ***
PaleoCrafter is now known as PaleOff
L1788[18:10:32]
⇨ Joins: VikeStep (~VikeStep@101.184.243.180)
L1789[18:15:42]
⇦ Quits: DebugsPeople
(~DebugsPeo@2a02:810d:95c0:880:61a4:4533:e6ba:fba3) (Ping timeout:
190 seconds)
L1790[18:20:28] ***
LordFokas is now known as LordFokas|out
L1791[18:22:26]
⇦ Quits: minot
(~minot@pool-108-35-29-135.nwrknj.fios.verizon.net) (Ping timeout:
201 seconds)
L1792[18:22:54]
⇨ Joins: minot
(~minot@pool-108-35-29-135.nwrknj.fios.verizon.net)
L1793[18:26:19]
⇦ Quits: ghz|lappy
(~gigaherz@190.red-79-144-13.dynamicip.rima-tde.net) (Remote host
closed the connection)
L1794[18:30:04] <PitchBright> I'm
watchin' a tutorial on minecraft modding… it's a tutorial for
setting up (for Mac)… in the vid the guy says to download Java 7,
not 8, because forge doesn't work witih Java 8… (video is dated
Jan/16)...
L1795[18:30:33] <Ordinastie_> that's
BS
L1796[18:30:57] <PitchBright> I'm
resetting my stuff up because it's been years… and when he said
that… it through me off, because the impetus for the update and
resetting up was to go to Java 8
L1797[18:31:03] <PitchBright> oh okay…
thanks Ordinastie_
L1798[18:31:08] <PitchBright> it sounded
weird to me
L1799[18:32:02] <PitchBright> the reason
I'm trying to go to Java 8 is because I'm trying to use
ForgeEssentials API… and it uses Mixins which I know nothing about…
and for some reason… i'm under the impressing Sponge Mixin needs
Java 8…
L1800[18:32:27] <Ordinastie_> you should
use Java 8 either way
L1801[18:32:27] <PitchBright> just based
on googling the errors i was getting in eclipse
L1802[18:32:47] <PitchBright> okay cool…
I'll see if I can get my head around all this stuff
L1803[18:32:55] <PitchBright>
thanks!
L1804[18:39:29]
⇦ Quits: Stiforr (~Stiforr@ip72-216-8-185.pn.at.cox.net)
(Quit: Leaving)
L1805[18:41:23] ***
willieaway is now known as williewillus
L1806[18:43:42]
⇦ Quits: KnightMiner
(~KnightMin@adsl-68-255-6-227.dsl.emhril.sbcglobal.net) (Ping
timeout: 190 seconds)
L1807[18:52:02]
⇦ Quits: stiforr_ (~stiforr@ip72-216-8-185.pn.at.cox.net)
(Ping timeout: 201 seconds)
L1808[18:53:43] ***
cpw|out is now known as cpw
L1809[18:54:08]
⇦ Quits: Temportalist
(uid37180@2604:8300:100:200b:6667:3:0:913c) (Quit: Connection
closed for inactivity)
L1810[18:54:46]
⇦ Quits: Ordinastie_
(~Ordinasti@87-231-58-94.rev.numericable.fr) (Quit:
Leaving)
L1811[19:00:16]
⇦ Quits: raoulvdberge
(uid95673@id-95673.richmond.irccloud.com) (Quit: Connection closed
for inactivity)
L1812[19:00:45] <Zaggy1024> is there a
doc on the updated PlayerInteractEvent?
L1813[19:01:34] <williewillus> yes
L1814[19:01:35] <williewillus> me
L1815[19:01:35] <Zaggy1024> trying to
figure out why the server is receiving a use packet for the off
hand
L1816[19:01:37] <williewillus> for now
:P
L1817[19:01:40] <Zaggy1024> heh
L1818[19:01:57] <williewillus> what are
you trying to do / whats happening / code :P
L1819[19:02:09]
⇦ Quits: Jezza (~Jezza@92.206.5.6) (Read error: Connection
reset by peer)
L1820[19:02:20] <Zaggy1024> trying to
replace flower pots with my mod's version of a flower pot
L1821[19:02:27] <Zaggy1024> when they're
empty
L1822[19:02:33] <HassanS6000> When using
NBT in 1.9 for Items, what method should I use to set the default
values for all of my nbt tags?
L1823[19:02:39] <HassanS6000> onCreated
isn't called
L1824[19:03:02] <Zaggy1024> when I right
click with a flower it does the event properly on the client,
places my flower pot with the flower in it
L1825[19:03:35] <Zaggy1024> but then the
server sends a block update to tell the client that the flower
isn't actually in it
L1826[19:03:42] <Zaggy1024> (sorry, was a
bit distracted :P)
L1827[19:03:47] ***
DRedhorse is now known as DonAway
L1828[19:04:06] <Zaggy1024> the server
side is sending RightClickBlock with the off hand so the flower is
null
L1829[19:04:11] <Zaggy1024> not sure
why
L1830[19:05:06] <williewillus> can you
send me code
L1831[19:05:15] <Zaggy1024> sure
L1832[19:05:17] <williewillus> just so I
can try to repro
L1834[19:05:55]
⇨ Joins: Amaxter
(~Mutter@c-73-180-131-17.hsd1.dc.comcast.net)
L1835[19:06:06] <Zaggy1024> server side
fails at if (stack == null)
L1836[19:06:08]
⇨ Joins: KnightMiner
(~KnightMin@adsl-68-255-6-227.dsl.emhril.sbcglobal.net)
L1837[19:06:22] <Zaggy1024> ignore the
comments, they're from when PIE was crap :P
L1838[19:06:44] <williewillus> you should
probably cancel the event ;P
L1839[19:06:51] <williewillus> (its
commented out rn)
L1840[19:07:03] <Zaggy1024> I tried it
with those uncommented and it did the same thing
L1841[19:07:19] <Zaggy1024> at least I
think it did the same thing, don't think I debugged it with that
enabled
L1842[19:07:56] <Zaggy1024> yeah, it's
using OFF_HAND that way too
L1843[19:08:08] <Zaggy1024> wait, do you
mean setUseBlock and setUseItem?
L1844[19:08:26] <Zaggy1024> ah crap
L1845[19:08:29] <williewillus> canceling
sets those two to deny automatically so thats not it
L1846[19:08:36] <Zaggy1024> setCanceled
works
L1847[19:08:50] <Zaggy1024> I had assumed
setCanceled would cancel sending the use packet
L1848[19:09:08] <williewillus> that was a
complaint with the old pie, so I changed it in making the new
one
L1849[19:09:28] <williewillus> client and
server don't interfere with each other anymore, which is a
tradeoff
L1850[19:09:39] <williewillus> but given
how confused multiple people have gotten over that
L1851[19:09:48] <williewillus> i decided
it was a better choice to have them act independently
L1852[19:10:10] <Zaggy1024> wait but if
it's canceled it returns PASS...
L1853[19:10:18] <Zaggy1024> won't that
make the off hand use as well?
L1854[19:10:58] <williewillus> oh yeah, I
actually don't remember this specific case, it doesn't return
immediately for some cases
L1855[19:11:24] <Zaggy1024> yeah if I
equip a log in my off hand and a plant in my main, it places the
flower in the flower pot and then places a log off the sideof
it
L1856[19:11:29] <Zaggy1024> so that
doesn't really work...
L1857[19:12:12] <Zaggy1024> is there any
solution to that?
L1858[19:13:00] <Zaggy1024> it looks like
because the flowers are ItemBlock it'll never reach
CPacketPlayerTryUseItem
L1859[19:13:10] <Zaggy1024> so this
doesn't work :[
L1860[19:14:06] <SatanicSanta> were the
PlayerUseItemEvent.Tick/Finish/Stop events completely removed, or
replaced by s/t?
L1861[19:14:17] <SatanicSanta> (post
1.7)
L1862[19:14:41] <williewillus> all the
edge cases =.=
L1863[19:15:20] <Zaggy1024> I think what
needs to be done is have the event have a field actionResult or
something
L1864[19:15:30] <Zaggy1024> if that !=
PASS return that
L1865[19:15:53] <williewillus>
where?
L1866[19:16:06] <Zaggy1024>
PlayerControllerMP.processRightClickBlock
L1867[19:16:23] <Zaggy1024> (after
sending the TryUse)
L1868[19:16:29]
⇨ Joins: Girafi
(~Girafi@0x555178eb.adsl.cybercity.dk)
L1869[19:17:15]
⇨ Joins: stiforr_
(~stiforr@184.sub-97-35-128.myvzw.com)
L1870[19:17:28] <williewillus> lol I
think I got something like it to work
L1871[19:17:33] <Zaggy1024> oh?
L1872[19:17:43] <Zaggy1024> what do you
mean? no changes to the event handling?
L1874[19:20:10] <Zaggy1024> how is that
any different than my handler that didn't cancel anything?
L1875[19:20:18] <Zaggy1024> I'm not sure
what I should change >.>
L1876[19:20:46] <williewillus> idk
:P
L1877[19:21:23] <williewillus> just tried
with a block in offhand too and it seemed to not glitch out
L1878[19:21:45] <Zaggy1024> are you
standing in the way of the block that would be placed?
L1879[19:22:01] <williewillus> no
L1880[19:23:13] <Zaggy1024> oh
L1881[19:23:20] <Zaggy1024> that's
because onBlockActivated is being called
L1882[19:23:43] <Zaggy1024> you need the
handler to look for a held stack that isn't going to be handled by
the flower pot
L1883[19:24:46] <williewillus> same
result with ender pearl
L1884[19:25:41] <williewillus> same with
block in off
L1885[19:26:23] <Zaggy1024> ender pearl
isn't an ItemBlock
L1886[19:26:46]
⇦ Quits: auenf (David@DC-53-50.bpb.bigpond.com) (Remote host
closed the connection)
L1887[19:26:54] <Zaggy1024>
PlayerControllerMP does "instanceof ItemBlock"
L1888[19:27:11] <williewillus> okay just
did it with grass
L1889[19:27:15] <williewillus> w same
results
L1890[19:27:24] <Zaggy1024> ugh
L1891[19:27:29] <Zaggy1024> okay let me
debug it a bit more
L1892[19:27:45]
⇨ Joins: auenf (David@DC-53-50.bpb.bigpond.com)
L1893[19:30:01]
⇦ Quits: Gigabit101
(~Gigabit10@cpc76302-cosh16-2-0-cust475.6-1.cable.virginm.net)
(Quit: Leaving)
L1894[19:30:13]
⇨ Joins: Gigabit101
(~Gigabit10@cpc76302-cosh16-2-0-cust475.6-1.cable.virginm.net)
L1895[19:31:22] <Zaggy1024> if I don't
cancel the event it places the flower off the side of the flower
pot
L1896[19:31:55] <Zaggy1024> with grass
make sure you're right clicking the side of the flower pot, not the
top
L1897[19:32:27] <Zaggy1024> although if
the item use fails then it just places a log on top
L1898[19:34:20] <Zaggy1024> I'm almost
absolutely sure the only way this will work without being dependent
on things outside the event itself is to allow the event to return
its own EnumActionResult
L1899[19:35:25] <Zaggy1024> currently
AFAIK there's no way to indicate in the event that I've done
something and all other interactions should immediately stop, but
the server should be told about it
L1900[19:36:39] <williewillus> i still
can't repro what youre talking about :/
L1901[19:36:47] <williewillus> same
eventhandler i just pasted, except replace flower with grass
L1902[19:36:51] <williewillus> right
clicking on flower pot
L1903[19:37:06] <williewillus> replaces
with runic altar, then adds he grass to the runic altar
L1904[19:37:16] <Zaggy1024> wtf?
L1905[19:37:21] <Zaggy1024> adds the
grass to the runic altar?
L1906[19:37:30] <Zaggy1024> it shouldn't
be doing anything after it replaces with the runic altar...
L1907[19:37:31] <williewillus> that's the
altar's onBlokcActivated
L1908[19:37:38] <williewillus> because i
didn't tell it to not do it
L1909[19:37:52] <Zaggy1024> that's the
reason why it's working for you
L1910[19:37:59] <Zaggy1024> because your
onBlockActivated is what's returning SUCCESS
L1911[19:38:01] <Zaggy1024> not the
event
L1912[19:38:02]
⇦ Quits: OscarXcorePhone
(uid157529@2604:8300:100:200b:6667:4:2:6759) (Quit: Connection
closed for inactivity)
L1913[19:38:20] <williewillus> letting
the event define its own enumactionresult complicates things but
I'll look at it when i have time
L1914[19:38:24] <williewillus> it's
really a mess
L1915[19:39:03] <Zaggy1024> I think it's
just as simple as copying the code involving isCanceled and making
it return the event's result
L1916[19:39:09] <Zaggy1024> if it's not
PASS
L1917[19:39:42] <Zaggy1024> but for now I
suppose I can make onBlockActivated return PASS to make this
work
L1918[19:39:59] <williewillus> yeah I see
it
L1919[19:40:12] <williewillus> shouldnt
be too hard
L1920[19:40:34] <Zaggy1024> oog gonna
have to copy paste some code, that makes me sad
L1921[19:40:42]
⇦ Quits: PitchBright
(~PitchBrig@CPE00fc8d8a3ce3-CM00fc8d8a3ce0.cpe.net.cable.rogers.com)
(Quit: brb)
L1922[19:43:24]
⇨ Joins: PitchBright
(~PitchBrig@CPE00fc8d8a3ce3-CM00fc8d8a3ce0.cpe.net.cable.rogers.com)
L1923[19:43:39]
⇦ Quits: KnightMiner
(~KnightMin@adsl-68-255-6-227.dsl.emhril.sbcglobal.net) (Ping
timeout: 186 seconds)
L1924[19:43:58] <Zaggy1024> heh, actually
it's not so bad
L1925[19:44:06] <Zaggy1024> hopefully
nothing breaks though
L1926[19:44:42]
⇦ Quits: Amaxter
(~Mutter@c-73-180-131-17.hsd1.dc.comcast.net) (Remote host closed
the connection)
L1927[19:44:52] <williewillus> well
actually it's a more general problem
L1928[19:45:12] <williewillus> if you
cancel an event clientside it continues to all the other
interactions because its all just in a giant series
L1929[19:45:30] <barteks2x> I'm going to
rewrite the whole GeneratorPipeline in cubic chunks to use events
instead of rechecking everything each tick. That should fix some of
the performance issues caused by it.
L1930[19:45:35] <williewillus> i couldn't
decide on whether to quit entirely or continue to other
interactions, so I probably picked wrong :P
L1931[19:46:43]
⇦ Quits: OscarXcore
(~Oscar@node-1w7jr9yc9viurrxo4vpiomidi.ipv6.telus.net) (Quit: I am
leaving.)
L1932[19:47:33] <Zaggy1024> I think
canceling is proper, and pass may be proper as well
L1933[19:47:49] <williewillus> what do
you mean proper
L1934[19:48:02] <Zaggy1024> I mean
canceling the interactions
L1935[19:48:03] <williewillus> I'm
talking in the general case of all the PIE subevents
L1936[19:48:16] ***
kroeser|away is now known as kroeser
L1937[19:48:20] <Zaggy1024> hm
L1938[19:48:24] <Zaggy1024> not sure what
you mean then
L1939[19:48:38] <Zaggy1024> what I see in
processRightClickBlock looks fine for canceling
L1940[19:48:59] <Zaggy1024> stops the one
hand from interacting, seems like what canceling should do
L1941[19:49:04] <williewillus> the game
does this: try specific entity interacting. no? try entity
interacting. no? try rcb interacting. no? try rci interacting. no?
try other hands
L1942[19:49:17] <williewillus> I made the
event simply answer "no" when canceling
L1943[19:49:21] <williewillus> vs
stopping the entire chain
L1944[19:49:31] <Zaggy1024> yeah, I think
that's fine
L1945[19:49:42] <williewillus> that's
what causes your problem :P
L1946[19:49:47] <Zaggy1024> if you want
to cancel a whole hand then catch PlayerInteractEvent and check
hand and held item
L1947[19:49:50] <Zaggy1024> then it
cancels all that crap
L1948[19:49:51] <williewillus> is that it
doesn't terminate the chain it keeps going
L1949[19:49:59] <Zaggy1024> yeah, that's
fine IMO
L1950[19:50:08] <Zaggy1024> the event is
only for the specific type of interaction
L1951[19:51:07] <Zaggy1024> but if you
have interact(PlayerInteractEvent event) { if
(event.getStack().getItem() == Items.prohibited_main &&
event.getHand() == EnumHand.MAIN_HAND) event.setCanceled(true);
}
L1952[19:51:14] <Zaggy1024> then it just
cancels all the interacts for that hand
L1953[19:51:22] <Zaggy1024> so that would
be the way to "stop the chain"
L1954[19:51:45] <williewillus> i mean
there's no clean solution to your situation due to how i designed
it that way haha
L1955[19:51:53] <williewillus> i just
wish mc had a sane interaction system -.-
L1956[19:52:49] <Zaggy1024> seems sane to
me
L1957[19:52:54] <Zaggy1024> well, sane
enough
L1958[19:52:58] <williewillus> :P
L1959[19:53:20] <Zaggy1024> and the clean
solution is just what I said, having a way to make the event return
a result from the rcl function
L1960[19:53:37] <Zaggy1024> that way you
can tell the game "hey, I did something, so stop!"
L1961[19:54:28] <williewillus> i mean
that's basically a way to stop the chain, and I would feel like
having to add "stop the chain" solutions to every other
event for consistency ;p
L1962[19:54:50] <williewillus> i'll see
what I can come up with
L1963[19:56:04] <Zaggy1024> hmm
L1964[19:57:35] <Zaggy1024> yeah entity
interaction should probably be the same
L1965[19:57:43] <Zaggy1024> but that
means the patch will be bigger so that's lame
L1966[19:57:54] ***
kroeser is now known as kroeser|away
L1967[19:59:04] <barteks2x> uh... why I
can't think of any short names for my classes.
ICubeGenerationStateProcessor, ICubeGenerationState,
ICubeGenerationStateProperty...
L1968[20:00:09] <williewillus> well
theres a common prefix in all of them
L1969[20:00:23] <williewillus> so throw
it in a package and drop the prefix maybe? :D
L1970[20:00:56] <barteks2x> and I just
realized that my GenerationStates are going to be very similar to
IBlockStates...
L1971[20:01:23] <Zaggy1024> if they could
be nested classes the prefix could be shared but IMO a package
doesn't really work for that
L1972[20:01:36] <Zaggy1024> wait
what?
L1973[20:01:40] <Zaggy1024> what are
they?
L1974[20:02:34] <barteks2x> I want to
rewrite cubic chunks generation pipeline to make it work properly,
and I need some more advanced way to keep track of cube generation
state, especially when it can be sent to client
L1975[20:03:19] <barteks2x> for example
there are 256 possible combinations of population states
L1976[20:03:39]
⇨ Joins: Doty1154
(~Doty1154@2601:648:8000:134f:59d0:34db:bc4f:31c6)
L1977[20:04:53] ***
williewillus is now known as willieaway
L1978[20:06:07]
⇨ Joins: cppchriscpp
(~cppchrisc@c-76-24-45-127.hsd1.nh.comcast.net)
L1979[20:06:22] <barteks2x> and before
someone tells me to do it the same way vanilla does it, vanilla way
is broken, and is even more broken when used with cubic
chunks
L1980[20:11:10] <SatanicSanta> !gp
BlockPistonBase.canPush.p_185646_4_
L1981[20:21:35] <ven000m> You're going to
MINECON 2016!
L1982[20:25:26] <Zaggy1024> I am?
L1983[20:26:06]
⇦ Quits: Drullkus
(~Dru11kus@c-67-180-188-243.hsd1.ca.comcast.net) (Remote host
closed the connection)
L1984[20:28:06]
⇨ Joins: Naiten (Naiten@77.35.29.220)
L1985[20:30:02] <Zaggy1024> willie, lemme
know when you have something to test, I can test it on my mod
L1986[20:30:03]
⇨ Joins: KnightMiner
(~KnightMin@adsl-68-255-6-227.dsl.emhril.sbcglobal.net)
L1987[20:36:00]
⇨ Joins: SinbadEV
(~SinbadEV@CPEbc4dfb6d3393-CMbc4dfb6d3390.cpe.net.cable.rogers.com)
L1988[20:36:03] <SatanicSanta> !sp
p_185646_4_ destroyBlocks Whether the piston will be able to break
blocks
L1989[20:36:18] *
SinbadEV arrives!
L1990[20:38:00]
⇦ Quits: Hea3veN (~Hea3veN@190.247.149.195) (Ping timeout:
384 seconds)
L1991[20:41:06] <barteks2x> Is it
possible that the way jenkins clones git repository somehow
resotres tags I have deleted?
L1992[20:41:30] <SinbadEV> Hey! Trying to
mod Minecraft for the first time... figured I start with the most
recent advances so forge-1.9-12.16.1.1891... running into the
problem that tutorials seem to assume older versions... so
lot
L1993[20:42:29] <SinbadEV> 's of
collecting info from different places... is there a good
forge-1.9-12.16.1.1891 aware basic tutorial (I've gotten as far as
successfully adding a recipe)
L1994[20:43:03] <SatanicSanta> I mean
it's only had a recommended build for like 2 days
L1995[20:43:10] <SatanicSanta> a lot of
the 1.8 stuff applies to 1.9
L1996[20:43:40] ***
Flenix is now known as SleepyFlenix
L1997[20:43:43] <SinbadEV> My current
strategy is to play punk music really loud to drown out my
swearing...
L1998[20:44:33] <unascribed> here's a
summary of the changes in recent versions, so you have an idea of
what's still applicable from old tutorials
L1999[20:44:48] <unascribed> 1.7 ->
1.8: Direct GL access removed, IIcon removed. Everything is now
done with models
L2000[20:45:03] <unascribed> 1.8 ->
1.9: Item cooldowns and minor changes to models to support
off-hand
L2001[20:45:58] <unascribed> there are a
*lot* of tutorials available for 1.7, so you may want to start
there and work your way up to 1.9 with primers and such that are
designed for people who already know how to mod
L2002[20:47:07] <unascribed>
alternatively, you can try to learn modding directly by looking at
other mods and vanilla code
L2003[20:47:11]
⇦ Quits: brandon|zzz (~Brandon@122.129.140.1) (Read error:
Connection reset by peer)
L2004[20:47:15] <unascribed> and asking
questions here when you hit a wall
L2005[20:48:09]
⇨ Joins: brandon3055 (~Brandon@122.129.140.1)
L2006[20:48:13] <unascribed> if simply
trying to find 1.9 docs is making you swear a lot though, that's
probably even worse :P
L2007[20:50:19] <SinbadEV> I don't
know... the most progress I made was by looking at the MDKExample
examplemod and figuring out what was different from the tutorial I
was trying to follow... working code might help.
L2008[20:50:31] <unascribed> there's a
lot of open source mods
L2009[20:51:00] <unascribed>
williewillus' Botania port has sort of become the de-facto
reference material for being the "first" complex mod to
get ported to 1.8
L2010[20:51:06] <unascribed> there's
examples of almost everything in there
L2011[20:51:34] <SinbadEV> Sound
promising...
L2014[20:52:21] <barteks2x> WTF? When my
jenkins server clones my repository it ends up with tags that I
have deleted, when I execute exactly the same commands locally - it
works normally
L2015[20:52:38] <unascribed> iirc pull
doesn't update tags by default
L2016[20:52:42] <unascribed> you'll need
to use --tags
L2017[20:53:03] <unascribed> you could
also just nuke the workspace and let it recreate everything
L2018[20:53:08] <barteks2x> I deleted the
whole git repository on jenkins server to make sure no files are
left from prefious versions
L2019[20:53:22] <barteks2x> So yes, I
already nuked the workspace
L2020[20:53:27] <unascribed> are you sure
you updated the remote with your tags?
L2021[20:53:34] <barteks2x> yes, I cloned
it again locally
L2022[20:53:37] <unascribed> Git doesn't
accept deletions without a --force
L2023[20:53:45] <SinbadEV> Oooh...
eclipse knows how to get stuff from git... nice
L2024[20:53:49] <barteks2x> I deleted
them from github
L2025[20:53:54] <Matthew> 2.1 GHz gpu.
damn
L2026[20:53:58] <barteks2x> using the web
interface
L2027[20:54:09] <unascribed> fair warning
SinbadEV, Eclipse's Git integration is semi-awful in places
L2028[20:54:14] <unascribed> I strongly
recommend learning how to use Git directly
L2029[20:54:58] <unascribed> plus, direct
git is the only way to use GPG and Ed25519 keys
L2030[20:55:00] <barteks2x> And I need
these tags to not exist for version numbers to work
L2031[20:56:38] <barteks2x> oh, wait. rm
-rf * doesn't delete hidden files
L2032[20:56:56] <barteks2x> WHY
L2033[20:57:45] <unascribed> .* will
delete hidden files
L2034[20:58:01] <unascribed> you could
also use the Jenkins "Wipe Out Workspace" button :L
L2035[20:58:43] <barteks2x> I can't find
anything in the jenkind web interface
L2036[20:59:31] <barteks2x> the fact that
it's half-english and half whatever language I use doesn't
help
L2037[21:00:06]
⇦ Quits: stiforr_ (~stiforr@184.sub-97-35-128.myvzw.com)
(Ping timeout: 384 seconds)
L2038[21:00:12]
⇦ Quits: sinkillerj
(~sinkiller@nc-67-232-14-71.dhcp.embarqhsd.net) (Quit:
またね)
L2039[21:02:52] <barteks2x> finally
correct version number, 1.9-0.0.97.0
L2040[21:04:38]
⇦ Quits: Sprocks
(~Sprocks@BMTNON3746W-LP130-05-1176475207.dsl.bell.ca) (Ping
timeout: 384 seconds)
L2041[21:05:54]
⇨ Joins: Sprocks
(~Sprocks@BMTNON3746W-LP130-05-1176475167.dsl.bell.ca)
L2042[21:07:46]
⇦ Quits: Naiten (Naiten@77.35.29.220) (Read error: Connection
reset by peer)
L2043[21:19:27]
⇨ Joins: stiforr_
(~stiforr@124.sub-97-35-129.myvzw.com)
L2044[21:26:33]
⇨ Joins: Drullkus
(~Dru11kus@2601:646:8301:8947:305b:1df:f546:3c00)
L2045[21:31:26]
⇦ Quits: Drullkus
(~Dru11kus@2601:646:8301:8947:305b:1df:f546:3c00) (Ping timeout:
198 seconds)
L2046[21:36:34] ***
kirby|gone is now known as mrkirby153
L2047[21:37:53]
⇦ Quits: Doty1154
(~Doty1154@2601:648:8000:134f:59d0:34db:bc4f:31c6) (Read error:
Connection reset by peer)
L2048[21:39:06] ***
willieaway is now known as williewillus
L2049[21:44:22]
⇦ Quits: CoolSquid (~CoolSquid@ti0011a400-2417.bb.online.no)
(Ping timeout: 190 seconds)
L2050[21:50:44]
⇨ Joins: OscarXcore
(~Oscar@node-1w7jr9yc9viurrxo4vpiomidi.ipv6.telus.net)
L2051[22:01:34]
⇨ Joins: OscarXcorePhone
(uid157529@2604:8300:100:200b:6667:4:2:6759)
L2052[22:05:38]
⇦ Quits: Poppy (~Poppy@chello085216146055.chello.sk) (Ping
timeout: 198 seconds)
L2053[22:06:34]
⇨ Joins: Zorn_Taov
(~Greenfox@c-71-198-205-107.hsd1.ca.comcast.net)
L2054[22:06:54] <Zorn_Taov> anyone know
of a tutorial for adding sounds to 1.9 for mods?
L2055[22:09:52]
⇨ Joins: killjoy1 (~killjoy@71.65.255.183)
L2056[22:10:13]
⇨ Joins: Firedingo|AFK
(~Firedingo@CPE-121-217-142-167.lnse2.cht.bigpond.net.au)
L2057[22:10:34] <Nosirrom> wouldn't you
just override all the methods which return a SoundEvent?
L2058[22:10:56]
⇨ Joins: Wastl2
(~Wastl2@x4e350de5.dyn.telefonica.de)
L2059[22:12:48] <Zorn_Taov> I mean adding
in new sounds
L2060[22:13:41] <tterrag>
sounds.json
L2061[22:13:43] <tterrag> I don't think
it's changed
L2062[22:13:57] <Zorn_Taov> but what
about accessing the sounds
L2063[22:14:07] <Zorn_Taov> resource
location?
L2064[22:14:19] <tterrag> probably
L2065[22:14:56] <killjoy1> ISound
thing
L2066[22:15:01] <killjoy1> use the
soundmanager
L2067[22:15:41] <killjoy1> I haven't done
1.9 sound, but in 1.8, it's using that
L2068[22:17:07] <SatanicSanta> killjoy1:
IIRC ISound is just for clientside sounds
L2069[22:17:17] <SatanicSanta> otherwise
you need to use SoundEvents
L2070[22:17:37] <Zorn_Taov> looks like I
need SoundEvents.registerSound
L2071[22:18:14]
⇦ Quits: Lathanael|Away
(~Lathanael@p54960050.dip0.t-ipconnect.de) (Ping timeout: 198
seconds)
L2072[22:18:22] <Zorn_Taov> or
something
L2074[22:18:58] <Zorn_Taov> \o/
L2075[22:19:03]
⇨ Joins: baegmon
(~baegmon@CPE-60-225-55-120.nsw.bigpond.net.au)
L2076[22:19:06] <Zorn_Taov> thank
you
L2077[22:19:19]
⇨ Joins: tali713
(~user@2601:444:8200:c7d:5d6:6e26:2a24:5ba8)
L2078[22:19:58] ***
Alex_hawks is now known as Alex_hawks|Away
L2079[22:24:27] <killjoy1> does anyone
know if 1.9.2 -> 1.9.3 is protocol stable?
L2080[22:24:46]
⇨ Joins: Lathanael|Away
(~Lathanael@p54961CF5.dip0.t-ipconnect.de)
L2081[22:25:18] <killjoy1> nope. looks
like it was increased by 1
L2082[22:26:41] <williewillus> what
changes?
L2083[22:26:58] <killjoy1> There's no
page on it.
L2085[22:27:33] <killjoy1> It's a shame
there's no change log
L2087[22:28:24]
⇨ Joins: Drullkus
(~Dru11kus@2601:646:8301:8947:305b:1df:f546:3c00)
L2088[22:29:48]
⇦ Quits: brandon3055 (~Brandon@122.129.140.1) (Read error:
Connection reset by peer)
L2089[22:30:31]
⇨ Joins: brandon3055 (~Brandon@122.129.140.1)
L2090[22:31:41]
⇦ Quits: KnightMiner
(~KnightMin@adsl-68-255-6-227.dsl.emhril.sbcglobal.net) (Read
error: Connection reset by peer)
L2091[22:32:02]
⇦ Quits: Drullkus
(~Dru11kus@2601:646:8301:8947:305b:1df:f546:3c00) (Ping timeout:
198 seconds)
L2092[22:32:54] <williewillus> yeah
haha
L2093[22:32:59] <williewillus> those guys
are usually on it really fast
L2094[22:33:32]
⇨ Joins: Doty1154
(~Doty1154@2601:648:8000:134f:8827:d00:6511:e9fb)
L2095[22:38:54] <killjoy1> Sadly, more
detailed changes aren't there
L2096[22:38:58] <killjoy1> such as nbt
changes
L2097[22:39:07]
⇦ Quits: brandon3055 (~Brandon@122.129.140.1) (Read error:
Connection reset by peer)
L2098[22:39:23] <killjoy1> if nbt
changes, we wouldn't know without investigating it
L2099[22:39:29]
⇨ Joins: brandon3055 (~Brandon@122.129.140.1)
L2100[22:40:36] <williewillus> what do
you mean nbt changes
L2101[22:44:01] <killjoy1> in 1.7.6+,
skull nbt changed
L2102[22:44:04] <killjoy1> At least It
hink
L2103[22:44:28] <killjoy1> changed from
Name (or something) to SkullOwner
L2104[22:44:42] <killjoy1> I don't
recall. Just a sec
L2105[22:45:02]
⇦ Quits: agowa338 (~Thunderbi@p54918C24.dip0.t-ipconnect.de)
(Ping timeout: 190 seconds)
L2107[22:49:20]
⇨ Joins: Mraof (~mraof@50.153.181.37)
L2108[22:52:19]
⇦ Parts: Mraof (~mraof@50.153.181.37) ())
L2109[22:52:20]
⇨ Joins: McJty
(~jorrit@94-225-203-206.access.telenet.be)
L2110[23:07:08]
⇨ Joins: Hea3veN (~Hea3veN@190.247.149.195)
L2111[23:10:07] <Zorn_Taov> there used to
be a really detailed website that showed the diff between any two
version you chose
L2112[23:10:13] <Zorn_Taov> had a
hamburger theme for some reason
L2113[23:10:20] <Zorn_Taov> forgot what
it's called, though
L2115[23:12:50] <unascribed> hasn't been
updated in a while
L2116[23:13:37]
⇦ Quits: Brokkoli (~Brokkoli@p5b23c284.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))
L2117[23:13:57] <Zorn_Taov> !
L2118[23:14:06] <Zorn_Taov> I've been
looking for this for ages! xD
L2119[23:14:17] <Zorn_Taov> awww, stops
at 1.6.2
L2120[23:14:28] <unascribed> yeah, as
said, it hasn't been updated in a while
L2121[23:14:33] <unascribed> something
replaced it, I forget what
L2122[23:14:56] <unascribed> what kind of
information are you looking for?
L2123[23:14:59] <unascribed> there may be
a better source
L2124[23:15:35] <Zorn_Taov> friend just
wanted to see a detailed diff for between versions
L2125[23:15:42] <killjoy1> How hard is it
really to find Packet and all of the subclasses?
L2126[23:15:48] <Zorn_Taov> mainly 1.7
onwards :P
L2127[23:16:20] <killjoy1> some protocol
data don't actually change between versions
L2128[23:16:33] <killjoy1> like addition
of blocks, items, entities, nbt, etc
L2130[23:17:27] <Zorn_Taov> xD nice
L2133[23:18:51]
⇦ Quits: Yatogami (~ya.to@2604:a880:800:a1::26:6001) (Quit:
I'm going to a better place.)
L2134[23:18:55] <Zorn_Taov> :D
L2135[23:19:14] ***
Firedingo|AFK is now known as Firedingo
L2136[23:23:13]
⇨ Joins: Yatogami
(~ya.to@2604:a880:800:a1::26:6001)
L2137[23:24:31] ***
Kolatra is now known as Kolatra|away
L2138[23:28:00]
⇦ Quits: baegmon
(~baegmon@CPE-60-225-55-120.nsw.bigpond.net.au) (Ping timeout: 384
seconds)
L2139[23:30:55] <Zorn_Taov> can you do //
comments in json?
L2140[23:32:09] <Cypher121> not
really
L2141[23:32:20] <unascribed> s/t
really//
L2142[23:32:58] <Zorn_Taov> ok
L2143[23:33:14] <Cypher121> they are not
standard, so not every json reader supports them
L2144[23:33:19] <Cypher121> gson
doesn't
L2145[23:33:25] <Cypher121> jackson does,
iirc
L2146[23:33:39] <unascribed> gson does if
you enable lenient mode
L2147[23:33:52] <Cypher121> well, for
reading
L2148[23:34:00] <Cypher121> for writing,
not at all
L2149[23:34:07] <TehNut> Just make a
field that won't be used
L2150[23:34:15] <TehNut> Something like
"__comment": ""
L2151[23:34:52] <Matthew> or use hocon
:D
L2152[23:40:11] <Cypher121> !findm
I18n\..+
L2153[23:42:58] <TehNut> So in
PersistentRegistryManager#createRegistry, there is a param called
"optionalDefaultKey" (ResourceLocation). What does that
mean by optional?
L2154[23:45:50] <SinbadEV> Alright... I
started the tutorials all over, making sure I understood each step
before moving on, and was doing much better this time around... but
I ran into the same wall... (
http://www.minecraftforge.net/wiki/Basic_Blocks), I
get to .setStepSound(Block.soundGravelFootstep) and it says
"soundGravelFootstep cannot be resolved or is not a
field"
L2155[23:46:03] <TehNut> 1.9?
L2156[23:46:12] <SinbadEV> Yes
L2157[23:46:35] <TehNut>
SoundType.THING
L2158[23:46:53] <Cypher121> TehNut:
apparently it goes all the way up to
RegistryNamespacedDefaultedByKey, where it is returned if no key
for arg of getNameForObject exists, as well as for some other magic
with setting default value
L2159[23:47:13] <TehNut> Ah
L2160[23:47:22] <TehNut> Okay that makes
sense
L2161[23:47:40] <Cypher121> may have some
other uses too, but that's one I see
L2162[23:50:54] <SinbadEV> Error moved
over one... now "The method setStepSound(SoundType) from the
type Block is not visible"
L2163[23:54:22]
⇦ Quits: Yatogami (~ya.to@2604:a880:800:a1::26:6001) (Quit:
I'm going to a better place.)
L2164[23:56:21]
⇨ Joins: Drullkus
(~Dru11kus@2601:646:8301:8947:305b:1df:f546:3c00)
L2165[23:56:54]
⇦ Quits: stiforr_ (~stiforr@124.sub-97-35-129.myvzw.com)
(Ping timeout: 384 seconds)
L2166[23:57:49]
⇨ Joins: Yatogami
(~ya.to@2604:a880:800:a1::26:6001)