<<Prev
Next>>
Scroll to Bottom
Stuff goes here
L1[00:00:26] ***
AbrarSyed is now known as Abrar|gone
L2[00:04:00] ⇦
Quits: IceDragon (~ThatGuy@184.170.41.67) (Ping timeout: 206
seconds)
L3[00:05:00] ⇨
Joins: Lain|log (~Aphrael@baka.khobbits.co.uk)
L4[00:05:05] ⇨
Joins: Hobbits|away (~khm@2600:3c03::21:1001)
L5[00:05:56] ⇦
Quits: Kano (~Kano@107-209-128-138.lightspeed.mssnks.sbcglobal.net)
(Ping timeout: 206 seconds)
L6[00:06:13] ⇨
Joins: Kano
(~Kano@107-209-128-138.lightspeed.mssnks.sbcglobal.net)
L7[00:09:16] ⇦
Quits: Ordinastie_ (~Ordinasti@87-231-58-94.rev.numericable.fr)
(Quit: Leaving)
L8[00:09:41] ⇨
Joins: Cooler (~CoolerExt@117.221.150.24)
L9[00:12:13] ⇨
Joins: lclc98 (~lclc98@208.81.180.144)
L10[00:12:21] ⇦
Quits: KnightMiner (~KnightMin@68.73.225.172) (Quit:
Leaving)
L11[00:15:07] ⇦
Quits: Cooler (~CoolerExt@117.221.150.24) (Ping timeout: 206
seconds)
L12[00:17:38] ⇨
Joins: Hunterz
(~hunterz@2001:af0:8000:1c01:6af7:28ff:fe37:5d6a)
L13[00:23:48] ⇨
Joins: olee (~olee@mail.bzeutzheim.de)
L14[00:24:19] ⇨
Joins: Cooler (~CoolerExt@117.221.150.24)
L15[00:26:06] ***
fry|sleep is now known as fry
L16[00:29:37] ⇦
Quits: Cooler (~CoolerExt@117.221.150.24) (Ping timeout: 206
seconds)
L17[00:39:34] ⇨
Joins: mezz (~mezz@24.6.28.151)
L18[00:39:35]
MineBot sets mode: +v on mezz
L19[00:40:15] ⇦
Quits: Kaiyouka (~IdiotNono@c-75-71-231-133.hsd1.co.comcast.net)
(Ping timeout: 206 seconds)
L20[00:46:32] ⇦
Quits: _illy_ (~LordIllyo@2602:304:cf32:f980:e002:875:7132:da37)
(Ping timeout: 206 seconds)
L21[00:47:20] ⇨
Joins: MalkContent
(~MalkConte@p4FDCF9DD.dip0.t-ipconnect.de)
L22[00:50:38] ⇨
Joins: Snapples
(uid167569@id-167569.highgate.irccloud.com)
L23[00:54:46] ⇦
Quits: nallar
(~nallar@cpc16-cani3-2-0-cust33.14-2.cable.virginm.net) (Ping
timeout: 198 seconds)
L24[00:58:04] <Naiten> How can paket leak
happen with simpleimpl?
L25[01:00:22] ⇦
Quits: Dimitriye98
(~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net) (Remote host
closed the connection)
L26[01:25:59] ⇦
Quits: Brokkoli (~Brokkoli@p5b23c47d.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))
L27[01:26:11] ***
minecreatr is now known as Mine|dreamland
L28[01:31:10] ⇨
Joins: Dimitriye98
(~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net)
L29[01:39:48] ⇨
Joins: nallar
(~nallar@cpc16-cani3-2-0-cust33.14-2.cable.virginm.net)
L30[01:39:50] ⇦
Quits: blood_ (unknown@ool-4574115b.dyn.optonline.net) (Read error:
Connection reset by peer)
L31[01:45:01] ⇦
Quits: Dimitriye98
(~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net) (Ping timeout:
206 seconds)
L32[01:51:35] ⇨
Joins: xGhOsTkiLLeRx
(~xGhOsTkiL@tmo-109-82.customers.d1-online.com)
L33[01:52:54] ⇨
Joins: KGS (~KGS@h-155-4-129-249.na.cust.bahnhof.se)
L34[01:59:53] <MCPBot_Reborn> [TEST CSV]
Pushing snapshot_20160907 mappings to Forge Maven.
L35[01:59:56] <MCPBot_Reborn> [TEST CSV]
Maven upload successful for mcp_snapshot-20160907-1.10.2.zip
(mappings = "snapshot_20160907" in build.gradle).
L36[02:00:07] <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/
L37[02:00:07] ⇨
Joins: Jezza (~Jezza@bps-gw.hrz.tu-chemnitz.de)
L38[02:09:50] ⇦
Quits: xGhOsTkiLLeRx
(~xGhOsTkiL@tmo-109-82.customers.d1-online.com) (Quit: My MacBook
Pro has gone to sleep. ZZZzzz…)
L39[02:15:03] ⇨
Joins: VikeStep (~VikeStep@101.184.243.180)
L40[02:19:14] ⇦
Quits: candybar (~foo@adsl-074-181-053-011.sip.sav.bellsouth.net)
(Ping timeout: 384 seconds)
L41[02:28:07] ⇨
Joins: xGhOsTkiLLeRx
(~xGhOsTkiL@vpn.dmz.nordakademie.de)
L42[02:31:05] ⇨
Joins: candybar
(~foo@adsl-074-181-053-011.sip.sav.bellsouth.net)
L43[02:35:02] ⇦
Quits: alekso56 (~znc@2001:464b:c2aa:0:745d:45ff:fe3b:a098) (Ping
timeout: 202 seconds)
L44[02:36:19] ⇨
Joins: alekso56
(~znc@2001:464b:c2aa:0:745d:45ff:fe3b:a098)
L45[02:36:46] ⇨
Joins: Kaiyouka
(~IdiotNono@c-75-71-231-133.hsd1.co.comcast.net)
L46[02:51:43] ⇨
Joins: Zolingoto
(~Melakion@50-35-180-227.evrt.wa.frontiernet.net)
L47[02:52:41] ⇦
Quits: codahq (~codahq@c-73-65-219-228.hsd1.ut.comcast.net) (Ping
timeout: 206 seconds)
L48[02:57:31] ⇨
Joins: TechnicianLP
(~Technic@p4FE56F5C.dip0.t-ipconnect.de)
L49[02:58:54] ⇦
Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 384
seconds)
L50[03:13:02] ⇨
Joins: Nentify
(uid14943@2604:8300:100:200b:6667:1:0:3a5f)
L51[03:26:40] ⇦
Quits: candybar (~foo@adsl-074-181-053-011.sip.sav.bellsouth.net)
(Ping timeout: 384 seconds)
L52[03:29:03] ⇨
Joins: Dimitriye98
(~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net)
L53[03:31:22] ⇦
Quits: KGS (~KGS@h-155-4-129-249.na.cust.bahnhof.se) (Ping timeout:
198 seconds)
L54[03:33:46] ⇦
Quits: Dimitriye98
(~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net) (Ping timeout:
206 seconds)
L55[03:38:43] ⇨
Joins: candybar
(~foo@adsl-074-181-053-011.sip.sav.bellsouth.net)
L56[03:46:16] ⇨
Joins: Larry1123 (Larry1123@irc.larry1123.net)
L57[03:46:33] ⇨
Joins: untamemadman
(~untamemad@cpc87177-aztw31-2-0-cust196.18-1.cable.virginm.net)
L58[03:48:51] ⇦
Quits: candybar (~foo@adsl-074-181-053-011.sip.sav.bellsouth.net)
(Ping timeout: 186 seconds)
L59[04:00:27] ⇨
Joins: Dimitriye98
(~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net)
L60[04:04:22] ⇨
Joins: candybar
(~foo@adsl-074-181-053-011.sip.sav.bellsouth.net)
L61[04:04:51] ⇦
Quits: Dimitriye98
(~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net) (Ping timeout:
186 seconds)
L62[04:09:01] ⇨
Joins: secknv
(~secknv@2001:8a0:6c72:2a01:e1ad:ff48:b79e:85a)
L63[04:10:22] <secknv> so onItemUse gets
called on both sides; say I wanted to chat a msg when player clicks
block with item, should I do it client or server side
L64[04:10:40] <secknv> that is, should my
if be (isRemote) or (!isRemote)
L65[04:11:08] <secknv> the if I would put
inside the onItemUse method
L66[04:11:30] ⇨
Joins: Hgrebnednav
(~Hgrebnedn@d8d872a6e.access.telenet.be)
L67[04:13:47] ⇦
Quits: untamemadman
(~untamemad@cpc87177-aztw31-2-0-cust196.18-1.cable.virginm.net)
(Quit: Leaving)
L68[04:21:38] ⇨
Joins: Javaschreiber
(~Thunderbi@p200300D2F3C0B4000441883C1F60F4B5.dip0.t-ipconnect.de)
L69[04:37:43] ⇦
Quits: xGhOsTkiLLeRx (~xGhOsTkiL@vpn.dmz.nordakademie.de) (Read
error: Connection reset by peer)
L70[04:37:46] ⇦
Quits: alekso56 (~znc@2001:464b:c2aa:0:745d:45ff:fe3b:a098) (Ping
timeout: 202 seconds)
L71[04:39:06] <masa> I send the chat
messages from the server usually
L72[04:39:26] ⇨
Joins: alekso56
(~znc@2001:464b:c2aa:0:745d:45ff:fe3b:a098)
L73[04:39:40] <masa> can't remember any
case where I would do it on the client
L74[04:40:03] <masa> I think you'd have to
add the message in a different way if it originates on the
client
L75[04:40:34] <masa> ie.
player.addChatMessageWhatever() works from the server
L76[04:48:39] <MalkContent> there no way to
just do it client side?
L77[04:49:21] <MalkContent> i mean why
would you involve the server, if the client has all the info it
needs
L78[04:57:06] <masa> well sure there is, I
just don't know it from the top of my head
L79[04:58:54] ⇦
Quits: Hanii
(~user@host109-152-249-194.range109-152.btcentralplus.com) (Quit:
Hanii)
L80[05:02:52] ⇦
Quits: Naiten (Naiten@77.34.228.61) (Read error: Connection reset
by peer)
L81[05:25:49] <secknv> what's the
difference between addChatMessage and
addChatComponentMessage?
L82[05:26:40] <secknv> they both take an
ITextComponent as args
L83[05:26:56] <secknv> and I couldnt really
find an explanation of what they do
L84[05:29:23] <secknv> I mean, what they do
differently
L85[05:29:53] <secknv> I tried them both
and (at least on the user leve) there seems to be no
difference
L86[05:30:12] ⇦
Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 384
seconds)
L87[05:31:57] ⇨
Joins: Larry1123 (Larry1123@irc.larry1123.net)
L88[05:37:15] <masa> the best answer to
"what's the difference" or "what does it do" is
to just use your IDE and take a look at what they do
L89[05:37:31] <masa> that's what someone
else has or would do for the answer anyway...
L90[05:37:41] <secknv> well
L91[05:37:45] <secknv> they do
nothing
L92[05:37:49] <secknv> empty methods
L93[05:37:57] <masa> look at the type
hierarchy
L94[05:38:07] <masa> they are overridden by
EntityPlayerMP
L95[05:38:37] <secknv> thanks I missed
that
L96[05:42:21] <secknv> actually I missed
something else
L97[05:42:45] <secknv> addChatMsg is from
Entity while addChatComponentMsg is from EntityPlayer
L98[05:44:30] <secknv> they both do the
same exact thing in their respective implementations on
EntityPlayerSP and EntityPlayerMP
L99[05:46:01] <secknv> but the component
one has an implementation on FakePlayer and the other one has an
implementation on EntityOtherPlayerMp
L100[05:46:10] <secknv> that's the only
difference I could find
L101[05:47:27] ***
PaleOff is now known as PaleoCrafter
L102[05:47:28] <secknv> still dont really
understand it though
L103[05:47:53] <secknv> guess imma look at
forestry's source or something like that and see what they
use
L104[05:49:44]
⇨ Joins: Dimitriye98
(~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net)
L105[05:50:31] <secknv> so for forestry
commands they use addChatMessage I guess I'll go with that
L107[05:53:37] <Tazz> gotta love when
this: (0.0F, 1.0F, 0.0F).rotate(90.0F); becomes a thing XD
L108[05:53:50] ⇦
Quits: Dimitriye98
(~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net) (Ping timeout:
202 seconds)
L109[05:53:55]
⇨ Joins: howtonotwin
(~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net)
L110[05:54:03] <secknv> I have no idea
what that is
L112[05:54:16] <PaleoCrafter> but what
axis do you rotate around, Tazz? :P
L113[05:54:29] <Tazz> rofl
L114[05:54:39] <Tazz> the y-axis ;)
L115[05:54:49] <PaleoCrafter> lol
L116[05:55:26] <Tazz> secknv, its a
stupidly funny hack I implemented that allows one to specify the
rotation vector then call a rotate function like an instance
function on the vector and rotate it by whatever value
L117[05:55:45] <Tazz> I also did one for
translate
L118[05:55:52] <Tazz> (10.0F, 0.0F,
0.0F).translate();
L119[05:56:05] <secknv> seems legit
L120[05:56:19] <Tazz> haha it is!
L121[05:56:52] <Tazz> and another
favourite of mine is using ints as an object that has instance
functions for attaching shader uniform values
L122[05:57:14] <Tazz> like
(1).attachColor("accents", 0xFF0000);
L123[05:57:45] <secknv> that java is way
out of my league
L124[05:57:51] <Tazz> haha its not java in
this case
L125[05:57:53] <Tazz> its Scala
L126[05:58:09] *
secknv just recently learnt primitive types are not objects
lol
L127[05:58:10] <Tazz> its still fun
XD
L128[05:58:19] <Tazz> secknv, but they are
:<
L129[05:58:22] <Tazz> technically!
L131[05:58:24] <secknv> wat
L132[05:58:30] <howtonotwin> boxing
L133[05:58:32] <Tazz> ^^^
L134[05:58:41]
⇨ Joins: Cooler (~CoolerExt@103.208.235.102)
L135[05:58:42] <Tazz> java has autoboxing
on the majority of prims
L136[05:58:57] <secknv> yes I think I've
heard of this
L137[05:59:03] <Tazz> and another thing to
blow your mind is that all numbers that are relatively small in
java are actually the same object
L138[05:59:04] <secknv> basically they put
them inside objects
L139[05:59:16] <Tazz> as would
"test" == "test" because they are also the same
objects technically
L140[05:59:33] <secknv> wait I thought
that didnt work for strings
L141[05:59:34] <Tazz> secknv, well the
compiler basically boxes the literal value into an Integer, Double,
Float object
L142[05:59:44] ⇦
Quits: zml (~zml@minions.aoeu.xyz) (Ping timeout: 206
seconds)
L143[05:59:46] <howtonotwin> Integer
objects -128 to 127 (I think) are cached
L144[05:59:52] <howtonotwin> string
interning
L146[06:00:07] <howtonotwin>
"test" == "test"
L147[06:00:17] <howtonotwin> encodes one
string "test" into the classfile
L148[06:00:18] <Tazz> also Red Hot Chili
Peppers - Dark Necessities <3
L149[06:00:29] <Tazz> that bass slapping
and popping is awesome asf
L151[06:00:39] <Tazz> but yeah howtonotwin
has the idea haha
L152[06:00:43] <howtonotwin> and then when
the code runs both strings are the same object
L153[06:00:52] <Tazz> same reason why
passwords shouldnt be string objects and rather a char[]
L154[06:00:58] <secknv> so it works
because those 2 tests have the same memory reference
L155[06:00:59] <howtonotwin> but doing new
String("test") == "test" fails
L156[06:01:06] <Tazz> yeah
L157[06:01:13] <Tazz> they point to the
same chunk of mem
L158[06:01:13] <howtonotwin> because you
make a new object and compare it to another
L159[06:01:28] <Tazz> however if you
modify either string in any way its automatically a new string
object
L160[06:01:32] <Tazz> and thus not
equivalent
L161[06:01:53] <secknv> oh mah gawwd I
learnt more java today than in #java for the past week
L162[06:01:53] <Tazz> but you could do
something rediculous like (new String("Test")).intern()
== "Test" and afaik that would hold true
L163[06:02:23] <howtonotwin> Don't
actually depend on intern() to make ref comparisons work
L165[06:02:30] <secknv> that's some lit
stuff
L166[06:02:50] <howtonotwin> there's even
a JVM option to make that method a noop
L167[06:03:00] <Tazz> I know someone that
bitched at me for suggesting that they shouldnt compare strings
with the equality operator XD
L168[06:03:07] <Tazz> howtonotwin, I did
not know that XXD
L169[06:03:45] <secknv> well I tried that
a lot during my first week of java
L170[06:03:51] <Tazz> Im very much
teetering between getting some work done on my language or
rewriting the assembler thing that I had XD
L171[06:04:12] <secknv> but after a few
hours upset with my program I found out about .equals()
L172[06:04:38] <sham1> How did you not
know about Object#equals
L173[06:04:38] <Tazz> secknv, yeah .equals
is nice however it can be a bane on some people if the developerss
that wrote the .equals func are idiots
L174[06:04:52] <Tazz> mostly if they dont
follow the contract XD
L175[06:05:12] <secknv> "first week
of java"
L176[06:05:14] <secknv> is how
L178[06:05:42] <sham1> That's like one of
the first methods thaught because they are needed with
Strings
L180[06:05:59] <secknv> blame tutorial
pls
L181[06:06:07] <Tazz> I surprisingly
missed enums in java for a while D
L182[06:06:11] <sham1> What tutorial
L183[06:06:13] <Tazz> like I was like wtf
is that
L185[06:06:22] <secknv> that's me right
now
L186[06:06:24] <secknv> lol
L187[06:06:27] <secknv> I mean
L188[06:06:34] <secknv> I kinda got a feel
of them
L189[06:06:45] <secknv> but dont really
make my own
L190[06:06:58] <Tazz> well if you plan on
venturing anywhere farther than Java dont get too comfortable with
the idea that enums are classes
L191[06:07:22] <sham1> They will always be
integers to me
L192[06:07:26] <Tazz> cause like C and C++
enums are just basically numerical constants with different
references
L193[06:07:41] <Tazz> Java enums are great
for things
L194[06:07:45] <howtonotwin> Says the
Haskeller
L195[06:07:56] <sham1> I also know C and
stuff
L196[06:08:06] <Tazz> sham1, same!
L197[06:08:07] <sham1> In haskell Integers
are enums ;)
L198[06:08:11] <secknv> I wasnt even
confident enough to call enums classes
L199[06:08:19] <sham1> Or is it Ints
L200[06:08:19] <Tazz> Im literally opening
Clion rn
L201[06:08:37] <Tazz> time to work on a
better JIT for C
L202[06:08:37] <sham1> I don't remember if
Integer was an instance of the Enum typeclass
L204[06:08:57] <sham1> Oh it is
L205[06:09:10] <Tazz> like my last one was
good but not good enough XD
L206[06:09:40] <sham1> C to me is worth
learning if one wants to learn assembly
L207[06:09:58] <sham1> It's very
comfortable going from C to assembly as a lot of the things are
very similar
L208[06:10:03] *
secknv adds c to bucketlist
L209[06:10:15] <Tazz> lol
L210[06:10:18] <sham1> But C++ is a
clusterfuck
L211[06:10:24] <secknv> lol
L212[06:10:26] <Tazz> yeah C++ is kinda
bad XD
L213[06:10:31] <Tazz> like lots of things
are just like why
L214[06:10:36] <Tazz> C is 10x better
XD
L215[06:10:48] <Tazz> and if your
interesting in class based OOP then just use Java or something
stupid XD
L216[06:11:01] <sham1> I like C++'s
operation overloading
L217[06:11:06] <sham1> Like if doing
matrix or vector maths
L218[06:11:07] <Tazz> sham1, scala
<3
L219[06:11:12] <sham1> But that's
scala
L220[06:11:20] <Tazz> it has operator
overloading though :/
L221[06:11:23] <sham1> yes
L222[06:11:24] <Tazz> and lots of other
stuffs XD
L223[06:11:30] <howtonotwin> not that they
are actually operators :P
L224[06:11:38] <Tazz> howtonotwin,
haha
L225[06:11:53] <sham1> What if you took
Java's type system, added a bit of Haskell influence while having
Java-like syntax
L226[06:11:59] <Tazz> lol
L227[06:12:10] <sham1> That's basically
scala
L228[06:12:18] <Tazz> I literally need to
redesign Eschelle because Im not going to make a Scala duplicate
XD
L229[06:12:32] <fry> "Java-like
syntax" - wat
L230[06:12:33] <sham1> I'd regard infix
functions as operators
L231[06:12:34] <Tazz> Ive thought it
through XD
L233[06:12:43] <sham1> More Java-like than
anything
L234[06:12:45] <PaleoCrafter> also,
"Java's type system"
L235[06:12:48] <PaleoCrafter> wat
L236[06:12:54] <sham1> with Haskell
influence
L237[06:12:57] <sham1> It's more
powerful
L238[06:13:06] <Tazz> also I like Scala's
type system XD
L239[06:13:17] <Tazz> its one of the major
reasosn why scala is performant XXD
L240[06:13:21] <sham1> But it still has to
make so many compromises
L241[06:13:25] <secknv> from what I read
you also like scala everything
L242[06:13:29] <sham1> To be compatible
with Java
L243[06:13:33] <Tazz> secknv, eh there are
things I dont XD
L244[06:13:43] <Tazz> like optional
returns and semicolons XD
L245[06:13:47] <Tazz> sooo aggrivating
XD
L246[06:13:53] <secknv> xD
L247[06:14:02] <howtonotwin> XML
literals
L248[06:14:03] <PaleoCrafter> optional
semicolons are best :P
L249[06:14:08] <sham1> I never got the
fear of the semicolon
L250[06:14:09] <Tazz> they are not
L252[06:14:18] <Tazz> ffs they are
hell
L254[06:14:36] <sham1> Also, try to
program with Javascript, then you can judge if optional semicolons
are a good thing
L255[06:14:40] <Tazz> I do like Scala's
type disjunction XD
L256[06:14:48] <Tazz> sham1, I do a lot of
javascript :<
L257[06:15:26] <sham1> I like it when it
is limited to my web browser
L258[06:15:30] <Tazz> ^^^^^
L259[06:15:31] *
sham1 glares at Node
L260[06:15:46] <Tazz> Im hating this
bullshit wave of desktop stuffs thats literally written in
Javascript XD
L261[06:15:49] <Tazz> its like dafuq
L262[06:15:56] <sham1> Atom springs to
mind
L263[06:15:59] <Tazz> haha
L264[06:16:25] <Tazz> although v8 is my
favourite thing in the world sometimes XD
L265[06:16:30] <sham1> But I probably will
be able to run Atom under Emacs because in the next version Emacs
gets support for Webkit
L266[06:16:42] <sham1> A man can
dream
L267[06:16:42] <Tazz> the majority of its
tech has inspired me to write my own stuffs
L268[06:17:26] <Tazz> like when I
redesigned the compilation pipeline for Eschelle I based it upon
v8's own pipeline in a way
L269[06:17:50] <sham1> But one very
interesting language is rust
L271[06:18:00] <Tazz> lol
L272[06:18:13] <Tazz> I hate Rust's syntax
XD
L273[06:18:34] <sham1> Well, that's the
downside
L274[06:18:41] <Tazz> but its a marvel
otherwise XD
L275[06:19:04] <sham1> The closure syntax
of Rust is... interesting to say the least
L276[06:19:12] <Tazz> is it anything like
C++'s?
L277[06:19:16] <sham1> Well
L278[06:19:21] <Tazz> and also I hate that
they use LLVM in Rust :/
L279[06:19:32] <sham1> LLVM is fine
L280[06:19:36] <Tazz> no XXD
L281[06:19:53] <Tazz> not when your backed
by developers that can surely roll their own
L282[06:20:22] <secknv> I got python down
and have barely started with java
L283[06:20:31] <sham1> Python is meh
L284[06:20:31] <secknv> watching you guys
talk about all these other langs
L285[06:20:36] <Tazz> Python is bad
L286[06:20:38] <Tazz> bad bad bad XD
L287[06:20:42] <secknv> make it seem like
a world of endless wonder lol
L288[06:20:45] <sham1> I don't like
dynamic typing
L289[06:20:49] <secknv> I'm not saying
it's good
L290[06:20:53] <secknv> I just had to
start somewhere
L291[06:20:58] <Tazz> I can say that I
dont mind dynamic typign
L292[06:21:04] <sham1> At least Python is
strongly typed dynamic language unlike javascript for
instance
L293[06:21:09] <Tazz> but like python has
other reasons for being shit XD
L294[06:21:21] <sham1> Where
"str" - 1 is a valid piece of code
L295[06:21:26] <Tazz> rofl
L296[06:21:35] <Tazz> or undefined !==
undefined
L297[06:21:45] <Tazz> which at one point
was a thing but apparently its gone
L298[06:21:50] <Tazz> like dafuq
haha
L299[06:21:59] <sham1>
Array(16).join("wat" - 1) + " Batman!";
L300[06:22:10] <Tazz> lol
L301[06:22:36] <secknv> that would give a
very funny sentence
L302[06:22:43] <sham1> Indeed
L303[06:23:21] <sham1> But sadly it is
very valid code
L304[06:23:30] <Tazz> lol
L305[06:23:42] <Tazz> urls can be valid
java code XD
L306[06:23:50] <secknv> except for the
semicolon
L309[06:24:01] <Tazz> cause it creates a
label then a comment XD
L310[06:24:05] <sham1> I have not seen any
other language where you can subtract a number from a string
L311[06:24:19] <Tazz> sham1, well
technically you can in C... XD
L313[06:24:59] <Tazz> like char str[] =
"Hello World"; char* str2 = str; while(str2 != NULL)
str2++;
L314[06:25:04] <Tazz> or something along
those lines
L315[06:25:13] <sham1> But not from a
string literal
L316[06:25:14] <Tazz> and you can do a
bunch of random things with it
L317[06:25:25] <sham1> You need to have it
in a variable first
L318[06:25:38] <Tazz> true
L319[06:26:14] <sham1> While ECMAScript
will just allow you to subtract from a string literal because
"Types? What are those!?"
L320[06:26:14] <Tazz> sham1, you said you
were familiar with C right? XD
L321[06:26:19] <sham1> Well
L322[06:26:23] <sham1> Sort of
L323[06:26:27] <Tazz> I haz a
question
L324[06:26:44] <sham1> Ask away
L325[06:27:38] <Tazz> alright
L326[06:27:45] <Tazz> sham1, you know the
concept of a tagged union?
L327[06:28:14] <sham1> Well, yeh
L328[06:28:55] <sham1> Sort of
L329[06:29:24] <Tazz> uhhhh
L330[06:29:25] <Tazz> 1 sec
L331[06:33:02] ⇦
Quits: CoderPuppy (~cpup@32.218.117.140) (Ping timeout: 202
seconds)
L332[06:33:54] <sham1> What was the
question
L333[06:34:13] <sham1> I was a dumb person
and closed the irc on my phone
L334[06:34:30] <fry> there was no question
so far :P
L336[06:34:52] <Tazz> sorry
L337[06:35:03] <Tazz> I was setting it up
(will be relevant in a second)
L339[06:35:23] <Tazz> ex. 1 or ex.
2?
L340[06:35:50] <Tazz> Ive been told ex. 2
is the way to go but it seems sloppy and terribly done XD
L341[06:36:19] <Tazz> obviously not with
the long ass names XD
L342[06:37:40] <sham1> Well example 2 is
used by stuff where you want something like pseudo
inheritance
L343[06:37:47] <sham1> Like in SDL
events
L345[06:38:08] <Tazz> but its cleaner and
more effective with Ex. 1 I think XD
L346[06:38:14] <Tazz> its a bit more
pointer maths though :<
L347[06:39:32]
⇨ Joins: Naiten (Naiten@5.143.105.249)
L348[06:39:36] ⇦
Quits: Hink (~Hink@hink.me) (Quit: quit from client)
L349[06:39:47]
⇨ Joins: zml (~zml@minions.aoeu.xyz)
L350[06:40:07]
⇨ Joins: Hink (~Hink@hink.me)
L351[06:40:26] <sham1> But as you know,
people don't like pointer math
L352[06:40:33] <Tazz> I do :<
L353[06:40:51] <sham1> It can be quite
confusing
L354[06:40:56] <Tazz> howso?
L355[06:41:45] <sham1> Rather, the math
itself is easy enough
L356[06:44:05] <sham1> Like when one looks
at addressing a specific member in an array
L357[06:44:56] <sham1> as you know, arr[i]
is equal to *(arr + i * sizeof(*arr))
L358[06:45:16] <sham1> it can look
daunting
L359[06:46:11] <Tazz> lol
L360[06:46:21] <Tazz> well if you know the
type of arr its a bit simpler...
L361[06:46:37] <Tazz> arr[1] = *(arr + (i
* sizeof(char));
L362[06:47:26] <sham1> Well sure
L363[06:47:35] <sham1> Only for chars
:p
L364[06:47:49] <sham1> but yeah
L365[06:48:12] <sham1> And then there is
shit like triple pointer indirection and other shit
L366[06:48:16] <Tazz> well it works for
the rest of the types but thats specifically for hcars XD
L367[06:48:25] <sham1> yes
L368[06:51:09] <sham1> Also, one thing I
like about Rust is that it had safe pointers from the
beginning
L369[06:54:11] <Tazz> gah I love
macros
L370[06:54:18] <PaleoCrafter> Last I've
looked at Rust, it had some weird restrictions/decisions I just
couldn't get over
L372[06:55:29] ⇦
Quits: shartte (uid182918@2604:8300:100:200b:6667:4:2:ca86) (Quit:
Connection closed for inactivity)
L373[06:56:03] ⇦
Quits: candybar (~foo@adsl-074-181-053-011.sip.sav.bellsouth.net)
(Ping timeout: 186 seconds)
L374[06:56:50]
⇨ Joins: Nitrodev
(~Nitrodev@85-23-77-207.bb.dnainternet.fi)
L375[07:06:46]
⇨ Joins: shartte
(uid182918@2604:8300:100:200b:6667:4:2:ca86)
L376[07:10:54]
⇨ Joins: candybar
(~foo@adsl-074-181-053-011.sip.sav.bellsouth.net)
L377[07:38:38]
⇨ Joins: Dimitriye98
(~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net)
L378[07:42:12] ⇦
Quits: Dimitriye98
(~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net) (Ping timeout:
206 seconds)
L379[07:47:08]
⇨ Joins: quadraxis
(~quadraxis@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net)
L380[07:50:08] ⇦
Quits: npe|office (~NPExcepti@bps-gw.hrz.tu-chemnitz.de) (Remote
host closed the connection)
L381[07:50:14]
⇨ Joins: Isi
(~Isi@cpc96910-walt25-2-0-cust672.13-2.cable.virginm.net)
L382[08:05:26] ⇦
Quits: Javaschreiber
(~Thunderbi@p200300D2F3C0B4000441883C1F60F4B5.dip0.t-ipconnect.de)
(Ping timeout: 202 seconds)
L383[08:08:51] *** V
is now known as Vigaro
L384[08:10:34] <secknv> lol
L385[08:11:00] <secknv> so say I have a
ItemModItem
L386[08:11:42] <secknv> I wanted to be
able to right click a block with it and have it change it's
description so that it is the name of the last block clicked
L387[08:11:58] <secknv> I did that using
onItemUse to get the block
L388[08:12:08] <secknv> and addInformation
to set description
L389[08:12:41] <secknv> problem is, as you
might guess, if I have 3 of those items in inv and click on a block
with one of them
L390[08:12:52] <secknv> all 3 get their
description changed
L391[08:13:28] <secknv> so that every item
can be paired to a different block
L392[08:13:32] <secknv> how can I do
that
L393[08:13:53] <secknv> i need to use
ItemStack no
L394[08:13:56] <secknv> tips ples
L395[08:18:11] ⇦
Quits: candybar (~foo@adsl-074-181-053-011.sip.sav.bellsouth.net)
(Ping timeout: 186 seconds)
L396[08:18:35] <Tazz> lol
L397[08:18:39] <Tazz> sham1, I did it
:D
L398[08:18:54] <sham1> :P
L400[08:19:33] <Tazz> and it works better
XD
L401[08:19:54] <Tazz> removed lots of
redundant inlines and added some needed ones and optimized a few
functions and made the code prettier XXD
L402[08:20:00]
⇨ Joins: Ivorius
(~Ivorius@2604:a880:800:10::55b:8001)
L403[08:20:24] <Tazz> and it should now
claim the correct memory sizes as well as go lighter on it when
doing the emitions
L404[08:21:23] <Tazz> also totally love
that syntax for calling the JIT'd function XD the: ((void
(*)(void)) asm_compile(&buffer))(); part
L405[08:21:36] <sham1> Yeez
L407[08:22:02] <Tazz> its awesome though
:D
L408[08:22:11]
⇨ Joins: Girafi
(Girafi@0x555178eb.adsl.cybercity.dk)
L409[08:32:12]
⇨ Joins: candybar
(~foo@adsl-074-181-053-011.sip.sav.bellsouth.net)
L410[08:32:57] ⇦
Quits: Kodos (~Kodos@2602:306:ce20:6c30:7cd9:27a5:fa95:b8d8) (Ping
timeout: 206 seconds)
L411[08:32:59] <secknv> meh
stack.setDisplayName does exactly what one would expect
L412[08:33:40] <secknv> is there not an
ItemStack equivalent of Item.addInformation
L413[08:34:19] <sham1> I thought that
addInformation passes you an ItemStack
L414[08:34:57] <secknv> yes
L415[08:35:15] <secknv> I want to have
many of the same item with different descriptions
L416[08:35:26] <sham1> Is it your own
item?
L417[08:35:48] <secknv> yes
L418[08:36:10] <secknv> basically I want
to right click a block with it and have it get the block name on
it's description
L419[08:36:27] <secknv> I tried
addInformation(ItemStack stack, EntityPlayer playerIn,
List<String> tooltip, boolean advanced)
L420[08:36:50] <secknv>
tooltip.add(blockname)
L421[08:37:05] <secknv> but that changes
the desc of all the items
L422[08:37:15] <secknv> and I wanted to be
per item
L423[08:37:25] <sham1> What do you want to
seperate the items by
L424[08:37:28] <sham1> Metadata?
L425[08:37:43] <secknv> is that what you
recomend
L426[08:38:42] <sham1> Well yes
L427[08:38:44] <secknv> the final goal is
an item that when used on a block saves the blockpos to it's
desc
L428[08:39:13] <sham1> Oh
L429[08:39:18] <sham1> In that case you
can use NBT
L430[08:39:32]
⇨ Joins: Benimatic
(~Benimatic@cblmdm72-241-108-184.buckeyecom.net)
L431[08:39:34] <sham1> You put the block
position into the itemstack's NBT data
L432[08:39:48] <secknv> where can I see
the tags for desc
L433[08:40:09] <sham1> You make them
yourself
L434[08:40:24] <sham1> You read the tag in
addInformation and act accordingly
L436[08:40:34] <secknv> while messing
around I got it to work but the nbt changed the name of the item
itself
L437[08:40:42] <Tazz> how I made
Exoskeleton's armour "modular"
L438[08:40:47] <Tazz> its actually a quite
useful trick haha
L439[08:40:55] <secknv> I want the name to
be same but desc different
L440[08:41:16] <sham1> Wait, how did you
change the name
L441[08:41:22]
⇨ Joins: Korobi (korobi@is.a.ninja.korobi.io)
L442[08:42:36] <secknv>
ItemStack.setDisplayName
L443[08:42:54] <secknv> I looked at it and
it creates a new NBTTagCompound
L444[08:43:08] <secknv> and then does
this.stackTagCompound.getCompoundTag("display").setString("Name",
displayName);
L445[08:43:34] <secknv> I'm guessing I
could do something like that but for the description
L446[08:43:55] <secknv> but looking at
that makes me thing there are already "defined" names for
tags
L447[08:44:14] <secknv> because it gets
the "display" tag
L448[08:45:00] ⇦
Quits: Hunterz (~hunterz@2001:af0:8000:1c01:6af7:28ff:fe37:5d6a)
(Quit: Leaving.)
L449[08:46:13] <secknv> I'm not very
familiar with the nbt system
L450[08:46:44] <Tazz> lol I totally used
scala's implicit classes to hack in a funky syntax for appending
values to an NBTTagCompound
L451[08:47:13] <Tazz> basically: val cmp:
NBTTagCompound = new NBTTagCompound(); cmp += "Key" ->
"Value";
L452[08:49:30]
⇨ Joins: armctec (~Thunderbi@201.6.194.245)
L453[08:49:53] <masa> secknv: that display
tag is vanilla's item renaming system
L454[08:50:35] <masa> you don't need to
use that for your own items, just override getDisplayName() and/or
addInformation(), I guess you only wanted the latter
L455[08:50:57] <secknv> but
L456[08:51:25] <secknv> when I want to
change the descriprion then which tag should I use
L457[08:51:33] <masa> none
L458[08:51:35] <sham1> Override
addInformation
L459[08:51:35] <secknv> is there one named
"description"
L460[08:51:50] <masa> override
addInformation() and add the description string to the list
L461[08:51:55] <secknv> ok I have already
done that
L462[08:51:57] <sham1> You're in modding
land now. No need to hack NBT
L463[08:51:58] <masa> *strings
L465[08:52:24] <secknv> but that means if
I have 3 of my item and click block with one of them all 3 get the
blockpos in them
L466[08:52:30] <Tazz> sham1, but its fun
XD
L467[08:52:41] <sham1> no
L468[08:52:44] <sham1> It won't
L469[08:52:49] <masa> secknv: uhh what?
you add the strings based on the blockpos you store in the
NBT
L471[08:53:04] <secknv> I am doing it
wrong I got that
L472[08:53:10] <secknv> 1 sec lemme
pastebin
L474[08:53:36] <masa> this is way more
complicated than you need, but...
L476[08:54:02] <secknv> imma look at that
rn
L477[08:54:26] <sham1> Why is tip a
variable
L478[08:54:29] <sham1> err
L479[08:54:31] <sham1> An attribute
L480[08:54:34] <masa> don't store fields
in your item class ;_;
L482[08:54:40] <masa> there is ever only
one instance of items
L483[08:54:55] <secknv> this is test
ok
L484[08:54:58] <masa> you should only
store data in the NBT
L485[08:55:15] <sham1> And the test is
such that it affects all itemstacks with your item
L486[08:55:25] <secknv> exactly
L487[08:55:29] <secknv> thats my
problem
L488[08:55:33] <masa> well it is because
of that "test" that you then get the same description on
all items, because of what I said above
L489[08:55:45] <secknv>
ooooooooohhhhhhhhhh
L490[08:55:54] <secknv> I was missing the
point
L491[08:56:05] <masa> ALL items of that
type share the same class, so they all have that exact same
field/reference "tip"
L492[08:56:15] <sham1>
"addInformationSelective"
L493[08:56:15] <secknv> i see very
stupid
L494[08:56:16] <sham1> Wat
L495[08:56:32] <masa> custom
L496[08:56:35] <masa> so what?
L497[08:56:47] <secknv> so I can create
any nbt tag I want basically
L498[08:56:48] <sham1> what extra does it
do
L499[08:56:53] <secknv> with whatever name
I want
L500[08:56:53] <sham1> secknv, yes
L501[08:56:57] <sham1> You are in
charge
L502[08:57:04] <secknv> and should always
do that to store information
L503[08:57:09] <secknv> in cases like this
one
L504[08:57:20] <sham1> indeed
L505[08:57:26] <masa> sham1: well I have
common description stuff in the super class in the vanilla method,
and I add per-item stuff in that custom method
L506[08:57:44] <secknv> thanks
L507[08:57:51] <secknv> for explaining and
stuff
L508[08:59:37]
⇨ Joins: sokratis12gr (~sokratis1@moritz30.de)
L509[09:00:16] ⇦
Quits: armctec (~Thunderbi@201.6.194.245) (Quit:
armctec)
L510[09:02:55] ⇦
Quits: candybar (~foo@adsl-074-181-053-011.sip.sav.bellsouth.net)
(Ping timeout: 206 seconds)
L511[09:06:18] ⇦
Quits: Jezza (~Jezza@bps-gw.hrz.tu-chemnitz.de) (Remote host closed
the connection)
L512[09:10:51] <Naiten> Hi everybody. Can
somebody help me debug packet leak on simpleimpl? I've suspended
sever at FMLProxyPacket:88 badPackets.add(this.channel); and now am
investigating where the leak comes from
L513[09:11:26] <Naiten> but welp, only
could get that packet was sent from client, into my channel and
from specific player
L514[09:11:26] ⇦
Quits: Chais (~Chais@62.178.210.212) (Read error: Connection reset
by peer)
L515[09:12:18] <Naiten> Getting at least
the packet ID would help a lot, but I just can't see anything
looking alike that >_>
L516[09:13:32] <Naiten> oh my
L517[09:13:59] <Naiten> wrote here and
found the required immediately .-.
L518[09:15:53]
⇨ Joins: Chais (~Chais@62.178.210.212)
L519[09:16:01]
⇨ Joins: IceDragon (~ThatGuy@184.170.51.21)
L520[09:16:15]
⇨ Joins: armctec (~Thunderbi@201.6.194.245)
L521[09:17:14]
⇨ Joins: candybar
(~foo@adsl-074-181-053-011.sip.sav.bellsouth.net)
L522[09:24:08] <Naiten> However. Is it
possible to save the thread state when it's suspended after
breakpoint fired?
L523[09:24:32] <Naiten> i'm in Intellij
IDEA
L524[09:25:51] ⇦
Quits: VikeStep (~VikeStep@101.184.243.180) (Read error: Connection
reset by peer)
L525[09:27:33]
⇨ Joins: Dimitriye98
(~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net)
L526[09:28:49]
⇨ Joins: codahq
(~codahq@c-73-65-219-228.hsd1.ut.comcast.net)
L527[09:31:26] ⇦
Quits: Dimitriye98
(~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net) (Ping timeout:
206 seconds)
L528[09:32:04]
⇨ Joins: Javaschreiber
(~Thunderbi@p5b0dfe1c.dip0.t-ipconnect.de)
L529[09:32:49]
⇨ Joins: Brokkoli
(~Brokkoli@p5B23C47D.dip0.t-ipconnect.de)
L530[09:34:20] ⇦
Quits: armctec (~Thunderbi@201.6.194.245) (Ping timeout: 206
seconds)
L531[09:50:37]
⇨ Joins: ThePsionic
(~ThePsioni@ip5457f909.direct-adsl.nl)
L532[09:51:30]
⇨ Joins: auenf (David@DC-24-199.bpb.bigpond.com)
L533[09:51:30]
⇨ Joins: Trent (~trent@potato.bnc.io)
L534[09:52:39]
⇨ Joins: Jezza (~Jezza@92.206.33.136)
L535[10:06:40]
⇨ Joins: Samario
(~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net)
L536[10:29:23] ⇦
Quits: candybar (~foo@adsl-074-181-053-011.sip.sav.bellsouth.net)
(Ping timeout: 186 seconds)
L537[10:37:20] ⇦
Quits: Zed (~Zed@36.57.9.51.dyn.plus.net) (Ping timeout: 384
seconds)
L538[10:41:53]
⇨ Joins: Davnit_ (~Davnit@72.189.103.223)
L539[10:43:35]
⇨ Joins: candybar
(~foo@adsl-074-181-053-011.sip.sav.bellsouth.net)
L540[10:43:38] ⇦
Quits: quadraxis
(~quadraxis@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net)
(Ping timeout: 202 seconds)
L541[10:44:06] ⇦
Quits: mallrat208 (~mallrat20@107-145-136-189.res.bhn.net) (Ping
timeout: 202 seconds)
L542[10:44:06] ⇦
Quits: Davnit (~Davnit@72-189-103-223.res.bhn.net) (Ping timeout:
202 seconds)
L543[10:44:09]
⇨ Joins: Dimitriye98
(~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net)
L544[10:49:14] ⇦
Quits: Katrix (~Katrix@2a02:fe0:cb10:2420:447c:4:a41f:cf8a) (Ping
timeout: 202 seconds)
L545[10:49:15] ⇦
Quits: candybar (~foo@adsl-074-181-053-011.sip.sav.bellsouth.net)
(Ping timeout: 206 seconds)
L546[10:49:32]
⇨ Joins: Katrix
(~Katrix@2a02:fe0:cb10:2420:3dee:7372:aa77:73b)
L547[10:52:20]
⇨ Joins: quadraxis
(~quadraxis@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net)
L548[10:58:55]
⇨ Joins: Ordinastie_
(~Ordinasti@87-231-58-94.rev.numericable.fr)
L549[10:59:50] ⇦
Quits: Dimitriye98
(~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net) (Remote host
closed the connection)
L550[11:03:46]
⇨ Joins: candybar
(~foo@adsl-074-181-053-011.sip.sav.bellsouth.net)
L551[11:05:30]
⇨ Joins: cpup (~cpup@32.218.114.47)
L552[11:07:43] ***
amadornes is now known as amadornes[Streaming]
L553[11:08:25]
⇨ Joins: Bottersnike
(~Bottersni@cpc92744-stap14-2-0-cust374.12-2.cable.virginm.net)
L554[11:09:37] ***
PaleoCrafter is now known as PaleOff
L555[11:16:21]
⇨ Joins: Noppes
(~Noppes@ip56530f2e.direct-adsl.nl)
L556[11:16:51] ⇦
Quits: Bottersnike
(~Bottersni@cpc92744-stap14-2-0-cust374.12-2.cable.virginm.net)
()
L557[11:26:32]
⇨ Joins: CoderPuppy (~cpup@32.218.114.176)
L558[11:28:53] ⇦
Quits: cpup (~cpup@32.218.114.47) (Ping timeout: 206
seconds)
L559[11:35:20] ⇦
Quits: Rushmead (uid136212@id-136212.ealing.irccloud.com) (Quit:
Connection closed for inactivity)
L560[11:35:31] ⇦
Quits: Javaschreiber (~Thunderbi@p5b0dfe1c.dip0.t-ipconnect.de)
(Ping timeout: 186 seconds)
L561[11:40:37]
⇨ Joins: Hgreb
(~Hgrebnedn@d8D872A6E.access.telenet.be)
L562[11:40:46] ⇦
Quits: Hgrebnednav (~Hgrebnedn@d8d872a6e.access.telenet.be) (Read
error: Connection reset by peer)
L563[11:43:19]
⇨ Joins: KGS
(~KGS@h-155-4-129-249.na.cust.bahnhof.se)
L564[11:45:26]
⇨ Joins: McJty
(~jorrit@94-225-203-206.access.telenet.be)
L565[11:59:00]
⇨ Joins: cpup (~cpup@32.218.115.13)
L566[11:59:54]
⇨ Joins: Zed (~Zed@36.57.9.51.dyn.plus.net)
L567[12:01:06] ⇦
Quits: CoderPuppy (~cpup@32.218.114.176) (Ping timeout: 202
seconds)
L568[12:02:08]
⇨ Joins: Nepharius
(~Nepharius@host-091-097-163-162.ewe-ip-backbone.de)
L569[12:06:18] <Nepharius> Anyone ever had
the problem that the texture of a custom armor interferes with the
player texture?
L570[12:10:38] ⇦
Quits: Hgreb (~Hgrebnedn@d8D872A6E.access.telenet.be) (Read error:
Connection reset by peer)
L571[12:10:40]
⇨ Joins: Hgrebnednav
(~Hgrebnedn@d8d872a6e.access.telenet.be)
L572[12:13:43] ⇦
Quits: luacs1998 (~miyamoto@2001:19f0:6400:8965:5400:ff:fe07:8777)
(Quit: ZNC - http://znc.in)
L573[12:14:07]
⇨ Joins: luacs1998
(~sayuka@2001:19f0:6400:8965:5400:ff:fe07:8777)
L574[12:15:03] ⇦
Quits: luacs1998 (~sayuka@2001:19f0:6400:8965:5400:ff:fe07:8777)
(Client Quit)
L575[12:16:44] ⇦
Quits: Cooler (~CoolerExt@103.208.235.102) (Ping timeout: 206
seconds)
L576[12:16:56]
⇨ Joins: luacs1998 (~sayuka@abrarsyed.com)
L577[12:20:50]
⇨ Joins: Cooler (~CoolerExt@117.248.11.164)
L578[12:21:04]
⇨ Joins: zabi94 (~androirc@93.37.140.130)
L579[12:22:02] ⇦
Quits: zabi94 (~androirc@93.37.140.130) (Client Quit)
L580[12:22:10] ⇦
Quits: candybar (~foo@adsl-074-181-053-011.sip.sav.bellsouth.net)
(Ping timeout: 384 seconds)
L581[12:28:03]
⇨ Joins: zabi94 (~zabi94@93.37.140.130)
L582[12:28:51] ⇦
Quits: zabi94 (~zabi94@93.37.140.130) (Read error: Connection reset
by peer)
L583[12:29:10]
⇨ Joins: zabi94 (~zabi94@93.37.140.130)
L584[12:32:31]
⇨ Joins: Gigabit101
(~Gigabit10@cpc76690-cosh16-2-0-cust331.6-1.cable.virginm.net)
L585[12:33:07]
⇨ Joins: irctc980
(~irctc980@ip68-104-222-58.ph.ph.cox.net)
L586[12:33:59]
⇨ Joins: candybar
(~foo@adsl-074-181-053-011.sip.sav.bellsouth.net)
L587[12:38:37] <MalkContent> is it
possible to register blocks to be used as beacon bases?
L588[12:38:50] <MalkContent> i mean i know
that was possible at some point
L589[12:38:59]
⇨ Joins: Javaschreiber
(~Thunderbi@p200300D2F3C0B40099DA560A8B66D671.dip0.t-ipconnect.de)
L590[12:39:01] <MalkContent> but that was
way before 1.8
L591[12:39:23] <zabi94> Your blocks or
already registered ones?
L592[12:39:35] <Ordinastie_> look for what
the beacon does when checking for the base
L593[12:40:04] <zabi94> it uses
blockObject.isBeaconBase() or something like that
L594[12:41:32] <zabi94> public boolean
isBeaconBase(IBlockAccess worldObj, BlockPos pos, BlockPos
beacon)
L595[12:42:35]
⇨ Joins: CoderPuppy (~cpup@32.218.115.150)
L596[12:44:30] ⇦
Quits: cpup (~cpup@32.218.115.13) (Ping timeout: 202
seconds)
L597[12:45:38] <Nepharius> Is there a way
to stop minecraft from rendering the textures of a custom armor in
places where the vanilla armor would have been?
L598[12:46:18]
⇨ Joins: Hunterz (~hunterz@62.182.234.189)
L599[12:47:29]
⇨ Joins: Dimitriye98
(~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net)
L600[12:48:42] <MalkContent> thanks
zabi94
L601[12:49:19] <zabi94> np
L602[12:49:54] ⇦
Quits: Naiten (Naiten@5.143.105.249) (Read error: Connection reset
by peer)
L603[12:50:58] ⇦
Quits: Dimitriye98
(~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net) (Remote host
closed the connection)
L604[12:52:18] ***
PaleOff is now known as PaleoCrafter
L605[12:53:33]
⇨ Joins: Dimitriye98
(~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net)
L606[13:01:52] ⇦
Quits: ThePsionic (~ThePsioni@ip5457f909.direct-adsl.nl) (Quit:
Leaving)
L607[13:02:18] ***
MrKick|Away is now known as MrKickkiller
L608[13:02:45]
⇨ Joins: p455w0rd (~p455w0rd@50.102.83.141)
L609[13:04:30] <p455w0rd> why would build
get stuck at retroMapReplacedMain? just hangs
L610[13:06:14]
⇨ Joins: aidancbrady
(~aidancbra@res400d-128-61-102-197.res.gatech.edu)
L611[13:08:49] <PaleoCrafter> try running
vintageMapReplacedMain, p455w0rd
L612[13:10:58] ***
Mine|dreamland is now known as minecreatr
L613[13:15:42] ⇦
Quits: p455w0rd (~p455w0rd@50.102.83.141) (Ping timeout: 206
seconds)
L614[13:16:31]
⇨ Joins: p455w0rd (~p455w0rd@172.78.233.30)
L615[13:20:45] ⇦
Quits: zabi94 (~zabi94@93.37.140.130) (Read error: Connection reset
by peer)
L616[13:20:55]
⇨ Joins: zabi94 (~zabi94@93.37.140.130)
L617[13:26:30] ⇦
Quits: zabi94 (~zabi94@93.37.140.130) (Ping timeout: 202
seconds)
L618[13:27:14] <Nepharius> Anyone
experienced with armor rendering here?
L619[13:27:37] ⇦
Quits: manmaed (~Ender@97e5ac1e.skybroadband.com) (Ping timeout:
195 seconds)
L620[13:29:13]
⇨ Joins: manmaed|AFK
(~Ender@97e5ac1e.skybroadband.com)
L621[13:29:56] ***
manmaed|AFK is now known as manmaed
L622[13:35:48] ⇦
Quits: Dimitriye98
(~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net) (Read error:
Connection reset by peer)
L623[13:35:53]
⇨ Joins: zabi94 (~zabi94@93.37.140.130)
L624[13:36:00]
⇨ Joins: Dimitriye98
(~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net)
L625[13:38:56]
⇨ Joins: zacstewart
(webchat@c-98-192-38-139.hsd1.ga.comcast.net)
L626[13:39:34] ⇦
Quits: irctc980 (~irctc980@ip68-104-222-58.ph.ph.cox.net) (Ping
timeout: 202 seconds)
L627[13:40:01] ⇦
Quits: zacstewart (webchat@c-98-192-38-139.hsd1.ga.comcast.net)
(Quit: Web client closed)
L628[13:40:53]
⇨ Joins: zacstewart
(~zacstewar@c-98-192-38-139.hsd1.ga.comcast.net)
L629[13:41:34] <zacstewart> I'm working on
a mod to let players add/search shops on servers using the
ItemExchange mod. Is there a way to get a unique identifier for the
server/shard a player is connected to? I haven't been able to find
anything in the documentation
L630[13:44:03] <gigaherz_x> no there's no
standard way to do that
L631[13:44:55] <tterrag|ZZZzzz> 'shard' is
not a concept vanilla or forge understands
L632[13:44:56] ***
tterrag|ZZZzzz is now known as tterrag
L633[13:45:33] <zacstewart> Yeah, I know
shard's are tricky. The only example I know of is BungeeCord doing
proxy shenangigans
L634[13:46:04] <zacstewart> Somehow
JourneyMap assigns a UUID for the shard in it's data dir, so it
keeps coords and stuff separate even when you connect to one main
address. I wish I could see what they were doing
L635[13:46:11] ⇦
Quits: Benimatic (~Benimatic@cblmdm72-241-108-184.buckeyecom.net)
(Ping timeout: 186 seconds)
L636[13:47:02] <techbrew> Are the maps the
same across each shard?
L637[13:47:07]
⇨ Joins: Benimatic
(~Benimatic@cblmdm72-241-108-184.buckeyecom.net)
L638[13:47:09] <zacstewart> Not even
close
L639[13:47:21] <zacstewart> Different
world sizes, different everything
L640[13:48:01] <zacstewart> It's
civcraft.co. The idea is that the different shards all have portals
connecting to different edges so that you can effectively have a
"world" made up of different shards
L641[13:48:17] <tterrag> then it's
considered a different server
L642[13:48:26] <techbrew> OK, so JM's
behavior is correct for the multiworld set up?
L643[13:48:37] <techbrew> And you want to
mimic that for your own purposes?
L644[13:49:22] <zacstewart> Basically.
It's a little glitchy (i have to reconnect after transitioning
shards to load my waypoints), but I suspect they have a starting
point for me to look at at least
L645[13:49:36] ***
fry is now known as fry|sleep
L646[13:49:54] <techbrew> They equals
me
L647[13:50:14] <zacstewart> Oh, hi! Glad
to meet you. I love JM
L648[13:50:28] <techbrew> As in, I am the
lead developer. :-) Nice to meet you.
L650[13:51:10] <zacstewart> So, yes, I
think what you're doing is something I need to look into. Not sure
why JM doens't know the world has changed after portaling to
another shard, but othwerwise it does what I want
L651[13:51:13] <techbrew> Specifically,
the multi world support section
L652[13:51:46] <zacstewart> Reading
L653[13:52:46] <zacstewart> I see. So it's
not even your client being clever, it's that the server actually
has a mod cueing it into shards
L654[13:53:23] <zacstewart> Well, I was
planning to integrate the JM API for adding waypoints for shops.
Would I have access to this world ID API?
L655[13:53:44] <techbrew> I can certainly
add that
L656[13:54:54] <techbrew> Also I'll ask
Mysticdrew to see if he can suss out why civcraft.co doesn't
trigger a new world Id event in the client when you go between
shards
L657[13:55:55] <zacstewart> Awesome. Is
there any kind of release or issue tracker I can be watching for
when you add that API?
L658[13:59:48] <zacstewart> also, is this
world change event something I can just @SubscribeEvent to on the
MinecraftForge.EVENT_BUS?
L659[14:03:30]
⇨ Joins: Ipsis
(~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk)
L660[14:05:19] ⇦
Quits: Dimitriye98
(~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net) (Read error:
Connection reset by peer)
L661[14:05:22]
⇨ Joins: Dimitriye98
(~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net)
L662[14:10:11] ⇦
Quits: Dimitriye98
(~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net) (Remote host
closed the connection)
L663[14:11:34]
⇨ Joins: Dimitriye98
(~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net)
L664[14:11:38] <techbrew> zacstewart: hop
over on #journeymap so we don't spam people here with stuff they
don't care about :)
L665[14:13:21]
⇨ Joins: P3pp3rF1y (~P3pp3rF1y@minehost.io)
L666[14:13:43]
⇨ Joins: Lylac
(~Tamtam18_@c-73-96-85-25.hsd1.or.comcast.net)
L667[14:15:38] ⇦
Quits: Cooler (~CoolerExt@117.248.11.164) (Ping timeout: 206
seconds)
L668[14:17:02]
⇨ Joins: illy
(~LordIllyo@2602:304:cf32:f980:d7b4:c6fb:fb09:5c82)
L669[14:19:39] ⇦
Quits: Nepharius
(~Nepharius@host-091-097-163-162.ewe-ip-backbone.de) (Quit:
Leaving)
L670[14:20:51] ⇦
Quits: Dimitriye98
(~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net) (Ping timeout:
186 seconds)
L671[14:23:08]
⇨ Joins: Tamtam
(~Tamtam18_@c-73-96-85-25.hsd1.or.comcast.net)
L672[14:23:53] ⇦
Quits: zabi94 (~zabi94@93.37.140.130) (Read error: Connection reset
by peer)
L673[14:24:38] ⇦
Quits: glasspelican (~quassel@stanley.glasspelican.ca) (Remote host
closed the connection)
L674[14:25:39] ⇦
Quits: Lylac (~Tamtam18_@c-73-96-85-25.hsd1.or.comcast.net) (Ping
timeout: 186 seconds)
L675[14:26:27] ⇦
Quits: Tamtam (~Tamtam18_@c-73-96-85-25.hsd1.or.comcast.net)
(Client Quit)
L676[14:28:28] ***
sokratis12gr is now known as sokratis12gr|githubing
L677[14:28:32] ⇦
Quits: Ipsis (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk) (Ping
timeout: 384 seconds)
L678[14:28:32] ⇦
Quits: Samario
(~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net) (Ping
timeout: 384 seconds)
L679[14:28:43] ⇦
Parts: sokratis12gr|githubing (~sokratis1@moritz30.de)
())
L680[14:29:38]
⇨ Joins: glasspelican
(~quassel@stanley.glasspelican.ca)
L681[14:36:28] ⇦
Quits: bilde2910 (bilde2910@51.174.170.178) (Ping timeout: 384
seconds)
L682[14:38:03]
⇨ Joins: Samario
(~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net)
L683[14:38:25]
⇨ Joins: bilde2910 (bilde2910@51.174.170.178)
L684[14:42:24] ***
PaleoCrafter is now known as PaleOff
L685[14:43:15] ⇦
Quits: zacstewart (~zacstewar@c-98-192-38-139.hsd1.ga.comcast.net)
(Ping timeout: 186 seconds)
L686[14:50:08] ⇦
Quits: McJty (~jorrit@94-225-203-206.access.telenet.be) (Quit:
Leaving)
L687[14:51:43]
⇨ Joins: Dimitriye98
(~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net)
L688[14:52:06] ⇦
Quits: Dimitriye98
(~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net) (Read error:
Connection reset by peer)
L689[14:52:29]
⇨ Joins: Dimitriye98
(~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net)
L690[14:54:35]
⇨ Joins: zabi94 (~zabi94@93.37.140.130)
L691[14:54:51] ⇦
Quits: primetoxinz (~primetoxi@ip68-107-226-229.hr.hr.cox.net)
(Quit: Leaving)
L692[14:56:35] ⇦
Quits: Dimitriye98
(~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net) (Ping timeout:
186 seconds)
L693[14:58:18] ⇦
Quits: Nitrodev (~Nitrodev@85-23-77-207.bb.dnainternet.fi) (Read
error: Connection reset by peer)
L694[15:05:14]
⇨ Joins: Gil
(uid147942@2604:8300:100:200b:6667:5:2:41e6)
L695[15:08:26] <p455w0rd> So if I do
gradlew setupDecompWorkspace using FG 2.2, then use FG 2.2, it
hangs @ :retroMapReplacedMain...however if I setupDecompWorkspace
with FG 2.2, and build with FG 2.1, it works...any clue why?
L696[15:08:45] <p455w0rd> then use FG 2.2
to build*
L697[15:10:28] ⇦
Quits: Javaschreiber
(~Thunderbi@p200300D2F3C0B40099DA560A8B66D671.dip0.t-ipconnect.de)
(Ping timeout: 384 seconds)
L698[15:16:19] ⇦
Quits: candybar (~foo@adsl-074-181-053-011.sip.sav.bellsouth.net)
(Ping timeout: 186 seconds)
L699[15:17:47]
⇨ Joins: ThePsionic
(~ThePsioni@ip5457f909.direct-adsl.nl)
L700[15:19:17] ***
olee is now known as olee|afk
L701[15:20:16] <zabi94> p455w0rd i had the
same problem, make sure your path var contains a java8 jdk
directory, and set the project compatibility to java8
L702[15:25:52] ***
olee|afk is now known as olee
L703[15:29:25]
⇨ Joins: founderio
(~Thunderbi@p200300C4E3C164001F65E75F74E8E63F.dip0.t-ipconnect.de)
L704[15:31:07]
⇨ Joins: candybar
(~foo@adsl-074-181-053-011.sip.sav.bellsouth.net)
L705[15:34:02]
⇨ Joins: Subaraki
(~Artix@mf763-h01-176-150-102-154.dsl.sta.abo.bbox.fr)
L706[15:39:58] ⇦
Quits: Woodstone (~quassel@2a03:b0c0:2:d0::2c8:d001) (*.net
*.split)
L707[15:40:26]
⇨ Joins: heretyui
(~IceChat9@131.159.150.77.rev.sfr.net)
L708[15:40:29] <heretyui> Hello !
L709[15:40:44] <heretyui> I wanted to have
a small chat about using AccessTransformers
L710[15:41:02] <heretyui> I basically
tried since the past hour to register one but I'm struggling like
hell
L711[15:41:39] <heretyui> My _at.cfg is
correctly read, but my getASMTransformerClass() is never executed
when I start the client
L712[15:41:52] <heretyui> (It's in a class
implementing IFMLLoadingPlugin)
L713[15:41:55] <LexManos> Shouldnt be an
issue either way and you only need J8 as your JDK if you use
J8
L714[15:42:07] ***
heretyui was kicked by LexManos (DO NOT WRITE
COREMODS))
L715[15:42:18]
⇨ Joins: heretyui
(~IceChat9@131.159.150.77.rev.sfr.net)
L716[15:42:23] <Ordinastie_> pretty he
doesn't want a coremod, just the AT
L717[15:42:36] <LexManos> true, but hes
moving to the coremod route
L718[15:42:41] <heretyui> Hello again ok
so how do I hook the loottable reading without AT ><
L719[15:43:00] <LexManos> Define what you
want to do
L720[15:43:31] ⇦
Quits: Techno (~quassel@cpe-72-230-173-5.rochester.res.rr.com)
(Remote host closed the connection)
L721[15:43:43] <heretyui> The method that
generate loots based on lootTable have a rand attribute, that I
want to alter based on another argument (the context)
L722[15:43:51] <heretyui> So it basically
is one line to inject a computation
L723[15:43:58]
⇨ Joins: Techno
(~quassel@cpe-72-230-173-5.rochester.res.rr.com)
L724[15:43:59] <LexManos> reflection
L725[15:43:59] <heretyui> But if thzre's a
betterway
L726[15:44:01] <heretyui> I'm in
L727[15:44:07] <LexManos> but beyond that,
you shouldnt need to edit it
L728[15:44:11] <LexManos> its a RNG
L729[15:44:19] <heretyui> It's an argument
not an attribute, I can't reflection on it right ?
L730[15:44:32] <LexManos> What method are
you referring to?
L731[15:44:49] <heretyui>
net.minecraft.world.storage.loot.LootPool#createLootRoll
L732[15:44:59] <heretyui> and
generateLoot
L733[15:45:23] <heretyui> I want to do
something like /
L734[15:45:55] <heretyui> rand *=
context.player.getDistanceFrom(0,0,0)
L735[15:45:56] <LexManos> You pass in
random to that function when you call it, you can pass in whatever
you want
L736[15:46:05] <LexManos> why?
L737[15:46:10] <heretyui> No but I don't
call it
L738[15:46:12] <LexManos> What do you
expect that to do?
L739[15:46:23] <heretyui> Change the loots
based on distance from the center
L740[15:47:03] <LexManos> explain
better.... what loot, and rand isnt a int its a random number
generator, it will generate random numbers
L741[15:47:46] <heretyui> (Yeah sorry that
was just a gross pseudo-code) I want to change any loot
(chest/monster/whatever) to generate based on the distance of the
inventory from the center point
L742[15:48:11] <LexManos> thats exactly
how it works right now
L743[15:48:29] <LexManos> the Random is
seeded with the tile entities position
L744[15:48:46] <heretyui> Yeah but I'm
changing the balance because I'm bufffing the mobs
L745[15:49:01] <gigaherz_x> wait you want
to have better loot the further away you are from the spawn
point?
L746[15:49:03] <LexManos> you're not
explaining yourself.
L747[15:49:07] <zabi94> I guess he means
that the further away from 0,0 the better loot
L748[15:49:08] <heretyui> Yes
Gigabit101
L749[15:49:13] <LexManos> the RNG wont do
'better loot'
L750[15:49:13] <heretyui> Exactly
L751[15:49:16] <gigaherz_x> wrong
g-tab
L752[15:49:16] <gigaherz_x> ;P
L753[15:49:17] <LexManos> its 'different
loot'
L754[15:49:32] <LexManos> you'd need
different loot tables for different loot
L755[15:49:56] <gigaherz_x> yeh I suggest
you define loot tiers, and switch the tiers based on distance
L756[15:50:00] <heretyui> OK sorry for not
being clear enough I'm gonna try to recapitulate everything
L757[15:50:09] ***
gigaherz_x is now known as gigaherz
L758[15:50:44] <LexManos> entities have a
central getLootTable function which you can use to swap the tables
out based on distance
L759[15:50:51] <LexManos> THAT is how you
do it, and thats non-hacky
L760[15:51:10] <heretyui> So basically I
have a mod that empower the mobs based on the distance from 0,0.
The more you travel, the stronger the mobs get. For now, the reward
is, the "more" loots you'll get (AKA clooning the drops
with the EntityDrop event)
L761[15:51:52] <heretyui> What I need to
do, is somehting that use the LootTable to drop "more"
based on what have supposely not being dropped yet (and therefore
not catched by the event drop list)
L762[15:52:00] <LexManos> ya.. you should
just change the loot table to something else
L763[15:52:14] <heretyui> And using this
hook, it will affect dungeon chest (so, one stone two birds)
L764[15:52:35] <heretyui> And eventually
any mod using lootTable
L765[15:53:22] ***
PaleOff is now known as PaleoCrafter
L766[15:53:30] <LexManos> ya thats not
good, for a few reasons least of not being it breaks others balance
and changes world gen. But point is for your entites its easy, just
tell it to use a different table
L767[15:53:39] ⇦
Quits: candybar (~foo@adsl-074-181-053-011.sip.sav.bellsouth.net)
(Ping timeout: 186 seconds)
L768[15:53:39] <heretyui> I'm not sure I
understand ? If they have a "getLootTable" does it means
I can overwrite the methods ?
L769[15:53:53] <LexManos> yes
L770[15:53:58] <LexManos> thats basic
java
L771[15:54:05] <heretyui> uhm
L772[15:54:11] <gigaherz> on your own
entities ;P
L773[15:54:27] <heretyui> Yeah right
gigaherz I'm not crazy
L774[15:54:33] <heretyui> Only inheritance
can get me that
L775[15:54:41] <heretyui> Therefore
writting my own entities
L776[15:54:47] <LexManos> yes
L777[15:54:52] <heretyui> I'm not adding
anything to the game it's just a balancing mod
L778[15:55:02] <LexManos> there are also
the related methods and fields which let you control other's
entities
L779[15:55:56] <gigaherz> heretyui: then
you may want to do it from EntityJoinWorldEvent, change the
assigned loot table
L780[15:56:22] <gigaherz> then it will be
assigned based on the spawn position, rather than the one at the
moment of death
L781[15:56:23] <heretyui> That looks
reasonnable to me, do I need to do a separated code for chests
?
L782[15:56:41] <gigaherz> yep, but no idea
how chest loot works
L783[15:57:02] <heretyui> Can I edit the
LootTable, or do I need to manually create a new lootTable in a
file with a random name and swap it ?
L784[15:57:30] <gigaherz> well ideally
you'd have them by name
L785[15:57:32] <zabi94> just change the
loot table when the world generates a chest
L786[15:57:36] <gigaherz> so they can be
replaced by users
L787[15:58:03] <heretyui> But considering
I'm not changing the loot at all, just the quantity
L788[15:58:07] <heretyui> User is still
empowered
L789[15:58:10] <gigaherz> but really, I
don't know much about loot tables
L790[15:58:13] <heretyui> With the
choice
L791[15:58:26] <gigaherz> well
L792[15:58:40] <gigaherz> if it really is
just a multiplier on the quantity
L793[15:58:51] <heretyui> yes it is
L794[15:58:58] ⇦
Quits: P3pp3rF1y (~P3pp3rF1y@minehost.io) (Quit: Bye)
L795[15:59:01] <gigaherz> then why not
just modify the drops are you were already doing?
L796[15:59:10] <gigaherz> as*
L797[15:59:10] <heretyui> Two reasons
:
L798[15:59:36]
⇨ Joins: P3pp3rF1y (~P3pp3rF1y@minehost.io)
L799[15:59:38] <gigaherz> you could just
store the spawn position in the spawn event, and store it in an
entity capability
L800[16:00:11] <heretyui> 1 - for example,
if the Zombie normally drops flesh and iron, I want to increase
both drops, but if I multiply the iron x2 because I'm far away, the
probability to get iron remains inchanged (because 0x2 = 0)
L801[16:00:34] <heretyui> 2 - It doesn't
affect anything else than mobs (Chests is my main concern other
than mobs)
L802[16:00:58] <PaleoCrafter> 0x2 is 2,
isn't it
L803[16:01:07] <PaleoCrafter> Hurr
durr
L804[16:01:09] <heretyui> Not in Hex
L805[16:01:10] <heretyui> xD
L806[16:01:19] <gigaherz> but, that won't
change even if you multiply it in the loot table?
L807[16:01:29] <zabi94> 1) create a
LootTableOverride.class
L808[16:01:42] <heretyui> That was what I
was concerned with gigaherz
L809[16:02:14] <zabi94> with constructor
LootTableOverride(LootTable original). the class extends LootTable
obvs
L810[16:02:16] <LexManos> create a new
loot table
L811[16:02:20] <LexManos> with more
rolls
L812[16:02:21] <LexManos> OR
L813[16:02:22] <heretyui> But if I hook
the Loot generation, to increase the RNG threshlod, the game will
take care of increasing Iron prob by it self (Because it will try
harder)
L814[16:02:34] <LexManos> just tell the
entitty to drop its loot multiple times on death
L815[16:02:41] <LexManos> and it'll run
the loot table multiple times
L816[16:02:59] <LexManos> this isnt a hard
thing you just need to try it out and look at the code. No
reflection or asm hacks needed
L817[16:03:14] <LexManos> there is no RNG
threeashold
L818[16:03:50] <heretyui> There is a
thershold, that tell the game how many time to roll for the
lootgeneration called rand in the method in LootPool
L819[16:03:54] <heretyui> right ?
L820[16:03:56] <heretyui> I'm keen for the
new loot table
L821[16:03:58] <LexManos> nope
L822[16:04:10] ⇦
Quits: Hunterz (~hunterz@62.182.234.189) (Remote host closed the
connection)
L823[16:04:11] <heretyui> As long as I can
create it on the fly (not using a file)
L824[16:04:19] <LexManos> rand is just a
RANDOM NUMBER GENERATOR it has no 'threashold' or anything like
that.
L826[16:04:31] <zabi94> 2) override the
fillInventory(IInventory inventory, Random rand, LootContext
context), by calling the super method multiple times for instance
(or do something a bit better and more clever)
L827[16:05:23] <heretyui> Oh yeah gotcha
LexManos
L828[16:05:29] ***
heretyui was kicked by LexManos (heretyui))
L829[16:05:49]
⇨ Joins: heretyui
(~IceChat9@131.159.150.77.rev.sfr.net)
L830[16:06:18] <zabi94> 3) when chests and
mobs spawn, replace lootTableOld with an instance of yours by
passing lootTableOld to the new constructor
L831[16:06:29] <zabi94> just
reflection
L832[16:06:32] <zabi94> or AT
L833[16:06:58] <gigaherz> heretyui: you
were already told, even talking about creating coremods is not
allowed in this channel
L834[16:07:01] <gigaherz> ;P
L835[16:07:27] <heretyui> I was saying
this as an implicit way to say "I'm not doing it" of
course
L836[16:07:40] <gigaherz> even talking
about them is discouraged because it means new people learn about
their existance ;P
L837[16:07:40] <PaleoCrafter> I think the
trigger was pinging Lex :P
L838[16:07:57] <gigaherz> that too
L839[16:08:02] <gigaherz> I didn't notice
the pinging
L840[16:08:23] <heretyui> uhm so... -
event onentityjoin (or woldgen for chest) - destroy the entity and
create a new entity with a multiplier set on the lootTable - let
the magic happen
L841[16:08:25] <heretyui> Sounds right
?
L842[16:08:31] <zabi94> no
L843[16:08:31]
⇨ Joins: candybar
(~foo@adsl-074-181-053-011.sip.sav.bellsouth.net)
L844[16:08:37] <zabi94> don't destroy the
entity
L845[16:08:41] <gigaherz> no need to
destroy
L846[16:08:42] *
LexManos facepalsm
L847[16:08:45] <LexManos> seriously
L848[16:08:51] <LexManos> do you want us
to writ the mod for you?
L849[16:08:51] <zabi94> just replace the
lootTable with yours
L850[16:09:02] <gigaherz> the game already
has ways to replace the loot table for an entity, that's how
commandblocks can do it
L851[16:09:04] <heretyui> but if the
lootTable is in the constructor do I have a choice ? Or is the
table public ?
L852[16:09:10] <heretyui> Ok ok
sorry
L853[16:09:11] <LexManos> we've explained
how to do it in all but giving you code.
L854[16:09:12] <LatvianModder> lol
destroy.. that would create a loop of events and kill mC
L855[16:09:14] ⇦
Quits: founderio
(~Thunderbi@p200300C4E3C164001F65E75F74E8E63F.dip0.t-ipconnect.de)
(Quit: founderio)
L856[16:09:35] <gigaherz> hmm although
only the minecarts have a setLootTable hmm XD
L857[16:09:50] <heretyui> Sorry I just
assumed I need to do it, because I saw "constructor"
being mentionned
L858[16:10:03] <heretyui> But it's
obviously not necessary in this case
L859[16:10:09] <gigaherz> heretyui:
anywhere where accessing a provate thing is needed
L860[16:10:18] <heretyui> Ok right trying
it now, thanks a lot
L861[16:10:28] <gigaherz> if it's not
called too often, you have refletion
L862[16:10:33] <gigaherz> if it's called
too often to use reflection
L863[16:10:36] <gigaherz> thne you are
doing it wrong regardless
L864[16:10:56] <zabi94> that's what AT are
for :)
L865[16:11:10] <gigaherz> ATs turn your
mod into a coremod, even if you aren't ASMing
L866[16:11:14] <gigaherz> best avoided
;P
L867[16:11:28] ***
zabi94 was kicked by MineBot (Banned: (15) You're not
helping))
L868[16:11:44] <PaleoCrafter> Noice
L869[16:12:09] <PaleoCrafter> Also, method
handles
L870[16:12:17] <LexManos> ats dont
nessasarily turn you into a coremod, as Forge' controlls everyhting
to make sure you dont do somethign stupid
L871[16:12:19] <LexManos> but
SERIOUSLY
L872[16:12:24] <LexManos> ITS ONE FUCKING
FIELD IN THE ENTITY
L873[16:12:28] <LexManos> DEATH LOOT
TABLE
L874[16:12:30] <LexManos> set it and
DONE
L875[16:12:44] <LexManos> no
'constructors' no replacing entities, no nothing.
L876[16:12:50] <gigaherz> PaleoCrafter:
well in this case, a MH would be pointless, since it would be used
once per entity
L877[16:12:54] <LexManos> Just a Loot
table that runs another loot table multiple times
L878[16:13:17] <gigaherz> just keeping a
Field object around for later
L879[16:13:19] <PaleoCrafter> gigaherz,
wat?
L880[16:13:33] <gigaherz> MHs are bound to
one object instance, aren't they?
L881[16:13:56] <Ordinastie_> didn't you
already ask that question not so long ago ?
L882[16:13:57] <PaleoCrafter> You can bind
them, but that isn't permanent
L883[16:14:04] <LexManos> Method Handles
are not a valid option as we're on java 6
L884[16:14:42] <PaleoCrafter>
"Binding" just removes the need to provide the instance
as first parameter to invoke
L885[16:19:07] <gigaherz> then I
understood them completely wrong
L886[16:19:15] <gigaherz> my impression
was that a MH was only usable AFTER binding it to something
L887[16:20:13] <PaleoCrafter> Nah, that
wouldn't make any sense with regards to their implementation
:P
L888[16:20:24] <heretyui> ok so, I really
don't want to look like I'm not even trying but, even thought I was
able to find the methods "setLootTable", it's a tile's
method, not available on EntityLivingBase, am I doing something
wrong ?
L889[16:22:30] <LexManos> yes you are, try
again
L890[16:22:31] ⇦
Quits: Samario
(~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net) (Quit: You
think you are above consequences.)
L891[16:23:21] ⇦
Quits: justJanne (~justJanne@kuschku.de) (Remote host closed the
connection)
L892[16:23:39]
⇨ Joins: justJanne (~justJanne@kuschku.de)
L893[16:24:21] ⇦
Quits: bilde2910 (bilde2910@51.174.170.178) (Ping timeout: 195
seconds)
L894[16:24:42] ⇦
Quits: Jezza (~Jezza@92.206.33.136) (Ping timeout: 384
seconds)
L895[16:26:06]
⇨ Joins: bilde2910 (bilde2910@51.174.170.178)
L896[16:26:28] *** MineBot sets mode: -b
*!*@93.37.140.130
L897[16:27:11]
⇨ Joins: zabi94 (~zabi94@93.37.140.130)
L898[16:29:14] ⇦
Quits: candybar (~foo@adsl-074-181-053-011.sip.sav.bellsouth.net)
(Ping timeout: 384 seconds)
L899[16:32:01] ⇦
Quits: MalkContent (~MalkConte@p4FDCF9DD.dip0.t-ipconnect.de)
(Quit: Leaving)
L900[16:36:06]
⇨ Joins: Neon
(~Neon@p200300750D42A0009C2424B07D092053.dip0.t-ipconnect.de)
L901[16:36:28] <PaleoCrafter> What about
that logo competition btw, Lex? If you need the post again, I can
search for the link, it's saved to my pastebin account
L902[16:38:11] ⇦
Parts: zabi94 (~zabi94@93.37.140.130) ())
L903[16:38:48]
⇨ Joins: zabi94 (~zabi94@93.37.140.130)
L904[16:39:26]
⇨ Joins: candybar
(~foo@adsl-074-181-053-011.sip.sav.bellsouth.net)
L905[16:39:48] ***
amadornes[Streaming] is now known as amadornes
L906[16:39:48] <heretyui> I'm injecting
new nbt via readEntityFromNBT, to ovewrite DeathLootTable and I
need now to create a dummy lootTable that clone (and edit) the old
lootTable of the mob and remove the table uppon death
L907[16:40:11] <heretyui> create a dummy
lootTable that clone (and edit) the old lootTable of the mob and
remove the table uppon death
L908[16:40:34] <heretyui> But I'll have a
problem if the mob doesn't die ? (Like if it despawn, no ? )
L909[16:44:12] ***
Darkhax is now known as Darkhax_AFK
L910[16:46:25] <howtonotwin> can you not
set deathLootTable directly?
L911[16:46:48] <heretyui> It's private
howtonotwin (and I'm editting vanilla mobs)
L912[16:46:56] <howtonotwin> reflection or
an AT
L913[16:47:36] <heretyui> Isn't reflection
a bit heavy for something triggered at every mob spawn ?
L914[16:47:36] ⇦
Quits: ThePsionic (~ThePsioni@ip5457f909.direct-adsl.nl) (Quit:
Leaving)
L915[16:47:46] <howtonotwin> no
L916[16:47:50] <Ordinastie_> not if you do
it right
L917[16:47:59] <heretyui> I see
L918[16:48:37] <Corosus> just save a
reference to the field instead of fetching it every time, thats the
performance heavy part afaik
L919[16:49:13] <heretyui> So in this casr
I can directly pass in a "Ressource" instead of a
"Ressource Location" which means I don't have to allocate
the LootTable itself in the ressource manager
L920[16:49:18] <heretyui> Okay thanks you
!
L921[16:54:54] ⇦
Quits: zabi94 (~zabi94@93.37.140.130) (Read error: Connection reset
by peer)
L922[16:59:27] <Neon> Any idea where I can
find the code that makes slimes despawn after a while or instantly
depending on whether a player is near?
L923[17:02:02] <Neon> !help
L924[17:03:32] <Corosus>
EntityLiving.despawnEntity() does despawning for all living
ents
L925[17:04:12] ***
Darkhax_AFK is now known as Darkhax
L926[17:05:01]
⇨ Joins: zabi94 (~androirc@93.37.140.130)
L927[17:10:09] ⇦
Quits: Noppes (~Noppes@ip56530f2e.direct-adsl.nl) (Read error:
Connection reset by peer)
L928[17:11:00] ***
amadornes is now known as amadornes[OFF]
L929[17:14:34] <Neon> Still can't find it.
Must something special for slimes. The wiki states: Slimes will not
spawn within 24 blocks (spherical) of any player, and will despawn
over time if no player is within 32 blocks and instantly if no
player is within 128 blocks.
L930[17:17:26] <howtonotwin> that applies
to all mobs
L931[17:18:16] <Corosus> yeah for actual
spawning check out WorldEntitySpawner
L932[17:18:17] <Neon> Really? But that's
new, isn't it?
L933[17:18:20] <Corosus> prevents close to
player spawns
L934[17:18:33] <Corosus> its been like
this for a long time
L935[17:18:48] <Neon> Since 1.8?!
L936[17:18:58] <Corosus> and the despawn
things you mentioned are in the other method i linked
L937[17:19:28] <PaleoCrafter> 1.8 is
almost 2 years old :P
L938[17:19:47] <Neon> Yeah, but it's
pretty new relative to development speed.
L939[17:19:56] <PaleoCrafter> That's
almost 2/3 of
L940[17:20:19] <PaleoCrafter> Eh, 1/3 of
Minecraft's lifetime :P
L941[17:20:28] <heretyui> Will I have a
problem if I manually edit LootTableManager inside WorldObj using
reflection on each spawn ?
L942[17:20:58] <heretyui> (to add a new
table without loading a file)
L943[17:20:59] <howtonotwin> <C-A-h>
despawn entity: called by updateEntityActionState called by
onLivingUpdate called by onUpdate called by
World::updateEntities
L944[17:21:27] <howtonotwin> aka show call
hierarchy
L945[17:22:28] <Corosus> the general way
it despawns has been around for a long ass time before 1.8
L946[17:22:35] <Corosus> they just added
persistant entities at some point
L947[17:22:50] <howtonotwin> It's in 1.6
at least
L948[17:22:52] <howtonotwin> !!gm
despawnEntity 1.6.4
L949[17:22:53] <MCPBot_Reborn> === MC
1.6.4: net/minecraft/src/EntityLiving.despawnEntity (of.bo)
UNLOCKED ===
L950[17:22:53] <MCPBot_Reborn> Name : bo
=> func_70623_bb => despawnEntity
L951[17:22:54] <MCPBot_Reborn> Descriptor
: ()V
L952[17:22:55] <MCPBot_Reborn> AT : public
net.minecraft.src.EntityLiving func_70623_bb()V #
despawnEntity
L953[17:22:55] <Corosus> also made animals
not despawn
L954[17:22:55] <MCPBot_Reborn> Comment :
Makes the entity despawn if requirements are reached
L955[17:22:56] <MCPBot_Reborn> Last
Change: 2013-07-07 11:58:24-04:00 (_bot_update_)
L956[17:24:01] <Corosus> heretyui, i think
you could just get away with setting EntityLiving.deathLootTable on
spawn with your custom one, as its only set if null on mobs
death
L957[17:24:07] <PaleoCrafter> The method's
existence doesn't indicate the implementation was the same,
howtonotwin :P
L958[17:24:34] <howtonotwin> but the fact
that it
L959[17:24:50] <howtonotwin> 's called
despawnEntity implies that mob despawns have been around for a
while :P
L960[17:24:57] <howtonotwin> damn keyboard
>.<
L961[17:25:14] <PaleoCrafter> Well, of
course :P
L962[17:25:32] <PaleoCrafter> But this was
more about the requirements for the despawning
L963[17:25:45] <Corosus> yeah should more
be named 'tryToDespawn'
L964[17:26:08] <Corosus> if you blindly
trust method names created by the community, youre gonna have a bad
time
L966[17:30:38] <Neon> I was just wondering
why slime farming doesn't work anymore. Back then I built a tower
with a friend 2 by 2 chunks in the sea next to our house and there
were more slimes than air each time we visited it.
L967[17:31:06] <Neon> Now I'm running
around swamps for hours and nothing. Feels like a grindy
game.
L968[17:32:07] ⇦
Quits: Hgrebnednav (~Hgrebnedn@d8d872a6e.access.telenet.be) (Ping
timeout: 384 seconds)
L969[17:32:18] <Neon> And that when slime
balls are some of the top notch items.
L970[17:32:23] <Corosus> hrm
L971[17:32:36] <Corosus> these days i
always found them underground but not above
L972[17:33:02] <Neon> Yeah, we also found
one underground.
L973[17:33:27] <Corosus> 'this.posY >
50.0D && this.posY < 70.0D' maybe thats why tower doesnt
work anymore
L974[17:33:35] <Neon> Then we dug some
cellars for them and nothing spawns, probably because they're not
in the 32 blocks range, thus despawn so fast they can't gather
up.
L975[17:33:52] <Neon> No that's the swamp
part. The underground part is the other if.
L976[17:33:53] <Corosus> hrm even moon
phase is factored into slime spawning
L977[17:34:14] <Neon> Underground part
just checks for slime chunk and < 40Y.
L978[17:34:15] <howtonotwin> moon phase is
part of all hostile spawning iirc
L979[17:34:21] <Corosus> ah true
L980[17:34:34] <Neon> Probably for slimes
it's most important.
L981[17:35:46] <Neon> Now it all makes
sense. The slimes probably hadn't the auto-despawn timer, whereas
the other mobs had already. That's why they gathered so well.
L982[17:35:57] <Neon> Back then I
mean.
L983[17:36:16] <howtonotwin> ah no
L984[17:36:29] <howtonotwin> moon phase
affects slime spawns in a swamp
L985[17:36:30] <Neon> In the good old
times. When you needed to run around for hours to find 10 clay
blocks.
L986[17:37:15] <howtonotwin> and it
changes the buffs on other mobs
L987[17:37:32] <Neon> Yeah, the slime
chunk spawning is unaffected by the moon phase, but since they
added the 32 block limit slime chunks are probably rather
useless.
L988[17:39:01] <Neon> I mean, they will
not spawn within 24 blocks of the player, but will despawn after
time if a player is not within 32 blocks. So if you're in a slime
chunk, which is only 16 by 16, a slime can only spawn above or
below you (or in another slime chunk next to it, if you're
lucky).
L989[17:39:39]
⇨ Joins: Xilef11 (~xilef11@209.195.101.19)
L990[17:40:37] ⇦
Quits: heretyui (~IceChat9@131.159.150.77.rev.sfr.net) (Quit:
REALITY.SYS Corrupted: Re-boot universe? (Y/N/Q))
L991[17:41:03] ⇦
Quits: codahq (~codahq@c-73-65-219-228.hsd1.ut.comcast.net) (Ping
timeout: 206 seconds)
L992[17:41:17] ⇦
Quits: bilde2910 (bilde2910@51.174.170.178) (Ping timeout: 202
seconds)
L993[17:41:56] <Xilef11> I'm trying to
make an item that can be worn as both a Baubles amulet and in the
chestplate slot (without taking damage or adding protection). does
this look ok?
L995[17:42:42] ⇦
Quits: Neon
(~Neon@p200300750D42A0009C2424B07D092053.dip0.t-ipconnect.de)
(Quit: Leaving)
L996[17:42:44] <ShadwDrgn> couldn't you
just test it? those seem like super easy things to test
L997[17:43:44]
⇨ Joins: bilde2910 (bilde2910@51.174.170.178)
L998[17:45:01] <Xilef11> forgot to add the
crash log...
L999[17:45:43] <Xilef11> Just added it on
the same link
L1000[17:49:32] <howtonotwin> that would
be a problem with your ArmorMaterial it seems
L1001[17:51:36] <howtonotwin> it's trying
to access the array of damage reductions and is AIOoBE-ing
L1002[17:51:57] <howtonotwin> did you set
that array properly?
L1003[17:53:33] <Xilef11> oh... missed
the commas between the 0s :/
L1004[17:53:53] <howtonotwin> new int[4]
is less error-prone
L1005[17:54:05] <howtonotwin> arrays are
automatically filled with the default value
L1006[17:54:08] <howtonotwin> here
0
L1007[17:58:27]
⇦ Quits: CoderPuppy (~cpup@32.218.115.150) (Ping timeout: 186
seconds)
L1008[18:04:00]
⇨ Joins: cpup (~cpup@32.218.118.111)
L1009[18:07:22]
⇦ Quits: KGS (~KGS@h-155-4-129-249.na.cust.bahnhof.se) (Ping
timeout: 198 seconds)
L1010[18:08:21]
⇦ Quits: TechnicianLP
(~Technic@p4FE56F5C.dip0.t-ipconnect.de) (Ping timeout: 202
seconds)
L1011[18:12:57] <droidicus> PaleoCrafter,
you around?
L1012[18:13:11] <PaleoCrafter>
Sorta
L1013[18:13:47] <droidicus> ok, question
for you, no problem if you don't have time at the moment
L1014[18:14:16] <droidicus> when I make a
universal bucket with a crafting recipe the NBT tag data is
different then when I cheat in one with JEI
L1015[18:14:27]
⇦ Quits: cpup (~cpup@32.218.118.111) (Ping timeout: 186
seconds)
L1016[18:15:01] <droidicus> the JEI
cheated version has an extra tag "ForgeCaps" ->
"{}"
L1017[18:15:08] <droidicus> am I doing
something wrong?
L1018[18:16:19] <PaleoCrafter> I'm not
sure, but I think the cap tag is created on demand
L1019[18:16:33] <PaleoCrafter> So nothing
to worry about
L1020[18:17:07] <droidicus> hmm, I need
to re-write the custom IRecipe to ignore it then
L1021[18:17:27]
⇦ Quits: Xilef11 (~xilef11@209.195.101.19) (Quit:
Leaving)
L1022[18:17:38] <droidicus> since
ItemStack.areItemStackTagsEqual(required, present) is returning
false
L1023[18:17:46] <droidicus> oh well,
thanks!
L1024[18:20:10]
⇨ Joins: cpup (~cpup@32.218.118.151)
L1025[18:20:11]
⇨ Joins: Kodos
(~Kodos@2602:306:ce20:6c30:c538:d4a6:3fae:bd87)
L1026[18:20:42] <LexManos> ForgeCaps
should only exist if there are caps
L1027[18:21:30] <PaleoCrafter> Might be
worth pinging mezz then, maybe JEI is doing something wrong
L1028[18:30:50]
⇦ Quits: Tahg
(~Tahg@pool-72-74-136-63.bstnma.fios.verizon.net) (Ping timeout:
206 seconds)
L1029[18:31:37]
⇦ Quits: Gigabit101
(~Gigabit10@cpc76690-cosh16-2-0-cust331.6-1.cable.virginm.net)
(Ping timeout: 384 seconds)
L1030[18:32:31]
⇨ Joins: Gigabit101
(~Gigabit10@cpc76690-cosh16-2-0-cust331.6-1.cable.virginm.net)
L1031[18:33:07]
⇦ Quits: Nentify (uid14943@2604:8300:100:200b:6667:1:0:3a5f)
(Quit: Connection closed for inactivity)
L1032[18:33:41]
⇨ Joins: CoderPuppy (~cpup@32.218.118.202)
L1033[18:35:27]
⇨ Joins: Tahg
(~Tahg@pool-72-74-136-63.bstnma.fios.verizon.net)
L1034[18:35:27]
MineBot sets mode: +v on Tahg
L1035[18:35:40]
⇦ Quits: cpup (~cpup@32.218.118.151) (Ping timeout: 206
seconds)
L1036[18:37:43]
⇨ Joins: Vaht
(~Tahg@pool-72-74-136-63.bstnma.fios.verizon.net)
L1037[18:37:43]
MineBot sets mode: +v on Vaht
L1038[18:38:37] ***
PaleoCrafter is now known as PaleOff
L1039[18:40:03]
⇦ Quits: Tahg
(~Tahg@pool-72-74-136-63.bstnma.fios.verizon.net) (Ping timeout:
186 seconds)
L1040[18:44:12] <illy> Lex, just finished
the Jenkins portion of the PR bot and it should be ready for
you
L1041[18:51:21]
⇨ Joins: cpup (~cpup@32.218.118.227)
L1042[18:53:09]
⇦ Quits: CoderPuppy (~cpup@32.218.118.202) (Ping timeout: 202
seconds)
L1043[18:55:19] ***
MrKickkiller is now known as MrKick|Away
L1044[18:58:56] <droidicus> mezz, I just
verified that the JEI cheated item has the tag tag
"ForgeCaps" -> "{}", and the creative mode
cheated item does not, so the two different methods of getting an
item do not result in the same NBT data
L1045[19:07:47]
⇦ Quits: cpup (~cpup@32.218.118.227) (Ping timeout: 186
seconds)
L1046[19:08:14] <LexManos> As I
said
L1047[19:08:26] <LexManos> the NBT for
caps is only added if there is a cap that needs to be
serialized
L1048[19:08:29] <LexManos> it should
never be empty
L1049[19:08:33] <LexManos> not sure what
the hell JEI is doing
L1050[19:09:05] <LexManos> either way you
could explicitly ignore that data in your recipe or better yet,
explititly only use the data in which you need in the recipe and
ignore the rest of the NBT
L1051[19:13:34]
⇨ Joins: cpup (~cpup@32.218.119.0)
L1052[19:14:36] <droidicus> got it,
thanks
L1053[19:28:03]
⇦ Quits: cpup (~cpup@32.218.119.0) (Ping timeout: 186
seconds)
L1054[19:28:17]
⇦ Quits: Benimatic
(~Benimatic@cblmdm72-241-108-184.buckeyecom.net) (Ping timeout: 384
seconds)
L1055[19:31:39]
⇨ Joins: blood_
(unknown@ool-4574115b.dyn.optonline.net)
L1056[19:33:30]
⇦ Quits: Snapples (uid167569@id-167569.highgate.irccloud.com)
(Quit: Connection closed for inactivity)
L1057[19:33:49]
⇨ Joins: cpup (~cpup@32.218.119.31)
L1058[19:37:22]
⇨ Joins: CoderPuppy (~cpup@32.218.119.57)
L1059[19:40:17]
⇦ Quits: IceDragon (~ThatGuy@184.170.51.21) (Ping timeout:
202 seconds)
L1060[19:42:27]
⇦ Quits: cpup (~cpup@32.218.119.31) (Ping timeout: 384
seconds)
L1061[19:42:46]
⇨ Joins: Benimatic
(~Benimatic@cblmdm72-241-108-184.buckeyecom.net)
L1062[19:49:15]
⇦ Quits: Kano
(~Kano@107-209-128-138.lightspeed.mssnks.sbcglobal.net) (Ping
timeout: 384 seconds)
L1063[19:49:36]
⇨ Joins: Kano
(~Kano@107-209-128-138.lightspeed.mssnks.sbcglobal.net)
L1065[19:49:59]
⇨ Joins: IceDragon (~ThatGuy@184.170.5.160)
L1066[19:50:18]
⇨ Joins: Lylac
(~Tamtam18_@c-73-96-85-25.hsd1.or.comcast.net)
L1067[19:50:57]
⇦ Quits: RichardG (~richardg8@201.37.245.13) (Ping timeout:
384 seconds)
L1068[19:53:06] <howtonotwin> what's
wrong with it?
L1069[19:54:09] <Ordinastie_> the
subArray is passed as 1 argument
L1070[19:59:35]
⇨ Joins: cpup (~cpup@32.218.119.99)
L1071[20:00:49]
⇦ Quits: CoderPuppy (~cpup@32.218.119.57) (Ping timeout: 202
seconds)
L1072[20:03:26]
⇦ Quits: illy
(~LordIllyo@2602:304:cf32:f980:d7b4:c6fb:fb09:5c82) (Quit:
Leaving)
L1073[20:04:47] <Ordinastie_> wait, nvm,
the params are already messed up at this point
L1074[20:05:04]
⇨ Joins: illy
(~LordIllyo@2602:304:cf32:f980:e002:875:7132:da37)
L1076[20:07:00] <Ordinastie_> yeah, it's
messed up before
L1077[20:07:41] <howtonotwin> How's it
"messed up before?" o_O
L1079[20:08:54]
⇨ Joins: CoderPuppy (~cpup@32.218.119.118)
L1080[20:08:56] <Ordinastie_>
processCallback takes Object... too
L1081[20:10:01] <howtonotwin> which
shouldn't change anything though
L1082[20:10:02] <Ordinastie_> need to
construct a new Object[] that encompass all
L1083[20:10:25] <howtonotwin> I think
you're actually cutting params up twice, but I don't know your
code
L1084[20:10:49] <howtonotwin> Once for
the args of processListeners and once more inside call itself
L1085[20:10:58] <howtonotwin> oh wait
nvm
L1086[20:11:09] <howtonotwin> my brain is
broken xD
L1087[20:13:27] <howtonotwin> yep just
tested, a method taking Object... can pass them to another method
taking Object... directly
L1088[20:13:52]
⇦ Quits: Girafi (Girafi@0x555178eb.adsl.cybercity.dk) (Read
error: Connection reset by peer)
L1089[20:14:11]
⇦ Quits: cpup (~cpup@32.218.119.99) (Ping timeout: 384
seconds)
L1090[20:14:59]
⇨ Joins: Kenny164
(~pkinney@host86-129-10-179.range86-129.btcentralplus.com)
L1091[20:15:09] <howtonotwin> if i change
thingy to thingy(Object... things) { doSome(things); }, the
bytecode is just "aload_0; invokestatic doSome;
return"
L1092[20:15:09] <Ordinastie_> I know
that's why I was confused
L1093[20:15:21] <Ordinastie_> didn't
realised that it was passing a nested array
L1094[20:15:59] <howtonotwin> there
weren't any nested arrays though... Unless I'm blind/stupid (which
is likely)
L1095[20:17:13] <Ordinastie_> they are,
the last screen makes it
L1096[20:18:05] <Ordinastie_>
processCallbacks makes an Object[] from the 3 parameters Chunk,
BlockPos, Object[]
L1097[20:18:18] <Ordinastie_> it doesn't
automatically adds the params into the varargs
L1098[20:18:47] <Ordinastie_> that's why
I need to reconstruct a new Object[] where I concatenate all of
them
L1099[20:20:19] <Ordinastie_> trying to
find the proper concatenation
L1100[20:31:34]
⇨ Joins: cpup (~cpup@32.218.119.147)
L1101[20:33:29]
⇦ Quits: CoderPuppy (~cpup@32.218.119.118) (Ping timeout: 202
seconds)
L1103[20:34:59]
⇨ Joins: Cooler (~CoolerExt@117.248.11.164)
L1104[20:41:15] <Ordinastie_> ffs, why
doesn't it recognise it as the interface lambda shit :x
L1105[20:42:29] <howtonotwin> So you got
an array { Chunk, BlockPos, { Params, ... } }, right?
L1106[20:42:40] <Ordinastie_> before,
yes
L1107[20:42:43]
⇦ Quits: cpup (~cpup@32.218.119.147) (Ping timeout: 186
seconds)
L1108[20:42:46] <Ordinastie_> that's why
subarray wasn't working
L1109[20:42:51] <howtonotwin> why not
just array[2] somewhere
L1110[20:43:17] <Ordinastie_> because I
don't know beforehand the params
L1111[20:43:25] <Ordinastie_> that's why
it's Object...
L1112[20:43:34] <Ordinastie_> but I fixed
it already
L1115[20:45:11] <Ordinastie_> I just
can't seem to find the difference :s
L1116[20:48:25] <Ordinastie_> (I can cast
it, but I'd rather not)
L1117[20:48:38] <howtonotwin> your method
returns boolean and the first two CBRs return other types
maybe?
L1118[20:48:45]
⇨ Joins: cpup (~cpup@32.218.119.158)
L1119[20:49:06] <Ordinastie_> the
signatures match the interface's method
L1120[20:50:30] <howtonotwin> your
codebase is very intricate and I seem to stumbling all over myself
because of it xD
L1121[20:51:06] <Ordinastie_> that part
gets a bit more complicated than expected
L1122[20:51:52] <howtonotwin> and for the
array+varargs thing, in IChunkCallback::call(Object...), can you
not just pass params[2] to the other call instead of the current
solution?
L1123[20:54:37] <howtonotwin> so you
start with (BlockPos, Chunk, Object...), processCallbacks mangles
that to { C, P, { P... } }, which passes to call which extracts
them back out into (Chunk, BlockPos, Object...)
L1124[20:56:19] <Ordinastie_>
howtonotwin, do you mean where I call super.processCallbacks()
?
L1125[20:56:36] <howtonotwin> you leave
processListeners as it was before
L1126[20:56:58] <howtonotwin> so that you
have super.processCallbacks(chunk, listener, params)
L1127[20:57:04] <howtonotwin> this is
varargs
L1128[20:57:27] <howtonotwin> so it
mangles that to Object[] { chunk, listener, Object[] { params... }
}
L1129[20:57:36] <Ordinastie_> hum, maybe
that could work
L1130[20:57:39] <howtonotwin> and then
call receives the same mangled array
L1131[20:57:49] <Ordinastie_> not sure if
less confusing though
L1132[20:57:49] <howtonotwin> and you
extract out params with array[2]
L1133[20:58:04] <howtonotwin> (and a cast
to Object[])
L1134[20:58:23]
⇦ Quits: Gigabit101
(~Gigabit10@cpc76690-cosh16-2-0-cust331.6-1.cable.virginm.net)
(Ping timeout: 384 seconds)
L1135[20:59:47] <howtonotwin> probably
mine performs a tiny bit better but the JIT will likely fix that
:P
L1136[21:00:17] <howtonotwin> and
premature optimization is evil, ofc
L1137[21:00:32] <Ordinastie_> stil
haven't figure out why it doesn't find the functional interface
:s
L1138[21:00:42] <howtonotwin> what's the
error?
L1139[21:00:50] <howtonotwin> and you can
force it by @FunctionInterface
L1140[21:00:52] <howtonotwin> iirc
L1141[21:01:01] <howtonotwin>
*Functional
L1142[21:01:10] <Ordinastie_>
@FunctionalInterface doesn't nothing IIRC
L1143[21:01:13]
⇦ Quits: Abastro (~Abastro@112.166.128.227) (Ping timeout:
384 seconds)
L1144[21:01:16] <Ordinastie_> kinda like
@Override
L1145[21:01:34] <howtonotwin> I think it
makes the compiler complain if it isn't actually a functional
interface
L1146[21:01:40] <Ordinastie_> but they
are
L1147[21:02:01] <howtonotwin> so, what is
javac screaming at you for ;P
L1148[21:02:05] <Ordinastie_> The method
of(this::isChunkCollidable) is undefined for the type
ICallback.CallbackOption
L1150[21:02:44] <howtonotwin> of !=
or
L1152[21:03:54]
⇨ Joins: CoderPuppy (~cpup@32.218.119.203)
L1153[21:04:06] <tterrag> what is the sig
for isChunkCollidable ?
L1155[21:04:29] <howtonotwin>
ICallbackPredicate's apply has sig ([Ljava.lang.Object;)Z
L1156[21:04:53] <tterrag> Ordinastie_:
that is not a matching sig for Predicate
L1157[21:04:58] <Ordinastie_> yeah, must
be the vararg messing it up
L1158[21:04:59] <howtonotwin> the method
has (LChunk;LBlockPos;[LObject;)Z
L1159[21:05:00] <tterrag> so it cannot be
converted into a Predicate lambda
L1160[21:05:01] <howtonotwin> not the
same
L1161[21:05:09] <tterrag> it's not even
close
L1162[21:05:12] <tterrag> it's not the
varargs...
L1163[21:05:13]
⇦ Quits: cpup (~cpup@32.218.119.158) (Ping timeout: 202
seconds)
L1164[21:05:17] <LexManos> the
fuck...
L1165[21:05:30] <tterrag> predicate is
x->boolean
L1166[21:05:46] <Ordinastie_> it's not
java or guava predicate
L1167[21:05:48] <Ordinastie_> it's
mine
L1168[21:05:51] <howtonotwin> remember
that varargs are actually arrays, so you're trying to squash 3
params into one Object[]
L1169[21:06:13] <howtonotwin> and you
can't do that because type safety
L1170[21:06:31] <howtonotwin> if the
first elem isn't a Chunk: Boom!
L1171[21:06:58] <Ordinastie_> that
doesn't matter, that would break at call time
L1172[21:07:12] <howtonotwin> that
defeats the purpose of generics
L1173[21:07:19] <howtonotwin> like
completely
L1174[21:07:43] <howtonotwin> not
generics: The entire TYPE SYSTEM
L1175[21:08:14] <tterrag> yeah, the
compiler is seeing A: (Object[]) B: (x, y, Object[])
L1176[21:08:17] <tterrag> that cleary
does not match
L1177[21:08:19] <howtonotwin> how in cake
do you think the compiler will allow you to do that
L1178[21:08:32] <tterrag> this code is
hacky
L1179[21:08:42] <Ordinastie_> I was
right, it's the varargs
L1180[21:08:50] <howtonotwin> it's not
the varargs
L1181[21:08:52] <tterrag> ...
L1182[21:09:00] <howtonotwin> it's the
fact that these signatures are not the same
L1183[21:09:19] <howtonotwin> you can get
rid of the varargs and nothing will change
L1184[21:09:20] <tterrag> apply(Object...
params) is the stupidest signature I've ever seen
L1185[21:09:25] <tterrag> let's end the
convo there...
L1186[21:09:34] <tterrag> how are you
meant to do anything useful with that?
L1187[21:09:50] <Ordinastie_> they are
the same, the signature for IChunkCallbackPredicate is : public
boolean apply(Chunk chunk, BlockPos listener, Object...
params);
L1189[21:12:29] <tterrag> yeah, that
looks horrible
L1190[21:12:47] <Ordinastie_> don't
really have a better alternative right now
L1191[21:13:08] <tterrag> also, you never
posted IChunkCallbackPredicate, just a bunch of interfaces with
annoyingly similar names
L1192[21:13:18] <howtonotwin> the repo is
on github
L1193[21:13:24] <tterrag> it is yes
L1194[21:13:27] <Ordinastie_> not up to
date on github
L1195[21:13:33] <howtonotwin> well
then
L1196[21:13:36] <tterrag> but excuse me
for misreading 'IChunkCallbackPredicate' as
ICallbackPredicate
L1197[21:13:44] <Ordinastie_> :p
L1198[21:14:03]
⇨ Joins: cpup (~cpup@32.218.119.231)
L1199[21:14:03] <Ordinastie_> the
functional part of it works
L1200[21:14:13] <Ordinastie_> what
doesn't work is the generic inference of the static call
L1201[21:14:25] <howtonotwin> at this
point just use scala's Function* types :P
L1202[21:14:32] <Ordinastie_> which is
broken when a vararg is involved
L1203[21:14:37] <howtonotwin> will likely
look cleaner :P
L1204[21:14:55] <Ordinastie_> except for
the scala part...
L1205[21:15:16] <howtonotwin> it's
interface is literally the same as yours rn
L1206[21:15:51] <howtonotwin> except
generic
L1207[21:17:20] <Ordinastie_> tterrag,
but i'm serious, if you have a better solution, I'm all ears
L1208[21:17:21]
⇦ Quits: CoderPuppy (~cpup@32.218.119.203) (Ping timeout: 202
seconds)
L1209[21:17:32] <tterrag> I don't know
your system or what you need
L1210[21:18:27]
⇨ Joins: Gigabit101
(~Gigabit10@cpc76690-cosh16-2-0-cust331.6-1.cable.virginm.net)
L1211[21:18:32] <Ordinastie_> generic
callback system, with lambdas and predicates, not bound by the
number or type of parameters
L1212[21:19:12] <Ordinastie_> the
IChunkCallback stuff gets even messier because it's another layer
on top of that
L1213[21:21:18] <howtonotwin> Not sure if
making that perfect is possible in Java (aimed at both of you) xD
And even in Scala you'd have to go ham with the type system, likely
implement HList, and make scalac cry salty tears as you work it
like a Turing machine.
L1214[21:23:25]
⇦ Quits: Gigabit101
(~Gigabit10@cpc76690-cosh16-2-0-cust331.6-1.cable.virginm.net)
(Ping timeout: 202 seconds)
L1215[21:23:41] <tterrag> I feel like
that concept in general is just at odds with programming/OO
L1216[21:23:45]
⇨ Joins: Gigabit101
(~Gigabit10@cpc76690-cosh16-2-0-cust331.6-1.cable.virginm.net)
L1217[21:23:48] <tterrag> you might want
to rethink your design
L1218[21:23:55] <tterrag> or not, I'm not
the code police
L1219[21:24:49]
⇦ Quits: cpup (~cpup@32.218.119.231) (Ping timeout: 202
seconds)
L1220[21:25:43]
⇨ Joins: cpup (~cpup@32.218.119.231)
L1221[21:29:58] <Ordinastie_> lol, I
don't know what happened, but I can't place the torches in my
hotbar
L1222[21:30:01] <howtonotwin> Honestly
though, there's a big fat FP-oriented library right next to us in
Forge. With Futures and Actors and predefined tuples and functional
interfaces. And NO ONE thinks to use them before rolling their
own.
L1223[21:30:18] <Ordinastie_> when I put
the breakpont in chunk.setBlockState, I noticed it tries to place
snowy dirt ><
L1224[21:30:20] <Ordinastie_> wtf
L1225[21:30:33] <howtonotwin> the only
acceptable response to that is "wat"
L1226[21:31:56] <howtonotwin> main =
putStrLn $ show $ concat $ replicate "wat"
L1227[21:32:32] <illy> {} + []
L1228[21:32:58] <howtonotwin>
s/replicate/repeat/
L1229[21:32:59] <howtonotwin> :P
L1230[21:33:21] <howtonotwin> and s/\$
show//
L1231[21:33:58] <howtonotwin> My haskell
is rusty >.<
L1232[21:34:00]
⇨ Joins: codahq
(~codahq@c-73-65-219-228.hsd1.ut.comcast.net)
L1233[21:34:32] <illy> Woo fixed the damn
Jenkins notifier damn you json >.>
L1234[21:35:09] <howtonotwin> Why does
everyone hate JSON all of a sudden xD
L1235[21:35:20] <howtonotwin> would you
rather use XML
L1236[21:36:32]
⇨ Joins: CoderPuppy (~cpup@32.218.112.9)
L1237[21:36:50] <Ordinastie_> ok, that
explains
L1238[21:37:12] <Ordinastie_> the fact I
couldn't place the torch is my fault
L1239[21:37:20] <Ordinastie_> but totally
unrelated to the breakpoint
L1241[21:39:48] <illy> namely the
"status" field didn't exist
L1242[21:41:27]
⇦ Quits: cpup (~cpup@32.218.119.231) (Ping timeout: 384
seconds)
L1243[21:41:47] <Ordinastie_> quick
question :
L1245[21:41:59] <Ordinastie_> should I
reverse the logic of the return value ?
L1246[21:43:20] <howtonotwin> no
L1247[21:44:17] <howtonotwin> it doesn't
really seem right for true to mean failure, especially as the
method name doesn't convey a negative
L1248[21:44:37] <Ordinastie_> so you mean
I should reverse it
L1249[21:44:49] <Ordinastie_> right now,
true cancels the placement
L1250[21:45:03] <howtonotwin> "true,
if the block is allowed to be placed, false to cancel block
placement"
L1251[21:45:07] <howtonotwin>
<Ordinastie_> right now, true cancels the placement
L1252[21:45:08]
⇦ Quits: IceDragon (~ThatGuy@184.170.5.160) (Ping timeout:
206 seconds)
L1253[21:45:10] <howtonotwin> wat
L1254[21:45:48]
⇨ Joins: cpup (~cpup@32.218.112.23)
L1255[21:46:03]
⇨ Joins: IceDragon (~ThatGuy@184.170.53.185)
L1256[21:46:03] ***
Abrar|gone is now known as AbrarSyed
L1257[21:46:12] <howtonotwin> but my
verdict is true = allow place false = deny
L1258[21:46:27] <howtonotwin> and
possible rename the method to allowBlockPlace
L1259[21:46:28]
⇨ Joins: Dimitriye98
(~Dimitriye@c-73-252-165-178.hsd1.ca.comcast.net)
L1260[21:46:45] <howtonotwin> or maybe
something in between
L1261[21:47:13]
⇦ Quits: CoderPuppy (~cpup@32.218.112.9) (Ping timeout: 202
seconds)
L1262[21:48:13] <Ordinastie_> rah, and I
find it so annoying that you can have private statics in interaces
:x
L1263[21:48:29] <howtonotwin> y tho
L1264[21:48:59] <howtonotwin> you can
have static interface methods, and you might need private statics
for good code in those methods
L1265[21:49:40] <Ordinastie_> there is no
reason, that's why I think it's so annoying :x
L1266[21:50:22] <howtonotwin> Ordi, why
the heck are lines 47 and 54 in DIRECT FREAKING OPPOSITION to one
another
L1267[21:51:06] <Ordinastie_> because in
middle of refactoring
L1268[21:51:54] <Ordinastie_> actually,
they're not really opposite
L1269[21:51:57] <howtonotwin> well don't
just slap us with a javadoc that makes no sense and then proceed to
ask us about its validity
L1270[21:52:27] <Ordinastie_> hum, nvm,
it's opposite
L1271[21:52:36] <Ordinastie_> but that's
exactly why I'm asking
L1272[21:52:47] <Ordinastie_> during
refactoring, I somehow changed the logic
L1273[21:53:17] <howtonotwin> well if the
javadoc is invalid, half of us will read the top line and half the
bottom, and your feedback will be mangled
L1274[21:54:07] <howtonotwin> at least
proofread the thing to ensure sanity xD
L1275[21:54:07] <Ordinastie_> well, I
wasn't asking what it was currently doing, I was asking what would
make the most sense for the method to return
L1276[21:54:19]
⇦ Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping
timeout: 206 seconds)
L1277[21:54:29]
⇦ Quits: candybar
(~foo@adsl-074-181-053-011.sip.sav.bellsouth.net) (Ping timeout:
384 seconds)
L1278[21:54:36] <howtonotwin> anyway,
about statics in interfaces, may I introduce you to typeclasses
:P
L1279[21:55:00] <Ordinastie_> if you talk
to me about scala again, I swear I'll find where you live
L1280[21:55:20] <howtonotwin> those are
more haskell xD
L1281[21:55:33] <howtonotwin> find and
kill sham first
L1282[21:58:51]
⇨ Joins: McJty
(~jorrit@94-225-203-206.access.telenet.be)
L1283[22:00:59]
⇦ Quits: Lylac (~Tamtam18_@c-73-96-85-25.hsd1.or.comcast.net)
(Quit: z.z)
L1284[22:04:45] ***
Vigaro is now known as V
L1285[22:05:18]
⇨ Joins: candybar
(~foo@adsl-074-181-053-011.sip.sav.bellsouth.net)
L1286[22:05:31] <sham1> meh
L1287[22:12:34]
⇦ Quits: howtonotwin
(~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net)
(Quit: Pop!)
L1288[22:13:52] <tterrag> I wonder if
on-demand model baking would be useful/possible ?
L1289[22:14:05] <tterrag> it would
certainly reduce the memory footprint as I'm sure the majority of
models are never seen
L1290[22:14:17] <tterrag> but it could
result in a lot of micro stutters (at least at the start)
L1291[22:15:24]
⇦ Quits: quadraxis
(~quadraxis@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net)
(Quit: ChatZilla 0.9.92 [Firefox
48.0.2/20160823121617])
L1292[22:15:25] <Ordinastie_> lazy
loading them ?
L1293[22:15:44] <tterrag> yes
L1294[22:16:02] <Ordinastie_> is memory
even an issue ?
L1295[22:16:05] <Ordinastie_> *ever
L1296[22:16:06] <tterrag> yes, very
much
L1297[22:16:11] <tterrag> go load up a
large 1.10 pack
L1298[22:16:18] <tterrag> watch it
swallow up >4G before the main menu
L1299[22:16:43] <TehNut> ^
L1300[22:16:52] <Ordinastie_> then maybe
it would be worth it
L1301[22:16:57] <tterrag> that's what I'm
thinking
L1302[22:17:00] <tterrag> I just wonder
how difficult it would be
L1303[22:17:04] <Ordinastie_> until one
skims through JEI pages :p
L1304[22:17:05]
⇦ Quits: alekso56 (~znc@2001:464b:c2aa:0:745d:45ff:fe3b:a098)
(Ping timeout: 202 seconds)
L1305[22:17:18] <tterrag> yeah, something
like JEI would nullify the benefit
L1306[22:17:20] <tterrag> though not
entirely
L1307[22:17:57] <tterrag> see:
fences
L1308[22:18:20] <TehNut> If needed, JEI
could probably display a temporary model until one is baked
L1309[22:18:51] <Ordinastie_> and JEI
caches the output itself, so maybe allow not caching the model in
some cases
L1310[22:18:52] <tterrag> afaik JEI
already does some preloading
L1311[22:19:20] <tterrag> so it would be
pretty easy to just load the models during world load phase,
instead of actuall during GUI open
L1312[22:19:33] <tterrag> but yeah, JEI
isn't something I considered. that would be an issue
L1313[22:19:45]
⇨ Joins: alekso56
(~znc@2001:464b:c2aa:0:745d:45ff:fe3b:a098)
L1314[22:20:06] <TehNut> I think I worded
what I said wrong
L1315[22:20:31] <TehNut> I mean, JEI
doesn't cause any models to be baked. It checks if one is there and
if it doesn't find it, just render a temporary
L1316[22:20:40] <TehNut> When one gets
baked from normal means, start showing that
L1317[22:22:40] <Ordinastie_> hum, that's
annoying too, as some point, an array of AABB gets passed as a
single argument, and the varargs split it :s
L1318[22:23:34] <tterrag> TehNut: that
would require async model loading
L1319[22:23:41] <tterrag> either that, or
just a lot of blank models which isn't useful
L1320[22:24:06] <Ordinastie_> tbh, I
would settle with lag the first time a new page is displayed in JEI
:p
L1321[22:24:08] <TehNut> I'm sure that if
somebody can't play because of RAM issues, they'll take "not
useful" over "not playable" anyday
L1322[22:25:51] <TehNut> Alternatively,
instead of a temporary model, just draw the texture icon as an
image
L1323[22:26:03] <Ordinastie_> the
particle one ?
L1324[22:26:23] <tterrag> TehNut: how
would you konw the particle image?
L1325[22:26:24] <Ordinastie_> because
that's the only one available
L1326[22:26:27] <tterrag> that is a
factor of the model
L1327[22:26:33] <TehNut> i'unno
L1328[22:29:55] <tterrag> IModel does
have a way to get textures but that could be unreliable
L1329[22:33:17]
⇨ Joins: mallrat208
(~mallrat20@107-145-136-189.res.bhn.net)
L1330[22:36:51]
⇦ Quits: Lathanael|Away
(~Lathanael@p5496143e.dip0.t-ipconnect.de) (Ping timeout: 186
seconds)
L1331[22:40:11] <Ordinastie_> well, I
finally have back the functionnalities I had before refactoring
*_*
L1332[22:42:31] <illy> the old I
refactored everything and it all exploded?
L1333[22:43:13] <Ordinastie_> no, pretty
much works flawlessly after refactoring, it's just that the
refactoring itself was big :x
L1334[22:43:21]
⇨ Joins: Lathanael|Away
(~Lathanael@p54961F33.dip0.t-ipconnect.de)
L1335[22:45:31]
⇨ Joins: agowa339
(~Thunderbi@p54919DB3.dip0.t-ipconnect.de)
L1336[22:48:53]
⇦ Quits: agowa338 (~Thunderbi@p54919DC9.dip0.t-ipconnect.de)
(Ping timeout: 384 seconds)
L1337[22:48:54] ***
agowa339 is now known as agowa338
L1338[22:57:42] ***
Davnit_ is now known as Davnit
L1339[23:00:32]
⇦ Quits: Cooler (~CoolerExt@117.248.11.164) (Ping timeout:
206 seconds)
L1340[23:05:05]
⇨ Joins: escman1999
(~escman199@cpe-174-97-6-18.cinci.res.rr.com)
L1341[23:12:08] <escman1999> i'm curious,
with 1.10.2 forge, were stairs changed so they couldn't be opened
with blocks like stairs above them?
L1342[23:12:42] <McJty> Opening
stairs?
L1343[23:12:49] <McJty> You mean chests I
suppose?
L1344[23:13:03] <escman1999> yeah, that's
what i meant
L1345[23:13:18] <McJty> But to answer
your question: no idea really. Might be a vanilla change although I
haven't heard about that
L1346[23:15:29] <escman1999> without
forge installed, chests with stairs above them can be opened just
fine, but with forge installed, they can't be opened when stairs
are above them
L1347[23:16:56] <TehNut> Yes
L1348[23:17:04] <TehNut> You can only
open chests if it's not a full side above them
L1349[23:17:13] <TehNut> Forge considers
it a vanilla bug
L1350[23:17:38] <Ordinastie_> really?
that's dumb
L1351[23:17:38] <escman1999> oh
L1353[23:18:12] <McJty> That's indeed a
bit weird
L1354[23:18:40] <escman1999> it might be
pointless, but would it be possible to add a config option for
that?
L1355[23:18:57] <McJty> Doubtful
L1356[23:19:04] <McJty> Reading that
discussion it would mean special casing
L1357[23:19:06] <McJty> And that's not
very nice
L1358[23:19:13] <TehNut> Lex is very
adament on it staying how it is
L1359[23:20:08] <escman1999> oh, well
then i guess i'll just have to work around it then
L1360[23:21:02] <TehNut> Just put the
stair upsidedown with the open bit at the back
L1361[23:23:18] <escman1999> sadly, since
i'm using stairs for a roof, doing that doesn't work too well
L1362[23:23:42] <escman1999> but thanks
for the explanation anyway
L1363[23:24:40] <tterrag> this is why
mojang doesn't fix redstone :)
L1364[23:24:53] <tterrag> or most
gameplay "bugs" at this point
L1365[23:26:10] <tterrag> in other news,
gradle is telling me none of my deps exist (every import of a
library is a compile error)
L1366[23:26:18] <McJty> This is a case
where the line between bug and feature is hard to draw :-)
L1367[23:26:20] <tterrag> redoing entire
setup now, will update...
L1368[23:26:36] <Ordinastie_>
connectivity issue ?
L1370[23:26:50] <escman1999> oh, and
another thing, how hard was something like minecraft forge to
create?
L1371[23:26:54] <tterrag> Ordinastie_:
unlikely. seems like some cached stuff got deleted somehow
L1372[23:27:05] <TehNut> Did you
accidentally run gradlew clean?
L1373[23:27:12] <TehNut> escman1999:
Extremely.
L1374[23:27:15] <tterrag> escman1999: the
current forge is the product of years of development by many
people
L1375[23:27:46] <tterrag> TehNut: gradle
clean doesn't touch cached deps :P
L1376[23:28:00] <TehNut> I think I meant
cleanCache
L1377[23:28:03] <TehNut> Or
whatever
L1378[23:28:11] <TehNut> I accidentally
ran that once...
L1379[23:28:16] <tterrag> yeah
L1380[23:28:22] <tterrag> cleanCache as a
task needs to be removed
L1381[23:28:30] <tterrag> it should not
be so easy to delete gigs of data
L1382[23:28:38] <TehNut> It was right
above the task I meant to click on
L1383[23:28:43] <TehNut> RIP every
workspace
L1384[23:28:44] <tterrag> >click
on
L1385[23:28:48] <tterrag> non cmdline
scrub
L1386[23:28:53] <TehNut> IDEA has Gradle
support
L1387[23:28:57]
⇦ Quits: Kenny164
(~pkinney@host86-129-10-179.range86-129.btcentralplus.com) (Quit:
Bye)
L1388[23:29:01] <tterrag> so does eclipse
:D
L1389[23:29:05] <tterrag> your point?
:D
L1390[23:29:23] <TehNut> Easier to click
on stuff than Alt+F12 and type shit
L1391[23:29:23] <Ordinastie_> do you use
the gradle plugin ?
L1393[23:30:05] <TehNut> but yeah
L1394[23:30:26] <tterrag> Ordinastie_: I
don't
L1395[23:30:32] <tterrag> for multiple
reasons, but mainly because I don't need it
L1396[23:30:48] <Ordinastie_> I needed it
at some point
L1397[23:30:48] <escman1999> in my
opinion, mojang should hire you guys :D forge is great
L1398[23:31:21] <tterrag> they have hired
a good few, lol
L1399[23:31:21] <TehNut> Once I started
importing the gradle script, I stopped using cmdline to do setup
stuff
L1400[23:31:23]
⇦ Quits: IceDragon (~ThatGuy@184.170.53.185) (Ping timeout:
384 seconds)
L1401[23:31:26] <TehNut> ^
L1402[23:31:45] <tterrag> s.earge,
p.rofmobius
L1403[23:33:27] <tterrag> not stricly
forge devs, but contributed to the modding scene similarly
L1404[23:33:47] <escman1999> how come
they didn't hire lex as well? (i hope it's alright to ask..)
L1405[23:33:48] <TehNut> And then db from
bukkit
L1406[23:34:00] <tterrag> you'd have to
ask mojang
L1407[23:34:03] <TehNut> or was that
grum
L1408[23:34:12] <tterrag> grum was
bukkit, no?
L1409[23:34:20] <tterrag> idk
L1410[23:34:24] <tterrag> didn't follow
that scene
L1411[23:34:28] <TehNut> i don't pay
attention to mojang so i'unno
L1412[23:35:57]
⇦ Quits: Benimatic
(~Benimatic@cblmdm72-241-108-184.buckeyecom.net) (Ping timeout: 202
seconds)
L1413[23:37:34] <escman1999> if mojang
just hired the entire forge team, some things would be easier,
right?
L1414[23:37:58] <McJty> Being independent
also has its benefits
L1415[23:38:16] <McJty> i.e. Forge can do
things the way they want
L1416[23:38:20] <McJty> mostly
L1417[23:39:00] <escman1999> doesn't
forge have to wait for MCP before they can do stuff, though?
L1418[23:39:39] <LexManos> Yes 'Forge'
does.
L1419[23:40:07] <McJty> Anyway have to
go
L1420[23:40:09]
⇦ Quits: McJty (~jorrit@94-225-203-206.access.telenet.be)
(Quit: Leaving)
L1421[23:43:58] <tterrag> has calling
register(Block) always iterated over properties and called
getStateFromMeta ?
L1422[23:44:51] <Ordinastie_> building
the BlockStateContainer does
L1423[23:45:07] <Ordinastie_> but AFAIK,
registering doesn't
L1424[23:45:18] <tterrag> yeah, that's
what I thought. I think it changed though
L1425[23:45:19] <escman1999> lex, even
though i'm not a modder, i want to thank you for the hard work you,
and many others have done in creating the forge api
L1427[23:45:52] <tterrag> top of the call
stack is register()
L1428[23:46:05] <Ordinastie_> !gm
func_176203_a
L1429[23:46:20] <tterrag>
getStateFromMeta I assume
L1430[23:46:27] <tterrag> the call above
that is not an override....dirty hacks
L1431[23:47:02] <tterrag>
BlockCallbacks.add clearly iterates the properties
L1432[23:47:07] <tterrag> I'm going to
check when that was added
L1433[23:47:24] <tterrag> this semantic
change is not necessarily backwards compatible as I was setting up
some lookups for my blockstates post-registration
L1435[23:48:37] <tterrag> what does that
mean?
L1436[23:48:50] <LexManos> yes its not
backwards compatible if you do stupid shit like register partially
setup blocks
L1437[23:48:52] <LexManos> But thats on
you.
L1438[23:49:03] <LexManos> Point is we
need to do it to fix a major world bug, so we do.
L1439[23:49:48] <tterrag> it's not
impossible to fix, it just means I'll need two loops
L1440[23:50:03] <tterrag> one to setup
the lookup table before registration, and another to do things like
register items/oredict after
L1441[23:50:11] <tterrag> a tad annoying,
at most
L1442[23:50:28] <LexManos> What lookup
table?
L1443[23:51:05] <tterrag> my mod adds
blocks from json files. to save IDs I have compressed the types
into metadata. instead of using ints for meta I decided to take
advantage of states that hold proper objects
L1444[23:51:27] <tterrag> to do this, I
need to be able to compute valid states
L1445[23:51:38] <LexManos> First off
thats a bad idea, configurable blocks are really bad if done
incorrectly.
L1446[23:51:52] <LexManos> Second, You're
still limited to 16 meta so that you gotta deal with
L1447[23:51:54] <tterrag> I like to think
I've done it correctly, though I know of some improvements I could
make
L1448[23:51:57] <tterrag> yeah, I
know
L1449[23:52:01] <tterrag> it compresses
as much as possible
L1450[23:52:07] <tterrag> splitting over
as many blocks of 16 as needed
L1451[23:53:06] <LexManos> But ya either
way you shouldnt be registering blocks that are not fully
setup.
L1452[23:53:15] <LexManos> We need to do
this for stupid shit like vanilla doors
L1453[23:53:31] <LexManos> which have
>16 states, and get a invalid state->id map.
L1454[23:53:44] <tterrag> I see. well
like I said, it's annoying, but not unfixable
L1455[23:53:55] <tterrag> should already
have the fix done, pending run test
L1456[23:54:12] <escman1999> minecraft's
current codebase is terrible, right?
L1457[23:54:28] <tterrag> depends on
where you look
L1458[23:54:33] <tterrag> generally
though, I'd say 'yes'
L1459[23:54:49] <LexManos> General
statement: Its bad in a lot of place
L1460[23:55:00] <LexManos> Optomistic
statement: It has been getting better and better ove rhte last 2
years
L1461[23:55:06] <tterrag> ^^
definitely
L1462[23:55:19] <Ordinastie_> Lex, why
not simply do getStateFromMeta(0-15) directly ?
L1463[23:55:22] <LexManos> You know all
the changes modders have been bitching about?
L1465[23:55:38] <LexManos> Those are
changes that are making thigns BETTER.
L1466[23:55:42] <tterrag> Ordinastie_:
not all blocks will properly handle metas that don't exist
L1467[23:55:44] <LexManos> But poeople
just like to bitch.
L1468[23:55:51] <tterrag> i.e. wood
planks might bork on >5
L1469[23:55:54] <tterrag> who knows
L1470[23:55:56] <LexManos> And naw, dont
really care what you do ot fix your mod doesnt deal with me.
L1471[23:55:58] <tterrag> best to just
use the known properties
L1472[23:56:14] <escman1999> wasn't the
biggest change that annoyed people the 1.8 rendering change?
L1473[23:56:34] <LexManos> Ordinastie_,
Because that isnt always a valid option, and as garrett said could
cause unknown issues. This fixes it with as clean of a map as we
can.
L1474[23:56:38] <tterrag> I still think
the new rendering is annoying. but I also think it's beneficial.
the two aren't mutually exclusive ;)
L1475[23:56:44] <Ordinastie_> tterrag,
but vanilla does that though
L1476[23:56:51]
⇦ Quits: luacs1998 (~sayuka@abrarsyed.com) (Ping timeout: 186
seconds)
L1477[23:56:55] <LexManos> and doing
get(meta) doesnt solve the issue of multiple states pointing to the
same meta
L1478[23:57:49] <Ordinastie_> wait, it's
only for tripwire now
L1479[23:58:21] <Ordinastie_> don't know
what the set contained before
L1480[23:58:33] <escman1999> some things
that were possible in 1.7, aren't possible in 1.10 anymore,
right?
L1481[23:59:06] <LexManos> no
L1482[23:59:09]
⇦ Quits: Wuppy
(~wuppyZNC@2001:19f0:6400:8965:5400:ff:fe07:8777) (Ping timeout:
384 seconds)
L1483[23:59:10] <tterrag> yes
L1484[23:59:22] <LexManos> No, everything
is still possible.
L1485[23:59:25] <LexManos> Just in a
different way
L1486[23:59:28] <tterrag> no, I cannot
make a GL item render
L1487[23:59:31] <tterrag> with itemstack
context
L1488[23:59:33] <LexManos> Yes you
can
L1489[23:59:38] <tterrag> ***with
itemstack context***
L1490[23:59:39] <LexManos> You shouldnt
which is why we wont help you
L1491[23:59:42] <tterrag> TESRItem
doesn't help
L1492[23:59:44] <LexManos> Yes, you
can.
L1493[23:59:49] <tterrag> how
L1494[23:59:59] <LexManos>
<LexManos> You shouldnt which is why we wont help you