<<Prev
Next>>
Scroll to Bottom
Stuff goes here
L1[00:00:13] <Sollux-Captor> ok thanks
L2[00:00:32] <Cypher121> Sollux-Captor,
yes
L3[00:00:56] <Sollux-Captor> nice
Cypher121
L4[00:02:14] <Sollux-Captor> my mod is
having problems finding the mod info. idk what is up
L6[00:06:57] ⇨
Joins: PrinceCat
(~PrinceCat@58-7-240-130.dyn.iinet.net.au)
L7[00:14:34] ⇦
Quits: Meow-J (uid69628@id-69628.highgate.irccloud.com) (Quit:
Connection closed for inactivity)
L8[00:15:21] ⇦
Quits: Lunatrius (~Lunatrius@cpe-77.38.103.182.cable.t-1.si) (Ping
timeout: 194 seconds)
L9[00:17:29] <killjoy> Sollux-Captor, are
you sure it's not mcmod.info.txt?
L10[00:17:55] ⇦
Quits: BroadSight (~BroadSigh@ip72-216-44-137.pn.at.cox.net) (Quit:
Leaving)
L11[00:18:06] ***
kirby|gone is now known as mrkirby153
L12[00:18:12] ***
Abrar|gone is now known as AbrarSyed
L13[00:19:14] <Sollux-Captor> oh wasnt
paying attention. am i replying really late? it is just mcmod.info
killjoy
L14[00:19:22] <killjoy> k
L15[00:19:31] <killjoy> is it formatted
correctly?
L17[00:21:07] <killjoy> line 11
L18[00:22:03] <killjoy> Sollux-Captor,
^
L19[00:22:18] <Sollux-Captor> oh dont mind
that. uh... that "test" was typing i put in there when i
was editing it in past.ee
L20[00:22:26] <Sollux-Captor> let me get
you a new less edited version
L21[00:22:30] <killjoy> sure it was
L22[00:22:51] <killjoy> you should inspect
the log
L24[00:23:41] <Sollux-Captor> this is what
it looks like, i just substitued the names with x
L25[00:24:08] <Sollux-Captor> i put in
"test" before cause eh i was lazy and didnt want to
change the names
L26[00:24:09] <killjoy> modids match?
L27[00:24:12] <killjoy>
case-sensitive
L28[00:24:47] <Sollux-Captor> i see. i was
missing an s
L29[00:24:52] <Sollux-Captor> in
"Glassica"
L30[00:25:33] <killjoy> What's your mod
do?
L31[00:25:36] *
killjoy is curious
L32[00:26:05] <Sollux-Captor> semi
realistic glass making process
L33[00:26:16] <killjoy> oh?
L34[00:26:20] <Sollux-Captor> instead of
getting sand and smelting that, you must get silicon
L35[00:26:21] <killjoy> bottles
included?
L36[00:26:25] <Sollux-Captor> mhm
L37[00:26:36] <killjoy> glass blowing,
too?
L38[00:26:38] <Sollux-Captor> sand blocks
will drop silica
L39[00:26:47] <Sollux-Captor> idk yet.
maybe glass blowing
L40[00:27:20] <Sollux-Captor> but like, i
want to make an oxidizer machine that you can oxidate silicon in to
get silica
L41[00:27:36] <Sollux-Captor> and you can
make different glasses with soda and lime
L42[00:27:43] <Sollux-Captor> and a few
other material
L43[00:27:54] <Sollux-Captor> glass vat and
glass kiln
L44[00:28:08] <Sollux-Captor> and a bunch
of new glasses
L45[00:28:28] <Sollux-Captor> glass
staining will be a thing
L46[00:28:36] <Sollux-Captor> totaly
replace the current system
L47[00:30:49] <Sollux-Captor> may or may
not try to make a dynamic glass coloring system where you can
create any colored glass you want
L48[00:31:11] <Sollux-Captor> planned, but
as to when i will implement that is questionable
L49[00:31:14] ⇦
Quits: Drullkus (~Drullkus@c-67-180-188-243.hsd1.ca.comcast.net)
(Remote host closed the connection)
L50[00:33:05] ***
fry|sleep is now known as fry
L51[00:33:45] ⇨
Joins: Vaht
(~Tahg@pool-108-7-36-124.bstnma.fios.verizon.net)
L52[00:33:45]
MineBot sets mode: +v on Vaht
L53[00:36:07] ⇨
Joins: Fendirain
(~Fendirain@172-14-113-26.lightspeed.irvnca.sbcglobal.net)
L54[00:36:09] ⇦
Quits: Tahg (~Tahg@pool-108-7-36-124.bstnma.fios.verizon.net) (Ping
timeout: 194 seconds)
L55[00:37:34] ***
mrkirby153 is now known as kirby|gone
L56[00:40:03] ⇦
Quits: moog (~moog@24-176-156-144.dhcp.jcsn.tn.charter.com) (Ping
timeout: 194 seconds)
L57[00:47:56] <Sollux-Captor> im not too
sure what this is but can someone explain an enum ordinal to me
please?
L58[00:50:13] <Lymia> Java has enum
ordinals?
L59[00:50:23] <Sollux-Captor> welp it seems
as if it does
L60[00:50:53] <Lymia> . . .
L61[00:51:11] <Lymia> The only reason those
were ever a thing is because originally enums were syntatic sugar
over integers.
L62[00:51:14] <Lymia> In Java, they
aren't.
L63[00:51:25] <Lymia> But it appears to be
in Enum regardless. :<
L64[00:52:12] <shadekiller666> ordinal is
the "index" of the particular enum entry in the array of
entries
L65[00:53:00] <Sollux-Captor> so i if i
have enum i{ A, B, C, D} the ordinal @1 would be B ?
L66[00:53:14] <Lymia> I think.
L67[00:53:28] <Lymia> This feature gives me
a bad taste in my mouth though.
L68[00:53:31] <shadekiller666> yep
L69[00:53:45] <Sollux-Captor> ooh goody, i
can use that :D
L70[00:54:08] <shadekiller666> A.ordinal()
is 0 in that case
L71[00:54:55] <Sollux-Captor> sooo..
i.ordinal(1) would be ?
L72[00:55:04] ⇨
Joins: Meow-J
(uid69628@id-69628.highgate.irccloud.com)
L73[00:55:05] ⇦
Quits: ZaggyMobile2 (~Zaggy1024@174-20-167-106.mpls.qwest.net)
(Read error: Connection reset by peer)
L74[00:55:16] <Sollux-Captor> or does it
only apply to the values inside the enum
L75[00:56:08] ⇦
Quits: vectorwing (~vectorwin@191.17.171.249) (Quit:
Leaving)
L76[00:57:44] ***
AbrarSyed is now known as Abrar|gone
L77[01:03:11] ⇨
Joins: ZaggyMobile2
(~Zaggy1024@174-20-167-106.mpls.qwest.net)
L78[01:07:54] ***
minecreatr is now known as Mine|dreamland
L79[01:10:01] <Cypher121> Sollux-Captor,
ordinal is a method of enum, so it only applies to enums
L80[01:10:12] <Sollux-Captor> i see
L81[01:10:35] <Cypher121> what it returns
depends on value. and it's literally number of value
L82[01:11:08] <tterrag> when you say
`public enum Foo`
L83[01:11:15] <tterrag> what is compiled is
`public class Foo extends Enum<Foo>`
L84[01:11:33] <tterrag> and BAR; is
actually public static Foo BAR = new Foo();
L85[01:11:41] <tterrag> enums ARE just
syntax sugar, Lymia
L86[01:11:59] <Lymia> Over objects not ints
here though.
L87[01:11:59] <Cypher121> public final
class, I'd guess
L88[01:12:13] <tterrag> ah yes, they are
final
L89[01:12:36] <tterrag> Lymia: true, C#/C++
just use glorified ints afaik
L90[01:12:37] <Lymia> So ordinal is seems
to be more a feature because enums are historically syntactic sugar
over ints more than something that's part of being an enum.
L91[01:12:40] <tterrag> java enums are
OO
L92[01:13:02] <tterrag> you can define enum
members as anon classes ;)
L93[01:13:19] <tterrag> in fact I've abused
this quite heavily more than once
L94[01:13:40] <Cypher121> why would you do
that?
L95[01:14:04] <tterrag> simple example? let
me find it...
L96[01:14:11] <Cypher121> no-no-no
L97[01:14:24] <Cypher121> if there's a
simple example, there shouldn't be an anonymous enum
L98[01:14:37] <Cypher121> give me a complex
one
L99[01:14:48] <tterrag> you want the
big-un?
L100[01:14:51] <tterrag> ok, you asked for
it
L102[01:15:07] <tterrag> :)
L103[01:16:21] <Cypher121> oh, this
thing
L104[01:16:28] <Cypher121> yeah, I've seen
it already
L105[01:16:48] <shadekiller666> what
exactly are those methods overriding?
L106[01:17:07] <Cypher121> I thought you
meant like completely out of nowhere anon enum, not every member
being an anonymous subclass
L107[01:17:34] <Cypher121> shadekiller666,
enum has a method defined in it, and every instance of that enum
has that method overridden
L108[01:18:08] <shadekiller666> ok
L109[01:19:16] <Cypher121> I thought about
something like new Enum() { ... }
L110[01:20:25] ⇦
Quits: Ipsis (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk) (Quit:
Leaving)
L111[01:22:09] <tterrag> Cypher121: enums
can't extend anything, and anon classes require a class to extend
from
L112[01:22:34] <tterrag> shadekiller666:
the abstract methods?
L113[01:22:54] <tterrag> actually nothing
is abstract
L115[01:23:04] <tterrag> just empty
L116[01:24:32] <Cypher121> tterrag, Enum
itself can be extended, can't it?
L117[01:24:48] <killjoy> I don't know if
it is, but I don't recommend it.
L118[01:24:53] <Cypher121> of course
L119[01:25:02] ⇦
Quits: Doty1154 (~Doty1154@2601:648:8002:c1a1:c150:fad9:6a84:d19)
(Quit: Leaving)
L120[01:25:11] <Cypher121> but that's what
came to my mind at first
L121[01:25:16] <killjoy> though enum =
class Thing extends Enum<Thing>
L122[01:26:33] <Lymia> I suppose ints as
enums isn't even all that bad
L123[01:26:36] <Lymia> If you have strong
typing
L124[01:26:37] <Lymia> Unlike C
L125[01:28:10] <sham1> >unlike C
L126[01:28:11] <sham1> Dude
L127[01:31:45] <Lymia> (origin of enums in
the first place)
L128[01:35:41] <Lymia> tterrag, why is
Features an enum at all
L129[01:35:53] <Lymia> Instead of a normal
interface/superclass chain.
L130[01:35:57] <Lymia> Er, subclass*
L131[01:36:36] <tterrag> Lymia: how would
that look?
L132[01:37:04]
⇨ Joins: Elec332
(~Elec332@ip5456d4a5.speed.planet.nl)
L133[01:38:24] <Lymia> Split it off into a
superclass Feature, and the static methods into a FeatureManager
which keeps a list of features to keep track of.
L134[01:38:47] <Lymia> Then make the
individual features normal classes. Would be roughly the same
amount of code, but be extendable by third-party APIs.
L135[01:39:21] ⇦
Quits: NeonPhoenix
(~NeonPhoen@c110-23-26-218.rochd7.qld.optusnet.com.au) (Ping
timeout: 186 seconds)
L136[01:40:24]
⇨ Joins: Ipsis
(~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk)
L137[01:42:02]
⇨ Joins: NeonPhoenix
(~NeonPhoen@c110-23-26-218.rochd7.qld.optusnet.com.au)
L138[01:42:26] <Lymia> Eh...
L139[01:42:46] <Lymia> Not a big deal
either way.
L140[01:42:59] ⇦
Quits: PrinceCat (~PrinceCat@58-7-240-130.dyn.iinet.net.au) (Quit:
My Mac has gone to sleep. ZZZzzz…)
L141[01:43:11] <tterrag> Lymia: you want
me to create 50 classes?
L142[01:43:13] <tterrag> one for each
feature?
L143[01:43:18] <tterrag> in a separate
file?
L144[01:43:24]
⇨ Joins: alex_6611
(~alex_6611@p54936B44.dip0.t-ipconnect.de)
L145[01:43:39] <Lymia> That's Java's
problem. :/
L146[01:44:20] <fry> You do know that
nested classes are a thing, don't you? :P
L147[01:44:37] ⇦
Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 194
seconds)
L148[01:44:43] <Lymia> Ideally, you'd have
50 public classes in one file.
L149[01:45:46] <Lymia> Eh. But I guess
that might be a code style difference. I would rather not have a
static Configurations class at all, and would rather represent
enabled features with a list of feature objects.
L150[01:46:10] <McJty> Hmm. I'm trying to
make an entity similar to EntityFallingBlock but then for my own
block
L151[01:46:21] <McJty> But it is always
calling the constructor with just the world parameter
L152[01:46:38] <McJty> So my blockstate
isn't passed as a parameter
L153[01:46:58] <McJty> I wonder what I
have to do to make it work like the EntityFallingBlock does
L154[01:49:42] <McJty> oh, this is special
cased in EntityTrackerEntity
L155[01:50:42] <McJty> How can you make
your own spawn packet like is done for vanilla entities in
EntityTrackerEntry?
L156[01:52:07]
⇨ Joins: Hunterz (~hunterz@62.182.234.189)
L157[01:54:41] ⇦
Quits: VikeStep (~VikeStep@120.156.54.17) (Ping timeout: 189
seconds)
L158[01:55:06] ⇦
Quits: McJty (~jorrit@94-225-203-206.access.telenet.be) (Quit:
Leaving)
L159[01:57:25] ⇦
Quits: NeonPhoenix
(~NeonPhoen@c110-23-26-218.rochd7.qld.optusnet.com.au) (Read error:
Connection reset by peer)
L160[02:00:02] <MCPBot_Reborn> [TEST CSV]
Pushing snapshot_20160213 mappings to Forge Maven.
L161[02:00:06] <MCPBot_Reborn> [TEST CSV]
Maven upload successful for mcp_snapshot-20160213-1.8.9.zip
(mappings = "snapshot_20160213" in build.gradle).
L162[02:00:16] <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/
L163[02:01:25]
⇨ Joins: NeonPhoenix
(~NeonPhoen@c110-23-26-218.rochd7.qld.optusnet.com.au)
L164[02:05:18] <tterrag> Lymia: that's
exactly what I did
L165[02:05:33] <tterrag>
Features.FOO.enabled()
L166[02:07:46]
⇨ Joins: Unh0ly_Tigg
(~Robert@c-76-115-95-185.hsd1.or.comcast.net)
L167[02:13:24] <tterrag> hey fry, is there
any way to get this shape to blend evenly throughout, instead of
just at the center?
http://puu.sh/n69Zg.png
L168[02:13:56] <fry> what?
L169[02:14:12] <tterrag> let me get a
clearer example
L171[02:14:54] <tterrag> notice how the
blending is smooth at the center line but not as it goes towards
the point
L174[02:16:03] <tterrag> that's how I
generate the color then I just apply next_color to the forwardmost
vertex on each tri
L175[02:16:08] <fry> use more
triangles
L176[02:16:23] <tterrag> ._.
L177[02:16:23] <tterrag> lol
L178[02:16:25] <fry> or write a pixel
shader
L179[02:16:40] <tterrag> hey yeah that
looks pretty good
L180[02:16:48] <fry> or make up and down
points white
L182[02:16:59] <fry> or generally the same
color
L183[02:17:09] <tterrag> only 594 verts
for the whole render :P
L184[02:17:28] <fry> try white
corners
L185[02:17:55]
⇨ Joins: Larry1123 (Larry1123@irc.larry1123.net)
L187[02:19:02] <tterrag> but not as nice
looking :P
L188[02:19:11] <tterrag> interesting in a
different way though
L189[02:19:32] <fry> reduce brightness of
corners by like 40%
L190[02:19:44] <tterrag> only 30 verts
:P
L191[02:19:54] <tterrag> brightness
meaning saturation?
L192[02:20:02] <fry> and like 10 verts
should be enough
L193[02:20:20] <fry> saturation is 0 for
white
L194[02:20:22] <tterrag> oh you mean like
0.7, 0.7, 0.7 at the corners
L197[02:21:16] <tterrag> fry: yes I know,
I could be indexing but I'm not
L198[02:21:17] <tterrag> laziness
L199[02:21:39] <fry> indexing?
L200[02:21:59] <fry> and in the last pic
you indeed reduced saturation, and not brightness
L201[02:22:01] <tterrag> I got it down to
24 verts (5 points) but now it's a bit stuttery
L202[02:22:12] <fry> since you got
color
L203[02:22:14] <tterrag> fry: I did
exactly what you said, corners are now 0.7*3
L205[02:22:31] <tterrag> varr[0].c =
{0.7f, 0.7f, 0.7f};
L206[02:22:33] <tterrag> .-.
L207[02:22:51] <tterrag> fry: yeah
indexing the triangulation and using quads instead
L208[02:22:56] <tterrag> would save 2
verts per point
L209[02:23:02] <fry> interpolation is
fucky then
L210[02:23:10] <tterrag> how so? seems
fine to me
L211[02:23:22]
⇨ Joins: Noppes
(~Noppes@82-168-99-26.ip.telfort.nl)
L212[02:23:28] <fry> color gets too close
to the corner
L213[02:23:34] <fry> but meh
L214[02:23:46] <tterrag> technically it
should get all the way to the corner except for the very last
pixel
L215[02:23:51] <tterrag> no?
L217[02:24:08] <tterrag> that's what I see
:P
L218[02:24:17] <fry> but it looks too
close subjectively
L219[02:24:28] <fry> whatever :P
L220[02:26:19] ⇦
Quits: killjoy (~killjoy@71.65.255.183) (Quit:
Leaving)
L222[02:26:37] <tterrag>
s/quads/tris/
L223[02:26:41] <tterrag> MC has ruined
me
L224[02:29:38] ⇦
Quits: poiuy_qwert (~poiuy_qwe@198-84-224-94.cpe.teksavvy.com)
(Quit: This computer has gone to sleep)
L225[02:29:39] ***
kroeser|away is now known as kroeser
L226[02:31:59] <Unh0ly_Tigg> does anyone
here know why a junit test class located in package A within
src/test/java cannot locate a class located in package A in
src/api/java with gradle? compileTestJava fails saying it can't
find the symbol for the class that I'm testing.
L227[02:32:34] <Unh0ly_Tigg> also, eclipse
doesn't generate a compile error, only gradle.
L228[02:33:11] ⇦
Quits: Ipsis (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk) (Ping
timeout: 189 seconds)
L229[02:34:45] ***
AEnterpriseAFK is now known as AEnterprise
L230[02:35:39] <Unh0ly_Tigg> Actually, I
need to get some sleep, I'll ask again later when I can stay awake
long enough to deal with it. Good night!
L231[02:35:43] ⇦
Quits: Unh0ly_Tigg (~Robert@c-76-115-95-185.hsd1.or.comcast.net)
(Quit: bed)
L232[02:36:06] ***
kroeser is now known as kroeser|away
L233[02:36:49]
⇨ Joins: PrinceCat
(~PrinceCat@58-7-240-130.dyn.iinet.net.au)
L234[02:38:08] ⇦
Quits: alex_6611 (~alex_6611@p54936B44.dip0.t-ipconnect.de) (Ping
timeout: 189 seconds)
L235[02:50:48]
⇨ Joins: sciguyryan (~sciguyrya@95.211.188.32)
L236[02:52:39] ⇦
Quits: Elec332 (~Elec332@ip5456d4a5.speed.planet.nl) (Ping timeout:
198 seconds)
L237[03:06:11]
⇨ Joins: Nitrodev
(~Nitrodev@dcx0f0yhy8z80585d3zdy-3.rev.dnainternet.fi)
L238[03:14:12]
⇨ Joins: Loetkolben
(~Loetkolbe@ipbcc17c0a.dynamic.kabel-deutschland.de)
L239[03:16:46] ***
kroeser|away is now known as kroeser
L240[03:18:18] ⇦
Quits: shadekiller666
(~shadekill@adsl-108-71-34-208.dsl.lsan03.sbcglobal.net) (Quit:
Leaving)
L241[03:24:03] ⇦
Quits: Sollux-Captor
(~Sollux-Ca@2601:547:c480:28d2:b894:52ab:e1dd:5b09) (Quit:
Leaving)
L242[03:27:06] ***
kroeser is now known as kroeser|away
L243[03:27:37] ⇦
Quits: PrinceCat (~PrinceCat@58-7-240-130.dyn.iinet.net.au) (Quit:
My Mac has gone to sleep. ZZZzzz…)
L244[03:28:19]
⇨ Joins: Naiten (~Naiten@77.34.44.200)
L245[03:28:59] ***
kroeser|away is now known as kroeser
L246[03:32:13]
⇨ Joins: VikeStep (~VikeStep@120.156.54.17)
L247[03:34:44] <riderj> Do blocks create a
new instance based on the class, or is there a separate class that
handles blocks (as with ItemStack)? Are items the only thing in
Minecraft that uses this method of replication?
L248[03:37:07] <LexManos> Blocks are
singeltons, So are items.
L249[03:37:17] <LexManos> TeileEntity is
to Blocks as ItemStack is to Items
L250[03:37:20] <LexManos> Tile*
L251[03:38:12] <tterrag> ehh...kinda.
except any item in the world has an ItemStack, but not every block
has a TE
L252[03:38:24] <tterrag> riderj: remember
ItemStacks can hold blocks as well
L253[03:38:25] <LexManos> yes
L254[03:38:26] <tterrag> in the form of
ItemBlock
L255[03:39:02] <tterrag> blocks themselves
only exist when placed in the world, and even then they are just an
integer in an array somewhere
L256[03:39:09] <tterrag> anywhere else,
it's an ItemStack
L257[03:39:12]
⇨ Joins: kimfy
(~kimfy@9.12.34.95.customer.cdi.no)
L258[03:39:13] <LexManos> side note ive
been sitting here for 2 hours after getting home from
deadpool
L259[03:39:16] <LexManos> wanting to go to
bed
L260[03:39:26] <LexManos> but pandora has
been fucking rocking out all night
L261[03:39:30] <tterrag> at least you've
seen it :(
L262[03:39:33] <LexManos> cant go to bed
until a bad song comes on.
L263[03:39:40] <boni> heh
L264[03:39:53] <boni> just wait, it'll
bring you justin bieber next
L265[03:39:54] <tterrag> it really is my
bed time though :P
L266[03:39:57] <tterrag> night all
L267[03:39:59] ***
tterrag is now known as tterrag|ZZZzzz
L269[03:40:12] <LexManos> Also going over
the operating agreement for a llc im making WHOO legal shit!
L270[03:41:19] <LexManos> {A bunch of
friends and I are gunna buy a house and move in together, rent will
be cheaper for everyone overall, but its a big investment/trust
thing, hence the legal shit!}
L271[03:41:37] <boni> ALWAYS have 1 person
be in charge
L272[03:41:42] <LexManos> NO
L273[03:41:43] <boni> or you'll never get
any shit done
L274[03:41:48] <boni> legally i mean
L275[03:42:04] <LexManos> simple majority
for everything except adding/removing members
L276[03:42:06] <boni> at least when
renting it's always better because otherwise you can't do shit once
somebody moves out
L277[03:42:24] <riderj> Alright, so say I
need to create a "locked" field, I assume I would use
NBT?
L278[03:42:39] <LexManos> depends on how
you wanna do it
L279[03:42:48] <LexManos> Do you care
about who locked it?
L280[03:43:02] <riderj> No, just if the
block is accessible or not.
L281[03:43:10] <LexManos> then no,
metadata wioll work fine
L282[03:43:58] <riderj> Should I just
assume that using variables in the class, unless it's a field that
should be used across all blocks, is a no no?
L283[03:44:07] <LexManos> yes
L284[03:44:17] <LexManos> Again the
classes are only init once
L285[03:44:21] <LexManos> For ALL the
blocks in the world
L286[03:44:43] <LexManos> Thats where the
IBlockState comes in, you can specify properties for the block, up
to 15 of them!
L287[03:44:57] <LexManos> or well more,
but only 15 can be serialized to the save file
L288[03:45:12] <riderj> How are blocks
stored once placed down? Just trying to get a better grasp.
L289[03:45:15] <LexManos> Side note, Hey
there Delilah!
L290[03:45:32] <boni> block registry name
+ metadata
L291[03:45:42] <boni> metadata being
[0,15]
L292[03:45:45] <LexManos> The IBlockState
is passed to the Chunk which while the game is running stores it
directly in memory
L293[03:46:00] <LexManos> but when the
chunk is written to disk, it saves it as a int ID + nibble
metadata
L294[03:46:12] <LexManos> hence the
getStateFromMeta and getMetaFromState functions
L295[03:46:22] <LexManos> And the nibble
is why you can only have 15
L296[03:46:36] <riderj> Mhmm
L297[03:46:55] ***
PaleOff is now known as PaleoCrafter
L298[03:51:04] ***
K-4U|Off is now known as K-4U
L299[03:51:24] ***
K-4U is now known as K_4U
L300[03:51:54] <riderj> Are TileEntities
singletons as well?
L301[03:52:02] <LatvianModder> And Im
STILL rewriting FTBU >.<
L302[03:52:38] <LatvianModder> Is there a
way to add anti-dependencies? Incompatible mods
L303[03:52:39] <LexManos> no
L304[03:52:40] <Cypher121> riderj, no,
they are created by createTileEntity in block for each block
L305[03:52:48] <Wuppy> o/
L306[03:52:49] <LexManos> TileEntities are
created per position in world
L307[03:52:55] <Cypher121> or how was it
called
L308[03:53:01] <Cypher121> !gm
createTileEntity
L309[03:53:03] <LexManos> It's how
furnaces/chests work.
L310[03:53:07] <boni>
ITileEntityProvider
L311[03:53:17] <Cypher121> yeah, but
method
L312[03:53:19] ***
K_4U is now known as K-4U
L313[03:53:27] <Cypher121> !gm
createNewTileEntity
L314[03:53:50] <Wuppy> has anyone here
ever worked with visual studio team services?
L315[03:54:01] <Cypher121> wait, since
when does thing start spamming with just 1 exclamation sign?
L316[03:54:13] <Cypher121> oh, that's just
my client
L317[03:54:23] <riderj> So using variables
inside a tile entity will result in differences between all tile
entities, and not one uniform value?
L318[03:54:24] <Wuppy> !! makes it public
IIRC
L319[03:54:28] <Cypher121> yeah
L320[03:54:42] <Cypher121> stupid HexChat
shows it as if it was in the channel
L321[03:54:58] <Cypher121> but yeah, it's
createNewTileEntity
L322[03:55:25] <riderj> Cool, watching
FireBall's streams and I was curious why she could just use a
variable in the class and it not be uniform across the
blocks.
L323[03:55:55] <LexManos> Its fairly
straight forward
L324[03:56:14] <LexManos> Basic
programming concept, instance fields.
L325[03:56:31] <LexManos> Tile Entities
have a unique instance per position in world.
L326[03:56:47] ⇦
Quits: Naiten (~Naiten@77.34.44.200) (Read error: Connection reset
by peer)
L327[03:56:54] <LexManos> Block are
'templates' that have one instance and is used for every position
in the world.
L328[03:57:02] <riderj> Once I was assured
that they are separate instances it came together.
L329[03:57:18] <riderj> Thanks for helping
by the way :P
L330[03:57:23] <Cypher121> ideally, with
unlimited storage space, ram and processing power, blocks and
TileEntities would be the same thing and instantiated for every
position
L331[03:57:31] <LexManos> Its important to
keep this in mind because TEs are expensive.
L332[03:57:31] <Cypher121> but we're stuck
in this awful reality
L333[03:57:43] <LexManos> If you make a
entire world out of TEs you're gunna kill the game.
L334[03:58:09] <LexManos> But making the
entire world out of say, stone, which doesn't have a TE is fast and
memory efficient.
L335[03:58:31] <boni> riderj: do you know
the difference between a class and its instance(s)?
L336[03:58:43] <Cypher121> there's such a
thing as non-ticking TEs, right? how expensive are these?
L337[03:58:44] <riderj> boni, yes.
L338[03:59:13] <boni> riderj: simply put,
blocks only have 1 instance that's referred to everywhere in the
world (singleton). TEs have an instance per TE in the world.
L339[03:59:16] <Cazzar> Wuppy: what about
VSTS?
L340[03:59:19] <boni> (that's exactly what
has been said above, but summed up)
L341[03:59:31] <Wuppy> I'm using it now
and it's really quite nice :o
L342[03:59:41] <Cazzar> Wuppy: it and git
= amazing
L343[03:59:44] <Wuppy> the git integration
with visual studio and unity works really well
L344[03:59:48] <Cazzar> Then agian, Visual
Stuido's git is amazing
L345[03:59:50] ⇦
Quits: MoxieGrrl (~MoxieGrrl@173-23-172-139.client.mchsi.com) (Read
error: Connection reset by peer)
L346[04:00:02] <Wuppy> still doesn't beat
Perforce, but damn close
L347[04:00:20] <riderj> boni, thanks. The
only issue I have is figuring out how the mechanics of the game
work, but once I figure that out it's smooth sailing.
L348[04:00:35] <Cazzar> Wuppy: I'm broke
(for now) so, git it is
L349[04:00:45] <Wuppy> perforce is also
way overpriced IMO
L350[04:00:48] <Wuppy> only for
companies
L351[04:00:56] <Wuppy> and a handful of
schools \o/
L352[04:01:28] <Cazzar> ". At $8,900,
the 20-User Starter Pack is an affordable way for users of our free
20/20 edition to get unlimited workspaces/files."
L353[04:01:32] <Cazzar>
"Affordable"
L354[04:01:40] <Wuppy> heh, exactly
L355[04:01:45] <Nitrodev> hi
L356[04:01:58] <Wuppy> hey Nitro
L357[04:02:31] <LexManos> When you're
talking a busniess thing
L358[04:02:37] <LexManos> $9k is
afordible
L359[04:02:41] <Cazzar> Yeah
L360[04:02:52] <Wuppy> that's true, but
it's unfortunate there's no personal affordible prices
L361[04:02:55] <Cazzar> I'm saying at a
personal level, it's expensive :P
L362[04:03:06] <LexManos> think you're
paying those 20 users, probably $9k/wk
L363[04:03:19] <Cazzar> Also, Lex, whilst
I am not in the middle of a game, and thikning about it, I presume
you are still looking at removing the forge config system, as you
discussed 3 years ago with the 1.7 update?
L364[04:03:29] <Cazzar> Also, I wonder
what my pay will become like with this new job
L365[04:03:34]
⇨ Joins: Lunatrius
(~Lunatrius@cpe-77.38.103.182.cable.t-1.si)
L366[04:03:48] <LexManos> I want a better
system but havent had time to program it
L367[04:04:03] <LexManos> and especially
havent had time to work in world
L368[04:04:13] <LexManos> and make it fit
the gui
L369[04:04:16] <LexManos> and ugh
L370[04:04:17] <Cazzar> What would you be
looking for? Just out of curiosity.
L371[04:04:31] <LexManos> Untimate
goal.
L372[04:05:13] <LexManos>
ConfigSystem.register(MY_MOD, GlobalConfig.class,
UniverseConfig.class, DimensionConfig.class)
L373[04:05:20] <LexManos> Those classes
would look like:
L374[04:05:27] <LexManos> public
GlobalConfig {
L375[04:05:35] ⇦
Quits: VikeStep (~VikeStep@120.156.54.17) (Ping timeout: 189
seconds)
L376[04:05:38] <LexManos>
@Comment("SHINEY SHIT")
L377[04:05:52] <Cazzar> A+ on the
comment.
L378[04:06:00] <LexManos> @ValidValues(min
= 0, max = 100)
L379[04:06:32] <LexManos> public int
HowPrettyIsIt = 10;
L380[04:06:34] <LexManos> }
L381[04:07:29] <LexManos> And then on
server start it would read it and fire
'GlobalConfigEvent<GlobalConfig> event' event.getConfig
returns a instance of GlobalConfig and modders do something
like
L382[04:07:43] <LexManos> MY_GLOBAL =
event.getConfig()
L383[04:08:00] <LexManos> Universe would
do the same, on server start.
L384[04:08:29] <LexManos> Dimension
similiar, but would include the world that the config is hooked to,
so by default it's fire 3 times on vanilla.
L385[04:08:50] <LexManos> Thay way you can
config the shit out of everything.
L386[04:08:57] <LexManos> At the levels
where it truely matters.
L387[04:09:09] <LatvianModder> My config
system is somewhat like that.. well..
L388[04:09:11] <LexManos> Most mods would
just have Global+Universe, but meh.
L389[04:09:17] <riderj> Why does learning
how to use someone else's work have to be so difficult -.-
L390[04:09:32] <Cazzar> Hmm, and any file
structure you'd specifically want?
L391[04:09:45] <LatvianModder> it can sync
with client specific values, can be reloaded, can be edited ingame
with gui etc
L392[04:09:45] <LexManos> It also needs to
be worked into the main config gui where when you're in the client
and not in a game it sets the 'defaults' that get applied to new
worlds
L393[04:09:58] <Cazzar> I'd think that
with Dimension level, it'd be an idea to save to NBT? Or in the
world directory
L394[04:10:09] <LexManos> World
directory
L395[04:10:27] <LexManos> in a
/config/{ModID}_{ConfigName}.cfg
L396[04:10:33]
⇨ Joins: Seppon
(~Noppes@82-168-99-26.ip.telfort.nl)
L397[04:10:36] <LexManos> IN JSON but with
comments
L398[04:10:44] <Cazzar> JSON with
comments... hm
L399[04:11:03] <LexManos> ya thats part
that i got stuck on
L400[04:11:10] <LexManos> because GSON
cant do it
L401[04:11:17] <LexManos> and I didnt want
to hack it to bad to make it do it
L403[04:11:45] <Cazzar> 2nd I don't know
if a java library exists for it
L404[04:11:54] <Cazzar> It does.
L405[04:12:02] <LexManos> meh I prefer to
stay with standards that we have in MC
L406[04:12:21] <LexManos> addingf external
libs requires me to support them and distribute them
L407[04:12:26] <LexManos> im stick pissed
off at scala
L408[04:12:32] <LexManos> still*
L409[04:12:32] <Cazzar> Yeah, I
know.
L410[04:12:44] ⇦
Quits: Noppes (~Noppes@82-168-99-26.ip.telfort.nl) (Ping timeout:
189 seconds)
L412[04:12:52] <LexManos> However
L413[04:12:59] <LexManos> get me the
functionality that I want
L414[04:13:03] <boni> not sure if it has
constraicts though
L415[04:13:08] <LexManos> and the
particular storage format we can debate later
L416[04:13:54] <Cazzar> I presume the
config events, would be fired on the common event bus, not at the
modcontainers?
L419[04:15:07] <LexManos> Fuck if im
reading that right now
L421[04:15:34] <LexManos> public static
final ConfigEntryInt levels_for_1000_blocks = new
ConfigEntryInt("levels_for_1000_blocks", new
IntBounds(20, 0, 200)).sync().setInfo("Levels required to
teleport in same dimension");
L422[04:15:43] <LexManos> eww, I prefer
the annotation route
L423[04:15:46] <Wuppy> whats up with that
house lex?
L424[04:15:59] <LexManos> One of the
potential ones we're looking at.
L425[04:16:00] <LatvianModder> you will
live there? thanks for sharing your address :P
L426[04:16:14] <LexManos> God If I had
$550K to drop on it right now I would.
L427[04:16:20] <LexManos> Want my
address?
L428[04:16:25] <LexManos> I'm pretty
public
L429[04:16:31] <Wuppy> was just going to
say, that is one beautiful house
L430[04:16:35] <Wuppy> but.. money
:P
L431[04:16:46] <Cazzar> Lex, I'll have a
look into what I can see design wise.
L432[04:16:47] <LexManos> OHh there is
another one 1 second!
L433[04:17:00] <Wuppy> not a huge fan of
the wood in the house though
L434[04:17:28] <LatvianModder> Wuppy
prefers gray concrete walls, floors, ceilings, and everything
else
L435[04:17:32] <boni> annotation configs
are nice because they save the redundancy of having stuff
twice
L436[04:17:46] <Wuppy> not that, but that
kind of wood just doesnt really fit
L437[04:17:52]
⇨ Joins: alex_6611
(~alex_6611@p54936B44.dip0.t-ipconnect.de)
L438[04:18:03] <LatvianModder> So they
would also need @SyncedWithClient etc annotations
L439[04:18:06] <riderj> It's a more modern
design, but with a log cabin type wood :/
L441[04:18:15] <LexManos> This one
y.y
L442[04:18:15] <Wuppy> ^ exactly what
rider said
L443[04:18:25] <LexManos> Someone give me
~$1M plz kthx
L444[04:18:32] <riderj> If the grain
wasn't so rough I think it would look nice
L445[04:18:33] <Wuppy> how can you even
that money
L446[04:18:48] <Wuppy> that is one
beautiful kitchen
L447[04:18:50] <Wuppy> I want that
kitchen
L448[04:19:11]
⇨ Joins: xanderio
(~xanderio@p5B21F678.dip0.t-ipconnect.de)
L449[04:19:13] <Wuppy> I'd say that house
is about 10 times better than the first :o
L450[04:19:17] <Wuppy> gimme :P
L451[04:19:35] <riderj> Do you plan to own
some horses?
L452[04:19:41] <LexManos> No
L453[04:20:42] <Cypher121> damn, I'm here
to talk about modding, not to think about where am I in life now
:(
L454[04:20:52] <riderj> I would die for my
own hiking trails :/
L455[04:21:00] <Wuppy> hehe, still living
at home or something Cypher121?
L456[04:21:12] <LexManos> Shush you, I'm
tired and working on legal shit. So look at the pretty
houses!
L457[04:21:28] <boni>
s/houses/horses
L458[04:21:29] <boni> FTFY
L459[04:21:41] <LexManos> But ya, if you
can turn that usage into annotations that'd be better Caz
L460[04:21:57] <LexManos> Horses are good
yes, i'd kill them if I tried to ride one. But ya
L461[04:21:59] <Cypher121> Wuppy, renting
a room in bay area for $1k a month
L462[04:22:00] <LexManos> I used to have a
house.
L463[04:22:03] <LexManos> horse*
L464[04:22:11] <Wuppy> bay area? (not
murican)
L465[04:22:11] <LatvianModder> Pfft, I
could do it faster :P
L466[04:22:40] <LexManos> err lat, whoever
linked me that atrocity of a code i pasted
L467[04:23:04] <Wuppy> I've got a 14
square meter room for 300 euros a month which is pretty nice
L468[04:23:19] <Wuppy> does mean that the
kitchen, bathroom etc. are quite meh
L469[04:23:20] <LatvianModder> so, you
want to change the Forge Configuration system to annotations? (I
missed out some parts of chat)
L470[04:23:23] <Cypher121> Wuppy,
California, area somewhat loosely around San Francisco
L471[04:23:23] <LexManos> oh ya, and if we
got any of these houses
L472[04:23:29] <LexManos> my rent would be
$600/mo
L473[04:23:36] <Wuppy> plus I have to fuck
off as soon as I'm done with being a studnet
L474[04:23:49] <Wuppy> Cypher121, I wanna
go there once....
L475[04:24:00] <LexManos> ive wanted to
replace the Forge config system for a long fucking time.
L476[04:24:00] <LatvianModder> Wuppy:
dorm?
L477[04:24:12] <Wuppy> pretty much
L478[04:24:19] <LatvianModder> I can do it
in minutes! :P
L479[04:24:25] <Cazzar> Inb4 sudio
apt.
L480[04:24:33] <LexManos> did you get my
whole speal about the different types of configs
L481[04:24:35] <LexManos> and where the
work
L482[04:24:36] <Wuppy> I have my own room
to work & sleep in but the rest of the facilities are
shared
L483[04:24:41] <LexManos> and how they
need to be in the gui?
L484[04:24:59] <Cazzar> That I'll look at
after I get the logic done :P
L485[04:25:03] <riderj> I've got 140sqft
for 1k/month. Though I am in a college dorm, still outrageously
priced imo.
L486[04:25:08] <Cypher121> Wuppy, housing
is way overpriced here because I'm basically in the center of
Silicon Valley. 1k for a room for a student is a bargain
L487[04:25:10]
⇨ Joins: Naiten
(~Naiten@86-102-16-100.xdsl.primorye.ru)
L488[04:25:12] <LexManos> Ohh, A whole new
world is on pandora, perfect time for a bathroom break! :)
L489[04:25:33] <Wuppy> Cypher121, but then
you do live near silicon valley & san fran :P
L490[04:25:37] <riderj> Windows 10 wants
me to rate my calculator -.-
L491[04:25:42] <LatvianModder> have you
seen FTBU's config system? it has /edit_config and everything. And
those are fully server-side
L492[04:25:54] <LatvianModder> You can
edit server configs without client mod. With a gui
L493[04:26:14] <PaleoCrafter> I remember
forge already shipping typesafe's config library Oo
L495[04:26:29]
⇨ Joins: Samario
(~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net)
L496[04:26:39] <LatvianModder> Except, you
know, it has that long ass line with .sync().setInfo etc, but that
can be turned into annotations very easly
L497[04:26:44] <Cazzar> Else Privacy ->
2nd last option -> ask for feedback: never
L498[04:27:01] <Cypher121> Wuppy, yeah,
like 20 minutes away from Googleplex
L499[04:29:13] <LatvianModder> Actually, I
like the idea of annotations myself. YEAH! Im redoing my config
system Right now :P .. after I finish these FTBU player/world
changes
L500[04:29:18] <riderj> Cazzar, thanks.
Didn't know you could turn off feedbakc.
L501[04:29:40] <Cazzar> Quite a few
don't
L502[04:29:57] <PaleoCrafter> Too bad
Hocon isn't that widespread yet
L503[04:30:03] <riderj> I did the custom
install and disabled it, but I guess it doesn't disable all
feedback options :/
L504[04:30:13]
⇨ Joins: Ipsis
(~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk)
L505[04:30:46] <Cazzar> Not that one
L506[04:32:05] <Cypher121> wait, so
exactly what's the issue with gson and comments?
L507[04:32:28] <Cypher121> fails to read
with comments or can't write them?
L508[04:32:41] <Cazzar> Json spec doesn't
have comments IIRC
L510[04:33:05] <LexManos> exactly
L511[04:33:21] <LexManos> GSON can read
comments if you turn lenient mode on
L512[04:33:23] <LexManos> but it cant
write
L513[04:33:47] <Cypher121> oh, I see
L514[04:34:35] <Wuppy> Cypher121, your
living place sounds much more awesome than mine
L516[04:35:19] <LatvianModder> I'd just do
with a json-like config format that supports comments. I can write
a writer and reader for that too
L517[04:35:33] <LexManos> however
L518[04:35:40] <LexManos> as i said the
written format isnt that big of a deal
L519[04:35:44] <LexManos> the
functionality is
L520[04:35:51] <LatvianModder> which
part?
L521[04:36:07] <LexManos> anyways pandora
is still killing it, so im gunna take advantage of my wireless
headphones and go in my room to go to bed.
L522[04:36:42] <boni> so you'll have to
stay up until your headphones run out of charge
L524[04:38:11] <Cazzar> O
L525[04:38:22] <Cazzar> I'll look at
logic/functionality tonight and tomorrow
L526[04:38:24] ⇦
Quits: Curle|DISTRACTED
(~head@host86-168-195-1.range86-168.btcentralplus.com) (Ping
timeout: 198 seconds)
L527[04:38:49]
⇨ Joins: Poppy
(~Poppy@chello085216146055.chello.sk)
L528[04:39:50] ⇦
Quits: sciguyryan (~sciguyrya@95.211.188.32) (Remote host closed
the connection)
L529[04:40:18] <Cypher121> Wuppy, yeah,
its a nice location even if price is way over the roof, but that
was not what I originally meant. Was it you who was studying at
some gamedev-specialized university?
L530[04:40:30] <Wuppy> I am, NHTV
Breda
L531[04:40:55] <LatvianModder> Cazzar:
will you be working on the new config system?
L532[04:41:12] <Cazzar> I'll have a look
at doing so.
L533[04:41:27] <LatvianModder> What will
happen with the old one?
L534[04:41:31] <Wuppy> we have some
incredibly skilled people here
L535[04:41:37] <Wuppy> teachers I
mean
L536[04:41:40] <LatvianModder> (I havent
used that in years, so I dont really care, but other modders
do)
L537[04:42:04] <LatvianModder> Will you
just add @Depricated at every class or remove it?
L538[04:42:52] <Cypher121> Wuppy, I'm just
honestly jealous. right now my programming courses involve losing
points on my assignments, because my `private final` fields didn't
have setters and "couldn't be accessed, unless client happens
to be in same package"
L539[04:43:06] <Wuppy> ..... wat
L540[04:43:08] <PaleoCrafter> wat
L541[04:43:14] <LatvianModder> wat
L542[04:43:24] <Cypher121> yup
L543[04:43:48] <Cypher121> that last part
is actually a quote from the comment to the score
L544[04:43:56] <Wuppy> I'm not going to
say every single teacher we have is a genious, but that's
impressively studid
L545[04:44:14] <LatvianModder> ahem. its
called default, not private. dumbass teacher
L546[04:44:24] <LatvianModder>
default/package
L547[04:44:24] <PaleoCrafter> okay, I do
remember correctly, Forge does ship typesafe's config library, so
format is out of question :P
L548[04:44:45] <Cypher121> LatvianModder,
package-private, I guess
L549[04:45:00] <LatvianModder> but
definetly not 'private'
L550[04:45:03] <Wuppy> I prefer having
teachers who actually konw what they're talking about
L551[04:45:07] <Cypher121> which is
default behavior, but different from default keyword
L552[04:45:33] <PaleoCrafter> oh, if they
were package-private, bad Cypher121 :P
L553[04:45:41] <LatvianModder> Im not sure
how its called, but I use that package-only variable / function /
constructor / class quite often
L554[04:45:49] ***
kroeser is now known as kroeser|away
L555[04:46:03] <Cypher121> PaleoCrafter,
no they weren't
L556[04:46:16] <PaleoCrafter> gud
L557[04:46:20] <Cypher121> they were
private
L558[04:46:32] <Wuppy> what is package
private even?
L559[04:46:45] <Wuppy> dont think you have
that in C++ or C# or I've just never used it
L560[04:46:46] <LatvianModder> you can
only access method from classes within that package
L561[04:46:57] <LatvianModder> you write
'void test()'
L562[04:47:02] <Cypher121> package-private
= only same class or classes from same package
L563[04:47:08] <LatvianModder> without
public void or private void or protected void
L564[04:47:12] <Cypher121> and I think C++
has friend classes instead
L565[04:47:15] <Wuppy> I could've guessed
that :P
L566[04:47:20] <PaleoCrafter> protected
also happens to be package-private
L567[04:47:25] <Cypher121> yeah
L568[04:47:34] ***
kroeser|away is now known as kroeser
L569[04:47:35] ***
Jared|Away is now known as Jared
L570[04:47:42] <LatvianModder> protected?
I will test that, but im pretty sure its only
extenders-private
L571[04:47:46] <Cypher121> so it's private
-> none(package-private) -> protected -> public
L572[04:48:00] <Cypher121> LatvianModder,
it is
L573[04:48:00] <LatvianModder> yeah
L574[04:48:10] <Cypher121> I mean it is
package
L576[04:48:41] <PaleoCrafter> Java's
visibility is just messed up xD
L577[04:49:18] <Cypher121> I really wish
there was a way to define your own visibility modifiers
L578[04:49:48] <Cypher121> so you can
define your methods as visible to "your.package.*"
L579[04:50:11] <PaleoCrafter> Scala has
you covered :P
L580[04:50:16] <Cypher121> meh
L581[04:50:37] <Cypher121> maybe for
standalone projects
L582[04:50:41] <Cypher121> not for
modding
L583[04:53:45] <Cypher121> because for now
I decided that having 11 classes in same package is an adequate
trade-off for proper data hiding
L584[04:54:07] ⇦
Quits: bilde2910 (bilde2910@51.174.170.178) (Ping timeout: 195
seconds)
L585[04:55:54]
⇨ Joins: bilde2910|away
(bilde2910@51.174.170.178)
L586[04:56:20] <Wuppy> Script error:
OnCollisionEnter2D
L587[04:56:20] <Wuppy> This message
parameter has to be of type:
L588[04:56:23] <Wuppy> thanks Unity
:|
L589[04:56:42] <PaleoCrafter> Cypher121,
actually, Java 9 will allow for that anyway :P
L590[04:56:45] ***
bilde2910|away is now known as bilde2910
L591[04:56:50] <Cypher121> well,
Firewatch's ending is a damn letdown
L592[04:57:02] <Wuppy> Cypher121, is it a
cool game?
L593[04:58:08] ***
Jared is now known as Jared|Away
L594[04:58:25] <Cypher121> it's nice,
pretty atmospheric, didn't find many over-abused cliches, graphical
style is pretty nice
L595[04:58:43] <Wuppy> whats the gameplay
though?
L596[04:58:51] <Wuppy> from what I've seen
it's basicaly just walking around
L597[04:58:55] <Cypher121> gameplay is
walk and talk
L598[04:59:06] <Cypher121> enjoy scenery
and the storyline
L599[04:59:16] <Wuppy> not bad, I did
enjoy Dear Esther as well
L600[04:59:40] <Cypher121> worth 6 bucks I
paid for it on russian steam, but not 20 it costs on american
one
L601[04:59:53] <Wuppy> nope, 20 for a
walking simulator is not worth it
L602[05:00:10] <PaleoCrafter> you can
climb as well
L603[05:00:45] <Cypher121> but almost near
the end there's a plain out retarded twist that tries to make
undeveloped, barely mentioned side character a central point of the
plot
L604[05:00:49] <Cypher121> fails
miserably
L605[05:01:19] <Cypher121> takes with it
the only actual character, other than the one you play as
L606[05:01:27] <UnasAquila> are
datawatcher ID's unique to the mod or shared by all?
L607[05:01:29] <Cypher121> and generally
wrecks havoc on game
L608[05:01:32] <Wuppy> :V
L609[05:01:34] <PaleoCrafter> shared,
UnasAquila
L610[05:01:42] <UnasAquila> ok
thanks
L611[05:02:09]
⇨ Joins: Mraoffle
(~mraof@pool-74-110-222-32.rcmdva.fios.verizon.net)
L612[05:02:14] <Wuppy> \o/ the health
system in my game is working perfectly now
L613[05:02:28] <Wuppy> next up, levels you
can actually take damage from :P
L614[05:03:17] <UnasAquila> is that your
castle destruction game or another project?
L615[05:03:29] <Wuppy> nope, another
one
L616[05:03:37] <Wuppy> not sure if I'll
ever get around to that one :<
L617[05:03:39] <UnasAquila> ah :)
L618[05:04:00] <Wuppy> this is a game for
a competition which could get me an internship at several great
companies
L619[05:04:20] <riderj> Do you primarily
use Unity in your classes?
L620[05:04:23] <Wuppy> and I'm also
working on another mobile game on my own time
L621[05:04:30] <Wuppy> riderj, we don't
have classes :P
L622[05:04:30] <UnasAquila> Oh wow hope
all goes well for you!
L623[05:04:39] <Wuppy> but in the first
year projects generally use Unity
L624[05:04:46] <Wuppy> second year (my
year) Unreal
L625[05:04:51] <riderj> Doh, how are they
structured then?
L626[05:04:56] <LatvianModder> Lat's day -
token night and all day preparing for it. Then afterparty. Drink
til 7am, don't sleep. Go home, back to coding, fresher than ever. I
think I broke myself
L627[05:05:10] <Wuppy> however this
competition requires Unity and the other game simply is easier to
make in unity
L628[05:05:24] <Wuppy> riderj, we have 2
days where you have to be in school to work on a project
L629[05:05:35] <Wuppy> 1 day with
lectures/workshops you can go to if you want to
L630[05:05:44] <Wuppy> 1 day to work from
home on your project and 1 day on your own stuff
L631[05:05:52] <riderj> Ah, not too
shabby.
L632[05:06:15] <Wuppy> it's a really nice
sysem, you get a lot of freedom but you are required to do a
lot
L633[05:06:22] <UnasAquila> I like Unity
but Unreal 4 is leaps and bounds ahead of the competition
atm.
L634[05:06:28] <riderj> I've messed with
Unity, but my major downfall was my lack of knowledge with C#
:/
L635[05:06:40] <Wuppy> riderj, C# is 90%
like Java
L636[05:06:46] <Wuppy> UnasAquila, it
depends on the game
L637[05:06:51] <riderj> I'm taking a few
online courses that are structured similar to yours.
L638[05:06:55] <Wuppy> Unreal looks
prettier, but Unity is far better documented
L639[05:07:07] <LatvianModder> why noone
makes applications with Java :<
L640[05:07:08] <Wuppy> and you can
prototype better with unity
L641[05:07:09] <Cypher121> has anyone
played Elite: Dangerous?
L642[05:07:14] <Wuppy> and certain games
are also easier to make using untiy
L643[05:07:21] <Wuppy> 2d games
specifically
L644[05:07:28] <riderj> I know it's a
favorite for Ludumdare
L645[05:07:33] <Wuppy> LatvianModder,
because java is slow
L646[05:07:43] <Wuppy> riderj, for LD I
use C++ \o/
L647[05:07:54] <Cypher121> just want to
know if it's worth bying HOTAS for it or not
L648[05:07:55] <riderj> Do you have your
own engine?
L649[05:08:09] <Wuppy> not yet, but I'll
be writing a framework before the next one
L650[05:08:14] <Wuppy> if I have the time
for it :o
L651[05:08:32] <Wuppy> considering I'm
wokring on 2 games atm and a third one starting soon
L652[05:08:57] <riderj> I've wanted to do
game development for a very long time, but I've never figured out
where to start learning how to make engines.
L653[05:09:16] <Wuppy> riderj, I'd just
start messing around in Unity
L654[05:09:26] <riderj> Best I have done
is pong in java using raster rendering.
L655[05:09:31] <Wuppy> you really can't
mess anything up too bad in Unity
L656[05:09:42] <riderj> My collision
detection is garbage, but it works.
L657[05:09:58] <Wuppy> also for some more
techincal knowledge of Untiy check out 3dgep.com
L658[05:10:12] <Wuppy> website by one of
my teachers with all the facts about Unity stuff
L659[05:11:06] <riderj> Useful,
thanks.
L660[05:11:09] <LatvianModder> every
programmer ever makes his own engine
L661[05:11:22] <LatvianModder> is there
someone who actually uses someone else's?
L662[05:11:29] <LatvianModder> or the same
with minecraft lib/core mods
L663[05:11:29] <Wuppy> me, Unity and
Unreal <3
L664[05:11:59] <UnasAquila> The first and
only game engine I ever made was back in the day using AS2 :)
L665[05:12:06] <riderj> A lot of good
games come from Unity. It's a respectable engine :)
L666[05:12:59] <Cypher121> you don't need
many games to respect unity, just one
L667[05:13:07] <Cypher121> Ori and the
Blind Forest
L668[05:13:57] <Cazzar> What about
screencheat :P
L669[05:14:48]
⇨ Joins: Elec332
(~Elec332@ip5456d4a5.speed.planet.nl)
L670[05:17:12] ***
Kolatra is now known as Kolatra[away]
L671[05:18:09] <Cypher121> so, no one
played Elite?
L672[05:18:46] <PaleoCrafter> Scott Manley
has :P
L673[05:20:29] <Cypher121> damn, I'd
really love to play some good spacesim with a proper hardware
L674[05:21:33] <Cypher121> just not sure
if E:D deserves it
L675[05:34:12] <SomeGuyInATree> Scotts a
legend.
L676[05:36:54] <Cypher121> well, I'm just
going to think I spent 6 bucks on Firewatch's OST
L677[05:37:08] <Cypher121> makes it look
like a good purchase
L678[05:39:33] <kashike> new minecraft
website is sure bright
L679[05:42:03] <Cazzar> Okay, time to
bring up code.
L680[05:42:04] ***
Kolatra[away] is now known as Kolatr
L681[05:42:07] ***
Kolatr is now known as Kolatra
L682[05:44:13] ***
Darkevilmac is now known as DarkevilAway
L683[05:46:51] ***
Ashleep is now known as AshUK
L684[05:47:47] *
Cazzar updates his forge project.
L685[05:49:31]
⇨ Joins: KGS
(~KGS@h-155-4-135-249.na.cust.bahnhof.se)
L686[05:55:37]
⇨ Joins: Jezza (~Jezza@185.44.151.6)
L687[05:55:57] ⇦
Quits: Something12 (~Something@s010634bdfa9eca7b.vs.shawcable.net)
(Ping timeout: 194 seconds)
L688[05:56:43] <Cazzar> And then
IDEA
L689[06:00:55] <Wuppy> updating... fun
:V
L690[06:01:09] <SomeGuyInATree> What
should I be looking at in my VisualVm sampler?..ThreadedIOFileBase
has 3x more self time than anything else..
L691[06:07:11] <Cazzar> Also, Lex, for the
file storage, typesafe's config might work, since we already have
it in the dependency list.
L692[06:07:12]
⇨ Joins: AbsentThirdEye
(~Subconsci@cpe-65-28-43-97.wi.res.rr.com)
L693[06:07:24] ***
kroeser is now known as kroeser|away
L694[06:17:23] ***
big_Xplo|AFK is now known as big_Xplosion
L695[06:18:43] <Cazzar> Ah fuck
L696[06:26:17]
⇨ Joins: sciguyryan (~sciguyrya@95.211.188.31)
L697[06:26:19] <Wuppy> why is a 2d array
impossible in untiy...
L698[06:26:59] <PaleoCrafter> uhm... it
isn't? :P
L699[06:27:08] <Wuppy> I need them visible
in the editor
L700[06:27:11] <Wuppy> that's nearly
impossible
L701[06:27:26] <PaleoCrafter> nah
L702[06:29:07] <Wuppy> then how do you do
it Paleo?
L703[06:29:10] ***
kroeser|away is now known as kroeser
L704[06:29:37] <PaleoCrafter> CustomEditor
:P
L705[06:29:56] <Wuppy> guess I'll have to
write one.. yeah
L706[06:31:13] <Cazzar> This is fun
L707[06:31:28] <Wuppy> Cazzar> Ah
fuck
L708[06:31:31] <Wuppy> I somehow doubt
that
L709[06:31:49] <Cazzar> Wuppy: I use the
comment "this is fun" EXCEPTIONALLY loosely.
L710[06:31:55] <Wuppy> :P
L711[06:32:09] <Cazzar> So, to write the
parsing system of the config, I'd need to decide on the config
system I am using
L712[06:32:24] *
Cazzar defaults to hocon since it supports comments, and is a json
superset.
L713[06:32:49] <PaleoCrafter> HOCON >
anything :P
L714[06:33:01] <Cazzar> wait... hmm
L715[06:33:39] <Cazzar> I'd need to parse
the class to create a default config object, and then load from
file, using the defaults.
L716[06:33:45] <Cazzar> Then update the
class again
L717[06:33:51] <Cazzar> Which means, dual
reflection...
L718[06:33:55]
⇨ Joins: SubconsciousEye
(~Subconsci@cpe-65-28-43-97.wi.res.rr.com)
L719[06:35:49] <Cazzar> Or.. I could do it
that way
L720[06:35:55] ***
amadornes[OFF] is now known as amadornes
L721[06:36:26] ***
big_Xplosion is now known as big_Xplo|AFK
L722[06:36:33] ⇦
Quits: AbsentThirdEye (~Subconsci@cpe-65-28-43-97.wi.res.rr.com)
(Ping timeout: 186 seconds)
L723[06:47:17] ⇦
Quits: Jezza (~Jezza@185.44.151.6) (Ping timeout: 189
seconds)
L724[06:49:09]
⇨ Joins: EyeOfKoishi
(~Subconsci@cpe-65-28-43-97.wi.res.rr.com)
L725[06:51:21] ⇦
Quits: SubconsciousEye (~Subconsci@cpe-65-28-43-97.wi.res.rr.com)
(Ping timeout: 186 seconds)
L726[07:02:27]
⇨ Joins: VikeStep (~VikeStep@120.156.54.17)
L727[07:03:11] <PaleoCrafter> Cazzar, do
you plan to add custom type adapters? :P
L728[07:03:35] <Cazzar> I'd implicitly
parse into classes
L729[07:03:49] <Cazzar> Though I could
look into it.
L730[07:04:09] ⇦
Quits: RawringNymNym
(~maria@BMTNON3746W-LP130-05-1176474794.dsl.bell.ca) (Ping timeout:
186 seconds)
L731[07:04:14]
⇨ Joins: Nymphaea
(~maria@BMTNON3746W-LP140-01-1176470488.dsl.bell.ca)
L732[07:04:45]
⇨ Joins: Jezza (~Jezza@185.44.151.6)
L733[07:05:02] <Wuppy> PaleoCrafter, have
you ever worked with a Unity CustomEditor?
L734[07:05:10] <PaleoCrafter> nope
L735[07:05:30] <Wuppy> damn.. I've got the
data showing but it's not saving :V
L736[07:09:49] ⇦
Quits: Elec332 (~Elec332@ip5456d4a5.speed.planet.nl) (Ping timeout:
198 seconds)
L737[07:12:07] <Wuppy> okay I have no
fucking clue how to do this anymore :<
L739[07:15:40] ⇦
Quits: KGS (~KGS@h-155-4-135-249.na.cust.bahnhof.se) (Ping timeout:
198 seconds)
L740[07:16:05] <Wuppy> screw it.. I'll try
this another time if I have time for it
L741[07:16:19] <Cazzar> PaleoCrafter:
right now, I've got to work out how I am going to get the default
config object
L742[07:16:31] <Wuppy> I've got too
limited time to spend a day or 2 figuring this out :V
L743[07:16:34] <Cazzar> Preferably
dynamically
L744[07:16:34] <PaleoCrafter> no worries,
that'd just be very cool :P
L745[07:16:47] <Wuppy> I'll just code it
an ugly way then :V
L746[07:23:48] <Cazzar> Well, this'll
probably be the only way to do it...
L747[07:26:00] <Mossyblog> Q. Anyone got
example code on how to redirect/override the GuiChest UI..as I want
to add background slot colouring but don't want to introduce
specialized blocks (ie custom chest or crafting table)
L748[07:28:03] ⇦
Quits: Vaht (~Tahg@pool-108-7-36-124.bstnma.fios.verizon.net) (Ping
timeout: 198 seconds)
L749[07:28:03] ⇦
Quits: ZaggyMobile2 (~Zaggy1024@174-20-167-106.mpls.qwest.net)
(Read error: Connection reset by peer)
L750[07:28:09]
⇨ Joins: Tahg
(~Tahg@pool-108-7-36-124.bstnma.fios.verizon.net)
L751[07:28:10]
MineBot sets mode: +v on Tahg
L752[07:28:21] <Wuppy> holy shit I got it
to work :o
L753[07:29:04] <Cazzar> hmm, hocon might
not actually work for this too well..
L754[07:29:12]
⇨ Joins: ZaggyMobile2
(~Zaggy1024@174-20-167-106.mpls.qwest.net)
L755[07:29:29] <Cazzar> ooh~ I might
actually have an idea on how to do it
L756[07:30:02] <Cazzar> What if I abstract
out the storage language...
L757[07:33:19] <Cazzar> Well that's an
interesting... way to break IDEA
L758[07:33:19] ⇦
Quits: ZaggyMobile2 (~Zaggy1024@174-20-167-106.mpls.qwest.net)
(Read error: Connection reset by peer)
L759[07:34:04]
⇨ Joins: KGS
(~KGS@h-155-4-135-249.na.cust.bahnhof.se)
L760[07:34:09]
⇨ Joins: Hgrebnednav
(~Hgrebnedn@2a02:1811:2c2a:a400:f58c:9da1:d5eb:8ebf)
L761[07:34:45]
⇨ Joins: ZaggyMobile2
(~Zaggy1024@174-20-167-106.mpls.qwest.net)
L762[07:39:46] ⇦
Quits: ZaggyMobile2 (~Zaggy1024@174-20-167-106.mpls.qwest.net)
(Read error: Connection reset by peer)
L763[07:41:35]
⇨ Joins: ZaggyMobile2
(~Zaggy1024@174-20-167-106.mpls.qwest.net)
L764[07:50:10] ⇦
Quits: ZaggyMobile2 (~Zaggy1024@174-20-167-106.mpls.qwest.net)
(Read error: Connection reset by peer)
L765[07:50:24] <Cazzar> PaleoCrafter: what
do you think about an abstract way of handling config, so you can
have the adapters for specific types, and even
serialization/deserialization adapters
L766[07:50:47]
⇨ Joins: ZaggyMobile2
(~Zaggy1024@174-20-167-106.mpls.qwest.net)
L767[07:51:20] <PaleoCrafter> how abstract
exactly? :P
L768[07:52:00] <Cazzar> Literally, you
would be able to register, I want my mod to use this class to
transform my config, into something forge understands
L769[07:52:07] <Cazzar> That could use ANY
lib.
L770[07:52:17] <Cazzar> Forge would just
provide a couple of defaults.
L771[07:52:37] <PaleoCrafter> sure
L773[07:52:50] <gigaherz> does Java have
any generic serialization API?
L774[07:52:52] <PaleoCrafter> it's what
Sponge uses, iirc
L775[07:52:58] <Cazzar> gigaherz:
Serialzable.
L776[07:53:13] <Cazzar> PaleoCrafter: I
have a bit of a design in the works
L777[07:53:24] <gigaherz> no I mean
L778[07:53:28] <gigaherz> an api for
declaring (de)serializers
L779[07:53:33] <gigaherz> not the objects
XD
L780[07:53:45] <Cazzar> IIRCno
L781[07:54:00] <gigaherz> also ewh
L782[07:54:04] <gigaherz> that
Serializable thing
L783[07:54:21] <gigaherz> uses
ObjectOutputStream, which takes flat values, without field names or
anything to use as metadata
L784[07:54:28] <Cazzar> :P
L785[07:54:30] <gigaherz> it seems only
fit for binary serialization
L786[07:54:36] ⇦
Quits: sciguyryan (~sciguyrya@95.211.188.31) (Ping timeout: 198
seconds)
L787[07:54:45] <Cazzar> That's the only
thing it is fit for :p
L788[07:55:00] <PaleoCrafter> Java's
built-in serialisation is a mess and consists of nothing but
massive hacks :P
L789[07:55:22] <gigaherz> wouldh ave been
easy to have a SerializationConsumer with like, writeField(name,
value)
L790[07:55:54] <gigaherz> but /shrug
L791[07:56:02] <Cazzar> Where's the
need?
L792[07:56:11] <Cazzar> Also
L794[07:56:48] <fry> gson is good enough,
and probably the best you can do in java, use it :P
L795[07:57:43] <gigaherz> or...
L797[07:57:45] <gigaherz> XD
L798[07:57:50] <gigaherz> I wrote it a
while ago while bored
L799[07:59:39] <LatvianModder> what
for?
L800[07:59:42] <LatvianModder>
configs?
L801[07:59:46] <LatvianModder> JSON.
Please :D
L802[08:00:03] <Cazzar> Also, <3
programming shower thoughts.
L803[08:00:13] <LatvianModder> Oh, I
havent heard those
L804[08:00:29] <LatvianModder> Well. I
dont have a shower. But I mean I havent read any of those :P
L805[08:00:41] <Cazzar> Nah, it's
something I can have, when I go have a shower in the middle of the
programming
L806[08:00:50] <gigaherz> LatvianModder: I
wrote it while bored, I have no purpose for it XD
L807[08:01:18] <LatvianModder> Darn you! I
wrote a NBT serializer / deserializer too! :D
L808[08:01:24]
⇨ Joins: sciguyryan
(~sciguyrya@bcdda879.skybroadband.com)
L809[08:01:24] <LatvianModder> With a
waterproof laptop, Cazzar
L810[08:01:30] <LatvianModder> So you can
shower AND program
L811[08:01:36] <Cazzar> LatvianModder: no
thanks
L812[08:01:41] <LatvianModder> er.. whats
the verb for programmer?
L813[08:01:45] <Cazzar> I could be playing
Kindred Spirits on the Roof
L814[08:01:46] <LatvianModder> to program?
that.. doesnt sound right
L815[08:02:01] <Cazzar> a programmer
programs.
L816[08:02:16] <Cazzar> or, writes code
:P
L817[08:02:21] <Cazzar> w\e
L818[08:02:39] <LatvianModder> It's now
whatever! I must know all the english
L819[08:02:57] ⇦
Quits: EyeOfKoishi (~Subconsci@cpe-65-28-43-97.wi.res.rr.com) (Ping
timeout: 186 seconds)
L820[08:03:36] <LatvianModder> Darn. I
think I need to buy pastebin
L822[08:04:04] <fry> what
L823[08:04:04] <LatvianModder> See them
pretty json configs!
L824[08:04:22] <LatvianModder> I ran out
of unlisted pastes (25) :P
L825[08:04:31] <fry> gist.github.com
L826[08:04:41] <LatvianModder> I dont like
it.. I dunno.. Maybe
L827[08:04:44] <Cazzar> LatvianModder:
with this system I am looking at designing, you can have that, and
a few other things :p
L829[08:06:13] <LatvianModder> config
registry is only needed for reloading configs & editing them in
gui
L830[08:06:31] <LatvianModder> If this
would go in forge, you can steal it :P
L831[08:07:01] <LatvianModder> So, i'd be
able to select file format? Like, .json, .cfg and.. I dont know any
others
L832[08:07:05] <LatvianModder> .ini I
think
L833[08:07:31] <Cazzar> if I do it
right.
L834[08:10:21] ⇦
Quits: sciguyryan (~sciguyrya@bcdda879.skybroadband.com) (Ping
timeout: 198 seconds)
L835[08:10:40] <PaleoCrafter> please add
an explicit crash for YAML though
L836[08:10:53] <Cazzar> Heh
L837[08:11:11] <Cazzar> As much as I hate
yaml I don't think I will
L838[08:13:36] <LatvianModder> YAML? gotta
google that
L839[08:13:42] ⇦
Quits: VikeStep (~VikeStep@120.156.54.17) (Quit:
Leaving)
L840[08:13:54] <Cazzar> LatvianModder:
ever used bukkit? (One MC related project, that used it)
L841[08:14:15] <LatvianModder> No.. I made
my permissions / ranks system json-based
L842[08:14:27] <LatvianModder> I luv json
so much, I use it anywhere where its possible
L843[08:14:46] <Cazzar> You'll hate YAML
with a passion when you use it a lot :P
L844[08:14:55] <Cazzar> Especially if you
hate enforced whitespace
L845[08:15:51] <fry> only if you hate
enforced whitespace
L846[08:15:52] <LatvianModder> Like. Ive
never used bukkit, yet I made FTBU & EnkiTools, which are
basically essentials + world guard and what not
L847[08:16:27] <LatvianModder> I like
formats like json, because whitespace is not important
L848[08:16:42] <Cazzar> YAML whitespace is
important.
L850[08:17:06] <LatvianModder> Yeah, I
dont have a problem with enforced whitespaces
L851[08:17:17] <LatvianModder> Im sure
theres an Idea plugin for that
L852[08:17:43] <Cazzar> When you are doing
remote admin on a phone, via ssh
L853[08:17:47] <Cazzar> YAML can be
annoying.
L854[08:19:25] <fry> use vim
L855[08:19:25] ⇦
Quits: ZaggyMobile2 (~Zaggy1024@174-20-167-106.mpls.qwest.net)
(Read error: Connection reset by peer)
L856[08:19:32] <fry> or emacs
L857[08:19:37] <fry> whatever floats your
boat
L858[08:19:41] <Cazzar> I used vim
L859[08:19:44] <Cazzar> it was still a
pain
L860[08:20:00] <fry> you didn't use it
correctly then :P
L861[08:20:35] <Cazzar> This was ages
ago
L862[08:21:09] <Cazzar> And my vi setup
usually did spaces, but, sometimes, someone else uploaded/created
it with tabs.
L863[08:21:45] ***
kroeser is now known as kroeser|away
L864[08:22:53]
⇨ Joins: ZaggyMobile2
(~Zaggy1024@174-20-167-106.mpls.qwest.net)
L865[08:23:13] <LatvianModder> vi stands
for violence
L866[08:23:57] <fry> :%s/^I/ /g
L867[08:24:19] <gigaherz> vi stands for
"why did I ever try to use this program? now I have no idea
how to close it and I have to reset the machine to get back to the
shell"
L868[08:24:24] <Cazzar> fry: What help is
that now?
L869[08:24:40] <Cazzar> gigaherz: That
means, you need to learn to read the man pages. :P
L870[08:24:50] <gigaherz> it was too late
by then!
L871[08:24:54] <gigaherz> ;P
L872[08:25:05] <Cazzar> It's teaching you
to get in the habbits
L873[08:25:09] <Cazzar> Also, best editor:
ed
L874[08:25:15] <gigaherz> nano.
L876[08:25:42] <LatvianModder> notepad++!
.. noone?
L877[08:25:50] <gigaherz> LatvianModder:
on windows, yes
L878[08:25:57] <Cazzar> heh
L879[08:26:00] <gigaherz> but if I'm on a
text-only unix environment
L880[08:26:01] <gigaherz> ;p
L881[08:26:13] <fry> ctrl-alt-f2
L882[08:26:14] <Cazzar> I haven't
installed np++ for my last 2 installs.
L883[08:26:15] <gigaherz> then I'd choose
nano over vi/emacs
L884[08:26:31] <gigaherz> simply because
it has a "menu" at the bottom
L885[08:26:31] ***
willieaway is now known as williewillus
L886[08:26:32] <gigaherz> XD
L887[08:27:11] <Cazzar> I should make a
yes clone that controls the ^C and replace it on gigaherz's
machines.
L888[08:27:28] <Cazzar> Then again, I
could do that in bash
L889[08:27:54] <gigaherz> on linux with a
DE, I usually go for Kate
L890[08:28:06] <Cazzar> Right now I am
personally using i3
L891[08:28:09] <gigaherz> but nothing
really replaces Notepad++/VisualStudio for me
L892[08:28:38] <williewillus> i3 \o/
L893[08:29:03] <gigaherz> i3?
L895[08:29:17] <gigaherz> the only i3 I
know is a cpu model class
L896[08:29:23] <gigaherz> and the only one
google knows is a car engine
L899[08:29:53] <Cazzar> Obviously you
don't know your google-fu :P
L900[08:29:54] <gigaherz> oh a WM
L901[08:30:05] <gigaherz> I was looking
for editors
L902[08:30:05] <gigaherz> XD
L903[08:30:20] <williewillus> vim ;)
L904[08:30:21] <gigaherz> my WM of choice
is Xfce, simply because it's the one I can configure to be
windows-like
L905[08:31:09] <Cazzar> hmm
L906[08:31:55] <gigaherz> but really I
avoid other OSes
L907[08:31:56] <gigaherz> ;P
L908[08:32:30] <williewillus> what I hate
more than having to use windows
L909[08:32:35] <williewillus> is stupid
distro-locked software
L910[08:32:54] <williewillus> ROS
(robotics dev kit) is ubuntu only and doesn't compile on arch
L911[08:33:08] <williewillus> so I have to
use a dumb vm inside windows sinze I didn't make my linux partition
big enough :P
L912[08:36:20] <gigaherz> it's the biggest
drawback of having multiple alternatives of things
L913[08:36:29] <gigaherz> and custom
patches on top of that
L914[08:36:58] <gigaherz> it's easy to
write software for one specific variant of a certain function, that
has a different argument choice than usual
L915[08:37:45] <williewillus> I blame
ubuntu
L916[08:37:53] <williewillus> arch
receives packages almost directly from upstream
L917[08:37:55] <williewillus> :P
L918[08:38:07] <williewillus> all the
other non-rolling distros patch it to hell
L919[08:38:21] <Cazzar> Gentoo? :p
L920[08:38:29] <williewillus> gentoo is
rolling i thought
L921[08:38:54] <Cazzar> it is
L923[08:39:04] <williewillus> it doesn't
work
L924[08:39:13] <williewillus> I spent a
couple hours compiling everything and one piece just wouldn't
L925[08:39:16] <Cazzar> How willing are
you to bet on it?
L926[08:39:23] <williewillus> bet on
what?
L927[08:39:25] *
Cazzar looks at his ARch laptop
L928[08:39:28] <williewillus> the AUR
package is broken
L929[08:39:36] <williewillus> or, one of
them is
L930[08:49:21] ***
williewillus is now known as willieaway
L931[08:49:42] ***
willieaway is now known as williewillus
L932[08:51:18]
⇨ Joins: Shukaro (~Shukaro@130.108.232.236)
L933[09:01:40] <williewillus> fry: did you
get my ping regarding animationTESR and having to do extra
stuff?
L934[09:01:49] <fry> yes, I did
L935[09:02:38] ⇦
Quits: Upthorn
(~ogmar@108-85-88-44.lightspeed.frokca.sbcglobal.net) (Quit: this
quit message is 100% guaranteed not to contain
obscenity.)
L936[09:03:07] <williewillus> is it
sufficient to subclass animationTESR, call super, then do what I
need (render a fake item, and some text)? or will that screw things
up
L937[09:03:28] <fry> most items have
models
L938[09:03:35] <fry> which you can compose
to the original model
L939[09:03:45] <fry> text can be rendered
as a model too
L940[09:04:55] <williewillus> not sure how
to combine the item model into the base model in this context :P
(it can be any item in the game), or how to do text :P
L941[09:05:21] <fry> then you can't
subclass AnimationTESR
L942[09:05:52] <williewillus> kk, thats
what i thought
L943[09:06:29] <fry> (well, you can, but
you'll have to override everything anyway, and you can't use the
fast renderer, since some items can use GL)
L944[09:06:50] ⇦
Quits: Fendirain
(~Fendirain@172-14-113-26.lightspeed.irvnca.sbcglobal.net) (Quit:
Leaving)
L945[09:06:55]
⇨ Joins: Olph___
(webchat@c-73-174-108-176.hsd1.pa.comcast.net)
L947[09:08:55] <gigaherz> model.y = basey
+ sin(ticks + partialTicks)
L948[09:08:57] ⇦
Quits: ZaggyMobile2 (~Zaggy1024@174-20-167-106.mpls.qwest.net)
(Ping timeout: 186 seconds)
L949[09:09:00]
⇨ Joins: MoxieGrrl
(~MoxieGrrl@173-23-172-139.client.mchsi.com)
L950[09:09:03] <williewillus> animation
API :P
L951[09:09:10] <gigaherz> ;P
L952[09:09:31] <williewillus> i didnt see
any trig operations in the ASM grammar so I was wondering if that
was supposed to be approximated or passed in or something
L953[09:09:39] <gigaherz> does it do
curves?
L954[09:10:13] <fry> 8-ish samples will be
enough for the realistic sinusoid
L955[09:10:48] <PaleoCrafter> y u no
bezier, fry? xD
L956[09:10:59] <fry> planned
L957[09:11:22] <fry> also, ~0 people are
using the animation thing anyway right now
L958[09:11:23] <williewillus> so change
the sample values? I'm still not quite sure what goes there and why
to be honest :P
L959[09:11:38] <williewillus> *1 :P
L960[09:11:49] <PaleoCrafter> I bet it's
because there's no bezier curves :P
L961[09:11:56] <fry> sample values are for
the model elements, at least where you're probably thinking
about
L962[09:12:25] <gigaherz> 8 is not really
enough
L963[09:12:27] <gigaherz> 10-12 is
nicer
L964[09:12:48] <fry> who cares, the point
is it's not hardcoded in the code, and you can easily change
it
L965[09:12:51] <PaleoCrafter> how about
9001?
L967[09:14:16]
⇨ Joins: Upthorn
(~ogmar@108-85-88-44.lightspeed.frokca.sbcglobal.net)
L968[09:15:55] <gigaherz> hmm in fact if
you start with sample 1 on that list
L969[09:16:02] <gigaherz> you can skip 0
and 6
L971[09:18:19] <gigaherz> of course the
first column depends on how long you want the animation to last,
and if it's in frames, ticks, or seconds
L972[09:18:34] <fry> aaaand the sampling
isn't uniform anymore
L973[09:18:43] <gigaherz> yeah
L974[09:18:45] <gigaherz> depends on how
you specify
L975[09:18:50] <gigaherz> if you have
time-value pairs
L976[09:18:54] <gigaherz> the Sin2 table
is shorter
L978[09:20:58] <gigaherz> although if you
do NOT want evenly spaced samples, then you could approximate it
even better
L979[09:21:57] ***
kroeser|away is now known as kroeser
L980[09:23:15]
⇨ Joins: cppchriscpp
(~cppchrisc@c-76-24-45-127.hsd1.nh.comcast.net)
L981[09:23:33]
⇨ Joins: AforAnonymous
(bitch2k@dyn-042-184.vix1.mmc.at)
L982[09:25:21]
⇨ Joins: shadekiller666
(~shadekill@adsl-108-71-34-208.dsl.lsan03.sbcglobal.net)
L983[09:25:38] ***
MrKick|Away is now known as MrKickkiller
L984[09:29:30] ⇦
Quits: Olph___ (webchat@c-73-174-108-176.hsd1.pa.comcast.net)
(Quit: Web client closed)
L985[09:29:39]
⇨ Joins: Olph_
(webchat@c-73-174-108-176.hsd1.pa.comcast.net)
L986[09:31:34] ⇦
Quits: KGS (~KGS@h-155-4-135-249.na.cust.bahnhof.se) (Ping timeout:
198 seconds)
L987[09:39:59] ⇦
Quits: GildedGames
(~GildedGam@ec2-54-158-111-99.compute-1.amazonaws.com) (Ping
timeout: 189 seconds)
L988[09:40:07] ⇦
Quits: Olph_ (webchat@c-73-174-108-176.hsd1.pa.comcast.net) (Ping
timeout: 204 seconds)
L990[09:40:38] <gigaherz> can you ppl tell
that I'm bored?
L991[09:40:38] <gigaherz> ;P
L992[09:40:49] <PaleoCrafter> not at
all
L993[09:41:30] <gigaherz> oops I just
closed that excel withotu saving
L994[09:41:33] <gigaherz> oh well
/shrug
L995[09:43:25] <fry> all those moments ...
lost
L996[09:43:31] <fry> ... like tears ... in
... rain
L997[09:43:40] <fry> *dove flies*
L998[09:44:20] <shadekiller666> oh the
humanity!!!!!
L999[09:46:43] <gigaherz> the internet
broke me
L1000[09:46:51] <gigaherz> I can't read
that line without pictugin a huge manatee
L1001[09:47:08] <gigaherz>
picturing*
L1002[09:48:50] <shadekiller666> ?
L1003[09:48:59] <shadekiller666> wait no,
i probably don't want to know
L1005[09:58:18]
⇨ Joins: poiuy_qwert
(~poiuy_qwe@198-84-224-94.cpe.teksavvy.com)
L1006[09:59:14] ***
MrKickkiller is now known as MrKick|Away
L1007[10:00:27]
⇨ Joins: armctec (~Thunderbi@186.204.71.137)
L1008[10:00:48]
⇨ Joins: Javaschreiber
(~Thunderbi@p5DD8D491.dip0.t-ipconnect.de)
L1009[10:04:51] <unascribed> wait,
what
L1010[10:04:54] <unascribed> there is NO
WAY this should work
L1011[10:04:56] <unascribed> but yet it
does????
L1013[10:05:32] <unascribed> (I'm not
ASMing classes, I'm discovering annotated mod classes)
L1014[10:05:41] <PaleoCrafter> why
wouldn't it work? :P
L1015[10:05:41]
⇨ Joins: AtomicStryker
(~AtomicStr@ip-37-201-234-130.hsi13.unitymediagroup.de)
L1016[10:05:49] <unascribed> it has an
interface that isn't present at runtime
L1017[10:05:54] <unascribed> unlike
annotations that's an error
L1018[10:06:04] <unascribed> or it should
be...
L1019[10:06:34] <PaleoCrafter> oh, right,
hm xD
L1020[10:07:06] <Javaschreiber> No idea,
maybe Java only checks methods on compile-time?
L1021[10:07:12]
⇨ Joins: Brokkoli
(~Brokkoli@x55b02e48.dyn.telefonica.de)
L1022[10:07:21] <unascribed> this may be
a JDK8 thing
L1023[10:07:29] <unascribed> since
there's flexible interfaces
L1024[10:07:33] <unascribed> and these
interfaces are identical
L1025[10:07:41] <unascribed> I'll have to
see how it behaves on 6
L1026[10:07:44] <gigaherz> classes in
annotations are just metadata
L1027[10:07:53] <unascribed> the
annotations make sense
L1028[10:07:58] <unascribed> I'm talking
about the interfaces
L1029[10:08:06] <gigaherz> wait I
see
L1030[10:08:07] <gigaherz>
nevermind
L1031[10:08:08] <unascribed> annotations
that don't exist at runtime vanish, that I already know
L1032[10:08:15] <unascribed> that's how
the mod part works
L1033[10:08:19] <unascribed> I have no
idea how the loading plugin part works
L1034[10:08:46] <gigaherz> maybe fml has
something for it written in? ;P
L1035[10:08:50] <unascribed>
¯\_(ツ)_/¯
L1036[10:08:54] <Javaschreiber> Question:
Do both interfaces exist at compile-time?
L1037[10:08:58] <unascribed> yes
L1038[10:09:04] <unascribed> I have a
dummy version of it
L1039[10:09:07] <unascribed> but it's not
present at runtime
L1040[10:09:17] <Javaschreiber> Maybe
java says: Well, these are the same methods, so screw it!
L1041[10:09:21]
⇦ Parts: armctec (~Thunderbi@186.204.71.137) ())
L1042[10:09:24] <unascribed> let me try
building it and see if it runs obf'd
L1043[10:09:32] <gigaherz> I was gonna
say
L1044[10:09:41] <gigaherz> can you
decompile the bytecode, and see waht it says?
L1045[10:10:04] <Javaschreiber> Another
question: Do I need a blockstates json for items?
L1047[10:11:10] ***
AEnterprise is now known as AEnterpriseAFK
L1048[10:11:22] <gigaherz> not
"need"
L1049[10:11:29] <gigaherz> but a
blockstates json on items is a useful feature added by forge
L1050[10:11:37] <gigaherz> that lets you
use forge blockstates variatns for items
L1051[10:11:38]
⇨ Joins: sciguyryan (~sciguyrya@95.211.184.213)
L1052[10:11:39] <gigaherz> which is
really nice
L1053[10:11:54]
⇦ Quits: sciguyryan (~sciguyrya@95.211.184.213) (Remote host
closed the connection)
L1054[10:11:56] <Javaschreiber> Well, i
don't want to and forge gives me an error
L1055[10:12:24] <Javaschreiber> Could not
load model definition for variant
big_capacitors:itemManual#inventory
L1056[10:12:36] <gigaherz> you have
"models/item/itemManual.json"?
L1057[10:13:10] <Javaschreiber> Good
point, I don't
L1058[10:13:57] <unascribed> awww
L1059[10:13:59] <gigaherz> yeah that's
the issue then
L1060[10:14:00] <unascribed> it explodes
when obf'd
L1061[10:14:01] <unascribed> :(
L1062[10:14:04] <gigaherz> heh
L1063[10:14:13]
⇦ Quits: nallar
(~nallar@cpc16-cani3-2-0-cust33.14-2.cable.virginm.net) (Read
error: Connection reset by peer)
L1064[10:15:01] <unascribed> if only
Optional.Interface took a versionspec instead of just a modid
L1065[10:15:14] <unascribed> not sure if
that'd even work on a loading plugin
L1066[10:15:17] <unascribed> but it'd be
worth a shot
L1067[10:16:58]
⇦ Quits: poiuy_qwert
(~poiuy_qwe@198-84-224-94.cpe.teksavvy.com) (Quit: This computer
has gone to sleep)
L1068[10:18:17] <unascribed> bleh, I
think the only way to do this due to the repackaging will be a
tweaker
L1069[10:21:08] <gigaherz> isn't it best
to just like, have two versions of the @Mod class and compile
twice, once with each version? ;P
L1070[10:21:32] <gigaherz> or like, a
separate compile task that replaces the net.minecraftforge.fml with
the other one
L1071[10:22:02] <unascribed> I want one
jar
L1072[10:22:07] <unascribed> It's a
stupid crusade that is causing issues
L1073[10:22:19] <unascribed> but it's
still something I want to do
L1074[10:22:29] *
gigaherz shrugs
L1075[10:22:37] <unascribed> so yes that
is the best way
L1076[10:22:41] <unascribed> but it's not
the way I am using :P
L1077[10:22:53] <gigaherz> hmmm
L1078[10:23:17] <gigaherz> I don't
suppose a jar with two @Mod classes with thesame modid would work
at all?
L1079[10:23:23] <gigaherz> (I guess it
would fail in both versions XD)
L1080[10:23:27] <unascribed> that's
already how I do the normal mod
L1081[10:23:30] <unascribed> the loading
plugin is the problem
L1082[10:23:39] <unascribed> It's one
class with two annotations, but it's the same idea
L1083[10:23:46] <gigaherz> eh right
L1085[10:24:19] <unascribed> hello,
textual users
L1086[10:24:22] <unascribed>
>.>
L1087[10:24:38] <unascribed> and LimeChat
too apparently
L1088[10:25:05] <unascribed> seriously,
~10 people just broadcast their IPs to my server without user
intervention
L1089[10:25:22] <gigaherz> lol?
L1090[10:26:43]
⇨ Joins: MattDahEpic
(~MattDahEp@184-96-202-46.hlrn.qwest.net)
L1091[10:27:46]
⇨ Joins: Temportalist
(uid37180@2604:8300:100:200b:6667:3:0:913c)
L1092[10:27:57] <Temportalist>
PaleoCrafter
L1093[10:27:58]
⇦ Quits: Mraof
(~mraof@2601:642:4400:20c4:ba27:ebff:fea5:e37e) (Quit:
Leaving)
L1094[10:28:09] <PaleoCrafter>
Temportalist,
L1095[10:28:17]
⇨ Joins: nallar
(~nallar@cpc16-cani3-2-0-cust33.14-2.cable.virginm.net)
L1096[10:28:35] <Temportalist> Java
question
L1098[10:28:56] <Temportalist> Assuming I
do not have access to the element* objects, nor the class Foo
L1099[10:29:05] *
unascribed half expects to get a Scala solution to the Java
question
L1100[10:29:11] <unascribed>
s/get/see/
L1101[10:29:13] <Temportalist> is there
any way to edit the element* objects through the data array
L1102[10:29:28] <PaleoCrafter> uhm...
reflection, I guess? xD
L1103[10:29:46] <Temportalist> But I dont
know where those element* objects exist
L1104[10:29:47] <Temportalist> they just
do
L1105[10:29:51] <gigaherz> Temportalist:
they are references
L1106[10:29:59] <Temportalist> ?
L1107[10:30:11] <gigaherz> so if you
change the contents of the objects, they'd just change
L1108[10:30:21] <gigaherz> however, if
what you want is to change the object referenced by those
variables
L1109[10:30:23] <PaleoCrafter> you want
to do stuff to objects without knowing "where" they are
nor what they are? xD
L1110[10:30:25] <gigaherz> then
reflection is the only choice
L1111[10:30:33] <Temportalist>
PaleoCrafter: yes
L1112[10:30:37] <Temportalist> gigaherz:
darn
L1113[10:30:49] <Temportalist> For
context, this is referencing KeyBindings in MC
L1114[10:30:53]
⇦ Quits: Loetkolben
(~Loetkolbe@ipbcc17c0a.dynamic.kabel-deutschland.de) (Quit: Over
and Out!)
L1115[10:30:53] <Temportalist> to
NotEnoughKeys
L1116[10:30:56] <Temportalist> *for
L1117[10:31:12] <unascribed> if you just
want to change the array
L1118[10:31:16] <Temportalist> Guess I
cannot do the sub-class approach
L1119[10:31:21] <Temportalist>
unascribed: that wouldnt work
L1120[10:31:23] <unascribed> and not in
some magical quantum-entangled fashion change the variable
L1121[10:31:27] <unascribed> arrays are
mutable
L1122[10:31:32] <unascribed> so
elements[0] = new Bar("hi");
L1123[10:32:04]
⇦ Quits: Naiten (~Naiten@86-102-16-100.xdsl.primorye.ru)
(Read error: Connection reset by peer)
L1124[10:32:08] <Temportalist>
unascribed: But both MC and mod devs reference their keybinding
objects, whereas changing JUST the array elements would not change
their referenced values
L1125[10:32:14] <unascribed> ah
L1126[10:32:16] <Temportalist> because it
would overwrite the element
L1127[10:32:25] <unascribed> yeah, then
you need to reflect into the keybinding you want to modify and
modify it
L1128[10:32:29] <Temportalist> is there
anyway to set an object as a subclass of its type?
L1129[10:32:30] <gigaherz> yep
L1130[10:32:32] <unascribed> no.
L1131[10:32:35] <Temportalist> damn
L1132[10:32:39] <unascribed> if you feel
like scanning for fields
L1133[10:32:41] <unascribed> you could
reflect those
L1134[10:32:45] <unascribed> but that
would be slow as hell
L1135[10:32:48] <unascribed> and
extremely prone to error
L1136[10:32:49] <gigaherz> and no to the
question
L1137[10:32:49] <gigaherz> XD
L1138[10:32:59] <gigaherz> I use this in
my mod
L1140[10:33:09] ***
MrKick|Away is now known as MrKickkiller
L1141[10:33:09] <gigaherz> to intercept
thehotbar keys while my wands are in use
L1142[10:33:16] <unascribed> uh
L1143[10:33:19] <unascribed> there's an
easy solution to this
L1144[10:33:22] <unascribed> and it's
what I use in my mod
L1145[10:33:27] <gigaherz> even just that
requires heavy reflection
L1146[10:33:28] <gigaherz> XD
L1147[10:33:39] <unascribed> I have
intercepted hotbar keys for my rifle
L1148[10:33:42] <unascribed> zero
reflection...
L1149[10:33:51] <gigaherz> how do yo udo
it?
L1150[10:33:53] <Temportalist> looks
ugly
L1151[10:34:07] <PaleoCrafter> just
cancel the KeyInputEvent? :P
L1152[10:34:11] <PaleoCrafter> or
whatever it's called
L1153[10:34:15] <Temportalist> nope
L1155[10:34:18] <gigaherz> that sounds
uglier
L1156[10:34:18] <Temportalist> not a
cancelable event
L1157[10:34:19] <gigaherz> XD
L1158[10:34:24] <unascribed> in
KeyInputEvent
L1159[10:34:36] <gigaherz> ewh
L1160[10:34:52] <gigaherz> it does seem
much simpler though
L1161[10:34:53] <unascribed> whether or
not it offends your sensibilities
L1162[10:34:53] <gigaherz> XD
L1163[10:34:55] <unascribed> it's plenty
fast
L1164[10:34:56] <unascribed> super
simple
L1165[10:34:59] <unascribed> and uses no
reflection
L1166[10:35:05] <unascribed> pressTicks
is usually <4
L1167[10:35:13] <Temportalist>
unascribed: that wouldnt work for my purposes
L1168[10:35:15] <Temportalist> :/
L1169[10:35:15] <unascribed> because you
generally tap the hotbar keys
L1170[10:35:21] <unascribed>
Temportalist, this is for gigaherz' problem
L1171[10:35:27] <unascribed> or
rather
L1172[10:35:30] <unascribed> an alternate
solution
L1173[10:35:54] <gigaherz> I could look
into that for the future, current system works just fine though
;P
L1174[10:36:14] <unascribed> my main
problem with your solution
L1175[10:36:19] <unascribed> is it uses
200 lines to do something that can be done in 2
L1176[10:36:24] ***
Kolatra is now known as Kolatra[away]
L1177[10:36:38]
⇦ Quits: alex_6611 (~alex_6611@p54936B44.dip0.t-ipconnect.de)
(Ping timeout: 189 seconds)
L1178[10:36:57] <gigaherz> I'm not saying
my solution is better
L1179[10:37:02] <unascribed> I didn't say
you did
L1180[10:37:03] <gigaherz> it's just the
only one I found when I wrote it
L1181[10:37:03] <gigaherz> XD
L1182[10:37:13] <PaleoCrafter> oh, right,
there have to be 3 mouse and keyboard events respectively and of
those only the GUI ones and one mouse event are cancelable
._.
L1183[10:37:39] <Temportalist> it
sucks
L1184[10:37:40] <unascribed> 10/10
L1185[10:37:53] <Temportalist> but i know
why keyboard events arent cancelable
L1186[10:37:59] <Temportalist> *I
understand why
L1187[10:38:03] <unascribed> design as
done by tons of junior developers throwing code into a giant vat of
code
L1188[10:38:11] <Temportalist> haha
L1189[10:38:28] <unascribed> it's really
what open source is when it comes down to it :P
L1190[10:38:29] <PaleoCrafter> well, it
partially is due to the FML/Forge merge
L1191[10:39:27] ***
Keridos|away is now known as Keridos
L1192[10:42:02] <Temportalist> wait
L1193[10:42:07] <Temportalist> maybe i
dont understand why
L1194[10:42:24] <Temportalist> why the
heck doesnt KeyInputEvent have @Cancelable?
L1195[10:42:37] <PaleoCrafter> it
doesn't, KeyboardInputEvent does :P
L1196[10:42:46] <PaleoCrafter>
KeyboardInputEvent.Pre, that is
L1197[10:43:38] <Temportalist> thats only
for guis tho
L1198[10:44:01] <PaleoCrafter> oh, does
*not*, I missed the 'nt' xD
L1199[10:46:43] <Lordmau5> Losing my mind
over something right now...
L1200[10:46:43] <Lordmau5> \o
L1202[10:48:29] <Lordmau5> Technically,
the fluid is null at the top. And I've got a return in there, so it
should prevent the method from continuing, right?
L1203[10:48:47] <Lordmau5> But somehow
it's causing a NPE at the bottom, where, in theory, it should be
"unreachable code"?
L1204[10:48:59] <unascribed> except
getFluid is a method
L1205[10:49:02] <unascribed> it could
return something first
L1206[10:49:05] <unascribed> and then
return null
L1207[10:49:30] <unascribed> make sure
this field isn't shared between the server and client thread
L1209[10:50:03] <Lordmau5> oh, I
think..
L1210[10:50:13] <Lordmau5> ye, nvm
L1211[10:58:20] <Lordmau5> or not
L1212[10:58:22] <Lordmau5> it's still
happening
L1213[10:58:54] <PaleoCrafter> store the
first call to getFluid in a variable :P
L1214[11:01:36] ***
MrKickkiller is now known as MrKick|Away
L1215[11:02:39]
⇦ Quits: Nitrodev
(~Nitrodev@dcx0f0yhy8z80585d3zdy-3.rev.dnainternet.fi) (Read error:
Connection reset by peer)
L1216[11:03:02]
⇦ Quits: kimfy (~kimfy@9.12.34.95.customer.cdi.no) (Ping
timeout: 189 seconds)
L1218[11:03:16] <Javaschreiber> Can
someone give me a hint what I'm doing wrong?
L1219[11:05:23] ***
MrKick|Away is now known as MrKickkiller
L1220[11:05:36] <gigaherz>
"inventory": {}
L1221[11:05:39] <gigaherz> should
be
L1222[11:05:41] <gigaherz>
"inventory": [{}]
L1223[11:06:02] <Javaschreiber> gigaherz:
Just out of interest: Why?
L1224[11:06:08] <gigaherz>
basically:
L1225[11:06:18] <gigaherz> variants with
[{}] are raw variant strings
L1226[11:06:19] <gigaherz> while
L1227[11:06:26] <gigaherz> variants with
just {} are assumed to be properties
L1228[11:06:32] <Javaschreiber> Oh
L1229[11:06:33] <gigaherz> and then forge
looks for values for those properties inside
L1230[11:06:47] <Javaschreiber> Ok, makes
sens
L1231[11:07:23]
⇨ Joins: kimfy
(~kimfy@9.12.34.95.customer.cdi.no)
L1232[11:08:09]
⇦ Quits: Abrar|gone (~AbrarSyed@ipv6.abrarsyed.com) (Ping
timeout: 186 seconds)
L1233[11:09:44]
⇦ Quits: AtomicStryker
(~AtomicStr@ip-37-201-234-130.hsi13.unitymediagroup.de) (Quit:
Leaving)
L1235[11:10:56] <Lordmau5> should I just
cache the actual fluid as well?
L1236[11:10:58]
⇨ Joins: Abrar|gone
(~AbrarSyed@ipv6.abrarsyed.com)
L1237[11:10:58]
MineBot sets mode: +o on Abrar|gone
L1238[11:11:03] <PaleoCrafter> that's not
what I meant :P
L1239[11:11:09] <PaleoCrafter> the
reference in your variable won't change :P
L1240[11:11:16] <PaleoCrafter> so no need
to check for null agin
L1241[11:11:28] ***
Abrar|gone is now known as AbrarSyed
L1243[11:11:56] <Lordmau5> and just use
those vars where I need
L1244[11:11:59] <Lordmau5> correct?
L1245[11:12:19] <PaleoCrafter> yeah
L1246[11:12:26] <Lordmau5> k
L1247[11:14:41] ***
Mraoffle is now known as Mraof
L1248[11:17:52]
⇨ Joins: Loetkolben
(~Loetkolbe@ipbcc17c0a.dynamic.kabel-deutschland.de)
L1249[11:20:23]
⇨ Joins: Noppes
(~Noppes@82-168-99-26.ip.telfort.nl)
L1250[11:22:17]
⇦ Quits: Seppon (~Noppes@82-168-99-26.ip.telfort.nl) (Ping
timeout: 189 seconds)
L1251[11:25:54]
⇨ Joins: Girafi
(Girafi@0x555178eb.adsl.cybercity.dk)
L1252[11:34:15]
⇨ Joins: Tim020 (~Tim0@nas246-36.york.ac.uk)
L1253[11:34:31] ***
MrKickkiller is now known as MrKick|Away
L1254[11:36:03]
⇦ Quits: Tim020 (~Tim0@nas246-36.york.ac.uk) (Client
Quit)
L1255[11:36:58]
⇦ Quits: Noppes (~Noppes@82-168-99-26.ip.telfort.nl) (Read
error: Connection timed out)
L1256[11:39:53]
⇦ Quits: Javaschreiber
(~Thunderbi@p5DD8D491.dip0.t-ipconnect.de) (Ping timeout: 189
seconds)
L1257[11:46:43]
⇨ Joins: Mimiru (~Mimiru@hekate.pc-logix.com)
L1258[11:46:43] *** Server sets mode: +CQcnrtf
#RegisterYourNameMoron
L1259[11:47:23] <PaleoCrafter> not
really
L1260[11:47:35] <PaleoCrafter> if you
know what packet they send, you can hook into the network
pipeline
L1261[11:48:44] <unascribed> it looks
like there is ChunkWatchEvent
L1262[11:48:49] <unascribed> walking
through the tile entity syncing code
L1263[11:49:00] <unascribed> it's not
quite the same
L1264[11:49:02] <unascribed> but it's
close enough
L1265[11:49:19] <PaleoCrafter> ah, well,
if you're just caring about that, sure
L1266[11:53:21]
⇨ Joins: Nitrodev
(~Nitrodev@dcx0f0yf8z6s510gr9c1t-3.rev.dnainternet.fi)
L1267[11:56:57]
⇨ Joins: Elec332
(~Elec332@ip5456d4a5.speed.planet.nl)
L1268[11:57:02]
⇨ Joins: Flashfire
(Flashfire@d24-36-192-173.home1.cgocable.net)
L1269[11:57:32] <williewillus> gigaherz:
can you do that sine sampling thing you did back there between 0.25
and 0.30? :P
L1270[11:57:51] <williewillus> i guess
centered on 0.275
L1271[11:58:01] <Flashfire> I would like
to ask if something is possible: I want to make a custom redstone
lamp with a colour for each EnumDyeColor that uses the default
texture but recolours it using a custom block render
L1272[11:58:02] <williewillus> 0.25 is
lowest and 0.30 highest
L1273[11:58:09] <williewillus> Flashfire:
yes
L1274[11:58:21] <Flashfire> I want to use
the default texture so it's compatible with all or most resource
packs
L1275[11:58:57]
⇦ Quits: kimfy (~kimfy@9.12.34.95.customer.cdi.no) (Ping
timeout: 198 seconds)
L1276[11:58:58] <PaleoCrafter>
williewillus, don't you remember trigonometry? :P
L1277[11:59:03] <williewillus> I'm
lazy
L1278[11:59:05] <williewillus> and he had
it up already
L1279[11:59:19] <Flashfire> I have tried
recolouring an entity before but the colour range was very limited,
is that because the default colour already had its own hue?
L1280[11:59:27] <fry> write a piece of
code, willie
L1281[11:59:34]
⇨ Joins: poiuy_qwert
(~poiuy_qwe@198-84-224-94.cpe.teksavvy.com)
L1282[12:00:14] <Flashfire> The entity
was a blaze and the only colour I could successfully get to work
was green which is the complementary colour
L1283[12:00:44]
⇦ Quits: poiuy_qwert
(~poiuy_qwe@198-84-224-94.cpe.teksavvy.com) (Client
Quit)
L1284[12:00:52] <Flashfire> So if I want
to do this for a block, do I have to convert the default block
texture to grayscale in my block renderer?
L1285[12:01:59] <williewillus> just use
colormultiplier
L1286[12:02:06] <williewillus> and a
model with tinted faces
L1287[12:02:12] <williewillus> not sure
how good itll look though
L1288[12:02:45] <Flashfire> I'd like to
just do it in gimp to make it look great but then it won't be
compatible with resource packs including the one I'm using (pixel
perfection)
L1289[12:03:02] <Flashfire> So I'd only
want to do this if it will look natural
L1290[12:03:29] <williewillus> lemme
try
L1291[12:03:52] <Flashfire> Thanks
L1292[12:04:48]
⇨ Joins: madcrazydrumma
(~madcrazyd@host86-180-35-175.range86-180.btcentralplus.com)
L1294[12:05:11] <madcrazydrumma> Hey
guys! Is it possible to use a resourcelocation just for a 16x16
image?
L1295[12:05:22] <Flashfire> Of
course
L1297[12:05:47] <williewillus> those are
all "on" textures btw
L1298[12:05:47] ***
big_Xplo|AFK is now known as big_Xplosion
L1299[12:06:05] ***
amadornes is now known as amadornes[Streaming]
L1300[12:06:09] <PaleoCrafter> geez, that
gigantic title D:
L1301[12:06:22] <williewillus> took a
really close up screenshot
L1302[12:06:27] <madcrazydrumma> ^^
L1303[12:06:31] <williewillus> the actual
window is 854x480 :P
L1304[12:06:57] <PaleoCrafter> well, what
resolution do you have? :P
L1305[12:07:00] <madcrazydrumma> So
Flashfire it is possible?
L1306[12:07:01] <williewillus> but yeah
it looks kinda meh for the darker texture
L1307[12:07:07] <Flashfire> @williewillus
Yeah that's not bad, thanks
L1308[12:07:07]
⇦ Quits: Wastl2 (~Wastl2@f052199100.adsl.alicedsl.de) (Quit:
Hi, I'm a quit message virus. Please replace your old line with
this one and help me take over the world of IRC.)
L1309[12:07:13] <unascribed>
madcrazydrumma, yes
L1310[12:07:15] <williewillus> that was
on a 1080p monitor, my laptop screen is 1440p
L1311[12:07:22] <unascribed> IIRC you
need to use drawModalRectWithCustomSizedTexture
L1312[12:07:29] <williewillus> scaling is
all weird with a hidpi and non hidpi display together
L1313[12:07:34] <williewillus> but it
works most of the time
L1314[12:07:34] <Flashfire>
@madcrazydrumma Yes it's possible I've done it
L1315[12:07:42]
⇨ Joins: MonkeyTyrant
(~MonkeyTyr@stjhnbsu1kw-047055176111.dhcp-dynamic.FibreOp.nb.bellaliant.net)
L1316[12:08:03]
⇦ Quits: MonkeyTyrant
(~MonkeyTyr@stjhnbsu1kw-047055176111.dhcp-dynamic.FibreOp.nb.bellaliant.net)
(Client Quit)
L1317[12:08:17] <madcrazydrumma>
unascribed, ahh so that explains why it only shows one colour
L1318[12:08:32] <Flashfire> @williewillus
So how did you test that so fast? Are you using an existing
mod?
L1319[12:08:33] ***
Keridos is now known as Keridos|away
L1320[12:08:47] <williewillus> the
petalblocks use colormultiplier to be recolored
L1321[12:08:51] <williewillus> i just
changed the texture in the json
L1322[12:08:52] <williewillus> :P
L1323[12:08:53] <Flashfire> Ahh
L1324[12:08:54] <Flashfire> Cool
L1325[12:08:55] <Wuppy> since when do you
need the new keyword when overwriting a method in C#?
L1326[12:09:06] <williewillus> only in
certain cases I think wuppy
L1327[12:09:12] <williewillus> idk C#
though
L1328[12:09:25] ***
DRedhorse is now known as DonAway
L1329[12:09:27] <PaleoCrafter> btw,
williewillus, on that scale, 8 samples are plenty
L1330[12:09:49] <Flashfire> I am learning
C# but never heard of that
L1331[12:09:52]
⇦ Quits: romibi (~quassel@cable-static-7-174.rsnweb.ch)
(Remote host closed the connection)
L1332[12:10:10] <gigaherz> Wuppy: since
always
L1333[12:10:13] <PaleoCrafter> eh,
technically 9 samples, but whatever
L1334[12:10:15]
⇨ Joins: romibi
(~quassel@cable-static-7-174.rsnweb.ch)
L1335[12:10:24] <gigaherz> if a virtual
method exists in the base class
L1336[12:10:30] <gigaherz> you have to
either use override to override, or new to replace
L1337[12:10:43]
⇦ Parts: williewillus
(williewill@Get.A.Free.Bouncer.At.PanicBNC.com)
(Leaving))
L1338[12:10:50]
⇨ Joins: williewillus
(williewill@Get.A.Free.Bouncer.At.PanicBNC.com)
L1339[12:11:00] <williewillus> what's the
difference? 0.o
L1340[12:11:17] <gigaherz>
"new" lets you have different return types and such
L1341[12:11:23] <gigaherz> but if you
cast back to the parent class
L1342[12:11:27] <gigaherz> it will call
thep arent method
L1343[12:11:28] <gigaherz> not the
"new" one
L1344[12:11:59] <gigaherz> while override
is like you are used to from java
L1345[12:12:06] <williewillus> but if
someone issues a virtual call on a base class reference then the
"new" method won't be called?
L1346[12:12:18] <gigaherz> nope
L1347[12:12:22] <williewillus> that
sounds gross :P
L1348[12:12:23] <gigaherz> not even if
the args match
L1349[12:12:32] <gigaherz> the purpose is
to explicitly break the chain
L1350[12:12:48] <gigaherz> you can do
things like
L1351[12:12:59] <gigaherz> class Base {
Base getObject(); }
L1352[12:13:07] <gigaherz> class Child :
Base { new Child getObject(); }
L1353[12:13:51] <gigaherz> so when you
have a reference to the child, the child is returned, but it won't
break returning Base if needed
L1354[12:14:12] <Wuppy> gigaherz, I've
never had to use it so far :o
L1355[12:14:17] <Wuppy> not sure how, but
yeah...
L1356[12:14:22] <gigaherz> me
neither
L1357[12:14:22] <williewillus> so is this
like java's covariant return types but weirder
L1358[12:14:24] <gigaherz> I know it's
there
L1359[12:14:27] <gigaherz> but I avoid
new
L1360[12:14:29] <Wuppy> is it just a
warning or an error?
L1361[12:14:49] <gigaherz> I think it
depends?
L1362[12:14:52] <PaleoCrafter>
williewillus, it's covariance in return types, just broken xD
L1363[12:14:57] <gigaherz> it may be a
warning for replacing fields
L1364[12:14:57] <williewillus> idk how
breaking the inheritance chain is useful other than telling you
that your hierarchy is badly designed? :P
L1365[12:14:58] <Wuppy> yep, just a
warning
L1366[12:15:00] <Wuppy> in this case at
least
L1367[12:15:15] <gigaherz> but I think
it's mandatory for when you change the args of an override
L1368[12:15:25] <gigaherz> it's not just
covariance
L1369[12:15:34] <Wuppy> I'm just
overwriting a void without params
L1370[12:15:35] <gigaherz> that's just
the most common use case for it
L1371[12:15:52]
⇨ Joins: Maxetime
(~Thunderbi@modemcable086.219-70-69.static.videotron.ca)
L1373[12:16:32] <gigaherz> Wuppy: Start()
is not virtual
L1374[12:16:34] <gigaherz> so you can't
override
L1375[12:16:52] <Wuppy> this does work
though
L1376[12:17:00] <gigaherz> yes
L1377[12:17:01] <gigaherz> I mean
L1378[12:17:03] <gigaherz> you can't use
"override"
L1379[12:17:13] <gigaherz> you can use
new, but in that situation it's just a warning
L1380[12:17:24] <Wuppy> ah right, thanks
for the info :)
L1381[12:17:32] <gigaherz> unlike
Java,
L1382[12:17:34] ***
Mine|dreamland is now known as minecreatr
L1383[12:17:37] <gigaherz> C# has
explicit virtual method tables
L1384[12:17:39] <Wuppy> I wonder if Unity
will complain if I make it a virtual function, probably
L1385[12:17:42] <gigaherz> if something
isn't marked as virtual
L1387[12:17:53] <gigaherz> the method is
called directly
L1388[12:18:02] <gigaherz> instead of
through the virtual table
L1389[12:18:17] <gigaherz> so there's a
tradeoff with making things virtual (you do more indirect method
calls)
L1390[12:18:44] <gigaherz> (although
indirect method calls are cheap on modern computers so meh)
L1392[12:19:11] <Wuppy> with Start being
virtual in the child
L1393[12:19:13] <Wuppy> parent*
L1394[12:19:23] <gigaherz> design-wise,
yes
L1395[12:19:29] <gigaherz> also
L1396[12:19:33] <gigaherz> unity Start
doesn't need to be public
L1397[12:19:36] <gigaherz> you could make
it protected
L1398[12:19:50] <Wuppy> oh nice, will
do
L1399[12:19:51] <madcrazydrumma>
Anyone?
L1400[12:20:00] <gigaherz> unity has a
weird reflection-based message-passing system
L1401[12:20:04] <gigaherz>
madcrazydrumma: looking
L1402[12:20:09] <madcrazydrumma> ty
L1403[12:20:26] <gigaherz> what should it
look like?
L1404[12:20:34] <madcrazydrumma> they
should each fill each slot
L1405[12:20:37]
⇨ Joins: Vazkii
(~Vazkii@a79-169-163-74.cpe.netcabo.pt)
L1406[12:20:59] <Wuppy> woop woop,
finally refactored my Alien class into an Obstacle child \o/
L1407[12:21:06] <gigaherz> posY + 3 + (18
+ 2 * i)
L1408[12:21:06] <madcrazydrumma> so far i
only have 2 images, but one is in the second slot for some reason
and the second one is lower but in the right slot
L1409[12:21:10] <Wuppy> now I can cleanly
do stuff
L1410[12:21:12] <gigaherz> you only
multiply the "2"
L1411[12:21:14] <madcrazydrumma> Yeah i
figured that was the issue gigaherz
L1412[12:21:15] <gigaherz> shouldn't it
be
L1413[12:21:15] <madcrazydrumma>
oh..
L1414[12:21:17] <gigaherz> 18*i?
L1415[12:21:17] <gigaherz> ;P
L1416[12:21:18] <madcrazydrumma> yeah
^^
L1417[12:22:25] <madcrazydrumma>
gigaherz, my crappy maths
L1418[12:22:26] <madcrazydrumma>
cheers
L1419[12:22:40]
⇦ Quits: madcrazydrumma
(~madcrazyd@host86-180-35-175.range86-180.btcentralplus.com) (Quit:
Leaving)
L1420[12:22:58] <gigaherz> [19:14]
(williewillus): idk how breaking the inheritance chain is useful
other than telling you that your hierarchy is badly designed?
:P
L1421[12:23:18] <gigaherz> most common
situation for it: broken external thirdparty libraries
L1422[12:23:21] <Wuppy> man... when I
refactor some code and the new code is so much cleaner, better
designed or faster :)
L1423[12:23:25] <Wuppy> such a nice thing
to do
L1424[12:23:39] <gigaherz> yeah
L1425[12:23:44] <gigaherz> specially when
it's cleaner, better, AND faster
L1426[12:23:46] <gigaherz> all 3 at
once
L1427[12:23:47] <gigaherz> ;P
L1428[12:23:54] <Wuppy> this is not
faster
L1429[12:24:04] <gigaherz> no but it's
nicest thing to do
L1430[12:24:05] <gigaherz> ;P
L1431[12:24:05] <Wuppy> but it's cleaner
and better
L1432[12:24:21] <Wuppy> and one parent
function call shouldnt add too much overhead
L1433[12:24:41] <Wuppy> if that's going
to be the thing holding the game down then something's really
wrong
L1434[12:25:23]
⇨ Joins: ZaggyMobile2
(~Zaggy1024@174-20-167-106.mpls.qwest.net)
L1435[12:25:25]
⇦ Quits: Loetkolben
(~Loetkolbe@ipbcc17c0a.dynamic.kabel-deutschland.de) (Quit: Over
and Out!)
L1436[12:26:49] <Wuppy> there is one
downside to refactoring things though, you spend a lot of time on
something and you dont see a differnece in the game
L1437[12:27:21] <LexManos> fuck you all
bitching about?
L1438[12:27:22] <PaleoCrafter> can also
count that as a nice thing :P
L1439[12:27:28]
⇨ Joins: alex_6611
(~alex_6611@p54936B44.dip0.t-ipconnect.de)
L1440[12:27:41] <PaleoCrafter> for
Mojang, refactoring has lead to various subtle differences in the
game :P
L1441[12:28:26] <Wuppy> well that's
odd... when I shoot an enemy, I take damage :P
L1442[12:29:07] <mikebald> Instant
Karma?
L1443[12:29:24] <Wuppy> ah, I'm being
stupid
L1444[12:30:38] <Wuppy> if you tell the
player to take damage when an enemy dies, that will happen
L1445[12:31:28]
⇨ Joins: PieGuy128
(~PieGuy128@bas11-montreal02-1128535499.dsl.bell.ca)
L1446[12:34:00]
⇨ Joins: yopu (~yopu@184-89-171-53.res.bhn.net)
L1447[12:34:08] <williewillus> !mh
renderAsNormalBlock
L1448[12:34:27] ***
Keridos|away is now known as Keridos
L1449[12:34:53] <MattDahEpic> what would
cause an itemstack's nbtcompound to not be saved?
L1450[12:35:34] <PaleoCrafter> hm,
thinking about PRing an event that allows mods to disable rendering
potions in the inventory, not sure how valuable that would be to
others though xD
L1451[12:35:59] <fry> wasn't that PR'd
already?
L1452[12:36:07] <PaleoCrafter> not
sure
L1453[12:36:22] <PaleoCrafter> the potion
itself can decide whether to render
L1454[12:36:42] <PaleoCrafter> but
there's no way of controlling it for vanilla potions (apart from
hackily overriding them, which I currently do xD)
L1455[12:37:47] <PaleoCrafter>
alternatively, I could add some hook to enable night vision without
the potion (my usecase)
L1456[12:39:16]
⇨ Joins: Delenas
(Delenas@2601:987:401:9071:c0c3:e1a5:8ff0:b647)
L1457[12:39:25] <Delenas> o/
L1458[12:41:28] <Wuppy> o___0
L1459[12:41:38] <Wuppy> how does Unity
know how to call the FixedUpdate method
L1460[12:41:51] <Wuppy> I made it a
protected virtual bool instead of a void and it still manages to
find it
L1461[12:42:06] <PaleoCrafter> it might
be stupid and only look for the name xD
L1462[12:42:15] <Wuppy> at this point, I
think it does
L1463[12:44:41] ***
MrKick|Away is now known as MrKickkiller
L1464[12:45:17] <MattDahEpic> is there an
easy way to get what slot an itemstack is in in an inventory?
L1465[12:45:59] <gigaherz> nope
L1466[12:46:04] <williewillus> not
really
L1467[12:46:08] <williewillus> iterate
the inventory and compare one by one
L1468[12:46:17] <gigaherz> but oyu can't
distinguish which one it really was
L1469[12:46:20] <gigaherz> if there's two
identical stacks
L1470[12:46:31] <gigaherz> unless it
happens to be the same instance of ItemStack
L1471[12:46:35] <williewillus> well you
can iterate by index\
L1472[12:46:36] <gigaherz> (which is not
guaranteed at all)
L1473[12:46:45] <gigaherz> williewillus:
what I mean is
L1474[12:46:50] <gigaherz> if you receive
just the ItemStack
L1475[12:46:53] <gigaherz> you can't
know.
L1476[12:47:21] <MattDahEpic> my use case
is that as far as i can tell changing the ItemStack given in an
Item.itemInteractionForEntity doesnt actually update the inventory
stack
L1477[12:47:31] <williewillus> you have
to resync it
L1478[12:47:38] <williewillus> i
think
L1479[12:47:41] <MattDahEpic>
by.....?
L1480[12:47:45] <williewillus>
player.openContainer.detectAndSendChanges
L1481[12:48:55]
⇦ Quits: keybounce
(~keybounce@45-25-230-67.lightspeed.bkfdca.sbcglobal.net) (Quit:
Sleep? Did I say sleep?)
L1482[12:49:09] ***
big_Xplosion is now known as big_Xplo|AFK
L1483[12:50:05] <MattDahEpic>
williewillus, that doesnt seem to work?
L1484[12:50:13] <williewillus> no idea
then
L1485[12:51:18] ***
cpw|out is now known as cpw
L1486[12:52:44] <HassanS6000> fry, you
around?
L1487[12:53:06] <williewillus> just ask,
he'll get it
L1489[12:54:14] ***
Keridos is now known as Keridos|away
L1490[12:55:09]
⇦ Quits: airbreather
(~airbreath@d149-67-99-43.nap.wideopenwest.com) (Read error:
Connection reset by peer)
L1491[12:55:21]
⇦ Quits: ZaggyMobile2
(~Zaggy1024@174-20-167-106.mpls.qwest.net) (Read error: Connection
reset by peer)
L1492[12:55:40]
⇨ Joins: kimfy
(~kimfy@9.12.34.95.customer.cdi.no)
L1493[12:55:44] <MattDahEpic> is there a
max size of nbt tags?
L1494[12:55:57] <williewillus> as much as
a java arraylist can hold
L1495[12:56:04] <williewillus> and or
hashmap
L1496[12:56:13] <MattDahEpic> so id not
be maxing it
L1497[12:56:22] <MattDahEpic> it just
seems to not be saving
L1498[12:57:21]
⇨ Joins: ZaggyMobile2
(~Zaggy1024@174-20-167-106.mpls.qwest.net)
L1499[12:58:01]
⇨ Joins: airbreather
(~airbreath@d149-67-99-43.nap.wideopenwest.com)
L1500[12:58:02] <HassanS6000> fry, could
you point me in the right direction for the most efficient way of
animating an OBJ (which could be converted to a B3D) which has
multiple parts that move separately? I saw you added a new Model
Animation System and am not sure if that's what I should use
L1501[12:58:23] <williewillus> obj doesnt
support animation api yet
L1502[12:58:47] <PaleoCrafter> I like how
Hassan has received this answer 3 times over yet :P
L1503[12:59:45] *
Delenas can't figure out texturing on b3d stuff. @.@
L1504[13:00:33] <Wuppy> I'm surprisngly
good at making a stone texture :o
L1505[13:00:43] <Wuppy> my art skills are
below 0 but this looks really quite nice
L1506[13:00:48] <Wuppy> I dont understand
:P
L1507[13:02:22] <PaleoCrafter> like, a
stone tile or a rock? :P
L1509[13:03:00] <PaleoCrafter> let me
guess, noise filter and grunge brushes? :P
L1510[13:03:16] <HassanS6000>
PaleoCrafter, williewillus even if it's an OBJ I need a way of
animating it... I said I can convert it to B3D if that's a good
approach :P
L1511[13:03:21]
⇦ Quits: Lildirt (~Lildirt@lildirt.com) (Ping timeout: 186
seconds)
L1512[13:03:21] <Wuppy> a bunch of
brushes in GIMP and then a bunch of noise filters, yeah :P
L1513[13:03:35]
⇦ Quits: Temportalist
(uid37180@2604:8300:100:200b:6667:3:0:913c) (Quit: Connection
closed for inactivity)
L1514[13:05:57]
⇨ Joins: Lildirt (~Lildirt@lildirt.com)
L1515[13:06:19] <Delenas> Hassen: It's
not a "good" approach. As of right now, it's the -only-
approach to animating.
L1516[13:06:45] <Delenas> Unless you feel
like manually doing openGL stuff yourself every frame.
L1517[13:07:02] ***
Keridos|away is now known as Keridos
L1518[13:09:33] <MattDahEpic> !gm
setCurrentItem 1.8.9
L1519[13:10:09] <MattDahEpic> whats the
fourth peram here?
L1520[13:10:40] <williewillus> !gm
setCurrentItem
L1521[13:10:47] <williewillus> oh that's
not what you want definitely
L1522[13:10:54] <williewillus> that sets
the stack that the cursor holds when in a gui
L1523[13:10:58] <MattDahEpic> oh
L1524[13:25:16] ***
V is now known as Vigaro
L1525[13:27:47] ***
Keridos is now known as Keridos|away
L1526[13:30:38] ***
Keridos|away is now known as Keridos
L1527[13:32:45]
⇨ Joins: KGS
(~KGS@h-155-4-135-249.na.cust.bahnhof.se)
L1528[13:42:24] ***
Keridos is now known as Keridos|away
L1529[13:58:34] <Nitrodev> oh hi
willie
L1530[13:59:39] <Nitrodev> williewillus,
i have a question about the blockstates
L1531[13:59:46] <Nitrodev> in botania
that is
L1532[13:59:47] <williewillus> yes
L1534[14:00:07] <Nitrodev> when i try to
put that in it doesn't seem to work
L1535[14:00:14] <williewillus> define
"doesn't work"
L1536[14:00:54] <Nitrodev> the IDE can't
find the .values of the enum
L1537[14:01:25] <williewillus> values()
it's a method
L1538[14:01:38] <Nitrodev> never
mind
L1539[14:01:41] <Nitrodev> i found
it
L1540[14:01:44] <williewillus> :P
L1541[14:02:00] <Nitrodev> i was putting
in the variable
L1542[14:02:11] <unascribed> is there an
easy way to get the manifests of all installed mods?
L1543[14:02:14] <unascribed> i.e.
MANIFEST.MF
L1544[14:02:35]
⇦ Quits: psxlover (psxlover@athedsl-385531.home.otenet.gr)
(Read error: Connection reset by peer)
L1546[14:03:48] <diesieben07> !gm
func_77191_a 1.7.10
L1547[14:06:11]
⇦ Quits: Katrix
(~Katrix@2a02:fe0:cb10:2650:3dee:7372:aa77:73b) (Ping timeout: 189
seconds)
L1548[14:06:30]
⇨ Joins: Katrix
(~Katrix@2a02:fe0:cb10:2650:4154:d4ce:8caf:5ecd)
L1549[14:06:41] <unascribed> I guess I
could try making JarFiles from ModContainer::getSource?
L1550[14:06:50] <unascribed> that seems
to be how FML does it
L1551[14:07:16] <unascribed> the
stackoverflow answer would be helpful if there was one classloader
per mod
L1552[14:07:20] <unascribed> but it looks
like they all share the ModClassLoader
L1553[14:07:40] <Wuppy> hmm, a perfect
saturday night, at home, alone programming :P
L1554[14:07:42] <williewillus> you can
still iterate through all of them
L1555[14:07:56] <unascribed> sure, but
that doesn't tell me which mod owns it
L1556[14:08:01] <unascribed> actually, I
don't need to know which mod owns it
L1557[14:08:04] <unascribed> so
nevermind
L1558[14:08:38] <PaleoCrafter>
williewillus, did you see my excel screenshot, btw? :P
L1559[14:08:44] <williewillus> yeah,
thanks
L1560[14:09:05] <williewillus> new
problem is that the cube's bobbing is off from the item and text's
bobbing :P
L1561[14:09:10] <PaleoCrafter> haha
L1562[14:10:19] ***
DonAway is now known as DRedhorse
L1563[14:12:01]
⇨ Joins: psxlover
(psxlover@athedsl-385531.home.otenet.gr)
L1564[14:15:57] <PaleoCrafter> what did
you have to do again to have an @Mod mod together with a
coremod?
L1565[14:17:24] <PaleoCrafter> nvm, found
it
L1567[14:20:46] <PaleoCrafter> well, firs
tof all, he's using Kotlin I think
L1568[14:22:11] <williewillus>
lolwat
L1569[14:22:25] <modmuss50> I set the
scale of the default item transformation or what ever its
called
L1570[14:22:37] <shadekiller666>
why?
L1571[14:22:50] <modmuss50> I don't know
:p I fixed it anyway
L1572[14:26:40] <Zaggy1024> gah, my item
model rendering is offset after 1.8.9 and I don't know why :\
L1573[14:26:54] <williewillus> what kind
of model?
L1574[14:26:57] <Zaggy1024> seems to be
offset by 1 along Z
L1575[14:27:00] <Zaggy1024> any item
model
L1576[14:27:06] <Zaggy1024> not any
particular one
L1577[14:27:10] <Zaggy1024> including
blocks
L1578[14:27:11]
⇨ Joins: laci200270 (~laci20027@78.92.233.195)
L1579[14:27:19] <Zaggy1024> rendering
with FIXED transforms
L1580[14:28:05]
⇦ Quits: laci200270 (~laci20027@78.92.233.195) (Client
Quit)
L1581[14:28:11]
⇦ Quits: MikrySoft|2
(~MikrySoft@89-76-18-43.dynamic.chello.pl) (Ping timeout: 189
seconds)
L1583[14:28:25] <Zaggy1024> (the scale
along Z is (or should be) unrelated
L1584[14:28:29]
⇨ Joins: laci200270 (~laci20027@78.92.233.195)
L1585[14:30:37] <Zaggy1024> worked
perfectly in 1.8.0 to have the stick go through the item
L1586[14:30:45] <Zaggy1024> I'm not sure
what changed or why
L1587[14:32:48] ***
minecreatr is now known as Mine|away
L1588[14:33:58] <williewillus> iirc the
fixed transform wasn't being applied in 1.8.0
L1589[14:34:08] <Lordmau5> why is
minecraft so broken
L1590[14:34:11] <Lordmau5> or java, or
whatever
L1591[14:34:13] <williewillus> isnt
ground more suitable in this case
L1592[14:34:38] <williewillus> Lordmau5:
java isn't :P for the most part
L1593[14:34:53] <Lordmau5> my valves
(Tileentities) implement a custom interface, IFacingTile
L1594[14:35:13] <Lordmau5> however, when
I'm getting the tile at the specific position and check if that
tile is instanceof IFacingTile
L1595[14:35:15] <Lordmau5> it's
not?
L1596[14:35:55] <williewillus> thats you
probably :P if inheritance was broken we'd have much bigger
problems ;)
L1597[14:36:13] <Lordmau5> the tile is
implementing an abstract class, which has that interface
L1598[14:36:17] <Lordmau5> though, I
doubt that's an issue
L1599[14:36:28] <Zaggy1024> willie, I
figured fixed would be best since I'm rendering it in a way similar
to the item frame
L1600[14:36:30] <williewillus> print out
the class of the TE and see what it is
L1601[14:36:32] <Zaggy1024> which is
where fixed is used, isn't it?
L1602[14:36:36] <williewillus> yeah
L1603[14:37:40]
⇦ Quits: psxlover (psxlover@athedsl-385531.home.otenet.gr)
(Read error: Connection reset by peer)
L1604[14:39:29] <Lordmau5> wow
L1605[14:39:50] <Lordmau5>
*facepalm*
L1606[14:39:57] <williewillus> what
lol
L1607[14:40:09] <Lordmau5> it didn't even
get to the tile entity check lmao
L1608[14:40:11] <Lordmau5> xD
L1609[14:42:59]
⇨ Joins: psxlover
(psxlover@athedsl-385531.home.otenet.gr)
L1610[14:43:49] <PaleoCrafter> so, guys,
ideas on what a "spell" that slows down time could do in
MC? xD
L1611[14:43:55] <PaleoCrafter> apart from
slowing down the actual tick rate
L1612[14:44:21]
⇨ Joins: Naiten (Naiten@77.34.181.35)
L1613[14:44:23] <williewillus> slowness
effect on entities, slow daylight cycle
L1614[14:45:04] <LatvianModder>
PaleoCrafter: just the daylight?
L1615[14:45:40] <Zaggy1024> wonder if it
would be possible to do an area of effect
L1616[14:45:49] <PaleoCrafter> that'd be
cool, I guess, but I should have added that I want that ^
L1617[14:45:50] <PaleoCrafter> xD
L1618[14:45:54] <Zaggy1024> slow down all
entities in a radius except the player casting it or
something
L1619[14:46:01] <PaleoCrafter> that's
easy :P
L1620[14:46:01] <Zaggy1024> with falloff
of course
L1621[14:46:03] <LatvianModder> you cant
really.. slow down things
L1622[14:46:12] <LatvianModder> you
know.. you can't un-update entity
L1623[14:46:18] <Zaggy1024> indeed
L1624[14:46:22] <LatvianModder> you can
run update multiple times to speed them up though
L1625[14:46:27] <Zaggy1024> well, there
are probably very hacky ways
L1626[14:46:36] <Zaggy1024> and
then...ASM, but I'm not going to say any more about that :P
L1627[14:46:38] <PaleoCrafter> yeah,
that's my central problem ^^
L1628[14:46:41] <Zaggy1024> plus ASM is
equally hacky
L1629[14:46:52] <LatvianModder> Yeah,
dont use ASM. Ever.
L1630[14:47:06] <PaleoCrafter> speeding
up things is easy
L1631[14:47:55] <Zaggy1024> speeding
things up smoothly?
L1632[14:47:58] <PaleoCrafter> I do in
fact allow that as well and now need the orthogonal ability
L1633[14:48:07] <williewillus> speeding
things up is easy can confirm
L1634[14:48:14] <williewillus> you just
call their tick method again and again
L1635[14:48:14] <Zaggy1024> I mean,
anything less than 2x speed would look odd, wouldn't it?
L1636[14:48:28] <Zaggy1024> also, how
does interpolation get handled?
L1637[14:48:52] <PaleoCrafter>
williewillus, does Botania speed things up somewhere? :P
L1638[14:49:02] <williewillus> no, PE
gives TE's extra ticks
L1639[14:49:15] <williewillus> its not
botania for once lol
L1640[14:49:21] <PaleoCrafter> haha
L1641[14:49:32] <PaleoCrafter> I forget
that you work(ed) on other things as well :P
L1642[14:58:57]
⇦ Quits: useless2764 (useless@meerkat.danmackay.com) (Ping
timeout: 186 seconds)
L1645[15:00:16] <fry> and?
L1646[15:00:35] <Zaggy1024> isn't it
quite slow to throw and catch an exception?
L1647[15:00:57] <williewillus> that isnt
calledf all the time though
L1648[15:01:00] <williewillus> only on
resource reload
L1649[15:01:01] <fry> define "a
lot"
L1650[15:01:52] <Zaggy1024> what I meant
was every time getModel is called it goes to that if the model
isn't in a block model definition
L1651[15:02:24] <Zaggy1024> is getModel
not supposed to ever be called outside loading?
L1652[15:02:56] <diesieben07> no, but
loading a model is not exactly a fast process
L1653[15:03:04] <diesieben07> so one
catched exception: meh
L1654[15:03:31] <Zaggy1024> there are a
lot of models that are loaded, and that method may be called
multiple times per model, I'm not sure
L1655[15:03:38] <gigaherz> hmf
L1656[15:03:46] <fry> getModel does
caching
L1657[15:03:53] <diesieben07> is it a
performance problem? :D
L1658[15:03:59] <diesieben07> if not: go
away
L1659[15:04:00] <diesieben07> :P
L1660[15:04:03] <williewillus> lol
L1662[15:04:13] <gigaherz> anyone knows
what could cause this?
L1664[15:04:28] <gigaherz> the triangle
is NOT outside the bounds
L1665[15:05:04] <fry> what's the model?
obj?
L1666[15:05:07] <gigaherz> yep
L1667[15:05:18] <Zaggy1024> I was worried
that it was a problem
L1668[15:05:40] <diesieben07> don't
worry, measure :D
L1669[15:06:00] <fry> everything can be a
problem, if you define it to be
L1670[15:06:06]
⇨ Joins: keybounce
(~keybounce@adsl-108-192-88-240.dsl.bkfd14.sbcglobal.net)
L1671[15:06:26] <fry> gigaherz: is it
always white? no matter what?
L1672[15:06:29] <williewillus> whoah
;p
L1673[15:06:35] <gigaherz> there's one
specific facing
L1674[15:06:39] <gigaherz> in which some
of them are not white
L1675[15:06:55] <Zaggy1024> still, I feel
that given the fact that resources are loaded *twice* when the game
is starting up, and the number of mods some people install, it
would be nice to cut down any wasted time in laoding
L1676[15:07:03] <Zaggy1024> not that the
catch is a big problem
L1677[15:07:05] <gigaherz> oh and they
are fine when it's placed on the ground
L1678[15:07:11] <unascribed> I thought
the double loading was fixed?
L1679[15:07:13] <fry> profile,
zaggy
L1680[15:07:15] <williewillus> file IO is
probbaly slwoer than the catch :P
L1681[15:07:29] <williewillus> *probably
slower
L1682[15:07:33] <gigaherz>
"down" -> all fine, "west" -> partial,
any other facing -> white triangles
L1683[15:07:44] <fry> partial?
L1684[15:07:50] <Zaggy1024> file IO is
done before any loading can continue, so that just adds up, willie
:P
L1685[15:07:53] <gigaherz> two of the
things have the white triangle
L1686[15:07:55] <gigaherz> two
don't
L1687[15:07:56] <diesieben07> Zaggy1024,
ok, here is the deal. the method is thrown from getVariants. which
is a very small method, so most likely inlined
L1688[15:08:08] <diesieben07> so, most
likely, the JVM compiles the try-catch into a simple GOTO
L1689[15:08:24] <diesieben07> but, if you
want data, measure:D
L1691[15:08:44] <diesieben07> by that i
mean the throw + catch becomes a goto
L1693[15:09:20] <diesieben07> god i can't
speak, the *exception* is thrown
L1694[15:09:35] <gigaherz> the only thing
different between those faces
L1695[15:09:37] <gigaherz> and the rest
of the model
L1696[15:09:46] <gigaherz> is that those
faces are exactly aligned on an axis plane
L1697[15:09:58] <gigaherz> but the rest
are all in random directions
L1698[15:09:59]
⇦ Quits: Elec332 (~Elec332@ip5456d4a5.speed.planet.nl) (Ping
timeout: 198 seconds)
L1699[15:10:00] <Zaggy1024> I didn't
realize that the compiler had any way to make simple try catches
faster
L1700[15:10:22] <gigaherz> the model is
"closed" and has all the normals right, so far as I can
tell
L1701[15:10:28] <fry> something fucky is
going on with the normal
L1702[15:10:49] <diesieben07> Zaggy1024,
the (jvm!) compiler is very fucking smart, probably smarter than
you most of the time :D
L1703[15:10:52] <fry> either with the
model normal, or somewhere along the way during calculations
L1704[15:10:55] <diesieben07> not you
speicifcally that is
L1705[15:11:56] <gigaherz> fry: I rotated
a tiny bit the model, and the model now works
L1706[15:12:05] <gigaherz> so my guess is
there's some issue with axis-aligned triangles
L1707[15:12:27] <gigaherz> (maybe
specifically triangles)
L1708[15:12:48] <gigaherz> ... maybe the
normal is calculated from the 4th vertex that gets added to
triangles to make them quads?
L1709[15:12:54] <gigaherz> thne the
normal would come out as 0
L1710[15:13:06] <gigaherz> that would
explain the issue
L1711[15:13:34] <Zaggy1024> unascribed,
according to the loading screen, no, it's still loading models
twice
L1712[15:13:54] <williewillus> the double
reload still happens
L1713[15:14:01] <williewillus> its the
texture stitching that is skipped first time around
L1714[15:14:06] <williewillus> since the
atlas that results is just discarded
L1715[15:14:19] <Zaggy1024> what does it
need the first time that it can't load everything all at
once?
L1716[15:14:22] <Zaggy1024> I've never
understood it
L1717[15:14:23] <williewillus> idk
L1718[15:15:03] <diesieben07> afaik the
issue is that people are doing stupid things and accessing
resources in preInit
L1719[15:15:13] <williewillus> wait
that's necessary
L1720[15:15:14] <williewillus> for
models
L1721[15:15:29]
⇦ Quits: Ipsis (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk)
(Ping timeout: 189 seconds)
L1722[15:15:37] <fry> no, it's not
L1723[15:15:39] <MattDahEpic> so...
should resources be set up in preinit or init?
L1724[15:15:42] <fry> accessing isn't
neccesary
L1725[15:15:53] <fry> registering
locations is
L1726[15:17:56]
⇨ Joins: useless2764
(useless@meerkat.danmackay.com)
L1727[15:18:28] <Zaggy1024> in a release
environment, does getAllResources still find a whole bunch of
duplicate resources for each file?
L1728[15:18:48] <Zaggy1024> because in my
dev environment getting a blockstates json for my mod results in
*20* IResources 0.o
L1729[15:19:21] <Zaggy1024> and since it
has to combine all those resources into the final models it reads
each and every one of them (AFAIK)
L1730[15:28:00] <Delenas> fry: Been
looking at the b3d stuff. Wanted to ask, is there a doc for it
somewhere? Can't seem to find a reliable one. Specifically on UVs
and textures.
L1731[15:28:12] <fry> not really
L1732[15:28:45] <fry> you need to set the
main texture for the material in blender for it to export
correctly, or smth like that
L1733[15:30:09] <Delenas> So.. two
meshes, one base and one a "gem" floating above it. Have
two files being called, base and gem. Would I match filepaths,
or..
L1734[15:31:55] <fry> you can remap the
texture locations, from model filepaths to the resource
locations
L1735[15:32:17] <fry> you should get the
missing texture error with the name you need to remap from, when
you try to load
L1736[15:33:07] <Delenas> In blockstate
json then.. under defaults/textures.. okay. Think I follow.
L1737[15:33:19]
⇦ Quits: Nitrodev
(~Nitrodev@dcx0f0yf8z6s510gr9c1t-3.rev.dnainternet.fi) (Read error:
Connection reset by peer)
L1738[15:33:22] <fry> yup, something like
that
L1739[15:33:38] <Delenas> Need to figure
out how to show all the model junk though, buildcraft and
chisels+bits is adding a ton of garbage in.
L1740[15:33:52] <Delenas> (Doing rf
stuffs is fun, whee)
L1742[15:34:45] <Delenas> I may make the
gem fancier. Eh.
L1743[15:34:46]
⇦ Quits: keybounce
(~keybounce@adsl-108-192-88-240.dsl.bkfd14.sbcglobal.net) (Quit:
Sleep? Did I say sleep?)
L1744[15:34:58] <Delenas> Proof of
concepts first.
L1745[15:36:24] <Delenas> Speaking of
which.. is there a way to force Minecraft to stop nagging about
models, if you're doing dynamic stuff?
L1746[15:36:39] <Delenas> In the logs, I
mean.
L1747[15:38:21] <Zaggy1024> define
"doing dynamic stuff"
L1748[15:38:46] <Zaggy1024> and by
"nagging" do you mean telling you that a block doesn't
have a model?
L1749[15:39:01] <Delenas> Yes, and things
like facades, covers, etc.
L1750[15:40:48]
⇦ Quits: alex_6611 (~alex_6611@p54936B44.dip0.t-ipconnect.de)
(Ping timeout: 198 seconds)
L1751[15:43:32] <Delenas> Getting a lot
of "[13:48:22] [Client thread/ERROR]: unresolved texture '#'
for b3d model
'tauradditions:models/block/mod/battery.b3d'"
L1752[15:43:58] <Zaggy1024> oh
L1753[15:44:12] <Zaggy1024> hmm. could
you put in a placeholder texture?
L1754[15:45:43] <Delenas> Lemme
see.
L1755[15:45:51] <Delenas> Just updated
forge too, that maaay help.
L1756[15:46:04] <Zaggy1024> probably not,
I should think
L1757[15:46:07]
⇦ Quits: Celtic (~Celtic@203.152.196.48.static.zoot.jp)
(Quit: Leaving)
L1758[15:47:52] <Delenas> ...got it three
times in the log.
L1760[15:56:14] <Delenas> At this point
it's all placeholders, no actual texture. UV mapped, sure, but. IS
there another step beyond using the exporter and plopping the .b3d
file in?
L1761[16:00:08] <PaleoCrafter> hm,
gigaherz, you around?
L1762[16:00:18] <gigaherz> yeh
L1763[16:01:06] <PaleoCrafter> may I PM
you? :D
L1764[16:01:17] <gigaherz> sure
L1765[16:03:47] <UnasAquila> are all
spawns in the world classed as being onSpawnWithEgg?
L1766[16:04:19] <williewillus> no
L1767[16:04:26] <diesieben07> UnasAquila,
that method is named stupidly, it's onInitialSpawn now
L1768[16:04:41] <UnasAquila> ah that
makes sence thankyou
L1769[16:04:43] <williewillus> welp nvm
:P
L1770[16:04:51] <UnasAquila> sense*
L1771[16:05:06] <williewillus> hey i just
noticed that spawner spawned mobs in 1.8 emit their smoke particles
again
L1772[16:05:33]
⇦ Quits: turmfalke_
(~turmfalke@p54A686EB.dip0.t-ipconnect.de) (Ping timeout: 198
seconds)
L1773[16:05:43]
⇨ Joins: Hea3veN (~Hea3veN@190.247.248.80)
L1774[16:13:35] ***
Mine|away is now known as minecreatr
L1775[16:13:49]
⇨ Joins: KanoCodex
(~Giratina5@2604:180:0:368::bcd8)
L1776[16:16:36]
⇦ Quits: Hunterz (~hunterz@62.182.234.189) (Quit:
Leaving.)
L1777[16:16:51]
⇨ Joins: AbsentThirdEye
(~Subconsci@cpe-65-28-43-97.wi.res.rr.com)
L1778[16:21:09] ***
tterrag|ZZZzzz is now known as tterrag
L1779[16:26:13]
⇨ Joins: Something12 (~Something@184.65.42.207)
L1780[16:26:14] ***
fry is now known as fry|sleep
L1781[16:26:52] ***
amadornes[Streaming] is now known as amadornes
L1782[16:35:34]
⇨ Joins: Celtic
(~Celtic@203.152.196.48.static.zoot.jp)
L1783[16:36:16] <Celtic> Does anyone know
anything about the way Minecraft displays player names?
L1784[16:36:50]
⇨ Joins: SubconsciousEye
(~Subconsci@cpe-65-28-43-97.wi.res.rr.com)
L1785[16:37:15] <Celtic> And I suppose
more specifically, I'm curious how possible it would be to somehow
create a block that hides player names.
L1786[16:38:35] <tterrag> Celtic: that
wouldn't be possible with purely a block
L1787[16:38:41] <tterrag> it may be
possible with TESR blending magicv
L1788[16:38:44] <tterrag> I'd ask fry
about that :P
L1789[16:38:56] <williewillus> isnt there
an event for that
L1790[16:39:02] <williewillus> render
nametags that is
L1791[16:39:09] <tterrag> maybe
L1792[16:39:18] <tterrag> but I was
assuming he wanted to hide nameplates when they are behind the
block
L1793[16:39:29] <tterrag> which is not
possible
L1794[16:39:38]
⇦ Quits: AbsentThirdEye
(~Subconsci@cpe-65-28-43-97.wi.res.rr.com) (Ping timeout: 189
seconds)
L1795[16:40:47]
⇨ Joins: Delaxarnyazer
(~Delaxarny@ip56572345.direct-adsl.nl)
L1796[16:40:48] <Celtic> That was what I
was asking tterrag, yeah.
L1797[16:41:05] <tterrag> nameplates are
just rendered using a blending mode and depth test disabled
L1798[16:44:05] <Celtic> Hmm... what
about a... like... "multi-block" structure of
sorts.
L1799[16:44:34] <Celtic> That checks if
the player is inside it and then starts the NamePlate removal event
on them somehow or something?
L1800[16:44:55] <diesieben07> there is no
such event D
L1801[16:45:15] <Celtic> I mean, I know
it's possible to remove NamePlates.
L1802[16:45:31] <Celtic> That's been
possible for a long time.
L1803[16:46:39] <diesieben07> there is
PlayerEvent.NameFormat, yes
L1804[16:46:49] <diesieben07> but that
physically changes the player name *everywhere* that it's
shown
L1806[16:48:26]
⇦ Quits: Lildirt (~Lildirt@lildirt.com) (Ping timeout: 189
seconds)
L1807[16:48:29] <williewillus> hax
probably
L1808[16:48:31] <Celtic> Sorry, I'm just
trying to get a handle on this.
L1809[16:48:49]
⇨ Joins: keybounce
(~keybounce@45-25-230-67.lightspeed.bkfdca.sbcglobal.net)
L1810[16:50:22] <diesieben07> ah the
event is back
L1811[16:50:28] <diesieben07>
RenderLivingEvent.Specials.Pre
L1812[16:50:34] <diesieben07> it was gone
in 1.8 at first
L1813[16:50:47] <diesieben07> that is
what they use
L1814[16:51:02] <williewillus> i thought
specials was still out in favor of layerrenderers
L1815[16:51:34] <Celtic> Oh, this is
1.7.10. Apologies.
L1816[16:51:39] <diesieben07> why?
L1817[16:52:25] <Celtic> Cause I'm a goof
and wasn't paying attention. :P
L1818[16:52:55] <diesieben07> no, why are
you using 1.7
L1819[16:53:55] <Celtic> Because I'm only
just getting into the modding scene, and it seems like the most
well documented and supported setup currently.
L1820[16:54:04] <Celtic> I'm not against
1.8.xx, but
L1821[16:54:28] <Celtic> There's just a
lot more out there to work with it seems like for 1.7.10
currently.
L1822[16:54:32] <diesieben07> if you are
just getting into modding, please dont start with 1.7.10...
L1823[16:54:34] <williewillus> ^
L1824[16:54:35] <williewillus> pls
L1825[16:54:49] <diesieben07> 1.7.10 is 2
years old.
L1826[16:54:51] <williewillus> the only
"hard part" is models, everything else is the same
thing
L1827[16:55:47] <Celtic> Don't get me
wrong. I have no problem with starting off on 1.8.xx stuff, but my
curiousity is why you're both against it?
L1828[16:55:51] <Celtic> Just because of
the age?
L1829[16:56:16]
⇨ Joins: sinkillerj
(~sinkiller@nc-67-232-14-71.dhcp.embarqhsd.net)
L1830[16:56:23] <williewillus> there's
more reasons but essentially yes
L1831[16:56:32] <Celtic> That's
fair.
L1832[16:57:00]
⇨ Joins: EyeOfKoishi
(~Subconsci@cpe-65-28-43-97.wi.res.rr.com)
L1833[16:57:11] <Celtic> I just wanted to
*possibly* produce something, if I'm not complete crap at it. And
it just seemed like 1.7.10 was where most of the player base was
still at currently.
L1834[16:57:39] <diesieben07> yes, and by
making your mod for 1.7 as well you are part of the people not
moving on :D
L1835[16:58:00] <williewillus> by the
time you get a polished product out the playerbase will probably
have moved :P
L1836[16:58:00] <Celtic> I guess that's
the difference for me, is I'm not particularly for or against
moving on.
L1837[16:58:17] <Celtic> But literally I
just started looking into this like two days ago.
L1838[16:58:28] <Celtic> I'm all ears to
opinions.
L1839[16:58:41] <williewillus> all the
more reason to learn the new stuff instead of learning something
that will be obsolete within months if not weeks
L1840[16:59:06] <Celtic> Might I inquire
as to why it'll be obsolete?
L1841[16:59:40] <williewillus> the darned
version is 2+ years old like diesieben07 said, and modders are
moving toward 1.8 finally
L1842[16:59:46] <williewillus> which
means players are gonna follow
L1843[16:59:46]
⇦ Quits: SubconsciousEye
(~Subconsci@cpe-65-28-43-97.wi.res.rr.com) (Ping timeout: 198
seconds)
L1844[17:00:01] <Celtic> Ah. Sorry, you
seemed fairly certain that the shift was coming soon.
L1845[17:00:10] <Celtic> I thought you
were waiting for a specific event to occur.
L1846[17:00:19] <Celtic> My bad.
L1847[17:00:21] <williewillus> nah just
an abstract movement :P
L1848[17:00:58] <Celtic> Yeah I suppose.
I don't know. I know 1.8.9 supposedly has better performance and
what not.
L1849[17:01:07] <Celtic> But I keep
hearing a lot of things about it I'm not super fond of either I
guess.
L1850[17:01:12] <Celtic> So I'm kind of
on the fence.
L1851[17:01:16]
⇦ Quits: EyeOfKoishi
(~Subconsci@cpe-65-28-43-97.wi.res.rr.com) (Client
Quit)
L1852[17:01:22] <williewillus> what bad
things do you hear about it? :P
L1853[17:01:25] <Celtic> But I do hear
your point about the whole "not learning old stuff first"
thing.
L1854[17:01:26] <williewillus> inb4 json
myth
L1855[17:02:08] <diesieben07> you can
write write every 1.8 mod without writing a single line of json if
you REALLY want to :D
L1856[17:02:33] <williewillus> well if
your mod has no blocks or items :P
L1857[17:03:06] <diesieben07> you can
write models in code if you really want to D
L1858[17:03:16] <williewillus> bleh
L1859[17:03:17] <williewillus> ;p
L1860[17:03:32] <diesieben07> just saying
:D
L1861[17:03:41] <Celtic> Well, I'll step
back. As I mentioned, I just tossed my hat into the ring a day or
two ago.
L1862[17:04:23] <Celtic> I'm one of those
people that isn't super interested in rushing into the future
though, just because something is newer.
L1863[17:04:31] <Celtic> So I guess
that's where most of my hesitation comes from.
L1864[17:04:38] <williewillus> its not
even the future
L1865[17:04:44] <williewillus> 1.8 has
been out for over a year
L1866[17:04:45] <Celtic> Maybe not for
Vanilla.
L1867[17:05:19] <Celtic> As far as I can
tell, in the modding community, 1.8 is still pretty new
territory.
L1868[17:06:29] <Celtic> But y'all have
convinced me to at least consider it more. Before I had pretty much
determined to just do 1.7.10 stuff.
L1869[17:06:38] <williewillus> hehe
L1870[17:06:40] <williewillus> good
;p
L1871[17:08:08] <Celtic> Do you guys get
most of your information from this channel, personal experience, or
do you have some websites you would recommend frequenting to
"stay up to date"?
L1872[17:08:29]
⇦ Quits: Delaxarnyazer (~Delaxarny@ip56572345.direct-adsl.nl)
(Remote host closed the connection)
L1873[17:08:29] <williewillus> the first
two
L1874[17:08:43]
⇨ Joins: Delaxarnyazer
(~Delaxarny@2a02:a44e:91ce:0:3df5:891a:44af:a42a)
L1875[17:09:18]
⇦ Quits: Delaxarnyazer
(~Delaxarny@2a02:a44e:91ce:0:3df5:891a:44af:a42a) (Read error:
Connection reset by peer)
L1876[17:19:26]
⇨ Joins: Lildirt (~Lildirt@lildirt.com)
L1877[17:22:49]
⇦ Quits: Jezza (~Jezza@185.44.151.6) (Quit:
Leaving)
L1878[17:32:15] ***
amadornes is now known as amadornes[OFF]
L1879[17:39:51] ***
kroeser is now known as kroeser|away
L1881[17:41:59] <gigaherz> it's not
really the place to stay up to date
L1882[17:42:00] <gigaherz> but
L1883[17:42:19] <gigaherz> although
incomplete, it's worth taking a look at it
L1884[17:44:49] <gigaherz> hmmm
L1885[17:45:11] <gigaherz> I wonder what
the odds are for a ranodmly chosen block to be an air block right
next to a solid block
L1886[17:45:32] <diesieben07> depends on
the world i guess
L1887[17:45:48] <gigaherz> true
L1888[17:45:51] <gigaherz> I'll just
search for a valid place
L1889[17:46:06] <diesieben07> in a normal
world, disregarding caves, air blocks are 190 high roughly
L1890[17:46:19] <diesieben07> and one
layer of those has ground contact
L1891[17:46:27] <gigaherz> yeah
L1892[17:46:28]
⇦ Quits: Samario
(~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net) (Quit:
Leaving)
L1893[17:46:33] <diesieben07> so ...
1/255 per column of blocks
L1894[17:46:55] <gigaherz> but that'd be
way more in amplified :/
L1895[17:46:56] <diesieben07> then a bit
higher because caves
L1896[17:47:09] ***
K-4U is now known as K-4U|Off
L1897[17:47:22] <gigaherz> I'll use a
random
L1898[17:47:29] <gigaherz> then search
for a valid place
L1899[17:47:48] <gigaherz> I'll generate
0..2 per chunk
L1900[17:47:50] ***
DarkevilAway is now known as Darkevilmac
L1901[17:48:33]
⇦ Quits: ZaggyMobile2
(~Zaggy1024@174-20-167-106.mpls.qwest.net) (Ping timeout: 186
seconds)
L1902[17:50:09]
⇦ Quits: NeonPhoenix
(~NeonPhoen@c110-23-26-218.rochd7.qld.optusnet.com.au) (Ping
timeout: 186 seconds)
L1903[17:51:03]
⇨ Joins: NeonPhoenix
(~NeonPhoen@c110-23-26-218.rochd7.qld.optusnet.com.au)
L1904[18:04:12]
⇨ Joins: Delaxarnyazer
(~Delaxarny@2a02:a44e:91ce:0:3df5:891a:44af:a42a)
L1905[18:04:53]
⇦ Quits: kimfy (~kimfy@9.12.34.95.customer.cdi.no) (Ping
timeout: 189 seconds)
L1906[18:06:08] <williewillus> anyone
good at combinatorics/stat >>
L1907[18:07:40]
⇦ Quits: laci200270 (~laci20027@78.92.233.195) (Read error:
Connection reset by peer)
L1908[18:07:42] <gigaherz>
slightly?
L1909[18:07:44] <gigaherz> XD
L1910[18:08:06] <gigaherz> why don't you
explain the "problem" and we can all think about it?
;P
L1912[18:09:19] <gigaherz> ah
L1913[18:13:02]
⇦ Quits: PieGuy128
(~PieGuy128@bas11-montreal02-1128535499.dsl.bell.ca) (Remote host
closed the connection)
L1914[18:13:48] <gigaherz> gah that
sounds easy
L1915[18:13:51] <gigaherz> I just can't
remember the concept
L1916[18:13:52] <gigaherz> XD
L1917[18:14:57]
⇦ Quits: NeonPhoenix
(~NeonPhoen@c110-23-26-218.rochd7.qld.optusnet.com.au) (Ping
timeout: 186 seconds)
L1919[18:15:37] <tterrag> gigaherz: so
there's a small problemwith the ctm stuff
L1920[18:15:38]
⇦ Quits: xanderio (~xanderio@p5B21F678.dip0.t-ipconnect.de)
(Remote host closed the connection)
L1921[18:15:44] <tterrag> I need to
"un" rotate the faces
L1922[18:15:45] <diesieben07> the
possibility to pick a "good one" in the first pick is
6/10. 2nd pick: 5/9. 3rd: 4/8
L1923[18:15:48] <gigaherz> I mean, the
choice is just be a combination of 3 out of 10, where each element
has probability 0.6
L1924[18:16:02] <diesieben07> so
possibility to pick 3 "good ones" is 6/10 * 5/9 *
4/9
L1925[18:16:04] <tterrag> before I do
anything with them
L1926[18:16:06] <diesieben07> 4/8
L1927[18:16:07] <gigaherz> but I can't go
from there to "probability of choosing 2 good"
L1928[18:16:23] <williewillus> i think
what diesieben07 said makes sense, just thuoght of that actually :P
going with that
L1929[18:16:50] <diesieben07> but i think
you need to times that by something
L1930[18:17:04] <diesieben07> because
that is the probability for ONE of the possibilities to pick
L1931[18:17:05] <diesieben07>
right?
L1932[18:17:09] <diesieben07> i suck at
this :D
L1933[18:17:43] <diesieben07> acutally
nope, this is just like the lottery
L1934[18:22:08] <gigaherz> tterrag: is
the plan to make "rotated" textures still connect?
L1935[18:22:17] <gigaherz> (with
unrotated ones)
L1936[18:22:20]
⇦ Quits: Naiten (Naiten@77.34.181.35) (Read error: Connection
reset by peer)
L1937[18:22:22] <tterrag> yeah, they need
to, because for instance the stair model is just rotated
L1938[18:22:34] <tterrag> it doesn't make
much sense to support rotated UVs
L1939[18:22:46] <gigaherz> yeah then
you'll needto un-rotate
L1940[18:22:49] <gigaherz> or more
accurately
L1941[18:22:54] <gigaherz> just make sure
everything is oriented thesame way
L1942[18:23:25] <gigaherz> although
L1943[18:23:29] <gigaherz> this is for
connected textures
L1944[18:23:38] <gigaherz> so you could
just ignore the original UV coords
L1945[18:23:55] <tterrag> ehh maybe
L1946[18:23:57] <gigaherz> and work based
on xy,xz,yz depending on which face you work with
L1947[18:24:04] <tterrag> that's a bit
trickier than what I have though
L1948[18:24:09]
⇦ Quits: Flashfire
(Flashfire@d24-36-192-173.home1.cgocable.net) (Ping timeout: 186
seconds)
L1949[18:24:13] <tterrag> also, I already
have it working this way and it was a right pain :P
L1950[18:25:33] <gigaherz> well you
existing code doesn't need to change much? just do "case
west:" uv=zy; case north: uv=(1-x),y; case up: uv=xz; ...
"
L1951[18:25:58] <tterrag> or I could just
unrotate the UVs and use the existing code :P
L1952[18:26:15] <gigaherz> yeah then you
needto figure out the rotation
L1953[18:26:23] <gigaherz> and undo
it
L1954[18:26:27] <gigaherz> which will
look a bit more like
L1955[18:27:01] <gigaherz> "case
west: case 90: uv=(-v,u)"
L1956[18:28:25] <tterrag> I just want to
respect custom UVs on models
L1957[18:28:26] <tterrag> as best I
can
L1958[18:28:38]
⇨ Joins: Flashfire
(~Flashfire@d24-36-192-173.home1.cgocable.net)
L1959[18:28:38] <gigaherz> and figuring
out the rotation, if you don't have the info, will require doing
something like "if approximately_equal(right.u, left.u)
&& top.u < bottom.u, then rotation = 90"
L1960[18:28:58] <gigaherz> (note that
these are made up, I don't know if that would be 90 or 270
;P)
L1961[18:30:45] <tterrag> yeah it'd be
nice if I had the rotation info
L1962[18:30:49] <tterrag> unfortunately I
think it's baked in
L1963[18:31:02] <gigaherz> pretty
much
L1964[18:32:35] <tterrag> gigaherz:
couldn't I just do left<right && top<bottom
rotation=180, else if top < bottom 270 else if left < right
90, else 0
L1965[18:32:39] <tterrag> no equals
comparisons
L1966[18:33:05] <infinitefoxes_> is there
a way to disable my mod or simply crash purposefully?
L1967[18:33:14] <infinitefoxes_> in init,
a few errors can be thrown that break the mod horribly
L1968[18:33:32] <infinitefoxes_> I
suppose if I just throw exceptions during init it'll kill it
L1969[18:33:56] <diesieben07> yep, if you
throw there it'll crash
L1970[18:34:18] <tterrag> or use
FMLCommonHandler.raiseException
L1971[18:34:29] <tterrag> or use a
CustomModLoadingError or whatever it is
L1972[18:34:43] <tterrag>
CustomModLoadingErrorDisplayException
L1973[18:34:45] <tterrag> who named that
.-.
L1974[18:34:50] <infinitefoxes_> christ
that's long
L1975[18:35:10] <tterrag> throw one of
those during lifecycle and fml will display a GUI instead of hard
crashing
L1976[18:35:18] <tterrag> note it's
@SideOnly client
L1977[18:35:48] <infinitefoxes_> well,
I'd still need to handle it on the server as well
L1978[18:35:56] <infinitefoxes_> so I'll
look at FMLCommonHandler.raiseException
L1979[18:38:35] <tterrag> you can, just
do it differently
L1980[18:38:37] <tterrag> use your
proxy
L1981[18:38:54] <tterrag> a GUI display
is far friendlier than a crash report
L1982[18:38:58] <tterrag> server owners
can deal with it
L1983[18:41:13] <infinitefoxes_>
shouldn't that be something that Forge should handle?
L1984[18:41:33] <infinitefoxes_> I have
no issue adding what's under a few lines of code
L1985[18:41:48] <infinitefoxes_> just
think Forge should handle that itself
L1986[18:42:09] <infinitefoxes_> well, no
nvm
L1987[18:42:18] <infinitefoxes_> the
exception is clearly has "Display" in it for a
reason
L1988[18:42:48] <tterrag> the class is
clientside only because loading it on the client would crash
L1989[18:42:54] <tterrag> so no there's
nothing forge can do here
L1990[18:42:56] <tterrag> just use your
proxy
L1991[18:42:59] <tterrag> that's what
it's for
L1992[18:43:59] ***
MrKickkiller is now known as MrKick|Away
L1993[18:44:09]
⇦ Quits: GUIpsp (~GUIpsp@c-75-73-112-194.hsd1.mn.comcast.net)
(Ping timeout: 186 seconds)
L1994[18:45:08] <PaleoCrafter> tterrag,
Silicon Valley is great :D
L1995[18:45:29] <tterrag> lol
L1996[18:45:42] <tterrag> how long ago
now did I make that reference?
L1997[18:45:56] <PaleoCrafter> a few
days, but I only got around to watching it now xD
L1998[18:51:34] <gigaherz> hmmm
L1999[18:51:49] <gigaherz> in vanilla
blocks, fortune multiplies the normal drops right?
L2000[18:51:59] <gigaherz> if it would
have dropped 0, it just doesn't drop anything regardless?
L2001[18:53:14] <gigaherz> I think I'll
implement it the opposite way for this block
L2002[18:53:26]
⇦ Quits: Delenas
(Delenas@2601:987:401:9071:c0c3:e1a5:8ff0:b647) (Read error:
Connection reset by peer)
L2003[18:53:37] <gigaherz> so that the
more fortune, the higher the chances it will drop more of the
items
L2004[18:53:43]
⇨ Joins: Delenas
(Delenas@2601:987:401:9071:b86e:516e:d3f6:efc8)
L2005[18:54:00] <diesieben07> i think
thats how vanilla does it too
L2006[18:54:09] <diesieben07> actaully
nvm
L2007[18:54:12] <gigaherz> what I mean
is
L2008[18:54:31] <gigaherz> my block
normally will have a 10% factor on the contained essences
L2009[18:54:32] <gigaherz> so like
L2010[18:54:42] <gigaherz> if the block
has 6 of one element in it
L2011[18:55:00] <gigaherz> the average
drops would be "10% of 6"
L2012[18:55:39] <gigaherz> but if oyu
have fortune 3, it would be more like average to 90% of 6
L2013[18:55:56] <gigaherz> (but always
having a chance of dropping 0 and max, just changing the
probability curve)
L2014[18:56:29] <gigaherz> not sure how
that'd work, though, maths-wise
L2015[19:01:00] <gigaherz> aha found a
good function: pow(nextFloat(), E), where E is 1/fortune for
fortune >=1, or 2 if fortune=0
L2016[19:01:41] <gigaherz> hmm no wait, I
don't want fortune 1 to be linear, I want it to still be crappy
loot
L2017[19:02:08] <gigaherz> 1/(fortune-1)
for fortune>1, and (3-fortune) otherwise
L2018[19:03:44]
⇦ Quits: Delaxarnyazer
(~Delaxarny@2a02:a44e:91ce:0:3df5:891a:44af:a42a) (Ping timeout:
189 seconds)
L2019[19:06:41]
⇨ Joins: Delaxarnyazer
(~Delaxarny@ip56572345.direct-adsl.nl)
L2020[19:21:14]
⇨ Joins: Elucent
(~elucent__@d47-69-239-56.col.wideopenwest.com)
L2021[19:22:24] ***
PaleoCrafter is now known as PaleOff
L2022[19:24:46]
⇨ Joins: Delenas-
(Delenas@2601:987:401:9071:c0c3:e1a5:8ff0:b647)
L2023[19:25:08] ***
Darkhax is now known as Darkhax_AFK
L2024[19:26:57]
⇦ Quits: Delenas
(Delenas@2601:987:401:9071:b86e:516e:d3f6:efc8) (Ping timeout: 186
seconds)
L2025[19:27:16]
⇨ Joins: PBlock96
(~PB@lawn-143-215-58-139.lawn.gatech.edu)
L2026[19:27:36]
⇦ Quits: Elucent
(~elucent__@d47-69-239-56.col.wideopenwest.com) (Ping timeout: 198
seconds)
L2027[19:27:50]
⇦ Quits: Maxetime
(~Thunderbi@modemcable086.219-70-69.static.videotron.ca) (Ping
timeout: 198 seconds)
L2028[19:28:53]
⇦ Quits: Poppy (~Poppy@chello085216146055.chello.sk) (Ping
timeout: 194 seconds)
L2029[19:31:53]
⇨ Joins: Elucent
(~elucent__@d47-69-239-56.col.wideopenwest.com)
L2030[19:32:24]
⇦ Quits: Elucent
(~elucent__@d47-69-239-56.col.wideopenwest.com) (Client
Quit)
L2031[19:32:33] <riderj> What would be
some major reasons to use a TileEntity over just a Block? I know
one would be if it has extra properties such as inventory, but what
would be some other cases?
L2032[19:32:50]
⇨ Joins: Elucent
(~elucent__@d47-69-239-56.col.wideopenwest.com)
L2033[19:33:28]
⇨ Joins: killjoy (~killjoy@71.65.255.183)
L2034[19:35:59] <diesieben07> riderj,
storage beyond the 4 bits of block metadata or the need for updates
every tick
L2035[19:36:49] <riderj> Alright, I just
wanted to make sure I had the right idea. Say I was making a
BatteryBlock that would convert to all different types, I would use
a TileEntity for this?
L2036[19:37:06] <diesieben07> define
types
L2037[19:37:23] <riderj> Types of powers,
RF AE MJ
L2038[19:38:00] <diesieben07> you
probably need a TE for at least RF because i know that that is
mostly based on implementing interfaces on a TE
L2039[19:38:35] <riderj> MHmm
L2040[19:39:05] <riderj> So basic rule,
if it needs to tick TileEntity is the way to go?
L2041[19:39:25] <diesieben07> yes
L2042[19:39:40] <riderj> Cool
L2043[19:39:42] <riderj> Thanks
L2044[19:40:20] ***
Darkhax_AFK is now known as Darkhax
L2045[19:42:04] <gigaherz> if it needs to
tick, and/or store data beyond the 4bit metadata
L2046[19:42:41]
⇦ Quits: yopu (~yopu@184-89-171-53.res.bhn.net) (Ping
timeout: 198 seconds)
L2047[19:44:57] <gigaherz> hmmm can I get
the "instance number" that the debugger shows on the
variables panel, from code?
L2048[19:45:05] <gigaherz> (for
logging)
L2049[19:45:55] <gigaherz> hm I just used
the entity toString
L2050[19:46:57] <unascribed> it's
probably System.identityHashCode
L2051[19:48:13] <gigaherz> ugh
L2052[19:48:19] <gigaherz> so my entity
IS in th client
L2053[19:48:23] <gigaherz> and it's in
the coords I'm looking at
L2054[19:48:26] <gigaherz> just... I
can't see it XD
L2055[19:48:35] <williewillus> 1.8
respawn entity glitch?
L2056[19:48:46] <williewillus> there's a
bug where sometimes on respawn the server doesnt send certain
entities to the client
L2057[19:48:51] <gigaherz> no
L2058[19:48:55] <gigaherz> nothing to do
with respawns
L2059[19:48:56] <diesieben07> gigaherz,
you might find something in java.lang.management
L2060[19:49:00] <diesieben07> there is
some interesting stuff in there
L2061[19:49:19] <diesieben07> oh
wait
L2062[19:49:25] <diesieben07> i read that
completely wrong
L2063[19:49:29] <diesieben07> i need
sleep
L2064[19:51:36]
⇨ Joins: RANKSHANK
(~Michael@ppp121-44-139-233.lns20.syd7.internode.on.net)
L2065[19:53:44]
⇦ Quits: Delenas-
(Delenas@2601:987:401:9071:c0c3:e1a5:8ff0:b647) (Quit: And then He
said, "Let there be butts." And He saw that it was
good.)
L2066[19:54:58]
⇨ Joins: PrinceCat
(~PrinceCat@58-7-240-130.dyn.iinet.net.au)
L2067[20:03:36]
⇦ Quits: PBlock96 (~PB@lawn-143-215-58-139.lawn.gatech.edu)
(Ping timeout: 198 seconds)
L2068[20:05:20]
⇦ Quits: Harry (~Harry@46.101.12.90) (Ping timeout: 189
seconds)
L2069[20:05:27] <tterrag> gigaherz: a
thought - UVs are always stored in the same order right? couldn't I
just de-rotate based on that ordering?
L2070[20:05:32] <tterrag> then I don't
need to care about facing
L2071[20:06:55] <gigaherz> well there's
flip-V
L2072[20:07:04] <gigaherz> so the order
maybe reversed also
L2073[20:07:24] <tterrag> what's
flip-v?
L2074[20:07:30] <gigaherz> it flips the V
coord (1-v)
L2075[20:07:32] <gigaherz> on bake
L2076[20:07:48] <gigaherz> it's mostly
used for obj/b3d models though
L2077[20:10:11] <tterrag> hmmm
L2078[20:10:18] <tterrag> that would be
tricky to handle without special casing
L2079[20:10:26] <tterrag> but basically
what I was thinking
L2080[20:10:35] <riderj> Is metadata just
blockstates? I'm a little confused on the 4 bit metadata concept.
I've read through a few tutorials on metadata but still don't
understand it :/. I understand the whole 4 bits = 15 but I can't
tie it together
L2081[20:10:41] ***
williewillus is now known as willieaway
L2082[20:10:46] <tterrag> is that the
minimum UV on a quad is always in the same position, i.e. position
2
L2083[20:10:48] <tterrag> or whatever it
is
L2084[20:10:52] <tterrag> is that
true?
L2085[20:10:56] <tterrag> forgetting
flipv
L2086[20:10:57] <unascribed> metadata is
how blockstates are stored
L2087[20:11:07] <unascribed> there can be
properties that don't go into metadata
L2088[20:11:14] <unascribed> but most
properties do
L2089[20:11:21] <unascribed> wool color,
for example
L2090[20:11:25] <unascribed> maps
directly into meta, 0-15
L2091[20:11:34] <unascribed> but it's
represented as a property in the blockstate
L2092[20:11:53] ***
kirby|gone is now known as mrkirby153
L2093[20:12:18] <unascribed> how you map
properties to your meta is completely up to you
L2094[20:12:25] <unascribed> so you could
have a boolean property that goes into a bit
L2095[20:12:31] <gigaherz> riderj:
getStateFromMeta / getMetaFromState
L2096[20:12:36] <gigaherz> that's how you
choose what goes into metadata
L2097[20:12:41] <riderj> Ok, so metadata
is a way of mapping values?
L2098[20:12:45] <gigaherz> no
L2099[20:12:48] <riderj> :/
L2100[20:12:49] <gigaherz> it's a way of
STORING those values
L2101[20:13:05] <gigaherz> the mapping
between blockstates and metadata is 100% up to you
L2102[20:15:43]
⇨ Joins: agowa339
(~Thunderbi@p54918B3F.dip0.t-ipconnect.de)
L2103[20:15:49] <tterrag> gigaherz:
indeed it seems the min UV values are always in the first
position
L2104[20:15:53] <tterrag> so I could just
cycle the array
L2105[20:16:53]
⇦ Quits: agowa338 (~Thunderbi@p5491857F.dip0.t-ipconnect.de)
(Ping timeout: 189 seconds)
L2106[20:16:53] ***
agowa339 is now known as agowa338
L2107[20:19:19]
⇨ Joins: poiuy_qwert
(~poiuy_qwe@198-84-224-94.cpe.teksavvy.com)
L2108[20:22:34] <tterrag> gigaherz: haha
holy crap that works
L2110[20:23:08] <tterrag> mmm not
quite
L2112[20:23:30] <masa> riderj: what
minecraft actually stores in the world files about blocks, is the
block id, which is 8 + 4 bits, the metadat, which is 4 bits, then a
couple of light values (sky and block light) both 4 bits, and then
additionally some blocks can have a tile entity, which can have
arbitrary data
L2113[20:23:32] <tterrag> top of stairs
gets messed up for some reason
L2114[20:23:53] <tterrag> only the top
though O.o
L2115[20:24:20] <masa> so the block id,
metadata and light values are stored in byte arrays, where each
block posiiton corresponds to one element in the array
L2116[20:24:30]
⇨ Joins: Harry (~Harry@46.101.12.90)
L2117[20:24:52] <Cazzar> if only java 8
had a REPL
L2118[20:25:59] <gigaherz> lol
L2119[20:26:03] <masa> and nowadays in
code, the "state of a block in a position in the world"
is represented by a blockstate. The "basic" blockstate is
made up of the block id and the metadata, and the
getStateFromMeta() and getMetaFromState() methods map the
blockstate to the metadata for that block type (block class)
L2120[20:26:11] <Cazzar> It'd make this
testing a shitton easier.
L2121[20:26:35] <gigaherz> (that lol was
at tterrag's pic)
L2122[20:27:06] <tterrag> also my
unbaking process seems to lose float precision
L2123[20:27:10] <tterrag>
Quad(vertPos=[Vector3f[0.0, 2.9802322E-8, 1.0], Vector3f[0.0,
2.9802322E-8, -1.3909066E-8], Vector3f[1.0, 2.9802322E-8,
-1.3909066E-8], Vector3f[1.0, 2.9802322E-8, 1.0]],
vertUv=[Vector2f[0.5546826, 0.32813478], Vector2f[0.5468799,
0.32813478], Vector2f[0.5468799, 0.34374022], Vector2f[0.5546826,
0.34374022]])
L2124[20:27:22] <masa> so essentially
those determine which properties in the blockstate are in which
values when a given metadata value is read from the world file for
a given block
L2125[20:28:11] <tterrag> gigaherz: oh I
know why
L2126[20:28:18] <tterrag> I'm rotating a
non-square quad's UVs by 90 degrees
L2127[20:28:21] <tterrag> so it gets
stretched...
L2128[20:28:22] <tterrag> hm...
L2129[20:29:09] <riderj> If block id's
are only 8 bits, that only allows for 256 unique id's? or am I
confused?
L2130[20:30:06] <gigaherz> block id is 12
bits
L2131[20:30:08] <tterrag> ^
L2132[20:30:08] <gigaherz> 4096
blocks
L2133[20:30:15] <gigaherz> + 4 bit
metadata
L2134[20:30:24] <gigaherz> so each block
"cell" fits in a 16bit unit
L2135[20:30:30] <gigaherz> (2
bytes)
L2136[20:30:41] <tterrag> gigaherz: how
do you think I could solve this rotation issue?
L2137[20:30:54] <riderj> That makes more
sense, so block id 4000 can have metadata 4000+0-15?
L2139[20:33:17] <masa> metadata is always
4 bits per block position i nthe world
L2140[20:33:47] <riderj> I have no clue,
I'm still very confused :/. I can't seem to visualize the whole
thing
L2141[20:34:02] <tterrag> block ids are
12 bits
L2142[20:34:04]
⇨ Joins: PBlock96
(~PB@lawn-143-215-58-139.lawn.gatech.edu)
L2143[20:34:04] <tterrag> metadata is 4
bits
L2144[20:34:06] <riderj> Can't find the
right thing to google either
L2145[20:34:09] <tterrag> together that's
16 bits per block position
L2146[20:34:16] <tterrag> that's it
L2147[20:34:38] <Cazzar> \o/ this is
actually structurally working.
L2148[20:35:39] <masa> well you know what
a chunk looks like right? imagine a 3D array of bytes where each
blocks is one element
L2149[20:37:06] <masa> for the block id,
there is one array of bytes for the "basic block id", and
then another array of bytes that is hald the length, because every
block position only gets 4 bits of storage from it, and those are
combined into the 12 bit block id. And then there is another array
of bytes, from which each block posiiton gets 4 bits for the
metadata
L2150[20:37:25] <masa> *half
L2151[20:37:58] <tterrag> gigaherz: I
guess if I cycled by 1 or 3 I need to invert the distances between
the UVs
L2152[20:38:00] <tterrag> no?
L2153[20:38:04] <masa> but that is the
low level storage of the data, you don't need to care about those
details
L2154[20:38:52] <masa> you don't even
need to care about the block id anymore. In 1.8 all you need to
care about is the block class, and the 4 bit metadata and how you
map your blockstate to that 4 bit metadata
L2155[20:40:12] <gigaherz> tterrag: I
gues
L2156[20:40:15] <gigaherz> guess*
L2157[20:40:56]
⇦ Quits: candybar
(~foo@adsl-074-181-053-011.sip.sav.bellsouth.net) (Quit: WeeChat
1.3)
L2159[20:41:51]
⇨ Joins: AbsentThirdEye
(~Subconsci@cpe-65-28-43-97.wi.res.rr.com)
L2160[20:42:03] <Cazzar> ofc the JSON
serailzation wouldn't be that.
L2162[20:43:38] <tterrag> oh god
L2163[20:43:51] <tterrag> there's this
amazing thing called a line tool
L2164[20:43:53] <tterrag> ;_;
L2165[20:43:57] <Cazzar> Also, 1.8 chunks
also go vertically.
L2166[20:44:03] <unascribed> so do 1.7
ones
L2167[20:44:08] <unascribed> that's an
unimportant distinction
L2168[20:44:40] <unascribed> also it was
faster to use the mouse than line tool
L2169[20:44:47] <unascribed> because if I
used the line tool I'd get picky about how it looked
L2170[20:44:48] <Cazzar> unascribed: the
comment I was having, is in 1.7 a chunk is on only the x and z
rows.
L2171[20:44:50] <unascribed> and then
it'd be 2 hours later
L2172[20:44:53]
⇨ Joins: ZaggyMobile2
(~Zaggy1024@174-20-167-106.mpls.qwest.net)
L2173[20:44:55] <Cazzar> 1.8 also chunked
the Y
L2174[20:45:03] <unascribed> no, in 1.7
chunks are also made up of sections
L2175[20:45:20] <unascribed> that
distinction was made along with Anvil
L2176[20:45:30] <unascribed> which is
older than even 1.7
L2177[20:45:37] <Cazzar> One
second.
L2178[20:45:50] <unascribed> but as
someone who has been modding since early beta
L2179[20:45:51] <masa> anvil is 1.2
L2180[20:45:53] <unascribed> chunks will
always be full Y to me
L2181[20:46:16] <Cazzar> I've been
modding since alpha
L2182[20:46:19]
⇨ Joins: SubconsciousEye
(~Subconsci@cpe-65-28-43-97.wi.res.rr.com)
L2183[20:46:41]
⇨ Joins: Vasher
(~Vasher@c-50-173-49-36.hsd1.ca.comcast.net)
L2184[20:46:55] <masa> i've been modding
since yesterday
L2185[20:47:03] <masa> and about two
years before that
L2186[20:48:16] <riderj> What file could
I start with to trace how blocks are stored?
L2187[20:48:17]
⇨ Joins: EyeOfKoishi
(~Subconsci@cpe-65-28-43-97.wi.res.rr.com)
L2188[20:48:22] <riderj> I assume
Chunk
L2189[20:48:24] <masa> anyway, I
understand a chunk to be the full world height 16x16 section of the
world, how it is mostly handled in code too, except for the actual
save/load from file code
L2190[20:48:25] <unascribed> anything
.mca
L2191[20:48:28] <unascribed> oh, you mean
class file
L2192[20:48:35] <riderj> Yeah
L2193[20:48:36] <unascribed> Chunk is a
good start, yeah
L2194[20:48:45] <masa> riderj: why do you
care about that exactly? what are you doing?
L2195[20:48:49] <riderj> I wanna figure
this out, because explainations aren't helping me much :/
L2197[20:48:59] <riderj> I hate not
knowing the lowest possible thing I can
L2198[20:49:00] <unascribed> also
potentially useful
L2199[20:49:20]
⇦ Quits: AbsentThirdEye
(~Subconsci@cpe-65-28-43-97.wi.res.rr.com) (Ping timeout: 189
seconds)
L2200[20:49:26] <masa> heh ok well yeah,
Chunk and then some of the AnvilSaveWhatever classes
L2201[20:50:02] <riderj> I'm trying to
understand it, but it doesn't seem to be passing through my thick
skull XD
L2203[20:50:22] <unascribed> bitwise
logic can be surprisingly complicated when you're not used to it,
so it's fair
L2204[20:50:59]
⇦ Quits: SubconsciousEye
(~Subconsci@cpe-65-28-43-97.wi.res.rr.com) (Ping timeout: 189
seconds)
L2205[20:51:01]
⇨ Joins: Techfoxis
(~Techfoxis@pool-74-110-119-59.nrflva.fios.verizon.net)
L2206[20:51:09] <Cazzar> Bitwise logic
<3
L2207[20:51:26] <Cazzar> Then again, I've
reinforced it personally, by doing some weird shit.
L2208[20:51:46] <riderj> I've never
messed with it, besides when I was messing with minicraft. Still
didn't get it, but I knew how Notch converted to RGB with bit
shifting.
L2209[20:52:04] <masa> bitwise logic
<3
L2210[20:52:07] <riderj> Never understood
why it was 8 bits, 16 bits, and 24
L2211[20:52:15] <unascribed> well
L2212[20:52:17] <unascribed> ints are
32-bit
L2213[20:52:20] <masa> it really amkes
many things simple when they would be a lot messier without
it
L2214[20:52:37]
⇦ Quits: Hgrebnednav
(~Hgrebnedn@2a02:1811:2c2a:a400:f58c:9da1:d5eb:8ebf) (Read error:
Connection reset by peer)
L2215[20:52:48] <riderj> the color format
that was used was RGBA I believe
L2216[20:52:58] <killjoy> it's argb
L2217[20:53:02] <unascribed> well
L2218[20:53:02] <riderj> Yeah that
one
L2219[20:53:05] <unascribed> he's talking
about minicraft
L2220[20:53:10] <unascribed> so it very
well could've been rgba
L2222[20:53:44] <riderj> I'm not too sure
now, but either way bitwise logic is confusing.
L2223[20:54:08] <riderj> Yeah, no clue
what that means. I didn't even know ^= was a thing
L2224[20:54:31] <masa> it's just a
shorthand of var = var ^ somevalue;
L2225[20:54:46] <riderj> Ah
L2226[20:54:49] <masa> and ^ is XOR
L2228[20:55:04] <riderj> and I guess a|=b
is just a = a|b
L2229[20:55:14] <masa> yep
L2230[20:55:28] <unascribed> oh, the
debug menu redesign
L2231[20:55:37] <Cazzar> not
exactly.
L2232[20:55:37] <riderj> Any good
readings I can look into for the future?
L2233[20:55:45] <riderj> To understand
bitwise logic better.
L2235[20:56:19] <unascribed> yes, but
they added the y section as part of the redesign
L2236[20:56:22] <unascribed> it's still a
thing in 1.7
L2237[20:56:27] <unascribed> just not in
the debug screen
L2238[20:57:06] <Cazzar> Anyway, it's a
superflous arguement.
L2239[20:58:13] <tterrag> gigaherz: the
question is which do I base on? min or max? i.e. do I clip the min
to 0.5 or the max to 0.5 (in this case)
L2240[20:59:12]
⇦ Quits: AforAnonymous (bitch2k@dyn-042-184.vix1.mmc.at)
(Quit: Try not to think not.)
L2241[21:00:19] <gigaherz> tterrag:
depends on how much you rotated, and what the original was?
XD
L2242[21:00:34] <tterrag> rotation is
always going to be by 90/180/270
L2243[21:00:44] <tterrag> 180 can be
ignored because we are just flipping both so the ratios are
preserved
L2244[21:02:33] <tterrag> gigaherz: think
about the specific case of the top of the stairs
L2245[21:02:48] <tterrag> the min SHOULD
be at the "back" of the stair model
L2246[21:02:51] <tterrag> but how am I to
know that?
L2247[21:03:15] <gigaherz> yes I
mean
L2248[21:03:18] <gigaherz> if the
original was
L2249[21:03:30] <gigaherz> 0..0.5
L2250[21:03:34] <gigaherz> and you rotate
90
L2251[21:03:38] <gigaherz> ccw
L2252[21:04:23] <gigaherz> then what used
to be "u", will become "v", and "v"
will become "1-u"
L2253[21:04:27] <gigaherz> so
L2254[21:04:32] <gigaherz> v will be
0.5..1
L2255[21:04:41] <gigaherz> while u will
be 0..1
L2256[21:04:57] <gigaherz> (if the
original was u=0..0.5)
L2257[21:09:11] <tterrag> gigaherz: I'm
not fully understanding how that works out
L2258[21:09:41]
⇨ Joins: Drullkus
(~Drullkus@c-67-180-188-243.hsd1.ca.comcast.net)
L2259[21:11:02]
⇦ Quits: Vazkii (~Vazkii@a79-169-163-74.cpe.netcabo.pt)
(Quit: ~FILLED WITH DETERMINATION~)
L2260[21:12:55] <gigaherz> tterrag: okay
you have 4 possible rotations
L2261[21:13:06] <tterrag> right
L2262[21:13:07] <gigaherz> 0,
(noop)
L2263[21:13:34] <gigaherz> 90 ccw, which
means: u1=v0; v1=1-u0;
L2264[21:13:44] <gigaherz> 180 ccw, which
means: u1=1-u0; v1=1-v0;
L2265[21:14:01] <gigaherz> 270 ccw, which
means: u1=1-v0; v1=u0;
L2266[21:14:08] <gigaherz> I think
L2267[21:14:15]
⇨ Joins: candybar
(~foo@adsl-074-181-053-011.sip.sav.bellsouth.net)
L2268[21:14:41] <gigaherz> hmm no
L2269[21:14:48] <gigaherz> 270 ccw, which
means: u1=1-v0; v1=1-u0; ? hmf not sure
L2270[21:15:36] <tterrag> I'll try some
stuff
L2271[21:15:43] <gigaherz> well something
like that
L2272[21:15:44] <gigaherz> anyhow
L2273[21:15:47] <gigaherz> each of those
4 cases
L2274[21:16:02] <gigaherz> will output
something based on min/max u/v
L2275[21:16:21] <gigaherz> and the
transform applied by the rotation
L2276[21:16:57] <killjoy> Is there a chat
bubbles mod for 1.8 yet?
L2277[21:17:07] <gigaherz> never heard of
it
L2278[21:17:12]
⇨ Joins: Gigabit101
(~Gigabit10@cpc76302-cosh16-2-0-cust475.6-1.cable.virginm.net)
L2279[21:17:13] <gigaherz> (which doesn't
mean much)
L2280[21:17:19] <tterrag>
<gigaherz> 90 ccw, which means: u1=v0; v1=1-u0;
L2281[21:17:28] <tterrag> and also u0=v1
and v0 = 1-u1 ?
L2282[21:17:29] <killjoy> when people
chat, a chat bubble is shown over their heads
L2284[21:17:32] <gigaherz> yes
L2285[21:17:32]
⇦ Quits: Techfoxis
(~Techfoxis@pool-74-110-119-59.nrflva.fios.verizon.net) (Quit:
Leaving)
L2286[21:17:38] <tterrag> yes to me?
:P
L2287[21:17:43] <gigaherz> no to
killjoy
L2288[21:17:43] <killjoy> to me
L2289[21:17:44] <gigaherz> XD
L2290[21:17:48] <tterrag> :C
L2291[21:17:52] <gigaherz> just 1.8
though
L2292[21:17:53] <gigaherz> not
1.8.9
L2293[21:18:06] <killjoy> Oh, this is
Mamiya0taru's
L2294[21:18:08] <gigaherz> tterrag: what?
XD
L2295[21:18:11] <killjoy> Didn't realize
it updated
L2296[21:18:19] <gigaherz> the point of
that formula
L2297[21:18:20] <tterrag> gigaherz: my
question?
L2298[21:18:33] <gigaherz> is to figure
out the "output" u/v based on the input
L2299[21:18:36] <gigaherz> to apply the
rotation
L2300[21:18:40] <tterrag> oh
L2301[21:18:46] <gigaherz> if you rotate
by 90 ccw
L2302[21:18:48] <tterrag> yeah but I have
min u/v and max u/v
L2303[21:18:56] <gigaherz> then whatever
u/v each vertex has
L2304[21:19:01] <gigaherz> gets
transformed based on those rules
L2305[21:19:09] <tterrag> hmmm
L2306[21:19:35] <gigaherz> I'm not
certain if I made some logic mistake on them (I didn't draw on
paper)
L2307[21:19:59] <gigaherz> but what I
meant to say is that, knowing those rules
L2308[21:20:06] <gigaherz> you can know
how to "fix" the coords
L2309[21:20:09]
⇨ Joins: Techfoxis
(~Techfoxis@pool-74-110-119-59.nrflva.fios.verizon.net)
L2310[21:20:57] <gigaherz> if the input
is {U=0..0.5, V=0..1), and you have rotation=90(ccw)
L2311[21:21:21]
⇨ Joins: SubconsciousEye
(~Subconsci@cpe-65-28-43-97.wi.res.rr.com)
L2312[21:21:26] <gigaherz> you'd apply
the rule "u1=v1", so the range for U will be 0..1
L2313[21:21:43] <unascribed> I have a
somewhat long looping ambient sound that there may be many of
played at once
L2314[21:21:44] <gigaherz> and you'd
apply the rule "v1=1-u1" so the range for V becomes
0.5..1
L2315[21:21:52] <unascribed> as such, it
can't be stream mode because the game lags when starting the
sound
L2316[21:21:56] <unascribed> is there a
good way to pre-load the sound during init?
L2317[21:22:06] <Techfoxis> Hey, what
would be the best way of generating a structure?
L2318[21:22:15] <killjoy> why do you want
to pre-load the sound?
L2319[21:22:21] <Techfoxis> Minecraft
1.8
L2320[21:22:22] <unascribed> ...I just
explained why
L2321[21:22:27] <gigaherz> Techcable:
store a template somewhere
L2322[21:22:28] <unascribed> It's
somewhat long
L2323[21:22:28] <killjoy> ..
L2324[21:22:33] <gigaherz> either data
file or in code
L2325[21:22:36] <unascribed> there may be
a lot of them playing at once and starting in quick
succession
L2326[21:22:52] <unascribed> and when
they start with stream: true, they lag the game for a moment
opening the stream
L2327[21:22:53] <Techcable> huh
L2328[21:23:18] <unascribed> because
apparently the game isn't smart enough to share the stream
L2329[21:23:23] <gigaherz> and using a
world decorator class, when the chunk generates, you find a
location, and put the template blocks onto the world
L2330[21:23:28] <unascribed> with stream
off, the game lags for a few seconds the first time the sound
plays
L2331[21:23:30] <unascribed> and then
it's smooth
L2332[21:23:38] <unascribed> I'd rather
not lag the first time
L2333[21:23:44] <gigaherz> alternatively,
you can use a "structure spawner" block
L2334[21:23:53] <gigaherz> that runs when
a player gets close
L2335[21:23:53] <gigaherz> ;P
L2336[21:23:59]
⇦ Quits: EyeOfKoishi
(~Subconsci@cpe-65-28-43-97.wi.res.rr.com) (Ping timeout: 189
seconds)
L2337[21:24:05] <gigaherz> after world
generation has finished
L2338[21:24:29] <gigaherz> Techcable:
oops, I meant Techfoxis
L2339[21:24:44] <Techcable> yeah
L2340[21:24:49] <Techcable> its
okay
L2341[21:25:06] <gigaherz> sorry I can
deal with a prefix of length 3, but 4 messes up my typing
L2342[21:25:07] <gigaherz> XD
L2343[21:25:09] <unascribed> this is why
you set your name completion to "Shell-like" instead of
"Inline cycle"
L2344[21:25:37] <gigaherz> unascribed:
this is mirc, I don't believe autocomplete has any other mode than
"alphabetical from the top"
L2345[21:26:03] <unascribed> probably
not
L2346[21:26:07] <Techfoxis> gigaherz:
What about when a player activates a block by clicking it?
L2347[21:26:08] <unascribed> mirc is
kinda bleh
L2348[21:26:19] <gigaherz> Techfoxis:
what about it?=
L2349[21:27:04] <unascribed> so, no way
to preload a sound?
L2350[21:27:32] <Techfoxis> gigaherz: Is
that to much of a performance issue or something, I plan on making
a sky island appear when a flower is bonemealed.
L2352[21:29:01] <tterrag> that seems to
work
L2353[21:29:09] <tterrag> except now I'm
getting z-fighting so supposedly something isn't lining up
right
L2354[21:29:17] <gigaherz> Techfoxis:
have you ever grown a redwood tree?
L2356[21:29:47]
⇨ Joins: Ipsis
(~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk)
L2357[21:29:54] <gigaherz> Techfoxis:
they cause a bit of lag, yes, but it's not so bad that you
"should never do it"
L2358[21:30:03] <gigaherz> ofc, depends
on how big your island is, it may be unreasonable
L2359[21:30:04] <gigaherz> ;P
L2360[21:30:12] <unascribed> if you place
a block every tick, it won't lag quite as bad
L2361[21:30:16] <unascribed> light
updates might still get you
L2362[21:30:28] <unascribed> but not an
all-at-once server-stopping lagspike
L2363[21:31:10] <tterrag> alternatively
set all the blocks without the client update flag then batch
block-update the range
L2364[21:31:44] <Techfoxis> The island
would probably be about 10x10x8 with a "Beanstalk"
leading up to it, so it should be fine.
L2365[21:31:46] <gigaherz> I remember the
sacred mega rubber tree
L2366[21:31:52] <gigaherz> I generated
one once
L2367[21:31:53] <unascribed> oh god
L2368[21:32:00] <unascribed> once someone
on my server got one legitimately
L2369[21:32:07] <unascribed> the server
crashed when they were dared to grow it
L2370[21:32:08] <tterrag> gigaherz: if I
derotate the underlay quad it works
L2371[21:32:09] <gigaherz> took like 10
minutes for mc to recover
L2372[21:32:13] <tterrag> maybe I should
just always derotate >.>
L2373[21:32:17] <unascribed> it covered
their base in a dark void
L2374[21:32:22] <gigaherz> tterrag: maybe
XD
L2375[21:32:22] <riderj> Does the bit
operator & function like modulus?
L2376[21:32:26] <unascribed> and then
they had the brilliant idea to *burn it down*
L2377[21:32:34] <unascribed> needless to
say we had to reset the map
L2378[21:32:38] <gigaherz> lol
L2379[21:32:48] <gigaherz> riderj: only
for very specific uses
L2380[21:32:52] <gigaherz>
basically
L2381[21:33:00] <gigaherz> for
"&" to work like modulus
L2382[21:33:09] <gigaherz> you need a bit
pattern where all the bottom bits are 1
L2383[21:33:12] <gigaherz> and the rest
are 0
L2384[21:33:14] <gigaherz> or in other
words
L2385[21:33:17] <gigaherz> 2^n-1
L2386[21:33:28] <riderj> I see
L2387[21:33:30] <Techfoxis> What other
possibility for templates are there other than a
BlockPattern?
L2388[21:33:40] <gigaherz>
number&("2^n-1") === number%"2^n"
L2389[21:34:11] <gigaherz> Techfoxis: put
worldedit-compatible .schematic files in your resources
L2390[21:34:15] <gigaherz> and load them
as needed
L2391[21:34:23] <gigaherz> this will
allow resourcepack makers to replace the structures also
L2392[21:34:23] <gigaherz> ;P
L2393[21:34:31] <tterrag> technically it
functions not at all like modulus, but it can be messed with to be
similar :P
L2394[21:34:35] <gigaherz> and create
structures in worldedit/mcedit
L2395[21:34:36] <riderj> Since chunks are
stored 16x16x16 and Y goes up to 256. They use bitwise and to
prevent Y from going past 16 by doing y&15
L2396[21:34:51] <tterrag> what I mean is
the definition for the two operators is completely different
L2397[21:34:54] <riderj> Correct me if
I'm wrong
L2398[21:34:59] <tterrag> riderj:
y&15 will give you only the last 4 bits of the y value
L2399[21:35:06] <Techfoxis> gigaherz:
Thanks for all the help, I'll look into those.
L2400[21:35:22]
⇨ Joins: EyeOfKoishi
(~Subconsci@cpe-65-28-43-97.wi.res.rr.com)
L2401[21:35:28] <tterrag> in this case
yes it is equal to y % 16, but % is technically less efficient, and
not what they are actually doing
L2402[21:35:44]
⇦ Quits: Drullkus
(~Drullkus@c-67-180-188-243.hsd1.ca.comcast.net) (Remote host
closed the connection)
L2403[21:35:53] <gigaherz> yeah
L2404[21:35:55] <riderj> So my main
problem is that I don't know anything about binary XD
L2405[21:35:56] <gigaherz>
number&15
L2406[21:36:02] <gigaherz> drops all but
the bottom 4 bits
L2407[21:36:03] <tterrag> go read up on
binary operators
L2408[21:36:09] <gigaherz> which means it
"wraps around" when it would be 16
L2409[21:36:11] <tterrag> there aren't
that many and they aren't that complicated :p
L2410[21:36:27] <tterrag> it may be
easier to visualize it as y & 1111
L2411[21:36:32] <tterrag> (1111 is 15 in
binary)
L2412[21:36:33] <gigaherz> yeh
L2413[21:36:34] <riderj> I will, got that
on my todo list.
L2414[21:36:48] <gigaherz> do you
understand boolean logic?
L2415[21:37:00] <tterrag> so if y is
01010101 and you do a logical AND on each of those bits with the
number 00001111 (15) you will end up with 00000101
L2416[21:37:04] <killjoy>
0b00110010111011 & 0b1111 = 0b1011
L2417[21:37:13] <tterrag> too late
noob
L2418[21:37:18] <riderj> I can't say I
do, I get the jist of it but I can't explain it.
L2419[21:37:21] <killjoy> was doing math
in head :(
L2420[21:37:28] <killjoy> had to count up
to 15
L2421[21:37:30] <gigaherz> yeah then you
really want to read up on those
L2422[21:37:31] <gigaherz> XD
L2423[21:37:36] <gigaherz> that's the
basis for all modern computing
L2424[21:37:52] <tterrag> essentially you
only have AND, OR, and XOR
L2425[21:37:56] <gigaherz> and NOt
L2426[21:37:59] <gigaherz> ~n
L2427[21:38:01] <tterrag> right
L2428[21:38:06]
⇦ Quits: SubconsciousEye
(~Subconsci@cpe-65-28-43-97.wi.res.rr.com) (Ping timeout: 198
seconds)
L2429[21:38:08] <killjoy> deciding
whether you are steve or alex is done by uuid.hashcode() &
1
L2430[21:38:10] <gigaherz> and thne
there's the shift operators, for extra reading
L2431[21:38:10] <gigaherz> XD
L2432[21:38:23] <tterrag> then there's
the secondary operators NAND NOR XNOR which are just (NOT (X AND
Y)) etc
L2433[21:38:39] <tterrag> might be
getting ahead of myself :P
L2434[21:38:44] <gigaherz> with the funny
thing that NAND is the easiest to implement in hardware
L2435[21:38:44] <gigaherz> XD
L2436[21:38:52] <killjoy> I learned this
in my electronics class in 10th grade
L2437[21:38:54] <tterrag> anything can be
done with NAND gates :)
L2438[21:39:00] <gigaherz> and NOR the
easiest to implement in minecraft
L2439[21:39:08] <gigaherz> which is why
redstone is funny: it's NOR-based logic
L2440[21:39:11] <gigaherz> instead of
NAND-based
L2441[21:39:11] <tterrag> you can make
any logical operator from NAND
L2442[21:39:23] <killjoy> you can make a
NAND gate
L2443[21:39:29] <gigaherz> yes
L2444[21:39:38] <gigaherz> but it wil lbe
made of nor gates ;P
L2445[21:40:05] <gigaherz> the redstone
torch isn't an inverter: it's a nor gate effectively
L2446[21:40:07] <killjoy> all you really
need is and, or, and not
L2447[21:40:10] <gigaherz> since it can
be powered from multiple places at once
L2448[21:40:25] <gigaherz> all you really
need is either "nor", "nand", or
"and,or,not"
L2449[21:40:49] <gigaherz> it's 3 ways to
implement logic
L2450[21:41:00] <gigaherz> they all can
do everyhting, because they all can become all other gates
L2451[21:41:03] <tterrag> god prewriting
all the normalize/relativize logic was the best thing I did for
writing this code
L2452[21:41:08] <tterrag> it's so much
easier to deal with normalized UVs :P
L2453[21:41:09] <gigaherz> XD
L2454[21:41:46] <tterrag> slightly less
efficient? maybe. easier to figure out in my head definitely
L2455[21:42:06] <tterrag> when everything
is 0..1 instead of ????..????
L2456[21:42:22] <tterrag> it also means
that scaling to match a larger sprite is automatic
L2457[21:43:06]
⇨ Joins: Wastl2
(~Wastl2@f052231246.adsl.alicedsl.de)
L2458[21:43:29] <riderj> The best thing
is, most universities don't teach this in under grad programs. I
believe my program evaluation sheet shows that my major stops at
networking.
L2459[21:43:33] <unascribed> so there's
no way to preload a sound?
L2460[21:44:01] <tterrag> unascribed:
what?
L2461[21:44:13] <riderj> I also am not
going to a fantastic university for CS either.
L2462[21:44:40] <unascribed> I have a
semi-long sound that can have a lot started in quick succession, so
when used in streaming mode, it causes lag if a lot start at once,
and when not in stream mode the first time it's played it lags the
game for a few seconds
L2463[21:44:55] <unascribed> when not in
stream mode, after the initial lag it's smooth
L2464[21:47:26]
⇨ Joins: AbsentThirdEye
(~Subconsci@cpe-65-28-43-97.wi.res.rr.com)
L2465[21:47:54] <riderj> Say I want to
get a block at pos (3000,53, 67). Does minecraft first check for
the chunk that is at the coordinate set, and then proceed to get
the blocks that are stored in that chunk?
L2466[21:48:14] <unascribed> yes, it gets
the chunk at (3000/16), (67/16)
L2467[21:48:23] <unascribed> and then
asks the chunk for the block at (3000%16), (67%16)
L2468[21:48:30] <unascribed> er, plus the
y coordinate
L2469[21:48:34] <killjoy> &15
L2470[21:48:41]
⇦ Quits: EyeOfKoishi
(~Subconsci@cpe-65-28-43-97.wi.res.rr.com) (Ping timeout: 198
seconds)
L2471[21:48:44] <Cypher121> same
thing
L2472[21:48:44] <unascribed> effectively
equivalent to a modulo 16 in this case.
L2473[21:48:44]
⇦ Quits: Delaxarnyazer (~Delaxarny@ip56572345.direct-adsl.nl)
(Ping timeout: 189 seconds)
L2474[21:48:51] <killjoy> :p
L2475[21:49:31] <riderj> Cool
L2476[21:50:12]
⇨ Joins: Delaxarnyazer
(~Delaxarny@2a02:a44e:91ce:0:3df5:891a:44af:a42a)
L2477[21:50:45] <Cypher121> although, I
think if you request a block from unloaded chunk it may cause some
issues
L2478[21:50:52] <Cypher121> don't even
remember where I heard that
L2480[21:51:38]
⇨ Joins: covers1624_ (~covers162@1.125.48.189)
L2481[21:52:34]
⇨ Joins: SubconsciousEye
(~Subconsci@cpe-65-28-43-97.wi.res.rr.com)
L2482[21:53:45]
⇦ Quits: covers1624
(~covers162@ppp121-45-25-252.lns20.adl2.internode.on.net) (Ping
timeout: 186 seconds)
L2483[21:54:27] <riderj> Cool, I feel
like I understand how metadata works now :D
L2484[21:55:09] <riderj> Albeit in a very
broad way, but that's because I have no clue how bit logic works.
That'll be the next thing I research.
L2485[21:55:25]
⇦ Quits: AbsentThirdEye
(~Subconsci@cpe-65-28-43-97.wi.res.rr.com) (Ping timeout: 198
seconds)
L2486[21:57:21] *
gigaherz facepalms hard
L2487[21:57:27] <gigaherz> the reason my
entities didn't render: scale was 0
L2488[21:57:37] <gigaherz> I was never
running the scale formula
L2489[21:58:05]
⇦ Quits: Flashfire
(~Flashfire@d24-36-192-173.home1.cgocable.net) (Ping timeout: 189
seconds)
L2490[21:58:08] <riderj> That blows
L2491[21:58:18] <gigaherz> yeah took me
like 3 hours to figure out
L2492[21:58:30] <riderj> I hate when
things don't work, and it's because I forgot to call a method
:/
L2493[21:59:13] <riderj> You probably
used every debugging technique you know to figure it out
L2494[21:59:18]
⇦ Quits: sinkillerj
(~sinkiller@nc-67-232-14-71.dhcp.embarqhsd.net) (Quit:
またね)
L2495[21:59:31] <gigaherz> ugh
randomTick's average ticking rate is WAY too slow :/
L2496[22:05:27]
⇦ Quits: PrinceCat (~PrinceCat@58-7-240-130.dyn.iinet.net.au)
(Quit: My Mac has gone to sleep. ZZZzzz…)
L2497[22:06:14]
⇦ Quits: KGS (~KGS@h-155-4-135-249.na.cust.bahnhof.se) (Ping
timeout: 198 seconds)
L2498[22:07:58]
⇨ Joins: Temportalist
(uid37180@id-37180.charlton.irccloud.com)
L2499[22:08:23] ***
cpw is now known as cpw|out
L2500[22:12:57]
⇦ Quits: ZaggyMobile2
(~Zaggy1024@174-20-167-106.mpls.qwest.net) (Read error: Connection
reset by peer)
L2501[22:15:02]
⇨ Joins: McJty
(~jorrit@94-225-203-206.access.telenet.be)
L2502[22:17:37] <riderj> Blocks are a
total of 8 bits + 4 for data, and 4 for lighting (sky/block).
Correct? Want to confirm it so I can put it in my notes.
L2503[22:19:37] <gigaherz> 12+4
L2504[22:19:38] <gigaherz> not 8
L2505[22:19:52] <gigaherz> they USEd to
be 8+4+4 back in alpha
L2506[22:20:32] <gigaherz> but they have
been 12+4+8(?) for a while
L2507[22:21:04] <gigaherz> (the save
format stores 4 bits for the light value, and 4 bits for the amount
of daylight/shadow it has)
L2508[22:22:18] <riderj> From what the
wiki says, Blocks partial id is 8 bits + additional wich is 4 bits
making 12 bits + 4 for lighting + 4 for sky + 4 for meta
L2509[22:22:33] <gigaherz> that wiki is
horribly outdated then ;P
L2511[22:22:58] <riderj> I mean I could
be reading it wrong, but idk
L2512[22:23:00] <unascribed> that's
correct for vanilla
L2513[22:23:03] <unascribed> vanilla only
uses 8 bits
L2514[22:23:09] <unascribed> there's a
special "add" field for block ids to bring it up to
12
L2515[22:23:10] <unascribed> forge uses
that
L2516[22:23:19] <gigaherz> but
really
L2517[22:23:26] <gigaherz> riderj: forget
about bits and such
L2518[22:23:41] <gigaherz> unless you are
doing low-level things that work directly with save data or network
data
L2519[22:23:45] <gigaherz> you don't need
to care at all
L2520[22:23:53] <McJty> Well you can't
fully forget about them yet. The 4-bit meta limitation is something
a modder has to work with
L2521[22:23:58] ***
Darkevilmac is now known as Dark|BeamPro
L2522[22:23:59] <gigaherz> you only need
to know basically 3 things
L2523[22:24:02] <gigaherz> 1. metadata is
4 bits
L2524[22:24:07] <gigaherz> 2. light has
levels 0..15
L2525[22:24:13] <gigaherz> 3. redstone
has levels 0..15
L2526[22:24:27]
⇦ Quits: Elucent
(~elucent__@d47-69-239-56.col.wideopenwest.com) (Ping timeout: 198
seconds)
L2527[22:24:35] <gigaherz> everything
else should be inconsequential to how you write your mods
L2528[22:24:39] <riderj> I am someone who
likes learning about the low level topics. I live to know every
little detail about everything :{
L2529[22:24:47] <riderj> :P
L2530[22:24:58]
⇦ Quits: KanoCodex (~Giratina5@2604:180:0:368::bcd8) (Remote
host closed the connection)
L2531[22:25:45]
⇦ Quits: Corosus (~Corosus@135-23-126-120.cpe.pppoe.ca) (Ping
timeout: 186 seconds)
L2532[22:25:50] <riderj> So I should
write " Vanilla minecraft blocks are 8 bits, forge adds an
additional 4 bit array to store more block id's. Lighting,
metadata, and sky light are all 4-bit arrays"
L2533[22:27:04]
⇨ Joins: Corosus
(~Corosus@135-23-126-120.cpe.pppoe.ca)
L2534[22:27:49]
⇦ Quits: Lathanael|Away
(~Lathanael@p5496164E.dip0.t-ipconnect.de) (Ping timeout: 198
seconds)
L2535[22:33:19]
⇦ Quits: Corosus (~Corosus@135-23-126-120.cpe.pppoe.ca)
(Killed (NickServ (GHOST command used by
Corosauce!~Corosus@209.171.88.38)))
L2536[22:34:15]
⇨ Joins: Corosus (~Corosus@209.171.88.38)
L2537[22:35:12]
⇨ Joins: Lathanael|Away
(~Lathanael@p54961782.dip0.t-ipconnect.de)
L2538[22:40:55] <unascribed> vanilla
actually has the 4-bit array
L2539[22:40:57] <unascribed> it just
doesn't use it
L2540[22:43:40] <Cypher121> well, with
197 IDs used, they may have to at some point
L2541[22:44:05] <unascribed>
probably
L2542[22:44:11] <unascribed> which is
presumably why they added it in the first plac
L2543[22:44:12] <unascribed> e
L2544[22:44:18] <unascribed> just so
happens to be useful for mods right now :P
L2545[22:44:19] <Cypher121> and why the
hell every fence has its own id?
L2546[22:44:32] <unascribed> idk
L2547[22:44:37] <unascribed> afaik fences
don't even use meta
L2548[22:44:39] <unascribed> so it's
weird
L2549[22:44:49] <Cypher121> yeah,
apparently
L2551[22:45:03] <tterrag> why would
they?
L2552[22:45:19] <tterrag> oh you mean the
different wood types
L2553[22:45:20] <tterrag> yeah that is
odd
L2554[22:45:22] <Cypher121> yes
L2555[22:45:29] <Cypher121> I understand
fence gates
L2556[22:45:45] <unascribed> vanilla
needs more IDs because it's irresponsible with them, not because it
actually needs more IDs :P
L2557[22:45:48] <unascribed> vanilla: one
ID per ore
L2558[22:45:51] <Cypher121> these have 4
rotations and 3 states (closed, open, open in other
direction)
L2559[22:45:54] <unascribed> mod: 16 ores
per ID
L2560[22:45:58] <unascribed> vanilla: 1
fence per ID
L2561[22:46:05] <unascribed> you see
where this is going.
L2562[22:46:05] <tterrag> actually only 2
rotations
L2563[22:46:12]
⇨ Joins: Cojo
(~Cojo@2606:a000:1126:8048:cdc6:8224:421b:80f3)
L2564[22:46:12] <Cypher121> oh,
yeah
L2565[22:46:16] <Cypher121> makes
sense
L2566[22:46:19] <tterrag> though I think
they do store it as 4
L2567[22:46:28] <Cypher121> still that's
3 bits already
L2568[22:46:38] <Cypher121> so gates have
to be separate blocks
L2569[22:46:56] <tterrag> i = i |
((EnumFacing)state.getValue(FACING)).getHorizontalIndex();
L2570[22:47:03] <tterrag> yes it stores
it as 2 bits of rotation instead of 1
L2571[22:47:10] <tterrag> dumb, but
easier to code and there's no real reason to compress it
L2572[22:47:18] <tterrag> (or wasn't
before they added more gate types)
L2573[22:47:28] <tterrag> and they can't
go back and change it now
L2574[22:47:34] <Cypher121> still no
reason
L2575[22:49:11] <Cypher121> with 2
rotations * 3 states * 4 wood types, they just won't fit into 16
meta
L2576[22:50:02] <tterrag> they could fit
into 2 ids instead of one :p
L2577[22:50:07] <tterrag> but mojang
really doesn't care about that
L2578[22:50:11] <Cypher121> yeah
L2579[22:50:24] <Cypher121> took them,
what, 6 years to fill 200 ids?
L2580[22:50:33] <tterrag> just try to
remember at all times that mojang *always* codes features like they
don't know mods exist
L2581[22:50:45] <tterrag> it's always
been that way
L2582[22:50:51] <Cypher121> yup
L2583[22:51:09] <riderj> Yet they are
"making" an api
L2584[22:51:25] <Cypher121>
"plugin" "api"
L2585[22:51:33] <riderj> There ya
go
L2586[22:52:03] <riderj> Though they
announced that a few years ago and I've not seen any progress on it
besides resource packs.
L2587[22:52:07] <Cypher121> hope you're
good with jsons, if you plan to use it if it ever comes out
L2588[22:53:36] <riderj> All I know is, I
wanna master modding with forge.
L2589[22:53:58] <Cypher121> I suddenly
have flashbacks about fitting full slab and both upper and lower
slabs, all with 4 rotations into 1 block
L2590[22:54:13] <Cypher121> sort of
modding ptsd
L2591[22:54:19] <riderj> Is that good or
bad?
L2592[22:54:36] <Cypher121> that's good
as result. process is awful
L2593[22:55:05] <riderj> I also have no
clue what you mean by rotations :/
L2594[22:55:16] <riderj> Is that the
facing dir of the slab?
L2595[22:55:53] <Cypher121> yes
L2596[22:56:23] <Cypher121> it was based
on a block that had a rotating top texture
L2597[22:56:32] <riderj> Ah
L2598[22:57:08] <riderj> How long have
you been modding?
L2599[22:57:28] <Cypher121> about 7
months, I think
L2600[22:58:35] <riderj> Oh, and you
apparently know a lot about it for only 7 months.
L2601[22:59:27] <Cypher121> luckily, I
had some experience with java and OOP beforehand, but I still had
to learn a lot of things, both java and minecraft/forge
L2602[22:59:37] <Cypher121> and I don't
know *that* much
L2603[23:00:12] <Cypher121> tterrag over
there probably has much more experience, especially with all things
rendering
L2604[23:01:01] <Cypher121> I don't do
1.8 rendering at all for now
L2605[23:01:12] <riderj> Same, and I
would love to learn rendering.
L2606[23:01:19] <Cypher121> luckily, my
current project doesn't involve a single block or item
L2607[23:01:29]
⇨ Joins: Mraoffle
(~mraof@2601:642:4400:20c4:ba27:ebff:fea5:e37e)
L2608[23:01:54] <riderj> I have a few
resources that I want to read about OpenGL, but most are written
for C++.
L2609[23:02:03] <unascribed> it's no
different in Java
L2610[23:02:10] <unascribed> LWJGL is
just a straight binding to the GL API
L2611[23:02:13] <riderj> I know the
difference is minimal, but I don't know C++ that well.
L2612[23:02:25] <Cypher121> then try
looking for lwjgl
L2613[23:02:31]
⇦ Quits: Mraof
(~mraof@pool-74-110-222-32.rcmdva.fios.verizon.net) (Ping timeout:
194 seconds)
L2614[23:03:18] <Cypher121> anyway,
here's the abomination I ended up with back when I was doing that
crap:
L2616[23:03:29]
⇦ Quits: mezz (~mezz@2601:641:4000:63:4e3:cb68:ecbe:7536)
(Read error: Connection reset by peer)
L2618[23:03:55] <unascribed> all the
achievements!
L2619[23:04:26]
⇦ Quits: Shukaro (~Shukaro@130.108.232.236) ()
L2620[23:04:37] <tterrag> riderj: the
difference is less than minimal
L2621[23:04:45] <tterrag> all you need to
do is GL11. before everythign (unless you static import)
L2622[23:04:58] <tterrag> since C++ has
the magical #include :P
L2623[23:05:01]
⇨ Joins: mezz
(~mezz@2601:641:4000:63:6c95:f518:6c72:ff35)
L2624[23:05:01]
MineBot sets mode: +v on mezz
L2625[23:05:16] <tterrag> but GL does not
change between programming languages
L2626[23:05:59]
⇦ Quits: mezz (~mezz@2601:641:4000:63:6c95:f518:6c72:ff35)
(Read error: Connection reset by peer)
L2627[23:06:23] <riderj> I understand
that. I was mainly referring to the examples. I guess I'll just
read up on LWJGL since Minecraft uses it.
L2628[23:07:43] <tterrag> lwjgl is just a
java OpenGL binding with some extra gamedev features :P
L2629[23:07:49] <riderj> I get distracted
easily when reading. Could be reading about OpenGL one minute, and
the next be learning C++. I hate not knowing what things are
L2630[23:08:03] <killjoy> look at import
static
L2631[23:08:21] <killjoy> import static
org.lwjgl.soemthing.GL11.*;
L2632[23:09:15] <riderj> That would allow
you to call, say it's in class Renderer, Renderer.bindTexture
L2633[23:09:27] <riderj> ?
L2634[23:10:23] <tterrag> yes
L2635[23:10:26] <tterrag> as long as it's
static
L2636[23:10:42] <tterrag> you get access
to all static members of that class
L2637[23:10:48] <gigaherz> isn't it
like
L2638[23:10:49] <tterrag> and it doesn't
have to be .*
L2639[23:10:58] <gigaherz> instead of
"GL11.glColor", you can write "glColor"
alone?
L2640[23:11:01] <tterrag> you could
import static Foo.BAR;
L2641[23:11:05] <tterrag> gigaherz:
exactly
L2642[23:11:24] <riderj> Cool cool
L2643[23:11:57]
⇦ Quits: Corosus (~Corosus@209.171.88.38) (Killed (NickServ
(GHOST command used by
Corosauce!~Corosus@135-23-126-120.cpe.pppoe.ca)))
L2644[23:12:54]
⇨ Joins: Corosus
(~Corosus@135-23-126-120.cpe.pppoe.ca)
L2645[23:16:25]
⇨ Joins: mezz
(~mezz@2601:641:4000:63:d143:7353:41f4:eb39)
L2646[23:16:25]
MineBot sets mode: +v on mezz
L2647[23:22:26]
⇦ Quits: dangranos (~dangranos@hekate.pc-logix.com) (Ping
timeout: 195 seconds)
L2648[23:23:40] <riderj> How do I get an
instance of my mod?
L2649[23:24:01] <Cypher121> @Mod.Instance
annotation over any field in @Mod class
L2650[23:24:09] <gigaherz> you probably
want to have a field in your @Mod class
L2651[23:24:16] <gigaherz> with the
@Mod.Instance(modid) in it
L2652[23:24:20] <Cypher121> and by any I
mean of <? super YourModClass>
L2653[23:24:37] <Cypher121> I don't think
modid is necessary
L2654[23:24:41] <killjoy> Object
counts
L2655[23:24:42]
⇨ Joins: dangranos
(~dangranos@hekate.pc-logix.com)
L2656[23:24:53] <killjoy> modid is for a
mod that's not yours
L2657[23:25:21] <tterrag> to be safe you
should always include it
L2658[23:25:37] <riderj> So @Instance
public static final Crystalz instance = new Crystalz() ?
L2659[23:25:45] <unascribed> no
L2660[23:25:47] <Cazzar> no need for the
new call
L2661[23:25:56] <unascribed> @Instance
public static Crystalz instance;
L2662[23:26:00] <riderj> Alright
L2663[23:26:00] <unascribed> note: not
final and no new
L2664[23:26:02] <unascribed> FML
populates it
L2665[23:26:04] <Cazzar> And therefore
you don't need final
L2666[23:26:11] <riderj> Oh, ok
L2667[23:26:15] <unascribed> no, you
*need* it to not be final
L2668[23:26:18] <Cypher121> more like you
*can't* do final
L2669[23:26:31] <unascribed>
instanciating an extra one is likely to be harmful but is not
neccessarily bad
L2670[23:26:41] <Cypher121> otherwise JIT
will optimize the shit out of it before reflection even has a
chance to add value
L2671[23:27:11] <riderj> I don't know
much about how forge works, so I didn't know that it populates it
:P
L2672[23:27:31] <Cypher121> just don't do
final
L2673[23:27:37] <riderj> what is
JIT
L2674[23:27:46] <Cypher121> Just-in-time
compiler
L2675[23:28:05] <Cypher121> which
basically performs operations on code during runtime
L2676[23:28:31] <riderj> Is this compiler
how forge does what it does?
L2677[23:28:43] ***
Vigaro is now known as V
L2678[23:29:11] <Cazzar> It's a java
thing
L2679[23:29:14] <Cypher121> no, what
you're thinking about is Reflection API
L2680[23:29:22] <Cazzar> though, rule of
thumb, NEVER depend on JIT
L2681[23:29:23] <tterrag> depending on
how FML does it, final may be allowed
L2682[23:29:24] <Cypher121> JIT =
optimization feature
L2683[23:29:40] <tterrag> Cypher121: JIT
can't optimize non-primitive finals (excepting strings)
L2684[23:29:42] <riderj> Oh, I didn't
know that about java.
L2685[23:29:46] <tterrag> oh wait,
sorry
L2686[23:29:51] <tterrag> maybe it can,
thinking of the compiler
L2687[23:29:59] <killjoy> non-literal
finals?
L2688[23:30:01] <tterrag> but afaik
non-primitive finals are never inlined
L2689[23:30:06] <tterrag> yeah,
nonliteral
L2690[23:30:24] <riderj> Whatcha mean by
inlined?
L2691[23:30:33] <killjoy> not new
L2692[23:30:38] <Cypher121> let's say you
have a final field
L2693[23:30:44] <Cypher121> and a getter
for that field
L2694[23:31:16] <Cypher121> instead of
referring to the field, getter will just return the value that is
supposed to be in the field
L2695[23:31:29] <Cypher121> because it's
final, so it can't change, it thinks
L2696[23:33:02] <Cypher121> does java
inline methods, btw?
L2697[23:33:22] <killjoy> I thought that
was proguard that did that
L2698[23:34:17] <unascribed> the JIT will
do that
L2699[23:34:21] <unascribed> but not in
bytecode
L2700[23:34:25] <unascribed> proguard
will do it in bytecode
L2701[23:34:53] <Cypher121> i prefer jit
route
L2702[23:35:54] <Cypher121> inlining in
bytecode makes it way heavier
L2703[23:36:49] <tterrag> uh no, compiler
WILL inline final literals
L2704[23:37:01] <gigaherz> :3 my cocoon
stuff is taking shape
L2705[23:37:03] <tterrag> static ones
anyways
L2706[23:37:17] <gigaherz> I still need
to adjust the "rules" for deciding how much it generates
of each essence
L2707[23:37:40] <gigaherz> and add rules
for generating "life" and "death" essence (I
can du life with nature stuff, but no idea what ot assign to
"death")
L2708[23:37:46] <gigaherz> but it's
enough for one day
L2709[23:37:48] <gigaherz> night
ppl
L2710[23:37:52] ***
gigaherz is now known as ghz|afk
L2711[23:38:24] <killjoy> *assuming
thaumcraft-like essence*
L2712[23:47:09]
⇦ Quits: Techfoxis
(~Techfoxis@pool-74-110-119-59.nrflva.fios.verizon.net) (Quit:
Leaving)
L2713[23:49:46]
⇦ Quits: Brokkoli (~Brokkoli@x55b02e48.dyn.telefonica.de)
(Ping timeout: 186 seconds)
L2714[23:50:14] <Cypher121> huh,
interesting
L2715[23:50:44] <Cypher121> apparently
JIT only inlines final primitives that aren't initialized in
constructors
L2716[23:50:45]
⇦ Quits: poiuy_qwert
(~poiuy_qwe@198-84-224-94.cpe.teksavvy.com) (Quit: This computer
has gone to sleep)
L2717[23:55:21]
⇨ Joins: Brokkoli
(~Brokkoli@f050164149.adsl.alicedsl.de)
L2718[23:56:52]
⇦ Quits: killjoy (~killjoy@71.65.255.183) (Quit:
Leaving)