<<Prev
Next>>
Scroll to Bottom
Stuff goes here
L1[00:01:13] ⇦
Quits: Kaiyouka (~IdiotNono@c-75-71-231-133.hsd1.co.comcast.net)
(Ping timeout: 201 seconds)
L2[00:01:32] ***
Kaiyouko is now known as Kaiyouka
L3[00:03:03] ⇨
Joins: Tatsu (~Tatsu@cpe-76-92-121-172.kc.res.rr.com)
L4[00:04:25] ⇦
Parts: Vorquel (~Vorquel@174-18-37-37.tcso.qwest.net)
())
L5[00:07:00] ⇦
Quits: LexManos (~LexManos@172.76.2.58) (Read error: Connection
reset by peer)
L6[00:09:15] ⇦
Quits: Fridtjof (prassel@fridtjof.xyz) (Ping timeout: 384
seconds)
L7[00:09:55] <capitalthree> I want to port
my mod to 1.8, what's the recommended forge version to use?
L8[00:10:05] ⇨
Joins: Fridtjof (prassel@fridtjof.xyz)
L9[00:10:47] ⇨
Joins: Hunterz
(~hunterz@2001:af0:8000:1c01:6af7:28ff:fe37:5d6a)
L10[00:10:56] ⇨
Joins: alex_6611
(~alex_6611@p5DE78EAF.dip0.t-ipconnect.de)
L11[00:16:45] ***
mrkirby153 is now known as kirby|gone
L12[00:17:18] <TehNut> the... recommended
one?
L13[00:18:54] <capitalthree> ok I tried
that
L14[00:18:54] <capitalthree> > This
mapping 'snapshot_20141001' exists only for MC 1.8!
L15[00:18:58] <capitalthree> what does this
mean?
L16[00:19:11] <capitalthree> all I did was
put the new forge version into build.gradle
L17[00:19:27] <capitalthree> am I missing a
step?
L18[00:19:35] <Matthew> what mc version are
you using?
L19[00:19:51] <capitalthree> version =
"1.8.9-11.15.1.1722"
L20[00:19:55] <Matthew> !!latest
1.8.9
L21[00:19:56] <MCPBot_Reborn> === Latest
Mappings ===
L22[00:19:57] <MCPBot_Reborn> MC Version
Forge Gradle Channel
L23[00:19:58] <MCPBot_Reborn> 1.8.9
snapshot_20160301
L24[00:19:58] <MCPBot_Reborn> 1.8.9
stable_22
L25[00:20:01] <capitalthree> before it
was
L26[00:20:02] <capitalthree> version =
"1.7.10-10.13.4.1558-1.7.10"
L27[00:20:09] <Matthew> use one of those
^
L28[00:20:20] <capitalthree> ahh
L29[00:21:34] ⇦
Quits: Drullkus (~Dru11kus@c-67-180-188-243.hsd1.ca.comcast.net)
(Remote host closed the connection)
L30[00:23:06] ⇨
Joins: Drullkus
(~Dru11kus@c-67-180-188-243.hsd1.ca.comcast.net)
L31[00:23:28] ⇨
Joins: Poppy (~Poppy@chello085216146055.chello.sk)
L32[00:23:49] ⇨
Joins: LexManos (~LexManos@172.76.2.58)
L33[00:23:49]
MineBot sets mode: +o on LexManos
L34[00:25:16] <capitalthree> Matthew: but
where do I put those?
L35[00:25:46] <Matthew> minecraft {
mappings = .... }
L36[00:26:24] <capitalthree> I don't see
that section in my build.gradle at all D:
L37[00:27:04] <Matthew> if you have a
really old script, you might need to add it
L38[00:27:14] <capitalthree> ah ok
L39[00:27:56] <capitalthree> ok! thanks
Matthew!
L40[00:28:02] <capitalthree> I think it's
building now
L41[00:31:55] ⇦
Quits: srs_bsns (blk@198-48-175-31.cpe.pppoe.ca) (Ping timeout: 384
seconds)
L42[00:32:09] ⇦
Quits: Brokkoli (~Brokkoli@p5b23c352.dip0.t-ipconnect.de) (Quit:
Die Sprache der Politik ist daf�r gemacht, dass L�gen wahr klingen
und das T�ten angemessen wirkt. (George Orwell))
L43[00:34:02] ⇨
Joins: srs_bsns (blk@198-48-175-31.cpe.pppoe.ca)
L44[00:36:11] <capitalthree> now this is
happening...
L45[00:36:12] <capitalthree> Some problems
were found with the configuration of task ':genSrgs'.
L46[00:36:13] <capitalthree> > File
'/home/alex/.gradle/caches/minecraft/net/minecraftforge/forge/1.8.9-11.15.1.1722/unpacked/conf/packaged.srg'
specified for property 'inSrg' does not exist.
L47[00:36:16] <capitalthree> > File
'/home/alex/.gradle/caches/minecraft/net/minecraftforge/forge/1.8.9-11.15.1.1722/unpacked/conf/packaged.exc'
specified for property 'inExc' does not exist.
L48[00:39:03] ⇦
Quits: VikeStep (~VikeStep|@a82-14.nat.uq.edu.au) (Quit:
Leaving)
L49[00:39:44] ⇨
Joins: Sollux-Captor
(~Sollux-Ca@2601:547:c400:bb5e:1d5d:3eb6:4cec:acc2)
L50[00:40:02] <Sollux-Captor> what is the
png name for the default creative non search menu?
L51[00:41:25] ⇨
Joins: PrinceCat
(~PrinceCat@124-170-66-159.dyn.iinet.net.au)
L52[00:41:41] <killjoy> it's in the
creative_inventory folder
L53[00:41:54] <killjoy>
assets/minecraft/gui/creative_inventory/something....
L54[00:42:48] <Sollux-Captor>
thankyou
L55[00:42:55] <killjoy>
assets\minecraft\textures\gui\container\creative_inventory\tab_items.png
L56[00:42:57] <killjoy> that's probably
it
L57[00:43:09] <killjoy> or just
tab_inventory
L58[00:43:20] <Sollux-Captor> I think
tab_inventory is the player inventory
L59[00:43:29] <Sollux-Captor> not a
creative inventory
L60[00:43:46] <Sollux-Captor> the one with
the red X and the player view
L61[00:43:57] <killjoy> so tab_items is for
the categories
L62[00:44:05] <Sollux-Captor> ye
L63[00:44:23] ⇦
Quits: alex_6611 (~alex_6611@p5DE78EAF.dip0.t-ipconnect.de) (Ping
timeout: 190 seconds)
L64[00:46:46] ***
fry|sleep is now known as fry
L65[00:52:16] <Sollux-Captor> @killjoy,
none of them seem to work and the tab_items_search.png is not the
search background. item_search.png is and I have no clue where that
is located.
L66[00:52:47] <killjoy> don't you have the
ResourceLocation?
L67[00:53:11] <Sollux-Captor> What do you
mean? Can I not just use the string?
L68[00:53:24] <killjoy> String for
what?
L69[00:53:46] <Sollux-Captor> for
setBackgroundImageName();
L70[00:53:58] <killjoy> um...
L71[00:54:06] <killjoy> Is this for a
container?
L72[00:54:11] <Sollux-Captor>
"item_search.png" works but I want the string for the
default menu
L73[00:54:26] ⇨
Joins: blood__
(unknown@ool-4574115b.dyn.optonline.net)
L74[00:54:28] <killjoy> like a normal
tab?
L75[00:54:57] <Sollux-Captor> Yes
L76[00:54:59] <killjoy> it's tab_item
L77[00:55:19] <killjoy> tab_items.png
L78[00:55:33] <Sollux-Captor> I tried that
and I get purple and black squares.
L79[00:55:48] <killjoy> that's because
something went wrong.
L80[00:56:17] ⇦
Quits: blood_ (unknown@ool-4574115b.dyn.optonline.net) (Ping
timeout: 384 seconds)
L81[00:56:23] <killjoy> what version are
you using?
L82[00:57:00] <Sollux-Captor> 1.9
L83[00:57:52] ⇨
Joins: kimfy (~kimfy___@236.5.200.37.customer.cdi.no)
L84[00:57:54] <killjoy> And what is the
owner class of that method?
L85[00:58:34] <Sollux-Captor> CreativeTabs
. . .
L86[00:58:48] *
killjoy is not familiar enough with them
L87[00:58:50] <killjoy> just sec
L88[00:58:51] <Sollux-Captor> But I'm
overriding it in my Assign class
L89[01:00:03] <killjoy> leave off the
tab_
L90[01:00:12] <killjoy> why are you
overriding it?
L91[01:00:29] <killjoy> if anything, you
should override getBackgroundImageName()
L92[01:00:44] <killjoy> why don't you call
it yourself?
L93[01:01:01] <killjoy> I don't know your
reasoning. Please explain
L94[01:02:12] <Sollux-Captor> I am not too
sure actually. . . I am only going off of reference code I made a
while back for the same mod. Updating things right now.
L95[01:02:34] <killjoy> Well now's as good
a time as any to reimplement
L96[01:02:58] <Sollux-Captor> Let me see
what happens if comment out the override
L97[01:03:16] <killjoy> What's your
override do?
L99[01:04:14] <killjoy> wow...
L100[01:04:21] <killjoy> nothing
L101[01:04:23] <killjoy> that's what it
did
L102[01:04:24] <killjoy> nothing
L103[01:04:26] <Sollux-Captor> :P
L104[01:04:42] <killjoy> might as well do
return super.setBackgroundImageName(textures)
L105[01:05:05] <Sollux-Captor> It looks
like 1am code that I made a while back. I tend to code at night
when it is really late and i'm not thinking. It is 2am right now
xD
L106[01:05:17] <Sollux-Captor> Anyways, I
fixed it.
L107[01:05:39] <killjoy>
"fixed"
L108[01:05:47] <killjoy> it wasn't
technically broken
L109[01:06:08] <Sollux-Captor> Well I mean
I fixed the black and purple shit
L110[01:06:20] <killjoy> ah
L111[01:09:52] ***
TehNut is now known as TehNut|Sleep
L112[01:10:20] <Sollux-Captor> Anyways, I
am going to go to bed now before I butcher my code realy
badly
L113[01:11:19] ⇦
Quits: Sollux-Captor
(~Sollux-Ca@2601:547:c400:bb5e:1d5d:3eb6:4cec:acc2) (Quit:
Leaving)
L114[01:13:28] ⇦
Quits: Drullkus (~Dru11kus@c-67-180-188-243.hsd1.ca.comcast.net)
(Remote host closed the connection)
L116[01:17:17] <FusionLord> fry?
L117[01:17:59] ⇦
Quits: PrinceCat (~PrinceCat@124-170-66-159.dyn.iinet.net.au)
(Quit: My Mac has gone to sleep. ZZZzzz…)
L118[01:18:11] <killjoy> looks like a
rotation issue
L119[01:18:33] <FusionLord> why would my
uvs rotate?
L120[01:18:34] <killjoy> is your texture
size correctly let?
L121[01:18:35] <killjoy> *set
L122[01:18:55] <killjoy> is this a te or
entity?
L123[01:19:00] <FusionLord> i'm sorry not
sure what you mean
L124[01:19:04] <FusionLord> this is a
block
L125[01:19:11] <killjoy> then
nevermind
L126[01:19:32] ⇦
Quits: killjoy (~killjoy@2606:a000:1118:c020:9c07:b5b6:6ee3:1c84)
(Quit: Leaving)
L128[01:19:50] ⇦
Quits: Hunterz (~hunterz@2001:af0:8000:1c01:6af7:28ff:fe37:5d6a)
(Quit: Leaving.)
L129[01:19:59] <FusionLord> after I push
it will be I mean
L130[01:20:38] <FusionLord> there
pushed
L131[01:21:04]
⇨ Joins: Hunterz
(~hunterz@2001:af0:8000:1c01:6af7:28ff:fe37:5d6a)
L132[01:21:15] <fry> FusionLord: add
"custom": { "flip-v": true } to the blockstate
json, under the "model"
L133[01:22:08]
⇨ Joins: PrinceCat
(~PrinceCat@124-170-66-159.dyn.iinet.net.au)
L134[01:23:23] ⇦
Quits: kimfy (~kimfy___@236.5.200.37.customer.cdi.no) (Ping
timeout: 190 seconds)
L135[01:23:33] <FusionLord> no as a child
just the next line?
L136[01:23:37] <FusionLord> not*
L137[01:24:55] <FusionLord> Thank you,
Master Fry
L138[01:27:59] ⇦
Quits: Doty1154 (~Doty1154@2601:648:8000:134f:7003:b57:f476:a3ba)
(Read error: Connection reset by peer)
L139[01:29:45]
⇨ Joins: Jezza
(~Jezza@bps-gw.hrz.tu-chemnitz.de)
L140[01:30:07]
⇨ Joins: Naiten (~Naiten@82.162.0.224)
L141[01:35:52] ⇦
Quits: PrinceCat (~PrinceCat@124-170-66-159.dyn.iinet.net.au)
(Quit: My Mac has gone to sleep. ZZZzzz…)
L142[01:42:48] ***
minecreatr is now known as Mine|dreamland
L143[01:43:42] ⇦
Quits: SandGrainOne (~Terje@cm-84.210.171.146.getinternet.no) (Read
error: Connection reset by peer)
L144[01:46:34] <FusionLord> markDirty
forces a sync to the server correct?
L145[01:46:40] <FusionLord> in TE
L146[01:51:58] <FusionLord> strange the
debug screen know the correct data, but the render doesn't
update
L147[01:58:23] ⇦
Quits: bilde2910 (bilde2910@51.174.170.178) (Ping timeout: 190
seconds)
L148[01:59:58] <MCPBot_Reborn> [TEST CSV]
Pushing snapshot_20160427 mappings to Forge Maven.
L149[02:00:01] <MCPBot_Reborn> [TEST CSV]
Maven upload successful for mcp_snapshot-20160427-1.9.zip (mappings
= "snapshot_20160427" in build.gradle).
L150[02:00:12] <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/
L151[02:00:29]
⇨ Joins: bilde2910 (bilde2910@51.174.170.178)
L152[02:01:14] <FusionLord> scrub forgot
to read NBT back in oops
L153[02:04:23] ***
AEnterpriseAFK is now known as AEnterprise
L154[02:19:46]
⇨ Joins: ghz|lappy (~gigaherz@84.89.63.25)
L155[02:22:17] <ghz|lappy> morning,
peoples of the forge
L156[02:31:24] <Wuppy> o/
L157[02:33:25]
⇨ Joins: VikeStep (~VikeStep@101.184.243.180)
L158[02:33:25]
⇨ Joins: KGS
(~KGS@h-155-4-135-249.na.cust.bahnhof.se)
L159[02:38:26] ⇦
Quits: blood__ (unknown@ool-4574115b.dyn.optonline.net) (Read
error: Connection reset by peer)
L160[02:38:28] <FusionLord> o/
morning
L161[02:38:37] <ghz|lappy> o/
L162[02:38:49] <Wuppy> how're you
peeps
L163[02:39:11] <FusionLord> modeling
software just crashed in the middle of a model :(
L164[02:39:14] <ghz|lappy> my ear hurts a
bit from the infection, but fine otherwise ;P
L165[02:39:42] <Wuppy> I have a festival
today, but the weather today will be 8C, rain and probably snow,
hail and thunder :|
L166[02:41:44] <ghz|lappy> Well, they just
need to put the music loud enough to push the rain away
L167[02:42:40] <ghz|lappy> (too bad sound
is an oscillation and it pulls about as much as it pushes)
L168[02:43:20]
⇨ Joins: Drullkus
(~Dru11kus@c-67-180-188-243.hsd1.ca.comcast.net)
L169[02:44:07] <Wuppy> hehe
L170[02:59:20] ***
AEnterprise is now known as AEnterpriseAFK
L171[03:09:03] ⇦
Quits: Pentium320 (aperture@31.7.44.169) (Ping timeout: 190
seconds)
L172[03:11:52]
⇨ Joins: Pentium320
(aperture@169.31-7-44.tkchopin.pl)
L173[03:21:01] ⇦
Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 201
seconds)
L174[03:24:17] <ghz|lappy> ugh MC is so
smooth on my desktop, but so sluggish here
L175[03:24:36] <ghz|lappy> can barely
handle one instance
L176[03:24:41] <ghz|lappy> having two at
once was a slideshow
L177[03:25:29] <ghz|lappy> I feel like
there's something wrong with the machine
L178[03:25:38] <ghz|lappy> because many
tasks are slow andsluggish that didn't use to be
L179[03:26:19] <ghz|lappy> it's not the
SSD, it still gives 450mb/s sequential
L180[03:26:39] <Zorn_Taov> from 1.8 to
1.8.9, where did worldRenderer.startDrawing go?
L181[03:26:42] <ghz|lappy> although only
140mb/s writes
L182[03:26:54] <ghz|lappy> Zorn_Taov: the
interface changed a lot
L183[03:27:09] <Zorn_Taov> so where did
the tesselator go?
L184[03:27:12] <ghz|lappy> the way you do
it now is:
L185[03:27:26] <Zorn_Taov> o.o
L186[03:27:27] <ghz|lappy>
tess.begin(quads, vertexformat)
L187[03:27:52] <ghz|lappy>
wr.pos(x,y,z).tex(u,v).color(r,g,b).endVertex()
L188[03:27:54] <ghz|lappy> (x4)
L189[03:27:59] <ghz|lappy> wr.draw()
L190[03:28:19] <ghz|lappy> or was it
wr.begin and tess.draw?
L191[03:28:43] <ghz|lappy> yeah the
latter.
L192[03:28:58] <Zorn_Taov> what's
vertexformat in?
L193[03:29:17] <ghz|lappy>
IFlexibleBakedModel#getFormat if you use with loaded models
L194[03:29:17] <ghz|lappy> or
L195[03:29:20] <ghz|lappy>
DefaultVertedFormats.*
L196[03:29:28] <ghz|lappy> the most common
is .ITEM
L197[03:29:35] <ghz|lappy> which is the
one used for baked models
L198[03:29:46] <ghz|lappy> but if you do
custom polygons
L199[03:29:48] <ghz|lappy> you could use
like
L200[03:29:53] <ghz|lappy>
DefaultVertedFormats.POSITION_TEX
L201[03:29:56] <ghz|lappy> if you don't
need color
L202[03:30:05] <ghz|lappy>
DefaultVertedFormats.POSITION_TEX_COLOR if you want colors and
texture both
L203[03:30:30] <ghz|lappy> using
DefaultVertedFormats.POSITION_TEX_COLOR
L204[03:30:40] <ghz|lappy> and
wr.pos().uv().color()
L205[03:30:54] <ghz|lappy> is the closest
match to the old method, I believe
L206[03:31:26] <Zorn_Taov> what about a
point?
L207[03:31:43] <ghz|lappy> ?
L208[03:31:49] <Zorn_Taov> gl_points
L209[03:31:57] <ghz|lappy> instead of
wr.begin(quads)
L210[03:31:59] <ghz|lappy> d
L211[03:32:00] <ghz|lappy> do
L212[03:32:04] <ghz|lappy>
wr.begin(points
L213[03:32:27] <ghz|lappy> ittakes the gl
constants (in 1.9, there's an enum for it)
L214[03:32:41] <Zorn_Taov> doin this in
1.8.9 :P
L215[03:33:02] <ghz|lappy> yeah then
GL11.GL_POINTS
L216[03:33:03] <ghz|lappy> ;P
L217[03:33:20] <Zorn_Taov> I meant the
vertex format x3
L218[03:33:27] <Zorn_Taov> prolly do
position_color
L219[03:33:37] <ghz|lappy> the vertex
format depends on your needs?
L220[03:33:48] <Zorn_Taov> and is it pos
instead of addVertex?
L221[03:34:00] <ghz|lappy> yes
L222[03:34:03] <ghz|lappy> well
L223[03:34:16] <ghz|lappy>
wr.pos(x,y,z).color(r,g,b).endVertex()
L224[03:34:23] <ghz|lappy> is equivalent
to the old "wr.addVertex"
L225[03:34:34] <ghz|lappy> while
L226[03:34:42] <ghz|lappy>
wr.pos(x,y,z).tex(u,v).color(r,g,b).endVertex()
L227[03:34:50] <ghz|lappy> woudlbe the
equivalent of the old "wr.addVertexWithUV"
L228[03:35:08] <ghz|lappy> but what
matters is the vertex format you choose
L229[03:35:18] <Zorn_Taov> can I do
wr.color(); then wr.pos.endvertex(); multiple times with the same
color?
L230[03:35:19] <ghz|lappy> ifyou use
POSITION_COLOR, you'll need the version without .tex
L231[03:35:23] <ghz|lappy> nope
L232[03:35:27] <Zorn_Taov> 3:
L233[03:35:28] <ghz|lappy> each vertex
needs its own color
L234[03:37:23] <ghz|lappy> it may be
possible to use the global color instead
L235[03:37:36] <ghz|lappy>
GlStateManager.color(r,g,b)
L236[03:37:40] <ghz|lappy>
wr.begin()
L237[03:37:41] <ghz|lappy> ...
L238[03:37:45] <ghz|lappy> tess.draw
L239[03:37:52] <ghz|lappy>
GlStateManager.color(1,1,1)
L240[03:38:12] <ghz|lappy> but if oyu want
to reuse the same color for "a few"
L241[03:38:20] <ghz|lappy> you can instead
do something like
L242[03:38:27] <ghz|lappy> int
r,g,b;
L243[03:38:27] <Zorn_Taov> it'd be the
same color for all
L244[03:38:43] <ghz|lappy> r = 1; g= 2;
b=3;
L245[03:38:48] <ghz|lappy> point 1
L246[03:38:52] <ghz|lappy> point 2
L247[03:38:54] <ghz|lappy> point 3
L248[03:38:57] <ghz|lappy> all using
.color(r,g,b)
L249[03:39:06] <ghz|lappy> r = 3;
L250[03:39:08] <ghz|lappy> point 4
L251[03:39:09] <ghz|lappy> point 5
L252[03:39:10] <ghz|lappy> ...
L253[03:40:05] ***
Upthorn is now known as Throxnup
L254[03:41:05] <ghz|lappy> oh hey someone
learned the kingdom hearts method for creating "evil
twin" names
L255[03:41:17] <Zorn_Taov> oh?
L256[03:41:20] <Zorn_Taov> link?
L257[03:41:26] <ghz|lappy> I mean the nick
change just now
L258[03:41:26] <ghz|lappy> XD
L259[03:41:36] <ghz|lappy> it's just
shuffling the letters and adding an extra X to the mix
L260[03:41:42] <Zorn_Taov> oh
L261[03:41:54] <ghz|lappy> sora ->
roxas, etc
L262[03:42:45]
⇨ Joins: Larry1123 (Larry1123@irc.larry1123.net)
L263[03:47:55] <Zorn_Taov> someone should
make that kind of generator
L264[03:48:05] <Zorn_Taov> it's mainly
just an anagram of your name+x
L265[03:49:10] <ghz|lappy> I'm sure
there's a million
L266[03:49:13] <Zorn_Taov> well then, that
was an easy update to this mod. all I had to do was change those
method names around
L267[03:49:20] <Zorn_Taov> woo
L268[03:49:55] <ghz|lappy> heh
L269[03:50:08] <ghz|lappy> now update to
1.9, it changed WorldRenderer name to VertexBuffer ;P
L270[03:52:21] <Zorn_Taov> lol
L271[03:56:02] ⇦
Quits: manmaed (~Ender@bcdd431e.skybroadband.com) (Ping timeout:
195 seconds)
L272[03:57:34]
⇨ Joins: manmaed|AFK
(~Ender@bcdd431e.skybroadband.com)
L273[03:57:50] ⇦
Quits: moog (~moog@24-176-156-144.dhcp.jcsn.tn.charter.com) (Read
error: Connection reset by peer)
L274[03:58:16] ***
manmaed|AFK is now known as manmaed
L275[03:58:24]
⇨ Joins: moog
(~moog@24-176-156-144.dhcp.jcsn.tn.charter.com)
L276[04:02:02]
⇨ Joins: Noppes
(~Noppes@82-168-99-26.ip.telfort.nl)
L278[04:05:33] <ghz|lappy> what are
those?
L279[04:05:34] <ghz|lappy> I mean
L280[04:05:45] <FusionLord> bedrools
L281[04:05:49] <FusionLord> rolls*
L282[04:05:51] <ghz|lappy> is that a
"bed" in different stages of construction?
L283[04:05:54] <ghz|lappy> or different
tiers?
L284[04:06:00] <FusionLord> tiers
L285[04:06:40] <FusionLord> theres one
more, but I have yet to uv map it
L286[04:07:31] <ghz|lappy> I see some
weird lines in the bed, are those intended?
L287[04:07:59] <FusionLord> @fry do i need
to flip-v for submodels too?
L288[04:08:24] <fry> try and see
L289[04:08:50] <FusionLord> ok
L290[04:08:59] <ghz|lappy> FusionLord:
flip-v is to compensate for differences in the uv mapping
semantics
L291[04:09:18] <ghz|lappy> if your
modelling program needs UV flipping, it will always need UV
flipping
L292[04:09:29] <FusionLord> using
blender
L293[04:09:47] <FusionLord> i wasn't sure
if it would fall through to the sub models or not
L294[04:09:57] <ghz|lappy> try and see
;P
L295[04:10:09] <FusionLord> i did and it
worked
L296[04:10:28] <FusionLord> is it a
setting in blender that is flipping the uvs?
L297[04:10:48] ⇦
Quits: Drullkus (~Dru11kus@c-67-180-188-243.hsd1.ca.comcast.net)
(Remote host closed the connection)
L298[04:11:04] <fry> no, it's the
difference in coordinate systems and a hole in the obj spec
L299[04:11:38] <FusionLord> oh ok
L300[04:12:08] ⇦
Quits: Gil (uid147942@id-147942.brockwell.irccloud.com) (Quit:
Connection closed for inactivity)
L301[04:12:29] <ghz|lappy> FusionLord:
where is (0,0) in a texture? ;P
L302[04:12:42] <ghz|lappy> some systems
make it bottom-left, with Y growing upward
L303[04:12:52] <ghz|lappy> other systems
make it top-left, with Y growing downward
L304[04:13:10] <ghz|lappy> there is a
general consensus that X starts on the left, and grows to the
right
L305[04:13:39] <ghz|lappy> but it could
have been possible for some other systems to use a standard with X
growing leftward
L306[04:14:24] ⇦
Quits: KGS (~KGS@h-155-4-135-249.na.cust.bahnhof.se) (Ping timeout:
198 seconds)
L307[04:14:40] <ghz|lappy> oh and let's
not even think of possible systems where the first coord is
vertical
L308[04:14:58] <Dark> tbh you can have any
system, it all depends on the design goals
L309[04:14:59] <ghz|lappy> if someone made
a semantic that follows classic japanese/chinese writing
order?
L310[04:15:13] <ghz|lappy> then the first
coord would be vertical
L311[04:15:22] <ghz|lappy> and it would
start at the top-right
L312[04:16:06] <ghz|lappy> vaguely related
trivia:
L313[04:16:14] <ghz|lappy> maps where not
always drawn with the north at the top
L314[04:16:31] ⇦
Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 201
seconds)
L315[04:18:00]
⇨ Joins: Larry1123 (Larry1123@irc.larry1123.net)
L316[04:54:11]
⇨ Joins: fuj1n (~fuj1n@101.190.250.201)
L317[04:56:43] <FusionLord> :\ what is the
keyvalue to draw both sides of a face?
L318[04:56:50] <FusionLord> for the
.json
L319[04:58:03]
⇨ Joins: kimfy
(~kimfy___@236.5.200.37.customer.cdi.no)
L320[04:58:47] <FusionLord> or should I
just make another face on the other side?
L321[04:59:50] <Zorn_Taov> look at,
uhhh.... glass pane?
L322[04:59:55] <Zorn_Taov> or iron
bars
L323[05:02:04] <FusionLord> neither have
double sided faces
L324[05:02:14] <FusionLord> they are a
cube
L325[05:03:02] <FusionLord> just added the
face and flipped normals
L326[05:03:06] <FusionLord> works good
:)
L327[05:12:16] ***
PaleOff is now known as PaleoCrafter
L329[05:13:04]
⇨ Joins: Drullkus
(~Dru11kus@c-67-180-188-243.hsd1.ca.comcast.net)
L330[05:15:03] <Zorn_Taov> repeated over
1300 times before my client crashed, wtf
L331[05:16:14]
⇨ Joins: P3pp3rF1y2
(~P3pp3rF1y@100-250-77-178-ptr.xsky.cz)
L332[05:18:37] <PaleoCrafter> Zorn_Taov,
is it repeated over 9000 times though?
L333[05:19:47] ⇦
Quits: Drullkus (~Dru11kus@c-67-180-188-243.hsd1.ca.comcast.net)
(Ping timeout: 384 seconds)
L334[05:27:00] ***
PaleoCrafter is now known as PaleOff
L335[05:29:41] ⇦
Quits: Naiten (~Naiten@82.162.0.224) (Read error: Connection reset
by peer)
L336[05:29:56]
⇨ Joins: Naiten (~Naiten@82.162.0.76)
L337[05:38:40] ⇦
Quits: Zorn_Taov (~Greenfox@c-71-198-205-107.hsd1.ca.comcast.net)
()
L338[05:44:54] ⇦
Quits: Naiten (~Naiten@82.162.0.76) (Read error: Connection reset
by peer)
L339[05:46:03] ⇦
Quits: IceDragon (~ThatGuy@69.160.117.131) (Ping timeout: 190
seconds)
L340[05:46:38]
⇨ Joins: IceDragon (~ThatGuy@184.170.8.163)
L341[05:54:28]
⇨ Joins: Naiten (Naiten@77.34.85.143)
L342[05:56:53]
⇨ Joins: agowa338
(~Thunderbi@p54919746.dip0.t-ipconnect.de)
L343[05:59:49] ***
AEnterpriseAFK is now known as AEnterprise
L344[06:13:33]
⇨ Joins: Drullkus
(~Dru11kus@c-67-180-188-243.hsd1.ca.comcast.net)
L345[06:17:03] ⇦
Quits: Drullkus (~Dru11kus@c-67-180-188-243.hsd1.ca.comcast.net)
(Ping timeout: 190 seconds)
L346[06:39:41] ⇦
Quits: fuj1n (~fuj1n@101.190.250.201) (Ping timeout: 384
seconds)
L347[06:46:58]
⇨ Joins: alex_6611
(~alex_6611@p5DE78EAF.dip0.t-ipconnect.de)
L348[06:47:15] ⇦
Quits: Hunterz (~hunterz@2001:af0:8000:1c01:6af7:28ff:fe37:5d6a)
(Quit: Leaving.)
L349[06:48:34]
⇨ Joins: fuj1n (~fuj1n@101.190.250.201)
L350[06:49:30] ⇦
Quits: fuj1n (~fuj1n@101.190.250.201) (Read error: Connection reset
by peer)
L351[06:51:52] <ghz|lappy> WHY is my
laptop suddenly so SLOW ;_;
L352[06:52:04] <ghz|lappy> I used to be
able ot play mc here at > 60fps back in 2013 XD
L353[06:52:20] <ghz|lappy> now it can
barely handle having server+client at once ;P
L354[06:53:51]
⇨ Joins: big_Xplosion
(~big_Xplos@37.ip-51-255-167.eu)
L355[07:14:56] <ghz|lappy> :3
L357[07:15:39]
⇨ Joins: GildedGames
(~GildedGam@ec2-54-146-233-64.compute-1.amazonaws.com)
L358[07:17:23]
⇨ Joins: CoolSquid
(~CoolSquid@ti0011a400-2417.bb.online.no)
L359[07:17:34] ⇦
Quits: CoolSquid (~CoolSquid@ti0011a400-2417.bb.online.no) (Read
error: Connection reset by peer)
L360[07:18:40] ***
big_Xplosion is now known as big_Xplo|AFK
L361[07:18:47] <boni> ghz|lappy: how do
those locked things handle itemhandlers
L362[07:19:39] <ghz|lappy> the shared
inventories are IItemHandlers
L363[07:19:49] <ghz|lappy> I just return
the right one from getCapability
L364[07:20:26] <boni> so if i get the
itemhandler capability of a locked chest, it'll work
correctly?
L365[07:20:38] <ghz|lappy> the locks don't
actually "lock" the chest
L366[07:20:42] <ghz|lappy> they change
which inventory it's bound to
L367[07:21:03] <boni> so yes
L368[07:21:08] <ghz|lappy> yes
L369[07:21:13] <ghz|lappy> so long as it's
not a private chest
L370[07:21:20] <ghz|lappy> private chests
can't be automated
L371[07:21:48] <ghz|lappy> I'm considering
adding a way to make private chests automatable
L372[07:21:54] <ghz|lappy> as a
"disclaimer"
L373[07:22:06] <ghz|lappy> because if you
make private chests automatable, it means others could steal fom
your private chests ;P
L374[07:22:11] <ghz|lappy> (pipes
etc)
L375[07:22:36] ***
AEnterprise is now known as AEnterpriseAFK
L376[07:22:38] <ghz|lappy> and also as a
means to bind the color code to your player's network
L377[07:22:55] <ghz|lappy> otherwise it
acts like a vanilla enderchest, where each player gets their own
inventory
L378[07:32:48]
⇨ Joins: DovahOfKiin (~admin@122.171.119.240)
L379[07:37:38] <DovahOfKiin>
PotionUtils.addPotionToItemStack requires a PotionType. How do I
get one of those?
L380[07:38:17] <Ivorius> PotionType.Type?
.-.
L381[07:38:30] <tterrag> it's not an
enum
L382[07:38:31] <tterrag> but nice
try
L383[07:38:52] <Ivorius> In 1.7 they had
the constants there
L384[07:39:07] <DovahOfKiin> What is it in
1.9?
L385[07:39:09] <tterrag> well, not
anymore
L386[07:39:29] <Ivorius> DovahOfKiin: ctrl
shift space
L387[07:39:32] <Ivorius> Let your IDE do
it
L388[07:40:02] <DovahOfKiin> I need an
itemstack containing a swiftness potion
L389[07:40:19] <DovahOfKiin> How would I
do that? THe itemstack part is easy
L390[07:40:45] <DovahOfKiin>
PotionUtils.addPotionToItemStack(new ItemStack(blah), ???)
L391[07:43:52] <DovahOfKiin> Any
idea?
L392[07:45:58] <tterrag> I haven't done it
myself
L393[07:46:10] <tterrag> but
PotionType.getPotionTypeForName seems useful
L394[07:46:23] ⇦
Quits: Maxetime
(~Thunderbi@modemcable086.219-70-69.static.videotron.ca) (Ping
timeout: 190 seconds)
L395[07:46:26] <ghz|lappy>
PotionTypes.*
L396[07:46:30] <ghz|lappy> no wait
L397[07:46:31] <ghz|lappy> it was
L398[07:46:34] <ghz|lappy>
MobEffects.*
L399[07:47:07] <ghz|lappy> wait that's a
Potion
L400[07:47:07] <ghz|lappy> hmm
L401[07:47:31] <ghz|lappy> yeah
PotionTypes was the right one
L402[07:47:31] <ghz|lappy> XD
L403[07:47:44] <Ivorius> Oh no how could I
have been so wrong
L404[07:47:44] <ghz|lappy> DovahOfKiin:
PotionTypes.LEAPING
L405[07:47:59] <DovahOfKiin> Yep,
thanks
L406[07:48:03] <DovahOfKiin> all the
potions are her
L407[07:48:04] <DovahOfKiin> e
L408[07:48:49] <Dark> anyone know if there
is an event called after a server world has loaded for a
client
L409[07:49:09] <Ivorius> Tons
L410[07:49:13] <Ivorius> Depends on when
exactly
L411[07:49:38] <Dark> looking for an event
that is called before the world ticks but after items/blocks have
been remapped to server's values
L412[07:51:27] ***
willieaway is now known as williewillus
L413[07:52:43] <williewillus> anyone who's
used JUnit 4: how can I dynamically add tests based on files in a
directory?
L414[07:53:05] <williewillus> all pairs of
".fun" and ".ok" files in some dir constitutet
a test case
L415[07:53:26] <Ivorius> .fun and
.ok
L416[07:53:26] <Ivorius> lol
L417[07:53:42] <Dark> I think you need to
make a test suit
L418[07:53:49] <Dark> then add test
objects to it
L419[07:54:31]
⇨ Joins: KnightMiner
(~KnightMin@adsl-76-202-214-219.dsl.emhril.sbcglobal.net)
L420[07:54:59]
⇨ Joins: vox (~voxmods@151.188.105.156)
L421[07:55:03] ⇦
Quits: kimfy (~kimfy___@236.5.200.37.customer.cdi.no) (Ping
timeout: 190 seconds)
L422[07:58:07]
⇨ Joins: Nitrodev
(~Nitrodev@87-92-75-66.bb.dnainternet.fi)
L423[08:02:33]
⇨ Joins: madcrazydrumma
(~madcrazyd@host-89-241-237-241.as13285.net)
L424[08:02:54] <madcrazydrumma>
ItemStack[] inventory = mc.thePlayer.inventory.mainInventory;
L425[08:03:00] <madcrazydrumma> This is
giving me a NullPointerException
L426[08:03:37] <Ivorius> Aha
L427[08:03:43] <Ivorius> Find out what
object is nil then
L428[08:03:43] <williewillus> Dark: uhh
okay so I have a custom class that extends TestSuite
L429[08:03:47] <williewillus> how exactly
do I run that
L430[08:04:04] <madcrazydrumma> What do
you mean Ivorius ?
L431[08:04:05] <williewillus> if I use
@RunWith(Suite.class) @SuiteClasses expewcts test classes
L432[08:04:09] <tterrag> knowing JUnit
probably by slapping an annotation on it :P
L433[08:04:09] <Ivorius> Set
breakpoint
L434[08:04:11] <Ivorius> Look at
objects
L435[08:04:12] <Ivorius> See nil
L436[08:04:18] <Ivorius> Make
conditional
L437[08:04:28] <DovahOfKiin> Are there any
multiblock tutorials?
L438[08:04:41] ⇦
Quits: turmfalke
(~turmfalke@p20030056CF06BAB22D7FE64F4EE137FF.dip0.t-ipconnect.de)
(Ping timeout: 384 seconds)
L439[08:04:43] <Ivorius> Depends on the
multiblock
L440[08:04:46]
⇨ Joins: Bitterholz
(~Bitterhol@2a02:908:2212:fbc0:5817:2ddc:96cb:c5fb)
L441[08:04:49] <Ivorius> Implementing
yourself, not really
L442[08:04:51] <Ivorius> FMP,
probably
L443[08:04:57] <DovahOfKiin> FMP?
L444[08:05:05] <Ivorius> Oh wait, multi,
not micro
L445[08:05:08] <Ivorius> But probably
not
L446[08:05:17] <ghz|lappy> DovahOfKiin: a
multiblock is just a bunch of independent blocks actinv as
one
L447[08:05:19] <Ivorius> Multiblocks can
be very different
L448[08:05:30] <ghz|lappy> there's no
definitive approach to them
L450[08:05:46] <ghz|lappy> there's just a
set of "things" that will need doing:
L451[08:05:59] <ghz|lappy> 1. it's good to
have a master TE, and the rest be slave TEs that know their place
in the multiblock
L452[08:06:06] <Bitterholz> Good
Afternoon, Quick Question, can i have alpha Transparency parts of
my modells AND have depth buffer enabled so stuff shows correctly
without fighting for depth layers?
L453[08:06:12] <ghz|lappy> 2. you'll need
a multiblock "manager" of sorts, that knows if the
structure is correct
L454[08:06:16] <Ivorius> madcrazydrumma:
Yes
L455[08:06:19] <Ivorius> Make a
breakpoint
L456[08:06:19] <ghz|lappy> and how to
assemble/disassemble the structure
L457[08:06:23] <Ivorius> And look for
yourself
L458[08:06:30] <ghz|lappy> 3. you'll need
the multiblock pieces.
L459[08:06:50] <ghz|lappy> this is how I
manage my Ender-Rift
L461[08:06:57] <ghz|lappy> it's just one
example of many
L462[08:07:24] <tterrag> Bitterholz: block
models are automatically sorted for depth
L464[08:07:34] <tterrag> as for enabling
the transparency, use the correct BlockRenderLayer
L465[08:07:53] <ghz|lappy> Bitterholz:
block, entity or TESR?
L466[08:07:54] <ghz|lappy> ;P
L467[08:08:09] <Bitterholz> tterrag, sadly
if i set the renderlayer for Translucent, parts of the modell that
overlap start fighting for depth
L468[08:08:17] <tterrag> overlap?
L469[08:08:21] <Bitterholz> sec
L470[08:08:27] <Bitterholz> ill grab a
picture
L471[08:08:32] <tterrag> of course if you
have overlapping quads taht's not going to work
L472[08:08:35] <tterrag> get rid of
them
L473[08:08:48] <Bitterholz> cant get rid
of them or ill have floating pieces
L474[08:09:03] <tterrag> uhhh
L475[08:09:09] <williewillus> okay so I
have class "AllTests" which has @RunWith(Suite.class) and
@SuiteClasses(mycustomsuite.class)
L476[08:09:20] <williewillus> but then it
complains mycustomsuite.class has no runnable methods .-.
L477[08:09:58] <barteks2x> Is it possible
to force idea formatter to leave annotations in the same line as
field/method as is?
L478[08:10:08] <ghz|lappy> Bitterholz: if
you have overlapping parts
L479[08:10:11] <ghz|lappy> then your model
is broken
L480[08:10:13] <ghz|lappy> nothing will
fix that.
L481[08:10:28] <ghz|lappy> MC doesn't do
internal geometry sorting
L482[08:10:34] <ghz|lappy> only by blocks
within chunks
L483[08:10:54] <Bitterholz> my modell isnt
broken. i asure you that
L484[08:10:54]
⇨ Joins: Jiraiyah (~Jiraiyah@5.78.206.227)
L485[08:11:11] <Bitterholz> let me explain
it with pictures before you go nutz
L486[08:11:13] <Jiraiyah> anyone familiar
with converting linux command line cp to windows version?
L487[08:11:22] <Ivorius> barteks2x: Ew,
why
L488[08:11:40] <Jiraiyah> cpw uses this in
linux : cp -a runConfigurations ../../../Forge/.idea/
L489[08:11:46] <Jiraiyah> how to convert
it to windows version?
L490[08:11:56] <Ivorius> barteks2x: File
-> Settings -> Code Style -> Wrapping and Braces ->
Method annotations and set to Do not wrap
L491[08:12:02] <Ivorius> Google is your
friend
L492[08:12:15] <Jiraiyah> couldn't find it
at least fast in first page :/
L493[08:12:32] <Ivorius> Oh wait, that's
Android Studio
L494[08:12:33] <Jiraiyah> tried xcopy but
the result i think copied the files on themselves
L495[08:12:54] <Ivorius> Although pretty
much the same in IDEA
L496[08:13:00] <ghz|lappy> Jiraiyah: what
does -a do?
L497[08:13:11] <Jiraiyah> donno not
familiar with linux at all
L498[08:13:28] <Ivorius> Jiraiyah: Not the
correct channel for this :P
L499[08:13:31] <Jiraiyah> he is copying
files under that idea folder somewhere else, but his explanation is
a bit shady
L500[08:13:57] <Jiraiyah> i thought
someone who had done forge dev env would know what to do :p
L501[08:14:01] <ghz|lappy> -a means
"--archive"
L502[08:14:07] <ghz|lappy> means
--preserve=all
L504[08:14:27] <ghz|lappy> there's no such
flag in windows cmd
L505[08:14:34] <madcrazydrumma> Entity
models are still .java right?
L506[08:14:43] <thor12022> did you try
"xcopy /?"
L507[08:14:53] <ghz|lappy> madcrazydrumma:
the vanilla ones, yes,
L508[08:14:53] <Jiraiyah> yah but not sure
what went wrong
L509[08:15:03] <Jiraiyah> xcopy
runConfigurations ..\..\..\Forge\.idea\ /s /i
L510[08:15:09] <ghz|lappy> but you can do
entities and TESRs by loading .obj models or json models or .b3d
models
L511[08:15:09] <Jiraiyah> didn't get the
same result
L512[08:15:11] <ghz|lappy> and drawing
them
L514[08:15:32] <Bitterholz> take a look to
ghz
L516[08:15:38] <DovahOfKiin> Ivorius, can
you explain it all please?
L517[08:15:47] <ghz|lappy> this class can
be used to load and render models for entity/TESR purposes
L518[08:15:59] <madcrazydrumma> Using json
ghz|lappy ?
L519[08:16:12] <ghz|lappy> json, obj,
b3d
L520[08:16:17] <madcrazydrumma> Okay
^
L521[08:16:17] <ghz|lappy> anything that
works for lbocks and items
L522[08:16:19] <ghz|lappy> works with
that
L523[08:16:24] <Ivorius> DovahOfKiin: I
don't really have the time for that lol
L524[08:16:32] <madcrazydrumma> Do you
have an entity example?
L525[08:16:39] <madcrazydrumma> Is it
easier to use .java?
L526[08:16:40] <Ivorius> It's basically a
Master/Slave multiblock too
L528[08:16:47] <ghz|lappy> yes, but it's
not a mob
L529[08:16:59] <Ivorius> With some
placement logic and sanity checks
L530[08:16:59] <tterrag> Bitterholz: it
looks ok to me?
L531[08:17:01] <ghz|lappy> depends
L532[08:17:03] <ghz|lappy> do you want
animations?
L533[08:17:07] <madcrazydrumma> Yeah
L534[08:17:16] <Jiraiyah> hmm that command
is copying four xml files somewhere else, but no matter what parent
folder i try, those tasks are not showing up
L535[08:17:16] <ghz|lappy> do you want to
manually control arms swinging and such?
L536[08:17:20] <ghz|lappy> if so
L537[08:17:25] <ghz|lappy> then yes,
ModelBase is easier
L538[08:17:26] <Bitterholz> tterrag, look
closely at the intersection in Pic 1 and 3
L539[08:17:39] <tterrag> ok yes because
you are rendering opaque stuff on the translucent layer
L540[08:17:46] <Bitterholz> youll see in
pic 1 quads fight for depth, where in pic 3 they dont
L541[08:17:49] <ghz|lappy> better? not
necessarily, but easier, it is.
L542[08:17:50]
⇨ Joins: Katrix
(~Katrix@2a02:fe0:cb10:2650:c44:9acc:217a:ff71)
L543[08:18:09] <madcrazydrumma> ghz|lappy,
okay ill keep your code there for now; ill take a look at using the
modelbase stuff
L544[08:18:25] <Bitterholz> so, how can i
keep the fancy ass Glass AND have my frames stolid?
L545[08:18:42] <tterrag> don't do
that?
L546[08:19:08] <Bitterholz> so there is no
option to have both?
L548[08:19:53] <Bitterholz> tterrag, I
have a cutout version of the modell where the Glass is a seperate
Object from the Frames
L549[08:19:57] <Bitterholz> does that
help?
L550[08:19:59] <tterrag> yes
L551[08:20:10] <tterrag> you need to
render them on different layers
L552[08:20:25] <Bitterholz> so, how the
HELL do i tell it to render the Frames as SOLID and the Glass parts
as TRNASLUCENT
L553[08:20:37] <Bitterholz> i go no clue
how to do more than one layer XD
L554[08:20:58] <Bitterholz> im a total
nubcake there
L555[08:21:08] <madcrazydrumma> Can't you
render the whole thing as CUTOUT?
L556[08:21:36] <Bitterholz>
madcrazydrumma, then i lose the Blue tint entirely
L557[08:21:40] <madcrazydrumma> hmm
L558[08:21:44] <Bitterholz> same as not
rednering the Glass at all
L559[08:21:48] <williewillus> anyone good
with junit PM?
L560[08:21:51] <williewillus> i really
need help lol
L561[08:22:30] <masa> madcrazydrumma: what
the hell are those .equals() calls doing there? O_o
L562[08:22:51] <masa> of course that
latter one will NPE as soon as there is an empty slot
L563[08:22:51] <tterrag> Bitterholz:
you'll need your own model class
L564[08:23:00] <tterrag> but you can
pretty easily just combine the two existing models
L565[08:23:08] <masa> because you are
calling .equals(null) on null...
L566[08:23:13] <Bitterholz> its allready
one modell class
L567[08:23:39] <Bitterholz> The whole
thing is within one File, Frame and glass are different
Cuboids
L568[08:23:44] <madcrazydrumma> masa, so
what should i be doing to check there's no item there?
L569[08:24:17] <masa> just inventory[i] !=
null to see tjhat there is an item
L570[08:24:19] <tterrag> Bitterholz:
code?
L571[08:24:30] <masa> or ItemStack to be
precise
L572[08:24:35] <Bitterholz> wich code you
want tterrag
L573[08:24:38] <Bitterholz> XD
L574[08:24:41] <tterrag> the model
code
L575[08:24:52] <Bitterholz> so all
including the JSOn files?
L576[08:25:30] <madcrazydrumma> masa, and
for the main inventory check? or do i not need that?
L577[08:25:36] <tterrag> you just told me
it's already a model class
L578[08:25:40] <masa> just remove both of
the .equals() calls
L579[08:25:44] <tterrag> give me that
class
L580[08:25:56] <masa> for the inventory it
basicallu does the exact same as inventory == null
L581[08:26:21] <masa> what are those
items/that piece of code used for?
L582[08:26:26] <madcrazydrumma> a
gui
L583[08:26:59] <madcrazydrumma> Even then
masa its giving the same error
L584[08:27:04] <Bitterholz> tterrag, well,
i have a block class that handles the model, and a Tile Entity
handling the connections
L585[08:27:09] <masa> is that a MultiMap
or something, because you are putting stuff to the same
"Inventory" key in the map
L586[08:27:14] <Bitterholz> you need both
or just the block
L587[08:27:16] <tterrag> give me the
*model* class
L588[08:27:24] <tterrag> not block, not
TE
L589[08:27:35] <madcrazydrumma> Yeah it
is
L590[08:27:42] <madcrazydrumma> and could
it be because my gui pauses the game?
L591[08:27:43] <Bitterholz> what do you
mean by modell class?
L592[08:27:51] <Bitterholz> its a obj if
you want that
L593[08:27:56] <tterrag>
<Bitterholz> its allready one modell class
L594[08:28:15] <ghz|lappy> (model has only
one L, btw)
L595[08:28:29] ⇦
Quits: DovahOfKiin (~admin@122.171.119.240) (Ping timeout: 384
seconds)
L596[08:28:32] <Bitterholz> ghz|lappy,
noted lol
L597[08:28:50] <masa> madcrazydrumma: hmm
I don't think that would affect it... not sure though. Can you
update the gist?
L598[08:29:02] <madcrazydrumma> to include
what?
L599[08:29:13] <Bitterholz> tterrag, the
modell is rendered directly from the Block class out of a .obj
file
L600[08:29:18] <masa> you said it still
crashes, udpate the code and the log
L601[08:29:40] <Bitterholz> tterrag, so,
what do you want to look at?
L602[08:29:53] <tterrag> then why did you
tell me you had a model class
L603[08:30:03] <tterrag> <tterrag>
Bitterholz: you'll need your own model class
L604[08:30:03] <tterrag> <tterrag>
but you can pretty easily just combine the two existing
models
L605[08:30:06] <Bitterholz> language
barrier im sorry,
L606[08:30:13] <tterrag> it's fine
L607[08:30:18] <tterrag> you need to
create your own IBakedModel
L609[08:30:31] <madcrazydrumma> i gave the
whole gui code there so you can see whats going on
L610[08:30:36] <Bitterholz> well, its
still ONE .obj
L611[08:30:44] <Bitterholz> just different
Cuboids
L612[08:31:16] <Bitterholz> every frame
piece has a Cuboid, so does every piece of Glass
L613[08:31:55] <tterrag> well you will
probably need to separate it
L614[08:32:10] <Bitterholz> hmm and then
render 2 modells ontop of each other?
L615[08:32:15] <tterrag> in your model, in
getQuads you can access the current render layer, and return the
proper part of the model
L616[08:32:19] <masa> madcrazydrumma: well
it tells you that the NPE is on line 204
L617[08:33:04] <masa> so either mc,
mc.thePlayer or mc.thePlayer.inventory is null, and I'm guessing it
might be mc
L618[08:33:10] <Bitterholz> tterrag,
uhm...i currently render via ExtendedBlockState
L619[08:33:18] ⇦
Quits: ghz|lappy (~gigaherz@84.89.63.25) (Remote host closed the
connection)
L620[08:33:22] <Bitterholz> so i got no
idea about getQuads
L621[08:33:24] <masa> or does that get set
in the GuiSCreen constructor?
L622[08:33:47] <masa> actually no it won't
since you don't call super()
L623[08:34:03] <madcrazydrumma> So shall i
call super?
L624[08:34:20] <tterrag> Bitterholz: again
you need to make your own IBakedModel
L625[08:34:40] <Bitterholz> uhggg
really?
L626[08:34:45] <masa> usually you should
yes, but also check that the guiScreen or gui constructor then ets
it, which I'm guessing it will
L627[08:34:53] <masa> *sets
L628[08:35:00] <Bitterholz> i think ill
just leave it glassless then
L629[08:35:21] ⇦
Quits: auenf (David@DC-53-50.bpb.bigpond.com) (Remote host closed
the connection)
L630[08:35:24] <madcrazydrumma> even using
super() it doesn't work haha
L631[08:35:32] <madcrazydrumma> so one of
them is null
L632[08:35:36] <Bitterholz> id have to
rewrite everything for making my own IBakedModel
L633[08:35:46] <Bitterholz> plus i got no
idea how that stuff workjs
L634[08:35:49] <madcrazydrumma> Same
error
L635[08:36:19]
⇨ Joins: auenf (David@DC-53-50.bpb.bigpond.com)
L636[08:36:37] <tterrag> Bitterholz: no
really you wouldn't
L637[08:37:05] <Bitterholz> tterrag, do
you have some kind of template for that stuff?
L638[08:37:07] <tterrag> you would just
combine the different models in your own, then passthrough to them
based on the layer
L639[08:37:07] ***
kroeser|away is now known as kroeser
L640[08:37:33] <masa> madcrazydrumma: well
looking at GuiScreen, it doesn't actually have a defined
constructor, the GuiSCreen#mc is actually set in
setWorldAndResolution()
L641[08:37:54] <masa> which will only be
called after the constructor is done, so yeah that wouldn't
work
L642[08:37:58] <Bitterholz> Well, for now
i think ill just try and make Items flow first
L643[08:38:10] <Bitterholz> looks good
enough witout the Galss
L644[08:38:23] <madcrazydrumma> masa, I
called Minecraft.getMinecraft() - but now I'm getting a
ClassCastException saying it cant be cast to container (the
gui)
L645[08:38:26] <Bitterholz> glass*
L646[08:38:28] <masa> so you could just
set the mc field yourself in the constructor before you calll the
addItems()
L647[08:38:49] <masa> where did you try to
put that?
L648[08:39:27] <madcrazydrumma> Try put
what?
L649[08:39:43] <masa> the reference from
Minecraft.getMinecraft()
L650[08:40:07] <madcrazydrumma> I'm not
doing that anymore, in my GuiHandler i put the player from
getServerGuiElement and client into the constructor and use
that
L651[08:41:09] <masa> hm, what exactly are
you doing anyway... some sort of custom anvil?
L652[08:41:15] <madcrazydrumma> yea
L654[08:41:31] <masa> then why do you
extend GuiScreen and not GuiContainer? especially if you are using
the GuiHandler to open it
L655[08:41:52] <madcrazydrumma> because
its not a slot based gui, im doing all my own rendering
L656[08:42:14] ⇦
Quits: Gaz (~Gaz492@ticklemy.ninja) (Quit: Fucking Mice and
ethernet cables)
L657[08:42:29] <madcrazydrumma> Should i
rather be using Minecraft.getMinecraft().displayGuiScreen(new
GuiAnvil(playerIn)); ?
L658[08:43:12] <masa> if it's not a slot
based gui, then you shouldnät be using GuiHandler either
L659[08:43:21] <masa> so yeah, something
liek that
L660[08:44:09] ⇦
Quits: vox (~voxmods@151.188.105.156) (Ping timeout: 201
seconds)
L661[08:44:28] <masa> well correction, if
it's not a container-based gui, but anyway
L662[08:44:54]
⇨ Joins: Gaz (~Gaz492@138.201.89.68)
L663[08:45:06] <madcrazydrumma> ^^
L664[08:45:15] <madcrazydrumma> Alright
now it's working, cheers man
L665[08:50:49] ***
amadornes[OFF] is now known as amadornes
L666[08:58:57]
⇨ Joins: Drullkus
(~Dru11kus@c-67-180-188-243.hsd1.ca.comcast.net)
L667[08:59:55] ⇦
Quits: madcrazydrumma (~madcrazyd@host-89-241-237-241.as13285.net)
(Quit: Leaving)
L668[09:00:47] ⇦
Quits: alex_6611 (~alex_6611@p5DE78EAF.dip0.t-ipconnect.de) (Ping
timeout: 384 seconds)
L669[09:07:28] ⇦
Quits: Gaz (~Gaz492@138.201.89.68) (Quit: Fucking Mice and ethernet
cables)
L670[09:08:39]
⇨ Joins: whitephoenix
(~whitephoe@216-160-104-253.tukw.qwest.net)
L671[09:09:35] ***
kroeser is now known as kroeser|away
L672[09:14:16] ⇦
Quits: VikeStep (~VikeStep@101.184.243.180) (Read error: Connection
reset by peer)
L674[09:15:21]
⇨ Joins: Gaz (~Gaz492@ticklemy.ninja)
L675[09:16:03] ⇦
Quits: stiforr_ (~stiforr@ip72-216-8-185.pn.at.cox.net) (Ping
timeout: 190 seconds)
L676[09:18:36]
⇨ Joins: Hunterz (~hunterz@62.182.234.189)
L677[09:18:37]
⇨ Joins: stiforr_
(~stiforr@146.sub-97-35-128.myvzw.com)
L678[09:20:23] ***
TTFT|Away is now known as TTFTCUTS
L679[09:24:53] ***
kroeser|away is now known as kroeser
L680[09:26:47] <williewillus> uhh
L681[09:26:59] <williewillus> already
imagining the rage now that feet-killing endermen no longer
works
L682[09:28:17] <gigaherz> hmm I thought
endermen only became aggressive if you looked at their head
L683[09:28:35] <gigaherz> or roughly in
the direction of their head, at least
L684[09:29:40] <barteks2x> I thought it
was a feature
L685[09:33:29] ⇦
Quits: stiforr_ (~stiforr@146.sub-97-35-128.myvzw.com) (Ping
timeout: 201 seconds)
L686[09:37:35] ⇦
Quits: Gaz (~Gaz492@ticklemy.ninja) (Quit: Fucking Mice and
ethernet cables)
L687[09:38:00]
⇨ Joins: Gaz (~Gaz492@2a01:4f8:c17:39ed::2)
L688[09:38:59]
⇨ Joins: Stiforr
(~Stiforr@ip72-216-8-185.pn.at.cox.net)
L689[09:39:00] ⇦
Quits: Jezza (~Jezza@bps-gw.hrz.tu-chemnitz.de) (Quit: Work...
heh)
L690[09:41:12] <masa> they didn't even fix
that NPE with loading player reputation for villages
L691[09:41:23] <williewillus> what was
that?
L692[09:42:14] <masa> whenever any player
has any reputation in a village, the server has a nice NPE when
loading the village data from disk
L693[09:42:27] <gigaherz> reported by
tangoTek a few days ago
L694[09:42:28] <gigaherz> ;P
L695[09:42:30] <masa> I guess it crashes
dedi servers, but in single player I just see the NPE in
console
L696[09:42:33] <masa> yep
L697[09:42:44] ⇦
Quits: Kaiyouka (~IdiotNono@c-75-71-231-133.hsd1.co.comcast.net)
(Ping timeout: 201 seconds)
L699[09:43:15] ***
PaleOff is now known as PaleoCrafter
L700[09:49:16] ⇦
Quits: Gaz (~Gaz492@2a01:4f8:c17:39ed::2) (Quit: Fucking Mice and
ethernet cables)
L701[09:50:25]
⇨ Joins: alex_6611
(~alex_6611@p5DE78EAF.dip0.t-ipconnect.de)
L702[10:04:15]
⇨ Joins: minot
(~minot@pool-108-35-29-135.nwrknj.fios.verizon.net)
L703[10:08:14]
⇨ Joins: Brokkoli
(~Brokkoli@p5B23C352.dip0.t-ipconnect.de)
L704[10:16:10]
⇨ Joins: Samario
(~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net)
L705[10:18:01]
⇨ Joins: SandGrainOne
(~Terje@cm-84.210.171.146.getinternet.no)
L706[10:22:40]
⇨ Joins: Jezza (~Jezza@92.206.5.6)
L707[10:30:49] ⇦
Quits: Lunatrius (~Lunatrius@cpe-77.38.77.164.cable.t-1.si) (Read
error: Connection reset by peer)
L708[10:31:04]
⇨ Joins: Lunatrius
(~Lunatrius@cpe-77.38.77.164.cable.t-1.si)
L709[10:35:45] ***
williewillus is now known as willieaway
L710[10:37:18] <masa> well, found that
NPE
L711[10:37:24] ⇦
Quits: Jiraiyah (~Jiraiyah@5.78.206.227) (Read error: Connection
reset by peer)
L712[10:38:06]
⇨ Joins: Shukaro (~Shukaro@130.108.232.236)
L713[10:38:43]
⇨ Joins: Jiraiyah (~Jiraiyah@5.78.206.227)
L714[10:41:01] <masa> in
VillageCollection#readFromNBT() they create new Village(); without
a world argument, so then the Village#readVillageDataFromNBT() has
null in its this.worldObj when it tries to call
this.worldobj.getMinecraftServer().getPlayerProfileCache()
L715[10:43:00] <masa> hmm, in
MapStorage#loadData() they also create the VillageCollection with
the constructor that only takes a String argument...
L716[10:43:05] ***
cpw|out is now known as cpw
L717[10:44:36]
⇨ Joins: Girafi
(Girafi@0x555178eb.adsl.cybercity.dk)
L718[10:45:01] ⇦
Quits: whitephoenix (~whitephoe@216-160-104-253.tukw.qwest.net)
(Ping timeout: 201 seconds)
L719[10:45:26] ⇦
Quits: keybounce
(~keybounce@45-25-230-67.lightspeed.bkfdca.sbcglobal.net) (Quit:
Sleep? Did I say sleep?)
L720[10:45:37] ⇦
Quits: Jiraiyah (~Jiraiyah@5.78.206.227) (Ping timeout: 384
seconds)
L721[10:45:41]
⇨ Joins: whitephoenix
(~whitephoe@216-160-104-253.tukw.qwest.net)
L722[10:48:21]
⇨ Joins: Gaz (~Gaz492@2a01:4f8:c17:39ed::2)
L723[10:48:23]
⇨ Joins: madcrazydrumma
(~madcrazyd@host-89-241-237-241.as13285.net)
L724[10:48:32] <madcrazydrumma> How can i
change the cursor to my own?
L725[10:53:24] ⇦
Quits: Drullkus (~Dru11kus@c-67-180-188-243.hsd1.ca.comcast.net)
(Remote host closed the connection)
L726[10:59:26]
⇨ Joins: mentlerd
(~mentlerd@catv-176-63-185-209.catv.broadband.hu)
L727[10:59:39] ⇦
Quits: mentlerd (~mentlerd@catv-176-63-185-209.catv.broadband.hu)
(Client Quit)
L728[11:04:43]
⇨ Joins: kimfy
(~kimfy___@236.5.200.37.customer.cdi.no)
L729[11:06:33]
⇨ Joins: theFlaxbeard
(~theFlaxbe@184.97.222.161)
L730[11:08:23] <madcrazydrumma> Anyone
have an idea?
L731[11:09:39] <masa> isn't that up to the
OS theme?
L732[11:09:59] <madcrazydrumma> Oh yeah
hmm true
L733[11:10:03] <madcrazydrumma> What about
the crosshair?
L734[11:10:30] <masa> that's in the
resource pack/textures
L735[11:10:43] ⇦
Quits: moog (~moog@24-176-156-144.dhcp.jcsn.tn.charter.com) (Ping
timeout: 190 seconds)
L736[11:10:59]
⇨ Joins: stiforr_
(~stiforr@ip72-216-8-185.pn.at.cox.net)
L737[11:11:10] <tterrag> from java it's
not easy
L738[11:11:18] <tterrag> You will need
native code
L739[11:11:38] <tterrag> (see: awt)
L740[11:11:40] <madcrazydrumma> Ahh
tterrag not worth it then haha
L741[11:11:43] ⇦
Quits: Brokkoli (~Brokkoli@p5B23C352.dip0.t-ipconnect.de) (Ping
timeout: 190 seconds)
L742[11:11:53] <madcrazydrumma> Is there a
way to change the crosshair from code?
L743[11:13:06] <tterrag> The ingame
one?
L744[11:13:13] <tterrag> It's a
texture
L745[11:13:26] <madcrazydrumma> Yeah, masa
said its in resource pack/textures, but there must be a way to
change it from code
L746[11:13:45] <tterrag> Sure I
guess
L747[11:13:48] <madcrazydrumma> Like i
want to change it for example when i wield a different item
L748[11:13:57] <tterrag> But why not just
replace the texture
L749[11:14:02] <tterrag> ahh
L750[11:14:17] <madcrazydrumma> ^^
L751[11:14:25] <madcrazydrumma> Otherwise
i would have just done that haha
L752[11:14:26] <tterrag> I believe you can
use RenderGameOverlayEvent
L753[11:14:37] <madcrazydrumma> That
handles the crosshair too?
L754[11:14:48] <tterrag> There should be a
sub event for cross hair
L755[11:15:33] <tterrag> or a type
L756[11:16:18] <madcrazydrumma> yeah its a
type. So could I do: if(event.getType() == ElementType.CROSSHAIRS)
{} and if my item is in hand, cancel the event and draw my own?
or..
L757[11:16:59] <tterrag> right
L758[11:17:51]
⇨ Joins: Brokkoli
(~Brokkoli@p5b23c982.dip0.t-ipconnect.de)
L759[11:24:59]
⇨ Joins: Hgrebnednav
(~Hgrebnedn@d8D872D48.access.telenet.be)
L760[11:26:57] ⇦
Quits: kimfy (~kimfy___@236.5.200.37.customer.cdi.no) (Ping
timeout: 201 seconds)
L761[11:28:04] ⇦
Quits: madcrazydrumma (~madcrazyd@host-89-241-237-241.as13285.net)
(Quit: Leaving)
L762[11:30:37] *** V
is now known as Vigaro
L763[11:38:21] <FusionLord> are Vanilla
entities no registered with the EntityRegistry?
L764[11:40:59]
⇨ Joins: Kaiyouka
(~IdiotNono@c-75-71-231-133.hsd1.co.comcast.net)
L765[11:56:52]
⇨ Joins: kimfy
(~kimfy___@236.5.200.37.customer.cdi.no)
L766[11:58:09] ⇦
Quits: jk-5 (~jk-5@D549D0E1.cm-10-1b.dynamic.ziggo.nl) (Ping
timeout: 384 seconds)
L767[12:03:12]
⇨ Joins: Drullkus (~Dru11kus@205.155.154.1)
L768[12:04:46] ***
PaleoCrafter is now known as PaleOff
L769[12:07:56]
⇨ Joins: Dru11kus (~Dru11kus@205.155.154.1)
L770[12:08:58] ⇦
Quits: Dru11kus (~Dru11kus@205.155.154.1) (Read error: Connection
reset by peer)
L771[12:09:14]
⇨ Joins: Dru11kus (~Dru11kus@205.155.154.1)
L772[12:09:16] ⇦
Quits: Dru11kus (~Dru11kus@205.155.154.1) (Remote host closed the
connection)
L773[12:09:25]
⇨ Joins: Dru11kus (~Dru11kus@205.155.154.1)
L774[12:09:58] ***
Vigaro is now known as V
L775[12:10:03] ⇦
Quits: Drullkus (~Dru11kus@205.155.154.1) (Ping timeout: 384
seconds)
L776[12:12:09] ⇦
Quits: Dru11kus (~Dru11kus@205.155.154.1) (Remote host closed the
connection)
L777[12:12:50]
⇨ Joins: Drullkus (~Dru11kus@205.155.154.1)
L778[12:12:58] ⇦
Quits: Drullkus (~Dru11kus@205.155.154.1) (Remote host closed the
connection)
L779[12:16:30]
⇨ Joins: Drullkus (~Dru11kus@205.155.154.1)
L780[12:19:07] ⇦
Quits: bilde2910 (bilde2910@51.174.170.178) (Ping timeout: 384
seconds)
L781[12:19:53]
⇨ Joins: bilde2910 (bilde2910@51.174.170.178)
L782[12:20:23]
⇨ Joins: Intektor
(~Intektor4@p5B275BDA.dip0.t-ipconnect.de)
L783[12:20:40] <Intektor> how can I send a
chat message to everyone, from the server?
L784[12:25:56] ⇦
Quits: Naiten (Naiten@77.34.85.143) (Read error: Connection reset
by peer)
L785[12:26:16]
⇨ Joins: Jiraiyah (~Jiraiyah@151.235.135.189)
L786[12:26:19] ***
big_Xplo|AFK is now known as big_Xplosion
L787[12:26:54]
⇨ Joins: MikrySoft
(~MikrySoft@89-76-18-43.dynamic.chello.pl)
L788[12:29:04]
⇨ Joins: KGS
(~KGS@h-155-4-135-249.na.cust.bahnhof.se)
L789[12:29:12] <capitalthree> Intektor:
you just type "say message" on the console
L790[12:29:17] <capitalthree> just don't
use the /
L791[12:29:31] <capitalthree> oh
wait
L792[12:29:37] <capitalthree> you probably
mean *from a mod*
L793[12:29:43] <Intektor> yeah mate
L794[12:29:44] *
capitalthree hides
L795[12:29:51] <capitalthree> I don't know
that answer, sorry :P
L796[12:31:05] ⇦
Quits: MikrySoft (~MikrySoft@89-76-18-43.dynamic.chello.pl) (Killed
(NickServ (GHOST command used by MikrySoft|2)))
L797[12:31:09]
⇨ Joins: MikrySoft|2
(~MikrySoft@89-76-18-43.dynamic.chello.pl)
L798[12:35:13] <masa> look into what
happens when the server receives a chat message and it passes it to
other players
L799[12:35:46] <tterrag>
PlayerList#sendChatMsg
L800[12:35:50] <masa> probably it just
loops through all players and sends a message
L801[12:35:50] <tterrag> seems to be the
entry point
L802[12:40:20] <gigaherz> ugh, why's
InventoryHelper.spawnItemStack private in 1.8.9 :(
L803[12:40:27]
⇨ Joins: DovahOfKiin (~admin@122.171.119.240)
L804[12:40:52]
⇨ Joins: Gil
(uid147942@2604:8300:100:200b:6667:5:2:41e6)
L805[12:42:47] <DovahOfKiin> I want to
have my block, say X, do something when it is right clicked with my
item, Y. What are the differences between these options?: a)
override onBlockClicked in X, and check for item b) same as a), but
use onBlockActivated instead c) override onItemUse in Y and check
for block
L806[12:45:08] <gigaherz> onBlockActivated
is the correct method
L807[12:45:30] <gigaherz> onItemUse won't
fire if onBlockActivated "accepts" the click
L808[12:46:43] <gigaherz> GAH crap
L809[12:46:46] ⇦
Quits: auenf (David@DC-53-50.bpb.bigpond.com) (Remote host closed
the connection)
L810[12:46:51] <gigaherz> I made use of
1.9 features in the json models
L811[12:46:51] <gigaherz> XD
L812[12:47:44]
⇨ Joins: auenf (David@DC-53-50.bpb.bigpond.com)
L813[12:48:03] <masa> I'm not even going
to support 1.8.9 anymore, except for some of the small utility
mods
L814[12:49:55] <gigaherz> okay the chest
model works
L815[12:49:56] <masa> mainly because I use
two of them on the client that I play on my vanilla 1.8.9 server on
:p
L816[12:49:56] <gigaherz> now the
items
L817[12:51:06] <LatvianModder> I dont get
why people dont move to 1.9 instantly :P
L818[12:51:11] <LatvianModder>
didn't*
L819[12:51:44] <gigaherz> elytra + combat
changes
L820[12:51:48] <gigaherz> although
L821[12:51:50] <gigaherz> for
modders
L822[12:51:51] <gigaherz> the new
registry
L823[12:51:54] <gigaherz> the new potion
system
L824[12:52:05] <gigaherz> \o/
L825[12:52:06] <gigaherz> there
fixed
L826[12:52:14] <gigaherz>
"backported" the item/generated.json model
L827[12:52:44] <gigaherz> hmmm it's not
quite right XD
L828[12:52:57] <gigaherz> oh oops
L829[12:52:58] <gigaherz> _righthand
L830[12:55:05] <capitalthree>
LatvianModder: because forge isn't even stable for 1.9 yet?
:P
L831[12:55:06] ⇦
Quits: Drullkus (~Dru11kus@205.155.154.1) (Read error: Connection
reset by peer)
L832[12:55:31] <LatvianModder> so
what?
L833[12:55:38] <LatvianModder> if noone
uses it, it wont get more stable
L834[12:56:30] <gigaherz> waityou said
didn't
L835[12:56:33] <gigaherz> I answered
"did"
L836[12:56:33] <gigaherz> ;P
L837[12:56:54] <gigaherz> the reason is
simply, generally: people are now playing on 1.8.9
L838[12:57:01] <LatvianModder> boo to
that
L839[12:57:02] <LatvianModder> :D
L840[12:57:07] <gigaherz> and modders like
to get attention so they develop for the currently-used
version
L841[12:57:15] <gigaherz> that gives them
the chance to get on youtube LPs
L842[12:58:15] <LatvianModder> pfft. thats
no modding, thats business
L843[12:58:24] <LatvianModder> where did
the fun of creating something go? :P
L844[12:59:31]
⇨ Joins: Loetkolben
(~Loetkolbe@ipbcc17c0a.dynamic.kabel-deutschland.de)
L845[13:00:51] ⇦
Quits: Hea3veN (~Hea3veN@190.247.149.195) (Remote host closed the
connection)
L846[13:01:15]
⇨ Joins: Hea3veN (~Hea3veN@190.247.149.195)
L847[13:02:49] <Intektor> gigaherz how is
you enderthings mod going?
L848[13:03:02]
⇨ Joins: Ipsis
(~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk)
L849[13:03:12]
⇨ Joins: Drullkus (~Dru11kus@205.155.154.1)
L850[13:03:13] <Intektor> The thing what
makes me happy the most is, when my mod gets a lot of downloads
:D
L851[13:04:44]
⇨ Joins: vox (~voxmods@151.188.105.156)
L852[13:05:17] <capitalthree>
LatvianModder: lol. if noone *develops* it it won't get more stable
you mean
L853[13:05:48] <LatvianModder> yes
L854[13:06:02] <tterrag> developing
includes testing
L855[13:06:07] ⇦
Quits: manmaed (~Ender@bcdd431e.skybroadband.com) (Ping timeout:
195 seconds)
L856[13:08:34] <LatvianModder> I propose a
something new in Java - this = null; :D
L857[13:08:44] <LatvianModder> or this =
someOtherObjectWithSameType
L858[13:09:03]
⇨ Joins: manmaed|AFK
(~Ender@bcdd431e.skybroadband.com)
L859[13:09:06] <tterrag> That's not how
references work
L860[13:09:21] <LatvianModder> oh right,
references.. Hmmmp
L861[13:09:23] <tterrag> If you did that
the caller's reference would not change
L862[13:09:45] ***
manmaed|AFK is now known as manmaed
L863[13:10:38] <DovahOfKiin> what happened
to world.getBlockAt in 1.9?
L864[13:10:50] <tterrag> wat
L865[13:11:00] <tterrag> I have never
heard of that method
L866[13:11:16] <DovahOfKiin> okay I
could've sworn it existed
L867[13:11:24] <DovahOfKiin> how do I get
the block at xyz
L868[13:11:31] <LatvianModder>
getBlockState(pos).getBlock()
L869[13:11:57] <LatvianModder> and pos is
BlockPos. Most methods already has that
L870[13:12:08] <DovahOfKiin> which class
is getBlockState from/
L871[13:12:19] <DovahOfKiin> Block?
L872[13:12:20] <LatvianModder>
IBlockState
L873[13:12:28] <tterrag> what
L874[13:12:32] <tterrag> No its from
world
L875[13:12:38] <LatvianModder> oh, like
that
L876[13:12:46] <LatvianModder> yeah,
world.getBlockState
L877[13:12:57] <LatvianModder> Are you
porting from 1.7.10?
L878[13:13:21] <gigaherz> hmmm (in 1.9) if
you specify a transform in the item's "display", does it
override the whole "display", or just the transforms you
used
L879[13:13:43] <gigaherz> meh I'll just
compare them in the ground
L880[13:14:24] <gigaherz> yeh looks
fine
L881[13:15:19] <Intektor> i am working
with a splitter in my config. How do you get the text the brackets
(hey I am a text please get me wtihout the brackets)
L882[13:15:30] <Intektor> in the
brackets
L883[13:15:42] <gigaherz> you mean the
doublequotes?
L884[13:16:13] <gigaherz> I'm not surewhat
you mean XD
L885[13:16:36] ⇦
Quits: Drullkus (~Dru11kus@205.155.154.1) (Read error: Connection
reset by peer)
L886[13:16:46] <tterrag> Me either
L887[13:16:47] <Intektor> if you have
this: bla bla(this is a text)
L888[13:16:54] <Intektor> i want: this is
a text
L889[13:16:58] <gigaherz> so parens, then,
not brackets? ;P
L890[13:17:06] <gigaherz> with regexp,
youcan do
L891[13:17:26] <tterrag> match on
\((.+)\)
L892[13:17:27] <gigaherz>
[^\(]*\(([^\)]*)\)
L893[13:17:34] <tterrag> Yeah or that
lol
L894[13:17:56] <gigaherz> depends on
exactly what you want to search
L895[13:17:57] <gigaherz> ;P
L897[13:19:07] <gigaherz> that's parser
territory ;P
L898[13:19:30] <mikebald> It looks like
you're trying to recreate JSON for some reason.
L899[13:19:43] <tterrag> ^
L900[13:19:53] <thor12022> eh, just use
ANTLR in a minecraft mod, totally not overkill. . .
L901[13:20:08]
⇨ Joins: McJty
(~jorrit@94-225-203-206.access.telenet.be)
L902[13:20:17] <Intektor> so how can can I
filter the commands out?
L903[13:20:35] <tterrag> The what
L904[13:21:03] <Intektor> if you look into
my picture, the user can enter commands, I want these
commands
L905[13:21:28] <tterrag> I'm sure regex
could do that as well
L906[13:22:50] <Intektor> do I need
something like that, because I have really no clue :D
Pattern.compile("^(?:([0-9]+)x)?(?:(?:\"([^\"]+)\")|([^@]+))(?:@([0-9]+))?$");
L907[13:22:56] <gigaherz> hmf I wish
github had a way to have a multi-release
L908[13:23:10] <gigaherz> (for like, 1.8.9
+ 1.9 together, that show up as one release
L909[13:23:15] <gigaherz> but each branch
has its own tag)
L911[13:25:42] <gigaherz> there, they are
up :3
L912[13:28:20] ***
Mine|dreamland is now known as minecreatr
L913[13:33:41]
⇨ Joins: Vazkii
(~Vazkii@a79-169-163-74.cpe.netcabo.pt)
L914[13:35:58]
⇨ Joins: PG85 (webchat@86.89.87.222)
L915[13:37:38] ***
LordFokas|out is now known as LordFokas
L916[13:39:43] ***
Jezza is now known as Jezza|AFK
L917[13:41:17] ⇦
Quits: Ipsis (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk) (Ping
timeout: 384 seconds)
L918[13:43:34] ***
MrKick|Away is now known as MrKickkiller
L919[13:48:29]
⇨ Joins: Delenas
(~Delenas@2600:1016:b020:c530:4052:6e49:4583:6dcd)
L920[13:49:09] <Delenas> o/
L921[13:49:41] <Delenas> Trying to update
some stuff from 1.8 to 1.9. Is there an equivalent to
World.doesBlockHaveSolidTopSurface(worldIn, pos) ?
L922[13:53:32] ⇦
Quits: Gaz (~Gaz492@2a01:4f8:c17:39ed::2) (Quit: Fucking Mice and
ethernet cables)
L923[13:53:39] <Delenas>
worldIn.getBlockState(pos.down()).isSideSolid(worldIn, pos.down(),
EnumFacing.UP) ?
L924[13:56:05] <thor12022> well, that
looks like the opposite of what I do to find if the bottom of a
block is solid, so probably.
L925[13:58:03] ⇦
Quits: tali713 (~user@2601:444:8200:c7d:b842:37d2:1e59:354c) (Ping
timeout: 190 seconds)
L926[13:58:54] ⇦
Quits: PitchBright
(~PitchBrig@CPE00fc8d8a3ce3-CM00fc8d8a3ce0.cpe.net.cable.rogers.com)
(Quit: brb)
L927[13:59:06]
⇨ Joins: PitchBright
(~PitchBrig@cpe00fc8d8a3ce3-cm00fc8d8a3ce0.cpe.net.cable.rogers.com)
L928[14:01:41] ⇦
Quits: vox (~voxmods@151.188.105.156) (Ping timeout: 384
seconds)
L929[14:02:05] <Delenas> Curiosity. Why is
that not static? What does the second blockpos do there?
L930[14:04:12] <unascribed> some blocks
want to be able to modify their side solidness per position in the
world
L931[14:04:19] <unascribed> since they may
have rotations or be some sort of microblock
L932[14:04:25] <unascribed> the first
blockpos is getting the state from the world
L933[14:04:30] <unascribed> the second is
passed into the block class
L934[14:07:10] <tterrag> Delenas: I don't
think static means what you think it means :P
L935[14:07:50] <Delenas> It means you
don't need an instance of the class to use that piece. It's shared
code for all instances of it.
L936[14:08:31] <tterrag> ok. but you said
"what does the second blockpos do there?" which is
ignoring that there are two other parameters :P
L937[14:08:50] <Delenas> Anyway. I'm
tackling a rewrite of BedCraftAndBeyond for 1.9. Send help. And
booze.
L938[14:08:54] <Delenas>
MovingObjectPosition ?
L939[14:09:28] <tterrag> wot
L940[14:10:16] <unascribed> do you mean
"what did MovingObjectPosition get renamed to"
L941[14:10:22] <unascribed> if so it's
something like "RayTraceResult" iirc
L942[14:10:38] <unascribed> !gc
RayTraceResult
L943[14:10:42] <unascribed> yep
L944[14:10:45] ⇦
Quits: kimfy (~kimfy___@236.5.200.37.customer.cdi.no) (Ping
timeout: 384 seconds)
L945[14:11:30] ⇦
Quits: PG85 (webchat@86.89.87.222) (Quit: Web client
closed)
L946[14:11:44] <Delenas> Block block =
item instanceof ItemBlock && !isFlowerPot() ?
Block.getBlockFromItem(item) : this; (This is for a bed)
L947[14:12:26] <tterrag> yes
L948[14:12:27] ⇦
Quits: Samario
(~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net) (Ping
timeout: 384 seconds)
L949[14:12:43]
⇨ Joins: PG85 (~PG85@86.89.87.222)
L950[14:12:45] <Delenas> Please tell me
that is a poorly named method.
L951[14:12:53] ***
fry is now known as fry|sleep
L952[14:13:12] <PG85> Hey there, anybody
have experience with access transformers for 1.8.9? I've set up the
gradle.build file and created an _at.cfg file and added the line
"public
net.minecraft.world.chunk.storage.AnvilChunkLoader", then ran
gradle clean and gradle setupdecompworkspace, the access
transformer seems to have run successfully. When I try to access
the fields on net.minecraft.world.chunk.sto
L953[14:13:12] <PG85>
rage.AnvilChunkLoader in eclipse they are still private though
:(
L954[14:13:16]
⇨ Joins: kimfy
(~kimfy___@236.5.200.37.customer.cdi.no)
L955[14:14:07] <gigaherz> oh, hey, it's
approved finally
L957[14:15:53] <unascribed> !gm
isFlowerPot
L958[14:15:58] <unascribed> !mh
isFlowerPot
L959[14:16:05] ⇦
Quits: theFlaxbeard (~theFlaxbe@184.97.222.161) (Killed (NickServ
(GHOST command used by theFlaxbeard2)))
L960[14:16:28] <unascribed> !gm
func_149648_K
L961[14:17:21] <Delenas> ..thank you giga.
We needed this.
L962[14:17:31] <unascribed> well I can't
find it in recent mappings
L963[14:17:35] <Delenas> Keys for ender
chests makes a lot of sense.
L964[14:17:36] <Intektor> how do you
register a command?
L965[14:17:38] <unascribed> but it's
apparently supposed to be "handlesOwnClone"
L966[14:17:48] <Delenas> wat
L967[14:18:04] <unascribed> and the only
thing in vanilla that uses it is isFlowerPot
L968[14:18:05] <unascribed> er
L969[14:18:06] <unascribed> flower
pots
L970[14:18:14] <unascribed> so someone
took it at face value and mapped it to
"isFlowerPot"
L971[14:18:48] <tterrag> yep
L972[14:19:11] <tterrag> What it really
means afaict is "should TE exist after destruction"
L973[14:19:35] <tterrag> Since flower pots
need to know their drop in getDrops
L974[14:19:45] <unascribed> oh, that
sounds really useful actually
L975[14:22:00] <Delenas> Huh.
Interesting.
L976[14:22:35] <tterrag> seems to be gone
in 1.9 though
L977[14:23:19] <DovahOfKiin>
BreweryRecipeHelper:
http://pastebin.com/q6KtTRx6
BreweryTileEntity:
http://pastebin.com/VCtPwVdM So, if you
look at the code, you will see that given a particular set of
blocks, my tile entity is to spawn a potion in after 5 seconds.
Now, it does that, for the first time. If I rebuild the structure,
or replace the tile entity entirely, it spawns these
"ghost" potions. They spawn and despawn immediately. If
you go close enough, you
L978[14:23:20] <DovahOfKiin> will hear the
pickup noise, but no actual potion in inventory. help?
L979[14:24:09] <unascribed> you need to
copy your prototype itemstack
L980[14:24:19] <unascribed> picking it up
the first time decr's the stack size to 0
L981[14:25:43] <DovahOfKiin> but I'm
making a new one every tick; why does the stack size drop to
0?
L982[14:25:52] <Delenas> !gm
canPlaceBlockOnSide
L983[14:25:55] <unascribed> because the
itemstack is being shared
L984[14:26:02] <unascribed> your recipe
helper needs to copy the stack before returning it
L985[14:26:49] <unascribed> and you really
should make some sort of Recipe object instead of lists of
objects
L986[14:27:11]
⇨ Joins: Samario
(~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net)
L987[14:27:28] <DovahOfKiin> So in the
recipe helper, something liek
L988[14:27:30] <DovahOfKiin> like*
L989[14:27:31] <DovahOfKiin> ItemStack i =
(ItemStack) al.get(2);
L990[14:27:31] <DovahOfKiin> return
i.copy();
L991[14:27:35] <unascribed> yes
L992[14:27:39] <DovahOfKiin> Alright
thanks
L993[14:27:42] <unascribed> that way your
prototype is never affected
L994[14:27:49] <unascribed> it's always a
copy the caller can do whatever they want with
L995[14:27:58] <DovahOfKiin> gotcha
L996[14:28:01] <DovahOfKiin> Yeah I'll do
a Recipe object soon
L997[14:28:26] <unascribed> should
probably also change checkIfRecipeExists to return a boolean and
have a separate getResult method that returns the stack
L998[14:28:28] ⇦
Quits: Nitrodev (~Nitrodev@87-92-75-66.bb.dnainternet.fi) (Read
error: Connection reset by peer)
L999[14:28:33] <unascribed> so you don't
create a new ItemStack every tick for no reason
L1000[14:31:12] <McJty> Doing something
for no reason is bad in all cases
L1001[14:34:50] <Delenas> for (int i = 0;
i < 255; i++) { // I am sad. This is followed by registering
item metadata.
L1002[14:35:14] <unascribed> ....?
L1003[14:36:13] <LatvianModder> why would
someone stop at 254...
L1004[14:36:26] <LatvianModder> that
makes no sense.. <= 255 or < 256 does...
L1005[14:38:46] <Delenas> This codebase
is a copy-paste hell.
L1006[14:39:18] <Delenas> Formatting is
absurd, crap is copied all over the place, stuff isn't in a very
decent OOP layout.
L1007[14:41:19]
⇨ Joins: FallingD
(~FallingDu@2001:1c00:b02:c500:9572:2002:ec73:3df0)
L1008[14:41:26] <tterrag> so, most mods
then?
L1009[14:41:56] <FallingD> where on the
client can i find what fly speed the server has set?
L1010[14:42:37] <unascribed>
Minecraft#thePlayer.capabilities iirc
L1011[14:46:00] <Delenas>
BiomeGenBase.hell - aka how do I get a biome for a block
position?
L1012[14:48:30]
⇦ Quits: Hunterz (~hunterz@62.182.234.189) (Quit:
Leaving.)
L1013[14:49:17] <diesieben07> Delenas,
World#getBiomeGenForCoords
L1014[14:49:20] ***
hipsterpig is now known as Minecraft
L1015[14:49:22]
⇨ Joins: tali713 (~user@70.102.135.175)
L1016[14:49:29] ***
Minecraft is now known as pig
L1017[14:53:41]
⇦ Quits: Jiraiyah (~Jiraiyah@151.235.135.189) (Quit:
Leaving)
L1018[14:54:17]
⇨ Joins: killjoy
(~killjoy@2606:a000:1118:c020:7026:f27b:1ed4:e227)
L1019[14:55:14] <Delenas> How would I
check that against a biome though?
L1020[14:55:22] <Delenas> Specifically
hell.
L1021[14:56:26] <diesieben07> ==
BiomeGenBase.helll
L1022[15:00:26] <Delenas> Ah.
L1023[15:01:27]
⇦ Quits: McJty (~jorrit@94-225-203-206.access.telenet.be)
(Quit: Leaving)
L1024[15:08:07] ***
willieaway is now known as williewillus
L1025[15:08:54] <williewillus> tterrag:
ohhhh TIL about isFlowerPot :P
L1026[15:09:02] <williewillus> did it
actually get removed?
L1027[15:10:34] <tterrag> I can't find it
in my 1.9 source
L1028[15:11:19] <gigaherz> [21:17]
(Delenas): ..thank you giga. We needed this.
L1029[15:11:20] <gigaherz> thx ;P
L1030[15:12:28] <williewillus> hmm forge
seems to patch in the normal technique for checking TE drops
L1031[15:12:32] <tterrag> yep
L1032[15:12:38] <tterrag> (it was a
stupid method so good riddance)
L1033[15:13:42]
⇦ Quits: minot
(~minot@pool-108-35-29-135.nwrknj.fios.verizon.net) (Read error:
Connection reset by peer)
L1034[15:14:40] <gigaherz> what was
isFlowerPot for?
L1035[15:15:08] <williewillus>
"should te stay after destruction"
L1036[15:15:12] <tterrag> <tterrag>
What it really means afaict is "should TE exist after
destruction"
L1037[15:15:13] <tterrag> <tterrag>
Since flower pots need to know their drop in getDrops
L1038[15:16:55] ***
williewillus is now known as willieaway
L1039[15:17:16] <gigaherz> Oh
L1040[15:17:41] <gigaherz> so the thing
we achieve with returning true from harvestBlock
L1041[15:18:58] <gigaherz> wait
L1042[15:19:05] <gigaherz> in 1.8.9, the
method was only ever used in getPickBlock
L1043[15:19:20] <gigaherz> or does forge
patch the other uses away?
L1044[15:20:03]
⇦ Quits: Hgrebnednav (~Hgrebnedn@d8D872D48.access.telenet.be)
(Ping timeout: 190 seconds)
L1045[15:22:40] ***
Jezza|AFK is now known as Jezza
L1046[15:25:06] <tterrag> I'd have to
look
L1047[15:25:13] <tterrag> I was only
recalling based on looking at it a while ago
L1048[15:26:35] <gigaherz> it's a
hack
L1049[15:26:39] <gigaherz> Block block =
item instanceof ItemBlock && !isFlowerPot() ?
Block.getBlockFromItem(item) : this;
L1050[15:26:39] <gigaherz> return new
ItemStack(item, 1, block.getDamageValue(world, pos));
L1051[15:26:47] <gigaherz> instead of
making the flowerpot override getPickBlock
L1052[15:26:50] <gigaherz> and having a
special impl
L1053[15:27:00] <gigaherz> they had a
method in there, just to return a different metadata value
...
L1054[15:27:35] <gigaherz> dunno if
pre-1.8.9 was like that or not
L1055[15:27:38] <gigaherz> and cba to
check ;P
L1056[15:28:41] <Intektor> Is it possible
to add itemstacks with specific NBT to a creative tab?
L1057[15:28:47] <gigaherz> yes
L1058[15:28:58] <gigaherz> that's how
enchanted books work ;P
L1059[15:29:06] <gigaherz> override
getSubItems
L1060[15:29:13] <gigaherz> and add all
the stacks in there
L1061[15:32:58] <Intektor> you mean in
the item itself, but what if the stacks change, for example if I
join another server, and this server has different nbts set
L1062[15:33:24] <gigaherz> uhh
L1063[15:33:40] <gigaherz> the creative
menu is client-side
L1064[15:33:43] <tterrag> it's called
every time the creative GUI is opened
L1065[15:33:52] <gigaherz> you'd have to
have the server send their choices to the client
L1066[15:33:58] <gigaherz> via network
messages
L1067[15:34:03] <gigaherz> on login
L1068[15:34:03] <Intektor> I already have
that done
L1069[15:34:07] <gigaherz> well
then
L1070[15:34:11] <tterrag> <tterrag>
it's called every time the creative GUI is opened
L1071[15:34:20] <gigaherz> just append
the right set to the list on getSubItems
L1072[15:34:28] <Intektor> ok
thanks
L1073[15:34:36] <gigaherz> or
alternatively
L1074[15:34:39] <gigaherz> implement your
own creativetab
L1075[15:34:45] <gigaherz> and override
the method that lists the items to show
L1076[15:35:00] <gigaherz> to use that
list instead of the stock one
L1077[15:35:38] <tterrag> that's overkill
though
L1078[15:35:39] <tterrag> big time
:P
L1079[15:35:49] <gigaherz> that's why
it's the alternative ;P
L1080[15:36:06] <Intektor> I guess I will
do the getSubItems
L1081[15:36:13] <gigaherz> ... okay! The
time has come. Time to implement ender bags to my enderthing
mod
L1082[15:36:56] <Intektor> bro, please
send a chat message if I join a server with your mod installed.
That would be fucking cool :D
L1083[15:37:41] <tterrag> wot
L1084[15:37:47] <gigaherz> wat
L1085[15:38:02] <Intektor> wit
L1086[15:38:04] <diesieben07> wut
L1087[15:38:08] <gigaherz> wet.
L1088[15:38:18] <tterrag> and sometimes
wyt
L1089[15:38:32] <diesieben07> wet? that's
a different channel.
L1090[15:38:55] <gigaherz> wæt
L1091[15:38:57] <diesieben07> i wonder,
is there an IRC channel equivalent to sex hotlines?
L1092[15:39:14] <capitalthree> you don't
need a hotline
L1093[15:39:17] <gigaherz> there must
be
L1094[15:39:19] <capitalthree> you can
find other horny people, and do it for free :P
L1095[15:39:25] <gigaherz> nah that takes
effort
L1096[15:39:34] <gigaherz> but with
streamed porn
L1097[15:39:37] <gigaherz> who needs
hotlines
L1098[15:39:51] <diesieben07> streamed
porn in form of ascii art?:D
L1099[15:40:17]
⇦ Quits: kimfy (~kimfy___@236.5.200.37.customer.cdi.no) (Ping
timeout: 384 seconds)
L1100[15:40:17]
⇦ Quits: alex_6611 (~alex_6611@p5DE78EAF.dip0.t-ipconnect.de)
(Ping timeout: 384 seconds)
L1101[15:40:46] ***
kroeser is now known as kroeser|away
L1102[15:41:18] <tterrag> ok, so I need
to have tasks that run prioritized in another thread. the priority
needs to be based off the player's proximity. what's the best way I
could keep this updated without being thread unsafe? :P
L1103[15:41:31] <Intektor> Have you ever
thought about diesieben07s name? I mean why would he die?
L1104[15:41:54] <gigaherz> you'd need a
thread-safe queue
L1105[15:42:04] <diesieben07> is priority
a field?
L1106[15:42:05] <gigaherz> although
L1107[15:42:06] <diesieben07> liek an
int?
L1108[15:42:13] <gigaherz> you'd need it
to sort, hmmm
L1109[15:42:16] <diesieben07> if so, just
make it volatile
L1110[15:42:17] <tterrag> diesieben07:
it's done via implementing Comparable
L1111[15:42:24] <diesieben07> then you
can write from one thread and read from many
L1112[15:42:29] <tterrag> yeah uh
L1113[15:42:36] <tterrag> the issue is
accessing the player object from a thread
L1115[15:42:39] <gigaherz> ;P
L1116[15:42:40] <tterrag> not updating
the priority..
L1117[15:42:40] <diesieben07> No
L1118[15:42:48] <diesieben07> the main
thread updates :P
L1119[15:42:52] <gigaherz> shouldn't that
work the opposite way?
L1120[15:42:54] <gigaherz> on the main
tick
L1121[15:42:58] <diesieben07> if the
player moves, update the variable from the tick
L1122[15:42:59] <gigaherz> update all the
tasks' priorities in batch
L1123[15:43:01] <diesieben07> then the
threads read it
L1125[15:43:26] <tterrag> this is the
existing code
L1126[15:43:31] <tterrag> I am updating
it to be prioritized
L1127[15:43:43] ***
willieaway is now known as williewillus
L1128[15:44:18]
⇦ Quits: Intektor (~Intektor4@p5B275BDA.dip0.t-ipconnect.de)
(Quit: Leaving)
L1129[15:44:45] <gigaherz> I was trying
to look for somethingthat has priorities
L1130[15:44:50] <gigaherz> but firefox
froze
L1131[15:44:51] <gigaherz> XD
L1132[15:44:53] <diesieben07> so you have
a sorted queue right?
L1133[15:44:54] <tterrag> you just feed
it a priority queue
L1134[15:44:55] <tterrag> I know that
much
L1135[15:45:17] ***
kroeser|away is now known as kroeser
L1136[15:45:25] <diesieben07> the problem
with a priorityqueue is that you cannot re-sort it :D
L1137[15:45:31] <gigaherz> the way normal
task schedulers work is that they have a queue for each priority
class
L1138[15:45:33] <diesieben07> once an
element is in, it assumes that it's sorting positino never
changes
L1139[15:45:45] <tterrag> hm, true
L1140[15:45:49] <gigaherz> andif the
priority changes, it just gets added to the end of the new
class
L1141[15:46:17] <gigaherz> are Sets
sorted?
L1142[15:46:20] <tterrag> diesieben07:
what queue would you recommend then?
L1143[15:46:20] <diesieben07> also... is
it really an issue? :D
L1144[15:46:23] <gigaherz> TreeSet or
similar
L1145[15:46:24] <diesieben07> not
sure
L1146[15:46:29] <tterrag> is what really
an issue?
L1147[15:46:31]
⇦ Quits: DovahOfKiin (~admin@122.171.119.240) (Ping timeout:
384 seconds)
L1148[15:46:32] <tterrag> the
prioritizing?
L1149[15:46:32] <diesieben07> there is
SortedSets yes
L1150[15:46:37] <diesieben07> it not
being prioritized yes
L1151[15:46:40] <tterrag> yes
L1152[15:46:42] <gigaherz> then I'd use a
SortedSet
L1153[15:46:49] <gigaherz> when the
prtiority changes, remove it and readd it
L1154[15:47:02] <diesieben07> you cant
feed that to an executor though
L1155[15:47:14] <gigaherz> no but you
could wrap it with a Queue interface?
L1156[15:47:23] <diesieben07> i guess so
yes
L1157[15:47:26] <gigaherz> where the
"head" queries the smallest from the set
L1158[15:47:33] <diesieben07> but that
has the same problem
L1159[15:47:42] <diesieben07> if your
comparator changes it violates the Comparator contract
L1160[15:47:46] <diesieben07> a
Comparator cannot change
L1161[15:47:59] <gigaherz> true, you
still need a way to reshuffle
L1162[15:48:12] <diesieben07> probably
just an ArrayList
L1163[15:48:17] <gigaherz> tterrag: how
many tasks you think will be in it?
L1164[15:48:18] <diesieben07> and then
you do binarySearch kinda stuff
L1165[15:48:22] <gigaherz> because if
it's < 1000
L1167[15:48:28] <gigaherz> you can just
do a linear search
L1169[15:48:30] <tterrag> it should
generally be less than 100 yes
L1170[15:48:43] <tterrag> I can see
extreme cases where it could approach a few hundred
L1171[15:48:46] <gigaherz> then just
implement a custom queue that does a linear search on the
element
L1172[15:48:55] <gigaherz> and keeps the
min
L1173[15:49:10] <capitalthree> tterrag:
look at kinetic closest pair
L1174[15:49:16] <gigaherz> do java
streams have a "min(Comparator)" method?
L1175[15:49:22] <diesieben07> sure
L1176[15:50:26] <gigaherz> that kinetic
queue sounds nice
L1177[15:51:18] <gigaherz> there's no
explanaion on how it's implemented though ;P
L1178[15:51:49] <tterrag> is there no
implementation of queue which I can sort?
L1179[15:51:52] <tterrag> on demand, that
is
L1180[15:51:52]
⇦ Quits: Loetkolben
(~Loetkolbe@ipbcc17c0a.dynamic.kabel-deutschland.de) (Quit: Over
and Out!)
L1181[15:52:06] <diesieben07> LinkedList?
:D
L1182[15:52:12] <tterrag> true
L1183[15:52:24] <gigaherz> tterrag: isn't
resorting the queue akin to creating a new one and adding all the
existing elements?
L1184[15:52:27] <diesieben07> or
ArrayQueue, but not sure about that one
L1185[15:52:44] <tterrag> that's nto
threadsafe though
L1186[15:52:50] <tterrag> neither
are
L1187[15:53:03] <tterrag> I can
synchronize I guess but meh
L1188[15:53:24] <diesieben07>
actually
L1189[15:53:28] <diesieben07> use a
PriorityQueue
L1190[15:53:33] <diesieben07> but have
the elements not be the actual tasks
L1191[15:53:42] <tterrag> eh
L1192[15:53:42] <diesieben07> but a
Pair<Task, priority>
L1193[15:53:48] <diesieben07> and re-add
when priority changes
L1195[15:53:53] <diesieben07> then you
can sort
L1196[15:53:59] <diesieben07> or rather
have the queue sort
L1197[15:54:06] <diesieben07> because you
have a consistent comparator
L1198[15:54:09] <tterrag> how the heck do
I lookup a pair when I don't know the priority
L1199[15:54:21] <tterrag> how would I
remove it?
L1200[15:54:25] <diesieben07> you have to
iterate
L1201[15:54:34] <diesieben07> it's a
queue, you'd have to iterate in any case
L1202[15:54:58] ***
kroeser is now known as kroeser|away
L1203[15:55:26]
⇨ Joins: vox
(~voxmods@pool-71-178-241-173.washdc.fios.verizon.net)
L1204[15:56:13] <tterrag> god screw java.
I had it installed to my data drive, when it updated it installed
to my C drive
L1205[15:56:21] <tterrag> did they even
think when designing this?
L1206[15:56:43] <diesieben07> the java
installers are fucking awful
L1207[15:56:47] <tterrag> it didn't even
update the jdk??
L1208[15:56:51] <tterrag> are you kidding
me?
L1210[15:57:37] <tterrag> what a
joke
L1211[15:57:41] <tterrag> now I have to
redo my entire installation
L1212[15:58:10] <diesieben07> lol
L1213[15:58:14] <gigaherz> no hte jdk
never updates itself
L1214[15:58:16] <diesieben07> i do that
when i update anyways
L1215[15:58:21] <diesieben07> just wipe,
redo
L1216[15:58:24] <tterrag> diesieben07: I
wish I'd had a chance
L1217[15:58:35] <tterrag> no joke, it
just popped up on my screen with the update ALREADY IN
PROGRESS
L1218[15:59:03] <diesieben07> lol
L1219[15:59:07] <tterrag> hm
L1220[15:59:15] <tterrag>
ThreadPoolExecutor expects BlockingQueue<Runnable>
L1221[15:59:38] <tterrag> I can't give it
a BlockingQueue<MyRunnable> :x
L1222[16:00:06] <diesieben07> yeah you
need a custom queue it seems
L1224[16:02:55] <capitalthree> tterrag:
you should go ahead and synchronize it. if you have worker threads
completing their tasks so fast that there's actual lock contention,
then I doubt you have an issue anyways :P
L1225[16:05:16] <tterrag> I'm still lost
as to what to do
L1226[16:05:27] <tterrag> I can't give an
executor a priority queue because that requires a comparable
object
L1227[16:05:32] <tterrag> i.e. not
Runnable
L1228[16:06:21]
⇦ Quits: Bitterholz
(~Bitterhol@2a02:908:2212:fbc0:5817:2ddc:96cb:c5fb) (Ping timeout:
384 seconds)
L1229[16:06:55] <gigaherz> interface
RunnableComparable extends Runnable, Comparable {}, then make a
queue ofRunnableComparables, that wraps the other queue? ;P
L1230[16:07:11] <gigaherz> (I'm tired,
though, that may make no sense)
L1231[16:07:26] <killjoy> Could also use
<T extends Runnable & Comparable>
L1232[16:07:31] <vox> Yeah that makes
sense either way
L1233[16:08:26] <gigaherz> oh you can
have two "extends" things?
L1234[16:08:45] <diesieben07> if they are
interfaces, yes
L1235[16:08:50] <diesieben07> only the
first one can be a class
L1236[16:09:13] <gigaherz> yeah I know
how that works for classes, I just have never seen it used on
generics
L1237[16:09:29] <diesieben07> no i was
talking abotu generics
L1238[16:09:43] <diesieben07> you can
have T extends SomeClass & SomeInterface &
SomeOtherINterface
L1239[16:09:48] <gigaherz> I know,
L1240[16:09:54] <diesieben07> but you
cannot have T extends SomeClass & SOmeOtehrClass
L1241[16:09:56] <gigaherz> I mean I
assumed you couldn't have two classes
L1242[16:10:05] <gigaherz> since you
cna't possibly have an object that exposes it
L1243[16:10:12] <diesieben07> yea
L1245[16:15:30] <diesieben07> youd have
to have a custom executor that overrides newTaskFor
L1246[16:16:08] ***
V is now known as Vigaro
L1247[16:19:36] <FusionLord> is it
possible to disable mipmapping on a model in the json?
L1248[16:19:40] <capitalthree> gigaherz:
but Comparable isn't a class, it's an interface
L1249[16:19:55] ***
williewillus is now known as willieaway
L1250[16:20:29]
⇦ Quits: Noppes (~Noppes@82-168-99-26.ip.telfort.nl) (Read
error: Connection reset by peer)
L1251[16:21:34] <tterrag> diesieben07:
why?
L1252[16:21:39] <tterrag> would I have to
override newTaskFor that is
L1253[16:22:00] <diesieben07> so that
your comparator knows what it gets
L1254[16:22:08] <tterrag> O.o
L1255[16:22:11] <diesieben07> the result
of newTaskFor goes into the queue
L1256[16:22:16] <diesieben07> not the
actual Runnable you give it
L1257[16:22:57] <diesieben07> if i
understand correectly
L1258[16:24:01] <diesieben07> actually
nvm that
L1259[16:24:09] <diesieben07> you dont
need to oerride it
L1260[16:26:15] <tterrag> I'd just have
to cast in my comparator
L1261[16:26:27] <diesieben07> yea
L1262[16:27:42] <tterrag> then
from...somewhere...I need to iterate the queue, update all the
objects, and resort it?
L1263[16:28:16] <diesieben07> iterate,
remove stuff that has a new priority and re-insert
L1264[16:28:28] <diesieben07> in my
Runnable i would have two fields priority and pendingPriority
L1265[16:28:30]
⇦ Quits: Poppy (~Poppy@chello085216146055.chello.sk) (Ping
timeout: 201 seconds)
L1266[16:28:36] <diesieben07> pending is
volatile and just updated from te main thread
L1267[16:28:47] <diesieben07> then
something goes through and updates pending to actual while
re-inserting
L1268[16:28:51] <FallingD> is there an
event thrown when you change gamemode?
L1269[16:28:58] <tterrag> diesieben07:
why not do it all in one go though?
L1270[16:28:58] <diesieben07> and sorting
is based on the actual priority
L1271[16:29:19] <diesieben07> then youd
have to do the resorting from the main thread, no?
L1272[16:29:42]
⇦ Quits: Samario
(~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net) (Quit: See
ya.)
L1273[16:30:35] <tterrag> is that a
problem?
L1274[16:30:40] <tterrag> it's blocking
:P
L1275[16:31:13] <diesieben07> well, it
takes time
L1276[16:31:23] <diesieben07> thats why
you have the separate threads to not stall the main thread, right?
:D
L1277[16:31:44] <tterrag> downloading
images takes a bit longer than a single iteration
L1278[16:31:48] <tterrag> just a
bit
L1279[16:31:48] <diesieben07>
actually
L1280[16:31:57] <diesieben07> you dont
even need to iterate at least not directly
L1281[16:32:13] <diesieben07> you just
have a reference to the Runnable in the main thread and update it
when needed
L1282[16:32:32] <diesieben07> update
menas: queue.remove(runnable); runnable.priority=foo;
queue.offer(runnable)
L1283[16:33:05] <diesieben07> then the
field doesnt need to be volatile either i think
L1284[16:34:03] <tterrag> you say a
reference to "the" runnable?
L1285[16:34:15] <diesieben07> well,
yeah
L1286[16:34:23] <diesieben07> something
needs to know what to change the priority of
L1287[16:34:32] <tterrag> but what is
"the" runnable?
L1288[16:34:37] <tterrag> there is more
than one
L1289[16:34:43] <tterrag> also, if the
player moves, I need to update all of them, no?
L1290[16:35:07] <diesieben07> i dont knwo
what your priority is based on man :P
L1291[16:35:19] <tterrag> <tterrag>
ok, so I need to have tasks that run prioritized in another thread.
the priority needs to be based off the player's proximity. what's
the best way I could keep this updated without being thread unsafe?
:P
L1292[16:35:23] <tterrag> it was in my
original question...
L1293[16:35:42] <diesieben07> well that
is not very clear...
L1294[16:35:56] <diesieben07> i
interpreted that as "every player has a task and nearer
players are more important"
L1295[16:36:05] <tterrag> no
L1296[16:36:10] <diesieben07> yes i did
:D
L1297[16:36:10] <tterrag> the tasks are
generally TE-based
L1298[16:36:25] <tterrag> (some are not
but those will just be max priority)
L1299[16:36:27] <tterrag> i.e. GUI
L1300[16:36:45] <diesieben07> so tes with
players nearby are more important
L1301[16:37:05] <FusionLord> can you
disable mipmapping and tell a texture to be transparent in a
blockstate.json?
L1302[16:37:05] <tterrag> *the* player
:P
L1303[16:37:11] <tterrag> this is a
clientside task
L1304[16:37:15] <diesieben07> oh
L1305[16:37:20] <diesieben07> ok so
L1306[16:37:30] <diesieben07> the TE
needs to keep track of its tasks
L1307[16:37:35] <tterrag> no
L1308[16:37:40] <diesieben07> and then
calculate it's priority
L1309[16:37:42] <tterrag> well
L1310[16:37:47] <tterrag> that's not
really how I have it set up
L1311[16:37:54] <diesieben07> and update
it's tasks priorities when it changes
L1312[16:38:09] <tterrag> but see
L1313[16:38:12] <diesieben07> OR have the
TE update its priority
L1314[16:38:15] <tterrag> the tasks are
stored statically
L1315[16:38:19] <diesieben07> and have
SOMETHING read that priority
L1316[16:38:30] <tterrag> and when the
player moves, it will affect every single task
L1317[16:38:42] <tterrag> so it doesn't
make much sense to have each TE processing its own task's
priority
L1318[16:38:44] <diesieben07> Not
necessarily.
L1319[16:39:01] <diesieben07> if you have
only one TE doing stuff... the priority doest need to change
L1320[16:39:15] <tterrag> and how is that
TE meant to know it's the only one
L1321[16:39:34] <diesieben07> yeah you
need the priority in the TE not the tasks
L1322[16:39:43] <diesieben07> thats what
i said originally but you wanted to do the resorting from the main
thread also
L1323[16:39:54] <diesieben07> priority =
player distance in this case
L1324[16:40:07] <diesieben07> or rather
inverse of player distance
L1325[16:40:13] <diesieben07>
Integer.MAX_VALUE - dist
L1326[16:40:28] <diesieben07> or sort
reverse :D
L1327[16:40:34] <tterrag> I still don't
get why the TE needs to be the thing updating it
L1328[16:40:41] <tterrag> could the task
not just store a Vec3 ?
L1330[16:40:56] <diesieben07> it could,
yes
L1331[16:41:09] <diesieben07> actually
yeah that is better
L1332[16:41:18] <tterrag> vox: I don't
really care for their vanilla hacks and this commit just adds
more
L1333[16:42:29] <tterrag> diesieben07:
and perhaps some static vec3 which just stands for "max
priority"
L1334[16:42:37] <tterrag> since I need to
handle the GUI case as well
L1335[16:43:08] <diesieben07> mhm
L1336[16:43:29] <tterrag> then just a
ClientTickEvent handler which updates the priorities every..second
or so
L1337[16:43:44] <diesieben07> hrm i guess
so
L1338[16:44:04] ***
big_Xplosion is now known as big_Xplo|AFK
L1339[16:44:10] <tterrag> hm...been doing
C++ only for the last few weeks. only thing I find I'm missing is
default params
L1340[16:44:38] <tterrag> public void
download(ImageType type, Vec3d pos = ZERO_DISTANCE) {...}
L1341[16:44:41] <tterrag> ;_;
L1342[16:44:43] <diesieben07> overloads?
:D
L1343[16:44:47] <tterrag> yes yes
L1344[16:44:48] <tterrag> not as fun
:P
L1345[16:45:02] <diesieben07> use kotlin?
:
L1346[16:45:03] <diesieben07> :D
L1347[16:45:07] <killjoy> default params?
What is this? Python?
L1348[16:45:09] <tterrag> pffft
L1350[16:45:35] <killjoy> Is that a
bookshelf?
L1351[16:45:39] ***
MrKickkiller is now known as MrKick|Away
L1352[16:45:41] <FusionLord> enchanting
table
L1353[16:46:04] ***
amadornes is now known as amadornes[OFF]
L1354[16:46:31] <FusionLord> going to add
the book and on the far right one the ring will 'bob'
L1355[16:46:38] <tterrag> the colors are
quite blinding lol
L1356[16:46:49] <tterrag> also
2hd4me
L1357[16:46:53] <gigaherz> noisy
L1358[16:46:56] <gigaherz> there's too
much noise in it
L1359[16:47:15] <gigaherz> it's visually
jarring
L1360[16:47:59] <gigaherz> notice how al
lthe vanilla colors are a bit more "muted"
L1361[16:48:03] <gigaherz> not so
saturated
L1362[16:48:25] <gigaherz> even things
like diamonds and quartz
L1363[16:50:01] *
diesieben07 goes bed
L1364[16:50:53]
⇦ Quits: killjoy
(~killjoy@2606:a000:1118:c020:7026:f27b:1ed4:e227) (Quit:
Leaving)
L1365[16:52:18] ***
big_Xplo|AFK is now known as big_Xplosion
L1366[16:52:55] <tterrag> diesieben07: in
fact, since the comparator is implicitly a singleton, I could have
it be the event handler
L1367[16:52:56] <tterrag> :D
L1368[16:53:00] <tterrag> hacky but
effective :D
L1369[16:53:23]
⇦ Quits: Jezza (~Jezza@92.206.5.6) (Ping timeout: 384
seconds)
L1370[16:54:51] <gigaherz> hmmm
L1371[16:55:05] <gigaherz> should my
ender packs allow you to put them inside the pack itself while the
gui is open?
L1372[16:55:12] <gigaherz> or should I
disable interacting with the pack slot
L1373[16:55:12] <gigaherz> ;P
L1374[16:55:48] <tterrag> probably the
latter
L1375[16:57:36] <mikebald> Allow them to
put the pack inside it's self... just make sure you open a rift to
the Astral Plane as a result.
L1376[16:57:57] <vox> tterrag: if you're
using .h files the right way, you can use default params
L1377[16:58:05] <vox> You just only
declare them in the .h file
L1378[16:58:09] <vox> (aka the
header)
L1379[16:58:12] <tterrag> ...what?
L1380[16:58:25] ***
Throxnup is now known as Upthorn
L1381[16:58:30] <tterrag> I know how to
do default params in C++
L1382[16:58:37] <tterrag> I'm saying I am
missing them now that I'm writing java again
L1383[16:58:44] <vox> Aaah okay
L1384[16:59:02] ***
willieaway is now known as williewillus
L1385[16:59:06] <vox> Yeah, I also miss
default params. Also, I really love LINQ from C# <3
L1386[16:59:25] <williewillus> anyone
every done a gui-container that searches through items
before?
L1387[17:00:00] <tterrag> how so?
L1388[17:00:33] <gigaherz> williewillus:
my Rift Browser has a searchbox
L1389[17:00:40] <williewillus> i'm just
asking because I'm wondering how they handle searching when the
client has another language set
L1390[17:00:50] <tterrag> eh...you use
localized names?
L1391[17:00:52] <gigaherz> oh, I don't
handle that ;P
L1392[17:01:10] <williewillus> tterrag: I
don't think a german player for instance would search for the
english name of an item :P
L1393[17:01:18] <tterrag> probably
not?
L1394[17:01:21] <tterrag> that's what
translations are for?
L1395[17:01:32] <gigaherz> yes but if you
search in the server
L1396[17:01:32] <williewillus> I'm saying
how do you search with localizd names safely
L1397[17:01:35] <gigaherz> you don't have
translations
L1398[17:01:38] <williewillus> server is
always in en_US
L1399[17:02:15] <tterrag> why would you
search on the server?
L1400[17:02:17] <tterrag> filter the view
on the client
L1401[17:02:30] <tterrag> also, server
only knows en_US vanilla, not even modded lang files exist on the
server
L1402[17:02:31] <gigaherz> and transfer
potentially thousands of items?
L1403[17:02:32] <tterrag> so that's
broken either way
L1404[17:02:36] <tterrag> transfer
what?
L1405[17:02:44] <tterrag> keep the slot
IDs consistent and it's fine
L1406[17:02:44] <gigaherz> the way my
Rift browser works
L1407[17:02:49] <gigaherz> is that it
only ever transfers what's visible
L1408[17:02:55] <gigaherz> not the whole
combined inventory
L1409[17:03:07] <gigaherz> so I perform
sorting and filtering on the server
L1410[17:03:14] <gigaherz> I just didn't
consider translations XD
L1411[17:03:15] <williewillus> this is in
the context of PE's transmutation interface
L1412[17:03:16] <tterrag> if you use
localized names on the server *at all* that is not going to
work
L1413[17:03:25] <tterrag> in fact that's
a completely broken concept
L1414[17:03:34] <williewillus> so what
are you suggesting I do? :P
L1415[17:03:45] <gigaherz> yeah
L1416[17:03:48] <tterrag> filter the view
on the client. hide everything that doesn't match the search
L1417[17:04:00] <gigaherz> so I have to
choose between potentially sending thousands of itemsto the
client,
L1418[17:04:02] <williewillus> what's
"the view"?
L1419[17:04:08] <gigaherz> and searching
intranslated names :/
L1420[17:04:08] <williewillus> the PE
knowledge list can reach thousands of stacks
L1421[17:05:08] <tterrag> gigaherz:
"sending an item to the client" is typically just a
short
L1422[17:05:15] <tterrag> rarely NBT, and
usually not much of it
L1423[17:05:19] <tterrag> it's not
expensive at all
L1424[17:05:28] <williewillus> but i
don't get what you mean by view
L1425[17:05:43] <gigaherz> williewillus:
our use cases are different?
L1426[17:05:52] <gigaherz>
"view"
L1427[17:05:57] <tterrag> what the user
sees
L1428[17:05:57] <gigaherz> is whatever is
on screen at any moment
L1429[17:06:03] <gigaherz> so like
L1430[17:06:05] <gigaherz> my browser
ui
L1431[17:06:10] <gigaherz> has a 27-slot
grid
L1432[17:06:12] <gigaherz> of visible
items
L1433[17:06:39] <williewillus> okay so i
do all the filtering and searching clientside now when i click it
what does the server do
L1434[17:06:45] <williewillus> do I have
to send to result to the server?
L1435[17:06:50] <gigaherz> no
L1436[17:06:52] <gigaherz> ?
L1437[17:07:02] <williewillus> i'm
confused
L1438[17:07:05] <williewillus> :P
L1439[17:07:08] <gigaherz> hmmm
L1440[17:07:20] <williewillus> i'm
"filtering the view" by searching localized names
clientside
L1441[17:07:23] <gigaherz> actually, no
idea how to handle the slots in that case
L1442[17:08:39] <gigaherz> anyhow, I'm
already busy enough as it is
L1443[17:08:48] <gigaherz> i'll ask how
you did it when I try to fix that ;P
L1444[17:09:27] <williewillus> i just
have an opportunity to make major changes porting to 1.9 and its a
mess currenlty so was wondering ways to improve it
L1445[17:09:50] <williewillus> right now
it sends the clicked item to the server when the client clicks it.
terrible idea, but it's what's there
L1446[17:09:51] <williewillus> :P
L1447[17:09:57]
⇨ Joins: Gaz (~Gaz492@wolf.ski)
L1448[17:10:22] <tterrag> williewillus:
note: Slot#entry is mutable
L1449[17:10:39] <tterrag> or whatever
that changed to in 1.8+
L1450[17:10:40] <williewillus> I don't
have that?
L1451[17:10:46] <tterrag> !fh
Slot.entry
L1452[17:10:49] <tterrag> psh
L1453[17:10:56] <williewillus> how is
that useful?
L1454[17:11:00] <tterrag> I assume it's
slotNumber
L1455[17:11:06] <tterrag> because you can
change the ID of the slot for packets
L1456[17:11:24] <tterrag> keep a database
of all items, filter what is shown on the screen, and set the slot
IDs to match so networking still functions
L1457[17:11:41] <williewillus> that's a
lot of slots but okay :P
L1459[17:11:49] <tterrag> no it's
not
L1460[17:12:00] <gigaherz> hmmm so you'd
have like, 1500 slots on the server, but only 27 on the
client?
L1461[17:12:01] <tterrag> how many slots
does the server know about?
L1462[17:12:22] <tterrag> ah I'm reading
thsi wrong
L1463[17:12:24] <tterrag> no forget what
I said there
L1464[17:12:37] <williewillus> I have 16
slots that display search results clientside based on localized
name
L1465[17:12:39] <tterrag> you do need a
custom packet for when the player picks up an item
L1466[17:12:43] <gigaherz> my rift block
can contain up to 10 million stacks at once, and the rift browser
can be used with proxy blocks to combine more than one inventory
;P
L1467[17:12:45] <tterrag> the EIO inv
panel uses fake slots for all of them
L1468[17:12:45] <williewillus> i'm
wondering how I get the server to know
L1469[17:12:46] <williewillus> ok
L1470[17:13:00] <tterrag> none of the
slots in the main panel are real
L1472[17:13:21]
⇨ Joins: madcrazydrumma
(~madcrazyd@host-89-241-237-241.as13285.net)
L1473[17:13:30] <tterrag> you can go down
that rabbit hole if you like :P
L1474[17:13:48] <madcrazydrumma> Im
getting a null pointer exception for this:
if(mc.thePlayer.getHeldItemMainhand().getItem() != null
L1475[17:13:49] <madcrazydrumma> ||
mc.thePlayer.getHeldItemMainhand().getItem().equals(ModItems.daedricBow))
{
L1476[17:14:02] <williewillus> null check
the stack
L1477[17:14:04] <williewillus> not the
item
L1478[17:14:10] <williewillus> also you
can use == for items
L1479[17:14:12] <gigaherz> the player may
not even be holding anything
L1480[17:14:20] <madcrazydrumma> So i can
use == for items but not itemstack?
L1481[17:14:23] <williewillus> yes
L1482[17:14:24] <tterrag> williewillus: I
assume the searchable database is maintained on the client
L1483[17:14:28] <williewillus> yes
L1484[17:14:29] <tterrag> or, if not, it
could be rather easily?
L1485[17:14:30] <tterrag> ok
L1486[17:14:32] <tterrag> then this is
easy :P
L1487[17:14:51] <williewillus> so do i
have to send the stack to the server?:P
L1488[17:14:52] <gigaherz>
madcrazydrumma: there is only one Item instance at once, for a
concrete item
L1489[17:14:55] <tterrag> just have a
bunch of fake slots on the client, filter them based on the search
terms, then when clicked on, ask the server to give the player the
item that is inside them
L1490[17:15:04] <madcrazydrumma>
gigaherz, that clears things up
L1491[17:15:05] <gigaherz> while
ItemStacks are beingcreated and destroyed all the time
L1492[17:15:06] <williewillus> okay
L1493[17:15:07] <tterrag> no, you could
just give some unique ident for the EMC registry
L1494[17:15:10] <tterrag> or just the
stack
L1495[17:15:12] <tterrag> either
works
L1496[17:15:25] <gigaherz> so yes, you
can use == for items, becauseifi t's the same item, it's the same
reference
L1497[17:15:29] <tterrag> that's what
invSlot.entry is in this code I linked
L1498[17:15:35] <tterrag> the unique
ident that is the same between client and server
L1499[17:15:41] <tterrag> so we sent an
int instead of a stack
L1500[17:15:45] <madcrazydrumma> Makes
sense ^^
L1501[17:16:07] <tterrag> (well, a bit
more than an int :P)
L1502[17:16:22] <madcrazydrumma> Now this
still is npe if(mc.thePlayer.getHeldItemMainhand() != null
L1503[17:16:22] <madcrazydrumma> ||
mc.thePlayer.getHeldItemMainhand().getItem() ==
ModItems.daedricBow) {
L1504[17:16:23] <tterrag> but it's ONLY
sent on click
L1505[17:16:35] <tterrag> madcrazydrumma:
read you rlogic
L1506[17:16:39] <tterrag> think about
it
L1507[17:16:45] <tterrag> don't trial and
error
L1508[17:16:46] <williewillus> wrong
boolean operator
L1509[17:16:48] <madcrazydrumma>
&& ?
L1510[17:16:49] <tterrag> shh
L1511[17:16:57] <tterrag> yes
L1512[17:17:01] <williewillus> lol
L1513[17:17:05] <madcrazydrumma>
fml
L1514[17:17:07] <madcrazydrumma> im so
tired
L1515[17:17:18] <williewillus> sleep then
:P
L1516[17:17:25] <madcrazydrumma> yeah im
off haha
L1517[17:17:26] <madcrazydrumma>
ciao
L1518[17:17:36]
⇦ Quits: madcrazydrumma
(~madcrazyd@host-89-241-237-241.as13285.net) (Client
Quit)
L1519[17:17:49] <tterrag> williewillus:
so yeah your case is much simpler than the invpanel
L1520[17:17:55] <tterrag> since we have
to maintain a vew of multiple connected inventories
L1521[17:18:03] <tterrag> you just have
some magic database that the client already knows about :P
L1522[17:18:16] <williewillus> cool,
thanks
L1523[17:20:34] <FallingD> is there an
event fired on the client with their gamemode updates?
L1524[17:21:05] <williewillus> i don't
think so
L1525[17:21:14] <tterrag> sadly there is
no event on either side
L1526[17:21:36] <FallingD> ;-;
L1527[17:21:41] <tterrag> game mode and
game rules are two things which could really use events
L1528[17:22:18] <tterrag> FallingD: cache
the gamemode and poll if it changes every so often
L1529[17:22:22] <tterrag> your only
choice short of a PR
L1530[17:22:46] <FallingD> yh my quick
dirty fix was using a ticker to keep track of it
L1532[17:27:45] <tterrag> first try
:P
L1533[17:27:47] <tterrag> not bad I
think
L1534[17:27:55] <tterrag> I think the
ones at the end load in because I'm using 8 threads :P
L1535[17:28:06] <tterrag> so those were
already mostly done before the closer ones started
L1536[17:29:04] <tterrag> let me try
limiting it to one thread and seeing what happens
L1537[17:30:02] <tterrag> nope, still
looks mostly the same
L1538[17:30:41] <tterrag> oh doi
L1539[17:32:32] <tterrag> I wasn't
updating the position initially
L1540[17:35:31] ***
mumfrey is now known as Mumfrey
L1541[17:36:38] <gigaherz> heh
L1543[17:36:55] <tterrag> that's pretty
nice if you ask me :D
L1544[17:45:49] <gigaherz> looks nice
:)
L1545[17:49:27] <williewillus> hmm where
do I check the item draw time
L1546[17:49:34] <williewillus> (if the
items fully drawn)
L1547[17:49:48]
⇦ Quits: KGS (~KGS@h-155-4-135-249.na.cust.bahnhof.se) (Ping
timeout: 198 seconds)
L1548[17:49:57] <gigaherz> those are
threaded tasks
L1549[17:50:07] <gigaherz> I assume they
process the downloading/decoding
L1550[17:50:35] <tterrag> gigaherz:
hm?
L1551[17:51:10] <tterrag> ok, so if I
upload a compressed image and an uncompressed image of the same
resolution to the graphics card, will there be any difference in
memory usage?
L1552[17:51:11]
⇦ Quits: rebecca (~rebecca@209.95.50.161) (Ping timeout: 384
seconds)
L1553[17:51:14] <gigaherz> isn't that gif
theresult of what you said about threading?
L1554[17:51:20] <tterrag> or does OpenGL
just use bitmap for texture data?
L1555[17:51:23] <tterrag> gigaherz:
yes
L1556[17:51:35] <tterrag> they download
or read from a cache
L1557[17:51:38] <gigaherz> compressed you
mean, png?
L1558[17:51:41] <tterrag> then upload to
the GPU
L1559[17:51:47] <tterrag> compressed
meaning anything :p
L1560[17:51:49] <tterrag>
compressed
L1561[17:51:51] <gigaherz> or using
actual texture compression
L1562[17:51:52] <tterrag> jpg, png,
whatever
L1563[17:51:57]
⇨ Joins: Noc7is
(~Noc7is@ip68-106-209-192.om.om.cox.net)
L1564[17:52:00] <gigaherz> well
L1565[17:52:05] <gigaherz> if it's just a
random image file
L1566[17:52:08] <gigaherz> it will be
decoded
L1567[17:52:14] <gigaherz> and the gpu
will contain the raw bitmap regardless of the format
L1568[17:52:21] <tterrag> figured
L1569[17:52:29] <gigaherz> there is
however texture compression formats
L1570[17:52:32]
⇨ Joins: AimHigh935 (webchat@155.31.158.29)
L1571[17:52:37] <gigaherz> such as S3TC
(DXTC)
L1572[17:52:52] <gigaherz> which are
hardware-accelerated if the gpu supports them
L1573[17:53:08] <gigaherz> but they don't
compare to like jpg/png ;P
L1574[17:54:28] <tterrag> I've never
heard of that
L1575[17:54:30] <tterrag> what uses
it?
L1576[17:54:52] <gigaherz> most
games?
L1577[17:55:04] <tterrag> hm
L1578[17:55:08] <tterrag> so would it be
possible to do on my end?
L1580[17:55:22] <tterrag> oh, it's
patented -_-
L1581[17:55:26] <gigaherz> well dunno if
realtimeencoding into s3tc is easy
L1582[17:55:40] <tterrag> hm
L1583[17:55:55] <gigaherz> msot desktop
gpussupport DXTC(s3tc), while most mobile gpus support another one
that I can't remember right now
L1584[17:56:30] <tterrag> how would I
generate an image compressed with this though?
L1585[17:56:34] <tterrag> what
program/format ?
L1586[17:56:58] <gigaherz> hmm
L1587[17:57:26] <gigaherz> the only stuff
I have used personally, was the directx texture tool, which would
generate files in a format the dx utility library can read
L1588[17:58:01] <gigaherz> there's
probably encoders for other engines and such, I just don't know
them by name
L1589[17:58:09] <gigaherz> keep in mind,
though
L1590[17:58:13] <tterrag>
>engines
L1591[17:58:18] <gigaherz> S3TC is based
on block encoding
L1592[17:58:34] <gigaherz> which means,
it takes a gorup of like 4x4 pixels, and reduces the number of
colors in that block
L1593[17:58:46] <gigaherz> group*
L1594[17:58:52]
⇨ Joins: Doty1154
(~Doty1154@2601:648:8000:134f:780e:470c:215f:ef61)
L1595[17:59:03] <gigaherz> it may not
really be something you want in minecraft paintings
L1596[17:59:03] <gigaherz> ;P
L1597[17:59:05]
⇦ Quits: Flenix (~Flenix@2a01:4f8:201:63e2::2) (Quit: ZNC
1.6.1+deb1~ubuntu14.04.0 - http://znc.in)
L1598[17:59:34] <tterrag> likely
not
L1599[17:59:44] <tterrag> the issue we
are running into with this is (V)RAM usage, obviously
L1600[17:59:51] <tterrag> and we are
trying to figure out ways to mitigate that
L1601[17:59:51] ***
TehNut|Sleep is now known as TehNut
L1602[17:59:59] <tterrag> the issue is
especially bad on integrated cards (obviously)
L1603[18:00:03] <tterrag> since it uses
up system ram
L1605[18:01:06] <gigaherz> yeah chances
are the only real solution is to have a limit on how many paintings
can be shown at once, and unload the other bitmaps from the
gpu
L1606[18:01:08] <tterrag> (I think that
link is public)
L1607[18:01:32] <gigaherz> yeah it
works
L1608[18:01:38] <tterrag> that image is
62kb compressed
L1609[18:01:42] <gigaherz> that's quite
large ;P
L1610[18:01:45] <tterrag> but that means
nothing for the GPU I suppose
L1611[18:02:01] <tterrag> so really I
could probably downsize the images when they are used in smaller
paintings
L1612[18:02:28] <gigaherz> yep it's still
3.67MB on the gpu
L1613[18:02:36]
⇨ Joins: Aurilux
(~Aurilux@2602:304:b0d0:4590:f584:d462:af24:9c76)
L1614[18:02:39] <tterrag> by comparison
the uncompressed is 226kb lol
L1615[18:02:44] <tterrag> nowhere close
to 3MB haha
L1616[18:02:51] <gigaherz> hm?
L1617[18:03:01] <gigaherz> wait the link
you gave me is 1280x751
L1618[18:03:04] <gigaherz> ;P
L1619[18:03:16] <gigaherz> I guess you
reduce them in resolution, then?
L1621[18:03:19] <tterrag>
uncompressed
L1622[18:03:24] <tterrag> (it's a png,
ignore the extension)
L1623[18:03:41] <gigaherz> png is still
compressed?
L1624[18:03:46] <gigaherz> if you want to
know the real size, use bmp
L1625[18:03:47] <gigaherz> ;P
L1626[18:03:51] <tterrag> yes, I know it
is
L1627[18:03:56] <tterrag> but it's
lossless
L1628[18:04:02] <tterrag> that's what I
mean "uncompressed"
L1629[18:04:07] <tterrag> that is the
exact image that minecraft saved
L1630[18:04:11] <tterrag> when I took the
screenshot
L1631[18:04:23]
⇦ Quits: Aurilux
(~Aurilux@2602:304:b0d0:4590:f584:d462:af24:9c76) (Client
Quit)
L1632[18:04:35] <gigaherz> yeah
L1633[18:04:40] ***
big_Xplosion is now known as big_Xplo|AFK
L1634[18:04:41] <gigaherz> but that won't
matter to the gpu, either
L1635[18:04:47] <gigaherz> when you
convert those pixels to raw RGBA32
L1636[18:04:57] <gigaherz> it's 3.8
million bytes
L1637[18:05:07] <tterrag> I know :P
L1638[18:05:09] ***
kirby|gone is now known as mrkirby153
L1639[18:05:15] <gigaherz> which is what
I was referring to
L1640[18:05:41] <tterrag> if I just
halfsize the image it goes down to 240kb
L1641[18:05:46] <tterrag> that's a decent
improvement
L1642[18:05:58] <tterrag> and for a 1x1
painting I could probably quarter size it and not notice too much
degradation
L1643[18:06:13] <gigaherz> you could have
a fixed resolution? I mean it IS a minecraft painting
L1644[18:06:21] <gigaherz> you could have
like, 128x128 limit on each block
L1645[18:06:28] <gigaherz> so if it's
2x2, then make it 256x256
L1646[18:06:31] <tterrag> that's what I'm
shooting for
L1647[18:06:37] <tterrag> something along
those lines
L1648[18:06:42] <tterrag> (obviously
never upsizing :P)
L1649[18:06:52] <gigaherz> ofc, and
keeping aspect ratio
L1650[18:06:53] <gigaherz> ;P
L1651[18:06:56] <tterrag> the problem is
that multiple paintings of the same image at different sizes would
waste potentially more memory
L1652[18:07:12] <tterrag> actually images
are currently padded to maintain ARG_power_of_two :x
L1653[18:07:20] <tterrag> so that's more
data
L1654[18:07:28] <gigaherz> you'd need
dozens of copies to reach the original
L1655[18:07:39] <gigaherz> and if oyu pad
them
L1656[18:07:47] <gigaherz> then 1280x751
becomes 2048x1024
L1657[18:08:06]
⇦ Quits: Delenas
(~Delenas@2600:1016:b020:c530:4052:6e49:4583:6dcd) (Quit:
Console.Write("Goodbye, world!");)
L1658[18:08:16] <gigaherz> which means
you can fit 16x8=128 tiles' worth of data
L1659[18:08:24] <tterrag> you know...I
think currently I pad them to be square....oh god
L1660[18:08:26] <gigaherz> before storing
theraw image would have been more effective
L1661[18:08:42] <tterrag> I misunderstood
the limitation initially, but I thought I had changed it to allow
rectangular PoT textures
L1662[18:08:52] <gigaherz> lol
L1663[18:09:21] <tterrag> oh now I
remember
L1664[18:09:34] <tterrag> I don't think
I've adjusted the rendering to handle rectangular textures
L1665[18:09:39] <tterrag> well let's
change it and see what breaks :D
L1666[18:09:57] <gigaherz> hmm if you
were to keep an atlas of sorts, you could keep adding 128x128 tiles
to the same atlas (or resize it to fit new tiles)
L1667[18:10:06] <tterrag>
potentially
L1668[18:10:13] <tterrag> I'd hit the max
texture size pretty quick on some GPUs though
L1669[18:10:22] <gigaherz> and that'd
also give you a way to have a config slider
L1670[18:10:31] <gigaherz> from 16x16 to
256x256 or so
L1672[18:10:44] <gigaherz> so that people
can reduce resolution and show extra paintings
L1673[18:10:54] <gigaherz> if their
computer can't handle all of them
L1674[18:11:09] <gigaherz> heh
L1675[18:11:40] <tterrag> huh...not sure
why
L1676[18:11:52] <gigaherz> gah you
sidetracked me, I was trying to figure out why the JEI recipe isn't
working XD
L1677[18:12:19] <tterrag> oh I see
L1678[18:12:43] <tterrag> double
scaledSize = image.getScaledSize(type);
L1679[18:12:49] <tterrag> that needs to
be scaledW scaledH
L1680[18:12:53] <tterrag> easy fix
L1681[18:12:58] <gigaherz> heh
L1682[18:12:58] <vox> So if I wanted to
change a texture based on surrounding blocks, how would that work
now without IIcon?
L1684[18:13:20] <gigaherz> vox: in 1.8+,
that requires using a custom model
L1685[18:13:34] <gigaherz> and unlisted
properties in extended blockstates
L1686[18:13:49] <vox> Is there an example
of that, around?
L1687[18:13:57] <gigaherz> then the block
can override getExtendedState, and pass the needed data
L1688[18:14:24] <gigaherz> which gets
received by the ISmartBlockModel(1.8.9) or IBakedModel(1.9)
L1689[18:14:37] <gigaherz> hmm there's a
few
L1690[18:15:03] <gigaherz> williewillus'
1.8.9 Botania has unlisted properties I think
L1691[18:15:28] <williewillus>
watwat
L1692[18:15:28] <gigaherz> his 1.8 primer
has an example for "camo blocks"
L1693[18:15:38] <gigaherz> that copy the
texture from another block
L1694[18:15:43] <gigaherz> (well, the
model)
L1695[18:15:57] <gigaherz> williewillus:
tryingto think of an example of extended blockstates and smart
models being used
L1696[18:16:03] <williewillus> it uses
some hacks but yeah the platforms are pretty representative of how
camo blocks are done
L1698[18:17:12] <gigaherz> why theheck
did JEI stop showing my recipes :/
L1699[18:17:21] <gigaherz> lol
tterrag
L1700[18:17:22] <gigaherz> XD
L1701[18:17:26] <tterrag> wait I know why
I think
L1702[18:18:00] <williewillus> world time
is 0 to 24000 right
L1703[18:18:46] <vox> Mind pointing me
towards said hacks so I can recognize them?
L1704[18:19:05] <vox> yep
L1705[18:19:32] <gigaherz> yes, but 0
means sunrise, not midnight ;P
L1706[18:19:46] <vox> Yeah that's
annoying :/
L1707[18:21:00] <tterrag> barf
L1708[18:21:04] <tterrag> I changed a
double to an int
L1709[18:21:08] <tterrag> what could that
hurt right?
L1710[18:21:10] <tterrag> double maxU =
width / scaledW;
L1711[18:21:14] <tterrag> both ints.
guess what happened :D
L1712[18:21:49] ***
LordFokas is now known as LordFokas|out
L1713[18:22:45] <capitalthree> when will
forge include kotlin runtimes like it does with scala
runtimes?
L1714[18:22:49] <gigaherz> nope
L1715[18:22:50] <tterrag> never
L1716[18:22:53] <gigaherz> it won't
L1717[18:22:56] <capitalthree> o_o
why?
L1718[18:23:00] <tterrag> lex regrets
doing it with scala in the first place
L1719[18:23:00] <gigaherz> they already
regret including scala
L1720[18:23:04] <tterrag> it's a HUGE
bandwidth user
L1721[18:23:14] <tterrag> scala accounts
for some ridiculous amount of bandwidth usage. ask lex
L1722[18:23:22] <tterrag> adding another
language just isn't happening. ship it yourself :P
L1723[18:23:37] <tterrag> or ask the user
to download it
L1724[18:23:38] <tterrag> up to you
:P
L1725[18:24:26]
⇦ Quits: FallingD
(~FallingDu@2001:1c00:b02:c500:9572:2002:ec73:3df0) (Quit:
Leaving)
L1727[18:24:34] <gigaherz> imagine if
forge had to install a JRE every time you install forge ;P
L1728[18:24:48] <capitalthree> lol well
scala's libs take up 25MB. kotlin's runtime is 2 jars at under
1MB
L1729[18:24:53] <capitalthree> so the
same argument doesn't really apply
L1730[18:24:56]
⇨ Joins: MattDahEpic
(~MattDahEp@174-16-188-51.hlrn.qwest.net)
L1731[18:25:09] <capitalthree> kotlin is
far lighter weight and closer to java than scala is :P
L1732[18:25:12] <FusionLord> ...
TileEntitySpecialRendererWithResourceManagerReloadListener or
TESRWRMRL ? xD when a class name becomes to long....
L1733[18:25:13] <tterrag> capitalthree:
you are forgetting all the other issues
L1734[18:25:18] <gigaherz> can't you jsut
shade the runtime into your jars then?
L1735[18:25:26] <tterrag> keeping the
deps available
L1736[18:25:30] <tterrag> maintaining the
versions
L1737[18:25:37] <tterrag> adding YET MORE
files that need to exist for forge to run
L1738[18:25:39] <tterrag> it's NOT
happening
L1739[18:25:45] <TehNut> Forgelin is
shadeable
L1740[18:25:50] <tterrag> that it
is
L1741[18:25:51] <capitalthree> ah
ok
L1742[18:25:53] <tterrag> so go use it
:P
L1743[18:25:55] <capitalthree> I will
have to learn about this shading thing
L1744[18:26:03] <TehNut> It's explained
in the readme
L1745[18:26:09] <tterrag> couldn't be
much simpler really
L1746[18:26:10] <gigaherz> it's a trick
that renames the packages while making the jar
L1747[18:26:12] <tterrag> shade X and
it's done
L1748[18:26:13] <capitalthree> I wasn't
using forgelin, I hadn't heard of it
L1749[18:26:14] <gigaherz> so that each
copy is separate
L1750[18:26:20] <capitalthree> all I did
was make a mod the normal way and add a kotlin file xD
L1751[18:26:23] <TehNut> Basically has
copy-pastable buildscript code
L1752[18:26:26] <capitalthree> so I'll
look into it
L1753[18:27:10]
⇨ Joins: Drullkus (~Dru11kus@205.155.154.1)
L1754[18:27:27]
⇦ Quits: IceDragon (~ThatGuy@184.170.8.163) (Ping timeout:
384 seconds)
L1755[18:32:43] <capitalthree> unascribed
was telling me shading was bad, but now he's telling me that if
it's only 1MB then it's not so bad, so that's good
L1756[18:32:48] <tterrag> glGetString is
still safe to use on all GPUs right? :P
L1757[18:32:51] <capitalthree> I just
wanted to make sure I'm not doing something dirty
L1758[18:33:02] <FusionLord> just want to
check am i muted in here?
L1759[18:33:09] <williewillus> no
L1760[18:33:10] <tterrag> I want to query
GL_ARB_texture_non_power_of_two
L1761[18:33:13] <williewillus> why would
you be :P
L1762[18:33:13] <FusionLord> ok
L1763[18:33:21] <unascribed> you were
asking about shading an entire jvm-targetting language's runtime
lib
L1764[18:33:28] <unascribed> hence why I
said it might be bad
L1765[18:33:33] <Noc7is> What replaced
ISimpleBlockRenderingHandler in 1.8+? JSON Models?
L1766[18:33:37] <williewillus> Noc7is:
yes
L1767[18:33:39] <FusionLord> no clue,
just noticed that no one has responded to my last 4-5 messages
:P
L1768[18:33:39] <williewillus> welcome
:P
L1769[18:33:44] <unascribed> json models
+ obj models + smart models + etc etc
L1770[18:33:48] <unascribed> there's many
MUCH better solutions now
L1771[18:33:50] <tterrag> oh nvm
L1772[18:33:55] <tterrag> glGetStringi is
3.0+ only
L1773[18:33:55] <williewillus>
FusionLord: we usually don't stare at irc so its easy to miss
stuff
L1774[18:33:56] <tterrag> can't use that
lol
L1775[18:34:20] <capitalthree>
unascribed: yeah fair enough. I was surprised it was so small
too
L1776[18:34:27] <vox> williewillus: I'm
looking at your code for the platform blocks. How do you actually
change the textures? Through the TE?
L1777[18:34:39] <FusionLord> no big
deal
L1778[18:34:44] <williewillus> i steal
the target block's model
L1779[18:34:47] <williewillus> look at
PlatformModel
L1781[18:35:09] <williewillus> wtf is
that link 0.o
L1782[18:35:34] <gigaherz> you pasted two
links at once, fus
L1783[18:35:37] <gigaherz>
FusionLord*
L1784[18:35:56] <williewillus> i mean
hexchat still shows it as one
L1785[18:35:58] <williewillus> and so
does chrome
L1786[18:36:03] <vox> willie: btw,
Botania being a fork is annoying AF :P
L1787[18:36:07] <vox> I can't search
it
L1788[18:36:14] <MattDahEpic> how would i
get a foreach on all the registered enchantments?
L1789[18:36:30] <williewillus>
MattDahEpic: 1.9?
L1791[18:36:58] <tterrag> that's puush
ignoring everything after the extension :p
L1792[18:37:09] <williewillus> lol
what
L1793[18:37:10] <williewillus> okay
L1794[18:37:27] <unascribed> wtf? you're
creating the TE then getting the class???
L1795[18:37:29] <tterrag> FusionLord:
your TESR isn't typed
L1796[18:37:31]
⇨ Joins: keybounce
(~keybounce@45-25-230-67.lightspeed.bkfdca.sbcglobal.net)
L1797[18:37:42] <unascribed> but yeah
that
L1798[18:37:48] <tterrag> also, your
block giving you your TESR is a HUGE separation of concerns
issue
L1799[18:37:54] <MattDahEpic>
williewillus, yep
L1800[18:38:13] <Noc7is> So on a block,
lets say I wanted to draw some dynamic text on it using
fontrenderer.drawString or something. Can I use ISmartBlockModel to
do that? Like using getFaceQuads or something?
L1801[18:38:28] <unascribed> how dynamic
is dynamic
L1802[18:38:30] <williewillus> yes
L1803[18:38:34] <williewillus> and yes
how dynamic
L1804[18:38:42] <Noc7is> Just like some
numbers or something
L1805[18:38:46] <williewillus> no as
in
L1806[18:38:47] <williewillus> how
often
L1807[18:38:47] <Noc7is> That depend on
world time
L1808[18:38:49] <unascribed> yes but how
often does it change
L1809[18:38:55] <williewillus> yeah
you're better off using tesr
L1810[18:38:57] <Noc7is> Oh.... possibly
multiple times per second
L1811[18:39:01] <tterrag> erm
L1812[18:39:02] <unascribed> use a
TESR
L1813[18:39:05] <tterrag> you can't draw
text in a block model
L1814[18:39:09] <unascribed> updating the
entire chunk for that will be expensive
L1815[18:39:10] <williewillus> yeah you
can
L1816[18:39:15] <tterrag> no...that would
require rebinding
L1817[18:39:16] <williewillus> kind
of
L1818[18:39:25] <unascribed> you could
add the font to the atlas
L1819[18:39:26] <unascribed> :P
L1820[18:39:29] <tterrag> jesus
L1821[18:39:30] <tterrag> no
L1822[18:39:56] <capitalthree> ...hey so
why do the scala libs use the forge team's bandwidth? they're
available from other repositories o_o
L1823[18:39:56]
⇨ Joins: qid
(~david@cpe-172-101-73-28.buffalo.res.rr.com)
L1824[18:40:06] <williewillus> if you
want font support
L1825[18:40:15] <williewillus> bother fry
and make him finish this
L1827[18:40:37] <unascribed> most of the
time when you need fonts it's better to use a TESR
L1829[18:40:40] <unascribed> so
L1830[18:40:49] <Noc7is> Alright.
L1831[18:41:05] <williewillus> anything
more often than every few seconds should really be tesr
L1832[18:41:12] <TehNut> If you need each
level, you can of course loop that, too
L1833[18:41:22] <capitalthree> why is the
forge team re-hosting scala libs instead of pulling them in from
existing repos?
L1834[18:41:25] <williewillus> chunk
rerenders seem to be getting more expensive even though the
rendering itself is multithreaded
L1836[18:42:28] <vox> I'm not seeing
it
L1837[18:42:46] <vox> oh wow it's
PlatformModel
L1838[18:42:47] <williewillus> that's
master
L1839[18:42:55] <williewillus> master is
the 1.7 branch
L1840[18:42:58] <vox> derp, I'm dumb and
didn't see it
L1841[18:43:00]
⇦ Quits: whitephoenix
(~whitephoe@216-160-104-253.tukw.qwest.net) (Quit: \[T]/ Praise the
sun! \[T]/)
L1842[18:43:05] <williewillus> look at
MC18 or MC19
L1843[18:43:09] <vox> Yep, found it
L1844[18:43:13]
⇨ Joins: whitephoenix
(~whitephoe@216-160-104-253.tukw.qwest.net)
L1845[18:43:26] <vox> Any reason it's
called PlatformModel instead of ModelPlatform or just
because?
L1846[18:44:13] <unascribed>
PlatformModel makes more sense, the backwards naming iirc
originates from before MCP repackaged everything
L1847[18:44:20] <unascribed> so it made
it easier to sort stuff
L1848[18:44:22] <williewillus> no
particular reason
L1849[18:44:34] <unascribed> but now that
we have packages...
L1850[18:44:47] <tterrag> gigaherz: ok,
now I've gotten rid of upscaling completely if the system supports
non-pot
L1851[18:44:49] <tterrag> String s =
GL11.glGetString(GL11.GL_EXTENSIONS);
L1852[18:44:49] <tterrag>
NON_POT_SUPPORTED =
s.contains("GL_ARB_texture_non_power_of_two");
L1853[18:44:49] <tterrag> :D
L1854[18:45:09] <vox> I mean, I still see
the reason for ModelPlatform and BlockFurnace and ItemGeneric
L1855[18:45:10] <unascribed> as if any
computer that can run minecraft won't support NPOT >.>
L1856[18:45:24] <williewillus> you'd be
surprised
L1857[18:45:28] <tterrag> ^^
L1858[18:45:37] <tterrag> we support GL11
which does not guarantee NPOT
L1859[18:45:39] <tterrag> I'm covering my
bases
L1860[18:46:25]
⇦ Quits: Johannes13_ (Johannes13@141.70.98.128) (Read error:
Connection reset by peer)
L1862[18:46:37] <capitalthree> so nobody
has any idea why forge actually re-hosts scala libs?
L1863[18:46:49] <unascribed> they re-host
all libs that aren't in Mojang's maven
L1864[18:46:50] <williewillus> there's
probably a very good reason
L1865[18:46:52] <TehNut> IIRC Forge
rehosts all non-MC libs
L1866[18:46:54] <williewillus> they're
not stupid
L1867[18:46:56] <unascribed> not sure why
they don't use Central, but they don't
L1868[18:46:58] <capitalthree> I asked
*why*
L1869[18:47:23] <capitalthree>
williewillus: that kind of knee-jerk defensiveness is what causes
bad ideas to last a long time :P
L1870[18:47:32] <capitalthree> if nobody
actually knows a reason, maybe it should change
L1871[18:47:43] <williewillus> they pay
money to rehost them
L1872[18:47:47] <williewillus> so
:P
L1873[18:47:51] <tterrag> the reason is
that other stuff can break and break all forge installations
L1874[18:47:54] <tterrag> I assume
L1875[18:48:05] <capitalthree> tterrag:
no, because you can pin versions in maven repos :P
L1876[18:48:07] <unascribed> has central
ever been down for any serious period of time?
L1877[18:48:16] <tterrag> probably
not
L1878[18:48:26] <williewillus> vox:
passed in by vanilla, not really sure what it's for :P
L1879[18:48:28] <tterrag> don't ask me
though, ask lex/cp.w/overmind
L1880[18:48:32] <williewillus> probably
for choosing random variants
L1881[18:48:44] <capitalthree> lex will
probably just ban me for asking any questions so I'll try the
others
L1882[18:49:02] <vox> willie: okay, cool.
Odd :P
L1883[18:49:06] <tterrag> no, he
won't
L1884[18:49:10] <TehNut> He's answered
the question tons of times, I just don't remember the answer
L1885[18:49:11] <williewillus> just ask
in #ForgeGradle
L1886[18:49:13] <tterrag> he'll ban you
if you refuse to accept his answer
L1887[18:49:18] <williewillus> :P
L1888[18:49:23] <tterrag> (as so, so many
people do)
L1890[18:50:10] <vox> Btw willie, all of
the source comments that I've seen say to get the source at
Vazkii/Botania
L1891[18:50:21] <capitalthree> tterrag:
so far he's banned me for a week for pointing out that adfoc.us
serves malware, and kicked me simply for linking to code I wrote in
kotlin
L1892[18:50:23] <vox> Just fyi, thought
you'd like to know
L1893[18:50:36] <williewillus> yeah I
haven't replaced it
L1894[18:50:43] <vox> Coolcool
L1895[18:51:01] <TehNut> capitalthree: He
kicked you because you were assuming he was a code-grading
service.
L1896[18:51:28] <williewillus> or cared
about it at all :P
L1897[18:51:46] <TehNut> FusionLord: What
does getValidLevels return?
L1898[18:51:47] <capitalthree> TehNut: I
didn't assume, I simply asked. he's way too immature :P
L1899[18:52:03] <TehNut> I definitely
remember you using the word "assume"
L1900[18:52:04] <capitalthree> he
actually told me the kick was for having a language argument
L1901[18:52:13] <capitalthree> he was
explicit there
L1902[18:52:18] <tterrag> X language is
better is explicitly banned here
L1903[18:52:18] <williewillus> i wouldn't
be surprised :P
L1904[18:52:20] <capitalthree> so you are
kind of making things up
L1905[18:52:30] <TehNut> 'course i
am
L1906[18:52:31] <capitalthree> but he's
the one who assumed my reason for linking kotlin code
L1907[18:53:00] <capitalthree> tterrag:
yeah and I wasnt having that conversation, I was just showing off a
mod I wrote that happened to be kotlin
L1908[18:53:15] <tterrag> I'm not going
to deny it, lex is ban happy
L1909[18:53:24] <capitalthree> tterrag:
also to be clear, "mc would be better in x language" is
what's banned here
L1910[18:53:35] <tterrag> but it is his
channel. and it's not hard to avoid it
L1911[18:53:45] <williewillus> heated
lang discussions in general are frowned upon
L1912[18:53:51] <williewillus> :P
L1913[18:53:55] <tterrag> anyways, what
were we talking about?
L1914[18:53:59] <tterrag> oh right, scala
sux lol
L1915[18:54:02]
⇦ Quits: FusionLord
(~FusionLor@ip70-190-239-223.ph.ph.cox.net) (Ping timeout: 201
seconds)
L1916[18:54:03] <williewillus> lmao
L1917[18:54:03] <capitalthree>
williewillus: that's nice, and also again, irrelevant, because that
isn't what was happening when he kicked me
L1918[18:54:04] <tterrag> amirite?
L1919[18:54:13] <TehNut> urrite
L1920[18:54:17]
⇨ Joins: FusionLord
(~FusionLor@ip70-190-239-223.ph.ph.cox.net)
L1921[18:54:23] <williewillus>
?shrug
L1922[18:54:25] <unascribed> the original
question was "why does forge rehost scala libs"
L1923[18:54:28] <williewillus> I don't
care
L1924[18:54:44] <tterrag> right
L1925[18:54:45] <tterrag> because it
sux
L1926[18:54:46] <tterrag> :D
L1927[18:55:22] <FusionLord> ok let me
ask again because I got timed out...
L1929[18:55:38] <williewillus> show
getValidLevels
L1930[18:55:46] <unascribed> yeah, what
is its signature
L1932[18:56:09] <vox> What does
getValidLevels return?
L1933[18:56:18] <williewillus> uhhh
L1935[18:56:22] <williewillus> try a full
remake?
L1936[18:56:26] <williewillus> might be
ide derpage
L1937[18:56:40] <vox> And try a gradle
scan thingy
L1938[18:56:44] <capitalthree> it's funny
how widespread the idea that scala sucks is, but the only reason
anyone can ever give is "bah humbug, learning a new
thing" :P
L1939[18:56:49] <TehNut> that has nothing
to do with gradle
L1940[18:56:54] <vox>
"refresh"
L1941[18:56:57] <unascribed> it has
everything to do with gradle
L1942[18:56:58] <unascribed> it's
IntelliJ
L1943[18:57:06] <vox> I've had IDE
derpage before when Gradle does wonky things
L1944[18:57:22] <capitalthree> don't get
me wrong, I think it's fine that people are comfy on java, but
saying scala sucks because you're bitter someone wrote a mod who's
code you don't understand yet, is kinda silly
L1945[18:57:45] <capitalthree> scala,
java, and kotlin are all like 95% the same thing
L1946[18:57:51] <capitalthree> and
they're all pretty decent
L1947[18:58:08] <williewillus> yeah try
remake + refresh gradle project
L1948[18:58:16] <vox> I personally don't
like Scala because I don't like the syntax
L1949[18:58:23] <vox> Just personal
preference though
L1950[18:58:24] <FusionLord> how does one
remake?
L1951[18:58:26] <williewillus> its not
that different
L1952[18:58:31] <williewillus> in its
defense
L1953[18:58:37] <capitalthree> vox:
that's fair. I'll be honest, I took a while to get used to it too
:P
L1954[18:58:45] <williewillus> the
billion overloads of _ is weird though
L1955[18:59:05] <capitalthree> and I
agree with people who say kotlin's "fun " for function
is dumb too
L1956[18:59:09] <capitalthree> I just
think syntax is such a petty concern
L1957[18:59:15] <capitalthree>
williewillus: you mean 2?
L1958[18:59:16] <vox> Kotlin is a little
more my style, I like it more except for the "fun"
thing
L1959[18:59:34] <vox> Yeah, I agree.
There's no reason to say a language is bad based on personal
preference for syntax
L1960[18:59:35] <tterrag> capitalthree: I
hope you realize I was joking
L1961[18:59:45] <tterrag> I personally do
not like scala. but I certainly don't think it
"sucks"
L1962[18:59:49] <williewillus> syntax
really isn't a big deal
L1963[18:59:56] <williewillus> until you
have a million overloads of "const"
L1964[18:59:59] <williewillus>
coughC++
L1965[19:00:18] <unascribed> coughC is
now 1
L1966[19:00:29] <vox> Lol, even after
using it for several years, people's usage of const in C++ still
confuses me sometimes
L1967[19:00:51] <vox> Is the object
const, or is the return immutable, or does this not mutate the
object, or is this actually a constant variable?
L1968[19:00:59] <vox> Or actually I think
there's more cases too
L1969[19:01:01] <capitalthree>
williewillus: _ is "insert function arg here" and
"ignored pattern match". what else?
L1970[19:01:16] <capitalthree> tterrag:
sorry, I didn't realize! lots of people here aren't joking when
they say it. unascribed says it all day
L1971[19:01:29] <tterrag> opinions are
opinions
L1972[19:01:32] <williewillus> ^
L1973[19:01:34] <capitalthree> also I'll
be open, I have big issues with scala
L1974[19:01:36] <williewillus> vox:
infinitely many consts because infinitely many pointer layers
L1975[19:01:39] <williewillus> :D
L1976[19:01:39] <tterrag> I think scala
sucks for me :P but I'm not going to stop someone from using
it
L1978[19:01:49] <capitalthree> it is
bloated with too many features, and implicits in particular are
horrible
L1980[19:01:55] <vox> Btw, any idea on
how to handle four or more different rotations of the same texture
willie?
L1981[19:02:04] <williewillus> what do
you mean four or more rotations?
L1982[19:02:13] <vox> I'm attempting to
make a multiblock that's intelligent about connected textures
L1983[19:02:19] <tterrag> just btw, the
proper domain for forge docs now is mcforge.rtfd.io and
mcforge.readthedocs.io
L1984[19:02:29] <vox> Oh, I should go
look at glass from different mods
L1985[19:02:34] <tterrag> there are
redirects from the old URLs but RTD has now moved their
documentation hosting to a separate domain
L1986[19:02:40] <williewillus> why the
move?
L1987[19:02:44] <capitalthree> I like
scala more than java but I am undecided if I like kotlin more than
scala, and even java's still a pretty good language
L1988[19:02:53] <williewillus> kotlin
feels meh to meh
L1990[19:02:56] <tterrag> that's the
email I got :P
L1991[19:02:57] <unascribed> I still want
someone to make a Java with really minor changes
L1992[19:03:02] <williewillus> it doesn't
offer much over java + nice libs
L1993[19:03:05] <capitalthree> I wish
scala, kotlin, etc, were more minimal with syntax changes
L1994[19:03:09] <tterrag> let me just
captcha that...
L1995[19:03:09] <williewillus>
unascribed: you're looking for kotlin
L1996[19:03:10] <unascribed> like REALLY
minor
L1997[19:03:23] <unascribed> replacing
the entire method definition syntax with "fun" is not
minor
L1998[19:03:27] <capitalthree>
williewillus: really? kotlin's nullability handling is far better
than annotation messes
L1999[19:03:30] <unascribed> having a
runtime library is not minor
L2000[19:03:39] <tterrag> java + default
arguments + better type inferennce
L2001[19:03:45] <williewillus>
capitalthree: yes but besides their nonnull stuff?
L2002[19:03:50] <capitalthree>
unascribed: how do you expect a language to not have a runtime
library :P
L2003[19:03:59] <capitalthree>
unascribed: your friend unlambda is a runtime library
L2004[19:04:06] <williewillus>
unascribed: what changes ARE you looking for then? :P
L2005[19:04:11]
⇨ Joins: killjoy
(~killjoy@2606:a000:1118:c020:dd35:f5e:cbb3:40a6)
L2006[19:04:12] <capitalthree>
williewillus: dispensing with native types is another good
win
L2007[19:04:15] <unascribed> retrolambda
has no runtime dependency
L2008[19:04:21] <williewillus> that's not
a language
L2009[19:04:21] <tterrag> ^
L2010[19:04:22] <williewillus> ...
L2011[19:04:26] <tterrag> also true
L2013[19:04:28] <unascribed> I was
talking to capitalthree
L2014[19:04:30] <tterrag> but it's a lie
that it has a runtime dep :P
L2015[19:04:34] <capitalthree> and proper
anonymous functions
L2016[19:04:36] <unascribed> who said
retrolambda had a runtime dep
L2017[19:04:45] <williewillus> he said it
DOESNT :P
L2018[19:04:50] <capitalthree>
unascribed: oh, well ok, nevermind
L2019[19:04:52] <TehNut> killjoy: that
looks like what I did on my old survival pack
L2020[19:04:52] <unascribed>
<capitalthree> unascribed: your friend unlambda is a runtime
library
L2021[19:04:59] <FusionLord> if someone
told me how to "remake" i missed it
L2022[19:05:10] <tterrag> FusionLord: SHH
WE ARE ARGUING OVER LANGUAGES
L2023[19:05:10] <williewillus> anyways
what would you even want in your hypothetical lang?
L2024[19:05:10] <killjoy> -60% brightness
makes you want to stay home
L2025[19:05:22] <williewillus> that
wouldn't require runtime lib
L2026[19:05:26] <unascribed> I think the
main things I'd want in a mini Java edit would be the Elvis
operator and default access mode
L2027[19:05:28]
⇨ Joins: minot
(~minot@pool-108-35-29-135.nwrknj.fios.verizon.net)
L2028[19:05:28] <capitalthree> oh yeah
type inferrence
L2029[19:05:28] <TehNut> HardcoreDarkness
+ Gloomy + stryker's light mod that I can't remember the name of
right now
L2030[19:05:30] <williewillus> and would
make "minimal" changes
L2031[19:05:32] <capitalthree> that's
another big one
L2032[19:05:39] <killjoy> Agreed on the
?:
L2033[19:05:44] <FusionLord> but tterrag
I need halp xD
L2034[19:05:45] <capitalthree>
unascribed: also ?. right?
L2035[19:05:47] <unascribed> i.e.
"package class Foo default public { void doTheThing() {}
}"
L2036[19:05:50] <unascribed>
capitalthree, of course
L2037[19:05:54] <killjoy> Instead, we got
Optional
L2038[19:05:54] <capitalthree> cool
L2039[19:06:04] <williewillus> well
Optional is not bad
L2040[19:06:06] <williewillus> people
just abuse it
L2041[19:06:08] <williewillus> VERY
badly
L2042[19:06:11] <capitalthree> look I'll
be honest, I'd love your java improvements too
L2043[19:06:19] <killjoy> Optional just
adds more boilerplate
L2044[19:06:22] <capitalthree> I just
started looking at kotlin because it got there first
L2045[19:06:23] <unascribed> "class
Foo" -> warning: no access level specified, defaulting to
package
L2046[19:06:40] <TehNut> My introduction
to Optional was Sponge's insane abuse of it
L2047[19:06:42] <capitalthree> killjoy:
yeah in java that's fair
L2048[19:06:50] <capitalthree> scala's
big advantage is pattern matching
L2049[19:06:53] <killjoy> boilerplate is
a given in jav
L2050[19:06:55] <TehNut> I noped out and
haven't touched Optional since >.>
L2051[19:06:58] <capitalthree> which
makes it very clean to deal with those things
L2052[19:07:06] <killjoy> I think I
prefer Guava's optional
L2053[19:07:14] <williewillus> what I
want is a static type by default lisp
L2054[19:07:18] <williewillus> basically
opposite of clojure
L2055[19:07:22] <williewillus> killjoy:
whats different about that?
L2056[19:07:25] <williewillus> vs Java 8
opt
L2057[19:07:36] <killjoy> It's very
shallow
L2058[19:07:41] <killjoy> It being my
preference
L2060[19:08:05] <unascribed> fake
unsigned types would also be nice in the alt language
L2061[19:08:05] <killjoy> Yes, I
understand how Optional works
L2062[19:08:12] <Mumfrey> not the how,
the why
L2063[19:08:21] <capitalthree> I need to
learn about java annotation processors though. I used to think we
*needed* new languages because java couldn't really be patched
over
L2064[19:08:22] <unascribed> there's
standard library methods for treating int etc like unsigned, but
it's cumbersome to use them
L2065[19:08:22] <killjoy> I also know
why
L2066[19:08:24] <vox> Oh man unsigned
integers are one of the things that I miss
L2067[19:08:31] <capitalthree> but it
seems like annotation processors can go a long way
L2068[19:08:36] <unascribed> yeah, APs
can do a lot
L2069[19:08:38] <unascribed> see also:
Lombok
L2070[19:08:48] <capitalthree> oh yeah
lombok was the one that's a library!
L2071[19:08:50] <capitalthree>
right?
L2072[19:08:58] <unascribed> it doesn't
have a runtime dep iirc
L2073[19:09:01] <capitalthree> ohh
cool
L2074[19:09:02] <TehNut> source
only
L2075[19:09:06] <capitalthree>
awesome
L2076[19:09:09] <TehNut> Well,
compile
L2077[19:09:13] <unascribed> it's also
really weird
L2078[19:09:23] <capitalthree> I need to
go curate the best java addons and see how close I can get to what
I want
L2079[19:09:28] <TehNut> It's kinda black
magic, but great for "hiding" boilerplate
L2080[19:09:35] <capitalthree> starting
with lombok and retrolambda probably
L2081[19:09:42] <killjoy> anyone seen
kymaster?
L2082[19:09:44] <tterrag> for me, lombok
isn't so much for what it hides, but what it shows
L2083[19:09:49] <capitalthree> TehNut:
kotlin and scala only "hide" boilerplate too :P
L2084[19:09:54] <tterrag> it basically
highlights anything that has a nonstandard implementation
L2085[19:09:55] <capitalthree> it's all
syntactic sugar
L2086[19:10:07] <tterrag> if you see a
class full of @Getter but there is ONE getter that is manually
implemented
L2087[19:10:10] <tterrag> you know it
does something special
L2088[19:10:21] <tterrag> instead of
reading through 20 of them
L2089[19:10:29] <TehNut> That, too
L2090[19:10:32] <unascribed> I wonder if
you could make a Gradle plugin that implements the hypothetical
java extension as a transformer
L2091[19:10:34] <unascribed> then you
wouldn't need to compile it to bytecode
L2092[19:10:51] <williewillus> so a
preprocessor
L2093[19:10:54] <unascribed> yeah
L2094[19:10:58]
⇨ Joins: blood_
(unknown@ool-4574115b.dyn.optonline.net)
L2095[19:11:05] <unascribed> ultimately
you'd also need to do something for IDE support
L2096[19:11:08] <tterrag> yep
L2097[19:11:09] <unascribed> so probably
bytecode
L2098[19:11:11] <tterrag> that's the wall
lombok hits
L2099[19:11:20] <tterrag> it requires IDE
integration to function
L2100[19:11:28] <tterrag> well, function
in a way that is usable :P
L2101[19:11:36] <tterrag> technically
even though eclipse says you have errors it will compile fine
L2102[19:11:42] <tterrag> without the
plugin
L2103[19:11:46] <tterrag> it would just
make developing hell :D
L2104[19:13:00] <vox> So I want some
opinions on something real fast :P What would you all recommend if
I have 16 different possible textures for the top side of my
block?
L2105[19:13:25] <vox> I'd have to switch
between them dynamically ofc, but how would you recommend storing
them. 16 variants?
L2106[19:14:00] <vox> Technically it's
like 6 textures, plus their rotations
L2107[19:14:15] <williewillus> wait you
want to do Conencted textures?
L2108[19:14:18] <vox> yeah
L2109[19:14:21] <vox> Essentially
L2110[19:14:23] <williewillus> use
tterrag library after its done lol
L2111[19:14:25] <tterrag> wait for me to
finish ctmlib :P
L2112[19:14:31] <vox> uuuuuuuuugh finish
now pls? :D
L2113[19:14:32] <tterrag> or hack apart
the chisel code
L2114[19:14:36] <williewillus> lol
L2115[19:14:36] <TehNut> How close are we
to CTMLib 1.9?
L2116[19:14:37] <tterrag> (not
recommended)
L2117[19:14:44] <tterrag> TehNut: eh...it
mostly functions in chisel
L2118[19:14:47] <tterrag> the challenge
is making it generic
L2119[19:15:00] <TehNut> That second part
is what I was actually asking about :P
L2120[19:15:03] <tterrag> I fixed a few
barriers when I made that test hack mod
L2121[19:15:13] <tterrag> few places
where we used BlockCarvable instead of ICarvable etc
L2122[19:15:22] <vox> Oh man what is
this
L2123[19:15:26] <vox> No work on this
since Jan 3
L2124[19:15:32] <tterrag> vox: right,
that's teh 1.7 repo
L2125[19:15:39] <vox> Oh there's a new
one?
L2126[19:15:43] <tterrag> currently
"ctmlib" only exists as code inside chisel
L2127[19:15:52] <tterrag> I plan to
externalize it once it's finished
L2128[19:16:11] <vox> I see. That's
annoying. Have any guidance on how I could rip it out?
L2130[19:16:20]
⇨ Joins: Johannes13 (Johannes13@141.70.98.128)
L2131[19:16:23] <tterrag> I wouldn't
recommend doing that
L2132[19:16:47] <tterrag> I'd love to
finish it but with schoolwork and regular work I have no time
atm
L2133[19:16:56] <vox> You leave me no
choice tterrag! I must have connected textures! :P
L2134[19:16:58] <tterrag> give me 3 weeks
for finals to be done :P
L2135[19:17:20] <vox> I.... should
probably be studying for AP exams too. But meh, those are in two
weeks
L2136[19:17:35] <tterrag> who said
anything about studying
L2137[19:17:39] <tterrag> I have two CS
projects to finish
L2138[19:17:50] <vox> Heh. What are
they?
L2139[19:18:12] <williewillus> same also
:P
L2140[19:18:24] <williewillus> though I
started super early on one and got it done today
L2141[19:18:35] <TehNut> pfft,
school
L2142[19:18:54] <TehNut> nobody ever
needed that
L2144[19:19:27] <vox> Looks pretty okay
to me
L2145[19:20:07] <tterrag> no, you could
use that
L2146[19:20:12] <tterrag> in fact, that
class is barely changed from 1.7
L2147[19:20:20] <tterrag> that's far from
the full picture though :P
L2148[19:20:21] <vox> What's
different?
L2149[19:20:25] <vox> Oh lol
L2150[19:20:35] <tterrag> block/meta
-> IBlockState mostly
L2151[19:20:44] <tterrag>
xyz->blockpos etc
L2152[19:20:50] <vox> Got it
L2153[19:20:57] <vox> So this ModelCTM
class that has no code
L2154[19:21:00] <tterrag> also ISubmap is
completely new
L2155[19:21:01] <tterrag> that's
old
L2156[19:21:09] <tterrag> I wasn't aware
I hadn't deleted that class
L2157[19:21:11] <vox> Looks basically
like Willie's camo block with some small changes
L2158[19:21:13] <tterrag> you want
ModelChiselBlock
L2159[19:22:03] <tterrag> though like I
said, you're going down quite the rabbit hole here just for a small
feature. I recommend waiting or doing it yourself :P
L2160[19:22:31]
⇦ Quits: Wastl2 (~Wastl2@x4e350118.dyn.telefonica.de) (Quit:
Lost terminal)
L2161[19:22:38] <vox> Yeah I was looking
into that and asked how better to do it than to have 16 possible
blockstate variants :P
L2162[19:22:52] <vox> That's definitely
an option that I think would work
L2163[19:22:58] <vox> But it's ugly
imo
L2164[19:23:50] <tterrag> we use an
extended state
L2165[19:23:52] <vox> Oh, I think with
some clever use of some code similar to that CTM file, I could
probably just layer textures over each other
L2166[19:24:01] <vox> Oh? Continue
talking about this :D
L2167[19:24:02] <tterrag> you could
definitely use CTM/Dir/ISubmap to help you out
L2168[19:24:14] <tterrag> howver like I
said that's only part of the picture
L2169[19:24:33] <tterrag> well, that's
one of the bits that needs to change before release
L2170[19:24:40] <vox> What am I missing
though really?
L2171[19:24:48] <tterrag> currently we
store some data defined by the block render types in the extended
state to use later
L2173[19:25:03] <FusionLord> are we still
fighting over languages?
L2174[19:25:08] <tterrag> but, according
to fry, I can just directly access the world in the model because
it gives me a ChunkCache which is threadsafe
L2175[19:25:23] <vox> That's interesting.
Huh.
L2176[19:25:27] ***
Mumfrey is now known as mumfrey
L2177[19:25:43] <TehNut> No we're talking
about our lord and savior CTMLib
L2178[19:25:50] <vox> Is there a reason I
shouldn't just make a custom IBakedModel?
L2179[19:25:59] <FusionLord>
williewillus, you said that i need to "remake", how does
1 do?
L2180[19:26:22] <tterrag> vox: not
really
L2181[19:26:25] <williewillus> Build
-> rebuild
L2182[19:26:28] <tterrag> that's probably
the best way
L2183[19:26:31] <tterrag> doing it with
json will be tedious
L2184[19:27:13] <tterrag> LexManos:
pssst, could you change the readthedocs url in the topic to .io
?
L2185[19:27:14] <FusionLord> when
rebuilding the project it errors out on that line
L2186[19:27:35] <williewillus> no
idea
L2187[19:27:38] <williewillus> then
L2188[19:27:44] <tterrag> and maybe use
mcforge.rtfd.io as it's shorter? :P
L2189[19:27:52] <williewillus> code is
wrong or ide is broken :P
L2190[19:27:54] <tterrag> (also
funnier)
L2191[19:28:11] <vox> tterrag: Yeah, I'll
probably just do that and use some of that CTM code to help me
out
L2192[19:28:13] <tterrag> vox: that
massive javadoc on CTM explains our logic for the most part
L2193[19:28:57] <vox> Yep, I just have to
figure out how to load those corners into memory in the Block class
or in the IBakedModel class, so I can just slap them together
L2195[19:29:08] <vox> That technique is
called bitmasking btw
L2196[19:29:13] <LexManos> tterrag, you
know better then that, if you want to see a change then give a full
change
L2197[19:29:33] <tterrag> Downloads:
http://files.minecraftforge.net Documentation:
http://mcforge.rtfd.io No PM's Without invitation,
WebChats are muted. Do not say Lex's full nick unless nessasary.
Stay on topic. Banned topics: Release ETAs, Official API, 'MC would
be better in {insert language here}' #ForgeGradle for gradle
questions
L2198[19:29:41] <tterrag> there you
go
L2200[19:30:05] <gigaherz> night
ppl
L2201[19:30:09] <vox> night ghz
L2202[19:30:10] <williewillus> night
giga
L2203[19:30:15]
⇦ Quits: gigaherz
(gigaherz@198.red-88-9-10.dynamicip.rima-tde.net) (Remote host
closed the connection)
L2204[19:30:17]
*** LexManos changes topic to 'Downloads: http://files.minecraftforge.net Documentation:
http://mcforge.rtfd.io No PM's Without invitation,
WebChats are muted. Do not say Lex's full nick unless nessasary.
Stay on topic. Banned topics: Release ETAs, Official API, 'MC would
be better in {insert language here}' #ForgeGradle for gradle
questions'
L2205[19:30:21]
⇦ Quits: c233 (~c233@164.40.206.63) (Ping timeout: 384
seconds)
L2206[19:30:26] <williewillus> meh that
infographic doesn't help for me
L2207[19:30:27] <tterrag> vox: our CTM
uses 2 texture files total
L2208[19:30:41] <williewillus> I just
imagine a long line of 01's and ands test things and ors turn them
on
L2209[19:30:42]
⇨ Joins: c233 (~c233@164.40.198.2)
L2210[19:30:44] <tterrag> the small 16x
one is the unconnected state, the other one (2x size) gives
everything else
L2211[19:30:53] <vox> Yep, I saw that. I
plan to do the same but I have to figure out how to pull the
corners out of the second one
L2212[19:31:03] <williewillus> xors
toggle them and shifts move it around so your masks arent
huge
L2213[19:31:04] <tterrag> you just stitch
both textures
L2214[19:31:50] <williewillus> ooh
L2215[19:31:56] <williewillus> latest pre
of 1.9.3 has /stopsound
L2216[19:32:08] <MattDahEpic>
finally
L2217[19:33:37] <vox> tterrag: Is there a
reason for me to have that base texture at all and not just pick
some default corners to render?
L2218[19:33:52] <capitalthree> hey lex I
have a question nobody else knew the answer to, how come forge
re-hosts the scala runtime instead of using maven central?
L2219[19:34:12] <tterrag> erm
L2220[19:34:20] <tterrag> the second
texture does not have closed corners
L2221[19:34:32] <tterrag> read the wiki
page
L2223[19:34:52] <vox> I can think of 4
possible states for each corner
L2224[19:35:05]
⇦ Quits: PG85 (~PG85@86.89.87.222) ()
L2225[19:35:08] <vox> both sides, only x
side, only z side, neither
L2226[19:35:24] <vox> So it seems like I
would only ever need 16 textures
L2227[19:35:39] <tterrag> you are
forgetting inner corners
L2228[19:36:18] <vox> Huh. I wasn't
considering that
L2229[19:36:45] <vox> You sir are
correct
L2230[19:36:56] <tterrag> I know :P
L2231[19:37:00] <vox> Lol
L2232[19:37:06] <tterrag> I've only
written this logic from scratch twice
L2233[19:37:15] <tterrag> so I may be
slightly familiar with the concept :P
L2234[19:37:25] <vox> Only slightly
L2235[19:37:35] <vox> The CTMLib art is
cool btw
L2236[19:38:00] <tterrag> yeah
L2237[19:38:01] <tterrag> that part
wasn't me
L2238[19:38:05] <tterrag> thank our
artist Drullkus for that
L2239[19:38:11] <Drullkus> ?
L2240[19:38:16] <Drullkus> Thanks
:)
L2241[19:38:23] <MattDahEpic> Drullkus
the en-artener
L2242[19:38:24] <tterrag> logo came from
cyanidex though lol
L2243[19:38:38] <tterrag> it was a team
effort :D
L2244[19:38:40] <Drullkus> :D
L2245[19:39:14] <vox> Anyway, with you
yelling at me to remember inner corners my work has... much
increased :p
L2246[19:39:24] <tterrag> yeah, there's 7
potential corner states
L2247[19:39:26] <vox> Now I see why
blockstate jsons are not good for this at all
L2248[19:39:27] <vox> yeah
L2249[19:39:28] <tterrag> I just checked
:D
L2251[19:40:02] <tterrag> 7*4 = 28
L2252[19:40:04] <vox> Soooo if I
basically rewrite CTMLib
L2253[19:40:09] <tterrag> though I think
the true amount of states per side is 27
L2254[19:40:10] <vox> want some code
donated?
L2255[19:40:11] <tterrag> you lose one
for some reason
L2256[19:40:31] <williewillus> welp
someone just emailed me about the one-off bugfix coremod for 1.7 I
made 2 years ago
L2257[19:40:36] <tterrag> heh
L2258[19:40:43] <tterrag> if you make
something useful for us, I'd be glad to use it
L2259[19:40:46] <vox> Cool :D
L2260[19:40:50] <vox> williewillus:
what'd they say?
L2261[19:40:58] <tterrag> but really our
system has so much layered on top of that basic logic, you'd have
to write something pretty incredible :P
L2262[19:41:01] <williewillus> they were
editing the code and asking why it "doesn't work"
L2263[19:41:04] <williewillus> :P
L2264[19:41:07] <vox> Hah, nice :P
L2266[19:41:31] <vox> tterrag: fair
enough! I'm basically going to take your CTM stuff and move some of
it into an IBakedModel
L2267[19:41:34] <tterrag> (using a teeny
bit of ASM)
L2268[19:41:44] <tterrag> soon to be
teenier, thanks to fry's advice
L2269[19:41:54] <tterrag> it was a proof
of concept mostly
L2270[19:42:15]
⇦ Quits: whitephoenix
(~whitephoe@216-160-104-253.tukw.qwest.net) (Read error: Connection
reset by peer)
L2271[19:42:30] <tterrag> vox: for
example we have multiple render types besides basic CTM, and we
load in all the info via resources
L2272[19:42:46] <vox> Chisel is a very
complicated mod
L2273[19:42:55] <vox> Speaking of
which
L2274[19:43:13] <vox> Chisel & Bits
is massively outplaying you guys at the moment
L2275[19:43:15]
⇨ Joins: whitephoenix
(~whitephoe@216-160-104-253.tukw.qwest.net)
L2277[19:43:29] <tterrag> C&B serves
a different purpose
L2278[19:43:33] <tterrag> and we plan to
have some interop
L2279[19:43:39] <vox> awesome
L2280[19:43:44] <vox> The more the
merrier
L2281[19:43:50] <tterrag> see ^
link
L2282[19:44:06] <tterrag> that's all the
data needed to say "this is a CTM texture which is partially
transparent"
L2283[19:44:21] <vox> (And we're now up
to..... 11003 pages of blocks and counting)
L2284[19:44:31] <williewillus> lol
L2286[19:45:02] <tterrag> well...maybe
only 1/3 :D
L2287[19:47:12] <tterrag> note that the
inner part of that block is animated and tiles 2x2
L2289[19:49:12] <killjoy> So how do you
kill superman?
L2290[19:49:18] <killjoy> With number
literals
L2291[19:49:40] <killjoy> aka magic
numbers
L2292[19:50:57] <MattDahEpic> how would i
get a foreach for all the vanilla enchantments?
L2293[19:51:18] <williewillus> did what
TehNut give you not work? :P
L2294[19:51:31] <williewillus> what does
"get a foreach" even mean
L2295[19:51:33] <williewillus> an
Iterable?
L2296[19:52:18] <MattDahEpic>
williewillus, something that i can for over that has all the
vanilla enchantments: for (Enchantment e : ???) {}
L2297[19:52:22] <TehNut> I don't see how
what I provided would even fail. It's literally just looping
through the enchantment registry
L2298[19:52:27]
⇦ Quits: tali713 (~user@70.102.135.175) (Ping timeout: 384
seconds)
L2299[19:52:32] <williewillus>
MattDahEpic: use what tehnut just gave you
L2300[19:52:44] <MattDahEpic> TehNut, it
doesnt seem to have the vanilla enchantments
L2301[19:52:49] <williewillus> of course
it does
L2302[19:52:55] <williewillus> show
code
L2303[19:52:58] <TehNut> It's... the
enchantment registry
L2304[19:53:03] <TehNut> Why *wouldn't*
it have them
L2305[19:53:14] <williewillus> unless you
access it before vanilla registers enchantments
L2307[19:53:17] <williewillus> which is
way too early
L2308[19:53:27] <tterrag>
that's...interesting
L2309[19:53:29] <TehNut> It's JEI recipe
stuff
L2310[19:53:36] <TehNut> So it's when the
client joins a world
L2311[19:53:39] <tterrag> in 1.9, if you
hold shift in creative, block breaking is...slower?
L2312[19:53:41] <tterrag> but also
strange
L2313[19:53:41] <TehNut> Definitely after
vanilla does it's thing
L2314[19:53:59] <williewillus> well no
it's an FML registry
L2315[19:54:02] <williewillus> those get
synced on login right
L2316[19:54:15] <williewillus> try just
printing everything in that coll out
L2317[19:54:39] <tterrag> am I the only
one noticing this?
L2318[19:54:48] <tterrag> breaking blocks
in creative while sneaking is super weird
L2319[19:55:09] <williewillus> does it
happen in vanilla?
L2320[19:55:09] <tterrag> it's like
there's some kind of global timer that counts up to ~1 second no
matter what block you are hitting
L2321[19:55:13] <tterrag> haven't
tested
L2322[19:55:24] <tterrag> too lazy
L2323[19:55:25] <tterrag> :D
L2324[19:55:26] <williewillus> if not its
probably a #blamemezz
L2325[19:55:35] <williewillus> i'll
try
L2326[19:56:43]
⇦ Quits: stiforr_ (~stiforr@ip72-216-8-185.pn.at.cox.net)
(Ping timeout: 190 seconds)
L2327[19:56:50] <williewillus> doesnt
seem to happen in 1.9.3-pre2
L2328[19:56:54] <williewillus> checking
my 1.9 pack
L2329[19:57:08] <mezz> god damn it
>_>
L2330[19:57:13] <williewillus> lol
L2331[19:57:44] <williewillus> wait it
behaves the same for me in forge
L2332[19:57:45] <vox> lol
L2333[19:57:49] <williewillus> what did
you mean by "slower"?
L2334[19:57:51] <vox> Oh really
L2335[19:57:51] <mezz> woo
L2336[19:57:56] <williewillus> i can
break as fast as I can click almost
L2337[19:58:04] <vox> It's not a
#blamemezz this time
L2338[20:00:50]
⇦ Quits: Woodstone (~quassel@2a03:b0c0:2:d0::2c8:d001)
(Remote host closed the connection)
L2339[20:04:03]
⇨ Joins: Woodstone
(~quassel@2a03:b0c0:2:d0::2c8:d001)
L2340[20:05:09] <FusionLord> Unable to
find a file that is present(red), but able to load a file right
beside it(green),
L2342[20:06:01] <FusionLord> guess it
helps if I post the screenshot huh?
L2343[20:06:23] <mezz> build ->
rebuild project
L2344[20:06:42] <mezz> fixes that kind of
thing 99% of the time for me
L2345[20:06:43]
⇦ Quits: P3pp3rF1y2 (~P3pp3rF1y@100-250-77-178-ptr.xsky.cz)
(Ping timeout: 190 seconds)
L2346[20:07:05] <FusionLord> why does
intellij hate me so...
L2347[20:07:13] <FusionLord> still didn't
find the file
L2348[20:08:22] <tterrag> williewillus:
it's not super noticeable
L2349[20:08:26] <tterrag> but it's
definitely a bit slower
L2350[20:08:33] <williewillus> 0.o
L2351[20:08:46] <tterrag> I was running a
few mods
L2352[20:08:49] <tterrag> let me try pure
forge
L2353[20:09:40] <tterrag> yeah no doesn't
happen outside dev for me
L2354[20:09:52] <williewillus> o.0
L2355[20:10:01] <williewillus> what mods
do you have?
L2356[20:10:18] <tterrag>
chisel+JEI
L2357[20:11:46] <tterrag> strange
L2358[20:11:54] <tterrag> I can get it to
happen with just chisel (same setup I used out of dev)
L2359[20:12:00] <tterrag> so it is
definitely an in dev thing
L2360[20:12:05] <mezz> #blamechisel
L2361[20:12:11] <tterrag> no
L2362[20:12:17] <tterrag> I did have
chisel in my out of dev install
L2363[20:12:25] <tterrag> versions were
different
L2364[20:13:14] <williewillus> lol
L2365[20:14:22] <mezz>
#blametterragsomehow
L2366[20:14:46] <tterrag> :X
L2367[20:14:47]
⇦ Quits: FusionLord
(~FusionLor@ip70-190-239-223.ph.ph.cox.net) (Read error: Connection
reset by peer)
L2368[20:15:08] <vox>
#blamemezzbecauseitsmorefun
L2369[20:16:05]
⇦ Quits: Vazkii (~Vazkii@a79-169-163-74.cpe.netcabo.pt) (Read
error: Connection reset by peer)
L2370[20:16:13] *
capitalthree gives tterrag a chisel with a chisel with a chisel
with a chisel with a chisel with a chisel with a chisel with a
stack of netherrack
L2371[20:18:02]
⇦ Quits: AimHigh935 (webchat@155.31.158.29) (Ping timeout:
195 seconds)
L2372[20:20:20] *
vox gives tterrag a hug because his code is mostly not
garbage
L2373[20:21:33] <TehNut> >mostly
L2374[20:21:54] <vox> mhm
L2375[20:21:57] <mezz> > chisel for
1.8.9 > not garbage
L2376[20:22:18] <TehNut> file y u no
save
L2377[20:22:36] <vox> tterrag: you have a
tool for making these ctm files?
L2378[20:22:40] <mezz> save it more
forcefully
L2379[20:23:06] <TehNut>
AnArtist.exe
L2380[20:23:16] <tterrag> ^
L2381[20:23:27] <tterrag> mezz: fite me
m8
L2382[20:23:31] <vox> Where is this
located?
L2383[20:23:42] <vox> I'm not seeing it
in the ctmlib repo at least
L2384[20:23:44] <tterrag> vox: in reality
I'm sure Drullkus has some tools he uses
L2385[20:23:50] <tterrag> I just don't
know them :P
L2386[20:23:53] <vox> Ah I see
L2387[20:23:58] <Drullkus> ?
L2388[20:24:09] <vox> Have any tools for
making these ctm textures?
L2389[20:24:13] <Drullkus> Oh
L2390[20:24:16] <Drullkus> I just
photoshop
L2391[20:24:27] <vox> You're no fun
:P
L2392[20:24:37] <mezz> texture artists do
not automate, they just do
L2393[20:25:00] <Drullkus> It's a
specialized version of photoshop with some plugins that lets me
sacrifice virgins so I can automate
L2394[20:25:03] <vox> Alright, I'll do
the same I guess. I'll eventually automate this and send you the
tool when I do, Drullkus
L2395[20:25:05] <vox> Ah I see
L2396[20:25:16] <Drullkus> Just
messing... I don't automate >.<
L2397[20:25:19] <Drullkus> lol
L2398[20:25:25] <vox> Automation saves me
so much time
L2399[20:25:26] <Drullkus> Ah, that would
be fun :D
L2401[20:25:50] <Drullkus> Saving many
files manually is another form of Grinding like skyblock lol
L2402[20:25:55] <vox> Basically the plan
is to be able to import the corners, then export them as a while
image
L2403[20:25:56] <vox> lol
L2404[20:25:57] <vox> yeah
L2405[20:26:00] *
Drullkus is playing a bit of skyblock atm
L2406[20:26:09] <Drullkus> Ah
L2407[20:26:22] <vox> Plus some editing
if I can swing it
L2408[20:26:33] <vox> Because who doesn't
like having all of their tools in one place
L2409[20:26:39] <vox> But that's a bit
more difficult
L2410[20:26:47] <Drullkus> I usually do
the corners myself since I have complete control over the shadowing
and etc
L2411[20:27:09] <Drullkus> But what I
really think would be awesome is a tool that lets me assemble the
.ctx, .cf files and etc
L2412[20:27:19] <Drullkus> (Talking about
Chisel 1.9 assets)
L2413[20:27:20] <vox> I could probably
swing that too
L2414[20:27:28] <vox> Idk much about
chisel though
L2415[20:27:37] <vox> I'm using this CTM
thing for myself
L2416[20:30:15] <Drullkus> Ah
L2417[20:30:24] <Drullkus> CTMLib for
1.7, yeah
L2418[20:30:39] <Drullkus> We're working
on some CTM stuff for 1.9 that's much more powerful :P
L2419[20:30:49] <Drullkus> It's done for
the most part lol
L2420[20:31:22] <Drullkus> It brings the
vanilla model system to the next level :P
L2421[20:33:05]
⇨ Joins: insaneau
(~insaneau@CPE-101-182-255-148.lnse3.woo.bigpond.net.au)
L2423[20:35:17] <Drullkus> Ex Nihilo
Adscensio?
L2424[20:35:55] <tterrag> insaneau: you
have disable lighting commented?
L2425[20:36:07] <insaneau> doesn't change
it.
L2426[20:36:43] <tterrag> hm
L2427[20:36:49] <tterrag> maybe add
normals to the vertices
L2428[20:36:56] <vox> Drullkus: I'm
basically stripping out the 1.7 functionality and dropping it in an
IBakedModel
L2429[20:37:07] <tterrag> yeah I think
that's it
L2430[20:37:15] <tterrag> use
POSITION_TEX_COLOR_NORMAL
L2431[20:37:44] <Drullkus> vox: Er, tbh,
that might be unneccessary? We already have code in Chisel that
lets the same magic happen more flexibly :D
L2432[20:37:55] <Drullkus> idk, tterrag
is the one to consult on the code lol
L2433[20:38:06] <vox> tterrag told me to
do my own thing because it's a WIP
L2434[20:38:13] <Drullkus> Ah, ok
L2435[20:38:14] <vox> essentially
L2436[20:38:15] <vox> yeah
L2437[20:38:30] <tterrag> insaneau: in
this case your normal would be (0, 1, )
L2438[20:38:34] <tterrag> er (0, 1,
0)
L2439[20:39:52] <tterrag> it's
interesting that it's required now
L2440[20:39:56] <tterrag> I wonder what
changed
L2441[20:39:59] <tterrag> question for
fry I guess
L2442[20:40:09] <insaneau> and i put that
after the vertices but before the draw?
L2443[20:40:29] <vox> tterrag: the base
texture should be the standalone? Aka all corners filled?
L2444[20:40:52]
⇨ Joins: stiforr_
(~stiforr@ip72-216-8-185.pn.at.cox.net)
L2445[20:41:06] <tterrag> insaneau: you
put it in whatever order the format says :P
L2446[20:41:17] <tterrag> vox: yes
L2447[20:41:29] <vox> cool, thanks
L2448[20:41:48] <insaneau> tterrag:
putNormal returns void though, so i can't put it in my chain.
L2449[20:41:55] <tterrag> don't use put*
methods
L2450[20:41:59] <tterrag> they are not
what you want
L2451[20:42:10] <tterrag> ever
L2452[20:42:21] <insaneau> oh there's
.normal
L2453[20:42:22] <insaneau> lol
L2454[20:43:14] <tterrag> .-.
L2455[20:43:32] <tterrag> btw since you
are in a TESR and color is constant
L2456[20:43:37] <tterrag> there isn't
much point to putting color in the buffer
L2457[20:43:46] <tterrag> just use
GlStateManager.color
L2458[20:44:17] <insaneau> still didn't
work
L2459[20:45:20] <williewillus> glcoloring
doesnt affect the tess btw
L2460[20:45:29] <tterrag> uwotm8
L2461[20:45:31] <tterrag> yes it
does
L2462[20:45:35] <tterrag> it affects
everything
L2463[20:45:46] <williewillus> no it
doesn't, try glcoloring then rendering a bakedmodel
L2464[20:46:13] <williewillus> at least
last time I checked
L2465[20:46:16] <williewillus> a couple
weeks ago :P
L2466[20:46:18] <tterrag> how exactly are
you rendering th ebaked model?
L2467[20:47:55] <williewillus> at one
point I copypasta'ed 4 methods from the
BlockModelRenderer/BlockRendererDispatcher
L2468[20:47:58] <williewillus> to remove
glcolors in there
L2469[20:48:02] <williewillus> and mine
still didn't apply
L2470[20:48:07] <williewillus> guess I
was doing it wrong then? :P
L2471[20:48:23] <tterrag> I don't see how
that could be...
L2472[20:48:29] <tterrag> either way,
it's irrelevant
L2473[20:48:37] <tterrag> insaneau: what
does your code look like now?
L2475[20:49:19] <insaneau> still just a
black square.
L2476[20:49:51] ***
williewillus is now known as willieaway
L2477[20:50:18] <tterrag> strange
L2478[20:50:26] <tterrag> what if you get
rid of the texture part
L2479[20:50:26] ***
willieaway is now known as williewillus
L2480[20:50:42] <vox> Such solar
panel
L2482[20:50:56]
⇨ Joins: FusionLord
(~FusionLor@ip70-190-239-223.ph.ph.cox.net)
L2483[20:51:08] <FusionLord> O.o public
void randomDisplayTick(IBlockState worldIn, World pos, BlockPos
state, Random rand)
L2484[20:51:08] <insaneau> The
TextureAtlasSprite?
L2485[20:51:21] <vox> tterrag and
Drullkus, look correct?
L2486[20:51:31] <vox> insaneau: It's for
connected textures
L2487[20:51:41] <tterrag> insaneau: no
just get rid of the texture part of the format
L2488[20:51:49] <tterrag> use
POSITION_COLOR_NORMAL if it exists
L2489[20:51:54] <tterrag> vox: yes
L2490[20:52:03] <insaneau> doesn't.
L2491[20:52:08] <tterrag> actually
no
L2492[20:52:09] <FusionLord> those names
tho
L2493[20:52:17] <tterrag> you don't want
the edge on the left
L2494[20:52:22] <vox> thanks tterrag! Now
to make it work in code :D
L2495[20:52:23] <williewillus> dammit my
mouse just died
L2496[20:52:32] <tterrag> insaneau: so
create it yourself :P
L2497[20:52:35] <vox> Those are 32x32
images, idk how well this will work
L2498[20:52:40] <insaneau> ...
L2499[20:52:59] <vox> williewillus: good
programmers don't need mice. There's hotkeys for everything
L2501[20:53:03] <williewillus> i
know
L2502[20:53:05] <williewillus> :P
L2503[20:53:22] <williewillus> i have vim
bindings on chrome and use i3, but still need it sometimes
L2504[20:53:25] <vox> Though scroll
wheels are awesome
L2505[20:53:30] <tterrag> insaneau: new
VertexFormat().addElement(POSITION_3F).addElement(COLOR_4UB).addElement(NORMAL_3B)
L2506[20:53:38] <tterrag> oh an dimport
static vertexelement.* :P
L2507[20:54:06] <tterrag> actually those
are stored in DefaultVertexFormats
L2508[20:55:07] <vox> Also, tterrag:
CTM?
L2509[20:55:15] <vox> Connected....
Texture... something?
L2510[20:55:20] <williewillus> Mod
L2511[20:55:21] <tterrag> mod? matrix?
map?
L2512[20:55:23] <tterrag> who knows
:D
L2513[20:55:23] <williewillus> it's an
old name
L2514[20:55:27] <tterrag> it was
originally mod though yeah
L2515[20:55:38] <vox> Okay
interesting
L2516[20:55:42] <tterrag> I'd go with
"map" for our current impl though
L2517[20:55:45] <tterrag> or
"mapping"
L2518[20:56:08] <vox> How should I credit
you for code?
L2519[20:56:19]
⇨ Joins: AimHigh935 (webchat@155.31.40.151)
L2520[20:56:26] <insaneau> "that guy
tterrag" should be fine.
L2521[20:56:38] <tterrag> credit is not
required, you just have to be GPL-compatible
L2522[20:56:49] <tterrag> if you want to
link to the original source though, that's fine
L2524[20:58:31] <Drullkus> vox: Uh
L2525[20:58:40] <Drullkus> Bottom left
corner texture on CTM
L2526[20:58:46] <Drullkus> You don't need
the border on the left side
L2527[20:59:27] <vox> Thanks for the
catch! Come on tterrag!
L2528[20:59:56] <Drullkus> lol
L2529[21:00:09] <tterrag> um, read up
dude
L2530[21:00:20] <tterrag> <tterrag>
actually no
L2531[21:00:20] <tterrag> <tterrag>
you don't want the edge on the left
L2532[21:00:22] <vox> whoops totally
missed that
L2533[21:00:29] <vox> Okay, I rescind my
comment
L2534[21:00:31] <vox> Also, "import
static"?
L2535[21:01:00] <insaneau> two
conversations going on at once :P
L2536[21:01:01] <tterrag> well now that's
interesting insaneau
L2537[21:01:12] <tterrag> seems like the
position gets corrupted somehow
L2538[21:01:19] <tterrag> maybe you are
overflowing or something
L2539[21:01:20] <tterrag> very odd
L2540[21:01:28]
⇦ Quits: qid (~david@cpe-172-101-73-28.buffalo.res.rr.com)
(Quit: leaving)
L2541[21:02:11] <tterrag> I don't see hwo
that's possible though
L2542[21:02:15] <tterrag> yeah I'm lost,
really. it should work
L2543[21:02:26] <tterrag> you can try the
format with LMAP but you shouldn't need it
L2544[21:03:45] <insaneau> oh wait i
fixed the ridiculous shot, there was a .putNormal
L2545[21:04:01]
⇨ Joins: baegmon
(webchat@CPE-60-225-55-120.nsw.bigpond.net.au)
L2546[21:04:14] <tterrag> .-.
L2547[21:04:31] <tterrag> are you not
showing the whole code? lol
L2548[21:04:40] <tterrag> oh at the end
there
L2549[21:04:50] <insaneau> line 51 of the
paste.
L2550[21:05:00] <tterrag> yeah you
basically jsut forced 0,1,0 into the beginning of the buffer I
believe
L2551[21:05:00] <insaneau> restoring the
TEX still isn't giving me a texture though
L2552[21:05:05] <tterrag> wait
L2553[21:05:09] <tterrag> so it worked
without the texture?
L2554[21:05:12] <tterrag> or it was still
black?
L2555[21:05:15] <insaneau> still
black
L2556[21:05:20] <tterrag> strange
L2557[21:05:28] <tterrag> I'd wait for
fry to be awake :/
L2558[21:05:32] <insaneau> ok
L2559[21:06:25]
⇦ Parts: baegmon
(webchat@CPE-60-225-55-120.nsw.bigpond.net.au) ())
L2560[21:06:44]
⇨ Joins: baegmon
(webchat@CPE-60-225-55-120.nsw.bigpond.net.au)
L2561[21:12:15] <Drullkus> vox: I'm just
used to catching those things because I've made at least 200 ctm
files :P
L2562[21:12:32] <vox> Lol fair
enough
L2563[21:13:00]
⇨ Joins: brandon3055 (~Brandon@122.129.140.1)
L2564[21:13:19] ***
williewillus is now known as willieaway
L2565[21:15:10] <vox> tterrag: where do
Axis and AxisDirection come from?
L2566[21:15:54] <vox> Nvm got it
L2567[21:16:14] <insaneau> wait
L2568[21:16:16] <insaneau> it's working
now
L2569[21:16:16] <insaneau> wtf
L2570[21:16:35]
⇨ Joins: asd
(~baegmon@CPE-60-225-55-120.nsw.bigpond.net.au)
L2571[21:16:40]
⇦ Quits: baegmon
(webchat@CPE-60-225-55-120.nsw.bigpond.net.au) (Quit: Web client
closed)
L2572[21:16:45]
⇦ Parts: asd (~baegmon@CPE-60-225-55-120.nsw.bigpond.net.au)
())
L2573[21:16:47]
⇨ Joins: asd
(~baegmon@CPE-60-225-55-120.nsw.bigpond.net.au)
L2574[21:17:11] <vox> Lombok?
L2575[21:17:35] <vox> Oh that's
cool
L2576[21:17:41] <vox> Idk, I'll write my
own constructors thanks
L2577[21:17:48] <vox> Very cool idea
though
L2578[21:18:49] <insaneau> tterrag: I
think the issue was that the texture wasn't getting saved on the
client... oops.
L2579[21:19:44]
⇦ Quits: blood_ (unknown@ool-4574115b.dyn.optonline.net)
()
L2580[21:19:44] <asd> hi everyone, I'm
trying to check if blockevent.placeevent is an instance of
ContainerChest but for some reason it isn't getting recognized,
could anyone take a look?
L2581[21:19:53] ***
asd is now known as baegmon
L2582[21:22:21]
⇨ Joins: sinkillerj
(~sinkiller@nc-67-232-14-71.dhcp.embarqhsd.net)
L2583[21:22:28] ***
willieaway is now known as williewillus
L2584[21:22:42] <williewillus> dang the
latest few snapshots really boosted my eprf
L2585[21:22:44] <williewillus>
*perf
L2587[21:24:34] <FusionLord> also is it
possible to disable mipmaps for a block in the .json and enable
transparent textures
L2588[21:25:02] <williewillus>
transparent textures are already possible
L2589[21:25:08] <williewillus> and
mipmapping is a settings slider
L2591[21:27:28] <williewillus> its
global
L2592[21:27:42] <FusionLord> ok so thats
a no
L2593[21:28:39] <FusionLord> and as for
the transparency why is there white... the texture is
transparent
L2594[21:28:55] <vox> Alright, night all.
Hope everyone has a great rest of their night/day/whenever I
guess!
L2596[21:29:11] ***
vox is now known as vox|sleep
L2597[21:29:12] <williewillus> hmm that
looks abnormal
L2598[21:29:17]
⇦ Parts: vox|sleep
(~voxmods@pool-71-178-241-173.washdc.fios.verizon.net)
(Leaving))
L2599[21:29:17] <williewillus> might be
the uv adjustment fry fixed
L2600[21:29:23] <williewillus> poke him
when he wakes up
L2602[21:30:21] <TehNut> baegmon:
ContainerChest isn't the block, it's the container. You'll want to
check instanceof BlockChest
L2603[21:31:32] <baegmon> Ah that sounds
about right, cheers for that
L2604[21:34:43]
⇦ Quits: Kaiyouka
(~IdiotNono@c-75-71-231-133.hsd1.co.comcast.net) (Ping timeout: 190
seconds)
L2605[21:37:12] <HassanS6000> What
replaced IFlexibleBakedModel in 1.9?
L2606[21:37:38] <HassanS6000> nvm
L2607[21:37:40] <HassanS6000> it was
removed
L2608[21:39:20] <baegmon> to track player
placed blocks (without using nbt), do you track the blocksnapshots?
Sorry If I seem to be asking noobish questions just trying to learn
all the core concepts that everyone is mentioning :P
L2609[21:39:32] <williewillus> wat
L2610[21:40:12] <baegmon> I thought
blocksnapshot tracks location? or am I completely wrong lol
L2611[21:41:32]
⇨ Joins: Naiten (~Naiten@82.162.0.65)
L2612[21:42:17] <williewillus> what are
you trying to achieve?
L2613[21:44:51] <tterrag> insaneau:
wasn't getting saved?
L2614[21:45:07] <insaneau> saved or sent
as it turns out. I am good at coding.
L2615[21:46:22] <baegmon> I'm just trying
to track all the blocks that player places and only allowing them
to break them. Previously I was tracking Block instances but was
made aware that it tracks all of that type and instead I should be
tracking every block position in the world....... which is what I
thought a blocksnapshot was doing haha
L2616[21:47:13] <williewillus> do you
want it to persist across saves?
L2617[21:48:35]
⇦ Quits: Drullkus (~Dru11kus@205.155.154.1) (Quit: brb
*poof*)
L2618[21:49:29] <baegmon> yea isn't that
what writeToNBT/readFromNBT do? for now I'm just trying to get it
working for myself
L2619[21:49:50] <williewillus> i guess
but you have to save that yourself
L2620[21:49:56] <williewillus> and i
don't think blocksnapshot fits your use
L2621[21:53:31] <baegmon> Ah maybe then
just track BlockPos?
L2622[21:53:34]
⇦ Quits: Naiten (~Naiten@82.162.0.65) (Read error: Connection
reset by peer)
L2623[21:54:34] <FusionLord> is
ClientRegistry.bindTileEntitySpecialRenderer still valid in
1.9?
L2624[21:59:35] <KnightMiner> Yep
L2625[21:59:43] <FusionLord> it is
iteresting that calling ClientRegistry on the server didn't
crash...
L2626[22:02:59] <FusionLord> I'm getting
a read out that it has been registered, but the renderTileEntityAt
isn't being called
L2627[22:10:09] <FusionLord> is there a
certain stage that i need to register the TESR in? is the mapping
getting reset?
L2628[22:11:47]
⇦ Quits: AimHigh935 (webchat@155.31.40.151) (Ping timeout:
195 seconds)
L2629[22:13:15] ***
Vigaro is now known as V
L2630[22:13:26] <tterrag> preinit
L2631[22:14:12]
⇨ Joins: P3pp3rF1y2
(~P3pp3rF1y@100-250-77-178-ptr.xsky.cz)
L2632[22:15:48]
⇨ Joins: Drullkus
(~Dru11kus@2601:646:8301:8947:1cac:1d10:1a37:144e)
L2633[22:16:29] <tterrag> I'm looking
into the feasibility of rendering short bits of video from a
mod
L2634[22:16:34] <tterrag> like a gif/vine
screenshot
L2635[22:16:48] <tterrag> can anyone
think of any way to do this? :P
L2636[22:18:05]
⇦ Quits: MattDahEpic
(~MattDahEp@174-16-188-51.hlrn.qwest.net) (Ping timeout: 384
seconds)
L2637[22:21:17] <FusionLord> ...
getRenderType has one for TESR huh?
L2638[22:22:21] <FusionLord> bout to lose
my cool
L2639[22:22:23] <FusionLord> lol
L2640[22:24:07]
⇦ Quits: KnightMiner
(~KnightMin@adsl-76-202-214-219.dsl.emhril.sbcglobal.net) (*.net
*.split)
L2641[22:24:07]
⇦ Quits: potato (~tiktalik@2607:fcd0:daaa:1400:f::4) (*.net
*.split)
L2642[22:24:07]
⇦ Quits: progwml6 (~progwml6@104.168.20.187) (*.net
*.split)
L2643[22:24:07]
⇦ Quits: Quetzi (~Q@qmunity.quetzi.tv) (*.net
*.split)
L2644[22:24:07]
⇦ Quits: SkySom (~SkySom@162.243.21.185) (*.net
*.split)
L2645[22:24:07]
⇦ Quits: core (~core@ilya.xxx) (*.net *.split)
L2646[22:24:07]
⇦ Quits: nith1210
(~nith1210@BAS19-MONTREAL02-1279345890.dsl.bell.ca) (*.net
*.split)
L2647[22:24:07]
⇦ Quits: LexMobile (sid15621@id-15621.highgate.irccloud.com)
(*.net *.split)
L2648[22:24:07]
⇦ Quits: Watchful1 (sid67384@2604:8300:100:200b:6667:4:1:738)
(*.net *.split)
L2649[22:24:07]
⇦ Quits: gratimax (~gratimax-@irc.gratimax.net) (*.net
*.split)
L2650[22:24:07]
⇦ Quits: ProfMobius (~kickban@2a01:4f8:160:2372::2) (*.net
*.split)
L2651[22:24:07]
⇦ Quits: Lord_Ralex (~Ralex@i.am.a.devilincarnate.net) (*.net
*.split)
L2652[22:24:25]
⇨ Joins: Tiktalik
(~tiktalik@2607:fcd0:daaa:1400:f::4)
L2653[22:24:26]
⇨ Joins: SkySom (~SkySom@162.243.21.185)
L2654[22:24:27]
⇨ Joins: Watchful1
(sid67384@id-67384.tooting.irccloud.com)
L2655[22:24:31]
⇨ Joins: Lord_Ralex
(~Ralex@i.am.a.devilincarnate.net)
L2656[22:24:32]
⇨ Joins: Quetzi (~Q@qmunity.quetzi.tv)
L2657[22:24:33]
⇨ Joins: core (~core@ilya.xxx)
L2658[22:24:37]
⇨ Joins: LexMobile
(sid15621@2604:8300:100:200b:6667:1:0:3d05)
L2659[22:24:38]
MineBot sets mode: +o on LexMobile
L2660[22:24:42]
⇨ Joins: KnightMiner
(~KnightMin@adsl-76-202-214-219.dsl.emhril.sbcglobal.net)
L2661[22:24:50]
⇨ Joins: progwml6 (~progwml6@104.168.20.187)
L2662[22:25:00]
⇨ Joins: gratimax (~gratimax-@irc.gratimax.net)
L2663[22:27:32]
⇨ Joins: McJty
(~jorrit@94-225-203-206.access.telenet.be)
L2664[22:28:08] <FusionLord> nope that
wasn't it
L2665[22:28:24] <FusionLord> I don't
understand why my TESR isn't working.
L2666[22:29:45]
⇦ Quits: baegmon
(~baegmon@CPE-60-225-55-120.nsw.bigpond.net.au) ()
L2667[22:38:27]
⇦ Quits: Kodos
(~Kodos@2602:306:ce20:6c30:48a5:5a7a:525b:406c) (Quit:
Leaving)
L2668[22:47:06] <FusionLord>
@SideOnly(Side.CLIENT) will prevent a method from firing on the
server right?
L2669[22:47:12] <williewillus> no
L2670[22:47:23] <williewillus> read my
rtd on sides
L2671[22:47:50] <williewillus> chances
are if you need something done 99.9% of the time SideOnly is not
the right tool
L2672[22:48:34] <tterrag> if you THINK
it's the right tool, I can guarantee it's not :P
L2673[22:49:15] <williewillus> wtf theres
an invisible zombie or something that's attacking me and giving me
knockback
L2674[22:49:19] <williewillus> but I
don't see damage
L2675[22:49:51] <williewillus> oh lol it
was an infernal mob
L2676[22:51:23]
⇦ Quits: Lathanael (~Lathanael@p54960619.dip0.t-ipconnect.de)
(Ping timeout: 190 seconds)
L2677[22:52:17] <FusionLord> well I'm
only calling client side methods on client, via proxy, does that
even matter if the class has an imiport to a client only
class?
L2678[22:53:06] <williewillus> imports
are syntactic sugar
L2679[22:53:32] <FusionLord> meaning not
imported until needed?
L2680[22:53:44]
⇨ Joins: Lathanael|Away
(~Lathanael@p54961106.dip0.t-ipconnect.de)
L2681[22:53:46] <williewillus> no,
meaning the at runtime the idea of an "import" does not
exist
L2682[22:54:02] <williewillus> it purely
is so you don't have to type the full name of everything
L2683[22:54:50] <FusionLord> ok so import
doesn't load the class
L2684[22:55:04] <FusionLord> then I need
to figure out why it is trying to load a client class
L2685[22:56:29] <williewillus> post
code
L2686[22:56:42] <williewillus> maybe log
too
L2687[22:57:37] <williewillus> who makes
the 1.9 item scrolly mod?
L2688[22:57:39] <williewillus> it's
brokjen
L2689[22:57:55] <tterrag> item what
now
L2690[22:58:31] <killjoy> jei?
L2691[22:58:34] <killjoy> that would be
mezz
L2692[22:58:35] <williewillus> no
L2693[22:58:40] <williewillus> that's not
in jei
L2694[22:58:45] <williewillus> it's
another mod, lemme see
L2695[22:59:02] <williewillus> oh
masa
L2696[22:59:13] <williewillus> scrolling
puts half the stack in my hand
L2697[22:59:17] <williewillus> and then
starts doing one by one
L2699[23:01:45] <williewillus> show your
ModBlocks class
L2700[23:01:56] <williewillus> and that
class is probably loading client classes
L2701[23:02:13] <FusionLord> not that
method.
L2702[23:02:20] <williewillus> i meant
modblocks
L2703[23:02:21] <williewillus> show
that
L2704[23:02:28] <williewillus> modblocks
is loading client classes
L2706[23:03:04] <williewillus> oh god my
eyes all the sideonly
L2707[23:03:09] <williewillus> what's the
point of having proxies
L2708[23:03:14]
⇦ Quits: Stiforr (~Stiforr@ip72-216-8-185.pn.at.cox.net)
(Quit: Leaving)
L2709[23:03:15] <williewillus> if you
just throw it all into one class
L2710[23:03:16]
⇦ Quits: diesieben07
(~diesieben@2001:19f0:6400:8965:5400:ff:fe07:8777) (Ping timeout:
186 seconds)
L2711[23:03:16]
⇦ Quits: luacs1998 (~miyamoto@abrarsyed.com) (Ping timeout:
186 seconds)
L2712[23:03:22] <williewillus> call that
rendering stuff separately
L2713[23:03:25] <williewillus> from
clientproxy
L2714[23:03:29] <FusionLord> I AM!
L2715[23:03:39] <williewillus> put it in
another class
L2716[23:03:42] <FusionLord> that was me
testing something and never changed it
L2717[23:03:43] <FusionLord> no
L2718[23:03:44] <williewillus> separation
of concerns
L2719[23:03:47] <FusionLord> ok
L2720[23:03:55] <tterrag> proxy doesn't
really make much sense for that kind of stuff either
L2721[23:04:04]
⇦ Quits: Cazzar (~CazzarZNC@vocaloid.lovers.at.cazzar.net)
(Ping timeout: 186 seconds)
L2722[23:04:04]
⇦ Quits: Abrar|gone (~AbrarSyed@ipv6.abrarsyed.com) (Ping
timeout: 186 seconds)
L2723[23:04:07] <tterrag> imo
L2724[23:04:10] <williewillus> either way
sideonly isn't the answer
L2725[23:04:14] <tterrag> no definitely
not
L2726[23:05:03] <tterrag> ooook
L2727[23:05:07]
⇦ Quits: Dries007 (~DriesZNC@abrarsyed.com) (Ping timeout:
384 seconds)
L2728[23:05:14] <tterrag> I am getting a
NoSuchFieldError on a library field which definitely exists
L2729[23:05:18] <tterrag> its like the
library is out of date
L2730[23:05:22] <tterrag> but I have no
idea how that could be
L2731[23:05:22] <williewillus> ide
derpage?
L2732[23:05:30] <tterrag> I refreshed the
project
L2733[23:05:36] <tterrag> wait, maybe the
run config is scrweed up
L2734[23:05:41]
⇦ Quits: Wuppy (~wuppyZNC@abrarsyed.com) (Ping timeout: 384
seconds)
L2735[23:05:41]
⇦ Quits: Reika (~Reika@reika.kalseki.mods.abrarsyed.com)
(Ping timeout: 384 seconds)
L2736[23:05:58]
⇨ Joins: Abrar|gone
(~AbrarSyed@ipv6.abrarsyed.com)
L2737[23:05:58]
MineBot sets mode: +o on Abrar|gone
L2738[23:06:10]
⇨ Joins: Reika
(~Reika@reika.kalseki.mods.abrarsyed.com)
L2739[23:06:21] <tterrag> I think that
was it
L2740[23:06:26] ***
Abrar|gone is now known as AbrarSyed
L2741[23:06:30]
⇨ Joins: Cazzar
(~CazzarZNC@vocaloid.lovers.at.cazzar.net)
L2742[23:06:49]
⇨ Joins: diesieben07
(~diesieben@2001:19f0:6400:8965:5400:ff:fe07:8777)
L2743[23:07:15]
⇨ Joins: Wuppy
(~wuppyZNC@2001:19f0:6400:8965:5400:ff:fe07:8777)
L2744[23:08:30]
⇦ Quits: Girafi (Girafi@0x555178eb.adsl.cybercity.dk) (Read
error: Connection reset by peer)
L2745[23:08:45] <FusionLord> so
seperating the registering and renderRegistering fixed the server
crash, now I just need to figure out why my TESRS aren't
working
L2746[23:09:46] <williewillus> define not
working
L2747[23:11:49] <FusionLord> it
registers,
TileEntityRendererDispatcher.instance.getSpecialRendererByClass(tileEntityClass)
returns the TESR, but a System.out.println() in the
renderTileEntityAt doesn't print
L2748[23:12:52]
⇦ Quits: diesieben07
(~diesieben@2001:19f0:6400:8965:5400:ff:fe07:8777) (Ping timeout:
186 seconds)
L2749[23:12:52]
⇦ Quits: Reika (~Reika@reika.kalseki.mods.abrarsyed.com)
(Ping timeout: 186 seconds)
L2750[23:13:10] <williewillus> what are
you returning for Block.getRenderType
L2751[23:13:37]
⇦ Quits: Cazzar (~CazzarZNC@vocaloid.lovers.at.cazzar.net)
(Ping timeout: 384 seconds)
L2752[23:13:46] <FusionLord> MODEL same
as the enchanting table which has a TESR
L2753[23:14:11]
⇦ Quits: Wuppy
(~wuppyZNC@2001:19f0:6400:8965:5400:ff:fe07:8777) (Ping timeout:
384 seconds)
L2754[23:14:21] <McJty> Perhaps show some
code
L2755[23:14:30] <williewillus> he already
did
L2756[23:14:35] <McJty> Ah missed
that
L2757[23:14:40] <williewillus> idk what's
happening if you say the TESR is registered
L2758[23:15:01] <williewillus> those get
called without fail unless your rendertype is not 2/3
L2760[23:15:47] <williewillus> take
sideonly off the tesr, irrelevant to the issue at hand but thats
terrible practice
L2761[23:15:55] <McJty> Which block is
it?
L2762[23:16:27]
⇦ Quits: AbrarSyed (~AbrarSyed@ipv6.abrarsyed.com) (Ping
timeout: 384 seconds)
L2763[23:16:48] <FusionLord>
williewillus, I just did, cleared out all of them
L2765[23:17:23] <williewillus> why the
getRender() thing at all?
L2766[23:17:26] <FusionLord>
williewillus, why?
L2767[23:17:36] <williewillus> Blocks are
common classes
L2768[23:18:10] <McJty> FusionLord, there
is only one block instance of every block
L2769[23:18:27] <williewillus> he knows
that
L2770[23:18:31] <williewillus> thats not
the issue i think
L2771[23:18:35] <williewillus> i actually
dk
L2772[23:19:06] <FusionLord>
williewillus, it might, I may be setting it to null by mistake I'll
move the instance into the TESR
L2773[23:19:20]
⇨ Joins: Abrar|gone
(~AbrarSyed@ipv6.abrarsyed.com)
L2774[23:19:20]
⇨ Joins: diesieben07 (~diesieben@abrarsyed.com)
L2775[23:19:20]
MineBot sets mode: +o on Abrar|gone
L2776[23:19:22] <tterrag> it's bad
separation of concerns
L2777[23:19:23] <williewillus> why do you
need to keep it around at all?
L2778[23:19:25] <tterrag> I said this
initially
L2779[23:19:32]
⇨ Joins: Cazzar
(~CazzarZNC@vocaloid.lovers.at.cazzar.net)
L2780[23:19:41] <williewillus> most
people just do ClientRegistry.bindTesr(TE class, new TESR())
L2781[23:19:43] <williewillus> and are
done with it
L2782[23:19:48] ***
Abrar|gone is now known as AbrarSyed
L2783[23:19:52]
⇨ Joins: Wuppy (~wuppyZNC@abrarsyed.com)
L2784[23:19:53] <williewillus> there's no
need to keep the ref around
L2785[23:20:32] <FusionLord>
williewillus, because it is also a IResourceManagerReloadListener
so I need to register that as well
L2786[23:20:43]
⇨ Joins: Reika
(~Reika@reika.kalseki.mods.abrarsyed.com)
L2787[23:21:25] <williewillus> can't you
just do that in the ctor?
L2788[23:25:40] ***
williewillus is now known as willieaway
L2789[23:26:33]
⇦ Quits: McJty (~jorrit@94-225-203-206.access.telenet.be)
(Quit: Leaving)
L2790[23:26:46] <tterrag> yes
L2791[23:26:48] <tterrag> :P
L2792[23:27:09] <tterrag> but also MyTESR
foo; bindTesr(foo); registerReloadListener(foo);
L2793[23:27:15] <tterrag> it's not hard
.-.
L2794[23:28:27]
⇦ Quits: diesieben07 (~diesieben@abrarsyed.com) (Ping
timeout: 201 seconds)
L2795[23:28:42]
⇨ Joins: diesieben07
(~diesieben@2001:19f0:6400:8965:5400:ff:fe07:8777)
L2796[23:28:55]
⇦ Quits: Noc7is (~Noc7is@ip68-106-209-192.om.om.cox.net)
(Ping timeout: 384 seconds)
L2797[23:29:07] <FusionLord> ok
registering the reloaded in the class, and the getRender() is just
return a new TESR...()
L2798[23:29:34]
⇦ Quits: KnightMiner
(~KnightMin@adsl-76-202-214-219.dsl.emhril.sbcglobal.net) (Quit:
Leaving)
L2799[23:30:56]
⇨ Joins: Temportalist
(uid37180@id-37180.charlton.irccloud.com)
L2800[23:32:39]
⇨ Joins: Kaiyouka
(~IdiotNono@c-75-71-231-133.hsd1.co.comcast.net)
L2801[23:32:40] <tterrag> no...get rid of
getRender()
L2802[23:33:13] <FusionLord> no I won't
there is no reason to get rid of it.
L2803[23:33:46] <tterrag> I've said the
reason 3 times now
L2804[23:33:51] <tterrag> it is bad
separation of concerns
L2805[23:34:00] <tterrag> the block
should not know or care about its rendering
L2806[23:34:43]
⇦ Quits: sinkillerj
(~sinkiller@nc-67-232-14-71.dhcp.embarqhsd.net) (Quit:
またね)
L2807[23:34:56] <FusionLord> well I'm not
writting out 1000 lines of register(TE, new TESR()) that is why I
setup the refelection to render my blocks
L2808[23:35:20] <FusionLord>
register*
L2809[23:35:36] <tterrag>
reflection??
L2810[23:36:16] <capitalthree> D:
L2812[23:39:17] <capitalthree> oh my god
what
L2813[23:39:23] *
capitalthree dies instantly
L2814[23:39:41]
⇨ Joins: Wastl2
(~Wastl2@x4e3529c8.dyn.telefonica.de)
L2815[23:39:47] <tterrag> No and I wish I
could go back in time to before I did
L2816[23:40:00] <capitalthree> bring me
with you, so I can un-die
L2817[23:40:20] <tterrag> sorry, your
time line is fixed
L2818[23:40:43]
⇦ Quits: Kaiyouka
(~IdiotNono@c-75-71-231-133.hsd1.co.comcast.net) (Ping timeout: 190
seconds)
L2819[23:41:00] <FusionLord> why are you
acting like it is the worst thing in the world, there is nothing
wrong with it
L2820[23:41:18] <capitalthree> no, you
are wrong, there *is* something wrong with it
L2821[23:41:23] <capitalthree> 1) you are
using reflection
L2822[23:41:27] <capitalthree> 2) for
something dumb
L2823[23:42:00]
⇨ Joins: Kolatra (~Kolatra@abrarsyed.com)
L2824[23:42:06] <FusionLord> 1) there is
a reason for refelection, 2) its not dumb, 3) do what I want
L2825[23:42:32] <FusionLord> reguardless,
it isn't the problem at hand
L2826[23:42:37]
⇦ Quits: Shukaro (~Shukaro@130.108.232.236) (Read error:
Connection reset by peer)
L2827[23:42:40] <capitalthree> the reason
for reflection is debugging and test code and dynamic loading
L2828[23:42:53] <capitalthree> let me
tell you how to fix it
L2829[23:43:11] <capitalthree> 1) make an
array literal of your Blocks
L2830[23:43:15] <capitalthree> 2) use
foreach
L2831[23:43:42] <capitalthree> obviously
I never advocate having 100 lines that are nearly the same
L2832[23:44:07] <capitalthree> but the
amount of error handling in your reflection takes more lines than
the proper solution
L2833[23:45:07] <tterrag> or something
sensible like annotations which can be processed far easier
L2834[23:45:15] <tterrag> and provide
extra information
L2835[23:45:19] <capitalthree> yeah doing
it with annotations is great too
L2836[23:45:23] <capitalthree> I support
this
L2837[23:45:37] <TehNut> I do it with
annotations
L2838[23:45:42] <FusionLord> how would
you make that array 100 lines of add(x), same issue
L2840[23:47:04] <TehNut> could probably
get cleaned up a bit
L2841[23:47:38] <TehNut> I'll probably
regret linking that, but meh
L2842[23:49:13] <FusionLord> are you
kidding me, all I ever hear from lex is use refelection, and NEVER
USE ASM! clearly looks like you are using ASM
L2843[23:49:36] <tterrag> he's not
L2844[23:49:36] <TehNut> I am using FML
provided methods of gathering annotation data
L2845[23:49:51] <killjoy> so asm is bad?
I think binary patching is worse
L2846[23:50:05] <killjoy> Necessary evil
or something
L2847[23:52:22] <FusionLord> so what it
does is refelects through all classes and looks for classes with an
annotation? how is that any better than just refelection the Fields
in 1 class
L2848[23:53:07] <TehNut> It does that
long before it reaches you
L2849[23:53:37] ***
mrkirby153 is now known as kirby|gone
L2850[23:54:04] <tterrag> yes, but also
that's not what it does at all
L2851[23:54:15] <FusionLord> I guess I
fail to see where that is better
L2852[23:55:07] <tterrag> what happens if
you add a non-block field to ModBlocks?
L2853[23:55:32] <FusionLord> it doesn't
collect it
L2854[23:55:46] <FusionLord> I'm checking
to make sure that it is a block
L2855[23:55:59] <FusionLord> you didn't
even read the methood
L2856[23:57:27] <FusionLord> I did fix
one mistake I cached the list, because now I am calling it more
than once. so that should help with any(if there were any)
performance issues