<<Prev
Next>>
Scroll to Bottom
Stuff goes here
L1[00:01:54] ⇦
Quits: bilde2910|away (bilde2910@51.174.170.178) (Ping timeout: 186
seconds)
L2[00:04:14] <killjoy> I feel like making a
subreddit for formula 409
L3[00:04:26] <killjoy> and then
formula410
L4[00:05:46] ⇦
Quits: shadekiller666 (~shadekill@108.80.79.166) (Read error:
Connection reset by peer)
L5[00:05:47] ⇨
Joins: bilde2910|away (bilde2910@51.174.170.178)
L6[00:06:33] ***
bilde2910|away is now known as bilde2910
L7[00:07:28] ⇨
Joins: MindWorX
(~MindWorX@0x3ec639b7.inet.dsl.telianet.dk)
L8[00:08:54] <MindWorX> Is there a guid
somewhere on how to properly handle optional mods? Someone
requested a more versatile fluid support for a mod, depending on
which mods are available.
L9[00:08:57] <MindWorX> guide*
L10[00:09:34] <tterrag> optional mods in
what way?
L11[00:09:41] ⇨
Joins: SatanicSanta
(~SatanicSa@c-76-115-175-15.hsd1.or.comcast.net)
L12[00:09:43] <killjoy> make an api for it.
have the mod in question implement it
L13[00:09:49] <killjoy> that's how i'd do
it
L14[00:09:55] <tterrag> good luck with that
if you aren't a super popular mod :P
L15[00:09:59] <MindWorX> I guess what I
need is a way to check if a mod is present. And also ensure that my
mod loads after the other mods.
L16[00:10:04] <tterrag>
Loader.isModLoaded
L17[00:10:06] <killjoy> @Optional
L18[00:10:11] <tterrag> dependencies can be
specified in the @Mod
L19[00:10:16] <tterrag> killjoy: that's a
last resort
L20[00:10:23] <tterrag> only really to be
used when implementing interfaces
L21[00:10:26] <MindWorX> Alright, I'll give
those a try.
L22[00:10:36] <tterrag> really, don't use
@Optional for everything
L23[00:10:44] <MindWorX> Alright
L24[00:10:44] <tterrag> it, much like the
other ASM annotations, should be used sparingly
L25[00:12:49] ⇨
Joins: CoolerExtreme__ (~CoolerExt@117.207.160.150)
L26[00:13:12] ⇦
Quits: tekacs (~tekacs@tekacs.com) (Ping timeout: 192
seconds)
L27[00:13:16] ⇨
Joins: Cojosan
(~Cojo@2606:a000:1126:8048:e069:bb93:c78f:5400)
L28[00:13:38] ⇦
Quits: mrkirby153 (mrkirby153@the.government.stole-your.pw) (Ping
timeout: 186 seconds)
L29[00:14:05] <MindWorX> Oh, the mod I'm
extending still uses 1399. Seems a little old to be worth
supporting. Or is this not an issue?
L30[00:14:05] ⇨
Joins: Cooler (~CoolerExt@117.207.160.150)
L31[00:14:20] ⇦
Quits: MarcoSlater (~MarcoSlat@marta.marcoslater.com) (Ping
timeout: 192 seconds)
L32[00:14:54] ⇦
Quits: Cojo (~Cojo@2606:a000:1126:8048:e069:bb93:c78f:5400) (Ping
timeout: 192 seconds)
L33[00:15:26] ⇦
Quits: CoolerExtreme (~CoolerExt@117.207.160.150) (Ping timeout:
190 seconds)
L34[00:15:49] ⇦
Quits: Ri5ux (~Ri5ux@cpe-76-84-93-65.neb.res.rr.com) (Remote host
closed the connection)
L35[00:16:02] ⇨
Joins: MarcoSlater (~MarcoSlat@marta.marcoslater.com)
L36[00:16:16] ⇦
Quits: CoolerExtreme__ (~CoolerExt@117.207.160.150) (Ping timeout:
190 seconds)
L37[00:16:23] ⇨
Joins: tekacs (~tekacs@tekacs.com)
L38[00:16:31] ⇨
Joins: michael_
(~michael_@89-138-123-12.bb.netvision.net.il)
L39[00:17:07] ***
TehNut|Gone is now known as TehNut
L40[00:18:19] ⇦
Quits: michael_ (~michael_@89-138-123-12.bb.netvision.net.il)
(Client Quit)
L41[00:19:05] ⇨
Joins: spaceemotion
(~spaceemot@f054098170.adsl.alicedsl.de)
L42[00:22:50] ⇦
Quits: spaceemotion (~spaceemot@f054098170.adsl.alicedsl.de) (Ping
timeout: 192 seconds)
L43[00:25:12] ⇦
Quits: Cojosan (~Cojo@2606:a000:1126:8048:e069:bb93:c78f:5400)
(Read error: Connection reset by peer)
L44[00:27:20] ⇨
Joins: calclavia (uid15812@richmond.irccloud.com)
L45[00:27:57] ⇨
Joins: Hassan
(~Hassan@pool-173-79-220-242.washdc.fios.verizon.net)
L46[00:30:01] ⇦
Quits: HassanS6000
(~Hassan@pool-173-79-220-242.washdc.fios.verizon.net) (Ping
timeout: 190 seconds)
L47[00:33:02] ⇦
Quits: ollieread (~ollieread@2a01:7e00::f03c:91ff:feae:5b6) (Ping
timeout: 195 seconds)
L48[00:33:37] ⇦
Quits: MarcoSlater (~MarcoSlat@marta.marcoslater.com) (Ping
timeout: 195 seconds)
L49[00:35:57] ***
kroeser|away is now known as kroeser
L50[00:36:04] ⇨
Joins: MarcoSlater (~MarcoSlat@marta.marcoslater.com)
L51[00:36:05] ⇨
Joins: ollieread
(~ollieread@2a01:7e00::f03c:91ff:feae:5b6)
L52[00:36:18] ***
AbrarSyed is now known as Abrar|gone
L53[00:38:08] ⇦
Quits: killjoy (~killjoy@2606:a000:1118:c13d:b839:9933:45cf:a09b)
(Ping timeout: 192 seconds)
L54[00:45:28] ***
kroeser is now known as kroeser|away
L55[00:46:12] ***
willieaway is now known as williewillus
L56[00:48:58] ⇨
Joins: HassanS6000
(~Hassan@pool-173-79-220-242.washdc.fios.verizon.net)
L57[00:49:26] <MindWorX> "(see
modloader's "priorities" string
specification)"
L58[00:49:29] <MindWorX> Where do I find
that?
L59[00:49:43] <tterrag> ehh nowhere
L60[00:49:49] <tterrag> that javadoc really
needs to be changed
L61[00:49:56] <tterrag> if you want to load
after something, it's just after:modid
L62[00:50:00] <MindWorX> Okay
L63[00:50:01] ⇦
Quits: Hassan (~Hassan@pool-173-79-220-242.washdc.fios.verizon.net)
(Ping timeout: 190 seconds)
L64[00:50:05] <MindWorX> ; seperated?
L65[00:50:13] <tterrag> yes
L66[00:50:20] <MindWorX> Alright
L67[00:50:24] <williewillus> lol I love the
ancient javadocs that haven't been updated in internet
decades
L68[00:50:44] <MindWorX> Yeah,
documentation is a pain.
L69[00:50:52] <MindWorX> It's straight
forward mostly, but it's just a lot of work.
L70[00:51:16] <tterrag> well, it just takes
one person to make a PR for it
L71[00:51:41] <MindWorX> Is conditionally
adding items a bad idea? I've noticed most "bridging"
mods will add items even if they aren't used.
L72[00:51:55] <tterrag> not really,
no
L73[00:51:58] <tterrag> it's done quite a
bit
L74[00:52:07] <MindWorX> Alright, I'll do
that then
L75[00:52:18] <MindWorX> No need to clutter
NEI or similar
L76[00:52:55] <Falkreon> Yeah. The only
caveat I can think of is if, in a running server, that condition
ever winds up being false, it basically deletes any of the item
that currently exist.
L77[00:53:08] <tterrag> well the game warns
on missing items/blocks
L78[00:53:11] <Falkreon> yep
L79[00:53:21] <Falkreon> it's a really,
*really* rare edge case
L80[00:53:22] <tterrag> and if you removed
a mod you are probably prepared for that :P
L81[00:53:23] ⇦
Quits: Temportalist (uid37180@id-37180.charlton.irccloud.com)
(Quit: Connection closed for inactivity)
L82[00:53:26] <Falkreon> exactly.
L83[00:54:35] <Falkreon> On another note,
I'm kind of disappointed that most ISO/IEC specs are
for-moneys.
L84[00:54:54] <Falkreon> this is why I like
RFCs
L85[00:54:55] <MindWorX> Should I just
exclusively use @Mod? What about the mcmod.info file?
L86[00:55:05] <tterrag> what about
it?
L87[00:55:17] <MindWorX> Well, it has a
dependencies field as well
L88[00:55:19] <Falkreon> mcmod.info lets
you supply a description and an image
L89[00:55:32] <Falkreon> but generally, if
you don't touch anything else, @Mod overrides mcmod.info
L90[00:55:38] <Falkreon> the fields in @Mod
that is
L91[00:55:52] <MindWorX> Fair enough
L92[00:56:11] <Falkreon> I usually have
both - mod name, version, and modid in @Mod and the rest in
info
L93[00:56:33] <TehNut> The info file is
only used for the ingame modlist IIRC
L94[00:56:42] <TehNut> it doesn't actually
do anything for you
L95[00:57:03] <Falkreon> it does do
something for you: It gives you snarky descriptions in the ingame
modlist
L96[00:57:05] <Falkreon> :D
L97[00:57:40] <Falkreon> I love the
modlist, I wish we used it more/better
L98[00:58:46] <Falkreon> I kind of wish we
binned exceptions from known modContainers in there, it'd be
massively handy.
L99[00:59:06] <Falkreon> and I *know* that
Forge is mod-aware in ways that would allow it.
L100[01:00:51] <MindWorX> Alright, so I'm
using "after" for optional mods and
"required-after" for required mods?
L101[01:00:56] <Falkreon> ehh... so many
things I wish I just had time to make PRs for.
L102[01:01:01] <Falkreon> mindworx-
yep.
L103[01:01:06] <Falkreon> well
L104[01:01:17] <Falkreon> iirc that
doesn't actually define dependencies, just order.
L105[01:01:22] <Falkreon> brb
L106[01:01:27] <tterrag> um, no
L107[01:01:39] <tterrag> MindWorX: you're
exactly right
L108[01:01:46] <Falkreon> huh. I learned
something new.
L109[01:02:24] <MindWorX> Nice, looks like
it's working. :)
L110[01:03:04] ⇦
Quits: MattDahEpic (~MattDahEp@75-166-140-155.hlrn.qwest.net) (Ping
timeout: 192 seconds)
L111[01:06:01] <Falkreon> ah. It used to
be that you needed to use the requiredMods field in mcmod.info, I'm
assuming dependencies in @Mod overrides both requiredMods and
dependencies
L112[01:06:13] <Falkreon> that's what I'm
remembering.
L113[01:06:33] <Falkreon> (I use all soft
dependencies so it's been AGES ^_^)
L114[01:10:10]
⇨ Joins: CoolerExtreme
(~CoolerExt@117.207.160.150)
L115[01:12:42] ⇦
Quits: Cooler (~CoolerExt@117.207.160.150) (Ping timeout: 195
seconds)
L116[01:27:27]
⇨ Joins: Hassan
(~Hassan@pool-173-79-220-242.washdc.fios.verizon.net)
L117[01:29:36] ⇦
Quits: HassanS6000
(~Hassan@pool-173-79-220-242.washdc.fios.verizon.net) (Ping
timeout: 190 seconds)
L118[01:30:00] ***
Keridos is now known as Keridos|away
L119[01:32:32] ⇦
Quits: MarcoSlater (~MarcoSlat@marta.marcoslater.com) (Ping
timeout: 192 seconds)
L120[01:33:07] ⇦
Quits: tekacs (~tekacs@tekacs.com) (Ping timeout: 195
seconds)
L121[01:33:48] ⇦
Quits: ollieread (~ollieread@2a01:7e00::f03c:91ff:feae:5b6) (Ping
timeout: 189 seconds)
L122[01:35:13]
⇨ Joins: MarcoSlater
(~MarcoSlat@marta.marcoslater.com)
L123[01:35:30]
⇨ Joins: kirby|gone
(mrkirby153@the.government.stole-your.pw)
L124[01:35:33] ***
kirby|gone is now known as mrkirby153
L125[01:35:42]
⇨ Joins: ollieread
(~ollieread@2a01:7e00::f03c:91ff:feae:5b6)
L126[01:41:14]
⇨ Joins: tekacs (~tekacs@tekacs.com)
L127[01:48:46] ⇦
Quits: Hassan (~Hassan@pool-173-79-220-242.washdc.fios.verizon.net)
(Ping timeout: 190 seconds)
L128[01:49:40] ***
kroeser|away is now known as kroeser
L129[01:51:17]
⇨ Joins: tambre
(~tambre@2fcf-bb57-e18a-f9eb-4301-8a22-07d0-2001.dyn.estpak.ee)
L130[01:51:45] ***
kroeser is now known as kroeser|away
L131[01:52:19] ⇦
Quits: ollieread (~ollieread@2a01:7e00::f03c:91ff:feae:5b6) (Ping
timeout: 186 seconds)
L132[01:52:22] ⇦
Quits: MarcoSlater (~MarcoSlat@marta.marcoslater.com) (Ping
timeout: 192 seconds)
L133[01:53:15] ***
williewillus is now known as willieaway
L134[01:53:22] ⇦
Quits: mrkirby153 (mrkirby153@the.government.stole-your.pw) (Ping
timeout: 186 seconds)
L135[01:53:30] ⇦
Quits: tekacs (~tekacs@tekacs.com) (Ping timeout: 192
seconds)
L136[01:54:41]
⇨ Joins: MarcoSlater
(~MarcoSlat@marta.marcoslater.com)
L137[01:54:44]
⇨ Joins: ollieread
(~ollieread@2a01:7e00::f03c:91ff:feae:5b6)
L138[01:55:34]
⇨ Joins: tekacs (~tekacs@tekacs.com)
L139[01:55:39] ***
willieaway is now known as williewillus
L140[01:59:56] ***
williewillus is now known as willieaway
L141[02:00:03] <MCPBot_Reborn> [TEST CSV]
Pushing snapshot_20151227 mappings to Forge Maven.
L142[02:00:06] <MCPBot_Reborn> [TEST CSV]
Maven upload successful for mcp_snapshot-20151227-1.8.8.zip
(mappings = "snapshot_20151227" in build.gradle).
L143[02:00:17] <MCPBot_Reborn> Semi-live
(every 10 min), Snapshot (daily ~3:00 EST), and Stable (committed)
MCPBot mapping exports can be found here:
http://export.mcpbot.bspk.rs/
L144[02:11:48] ***
kroeser|away is now known as kroeser
L145[02:12:06] ⇦
Quits: SmashShock
(~drake@nwcsnbsc03w-047054162090.dhcp-dynamic.fibreop.nb.bellaliant.net)
(Ping timeout: 190 seconds)
L146[02:12:33]
⇨ Joins: CoolerExtreme__
(~CoolerExt@117.207.160.150)
L147[02:14:28] ⇦
Quits: tekacs (~tekacs@tekacs.com) (Ping timeout: 192
seconds)
L148[02:15:02] ⇦
Quits: MarcoSlater (~MarcoSlat@marta.marcoslater.com) (Ping
timeout: 192 seconds)
L149[02:15:26] ⇦
Quits: CoolerExtreme (~CoolerExt@117.207.160.150) (Ping timeout:
190 seconds)
L150[02:15:42] ⇦
Quits: ollieread (~ollieread@2a01:7e00::f03c:91ff:feae:5b6) (Ping
timeout: 195 seconds)
L151[02:17:14]
⇨ Joins: Rushmead
(~quassel@host86-154-52-170.range86-154.btcentralplus.com)
L152[02:18:45] <masa> ugh ffs, there are
suppreswarnings unuseds added to the copypasted __OBFID strings in
this mod ;_;
L153[02:19:12] <masa> also I found this
from the world gen stuff: blocks[j3 += short1] = null;//this is the
air block i think.
L154[02:19:41]
⇨ Joins: spaceemotion
(~spaceemot@f054098170.adsl.alicedsl.de)
L155[02:21:06] <xaero> __OBFID in mods
>_<
L156[02:21:16] ⇦
Quits: Doty1154 (~Doty1154@2601:648:8002:ea78:d417:45ae:43d4:acd)
(Read error: Connection reset by peer)
L157[02:21:38] <masa> yep...
L158[02:22:12] ***
kroeser is now known as kroeser|away
L159[02:22:47]
⇨ Joins: Hunterz (~hunterz@62.182.234.189)
L160[02:23:21] ⇦
Quits: spaceemotion (~spaceemot@f054098170.adsl.alicedsl.de) (Ping
timeout: 190 seconds)
L161[02:42:32] ⇦
Quits: bilde2910 (bilde2910@51.174.170.178) (Ping timeout: 195
seconds)
L162[02:44:33]
⇨ Joins: bilde2910|away
(bilde2910@51.174.170.178)
L163[02:45:21] ***
bilde2910|away is now known as bilde2910
L164[02:47:07]
⇨ Joins: Loetkolben
(~Loetkolbe@ipbcc2d086.dynamic.kabel-deutschland.de)
L165[02:47:12] ⇦
Quits: romibi (~quassel@cable-static-7-174.rsnweb.ch) (Ping
timeout: 195 seconds)
L166[02:47:29] ***
kroeser|away is now known as kroeser
L167[02:47:52] ⇦
Quits: BrunoBronosky
(~BrunoBron@c-73-54-178-63.hsd1.ga.comcast.net) (Quit: My MacBook
Pro has gone to sleep. ZZZzzz…)
L168[02:48:17]
⇨ Joins: romibi
(~quassel@cable-static-7-174.rsnweb.ch)
L169[02:55:51] ⇦
Quits: SatanicSanta
(~SatanicSa@c-76-115-175-15.hsd1.or.comcast.net) (Ping timeout: 190
seconds)
L170[02:56:26]
⇨ Joins: Firedingo
(~Firedingo@CPE-121-217-154-65.lnse2.cht.bigpond.net.au)
L171[02:56:49] <sham1|ZZzZ> seems like
there are way too many people who prefer to copy-paste
L172[02:56:53] ***
sham1|ZZzZ is now known as sham1
L173[03:08:26]
⇨ Joins: MarcoSlater
(~MarcoSlat@marta.marcoslater.com)
L174[03:08:54]
⇨ Joins: tekacs (~tekacs@tekacs.com)
L175[03:11:23] <MindWorX> Should I use
System.err to write out errors to the log?
L176[03:11:23] <Rushmead> Remaking all my
models in MrCrayfish's Model creator :P
L177[03:15:09] <sham1> MindWorX, you
could, ybut you can also use the logger
L178[03:15:16] <MindWorX> Logger?
L179[03:15:34] <sham1> Logger!
L180[03:17:17] <MindWorX> LOGGER!
L181[03:18:33] <sham1> you can get one
from preInit
L182[03:18:48] <sham1> and it is not
java.util.logger thing
L183[03:19:09] <asie> Rushmead: >almost
2016 >not making models in notepad
L184[03:19:30] <sham1> or blender ;)
L185[03:23:24] <tterrag> MindWorX: I
typically use LogManager.getLogger
L186[03:23:28] <tterrag> but yeah, using
the event works too :P
L187[03:23:33] <tterrag> night all
o/
L188[03:23:35] ***
tterrag is now known as tterrag|ZZZzzz
L189[03:24:31]
⇨ Joins: PrinceCat (~PrinceCat@124.148.29.106)
L190[03:24:51] <sham1> I use preinit so
that I do not need to care about it
L191[03:26:01]
⇨ Joins: sciguyryan
(~sciguyrya@80-254-76-225.dynamic.swissvpn.net)
L192[03:26:12] <tterrag|ZZZzzz> what about
logging pre-preinit :P
L193[03:26:51] <sham1> Well I get the
logger as the first thing in preInit
L194[03:27:43] <Rushmead> Ok i have a json
model and when it is right clicked with a specific block, i want it
to change model, how can i do this?
L195[03:28:16]
⇨ Joins: mrkirby153
(mrkirby153@the.government.stole-your.pw)
L196[03:28:17] <sham1> you need to set a
different blockstate
L197[03:28:31] <sham1> And then declare
that one blockstate is one model
L198[03:28:34] <sham1> And another is
another
L199[03:28:59] <Rushmead> how?
L200[03:29:07] ⇦
Quits: CoolerExtreme__ (~CoolerExt@117.207.160.150) (Quit:
Leaving)
L201[03:29:43] <sham1> what do you mean
"how"
L202[03:30:12] <Rushmead> how do i declare
the blockstates?
L203[03:30:54] <sham1> Well
L204[03:31:00] <sham1> For one you need
some properties
L205[03:31:45] <sham1> you add them to
your block class as preferably "public static final PropertyX
some" or something equivelant
L206[03:32:06] <sham1> Where PropertyX can
be PropertyBool for booleans, PropertyInt for integers etx
L207[03:33:50] <Rushmead> ok.
L208[03:35:02]
⇨ Joins: Szernex
(~Szernex@194-166-122-220.adsl.highway.telekom.at)
L209[03:35:08]
⇨ Joins: Overreactedosbol
(~Overreact@2a02:1811:2d21:7000:a524:53cd:3a1b:157b)
L210[03:35:24] <Rushmead> How do i
initiate them?
L211[03:36:08] <sham1> so you created the
fields
L212[03:36:24] <sham1> Then you call the
static factory function of theirs
L213[03:36:37] <sham1> Like
"PropertyBool.create"
L214[03:38:22] ⇦
Quits: Mitchellbrine (uid38456@id-38456.tooting.irccloud.com)
(Quit: Connection closed for inactivity)
L215[03:38:23] <Rushmead> Yeah
L216[03:45:16] <Rushmead> Sham1, i've done
that, what now?
L217[03:45:37] <sham1> now override the
method "createBlockState"
L218[03:45:56] <Wuppy> I should stop doing
everything in rythm after playing crypt of the necrodancer xD
L219[03:46:27] <sham1> rythm of your life
is good
L220[03:46:54] <Rushmead> You Literally
said that last Yesterday Wuppy :P
L221[03:47:09] <Wuppy> I know... it's
starting to annoy me...
L222[03:47:16]
⇨ Joins: jandal
(~quassel@li951-76.members.linode.com)
L223[03:47:59] <Wuppy> also the game is so
good I play it often, but that's a serious downside
L224[03:48:25] <Rushmead> Ok, got
createBlockState
L225[03:50:23] <Rushmead> return new
BlockState(this, new IProperty[] {MYPROPERTY}); ??
L226[03:50:25] <sham1> return a new
BlockState
L227[03:50:42] <sham1> Its parameters are:
the block instance and vararg of IProperties
L228[03:50:52] <sham1> so that works
L229[03:51:03] <sham1> Or just new
BlockState(this, MYPROPERTY);
L230[03:51:11] <sham1> no need to make an
array
L231[03:51:14] <Rushmead> I have two
L232[03:51:29] <fry> it's a vararg
method
L233[03:51:41] <Rushmead> oooh
L234[03:51:54] <Rushmead> Kool got
it
L235[03:52:23] <sham1> I did say that
:P
L236[03:52:58] <Rushmead> It suddenly
clicked :P
L237[03:53:02] <sham1> oh fry
L238[03:53:03] <Rushmead> Right, what
next?
L239[03:53:05] <sham1> Good that you are
here
L240[03:53:44] <sham1> I have a question
that is the same as my yesterday's question to you
L242[03:54:17] ⇦
Quits: MarcoSlater (~MarcoSlat@marta.marcoslater.com) (Ping
timeout: 195 seconds)
L243[03:54:18] <sham1> Those states do not
seem to have any effect on anything
L245[03:56:12] <Rushmead> Ok. so after
looking at a 1.8 mod that i found on github that i can actually
understand, i see i need a folder called "blockstates"
and for each state i need a model. and inside the blockstates
folder i have a file for the block e.g "helloblock" and
in there i have variants and then i have
"myproperty=true"{ model:
"themodeliwantwhenthatistrue" }
L246[03:56:14] <Rushmead> Correct?
L247[03:56:27] <fry> sham1: they're
outside the "variants"
L248[03:56:31] <fry> put them back in
:P
L249[03:56:34] <sham1> Rushmead,
correct
L250[03:56:44] <Rushmead> Sweet
L251[03:56:48] <sham1> well fry, when they
are inside there then it will complain about them not being
found
L252[03:57:09] ***
DRedhorse is now known as DRedAway
L253[03:57:17] <sham1> all the "model
definition for state not found" messages
L254[03:57:36] <fry> maybe it's because
there are syntax errors? :P
L255[03:57:38] <sham1> they include even
those ones that I specify
L256[03:57:43] <fry> read the log
carefully
L257[03:58:11] <fry> putting them where
you have them certanly won't help with anything :P
L258[03:58:20] <sham1> propably
L259[03:58:20]
⇨ Joins: MarcoSlater
(~MarcoSlat@marta.marcoslater.com)
L260[03:58:55] <Rushmead> How do i set my
default blockstate
L261[03:58:56] <Rushmead> ?
L262[03:58:59] <sham1> Well at least the
log I get to the run console says nothing of interest
L263[03:59:25] <sham1> let me look at the
FML log real quick
L264[04:00:35] <sham1> I propably should
have something output debug messages dont I
L265[04:02:42] <Wuppy> heh, someone who's
working at the MIT AI lab wants my help :P
L266[04:03:30] ⇦
Quits: mrkirby153 (mrkirby153@the.government.stole-your.pw) (Ping
timeout: 186 seconds)
L267[04:04:59] <sham1> So yeah fry,
nothing in the logs suggessed that anything was wrong
L268[04:05:46] <Rushmead> how can i change
a property of my block via the blockActivated? and check one?
L269[04:05:55] <fry> sham1: when the
variants are in the right place?
L270[04:06:08] <sham1> yes
L271[04:06:21] <fry> so, what's the error
then?
L272[04:06:25] <sham1> it just says that
model definition for that variant is not found
L273[04:06:35] <fry> show the log please
:P
L275[04:07:48] ⇦
Quits: xaero (xaero@the.flying.dutchman.panicbnc.net) (Ping
timeout: 192 seconds)
L276[04:07:56] ⇦
Quits: mjevans (~mjevans@li984-246.members.linode.com) (Ping
timeout: 190 seconds)
L277[04:08:11] <sham1> without those
variants there it works
L278[04:08:46] ⇦
Quits: Loetkolben
(~Loetkolbe@ipbcc2d086.dynamic.kabel-deutschland.de) (Quit: Over
and Out!)
L279[04:08:56] ⇦
Quits: MineBot (MineBot@minebot.services.esper.net) (*.net
*.split)
L280[04:09:57] <fry> so, it can't find
anything
L281[04:10:07] <sham1> mm
L282[04:10:07] <fry> try surrounding full
properties with []
L283[04:10:24] <sham1> Umn
L284[04:10:39] <sham1> the whole variant
strings as well
L285[04:10:53] <fry>
"connect_down=false,connect_east=false,connect_north=false,connect_south=true,connect_up=true,connect_west=false":
[{...}]
L286[04:10:58] <sham1> Ah
L287[04:11:48] <sham1> And that did the
trick
L288[04:11:51] <sham1> Thanks
L289[04:12:17] <Rushmead> i think i've
nearly done this :)
L290[04:14:02] ⇦
Quits: Overreactedosbol
(~Overreact@2a02:1811:2d21:7000:a524:53cd:3a1b:157b) (Quit:
Leaving)
L291[04:14:42] <Rushmead> how can i make
both my propertys false by default?
L292[04:14:51] <sham1> you set them
L293[04:15:15] <Rushmead> How?
L294[04:15:47] <sham1> onBlockPlacedBy
maybe...
L295[04:17:13] <Rushmead>
java.lang.IllegalArgumentException: Don't know how to convert
stagecraft:stageblock[hasTop=true,isShort=true] back into
data...
L296[04:17:15] <Rushmead> I get that
L297[04:17:33] <sham1> you need to
override getMetaFromState
L298[04:17:47] <sham1> And possibly
getStateFromMeta if you want to retain those states
L299[04:18:42] <Rushmead> ok, but what do
i put in getMetaFromState?
L300[04:18:51] <sham1> on the block
class...
L301[04:19:11] <Rushmead> i know WHERE to
put it, but not WHAT to put IN it
L302[04:20:03] <sham1> You need to turn
your booleans to bits
L303[04:20:07] <sham1> You know
bitshifting?
L304[04:20:31] ***
PaleOff is now known as PaleoCrafter
L305[04:21:13] ⇦
Quits: flappy (~flappy@85-76-77-61-nat.elisa-mobile.fi) (Quit:
/0)
L306[04:22:49] <Wuppy> there is a way to
get a list of all entities in the game right?
L307[04:22:54] <Wuppy> and how do you get
them>
L308[04:22:57] ***
amadornes[OFF] is now known as amadornes
L309[04:23:07] <sham1> You talking modding
or something else
L310[04:23:11] <Wuppy> Mc modding
L311[04:24:12] <PaleoCrafter>
World.loadedEntityList
L312[04:24:56] <PaleoCrafter> if you want
to get those of a special type, World.getEntities
L313[04:24:59] <Wuppy> that's a static
list?
L314[04:25:12] <PaleoCrafter> nah
L315[04:25:20] <Wuppy> good :P
L316[04:25:35] <sham1> that would be some
shit
L317[04:25:39] <Wuppy> exactly
L318[04:25:53] <diesieben07> well, it's
Minecraft so don't be surprised.
L319[04:26:03] <Wuppy> that's true as
well, that's why I asked
L320[04:26:14] <sham1> true
L321[04:26:23] <diesieben07> guys. it's
true.
L322[04:26:46] <sham1> Almost two sides of
my multiblock connected textures done
L323[04:28:31] <sham1> It's espesially
great as I do not need to worry about corner cases
L324[04:30:46] <Wuppy> hmm I'm getting a
java heap space error when decompiling 1.8.8
L325[04:30:56] <sham1> That happens
L326[04:31:25] <diesieben07> give it more
ram :D
L328[04:31:48] <diesieben07> boolean
silencerAttached = hasAttachment(stack,
MainRegistry.content().silencer.getName());
L329[04:31:51] <diesieben07> wat
L330[04:32:06] <diesieben07> why was THAT
in there
L331[04:32:11] <sham1> what
L333[04:32:30] <sham1> what is that
diesieb
L334[04:32:38] <diesieben07> something
from the forums iirc
L335[04:32:43] <Wuppy> diesieben07, what
was the command for the amount of ram again?
L336[04:32:53] <diesieben07> -Xms /
-Xmx
L337[04:33:01] <diesieben07> some dude had
a NPE on that line
L338[04:33:04] <sham1> may thee linketh
me
L339[04:33:06] <Wuppy> and that's in MB
irght?
L340[04:33:17] <diesieben07> you say
something like -Xms3000MB
L341[04:33:20] <diesieben07> -B
L342[04:33:24] <diesieben07> 3000M
L343[04:33:25] <diesieben07> or 3G
L344[04:33:49] <Wuppy> didn't know you
could use GB there.. cool :)
L346[04:34:24] <sham1> the grammar on that
post
L347[04:34:27] <sham1> My eyes are
bleeding
L348[04:35:24] <Wuppy> what the hell
L349[04:35:32] <Wuppy> it can't reserve 2G
on the object heap
L350[04:35:41] <diesieben07> huh
L351[04:36:31] <Wuppy> I have 8GB of
ram... wats this
L352[04:36:41] <Wuppy> setting it to 1GB
does work
L353[04:36:59] <diesieben07> what does it
say?
L354[04:37:33] <diesieben07> also how
exactly did you apply the argument?
L355[04:38:02] ⇦
Quits: Delaxarnyazer
(~Delaxarny@2a02:a44e:91ce:0:215:5dff:fe02:300) (Ping timeout: 195
seconds)
L357[04:38:48] <diesieben07> wat
L358[04:38:59] <diesieben07> do you have a
32 bit vm?
L359[04:39:30] <Wuppy> my java is 32
bit
L360[04:39:37] <diesieben07> why?!
L361[04:39:50] <Wuppy> because Aptana is
weird and requires the 32 bit version
L362[04:40:10] <diesieben07> you will need
the 64 bit version when you want to give it lots of memory.
L363[04:40:26] <Rushmead> Im getting this
"10:38:06] [Client thread/ERROR]: Model definition for
location stagecraft:stageblock#hastop=false,isshort=true not
found!" even though this "
"hasTop=false,isShort=false": { "model":
"stagecraft:blockFrameOnly" }," refers to
https://gyazo.com/daf507dff54d4295eb04c0c11ed49ca3
L364[04:40:26] <Wuppy> can you have 32 and
64 installeda at once?
L365[04:40:32] <diesieben07> sure
L366[04:40:36] <sham1> because 32bit stuff
can only allocate 4GB at most
L367[04:40:42] <sham1> Its adress space is
4GB
L368[04:40:50] <Wuppy> wouldn't you have
to switch between JAVA_HOME variable all the time then?
L369[04:41:04] <diesieben07> meh
L370[04:41:07] <diesieben07> set JAVA_HOME
to be 64 bit
L371[04:41:19] <diesieben07> and tell
whatever that weird program is that needs 32 bit directly to use
that version
L372[04:41:30] <diesieben07> iirc aptana
is eclipse, which probably has a setting for it
L373[04:41:39] <Wuppy> it is
L374[04:43:48] <sham1> was your aptana
version 32 or 64 bits
L375[04:43:56] <Wuppy> they only have 32
(64 compatible)
L376[04:44:41] <diesieben07> it's not
"64 compatible" :P
L377[04:44:56] <diesieben07> windows 64
bit has a whole 32 bit subsystem to run 32 bit programs
L378[04:45:01] <diesieben07> it's almost a
little bit like a vm
L379[04:45:08] <diesieben07> with it's own
registry stuff and all
L380[04:46:03] <sham1> Well 64-bit
processors have a compatibility mode
L381[04:46:09] <sham1> On the side with
long mode
L382[04:46:17] <Wuppy> diesieben07, that's
what they call it, I disagree
L383[04:46:27] <sham1> That allows you to
run 32-bit code without recompile
L384[04:46:39] <diesieben07> sham1, yes,
but it's about the win api calls
L385[04:46:53] <diesieben07> and also i
think the OS decides which mode the cpu runs in, doesn't it?
L386[04:46:58] <sham1> yes
L387[04:47:04] <diesieben07> Wuppy, just
because that's what they call it doesn't mean it's true :P
L388[04:47:11] <Wuppy> I know :)
L389[04:47:15] <Wuppy> that's why I
disagree
L390[04:47:17] <diesieben07> technically
it's 64 bit compatible, but not because THEY did something
L391[04:47:24] <diesieben07> but because
M$ did something.
L392[04:48:21] ⇦
Quits: turmfalke_ (~turmfalke@p54a68abe.dip0.t-ipconnect.de) (Ping
timeout: 190 seconds)
L393[04:48:39] <sham1> Nintendo64-bits has
many advantages like Terabytes of effective memory via paging
L394[04:48:59] <diesieben07> nintendo?
:D
L395[04:49:20] <sham1> Just included it
there, I dunno why
L396[04:49:23] <sham1> But yeah
L397[04:49:34] <diesieben07> i get the N64
joke... but... come on :D
L398[04:49:34] <sham1> x86_64 is very
interesting
L399[04:49:46] <Wuppy> is tehre someone
who's still working on advanced modding tutorials for 1.8?
L400[04:49:46] <diesieben07> i barely know
anything about this low level crap :D
L401[04:50:26] <sham1> nope
L402[04:50:34] <Zaggy2048> ew, ice
re-sorting itself is pretty ugly
L403[04:52:28] <sham1> It is very weird
that water's dencity is at its biggest in 4 degress Celsius
L404[04:53:28] <Rushmead> Anyone know why
imm getting that error?
L405[04:53:38] ⇦
Quits: calclavia (uid15812@richmond.irccloud.com) (Quit: Connection
closed for inactivity)
L406[04:53:53] <sham1> I see no
error
L407[04:54:02] <Wuppy> damn Eclipse did
not get prettier over time :O
L408[04:54:04] <Zaggy2048> Rushmead, it's
case sensitive
L409[04:54:11] <Zaggy2048> compare your
strings
L410[04:54:16] <sham1> The answer's
42
L411[04:54:30] <sham1> Also wuppy,
IDEA
L412[04:54:31] <Rushmead> which
oners?
L413[04:54:34] <Wuppy> nop
L414[04:54:37] <Zaggy2048> the blockstate
strings
L415[04:54:38] <Rushmead> ones*
L416[04:54:53] <Zaggy2048> but you should
treat everything as case sensitive...
L417[04:55:01] <Zaggy2048> and probably
all lower case if you really want to be safe
L418[04:55:15] <Zaggy2048> vanilla uses
lower case and underscores :)
L419[04:56:26] <sham1> camelCase >
snake_case
L420[04:56:34] <sham1> Even though for
this snake_case is safer
L421[04:57:05] ⇦
Quits: GildedGames
(~GildedGam@ec2-50-16-98-85.compute-1.amazonaws.com) (Remote host
closed the connection)
L422[04:59:04] <Zaggy2048> I know, I like
camelCase too
L423[04:59:24] <Rushmead> thats really
wierd and annoying.
L424[04:59:26] <Rushmead> Its still doing
it
L425[04:59:34] <Rushmead> even though i've
got the case correct
L426[04:59:40] <Zaggy2048> what's the
warning now?
L427[04:59:56] <Zaggy2048> and what's you
rjson
L428[04:59:58] <Rushmead> same
L430[05:00:28] <Zaggy2048> I said
blockstate strings
L431[05:00:36] <Zaggy2048> meaning
"variant1=value,variant2=value"
L432[05:00:48] <Rushmead> yeah
L433[05:00:57] <Zaggy2048> those have to
be the exact same case and the property names have to be sorted
alphabetically in the string
L434[05:01:20] <Rushmead> public static
final PropertyBool hasTop =
PropertyBool.create("hasTop");
L435[05:01:20] <Rushmead> public static
final PropertyBool isShort =
PropertyBool.create("isShort");
L436[05:01:32] <Rushmead> So they need to
be, isShort=false,hasTop=false
L437[05:01:33] <Rushmead> ??
L438[05:01:40] <Zaggy2048> mmh
L439[05:01:53] <Zaggy2048> I haven't tried
camelCase property names
L440[05:02:07] <Zaggy2048> but why don't
you just call them top and short? :P
L441[05:02:24] <Rushmead> ...
L442[05:02:29] <Rushmead> Ok. Rawr
:P
L443[05:03:27] <sham1> camelCase does not
work with properties
L444[05:03:29] <sham1> :(
L445[05:03:42] <Zaggy2048> property names
*should* be short though
L446[05:03:46] <Zaggy2048> :P
L447[05:04:06] <Rushmead> ok. I did it
because it was easier for me to understand but
L448[05:04:07] <Rushmead> it doesnt
matter
L449[05:04:55] <Rushmead> still getting
that errro
L450[05:05:20] <Rushmead> do they need to
be alphabetical?
L451[05:05:45] <Zaggy2048> yes
L452[05:05:46] <sham1> yes
L453[05:05:52] <sham1> For some odd
reason
L454[05:05:54] <Zaggy2048> they need to be
exactly as the warning prints them out
L455[05:06:07] <Zaggy2048> it's just
because Mojang was lazy and didn't implement a good system right
off the bat :P
L456[05:06:34] <Zaggy2048> hopefully 1.9
will improve it significantly for both vanilla and forge
blockstates format
L457[05:06:52] <sham1> Well Forge
Blockstates as far as submodels become obsolete
L458[05:06:58] <Zaggy2048> yeah
L459[05:07:04] <Zaggy2048> until I write a
new format >:D
L460[05:07:06] <sham1> Other than the fact
that multimodel of vanilla cannot declare textures on theirs
L461[05:07:15] <Zaggy2048> yeah, that
too
L462[05:07:44] <Zaggy2048> but I've
thought of a pretty fancy format, I'll have to see how reasonable
it is to implement in 1.9
L464[05:08:21] <sham1> Look at that
\o/
L465[05:08:29] <Zaggy2048> bowtyful
L466[05:08:40] <Zaggy2048> dat fov
L467[05:08:45] ***
Zaggy2048 is now known as Zaggy1042
L468[05:08:50] <Zaggy1042> crap lol
L469[05:08:53] ***
Zaggy1042 is now known as Zaggy1024
L470[05:09:01] <sham1> I use the Quake Pro
FOV
L471[05:09:06] <sham1> Always have and
always will
L472[05:09:09] <Zaggy1024> I'm a 90
guy
L473[05:09:26] <sham1> I usually higher
than 90 if possible
L474[05:09:32] <Zaggy1024> quake pro would
probably make me feel sick pretty quickly
L475[05:09:46] <Zaggy1024> probably more
quickly than playing with 65 :P
L476[05:09:53] <sham1> oh wow
L477[05:10:05] <diesieben07> you're a
bunch of crazies
L478[05:10:11] <Zaggy1024> lol why
L479[05:10:17] <diesieben07> that fov is
insane
L480[05:10:23] <Zaggy1024> is 90
insane?
L481[05:10:31] <fry> 65 is insane :P
L483[05:10:42] <Zaggy1024> indeed, I can't
stand that 65
L484[05:10:43] <fry> it's like looking
through a tiny window
L485[05:10:52] <masa> I always have the
fov at the default/lowest setting
L486[05:10:54] <sham1> Rushmead, you didnt
put your texture domain correctly
L487[05:10:59] <masa> anything else is
just insanity :p
L488[05:11:02] <sham1> masa, why
L489[05:11:03] <Rushmead>
"textures": {
L490[05:11:04] <Rushmead> "0":
"blocks/StageBlockFrameOnly",
L491[05:11:04] <Rushmead> "1":
"blocks/TopOnly"
L492[05:11:04] <Rushmead> },
L493[05:11:08] <Rushmead> Thats what i
have in my model
L494[05:11:12] <Zaggy1024>
domain:blocks/blah"
L495[05:11:12] <sham1> add your modid
before them
L496[05:11:16] <masa> sham1: because
anything else looks like shit?
L497[05:11:17] <sham1> basically
that
L498[05:11:22] <fry> sure, who needs
peripheral vision :P
L499[05:11:36] <Zaggy1024> lowest setting?
:O
L500[05:11:48] <sham1> FOV of 1
L501[05:12:00] <sham1> not decimal
L502[05:12:06] <sham1> degrees
L503[05:12:16] <sham1> And not
radians
L504[05:12:33] <Zaggy1024> what does
decimal 1 FOV even mean? :P
L505[05:12:34] <sham1> have fun
L506[05:12:41] <sham1> 360 degrees
L507[05:12:54] <sham1> 1.0 would propably
be 360 anyway
L508[05:13:04] <masa> ok sorry I
remembered wrong, it's not the lowest setting but the Normal aka
70
L509[05:13:10] <masa> it actually goes
down to 30 :D
L510[05:13:25] <masa> via the settings
menu that is
L511[05:13:26] <fry> 70 is passable
:P
L512[05:13:50] <fry> I still prefer to see
the enemies that shoot me from the side :P
L513[05:14:21] <sham1> 30 FOV
L514[05:14:40] <sham1> Which BTW is the
same FOV that TF2 uses for the zoom for sniper rifles
L515[05:14:49] <fry> also,
subjectively-comfortable fov depends on your distance to and the
size of the screen
L516[05:14:50] <sham1> Propably CS does
that as well
L517[05:16:01] <ThePsionic> tfw you want
to stream gta5 from your desktop to your laptop while away but it
doesn't work
L518[05:17:41] <Rushmead> Hmm wierd.
L519[05:17:50] <Rushmead> there are no
errors, yet my model isnt showing up
L520[05:19:07] <ThePsionic> RIP
Rushmead
L521[05:20:14] <Rushmead> @Override
L522[05:20:14] <Rushmead> public void
onBlockPlacedBy(World worldIn, BlockPos pos, IBlockState state,
EntityLivingBase placer, ItemStack stack) {
L523[05:20:14] <Rushmead>
worldIn.setBlockState(pos, state.withProperty(hasTop,
false).withProperty(isShort, false));
L524[05:20:14] <Rushmead> }
L525[05:20:16] <Rushmead> Is that
ok?
L526[05:20:30] <sham1> YEs it should
be
L528[05:20:55] <Rushmead> Thats my
model
L529[05:23:53] <Rushmead> Anyone?
L530[05:27:06] ***
DRedAway is now known as DRedhorse
L531[05:27:09] <ThePsionic> sham1: For a
log block with different types should I use blockstates or
metadata? Or something else entirely idk
L532[05:27:57] <sham1> You could use
blockstate as rotation
L533[05:32:38] ***
fry is now known as fry|afk
L534[05:32:51] <ThePsionic> How do I get
the block at a certain BlockPos?
L535[05:33:08] <Rushmead> Im
screwed.
L536[05:33:11] <Rushmead> So screwd
L537[05:33:15] <sham1> why
L538[05:34:06] <Rushmead> i did git rm -rf
. in the wrong place...
L539[05:34:16] *
ThePsionic facepalm
L540[05:34:21] <sham1> you can roll
back
L541[05:34:34] <Rushmead> But thanks to
Idea's great history thingy, i got it back
L542[05:36:33] <sham1> Git would have also
been able to restore it
L543[05:36:34] <ThePsionic> sham1: Didn't
you have a blockstate tutorial anywhere?
L544[05:36:53] <sham1> Not really no
L545[05:37:07] <ThePsionic> bah
L546[05:37:26] ⇦
Quits: bochen415 (~bochen415@46.101.38.101) (Quit:
quit)
L548[05:37:37] <Rushmead> But
L549[05:38:20] <Rushmead> So yeah, my
model doesnt render
L550[05:38:22] <Rushmead> IDK why
L551[05:39:40] <Rushmead> does it need a
parent?
L552[05:43:59] <sham1> if you do not
define the elements yourself then yes
L553[05:45:58] <Rushmead> Ok i got it
working :)
L554[05:46:15] <Rushmead> buuut. The model
doesnt seem to fit
L555[05:46:15] <MindWorX> Hmm
L556[05:46:40] <MindWorX> If I enable a
required dependency, I get a circular dependency crash.
L557[05:47:36] <MindWorX> I can't figure
out why though.
L558[05:47:42] <Rushmead> Ok nope, fixed
it :P
L560[05:49:41] <MindWorX> If I uncomment
the first required-after it gives me the circular dependency
crash.
L561[05:49:53] <MindWorX> As far as I can
tell, that shouldn't happen.
L562[05:51:02] <ThePsionic> Wait, I can
just avoid blockstates altogether by making two separate
blocks
L563[05:51:12] <ThePsionic> I need not
worry about being backwards compatible
L564[05:52:16] <Rushmead> Alright, if i
change the blockstate, does it need a block update?
L565[05:55:46] <sham1> yes
L566[05:56:10] <Rushmead> how do i send
one?
L567[05:56:51] <Rushmead>
markBlockForUpdate
L568[05:57:46] <ghz|afk>
"morning"
L569[05:57:52] ***
ghz|afk is now known as gigaherz
L570[05:57:57] ⇦
Quits: Szernex (~Szernex@194-166-122-220.adsl.highway.telekom.at)
(Ping timeout: 195 seconds)
L571[05:58:12] <MindWorX>
"evening"
L572[05:58:37] <gigaherz> [12:32]
(ThePsionic): How do I get the block at a certain BlockPos?
L573[05:58:49] <gigaherz>
world.getBlockState(pos).getBlock()
L574[05:58:50] <gigaherz> ;P
L575[05:59:15] <gigaherz> [12:27]
(ThePsionic): sham1: For a log block with different types should I
use blockstates or metadata? Or something else entirely idk
L576[05:59:22] <gigaherz> you only need 3
rotations for a standard log
L577[05:59:27] <gigaherz> so you can fit
those in 2 bits
L578[05:59:38] <gigaherz> leaves you space
for up to 4 subtypes
L579[05:59:42] <sham1> and the high bits
of the nybble can be the type
L580[05:59:50] <gigaherz> hence why
vanilla logs have more than one ID
L581[05:59:51] <gigaherz> ;P
L582[06:00:09] <ThePsionic> it's so hard
for my tender brain
L584[06:00:50] <gigaherz> your blockstates
would have a proprty direction with X, Y, or Z
L585[06:00:52] <MindWorX> What am I
missing?
L587[06:01:12] <gigaherz> and a proprty
type with
"A"/"B"/"C"/"D"
L588[06:01:23] <gigaherz> (an enum with up
to 4 values)
L589[06:01:36] <ThePsionic> Yeah I have
the types already implemented sortof
L590[06:01:37] <gigaherz> then to make
them persist
L592[06:02:17] ***
kroeser is now known as kroeser|away
L593[06:02:28] <gigaherz> you'd override
getMetaFromState, where you'd do ((state.getValue(TYPE).ordinal()
<< 2) | state.getValue(AXIS))
L594[06:03:40] <gigaherz> and you'd
override getStateFromMeta where you'd do
getDefaultState().withProperty(TYPE,
(meta>>2)&2).withProperty(AXIS,
EnumAxis.values()[meta&2])
L595[06:03:47] <Rushmead> Anyone?
L596[06:04:51] <gigaherz> Rushmead: sec,
looking
L597[06:04:56] <Rushmead> KK
L598[06:06:42] <gigaherz> MindWorX: you
have a circular dependency
L599[06:07:12] <gigaherz> hmmm
L600[06:07:26] <gigaherz> do you have two
instances of the same mod loaded at once?
L601[06:07:32] <gigaherz> I'm not sure I
understand the screenshot
L602[06:07:48] <ThePsionic> Is that the
only things that would change in my thing gigaherz? Because I feel
it isn't as simple as that :P
L603[06:07:52] <gigaherz> can you pastebin
the actual log file?
L604[06:08:02]
⇨ Joins: MineBot
(MineBot@minebot.services.esper.net)
L605[06:08:02] *** ranger.esper.net sets mode:
+o MineBot
L606[06:08:21]
⇨ Joins: spaceemotion
(~spaceemot@f054098170.adsl.alicedsl.de)
L607[06:08:35] <gigaherz> ThePsionic: you
just want to make the woods rotateable like vanilla ones
right?
L608[06:08:40] <ThePsionic> Yes
L609[06:08:43]
⇨ Joins: Girafi
(Girafi@0x555178eb.adsl.cybercity.dk)
L610[06:09:08] <gigaherz> then feel free
to make use of BlockLog.LOG_AXIS
L611[06:09:10] <gigaherz> as a
property
L612[06:09:14] <ThePsionic> Ah fair
enough
L613[06:09:26] <MindWorX> No one has any
idea why I might be experiencing circular dependency issues? I can
draw out a very linear graph from the data I'm getting. :P
L614[06:09:34] <gigaherz> and
"steal" all placement logic from the log blocks
L615[06:09:34] <gigaherz> ;P
L616[06:09:36] <MindWorX> There's nothing
even remotely circular going on.
L617[06:09:43] <ThePsionic> would I still
need to make a public static final PropertyEnum in my block for
that then?
L618[06:09:58] <gigaherz> nah not for the
axis
L619[06:10:04] <gigaherz> in fact
L620[06:10:10] <gigaherz> you don't even
need those to be in your block
L621[06:10:15] <gigaherz> you could have a
special class for it
L622[06:10:22] <gigaherz> or put them in
your @Mod class
L623[06:10:25] <gigaherz> it wouldn't
matter
L624[06:10:32] <gigaherz> it's the
createBlockState() method that matters
L625[06:10:36] <gigaherz> you define the
states there
L626[06:11:07] <ThePsionic> For that I now
have this:
L628[06:11:15] <gigaherz> BlockState is a
variadic
L629[06:11:20] <gigaherz> protected
BlockState createBlockState() { return new BlockState(this,
DENSITY); }
L630[06:11:24] <gigaherz> no need for
explicit array
L631[06:11:42] <ThePsionic> So no
directionalism in there?
L632[06:11:43] <gigaherz> so you can just
do
L633[06:11:54] <gigaherz> new
BlockState(TYPE, BlockLog.LOG_AXIS)
L634[06:12:02] <ThePsionic> Ah
L635[06:12:29] <ThePsionic> Wait you mean
new BlockState(this, TYPE, BlockLog.LOG_AXIS) right?
L636[06:12:35] <ThePsionic> Or am I
missing something
L637[06:12:37] <Rushmead> BRB
L638[06:12:45] <gigaherz> Rushmead:
if(world.isRemote)
L639[06:12:49] <gigaherz> means you do
stuff in the CLIENT
L640[06:12:55] <Rushmead> oh
L641[06:12:59] <gigaherz> so that's
why
L642[06:13:32] <ThePsionic> So I have this
now
L644[06:13:51] ⇦
Quits: Rushmead
(~quassel@host86-154-52-170.range86-154.btcentralplus.com) (Remote
host closed the connection)
L646[06:14:38] <MindWorX> Apparently,
that's circular :P
L647[06:15:37] <ThePsionic> Anything more
to it gigaherz or no?
L648[06:16:30]
⇨ Joins: Rushmead
(uid136212@id-136212.ealing.irccloud.com)
L649[06:17:31] <Rushmead> Back, got it
working now, thanks :)
L650[06:20:12] <gigaherz> back
L651[06:20:55] <gigaherz> ThePsionic: you
chose to create your own copy of the property?
L652[06:21:28] <gigaherz> [13:12]
(ThePsionic): Wait you mean new BlockState(this, TYPE,
BlockLog.LOG_AXIS) right? -- yes sorry ;P
L653[06:21:42] <gigaherz> return new
BlockState(this, TYPE, BlockLog.LOG_AXIS);
L654[06:21:44] <gigaherz> if you do
this
L656[06:21:53] <gigaherz> you don't need
public static final PropertyEnum DIR =
PropertyEnum.create("direction",
BlockLog.EnumAxis.class);
L657[06:22:01] <gigaherz> if you want the
latter
L658[06:22:09] <gigaherz> then use DIR in
createBlockState
L659[06:22:41] <gigaherz> Rushmead:make
the top of the legs slightly lower
L660[06:22:49] <gigaherz> or remove the
top face altogether
L661[06:23:37] <Rushmead> But i want them
to all be the same height and have the top face
L662[06:23:48] <Rushmead> Also, how i can
set the item in the players hand to a specific block?
L663[06:24:28] <gigaherz> your issue is
Z-fighting
L664[06:24:44] <gigaherz> if you havetwo
polygons in the same exact position
L665[06:24:53] <gigaherz> the rounding
errors from the Z-buffer will cause that
L666[06:24:55] <gigaherz> it's
unavoidable.
L667[06:25:32] <gigaherz> either you raise
them all a bit and they will always show up, or you lower a bit and
they'll never show up
L668[06:26:36] <gigaherz> at least that's
my guess
L669[06:26:47] <gigaherz> as for changing
the item
L670[06:26:50] <gigaherz> what do you mean
exactly?
L671[06:26:52] <Rushmead> Should i make it
so all the legs connect together like a big multiblock?
L672[06:27:15] <Rushmead> So when they
shift right click the block the top of the block will pop off/ will
be put in there hand
L673[06:27:28] <gigaherz> so you want it
to actually BECOME an item
L674[06:27:36] <gigaherz> and get picked
up by the players
L675[06:27:37] <Rushmead> hang on
L676[06:27:57] <gigaherz> because that's
what happens when you do that kind of thing
L677[06:28:13] <gigaherz> you spawn a
physical item entity into theworld, at the location of the player's
feet
L678[06:28:20] <gigaherz> which causes the
item to get picked up within the next tick
L679[06:28:23] <MindWorX> Is there a
generic "required" dependency? Rather than
required-before/required-after
L680[06:28:25]
⇨ Joins: Nitrodev
(~Nitrodev@dcx0f0yfkf-htz8dy-dyt-3.rev.dnainternet.fi)
L681[06:28:52] <Rushmead> I have two
blocks, ones the top. ones the frame/bottom. When you click on the
frame with the top. the model of the frame changes. So when you
shift right click the block i want the top to pop out as a
item
L682[06:28:59] <gigaherz> MindWorX: I
believe so
L683[06:29:02] <Nitrodev> hi
L684[06:30:13] <gigaherz> I'm not sure how
to write it in the @Mod's dependency list, though
L685[06:31:10] <Nitrodev> write
what?
L686[06:31:39] <gigaherz> [13:28]
(MindWorX): Is there a generic "required" dependency?
Rather than required-before/required-after
L687[06:31:59] <MindWorX> gigaherz,
looking at the source for modloader, it only seems to support
before/after with or without required.
L688[06:32:18] <gigaherz> still
L689[06:32:26] <gigaherz> canyou paste the
log please?
L690[06:32:52] <gigaherz> pastebin the
contents of the log file
L691[06:32:54]
⇨ Joins: MrKickkiller (~MrKickkil@ipv6.chozo.nl)
L692[06:33:03] <MindWorX> Log file?
L693[06:33:03] <gigaherz> the screenshot
is never enough ;P
L694[06:33:13] <MindWorX> Ah, right, yeah,
figured it out. Actually from the screenshot
L695[06:33:17] <MindWorX> There's a tiny
"*" in the end.
L696[06:33:27] <MindWorX> IgTweaks
basically has a "after:*" dependency
L697[06:33:38] <gigaherz> oh
L698[06:33:51] <MindWorX> Yeah, not sure
if intended. Waiting to hear back.
L699[06:34:15] <gigaherz> well then you
should have said so, I was still waiting for it ;P
L700[06:34:23] <MindWorX> Oh, sorry.
<3
L701[06:34:36] ***
kroeser|away is now known as kroeser
L702[06:34:38] <MindWorX> I guess I'll
have to go with required-before, and then use init or post init to
make sure items/blocks have been registerred.
L703[06:36:19]
⇨ Joins: Jezza (~Jezza@185.44.151.55)
L704[06:37:09] ⇦
Quits: Jezza (~Jezza@185.44.151.55) (Read error: Connection reset
by peer)
L705[06:37:28] <Rushmead> how do i do a
inventory model?
L707[06:38:59] <MindWorX> Woo!
L708[06:39:32] <Nitrodev> anyone got
example code for the custom recipes
L709[06:39:42] <Nitrodev> and i mean the
IRecipe custom reipes
L710[06:40:46]
⇨ Joins: Jezza (~Jezza@185.44.151.55)
L711[06:42:20] <gigaherz> Nitrodev: just
check something like the vanilla banner or map recipes
L712[06:45:28] <Zaggy1024> cool thing is I
made a utility class that should make it relatively easy to do
similar things to other non-world-aware methods :)
L713[06:45:57] <gigaherz> ThePsionic: I
just realized, you didn't do getMetaFromState?
L714[06:46:25] <gigaherz> you need both
getMetaFromState and getStateFromMeta, for storing the state
L715[06:47:13] <Rushmead> hang on. If the
player is sneaking and has a item in its hand, my code doesnt work.
But if its just sneaking it does.
L716[06:47:20] <Rushmead> BTW this is
onBlockActivated
L718[06:48:35] <Zaggy1024> what
item?
L719[06:48:53] <Rushmead> Sorry
L720[06:49:04] <Rushmead> it's ment to be
if(equipped instanceof ItemHammer){
L721[06:49:50] <gigaherz> Rushmead: you
used the wrong method
L722[06:49:52] <Rushmead> i get
"Clickedsneaking" but i dont get "hammer"
L723[06:49:58] <gigaherz> onBlockActivated
is ONLY called for empty hand
L724[06:49:59] <Rushmead> What do you
mean?
L725[06:50:03] <Rushmead> Nope.
L726[06:50:07] <gigaherz> no wait
L727[06:50:09] <gigaherz> nevermind
L728[06:50:38] <gigaherz> I noticed as
soon as I pressed enter
L729[06:50:42] <gigaherz> the wonders of
dual screen
L730[06:50:43] <gigaherz> XD
L731[06:50:46] <gigaherz> if
((!player.isSneaking() || player.getHeldItem() == null ||
player.getHeldItem().getItem().doesSneakBypassUse(worldIn, hitPos,
player)))
L732[06:51:12] <Rushmead> Where should
that go?
L733[06:51:15] <gigaherz> nono
L734[06:51:25] <gigaherz> that's the
condition of the onBlockActivated
L735[06:51:29] <Rushmead> oh
L736[06:51:51] <gigaherz>
doesSneakBypassUse is FALSE by default
L737[06:52:10] <gigaherz> whcih means I
was partially right ;P
L738[06:52:11] ⇦
Quits: Jezza (~Jezza@185.44.151.55) (Read error: Connection reset
by peer)
L739[06:52:13] <Zaggy1024> yeah you
basically gotta use an event, I think, if you want to catch an item
use on your block
L740[06:52:23] <Rushmead> It works for
blocks
L741[06:52:24] <Rushmead> So
L742[06:52:25] <Rushmead> IDK
L743[06:52:26] <gigaherz> Rushmead: here
is the thing
L744[06:52:50] <gigaherz> if you
shift-click, you usually want it to use the item instead of
activating the block
L745[06:53:06] <gigaherz> that's how you
place stuff on top of other stuff
L746[06:53:08] <gigaherz> by
sneaking
L747[06:53:13] <Rushmead> oh
L748[06:53:14] <Rushmead> ok
L749[06:53:17] <gigaherz> so if you want
your specific item not to have that behaviour
L750[06:53:20] <Nitrodev> yeah nope i
don't understand the vanilla code AT ALL
L751[06:53:24] <gigaherz> you need to
override doesSneakBypassUse
L752[06:53:37] <gigaherz> and return
true
L753[06:55:00] <gigaherz> Nitrodev: a
custom IRecipe works a bit like this:
L754[06:55:11]
⇨ Joins: Overreactedosbol
(~Overreact@2a02:1811:2d21:7000:a524:53cd:3a1b:157b)
L755[06:55:18] <gigaherz> whenever
something has changed, the crafting system will call the matches
method
L756[06:55:36] <gigaherz> which givesyou
the choice to scan the InventoryCrafting slots
L757[06:56:04] <gigaherz> you can tell if
the recipe will work in a 2x2 grid or a 3x3 grid by returning the
right number from getRecipeSize
L758[06:57:00]
⇨ Joins: Jezza (~Jezza@185.44.151.55)
L759[06:57:13] <gigaherz> then, the
getCraftingResult is used to calculate, given the current
inventory
L760[06:57:19] <gigaherz> exactly which
output you'll have
L761[06:57:24] <Nitrodev> so retuning 2
would mean that the recipe is craftable from the inventory craft
grid
L762[06:57:30] <gigaherz> which gives you
the chance to include metadata and NBT into the recipe
L763[06:57:37] <gigaherz> yes.
L764[06:57:51] <gigaherz> well no
L765[06:57:56] <gigaherz> you need either
4 or 9
L766[06:58:02] <gigaherz> 2x2=4
L767[06:58:04] <gigaherz> 3x3=9
L768[06:58:09] <gigaherz> the grid is
internally an array
L769[06:58:18] <gigaherz> and you return
the number of slots needed in that array ;P
L770[06:58:20] <Nitrodev> well the
RecipesBAnners class has 2
L771[06:58:30] <Nitrodev> oh
L772[06:58:31] <gigaherz> that's because a
banner only needs 2 slots
L773[06:58:36] <Nitrodev> yeah
L774[06:58:48] <Rushmead> Cool
L775[06:58:49] <Rushmead> Nearly
dnoe
L776[06:59:33] ***
fry|afk is now known as fry
L777[06:59:55]
⇨ Joins: kimfy
(~kimfy___@74.141.16.62.customer.cdi.no)
L778[07:00:36] <gigaherz> so as I was
saying
L779[07:00:52] <gigaherz>
getCraftingResult lets you choose the exact ItemStack that will be
returned
L780[07:01:15] <gigaherz> while
getRemainingItems lets you choose exactly what is left in the
crafting grid after crafting
L781[07:01:23] <ThePsionic> 13:45:58
<gigaherz> ThePsionic: I just realized, you didn't do
getMetaFromState?
L782[07:01:23] ⇦
Quits: Overreactedosbol
(~Overreact@2a02:1811:2d21:7000:a524:53cd:3a1b:157b) (Quit:
Leaving)
L783[07:01:26] ⇦
Quits: DemoXin (~DemoXin@29.sub-70-197-162.myvzw.com)
()
L784[07:01:32] <ThePsionic> because I'm
not exactly sure how that's going to work
L785[07:01:48] <gigaherz> [13:02]
(gigaherz): you'd override getMetaFromState, where you'd do
((state.getValue(TYPE).ordinal() << 2) |
state.getValue(AXIS))
L786[07:01:48] <gigaherz> [13:03]
(gigaherz): and you'd override getStateFromMeta where you'd do
getDefaultState().withProperty(TYPE,
(meta>>2)&2).withProperty(AXIS,
EnumAxis.values()[meta&2])
L787[07:02:37] <ThePsionic> It doesn't
know ordinal
L788[07:02:47] <gigaherz> hm?
L789[07:02:51] <gigaherz> is it not an
enum?
L790[07:02:55] <ThePsionic> Yes
L791[07:03:09] <gigaherz> 1.8 or
1.8.8?
L792[07:03:12] <ThePsionic> 1.8.8
L793[07:04:13] <gigaherz> oh and I made a
mistake XD
L794[07:04:23] <gigaherz> in
.withProperty(TYPE, (meta>>2)&2)
L795[07:04:40] <gigaherz> that would
really be .withProperty(TYPE,
WoodTypes.values()[(meta>>2)&2])
L796[07:05:21] <gigaherz> although it may
be worth caching the result of values, I don't know if the method
creates a new array every time or not
L797[07:05:51] ⇦
Quits: Lain|log (~Aphrael@baka.khobbits.co.uk) (Ping timeout: 190
seconds)
L798[07:06:10] <gigaherz> ThePsionic: oh
wait I see
L799[07:06:12] ⇦
Quits: Hobbits|away (~khm@2600:3c03::21:1001) (Ping timeout: 195
seconds)
L800[07:06:13] <gigaherz> you have an
explicit "number"
L801[07:06:18] ⇦
Quits: Ordinastie (crystal@bronyville.me) (Ping timeout: 192
seconds)
L802[07:06:23] <gigaherz> getID and
such
L803[07:06:26] <gigaherz> you'd use that
instead
L804[07:06:34] <gigaherz> and to go back,
you'll need your own "fromID"
L805[07:06:38] <gigaherz> unless you use
ordinals.
L806[07:07:41] ⇦
Quits: Jezza (~Jezza@185.44.151.55) (Read error: Connection reset
by peer)
L807[07:07:52] <Nitrodev> gigaherz, was
that all you had?
L808[07:08:00] <Nitrodev> about the
IRecipe
L809[07:10:47]
⇨ Joins: Jezza (~Jezza@185.44.151.55)
L810[07:13:05] <gigaherz> Nitrodev: well
there's getRecipeOtuput but that one doesn't get an ItemStack, it's
only useful for returning a "previe" of the crafting
result
L811[07:13:23] <gigaherz> recipes do stuff
like
L812[07:13:35] <gigaherz> in
getCraftingResult,
L813[07:13:47] <gigaherz> stack =
getRecipeOtuput().copy();
L814[07:13:56] <gigaherz>
stack.setTagCompound(x)
L815[07:14:00] <gigaherz> return
stack;
L816[07:14:45] <gigaherz> it really isn't
any more complex than that
L817[07:15:37] <gigaherz> just scan the
inputs on matches(), assemble the crafting result on
getCraftingResult, and remove inputs on getRemainingItems
L818[07:15:50] <gigaherz> that's why I
suggested you look at the vanilla IRecipe implementations
L819[07:15:51] ⇦
Quits: itachi1706 (~itachi170@doserver.itachi1706.com) (Quit: Bye
:P)
L820[07:15:52] <gigaherz> there's many of
them
L821[07:16:17]
⇨ Joins: itachi1706
(~itachi170@doserver.itachi1706.com)
L822[07:17:06] ⇦
Quits: itachi1706 (~itachi170@doserver.itachi1706.com) (Client
Quit)
L823[07:17:12]
⇨ Joins: JustRamon (~JustRamon@168.235.88.38)
L824[07:17:27]
⇨ Joins: itachi1706
(~itachi170@doserver.itachi1706.com)
L825[07:17:38] <gigaherz> and if vanilla
isn't enough for you
L826[07:17:38] <JustRamon> Does anyone
have a good tutorial for logs in minecraft 1.8? (Mainly the
blockstates)
L827[07:17:55] <gigaherz> ProjectE, the
tcon rework, etc
L828[07:18:04] ⇦
Quits: itachi1706 (~itachi170@doserver.itachi1706.com) (Client
Quit)
L829[07:18:08] <JustRamon>
(logblocks)
L830[07:18:14] <gigaherz> JustRamon: they
aren't special ;P
L831[07:18:23] <JustRamon> Well
L832[07:18:34] <gigaherz> just learn the
blockstate system, and you should figure it out ;P
L833[07:18:41] <gigaherz> all the logs
are
L834[07:18:42] <Nitrodev> okay i need to
go now but i wrote down everything you said giga so after i come
back i'll get to it
L835[07:18:49] ***
Nitrodev is now known as Nitroaway
L836[07:18:50] <gigaherz> is two
properties: TYPE, and AXIS
L837[07:18:55] ⇦
Quits: Nitroaway
(~Nitrodev@dcx0f0yfkf-htz8dy-dyt-3.rev.dnainternet.fi) (Quit:
Leaving)
L838[07:19:02]
⇨ Joins: bochen415 (~bochen415@46.101.38.101)
L839[07:19:22] <gigaherz> the AXIS can be
X,Y,Z which are the 3 orientations the log can take
L840[07:19:40] <gigaherz> and since the
internal metadata on the save files is still only 4 bits
L841[07:19:47] <gigaherz> that leaves you
up to 4 values for the TYPE property
L842[07:19:48] ***
DRedhorse is now known as DRedAway
L843[07:19:55] <JustRamon> Thing is: I
copied all the assets, changed the things to match my code, but
still the block shows the missing texture, and the console says it
doesn't find the model#none
L844[07:20:08] <gigaherz> then you
copypasta'd
L845[07:20:17] <JustRamon> *#normal
L846[07:20:29]
⇨ Joins: itachi1706
(~itachi170@doserver.itachi1706.com)
L847[07:20:32] <gigaherz> okay first
L848[07:20:42] <gigaherz> did you override
createBlockState in your class?
L849[07:21:07] <gigaherz> it would look a
bit like
L850[07:21:39] ⇦
Quits: itachi1706 (~itachi170@doserver.itachi1706.com) (Client
Quit)
L851[07:21:43] <JustRamon> I'm extending
BlockRotatingPillar
L852[07:21:49] <gigaherz> protected
BlockState createBlockState() { return new BlockState(this, TYPE,
BlockLog.LOG_AXIS); }
L853[07:21:59]
⇨ Joins: itachi1706
(~itachi170@doserver.itachi1706.com)
L854[07:22:05] <gigaherz> ah then
L855[07:22:12] ⇦
Quits: Jezza (~Jezza@185.44.151.55) (Read error: Connection reset
by peer)
L856[07:22:30] <JustRamon> It isn't
exactly a log, thats why I used BlockRotatingPillar instead
L857[07:22:42]
⇨ Joins: Ordinastie
(~Ordinasti@87-231-58-94.rev.numericable.fr)
L858[07:22:48] <gigaherz> oh
L859[07:22:51] <gigaherz> well still
L860[07:22:58] <gigaherz> assuming you use
thesame mechanics
L861[07:23:04] ***
TTFT|Away is now known as TTFTCUTS
L862[07:23:12] <gigaherz> where you have
2bit axis and 2bit type
L863[07:23:21] <gigaherz> you'll want your
own custom TYPE property
L864[07:23:23]
⇨ Joins: Jezza (~Jezza@185.44.151.55)
L865[07:23:24] <gigaherz> using your own
enum
L866[07:23:26] <gigaherz> with up to 4
values
L867[07:23:31] <gigaherz> and
L868[07:23:44] <gigaherz> protected
BlockState createBlockState() { return new BlockState(this, TYPE,
BlockRotatedPillar.AXIS); }
L869[07:23:49] <Ordinastie> any good
artist who is bored and want to do some stuff ? :p
L870[07:24:57] <ThePsionic> gigaherz: What
is an ordinal anyway
L871[07:25:10] <JustRamon> Allright,
thanks
L872[07:25:30] <gigaherz> ThePsionic: each
enum has an intrinsic order
L873[07:25:37] <gigaherz> in which the
elements of the enum are laid out
L874[07:25:46] <gigaherz> that is, the
order in which you wrote them in the enum code
L875[07:26:00] <gigaherz> enum.ordinal()
gives you that value
L876[07:26:00] <ThePsionic> Mhm
L877[07:26:25] <gigaherz> then,
EnumType.values() returns the array of elements, in their ordinal
order
L878[07:26:25] <ThePsionic> Oh I see the
issue
L879[07:26:26] <gigaherz> ro
L880[07:26:36] <gigaherz>
EnumType.values()[X.ordinal()] == X
L881[07:26:38] <gigaherz> so*
L882[07:27:01] <ThePsionic> No wait
L883[07:27:07] <ThePsionic> Hmmm
L884[07:28:18] <ThePsionic> So what do I
do instead at getMetaFromState
L885[07:31:41] ⇦
Quits: Something12 (~Something@s010634bdfa9eca7b.vs.shawcable.net)
(Ping timeout: 190 seconds)
L886[07:36:55] <ThePsionic> gigaherz:
???
L887[07:37:12] <ThePsionic> I really can't
get my head around this
L888[07:37:13] ⇦
Quits: Jezza (~Jezza@185.44.151.55) (Read error: Connection reset
by peer)
L889[07:39:14]
⇨ Joins: Jezza (~Jezza@185.44.151.55)
L890[07:42:11] ⇦
Quits: fuj1n (~fuj1n@101.190.222.175) (Quit: Sleep)
L891[07:43:40] <Lumien> If i want to
remove experience points from the player, can i just decrease
EntityPlayer.experienceTotal or does that not work?
L892[07:46:30]
⇨ Joins: Nitrodev
(~Nitrodev@dcx0f0yfkf-htz8dy-dyt-3.rev.dnainternet.fi)
L893[07:47:01] <Nitrodev> im back
L894[07:53:15] <Nitrodev> gigaherz, is the
x of setTagCompound(x)
L895[07:53:15] <Nitrodev> the place of the
recipe?
L896[07:56:33] <Ordinastie> Nitrodev,
wut?
L897[07:56:39] <Nitrodev> nvm don't answer
that
L898[07:56:42] ⇦
Quits: VikeStep (~VikeStep@101.184.165.77) (Read error: Connection
reset by peer)
L899[07:57:14] <Nitrodev> and Ordinastie
i'm trying to figure out IRecipe
L900[07:57:38] <Nitrodev> gigaherz, gave
me a piece of code but i don't understand it so no reason to copy
it
L901[07:57:41] <Ordinastie> that's pretty
straight forward
L902[07:58:38] <Ordinastie> and you
already have several examples in MC
L903[07:58:42] <Ordinastie> and
Forge
L904[07:59:10] <Nitrodev> the examples in
the vanilla classes are like a mess for me
L905[07:59:42] <Nitrodev> and googling
IRecipe isn't an option
L906[07:59:53] <sham1> why not
L907[07:59:59] <Nitrodev> google assumes
that i mean recipe
L908[08:00:19] <sham1>
"IRecipie"
L909[08:00:22] <sham1> Use that
L910[08:00:33] <sham1> Quotes tell google
that you mean what you say
L912[08:01:49] <sham1> thanks
L913[08:01:59] <Nitrodev> ...shut
up...
L914[08:02:47] <gigaherz> Nitrodev: I gave
incomplete code on purpose, because you are supposed to learn, not
just blindly copy things
L915[08:03:03] <gigaherz> ThePsionic:
sorry lunch was ready ;P
L916[08:03:12] <Nitrodev> i know it was an
incomplete coed
L917[08:03:15] <Nitrodev> code*
L918[08:03:37] <gigaherz> so what part do
you not understand?
L919[08:04:05] <gigaherz> do you at least
know how to create a class and implement an interface? ;P
L920[08:04:36] <Nitrodev> creating
classes, no problem bnut the latter
L921[08:04:41] <Nitrodev> nope
L922[08:04:47] <gigaherz> okay so you have
knowledge gaps.
L923[08:05:02] <Ordinastie> Nitrodev, and
that's why people tell you to learn Java first
L926[08:05:53] <gigaherz> maybe you need
the concept first
L927[08:06:53] <Rallias> ...
L928[08:06:56] <Rallias> Uhm...
L929[08:07:02] *
Rallias steps back out.
L930[08:07:09] <sham1> get over here
L931[08:07:14] ⇦
Quits: Jezza (~Jezza@185.44.151.55) (Read error: Connection reset
by peer)
L932[08:07:22] *
Rallias waddles back in and stabs sham1 in the dick
L933[08:08:05]
⇨ Joins: Jezza (~Jezza@185.44.151.55)
L934[08:08:06] *
gigaherz plays mortal kombat theme in his head
L935[08:08:18] <sham1> now now
L936[08:08:45] <Rallias> Anyhow, finally
got preparations done to remove reika's mods from private server
pack.
L937[08:09:29] <gigaherz> the reika-fixer
wasn't enough?
L938[08:09:29] <gigaherz> XD
L939[08:09:44] <sham1>
"reika-fixer"
L940[08:10:07] <Rallias> The
reika-fixer... you mean DanglingVanillaFixer-1.0.jar?
L941[08:10:07] <gigaherz> yeah, a coremod
that makes reika's mods' version checks fail immediately
L942[08:10:18] <gigaherz> instead of
trying to do HTTP requests
L943[08:10:36] <Rallias> gigaherz, I have
a sneaking suspicion that's going to be integrated into
fastcraft.
L944[08:10:44] <gigaherz> lol
L946[08:11:13] <Rallias> Er, nvm... he
said he modified dragonapi, not added it to fastcraft
L947[08:12:33] <Nitrodev> question about
the IRecipe: is it used as an API?
L948[08:12:39] <masa> welp, finally got
around to porting my second to last mod to 1.8.8, still need to
test it out on a server though
L949[08:12:42] ⇦
Quits: Jezza (~Jezza@185.44.151.55) (Ping timeout: 195
seconds)
L950[08:12:58] <gigaherz> Nitrodev: it's
an interface
L951[08:12:59] <Rallias> Nitrodev, Google
"implement interface"
L952[08:13:05] <Rallias> Anyhow, breakfast
time.
L953[08:13:06] <gigaherz> in a sortof
twisted sense, yes
L954[08:13:07] <gigaherz> but
L955[08:13:11] <gigaherz> it's more like
the opposite
L956[08:13:23] <gigaherz> an API makes use
of interfaces
L957[08:13:33] <gigaherz> but in a
way
L958[08:13:43] <Nitrodev> but the website
you gave me has "Interfaces as APIs" in the bottom
L959[08:13:59] <gigaherz> well really,
it's inconsequential
L960[08:14:06] <gigaherz> you don't care
if it's an API or not
L961[08:14:11] <gigaherz> you just
implement the interface
L962[08:14:15] <Nitrodev> okay
L963[08:14:17] <sham1> you implement it
yeah
L964[08:14:43] <gigaherz> the important
thing is that you understand that an interface is a
"contract"
L965[08:14:48] <gigaherz> by implementing
the interface
L967[08:14:59] <gigaherz> you are
requiredto provide the methods of the interface
L968[08:15:09] <gigaherz> nothing else,
nothing more
L969[08:15:27] <gigaherz> that page simply
explains how the interface works in terms of java programming
L970[08:15:37] <Nitrodev> yeah so
interfaces are like arrays of methods
L971[08:15:39] <sham1> And this is why we
tell people to learn java before they start modding
L972[08:15:44] <sham1> Sorta yeh
L973[08:15:48] <sham1> But not
really
L974[08:15:49] <gigaherz> in a very
twisted way
L975[08:15:56] <gigaherz> there is an
internal "method table"
L976[08:15:57] <Nitrodev> for fucks
sake
L977[08:16:09]
⇨ Joins: Elec332
(~Elec332@ip5456d4a5.speed.planet.nl)
L978[08:16:19] <gigaherz> but really, it's
just a "promise to have those methods available"
L979[08:16:45] <Nitrodev> okay
L980[08:16:46] <gigaherz> it gives the
code referencing your object the assurance that the methods
exist
L981[08:17:09] <gigaherz> as far as the
codei tself is concerned, that's all that matters
L982[08:17:12] <gigaherz> but on a
semantic level
L983[08:17:18] <gigaherz> an interface can
have certain implications
L984[08:17:19] <gigaherz> like
L985[08:17:45] <gigaherz> if you implement
Iterable<T>, your iterator() method is supposed to return an
iterator that goes through the contents
L986[08:17:51] <gigaherz> you could return
random numbers
L987[08:18:02] <gigaherz> but then people
would be confused when they use it
L988[08:18:06] <sham1> You can think of
interfaces akin to any abstract class where you have to implement
all the methods
L989[08:18:12] <gigaherz> so although it's
not a strict requirement
L990[08:18:24] <gigaherz> an interface
should always be used for the purpose it's designedto
represent
L991[08:18:38] <gigaherz> Iterable ->
iterates the contents of the container
L992[08:18:44] <gigaherz> List -> the
container is a list
L993[08:18:45] <kimfy> Pretty sure if you
don't understand interfaces you don't understand abstract
classes
L994[08:18:55] <gigaherz> IRecipe ->
the object represents a crafting recipe in Minecraft
L995[08:19:36] <Nitrodev> i understand
that
L996[08:19:50] <gigaherz> kimfy: well
someone with ONLY C++ background may not have seen the
"interface" as a separate concept
L997[08:20:01] <sham1> ye
L998[08:20:06] <gigaherz> since a C++
"interface" is just an abstract class with pure virtual
methods
L999[08:20:24] <sham1> Interfaces are a
direct consequence of needing multi-inheritance and not having it
in Java
L1000[08:20:41] <gigaherz> no, interfaces
are a programming contract
L1001[08:21:02] <sham1> Well with
multi-inheritance it would not be needed
L1002[08:21:03] <Nitrodev> what other
usages does the interfaces have
L1003[08:21:07] <gigaherz> they are
designedto avoid multiple-inheritance without losing the ability to
have multiple ... interfaces
L1004[08:21:15]
⇨ Joins: Jezza (~Jezza@185.44.151.55)
L1005[08:21:17] <Nitrodev> because for me
mod atm this is not NEEDED
L1006[08:21:24] <Nitrodev> like this
IRecipe thing
L1007[08:21:32] <Nitrodev> i can work
around it
L1008[08:21:37] <gigaherz> concrete uses?
infinite
L1009[08:21:37] <Ordinastie> so, FML
apparently catches but silences the "broken aspect ratio and
not an animation" message :x
L1010[08:21:38] <sham1> It marks the
object you get from it as a certain type
L1011[08:21:45] <gigaherz> but in general
terms: that one only
L1012[08:21:46] <sham1> Like when you
implement IRecipe
L1013[08:21:58]
⇦ Quits: Jezza (~Jezza@185.44.151.55) (Read error: Connection
reset by peer)
L1014[08:22:00] <Nitrodev> yeah like in
modding
L1015[08:22:03] <sham1> Your class'
instance is also an instance of IRecipe
L1016[08:22:04] <Nitrodev> mc
modding
L1017[08:22:07] <gigaherz> the interface
is nothing more and nothing less than a contract ensuring that an
object has a specific set of methods publicly available for
use
L1018[08:22:23] <Nitrodev> that's
actually really simple
L1019[08:22:29] <gigaherz> in terms of
modding, there's a bunch of interfaces you'll come across
eventually
L1020[08:22:38] <gigaherz> IRecipe is
one
L1021[08:22:44] <gigaherz> ITickable is
another
L1022[08:22:51] ***
Vigaro|AFK is now known as Vigaro
L1023[08:22:53] <sham1> IFluidHandler if
you want to go there
L1024[08:22:57] <gigaherz>
ITileEntityProvider is one you should avoid if you see it
L1025[08:23:01] <Nitrodev> are containers
one?
L1026[08:23:04] <gigaherz> (forge has a
better alternative)
L1027[08:23:06] <gigaherz> ...
L1028[08:23:06] <Nitrodev> like chests
etc.
L1029[08:23:21] <gigaherz> yes,
IInventory
L1030[08:23:24] <gigaherz> and
ISidedInventory
L1031[08:23:39] <sham1> ISidedInventoy
being a special case of IImnventory
L1032[08:23:40] <gigaherz> (the latter
adds to the former)
L1033[08:23:47] <Nitrodev> well
then
L1034[08:23:54] <sham1> Bringing it into
a hierarchy
L1035[08:24:03] <Nitrodev> so even if i
TRY to stay clear or interfaces they will show up
L1036[08:24:08] <gigaherz> Minecraft, and
specially Forge
L1037[08:24:17] <gigaherz> makes use of
almost all the features available in JAva
L1038[08:24:20] <gigaherz> one way or
another
L1039[08:24:20] <Nitrodev> since my mod
will be about containers
L1040[08:24:30] <sham1> Inventories
eh
L1041[08:24:35] <gigaherz> yes
L1042[08:24:45] <Nitrodev> like the anme
says it Warehouse STORAGE
L1043[08:24:50] <Nitrodev> name*
L1044[08:25:08] <gigaherz> but as you may
have been able to see
L1045[08:25:14] <gigaherz> the concept of
interface is really not complicated
L1046[08:25:23] <gigaherz> interface HasA
{ void A(); }
L1047[08:25:40] <gigaherz> if you
implement HasA, you will be required by the compiler to have a
public void A() {} method
L1048[08:25:45]
⇨ Joins: H1N1theI
(~h1n1thei@2601:5c2:8100:5898:daeb:97ff:fee9:f781)
L1049[08:25:48] <gigaherz> the actual
code inside the method doesn't matter
L1050[08:26:05] <sham1> it matters but
nothing tells you it has to be like that
L1051[08:26:08] <gigaherz> all that
matters is that it's public and has the right name, return value,
and paramters
L1052[08:26:20] <sham1> the functionality
can be whatever
L1053[08:26:24] <gigaherz> yeah
L1054[08:26:41]
⇨ Joins: Jezza (~Jezza@185.44.151.55)
L1055[08:26:41] <gigaherz> as I said
earlier, the interface often has an attached expectation
L1056[08:26:53] <Ordinastie> that's a
basic programming concept, you shouldn't be modding if you don't
know those concepts
L1057[08:27:29] <sham1> you dont need to
know too much programming to jump into modding
L1058[08:27:34] <sham1> Basics can get
you quite far
L1059[08:27:44] <gigaherz> sham1: yes,
but he's lacking in the basics
L1060[08:27:44] <gigaherz> XD
L1061[08:27:51] <gigaherz> that's the
issue
L1062[08:27:51] <sham1> yeah
L1063[08:28:13] <sham1> learning the
basic java syntax and class inheritance really helps going
forward
L1064[08:28:27] <sham1> More
"advanced" topics like reflection are not as important in
the beginning
L1065[08:28:31] <gigaherz> variables and
fields, methods, classes, packages and interfaces,
L1066[08:28:47] <gigaherz> inheritance
and overrides
L1067[08:28:54] <gigaherz> getters and
setters
L1068[08:29:44] <PaleoCrafter> darn Java
generics ._.
L1069[08:29:49] <gigaherz> that's all
general concepts that you really need to be aware of
L1070[08:29:52] <sham1> oh yeah
L1071[08:29:59] <sham1> Generics is also
something to learn
L1072[08:30:04] <Ordinastie> basic
programming knowledge
L1073[08:30:10] <gigaherz> generics
are... partially needed
L1074[08:30:17] <gigaherz> you don't need
to know how they work
L1075[08:30:29] <sham1> You need to know
how to use them
L1076[08:30:44] <gigaherz> yeah
L1077[08:30:51] <sham1> So you can have
more advanced data structures than just an array
L1078[08:31:00] <gigaherz> which requires
knowing the concept of type erasure
L1079[08:31:10] <sham1> Which is BS
btw
L1080[08:31:13] <gigaherz> otherwise you
end up shooting yourself in the feet
L1081[08:31:44] <gigaherz> or the arm,
because to the compile, it's al lthe same
L1082[08:31:48] <gigaherz>
compiler*
L1083[08:32:03] <Nitrodev> one of the
problems for even LEARNING programming (any language not just java)
is language
L1084[08:32:13] <Nitrodev> sham1 knows
what i'm talking about
L1085[08:32:21] <sham1> You have trouble
in English?
L1086[08:32:30] <sham1> To be fair
L1087[08:32:35] <sham1> They do teach it
here so late
L1088[08:32:38] <Nitrodev> not much
trouble
L1089[08:32:40] <gigaherz> I'm from
Spain
L1090[08:32:48] <Nitrodev> 3rd grade isnt
late
L1091[08:32:51] <gigaherz> heck most
people here are non-native
L1092[08:33:05] <Nitrodev> i leanrd
english when i was on 2nd grade
L1093[08:33:19] <gigaherz> I can't even
remember when I started
L1094[08:33:27] <Nitrodev> but i still
have trouble with the most "advanced words"
L1095[08:33:31] <gigaherz> but I spent
quite a lot of time on the internet ;P
L1096[08:33:40] <gigaherz> watching
english tv shows
L1097[08:33:44] <Nitrodev> my learning
was from games
L1098[08:33:45] <gigaherz> reading
english websites
L1099[08:33:49] <gigaherz> chatting in
english
L1100[08:33:54] <Nitrodev> ^^
L1101[08:34:00] <gigaherz> it's a matter
of practice
L1102[08:34:13] <Nitrodev> yeah
L1103[08:34:27] <Nitrodev> i hate this
kind of parameters in mc ... p_i45327_1_
L1104[08:34:34] <gigaherz> I'm 31, I have
had internet since I was 14
L1105[08:34:38] <gigaherz> english was
unavoidable ;P
L1106[08:34:38] <Nitrodev> sure i know
what that is...
L1107[08:34:50] <gigaherz> it just means
it's unnamed
L1108[08:34:58] <gigaherz> you can
contribute new names for things to mcp
L1109[08:35:10] <Nitrodev> i'm not gonna
say my age because you would laugh
L1110[08:35:12] <Nitrodev> ah
L1111[08:35:57] <gigaherz> [15:35]
-MCPBot_Reborn- sp <srg name> <new name>
[<comment>] : Sets the MCP name and comment for the SRG
method parameter specified. SRG index can also be used.
L1112[08:37:10] <sham1> Well as far as
programming goes
L1113[08:37:25] <sham1> Nitro, you
propably could get a Java book from library in Finnish
L1114[08:37:34] <sham1> I remember a good
one
L1115[08:37:47]
⇦ Quits: Jezza (~Jezza@185.44.151.55) (Read error: Connection
reset by peer)
L1116[08:39:20]
⇨ Joins: Jezza (~Jezza@185.44.151.55)
L1117[08:40:48] <sham1> Also, age really
does not matter as far as this goes
L1118[08:42:45] <masa> well isn't it
usually thought that it is easier to learn things when you are
young?
L1119[08:43:24] <gigaherz> the brain is
more flexible
L1120[08:43:33] <gigaherz> it's easier
for young neurons to form new connections
L1121[08:43:38] <ThePsionic> You can't
teach an old dog new tricks
L1122[08:43:46] <gigaherz> but you CAN
teach an old dog new tricks
L1123[08:43:53] <gigaherz> ;P
L1124[08:43:58] <ThePsionic> Shh
L1125[08:44:06] <gigaherz> the
mythbusters proved so!
L1126[08:44:06] <gigaherz> ;P
L1127[08:44:08] <masa> you can, but he
demands more treats for learning them :p
L1128[08:44:15] <Nitrodev> lol
L1129[08:44:17] <Vigaro> I know a guy who
has been learning to code since the age of 8
L1130[08:44:20] <gigaherz> it takes extra
patience
L1131[08:44:26] <Vigaro> He is now at 18
and is almost a guru
L1132[08:44:33] <ThePsionic> gigaherz:
bring me a 13yo dog that can code and then come back to me
L1133[08:44:43] <sham1> I learnt to
program at the age of 9
L1134[08:44:45] <gigaherz> ThePsionic:
coding is a bit more than a trick
L1135[08:44:45] <gigaherz> ;P
L1136[08:44:50] <ThePsionic> Lol
L1137[08:44:50] <sham1> 8 years ago
L1138[08:45:11] <Nitrodev> sham1, i
learned to program around 2 years ago
L1139[08:45:13] <gigaherz> I maybe able
to teach a dog to press one of those programmable
"emergency" buttons
L1140[08:45:17] <Nitrodev> that was when
i started
L1141[08:45:21] <gigaherz> teach the dog
to press it
L1142[08:45:27] <ThePsionic> Sometimes I
wonder why I'm trying to port this project
L1143[08:45:28] <gigaherz> and then
program the button to write a hello world, and compile it
L1144[08:45:29] <gigaherz> XD
L1145[08:45:31] <sham1> Well that is
conditioning
L1146[08:45:40] <Nitrodev> after that i
kept having 2 month long breaks
L1147[08:45:48] <ThePsionic> It's so much
work just trying to get it to working state
L1148[08:45:54] <Nitrodev> during the
breaks i forgot almost everything
L1149[08:46:03] <Nitrodev> so
#notusefull
L1150[08:46:17] <sham1> And while we
still can experience conditioning, it is the cognitive learning
that is the most important for a person
L1151[08:46:54] <masa> bleh I need to do
so much testing for one of my mods before I feel comfortable
releasing it as a stable version ;_;
L1152[08:47:00] <ThePsionic> sham1: i
thought the most important thing for a person was oxygen
L1153[08:47:16] <ThePsionic> masa: alpha
builds forever
L1154[08:47:18] <gigaherz> on the right
proportion
L1155[08:47:22] <gigaherz> too much
oxygen kills
L1156[08:47:23] <gigaherz> XD
L1157[08:47:24] <sham1> More like water
and sodiumchloride
L1158[08:47:34] <Nitrodev> btw is there a
way to make a tool (that takes damage) but can't mine
anything
L1159[08:47:49] <ThePsionic> Yes
L1160[08:47:56] <sham1> what would it be
able to do then
L1161[08:47:57] <gigaherz> oxygen >
warmth > water > food > *
L1162[08:48:05] <masa> ThePsionic: I have
an alpha build of it out, it has seen 6 + 2 downloads so far...
(alpha-1 and alpha-2)
L1163[08:48:11] <sham1> and where would
it take the damage
L1164[08:48:13] <ThePsionic> sham1:
onItemRightClick
L1165[08:48:19]
⇦ Quits: Ordinastie
(~Ordinasti@87-231-58-94.rev.numericable.fr) (Quit:
Leaving)
L1166[08:48:25] <sham1> ...
L1167[08:48:36] <Nitrodev> on
crafting
L1168[08:48:43] <sham1> Ah
L1169[08:48:54] <sham1> It does not need
to be an actual tool then
L1170[08:48:56]
⇨ Joins: Ordinastie (crystal@bronyville.me)
L1171[08:49:00] <ThePsionic> masa: I have
60 downloads across 5 alpha builds on the only public mod I
have
L1172[08:49:06] <gigaherz> Nitrodev: you
can have an item that has a damage
L1173[08:49:06] <sham1> It could be any
item
L1174[08:49:10] <Nitrodev> oh so no
extends ItemTool?
L1175[08:49:13] <gigaherz> and make the
IRecipe keep the item
L1176[08:49:13]
⇨ Joins: Lain|log (~Aphrael@baka.khobbits.co.uk)
L1177[08:49:19]
⇨ Joins: Hobbits|away (~khm@2600:3c03::21:1001)
L1178[08:49:24] <gigaherz> but increase
the damage value of the item
L1179[08:49:25] <sham1> Nitrodev, it does
not HAVE to exten ItemTool
L1180[08:49:29] <sham1> it can if you
want to
L1181[08:50:35] <Nitrodev> okay
L1182[08:51:16]
⇦ Quits: Lain|log (~Aphrael@baka.khobbits.co.uk) (Remote host
closed the connection)
L1183[08:51:16]
⇦ Quits: Hobbits|away (~khm@2600:3c03::21:1001) (Remote host
closed the connection)
L1184[08:51:26] <Nitrodev> but wait you
need Irecipe for that?
L1185[08:52:29] <gigaherz> yes
L1186[08:52:36] <gigaherz> since you have
to manually cause it to get damaged on crafting
L1187[08:52:47] <gigaherz> well, maybe
you could use the crafting event
L1188[08:52:55] <gigaherz> but hat'd be a
hack
L1189[08:52:59] <gigaherz> better to
implement the recipe manually
L1190[08:53:08]
⇨ Joins: Hobbits|away (~khm@2600:3c03::21:1001)
L1191[08:53:12]
⇨ Joins: Lain|log (~Aphrael@baka.khobbits.co.uk)
L1192[08:54:32] <Nitrodev> a hack?
L1193[08:55:04] <gigaherz> a kludge
L1194[08:55:17]
⇦ Quits: Jezza (~Jezza@185.44.151.55) (Ping timeout: 195
seconds)
L1195[08:55:30] <gigaherz> ugly code that
I can't teach you to write without feeling bad ;P
L1196[08:55:45] <Nitrodev> my code is
ungly anyway
L1197[08:55:54] <sham1> it would become
uglier
L1198[08:55:54] <Nitrodev> i don't see
the problem
L1199[08:56:00] <Nitrodev> i doubt
it
L1200[08:56:15] <gigaherz> please do the
IRecipe, it's not that hard
L1201[08:56:21] <gigaherz> the IDE will
almost do it for you ;P
L1202[08:56:32] <gigaherz> just add
" implements IRecipe" to the class declaration
L1203[08:56:43] <gigaherz> and then tell
the IDE to add all the missing methods
L1204[08:56:46] <gigaherz> ;P
L1205[08:57:06] <Nitrodev> okay so i make
a class that is essentially a recipe right?
L1206[08:57:13] <gigaherz> yes
L1207[08:57:14] ***
zz_SnowShock35 is now known as SnowShock35
L1208[08:57:30] <gigaherz> class
YourRecipe implements IRecipe
L1209[08:58:47] <Nitrodev> okay
implemented the recipes
L1210[08:58:53] <Nitrodev>
methods***
L1211[08:59:02] <gigaherz> okay
then
L1212[08:59:07] <gigaherz> remember what
I told you earlier?
L1213[08:59:30] <Nitrodev> which
one
L1214[08:59:38] <gigaherz> about the
methods in IRecipe
L1215[08:59:45] <gigaherz> I explained
each one for you
L1216[08:59:57] <Nitrodev> i have the
notepad opened here
L1217[09:00:08] <Nitrodev> where i copied
all you said about the methods
L1218[09:00:21] ***
Keridos|away is now known as Keridos
L1219[09:00:39] <gigaherz> yeap then
that's your next task
L1220[09:00:51] <gigaherz> make sure you
return the right number from the recipe size method
L1221[09:01:14] <gigaherz> (4 or 9 are
the common numbers, so you can stick to those if you are
unsure)
L1222[09:01:17] <Nitrodev> so all i ahve
to do in the getrecipesize is change the number after return?
L1223[09:01:25] <gigaherz> yes
L1224[09:01:44] <gigaherz> then in
matches(inv) you want to access the contents of the inventory
L1225[09:01:50] <gigaherz> to see if each
slot has a valid value
L1226[09:02:15] <Nitrodev> with value
being the item?
L1227[09:02:25] <gigaherz> the value
would be an ItemStack
L1228[09:02:41] <Nitrodev> so that's kind
of yes
L1229[09:02:54] <gigaherz> yes
L1230[09:04:46] <shadowfacts> How would I
send a vanilla packet to all players in a certain range (equivalent
to SNW sendToAllAround)? I specifically want to send a
S29PacketSoundEffect
L1231[09:04:58] <Nitrodev> i think i'm
kind of getting this
L1232[09:05:12] <gigaherz> shadowfacts:
world.playSound?
L1233[09:05:12] <Nitrodev> while looking
at the RecipesBanners class
L1234[09:06:05] <gigaherz> shadowfacts:
calling world.playSound from the server should send the sound to
everyone within range, I believe
L1235[09:06:09] <Nitrodev> gigaherz, so
in matches the first thing i want to do is make ItemStack variables
for the inputs
L1236[09:06:15] <Nitrodev> right?
L1237[09:06:18] <ThePsionic> Looking at
other implementations is a good way to learn :P
L1238[09:06:22] <gigaherz> not
necessary
L1239[09:06:32] <gigaherz> you want to
check what is already in the slots
L1240[09:06:38] <gigaherz> and see ifthe
contents are what you need
L1241[09:06:38] <gigaherz> like
L1242[09:07:00]
⇨ Joins: Brokkoli
(~Brokkoli@f054181209.adsl.alicedsl.de)
L1243[09:07:03] <Nitrodev> for loops are
for those checking right?
L1244[09:07:12] <gigaherz> if you need
slot 0 to be empty, you can do: if(inv.getStackInSlot(0) != null)
return false;
L1245[09:07:58] <shadowfacts>
alrighty
L1246[09:07:59] <gigaherz> if you need
slot 1 to be paper, you can do stack=inv.getStackInSlot(1);
if(stack == null ||stack.getItem() != Items.paper) return
false;
L1247[09:08:10] <gigaherz> if you want
your recipe to be shaped
L1248[09:08:16] <gigaherz> that's
enough
L1249[09:08:17] <gigaherz> but
L1250[09:08:24] <gigaherz> if you want it
to be shapeless
L1251[09:08:39] <gigaherz> you will want
to have some variables to keep track of the items you have already
seen
L1252[09:08:41]
⇨ Joins: Szernex
(~Szernex@91-113-118-42.adsl.highway.telekom.at)
L1253[09:08:48] <gigaherz> and if you see
an item twice, you return false
L1254[09:08:52] <gigaherz> and if at the
end
L1255[09:08:58] <gigaherz> any of the
needed items hasn't feen found
L1256[09:09:00] <gigaherz> you still
return false
L1257[09:09:07] <gigaherz> only return
true if theitems have been seen once and only once
L1258[09:09:26] <gigaherz> the beauty of
IRecipe, is that you are not restricted to the shaped/shepeless
concept
L1259[09:09:29] <gigaherz> you can allow
anything
L1260[09:09:53] <gigaherz> like, you
could makea crazy recipe that requires items to be in a certain
order
L1261[09:09:58] <gigaherz> but regardless
of the slot they are in
L1262[09:10:04] <gigaherz> just so long
as B comes after A in the array
L1263[09:10:36] <gigaherz> justremember
to check for nulls
L1264[09:10:42] <gigaherz> ;P
L1266[09:11:47] <Nitrodev> i just took
those from the RecipesBanners class
L1267[09:16:19] <shadowfacts> gigaherz,
for future reference, on the server side, playSound does nothing
b/c it's not implemented by WorldServer, but playSoundEffect does
work
L1268[09:16:43] <gigaherz> oh
L1269[09:16:46] <gigaherz> oops then
;P
L1270[09:18:24] ***
Jared is now known as Jared|Away
L1271[09:24:23]
⇨ Joins: cppchriscpp
(~cppchrisc@c-76-24-45-127.hsd1.nh.comcast.net)
L1272[09:24:49] <Nitrodev>
itemStack2.getItem() != ModItems.itemSaw
L1273[09:25:19] <Nitrodev> i know that
that means that itemStack2 should be ModItems.itemSaw but does IDEA
understand that
L1274[09:25:42] <gigaherz> what no
L1275[09:25:46] <gigaherz> that means the
item is NOT itemSaw
L1276[09:25:55] <Nitrodev> like is that
the same as declaring a variable itemStack2 =
ModItems.itemSaw
L1277[09:26:08] <gigaherz> no!
L1278[09:26:13] <Nitrodev> yeh i know !=
means not
L1279[09:26:15] <Nitrodev> oh
L1280[09:26:32] <gigaherz> if you want a
variable
L1281[09:26:34] <gigaherz> you declare
it.
L1282[09:27:30] <sham1> This will be full
of fluid soon <3
L1284[09:27:39] <ThePsionic> Huehue
L1285[09:27:58] <Nitrodev> yey i'm not
the only one with bad textures
L1286[09:28:14] <ThePsionic> :P
L1287[09:28:15] <gigaherz>
Placeholderine? ;P
L1288[09:28:29] <sham1> that placeholder
is the valve block
L1289[09:28:37] <gigaherz> ah ;P
L1290[09:28:44] <gigaherz> so a
Placeholderium block
L1291[09:28:50] <gigaherz> ;P
L1293[09:28:53] <ThePsionic> Nice
L1294[09:28:59] <Nitrodev> i'm pretty
sure it looks weird
L1295[09:29:15] <Nitrodev> as i copied it
from RecipesBanners class
L1296[09:29:20] <gigaherz> no Nitrodev,
it does not look good ;P
L1297[09:29:21] <gigaherz> XD
L1298[09:29:31] <gigaherz> that code
shows just how lacking your understanding of Java is
L1299[09:29:33] <Nitrodev> i kinda
guessed that
L1300[09:29:58] <ThePsionic> itemStack2
is never null, and is being filled with an Item instead
L1301[09:30:05] <gigaherz> first, you are
assigning an Item, to an ItemStack variable
L1302[09:30:07] <gigaherz> second
L1303[09:30:10] <gigaherz> that line
lacks a ;
L1304[09:30:26] <gigaherz> third, you are
fixing the variable to a value, instead of reading it from the
inventory inside the loop
L1305[09:30:30] <Nitrodev> oh that
line
L1306[09:30:32] <sham1> wouldnt his IDE
tell him about that
L1307[09:30:44] <Nitrodev> i made it
different
L1308[09:30:47] <gigaherz> fourth, you
are never assigning the values of the variables,
L1309[09:30:48] <sham1> the semicolon I
mean
L1310[09:30:54] <Nitrodev> that code in
the pastebin is no longer the code i use
L1311[09:30:57] <ThePsionic> It should
sham1
L1312[09:31:01] <Nitrodev> i was
L1313[09:31:04] <Nitrodev> it*
L1314[09:31:12] <gigaherz> fifth, the
loop is rejecting the recipe if ANY slot is not a saw
L1315[09:31:26] <gigaherz> which means,
you must fill the crafting grid with saws for it to pass
L1316[09:31:32] <Nitrodev> oh
L1317[09:31:33] <Nitrodev> XD
L1318[09:31:38] <gigaherz> but
sixth,
L1319[09:32:00] <gigaherz> since you
never assigned the value to itemstack2, even if you wereto fix the
first issue
L1320[09:32:01] <ThePsionic> This list is
endless!
L1321[09:32:05] <gigaherz> yourcode owuld
never enter the if
L1322[09:32:15] <gigaherz> which means
the return at the end owuld always returnfalse
L1323[09:32:28] <Nitrodev> i removed the
return at the end
L1324[09:32:37] <Nitrodev> i realized
that i while ago
L1325[09:32:46] <gigaherz> 7th, you have
inside the loop an if that checks if both are null
L1326[09:32:53] <gigaherz> so if the
first slot was empty
L1327[09:32:54] <Nitrodev> but as i said:
<Nitrodev> i'm pretty sure it looks weird
L1328[09:32:54] <Nitrodev>
<Nitrodev> as i copied it from RecipesBanners class
L1329[09:32:58] <gigaherz> it would
immediately exit the function
L1330[09:33:23] <gigaherz> soyeah
L1331[09:33:35] <gigaherz> that code you
linked, is wrong in many many levels ;P
L1332[09:33:44] <Nitrodev> yeah i fixed
alot of stuff while you were mocking me
L1333[09:33:52] <sham1> He was not
mocking you
L1334[09:33:59] <ThePsionic> IDEs can not
help you when your code is just plain bad
L1335[09:34:08] <gigaherz> I was only
slightly mocking, I was being mostly serious
L1336[09:34:10] <Nitrodev> okay
whatever
L1337[09:34:22] <Nitrodev> the thing i'm
about to ask is not related to java
L1338[09:34:36] <sham1> okay
L1339[09:34:39] <ThePsionic> Let's hear
it
L1340[09:34:46] <Nitrodev> what does this
mean : inventoryCrafting.getSizeInventory()
L1341[09:35:01] *
gigaherz facedesks
L1342[09:35:01] <Nitrodev> does that
echeck the crafting inv size?
L1343[09:35:08] <ThePsionic> How is that
not Java related
L1344[09:35:13] <sham1> It gets the size
of the inventory
L1345[09:35:16] <Nitrodev> how is it
not
L1346[09:35:21] <Nitrodev> the
players?
L1347[09:35:32] <gigaherz>
inventoryCrafting -> identifier, referes to the method
parameter
L1348[09:35:34] <sham1> The crafting
inventory
L1349[09:35:41] <Nitrodev> ah got
it
L1350[09:35:43] <ThePsionic> The crafting
GUI is an inventory too
L1351[09:35:46] <gigaherz> . -> member
access operator, refers to the identifier seen right before
it
L1352[09:35:53] <ThePsionic> Anything
with a slot is
L1353[09:36:00] <gigaherz>
getSizeInventory -> identifier, method name
L1354[09:36:07] <gigaherz> () ->
function call operator
L1355[09:36:13] <Nitrodev> OKAY I GET
IT
L1356[09:36:19] <sham1> no giga
L1357[09:36:19] <Nitrodev> it was related
to java then
L1358[09:36:24] <sham1> That is declaring
a lambda :P
L1359[09:36:28] <Nitrodev> i made that
mistake
L1360[09:36:34] <ThePsionic> sham1
pls
L1361[09:36:41]
⇨ Joins: Temportalist
(uid37180@id-37180.charlton.irccloud.com)
L1362[09:36:50] <gigaherz>
inventoryCrafting.getSizeInventory() --> function call to a
method inside inventoryCrafting, which happens to be a parameter in
the function
L1363[09:37:17]
⇦ Quits: Firedingo
(~Firedingo@CPE-121-217-154-65.lnse2.cht.bigpond.net.au) (Ping
timeout: 195 seconds)
L1364[09:37:19] <Nitrodev> no need to
explain it
L1365[09:37:27] <gigaherz> I like to
finish what I start ;P
L1366[09:37:34] <Nitrodev> you could have
just said that it is elated to java
L1367[09:37:44] <Nitrodev> and then i
would have guessed how
L1368[09:37:44] <gigaherz> yo uare
writing a mod
L1369[09:37:49] <Nitrodev> no shit
L1370[09:37:49] <sham1> also, that
function call is not a parameter to a method
L1371[09:37:50] <gigaherz> EVERYTHING is
java
L1372[09:37:54] <sham1> It is just a
for-loop
L1373[09:38:17] <sham1> Everything is
Java except for Scala, Clojure, Groovy et
L1374[09:38:21] <sham1> et cetera*
L1375[09:38:39] <gigaherz> sham1, I meant
that "inventoryCrafting" is a parameter, not the result
of the call
L1376[09:38:39] <gigaherz> ;p
L1377[09:38:46] <Nitrodev> hold on
L1378[09:39:01] <sham1> it is the
instance you call the method with
L1379[09:39:08] <sham1> It technically is
a parameter
L1381[09:39:24] <sham1> But this is
getting too close to the JVM internals
L1382[09:39:32] <Nitrodev> i know it
doesn't have the return at the functions end but
L1383[09:39:40] <gigaherz> it looks less
bad, yes
L1384[09:39:48] <gigaherz> with the
current code
L1385[09:39:53] <gigaherz> assumingyou
added a return at the end
L1386[09:40:02] <gigaherz> it would
require you to have ALL slots in the inventory be saws
L1387[09:40:12] <Nitrodev> okay so that
is still bad
L1388[09:40:17] <gigaherz> yes
L1389[09:40:20] <gigaherz> but less bad
;P
L1390[09:40:26] <sham1> Let me give you
an example
L1391[09:40:30] <gigaherz> what you want
to do is
L1392[09:40:30] <Nitrodev> okay
L1393[09:40:39] <gigaherz> store the
itemStack2 as you do now
L1394[09:40:42] <gigaherz> that's not
wrong
L1395[09:40:44] <gigaherz> then
L1396[09:41:12] <gigaherz>
if(itemStack2.getItem() == ModItems.itemSaw)
L1397[09:41:45] <gigaherz> if (itemStack1
!= null) return false; // to disallow having the same item
twice
L1398[09:41:50] <gigaherz> itemStack1 =
itemStack2;
L1399[09:41:57] <gigaherz> ...
L1400[09:42:07] <gigaherz> well, you'd
wrap the last two in {} since they are part of the same if
L1401[09:42:26] ***
fry is now known as fry|sleep
L1402[09:42:37] <sham1> This is the
absolute basic
L1404[09:42:50] <sham1> It requires the
saw to be there and nothing else
L1405[09:43:06] <gigaherz> you didn't
check for the saw being there twice, sham1 ;P
L1406[09:43:17] <sham1> That's for him to
do
L1407[09:43:25] <sham1> I only provided
an example
L1408[09:43:25] <gigaherz> yeah but let
it be clear
L1409[09:43:27] <gigaherz> with your
code
L1410[09:43:34] <gigaherz> it allows
anywhere from 1 to 9 saws
L1411[09:43:38] <Nitrodev> sham1, i have
it backwards
L1412[09:43:42] <Nitrodev> well
sorta
L1413[09:43:56] <Nitrodev> yeah i have it
backwards
L1414[09:44:09] <gigaherz> yes it's part
of why yours was bad ;P
L1415[09:44:21] <gigaherz> sham1's code
looks for saws
L1416[09:44:28] <sham1> Time to do some
multiblock coding
L1417[09:44:28] <gigaherz> yours looks
for non-saws
L1418[09:44:30] <sham1> Oh joy
L1419[09:45:24] <ThePsionic> Modding!
:D
L1420[09:45:30] <Nitrodev> now i'm just
kind of confused
L1421[09:45:38] <Nitrodev> i have two
examples here
L1422[09:46:03] <sham1> yes
L1423[09:46:07] <gigaherz> copying from
examples is meaningless ifyou don't *understand* what the examples
are doing
L1424[09:46:15] <sham1> ^
L1425[09:46:18] <Nitrodev> i know
L1426[09:46:22] <sham1> same with base
classes ;)
L1427[09:46:30] <Nitrodev> i've reminded
me enough times already
L1428[09:47:27] <Nitrodev> okay i'm gonna
pastebin my current code and i'll add comments to say what i THINK
is happening in each line
L1429[09:47:56] <sham1> Anyway Giga, do
you know of any way to make the world automatically call
Block#onNeighbourBlockChanged
L1430[09:48:03] <sham1> On my own custom
little update
L1431[09:48:49] <sham1> or
"onNeighborBlockChanged" because different spelling
behind the atlantic ocean
L1432[09:50:01] <ThePsionic> sham1: It
has a mapping name, and that's the name :P
L1433[09:50:15] <sham1> yeah
L1434[09:50:21] <sham1> But back to the
relevant point
L1435[09:50:41] <ThePsionic> /shrug
tbh
L1436[09:50:52] <gigaherz> what?
L1437[09:50:54]
⇨ Joins: Dante666
(webchat@c33-180.i07-9.onvol.net)
L1438[09:51:04] <sham1> Well
World#notifyBlockOfStateChange calls it
L1439[09:51:09] <sham1> Time to see what
calls that
L1440[09:51:39] <gigaherz> it gets called
automatically when you do world.setBlockState
L1441[09:51:45] <gigaherz> there's a
different method
L1442[09:52:28] <gigaherz>
onbeighborChange, which is for notifying of non-state changes
L1443[09:52:36] <gigaherz> such as if a
TE changes
L1444[09:52:46]
⇦ Quits: Dante666 (webchat@c33-180.i07-9.onvol.net) (Quit:
Web client closed)
L1445[09:52:47] <gigaherz> well for
getting notified of*
L1446[09:52:54] <sham1> okay
L1447[09:53:03] <sham1> It can be called
with TE stuff
L1448[09:53:18] <sham1> Should I just
invoke it manually or is there a better way
L1449[09:53:50] <gigaherz> yes-ish
L1450[09:53:57] <gigaherz> vanilla calls
it through updateComparatorOutputLevel
L1451[09:54:03] <sham1> Hmm
L1452[09:54:11] <gigaherz> but that only
uses horizontal updates
L1453[09:54:12] <gigaherz> not
vertical
L1454[09:54:20]
⇦ Quits: PrinceCat (~PrinceCat@124.148.29.106) (Quit: My Mac
has gone to sleep. ZZZzzz…)
L1455[09:54:33] <sham1> Coz I am doing
this to notify my multiblock about the presense or absense of the
master TE
L1456[09:54:35] <gigaherz> since
comparators can't be above/below
L1457[09:54:43]
⇨ Joins: pahimar (~pahimar@192.227.130.190)
L1458[09:54:43]
MineBot sets mode: +o on pahimar
L1459[09:54:45] <gigaherz> hmmm
L1461[09:54:54] <gigaherz> then you could
use your own custom method?
L1462[09:55:07] <gigaherz> just look up
all the TEs and call the method on each one
L1463[09:55:10] <gigaherz> iwthout using
recursive calls
L1464[09:55:19] <sham1> that could
work
L1466[09:55:54] <gigaherz> shadowfacts:
how do you draw the button?
L1467[09:56:08] <sham1> and better to do
without recursion as recursion kills Java fairly quickly especially
in MC where you already are at very deep in the stackframe
count
L1468[09:56:33] <sham1> shadowfacts, you
need to call the button draw code before you call the hovering text
code
L1469[09:56:53] <IoP> "but they
teach recursion and did not say it is bad"
L1470[09:57:11] <Nitrodev> i can almost
hear gigaherz laughing at my code
L1471[09:57:19] <shadowfacts> gigaherz,
it's using whatever the default Gui code is
L1472[09:57:25] <sham1> that would be
less of a problem if JVM had a recursion optimization builtin
L1473[09:57:46] <gigaherz> Nitrodev: yo
uare imagining things off
L1474[09:57:51] <gigaherz> I don't laugh
at code ;P
L1475[09:57:58] <Nitrodev> sure
L1476[09:58:03] <sham1> he however laughs
at people
L1477[09:58:05] <gigaherz> if it's bad
code, I tend to feel bad, not laugh
L1478[09:58:05] <gigaherz> ;p
L1479[09:58:09] <IoP> gigaherz: cry
then?
L1480[09:58:10] <Nitrodev> you laugh at
the MAKER of the code
L1481[09:58:30] <sham1> Lets not get
melanchonic here
L1482[09:58:37] <Nitrodev> okay
fine
L1483[09:58:45] <ThePsionic> Nitrodev:
@the return, it returns true if the itemstack is not null and false
otherwise
L1484[09:58:59] <Nitrodev> okay
L1485[09:59:03] <gigaherz> Nitrodev: yup
you got the for loop right, but just in case: the condition is
checked at the beginning of each iteration, not just once ;P
L1486[09:59:11] <Nitrodev> i guessed that
after i put the link here
L1487[09:59:22] <gigaherz> also the
assignations are active
L1488[09:59:32] <gigaherz> it declares
the item stack and then actively queries the contents of the
slot
L1489[09:59:45] <Nitrodev> hold on i'm
opening a translator
L1490[09:59:49] <gigaherz> each
iteration, it will actively query the value
L1491[09:59:54] <Nitrodev> and yes it's
that bad
L1492[10:00:00] <gigaherz> it's not a
passive declaration that gets run by magic
L1493[10:00:08] <sham1> which part do you
need translation to
L1494[10:00:11] <sham1> I can
translate
L1495[10:00:13] <Nitrodev> nothig
anymore
L1496[10:00:18] <Nitrodev> no need
to
L1497[10:00:18] <ThePsionic> Lol
L1498[10:00:29] <gigaherz> each iteration
calls the function, and puts the return value into the
variable
L1499[10:00:35] <ThePsionic> Nitrodevs
internet > sham1
L1500[10:00:45] <sham1> yes
L1501[10:00:46] <Nitrodev> yeah
L1502[10:01:11] <Nitrodev> except for
iteration since google says iteraatio but i understand the
meaning
L1503[10:01:21] <gigaherz> I just wanted
to stress that fact that Java is an imperative language, not a
logic language
L1504[10:01:28] <ThePsionic> Iteration =
loop
L1505[10:01:35] <gigaherz> assignations
are active, not a consequence of a declaration
L1506[10:01:40] <ThePsionic> As in every
time it loops
L1507[10:01:53] <sham1> Mind me having a
private message to you Nitro so you can ask me if you do not
understand a term
L1508[10:02:10] <Nitrodev> okay
L1509[10:02:19] <IoP> Nitrodev: iteraatio
= loopin yksi kierros
L1510[10:02:26] <sham1> :D
L1511[10:02:32] <ThePsionic> :P
L1512[10:02:35] <Nitrodev> yeah i
understood that Iop but thanks anyway
L1513[10:02:56] <sham1> More finns
L1514[10:03:03] <Nitrodev> yes
L1515[10:03:05] <IoP> "finnish"
terms </3
L1516[10:03:05] <sham1> This is
interesting and scary at the same time
L1517[10:03:21] <ThePsionic> They're
taking over
L1518[10:03:26] <ThePsionic> Run for the
hills
L1519[10:03:31] <Nitrodev> bow down
before us
L1520[10:03:56] <ThePsionic> Never
L1521[10:04:03] <Nitrodev> XD
L1522[10:04:24] <Nitrodev> gigaherz so
i'm in the right tracks atm?
L1523[10:04:30] <Nitrodev> as far as the
code goes
L1524[10:05:06]
⇨ Joins: flappy
(~flappy@a88-113-155-120.elisa-laajakaista.fi)
L1525[10:05:45] <gigaherz> Nitrodev: you
seem to understand what each line does
L1526[10:05:47] <gigaherz> but
L1527[10:05:52]
⇦ Quits: kimfy (~kimfy___@74.141.16.62.customer.cdi.no) (Ping
timeout: 195 seconds)
L1528[10:06:05] ***
flappy is now known as flappz
L1529[10:06:16] <gigaherz> what will
happen with that code if you try to use it as-is
L1530[10:06:25] <gigaherz> is that as
soon as it sees a saw,
L1531[10:06:29] <gigaherz> it wil lreturn
false
L1532[10:06:32] <gigaherz> which will
reject the recipe
L1533[10:06:48] <Nitrodev> okay
L1534[10:06:51]
⇦ Quits: flappz
(~flappy@a88-113-155-120.elisa-laajakaista.fi) (Remote host closed
the connection)
L1535[10:06:56] <gigaherz> so it's not
very useful to you ;P
L1536[10:07:02] <Nitrodev> yeah i
figured
L1537[10:07:05]
⇨ Joins: flappy
(~flappy@a88-113-155-120.elisa-laajakaista.fi)
L1538[10:07:36] <gigaherz> does this work
for you?
L1540[10:07:39] <gigaherz> the page
L1541[10:08:03] <Nitrodev> yup
L1542[10:12:57] <shadowfacts> ok, so I
moved the tooltip rendering code to
drawGuiContainerForegroundLayer, but now whenever a tooltip is
visible the top faces of all the blocks in NEI go dark
L1543[10:15:08] <sham1> you can have it
in the background layer
L1544[10:15:15] <sham1> Just render it
after the buttons
L1545[10:16:01]
⇨ Joins: HassanS6000
(~Hassan@pool-173-79-220-242.washdc.fios.verizon.net)
L1546[10:19:55] <shadowfacts> yay!
everything works, now I just need textures :V
L1547[10:20:32]
⇨ Joins: ollieread
(~ollieread@2a01:7e00::f03c:91ff:feae:5b6)
L1548[10:35:31]
⇨ Joins: madcrazydrumma
(~madcrazyd@94.205.12.222)
L1550[10:39:07] <diesieben07>
madcrazydrumma, you are calling MessageContext.getServerHandler but
the packet is received on the client...
L1551[10:40:19] <madcrazydrumma>
diesieben07, so i use getClientHandler, but how do i get the player
for this context? Just use Minecraft#thePlayer
L1552[10:41:40] <diesieben07> yes, but
relay it through your @SidedProxy otherwise it will crash
servers.
L1553[10:42:34] <madcrazydrumma> Okay i
have no idea about these sided proxies :s can you point me to where
I can write these client/server proxies?
L1554[10:43:11] <diesieben07> you can
find tutorials pretty easily on google
L1555[10:44:59] <madcrazydrumma> Fixed my
issue, cheers man
L1556[10:45:25] <madcrazydrumma> By the
way, i have an auto incrementing number in a variable in my
RenderGameOverlayEvent. How do i show this constantly updating in
the overlay?
L1557[10:45:38]
⇨ Joins: KanoCodex
(~Giratina5@2604:180:0:368::bcd8)
L1558[10:47:37] <diesieben07> what
exactly do you mean? you want to show a number on screen that
increments?
L1559[10:47:46] <madcrazydrumma>
Yeah
L1560[10:47:54] <diesieben07> you just
increment the variable...
L1561[10:47:56] <madcrazydrumma> I've
already got it incrementing and have the drawString
L1562[10:47:58] <madcrazydrumma> But its
not updating
L1563[10:48:16] <diesieben07> show the
code.
L1564[10:48:19] <madcrazydrumma>
if(zCooldownTicks > 0) drawCenteredString(fr, "ZCD: "
+ (zCooldownTicks / 20), 10, 10, 0xFFFFFFFF);
L1565[10:48:32] <diesieben07> the full
method. on pastebin.
L1567[10:49:49] <diesieben07> first of
all you should be using RGOE.Pre
L1568[10:50:28] <diesieben07> and also
use ClientTickEvent to check if your custom keys are pressed, not
KeyINputEvent
L1569[10:50:42] <diesieben07> and your
ClientTickEvent handler runs twice per tick, you need to check
event.phase
L1570[10:51:02] <diesieben07> the
isZUseable field is also redundant.
L1571[10:51:58]
⇨ Joins: AforAnonymous
(bitch2k@dyn-042-143.vix1.mmc.at)
L1572[10:52:26] <madcrazydrumma>
Okay
L1573[10:53:33] <Nitrodev> gigaherz, i
understand the code now
L1574[10:55:06] <Nitrodev> why cant == be
applied to this? stackInSlot.getItem() == Blocks.wooden_slab
L1575[10:55:31] <madcrazydrumma> Because
they are not identical object references
L1576[10:55:36] <madcrazydrumma> you
should use .equals()
L1577[10:55:58] <Nitrodev> will it work
if i put in this? Item.getItemFromBlock(Blocks.wooden_slab
L1578[10:55:59] <diesieben07> not true
mcd
L1579[10:56:02] <diesieben07> yes
nitro
L1580[10:56:06] <Nitrodev> okay
L1581[10:56:07] <diesieben07> you cannot
compare blocks to items
L1582[10:56:32] <madcrazydrumma> Oh but
in a general case am i correct diesieben07?
L1583[10:56:46] <Nitrodev> not in the
case i'm in
L1584[10:56:46] <diesieben07> for items
and blocks? no. you can use == there.
L1585[10:56:56] <madcrazydrumma> I mean
for objects in general
L1586[10:57:00] <diesieben07> then
yes.
L1587[10:57:14] <madcrazydrumma> Okay,
computer science degree ain't failing just yet xo
L1588[10:57:21] <Nitrodev> i needed that
for an if statement checking if there is a wooden_slab in a
slot
L1589[10:57:32] <diesieben07> Nitrodev,
in general you might want to consider checking for the OreDict
entry "slabWood"
L1590[10:57:37] <diesieben07> then you
support all mod slabs
L1591[10:57:53] <Nitrodev> like slabs of
any wood?
L1592[10:58:00] <diesieben07> yes
L1593[10:58:02] <Nitrodev> oh
L1594[10:58:11] <Nitrodev> that's exactly
what i wanted thanks
L1595[10:59:13] <diesieben07> so
getOreID("slabWood") and store it somewhere permanently
(e.g. do it in postInit and put it in a static field). then
Ints.contains(OreDictionary.getOreIDs(stack), <id from step
one>)
L1596[11:03:45] <Nitrodev> let's see if
this works
L1597[11:04:32] <Nitrodev> i doubt it
will but eh
L1598[11:06:13] <Nitrodev> huh that's a
crash i don't understand at all
L1600[11:07:23] <diesieben07> you told
FML to load "ClientProxy" as a class, but that class does
not exist.
L1601[11:08:31] <Nitrodev> i got that
part
L1602[11:08:43] <Nitrodev> but
understanding WHY it says that is odd
L1603[11:08:48] <Nitrodev> the class is
there
L1604[11:08:50]
⇨ Joins: Vazkii
(~Vazkii@a79-169-163-74.cpe.netcabo.pt)
L1605[11:08:58] <diesieben07> why are you
putting classes in the default package?
L1606[11:09:35] <Nitrodev> well i put
them in one package
L1607[11:10:25] <Nitrodev> a moment ago i
had an error of package names
L1608[11:10:25] <diesieben07> but you
told FML it was in the default package...
L1609[11:10:35] <diesieben07> (meaning no
package at all)
L1610[11:10:53] <Nitrodev> where
apperently somehow one of my package names in the ClientPRxy class
had uppercase letters
L1611[11:11:43] <Nitrodev> i changed it
and this happened
L1612[11:12:04] <Nitrodev> (this being
the crashlog i posted)
L1613[11:12:09] <diesieben07> how is FML
supposed to know your class is in a package if you don't tell
it?
L1614[11:13:07] <Nitrodev> okay how do i
do that
L1615[11:13:18] <diesieben07> you... put
the package name there...
L1616[11:13:18] <Nitrodev> i never had
had this kind of problem before
L1617[11:13:23] <Nitrodev> it is
there
L1618[11:13:26] <Nitrodev> hold on
L1619[11:14:03] <diesieben07> you told
FML: "My class is called 'ClientProxy'", but in reality
it is called 'some.package.ClientProxy'
L1620[11:15:25] <Nitrodev> okay i changed
it to correct
L1621[11:15:37] <Nitrodev> works
L1622[11:24:22] <Rushmead> Can i set the
block bounds based on a state / using the block model?
L1623[11:25:26] <diesieben07> Rushmead,
override getSelectedBoundingBox and getCollisionBoundingBox
L1624[11:26:50] <JustRamon>
Allright
L1625[11:26:53] <JustRamon> got another
question xD
L1626[11:27:36] <diesieben07> ask
:D
L1627[11:28:15] <JustRamon> I have 1 food
item called gumball. I gave it the properties it needed to have,
but I want to make different versions of it with different colors.
How would I do that?
L1628[11:28:41] <JustRamon> I could
register them as items apart
L1629[11:28:50] <JustRamon> put I think a
damage based thing would be easier
L1630[11:28:53] <JustRamon> *buyt
L1631[11:28:57] <JustRamon> *but
L1632[11:29:03] <diesieben07> yes
L1633[11:29:08] <diesieben07> what is
your question? :D
L1634[11:29:51] <JustRamon> How can I
render different textures for 1 item with different damage
values?
L1635[11:30:11] <JustRamon> Example:
gumball:1 = red, gumball:2 = green etc.
L1636[11:30:18] <diesieben07> what mc
versino are you on?
L1637[11:30:22] <JustRamon> 1.8.8
L1638[11:30:52] <diesieben07> ok so for
your Item you have ModelLoader.setCustomModelResourceLocation in
preInit right?
L1639[11:31:21] <JustRamon>
Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(item,
0, new ModelResourceLocation(Reference.MOD_ID + ":" +
item.getUnlocalizedName().substring(5),
"inventory"));
L1640[11:31:26] <diesieben07> oh
god.
L1641[11:31:29] <JustRamon> xD
L1642[11:31:35] <diesieben07> you should
change that
L1643[11:31:45] <JustRamon> Why?
L1644[11:31:54] <diesieben07> because the
one you are using is discouraged.
L1645[11:32:03] <JustRamon> hmm
L1646[11:32:06] <diesieben07> anyways,
the 2nd argument (no matter which one you use) is the "damage
value"
L1647[11:32:06] <JustRamon> kden
L1648[11:32:12] <JustRamon> right
L1649[11:32:18] <JustRamon> ah
L1650[11:32:20] <diesieben07> so just
repeat the line for all metadatas you have
L1651[11:32:21] <JustRamon> well
L1652[11:32:24] <JustRamon> thanks then
:P
L1653[11:32:31]
⇨ Joins: Drullkus
(~Drullkus@2601:646:8301:8947:f92c:1c14:9cd1:f73e)
L1654[11:35:06] <JustRamon> wait
diesieben07, can I just replace the Minecraft.getMinecraft.... with
.setCustomModelResourceLocation? And can I keep the new
ModelResourceLocation as is then?
L1655[11:35:15] <diesieben07> yes
L1656[11:35:18] <JustRamon> oh
L1657[11:35:18] <diesieben07> you just
have to move it to preInit
L1658[11:35:21] <JustRamon> easy fix
xD
L1659[11:35:23] ***
kroeser is now known as kroeser|away
L1660[11:35:26] <Rushmead> whats the f3
thing to show all the collision boxeS?
L1661[11:35:28] <JustRamon> okey
L1662[11:37:27] ***
willieaway is now known as williewillus
L1663[11:37:39]
⇨ Joins: Jezza (~Jezza@185.44.151.55)
L1664[11:37:51]
⇨ Joins: MiningMark48
(~MiningMar@h228.58.187.173.dynamic.ip.windstream.net)
L1665[11:38:06] <williewillus> okay so
I'm trying to convert a techne model into json, and it has those
big convoluted texturemaps... should I destitch it all or can I
just use that texturemap with decimal UV's?
L1666[11:39:15] <diesieben07> gah this is
frustrating as hell
L1667[11:39:31]
⇨ Joins: SmashShock
(~drake@nwcsnbsc03w-047054162090.dhcp-dynamic.fibreop.nb.bellaliant.net)
L1668[11:39:35] <williewillus> what is?
:p
L1669[11:39:44] <gigaherz> williewillus:
each block should have 0..16 for UVs
L1670[11:40:04] <diesieben07> i have to
asynchronous I/O so if someone says "apply this thing to that
file" i have to wait for any potential previious operations to
finish.
L1671[11:40:07] <Rushmead> diesieben07,
return new AxisAlignedBB(0, 0, 0, 1, 1, 1); that should work?
L1672[11:40:10] <diesieben07> which
itself is fine
L1673[11:40:13] <gigaherz> decimals may
work, butyou don't want to have pre-stitchedtextures
L1674[11:40:20] <williewillus> why
not?
L1675[11:40:26] <diesieben07> but then i
have to also discard anything cached after a certain time
L1676[11:40:30] <williewillus> I don't
wanna destitch all 18 of these .-.
L1677[11:40:32] <gigaherz> well
L1678[11:40:37] <diesieben07> but NOt if
it is still beign saved because then i cant wait for it
anymore...
L1679[11:40:41] <diesieben07> Rushmead,
yes.
L1680[11:40:45] <gigaherz> it's not
efficient with the atlas
L1681[11:40:47] <gigaherz> ;P
L1682[11:41:01] <gigaherz> you can try,
though
L1683[11:41:06] <williewillus> but some
of the parts aren't 16x16 and then MC complains about broken aspect
ratio
L1684[11:41:10] <williewillus> should
they all be square?
L1685[11:41:14] <gigaherz> although
you'll have to *16 all the UVs if they come in 0..1 range
L1686[11:41:28] <gigaherz> I don't know
the restrictions on that
L1687[11:42:14] <williewillus> second
question is I have setdefaultstate set to always have cetain
property with values [NONE, WATER, LAVA] set to NONE.
getStateFromMeta doesn't touch this property. But somehow when I
place it in the world it has LAVA
L1688[11:42:30] <williewillus> the only
other thing that touches it is getActualState, based on the TE. But
I know the TE doesn't have lava
L1689[11:42:34] <williewillus> so where
is it coming from 0.o
L1690[11:43:44] <gigaherz> what does your
setDefaultState look like?
L1691[11:43:53] <gigaherz> it should be
something like
L1692[11:43:53] <gigaherz>
setDefaultState(this.blockState.getBaseState().withProperty(DENSITY,
16));
L1693[11:43:56] <williewillus> yes
L1694[11:45:01]
⇨ Joins: DemoXin
(~DemoXin@29.sub-70-197-162.myvzw.com)
L1695[11:46:41] <williewillus> bleh I
just set it to always set to false in getActualState which is a
bandaid but oh well.
L1696[11:47:22] ***
Vazkii is now known as Vazkii|Streaming
L1697[11:49:25] <williewillus> oh boo I
can't render the liquid on the apothecary using bakedmodels since
the water would be opaque
L1698[11:50:17] <williewillus> and
rendering on the translucent pass would make the sparkly particles
show through the sides of the cup
L1699[11:50:26]
⇦ Quits: HassanS6000
(~Hassan@pool-173-79-220-242.washdc.fios.verizon.net) (Ping
timeout: 190 seconds)
L1700[11:50:27]
⇨ Joins: Hassan
(~Hassan@pool-173-79-220-242.washdc.fios.verizon.net)
L1701[11:51:07] <Rushmead> My bounding
box isnt working, like it doesnt apepar
L1702[11:51:09] <Rushmead> appear*
L1703[11:52:14] *
Rushmead grabs code
L1704[11:52:28]
⇦ Quits: Jezza (~Jezza@185.44.151.55) (Read error: Connection
reset by peer)
L1706[11:53:35] <diesieben07> uhm, in
getSelectedBoundingBox you always check the base state, which is
useless
L1707[11:53:51] <Rushmead> Why?
L1708[11:54:07] <diesieben07> it's the
default state of your block....
L1709[11:54:19] <Rushmead> ooh ok
L1710[11:54:20] <Rushmead> i see
L1711[11:54:53] <Rushmead> if (((Boolean)
worldIn.getBlockState(pos).getValue(isShort)).booleanValue())
{
L1712[11:54:56] <Rushmead> Better?
L1713[11:55:07] <williewillus> i still
haven't figured out a way to convert tessellator setBrightness
calls to 1.8.8 0.io
L1714[11:55:18] <diesieben07> yes, but
you can get rid of the manual unboxing
L1715[11:55:34] <ThePsionic>
williewillus: that domain is premium and not taken :P
L1716[11:56:04] <diesieben07> Rushmead,
actually it can just be if
(world.getBlockState(pos).getValue(isShort))
L1717[11:56:04] <Rushmead> whats the
manual unboxing?
L1718[11:56:09] <diesieben07> since 1.8.8
has generics
L1719[11:56:34]
⇨ Joins: MattDahEpic
(~MattDahEp@75-166-140-155.hlrn.qwest.net)
L1720[11:56:37] <Rushmead> Nope.
L1721[11:56:39] <Rushmead> Doesnt
work
L1722[11:56:52] <diesieben07> what is the
exact type of the isShort field?
L1723[11:57:02] <Rushmead> boolean
L1724[11:57:03]
⇨ Joins: laci200270 (~laci20027@78.92.233.250)
L1725[11:57:08] <Rushmead>
PropertyBool
L1726[11:57:19] <diesieben07> then it
will work :P
L1727[11:57:25] <diesieben07> if you are
really on 1.8.7
L1728[11:57:27] <diesieben07> *.8
L1729[11:58:01]
⇨ Joins: Jezza (~Jezza@185.44.151.55)
L1730[11:58:04] <Rushmead> im on
1.8-11
L1731[11:58:05] <Rushmead> forge
wise
L1732[11:58:10] <Rushmead> 1577
L1733[11:58:51] <diesieben07> ohh rigth
the other guy is on 1.8.8...
L1734[11:58:53] <diesieben07> you should
update :P
L1735[11:59:00] <Rushmead> how?
L1736[11:59:06] <laci200270> how can I
make a progressbar to a side of a block?
L1737[11:59:13] <diesieben07> change your
build.gralde,re-run the setup tasks
L1738[11:59:53] <Rushmead> im
L1739[11:59:57] <Rushmead> im on the
latest
L1740[12:00:12] <diesieben07> for 1.8,
yes
L1741[12:00:17] <Rushmead> oh
L1742[12:00:18] <Rushmead> yeah
L1743[12:00:19] <Rushmead> i see
L1744[12:00:42] <laci200270> how can I
make a progressbar to a side of a block using
IFlexibleBakedModel?
L1745[12:00:58] <diesieben07> but even if
you don't update if ((Boolean)
world.getBlockState(pos).getValue(isShort)) is enough
L1746[12:01:16]
⇨ Joins: HassanS6000
(~Hassan@pool-173-79-220-242.washdc.fios.verizon.net)
L1747[12:02:06]
⇦ Quits: Hassan
(~Hassan@pool-173-79-220-242.washdc.fios.verizon.net) (Ping
timeout: 190 seconds)
L1748[12:03:25]
⇨ Joins: Maxetime
(~Thunderbi@modemcable086.219-70-69.static.videotron.ca)
L1749[12:03:47] <laci200270> fry|sleep,
where are you?
L1750[12:04:33] <williewillus> asleep
:p
L1751[12:04:35] <Nitrodev> sleeping
probadly
L1752[12:04:41] <Nitrodev> oh hi
willie
L1753[12:04:42] <williewillus> he doesn't
wake up in another few hours
L1754[12:05:08] <laci200270> when he is
usally online?
L1755[12:05:26] <Nitrodev>
<williewillus> he doesn't wake up in another few hours
L1756[12:05:34] <Nitrodev> you got your
answer there
L1757[12:05:34] <laci200270> :/
L1758[12:05:40] <Nitrodev> few
hours
L1759[12:05:47] <sham1> At 23 UTC
usually
L1760[12:05:57] <laci200270> thanks
sham1
L1761[12:05:57] <sham1> make that what
you will
L1762[12:06:19]
⇨ Joins: Hassan
(~hassa@2602:306:cde1:d700:7561:774a:9b1:7a9a)
L1763[12:06:59]
⇦ Quits: Jezza (~Jezza@185.44.151.55) (Read error: Connection
reset by peer)
L1764[12:10:02] <MiningMark48> How could
I set the bounding box/collision box of the player
L1765[12:10:05] <MiningMark48> ?
L1766[12:11:01] <sham1> First
question
L1767[12:11:07] <sham1> What are you
trying to do
L1768[12:11:41]
⇨ Joins: Jezza (~Jezza@185.44.151.55)
L1769[12:11:45] <MiningMark48> change the
player's collision box to something smaller during a certain
event
L1770[12:13:32] <Soni> so when did Forge
block rotation get added?
L1771[12:13:49] <Soni> something like
when BetterThanWolves added turntables?
L1772[12:13:53] <williewillus> you mean
the rotateBlock method?
L1773[12:13:56] <williewillus> it's
ollld
L1774[12:14:29] <Soni> so something like
when BetterThanWolves added turntables?
L1775[12:14:38] <sham1> MiningMark48,
have you tried using Entity#setEntityBoundingBox
L1776[12:15:07] ***
kroeser|away is now known as kroeser
L1777[12:15:11] <MiningMark48> in
1.7.10
L1778[12:15:14] <MiningMark48> btw
L1779[12:15:30] <sham1> *le sigh*
L1780[12:15:40] <sham1> !gm
setEntityBoundingBox 1.7.10
L1781[12:15:53] <sham1> Thus comes
another question
L1782[12:15:54] <sham1> Why
L1783[12:16:10] <sham1> !gf
Entity#boundingBox 1.7.10
L1784[12:16:16] <sham1> !gf boundingBox
1.7.10
L1785[12:16:29] <williewillus> lol
L1786[12:16:34] <williewillus> you just
write to boundingBox in 1.7
L1787[12:16:39] <williewillus> 1.8 has
the getter/setters
L1788[12:16:43] <sham1> ye
L1789[12:17:00] <sham1> *something
something use 1.8 something*
L1790[12:18:35]
⇦ Quits: MiningMark48
(~MiningMar@h228.58.187.173.dynamic.ip.windstream.net) (Killed
(NickServ (GHOST command used by MiningMark48_)))
L1791[12:18:45]
⇨ Joins: MiningMark48
(~MiningMar@h228.58.187.173.dynamic.ip.windstream.net)
L1792[12:19:31]
⇨ Joins: pugi
(~pugi@host-091-097-035-248.ewe-ip-backbone.de)
L1793[12:20:51]
⇦ Quits: HassanS6000
(~Hassan@pool-173-79-220-242.washdc.fios.verizon.net) (Ping
timeout: 190 seconds)
L1794[12:20:57]
⇨ Joins: HassanS6000
(~Hassan@pool-173-79-220-242.washdc.fios.verizon.net)
L1795[12:21:13] <williewillus> how do I
update the world light at a specified position?
L1796[12:21:17] <Nitrodev> in the
getCraftingResult method of IRecipe do i need to only return the
item i want to craft?
L1797[12:21:37] <Falkreon> that's kind of
how it works
L1798[12:21:46] <Falkreon> what else
would you be returning?
L1799[12:21:59]
⇦ Quits: Jezza (~Jezza@185.44.151.55) (Read error: Connection
reset by peer)
L1800[12:22:19] <Falkreon> like, for
custom behaviors, it's how Thermal Expansion keeps the locks and
upgrades if you upgrade the machine.
L1801[12:22:26] <gigaherz> Nitrodev: yes.
the method exists to give you the chance to add NBT data to the
ItemStack, based on the contents of the inventory
L1802[12:22:29] <Falkreon> it copies the
NBT from the machine you're upgrading
L1803[12:22:35] <Falkreon> TE does*
L1804[12:22:41] <gigaherz> otherwise, you
can just return getRecipeOutput()
L1805[12:22:45] <Falkreon> ^
L1806[12:22:54] <gigaherz> and create the
ItemStack directly in getRecipeOutput()
L1807[12:23:16] <Falkreon> or you could
just register a pre-baked recipe X)
L1808[12:23:22]
⇨ Joins: Jezza (~Jezza@185.44.151.55)
L1809[12:23:32] <gigaherz> he wants to
have an item that gets durability damage on crafting intead of on
use
L1810[12:23:39] <Falkreon> oh
L1811[12:23:50] <gigaherz> that sortof
requires implementing IRecipe and handling that yourself
L1812[12:23:51] <Falkreon> yeah that's
not going to work super well, I think that's an event to handle
that
L1814[12:24:00] <gigaherz> there is, but
it's a hack
L1815[12:24:17] <gigaherz> you can just
do the actual recipe properly ;P
L1816[12:24:20] <Falkreon> wait, you can
do microblocks-saw-type damage for grid ingredients?
L1817[12:24:22]
⇨ Joins: vsg1990
(~vsg1990@cpe-67-241-148-119.buffalo.res.rr.com)
L1818[12:24:27] <Falkreon> with just an
IRecipe?
L1819[12:24:32] <gigaherz> in 1.8
L1820[12:24:38] <gigaherz> you can
choosewhat's left in the table afterward
L1821[12:24:50] <gigaherz> so you can
"leave" the original item but with some damage applied to
it
L1822[12:24:53] <Nitrodev> oh you're
talking to Falkreon
L1823[12:24:56] <Falkreon> nice. That's
been needed for a long time.
L1824[12:25:17] <gigaherz> Nitrodev: yes
I was XD
L1825[12:25:22] <williewillus> !gm
func_147453_f 1.7.10
L1826[12:25:36] <williewillus> !mh
func_147453_f
L1827[12:25:51] <Nitrodev> did you look
at the pastebin?
L1828[12:25:58] <gigaherz> Nitrodev: you
can merge the two ifs
L1829[12:26:06] <gigaherz> the ones for
stackInSlot != null
L1830[12:26:22] <Nitrodev> ah
L1831[12:26:24] <gigaherz> but otherwise,
that would work
L1832[12:26:32] <gigaherz> als oremember
to fix the return at the end
L1833[12:27:24] <Nitrodev> to have an
&& ?
L1834[12:27:30] <gigaherz> yes
L1835[12:27:40] <gigaherz> yo uwant both
the saw and the planks, right?
L1836[12:27:45] <gigaherz> if one of them
is missing, it's not your recipe
L1837[12:27:45] <Nitrodev> yes
L1838[12:27:49] <gigaherz> so yes
L1839[12:27:55] <gigaherz> yo uwant saw
not null AND planks not null
L1841[12:28:31]
⇦ Quits: Drullkus
(~Drullkus@2601:646:8301:8947:f92c:1c14:9cd1:f73e) (Remote host
closed the connection)
L1842[12:28:49] <gigaherz> nonono
L1843[12:28:53] <gigaherz> when I said
merge
L1844[12:28:58] <gigaherz> I meant the
outer if
L1845[12:29:02] <gigaherz> not place theo
ther one INSIDE the inner if!
L1846[12:29:14] <gigaherz> you went one
too deep! ;P
L1847[12:29:21] <williewillus>
onEntityCollidedWIthBlock is broken in 1.8 .-.
L1848[12:29:25] <williewillus> it seems
to be at least
L1849[12:29:29] <williewillus> or I'm
missing something
L1850[12:29:31] <gigaherz> works for
me
L1851[12:29:32] <Falkreon> hm?
L1852[12:29:37] <Nitrodev> yeah i fixed
it now
L1853[12:29:38] <Falkreon> it's not
actually collided with block
L1854[12:29:41]
⇦ Quits: Maxetime
(~Thunderbi@modemcable086.219-70-69.static.videotron.ca) (Quit:
Maxetime)
L1855[12:29:41] <williewillus> I
know
L1856[12:29:45] <gigaherz> I have a block
that slows down the player to avoid fall damage
L1857[12:29:55] <Falkreon> ?
L1858[12:29:58] <Falkreon> does that even
work
L1859[12:30:01] <gigaherz> yes
L1860[12:30:08] <williewillus> it's
entering the 1x1 space. but it still fails. LIke all the things in
botania that require tossing to do stuff (petal apothecary, mana
pool, etc.) use entitycollidedwithblock
L1861[12:30:10] <Falkreon> I thought you
needed to also reduce the fall-time counter
L1862[12:30:11] <gigaherz> sorta
L1863[12:30:12] <williewillus> and
they're all not triggering
L1864[12:30:14] <gigaherz> I do
L1865[12:30:14] <gigaherz> XD
L1866[12:30:17] <williewillus> or
triggering in very weird ways
L1867[12:30:17]
⇨ Joins: Drullkus
(~Drullkus@2601:646:8301:8947:d5c8:4fa9:5d91:7afa)
L1868[12:30:26] <Falkreon> ah. ok
L1870[12:30:51] <Falkreon> 1.9 it gets a
little stranger because of horizontal speed-based collision
:/
L1871[12:31:02] <gigaherz> it's stupid
though
L1872[12:31:05] <gigaherz> fall damage
should be
L1874[12:31:12] <gigaherz> N *
(speed-x)
L1875[12:31:17] <gigaherz> not some
stupid fall counter
L1876[12:31:21] <Falkreon> I agree
L1877[12:31:23] <williewillus> anything
look wrong in that? because onentitycolided with block isn't even
called for items
L1878[12:31:25] <Nitrodev> gigaherz, so i
return getRecipeOutput().copy() in the getCraftingResult()
L1879[12:31:30] <williewillus> like
breakpoints don't even trigger
L1880[12:31:40] <gigaherz> williewillus:
wait 1.8.0 or 1.8.8
L1881[12:31:44] <williewillus>
1.8.8
L1882[12:31:47] <gigaherz> hmmm
L1883[12:31:48] <Nitrodev> or wait if i
need to add NBT (for the damage) i need to do it in the
getcraftingresult
L1884[12:31:52] <gigaherz> because I had
troubles getting it to work on 1.8.0
L1885[12:31:56] <gigaherz> but in 1.8.8
it worked perfectlyu
L1886[12:31:57] <gigaherz> -u
L1887[12:32:07] <gigaherz> but if you
also use 1.8.8 dunno
L1888[12:32:11] <Falkreon> Nitrodev- add
NBT based on input, or just static NBT?
L1889[12:32:21] <gigaherz> Nitrodev: no
need to copy if you don't modify it
L1890[12:32:27]
⇨ Joins: Herpahermaderp (webchat@216.196.92.69)
L1891[12:32:27]
⇨ Joins: Lothendal
(~Lothendal@ip5b42d1b2.dynamic.kabel-deutschland.de)
L1892[12:32:32] <gigaherz> if you assign
NBT data afterward, then yes, copy
L1893[12:32:33] <williewillus> what buidl
do you use?
L1894[12:32:53] <gigaherz> atm,
1.8.8-11.15.0.1634
L1895[12:33:17] <gigaherz> although I
don't think I tested it in this build
L1896[12:34:12] <williewillus> can you
try? :p
L1897[12:34:33] <williewillus> wanna know
if I'm just messing up somewhere (it shouldn't because straight
port 0.o)
L1898[12:34:34] <gigaherz> yeh sec
L1899[12:36:09] <Rushmead> Trying to
update to 1.8.8 and it keeps giving me :decompileMc went wrong.
Java heap space
L1900[12:36:09] <Rushmead> And im
like.
L1901[12:36:09] <gigaherz> seems to work
justfine
L1902[12:36:10] <Rushmead> Wut
L1903[12:36:16] <williewillus> ugh
L1904[12:36:17] <gigaherz> Rushmead:
known issue
L1905[12:36:26] <gigaherz> if you tried
it from idea or similar, try a standalone console/terminal
L1906[12:36:28] <gigaherz> if not
L1907[12:36:28] <williewillus> does my
block class look weird anywhere?
L1908[12:36:30] <gigaherz> then try
again
L1909[12:36:34] <Nitrodev> so idon't have
to assign NBT data in the getCraftingResult method?
L1910[12:36:34] <gigaherz> and if it
still happens
L1911[12:36:42] <JustRamon> Another
question: How can I add an item with a damage value to the creative
inventory?
L1912[12:36:55] <Falkreon> ugh. Yeah,
never had that problem because I use standalone gradle
L1913[12:36:55] <Rushmead> and if it
still happens gigaherz?
L1914[12:36:56] <gigaherz> try to run
gradle with more ram
L1915[12:37:00]
⇦ Quits: Jezza (~Jezza@185.44.151.55) (Read error: Connection
reset by peer)
L1916[12:37:01] <Falkreon> but I was
warned about that
L1917[12:37:05] <Rushmead> How do i run
gradle with more ram?
L1918[12:37:15] <Falkreon> rushmead, do
you use gradle or gradlew?
L1919[12:37:21] <gigaherz> your ./gradlew
or gradlew.bat
L1920[12:37:21] <Rushmead> gradlew
L1921[12:37:35] <gigaherz> add java args
for -Xmx3G or 4G
L1922[12:37:36] <Falkreon> ew. Alright,
I'll let giga walk you through then
L1923[12:37:48] <Falkreon> :D~
L1924[12:37:51] <Rushmead> but i can use
gradle
L1925[12:37:55] <Rushmead> because i have
it installed :P
L1926[12:38:12] <Rushmead> Forgot i had
it :P
L1927[12:38:12] <Falkreon> the standalone
seems to default to more ram somehow
L1928[12:38:39] <gigaherz> Rushmead are
you on linux?
L1929[12:38:42] <Rushmead> Nope
L1930[12:38:45] <gigaherz> windows?
L1931[12:38:49] <Rushmead> yeah
L1932[12:38:58] ***
Abrar|gone is now known as AbrarSyed
L1933[12:39:22] <gigaherz> edit
gradlew.bat, below DEFAULT_JVM_OPTS, add GRADLE_OPTS=-Xmx4g
L1934[12:39:23] <gigaherz> and try
again
L1935[12:39:40] <gigaherz> (4g may be
overkill but better safe ;P)
L1936[12:40:00] <gigaherz> (hopefully you
use 64bit jvm)
L1937[12:40:06] <gigaherz> (which is
better for minecraft anyhow)
L1938[12:40:24]
⇨ Joins: Jezza (~Jezza@185.44.151.55)
L1939[12:43:13] <williewillus> ugh screw
converting this stupid thing to json
L1940[12:43:35] <PaleoCrafter> how about
going to obj? :P
L1941[12:43:50] <gigaherz> yeah then use
a .OBJ file and be done with it ;P
L1942[12:44:45] <williewillus> if I do
that will I not have to destitch this stupid texture map and figure
out all the uv's for everything?
L1943[12:45:01] <PaleoCrafter> yep
:P
L1944[12:45:07]
⇦ Quits: Wastl2 (~Wastl2@f052228199.adsl.alicedsl.de) (Quit:
Hi, I'm a quit message virus. Please replace your old line with
this one and help me take over the world of IRC.)
L1945[12:45:22] <williewillus> welp give
me your easiest obj editor
L1947[12:45:34] <PaleoCrafter> use this
together with tabula 5.0.0 :P
L1948[12:45:54] <PaleoCrafter> assuming
you have the original tcn files
L1949[12:46:07] <gigaherz> yeah just
import the model into tabula, and export as obj
L1950[12:46:07] <williewillus> I
don't
L1951[12:46:07] <gigaherz> XD
L1952[12:46:17] <JustRamon> How can I add
an item with a damage value to the creative inventory? << I
think my question got lost in the conversation :P
L1953[12:46:18] <gigaherz> hmmmç
L1954[12:46:38] <gigaherz> you have the
code using cube models and tesellator?
L1955[12:47:08] <williewillus> yes
L1956[12:47:18] <williewillus> JustRamon:
override getSUbItems
L1957[12:47:21] <gigaherz> there wer
talking around here
L1958[12:47:28] <JustRamon> hmm k
L1959[12:47:29] <gigaherz> about doing a
.obj generator from those
L1960[12:47:36] <gigaherz> I don't know
if anyone actually programmed it
L1961[12:47:40] <gigaherz> but the idea
was a standalone app
L1962[12:47:45] <gigaherz> with a
tesellator class and such
L1963[12:48:01] <gigaherz> where you'd
dump the code
L1964[12:48:07] <gigaherz> and it owuld
have its own pretend-tesellator and such
L1965[12:48:16] <gigaherz> that instead
of rendering to screen, owuld write a .obj file
L1966[12:48:55] <gigaherz> I gotta go
though, so I can't guide you through it
L1967[12:48:56] <gigaherz> ;P
L1968[12:49:05] <williewillus> wouldn't
help anyway I ahve no idea how obj works
L1969[12:49:19] <gigaherz> g name
L1970[12:49:25] <Falkreon> obj itself is
nearly human-readable. Is a good format.
L1971[12:49:26] <gigaherz> v <x>
<y> <z>
L1972[12:49:34] <gigaherz> vt <u>
<v>
L1973[12:49:42] <gigaherz> vn <x>
<y> <z>
L1974[12:49:48]
⇨ Joins: Maxetime
(~Thunderbi@modemcable086.219-70-69.static.videotron.ca)
L1975[12:49:58] <williewillus> what's
vn
L1976[12:50:01] <Falkreon> for
vertex-position, vertex-texture-coords, and vertex-normal,
respectively
L1977[12:50:02] <gigaherz> normals
L1978[12:50:03] <gigaherz> optional
L1979[12:50:06] <gigaherz> then
L1980[12:50:16]
⇦ Quits: MiningMark48
(~MiningMar@h228.58.187.173.dynamic.ip.windstream.net) (Ping
timeout: 192 seconds)
L1981[12:50:16] <williewillus> what
exactly is a normal
L1982[12:50:20] <gigaherz> f 1/1/1 2/2/2
3/3/3 4/4/4 for each quad
L1983[12:50:24] <gigaherz> if you don't
know, don't use it
L1984[12:50:27] <Falkreon> it's which
direction the front face is in
L1985[12:50:30] <gigaherz> and leave the
last number in the f blank
L1986[12:50:31] <PaleoCrafter> Falkreon,
depends on the usecase :P anything human readable is overly
verbose
L1987[12:50:35] <Falkreon> think of an
arrow pointing straight out of the face
L1988[12:50:49] <gigaherz> f 1/1 2/2 3/3
4/4
L1989[12:50:53] <gigaherz> and don't
include the vn lines
L1990[12:51:02] <Nitrodev> man i still
don't understand the output of an Irecipe
L1991[12:51:16] <Nitrodev> like the
getcraftingresult and getrecipeoutput methods
L1993[12:51:32] <gigaherz> like
this
L1994[12:51:49] <gigaherz> this is
semi-handmade
L1995[12:52:00]
⇦ Quits: Jezza (~Jezza@185.44.151.55) (Read error: Connection
reset by peer)
L1996[12:52:01] <gigaherz> (had to
manually fixup the output)
L1997[12:52:03]
⇨ Joins: ShadowChild
(~ShadowChi@host81-151-59-190.range81-151.btcentralplus.com)
L1998[12:52:20] <Falkreon> paleo, yeah I
kind of wonder why we haven't settled on a binary format for 3d
objects
L1999[12:52:20]
⇨ Joins: Jezza (~Jezza@185.44.151.55)
L2000[12:52:22] <gigaherz> these are
triangles though, so the f only has 3 elements
L2001[12:52:34] <gigaherz> Falkreon:
b3d?
L2002[12:52:36] <PaleoCrafter> ^
L2003[12:52:41] <Falkreon> considering
the thousands of faces we get ourselves into trouble with
L2004[12:52:42] <williewillus> probably
gonan stick with json, I have the model done anyway
L2005[12:52:43] <Falkreon> dear god
no
L2006[12:52:52] <williewillus> was just
complaining about ahving to reexpand my textures to squares
L2007[12:52:57] <williewillus> and having
to pick out al the uvs
L2008[12:53:05] <Falkreon> actually, I
haven't looked at the format specs, let me look at it and then tell
you no
L2009[12:53:05] <PaleoCrafter> and there
probably are thousands of proprietary ones
L2010[12:53:18] <gigaherz> Falkreon: it's
simple enough to write importers and exporters
L2011[12:53:19] <gigaherz> XD
L2012[12:53:36] <gigaherz> and it does
skeleton animations
L2013[12:54:05] <gigaherz> the games
industry sortof settled on FBX
L2014[12:54:09] <gigaherz> but it's
proprietary so whatever
L2015[12:55:36]
⇦ Quits: madcrazydrumma (~madcrazyd@94.205.12.222) (Quit:
Leaving)
L2016[12:55:55] <Nitrodev> man i still
don't understand the output of an Irecipe
L2017[12:55:57] <Nitrodev> like the
getcraftingresult and getrecipeoutput methods
L2018[12:56:17] <gigaherz> in
getcraftingresult, you return an itemstack with the item you want
to create
L2019[12:56:26] <gigaherz> but if that
item is simple
L2020[12:56:32] <gigaherz> you can just
reuse the same one as from getrecipeoutput
L2021[12:56:41] <gigaherz> now I have to
go
L2022[12:56:42] <gigaherz> later
L2023[12:56:44] ***
gigaherz is now known as ghz|afk
L2024[12:56:46] <Falkreon> what he said.
It's all about whether the inputs *change* the outcome
L2025[12:57:16] <ThePsionic> Damnit
L2026[12:57:22] <ThePsionic> I can't own
a caddy in GTAO
L2027[12:57:41] <Falkreon> if the outcome
has the same NBT regardless of what the inputs look like, then just
reuse getRecipeOutput.
L2029[12:58:43]
⇨ Joins: madcrazydrumma
(~madcrazyd@94.205.12.222)
L2030[12:58:59] <madcrazydrumma> How do i
render onto creative mode in rendergameoverlay eventt?
L2031[12:59:10] <diesieben07> wat
L2032[12:59:15] <PaleoCrafter> wat²
L2033[12:59:18] <madcrazydrumma>
wait
L2034[12:59:21] <madcrazydrumma>
;_;
L2035[12:59:26] <Falkreon> that doesn't
look right
L2036[12:59:38] <madcrazydrumma> *Why
won't my overlay render in creative mode?
L2037[12:59:39] <madcrazydrumma> There we
go
L2038[12:59:44] <Falkreon> if (saw!=null)
return false;
L2039[12:59:48] <Falkreon> ^ wth
L2040[12:59:53] <Falkreon> the recipe is
never going to activate
L2041[12:59:57] <Nitrodev> blame
ghz|afk
L2042[13:00:12]
⇦ Quits: Maxetime
(~Thunderbi@modemcable086.219-70-69.static.videotron.ca) (Quit:
Maxetime)
L2043[13:00:14] <PaleoCrafter> well, I'd
guess that you don't draw anything in creative mode,
madcrazydrumma
L2044[13:00:17] <Falkreon> swap those
around to if (saw==null)
L2045[13:00:35] <Nitrodev> then it won't
work
L2046[13:00:41] <Falkreon> wait
L2047[13:00:45] <Nitrodev> AFAIK
L2048[13:00:47] <Falkreon> what are you
OH
L2049[13:00:56]
⇨ Joins: Maxetime
(~Thunderbi@modemcable086.219-70-69.static.videotron.ca)
L2050[13:00:57] <Falkreon> you want to
make sure you're not capturing multiple saws
L2051[13:01:07] <Falkreon> I get
it.
L2052[13:01:11] <Nitrodev> yeah
L2053[13:01:13] <Falkreon> just had to
look at it for a min
L2054[13:01:28] <madcrazydrumma>
diesieben07, using RenderGameOverlayEvent.Pre renders nothing
anymore
L2055[13:01:35] <Falkreon> okay, so far
so good
L2056[13:01:45] <diesieben07> then you
are doing it wrong. show your code.
L2057[13:02:02] <madcrazydrumma> same as
before, just using RenderGameOverlayEvent.Pre
L2058[13:02:20] <Falkreon> the
getRecipeOutput().copy() is extra if you're not making changes, but
not a big deal
L2059[13:02:21] <PaleoCrafter> show your
code, man
L2061[13:02:37] <Nitrodev> oh
L2062[13:02:49] <Nitrodev> then i need to
figure out the calling of that class
L2063[13:02:54] <Falkreon> it looks like
getRemainingItems is what's left on the board.
L2064[13:02:54]
⇦ Quits: Maxetime
(~Thunderbi@modemcable086.219-70-69.static.videotron.ca) (Client
Quit)
L2065[13:02:56] <PaleoCrafter> there is
no experience bar in creative
L2066[13:02:58] <PaleoCrafter> simple as
that
L2067[13:03:04] <Nitrodev> but i'll just
look at some othermods code
L2068[13:03:06] <diesieben07> not even
that.
L2069[13:03:11]
⇨ Joins: Maxetime
(~Thunderbi@modemcable086.219-70-69.static.videotron.ca)
L2070[13:03:12] <madcrazydrumma> but it
doesnt render in sp anymore
L2071[13:03:14] <diesieben07>
(event.isCancelable() is always true...
L2072[13:03:16] <Falkreon> the calling of
what class?
L2073[13:03:18]
⇦ Quits: tambre
(~tambre@2fcf-bb57-e18a-f9eb-4301-8a22-07d0-2001.dyn.estpak.ee)
(Ping timeout: 192 seconds)
L2074[13:03:18] <PaleoCrafter> that
too
L2075[13:03:19] <diesieben07> so you
ALWAYS retrun
L2076[13:03:22] <PaleoCrafter> :D
L2077[13:03:23] <diesieben07> why do you
check for that -.-
L2078[13:03:47] <Falkreon> Nitrodev, keep
it, it's working. I think you want to put your damaged saw in
getRemainingItems
L2079[13:04:00] <Nitrodev> oh yeah
that
L2080[13:04:00] <madcrazydrumma> Tutorial
;_;
L2081[13:04:14] <madcrazydrumma> Should i
just remove the whole statement?
L2083[13:04:46] <masa> Falkreon: well
without the .copy() you would give access to the template ItemStack
thought, right? so inventory code would/could then change the
stackSize on it, which would most likely be bad :p
L2084[13:05:17] <Falkreon> yeah. I don't
*think* anyone's going to do that, but you're right about the
defensive copy being desirable if you think it's going to get
tampered with
L2085[13:06:05] <masa> how would nobody
do that? if you craft/ever have more than two of the item at a
time, the size WILL get changed in the inventory
L2086[13:06:13] <Falkreon> heh
L2087[13:06:22] <Falkreon> you have no
idea how much defensive copying already happens in the code
L2089[13:06:38] <Falkreon> well, you
probably do.
L2090[13:06:56] <Falkreon> but yeah, when
the inventory gets opened, defensive copies happen
L2091[13:07:01]
⇦ Quits: Jezza (~Jezza@185.44.151.55) (Read error: Connection
reset by peer)
L2092[13:07:01] <PaleoCrafter> try to
understand the code you're copying
L2093[13:07:18] <Nitrodev> what mods add
recipes with things remaining in the crafting recipe
L2094[13:07:33] <Falkreon> Nitrodev-
Chisel2
L2095[13:07:38] <Falkreon> it's fairly up
to date
L2096[13:07:54] <Falkreon> or Forge
Microblocks
L2097[13:08:03] <Falkreon> both are doing
almost exactly the sort of thing you're looking fo
L2098[13:08:04] <Falkreon> r
L2099[13:08:26] <masa> and still the
inventory code is crap, because in many places the result from
getStackInSlot(slotNum) is used directly when changing the
stackSIe, without ever calling setInventorySlotContents() on
it...
L2100[13:08:36] <madcrazydrumma> No I do
understand it PaleoCrafter, its all working aside from that
L2101[13:08:46] <Falkreon> masa, hmm.
You're right.
L2102[13:08:50] <PaleoCrafter> you
obviously do not understand it
L2103[13:08:51] <madcrazydrumma> I've
done GUIs before but never having to update it :P it was always
static
L2104[13:08:55] <Falkreon> and I suspect
mods aren't too interested in defensive copies either
L2105[13:09:02] <madcrazydrumma> I know
the event is called every tick
L2106[13:09:09] <PaleoCrafter> apart from
that, I already told you what is wrong
L2107[13:09:48] <madcrazydrumma> I need
to keep the element experience type in there because otherwise it
just goes all white aside from the images im rendering
L2108[13:10:15] <Falkreon> hm. I
wonder
L2109[13:10:21] <Falkreon> don't we have
a chisel2 dev in here?
L2110[13:10:29] <Falkreon> reminds me, I
have some questions about it.
L2111[13:10:35] <Falkreon> that and
ctmlib X)
L2112[13:10:38] <masa> madcrazydrumma: so
you are not restoring the bound texture then?
L2113[13:11:25]
⇨ Joins: Jezza (~Jezza@185.44.151.55)
L2114[13:11:28] <madcrazydrumma> masa,
are we supposed to do that? o.O
L2115[13:11:33] ***
AbrarSyed is now known as Abrar|gone
L2116[13:11:55] <Nitrodev> sigh i can't
find the IREcipe code from chisel 2s github
L2117[13:12:38] <Falkreon> oh crap
L2118[13:12:43] <Falkreon> that's right,
they're using a custom UI
L2119[13:12:49] <Falkreon> I forgot about
that
L2120[13:12:52] <minecreatr> Falkreon,
Chisel 2 is not the latest version, the latest version is
Chisel
L2121[13:12:58] <Falkreon> wat
L2122[13:13:08] <Falkreon> I don't even
understand what's going on
L2123[13:13:35] <masa> madcrazydrumma:
hmm have you tried ElementType.ALL ?
L2124[13:13:44] <masa> I seem to be using
that in one of my overlays atm
L2125[13:14:11] <madcrazydrumma> in the
!=?
L2126[13:15:02] <masa> yes as in
rendering your stuff in the ALL Post event
L2127[13:15:26] <williewillus> chisel2
got forked
L2128[13:15:29] <masa> that should be
after everything else, so you not restoring the regular mc texture
shouldn't matter
L2129[13:15:32] <williewillus> and tehy
renamed it back to chisel
L2130[13:15:47] <madcrazydrumma>
hmm
L2131[13:15:48] <madcrazydrumma>
true
L2132[13:15:49] <Falkreon> so it's not
the pokefenn chisel repo
L2133[13:15:54] <Falkreon> sorry if I'm
pinging people
L2134[13:16:11] <williewillus> pokefenn's
chisel is ancient
L2135[13:16:18] <madcrazydrumma> masa,
can i see your event?
L2136[13:16:18] <Falkreon> that's what I
thought
L2137[13:16:23] <williewillus> thats the
original chisel 1 1.7.2 version :p
L2138[13:16:29] <Falkreon> so I see the
pokefenn chisel and the Chisel-2 repo
L2139[13:16:37] <Falkreon> I don't see
the fork
L2140[13:16:38]
⇦ Quits: Herpahermaderp (webchat@216.196.92.69) (Ping
timeout: 204 seconds)
L2142[13:16:40] <madcrazydrumma> My code
is still not updating the counter
L2143[13:16:52] <masa> the rest of the
code is most likely complete shit, don't even look at it :D
L2145[13:17:06]
⇨ Joins: Herpahermaderp
(Herpaherma@216.196.92.69)
L2146[13:17:17] <madcrazydrumma> xD
L2147[13:17:24] <Falkreon> A New
Hope?
L2148[13:17:27] <Falkreon> lel
L2149[13:17:40] <Herpahermaderp> how do I
check if the player has entered a new dimension
L2150[13:17:42] <Falkreon> why don't we
just tack a couple more e's onto that and be extra special
L2151[13:18:00] <diesieben07>
Herpahermaderp, PlayerChangedDimensionEvent
L2152[13:18:33] <madcrazydrumma> masa,
still doesn't bloody update the counter ;_;
L2153[13:19:01] <Herpahermaderp> ah,
thanks
L2154[13:20:07] <masa> define upate the
counter
L2155[13:20:16] <masa> does it render
something?
L2156[13:20:35] <madcrazydrumma> it
should do
L2157[13:20:43] <madcrazydrumma> renders:
"ZCD: 0"
L2158[13:20:48] <madcrazydrumma>
drawCenteredString(fr, "ZCD: " + (zCooldownTicks / 20),
20, 10, 0xFFFFFFFF);
L2159[13:22:02]
⇦ Quits: Jezza (~Jezza@185.44.151.55) (Read error: Connection
reset by peer)
L2160[13:22:40] <Nitrodev> any examples
for getReamianingItems method?
L2161[13:23:05] <diesieben07> Nitrodev,
ForgeHooks.defaultRecipeGetRemainingItems
L2162[13:23:16] <Nitrodev> yeah i juts
saw that
L2163[13:23:28] <Nitrodev> but now clue
how to use that
L2164[13:23:33] <diesieben07> you... call
it.
L2165[13:23:47] <Nitrodev> oh
L2166[13:24:06] <Nitrodev> right
L2167[13:24:07] <madcrazydrumma>
masa
L2168[13:24:14] <Nitrodev> now what
L2169[13:24:17]
⇦ Quits: Falkreon (~Frost@75-163-85-206.omah.qwest.net)
(Killed (NickServ (GHOST command used by Frost_)))
L2170[13:24:27]
⇨ Joins: falkreon
(~Frost@75-163-85-206.omah.qwest.net)
L2171[13:26:21]
⇨ Joins: theGliby (theGliby@85.254.158.175)
L2172[13:29:44] ***
DRedAway is now known as DRedhorse
L2173[13:30:18]
⇨ Joins: skcoreimaj
(~jamierock@host-212-159-176-21.static.as13285.net)
L2174[13:30:39] <skcoreimaj> Hi there, is
there a way to render a tranlucent item in the players hand?
L2175[13:31:34] <falkreon> what's the
Futura glowey renderer in the chisel issues list?
L2176[13:31:44] <Nitrodev> okay recipe
works now i just have to figure out the remaining items part
L2177[13:31:54] <skcoreimaj> oh hi
falkreon
L2178[13:31:55] <Nitrodev> or there is
something else i missed
L2179[13:32:16] <falkreon> Nitrodev, like
I said, just return an ItemStack[1] containing the saw
L2180[13:32:22] <falkreon> from
getRemainingItems
L2181[13:32:39]
⇨ Joins: c233 (~c233@164.40.204.162)
L2182[13:32:39] <Nitrodev> i was told
about this
ForgeHooks.defaultRecipeGetRemainingItems(inventoryCrafting)
L2183[13:32:50] <falkreon> wat
L2184[13:32:56] <falkreon> no, in your
IRecipe
L2185[13:33:01] <falkreon> it has
built-in hooks for it
L2186[13:33:24] <Nitrodev> okay
L2187[13:33:35] <Nitrodev> now i have a
java problem
L2188[13:33:38] <Nitrodev> i think
L2189[13:33:42] <falkreon> oh?
L2190[13:34:06] <Nitrodev> how do i make
the array ItemStack contain the saw
L2191[13:34:34] <Nitrodev> wait i think i
know how
L2192[13:34:38] <falkreon> ok
L2193[13:35:12] <Nitrodev> nope it errors
with Exxpression expected
L2194[13:35:18] <Nitrodev> under the
ItemStack
L2195[13:35:19] <falkreon> pastebin
L2196[13:35:45]
⇦ Quits: madcrazydrumma (~madcrazyd@94.205.12.222) (Quit:
Leaving)
L2198[13:36:07] <falkreon> okay we've got
a lot of work to do X)
L2199[13:36:14] <falkreon> so first of
all
L2200[13:36:20] <Nitrodev> okay
L2201[13:36:27] <falkreon> (ItemStack[1]
= ModItems.itemSaw) is a nonsense expression
L2202[13:36:43] <falkreon> first thing
you need to do is create an ItemStack[]
L2203[13:37:03] <falkreon> assign it to a
temp variable like "result"
L2204[13:37:04] <Nitrodev> okay i got
that
L2205[13:37:25] <falkreon> so it'll look
something like ItemStack[] result = new ItemStack[1];
L2206[13:37:46] <falkreon> ItemStack[] is
the type
L2207[13:37:56] <falkreon> but if you try
to dimension the type java hates you forever.
L2208[13:38:10] <falkreon> it's not part
of the type information
L2209[13:38:10] <Nitrodev>
dimension?
L2210[13:38:26] <falkreon> ItemStack[1]
is not a type. ItemStack[] is a type.
L2211[13:38:34] <falkreon> just so we're
clear.
L2212[13:38:58]
⇨ Joins: raoulvdberge
(uid95673@2001:67c:2f08:6::1:75b9)
L2213[13:39:11] <masa> ohb tw the size of
the returned array from getRemainingItems() should match the
crafting grid sie, otherwise it won't work properly, sinze it only
loops through that array when decresing the input itemstack
sizes
L2214[13:39:31] <masa> see
SlotCrafting.onPickupFromSlot()
L2215[13:39:39] <raoulvdberge> anyone
know why my item is not rendering in the inventory (purple default
block) with following blockstate JSON:
http://pastebin.com/xFYuPz1k
L2216[13:39:41] <raoulvdberge> I did
declare also the custom model resource location:
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(StorageCraftBlocks.GRID),
0, new ModelResourceLocation("storagecraft:grid",
"inventory"));
L2217[13:39:52] <Nitrodev> okay now the
first line of the entire class is ItemStack[] result = new
ItemStack[1];
L2218[13:40:54] <falkreon> alright, if
what masa is saying is true, you're actually going to want new
ItemStack[9] instead
L2219[13:41:11] <masa> didn't he use a
grid of 4 slots?
L2220[13:41:20] <masa> yep
L2221[13:41:22] <Nitrodev> yeah
L2222[13:41:28] <falkreon> okay, 4
then.
L2223[13:41:31] <falkreon> :P
L2224[13:41:33] <Nitrodev> so
ItemStack[4]
L2225[13:42:12] <falkreon> and if we
wanted to get advanced we'd put a damaged saw where the original
saw was instead of the first slot, and we can do that, but we'll
get there.
L2226[13:42:25] <Nitrodev> okay
L2227[13:42:31]
⇦ Quits: LexLap2 (~LexManos@98.125.178.185) (Ping timeout:
190 seconds)
L2228[13:42:46] <Nitrodev> and i have an
idea of what we need to do next
L2229[13:43:08] <sham1> Let's hear
it
L2230[13:43:10] *
Nitrodev is looking at the array doc for java
L2231[13:43:24] <falkreon> heh
L2232[13:43:30] <Nitrodev> we need to
initialize the ItemStack[4]
L2233[13:43:32]
⇦ Quits: Hassan
(~hassa@2602:306:cde1:d700:7561:774a:9b1:7a9a) (Ping timeout: 192
seconds)
L2234[13:43:36] <Nitrodev> well the whole
array
L2235[13:43:41] <falkreon> well sort of.
It's all nulls by default.
L2236[13:43:49] <falkreon> and nulls are
just empty itemslots
L2237[13:43:50] <masa> looking at the
onPickupFromSlot() method, it seems that you also want to put the
saw in the same position that it was at in the input grid, so that
it will properly decrease the other input item stackSizes
L2238[13:43:51] <falkreon> which is
good.
L2239[13:43:56] <Nitrodev> oh yeah
L2240[13:45:29] <falkreon> yeah, I
finally have SlotCrafting open here too
L2241[13:45:41] <Nitrodev> unexpected
token when i try to do ItemStack[1] = null;
L2242[13:45:59] <falkreon> yeah
L2243[13:46:05] <falkreon> because
ItemStack[1] is not a field
L2244[13:46:14] <Nitrodev> oh yeah result
is
L2245[13:46:18] <Nitrodev> isn't?
L2246[13:46:32] <falkreon> result is a
local variable, yeah, close enough.
L2247[13:46:45] <falkreon> it can be a
left-hand-side
L2248[13:46:53] <Nitrodev> a what?
L2249[13:46:59] <falkreon> it can be on
the left side of an equals
L2250[13:47:06]
⇦ Quits: skcoreimaj
(~jamierock@host-212-159-176-21.static.as13285.net) (Ping timeout:
190 seconds)
L2251[13:47:08] <falkreon> result = null;
//good
L2252[13:47:20] <falkreon> well
L2253[13:47:26] <falkreon> also result[0]
= null;
L2254[13:47:28] <falkreon> :D
L2255[13:47:54] <sham1> Setting an array
to null is possible but not wanted
L2256[13:48:00] <falkreon> right, I
wouldn't advise it
L2257[13:48:02] <Nitrodev> result = null;
won't work
L2258[13:48:12] <Nitrodev> thinks result
is a class
L2259[13:48:22] <sham1> Lolwut
L2260[13:48:28] <Nitrodev> so error is
unknown class 'result'
L2261[13:48:31] <falkreon> result=null;
would work, but as sham1 says it's really not a good idea.
L2262[13:48:46] <Nitrodev> no wait
unexpected token error
L2263[13:48:52] <Nitrodev> on result =
null;
L2264[13:48:56] <falkreon> arrays are an
object type, but they are compiled a bit specially
L2265[13:49:03] <falkreon> so who
knows.
L2266[13:49:12] <falkreon> In any case
your compiler's right, don't do it X)
L2267[13:49:12] <sham1> Yeah
L2269[13:49:19] <sham1> They don't get
type erased
L2270[13:49:22] <sham1> For one
L2271[13:49:31] <falkreon> what the
L2272[13:49:48] <falkreon> why did you
move result up to the IRecipe
L2273[13:49:50]
⇦ Quits: c233 (~c233@164.40.204.162) (Quit:
Leaving)
L2275[13:49:52] <falkreon> that's not
what you want
L2276[13:49:57] <Nitrodev> oh?
L2277[13:49:57] <laci200270> pinging
fry|sleep
L2278[13:50:03] <falkreon> keep it local
to the method.
L2279[13:50:20] <Nitrodev> oh yeah to the
getremaining
L2280[13:50:32] <falkreon> the
"result=null;" is failing because it's floating in the
class and not inside a static block
L2281[13:50:35] <Nitrodev> wait the array
declaration aswell?
L2282[13:50:40] <falkreon> yes the array
declaration
L2283[13:50:43] <Nitrodev> okay
L2284[13:50:59] <falkreon> you don't want
anything else in the class tampering with it, it should scope to
the method.
L2285[13:51:08] <Wuppy> seriously, how
many early access survival procedurally generated rogue likes can
there be on steam...
L2286[13:51:16] <falkreon> Wuppy, too
many
L2287[13:51:17] <Nitrodev> too many
Wuppy
L2288[13:51:21] <falkreon> :D
L2289[13:51:22] <Nitrodev> darn
L2290[13:51:23] <Wuppy> lol
L2291[13:51:27] <falkreon> ikr
L2292[13:51:29] <falkreon> it's
like
L2293[13:51:35] <falkreon> I see a game,
it starts to look good
L2294[13:51:35] <Wuppy> I've seen at
least 50 of them in the steam discovery queue this sale
L2295[13:51:37] <Nitrodev> we're
synced
L2296[13:51:51] <falkreon> and then
they're like "randomly generated levels" and total
bonerkill
L2297[13:51:54] <sham1> Why are there so
many 8-bit indie games
L2298[13:51:57] ***
illy[AFK] is now known as illy
L2299[13:52:10] <Wuppy> oh wow, finally
there's an early access game I'm interested in, first after 1000
int he queue
L2300[13:52:18] <Wuppy> an indie version
of diablo pretty much
L2301[13:52:24] <falkreon> ehh
L2302[13:52:32] <falkreon> there's a
non-indie version of diablo that just came out
L2303[13:52:36] <Nitrodev> what
next?
L2305[13:52:40] <falkreon> devilian is
probably quite good
L2306[13:52:46] <Wuppy> falkreon, what's
it called?
L2307[13:52:50] <laci200270> who
expreinced with model system?
L2308[13:52:57] <falkreon> Trion makes
good stuff, it's underrated
L2309[13:53:00] <laci200270>
*experienced
L2310[13:53:21] <Nitrodev> simple models
or advanced laci200270
L2311[13:53:32] <laci200270>
smartmodels
L2312[13:53:37] <Nitrodev> not me
then
L2313[13:54:11] <falkreon> Nitro, now you
want to go through the slots in the InventoryCrafting and find your
saw.
L2314[13:54:23] <Nitrodev> a for loop
will do fine then
L2315[13:54:26] <falkreon> yes.
L2316[13:54:26] <Nitrodev> right?
L2318[13:54:49]
⇦ Quits: sciguyryan
(~sciguyrya@80-254-76-225.dynamic.swissvpn.net) ()
L2319[13:55:06] <falkreon> eww the prefix
operators
L2320[13:55:17] <falkreon> imo, if it
needs to be prefix, it needs its own line.
L2321[13:55:37] <masa> shut up :D
L2322[13:55:40] <falkreon> also hanging
braces
L2323[13:55:44] <masa> shut up :D
L2324[13:55:46] <falkreon> srsly I think
I hate you
L2325[13:55:47] <falkreon> :D
L2326[13:55:48] <masa> shut up :D
L2327[13:56:20] <falkreon> but the code
is right.
L2328[13:56:26] <MattDahEpic> whats the
best way to tell how many ticks have passed in a world from Thread
or Runnable?
L2329[13:56:32] <masa> if prefix deserves
its own line, then so do the opening braces! don't be brace-racist
now!
L2330[13:56:45] <williewillus>
MattDahEpic: read the world time? :p
L2331[13:56:49] <falkreon> I am bracist
and proud of it
L2332[13:56:54] <falkreon> get
astyle'd
L2333[13:57:04] <sham1> C indentation
:C
L2334[13:57:07] <williewillus> nextline
braces are a waste of space
L2335[13:57:10] <williewillus>
*flamewar*
L2336[13:57:36]
⇨ Joins: shadekiller666
(~shadekill@adsl-108-80-76-81.dsl.lsan03.sbcglobal.net)
L2337[13:57:36] <sham1> Masa, why U do
this
L2338[13:57:39] <falkreon> yeah I hate
most C conventions too, which is funny because we're using
java
L2339[13:57:49] <Wuppy> I can has holiday
badge :D
L2340[13:57:50] <masa> C
indentation?
L2341[13:58:02] <shadekiller666> most of
java's conventions are different than C's
L2342[13:58:06] <falkreon> masa- typical
C indentation has the hanging braces
L2343[13:58:23] <williewillus> I just
tend to follow the conventions of the resdpective language
L2344[13:58:31] <falkreon> I'm pretty
sure if you crack open an O'Reilly C book you'd see em
L2345[13:58:33] <williewillus> like in C#
I do nextline just because their documentationdoes :p
L2346[13:58:36] <masa> maybe that's why I
like them then, since I did some C before I started java with mc
modding
L2347[13:58:45] <falkreon> ah.
Yeah.
L2348[13:58:56] <sham1> For {C,C++} I use
the same style as Masa used there
L2349[13:59:04] <falkreon> I do some C#
but we definitely have some friction because they Like To
Capitalize Everything
L2350[13:59:08] <shadekiller666> i hate
newline open braces...
L2351[13:59:35] <sham1> Newline open
braces look passable in C
L2352[13:59:35] <sham1> In java,
no...
L2353[13:59:40] <masa> but the closing
brace feels so lonely without his opening brother fro manother
mother
L2354[13:59:41] <falkreon> instance
field? Capitalize it. Method name? Capitalized.
L2355[14:00:07] <falkreon> bleh
L2356[14:00:24] <falkreon> completely
unrelated: Why can't I seem to ping anything?
L2357[14:00:28] <sham1> C# is just
weird
L2358[14:00:40] <falkreon> clearly I have
internet access. I can get at irc and websites just fine.
L2359[14:00:49] <falkreon> nslookup runs
nice and quick
L2360[14:00:54] <falkreon> ping just
dies.
L2361[14:01:00] <sham1> Why Are The
Method Names Capitalized
L2362[14:01:06] <masa> don't ping dead
hosts
L2363[14:01:12] <shadekiller666> i
actually prefer C# over java, because it is more flexible and there
is some syntactic sugar stuff that java doesn't have
L2364[14:01:13] <falkreon> masa- like
google.com?
L2365[14:01:17] <masa> yeah :D
L2366[14:01:18] <falkreon> totally dead
host
L2367[14:01:34] <falkreon>
shadekiller666, it's hard to argue with reified generics,
yeah.
L2368[14:01:41]
⇦ Quits: Ipsis (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk)
(Ping timeout: 190 seconds)
L2369[14:01:49] <falkreon> but I'm gonna
stick to java 8 for a good long time.
L2370[14:01:50] <sham1> Only thing I
prefer C# with is the fact that it has unsigned integers
L2371[14:02:07] <falkreon> unsigned
integers and signed integers are the same thing though :/
L2372[14:02:13] <shadekiller666> well
more like the way that you can instantiate multi-dimensional
arrays, and change what the basic operators do
L2373[14:02:25] <Nitrodev> masa, works
other wise except the the other recipe input stays too
L2374[14:02:28] <shadekiller666>
falkreon, no, not really
L2375[14:02:30] <Nitrodev> the slab
stays
L2376[14:02:31] <falkreon> operator
overloading is a whole different argument
L2377[14:02:32] <sham1> They are the same
yes
L2378[14:02:48] <sham1> They look the
same in memory
L2379[14:03:14] <falkreon> When it
matters, it's because I'm doing bit twiddling where it specifically
doesn't matter.
L2380[14:03:22] <falkreon> :P
L2381[14:03:26] <Nitrodev> okay i'm gonna
be done for today
L2382[14:03:37] <shadekiller666> oh, and
the fact that you can make C# completely ignore its GC
L2383[14:04:05] <falkreon> I've actually
found a nice balance between avoiding GC and working with it.
L2384[14:04:09] <sham1> I for one like
the GC
L2385[14:04:19]
⇦ Quits: Hunterz (~hunterz@62.182.234.189) (Quit:
Leaving.)
L2386[14:04:30] <falkreon> I put together
a generic pooling system for single-threaded objects
L2387[14:04:33] <shadekiller666> GC is
often terrible for games
L2388[14:04:43] <shadekiller666> assuming
you know how to manage memory
L2389[14:04:44] <falkreon> where it's not
actually guaranteeing object reuse
L2390[14:04:59] <falkreon> but if you do,
it counts towards avoiding a GC because it avoids instance
*creation*
L2391[14:05:24] <falkreon> if the heap
doesn't grow, the GC is called less aggressively.
L2392[14:05:26] <diesieben07>
shadekiller666, actually that is not true. if you have a good GC
...
L2393[14:05:30] <MattDahEpic> !gm
World.spawnParticle 1.8.8
L2394[14:06:28] <MattDahEpic> what does
the boolean and int[] do in World.spawnParticle?
L2395[14:06:35] <falkreon> I should write
a mod to get rid of the texture atlas.
L2396[14:06:36] <sham1> I also like the
smart pointer in c++
L2397[14:06:40] <falkreon> :D~
L2398[14:06:43] <shadekiller666> for
optimization purposes non-GC can always be faster than GC if you
know what you're doing
L2399[14:07:04] <falkreon> shadekiller,
actually that's not true
L2400[14:07:18] <diesieben07> there are
even problems that are not solveable without a GC
L2401[14:07:20] <falkreon> again, if you
guarantee that the heap doesn't grow inside the inner loop it won't
trip a GC and you get the same speed
L2402[14:07:43] <diesieben07> even then,
there are GCs that run completely concurrent to the program
L2403[14:07:46] <falkreon> you DO still
have to manage your memory
L2404[14:07:49] <diesieben07> they never
block your progam
L2405[14:08:07] <falkreon> diesieben07,
STW is unavoidable.
L2406[14:08:16] <diesieben07> not
true.
L2407[14:08:18] <falkreon> if you need a
STW, it's going to STW
L2408[14:08:31] <diesieben07> there are
GCs that never stop the world
L2409[14:08:38] <falkreon> which
ones
L2410[14:08:58] <sham1> The ones that
don't stop the world :p
L2411[14:09:06] <falkreon> don't say
concurrentMark+Sweep, because that one does.
L2412[14:09:11] <diesieben07>
azul's
L2413[14:09:24] <laci200270>
shadekiller666, can u help me?
L2415[14:09:49] <diesieben07> falkreon:
^
L2416[14:10:14] <falkreon> I'm looking at
Azul Systems copy right now
L2417[14:10:25] <sham1> Diesieb, can you
later tonight send me some videos about the JVM architecture I can
burn through and absorb the knowledge from
L2419[14:10:45] <falkreon> this is more
what I'm interested in
L2420[14:10:57] <shadekiller666> laci,
with what?
L2422[14:12:06] <falkreon> I really wish
people would go back to actually printing documentation :P
L2423[14:12:09] <diesieben07> and falk,
you obviously know more than me about this :D
L2424[14:12:16] <sham1> I presume the LS5
means Language Specification 5
L2425[14:12:32] <laci200270>
shadekiller666, with smartmodels
L2426[14:12:35] <diesieben07> Language
Summit
L2427[14:12:43] <sham1> Ah
L2428[14:12:51] <diesieben07> and then
2015 because that's the year.
L2429[14:13:02] <falkreon> I miss Unsafe
:(
L2430[14:13:02] <shadekiller666> laci,
what about them
L2431[14:13:10] <diesieben07> miss?
L2432[14:13:14] <laci200270> i want to
make a progressbar
L2433[14:13:22] <falkreon>
sun.misc.Unsafe is a great idea
L2434[14:13:24] <laci200270> on the sides
of the block
L2435[14:13:36] <diesieben07> meh
L2436[14:13:36] <falkreon> we need that
kind of library back
L2437[14:13:39] <diesieben07> not for
java
L2438[14:13:43] <falkreon> yes for
java
L2439[14:13:58] <diesieben07> it will
come back in a much nicer api in java 9
L2440[14:13:59] <diesieben07> var
handlers
L2441[14:14:02] <diesieben07> -r
L2442[14:14:05] <falkreon> it goes back
to responsible self-management
L2443[14:14:45] <diesieben07> you can do
horrible things with unsafe. and one of java's goals is to stop you
doing horrible things
L2444[14:15:07] <falkreon> JNI is
basically always horrible things
L2445[14:15:14] <sham1> I like how the
new LWJGL stores the pointer adresses in longs, making the
assumption about 64-bit computer
L2446[14:15:24] <falkreon> :D
L2447[14:15:34] <sham1> (Not that you
cannot have 32bit pointers in 64 bit integers)
L2448[14:16:03] <laci200270>
shadekiller666, a progressbar on the sides of my block
L2449[14:16:07] <shadekiller666> ok
L2450[14:16:13] <laci200270> or change
color dynamically
L2451[14:16:31] <laci200270> do you have
any ideas?
L2452[14:16:34] <shadekiller666> you'll
need an ISmartBlockModel i think
L2453[14:17:00] <laci200270> how can I
manipulate images?
L2454[14:17:05] <laci200270> in
quads
L2455[14:18:04] <diesieben07> falkreon,
JNI is an unavoidable thing
L2456[14:18:24] <sham1> Points at
LWJGL
L2457[14:18:33] <diesieben07> sham1, but
what else would you do? have all things that deal with pointers in
two versions? :D
L2458[14:18:33] <sham1> Which is an
obvious example
L2459[14:18:41] <sham1> True
L2460[14:18:54] <diesieben07> everything
in java that deals with pointers (see native buffers in NIO) uses
longs
L2461[14:19:10] <sham1> 32 bits fit in 64
bits so might as well make them longs
L2462[14:19:48] <sham1> Not that you can
access >4GB with 32bits
L2463[14:21:25] <shadekiller666>
uhh
L2464[14:21:41] <shadekiller666> not 100%
sure laci, and i can't really look atm
L2465[14:24:36]
⇨ Joins: manmaed
(~Ender@97e11aeb.skybroadband.com)
L2466[14:24:40] <raoulvdberge> Failed
with error: error: cannot fork() for git-remote-https: Resource
temporarily unavailable
L2467[14:24:44] <raoulvdberge> fucking
github..
L2468[14:24:49] <raoulvdberge> just as
you want to push a big commit
L2469[14:25:27]
⇨ Joins: Johnsmith0508
(~johnsmith@pool-100-13-10-44.tampfl.fios.verizon.net)
L2470[14:28:41] ***
manmaed is now known as manmaed|AFK
L2471[14:31:28] <raoulvdberge> so what is
ITileEntityProvider in 1.8?
L2472[14:31:36] <raoulvdberge> I know it
is still there, but I heard it can be removed?
L2473[14:31:37] <williewillus> don't use
ITEP
L2474[14:31:39] <williewillus> yeah
L2475[14:31:49]
⇦ Quits: Herpahermaderp (Herpaherma@216.196.92.69)
()
L2476[14:31:50] <williewillus> just
override hasTIleEntity and createTileENtity in block
L2477[14:31:56] <raoulvdberge> OK
thx
L2478[14:32:04] <williewillus> ITEP is
just legacy and you can't rely on it to determine if a block has a
TE
L2479[14:36:14] <laci200270> textures are
built up from quads?
L2480[14:36:33] <Rushmead> How do i
change the block bounds based on state?
L2481[14:36:49] <sham1> Well textures are
indeed 2d planes
L2482[14:37:54]
⇦ Quits: Johnsmith0508
(~johnsmith@pool-100-13-10-44.tampfl.fios.verizon.net) (Quit:
*poof*)
L2483[14:38:09] <sham1> Rushed,
Block#addCollisionBoxToPool or something like that
L2484[14:38:14] <sham1> Override it
L2485[14:38:15] <williewillus> Rushmead:
there's a method to do that :p take a look at vnailla doors,
trapdoors, etc.
L2486[14:38:33] <laci200270> sham1 can I
manipulate textures from ISmartModel?
L2487[14:38:51] <sham1> I don't
know
L2488[14:38:57] <williewillus> what do
you want to do?
L2489[14:38:59] <sham1> Ask fry or
shadekiller
L2490[14:39:09] <sham1> Or use TESR if
desperate
L2491[14:39:11] <falkreon> laci, why
would you for a progress bar? Just only show part of the
texture
L2492[14:39:13]
⇨ Joins: Hassan
(~Hassan@pool-173-79-220-242.washdc.fios.verizon.net)
L2493[14:39:23] <sham1> So you can
manipulate the texture with OpenGL
L2494[14:39:35] <williewillus>
laci200270: are you wanting a progress bar on your block?
L2495[14:39:39] <laci200270> yes
L2496[14:39:45] <williewillus> how many
increments does it ened to have?
L2497[14:39:52] <laci200270> idk
L2498[14:39:55] <williewillus> just use
submodels and getActualState
L2499[14:39:55] <laci200270> if possible
100
L2500[14:39:56] <sham1> Or is it
smooth
L2501[14:39:58] <williewillus> lol
L2502[14:40:04] <falkreon> just change
the width of the quad based on the progress
L2503[14:40:12] <williewillus> I think
you're better off tesr'ing it if it's going to be changing
constantly
L2504[14:40:13] <falkreon> and use
according UV values
L2505[14:40:31] <laci200270> ok then I
use TESRs
L2506[14:40:39] <williewillus> constant
chunk wr rebuidls are fatal for fps (anyone remember redpower pipes
:p)
L2507[14:40:40] <sham1> TESRs certanly
still have uses
L2508[14:40:50] <sham1> But their uses
are limited
L2509[14:40:59] <williewillus> like use a
tesr only for the bar
L2510[14:41:03] <williewillus> make the
rest of the block static model
L2511[14:41:35] <falkreon> yeah, I think
some people make the mistake of having a static blockmodel plus a
TESR somehow
L2512[14:41:41]
⇦ Quits: HassanS6000
(~Hassan@pool-173-79-220-242.washdc.fios.verizon.net) (Ping
timeout: 190 seconds)
L2513[14:41:42] <falkreon> I keep seeing
blocks z-fight with themselves
L2514[14:41:44] <falkreon> it's
insane
L2515[14:41:51] <williewillus> it's not
insane, it's useful :p
L2516[14:41:56] <williewillus> enchanting
table?
L2517[14:41:58] <williewillus> tesr +
static
L2518[14:42:05] <williewillus> botania's
runic altar? same :p
L2519[14:42:15] <laci200270> and what if
the TESR renders the block model?
L2520[14:42:17] <falkreon> no, I mean
like project tables and chisel lavastone
L2521[14:42:23] <williewillus> it's
slower
L2522[14:42:26] <falkreon> z-fighting
with themselves
L2523[14:42:28] <falkreon> :(
L2524[14:42:30] <williewillus> you want
as little in the tesr as possible
L2525[14:42:34] <falkreon> yes.
L2526[14:42:39] <laci200270> ok
L2527[14:42:54] <laci200270> i just ask a
lot because I noob at rendering
L2528[14:43:08]
⇨ Joins: kimfy
(~kimfy___@74.141.16.62.customer.cdi.no)
L2529[14:43:10] <williewillus> basically
anything dynamically updating goes in tesr because changing static
model states rebuidls the whole chunk
L2530[14:43:19] <williewillus> which is
godawful slow if you do it a lot like redpower pipes used to
L2531[14:43:21] <falkreon> yeah, so
like
L2532[14:43:28] <falkreon> the part of
your block which is not progress bar
L2533[14:43:32] <falkreon> it gets sort
of rendered one
L2534[14:43:34] <falkreon> time
L2535[14:43:45] <falkreon> along with all
the dirt and stone
L2536[14:43:50] <laci200270> oh I have
got a better idea..
L2537[14:44:02] <falkreon> it gets
rotated and redrawn but it "lives" right on your graphics
card
L2538[14:44:10] <laci200270> it is
possible to render something when I am looking into the
block?
L2539[14:44:11] <sham1> Make it a hud
thing
L2540[14:44:16] <falkreon> if it's a tesr
it lives on the CPU
L2541[14:44:19] <sham1> Yes laci
L2542[14:44:24] <williewillus> heh had
the same idea together didn't you
L2543[14:44:27] <sham1> Entirely
possible
L2544[14:44:28] <williewillus> yeah that
would be better
L2545[14:44:38] <williewillus> just use
one of the render world events and add a hud
L2546[14:44:51]
⇨ Joins: Poppy
(~Poppy@chello085216146055.chello.sk)
L2547[14:45:06] <sham1> Or use the render
hud event
L2548[14:45:16] <laci200270> I want to
render a bar floating on the block
L2549[14:45:21] <laci200270> it is
possible?
L2550[14:45:25] <sham1> Yes
L2551[14:45:42] <laci200270> what event
do I need?
L2552[14:45:43] <sham1> You just need to
know how to use opengl transforms
L2553[14:45:56] <sham1> For the floating
part
L2554[14:46:43] <sham1> I propably will
have an item that allows you to do stuff akin to WAILA
L2555[14:46:52] <sham1> Because it is
broken in 1.8...
L2556[14:46:56] <falkreon> :(
L2557[14:46:58] <falkreon> I love
waila
L2558[14:47:11] <sham1> I love it
too
L2559[14:47:19] <sham1> But the rendering
is broken in 1.8
L2560[14:47:22] <falkreon> I integrate
with it for my mod, it's really good for debugging heat
simulations
L2561[14:47:57] <raoulvdberge>
williewillus: it says here that hasTileEntity is deprecated
L2562[14:48:10] <williewillus> use the
state sensitive version
L2563[14:48:13] <sham1> Take the version
with IBlockState
L2564[14:48:24] <sham1> DAMN IT
NINJAS
L2565[14:48:27] <raoulvdberge> so jsut
createTileEntity and no hasTileEntity with it
L2566[14:48:32] <williewillus> wat
L2567[14:48:34] <sham1> No...
L2568[14:48:40] <williewillus> override
the hasTIleEntity that takes IBlockState
L2569[14:48:58] <raoulvdberge>
williewillus: "> just override hasTIleEntity and
createTileENtity in block"
L2570[14:48:59] <raoulvdberge> your words
:P
L2571[14:49:14] ***
Vigaro is now known as Vigaro|AFK
L2572[14:49:20] <raoulvdberge> OOOH
NVM
L2573[14:49:21] <raoulvdberge> lol
L2574[14:49:24] <williewillus> yeah the
non deprecated versions
L2575[14:49:25] ***
Vigaro|AFK is now known as Vigaro
L2576[14:49:40] *
sham1 is confused
L2577[14:50:01] <williewillus> should I
have typed out
hasTileEntity(Lnet/minecraft/block/state/IBlockState;)Z ? ;p
L2578[14:50:14] <sham1> Yes
L2579[14:50:18] <raoulvdberge> yes.
secretly, I am the JVM
L2580[14:50:56] <sham1> Everyone is JVM
if they believe
L2581[14:51:12] ***
bilde2910 is now known as bilde2910|away
L2582[14:51:13] <raoulvdberge> My mom
told me I could become anything. So I became the JVM.
L2583[14:51:14] <sham1> Everyone is also
ghc but that is another story
L2584[14:51:26] <raoulvdberge>
Noooooo
L2585[14:51:27]
⇨ Joins: HassanS6000
(~hassa@2602:306:cde1:d700:308c:7050:5094:7a54)
L2586[14:52:30] <sham1> The Glorious
Glasgow Haskell Compilation System
L2587[14:52:31]
⇦ Quits: HassanS6000
(~hassa@2602:306:cde1:d700:308c:7050:5094:7a54) (Client
Quit)
L2588[14:52:36] ***
Hassan is now known as HassanS6000
L2589[14:54:01] <williewillus> i much
prefer clojure/lisps to haskell
L2590[14:54:19] <sham1> Parentheses for
days
L2591[14:54:25] <williewillus> besides
the fact that the GHC is literally as enormous as all my modding
environments combined...
L2592[14:54:52] <Nitrodev> huh well the
recipe works fine atm
L2593[14:54:55] <sham1> Well at least for
windows ghc also has a mingw embedded
L2594[14:55:15] <Nitrodev> except the
wooden slab stays in the recipe aswell as the saw making it
possible for duping
L2595[14:55:59] <Nitrodev> any idea
why
L2596[14:56:07] <falkreon> let's see
it
L2597[14:56:22] <sham1> Inb4 you don't
delete it
L2598[14:56:31]
⇨ Joins: c233 (~c233@164.40.204.162)
L2600[14:57:30] <falkreon> odd.
L2601[14:57:37] <Wuppy> woop, finally out
of my parents house again, life is good :D
L2602[14:58:04] <falkreon> if you don't
overwrite it it should consume the item from the recipe
ingredients. Wait...
L2604[14:58:30] <sham1> I sense something
bad
L2605[14:58:34] <Nitrodev> there is the
git repo is that helps
L2606[14:59:14] <falkreon> not rly. It's
about the recipe
L2607[15:00:40] <sham1> I really wonder
why people at Oracle didn't add proper immutable collections to
java8
L2608[15:01:21] <Nitrodev> proper
what?
L2609[15:01:42] <sham1> Immutable
collections
L2610[15:01:49] <sham1> Did I
stutter?
L2611[15:01:53] <falkreon> like guava
ImmutableList and ImmutableSet
L2612[15:01:59] <falkreon> and
ImmutableMap*
L2613[15:02:01] <Nitrodev> oh
L2614[15:02:21] <falkreon> sets you can't
change
L2615[15:02:44]
⇨ Joins: Tarig
(~Tarig@cpe-104-230-154-96.columbus.res.rr.com)
L2616[15:02:47] <sham1> Or rather when
you change, you get a new list or whatever
L2617[15:02:52] <williewillus> because
"unmodifiableList/Set/Map" are good enough
L2618[15:02:55] <Rushmead> Dum dum dum.
states, you piece of sh*t. Please work properly Thanks from Rush
<3
L2619[15:03:06] <williewillus> it makes
me feel dirty that reductions in java 8 give you mutable
collections :p
L2620[15:03:10] <williewillus> Rushmead:
what's wrong lol
L2621[15:03:15] <falkreon> ha
L2622[15:03:38] <falkreon> I keep running
into roadblocks where I want to filter+map
L2623[15:03:39] <Nitrodev> ?
L2624[15:03:41] <Rushmead> IDk. For some
reason, if you so withProperty, it resets any other
properties
L2625[15:03:44] <Nitrodev> oh
L2626[15:03:52] <falkreon> and there's no
good interface for that
L2627[15:03:52] <williewillus> Rushmead:
it shouldn't :p
L2628[15:03:52] <williewillus> what case
is tihs?
L2629[15:03:55] <williewillus> where are
you doing it and what for?
L2630[15:04:19] <Rushmead> So
L2631[15:04:36] <falkreon> for example, I
want to take each input, and atomically apply a predicate and emit
a mapped result on success
L2632[15:04:46] <falkreon> it doesn't
work that way though.
L2633[15:04:57] <falkreon> and most
people using streams don't care about the atomicity there.
L2634[15:05:07]
⇦ Quits: c233 (~c233@164.40.204.162) (Quit:
Leaving)
L2635[15:05:19] <sham1> UnmodifiableList
is only a read-only view of a mutable list, that changes to reflect
the changes in the list it is view of
L2636[15:05:21]
⇨ Joins: c233 (~c233@164.40.204.162)
L2637[15:05:35] <williewillus> i was
being sarcastic sham :p
L2638[15:06:05] <Rushmead> When you shift
right click with a hammer, the block goes smaller(A property called
isShort), when you click with a block called "top" it
will put a black kinda cover thing on the top(A property called
hasTop, which changes the model). So when i have my block small and
then add a top the block goes back to normal size with the top.
Even though i do
L2639[15:06:05] <Rushmead>
"world.setBlockState(pos, state.withProperty(hasTop,
true));"
L2640[15:06:08] <sham1> Were you?
L2641[15:06:47] <williewillus> sham1: I
didn't close quote in the right place, but I was lol
L2642[15:07:08] <williewillus> Rushmead:
not sure, that may be your submodels applying incorrectly
L2643[15:07:22] <williewillus> in the f3
menu are the values right for your properties?
L2644[15:07:52] <Rushmead> Nope
L2645[15:07:56] <Rushmead> it changes
them
L2646[15:08:03] <Rushmead> without me
asking
L2647[15:08:07] <Rushmead> SONS OF A
B*TCH
L2648[15:08:11] <williewillus> calm
down
L2649[15:08:14] <williewillus> pastebin
your block
L2650[15:08:27] <Rushmead> JSON or
Java?
L2651[15:08:38] <laci200270> 64x64 res is
acceptable for blocks?
L2652[15:08:39] <williewillus> blockstate
json and java block class
L2653[15:08:44] *
ThePsionic pats Rushmead
L2654[15:08:49] <ThePsionic> It'll be
ok
L2655[15:08:56] <Rushmead> Relying on
Ircclouds auto pastebin thing... HERE WE GO
L2656[15:09:00] <sham1> Laci, it is a
square with powers of two so yes
L2657[15:09:07] <Rushmead> I dont trust
it
L2658[15:09:08] <ThePsionic> That works
very well dw :P
L2659[15:09:12] <laci200270> thx
L2660[15:09:14] <Rushmead> oh ok
L2661[15:09:14] <falkreon> laci200270, a
lot of people hate mismatched texture resolutions
L2663[15:09:21] <Rushmead> Ooh
L2664[15:09:22] <Rushmead> it did
L2665[15:09:22] <Rushmead> Nice
L2666[15:09:25] <ThePsionic> see
L2667[15:09:28] <ThePsionic> nothing to
worry about
L2668[15:09:30] <williewillus> mc rejects
bad aspect ratio textures
L2669[15:09:33] <williewillus> unless you
have a mcmeta
L2670[15:09:37] <falkreon> yep
L2672[15:09:44] <Rushmead> There
L2673[15:09:52] <Rushmead> Bit
messy
L2674[15:09:53] <Rushmead> but
L2675[15:09:54] <Rushmead> yeah
L2676[15:09:55] <laci200270> falkreon, I
want to use higher res textures
L2677[15:10:02] <falkreon> but yeah, if
you can provide 16x textures and an optional 32x or 64x resource
pack it'd be better.
L2678[15:10:03] <williewillus> why don't
you set defaultstate?
L2679[15:10:15] <laci200270> falkreon,
thats a good idea
L2680[15:10:23] <sham1> Hi-res textures
are not bad
L2682[15:10:39] <Rushmead> ^^
Defaults
L2683[15:10:44] <williewillus> your logic
in getMetaFromState is also flawed.
L2684[15:11:02] <falkreon> sham1, as I
said I love 32x textures, it's just really hard when I've got
things like Chisel which are impossible to make complete resource
packs for
L2685[15:11:02] <williewillus> that first
check will always prevent the second one from returning
L2686[15:11:14]
⇨ Joins: Jezza (~Jezza@185.44.151.55)
L2687[15:11:19] <falkreon> I'm trying
really hard, but it's inhuman how many textures that has X)
L2689[15:12:29] <williewillus> you just
cleaned it up, the logic is still flawed :p
L2690[15:12:37] <williewillus> wait
nvm
L2691[15:12:39] <Rushmead> No i changed
it
L2692[15:12:40] <Rushmead> :P
L2693[15:13:06] <williewillus> in your
constructor set a default state
L2694[15:13:35] <Rushmead> Hang on...
found a issue with the opposite to the one above
L2695[15:13:47] <falkreon> so anyhow the
important thing is helping people match the texture they actually
want to run
L2696[15:14:03] <falkreon> not like,
forcing a texture size on people.
L2697[15:14:12] <Nitrodev> not solutions
for my problem?
L2698[15:14:40] <falkreon> I've been
doing a lot of live-compositing where I just check the size of the
stone texture and match that ^_^
L2699[15:15:00] <Rushmead> williewillus,
what do i put in it?>
L2700[15:15:09] <williewillus> your
default state? false for both props
L2701[15:15:09]
⇨ Joins: Cojo
(~Cojo@cpe-174-109-251-46.nc.res.rr.com)
L2702[15:15:15] <williewillus> it's
usually your 0 meta
L2703[15:15:35] <Rushmead> But its asking
for a IBlockState
L2704[15:15:54] <Rushmead> Fixed it
L2705[15:15:55] <Rushmead> :P
L2706[15:17:18]
⇨ Joins: Firedingo
(~Firedingo@cpe-121-217-154-65.lnse2.cht.bigpond.net.au)
L2707[15:17:43]
⇨ Joins: Gene (~Gene@2601:985:4100:fbe0::1)
L2708[15:19:09] <Rushmead> Ok. so now how
do i do the inventory and item rendering?
L2709[15:19:36] <williewillus> what
variant do you want it to look like in the inventory?
L2710[15:19:47] <Rushmead> Depends on the
state
L2711[15:19:49] <Rushmead> :P
L2712[15:20:03] <Nitrodev> no solutions
for my problem?
L2713[15:20:59] <williewillus> use the
forge json format and setCustomMRL to point to specific variants in
your blockstate json
L2714[15:21:52] <Gene> is the
EntityLiving class part of forge?
L2715[15:22:08]
⇦ Quits: Jezza (~Jezza@185.44.151.55) (Read error: Connection
reset by peer)
L2716[15:22:11] <masa> it's part of
vanilla
L2717[15:22:17] <Gene> thank you :)
L2718[15:22:51] <Zaggymobile> Forge
doesn't add any entity classes :)
L2719[15:22:57] <Rushmead> What do you
mean williewillus
L2721[15:23:10]
⇨ Joins: Jezza (~Jezza@185.44.151.55)
L2722[15:23:17] <williewillus> Rushmead:
forge has its own blockstatejson specification
L2723[15:23:26] <williewillus> which lets
you do things in a much, much quicker and compact way
L2724[15:23:54] <Gene> I'm still new to
modding minecraft. I've found a mod and I'm trying to update it
from 1.6.4 -> 1.8
L2725[15:23:54] <Rushmead> Example?
L2726[15:24:20] <Gene> I think I'm about
70% done.. ran into something with attackTime.. trying to google
for information for about a day now
L2727[15:24:43] <ThePsionic>
williewillus: Oh Soni
L2728[15:24:44] <ThePsionic> yeah
L2729[15:24:51]
⇦ Quits: Jezza (~Jezza@185.44.151.55) (Killed (NickServ
(GHOST command used by Jezza_)))
L2730[15:24:56] <ThePsionic> (He's in
here you know)
L2732[15:24:58] <Gene> thanks for the
help
L2733[15:25:00] <williewillus> I
know
L2734[15:25:04] <williewillus> Thanks for
the ping
L2735[15:25:14] <ThePsionic> whoops
L2736[15:25:24]
⇨ Joins: Jezza (~Jezza@185.44.151.55)
L2737[15:25:46] <williewillus> Rushmead:
see ModelHandler (it's a mess right now and will be cleaned
up)
L2738[15:26:49] <Nitrodev> wow this is
great
L2739[15:26:59] <williewillus> what
is?
L2740[15:27:33] <Nitrodev> the fact that
either no one knows how to fix my peoblem or everyone ignores
me
L2741[15:27:43] <williewillus> sarcasm
isn't going to help it
L2742[15:27:57] <Nitrodev> ...
L2743[15:28:00] <williewillus> are you
trying to work on it or are you just sititng waiting for help?
:P
L2744[15:28:01] <Nitrodev> still
L2745[15:28:10] <Nitrodev> trying to work
with it ofc
L2746[15:28:18] <Nitrodev> on it*
L2747[15:28:38] <williewillus> any new
findings? I don't think I read your original problem either, what's
wrong?
L2748[15:29:31] <Rushmead> Williewillus,
where is the ModelHandler?
L2749[15:29:51] <williewillus>
botania.core.client.handler
L2751[15:30:19]
⇦ Quits: Gene (~Gene@2601:985:4100:fbe0::1) (Quit:
Leaving)
L2752[15:30:32] <Nitrodev> it leaves both
the items in the crafting invnot just the itemSaw
L2753[15:31:27] <diesieben07>
attemptDamageItem is for damaging tools.
L2754[15:31:32] <diesieben07> not
decreasing stack size
L2755[15:31:48] <diesieben07> i don't see
why you need a custom recipe for this at all
L2756[15:31:48] <Nitrodev> i know
L2757[15:31:58] <Nitrodev> to do damage
to itemSaw
L2758[15:32:05] <Nitrodev> after it is
crafted
L2759[15:32:08] <diesieben07>
getContainerItem in the Item class
L2760[15:32:12] <Nitrodev> after used in
crafting*
L2761[15:32:13] <diesieben07> &
hasContainerItem
L2762[15:32:58] <Nitrodev> really
L2763[15:33:07] <Nitrodev> i was told to
use IRecipe
L2764[15:33:30] <diesieben07> that's a
shame.
L2765[15:33:31] <laci200270> can I use
glVertex2f in TESRs?
L2766[15:34:15] <williewillus> you can do
wahtever the crap you want in tesrs :p
L2767[15:34:24] <Nitrodev> if i remember
correctly it was ghz|afk who said to use IRecipe
L2768[15:34:37] <Nitrodev> bug him when
he comes back
L2769[15:35:22]
⇦ Quits: Zaggymobile (~Zaggy1024@174-20-13-82.mpls.qwest.net)
(Ping timeout: 186 seconds)
L2770[15:35:46] ***
ghz|afk is now known as gigaherz
L2771[15:35:48] <gigaherz> back
L2772[15:35:51] <gigaherz> [22:31]
(diesieben07): i don't see why you need a custom recipe for this at
all
L2773[15:35:52] <gigaherz> what
else?
L2774[15:36:05] ***
kroeser is now known as kroeser|away
L2775[15:36:25] <gigaherz> the
alternative is handling the global crafting event and if it happens
to be your recipe, you force the item back into the crafting
table
L2776[15:36:29] <gigaherz> which seems
like a ugly hack to me
L2777[15:36:45] <gigaherz> if there's a
third way, I'm not aware of it so I couldn't possibly recommend
it
L2778[15:37:27] <Nitrodev> diesieben07,
said something like getContainerItem and hasContainerItem
L2779[15:37:31]
⇦ Quits: Jezza (~Jezza@185.44.151.55) (Read error: Connection
reset by peer)
L2780[15:38:04] <gigaherz> never heard
about that before
L2781[15:38:27] <Nitrodev> well he said
it
L2782[15:38:34] <gigaherz> yes
L2783[15:38:38] <gigaherz> I'm not
presuming to know everything
L2784[15:38:57] <gigaherz> and I'm truly
sorry if I gave a wrong suggestion
L2785[15:38:58] <Nitrodev> okay
L2786[15:39:04] <gigaherz> still, it
never hurts to learn ;P
L2787[15:39:06] <Nitrodev> no idea if you
did or not
L2788[15:39:10] <Nitrodev> yeah
L2789[15:39:23] <Nitrodev> but the code i
have here doesn't work
L2791[15:39:38] <masa> Nitrodev: oh btw,
I might have something for you to try in the current IRecipe system
still
L2792[15:39:46] <Nitrodev> oh?
L2793[15:40:06] <masa> you seem to have
changed it to: ItemStack[] result = new ItemStack[4];
L2794[15:40:15] <masa> that won't work in
a 3x3 crafting grid
L2795[15:40:34] <masa> try ItemStack[]
result = new ItemStack[inv.getSizeInventory()];
L2796[15:40:37] <Nitrodev> so that owrks
ONLY in inv crafting?
L2797[15:41:14] <masa> well that will
return a 4 element array, which causes the onPickupFromSlot() to
only handle the first 4 slots of ANY crafting grid, so any items
beyond that will remain on the grid
L2798[15:41:15] <gigaherz> yeah your
output needs to be as big as the input grid
L2799[15:41:33] <gigaherz> I was going to
suggest the same masa did
L2800[15:41:52] <masa> I even had the
getSizeInventory() in my example I believe
L2801[15:42:23] <Nitrodev> works
L2802[15:42:59]
⇨ Joins: Hassan
(~Hassan@pool-173-79-220-242.washdc.fios.verizon.net)
L2803[15:43:04] <Nitrodev> now i believe
to add the maxuses i need to modify the item class itself?
L2804[15:43:37] <masa> but yeah, another
way to do this is to define your saw item to have a container item,
and then return an itemstack from the getContainerWhatever that has
one less durability left than the stack that is given to it,
assuming you want to reduce the durability by one each time
L2805[15:43:39] <gigaherz> Ah I see
L2806[15:43:54] <gigaherz> diesieben07's
suggestion is really the better one
L2807[15:44:03] <Nitrodev> oh
L2808[15:44:12] <gigaherz> his method
would be:
L2809[15:44:22] <gigaherz> 1. you
register a standard shapeless recipe
L2810[15:44:22] <diesieben07> because if
oyu have a custom IRecipe you need handlers for NEI and stuff
L2811[15:44:27] <diesieben07> or they
won't show your recipe
L2812[15:44:32] <gigaherz> 2. in your
Item class,
L2813[15:44:39] <gigaherz> you override
the getContainerItem method
L2814[15:44:48] <gigaherz> the one WITH
the ItemStack
L2815[15:44:50] <gigaherz> and in
that
L2816[15:44:56] <gigaherz> you cope the
provided itemstack
L2817[15:44:58] <Nitrodev> so the IRecipe
can go away then?
L2818[15:45:00] <gigaherz> and damage
it
L2819[15:45:01]
⇦ Quits: HassanS6000
(~Hassan@pool-173-79-220-242.washdc.fios.verizon.net) (Ping
timeout: 190 seconds)
L2820[15:45:08] <gigaherz> like you do in
the remaining items stuff
L2821[15:45:11] <gigaherz> but just for
the one item you need
L2822[15:45:16] <gigaherz> and yes
L2823[15:45:26] <gigaherz> the IRecipe
wouldn't be necessary anymore
L2824[15:45:33] <gigaherz> although I
suggestyou keep it around for future reference
L2825[15:45:37] <gigaherz> maybe commit
first
L2826[15:45:38] <gigaherz> before
deleting
L2827[15:45:39] <Temportalist> Anyone
interested in doing some sonic screwdriver textures?
L2828[15:45:47] <gigaherz> so you know
it's in an older commit
L2829[15:46:10] <masa> I have my
collection of random code snippets as separate files in dropbox
:p
L2830[15:46:13] <gigaherz> copy**
L2831[15:46:25] <gigaherz> masa: why not
gist? ;P
L2832[15:46:27] <laci200270> how can I
rotate something countinously towards to the player?
L2833[15:46:38] <gigaherz> laci200270:
entity?
L2834[15:46:44] <laci200270> circle
L2835[15:46:48] <gigaherz> I mean
L2836[15:46:53] <laci200270> tesr
L2837[15:46:53] <gigaherz> is this from
an entity renderer?
L2838[15:46:58] <gigaherz> aha
L2839[15:47:00] <Nitrodev> well i'm
grabbing the IRecipe from my repo and storing it somewhere
L2840[15:47:02] <gigaherz> I'm not fully
certain about the TESR
L2841[15:47:09] <masa> right... well that
would be nice if I could organize them so tht they aren't all just
slammed in a big honking list on the "front page"
:p
L2842[15:47:11] <gigaherz> but there's an
example of how to orient toward the player in the
L2843[15:47:14] <gigaherz>
RenderSnowball
L2844[15:47:19] <laci200270> thx
L2845[15:47:24] <gigaherz> maybe you can
make use of it somehow
L2846[15:47:39] <gigaherz> masa: I
see
L2847[15:47:45] <Soni> williewillus, I'm
not a moron it's a planned trajectory compatibility
L2848[15:47:56] <williewillus> I'm not
the person to ask
L2849[15:47:58] <Soni> williewillus,
amadornes is gonna add it whether you like it or not
L2850[15:47:58] <williewillus>
period
L2851[15:47:59] <gigaherz> masa: then
maybe an actual github repository that you edit from the web
interface would do
L2852[15:48:00] <gigaherz> XD
L2853[15:48:17] <gigaherz> it has the
"new file" and "edit" buttons
L2854[15:48:18] <gigaherz> ;P
L2855[15:48:21] <williewillus> I hate
that "whether you like it or not" attitude. I said go ask
upstream so just go away
L2856[15:48:27] <williewillus> go. ask.
upstream.
L2857[15:48:31] <Soni> williewillus, I
can't ask upstream!
L2858[15:48:35] <williewillus> and why is
that?
L2859[15:48:46]
⇦ Quits: Poppy (~Poppy@chello085216146055.chello.sk) (Ping
timeout: 190 seconds)
L2860[15:48:47] <Soni> because I made
stupid puns in upstream
L2861[15:48:51] <amadornes> I'm doing
what?
L2862[15:49:03] <diesieben07> "I
have been a dick to other people so now you need to listen to me
being a dick because I say so!"
L2863[15:49:17] <amadornes> Soni, what am
I adding to Trajectory...?
L2864[15:49:17] <laci200270> should I use
GLStateManager instead of GL11?
L2865[15:49:24] <Soni> amadornes, adding
mana spreader rotation
L2866[15:49:27] <gigaherz> laci200270:
yes, whenever possible
L2867[15:49:30] <amadornes> oh
L2868[15:49:31] <laci200270> ok
L2869[15:49:33] <gigaherz> it will avoid
unnecessary state changes
L2870[15:49:48] <williewillus> gigaherz:
does calling the same GL11 actually make things slwoer though
:p
L2871[15:49:51] <amadornes> I'm trying to
add support for as many blocks from as many mods as possible
L2872[15:49:59] <gigaherz> williewillus:
yes, when done often enough
L2873[15:50:06] <amadornes> so mana
spreaders will probably be supported, yes
L2874[15:50:08] <gigaherz> explicit state
changes are one of opengl's biggest flaws
L2875[15:50:10] <williewillus> amadornes:
i know, that's all good, but I'm not the one to ask about adding
support for rotateBlock
L2876[15:50:24] <amadornes> oh, I
know
L2877[15:50:25] <amadornes> I
didn't
L2878[15:50:33] <amadornes> it's Soni
that's asking everybody >.<
L2879[15:50:40] <gigaherz> every state
change potentially causes the driver to rebuild the fixed-pipeline
emulation shaders
L2880[15:50:48] <gigaherz> the driver has
to do extra work to cache the changes
L2881[15:50:50] <williewillus> gigaherz:
i understood some of that :p
L2882[15:51:03] <amadornes> he has
nothing to do with me or the mod, I have a separate mod that adds
support for blocks that don't use rotateBlock :P
L2883[15:51:04] <gigaherz> to the less
changes you do from your side, the less work you give the
driver
L2884[15:51:19] <williewillus> amadornes:
how is the micropart system going?
L2885[15:51:29] <amadornes> pretty
well
L2886[15:51:31] <Nitrodev> wait but how
will i write the wooden slab to the shapeless recipe if i want the
slab to be of ANY wood
L2887[15:51:41] <williewillus> Nitrodev:
oredict recipe
L2888[15:51:42] <amadornes> asie got
Charset completely ported over and started working on the gates
today
L2889[15:51:45] <diesieben07> Nitrodev,
ShapedOreRecipe
L2890[15:51:45] <gigaherz> Nitrodev:
welcome to the world of ore dictionary
L2891[15:51:46] <Rushmead> Todays work -
Update from 1.7.10 to 1.8.8, Convert all models to JSON,
Blockstates.
http://imgur.com/a/Q1kck Im Super Duper
Happ
L2892[15:51:47]
⇦ Quits: Elec332 (~Elec332@ip5456d4a5.speed.planet.nl) (Ping
timeout: 195 seconds)
L2893[15:51:49] <Rushmead> Happy*
L2894[15:52:06] <williewillus>
awesome
L2895[15:52:07] <gigaherz> instead of the
slab itself, you use the oredict name for the slab
L2896[15:52:14] <gigaherz> which may be
something like "slabWood"
L2897[15:52:25] <gigaherz> (you needto
verify, I don't know them from memory!)
L2898[15:52:41] <williewillus> or that
random useless oredict page on the wiki form 2012 lol
L2900[15:53:13] <amadornes> those are the
features I've been working on today :P
L2901[15:53:35] <Nitrodev> so the thing i
put on ItemSTack() would be Oredictionary.getOreID?
L2902[15:53:37] <Rushmead> Think im going
to have to hook my mod into the Multipart system
L2903[15:53:45] <williewillus> Ive been
doubling down on botania, i want to release an alpha on new years
:p
L2904[15:53:46] <Rushmead> I want
redstone wires EVERYWHERE
L2905[15:53:54] <diesieben07> Nitrodev,
no. you would not use an ItemStack, you would use the String
"slabWood"
L2906[15:53:58] <Rushmead> oh and my own
DMX and XLR Cables :P
L2907[15:54:51] <gigaherz> Nitrodev: look
for tutorials
L2908[15:54:52] <gigaherz> ;P
L2909[15:54:52] <Rushmead> Right im
off.
L2910[15:54:55] <Rushmead> Thanks to
everyone for the help
L2911[15:54:58] <Nitrodev> i think i got
it
L2912[15:55:02] <Rushmead> Keep up the
good work amadornes <3
L2913[15:55:12] <Nitrodev> Bye
Rushmead
L2914[15:55:12] <amadornes> oh,
williewillus: we have a channel now, #MCMultiPart :P
L2915[15:55:16] <williewillus> yay
L2916[15:55:18] <amadornes> cya Rush
o/
L2917[15:55:31] <Rushmead> o/
L2918[15:55:47] <gigaherz> amadornes:
that looks nice
L2919[15:55:54] <gigaherz> is that
1.8.x?
L2920[15:55:58] <amadornes> yup
L2921[15:56:02] <gigaherz> ^_^
L2922[15:56:18] <PaleoCrafter> and it
doesn't have forge in its name :D
L2923[15:56:26] <gigaherz> yeh XD
L2924[15:56:38] <amadornes> yeah
^.^
L2925[15:56:47] <gigaherz> hopefully it's
less annoying to use than the chisels&bits
L2926[15:56:57] <gigaherz> which as nice
as it is, it's a pain to use
L2927[15:56:58] <gigaherz> XD
L2928[15:57:03] <williewillus> hopefully
its faster thanks to baking/multithreaded wr
L2929[15:57:09] <williewillus> 1.7-
microparts were godawful
L2930[15:57:18] <amadornes> C&B is
actually getting support for it right now
L2931[15:57:19] <williewillus> slow ,that
is
L2932[15:57:23] <amadornes> Algo is
already working on it :P
L2933[15:57:29] <gigaherz> heh
L2934[15:57:54] <amadornes> but
MCMicroBlock is going to add all the microblocks we all know and
love :P
L2935[15:58:01] <gigaherz> yay ^_^
L2936[15:58:02] <amadornes> plus a few
others, actually
L2937[15:58:13]
⇨ Joins: Zaggymobile
(~Zaggy1024@c-24-118-178-13.hsd1.mn.comcast.net)
L2938[15:58:16] <masa> c&b is getting
support for what?
L2939[15:58:17] <gigaherz> btw you showed
lots of stone in the vid
L2940[15:58:20] <amadornes> fences, walls
and "wire covers"
L2941[15:58:22] <Nitrodev> what mc
classes use the getContainerItem method
L2942[15:58:22] <sham1>
microblocks!?
L2943[15:58:27] <williewillus> masa: 1.8
microblock api
L2944[15:58:30] <gigaherz> but is there
any plans to allow complex layering like C&B does?
L2945[15:58:48] <amadornes> you'll be
able to do that with C&B directly, gigaherz :P
L2946[15:58:53] <gigaherz> nice :D
L2947[15:59:02] <amadornes> yup,
microblocks, sham1 ;)
L2948[15:59:32] <amadornes> since they'll
be microblocks you'll be able to place other stuff in the same
block
L2949[15:59:41] <sham1> I know what they
are
L2950[15:59:44] <amadornes> so hiding
cables and decorating will be a lot nicer
L2951[15:59:47] <gigaherz> hmmm
L2952[15:59:51] <Nitrodev> hello?
L2953[15:59:52] <amadornes> I was telling
gigaherz :P
L2954[15:59:55] <amadornes> hey Nitrodev
o/
L2955[15:59:57] <sham1> for 1.9?
L2956[15:59:58] <gigaherz> now I'm
wondering how annoying would it be to add microblock doors
L2957[15:59:59] <gigaherz> ,P
L2958[16:00:02] <Temportalist> amadornes
that looks great!
L2959[16:00:03] <Nitrodev> what mc
classes use the getContainerItem method?
L2960[16:00:07] <amadornes> 1.8.8,
sham1
L2961[16:00:11] <sham1> oh good
L2962[16:00:13] <Nitrodev> so i can get
the method
L2963[16:00:22] <gigaherz> Nitrodev: it's
used by vanilla recipes, but you override it in your Item
class
L2964[16:00:25] <sham1> I do not actually
need to make my own cover system for my pipes
L2965[16:00:27] <sham1> Thank god
L2966[16:00:27] <amadornes> thanks,
Temportalist :D
L2967[16:00:43] <gigaherz> Nitrodev: if
you use IDEA
L2968[16:00:45] <Nitrodev> gigaherz, but
IDEA needs me to actually write it down
L2969[16:00:50] <gigaherz> use
ctrl-shift-o
L2970[16:00:54] <gigaherz> and select if
from the list
L2971[16:00:56] <Temportalist> I'll be
updating soon, but I want to finish my sonic screwdriver
first.
L2972[16:01:11] <sham1> how ready is this
microblock mod
L2973[16:01:28] <Nitrodev> ctrl-shifht-o
doesn't do anything
L2974[16:01:33] <gigaherz> Nitrodev: in
your item class
L2975[16:01:37] <gigaherz> hmm
L2976[16:01:38] <gigaherz> wait
L2977[16:01:40] <Nitrodev> im
trying
L2978[16:01:44] <gigaherz> I have my
keymap changed
L2979[16:01:47] <Rushmead> Ctrl O
L2980[16:01:47] <gigaherz> to Visual
studio style
L2981[16:01:53] <Rushmead> Its Ctrl
O
L2982[16:01:57] <gigaherz> nevermind
don't trust my keybinds
L2983[16:02:01] <sham1> you and your
VS
L2984[16:02:03] <gigaherz> ctrl-o for me
is "open" ;P
L2985[16:02:13] <Rushmead> Oh yeah
L2986[16:02:17] <gigaherz> sham1: I like
my F10/F11 for debugging
L2987[16:02:17] <gigaherz> ;P
L2988[16:02:24]
⇦ Quits: Drullkus
(~Drullkus@2601:646:8301:8947:d5c8:4fa9:5d91:7afa) (Remote host
closed the connection)
L2989[16:02:31] <Rushmead> Its ctrl shift
o
L2990[16:02:35] <amadornes> the
microblock mod is half-done, but the multipart API is pretty much
ready to be used, sham1
L2991[16:03:01] <sham1> amadornes, does
it have a maven or something or do I just have to download the API
source to add it to myself
L2992[16:03:16] <amadornes> right now
it's just on github
L2993[16:03:22] <amadornes> and there are
no compiled versions available
L2994[16:03:32] <amadornes> but I'm
hoping it'll be ready by new year
L2995[16:03:47] <gigaherz> woudl be nice
of curse had a maven interface for accessing project jars
L2996[16:03:48] <gigaherz> ;P
L2997[16:03:52] <gigaherz>
curseforge*
L2998[16:03:59] <Nitrodev> gigaherz, cope
the current itemstack
L2999[16:04:00] <Nitrodev> ???
L3000[16:04:06] <sham1> I'd suggest
getting a maven for it so it can be added as an easy gradle
dependency
L3001[16:04:06] <gigaherz> Nitrodev:
copy**
L3002[16:04:08] <Nitrodev> the what
now
L3003[16:04:21] <gigaherz> Nitrodev: what
you did in the IRecipe!
L3004[16:04:24] <gigaherz>
stack.copy()
L3005[16:04:36] <amadornes> people have
already reverse-engineered it, gigaherz
L3006[16:04:36] <gigaherz>
stac.damagewhatever
L3007[16:04:55] <gigaherz> amadornes:
what?
L3008[16:04:57] *
Nitrodev is confused
L3009[16:04:57] <amadornes> I know
somebody had maven-like access to it working
L3010[16:05:08] <gigaherz> someone made a
maven-curseforge bridge?
L3011[16:05:14] <amadornes> I *think*
so
L3012[16:05:20] <gigaherz> o_O
L3015[16:06:30] <gigaherz> this bit
L3016[16:06:34] <gigaherz> just instead
of writing to an array
L3017[16:06:43] <gigaherz> you store it
ina variable and return the result
L3018[16:06:48] <gigaherz> in a*
L3019[16:07:11] <gigaherz> get the input,
copy, and apply damage
L3020[16:07:47] <Nitrodev> but what do i
add to the place of stack
L3021[16:07:54] <gigaherz> what?
L3022[16:08:08] <Nitrodev> line 61
L3023[16:08:19]
⇦ Quits: MattDahEpic
(~MattDahEp@75-166-140-155.hlrn.qwest.net) (Quit: sleep, school, or
food)
L3024[16:08:29] <gigaherz> ItemStack
newStack = itemStack.copy()
L3025[16:08:43] <gigaherz> then use
newStack instead of result[i]
L3026[16:08:54] <gigaherz> and return
newStack
L3027[16:10:21] <Nitrodev> itemStack
being a parameter?
L3028[16:10:33] <gigaherz> is it
not?
L3029[16:10:45] <falkreon> wat
L3030[16:10:53] <falkreon> gigaherz, the
method signature is ItemStack[]
L3031[16:11:08] <gigaherz> public
ItemStack getContainerItem(ItemStack itemStack)
L3032[16:11:10] <Nitrodev> that is for an
array isn't it?
L3033[16:11:18] <falkreon> what?
L3034[16:11:19] <gigaherz> there's no
arrays there
L3035[16:11:19] <gigaherz> XD
L3036[16:11:31] <gigaherz> falkreon:
diesieben07 told us of a better way to do the same
L3037[16:11:38] <gigaherz> there's a
method in Item
L3038[16:11:39] <Nitrodev> oh yeah sorry
the itestack had a different name here
L3039[16:11:48] <falkreon> in Item?
L3040[16:11:51] <gigaherz> yup
L3041[16:11:53] <falkreon> hmm
L3042[16:11:58] <Nitrodev> one of thos
p_add random numbers
L3043[16:12:01] <gigaherz> it lets you
choosewhat your item does after it's used in recipes
L3044[16:12:05] <gigaherz> the original
is designed for buckets
L3045[16:12:08] <falkreon> ehh
L3046[16:12:09] <gigaherz> the buckets
are containers
L3047[16:12:18] <gigaherz> so they choose
to leave their "empty version" in the grid
L3048[16:12:26] <gigaherz> in the case of
Nitrodev
L3049[16:12:34] <gigaherz> he can use the
same method to return a modified ItemStack
L3050[16:13:03] <falkreon> problem with
that is if you want to inflict different amounts of dura based on
the size of the recipe, but I guess that works
L3051[16:13:15] <gigaherz> yeah than you
have "special needs"
L3052[16:13:19] <gigaherz> so you need a
special recipe
L3053[16:13:19] <gigaherz> ;P
L3054[16:13:22] <falkreon> I always have
special needs
L3056[16:13:29] <gigaherz> but in the
case of Nitrodev
L3057[16:13:31] <falkreon> short bus,
etc.
L3058[16:13:34] <gigaherz> the less code,
the less confused he is
L3059[16:13:34] <gigaherz> ;P
L3060[16:13:40] <falkreon> true
L3061[16:15:14] <masa> Nitrodev: and then
in your item constructor, add a call to this.setmaxDamage(1234);
with the durability you want for the saw
L3062[16:16:25] <gigaherz> oh right
there's a hasContainerItem too
L3063[16:16:26] <gigaherz> XD
L3064[16:16:58] <Nitrodev> item
constructor being the place you put the setcreativetab etc
right?
L3065[16:16:58] <masa> that one could
probably just be always true though
L3066[16:17:17] <falkreon> Nitrodev, yes,
the same.
L3067[16:17:47] <laci200270> how can I
make a floating circle?
L3068[16:17:52] <laci200270> above a
TESR?
L3069[16:17:59] <laci200270> which faces
to player
L3070[16:18:11] <williewillus> check out
how rendersnowball billboards
L3071[16:18:12] <masa> which player?
:p
L3072[16:18:28] <laci200270> I have
checked it
L3073[16:18:31] <Nitrodev> now the
problem is the oredict
L3074[16:18:37] <laci200270> mase the
actual player
L3075[16:18:40] <falkreon> oredict is
never a problem
L3076[16:18:42] <falkreon> :D
L3077[16:18:50] <falkreon> what do you
need to check
L3078[16:19:03] <falkreon> for the wood
slab?
L3079[16:19:12] <Nitrodev> if i want to
assign the oredict wooden slab to a varialbe what do i need to
add
L3080[16:19:15] <Nitrodev> any wooden
slab
L3082[16:19:33] <falkreon> oredict will
give you an ItemStack[] of slab kinds, if you ask it
L3083[16:19:52] <falkreon> masa, he's got
a custom IRecipe, it won't work
L3084[16:20:02] <masa> umm, he shouldn't
have anymore?
L3085[16:20:23] <falkreon> oh, right,
he's not setting the output to anything special
L3086[16:20:26] <masa> it got replaced by
the container item stuff
L3087[16:20:33] <falkreon> yeah, change
it into a shapelessOreRecipe
L3088[16:20:37] <falkreon> and pass in a
String.
L3089[16:21:20] <laci200270> when I use
GlStateManager.translate(x, y,0); it moves along with the
player
L3090[16:21:34] <falkreon> yeah, coords
by default are in playerspace when you're in a tesr
L3091[16:21:58] <falkreon> but the block
coords it gives you, those are also in eye-space
L3092[16:22:12] <falkreon> I think?
L3093[16:22:19] <Nitrodev> by default
does the Blocks.wooden_slab mean the oak slab?
L3094[16:22:30] <falkreon> Nitro, sort
of
L3095[16:22:37] <laci200270> but
GlStateManager.translate(te.getPos().getX(),
te.getPos().getY(),te.getPos().getZ()); doesn't render
anything
L3096[16:22:42] <falkreon> one sec, let
me look up the oredict name
L3097[16:22:49] <falkreon> slabWood
probably, but I'll check
L3099[16:23:25] <SmashShock> Hi everyone,
I'm using §2 to change the color of a player.addChatMessage(new
ChatComponentText("")); message to the player. Any reason
that this works until it's made into a jar?
L3100[16:23:25] <falkreon> I love this
tool btw
L3101[16:23:30] <Nitrodev> okay the
recipe works once then it doesn't want to craft
L3102[16:23:46] <falkreon> SmashShock:
you're supposed to set the EnumChatFormatting instead these
days
L3103[16:24:15] <SmashShock> Ha, the
second you said that I just found that in the docs
L3104[16:24:19] <falkreon> :D
L3105[16:24:23] <SmashShock> Thanks
falkreon
L3106[16:24:58] <Nitrodev> falkreon, a
shapelessOreRecipe how do i change the recipe to that
L3107[16:25:09] <Nitrodev> the
GameRegistry doesnt add that
L3108[16:25:26]
⇦ Quits: Cojo (~Cojo@cpe-174-109-251-46.nc.res.rr.com) (Ping
timeout: 190 seconds)
L3109[16:25:31] <falkreon>
GameRegistry.addRecipe
L3110[16:25:37] <falkreon> takes any
IRecipe
L3111[16:25:44] <falkreon>
ShapelessOreRecipe is a kind of IRecipe
L3112[16:26:19] <Nitrodev> any
examples
L3113[16:26:33] <falkreon> masa linked
you over to a bunch of them\
L3114[16:26:39] <SmashShock> One more
question, do you need to use NBT to add a tooltip to a block?
L3115[16:26:58] <falkreon> nope.
L3116[16:27:09] <falkreon> You need to do
that from your particular ItemBlock
L3117[16:27:29] <falkreon> it's pretty
easy to miss that the GameRegistry can take 3 args instead of 2
there
L3118[16:27:50] <falkreon> stick an
ItemBlock class in the middle to use for that Block
L3119[16:28:07] <falkreon> erm, for the
block registration
L3120[16:28:22]
⇨ Joins: Cojo
(~Cojo@cpe-174-109-251-46.nc.res.rr.com)
L3121[16:28:22] <masa> Nitrodev: you mean
it doesn't accept the saw once it takes damage? then you need to
change the recipe so that the ItemStack of the saw you give it has
the wildcard value as the damage value
L3122[16:28:51] <falkreon> there's a
static field in either ItemStack or OreDictionary with the wildcard
value, sec
L3123[16:29:05] <Nitrodev> in the item
class? masa
L3124[16:29:08] <masa> ie. new
ItemStack(ModItems.itemSaw, 1, OreDictionary.WILDCARD_VALUE) or
something along those lines
L3125[16:29:26] <falkreon> yep masa's got
it. OreDictionary.WILDCARD_VALUE
L3126[16:29:28] <masa> well wherever you
register the recipe
L3127[16:29:43] <falkreon> yeah, don't
register the recipe in your item class.
L3128[16:29:47] <falkreon> that would be
a mess.
L3129[16:30:12] <falkreon> for a recipe
it should probably be somewhere in Init
L3130[16:30:38] <falkreon> brb
coffee
L3131[16:31:21] <ThePsionic> falkreon:
cup + coffee beans + hot water
L3132[16:31:25] <ThePsionic> yet another
recipe ;)
L3133[16:31:34] <ThePsionic> (milk/sugar
optional)
L3134[16:31:40] <williewillus> i have
been porting nonstop for the last week, perhaps I should take a
break and actually play >.>
L3135[16:31:48] <falkreon> back
L3136[16:31:56]
⇦ Quits: Zaggymobile
(~Zaggy1024@c-24-118-178-13.hsd1.mn.comcast.net) (Read error:
Connection reset by peer)
L3137[16:32:15] <masa> williewillus: nah
to olate for that, once you start modding, you stop playing, glhf
:p
L3138[16:32:16] <ThePsionic> same
williewillus
L3139[16:32:21]
⇨ Joins: Zaggymobile
(~Zaggy1024@c-24-118-178-13.hsd1.mn.comcast.net)
L3140[16:32:24] <falkreon> nah, I used
the shapeless UniversalCarafeFluidCell + CoffeeCup recipe
L3141[16:32:26] <ThePsionic> altho i'm
playing gta online atm
L3142[16:32:30] <ThePsionic> so i can't
complain
L3143[16:32:32] <masa> I haven't played
modded in almost a year
L3144[16:32:44] <ThePsionic> masa: then
what are you doing here
L3145[16:32:46] <ThePsionic> gtfo
L3146[16:32:50] <masa> mods are
boring
L3147[16:32:51] <falkreon> sometimes that
recipe's inefficient, you lose some mats in the transition, but the
coffee is delicious
L3148[16:32:52] <ThePsionic> (jk
ily)
L3149[16:32:52] <masa> :D
L3150[16:33:12] <Nitrodev> works
L3151[16:33:31] <Nitrodev> now i gotta
remember what i was gonna add next
L3152[16:33:32] <masa> but seriously
though, I've lost interest in playing with mods, they make the game
"too easy" and I don't feel like doing anything :/
L3153[16:33:39] <falkreon> agreed.
L3154[16:33:42] <falkreon> but
L3155[16:33:42] <Nitrodev> too
easy?
L3156[16:33:46] <ThePsionic> falkreon:
For an extra touch, placing a pumpkin with some sugar in a crafting
grid makes pumpkin spice
L3157[16:33:51] <falkreon> I'm playing
with a group that likes pain
L3158[16:33:59] <ThePsionic> you can
craft that together with coffee and milk to make a pumpkin spice
latte
L3159[16:34:06]
⇦ Quits: Cojo (~Cojo@cpe-174-109-251-46.nc.res.rr.com) (Ping
timeout: 192 seconds)
L3160[16:34:13] <falkreon> so we've
disabled all the solar power and all the gliders
L3161[16:34:15] <Nitrodev> i would want
to play the new ftb infinity evolved pack but my cpu says no
L3162[16:34:16] <falkreon> all
tesseracts
L3163[16:34:29] <falkreon> I ripped the
roof off the nether and replaced the lava with liquid pain
L3164[16:34:41] <falkreon> so we're
playing on a server where it's *really* hard to generate
power
L3165[16:34:46] <falkreon>
comparitively
L3166[16:34:47] <Nitrodev> before my cpu
was fine now it spikes to 100 when opening chrome
L3167[16:34:51] <masa> my current mc
project (on hold for a few months while I've been playing terraria
instead) are mod farms in vanilla, both of them require me to dig
out a few million blocks manually, fun times :p
L3168[16:34:53] <falkreon> oh, we also
have no auto-treefarm
L3169[16:34:54] <Nitrodev> not sure if it
did before
L3170[16:35:07] <falkreon> Might be
possible with thaum, but we're kind of iffy on that mod in the
first place
L3171[16:35:38] <masa> s/mod/mob/
L3172[16:35:51]
⇦ Quits: Hassan
(~Hassan@pool-173-79-220-242.washdc.fios.verizon.net) (Ping
timeout: 190 seconds)
L3173[16:35:57] <falkreon> so, in
conclusion: No solar, finite lava gen, finite coal/charcoal, finite
oil/fuel
L3174[16:35:59] <falkreon> etc etc
L3175[16:36:16] <falkreon> botania tier 1
decay enabled
L3176[16:36:31] <falkreon> it's important
to get away from the first-order optimizations
L3177[16:36:34] <Nitrodev> tier 1?
L3178[16:36:40] <falkreon> tier 1 as in
passive generation
L3179[16:36:42] <masa> botania
decay?
L3180[16:36:44] <williewillus> masa: even
design-oriented stuff like botania? :p
L3181[16:37:14] <williewillus> re: stuff
is too easy in modded :p
L3182[16:37:18] <falkreon> masa, the
default config for botania is for dayblooms to die after a certain
amount of time
L3183[16:37:29] <falkreon> most people
turn that off instantly
L3184[16:37:35] <falkreon> as such
botania plays all weird
L3185[16:37:49] <falkreon> lots of people
just make more dayblooms
L3186[16:37:56] <masa> well, I built my
first proper base with automation (AE + TE + IC2) in FTB Unleashed
(aka 1.5.2), and after that I haven't felt like doing the same
stuff again...
L3187[16:38:01] <falkreon> ugh
L3188[16:38:09] <falkreon> I hate
waitcraft (AE)
L3189[16:38:15] <gigaherz> I haven't
played botania since they added that
L3190[16:38:23] <falkreon> "since
they added that"
L3191[16:38:25] <falkreon> no
L3192[16:38:35] <williewillus> since they
removed the incentive to sit on tier 1 stuff forever :p
L3193[16:38:35] <gigaherz> ?
L3194[16:38:55] <gigaherz> well if it
existed before the original FTB Infinity pack
L3195[16:39:15] <gigaherz> no one spoke
about it until some months AFTER I finished my playthrough of that
pack
L3196[16:39:30] <gigaherz> or maybe it
was that they removed the "off" setting?
L3197[16:39:31] <gigaherz> anyhow
L3198[16:39:34] <masa> I did play some
1.6.4 dw20, but didn't even have a proper base in that yet, and in
1.7.10 I made my own pack, but there my "base" was left
to a minimum sized bi greactor with one pulverizer and one furnace
before I stopped playing that :p
L3199[16:39:46] <gigaherz> it was grindy
enough for me with that off
L3200[16:39:56] <gigaherz> I'm not really
interested in crafting the same shit over and over
L3201[16:40:27] <williewillus> you're
supposed to automate it then :p
L3202[16:40:31] <gigaherz> sure
L3203[16:40:43] <gigaherz> but by then
I'm already bored
L3204[16:40:46] <gigaherz> like IC2
L3205[16:40:49] <gigaherz> I tried to
play once
L3206[16:40:57] <Nitrodev> i think i just
made a decent looking texture for the saw
L3207[16:40:58] <masa> so yeah sure, I
like to build fully automated and self-sustaining systems, but I
haven't had the real motivation, and perhaps more important,
enaough extra/free time to play modded anymore
L3208[16:41:05] <gigaherz> didn't know
things truly break when you try to mine them without the right
tool
L3209[16:41:19] <gigaherz> so when I
played the first machine slightly wrong
L3210[16:41:25] <gigaherz> I tried to
move it to the right block
L3211[16:41:31] <gigaherz> and it undid
half of the progress I had in that pack
L3212[16:41:34] <gigaherz> so I went
"fuck this"
L3213[16:41:42] <masa> :D
L3214[16:41:59] <gigaherz> (no I did not
have the materials to rebuild it, Id' have neededto do another
mining session)
L3215[16:42:00] <falkreon> heh
L3216[16:42:29] <williewillus> to be fair
my last big modde world was ultimate
L3217[16:42:39] <williewillus> the only
other world I keep playing is my first vanilla world
L3218[16:42:44] <falkreon> yeah, we've
evolved a lot of strange shared mechanics
L3219[16:42:59] <falkreon> like this idea
that every energy should get converted to every other
L3220[16:43:21] <masa> I spent many
hunderds of hours in ftb ultimate manually breeding bees
L3221[16:43:25] <sham1> Can anyone
recommend a good hex editor
L3222[16:43:37] <masa> hexcurse... maybe
not
L3223[16:43:39] <falkreon> yesssss
bees
L3224[16:43:58] <falkreon> bees are the
best thing in forestry
L3225[16:44:07] <gigaherz> ugh bees
L3226[16:44:13] <williewillus> bees
:D
L3227[16:44:14] <sham1> OH NO
L3228[16:44:15] <sham1> NOT THE
BEES
L3229[16:44:17] <sham1> NOT THE
BEES
L3230[16:44:19] <sham1> AAHHH
L3231[16:44:22] <sham1> MY EYES
L3232[16:44:34] <gigaherz> at least
gendustry makes it less... random
L3233[16:44:36] <PaleoCrafter> I'm more
of a tree guy, lol
L3234[16:44:40] <williewillus> if you're
dedicated enough you can run everything on bees because there's a
interaction mod for everything
L3235[16:44:47] <falkreon> I was thinking
of making apiaries, but actually having them maintain bee
entities
L3236[16:44:52] <masa> and in ftb
unleashed I also did a bunch of bees, plus I bred all the forestry
and extra tres trees, and even the ultimate production trees of
silver lime with apples, max sappiness/sapling/height you could get
:p
L3237[16:45:00] <gigaherz> williewillus:
yeah I have nearly 0 dedication
L3238[16:45:01] <sham1> what cant you get
with bees
L3239[16:45:04] <gigaherz> either the mod
keeps my attention
L3240[16:45:05] <masa> but then I stopped
playing it before I used them for anything...
L3241[16:45:07] <gigaherz> or it does
not.
L3242[16:45:23]
⇨ Joins: Samario
(~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net)
L3243[16:45:41] <falkreon> well uu is a
liquid now, so I guess you get it from juicing combs now
L3244[16:45:49] <falkreon> :D
L3245[16:45:53] <Nitrodev> seriously i
can't remember what to add to my mod now
L3246[16:46:05] <masa> it must be ready
then? :p
L3247[16:46:13] <williewillus> polish and
release :p
L3248[16:46:29] <gigaherz> is there some
java exception for "unacceptable values"
L3249[16:46:33] <Nitrodev> yup 3 things
added
L3250[16:46:40] <PaleoCrafter>
IllegalArgumentException, gigaherz ?
L3251[16:46:44] <gigaherz> ah that'd
do
L3252[16:47:02] <gigaherz> sorry my
"exception dictionary" is still C#
L3253[16:47:02] <gigaherz> ;P
L3254[16:47:03] <Nitrodev> 1 block that
acts like a cactus but doesn't hurt players and mobs and 2
items
L3255[16:47:19] <Nitrodev> with one of
them only obtainable from creative
L3256[16:47:26] <williewillus> does C#
have unsigned integral values?
L3257[16:47:30] <Tarig> hey guys, is
there a decent guide to creating a textured b3d model? I'm trying
to analyze how the chest model is able to use the vannila texture
and I'm coming up with nothing
L3258[16:47:31] <williewillus> just
wondering
L3259[16:47:33] <gigaherz> yes
williewillus
L3260[16:47:36] <williewillus> since it's
annoying that java doesn't
L3261[16:47:39] <gigaherz> uint, ushort,
ulong
L3262[16:47:40] <gigaherz> in fact
L3263[16:47:43] <gigaherz> byte is
unsigned
L3264[16:47:45] <gigaherz> you have
sbyte
L3265[16:47:48] <gigaherz> for the signed
variant
L3266[16:48:06] <ThePsionic>
#consistency
L3268[16:48:14] <gigaherz> ThePsionic:
it's much better that way XD
L3269[16:48:15] <williewillus> if only we
could run C# on the jvm :p
L3270[16:48:21] <PaleoCrafter> Tarig,
just use obj xD
L3271[16:48:21] <gigaherz> almost every
single time you need a byte
L3272[16:48:23] <gigaherz> you need it
unsigned
L3273[16:48:45] <ThePsionic> fair
enough
L3274[16:48:46] <gigaherz> I haven't come
across anything where having byte be -128 to 127 is useful
L3275[16:48:53] <masa> yeah but still,
consistency would be nice
L3276[16:48:57] <Tarig> my smart model
doesn't like obj yet
L3277[16:49:00] <gigaherz> well
L3278[16:49:02] <gigaherz> that's the
syntax
L3279[16:49:06] <gigaherz> the library
has
L3280[16:49:08] <gigaherz>
System.Int8
L3281[16:49:10] <gigaherz>
System.Int16
L3282[16:49:12] <gigaherz>
System.Int32
L3283[16:49:17] <gigaherz> you CAN use
those for variables
L3284[16:49:18] <Nitrodev> now i'm just
fiddling with the model files
L3285[16:49:21] <gigaherz> but it's...
wasteful
L3286[16:49:28] <masa> uint8_t/int8_t ftw
;p
L3287[16:49:39] <gigaherz> yes they are
equivalent to the stdint.h
L3288[16:49:40] <gigaherz> ;P
L3289[16:50:00] <gigaherz> Int32,
UIntPtr,
L3290[16:50:04] <gigaherz> etc
L3291[16:50:20]
⇨ Joins: Doty1154
(~Doty1154@2601:648:8002:ea78:b45c:857e:892e:c60e)
L3292[16:50:30] <Nitrodev> Oh yeha i need
to add a recipe to the saw
L3293[16:50:38] <gigaherz> XD
L3294[16:50:42] <masa> speaking of
models, what exactly is the "origin point" in the
ModelRenderer constructor arguments? because there is the
rotationpoint separately
L3295[16:50:49] <PaleoCrafter> well,
can't you have type aliases in C#, gigaherz? :P
L3296[16:51:03] <gigaherz> PaleoCrafter:
hmmm you can have import aliases
L3297[16:51:17] <gigaherz> using
something=fully.qualified.name;
L3298[16:51:21] <PaleoCrafter> ah,
right
L3299[16:51:35] <ThePsionic>
import<stdio.h>
L3300[16:51:35] <gigaherz> but there's no
"typedef"
L3301[16:51:51] <masa> hmm well now that
I think about it I think it makes sense
L3302[16:52:13] <gigaherz> origina vs
pivot
L3303[16:52:16] <gigaherz> origin*
L3304[16:52:54] <masa> so the origin is
what will be at the origin of the GL surface or whatever, right?
depending on the GL translations etc
L3305[16:53:06] <gigaherz> dunno
L3306[16:53:13] <gigaherz> I have no idea
what that looks like
L3307[16:53:19] <gigaherz> I mean
L3308[16:53:23] <gigaherz> the
ModelRenderer constructor
L3309[16:53:23] <gigaherz> Xd
L3310[16:53:47] <masa> ok, well it takes
originX/Y/X and also width, height, depth
L3311[16:54:03] <Nitrodev> if only there
was a way instantly got to the client without running it everytime
i modified something
L3312[16:54:21] <masa> Nitrodev: run in
debug mode?
L3313[16:54:23] <williewillus> hotswap
man
L3314[16:54:33] <Nitrodev> oh
L3315[16:54:38] <Nitrodev> did not know
that
L3316[16:54:56] <williewillus> every time
you save (or hit make all in idea) it will swap the code out if it
can
L3317[16:55:01] <masa> some things you
still need to restart for, like adding/changing method signatures,
class variables, changing mc recipes etc
L3318[16:55:28] <PaleoCrafter> everything
that involves assets requires a restart as well
L3319[16:55:41] <masa> but you can edit
the code inside methods for example
L3320[16:55:52] <masa> PaleoCrafter: umm,
no? F3 + S?
L3321[16:55:59] <masa> plus refresh first
in the IDE
L3322[16:56:14] <Nitrodev> masa but what
about for things like changing the model files?
L3323[16:56:18] <Nitrodev> the
.jsons
L3324[16:56:22] <sham1> yeah masa is
right
L3325[16:56:26] <PaleoCrafter> oh, right
:D
L3326[16:56:46] <masa> not sure about
models, they might work too with just refresh in IDE and then F3 +
S in-game?
L3327[16:56:54] <sham1> they do
L3328[16:57:04] <PaleoCrafter> but there
was something that didn't work with that...
L3329[16:57:11] <falkreon> really depends
on your gradle setup
L3330[16:57:22] <falkreon> and your run
configuration
L3331[16:57:35] <laci200270> asm
transformers?
L3332[16:57:41] <falkreon> if it's setup
to use the assets directly then you should be pretty good. If
there's gradle copying involved, it gets rough.
L3333[16:57:45] <masa> I think I haven't
been able to get GUI textures to reload using F3+S
L3334[16:57:54] <laci200270> f3+t?
L3335[16:58:00] <Nitrodev> well time to
test
L3336[16:58:13]
⇦ Quits: raoulvdberge (uid95673@2001:67c:2f08:6::1:75b9)
(Quit: Connection closed for inactivity)
L3337[16:59:17] <Nitrodev> yeah models
dont work
L3338[16:59:39] <Nitrodev> oh well
L3339[16:59:50] <laci200270> try f3
t
L3340[17:00:05] <Nitrodev> k
L3341[17:00:53] <masa> Pressing S while
holding F3 will reload all web-loaded client resources, which is
useful for resource pack authors. As of 15w43a[upcoming], this
option was moved to pressing T while holding F3.
L3342[17:01:09] <masa> y u do dis
L3343[17:01:16] ***
amadornes is now known as amadornes[OFF]
L3344[17:02:06] <Nitrodev> okay models
aren't woorking like that
L3345[17:03:10] <Nitrodev> well i'll just
make the model look good then make the recipe for the saw and go to
sleep
L3346[17:03:14]
⇦ Quits: IoP (jikuja@kapsi.fi) (Ping timeout: 186
seconds)
L3347[17:03:22]
⇨ Joins: IoP (jikuja@2001:1bc8:1004::2:0:164)
L3348[17:03:22] <masa> which IDE do you
use? at least in eclipse you need to refresh the project
first
L3349[17:03:29] <Nitrodev> IDEA
L3350[17:04:42]
⇨ Joins: sciguyryan
(~sciguyrya@93-94-245-57.dynamic.swissvpn.net)
L3351[17:05:41] <sham1> I await for
VarHandles to become a reality
L3352[17:06:41] <diesieben07> yea
L3353[17:06:48] <diesieben07> AtomicXXX
sucks
L3354[17:07:15] <sham1> and if it works
like MethodHandles :P
L3355[17:07:26] <sham1> No longer using
MethodHandles for field access
L3356[17:07:37] <diesieben07> it is
bascially MethodHandles under the hood :P
L3357[17:07:48] <sham1> It looks
different :3
L3358[17:07:51] <diesieben07> a VarHandle
is basically in the end just a MethodHandle pointing to unsafe
:D
L3359[17:08:04] <sham1> RIP Unsafe
BT
L3360[17:08:48] <diesieben07> BT?
L3361[17:08:57] <sham1> I cannot type
BTW
L3362[17:09:04] <diesieben07> heh
L3363[17:09:13] <diesieben07> well,
unsafe will NOT go away until it is replaced :D
L3364[17:09:25] <sham1> True
L3365[17:09:47] <diesieben07> i see you
are watching the playlist :D
L3366[17:09:51] <sham1> Yes :P
L3367[17:09:58] <sham1> Or rather
listening
L3368[17:10:07] <diesieben07> :D
L3369[17:10:34]
⇦ Quits: Zaggymobile
(~Zaggy1024@c-24-118-178-13.hsd1.mn.comcast.net) (Ping timeout: 186
seconds)
L3370[17:10:56] <sham1> it is very
interesting
L3371[17:11:34] <Nitrodev> okay i'm going
to bed
L3372[17:11:39] <diesieben07> it is
indeed
L3373[17:11:41] <Nitrodev> g' night
all
L3374[17:11:46] <diesieben07> night
L3375[17:11:59] <PaleoCrafter> what
playlist? D:
L3378[17:12:13] <diesieben07> damn
L3379[17:12:25]
⇦ Quits: Nitrodev
(~Nitrodev@dcx0f0yfkf-htz8dy-dyt-3.rev.dnainternet.fi) (Read error:
Connection reset by peer)
L3380[17:12:25] <sham1> For once I was
quicker
L3381[17:12:56] <sham1> learning of the
internals really is fun way to just understand what happens
L3382[17:15:10] ***
MrKickkiller is now known as MrKick|Away
L3383[17:15:30] ***
Jared|Away is now known as Jared
L3384[17:16:02]
⇦ Quits: spaceemotion
(~spaceemot@f054098170.adsl.alicedsl.de) (Ping timeout: 192
seconds)
L3385[17:18:00]
⇨ Joins: Zaggymobile
(~Zaggy1024@c-24-118-178-13.hsd1.mn.comcast.net)
L3386[17:19:50] ***
DRedhorse is now known as DRedAway
L3387[17:21:02] <laci200270> why I can't
see the background of vertex2d?
L3388[17:21:24] <laci200270> *the back
side
L3389[17:22:49] *
laci200270 goes to sleep
L3390[17:23:30]
⇦ Quits: laci200270 (~laci20027@78.92.233.250) (Read error:
Connection reset by peer)
L3391[17:26:47]
⇨ Joins: Drullkus
(~Drullkus@2601:646:8301:8947:f15d:c049:804:6975)
L3392[17:27:27]
⇦ Quits: Drullkus
(~Drullkus@2601:646:8301:8947:f15d:c049:804:6975) (Remote host
closed the connection)
L3393[17:27:44]
⇨ Joins: olee (~olee@2a01:4f8:150:70c2::2)
L3394[17:27:53]
⇨ Joins: Drullkus
(~Drullkus@2601:646:8301:8947:f15d:c049:804:6975)
L3395[17:27:58]
⇦ Parts: olee (~olee@2a01:4f8:150:70c2::2) (Once you know
what it is you want to be true, instinct is a very useful device
for enabling you to know that it is))
L3396[17:30:55]
⇦ Quits: ShadowChild
(~ShadowChi@host81-151-59-190.range81-151.btcentralplus.com) (Quit:
Leaving)
L3397[17:31:20]
⇦ Quits: Drullkus
(~Drullkus@2601:646:8301:8947:f15d:c049:804:6975) (Ping timeout:
192 seconds)
L3398[17:32:29]
⇨ Joins: killjoy
(~killjoy@2002:4741:ffb7:e472:61d0:85e1:49ae:595b)
L3400[17:33:10] <ThePsionic>
beautiful
L3401[17:33:19] <sham1> yex
L3403[17:36:22] <ThePsionic> i'll
continue this later maybe
L3404[17:36:25]
⇦ Quits: primetoxinz
(~primetoxi@ip68-107-226-229.hr.hr.cox.net) (Read error: Connection
reset by peer)
L3405[17:37:07]
⇨ Joins: primetoxinz
(~primetoxi@ip68-107-226-229.hr.hr.cox.net)
L3406[17:37:09]
⇨ Joins: sinkillerj
(~sinkiller@nc-71-49-179-31.dhcp.embarqhsd.net)
L3407[17:37:28] <PaleoCrafter>
ThePsionic, if you're using HTML 5, actually use it :P
L3408[17:37:41] <ThePsionic> eh
L3409[17:37:49] <ThePsionic> it's
webstorm's default
L3410[17:37:51] <ThePsionic> /shrug
L3411[17:38:08] <sham1> yay for
JavaScript
L3412[17:38:19] <diesieben07>
ohgodpleaseno
L3413[17:38:33] <ThePsionic> yes
L3414[17:40:07] <PaleoCrafter> btw, good
job at ignoring the idea folder
L3415[17:40:38] <ThePsionic> thanks
L3416[17:42:16] <sham1> he can git rm
--cached it out
L3417[17:42:23] <sham1> and add it to the
.gitignore
L3418[17:42:32]
⇦ Quits: sciguyryan
(~sciguyrya@93-94-245-57.dynamic.swissvpn.net) ()
L3419[17:43:15] <sham1> git can be hard
but not that hard
L3420[17:50:10]
⇦ Quits: Zaggymobile
(~Zaggy1024@c-24-118-178-13.hsd1.mn.comcast.net) (Ping timeout: 186
seconds)
L3422[17:50:50] <ThePsionic> There we
go
L3423[17:51:10]
⇨ Joins: Loraanicus
(webchat@135-23-247-142.cpe.pppoe.ca)
L3424[17:51:13] <sham1> It's empty
L3425[17:51:22] <ThePsionic> wat
L3426[17:51:33] <sham1> the listbox has
nothing
L3427[17:51:52] <ThePsionic> i know
L3428[17:52:19] <ThePsionic> i just
started it 15 minutes ago and since it's real fuckin late I don't
want to put any actual effort in atm :P
L3430[17:57:41] <sham1> I know one
Grenade Launcher like that
L3431[17:57:50] <sham1> In TF2 at the
very least
L3432[17:58:03] <ThePsionic> anyway bed
cya
L3433[17:58:07] <sham1> cya
L3434[17:58:13] <sham1> Should go to bed
myself
L3435[17:58:17] ***
sham1 is now known as sham1|ZZzZ
L3436[17:59:22] <williewillus> the one
thing people should acknowledge has gotten a lot cleaner
L3437[17:59:29] <williewillus>
multilayered item models with coloring
L3438[17:59:43] <williewillus> no more
geticon crpa that has to check the renderpass etc.
L3439[18:00:03] <gigaherz> wtf is up with
java's clone()/Cloneable ?
L3440[18:00:11] <williewillus> reason:
Java 1
L3441[18:00:15] <williewillus> it's
always Java 1 :p
L3442[18:00:24] <diesieben07> yeah clone
is broken as crap
L3443[18:00:32] <williewillus> people
didn't know wtf they were doing and then had to stick with it
because backward compat
L3444[18:00:33] <gigaherz> why the F am I
supposed to rely on super.clone() returning the right type?
L3445[18:00:34] <diesieben07> prefer a
copy constructor
L3446[18:01:10] <diesieben07> so new
Myclass(obj) instead of obj.clone
L3447[18:01:16] <gigaherz> yeah I know
the concept
L3448[18:01:20] <gigaherz> I don't really
like it though :/
L3449[18:01:29] <diesieben07> why
not?
L3450[18:01:38] <gigaherz> seems less
elegant XD
L3451[18:01:40] <diesieben07> or make a
clone method but without CLoneable
L3452[18:01:58] <gigaherz> IDEA still
nags me about not calling super.clone()
L3453[18:02:04] <williewillus> or just
immutable everything :D
L3454[18:02:26] <diesieben07> don't
implement Cloneable
L3455[18:02:34] <diesieben07> actually
wait
L3456[18:02:39] <diesieben07> yeah don't
call it clone, Object has that method...
L3457[18:02:46] <williewillus>
copy()
L3458[18:02:51] <PaleoCrafter> ^
L3459[18:03:09] <PaleoCrafter> Consistent
with scala case classes
L3460[18:03:10] <williewillus> id just
make it immutable if possible :p
L3461[18:03:12] <gigaherz> yeah renamed
to copy
L3462[18:03:12] <PaleoCrafter> xD
L3463[18:03:31] <gigaherz> williewillus:
I'm not making an immutable data structure kthx
L3464[18:03:36] <williewillus> lol
L3465[18:03:55] <williewillus> what data
structure are you making?
L3466[18:03:58] <PaleoCrafter> Still
working on that queue thing?
L3467[18:04:19] <gigaherz> no the queue
was a tiny part of a lib
L3468[18:04:30] <williewillus> general
minecraft collections lib :p
L3469[18:04:38] <diesieben07> wat
L3470[18:04:39] <gigaherz> no not
mc-related XD
L3472[18:04:56] <gigaherz> I needed the
queue for the parser
L3473[18:05:24]
⇦ Quits: Szernex
(~Szernex@91-113-118-42.adsl.highway.telekom.at) (Read error:
Connection reset by peer)
L3474[18:05:32] <williewillus> that looks
like "I can't believe it's not JSON!"
L3475[18:05:43] <gigaherz> it's not
json.
L3476[18:05:51] <gigaherz> it's slightly
inspired by json, yes
L3477[18:05:57] <gigaherz> but it's
non-retarded json
L3478[18:06:22] <gigaherz> that said, I
designed it before I learned about json
L3479[18:06:44] <gigaherz> so the
original design was more inspired by C-like languages
L3480[18:06:53] <williewillus> why is the
mob syncing in 1.8 so terrible
L3481[18:06:55] <gigaherz> it makes no
attempt to reuse the initializer syntax of any language
L3482[18:07:19] <gigaherz> wtf
IDEA?
L3483[18:07:21] <gigaherz> I opened a .md
file
L3484[18:07:26] <gigaherz> told me
there's plugins for that
L3485[18:07:33] <gigaherz> but it choseto
select ALL of them
L3486[18:07:38] <williewillus> lol
L3487[18:07:39] <diesieben07> yeah it
does that
L3488[18:07:55] <gigaherz> NO I do not
want every single markdown plugin ever ¬¬
L3489[18:08:00] <PaleoCrafter> Looks a
bit like HOCON, gigaherz
L3490[18:08:08] <diesieben07>
HOCON?
L3491[18:08:10] <diesieben07>
HOCON.
L3492[18:08:17] <diesieben07> HOCON
HOCON.
L3493[18:08:19] <gigaherz> ho
convention?
L3494[18:08:55] <gigaherz> so which one
do I choose? XD
L3495[18:08:56] <PaleoCrafter> You got
it, hodor07
L3496[18:09:10] <gigaherz> (markdown
plugin)
L3497[18:09:17] <diesieben07> hodor
L3498[18:09:18]
⇦ Quits: kimfy (~kimfy___@74.141.16.62.customer.cdi.no)
(Quit: off to whatever)
L3499[18:09:51]
⇨ Joins: Cojo
(~Cojo@2606:a000:1126:8048:e4d7:87ac:828d:38fb)
L3500[18:10:02] <gigaherz> that HOCON
thing looks like an overcomplicated version of mine ;P
L3501[18:10:37] <gigaherz> ah is it what
gradle uses?
L3502[18:10:44] <PaleoCrafter> HOCON is
to JSON what Scala is to Java :P
L3503[18:11:06] <williewillus> so messy
syntax? :D
L3504[18:11:08] <gigaherz> this clearly
has a different purpose
L3506[18:11:28] <williewillus> kidding
:p
L3507[18:11:46]
⇨ Joins: Jezza (~Jezza@185.44.151.55)
L3508[18:11:46]
⇦ Quits: auenfx4 (David@120.155.97.223) (Ping timeout: 186
seconds)
L3509[18:12:18] <PaleoCrafter> Well, it's
main purpose of configuration, but you can just use it as a JSON
superset
L3510[18:12:21]
⇦ Quits: Samario
(~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net) (Quit:
Leaving)
L3511[18:12:49] <PaleoCrafter> Don't
think gradle uses it, though
L3512[18:12:50]
⇨ Joins: auenfx4 (David@120.155.97.223)
L3513[18:14:32] <PaleoCrafter>
williewillus, if by messy you mean extremely versatile, sure
:P
L3514[18:15:39]
⇦ Quits: Doty1154
(~Doty1154@2601:648:8002:ea78:b45c:857e:892e:c60e) (Quit:
Leaving)
L3515[18:16:00]
⇨ Joins: Doty1154
(~Doty1154@2601:648:8002:ea78:b45c:857e:892e:c60e)
L3516[18:16:17] ***
SnowShock35 is now known as zz_SnowShock35
L3517[18:16:18] <gigaherz> PaleoCrafter:
if they don't, they chose rather similar feature sets ;P
L3518[18:16:22] <gigaherz>
language-wise
L3519[18:17:40] <PaleoCrafter> Gradle
uses groovy for the script files, but that's not comparable to
HOCON
L3520[18:18:50] <gigaherz> but yeah
L3521[18:19:04]
⇦ Quits: DemoXin (~DemoXin@29.sub-70-197-162.myvzw.com)
()
L3522[18:19:06] <gigaherz> I just pushed
commited before linking here
L3523[18:19:08] <killjoy> groovy can so
things similarly if it's coded to, but you can also run code in
it
L3524[18:19:15] <gigaherz> I was adding
the feature of using strings for element names
L3525[18:19:22]
⇨ Joins: PrinceCat (~PrinceCat@124.148.29.106)
L3526[18:19:28] <gigaherz> for when you
want a name that isn't specifically an identifier
L3527[18:22:02]
⇦ Quits: Jezza (~Jezza@185.44.151.55) (Read error: Connection
reset by peer)
L3528[18:23:43] <gigaherz> the ARK
christmas event is sortof stupid. they gave al lthe event recipes
such a high price, that unless you are part of a large tribe
farming every single santa drop, you wouldn't get to the fun in
time at all
L3529[18:24:04] <gigaherz> wtf is the
point of a reindeer skin for megaloceros, if you don't haveit by
christmas?
L3530[18:24:22]
⇦ Quits: AforAnonymous (bitch2k@dyn-042-143.vix1.mmc.at)
(Quit: good night)
L3531[18:24:49]
⇨ Joins: Zaggymobile
(~Zaggy1024@174-20-13-82.mpls.qwest.net)
L3532[18:24:53] <gigaherz> the haloween
event sure, that was ok because skeleton skins are never "out
of season", but jy mid january, who the heck needs a santa
hat? ;P
L3533[18:24:56] <gigaherz> by
L3534[18:25:51]
⇨ Joins: Drullkus
(~Drullkus@2601:646:8301:8947:6993:2296:5226:9694)
L3535[18:28:02]
⇨ Joins: waterpicker
(~waterpick@108-85-62-85.lightspeed.nworla.sbcglobal.net)
L3537[18:28:33]
⇨ Joins: MonkeyTyrant
(~MonkeyTyr@stjhnbsu1kw-047055189214.dhcp-dynamic.FibreOp.nb.bellaliant.net)
L3538[18:28:54]
⇦ Quits: MonkeyTyrant
(~MonkeyTyr@stjhnbsu1kw-047055189214.dhcp-dynamic.FibreOp.nb.bellaliant.net)
(Client Quit)
L3539[18:30:27]
⇦ Quits: primetoxinz
(~primetoxi@ip68-107-226-229.hr.hr.cox.net) (Quit:
Leaving)
L3540[18:30:49] <gigaherz> waterpicker:
are you trying to load buildcraft with a too old MC? or too
new?
L3541[18:33:55] <waterpicker> 1.7.10 with
version 7.1.14 of BC and I have no idea
L3542[18:35:01]
⇨ Joins: VikeStep (~VikeStep@101.184.165.77)
L3543[18:35:11] <gigaherz> whatversion of
forge?
L3544[18:35:20] <SmashShock> Anyone know
why PlayerUseItemEvent isn't firing for my mod-item?
L3545[18:36:18] <waterpicker>
1.7.10-10.13.4.1614-1.7.10
L3546[18:36:28] <waterpicker> Sorry Smash
have my own set of issue right. :(
L3547[18:37:09] <SmashShock> Uhh
L3548[18:38:12] <gigaherz> wel lthat
seems to be latest
L3549[18:38:14] <gigaherz> so no idea
:/
L3550[18:38:29] <gigaherz> do you have
any other mods that could cause an incompatibility?
L3551[18:38:39] <diesieben07> SmashShock,
you should need to use the event for your own item...
L3552[18:38:51] <waterpicker> It is my
dev environment
L3553[18:38:56] <waterpicker> And
IC2
L3554[18:39:20] <gigaherz> oh!
L3555[18:39:20] <waterpicker> The mod I'm
working on is a IC2 addon
L3556[18:39:29] <gigaherz> dev
environment is pickier
L3557[18:39:47] <gigaherz> you may need
to downgrade to the version of forge they used while compiling
BC
L3558[18:40:01] <waterpicker> at that
version?
L3559[18:40:15] <gigaherz> although the
mappings for 1.7.10 haven't changed in a while
L3560[18:40:21] <gigaherz> so dunno
really
L3561[18:40:59] <SmashShock> diesieben07,
do you mean that I have to change my item class to make it call
onPlayerInteractEvent when it's used?
L3562[18:41:10] <diesieben07> whaaa
L3563[18:41:17]
⇨ Joins: Kobata_
(~Kobata@cpe-24-210-17-81.columbus.res.rr.com)
L3564[18:41:22] <diesieben07> now you are
talking abotu PlayerInteractEvent?
L3565[18:41:34] <PaleoCrafter>
waterpicker, are you using the deobfuscated version of BC?
L3566[18:41:36] <SmashShock> Oops, sorry,
I mean PlayerUseItemEvent
L3567[18:41:43] <diesieben07> no you
don't
L3568[18:41:51] <diesieben07> but again,
you shouldn't care about the event. why do you?
L3569[18:42:12] <waterpicker> Just found
that out when you talked
L3570[18:42:22] <waterpicker> No I"m
not ><
L3571[18:42:26] <SmashShock> I'm trying
to do something when someone right-clicks with my specific item,
but only once, at the first tick
L3572[18:42:31]
⇦ Quits: Kobata
(~Kobata@cpe-24-210-17-81.columbus.res.rr.com) (Ping timeout: 190
seconds)
L3573[18:42:38] <diesieben07>
onItemRightClick?
L3574[18:42:42]
⇨ Joins: Herpahermaderp
(Herpaherma@216.196.92.69)
L3575[18:42:44] *
waterpicker is still new at doing mods of any more complexity than
a a couple blocks.
L3576[18:42:59] <falkreon> but I love
cosmetic blocks :o
L3577[18:43:13] <Herpahermaderp> blocks
are beautiful
L3578[18:43:27] <waterpicker> I'm however
doing a machine that uses both fluids, power, and sided
inventories
L3579[18:43:37] <falkreon> ew. That gets
complicated.
L3580[18:43:41] <waterpicker> Yea.
L3581[18:43:49] <falkreon> I kind of
dislike the GUI-heavy machine style
L3582[18:44:04] <falkreon> I'd like TFC
if it was less total-conversion I think.
L3583[18:44:44] <gigaherz> what was TFC?
XD
L3584[18:44:44] <waterpicker> Do I need
the deobfuscated version PaleoCrafter?
L3585[18:44:52] <waterpicker>
TerafirmaCraft
L3586[18:44:55] <gigaherz> right
L3587[18:44:56] <gigaherz> Xd
L3588[18:44:59] <PaleoCrafter> What would
you think about a GUI that is in-world, falkreon? :P
L3589[18:45:07] <falkreon> in-world is
the best kind
L3590[18:45:09] <PaleoCrafter> Yes,
waterpicker
L3591[18:45:12] <waterpicker> Like
projected Paleo?
L3592[18:45:12] <gigaherz>
map-like?
L3593[18:45:17] <falkreon> like,
bibliocraft
L3594[18:45:19] <waterpicker> How do I
support that Paleo?
L3595[18:45:23] <gigaherz> I'd like for
the main menu to be like the map
L3596[18:45:23] <gigaherz> XD
L3597[18:45:25] <falkreon> where you just
rightclick crap onto shelves
L3598[18:45:33] <gigaherz> so that the
game doesn't actually pause
L3599[18:45:38] <falkreon> yeah
L3600[18:45:39] <gigaherz> and you can
"look up" from the config
L3601[18:45:54] <falkreon> actually I
love the Reset menus for just that reason
L3602[18:45:57] <SmashShock> diesieben07,
is onItemRightClick an event? I can't find anything in the forge
docs
L3603[18:46:04] <SmashShock> Or is that a
method in my item class
L3604[18:46:17] <gigaherz> ARK had
theright idea with pretending that the UI is projected from the gem
in your arm
L3605[18:46:20] <diesieben07> the
latter
L3606[18:46:22] <falkreon> yea
L3607[18:46:22] <gigaherz> but they
failed at making it in-world
L3608[18:46:26] <falkreon> that's
umm
L3609[18:46:28] <gigaherz> it's still
justa menu
L3610[18:46:33] <falkreon> a blatant copy
of dead space but sure
L3611[18:46:40] <SmashShock> Thanks
diesieben07
L3612[18:46:40] <PaleoCrafter> I was
thinking more along the lines of holograms xD
L3613[18:46:42] <gigaherz> never played
dead space
L3614[18:46:42] <falkreon> I like the
dead space strategy too
L3615[18:46:42] <gigaherz> ;P
L3616[18:46:53] <falkreon> Also never
played dead space
L3617[18:46:56] <waterpicker> Wait Smash
are you wanting to interact with a block by right clicking?
L3618[18:46:58] <falkreon> but it made
some UI waves
L3619[18:47:10] <falkreon> by at least
pretending not to break your immersion
L3620[18:47:24] <gigaherz> ah
L3621[18:47:24] <SmashShock> No
waterpicker, I'm just trying to detect the first tick that my
mod-item is used
L3622[18:47:29] <gigaherz> that one is
actually more in-world
L3623[18:47:33] <SmashShock> On anything,
air or block
L3624[18:47:40] <gigaherz> ARK's is just
an UI that "appears" after animating your arm
L3625[18:47:49] <falkreon> oh. that's
dumb
L3626[18:47:55] <falkreon> I like that it
tries, but
L3627[18:47:59] <falkreon> hmm
L3628[18:48:10] <falkreon> that's more a
Pip Boy strategy I'd say
L3629[18:48:24] <falkreon> it's
pretending it's on your arm, but it's a normal GUI after the
animation.
L3630[18:48:55]
⇦ Parts: Loraanicus (webchat@135-23-247-142.cpe.pppoe.ca)
())
L3631[18:48:56] <falkreon> Metroid Prime
was also nice in that it simulated fog and reflections in the
helmet
L3632[18:49:11] <falkreon> and all the UI
was sort of believably projected onto that glass
L3633[18:49:12] <shadekiller666> is there
a way to pass variables to methods by reference?
L3634[18:49:26] <falkreon>
shadekiller666, everything in java is pass by value of the
reference
L3635[18:49:34] <falkreon> so I guess I'm
asking for specifics ^_^
L3636[18:49:51] <falkreon> like
L3637[18:50:36] <falkreon> public void
foo(int[3] thing) { thing[0] = 0xF00; } //0xF00 is still in that
array in the outside scope
L3638[18:50:56] <falkreon> err
L3639[18:50:59] <falkreon> int[]
thing
L3640[18:51:10] <falkreon> ignore the
dimensions, they're incorrect and irrelevant ^_^
L3641[18:51:36] <falkreon> but basically
if you pass in a mutable type, and mutate it, it stays
mutated.
L3642[18:52:08] <shadekiller666> kind
of
L3643[18:53:10] <falkreon> of course, I'm
sure you'll get a couple of people in here that'll tell you that
parameter side effects are bad (and they'd be right)
L3644[18:53:26] <shadekiller666> if you
define 2 Vector2f variables in a method, then pass them to a method
that sets the x and y values of one of the vectors, the instances
in the calling method will have changed
L3645[18:53:34] <falkreon> right.
L3646[18:53:44] <falkreon> so is there a
use case that you have in mind?
L3647[18:53:55] <PaleoCrafter> All side
effects are bad :P
L3648[18:53:58] <falkreon> :D
L3649[18:54:01] <falkreon> that's the
spirit!
L3650[18:54:09] <shadekiller666> but if
that same method tries to swap the values of the two passed-in
vectors, by setting its argument names to each other, that
fails
L3651[18:54:16] <SmashShock> Wait, is
onItemRightClick fired every tick that the item is being used, or
just the first tick?
L3652[18:54:20] <falkreon> shadekiller-
correct
L3653[18:54:43] <falkreon> SmashShock,
iirc each tick
L3654[18:54:46] <shadekiller666> unless
the method swaps the values individually using the x and y
values...
L3655[18:55:12] <PaleoCrafter> I think
it's called on mouse down
L3656[18:55:15] <shadekiller666> i just
wish there was a syntactic distinction between pass by value and
pass by reference in java
L3657[18:55:16] <falkreon> shade, yeah,
it's just a thing you've got to get used to. You're asking the
question, but you've got a pretty good handle on the reference
situation here.
L3658[18:55:19] <SmashShock> Is there any
method that only fires on the first tick? Or some way I can
L3659[18:55:36] <williewillus> first tick
of?
L3660[18:55:41] <falkreon> first tick of
use
L3661[18:55:53] <williewillus> for an
item?
L3662[18:55:57] <falkreon> you should
probably set the player's swing timer
L3663[18:56:07] ***
Kobata_ is now known as Kobata
L3664[18:56:16] <falkreon> that's not
quite the same thing, but it does give people plenty of warning
before a refire
L3665[18:56:25] <falkreon> and it's more
consistent with Minecraft's overall behavior
L3666[18:56:36] <SmashShock> On a
right-click, though
L3667[18:56:39] <falkreon> yes.
L3668[18:56:39] <shadekiller666>
falkreon, now, if the passed in variables were primitive types,
would a swap operation still fail?
L3669[18:56:49] <falkreon>
shadekiller666, yes, it would fail.
L3670[18:57:25] <shadekiller666> and
there is no way of making it work
L3671[18:57:27] <PaleoCrafter> A
syntactic distinction wouldn't make any sense as there is no
difference in the first place
L3672[18:58:36] <falkreon> in this case
because they're primitive types and not reference in the first
place, it's pass by value
L3673[18:58:50] <shadekiller666> paleo,
in C you can define a method with arguments such as 'double&
num1' and the value passed in will be passed by reference instead
of by value, which would allow a swap operation to succeed
L3674[18:58:58] <falkreon> everything's
technically pass by value, it's just that all object pointers, the
value is the pointer.
L3675[18:59:08] <PaleoCrafter>
Exactly
L3676[18:59:29] <SmashShock> Is the swing
timer a property of an item object or something?
L3677[18:59:30] <PaleoCrafter> shade, I
know, but that doesn't exist in Java :P
L3678[18:59:33] <SmashShock> I can't find
it
L3679[18:59:36] <falkreon> so the
behavior is consistent across the board, if a little
non-intuitive
L3680[18:59:37] <shadekiller666> if
passed as their wrapped counter parts (ie. Double instead of
double) would that allow a swap to work?
L3681[18:59:45] <PaleoCrafter> No
L3682[18:59:47] <williewillus> no,
L3683[18:59:47] <falkreon> the swing
timer is a property on the player
L3684[18:59:51] <williewillus> the
wrappers are immutable
L3685[18:59:54] <williewillus> and
plus
L3686[18:59:56] <williewillus> the
pointer is by value
L3687[19:00:01] <williewillus>
(reference, whatever)
L3688[19:00:17]
⇨ Joins: LexLap2 (~LexManos@172.76.2.58)
L3689[19:00:17]
MineBot sets mode: +o on LexLap2
L3690[19:00:20] <falkreon> there are some
Mutable boxed types floating around in some place somewhere, and
also Atomic varieties
L3691[19:00:27] <falkreon> I suggest not
using them.
L3692[19:00:31] <falkreon> not for
this.
L3693[19:00:59] <falkreon> what you
really want is not pass by reference, what you REALLY want is a
macro.
L3694[19:01:05] <PaleoCrafter> We all
know the proper solution is tuples and pattern matching
L3695[19:01:09] <falkreon> no.
L3696[19:01:14] <falkreon> just no.
L3697[19:02:11] <PaleoCrafter> Why not?
:P
L3698[19:02:12] <falkreon> I need to
write a gradle plugin for texture compositing.
L3699[19:02:36] <SmashShock> I... I'm not
really sure where to go from here. Is there an event that's fired
on right-mousedown or something? Neither the events or the method
in the item class let me fire some code on the first tick of an
item use
L3700[19:03:01] <falkreon> SmashShock,
don't rely on bindings
L3701[19:03:10] <falkreon> if someone's
using a controller or whatever
L3702[19:03:16] <falkreon> or has
remapped click to a key
L3703[19:03:28] <falkreon> you want your
code to roll with it
L3704[19:03:34] <falkreon> and behave
like minecraft
L3705[19:03:39] <SmashShock> Good
point
L3706[19:03:55] <Herpahermaderp> you
could use the PlayerUseItemEvent
L3707[19:04:12] <falkreon> is that the
first tick or every tick?
L3708[19:04:24] <SmashShock> Yeah it has
the .Start sub
L3709[19:04:32] <SmashShock> But it
doesn't fire for my item for some reason
L3710[19:04:35] <falkreon> that's.... not
what you think it is....
L3711[19:04:52] <falkreon> maybe it
is.
L3712[19:04:56] <falkreon> let me look at
it.
L3713[19:06:08] <falkreon>
interesting
L3714[19:06:13] <falkreon> it IS what
you're looking for.
L3715[19:06:19] <falkreon> are you
registering the event handler?
L3716[19:06:24] <falkreon> just sanity
checks here
L3717[19:06:29] <SmashShock> Yes, it
fires for swords
L3718[19:06:34] <SmashShock> Just not for
my item
L3719[19:06:44] <falkreon> let's see
code
L3720[19:06:46] <SmashShock> Seems it
only fires for items that actually do something on
right-click
L3721[19:06:52] <falkreon> can you gist
or link github?
L3722[19:06:56] <SmashShock> Yeah, one
moment
L3723[19:09:10] <falkreon> there might be
some nonsense going on with Item.getItemUseAction too.
L3724[19:09:18] <Zaggy1024> looks as
though in 1.8.8 if a block has water material but no LEVEL property
the game crashes :\
L3725[19:09:21] <falkreon> it *says* it's
for animation, but I don't necessarily trust that
L3727[19:09:59] <diesieben07> there is NO
need to use na event for this...
L3728[19:10:01] <falkreon> 1.8.8's fluid
handling seems to still be intensely beta, mostly because of
blockmodel challenges
L3729[19:10:32] <falkreon> diesieben07,
the goal here was to trap the first tick of a rightclick, and not
subsequent ones
L3730[19:10:33] <williewillus> it's
functional
L3731[19:10:35] <diesieben07>
onItemUseFirst is a ethod in Item
L3732[19:10:38] <diesieben07> you can
verride it.
L3733[19:10:41] <falkreon> ah
L3734[19:10:43] <falkreon> that's
useful
L3735[19:10:52] <falkreon> that's
basically what we were looking for.
L3736[19:11:07] <SmashShock> Oh really?
sweet
L3737[19:11:13] <SmashShock> That's much
better than this
L3738[19:11:18] <Zaggy1024> I was talking
about vanilla liquid handling, not Forge's fluids
L3739[19:11:32] <Zaggy1024> so in other
words a block can no longer blend into water without *being*
water
L3740[19:11:44] <Zaggy1024> or so it
seems
L3741[19:11:54] <falkreon> I really do
hate how much special-casing happens around Material.water
L3742[19:12:13] <falkreon> like, you
can't actually get water movement to happen
L3743[19:12:24] <falkreon> the fluid
needs to have either water or lava material.
L3744[19:12:37] <PaleoCrafter> Well,
doesn't onItemUseFirst only fire when you right click a
block?
L3745[19:12:38] <falkreon> and if it's
lava the damage is non-negotiable
L3746[19:12:56] <diesieben07> that is
true paleo
L3747[19:13:06] <diesieben07> for just
"right clicking": onItemRightClick
L3748[19:13:36]
⇨ Joins: Something12
(~Something@s010634bdfa9eca7b.vs.shawcable.net)
L3749[19:14:09] <falkreon> I am so amped
for Valhalla now
L3750[19:14:14] <falkreon> darn it
L3751[19:15:29] <falkreon> you don't just
announce you're working on primitive generics, reified generics,
and native vector types and then throw it two versions away
L3752[19:15:49] <falkreon> I want my SIMD
today ;_;
L3753[19:15:52] <SmashShock> diesieben07,
onItemRightClick doesn't only fire once, though
L3754[19:16:07] <SmashShock> so
onItemUseFirst doesn't work on air? :/
L3755[19:16:08] <diesieben07> yes, but
every.single.item behaves like that
L3756[19:16:12] <diesieben07> why do you
care?
L3757[19:16:37] <falkreon> like I said,
to stay consistent with minecraft, you probably want to set the
swing timer to delay a re-activation.
L3758[19:16:43] <williewillus> oh the joy
of right click events in minecraft
L3759[19:16:54] <williewillus> it's a
mess even in vanilla :p
L3760[19:16:58] <falkreon> yea :/
L3761[19:17:03] <falkreon> well
L3762[19:17:05] <falkreon> let's be
fair
L3763[19:17:08] <falkreon> most things
are a mess in vanilla
L3764[19:17:19] <falkreon> collisions are
just rough.
L3765[19:17:33] <SmashShock> falkreon,
how would I go about changing the swing timer? I did some google-fu
and I didn't see anything
L3766[19:17:52] <williewillus> that being
said my onEntityCollidedWithBlock is still broken and I have no
clue why :D
L3767[19:17:58] <williewillus> (in my
botania 1.8 port)
L3768[19:19:31] <falkreon> I *think* it
calls itself setItemInUse these days
L3769[19:19:43] <falkreon> I could use
some help from people more current on the api there
L3770[19:20:58] <falkreon> and if that
winds up being circular and dumb, you can just set Player.itemInUse
and itemInUseCount directly, but not sure what impact that has on
network.
L3771[19:21:28] <diesieben07> these in
use counters only apply if your item is actually useable for a
longer period
L3772[19:21:30] <diesieben07> such as a
bow
L3773[19:21:33] <diesieben07> or a
sword
L3774[19:21:46] <falkreon> huh. then
where does the swing timer live?
L3775[19:21:53] <falkreon> maybe the
playerInteractManager
L3776[19:21:55] <falkreon> that'd be
ugly
L3777[19:22:08] <diesieben07> actaully
you could utilise this though
L3778[19:22:09] <diesieben07> one
sec
L3779[19:22:50]
⇨ Joins: rockers3000
(rockers300@host213-121-16-55.webport-cl2-hg5.ilford.mdip.bt.net)
L3780[19:22:55] ***
rockers3000 is now known as Rockers
L3781[19:23:36] <Rockers> Does anybody
have any idea on how to get the dimension id within a
TileEntity?
L3782[19:23:55] <williewillus>
worldObj.provider.getDimensionId
L3783[19:24:11] <falkreon> aha!
L3784[19:24:16] <diesieben07> in
onItemRightClick: if (player.getItemInUse() != stack) {
player.setItemInUse(stack); /* do stuff */ }
L3785[19:24:21] <Rockers> Thanks!
L3786[19:24:25] <diesieben07> falkreon,
SmashShock ^
L3787[19:24:33] <falkreon>
EntityLiving.swingProgressInt is where the actual swing timer
lives
L3788[19:24:43] <falkreon> apparently
more entities have it than I thought
L3789[19:25:08] <Herpahermaderp> any
entity that moves it's arms is going to have it
L3790[19:25:11] <falkreon> yeah, that'd
work pretty well
L3791[19:25:16] <falkreon>
Herpahermaderp, like what?
L3792[19:25:24] <diesieben07> you also
have to override getMaxItemUseDuration though
L3793[19:25:27] <diesieben07> because the
default is 0
L3794[19:25:31] <falkreon> mhm
L3795[19:25:32] <Herpahermaderp> zombies,
skeletons, pig zombies
L3796[19:25:36] <falkreon> zombies:
no
L3797[19:25:39] <falkreon> skeles:
no
L3798[19:25:47] <falkreon> well maybe
skeles because they have bow drawing anim
L3799[19:25:51] <falkreon> pigzombies:
no
L3800[19:26:05] <falkreon> remember these
guys have no sword swing
L3801[19:26:30] <Herpahermaderp> ah yes,
my bad
L3802[19:26:53] <falkreon> I bet it's
intended behavior of all entities that are capable of wearing gear
and holding tools though
L3803[19:27:07] <falkreon> like, it's
correct design, it's just not really used.
L3804[19:27:18]
⇨ Joins: olee (~olee@2a01:4f8:150:70c2::2)
L3805[19:27:32] <falkreon> like incoming
damage vectors ^_^
L3806[19:27:40] <falkreon> we're getting
those back I hear?
L3807[19:29:25]
⇦ Quits: Fjolnir|afk (~Fjolnir@server1.madjake45.me) (Remote
host closed the connection)
L3808[19:29:32] <olee> Hi, I could need
some help on doing some ASM stuff. I am trying to get the class
resource (stream) of a MC class at runtime to get some debug
information on it's fields etc. However I am unable to do
getResourceAsStream from the classloader at runtime - it never
finds the MC class... Does anyone have an idea?
L3809[19:29:34] <SmashShock> diesieben07,
how does that work?
L3810[19:29:48] <falkreon> whew
L3811[19:29:50] <falkreon> eh
L3812[19:29:57]
⇦ Quits: MindWorX (~MindWorX@0x3ec639b7.inet.dsl.telianet.dk)
(Quit: Leaving)
L3813[19:30:01] <falkreon> olee, careful
about that kind of question here ^_^
L3814[19:30:27] <williewillus> olee:
probably using the wrong classloader
L3815[19:30:33] <olee> I know xD - but to
clearly state it - I don't intend to do some bad bad ASM - it's for
debugging
L3816[19:30:36] <diesieben07> SmashShock,
?
L3817[19:30:47] <olee> williewillus: the
LaunchClassLoader should be the correct, shouldn't it?
L3818[19:30:53] <williewillus> yeha
L3819[19:31:09] <falkreon> I've actually
taken a good amount of flak for not touching asm. I feel really
good about it though.
L3820[19:31:23] <diesieben07> olee, put
-Dlegacy.debugClassLoading=true -Dlegacy.debugClassLoadingSave=true
in your JVM arguments and fml will dump the transformed classes
into CLASSLOADER_TEMP
L3821[19:31:26] <olee> but what class
name do I pass it? when I pass e.g.
"Entity.class.getName()" which resolves to the
deobfuscated name even at runtime, I don't get anything
L3823[19:33:50] <williewillus> falkreon:
hey that's my issue :p
L3824[19:33:50] <diesieben07> wow i never
knew that was a thing
L3825[19:33:56] <williewillus> except you
linked my dupe ticket :p
L3826[19:34:00] <falkreon> whoops
L3827[19:34:02] <falkreon> yeah
L3829[19:34:04] <falkreon> that one
L3830[19:34:07] <falkreon> that's
you?
L3831[19:34:11] <williewillus> yes
L3832[19:34:23] <williewillus> you fixed
that bug??
L3833[19:34:33] <falkreon> me?
L3834[19:34:41] <falkreon> I could, but
I'm so not mojang
L3835[19:34:45]
⇨ Joins: primetoxinz
(~primetoxi@ip68-107-226-229.hr.hr.cox.net)
L3836[19:34:49] <williewillus> you said
we're getting them back?
L3837[19:34:51] <falkreon> they'd never
take a PR from me X)
L3838[19:35:18] <falkreon> I totally
thought mojang was fixing them, but it looks like the bug's
confirmed through latest snapshots so I guess not
L3839[19:35:20] <williewillus> this is
just another of the numerous things lost in the client during 1.3
:p
L3840[19:35:25] <diesieben07> a PR would
require them to have an open repo for starters :D
L3841[19:35:33] <williewillus> another is
that end portals used to emit smoke when you put an eye in
them
L3842[19:35:44] <diesieben07> the portal
transition is also different
L3843[19:35:45] <williewillus> or the
nostalgic greeen loading bar D:
L3844[19:35:48] <diesieben07> i really
miss the old sound
L3845[19:35:57] <williewillus> i miss the
bar more tha the sound tbh :p
L3846[19:35:58] <falkreon> I miss the
bone-cracking fall damage sound
L3847[19:36:12] <diesieben07> meh
L3848[19:36:14] <diesieben07> both
:D
L3849[19:36:25] <williewillus> I hate how
I reported the heart not flashing the delta damage, and they
"fixed" it in 1.8
L3850[19:36:37] <williewillus> which
invovled gutting it from how it used to be >.<
L3851[19:36:44] ***
kroeser|away is now known as kroeser
L3852[19:36:48] <falkreon> not flashing
the delta damage?
L3853[19:36:50] <falkreon> huh
L3854[19:37:06] <falkreon> tbh minecraft
should steal Earthbound's slow damage
L3855[19:37:08] <williewillus> from 1.3
to 1.8 when you take damage the health you lost doesn't flash
L3856[19:37:18] <falkreon> where you can
scramble after you've been killed and fix it
L3857[19:37:22] <williewillus> i reported
it and they fixed it but they also made it flash slow as hell
L3858[19:38:03] <falkreon> and I hate how
they keep speeding up the swing timer
L3859[19:38:10] <falkreon> the new sword
swing timer
L3860[19:38:16] <falkreon> it needs to be
slower ;_;
L3861[19:38:21] <williewillus> for
1.9?
L3862[19:38:23] <falkreon> yeah
L3863[19:38:25] <diesieben07> according
to some youtube comments the portal sound is back in 1.9
L3864[19:38:27] <williewillus> I thought
they only sped it up once
L3865[19:38:31] <falkreon> idk
L3866[19:38:33] <williewillus> it is, but
not while you're in the gui
L3867[19:38:36] <falkreon> point is,
wrong direction
L3868[19:38:46] <williewillus> it plays
after the teleportation is complete
L3869[19:39:00] <williewillus> probably
since the gui pauses sounds and they didn't want to change it
:p
L3870[19:39:07] <williewillus> or too
lazy
L3871[19:39:21] <falkreon> ehh
L3872[19:39:21] <diesieben07> that just
makes me furious
L3873[19:39:27] <falkreon> you can also
buffer dog barks and whatnot
L3874[19:39:29] <falkreon> using
guis
L3875[19:39:33] <diesieben07> "we
want this feature in the game but we are too lazy to code it
properly so ... NO"
L3876[19:39:41] <diesieben07> thats not
how game programming should be.
L3877[19:39:53] <williewillus> yeah the
top bugs on their tracker have been reopened time and time
again
L3878[19:39:56] <falkreon> best: take a
botania tiny potato
L3879[19:40:02] <williewillus> because
they throw a bandaid on it and it breaks the next patch
L3880[19:40:06] <falkreon> name it
"shia laboeuf"
L3881[19:40:17] <falkreon> use an
autonomous activator to repeatedly rightclick it
L3882[19:40:23] <falkreon> open a chest
standing next to it
L3883[19:40:26] <falkreon> wait 5
min
L3884[19:40:27] <williewillus> more than
half of the bugs on the top of the tracker have been since
1.4-5
L3885[19:40:29] <falkreon> close the
chest
L3886[19:40:38] <falkreon> result: broken
eardrums
L3887[19:40:45] <williewillus> lol
L3888[19:41:32] <falkreon> pretty similar
results if you do that next to a vanilla chickenator
L3889[19:41:51] <falkreon> you can get
high volumes in fairly low times.
L3890[19:41:55] <falkreon> anyhow
L3891[19:41:56] <olee> williewillus:
ClassReader cr = new
ClassReader(Thread.currentThread().getContextClassLoader().getResourceAsStream(clazz.getName().replace('.',
'/') + ".class")); ... it always works in dev, but breaks
in obf env, where I want to get information from >_<
L3892[19:42:38] <falkreon> breaks
how
L3893[19:42:50] <falkreon> what's the
String it spits out?
L3894[19:43:17] <williewillus> anyways
anyone see anything wrong with this block? :/ items are not
triggering onEntityCollided 0.o:
L3895[19:43:19] <williewillus> link
incoming
L3896[19:43:21] <falkreon> also, not sure
if the classloader is the right one
L3897[19:43:33] <falkreon> it might be to
close to root to know about the classes
L3899[19:43:53] <falkreon> root
classloaders in general know about *less* classes than leaf
loaders
L3900[19:44:20] <olee> well - it returns
a null stream
L3901[19:45:07]
⇦ Quits: waterpicker
(~waterpick@108-85-62-85.lightspeed.nworla.sbcglobal.net) (Ping
timeout: 195 seconds)
L3902[19:45:19] <falkreon> olee, I'm
asking about information before the stream is created. What String
are you generating for the binary name?
L3903[19:45:37] <diesieben07> you should
use Launch.classLoader
L3904[19:45:40] <olee> you mean
clazz.getName().replace('.', '/') + ".class" ?
L3905[19:45:41] <falkreon> williewillus,
I normally start debugging this with a println just inside
onEntityCollidedWithBlock
L3906[19:45:53] <falkreon> olee- yeah.
And diesie is most likely right
L3907[19:45:56] <diesieben07> and then
use Launch.classLoader.getClassBytes
L3908[19:46:01] <diesieben07> I am using
that and it works fine
L3909[19:46:07] <olee> diesieben07: I'm
using it
L3910[19:46:11] <falkreon> no
L3911[19:46:12] <olee> it's the same as
the one from the thread
L3912[19:46:12] ***
kroeser is now known as kroeser|away
L3913[19:46:17] <falkreon> you're using
the thread's contextclassloader
L3914[19:46:17] <diesieben07> it however
requires an obfuscated name
L3915[19:46:20] <falkreon> that's
wrong
L3916[19:46:22] <diesieben07> use
getClassBytes
L3917[19:46:27] <olee> diesieben07:
that's what I tried
L3918[19:46:40] <diesieben07> well, ia m
using it, it works fine.
L3919[19:46:40] <luacs1998> !gm
Entity.attackEntityFrom 1.7.10
L3920[19:46:42] <Jared> In 1.8.8 what do
you use isntead of the Tesselator for vertexes?
L3921[19:46:48] <olee> but getting the
obf name was the problem... tried it with FMLDeobfuscatingRemapper,
but that failed, too
L3922[19:47:01] <falkreon> williewillus,
what I'm asking basically tests that your instanceof EntityItem
assumption is correct.
L3923[19:47:25] <diesieben07> olee, what
did you try?
L3924[19:47:38] <falkreon> olee, if you
pick the wrong classloader you won't get the obf name
L3925[19:47:49] <diesieben07> no no no
falkreon
L3926[19:47:56] <diesieben07> you have to
pass the obf name, perid
L3927[19:47:57] <diesieben07>
period
L3928[19:48:06] <falkreon> yep.
L3930[19:48:40] <williewillus> falkreon:
it doesn't even get called
L3931[19:48:44] <williewillus> I set a
breakpoint on it
L3932[19:48:50] <williewillus> and
players, xp orbs, etc. trigger it
L3933[19:48:51] <williewillus> but not
items
L3934[19:48:55] <falkreon> williewillus,
yuck, breakpoints.
L3935[19:49:00]
⇨ Joins: waterpicker
(~waterpick@108-85-62-85.lightspeed.nworla.sbcglobal.net)
L3936[19:49:04] <williewillus> actually
xp orbs don't trigger it i think, but mobs do
L3937[19:49:06] <diesieben07> the
fuck!!
L3938[19:49:15] <diesieben07> "yuck,
breakpoints"???
L3939[19:49:20] <olee> diesieben07: wtf -
ASMUtils? nice xD
L3940[19:49:20] <falkreon> yes, you heard
me
L3941[19:49:25] <diesieben07> lol
L3942[19:49:39] <olee> that's the info I
needed probably - thx :P
L3943[19:49:44] <williewillus> Jared: you
use the worldrenderer, what is the old call you had?
L3944[19:49:51] <diesieben07> olee, feel
free to use it, it gives you all sorts of info on classes whether
loaded or not
L3945[19:49:56] <falkreon> breakpoints
are better solved with log lines or visual information :P
L3946[19:49:57] <diesieben07> falkreon,
you are insane.
L3947[19:50:04] <diesieben07> the fuck
are you talking about man
L3948[19:50:05] <Jared> williewillus, I
was using t.addVertexWithUV(-0.8, 0, 0, uMax, vMin);
L3949[19:50:12] <Jared> with t being a
Tesselator instance
L3950[19:50:12] <falkreon> but yes, I get
called insane a lot
L3951[19:50:15] <diesieben07> you
obviously do not understand breakpoitns :P
L3952[19:50:29] <olee> diesieben07: lol
that's just the thing I wanted to code - just with one single
feature of that detail stuff xD
L3953[19:50:32] <falkreon> I have a
built-in disdain for IDE facilities in general.
L3954[19:50:47] <diesieben07> you are not
using them correctly then :P
L3955[19:50:51] <diesieben07> embrace the
utility!
L3956[19:50:53] <falkreon> I'm not using
them at all.
L3957[19:50:59] <falkreon> not the
breakpoints.
L3958[19:51:10] <olee> class ASMUtils not
found ... is it yours?
L3959[19:51:10] <diesieben07> you
should.
L3960[19:51:14] <diesieben07> yes it
is
L3961[19:51:15] <falkreon> nah. I'm
good.
L3963[19:51:33] <williewillus> or
something similar
L3964[19:51:54] <Jared> williewillus,
thanks
L3965[19:51:55]
⇨ Joins: HassanS6000
(~hassa@2602:306:cde1:d700:308c:7050:5094:7a54)
L3966[19:52:07]
⇦ Quits: c233 (~c233@164.40.204.162) (Ping timeout: 195
seconds)
L3967[19:52:14]
⇦ Quits: HassanS6000
(~hassa@2602:306:cde1:d700:308c:7050:5094:7a54) (Client
Quit)
L3968[19:52:45] <falkreon> in any case,
normally here I'd suspect addCollisionBoxesToList, but you're
adding the same boxes for all entities
L3969[19:52:59]
⇨ Joins: c233 (~c233@164.40.199.152)
L3970[19:52:59] <falkreon> the only thing
I can think of is that the boxes are too thin
L3971[19:53:06] <falkreon> again, MC
collisions
L3972[19:53:14] <falkreon> gotta love
em
L3973[19:53:34]
⇨ Joins: HassanS6000
(~Hassan@pool-173-79-220-242.washdc.fios.verizon.net)
L3974[19:53:47] <falkreon> f is 1.16f,
which is RIGHT on the edge of MC's ability to handle
collisions.
L3975[19:53:51] <falkreon> 1/16f
even
L3976[19:54:19] <falkreon> try setting it
down to 1/8f. Probably not what's up, but worth a try.
L3977[19:54:47] <williewillus> problem is
it works for other entities and in 1.7 0.o
L3978[19:54:48] <falkreon> we're still in
the realm of sanity checks. None of this should matter in
onEntityCollidedWithBlock
L3979[19:55:08] <williewillus> item/xp
orb must have some check that was added
L3980[19:55:17]
⇦ Parts: Vazkii|Streaming
(~Vazkii@a79-169-163-74.cpe.netcabo.pt) ())
L3981[19:57:32] <Rockers> I'm getting an
exception whenever a chunk unloads with my tileEntity....
L3982[19:57:44] <diesieben07> show the
crash
L3983[19:57:54]
⇨ Joins: Hassan
(~hassa@2602:306:cde1:d700:308c:7050:5094:7a54)
L3984[19:58:05] <Rockers> It's not a
crash persay
L3985[19:58:10] <Rockers> throw new
RuntimeException(this.getClass() + " is missing a mapping!
This is a bug!");
L3986[19:58:16] ***
PaleoCrafter is now known as PaleOff
L3987[19:58:18] <Rockers> ^That's the
exception...
L3988[19:58:24] <williewillus> you either
didnt register it
L3989[19:58:27] <williewillus> or are not
calling super.write
L3990[19:58:27] <diesieben07> you have to
register it.
L3991[19:58:41] <Rockers> I'm not calling
writeToNBT at all...
L3992[19:59:14] <williewillus> you don't,
but in your writeToNBT you need to call the superclass one
L3993[19:59:31]
⇦ Quits: sinkillerj
(~sinkiller@nc-71-49-179-31.dhcp.embarqhsd.net) (Quit:
Leaving)
L3994[19:59:34] <Rockers> I mean, I'm not
overriding that function
L3995[19:59:42] <diesieben07> did you
register your TE?
L3996[20:00:01] <Rockers> No -_-
L3997[20:00:04] <williewillus> heh
L3998[20:00:05]
⇦ Parts: olee (~olee@2a01:4f8:150:70c2::2) (Once you know
what it is you want to be true, instinct is a very useful device
for enabling you to know that it is))
L3999[20:00:25] <Rockers> It has been
registered now
L4000[20:00:33] <williewillus> i tested
the mana pool wih onLanded (another callback) and it seems like it
triggers only when the item brushes past hte edge of the
block
L4001[20:00:42] <williewillus> if I drop
it directly on the pool it doesnt trigger 0.o
L4002[20:01:39] <williewillus> what the
actual fuck
L4003[20:01:41]
⇦ Quits: waterpicker
(~waterpick@108-85-62-85.lightspeed.nworla.sbcglobal.net) (Ping
timeout: 190 seconds)
L4004[20:01:49] ***
TehNut is now known as TehNut|Gone
L4005[20:02:46] <falkreon> willie,
weird.
L4006[20:02:59] <falkreon> I'm poring
over the 1.8 collision code right now, it'll take me a bit
L4007[20:03:31] <williewillus> I didn't
try it in 1.8.0 since the port wasn't compiling before I moved to
1.8.8 but this is too weird
L4008[20:04:52] <williewillus> if you're
in 1.8.0 can you try putting the exact bounding boxes as the mana
pool and see if it triggers?
L4009[20:04:57] <williewillus> i deleted
my 1.8.0 workspaces :p
L4010[20:05:24] <falkreon> this is so
weird
L4011[20:05:32] <falkreon> there's an
onGround check now?
L4012[20:06:00] <williewillus> are you
doing vs 1.7 or 1.8.0?
L4013[20:06:34] <falkreon> I'm looking at
1.8....ummm lemme check
L4014[20:06:43] <falkreon> 1.8.8
L4015[20:07:33] <falkreon>
net.minecraft.entity.Entity L811
L4016[20:08:18] <williewillus> yeah xp
orbs definitely don't trigger it either
L4017[20:08:29] <falkreon> it may be
because they're never onGround
L4018[20:08:47] <falkreon> xp orbs
specifically.
L4019[20:08:57] <falkreon> that one check
seems bizarre to me
L4020[20:08:58] <williewillus> wait I
have an idea
L4021[20:09:17] <williewillus> yup that's
it
L4022[20:09:27] <falkreon> hm?
L4023[20:09:28] <williewillus>
Entity.canTriggerWalking is now checked
L4024[20:09:38] <williewillus> welp
L4025[20:09:47] <falkreon> try
onLanded
L4026[20:09:55] <falkreon> that's more
semantically what you're looking for anyway
L4027[20:10:07] <falkreon> you're
chucking items into the mana pool so that they'll land on it
L4028[20:10:07] <williewillus> onLanded
only triggers if I manages to ride it on the lip of the mana
pool
L4029[20:10:15] <williewillus> if I throw
it straight down nothing happens
L4031[20:10:25] <falkreon> weird.
L4032[20:10:26] <falkreon> oh
L4033[20:10:31] <falkreon> tell you
what
L4034[20:10:41] <falkreon> try something
extremely strange:
L4035[20:10:49] <williewillus> wait my
mana pool doesn't trigger if I'm standing right in the middle
L4036[20:10:54] <williewillus> am I
missing a bottom collision box?
L4037[20:11:08] <falkreon> no, that
collision box exists, but it's 1/16th of a meter
L4038[20:11:19] <falkreon> I don't find
those thicknesses to be reliable
L4039[20:11:40] <falkreon> but you can
conditionally set the collision boxes based on the entity passed
in
L4040[20:11:40] <williewillus> it also
doesn't trigger if I'm sneaking lol, wtf mojang
L4041[20:12:23] <falkreon> try this
strange thing: if, on addCollisionBoxesToList, you find that the
entity instanceof ItemEntity, return one slab-like bounding
box
L4042[20:12:38] <falkreon> the mana pool
is 0.5 high at the walls
L4043[20:13:04] <falkreon> what that'll
do is simplify the collision box for items and guarantee that the
collision will happen onto the top surface.
L4044[20:13:14] <falkreon> then you can
use onLanded much more reliably.
L4045[20:13:41] <falkreon> (otherwise
maybe it's colliding horizontally into the walls, meaning onLanded
isn't called)
L4046[20:13:58]
⇦ Quits: Cojo (~Cojo@2606:a000:1126:8048:e4d7:87ac:828d:38fb)
(Ping timeout: 192 seconds)
L4047[20:14:19] <williewillus> yeah that
seems to be more reliable
L4048[20:14:21] <falkreon> it'll also
trigger the collision much earlier.
L4049[20:14:31] <williewillus> why did
they muck around with the collisions >.<
L4050[20:14:38] <falkreon> because
they're bad.
L4051[20:14:40] <falkreon> :D
L4052[20:15:04] <falkreon> I fully
support relentlessly experimenting with a bad thing until it
becomes not bad.
L4053[20:15:37] <williewillus> well it's
also since mc doesn't have a real physics engine :p
L4054[20:15:43] <williewillus> everything
is hardcoded
L4055[20:15:56] <williewillus> the
gravitational constant is some arbitrary local variable in the
entity's onUpdate :p
L4056[20:16:06] <falkreon> and may mc
never, ever *ever* get a "real" physics engine
L4057[20:16:41] <falkreon> I can't
imagine mojang trying to figure out how to make that deterministic
and sync state over TCP
L4058[20:17:00] <williewillus> gliby
seemed to have no problem doing it :p
L4059[20:17:10] <williewillus> though I
think he opened a separate network stream to sync lol
L4060[20:17:13] <falkreon> gliby?
L4061[20:17:46] <killjoy> port mc to
source?
L4062[20:17:47] <williewillus> he made a
realistic physics mod for mc using bullet :p
L4063[20:17:56] <killjoy> or implement
source in mc?
L4064[20:18:01] <williewillus> he used to
hang around here, maybe he got busy
L4065[20:19:39]
⇨ Joins: Reika
(~Reika@reika.kalseki.mods.abrarsyed.me)
L4066[20:19:50] <gigaherz> killjoy: MC
recreated in Source engine? with Java bindings for mod compat?
that'd probably be "fun" to make ;P
L4067[20:20:00] <gigaherz> * for certain
definitions of "fun"
L4068[20:21:21] <falkreon> hm. I'd like
to see how that stress-tests
L4069[20:21:25] <falkreon> in a server
env
L4070[20:21:49] <falkreon> plus, A+ job
compared to potential Mojang imp's
L4071[20:21:55] <williewillus> i can't
find any videos on his twitter, lemme check youtube
L4072[20:22:01] <williewillus> yeah he
had to use udp
L4073[20:22:02] <williewillus> :p
L4074[20:22:02] <gigaherz> well someone
managed to run MC server on top of IKVM (JVM layer on top of .NET)
and it was just so much faster
L4075[20:22:09] <gigaherz> so who
knows
L4076[20:22:28] <gigaherz> (that was ages
ago though, dunno how different mc server is now, or Java8 vs
Java7)
L4077[20:22:51] <williewillus>
really
L4078[20:23:03] <williewillus> I tried
running mc on ikvm a couple years ago and it failed
spectacularly
L4079[20:23:07] <gigaherz> *server*
L4081[20:23:10] <williewillus> oh
lol
L4082[20:23:14] <gigaherz> the client
didn't quite work ;P
L4083[20:23:16] <falkreon> yeah, I'm on
his youtube
L4085[20:24:38] <gigaherz> so yeah
recreating the whole server in another language would be...
annoying at best
L4086[20:24:53] <gigaherz> but for large
servers, it would have potential for being a big breakthrough
L4087[20:25:09] <gigaherz> modding
though....
L4088[20:25:43] <gigaherz> but yeah
L4089[20:25:44] *
gigaherz looks at the topic
L4090[20:26:34] <williewillus> i wonder
how it works, just a straightforward redirect of standard
libraries?
L4091[20:26:39] <williewillus> or does it
try other optimizations
L4092[20:27:07]
⇦ Quits: DRedAway (~dredhorse@p54B0E210.dip0.t-ipconnect.de)
(Ping timeout: 195 seconds)
L4093[20:27:21] <gigaherz> no
forwarding
L4094[20:27:33] <gigaherz> it actually
implements the class library directly in .NET code
L4095[20:27:53] <williewillus> it would
be cool if they could do stuff like convert small data classes to
structs
L4096[20:28:01] <williewillus> no more
blockpos thrashing the heap
L4097[20:28:16] <williewillus> it's
pretty bad no matter what people say about small objects being easy
to reclaim
L4098[20:28:19] <gigaherz> ask Oracle to
implement that in the JVM?
L4099[20:28:21] <gigaherz> something
like
L4100[20:28:34] <williewillus> it
probably does do that to a limited extent
L4101[20:28:36] <gigaherz> empirically
convert immutables to stack-allocated copy-semantics
L4102[20:28:52]
⇦ Quits: Rockers
(rockers300@host213-121-16-55.webport-cl2-hg5.ilford.mdip.bt.net)
(Quit: http://www.kiwiirc.com/ - A hand crafted IRC
client)
L4103[20:29:30]
⇨ Joins: DRedhorse
(~dredhorse@p4FFBA1A5.dip0.t-ipconnect.de)
L4104[20:29:46] <gigaherz> the only flaw
with that would be reference equality
L4105[20:30:04] <falkreon> they're
tackling that
L4106[20:30:07] <falkreon> again,
valhalla
L4107[20:30:14]
⇦ Quits: HassanS6000
(~Hassan@pool-173-79-220-242.washdc.fios.verizon.net) (Read error:
Connection reset by peer)
L4108[20:30:17] <gigaherz> unless the
reference was assigned on "new" and carried over
L4109[20:30:18] <williewillus> if you
enforced immutability then the difference between == equals()
becomes irrelevant
L4110[20:30:37]
⇨ Joins: HassanS6000
(~Hassan@pool-173-79-220-242.washdc.fios.verizon.net)
L4111[20:30:47] <gigaherz> well only if
you enforce a single instance with the same value
L4112[20:30:48] <falkreon> they're going
to add freezable values and real final fields
L4113[20:30:58] <falkreon> reference
equality is actually a bad idea
L4114[20:31:01] <falkreon>
apparently
L4115[20:31:01] <williewillus> falkreon:
has anything actually happened in the last few months?
L4116[20:31:07] <williewillus> the
mailing list has been pretty dead :/
L4118[20:31:31] <gigaherz> hmmm
L4119[20:31:41] <gigaherz> someone got
the demo running in ikvm last year?
L4120[20:31:54] <gigaherz> that's 1.8.1
in the screenshot
L4121[20:32:01] <gigaherz> now I
wonder
L4122[20:32:03] <williewillus>
whoah
L4123[20:32:05] *
gigaherz gets ikvm
L4124[20:32:33] <williewillus> I'm
assuming things like ASM still work or no?
L4125[20:33:10] <gigaherz> no idea
L4126[20:33:37] <gigaherz> I doubt it,
though, but who knows
L4127[20:33:54] <williewillus> but doesnt
the vanilla launcher/LCL use asm to inject stuff?
L4128[20:34:00] <gigaherz> if the ikvm
converts the clases from bytecode to CIL on load
L4129[20:34:13] <gigaherz> maybe that's
what they implemented between 2011 and 2014
L4130[20:34:20] <gigaherz> I got the
latest development snapshot for ikvm
L4131[20:34:27] <gigaherz> which they
published in august this year
L4132[20:37:07] <gigaherz> loading
launcher...
L4133[20:37:29] <gigaherz> loading mc
1.8.9 (vanilla) ...
L4134[20:38:07] <gigaherz> main
menu
L4135[20:38:19] <gigaherz> creating
world...
L4136[20:38:32] <gigaherz> building
terrain...
L4137[20:38:37] <gigaherz> downloading
terrain
L4138[20:38:59]
⇨ Joins: Shuetox
(~Shuetox@c83-255-59-49.bredband.comhem.se)
L4139[20:39:03] <gigaherz> that was
laggy
L4140[20:39:04] <gigaherz> XD
L4141[20:39:09] <williewillus> lol
L4142[20:39:16] <williewillus> see if you
can get to an MP server
L4143[20:39:31] <williewillus> or
minecraftforge
L4144[20:39:45] <Shuetox> Is there a way
to apply a color multiplier to the overlay part of textures in
1.8?
L4145[20:39:47] <gigaherz> I'm in
Hypixel
L4146[20:39:51] <gigaherz> ;P
L4147[20:40:06] <gigaherz> it's
niceenough
L4148[20:40:14] <gigaherz> the lag was
when I broke the first block on SP
L4149[20:40:58] <gigaherz> Ican see other
players and such
L4150[20:41:02] <gigaherz> so far as I
can tell, this is working
L4151[20:41:09] <williewillus> try forge
;p
L4152[20:41:21] <williewillus> Shuetox:
what d you mean overlay part?
L4153[20:42:00]
⇦ Quits: Lothendal
(~Lothendal@ip5b42d1b2.dynamic.kabel-deutschland.de) (Quit:
leaving)
L4154[20:42:23] <gigaherz> Shuetox: MC
has layers for textures such as the monster eggs where each layer
has a different color, those ARE color multipliers (tints)
L4155[20:42:34] <gigaherz> if you mean
instead, the enchant effect
L4156[20:42:38] <gigaherz> I don't think
that's customizable
L4157[20:42:49] <williewillus> ohhh in
block models you can specify tintindex
L4158[20:42:54] <williewillus> and that's
the render pass that will be tinted
L4159[20:43:17] <williewillus> use
submodels along with a tinted block model if you want just one part
to be tinted
L4160[20:43:27] <williewillus> or
multimodels, dpeneding on your usecase
L4161[20:43:34] <gigaherz> nope
williewillus, no luck with forge 1.8, at least not with a bunch of
mods in it
L4162[20:43:38] <williewillus> heh
L4163[20:43:43] <williewillus> asm
crash?
L4164[20:43:51] <gigaherz>
InvocationTargetException
L4165[20:44:02] <gigaherz> in CCC
L4166[20:44:10] <gigaherz> no wait
L4167[20:44:10] <williewillus> oh lol of
course
L4168[20:44:11] <gigaherz> that's a
warning
L4169[20:44:19] <gigaherz>
invtweaks?
L4170[20:44:28] <Shuetox> i kinda wanna
do what grass does but not the entire texture
L4171[20:45:00] <gigaherz> removed
invtweaks
L4172[20:45:03] <gigaherz> let's see...
XD
L4173[20:45:15] <Herpahermaderp> k guys,
reg MC runs fine, when trying to run it through Eclipse I get a
"Pixel format not accelerated" error, any ideas?
L4174[20:45:27] <gigaherz> loaded
:D
L4175[20:45:39] <gigaherz> wait
what
L4176[20:45:53] <gigaherz> that was not
the right profile XD
L4177[20:45:57] <gigaherz> that was the
optifine one XD
L4178[20:46:05] <williewillus>
Herpahermaderp: does normal mc work?
L4179[20:46:13] <williewillus> make sure
it's not trying to run on an integrated card or something
L4180[20:46:18] <gigaherz>
(vanilla+optifine, I had it to avoid the opengl crash with the
previous gpu)
L4181[20:47:00] <Herpahermaderp> Normal
MC run through the launcher (unmodded) works, running it through
Eclipse does not. I only have integrated atm
L4182[20:47:09] <falkreon> ew.
L4183[20:47:15] <williewillus> Shuetox:
look as the vanilla grass model in models/block/grass.json, it
specifies tintindex which tells mc "call colorMultiplier on
this model for for this renderpass"
L4184[20:47:17] <Herpahermaderp> yeah I
know
L4185[20:47:29] <williewillus> and use
multimodels to mix it with another model
L4186[20:47:45] <falkreon> not sure
you're going to get anywhere with that. good luck though.
L4187[20:47:57] <Shuetox> Thanks
willie
L4188[20:48:44] <gigaherz> nah
williewillus, evne a clean profile with forge 1.8.8 has the same
issue. IKVM doesn't like whatever forge does XD
L4189[20:49:20] <williewillus> aw
would've been an interesting experiment
L4190[20:49:34] <williewillus> though I
bet the older forges that shipped mojang classes might've run
(tekkit classic, etc)
L4192[20:49:48] <gigaherz> feel free to
try ;P
L4193[20:50:10] <williewillus> wow ikvm
isn't in the AUR
L4194[20:50:18] <gigaherz> AUR?
L4195[20:50:19] <williewillus> i think
this is the first time I haven't found something in there :p
L4196[20:50:23] <williewillus> Arch User
Repository
L4197[20:50:30] <williewillus> the
unofficial repos where everyone packages everything
L4198[20:51:10] <williewillus> usually it
has every single package you could ever think of... it's failed me
D:
L4199[20:51:16] <williewillus> i'll try
in windows :p
L4200[20:52:31] <williewillus> oh it's
just unzip and run :p
L4201[20:53:07]
⇦ Quits: Herpahermaderp (Herpaherma@216.196.92.69) (Read
error: Connection reset by peer)
L4202[20:53:20] <williewillus> guy's file
server is slow as hell
L4203[20:53:38]
⇦ Quits: gigaherz (gigaherz@80.30.37.219) (Ping timeout: 192
seconds)
L4204[20:53:42]
⇨ Joins: gigaherz_n (~gigaherz@80.30.37.219)
L4205[20:53:45] <gigaherz_n> geh
L4206[20:53:50] <gigaherz_n> [03:50]
(williewillus): wow ikvm isn't in the AUR
L4207[20:53:50] <gigaherz_n> [03:50]
(gigaherz): AUR?
L4208[20:53:51] <gigaherz_n> [03:50] *
Disconnected
L4209[20:54:09] <williewillus>
<williewillus> i think this is the first time I haven't found
something in there :p
L4210[20:54:09] <williewillus>
<williewillus> Arch User Repository
L4211[20:54:09] <williewillus>
<williewillus> the unofficial repos where everyone packages
everything
L4212[20:54:09] <williewillus>
<williewillus> usually it has every single package you could
ever think of... it's failed me D:
L4213[20:54:09] <williewillus>
<williewillus> i'll try in windows :p
L4214[20:54:10] <williewillus>
<williewillus> oh it's just unzip and run
L4215[20:54:11] <williewillus> :p
L4216[20:54:22]
⇨ Joins: Cojo
(~Cojo@2606:a000:1126:8048:83f:317e:b10d:75a5)
L4217[20:54:33] <gigaherz_n> oh,
yeah
L4218[20:54:52] <H1N1theI> williewillus:
AUR, still better than hunting down rogue ebuilds.
L4219[20:54:58] <gigaherz_n> you unpack,
add to PATH, then do ikvm -jar
L4220[20:55:01] <gigaherz_n> as if you
used the jvm
L4221[20:55:02] <gigaherz_n> XD
L4222[20:55:21] <williewillus> how does
it package all of mono and a jre into 20M? :p
L4223[20:55:27] <williewillus> or is mono
a dep
L4224[20:55:28] <gigaherz_n> ?
L4225[20:55:38] <gigaherz_n> does it not
run on top of microsoft's .net framework?
L4226[20:55:48] <williewillus> it says
linux supported so :p
L4227[20:55:58] <williewillus> mono is an
OSS impl of .net
L4228[20:56:30]
⇨ Joins: gigaherz_n_p (gigaherz@80.30.37.219)
L4229[20:56:35] <williewillus> lol
L4230[20:56:36] <gigaherz_n_p> wtf
L4231[20:56:40] ***
gigaherz_n_p is now known as gigaherz
L4232[20:56:50] <gigaherz> [03:56]
(gigaherz_n): you may need to do
L4233[20:56:50] <gigaherz> [03:56]
(gigaherz_n): mono ikvm -jar ... XD
L4234[20:57:20] <gigaherz> no diea if
linux has any "exe launcher" that can redirect .exe files
to mono
L4235[20:57:23] <gigaherz> idea*
L4236[20:57:38] <gigaherz> I know WINE
has one
L4237[20:57:46] <gigaherz> but I presume
that only works when you try to run a .exe in wine
L4238[20:59:12]
⇦ Quits: gigaherz_n (~gigaherz@80.30.37.219) (Ping timeout:
195 seconds)
L4239[20:59:39] ***
fry|sleep is now known as fry
L4240[20:59:46] <williewillus> but their
page says you can just exec ikvm in the folder but there is no unix
ikvm there :p, strange
L4241[21:00:31] <H1N1theI> williewillus:
Did you build it, or is it a binary distribution?
L4242[21:00:40] <gigaherz> williewillus:
they do however have a source package
L4243[21:00:48] <gigaherz> maybe the
actual ikvm, the 7.x and older
L4244[21:00:50] <gigaherz> did have linux
builds
L4245[21:01:01] <gigaherz> but the author
just hasn't bothered releasing snapshots of v8?
L4246[21:01:38] <williewillus> yeah, I'm
gonna reboot into windows and see if I can run tekkit classic in
ikvm, curious
L4247[21:01:40] <williewillus> brb
L4248[21:02:06] <gigaherz> k
L4249[21:02:13] ***
williewillus is now known as willieaway
L4250[21:06:12] ***
Vigaro is now known as Vigaro|AFK
L4251[21:06:31]
⇦ Quits: PrinceCat (~PrinceCat@124.148.29.106) (Quit: My Mac
has gone to sleep. ZZZzzz…)
L4252[21:06:32]
⇨ Joins: xaero
(xaero@the.flying.dutchman.panicbnc.net)
L4253[21:08:20]
⇨ Joins: SatanicSanta
(~SatanicSa@c-76-115-175-15.hsd1.or.comcast.net)
L4254[21:10:52] ***
willieaway is now known as williewillus
L4256[21:14:33]
⇨ Joins: PrinceCat (~PrinceCat@124.148.29.106)
L4257[21:15:04] <williewillus>
magical
L4258[21:15:10] <williewillus> let's try
1.4 though I doubt it'll work
L4259[21:15:59] <williewillus> though it
might just be launching a java xD
L4260[21:16:03] <williewillus> whatever
too lazy to try
L4261[21:16:38] <gigaherz> XD
L4262[21:18:35] <gigaherz> and heh, so
many models that haven't really changed much since 1.2.5 ;P
L4263[21:19:38] <williewillus> basically
every logic gate model came from eloraam which came from vanilla
:p
L4264[21:20:15] <williewillus> oh I think
I got multimc to launch ikvm
L4265[21:20:21]
⇦ Quits: Shuetox (~Shuetox@c83-255-59-49.bredband.comhem.se)
(Read error: Connection reset by peer)
L4266[21:20:23] <williewillus> let's add
some 1.2 mods here :p
L4267[21:20:31] <gigaherz> XD
L4268[21:22:29] <williewillus> im
expecting 1.2 and 1.4 forge alone to work since those still shipped
mojang classes
L4269[21:22:39] <williewillus> but 1.4
mods might be iffy because modders discovered the horror that is
asm :p
L4270[21:23:48] <williewillus> oh boo
lwjgl crashes
L4271[21:24:02]
⇨ Joins: calclavia
(uid15812@richmond.irccloud.com)
L4272[21:24:54] <williewillus> hm a bunch
of vanilla old versions crash from lwjlg but not 1.8
L4273[21:25:28] <gigaherz> heh
L4274[21:25:39] <williewillus> 1.6/7 are
fine as well but 1.5- are rip
L4275[21:25:49] <gigaherz> XD
L4276[21:26:29] <williewillus> wow
MinecraftForge 1.6.4 is up
L4278[21:28:40] <gigaherz> yeah I saw
that in 1.8 xD
L4279[21:29:02] <williewillus> okay
launching dw20 1.6
L4280[21:30:32] <williewillus> awww
L4281[21:31:53] <gigaherz> I loaded
vanilla 1.8.9 in both,
L4282[21:32:05] <gigaherz> jvm one is
232fps, ikvm one is 31fps
L4283[21:32:26] <gigaherz> I blame it on
ikvm having to emulate JNI ;P
L4284[21:32:55] <gigaherz> nicely enough,
the RNG seems to actually work the same ;P
L4285[21:33:03] ***
williewillus is now known as willieaway
L4286[21:33:32] ***
willieaway is now known as williewillus
L4287[21:35:15]
⇦ Quits: Hassan
(~hassa@2602:306:cde1:d700:308c:7050:5094:7a54) (Read error:
Connection reset by peer)
L4288[21:35:24] <gigaherz> put myself
into a 1x1x1 hole, 1023 fps on jvm, 207fps on ikvm
L4289[21:35:45] <gigaherz> yeah looks
like the mc client does not really get an advantage from running on
ikvm
L4290[21:36:08] <gigaherz> however, the
IKVM process uses a bit less ram
L4291[21:36:15] <gigaherz> 870mb vs
934mb
L4292[21:36:32]
⇨ Joins: Hassan
(~hassa@2602:306:cde1:d700:308c:7050:5094:7a54)
L4293[21:37:16] <gigaherz> reloaded the
game, and now javaw is lower
L4294[21:37:20] <gigaherz> hmm funny
;P
L4295[21:38:22] <fry> looking at the
total process memory in a GC language is meaningless
L4296[21:38:52] <gigaherz> yeah, the 2011
article spoke about ikvm using half the ram in a server after a
whole bunch of player joining
L4297[21:38:57] <gigaherz> so I was
curious
L4298[21:39:00] <gigaherz> but it's the
same content
L4299[21:39:15] <gigaherz> there could
have been a tiny bit of difference due to object storage
overhead
L4300[21:39:18] <williewillus> i just
want our value types >.<
L4301[21:39:33] <gigaherz> but it's still
roughly the same number of objects being created and GCd
L4302[21:39:34] <williewillus> primitive
generics isn't even that important gimme structs
L4303[21:40:41] <gigaherz> yeah valuetype
semantics would be nice
L4304[21:40:41] <gigaherz> but
L4305[21:41:01] <gigaherz> without
"primite generics", you'd end up with boxed references in
lists and such?
L4306[21:41:07] <killjoy> I really wish
mc came with httpclient-mime
L4307[21:41:18] <gigaherz>
primitive*
L4308[21:41:26] <gigaherz> I guess it
still works out
L4310[21:43:10] <williewillus> anything
that improves the "thrash several million blockpos every 3
seconds" that happens right now :p
L4311[21:43:26] <williewillus> yes, the
vm is good at collecting young objects, but still :p
L4312[21:44:29] <gigaherz> it's not just
the collecting, whenever it detects many instances of the same
class, the vm should just internally choose to use a pool instead
of just taking bits off a heap
L4313[21:45:17] <shadekiller666>
DrDisconsented, the obj loader will read .mtl files as well, inside
the .mtl, the command that points to the texture path is
"map_Kd", "map_Ka", or "map_Ks" and
should point to "modid:blocks/texture.png" or
"modid:items/texture.png", depending on where the texture
is located in your textures/ folder
L4314[21:45:35] ***
mr208 is now known as mallrat208
L4315[21:45:36] <williewillus> do
particles in 1.8 get culled differently?
L4316[21:45:50] <williewillus> botania
has this block that lights up the night sky with lots of faraway
particles but they don't show up anymore
L4317[21:46:24] <shadekiller666> so it
doesn't really matter if you apply the texture in blender, as long
as an mtl is referenced, in fact the path that blender will make
map_Kx point to will almost definitely have to be changed by hand
(you can open .obj and .mtl files in a text editor)
L4318[21:46:53] <Soni> williewillus,
beacons or something?
L4319[21:47:08] <williewillus> the
starfield
L4320[21:47:19] <williewillus> but yeah
the beacon acts weird as well
L4321[21:47:22] <shadekiller666> it is
possible to change textures that are assigned to materials from
within the blockstate json, but that doesn't allow you any way to
define what faces get what material applied, so you want to use an
mtl
L4322[21:47:42] <Soni> williewillus, hmm
I don't think a lot changed between 1.7.10 particles and 1.8.8
particles
L4323[21:48:04] <Soni> altho I do know
there'll be huge particle changes between 1.8.8 and 1.9
L4324[21:48:10] <shadekiller666> for the
obj loader to find the mtl, the "mtllib" command in the
.obj points to it
L4325[21:48:19] <williewillus> it wasn't
"huge"
L4326[21:48:28] <williewillus> they're
simply not entities anymore :p
L4327[21:48:30] <Soni> williewillus, any
idea which particle it's based on?
L4328[21:48:45] <williewillus> ? botania
has custom particle classes
L4329[21:48:45]
⇦ Quits: PrinceCat (~PrinceCat@124.148.29.106) (Quit: My Mac
has gone to sleep. ZZZzzz…)
L4330[21:49:00] <gigaherz> they are still
technically entities, just not inheriting from Entity, iirc?
L4331[21:49:05] <williewillus> yeah
L4332[21:49:08] <Soni> yes but the code
comes from somewhere
L4333[21:49:17] <williewillus> Soni: vaz
wrote it himself?
L4334[21:49:20] <gigaherz> they didn't do
like big game engines and implement ... oh wait Java doens't have
valuetypes so having an array-of-structs would be useless
L4335[21:49:32] <williewillus> primitive
arrays :p
L4336[21:49:50] <Soni> most code in
minecraft mods come from vanilla code, especially if they're
related to vanilla somehow (e.g. particles)
L4337[21:49:59] <williewillus> you don't
know what you're saying >.>
L4338[21:50:07] <shadekiller666> if that
line looks like "mtllib name.mtl", the loader will look
in the same folder for "name.mtl" as the .obj file is
located, otherwise you want it to be "modid:<folder in
models/>/.../name.mtl" where ... is any intermediate
folders, i recommend just keeping the .obj and .mtl files
together
L4339[21:50:20] <williewillus> or I don't
get what you're getting at
L4340[21:50:21] <gigaherz> yeah you'd
need a particleX/Y/Z/RX/RY/RZ/SX/SY/SZ/VX/VY/VZ/...
L4341[21:50:22] <shadekiller666> and
naming them the same, which should be handled by blender
L4342[21:50:33] <gigaherz> valuetypes
sound nicer ;P
L4343[21:50:58] ***
Jared is now known as Jared|Away
L4344[21:51:43] <Soni> williewillus, I
made my mod based on /playsound and /particle and the noteblock
code. even tho yes I made it myself, you can look at how those work
in case it breaks, and adapt/update
L4345[21:52:57] <Soni> so, if some of the
botania particle code comes from vanilla, you could look into that
specific part to figure out what changed
L4346[21:53:26] <williewillus> none of it
comes from vanilla
L4347[21:54:02] <DrDisconsented> So
really the easiest thing to do is just do it all within blender
rather than blockstates correct?
L4348[21:55:49] <gigaherz>
DrDisconsented: just assign the defaults directly in blender or
whatever, and if you need to replace textures you can use the
blockstates file to change them from the default
L4349[21:57:00] <shadekiller666>
DrDisconsented, yes
L4350[21:57:46] <shadekiller666> giga,
hes still going to need to change the path that "map_Kx"
points to, as the obj loader is expecting a resource location
L4351[21:58:45] <gigaherz> ah I thought
you could write in that path directly in blender somehow ;P
L4352[21:59:15] <DrDisconsented> Okay so
I just added in "map_Ka cristallum:blocks/green"(to the
.mtl) and that loads the texture in fine, would I just create
map_Kb.., map_Kc... for the other textures?
L4353[21:59:22]
⇦ Quits: H1N1theI
(~h1n1thei@2601:5c2:8100:5898:daeb:97ff:fee9:f781) (Ping timeout:
192 seconds)
L4354[21:59:30] <shadekiller666> no
L4355[21:59:30] <gigaherz> nono
L4356[21:59:37] <gigaherz> map_Kd is for
diffuse color
L4357[21:59:42] <gigaherz> map_Ka for
ambient color
L4358[21:59:47] <gigaherz> map_Ks for
specular color
L4359[21:59:52] <shadekiller666> in fact
you should use map_Kd, as thats the "default" that the
obj loader expects
L4360[21:59:56] <gigaherz> minecraft
doesn't REALLY do ambient or specular
L4361[22:00:01] <gigaherz> so the right
one would be map_Kd
L4362[22:00:16] <shadekiller666> to add
other textures you need other materials
L4363[22:00:16] <DrDisconsented> Ah so
new material for each texture then?
L4364[22:00:19] <gigaherz> yup
L4365[22:00:20] <shadekiller666>
mhmm
L4366[22:00:29] <shadekiller666>
however
L4367[22:01:17] <shadekiller666> you
should apply all materials to your model from within blender,
because the .obj file has "usemtl" commands that are used
to specify what faces of the model get each material
L4368[22:01:50] <shadekiller666> and i'm
pretty sure you don't want to go through by hand trying to find the
"f" lines that each material is supposed to be applied to
:P
L4369[22:02:20] <shadekiller666> if you
apply multiple materials in blender it will spit out an mtl with
the correct number of "newmtl" lines
L4370[22:03:02] <gigaherz>
DrDisconsented: really, just assign the textures from blender using
the normal paths, then fixup the mtl file afterward
L4371[22:03:03] <gigaherz> ;P
L4372[22:03:10] <DrDisconsented> cool
:)
L4373[22:03:39] <williewillus> is tabula
on 1.8.8?
L4374[22:03:57] <gigaherz> site says
.0
L4375[22:04:01] <DrDisconsented> What
limits are there on the shaders I can use?
L4376[22:04:26] <gigaherz> you
"can't"
L4377[22:04:49] <gigaherz> unless you
want to inject lots of hacks into the rendering code
L4378[22:05:00] <DrDisconsented> Yeah no
thank you
L4379[22:05:01] <gigaherz> you should
stick to basic materials with just diffuse lighting
L4380[22:05:23] <gigaherz> no idea what
blender calls those
L4381[22:05:41] <DrDisconsented> I was
going to go with some transparancy but then I noticed that it seems
to be rather expensive (I.E. 300fps -> 7fps)
L4382[22:06:09] <shadekiller666>
transparency is supported (i hope, haven't actually tested
that)
L4383[22:06:13] <gigaherz> shouldn't be
THAT expensive
L4384[22:06:26] <DrDisconsented> Well I
managed to have 99% of the render time taken up with culling
L4385[22:06:32] <DrDisconsented> when I
disabed transpancy.. gone
L4386[22:06:33] <gigaherz> o_O
L4387[22:06:37] <shadekiller666> in what
version?
L4388[22:06:41] <gigaherz> just how many
thousands of block did you use?
L4389[22:06:50] <DrDisconsented>
11.15.0.1650-1.8.8
L4390[22:06:59] <shadekiller666> O.o
hmm
L4392[22:07:12] <gigaherz> I have a
translucent "dustcloud" block in my magic mod
L4393[22:07:26] <gigaherz> and I don't
really notice any slowdown that I can't attribute to block update
computations
L4394[22:08:56] <gigaherz> hmm... they
are relatively complex, I'm not sure how the transparency stuff
works
L4395[22:09:01] <gigaherz> but if it's
sorting them...
L4396[22:09:12]
⇦ Quits: Lathanael|Away
(~Lathanael@p5496075A.dip0.t-ipconnect.de) (Ping timeout: 195
seconds)
L4397[22:09:32] <gigaherz> lol
L4398[22:09:33] <gigaherz> okay
L4399[22:09:38] <gigaherz> how do I
uninstall a plugin from idea?
L4400[22:09:54] <gigaherz> the markdown
one I installed just popped a screen saying there's an enhanced
version ready to buy
L4401[22:10:28] <shadekiller666> plugin
manager
L4402[22:10:43]
⇨ Joins: Lathanael|Away
(~Lathanael@p549612E9.dip0.t-ipconnect.de)
L4403[22:10:48] <gigaherz> foundit
L4404[22:10:53] <gigaherz> byebye
freemium plugin
L4405[22:11:04] <shadekiller666>
transparency in the obj loader is handled via fry's fancy light
system overhaul thing
L4406[22:11:11] <shadekiller666>
LightUtil or whatever
L4407[22:11:22] <DrDisconsented> Hmm ill
try to repoduce it then push
L4408[22:11:29] <shadekiller666> and
baked into the long array of vertex data that everything else gets
baked into
L4409[22:13:18] <DrDisconsented> Welp I
can't repoduce it atm, so I don't have a clue what I did
wrong
L4410[22:13:31] <gigaherz> there we go,
the one from jetbrains doesthe job, BETTER and no nagging screens
;P
L4411[22:13:48] <gigaherz> and it has a
live preview panel ;O
L4412[22:14:26] <fry> a lot of faces in
TRANSLUCENT layer will give noticable performance slowdown, due to
them being sorted on the CPU
L4413[22:14:56] <gigaherz> thought
so
L4414[22:16:45] <DrDisconsented> Hmm
blender only wants to export the one material. Even with 3
slots
L4415[22:20:14] <gigaherz>
DrDisconsented: I have no idea how that works in blender, but in
rhino, I had to actually split the faces into separate objects,
assign materials, and then export with each sub-object still
separate
L4417[22:21:35] <gigaherz> I don't think
so
L4418[22:22:05] <fry> ultimate doom of
human existence, or smth like that
L4419[22:22:23] <gigaherz> wastefulness?
well it will be our doom.
L4420[22:23:00] <gigaherz> but I doubt
minecraft will be the deciding factor ;P
L4421[22:23:13] <gigaherz> * N years
later *
L4422[22:23:16]
⇦ Quits: auenfx4 (David@120.155.97.223) (Remote host closed
the connection)
L4423[22:23:26] <DrDisconsented> Woo
stutter on 170 fps
L4424[22:23:28] <gigaherz> "Shit, if
it hadn't been for that damned Minecraft game..."
L4425[22:23:43] <gigaherz> stutter?
L4426[22:24:05] <gigaherz> are there a
"lot" of blocks being created and destroyed by any
chance?
L4427[22:24:14]
⇨ Joins: auenfx4 (David@120.155.97.223)
L4428[22:24:28] <DrDisconsented>
nope
L4429[22:24:45] <gigaherz> oaky then it's
not the same issue that has been annoying me since I updated to
1.8.8 forge
L4431[22:26:09] <gigaherz> oh wait you
reenabled translucency
L4432[22:26:28] <gigaherz> fry already
explained why that happens
L4433[22:26:39] <gigaherz> mc just spends
that much time sorting the triangles over and over
L4434[22:27:00] <williewillus> hmm in 1.8
did they remove the ability to make specific parts of items render
the enchantment glow?
L4436[22:27:33] <williewillus> I
distinctly remember potions only glowing in their liquid layer and
now the whole item glimmers. lemme check
L4437[22:27:44]
⇦ Quits: OnyxKnight
(~OnyxDarkK@cpc81089-colc8-2-0-cust729.7-4.cable.virginm.net)
(Quit: I must leave, my people need me!)
L4438[22:27:48] <gigaherz> hmmm I don't
know if you can apply the effect to only a certain texture
layer
L4439[22:28:04] <gigaherz> maybe it was a
side-effect to the json change
L4440[22:28:13] <gigaherz> and they just
never reintroduced the feature
L4441[22:28:40] <williewillus> yeah
that's it
L4442[22:28:44] <williewillus> only the
liquid glows in 1.7
L4443[22:28:51] <williewillus> that was
such a cool detail dammit mojang
L4444[22:29:10] <DrDisconsented> Oh yeah
it was translucent
L4445[22:29:22] <DrDisconsented> That is
an insane difference
L4446[22:29:25] <DrDisconsented> Oh
well
L4447[22:31:27] <williewillus> i remember
people complaining about how the glimmer was too strong in 1,8,
barely noticed it until now
L4448[22:31:52] <gigaherz> fry, out of
curiosity, are all the translucent objects sorted globally, or is
there some sort of hierarchy? assuming faces are kept within a
block, the sorting system could optimize itself to sort by chunk
first, then by block, and only sort the individual faces within
each block
L4450[22:32:45] <falkreon> they're
already any-ifying java.util
L4451[22:33:04] <gigaherz> what'
Any-ification?
L4452[22:33:06] <gigaherz> what's*
L4453[22:33:14] <falkreon> Value
Types
L4454[22:33:16] <falkreon> so
L4455[22:33:22] <falkreon> in this case
Deque<int>
L4456[22:33:38] <gigaherz> oooh
L4457[22:33:47] <falkreon> probably in
the near past or near future ArrayList<int>
L4458[22:33:52] <gigaherz> wait value
types and primitive generics are two separate things
L4459[22:33:53] <gigaherz> XD
L4460[22:34:03] <falkreon> generic
specialization*
L4461[22:34:15] <williewillus> I'm very
interested how they'll step around the minefield o fbackward
compat
L4462[22:34:19] <falkreon> both happen in
the Valhalla branch
L4463[22:34:22] <gigaherz> doesit
generate specialized versions for each primitive type?
L4464[22:34:32] <williewillus> sadly
it'll probably result in some ugly drawback
L4465[22:34:34] <williewillus> yes
L4466[22:34:39] ***
TehNut|Gone is now known as TehNut
L4467[22:34:44] <falkreon> yeah, it
generates Deque${0=I} for primitive int
L4468[22:34:54] <falkreon> but Deque for
all ref types
L4469[22:35:03] <gigaherz> ewh
L4470[22:35:09] <williewillus> they have
to do that
L4471[22:35:11] <williewillus> backward
compat
L4472[22:35:13] <falkreon> hey it's a
step towards reification
L4473[22:35:16] <falkreon> don't gripe
:P
L4474[22:35:32] <gigaherz> I was hoping
for "no it reifies the primitive variants, but keeps erased
version for the object ones"
L4475[22:35:33] <williewillus> we will
never reify without dropping backward compat :p
L4476[22:35:33] <gigaherz> ;P
L4477[22:35:38]
⇦ Quits: pugi (~pugi@host-091-097-035-248.ewe-ip-backbone.de)
(Ping timeout: 192 seconds)
L4478[22:35:48] <falkreon> gigaherz,
that's exactly what I'm saying.
L4479[22:35:57]
⇨ Joins: pugi
(~pugi@host-091-097-013-249.ewe-ip-backbone.de)
L4480[22:36:03] <fry> gigaherz: they're
only sorted per-chunk
L4481[22:36:22] <falkreon> generating a
Deque${0=I} means you can do things like if (queue instanceof
Deque<int>) {}
L4482[22:36:40] <gigaherz> falkreon: as I
assumed you meant at compile time ;P
L4483[22:36:56] <falkreon> yes, but
runtime also.
L4484[22:37:09] <falkreon> and
Deque<int>.class is a thing
L4485[22:37:11] <williewillus> the
<?> wildcard is also get retconned into only representing ref
types, thanks to backward compat
L4486[22:37:19] <falkreon> yeah
L4487[22:37:24] <falkreon> you can't
say
L4488[22:37:29] <falkreon> er
L4489[22:37:29] ***
Abrar|gone is now known as AbrarSyed
L4490[22:37:33] <williewillus> if you
want truly all specializations of Deque you do Deque<any
T>
L4491[22:37:38] <falkreon> queue
instanceof Deque<?> will always be false
L4492[22:37:39] <gigaherz> heh
L4493[22:37:53] <falkreon> for a
primitive type
L4494[22:38:01] <williewillus> how long
can they keep up the backward compat game is the question :p
L4495[22:38:08] <falkreon> heh
L4496[22:38:11] <gigaherz> my question is
different
L4497[22:38:15] <falkreon> here's where
it breaks afaik:
L4498[22:38:33] <gigaherz> does
Deque<int> NOT implement the non-generic Deque
interface?
L4499[22:38:35] <falkreon> T[] i = (T[])
new Object[16];
L4500[22:38:45] <falkreon> ^ Totally
screwed if you do this
L4501[22:38:48] <gigaherz> or do they
provide wrapper methods with Object as the type?
L4502[22:39:13] <falkreon> ?
L4503[22:39:20] <williewillus> I think
there's accessors that autobox
L4504[22:39:23] <gigaherz> Deque d = new
Deque<int>()
L4505[22:39:38] <falkreon> gigaherz, so
far so good.
L4506[22:39:39] <gigaherz> does it have
addFirst(Object) or crash?
L4507[22:39:42] <falkreon> hehe
L4508[22:39:47] <falkreon> yeah, that's
the rough part
L4509[22:39:47] <williewillus> yeah then
you get an object ref version that autoboxes everything
L4510[22:39:50] <falkreon> ^
L4511[22:40:27] <gigaherz> aha so they
did what I thought would be the least annoying version of it
L4512[22:40:37] <williewillus> what
would've been the more annoying one? :p
L4513[22:41:04] <gigaherz> not allow
erased casting for the primitive specializations
L4515[22:41:52] <shadekiller666>
DrDisconsented, what?
L4516[22:41:57] <shadekiller666> select
one or the other?
L4517[22:42:11] <DrDisconsented> How
would I use only the red texture or the green one?
L4518[22:42:14] <Zaggy1024> primitive
generics? is that really gonna be a thing?
L4519[22:42:18] <DrDisconsented> Or does
it not work like that?
L4520[22:42:27] <shadekiller666> ?
L4521[22:42:30] <shadekiller666> i'm
confused
L4522[22:42:44] <shadekiller666> you want
that block to be completely red?
L4523[22:42:59] <shadekiller666> are you
trying to make a block that you can change th color of?
L4524[22:43:17] <DrDisconsented> Well I
want to be able to use 3 different textures with one model
L4525[22:43:18] <falkreon> Zaggy,
valhalla is NOT a JSR, so we have no timetables, but I expect based
on the level of work done and the people involved that it's
happening.
L4526[22:43:50] <falkreon> full support
from Oracle and the OpenJDK community, plus some Panama groundwork
with IBM
L4527[22:43:58] <DrDisconsented> Also
gigaherz yeah my FPS is tanking when I am placing blocks into the
world as well
L4528[22:44:17] <Zaggy1024> sweeeet
L4529[22:44:31] <williewillus> yeah,
their plan everything is always "don't make it worse than it
was"
L4530[22:44:43] <gigaherz> bacl
L4531[22:44:46] <gigaherz> back*
L4532[22:44:52] <gigaherz> so as I was
about to say
L4533[22:44:53] <williewillus> if
everything's just boxed then we're back to where we are now, which
is okay, but the new shiny stuff is available as well
L4534[22:44:56] <gigaherz> some
weeks/months ago
L4535[22:44:59] <DrDisconsented>
shadekiller666> Basicly wanted to have 3 states on a single
block that look different texture wise. Make sense?
L4536[22:44:59] <gigaherz> I was
pondering about that
L4537[22:45:03] <shadekiller666>
DrDisconsented, ok, then you only need 1 material in the .mtl file,
and in your blockstate json, have each variant that changes the
texture have its own "textures": {} block, and inside of
that you can have "#<name of material>":
"modid:block/texture.png"
L4538[22:45:11] <gigaherz> and the best
solution for primitive types I could come up with
L4539[22:45:15] *
Zaggy1024 excited
L4540[22:45:32] <shadekiller666> that
will replace the texture used by the material with the one
specified
L4541[22:45:40] <williewillus> yeah it's
gonna be java 10, and it's going to take centuries to move to
that
L4542[22:45:44] <shadekiller666> and it
should only apply to that one block
L4543[22:45:58] <williewillus> MS
might've (probably will have_ killed our dear Java version by the
time j10 is mainstream
L4544[22:46:00] <falkreon> we all assume
it's going to be 10
L4545[22:46:01] <gigaherz> was to create
a special interface for the specialized/reified version, which at
the moment I named List_of_int in my head
L4546[22:46:09] <gigaherz> and I did
think aboutthe erasure issue
L4547[22:46:10] <falkreon> there are no
guarantees :P
L4548[22:46:12] <DrDisconsented> so
map_Kd will end up being the default correct?
L4549[22:46:21] <gigaherz> and without
breaking bytecode,
L4550[22:46:23] <shadekiller666>
yes
L4551[22:46:24] <williewillus> I'm gonna
keep modding the Java ver if they ever kill it
L4552[22:46:25] <falkreon> gigaherz, so
basically Trove.
L4553[22:46:29] <DrDisconsented>
Awesome
L4554[22:46:31] <gigaherz> the best I
could come up with was for the List_of_int interface
L4555[22:46:36] <gigaherz> to also use
specialized method names
L4556[22:46:40] <gigaherz> like
.add_of_int(int)
L4557[22:46:42] <shadekiller666> any
textures specified in the blockstate json will override whatever is
set using map_Kd
L4558[22:46:50] <gigaherz> while leaving
theo riginal names for the List interface, as Object
L4559[22:46:51] <williewillus> whatever
stupid json walled garden system they come up with will be too
limiting :p
L4560[22:46:52] <gigaherz> with internal
casting
L4561[22:46:55] <falkreon> they're
actually doing some of that
L4562[22:47:03] <gigaherz> and then
L4563[22:47:18] <gigaherz> either at
compile time (specialized), or at runtime (reified), generate the
versions needed
L4564[22:47:56] <gigaherz> the
specialized version would bloat the code a lot, but it wouldn't
require jvm changes
L4565[22:48:07] <falkreon> "public
__WhereRef(E) boolean contains(Object o)" versus "public
boolean containsElement(E e)"
L4566[22:48:20] <falkreon> that's how
it's actually looking in the classes.
L4567[22:48:23] <gigaherz> heh
L4568[22:48:55] <gigaherz> it's nice to
see my idea isn't far from their own
L4569[22:48:55] <gigaherz> ;p
L4570[22:48:58] <falkreon> same thing for
remove and removeElement
L4571[22:49:05] <falkreon> yeah, well
great minds think alike
L4572[22:49:06] <williewillus> yeah their
experimental code is so ugly because they don't care about syntax
until everything else is done
L4573[22:49:07] <falkreon> or in this
case
L4574[22:49:13] <falkreon> sensible minds
are generally sensible
L4575[22:49:22] <falkreon> and there are
finite amounts of sensible solutions here X)
L4576[22:49:25] <gigaherz> yeah
L4577[22:49:25] <williewillus> i feel
like there aren't that many paths
L4578[22:49:26] <gigaherz> XD
L4579[22:49:50] <gigaherz> I did work by
elimination
L4580[22:49:52] <gigaherz> ;P
L4581[22:50:14] <falkreon> yeah, but the
literature I'm seeing is like
L4582[22:50:26] <williewillus> what even
is java 9 going to have :p
L4583[22:50:42] <falkreon>
"basically not too much changed, but if you were abusing
rawtypes and wildcard generics you're going to be screwed till you
learn how to use them right"
L4584[22:51:29] <falkreon> like, thanks
guys, wildcards were very recently a supported part of the language
-_-
L4585[22:51:29] <williewillus> shouldve
just broken back compat in the beginning amirite
L4586[22:51:47] <williewillus> hey you
never know, you always hear horror stories of java programmers
stuck at lang level 4
L4587[22:51:57] <williewillus> can't use
autboxing, generics, anything
L4588[22:52:05] <falkreon> lately it's
6
L4589[22:52:15] <falkreon> so no diamond
operator, forever typing everything twice
L4590[22:52:22] <falkreon> no enum
switches and crap
L4591[22:52:25] <SkySom> No switches on
Strings
L4592[22:52:28] <falkreon> yeah
L4593[22:52:33] <falkreon> a lot less
switches.
L4594[22:52:38] <SkySom> Also wait enum
switches are 7?
L4595[22:52:48] <falkreon> pretty
sure.
L4596[22:53:01] <falkreon> I know enums
are ancient, but switches took a while to catch up.
L4597[22:53:08] <williewillus> enum
switches are 4-5
L4598[22:53:10] <williewillus> strings
are 7
L4599[22:53:13] <falkreon> oh.
L4600[22:53:13] ***
illy is now known as illy[AFK]
L4601[22:53:14] <falkreon> ok
L4602[22:53:19] <williewillus> actually
enums weren't even a thing until 5
L4603[22:53:34] <williewillus> I really
like how Java did enums though vs glorified numbers in the C
family
L4604[22:53:36] <SkySom> Was gonna
say
L4605[22:53:50] <SkySom> Pretty sure I
have language level set to 6 and it allows Enum switches
L4606[22:53:53] <gigaherz> I sortof
prefer the constant-group concept for enums
L4607[22:53:54] <gigaherz> XD
L4608[22:53:56] <falkreon> you know C++11
is starting to get rid of NULL == 0
L4609[22:54:00] <falkreon> well
L4610[22:54:02] <falkreon> nullptr
L4611[22:54:15] <williewillus> can tabula
import techne models? 0.o
L4612[22:54:16] <gigaherz> the java ones
just feel like a bunch of static instances with a
compiler-generated array
L4613[22:54:17] <williewillus> from TCN
file
L4614[22:54:22] <gigaherz> yes
L4615[22:54:26] <williewillus> gigaherz:
that's the point, they're full objects
L4616[22:54:31] <williewillus> and can
implement things and have attributes
L4617[22:54:31] <falkreon> yeah.
L4618[22:54:34] <gigaherz> yeah
L4619[22:54:39] <williewillus> how do I
import then 0.o
L4620[22:54:40] <gigaherz> but my #1 use
for enums in C#
L4621[22:54:41] <falkreon> I think
they're too close to objects
L4622[22:54:42] <gigaherz> is as
flags
L4623[22:54:42] <williewillus> I see no
button
L4624[22:54:42] <gigaherz> XD
L4625[22:54:53] <gigaherz> and java enums
aren't so flag-friendly
L4626[22:55:01] <falkreon> well, there's
EnumSet
L4627[22:55:02] <williewillus> falkreon:
as in they are objects :p with enough hacks you could probably
instantiate an instance of an enum :p
L4628[22:55:06] <falkreon> but aside from
that, yeah
L4629[22:55:11] <williewillus>
Unsafe.newInstance(enumclazz)
L4630[22:55:17] <williewillus>
*allocateNewInstance
L4631[22:55:19] <falkreon> yeah
L4632[22:55:23] <falkreon> see also
EnumHelper
L4633[22:55:24] <falkreon> :P
L4634[22:55:31] <SkySom> :/
Unsafe.....
L4635[22:55:46]
⇦ Quits: pugi (~pugi@host-091-097-013-249.ewe-ip-backbone.de)
()
L4636[22:55:55] <falkreon> Unsafe is
getting tucked away in a back corner of the JVM, so don't worry
about that too much.
L4637[22:56:05] <williewillus> unsafe is
necessary :p
L4638[22:56:11] <falkreon> for now,
yes.
L4639[22:56:16] <williewillus> byebye NIO
and netty if you don't have unsafe
L4640[22:56:27] <falkreon> but I do like
some of the fences and array slices they're doing
L4641[22:56:45] <williewillus> gigaherz:
how do import tcn into tabula 0.o there isn't a button
L4642[22:56:47] <SkySom> Yeah Unsafe is
necessary
L4643[22:57:01] <SkySom> But it is easy
to misuse
L4644[22:57:15] <williewillus> my
favorite is allocating an object without running a
constructor
L4645[22:57:19] <gigaherz> williewillus:
I have no idea XD
L4646[22:57:19] <falkreon> when they
finish with the value types and concurrency primitives Unsafe gets
a lot easier.
L4647[22:57:20] <williewillus> you just
get this dead thing
L4648[22:57:27] <gigaherz> I never used
tabula, only heard people talk about it
L4649[22:57:39] <falkreon> tabula is
pretty useful.
L4650[22:57:46] <shadekiller666> pig, you
around? willie is confused about tabula!
L4651[22:57:58] <williewillus> lol, just
wondering if we can stick TCN files in it
L4652[22:58:14] <gigaherz> well the
pagedoes say
L4653[22:58:15] <gigaherz> "Has the
ability to open Techne files. Supports Child models and has
Undo/Redo save-states."
L4654[22:58:15] <falkreon> yeah, but you
can't pee out tcn2 files
L4655[22:58:26] <falkreon> which is
unfortunate.
L4656[22:58:41] <williewillus> i just
need it so I can see the sane version of the texmap
L4657[22:58:44] <williewillus> so I can
make a json :p
L4658[22:58:53] <gigaherz> why not export
to obj from tabula?
L4659[22:58:57] <gigaherz> ;P
L4660[22:59:00] <williewillus> I don't
want to use OBJ :p
L4661[22:59:18] <williewillus> maybe i
will
L4662[22:59:28] <williewillus> but can't
even import it yet :p
L4663[23:00:35] <gigaherz> I have no idea
how it works but
L4664[23:00:36] <williewillus> there's a
"IMport model to current project" window but it's
empty
L4665[23:00:51] <gigaherz> can't you
like, drop the techne file into some folder inside the mc
one?
L4666[23:01:05] <williewillus> uhhh
maybe? :D
L4667[23:01:35] <falkreon> yeah, there's
a folder inside the mod config folder
L4668[23:01:45] <falkreon> where tabula
looks for files
L4669[23:02:50]
⇦ Quits: Girafi (Girafi@0x555178eb.adsl.cybercity.dk) (Read
error: Connection reset by peer)
L4670[23:03:27]
⇦ Quits: manmaed|AFK (~Ender@97e11aeb.skybroadband.com) (Ping
timeout: 195 seconds)
L4671[23:04:09]
⇨ Joins: turmfalke_
(~turmfalke@p54A69A8B.dip0.t-ipconnect.de)
L4672[23:05:38] <pig> williewillus: put
it in the saves folder
L4673[23:05:52] <pig> tabula reads the 4
different techne formats I've come across
L4674[23:06:04]
⇨ Joins: manmaed|AFK
(~Ender@97e11aeb.skybroadband.com)
L4675[23:06:15] <williewillus> kk
L4676[23:06:16] <pig> also someone
enlighten me on tcn2
L4677[23:06:35] <williewillus> whoah the
botania mini island model is 24 different cubes wat
L4678[23:06:47] <williewillus> definitely
looked like less
L4679[23:06:55] ***
manmaed|AFK is now known as manmaed
L4680[23:12:06] <gigaherz> welp, night
ppl
L4681[23:12:15]
⇦ Quits: gigaherz (gigaherz@80.30.37.219) (Remote host closed
the connection)
L4682[23:12:20] ***
Jared|Away is now known as Jared
L4683[23:19:24] ***
Firedingo is now known as Firedingo|AFK
L4684[23:27:38] ***
Ashley is now known as Ash|Work
L4685[23:28:54]
⇦ Quits: killjoy
(~killjoy@2002:4741:ffb7:e472:61d0:85e1:49ae:595b) (Ping timeout:
192 seconds)
L4686[23:29:28]
⇦ Quits: Hassan
(~hassa@2602:306:cde1:d700:308c:7050:5094:7a54) (Ping timeout: 192
seconds)
L4687[23:38:33]
⇦ Quits: Cojo (~Cojo@2606:a000:1126:8048:83f:317e:b10d:75a5)
(Quit: If we wish to explore, if we wish to see what's over the
next hill, wonders unfold before us; all we have to do is want it
enough.)
L4688[23:40:58] <williewillus> in
tabula/techne the way the guiding furnace is facing is north,
correct?
L4689[23:42:47]
⇨ Joins: Ipsis
(~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk)
L4690[23:49:29] ***
tterrag|ZZZzzz is now known as tterrag|away
L4691[23:49:46]
⇨ Joins: Hassan
(~Hassan@pool-173-79-220-242.washdc.fios.verizon.net)
L4692[23:52:06]
⇦ Quits: HassanS6000
(~Hassan@pool-173-79-220-242.washdc.fios.verizon.net) (Ping
timeout: 190 seconds)
L4693[23:56:02]
⇦ Quits: bilde2910|away (bilde2910@51.174.170.178) (Ping
timeout: 186 seconds)
L4694[23:57:59] <shadekiller666> i
believe so williewillus
L4695[23:59:17]
⇨ Joins: DemoXin
(~DemoXin@233.sub-70-210-57.myvzw.com)