<<Prev
Next>>
Scroll to Bottom
Stuff goes here
L1[00:01:21] <RANKSHANK> how so?
L2[00:02:48] <Delenas> I didn't realize the
initCapabilities doesn't take hands into account.
L3[00:03:01] <Delenas> So I need to do a bit
of hackery with EnumFAcing to support both hands.
L4[00:04:07] <RANKSHANK> Fair enough
:P
L5[00:05:23] <Delenas> But it works :3
L6[00:06:51] ⇨
Joins: Saucier
(~saucier@p5DC19842.dip0.t-ipconnect.de)
L7[00:12:02] <Saucier> Which event should I
use to trigger a config file sync between server and client (after
connecting to the server) ? PlayerLoggedInEvent ? Or something else
?
L8[00:16:32] ⇦
Quits: Brokkoli (~Brokkoli@p5B23C8B2.dip0.t-ipconnect.de) (Quit:
Die Sprache der Politik ist daf�r gemacht, dass L�gen wahr klingen
und das T�ten angemessen wirkt. (George Orwell))
L9[00:18:52] ***
TTFTCUTS is now known as TTFT|Away
L10[00:19:38] <killjoy> Saucier, that
should work
L11[00:19:52] <killjoy> as long as you have
access to the player entity
L12[00:20:34] ⇦
Quits: Ordinastie_ (~Ordinasti@87-231-58-94.rev.numericable.fr)
(Quit: Leaving)
L13[00:21:58] *** cpw
is now known as cpw|out
L14[00:23:36] ⇨
Joins: Hunterz (~hunterz@62.182.234.189)
L15[00:24:10] <Saucier> ok, thank you. Just
to be sure, the event does only trigger server-side, right ?
L16[00:25:10] <Delenas> So.. making the PR
now.
L17[00:25:30] <Delenas> Soon as patches
generate.
L18[00:27:12] ***
mrkirby153 is now known as kirby|gone
L19[00:28:04] ⇦
Quits: killjoy
(~killjoy@cpe-2606-A000-1118-C151-FC94-205A-6090-F08B.dyn6.twc.com)
(Ping timeout: 198 seconds)
L20[00:32:39] ***
linuxdaemon is now known as opinion
L21[00:34:14] ***
kroeser|away is now known as kroeser
L22[00:34:54] ***
opinion is now known as linuxdaemon
L23[00:40:01] <RANKSHANK> Should I modify
my PR so that the effect hooks are handled like IItemColor-trade
some lookup overhead for smaller patches/better consistency?
L24[00:41:56] <FusionLord> Whoo didn't
brick, and got CM installed \o/
L25[00:47:46] ***
kroeser is now known as kroeser|away
L26[00:49:37] <Delenas> The Rangemap is
real
L27[00:49:44] <Delenas> Took 10 minutes to
do that x.x
L28[00:54:25] ***
Darkevilmac is now known as DarkevilAway
L29[00:55:40] ⇦
Quits: Abastro (~abab9579@112.166.128.227) (Ping timeout: 190
seconds)
L30[00:56:23] ⇨
Joins: quadraxis
(~chatzilla@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net)
L32[01:01:08] <AKTheKnight> The join only
fires serverside, the leave client side when I reset to client
configs
L33[01:02:43] ***
minecreatr is now known as Mine|dreamland
L34[01:07:24] ⇦
Quits: quadraxis
(~chatzilla@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net)
(Quit: ChatZilla 0.9.92 [Firefox
47.0.1/20160623154057])
L36[01:11:50] ⇦
Quits: Upthorn
(~ogmar@108-204-125-173.lightspeed.frokca.sbcglobal.net) (Ping
timeout: 192 seconds)
L37[01:15:04] <Delenas> ..just noticed I
never removed the entity bit from the mod name or network handler.
Oop. >.>
L38[01:28:15] <Saucier> @AKTheKnight Thank
you, I'll look into that. I'm currently looking through Mekanism's
Github, but those big projects can be annoying to navigate. So many
files ;_;
L39[01:29:05] ⇦
Quits: mallrat208 (~mallrat20@184-88-190-37.res.bhn.net) (Quit:
Leaving)
L40[01:30:02] <AKTheKnight> Yup haha I know
the feeling
L41[01:43:28] ⇨
Joins: agowa338
(~Thunderbi@p54919CA8.dip0.t-ipconnect.de)
L42[01:45:52] <mezz> thanks Delenas
L43[01:46:57] ⇦
Quits: GunnerWolf
(~GunnerWol@cpc13-shef10-2-0-cust189.17-1.cable.virginm.net) (Ping
timeout: 186 seconds)
L44[01:47:08] <Delenas> I'm still not
exactly positive I'm doing capabilities right.
L45[01:47:16] <mezz> I'll look it
over
L46[01:47:27] <mezz> what capability are
you working with?
L47[01:47:44] <Delenas>
CapabilityGuiProvider- what that pull adds.
L49[01:48:13] <Delenas> Specifically, the
cast to IGuiProvider and whatnot.
L50[01:48:42] <Delenas> Is that intended,
or should one get that as Capability___ instead?
L51[01:48:48] <mezz> let me see
L52[01:50:19] <mezz> still reading but your
code style is a bit off
L53[01:50:42] <mezz> @Override usually goes
on its own line
L54[01:53:17] <Delenas> Blame the
formatter.
L55[01:54:04] <mezz> getCapability should
never have to cast
L56[01:54:11] ⇨
Joins: Abastro (~abab9579@112.166.128.227)
L57[01:54:43] ⇦
Quits: McJty (~jorrit@94-225-203-206.access.telenet.be) (Quit:
Leaving)
L58[01:54:57] <mezz> when you have
Capability<CapabilityGuiProvider>
GUI_PROVIDER_CAPABILITY
L59[01:55:13] <mezz> that means it should
return a CapabilityGuiProvider from
tile.getCapability(GUI_PROVIDER_CAPABILITY
L60[01:55:49] <mezz> you probably want a
Capability<IGuiProvider> ?
L61[01:56:59] <Delenas> Ah, yes
L62[01:57:24] <Delenas> Should I merge
lines on single-line methods?
L63[01:57:47] <Delenas> Like "void
method() { doStuff(); }" ?
L64[01:58:13] <mezz> forge doesn't use
single-line anything very often, only in patches
L65[01:58:25] <mezz> when I've written PRs
I do full braces on everything
L66[01:58:45] <mezz> and across as many
lines as necessary
L67[01:59:24] <mezz> from what I've seen
lex is not a big fan of early-returns, preferring nesting
instead
L68[01:59:28] <theFlaxbeard> Is there any
way to access fog density while a player is underwater?
L69[01:59:34] <MCPBot_Reborn> [TEST CSV]
Pushing snapshot_20160710 mappings to Forge Maven.
L70[01:59:38] <MCPBot_Reborn> [TEST CSV]
Maven upload successful for mcp_snapshot-20160710-1.10.2.zip
(mappings = "snapshot_20160710" in build.gradle).
L71[01:59:38] <mezz> at least when there
are many early returns in a method
L72[01:59:44] <theFlaxbeard> For some
reason RenderFogEvent only triggers when not underwater...
L73[01:59:48] <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/
L74[02:00:18] <mezz> theFlaxbeard, there
are mods that let you see underwater. Mariculture has scuba goggles
or something like that I think
L75[02:00:29] <mezz> maybe you can look
there?
L76[02:00:32] <theFlaxbeard> I'll take a
look there yeah
L77[02:01:14] <Delenas> So, is the early
return in ForgeGuiHandler discouraged?
L78[02:01:40] <Abastro> There is an event
named RenderBlockOverlayEvent which controls
Fire/Underwater/Suffocation overlay
L79[02:02:33] <mezz> Delenas, yeah except
maybe the first if (provider == null) check
L80[02:02:59] <mezz> also make sure your if
statements are spaced properly. you have some weird spacing
inconsistencies
L81[02:03:11] <theFlaxbeard> Abastro: Yup,
got that. Trying to get the fog to go away
L82[02:03:39] <theFlaxbeard> Trying to see
if there's somewhere I can use setFogDensity that will actually
affect something
L83[02:04:00] <Abastro> I think it has
nothing to do with fog density.
L84[02:04:12] <Delenas> Such as?
L85[02:04:31] <Delenas> I think Forge's
provided formatter is royally f** the code style up.
L86[02:04:35] <Abastro> theFlaxbear.d: As
far as I know, it's just underwater an overlay
L87[02:04:35] <mezz> if(provider == null)
should be if (provider == null)
L88[02:04:56] <mezz> you also have a
if(world == null )
L89[02:05:03] <mezz> which is just, not
right by any standard heh
L90[02:05:15] <RANKSHANK> Forge provides a
formatter? I've been going through my submissions manually :P
L91[02:05:23] <theFlaxbeard> Abastro: The
water breathing potion effect decreases fog density - problem is
the forge event that triggers at the same time only triggers when
you're not in a liquid
L92[02:05:28] <mezz> yeah I've never used
or known about their formatter
L93[02:06:28] ⇦
Quits: rebecca (~rebecca@209.95.50.160) (Ping timeout: 198
seconds)
L94[02:06:34] <Delenas> It's under the
wiki, and it's apparently quite shit
L95[02:06:42] ⇨
Joins: Samario
(~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net)
L96[02:06:47] <Delenas> Because I'm having
more headaches than it being useful.
L97[02:06:54] <mezz> probably very
dusty
L98[02:07:00] <RANKSHANK> ahh looks like
not reading thoroughly has saved me for once :P
L99[02:07:03] <Abastro> TheFlaxbear.d: I
didn't know that the fog density is changed in liquid.
L100[02:07:04]
⇨ Joins: VikeStep (~VikeStep@101.184.243.180)
L101[02:07:14] <Tazz> yo what do people
think about Javascript's objects..specifically where you can do
something like var x = undefined || 20; and it resolves to 20 (or
is it null?), Im thinking about making this a feature of eschelle
XD
L102[02:07:37]
⇨ Joins: rebecca_ (~rebecca@209.95.50.24)
L103[02:07:54] <theFlaxbeard> I might end
up granting the player the water breathing effect on the
client
L104[02:08:06] <Abastro> Then
EntityViewRenderEvent.FogDensity will let you modify the
density.
L105[02:09:01] <Abastro>
EntityRenderer#setupFog contains the fog code for water & water
breathing.
L106[02:09:03] <theFlaxbeard> The event
only fires when the player isn't in water
L107[02:09:14] <theFlaxbeard> Which is
really infuriating :P
L108[02:09:52] <Abastro> Wow?
L109[02:10:15] <mezz> Are you sure
underwater is fog any not some other overlay?
L110[02:10:25]
⇨ Joins: Noppes
(~Noppes@ip56530f2e.direct-adsl.nl)
L111[02:10:37] <Abastro> Actually it seems
that there are both
L112[02:12:07] <theFlaxbeard> Yeah, it
overlays the water texture lightly
L113[02:12:11] <theFlaxbeard> but the
vignette effect is fog
L114[02:12:51] <theFlaxbeard> Right now
I'm giving the player water breathing between the start and end
phases of RenderTickEvent, which seems to work alright
L116[02:14:13] <Delenas> Okay, formatting
shenanigans pushed up.
L117[02:14:14] <mezz> judging by the
screenshot, there is good visibility underwater
L118[02:14:18] ***
AEnterpriseAFK is now known as AEnterprise
L119[02:14:25] <theFlaxbeard> The water
breathing effect works, might be what they're using
L121[02:15:03] <mezz> ah nice
L122[02:16:11] <mezz> Delenas, that's
looking better
L123[02:16:25] <mezz> now you need to fix
the capability
L124[02:16:35] <Delenas> What's up with
the cap?
L125[02:17:00] <mezz> if
GUI_PROVIDER_CAPABILITY returns a IGuiProvider, it should be
Capability<IGuiProvider>
L126[02:17:08] <mezz> and then it will not
need casting
L127[02:17:34] <Delenas> I.. did?
L128[02:17:43] <mezz> IGuiProvider cap =
(IGuiProvider)
tile.getCapability(CapabilityGuiProvider.GUI_PROVIDER_CAPABILITY,
EnumFacing.UP);
L129[02:18:29] <mezz> also capabilities
use EnumFacing of null when no facing makes sense, so use
null
L130[02:18:50] <Abastro> theFlaxBear.d:
For me it worked, by setting the density as low value and canceling
the event. (Fog Density Event)
L131[02:19:05] <Delenas> Where at?
L132[02:19:11] <theFlaxbeard> Abastro:
Underwater, you're saying?
L133[02:19:12] <theFlaxbeard> Hmm
L134[02:19:16] <Abastro> Yes.
L136[02:20:08] <mezz> also formatting is
still weird in the test mod
L137[02:20:39]
⇨ Joins: Seppon
(~Noppes@ip56530f2e.direct-adsl.nl)
L138[02:20:39] <Abastro> Simply,
if(inLiquid) event.setDensity(0.1);event.setCanceled(true);
L139[02:20:47] <Delenas> Oh
L140[02:20:57] <Delenas> The cast wasn't
needed, but the side is intended.
L141[02:21:14] <Delenas> This actually
lets people provide different guis depending on which side was
clicked.
L142[02:21:48] <mezz> if that's the case
then you should not have it hardcoded as UP in your test mod
L143[02:22:39] ⇦
Quits: Noppes (~Noppes@ip56530f2e.direct-adsl.nl) (Ping timeout:
192 seconds)
L144[02:25:05] <theFlaxbeard> Abastro:
Looks like I was looking at the wrong event, my bad :P
L145[02:25:08] <theFlaxbeard> Thanks
L146[02:25:13] <RANKSHANK> hey mezz I was
wondering if I could get your input on something :P I've bashed out
another take on the effect pass change pr, comparably neutered for
GL access; and I'm trying to decide whether to keep the control
hooks in the Item.class or mimic vanilla's IItemColor and delegate
the hooks to their own interfaces
L147[02:25:20] ⇦
Quits: alekso56 (~znc@2001:464b:c2aa:0:745d:45ff:fe3b:a098) (Ping
timeout: 190 seconds)
L148[02:26:00] <Delenas> Okay. Round 2 of
formatting derps fixed.
L149[02:26:16] <theFlaxbeard> I kept
looking at RenderFogEvent which is only executed if in air
L150[02:27:07]
⇨ Joins: alekso56
(~znc@2001:464b:c2aa:0:745d:45ff:fe3b:a098)
L151[02:28:38]
⇨ Joins: Nitrodev
(~Nitrodev@87-92-75-66.bb.dnainternet.fi)
L152[02:28:43] <mezz> RANKSHANK, the only
issue I have with the vanilla coloring stuff is that they're
SideOnly Client, which makes them very annoying to implement
L153[02:29:21] ⇦
Quits: Turkey (~Turkey@cpe-24-95-73-99.columbus.res.rr.com) (Read
error: Connection reset by peer)
L154[02:29:30] <mezz> putting it on a
delegate makes sense to me, since few things will implement
it
L155[02:29:56] <mezz> I will probably use
it for bees in Forestry
L156[02:31:04] <mezz> Delenas, I'm going
to start making line-by-line comments now that it's mostly cleaned
up
L157[02:32:11] <Delenas> I will mention
that I was unable to test the Entities part. It should be perfectly
fine, considering it's the exact same code, save for a variable
change and where you get it from.
L158[02:32:37] <mezz> you have to
test
L159[02:33:11] <Delenas> I need help with
that, then. I suck at entity code. :/
L160[02:33:16] <mezz> pretty sure there
are events for you to put capabilities on other things
L161[02:33:28] <RANKSHANK> Alrighty sounds
good :P I was worried about the lookup overhead, but with things
like ItemPotion doing an NBT lookup then 6 IItemColored lookups per
stack it's a fart in the wind I guess :P
L162[02:33:40] <mezz> so you could just
add the capability to horses or something?
L163[02:33:47] <Delenas> In theory,
yes.
L164[02:34:01] <Delenas> I could recreate
the Villager trade gui and attach it to chickens.
L165[02:34:56] <mezz> RANKSHANK, yeah it's
"slow" already. people like to avoid waste but 6 nbt
lookups isn't exactly brining the game to a standstill
L166[02:37:05] <Abastro> Can I ask why
some PRs including mine are not getting any attention?
L167[02:37:40] <RANKSHANK> mezz definitely
true. this will bring 1 additional lookup per stack only when the
effect is rendered
L168[02:38:18] <mezz> Delenas, you may
want to add the capability to all vanilla entities with guis?
L169[02:38:28] <mezz> not sure... hm
L170[02:38:36] <RANKSHANK> Abastro you
gotta push it man :P 118 PR's floating around and maybe 1/2 in a
day if it's a busy one
L171[02:39:32] ⇦
Quits: lashtear (~lashtear@cpe-50-113-67-84.san.res.rr.com) (Quit:
Leaving)
L172[02:39:35] <Delenas> mezz, was aiming
more for this first pull to just add the ability for modded.
L173[02:39:57] <mezz> I'm not sure why it
should be a capability then
L174[02:40:35] <Delenas> For things like
EnderIO's EnderIO to easily open guis without doing
shenanigans
L175[02:41:01] <Delenas> I will add
support for vanilla stuff if this first round is accepted?
L177[02:41:07] <tterrag> I think it's more
than that atm. PRs just generally aren't getting much attention
lately
L178[02:41:16] <tterrag> not sure what's
up. I know fry is busy so he can't help out
L179[02:41:20] <mezz> there are many PRs
floating around right now that are "add event for ___"
that have no use-case, no testing, and no explanation.
L180[02:41:23] <Abastro> I though so
too.
L181[02:41:36] <tterrag> mezz: I don't
think that's it either.
L183[02:41:39] <Abastro> Oh,.. but at
least mine has, and there are bunch more.
L184[02:41:46] <mezz> tterrag, not all of
them
L185[02:41:51] <Delenas> I will say that
this particular cap will immediately be used by my and at least 1
other mod.
L186[02:41:51] <tterrag> clear use case,
many thumbs up, lots of activity, but not one comment from lex/etc
:P
L187[02:42:24] <RANKSHANK> yeah I was
reading through that one the other day :P the GPU clouds looks
pretty nifty too
L188[02:42:49] <mezz> yeah
L189[02:43:13] <Abastro> Yes, I'm
wondering about the PR too.
L190[02:43:57] <LexManos> !help
L191[02:44:05]
⇨ Joins: quadraxis
(~chatzilla@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net)
L192[02:44:05] <tterrag> $ labels add 3073
Feature
L193[02:44:06] <Actuarius> Added labels
[Feature] for issue 3073; new labels: [Feature].
L194[02:46:00] ⇦
Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 190
seconds)
L196[02:47:02] <mezz> interesting
L198[02:47:29] <mezz> most of it is from
generation runaway
L199[02:47:32] <tterrag> that's all
L200[02:47:39] <tterrag> vanilla
WorldGenMinable
L201[02:47:57] <mezz> you have to offset
your generation by 8 x and 8 z
L202[02:48:12] <tterrag> uhhh
L203[02:48:17] <mezz> let me
explain...
L204[02:48:17] <tterrag> never had to do
that before
L205[02:48:19] <mezz> yes
L206[02:48:23] ⇦
Parts: Nitrodev (~Nitrodev@87-92-75-66.bb.dnainternet.fi) (Veni,
Vidi, Non reliquit in))
L207[02:48:23] <mezz> it's a new thing
:)
L208[02:48:34] <tterrag> how new O.o
L209[02:48:39] <mezz> 1.9 or so
L210[02:48:44] <tterrag> because I could
swear this code worked a few days ago
L211[02:48:50] <tterrag> unless I just got
obscenely lucky
L212[02:48:55] <mezz> doesn't break
often
L213[02:48:58] <mezz> but it does
break
L214[02:48:59] <tterrag> this is
reliable
L215[02:49:01]
⇨ Joins: Nitrodev
(~Nitrodev@87-92-75-66.bb.dnainternet.fi)
L216[02:49:04] <tterrag> it's weird
L217[02:49:08] <tterrag> anyways, what
exactly do you mean?
L218[02:49:13] <tterrag> chunkX * 16 + 8
?
L219[02:49:16] <tterrag> like that?
L220[02:49:17] <mezz> yes
L221[02:49:20] <tterrag> weird...ok
L222[02:49:29] <tterrag> I will try
it
L223[02:49:47] <mezz> so when your chunk
decoration is called, it has neighbors on the +,+ side already
generated
L224[02:50:08] <mezz> vanilla and
everything offset by 8,8 so that you never run into the border of
an ungenerated chunk
L225[02:50:46] <mezz> the ores, plants,
etc are put in the world at an offset, lagging behind the chunk
generation by that offset
L226[02:51:01] <tterrag> that is extremely
strange
L227[02:51:12] <tterrag> however, I
suppose it makes sense
L228[02:51:25] <tterrag> what about
generation in the negative direction though? generation happens in
a "circle" ?
L229[02:51:58] <mezz> make sure it's not
larger than 8 radius or so?
L230[02:51:58] <tterrag> yeah no that
didn't fix it
L231[02:52:56] <mezz> ok I may be dumb,
WorldGenMinable already does the offset
L232[02:53:03] <mezz> I didn't see you
used the vanilla one
L233[02:54:38] <mezz> yeah you don't need
it
L235[02:55:04] <tterrag> like I said, this
is very repeatable
L236[02:55:15] <mezz> well your generation
is spilling into unloaded chunks
L237[02:55:20] <mezz> which are in turn
generating more
L238[02:55:23] <mezz> until stack
overflow
L239[02:55:38] <tterrag> I get that
L240[02:55:40] <mezz> that's the root of
it. why, I'm not sure
L241[02:55:46] <tterrag> what I don't get
his how this worked perfectly a few days ago with identical
code
L242[02:55:54] <tterrag> I added then
removed a feature and now it's broken
L243[02:55:59] <tterrag> as far as I can
see, I'm not doing anything different
L244[02:56:17] <mezz> which commits?
L245[02:56:40] <tterrag> screw me
L246[02:56:43] <tterrag>
I:basaltAmount=100
L247[02:56:47] <tterrag> when the hell did
I do that
L248[02:57:37] <tterrag> I literally have
no recollection
L249[02:57:48] <mezz> hehe
L250[02:58:00] <tterrag> well, something
good came of this
L251[02:58:04] <tterrag> I need to put
some sensible limits on those configs
L252[02:58:10] <mezz> ah!
L253[02:58:24] <Delenas> Testing the gui
attach to a pig.
L254[02:58:29] <mezz> heh
L255[02:58:47] <RANKSHANK> piggy
bank?
L257[02:59:25] <Delenas> No, I'm just
gonna make it pop open a gui every time you hit a pig. You
monster.
L258[03:00:08] <mezz> \o/
L259[03:00:38] <Delenas> If this works, we
can check off attachment and entities.
L260[03:01:39] <mezz> cool
L261[03:02:08] <tterrag> ok now
L262[03:02:12] <tterrag> the real worldgen
problem
L263[03:02:16] <tterrag> I want to only
generate some blocks around lava
L264[03:02:31] <tterrag> and nowhere else.
is that possible? checking nearby blocks in the generate method
doesn't work
L265[03:02:39] <tterrag> because, of
course, it tries to generate from a generate method
L266[03:02:51] <mezz> railcraft does it I
think
L267[03:03:08] <tterrag> for sulfur?
that's what I thought too
L268[03:03:09] <mezz> for firestone
L269[03:03:09] <tterrag> evidently
not
L271[03:03:14] <tterrag> firestone? didn't
look at that..hm
L273[03:03:41] <tterrag> doesn't appear
so
L274[03:03:52] <tterrag> oh wait, he has a
custom worldgen class
L275[03:04:29] <tterrag> ok, so he does
just check the block at the position
L276[03:04:37] <tterrag> how does that not
break everything?
L277[03:04:40] <mezz> yeah that's what I
do with bee hives pretty much
L278[03:04:43] <tterrag> I guess because
it's only a vertical check?
L279[03:04:50] <mezz> this is world
decoration, after worldgen
L280[03:04:54] <mezz> most likely
L281[03:04:56] <tterrag> oh
L282[03:05:12] <tterrag> so am I doing it
wrong entirely?
L283[03:05:56] <mezz> you want to do yours
after vanilla world gen and before ore gen and decoration
probably
L284[03:06:18] <tterrag> yes
L285[03:06:36] <tterrag> well no - lava
lakes are decoration aren't they?
L286[03:06:42] <tterrag> it would need to
be after that
L287[03:06:47] <mezz> good question
L288[03:07:30] <tterrag> answer, no
L289[03:07:46] <mezz> interesting
L290[03:07:47] <tterrag> lakes are done in
ChunkProviderOverworld.populate
L291[03:08:01] <tterrag> or is that
decoration? I know nothing about this
L292[03:08:13] <mezz> that is
decoration
L293[03:08:29] <mezz> that's when you get
temples, villages, etc
L294[03:09:08] <tterrag> where is actual
worldgen done?
L295[03:09:16] <tterrag> also,
IWorldGenerators are called AFTER that it seems
L296[03:09:34] <mezz>
ChunkProviderOverworld.provideChunk
L297[03:09:36] <tterrag> see
Chunk#populateChunk
L298[03:10:11] <mezz> wait what, villages
are in provideChunk??? I'm lost one sec
L299[03:10:59] <tterrag> they are in
both
L300[03:11:00] <tterrag> so
L301[03:11:01] <tterrag> ???
L302[03:11:34] <mezz> something does not
add up here
L303[03:11:56] <tterrag> it's vanilla.
when does it add up?
L304[03:12:09] <mezz> well this is
especially strange
L305[03:12:34] <mezz> ok provide does
generate, and populate does generateStructure
L306[03:12:47] <mezz> most likely the mcp
names are just awful, that's all
L307[03:13:44] <tterrag> so the conclusion
is...
L308[03:13:54] <mezz> on most things,
generate seems to just set the seed. caves and stuff that is part
of "provide" will actually do stuff then
L309[03:14:21] <mezz> so the conclusion
is, provide does the actual chunk generation of basic stuff like
stone and caves
L310[03:14:28] <mezz> and populate makes
ores, villages, etc
L311[03:15:48] <tterrag> ok. but where do
I fit in :P
L312[03:16:02] <Delenas> ...does
LivingHurtEvent only fire on the server?
L313[03:16:46] <mezz> there's no post
event for lava lake generation... which is done in populate
btw
L314[03:17:31] <mezz> so
DecorateBiomeEvent.Pre may be the earliest event to use after lava
lake gen
L315[03:18:14] <mezz> it's done just
before ore generation
L316[03:18:30] <mezz> could use
OreGenEvent.Pre as well I guess
L317[03:19:34] <tterrag> railcraft uses
DecorateBiomeEvent.Post for all
L318[03:19:36] <tterrag> which is
strange
L319[03:20:00] <tterrag> mezz: thing is,
WorldGenMinable has a predicate for replaceable blocks
L320[03:20:05] <tterrag> so I don't have
to worry really about being before/after ores
L321[03:20:13] <mezz> railcraft probably
just wants to avoid interfering with others
L322[03:20:20] <tterrag> I don't really
want limestone etc replacing ores :P
L323[03:20:39] <mezz> as long as your
limestone is replaceable like stone is, you can do it before ore
gen and it'll be fine
L324[03:21:20] <mezz> I can't imagine it's
going to be super efficient though...
L325[03:22:27] <mezz> checking a whole
column for lava for every time you want to make a piece will not be
quick
L326[03:23:15] ⇦
Quits: blood|wrk (~owned@STATIC228.iona.edu) (Read error:
Connection reset by peer)
L327[03:24:14] <Delenas> So, mezz.
Problem.
L328[03:24:33] <mezz> yea?
L329[03:24:52] <Delenas>
AttachCapabilities runs server side and caps aren't synced to the
client. I can't easily test this with events. x.x
L330[03:25:23] <mezz> huh...
L331[03:26:52] <Delenas> Isn't there a
super simple entity class I could make?
L332[03:27:36] <mezz> just copy the pig
and strip out most of it, still going to be a pain to do
L333[03:27:53] <mezz> I'm looking at
AttachCapabilities to see why it would work that way
L334[03:28:28] <tterrag> hahah what the
hell
L335[03:28:39] <tterrag>
DecorateBimoeEvent.Post is not fired on the TERRAIN_GEN_BUS
L336[03:28:42] <tterrag> even though the
docs clearly say it is
L337[03:29:00] <tterrag> neither is
Pre
L338[03:29:03] <tterrag> but Decorate
is
L339[03:29:06] <tterrag> ??? why
L340[03:30:17] <mezz> because screw you
that's how it is lol
L341[03:30:38] <mezz> l e g a c y
L342[03:31:25] <Delenas> diesie, you are a
cruel overseer. Thorough, but cruel. >.>
L343[03:33:56] <mezz> just remember you're
carving this into stone and don't get a second chance, it needs to
be as good as it can be
L344[03:34:13] <Delenas> Also.. did you
even look at
net.mcforge.fml.common.network.internal.OpenGuiHandler?
L345[03:34:27] <Delenas> They're using
plenty of client stuff. I'm duplicating that.
L346[03:35:32] ⇦
Quits: theFlaxbeard (~theFlaxbe@184.97.133.184) (Read error:
Connection reset by peer)
L347[03:35:58] <mezz> Delenas,
AttachCapabilitiesEvent.Entity should be called on client and
server, it's called from the constructor for Entity
L348[03:36:19] <Delenas> Odd. I wasn't
getting anything client-side.
L349[03:36:29] ⇦
Quits: psxlover (psxlover@athedsl-385389.home.otenet.gr) (Ping
timeout: 186 seconds)
L350[03:36:33]
⇨ Joins: psxlover
(psxlover@ppp-2-87-116-14.home.otenet.gr)
L351[03:41:15]
⇨ Joins: founderio
(~Thunderbi@p200300C4E3C60000C89359FDAE407CF1.dip0.t-ipconnect.de)
L352[03:48:47] ⇦
Quits: portablejim (~portablej@1.40.168.215) (Ping timeout: 192
seconds)
L353[03:51:35]
⇨ Joins: Necr0
(~Necr0@p200300700D25824901C53599066EFFE6.dip0.t-ipconnect.de)
L354[03:52:06]
⇨ Joins: Elec332
(~Elec332@ip5456d4a5.speed.planet.nl)
L355[03:52:33] <Delenas> Woot. Got the
events working (I apparently derped and used event.getSource
instead of event.getTarget) and the entity cap works too.
L356[03:52:44] <mezz> nice
L357[03:53:13] <Delenas> I'm taking
diesie's suggestion and making IGuiProvider take a type. It makes
the subclasses look nicer.
L358[03:53:49] <Delenas> All three still
work. \o/
L359[03:56:47] <Delenas> ker-push.
L361[04:00:54] <tterrag> because it seems
to work
L362[04:01:01] <tterrag> generates a 2
thick layer of basalt under all lava
L363[04:01:34] <tterrag> it could
definitely be more efficient
L364[04:01:40] <tterrag> i.e. marking
already generated columns
L365[04:01:49] <tterrag> but as a first
pass, I think it's alright :P
L366[04:01:49]
⇨ Joins: Aroma1997
(~Aroma1997@2604:a880:800:10::168:d001)
L367[04:01:50]
⇨ Joins: TechnicianLP
(~Technic@p4FE1C82F.dip0.t-ipconnect.de)
L368[04:01:58] <tterrag> I'm not noticing
any slowdown on generation but I have a pretty beastly PC
L369[04:02:05] <mezz> meh profile it
L370[04:02:27] <mezz> if you take longer
than 90% of vanilla generation then fix it heh
L371[04:02:40] <mezz> nothing worse than
super laggy worldgen
L374[04:05:06] <tterrag> as per usual the
slow chunk interaction is what kills, but it's really not that bad
:P
L375[04:05:19] <tterrag> that's generating
a fresh world
L376[04:05:40] <Wuppy> hahaha you really
cant look anywhere without seeing pokemon go can you xD
L377[04:05:49] <Wuppy> Reddit, Facebook,
trains, festivals everything is full of them
L378[04:08:04] <Delenas> Bluh. Making
another round. This one should clear up a number of concerns.
L380[04:11:13] <tterrag> you can see
basalt lower down where a normal lake was
L381[04:11:14] <mezz> tterrag, looks
alright. you may want to use BlockPos.getAllInBoxMutable for
clarity
L382[04:11:48] <mezz> just imagine there
was lava there 1000000 years ago, it's fine imo
L383[04:11:51] <mezz> heh
L384[04:12:11] <tterrag> ravines are done
in provide
L385[04:12:23] <sham1> That basalt
L386[04:12:26] <tterrag> so they should be
done long before this event is called
L387[04:12:34] <tterrag> why isn't it
finding that lava?
L388[04:12:52] <tterrag> or does something
come through later and fill in all the gaps with lava?
L389[04:13:08] <mezz> I wouldn't really
worry about it
L390[04:13:27] <tterrag> ravines were my
major test case though
L391[04:13:28] <tterrag> it should
work
L392[04:15:05] <Delenas> Think I got
everything this time.
L393[04:15:13] ⇦
Quits: quadraxis
(~chatzilla@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net)
(Ping timeout: 186 seconds)
L395[04:16:09]
⇨ Joins: Larry1123 (Larry1123@irc.larry1123.net)
L396[04:19:28]
⇨ Joins: Upthorn
(~ogmar@108-204-125-173.lightspeed.frokca.sbcglobal.net)
L397[04:21:15] ***
PaleOff is now known as PaleoCrafter
L398[04:24:05] ⇦
Quits: Abastro (~abab9579@112.166.128.227) (Ping timeout: 186
seconds)
L399[04:24:32]
⇨ Joins: AndersBillLind
(~anders@217-211-66-29-no23.tbcn.telia.com)
L400[04:24:38] <tterrag> yeah this is
bizzare
L401[04:24:45] <tterrag> I can see ravines
being generated before my code is called
L402[04:24:55] <tterrag> but for some
reason the lava isn't there
L403[04:25:05] <mezz> interesting
L404[04:25:22] <AndersBillLind> Hello, is
there anyone else here that experienced that travelling through a
portal will turn you around 180 degrees if you clear the off
direciton of the portals?
L405[04:25:37] <tterrag> it must have
something to do with ravines generating across multiple
chunks
L406[04:25:44] <tterrag> mayb eit's only
working at the "source" chunk
L407[04:26:05] <mezz> well something is
adding the lava later, you'll just have to find what it is
L408[04:26:37] <tterrag> no I think that's
just it.
L409[04:26:55] <tterrag> picture the
situation. world is generating along, then later on a ravine is
generated that goes back across previously generated chunks
L410[04:27:09] <tterrag> by which time my
generation has come and gone and the ravine is placed
afterwards
L411[04:27:18] <mezz> ah ok
L412[04:27:22] <tterrag> that must be
it
L413[04:27:36] <tterrag> so,
theoretically, if there was any lava at the "source" of
the ravine, it would work fine
L414[04:27:45] <mezz> my assumption would
be that a ravine just loads all the chunks it goes across
L415[04:27:56] <tterrag> right. but what
if the ravine heads "backwards"
L416[04:28:03] <mezz> then generate
L417[04:28:12] <tterrag> err. right
L418[04:30:37] <mezz> not sure what it
actually does though... enjoy reading heh
L419[04:31:22] <tterrag> I can't think of
another reasonable explanation
L420[04:31:37] <tterrag> but if my theory
is true it would mean that 50% of ravines should work fine
L421[04:31:44] <tterrag> the ones that
move "forward" and into ungenerated chunks
L422[04:32:16] <mezz> I think any theory
is not worth considering without reading how it actually
works
L423[04:32:59] <tterrag> I am trying
L425[04:33:13] <tterrag> you try reading
MapGenRavine.addTunnel
L426[04:33:15] <tterrag> see how far you
get
L428[04:33:52] *
mezz opens new forge project and renames variables
L429[04:34:17]
⇨ Joins: Davnit
(~Davnit@72-189-103-223.res.bhn.net)
L430[04:34:17] <Delenas> mezz, done.
L431[04:34:51] <mezz> cool
L432[04:34:54] <mezz> I added some more
comments
L433[04:35:02] <mezz> getting into the
small stuff
L434[04:37:36] <Delenas> Heh. You brought
up a valid point with @nullable
L435[04:37:53] <tterrag> mezz: params seem
to be seed, originX, originZ, primer, endX, endY, endZ, widthX,
height, widthZ
L436[04:37:55] <tterrag> past that idk
lol
L437[04:38:08] <Delenas> It was leftover
from an older design. I thought about it, and.. yeah. You should
always have something there.
L438[04:38:22] <mezz> yeah it's fun
tterrag. I'll let you know what I get out of it
L439[04:38:54] <mezz> cool Delenas. one
less nullable is one less thing to reason about
L440[04:41:24]
⇨ Joins: KGS
(~KGS@h-155-4-135-249.na.cust.bahnhof.se)
L441[04:41:57] <Delenas> Up it goes.
L442[04:44:40] <mezz> one more
comment
L443[04:45:05] <mezz> not sure what the
use of GuiProviderBlank is
L444[04:45:24] <Delenas> Your default
implementation.
L445[04:45:36] <Delenas> You get nothing
and should expect nothing.
L447[04:45:52] <Delenas> You /have/ to
make your own impl with this. Absolute must.
L448[04:45:59] <mezz> yeah
L449[04:46:12] <mezz> one of the strange
things I wonder about
L450[04:46:32] <mezz> anyway looks alright
to me, assuming it tests well and isn't breaking older guis
L451[04:47:11] <Delenas> Considering that
I haven't touched the other stuff except to add that one bit to
FmlNetworkHandler to get the server handlers.. it shouldn't break a
thing.
L452[04:49:41] <mezz> I've broken
everything in unimaginable ways many times... I trust nothing
lol
L453[04:51:01] <Delenas> Lemme drop
Forestry in here quick
L454[04:54:07] <Delenas> Flawless.
L455[04:54:13] <mezz> cool
L456[04:54:33] <mezz> I already delegate
my gui junk to blocks/entities whatever so this capability will be
a nice cleanup for me
L457[04:54:41] <Delenas> So does
RFTools
L458[04:54:57] <mezz> it just makes
sense
L459[04:55:00] <Delenas> I do as well.
That's a reason I wanted to push it.
L460[04:55:16] <PaleoCrafter> dafuq,
there's a section on my main monitor all of a sudden without any
mouse interaction xD
L461[04:55:17] <Delenas> Someone in here
nagged that "forge abstracts it"
L462[04:55:37] <Delenas> Uhh. No. No, read
the code. The int was just a fast way to do the packet.
L463[04:56:14] ***
PaleoCrafter is now known as PaleOff
L464[04:57:13] <Delenas> And like I said.
I look forward to seeing other mods interacting with a gui
capability. Imagine a wall of panels where you can remote-access a
gui, like a main hub station.
L465[04:57:28] ***
PaleOff is now known as PaleoCrafter
L466[04:57:35] <mezz> yeah, that sounds
interesting
L467[04:58:11] <Delenas> Or, once I figure
out how the balls Villager trading works, I can remake the
OpenBlocks Trade Station /super/ quickly.
L468[04:58:40] ⇦
Quits: auenf (David@DC-72-89.bpb.bigpond.com) (Remote host closed
the connection)
L469[04:59:22] <mezz> hahahaha enjoy
that
L470[04:59:38]
⇨ Joins: auenf (David@DC-72-89.bpb.bigpond.com)
L471[04:59:48] <mezz> villager trading is
very odd at the moment
L472[05:00:01] <Delenas> nope.jpg
L473[05:00:30] <RANKSHANK> so much
potential and mojang dumps notchism all over it
L474[05:00:35] <mezz> it's like very old
vanilla with new vanilla features on top, patched somewhat by
forge
L475[05:00:48] <Delenas> Anyway, this
finally started with me being selfish and wanting forge to do
things versus my own packet
L476[05:00:55] <mezz> heh
L477[05:01:22] <Delenas> All because I
didn't feel like making packets just to add a single string to the
message.
L478[05:01:53] <RANKSHANK> something
something lazy people find the quickest route ;)
L479[05:01:55] <Delenas> So I said fuck it
and rewrote like 98% of the gui opening system. \o/
L480[05:02:12] <mezz> mhm
L481[05:02:37] <Delenas> What's funny is
with this.. it may actually be possible to completely phase out a
lot of FML code.
L482[05:04:00] <mezz> tterrag, sorry but
no, this code is just hacks on crap, tweaked until it works.
viewing it from a decompiled state is just terrible
L483[05:04:11] ***
PaleoCrafter is now known as PaleOff
L484[05:04:21] <mezz> hope you can figure
out what you need
L485[05:04:23] <tterrag> I warned ya
:P
L486[05:04:35] <mezz> yeah, I figured I'd
give it a fair shot to help
L487[05:04:46] <mezz> but it's just making
me fall asleep
L488[05:04:55] <Delenas> Okay, done on the
dev side. Gonna go fwump into bed and be laz[y|ier] now.
L489[05:05:00] ⇦
Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 190
seconds)
L491[05:05:08] ⇦
Quits: Delenas (~Delenas@2600:1016:b11a:e44b:1526:6510:f029:ac72)
(Quit: Console.Write("Goodbye, world!");)
L492[05:05:16] <RANKSHANK> well earned,
night man
L493[05:05:29] ***
PaleOff is now known as PaleoCrafter
L494[05:08:45]
⇨ Joins: gigaherz
(gigaherz@105.red-88-6-85.staticip.rima-tde.net)
L495[05:09:24] <AndersBillLind> Having
problems seaching in class files of referenced libraries in
eclipse
L496[05:09:34] <AndersBillLind> That
should come for free, should it not?
L497[05:10:43] <mezz> class files need to
be decompiled to search, don't they?
L498[05:10:57] <AndersBillLind> They
are
L499[05:11:00] <mezz> intellij has a
built-in decompiler but I don't know if eclipse does
L500[05:11:03] <mezz> okay
L501[05:11:23] <AndersBillLind> I have
done this before without problems, not in eclipse neon
however
L502[05:11:29] ***
Kolatra|away is now known as Kolatra
L503[05:11:32] <tterrag> fg attaches
source
L504[05:11:36] <tterrag> you'd think it
would search that
L505[05:11:47]
⇨ Joins: Larry1123 (Larry1123@irc.larry1123.net)
L506[05:11:53] <AndersBillLind> It has
done
L507[05:12:17]
⇨ Joins: quadraxis
(~chatzilla@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net)
L508[05:12:17] <AndersBillLind> Searching
with the file pattern * makes eclipse puke on the .lock file
L509[05:12:27] <AndersBillLind> I changed
that to *.class, *.java
L510[05:12:42] <AndersBillLind> Does
attached source have another extension?
L511[05:15:14] <gigaherz> what are you
searching for? maybe we can confirm that it's there/not there
L512[05:15:52] <gigaherz> if it's
something that we can search for, that is
L513[05:16:21]
⇨ Joins: Jezza (~Jezza@92.206.5.6)
L514[05:17:17] <AndersBillLind> I am just
trying to search "torch" to make sure the search
mechanism works
L515[05:17:18] <AndersBillLind> No
hit
L516[05:17:28] <AndersBillLind> I am
trying to find nether portals logic
L518[05:19:08]
⇨ Joins: Delenas
(~Delenas@2600:1016:b11a:e44b:512a:ade8:ea8e:17df)
L519[05:20:03]
⇨ Joins: kimfy
(~kimfy@236.5.200.37.customer.cdi.no)
L520[05:21:09] <Delenas> Mezz you taunt
me
L521[05:21:11] <quadraxis> you probably
want net.minecraft.world.Teleporter
L522[05:21:19] <mezz> yea?
L523[05:21:51] <Delenas> That single Enum
instance.
L524[05:22:08] <Delenas> That can be
null.
L525[05:22:12] <mezz> heh
L526[05:22:19] <mezz> the one below it
too
L527[05:22:26] <Delenas> Yes
L528[05:22:45] <Delenas> That was before I
knew null was totally fine to go there
L529[05:22:59] <mezz> I thought so
:)
L530[05:23:39] <Delenas> Anyway. Why is
side even in the base ICapProvider? It's only used for tiles.
L531[05:23:59] <mezz> because uh...
um
L532[05:24:04] <Delenas> Seems easier to
push that to a seperate interface, or an extension or
something.
L533[05:24:05] <gigaherz> no it
isn't
L534[05:24:10] <gigaherz> side also makes
sense for entities
L535[05:24:18] <gigaherz> and even
itemstacks
L536[05:24:34] <Delenas> Explain?
L537[05:24:35] <mezz> itemstack sidedness
is debatable
L538[05:24:35] <gigaherz> suppose a
capability that has different behaviour if it's activated by a
block below it
L539[05:24:38] <gigaherz> or a block above
it
L540[05:24:44] <gigaherz> such as
L541[05:25:00] <gigaherz> if you activate
a machine from below, it may affect the feet only
L542[05:25:19]
⇨ Joins: Naiten (~Naiten@77.34.107.176)
L543[05:25:25] <gigaherz> if you were to
make a "trap" and a "trap target"
capability
L544[05:25:29] <mezz> I'm off to sleep
o/
L545[05:25:39] <gigaherz> the target may
be side-aware
L546[05:25:54]
⇨ Joins: Inari
(~Pinkishu@p5DEC62CC.dip0.t-ipconnect.de)
L547[05:25:55] <gigaherz> and the trap
target for "down" may be the feet (causing slowness or
whatever)
L548[05:26:04] <gigaherz> the
"side" may be the arms (causing weakness)
L549[05:26:20] <gigaherz> and the
"top" may be the head (causing blindness?)
L550[05:26:24] <gigaherz> that's just one
example
L551[05:26:37] <gigaherz> for itemstacks
it's a lot more...
L552[05:26:43] <gigaherz> I don't know if
you have this phrase
L553[05:26:46] <gigaherz> "holding
itself by a string"
L554[05:26:52] <gigaherz> or "by a
hair"
L555[05:26:55] <Delenas> That sounds like
a poor attempt at reuse because you don't have anything
better..
L556[05:27:04] <gigaherz> yeah well, tell
that to Lex
L557[05:27:05] <gigaherz> ;p
L558[05:27:23] <tterrag> mezz: aha, I
found a solution
L559[05:27:27] <gigaherz> but really
L560[05:27:28] <tterrag> there is a hook
to replace the MapGenRavine
L561[05:27:28] <gigaherz> yes.
L562[05:27:30] <gigaherz> it's just
reusing
L563[05:27:37] <gigaherz> it's less useful
outside TileEntities
L564[05:27:38] <gigaherz> but it's
there
L565[05:27:40] <gigaherz> so deal with
it
L566[05:27:46] <tterrag> ravineGenerator =
net.minecraftforge.event.terraingen.TerrainGen.getModdedMapGen(ravineGenerator,
net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.RAVINE);
L567[05:27:56] <tterrag> I can just swap
in an anon class which adds basalt
L568[05:28:15] <Delenas> That's another
reason I rewrote guis. Because people did wierd things with the
ints. No, stahp.
L569[05:28:41] <gigaherz> ints?
L570[05:28:43] ⇦
Quits: Naiten (~Naiten@77.34.107.176) (Read error: Connection reset
by peer)
L571[05:28:56] <Delenas> Just because it's
there does not mean use it strangely. Make it right.
L572[05:29:00] <gigaherz> oh you mean the
"id, x, y, z" args?
L573[05:29:15] <Delenas> Yes
L574[05:29:19]
⇨ Joins: Abastro (~abab9579@112.166.128.227)
L575[05:29:30] <gigaherz> but the numbers
are there, and they have no meaning outside blocks
L576[05:29:35] <gigaherz> so may as well
give them a purpose
L577[05:29:37] <gigaherz> and say
likt
L578[05:29:39] <gigaherz> like*
L579[05:29:44] <Delenas> Nooo
L580[05:29:53] <gigaherz> a coded
inventory send the 3 wool colors in the x,y,z args
L581[05:30:06] <gigaherz> IMO
L582[05:30:08] <AndersBillLind> It seems
like if I use "java search" instead of "file
search", I can search those source attachments in
eclipse
L583[05:30:12] <gigaherz> I'd just have
renamed those args
L584[05:30:14] <Delenas> Did you see my
Gui cap pull?
L585[05:30:19] <gigaherz> param1, param2,
param3, param4
L586[05:30:27] <gigaherz> and remove the
ides that they are coords and id
L587[05:30:29] <gigaherz> idea*
L588[05:30:54] <Delenas> It fixes that
problem and makes the whole system a bit nicer.
L589[05:31:54] <gigaherz> IMO, it's not a
problem
L590[05:32:02] <gigaherz> it's a nice
redesign regardless
L591[05:32:06] <gigaherz> if
anything
L592[05:32:13] <gigaherz> the problem is
not having the ability to have less or more args
L593[05:32:23] <gigaherz> NOT that people
reuse the existing ones
L594[05:32:28] <Delenas> The problem of
sending extra data through a packet when you don't need it.
L595[05:32:44] <Delenas> Yes
L596[05:33:31] <Delenas> That's what this
cap solves. It gives you a baseline, and lets you do more.
L597[05:33:36]
⇨ Joins: iari (~iari___@evana.futhark24.org)
L598[05:33:38] <gigaherz> yep and that's
good
L599[05:34:30] <Delenas> I feel like big
mods need to look at it though. It might miss critical
things.
L600[05:34:48] <Delenas> Maybe that's just
me being paranoid.
L601[05:35:01] <gigaherz> what critical
things would it need?
L602[05:35:27] <gigaherz> it has a way to
encode args
L603[05:35:30] <gigaherz> a way to decode
args
L604[05:35:34] <gigaherz> a way to obtain
the Container
L605[05:35:40] <gigaherz> and a way to
obtain the GuiContainer
L606[05:36:18] <gigaherz> btw, the
"clientGuiElement" returns object?
L607[05:36:22] <Delenas> Even a means of
getting the implementor. Okay, yeah.
L608[05:36:33] <Delenas> Yes.
L609[05:36:52] <Delenas> Because
legacy.
L610[05:37:08] <gigaherz> there's no
legacy, you are adding a whole new api
L611[05:37:24] <Delenas> It makes a clean
copy paste.
L612[05:37:45] <gigaherz> and there's
existing big mods that use non-GuiContainer client elements?
L613[05:38:16] <Delenas> Dunno, don't want
to know
L614[05:38:53] <gigaherz> I'd probably ask
around, and consider changing to return GuiContainer
explicitly
L615[05:38:54] <Delenas> And I thoroughly
use GuiScreen on client, not GuiContainer
L616[05:39:04] <Delenas> So no.
L617[05:39:19] <Delenas> If anything I
change it to Gui
L618[05:39:25] <gigaherz> you use
GuiScreen for the client equivalent of the Container??
L619[05:39:58] <tterrag> mezz: I think I
found the problem and boy is it a stupid one
L620[05:40:02] <tterrag> LAVA vs
FLOWING_LAV
L621[05:40:05] <tterrag> *facepalm*
L622[05:40:05] <Delenas> Yes. I have
client only guis that don't need a container.
L623[05:40:06] <tterrag> testing now
L624[05:40:17] <gigaherz> that's not what
I'm asking
L625[05:40:22] <gigaherz> I'm asking if
you use GuiScreen
L626[05:40:32] <gigaherz> for guis that
you open WITH a Container on the server
L627[05:40:35] <gigaherz> rather than the
client-only
L628[05:40:37] <Delenas> I do.
L629[05:40:37] <gigaherz>
displayGuiScreen
L630[05:40:43] <gigaherz> that's wrong,
then.
L631[05:40:48] <gigaherz> it breaks the
semantic
L632[05:40:56] <gigaherz> just use
displayGuiScreen on the client
L633[05:41:00] <Delenas> Well, I can
change that.
L634[05:41:11] <Delenas> But right there,
I just proved this could break.
L635[05:41:17] <gigaherz> if you don't
need a container and data sync
L636[05:41:22] <gigaherz> yep
L637[05:41:27] <gigaherz> and break for no
reason other than doing it wrong
L638[05:41:29]
⇨ Joins: Naiten
(~Naiten@86-102-14-50.xdsl.primorye.ru)
L639[05:41:33] <gigaherz> which reinforces
my feeling that it should be explicit
L640[05:42:18] <gigaherz> maybe other
people disagree with me
L641[05:42:19] <Delenas> All this system
does is send a packet to open a gui on both sides.
L642[05:42:23] <gigaherz> in which case
/shrug
L643[05:42:26] <AndersBillLind> Where do I
find logic for nether portals?
L644[05:42:38] <gigaherz> [12:21]
(quadraxis): you probably want net.minecraft.world.Teleporter
L645[05:42:45] <Delenas> It's not for
inventories, not for containers. It's just to open two guis.
L646[05:42:50] <gigaherz> no
L647[05:42:55] <gigaherz> well
L648[05:42:57] <gigaherz> yes but no
L649[05:43:36] <gigaherz> if the server
didn't expect a Container
L650[05:43:39] <gigaherz> I'd be ok with
it
L651[05:43:44] <gigaherz> just allow
returning null for server
L652[05:43:49] <gigaherz> and use the
packet to open the gui on the client
L653[05:44:00] <gigaherz> or allow ANY
custom object to represent the server side of the gui
L654[05:44:02] <Delenas> Unless my memory
fails, I've seen JtyLib doing one sided stuff.
L655[05:44:05] <gigaherz> but that's not
the case
L656[05:44:13] <gigaherz> the server
element gets cast to Container
L657[05:45:19] <Delenas> Because that's
what gets returned on the server all the time.
L658[05:45:34] <gigaherz> and the client
element has to be at least GuiScreen, since it ends up on
displayGuiScreen(GuiScreen)
L659[05:45:46] <Delenas> If you want it
otherwise, blame diesie for wanting it to be a container.
L660[05:45:59] <gigaherz> nono
L661[05:46:02] <gigaherz> the server MUST
be a container
L662[05:46:46] <Delenas> Then I'll modify
getClient to return a GuiScreen.
L663[05:46:48] <gigaherz> the server
tracks the open containers and has the whole windowId stuff
L664[05:47:34] <gigaherz> but yeah, I
followed the logic on the client
L665[05:47:42] <gigaherz> and it ends up
calling displayGuiScreen, which takes a GuiScreen
L666[05:48:11] <Delenas> Okay. Do I
currently have @Nullable on getServerElement?
L667[05:48:50] <tterrag> mezz: yep that
was it
L668[05:48:52] <tterrag> what a waste of
time lol
L669[05:48:58] <gigaherz> you do
L670[05:49:03] <gigaherz> and that's
ok
L671[05:49:20] <gigaherz> the code that
calls openGui supports that
L672[05:49:24] <gigaherz> it will simply
not open a gui at all
L673[05:49:28] <gigaherz> but it's a
supported scenario
L674[05:49:31] <Delenas> I need to remove
@Nullable on getClient.
L675[05:49:53] <gigaherz> well
L676[05:49:56] <gigaherz> returning null
is possible
L677[05:50:00] <Delenas> If you're opening
a gui, it should display something, right?
L678[05:50:04] <gigaherz> but it would
just cause any existing gui to close
L679[05:50:28] <gigaherz> but yeah, may be
best to not allow nulols
L680[05:50:30] <gigaherz> nulls*
L681[05:50:37] <Delenas> All right.
L682[05:51:15] <Delenas> Also if anyone
bitches about GuiProviderBlank I swear
L683[05:51:54] <Delenas> This sort of cap
can't have a default impl. You have a gui. It's there.
L684[05:51:57] <gigaherz> well it IS a
pointless class? ;P
L685[05:52:31] <Delenas> How wouod I
return a default impl in register then?
L686[05:53:26] <gigaherz> well it may be a
necessary evil
L687[05:53:33] <gigaherz> but it's still
intrinsically pointless
L688[05:53:44] <gigaherz> it serves no
use
L689[05:53:47] <Delenas> The only thing I
could do i s return a screen with a default tint that reads
"hey idiot, make the implementation"
L690[05:53:54] <gigaherz> so it makes the
default implementation just return something for the sake of
returning something
L691[05:54:18] <Delenas> Actually,
no.
L692[05:54:32] <Delenas> Imma make it
return the old broken image icon from IE.
L693[05:54:39] <gigaherz> which is
something that has always annoyed me from the capability system:
the default implementation is only useful in a very small number of
cases
L694[05:55:11] <gigaherz> for most use
cases, you either need specific implementations for each
target
L695[05:55:30] <Delenas> I think we should
be able to just regisyer a cap. No storage, no default impl.
L696[05:55:39] <AndersBillLind> Maybe I
should try intellij after all
L697[05:55:45] <Delenas> Do et
L698[05:55:52] <Delenas> Idea #1
L699[05:55:54] <gigaherz> or it's an
internal capability that no one from outside your mod should
use
L700[05:55:54] <AndersBillLind> An
environment that does not let me search is not much worth
L701[05:56:06] <tterrag> I have never had
an issue with searching :P
L702[05:56:09] <gigaherz> AndersBillLind:
you won't regret it
L703[05:56:09] <tterrag> what are you
searchign for?
L704[05:56:16] ⇦
Quits: KGS (~KGS@h-155-4-135-249.na.cust.bahnhof.se) (Ping timeout:
198 seconds)
L705[05:56:18] <gigaherz> tterrag:
apparently not even "torch" returns anything
L706[05:56:24] <Inari> Hm.. how do I get
the ResourceLocation for the button textures?
L707[05:56:32] <AndersBillLind> I want to
be able to do a freetext search in references libraries (source
attachments)
L708[05:56:43] <gigaherz> Inari: are you
not using a GuiButton?
L709[05:56:47] <AndersBillLind> I am
specifically searching for logic that is related to nether
portalt
L710[05:56:50] <AndersBillLind>
portals
L711[05:57:16] <Inari> gigaherz: well it
extends GuiButton
L712[05:57:28] <Inari> ... i guess i could
look into the superclass draw though
L714[05:58:01] <AndersBillLind> Then which
setup do you have?
L715[05:58:17] <gigaherz> Inari: then you
can access the superclass' BUTTON_TEXTURE field
L717[05:58:20] <gigaherz> see how I did
it
L718[05:58:20] <AndersBillLind> I am using
neon
L719[05:58:26] <gigaherz> and if what you
are doing
L720[05:58:34] <gigaherz> is a button that
allows drawing smaller height than standard
L721[05:58:35] <Inari> gigaherz: yeah xD
for some reason i didnt think of that before i asked
<.<
L722[05:58:36] <gigaherz> that
works.
L723[05:58:36] <gigaherz> XD
L724[05:58:47] <Inari> i'll see how it
works once it compiles :f
L725[05:59:08] <tterrag> AndersBillLind:
neon
L726[05:59:11] <tterrag> I used search
java
L727[05:59:12] <AndersBillLind> Same
here
L728[05:59:20] <AndersBillLind> Java
search?
L730[05:59:43] <VikeStep> so I'm gonna fix
that ASM bug for microsoft lol
L731[05:59:45] <Delenas> Once I saw IDEAs
recompile and hotswap feature I dropped Eclipse /so fast/
L732[05:59:46] <VikeStep> that lex found
last night
L733[05:59:50] <AndersBillLind> I want to
be able to use a hotkey, I use ctrl+shift+f (removed formatting for
that shortcut)
L734[05:59:58] <Inari> I still have to
figure out what of this rendering stuff to do with json, what with
smartmodels and what with TESR
L735[06:00:00] <sham1> How can you use
Eclipse without a dark theme
L736[06:00:04] <sham1> The UI is so
bright
L737[06:00:09] <AndersBillLind> But I
cannot get rid of "file search" as one of the checked
alternatives
L738[06:00:15] <AndersBillLind> So I start
in the wrong tab
L739[06:00:18] <PaleoCrafter> the dark
theme just looks shit, sham1 :P
L740[06:00:31] <sham1> Some other dark
theme
L741[06:00:36] <tterrag> AndersBillLind:
it's ctrl+h
L742[06:00:41] <PaleoCrafter> the problem
isn't really with the theme, more with Windows, iirc
L743[06:00:43] <VikeStep> sham1, just
finished doing a Java course at uni where everyone use eclipse. was
very painful haha
L744[06:00:44] <tterrag> then to the java
search tab
L745[06:00:45] <AndersBillLind> The
package explorer will not go dark using that theme?
L746[06:00:52] <VikeStep> when i went to
help people that is
L747[06:00:55] <PaleoCrafter> because some
things don't get themed
L748[06:01:07] <gigaherz> windows can do
custom-drawing just fine
L749[06:01:11] <AndersBillLind>
tterrag++
L750[06:01:18] <gigaherz> it's java's gui
framework that sucks
L751[06:01:19] <tterrag> np :D
L752[06:01:26] <Delenas> Soon as I can I'm
moving to Cinnamon or something Linuxy
L753[06:01:26] <PaleoCrafter> gigaherz, it
works for IDEA, duh :P
L754[06:01:29] <tterrag> yes I'll admit
eclipse theming is lacking
L755[06:01:35] <sham1> IDEA is swing
L756[06:01:38] <tterrag> it doesn't really
bother me though
L757[06:01:40] <AndersBillLind> tterrag:
ctr+h to search for "bed" gives me no results
L758[06:01:40] <sham1> And that works just
fine
L759[06:01:46] <gigaherz> PaleoCrafter:
yeah
L760[06:01:51] <AndersBillLind> It is not
a good substring searcher, is it?
L761[06:01:54] <sham1> Eclipse is
SWT
L762[06:01:55] <Delenas> Anders, resources
or java?
L763[06:01:55] <gigaherz> but Eclipse
doesn't bother using custom-drawn scrollbars
L764[06:02:00] <AndersBillLind> java
L765[06:02:06] <PaleoCrafter> it's not
just the scrollbars
L766[06:02:07] <Delenas> BlockBed
L767[06:02:20] <tterrag> AndersBillLind:
you have to pick what you are searching in
L768[06:02:24] <sham1> I love clion
L769[06:02:29] <AndersBillLind> Delenas:
Yes, but if i need to know its "BlockBed" instead of
"bed", then the search functionality is broken
L770[06:02:30] <gigaherz> PaleoCrafter: it
is, for me
L772[06:02:32] <gigaherz> that's how it
looks
L774[06:02:36] <gigaherz> when I set the
theme to dark
L775[06:02:36] <Delenas> Learn how mcp
filenames are structured, it helps :3
L776[06:02:44] <PaleoCrafter> It must have
improved then
L778[06:02:50] <PaleoCrafter> I remember
the tabs and everything being messed up as well
L779[06:02:55] <tterrag> PaleoCrafter: it
has improved, but it's still not perfect
L780[06:02:56] ***
Darkhax is now known as Darkhax_AFK
L781[06:03:05] <AndersBillLind> Ah, can
use wildcard
L782[06:03:07] <tterrag> for example the
git plugin makes the project names black text. you can fix it but
it's a PITA
L783[06:03:10] <AndersBillLind> *bed* gave
me a lot
L784[06:03:15] <tterrag> yes, if you pick
regex
L785[06:03:25] <tterrag> also, the
breadcrumb is just messed up most of the time
L786[06:03:31] <tterrag> other than
that...it's mostly ok in neon
L787[06:03:37] <tterrag> I tried it,
couldn't get used to it
L788[06:03:40] <tterrag> light theme is
fine for me :P
L789[06:03:48] <gigaherz> this is Mars.2
btw, not the latest ;P
L790[06:03:48] <sham1> How do you work at
dark
L791[06:04:28] <gigaherz> sham1: I use
IDEA, I only open eclipse when i have to make changes to forge
proper
L792[06:04:30] <gigaherz> or vanilla
code
L793[06:04:32] <gigaherz> (for PRs)
L794[06:04:41] <PaleoCrafter> watch cpw's
video :P
L795[06:04:49] <PaleoCrafter> no need for
eclipse at all
L796[06:04:55] <gigaherz> I know
L797[06:05:03] <gigaherz> but I have
eclipse working XD
L798[06:05:16] <gigaherz> and I use IDEA
15, rather than the latest one
L799[06:05:24] <PaleoCrafter> D:
L800[06:05:44] <gigaherz> well every now
and then someone comes here with some weird issue
L801[06:05:54] <gigaherz> and someone says
"yeah that's a problem with idea 2016"
L802[06:06:01] <gigaherz> "just do
this to fix"
L803[06:06:08] <gigaherz> and I'm happy to
still use idea 15
L804[06:06:09] <gigaherz> ;P
L805[06:06:20] <PaleoCrafter> the issue is
on FG's end, really :P
L806[06:07:17] <AndersBillLind> Woah, I
enabled searchability
L807[06:07:21] <AndersBillLind> intellij
has to wait
L808[06:07:36] <sham1> Nop
L809[06:07:59] <AndersBillLind> But its
not regex, I think
L810[06:08:34] <AndersBillLind> Then I
would not need those *
L811[06:09:34]
⇨ Joins: portablejim
(~portablej@2001:4830:1200:8083:3c59:e7e:f65e:2aa8)
L812[06:09:56]
⇨ Joins: raoulvdberge
(uid95673@id-95673.richmond.irccloud.com)
L813[06:10:01] <AndersBillLind> tterag:
Thanks for the help, I cannot pick regex anywhere btw
L814[06:10:14] <VikeStep> ah, so I did
some more digging. And it seems that the steps that they provide
for running Malmo is to actually run Minecraft using gradlew
runClient
L815[06:10:21] <VikeStep> rather than
actually installing the mod in Minecraft
L816[06:10:30] <raoulvdberge> Does forge
have some kind of event that is fired when an inventory in the
world is changed?
L817[06:10:39] <VikeStep> so that is why
they never noticed any ASM issues
L818[06:10:42] <RANKSHANK> Is it possible
to rebase a PR to match your fork? Or do you have to close/reopen
another PR?
L819[06:10:44] <raoulvdberge> Currently
I'm polling the inventory constantly, which is inefficient
L820[06:10:46] <VikeStep> because they
were only ever testing it in a deobfuscated environment
L821[06:10:53] <PaleoCrafter> nope,
raoulvdberge, not really feasible
L822[06:11:56] <masa> isn't markDirty()
usually called when an inventory changes, which I think calls
updateCOmparatorOutputLevels() or something, and does it also cause
a block update even?
L823[06:12:27] <raoulvdberge> Hmm
L824[06:12:34] <raoulvdberge> Actually,
couldn't I just check if a tile is dirty?
L825[06:12:47] <raoulvdberge> No, that
won't work as it would stay dirty until its saved
L827[06:13:49] <tterrag> :D
L828[06:14:29] <RANKSHANK> (☞゚∀゚)☞
L829[06:14:44] <PaleoCrafter> always
volcanic rock around lava or what? xD
L830[06:15:00] <LatvianModder> wat is dat?
looks cool, tt
L831[06:15:32] <Inari> so, while using
capabilities I still implement IInventory, right? just not
ISidedInventory?
L832[06:15:40] <PaleoCrafter> neither
xD
L833[06:15:53] <Inari> I dont get it then
:P but oh well
L834[06:15:58] <gigaherz> Inari: use the
item handler capability
L835[06:16:07] <gigaherz> IInventory and
ISidedInventory are the vanilla interfaces
L836[06:16:11] <PaleoCrafter> caps replace
the whole interface thing
L837[06:16:11] <gigaherz> which are really
poorly designed
L838[06:16:20] <gigaherz> so forge
replaces them with a better system
L839[06:16:28] <gigaherz> and the forge
stance is "fuck anyone still using IInventory"
L840[06:16:28] <tterrag> yes, it's
basalt
L841[06:16:33] <tterrag> it generates
around existing lava lakes
L842[06:16:44] <tterrag> 1 out and 2
down
L843[06:17:01] <PaleoCrafter> gigaherz,
the main driver behind caps really was multipart support, I think
:P
L844[06:17:33] <gigaherz> I thought it was
the ability to avoid having fixed interfaces on TileEntities
L845[06:17:44] <gigaherz> class te extends
<every single mod interface ever>
L846[06:17:47] <RANKSHANK> I thought it
was to look cool
L847[06:17:50] <gigaherz> with a million
"canDoX" methods
L848[06:18:06] <PaleoCrafter> not really,
no, it was just kinda necessary for multiparts to work
properly
L849[06:18:13] *
gigaherz shrugs
L850[06:18:20] <PaleoCrafter> because you
don't want the containing TE to implement stuff when it's not
needed by the parts
L851[06:19:36] <tterrag> btw, this basalt
is from chisel :P
L852[06:19:45] ⇦
Quits: quadraxis
(~chatzilla@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net)
(Quit: ChatZilla 0.9.92 [Firefox
47.0.1/20160623154057])
L853[06:19:52] <tterrag> so, does it look
cool? too much? annoying?
L854[06:20:05] <gigaherz> it's ok
L855[06:20:16] <tterrag> it took me all
night to get working so YOU BETTER LIKE IT
L856[06:20:17] <RANKSHANK> hard to say
since the surrounding rock is carved out :P
L857[06:20:21] <PaleoCrafter> ^
L858[06:20:21] <gigaherz> weren't there
other mods that added like, sulfur and such around lava
lakes?
L859[06:20:21] <tterrag> kidding
>.>
L860[06:20:23] <tterrag> sorta
<.<
L861[06:20:39] <PaleoCrafter> would be
better to see it in a "natural" environment xD
L862[06:20:40] <tterrag> gigaherz: well it
should only replace things that worldgen can replace. so those
blocks should still be there
L863[06:20:43] <tterrag> PaleoCrafter:
working on it
L864[06:20:47] <gigaherz> aha
L866[06:22:44] <tterrag> takes forever to
find caves without using /fill >.>
L867[06:22:52] <PaleoCrafter> hehe
L868[06:22:58] <RANKSHANK> does fit pretty
well :P
L869[06:23:10] <PaleoCrafter> looks a
little meh with the diagonals, I think
L871[06:23:47] <tterrag> PaleoCrafter:
yeah but I thought filling those might be a bit much
L872[06:24:00] <RANKSHANK> wait will this
remove the odds of you accidentally mining a block with a lava pool
behind it?
L873[06:24:08] <tterrag> RANKSHANK: from
below, yes
L874[06:24:11] <tterrag> and from the
side, I suppose
L875[06:24:13] <tterrag> but not from
above!
L876[06:24:29] <RANKSHANK> the number of
worlds I've deleted from that :P
L877[06:24:45] <tterrag> yeah that is the
only downside
L878[06:24:55] <tterrag> I considered
having it only generate underneath the lakes
L879[06:24:58] <tterrag> not to the sides
at all
L880[06:25:01] <gigaherz> I like
that
L881[06:25:08] <tterrag> this would have
minimal effect on vanilla mechanics
L882[06:25:11] <gigaherz> surprise lava is
something I hate ;P
L883[06:25:13] <tterrag> and make basalt a
bit trickier to get a hold of
L884[06:25:22] <gigaherz> so for me
generating on the sides is also good :3
L885[06:25:23] <tterrag> gigaherz: lava
makes so much noise
L886[06:25:37] <RANKSHANK> yeah agree with
the sides things, plus in my book
L887[06:25:53] <gigaherz> I usually play
with low volume, so I can watch youtube while playing
L888[06:27:33] <RANKSHANK> I've got music
blaring when I play bubbles v snares == no contest :P
L890[06:28:30] ⇦
Quits: Samario
(~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net) (Ping
timeout: 384 seconds)
L891[06:31:21] <RANKSHANK> just realized
I'm only handling additive blending in my PR as vanilla does... so
dark overlays won't work :(
L892[06:32:16] ***
amadornes[OFF] is now known as amadornes
L893[06:33:04] ⇦
Quits: Nitrodev (~Nitrodev@87-92-75-66.bb.dnainternet.fi) (Read
error: Connection reset by peer)
L894[06:33:10] <Inari> I'm so confused :D
so i cant really just use the ITEM_HANDLER_CAPABILITY since im
apaprently not supposed to rely on the default implementation, and
also it doesnt have setStackInSlot, only get... so I make my own
ItemStackHandler i guess? which I return in getCapability?
L895[06:33:46] <Inari> *in which I
return
L896[06:33:53] <Inari> or wait, misread
that <.<
L897[06:34:14] <Inari> I guess i'll try to
find some code using this...
L898[06:39:11] ⇦
Quits: Necr0
(~Necr0@p200300700D25824901C53599066EFFE6.dip0.t-ipconnect.de)
(Quit: Leaving)
L900[06:39:37] <gigaherz> this is how I
use it
L904[06:40:09] <gigaherz> ignore the loop
afterward
L905[06:40:17] <gigaherz> that's for
importing from old versiosn
L906[06:40:38] <Inari> why .cast and not
return (T) something?
L907[06:40:40] <gigaherz> (on
readFromNBT)
L908[06:40:50] ***
kroeser|away is now known as kroeser
L909[06:40:55] <tterrag> the latter would
generate an unsafe warning
L910[06:40:58] <gigaherz> because
"return (T)" forces meto use
@SuppressWarnings("unchecked")
L911[06:41:00] <tterrag> .cast is
"safe"
L912[06:41:03] <tterrag> (not
really)
L913[06:41:07] <Inari> why does rtd say
(T) then
L914[06:41:08] <gigaherz> although .cast
is also slower
L915[06:41:16] <gigaherz> so I may change
back to (T) someday
L916[06:41:18] <tterrag> likely because it
was written before the method existed
L917[06:41:22] <gigaherz> yep
L918[06:41:27] <gigaherz> I wrote it
before .cast was a thing
L919[06:41:51] <gigaherz> and .cast was
only added to shut people up about (T) causing warnings ;P
L920[06:42:00] <Inari> also rtd gave me
the impression that the capability buitlins handle nbt read-write
:p
L921[06:42:24] <gigaherz> my bad, then
;P
L922[06:42:32] <gigaherz> IStorage is a
helper
L923[06:42:40] <gigaherz> for reading and
writing default implementations
L924[06:42:51] <gigaherz> and as a
reference "this is how reading and writing is meant to be
done"
L925[06:42:58] <gigaherz> it's NOT used
automatically
L926[06:43:10] <gigaherz> for attached
(external) capabilities
L927[06:43:38] <gigaherz>
ICapabilitySerializable<tag type> handles reading and writing
of the capabilities it manages
L928[06:43:50] <gigaherz> and for internal
capabilities, the object's own read/write methods handle it
L929[06:44:01] <gigaherz> in both cases,
it has to be coded expicitly
L930[06:44:36] <gigaherz> haha
L932[06:44:46] <Wuppy> hrmmm, there were
no pokemon at the supermarket :(
L933[06:45:15] <gigaherz> I can imagine
Nintendo's people being like
L934[06:45:20] <gigaherz> "why the
fuck did we wait so long?!"
L935[06:45:45] <gigaherz> MARIO MAKER ON
PC NEXT PLS KTHX
L936[06:46:15] <Wuppy> haha
L937[06:47:52] <Inari> this botania thing
doesnt even ever put @CapabililtyInject :s
L938[06:48:21] <Inari> gigaherz: neither
does yours xD
L939[06:49:20] <sham1> mario maker on pc
what?
L940[06:49:38] <gigaherz> sham1: I was
wasking nintendo
L941[06:49:40] <gigaherz> ;P
L943[06:49:46] <gigaherz> Inari:
@CapabilityInject
L944[06:50:02] <gigaherz> is for when
people want their own reference to the Capability object
L945[06:50:06] <gigaherz> this has a few
uses
L946[06:50:11] <gigaherz> first, the
Capability implementor
L947[06:50:17] <gigaherz> will want to
know their own capability
L948[06:50:18] <gigaherz> such as
L949[06:50:25] <gigaherz>
@CapabilityInject(IItemHandler.class)
L950[06:50:33] <gigaherz> public static
Capability ITEM_HANDLER_CAPABILITY;
L951[06:50:38] <gigaherz> --
L952[06:50:38] <gigaherz> then
L953[06:50:50] <tterrag> it is more
correct IMO to use @CapabilityInject rather than reference the
(technically internal) forge field
L954[06:50:54] <gigaherz> someone who
wants to reference a capability without using direct references to
external classes
L955[06:50:57] <tterrag> however most mods
do the latter
L956[06:51:04] <gigaherz> can use
@CapabilityInject in their own stuff
L957[06:51:06] <gigaherz> like I did
L959[06:51:38] <gigaherz> just instead of
a field
L960[06:51:40] <gigaherz> I used it on a
method
L961[06:51:51] <gigaherz> so that I can
activate the wrappers only IF tesla is present on the system
L962[06:52:00] <tterrag> ew rawtypes
L963[06:52:20] <gigaherz> I wanted to
avoid ANY reference to ANY tesla class/interface
L964[06:52:27] <gigaherz> xcept in the
class wrappers
L965[06:52:31] <gigaherz> that's why I did
it that way
L966[06:52:49] <tterrag> but...that class
should never be loaded if tesla doesn't exist
L967[06:52:52] <tterrag> there is no
reason to use rawtypes there
L968[06:53:22] <gigaherz> can you override
a class with raw types
L969[06:53:26] <gigaherz> by using generic
types?
L970[06:53:50] <tterrag> ummm....yes
?
L971[06:53:56] <gigaherz> then I'll look
into it
L972[06:54:05] <tterrag> but I was talking
about TeslaController
L973[06:54:20] <tterrag> those nested
classes should be fine either way
L974[06:54:39] <gigaherz> anyhow
L975[06:55:00] <gigaherz> Inari: as I was
saying, the third use of @CapabilityInject
L976[06:55:01] <gigaherz> is that
L977[06:55:02] <Inari> I guess i might
have to take a proper look at capabilites someday :P like how they
work inside forge
L978[06:55:07] <gigaherz> together with
default implementations
L979[06:55:09] <gigaherz> and
IStorage
L980[06:55:15] <gigaherz> it lets you
implement a capability
L981[06:55:27] <gigaherz> without ever
once referencing any interface or class in your stuff
L982[06:55:38] <gigaherz> you can expose
capabilities completely blind
L983[06:56:00] <gigaherz> this, of course,
requires that the capability's default implementation works
as-is
L984[06:56:04] <gigaherz> which is not
often the case
L985[06:56:54] <gigaherz> I believe that's
the one single case where java generics being erased actually gives
a benefit
L986[06:56:55] <gigaherz> ;p
L987[06:57:48]
⇨ Joins: xEviLSpaWnx
(~xEvilSpaw@cpc21-pete9-2-0-cust202.4-4.cable.virginm.net)
L988[06:59:44]
⇨ Joins: Brokkoli
(~Brokkoli@p5B23C8B2.dip0.t-ipconnect.de)
L989[07:05:33]
⇨ Joins: Lunatrius` (~Lunatrius@77.38.21.26)
L990[07:07:41] ⇦
Quits: Lunatrius (~Lunatrius@77.38.21.26) (Ping timeout: 201
seconds)
L991[07:07:42] ***
Lunatrius` is now known as Lunatrius
L992[07:08:55]
⇨ Joins: Javaschreiber
(~Thunderbi@p5dd8fc7d.dip0.t-ipconnect.de)
L993[07:09:55] <Inari> I'm either doing
this wrong, or this capability stuff overcomplicates things :P
probably the former
L994[07:10:29] <Inari> anyway
L995[07:10:37] <Inari> guess i'll sit down
tomorrow and look through the forge code and more example
code
L996[07:10:43] <gigaherz> it has some
extra boilerplate
L997[07:10:46] <gigaherz> but it's for the
best
L998[07:10:53] <gigaherz> once you truly
learn how they work
L999[07:10:58] <gigaherz> you won't want
to go back ;p
L1000[07:11:01] <Inari> making stuff
sided seems a pain
L1001[07:11:19] <gigaherz> you don't have
to
L1002[07:11:22] <gigaherz> you can ignore
the side ;P
L1003[07:11:27] <gigaherz> and if you DO
want siding
L1004[07:11:29] <gigaherz> you have two
choices
L1005[07:11:46] <Inari> siding is kinda
good for machines though
L1006[07:11:48] <gigaherz> option 1: have
one single inventory, with a sub-inventory wrapper for each
side
L1007[07:12:07] <gigaherz> option 2: have
each side's inventory separate
L1008[07:12:10] <Inari> seems i have to
return the wrapped subinventory in the getCapability then?
L1009[07:12:18] <gigaherz> with an
inventory merger for when you want to access all at onces
L1010[07:12:22] <gigaherz> yes
L1011[07:12:26] <gigaherz> if you choose
option 1,
L1012[07:12:28] <gigaherz> you'd have
like
L1013[07:12:31] <gigaherz>
switch(facing)
L1014[07:12:32] <Inari> :s I guess it
works, but seems overcomplicated haha
L1015[07:12:37] <gigaherz> case north:
return north;
L1016[07:12:45] <gigaherz> etc
L1017[07:12:53] <gigaherz> default:
return master;
L1018[07:13:12] <gigaherz> it's much
cleaner overall
L1019[07:13:54] <Inari> maybe, i dont
want to change much of this code right now haha ^^ so maybe i'll
just ignore siding and reimplement that later.. since its mostly
useful fro automation
L1020[07:15:59]
⇨ Joins: yopu (~yopu@184-89-191-67.res.bhn.net)
L1021[07:16:11] ***
helinus|off is now known as helinus
L1022[07:17:44] <workshopcraft> now i
know how capabilities works its opened up a bunch of options for my
mods :P
L1023[07:17:56] <Inari> such as?
L1024[07:18:19] <workshopcraft> well i
used capabilities to give a barrel a fake 4k single slot
inventory
L1025[07:18:48] <workshopcraft> and i'll
be writing my own capabilitiy handler to add a heat API to more
foods
L1026[07:19:03] <workshopcraft> so i can
make ovens and grills etc.
L1027[07:19:36] <tterrag> well, to also
be fair that was perfectly possible before capabilities :P
L1028[07:19:42] <workshopcraft> yes
L1029[07:19:52] <tterrag> but
capabilities make it nicer from the integration side
L1030[07:19:58] <workshopcraft> but once
i knew how capabilities worked it was much easier for me to
implement this way
L1031[07:20:03] <workshopcraft> and it
just works
L1032[07:20:08] <workshopcraft> with most
things
L1033[07:20:18] <workshopcraft> my
barrels now work with hoppers and most mods
L1034[07:20:59] <workshopcraft> will be
interesting to see how long it is before the hopper duct author
actually sits down and moves to capabilities so he can play with
everyone else :P
L1035[07:21:20]
⇨ Joins: Benimatic
(~Benimatic@cblmdm72-241-108-184.buckeyecom.net)
L1036[07:22:47]
⇦ Quits: Naiten (~Naiten@86-102-14-50.xdsl.primorye.ru) (Read
error: Connection reset by peer)
L1037[07:30:01] <AndersBillLind> Oh, did
you know that you cannot build portals wider than 21 blocks?
L1038[07:30:14] <AndersBillLind> The same
limitation for height
L1039[07:31:29] <gigaherz> yes?
L1040[07:31:37] <gigaherz> I mean, it's a
known fact of portals XD
L1041[07:32:44] <AndersBillLind> hehe,
sorry, I forgot that you know everything :)
L1042[07:33:06] <AndersBillLind> I am
trying to find the source to determine the direction after portal
travel
L1043[07:33:26] <AndersBillLind>
BlockPortal.class seems to not have that
L1044[07:34:15] <AndersBillLind>
Entity.class seems promising
L1045[07:35:16]
⇦ Quits: Elec332 (~Elec332@ip5456d4a5.speed.planet.nl) (Ping
timeout: 198 seconds)
L1046[07:36:00] ***
kroeser is now known as kroeser|away
L1047[07:39:31] <gigaherz> didn't someone
already tell you where to look?
L1048[07:39:51] <AndersBillLind> I have
been afk for a while
L1049[07:40:04] <AndersBillLind> Also, my
irc client did not blink when I came back
L1050[07:41:13] <gigaherz> [12:21]
(quadraxis): you probably want net.minecraft.world.Teleporter
L1051[07:41:20]
⇦ Quits: IceDragon (~ThatGuy@69.160.121.46) (Ping timeout:
190 seconds)
L1052[07:42:45]
⇨ Joins: IceDragon (~ThatGuy@63.143.102.0)
L1053[07:43:06] <AndersBillLind>
Thanks
L1054[07:50:45]
⇨ Joins: Samario
(~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net)
L1055[07:50:47] <AndersBillLind> Hm, can
I edit a source attachment and have the class file updated?
:)
L1056[07:52:46]
⇨ Joins: Shambling
(~Shambling@24-181-186-74.dhcp.nwtn.ct.charter.com)
L1057[07:53:33] <Shambling> ok I'm
getting tired of looking, and the coders on here might dable in
resource packs a bit too. Anyone have an idea of a script or
command line that can delete the first level of a directory
structure? I want assets from 100 locations and merge all those
assets folders into the root
L1058[07:53:44] <Shambling> i.e.
mod1/assets mod2/assets I want to merge both assets into
root/assets
L1059[07:54:18] <Shambling> if I can't
find something I'll look up powershell programming when I get back
from farmers market lol
L1060[07:56:48] <Shambling> if its not
raining, maybe I'll try my internet for some more searching. have a
good morning or evening or whatever all
L1061[07:58:01] <masa> you mean like (in
linux/unix) cp -auxi */assets/* destination/assets/
L1062[07:58:34] <masa> assuming you are
in the directory where those mod1, mod2 etc are
L1063[07:59:30] <sham1> Or, he could
write a program to do the same if he is not under POSIX-compatible
system
L1064[08:08:13]
⇦ Quits: turmfalke
(~turmfalke@p20030056CF06BA81CC12FD4D694D7A5B.dip0.t-ipconnect.de)
(Ping timeout: 384 seconds)
L1066[08:10:15]
⇦ Quits: VikeStep (~VikeStep@101.184.243.180) (Read error:
Connection reset by peer)
L1067[08:12:16] <heldplayer> I'm not
seeing it
L1068[08:13:00] <RANKSHANK> villager has
clipped into the ground, just the head is popping up :P
L1069[08:14:40] <heldplayer> lol
L1070[08:14:49] <heldplayer> I thought
that was something on the HUD
L1071[08:18:35]
⇨ Joins: turmfalke
(~turmfalke@p20030056CF06BAD157EDBBDE2527A260.dip0.t-ipconnect.de)
L1072[08:19:32]
⇨ Joins: hch12907 (~hch12907@1.32.76.173)
L1073[08:22:00]
⇦ Quits: Jezza (~Jezza@92.206.5.6) (Ping timeout: 190
seconds)
L1074[08:23:24] <Inari> RANKSHANK: The
Ender Scrolls
L1075[08:24:30] <RANKSHANK> lmfao
L1076[08:28:35] ***
TTFT|Away is now known as TTFTCUTS
L1077[08:38:55]
⇦ Quits: raoulvdberge
(uid95673@id-95673.richmond.irccloud.com) (Quit: Connection closed
for inactivity)
L1078[08:43:07]
⇨ Joins: Nitrodev
(~Nitrodev@87-92-75-66.bb.dnainternet.fi)
L1079[08:45:40]
⇨ Joins: BlueMonster
(uid82864@id-82864.tooting.irccloud.com)
L1080[08:50:22] ***
kroeser|away is now known as kroeser
L1081[08:52:03]
⇨ Joins: Jezza (~Jezza@92.206.5.6)
L1082[08:55:12] ***
Darkhax_AFK is now known as Darkhax
L1083[09:06:52] <Inari> i somehow broke
my buildscript :s
L1084[09:07:11] <Inari>
Warning:<i><b>root project 'Integrated-Circuits':
Unable to resolve additional buildscript classpath
dependencies</b>Details:
groovy.lang.MissingPropertyException: No such property: id for
class:
org.gradle.api.internal.artifacts.DefaultResolvedArtifactPossible
solutions: file</i> o.o
L1085[09:09:40] <sham1> <b> does
not get closed
L1086[09:09:49] <Inari> haha
L1087[09:09:50] <Inari> tell idea
L1088[09:09:55]
⇦ Quits: auenf (David@DC-72-89.bpb.bigpond.com) (Remote host
closed the connection)
L1089[09:10:12] <Inari> sham1: it does
though
L1090[09:10:53]
⇨ Joins: auenf (David@DC-72-89.bpb.bigpond.com)
L1091[09:11:41]
⇦ Quits: Samario
(~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net) (Ping
timeout: 384 seconds)
L1092[09:20:32] <AndersBillLind> When I
create a bug report to bugs.mojang.com, how would they react if I
attached a junit test using forge that demonstrated the
problem?
L1093[09:23:03]
⇨ Joins: sinkillerj
(~sinkiller@nc-67-232-14-224.dhcp.embarqhsd.net)
L1094[09:23:44] <AndersBillLind> Would
they approve?
L1095[09:25:12]
⇨ Joins: Ordinastie_
(~Ordinasti@87-231-58-94.rev.numericable.fr)
L1096[09:26:26]
⇦ Quits: Abastro (~abab9579@112.166.128.227) (Ping timeout:
201 seconds)
L1097[09:27:56] <Javaschreiber> As Forge
doesn't contain any modified files from mojang when shipped, they
can't be angry because of copy right stuff. And if you provide
code, I would be happy in their place, because it is easier to
track the problem down.
L1098[09:29:38] <sham1> Well, forge does
patch stuff though
L1099[09:29:50] <sham1> mostly for the
sake of compatibility
L1100[09:30:06]
⇨ Joins: sciguyryan (~sciguyrya@94.242.205.34)
L1101[09:31:41]
⇦ Quits: hch12907 (~hch12907@1.32.76.173) (Ping timeout: 186
seconds)
L1102[09:32:03]
⇨ Joins: hch12907 (~hch12907@183.171.166.80)
L1103[09:34:28] <AndersBillLind> Seems
hard to include as little as possible when creating such a
test
L1104[09:35:23] <AndersBillLind> I need a
World instance at least
L1105[09:35:38] <AndersBillLind> To place
blocks
L1106[09:38:34]
⇦ Quits: Benimatic
(~Benimatic@cblmdm72-241-108-184.buckeyecom.net) (Ping timeout: 186
seconds)
L1107[09:38:47] <LatvianModder> Sangar:
Can you please change some of your item OD names? :P
L1108[09:38:57]
⇦ Quits: candybar
(~foo@adsl-074-181-053-011.sip.sav.bellsouth.net) (Ping timeout:
186 seconds)
L1109[09:45:09] ***
kroeser is now known as kroeser|away
L1110[09:47:57]
⇦ Quits: Drullkus
(~Dru11kus@2601:646:8301:ead3:f0fa:e0f2:c369:41e3) (Remote host
closed the connection)
L1111[09:48:08] ***
kroeser|away is now known as kroeser
L1112[09:48:27]
⇨ Joins: Drullkus
(~Dru11kus@2601:646:8301:ead3:f0fa:e0f2:c369:41e3)
L1113[09:51:37] <Inari> LatvianModder:
sangar is away for like 5 days btw
L1114[09:51:41]
⇦ Quits: Drullkus
(~Dru11kus@2601:646:8301:ead3:f0fa:e0f2:c369:41e3) (Ping timeout:
186 seconds)
L1115[09:52:09] <LatvianModder> kk
L1116[09:53:16]
⇨ Joins: candybar
(~foo@adsl-074-181-053-011.sip.sav.bellsouth.net)
L1117[09:53:55]
⇨ Joins: Benimatic
(~Benimatic@cblmdm72-241-108-184.buckeyecom.net)
L1119[09:54:00] <unascribed> the first
three are XM, the last is MOD :D
L1120[09:54:24] <Inari> so, for a
7-segment dispaly, that renders in-world and can be updated by
redstone... do i put the info on which segments are on into it in
getExtendedState, and then rendering the lit segments in
ISmartBlockModel's handleBlockState? should be better tan using a
TESR at least? or whats a good way to do so...
L1121[09:54:46] <unascribed> Inari,
that's the ideal way, yes
L1122[09:54:56] <unascribed> that way it
gets baked into the chunk as a model
L1123[09:54:59] <Inari> okay, thanks
:3
L1124[09:55:14] <Inari> it might often
update though, is my worry
L1125[09:55:17] <unascribed> assuming I
have my smart model logic right
L1126[09:55:18] <unascribed> I may
not
L1127[09:55:22] <unascribed> well
L1128[09:55:24] <unascribed> if it's
redstone powered
L1129[09:55:30] <unascribed> the redstone
will /also/ update the chunk
L1130[09:55:32] <unascribed> so... moot
point
L1131[09:55:35] <Inari> hmm i
suppose
L1132[09:55:41] <Inari> will try this way
then ^^
L1133[09:55:49] <Inari> unascribed: hows
your dungeoning going :o
L1134[09:56:01] <unascribed> if models
make you want to tear all your hair out and stab your eyes, you may
want to try FastTESR
L1135[09:56:04] <unascribed> dungeoning
is going okay
L1136[09:56:25] <unascribed> I've never
really done procedural gen, so it's a lot of stumbling around and
ramming into walls
L1137[09:56:44] <unascribed> hence why I
added some XM and MOD records :P
L1138[09:56:46] <Inari> oh, thats what
the dungeon planner thing was for?
L1139[09:56:52] <unascribed> hm?
L1140[09:57:03] <Inari> you posted an
image of a dungeon planner
L1141[09:57:36] <unascribed> yeah, that's
a debug tool for showing the raw 2D plan of the dungeon
L1142[09:57:48] <unascribed> it'll get
shoved into a dungeon dimension
L1143[09:59:12]
⇦ Quits: portablejim
(~portablej@2001:4830:1200:8083:3c59:e7e:f65e:2aa8) (Remote host
closed the connection)
L1144[10:10:42] <RANKSHANK> Man it's not
looking good for supporting dark effect overlays :P
L1145[10:14:47]
⇦ Quits: GildedGames
(~GildedGam@ec2-54-166-29-150.compute-1.amazonaws.com) (Remote host
closed the connection)
L1146[10:14:56]
⇨ Joins: GildedGames
(~GildedGam@ec2-174-129-131-190.compute-1.amazonaws.com)
L1147[10:18:04]
⇨ Joins: RichardG (~richardg8@201.17.104.196)
L1148[10:18:04]
MineBot sets mode: +v on RichardG
L1149[10:18:10] <Inari> soooo
L1150[10:18:22] <Inari> where do I get
the IBakedModel from in 1.9... since ISmart thingy is gone
L1151[10:19:14] <hch12907> how do I pack
the mod together into a .jar?
L1152[10:19:27] <PaleoCrafter> gradlew
build
L1153[10:19:57] <hch12907> thanks
L1154[10:20:20] <gigaherz> Inari:
IBakedModel#getQuads
L1155[10:20:26] <gigaherz> has the
blockstate
L1156[10:20:36] <gigaherz> so rather than
have a "handleBlockState" that returns another baked
model
L1157[10:20:38] <Inari> yeah sure
L1158[10:20:40] <gigaherz> you can just
return the quads directly
L1159[10:20:42] ***
kroeser is now known as kroeser|away
L1160[10:20:43] <Inari> but i need an
IBakedModel for taht
L1161[10:20:53] <gigaherz> that works
exactly the same as how ISmartBlockModel did
L1162[10:21:00] <gigaherz> you either use
the ModelBakeEvent
L1163[10:21:07] <gigaherz> or you
register an ICustomModelLoader
L1164[10:21:09] <Inari> then i didnt
understand smartmodel from the docs
L1165[10:21:15] <Mraof> Blocks are still
limited to 4 bits of metadata, right?
L1166[10:21:21] <gigaherz> yup
L1167[10:21:40] <gigaherz> Inari: the
"nice" option
L1168[10:21:45] <gigaherz> is to register
a custom model loader
L1169[10:21:54] <gigaherz> from the
custom model loader's accepts method
L1170[10:21:57] <Mraof> Okay
L1171[10:22:06] <Mraof> So blockstates
are mainly to make things more readable?
L1172[10:22:08] <gigaherz> return true if
the given ResourceLocation is an artificial one that you
handle
L1173[10:22:21] <PaleoCrafter> you can
add additional stuff to the blockstate for rendering, Mraof
L1174[10:22:27] <PaleoCrafter> via
getActualState
L1176[10:22:36] <gigaherz> and in the
loadModel method, you'll return a custom IModel
L1177[10:22:38] <PaleoCrafter> but yeah,
they're mostly to abstract away the numbers
L1178[10:22:40] <gigaherz> then
L1179[10:22:43] <gigaherz> this custom
IModel
L1180[10:22:49] <gigaherz> has a chance
to tell the loader to require other models
L1181[10:22:51] <gigaherz> and
textures
L1182[10:22:58] <Inari> hm :s
L1183[10:22:58] <gigaherz>
(getDependencies, and getTextures)
L1184[10:23:02] <gigaherz> and
finally
L1185[10:23:08] <gigaherz> the IModel's
bake method
L1186[10:23:19] <gigaherz> is where you
return the custom IBakedModel
L1187[10:23:31] <Mraof> Okay
L1188[10:23:40] <gigaherz> option 2 (less
nice)
L1189[10:23:51] <gigaherz> is to use the
ModelBakeEvent to register the custom IBakedModel explicitly
L1190[10:24:10] <gigaherz> and
TextreStitchevent to explicitly require the textures you may
need
L1191[10:24:41] <Inari> maybe i'll try
the nicer way :P
L1192[10:24:41] <gigaherz> this, however,
doesn't have a direct way to require other models
L1193[10:25:00] <Inari> especially as
this is multi-stepped rendering i believe
L1194[10:25:05] <gigaherz> it's just 3
classes, ask for help if you don't understand them ;P
L1195[10:25:53] <Inari> (its for
integrated circuits, so it would render the base, and on top of
that a 7seg disapy, or maybe bundled cable if thats ont he circuits
and such stuff)
L1196[10:25:58] <Inari> so i believe its
nice to be able to require other models
L1197[10:26:02] <gigaherz> for the resloc
string, you can simply use something like
"youtmod:custom/whatever"
L1198[10:26:11] <gigaherz> to
differentiate from the actual real model locations
L1199[10:26:25] <gigaherz> yep
L1200[10:26:29] <gigaherz> that's why I
said it first
L1201[10:26:33] <gigaherz> because it's
the best option generally
L1202[10:26:36] <Inari> okay, will try
around with that ^^ thanks
L1203[10:28:27] <Inari> hm neat, i just
had a mod idea xD boat "minecarts"... basically boats
that can be loaded iwth chests like minecarts can, and then there
is a "boat lane" item that you place down on water to
have boats follow it
L1204[10:28:40]
⇦ Quits: hch12907 (~hch12907@183.171.166.80) (Ping timeout:
198 seconds)
L1205[10:29:14] <gigaherz> heh
L1206[10:29:33] <LatvianModder> Is
disconnect.spam added by minecraft now?
L1207[10:29:54] <LatvianModder> Because
that only happens on my MP server when I claim rapidly
L1208[10:30:34] <Inari> mosttly cause i
dont know of automated boat mods... and this map has lots of
isalnds and rivers, so it would be a nice replacement for minecarts
where i need to build big bridges over the water
L1209[10:30:57]
⇨ Joins: Turkey
(~Turkey@cpe-24-95-73-99.columbus.res.rr.com)
L1210[10:31:31]
⇨ Joins: hch12907 (~hch12907@183.78.45.146)
L1211[10:32:25] <Inari> I have too many
mod ideas <.<
L1212[10:34:07]
⇦ Quits: Brokkoli (~Brokkoli@p5B23C8B2.dip0.t-ipconnect.de)
(Quit: Die Sprache der Politik ist daf�r gemacht, dass L�gen wahr
klingen und das T�ten angemessen wirkt. (George
Orwell))
L1213[10:36:38]
⇨ Joins: Brokkoli
(~Brokkoli@p5B23C8B2.dip0.t-ipconnect.de)
L1214[10:37:35] ***
kroeser|away is now known as kroeser
L1215[10:40:58]
⇨ Joins: stiforr
(~stiforr@ip72-216-4-156.pn.at.cox.net)
L1216[10:41:39] <PaleoCrafter> Inari,
feel free to share them :P
L1217[10:41:50] <PaleoCrafter> you have a
gift xD
L1218[10:42:20] <Inari> PaleoCrafter:
haha :P they are rough ideas, not much worked out. and i'd think
most people have enough ideas o.o
L1219[10:45:21] <PaleoCrafter> well, I
certainly don't :P
L1220[10:48:40]
⇦ Quits: Chais (~Chais@62.178.210.212) (Read error:
Connection reset by peer)
L1221[10:49:05]
⇨ Joins: Drullkus
(~Dru11kus@c-67-180-188-243.hsd1.ca.comcast.net)
L1222[10:51:56]
⇨ Joins: Chais (~Chais@62.178.210.212)
L1223[10:52:33]
⇦ Quits: Drullkus
(~Dru11kus@c-67-180-188-243.hsd1.ca.comcast.net) (Ping timeout: 186
seconds)
L1224[10:56:16] <Wuppy> what's up guys
:)
L1225[10:56:30] <PaleoCrafter> the
ceiling/sky
L1226[10:56:34] <Wuppy> :|
L1227[10:56:47] <Wuppy> nvm then :V
L1228[10:56:48] <PaleoCrafter> I'll see
myself out
L1229[10:56:56] <Inari> BTM of
course
L1230[10:57:49] <PaleoCrafter> 'BTM'
could be an abbreviation for 'bottom', so that'd be everything but
up :P
L1231[10:58:47] <Inari> haha
L1232[11:01:08] ***
cpw|out is now known as cpw
L1233[11:02:07]
⇦ Quits: hch12907 (~hch12907@183.78.45.146) (Read error:
Connection reset by peer)
L1234[11:05:35] <xEviLSpaWnx> Well sorted
my random crashes out, was fast leaf decay mod :(
L1235[11:09:19]
⇨ Joins: Girafi
(Girafi@0x555178eb.adsl.cybercity.dk)
L1236[11:12:40] <AndersBillLind> To be
able to create the a unit test, I need to create a World object
without using the provided constructor, else, the Bootstrap class
will be in use
L1237[11:12:43] <AndersBillLind> Is that
possible?
L1238[11:13:07] <AndersBillLind> Should I
just copy the code? That is maybe the cleanest way
L1239[11:13:07]
⇦ Quits: Lunatrius (~Lunatrius@77.38.21.26) (Ping timeout:
201 seconds)
L1240[11:13:26] <gigaherz> do you
actually need a clas that extends World?
L1241[11:13:54] <gigaherz> because you
can't extend without using one of the constructors
L1242[11:14:35] <AndersBillLind> The
logic of BlockPortal uses World extensively, for instance
setBlockState
L1243[11:16:00]
⇨ Joins: Lunatrius (~Lunatrius@77.38.21.26)
L1244[11:16:18] <xEviLSpaWnx> #join
#EviLsKript
L1245[11:16:23] <AndersBillLind> I tested
to inherit from World and kept the block in a TreeMap<BlockPos,
IBlockState>
L1246[11:16:36] <AndersBillLind> The ctor
of World has a lot of side effects however
L1247[11:17:11] <AndersBillLind> Ah, I
must override some methods in Provider probably
L1248[11:17:18] <AndersBillLind> Trying
that later
L1249[11:17:29] <AndersBillLind> Eh,
WorldProvider
L1250[11:18:58]
⇨ Joins: Samario
(~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net)
L1251[11:22:43]
⇨ Joins: gamax92
(gamax92@The.Dragon.Slayer.PanicBNC.eu)
L1252[11:32:31]
⇨ Joins: CoderPuppy (~cpup@32.218.119.171)
L1253[11:34:00]
⇨ Joins: McJty
(~jorrit@94-225-203-206.access.telenet.be)
L1254[11:34:42]
⇦ Quits: cpup (~cpup@32.218.119.91) (Ping timeout: 201
seconds)
L1255[11:38:28]
⇦ Quits: Lunatrius (~Lunatrius@77.38.21.26) (Ping timeout:
384 seconds)
L1256[11:39:55] <Inari> do i still check
texture type in TextureStitchEvent?
L1257[11:41:47]
⇨ Joins: Lunatrius (~Lunatrius@77.38.21.26)
L1258[11:43:11] <sham1> Test
L1259[11:43:14] <sham1> test
L1260[11:43:16] <sham1> Hmm
L1261[11:43:27] <MiniDigger> test
failed
L1262[11:43:36] <sham1> Yes
L1263[11:43:41] <sham1> Irssi is being
stupid
L1264[11:43:56] <MiniDigger> get a real
client then ^^
L1265[11:44:03] <sham1> >real
L1266[11:44:09] <sham1> Check your
priviledge
L1267[11:44:19] <MiniDigger> ^^
L1268[11:44:33]
⇦ Parts: sham1 (~sham1@weneg.de) ())
L1269[11:44:39]
⇨ Joins: sham1 (~sham1@weneg.de)
L1270[11:47:19] <PaleoCrafter> Inari,
don't think so
L1271[11:47:21] <PaleoCrafter> it's all
one atlas now
L1272[11:47:22] <plathrop> I use a fake
IRC client. Sends Markov-chain generated messages to both
ends.
L1273[11:47:44]
⇨ Joins: cpup (~cpup@32.218.119.202)
L1274[11:48:03] <sham1> Should probably
roll up my own made irc client
L1275[11:48:10] <sham1> Roll it back
up
L1276[11:48:14] <sham1> I should
say
L1277[11:48:20] <sham1> Primitive yet
beautiful
L1278[11:48:34] <plathrop> ERC was fun
for awhile. IRC in emacs!
L1279[11:48:49] <sham1> >emacs
L1280[11:48:53]
⇦ Quits: CoderPuppy (~cpup@32.218.119.171) (Ping timeout: 201
seconds)
L1281[11:49:07] <Inari> okay
L1282[11:49:15] <sham1> Kidding
L1283[11:49:51] <plathrop> I'm that rare
emacs user that doesn't care if anyone else uses it
L1284[11:49:57] <plathrop> I use vi all
the time too
L1285[11:50:05] <Inari> Hm, I need to
find more example mods to look at haha
L1286[11:50:15] <sham1> I love EVIL
mode
L1287[11:50:23] <Inari> in the meanitme,
how do I get a compnent id for making UI fields? or do i manually
assign those
L1288[11:50:31] <plathrop> And Intillij
of course for Java because real IDEs rule for Java coding.
L1289[11:51:11] <plathrop> I can't spell
today.
L1290[11:51:13] <sham1> eclim and then
you can use either Emacs or Vim
L1291[11:51:17] <PaleoCrafter> unless
you're extending some Vanilla class adding buttons, use whatever
you want, Inari
L1292[11:51:29] <sham1> And have the code
completion provided by Eclipse
L1293[11:51:39] <sham1> But that is
inconvenient AF
L1294[11:51:41] <Inari> extending
GuiContainer
L1295[11:51:57] <PaleoCrafter> then use
whatever you want
L1296[11:52:06] <Inari> okay, thanks
again ^^
L1297[11:52:18] <sham1> IDEA is a
beast
L1298[11:52:26] <sham1> And I also love
clion for C++ stuff
L1299[11:52:42] <sham1> Because fuck
trying to deal with gdb from the command line
L1300[11:52:43] <plathrop> Yeah, I'm just
so used to IDEA for Java because I use it at work so much
L1301[11:52:47] <plathrop> Amen to
that
L1302[11:52:50] <sham1> I am spoiled by
GUI debuggers
L1303[11:52:57] <plathrop> command-line
gdb is a UI nightmare
L1304[11:53:02] <sham1> UX
L1305[11:53:14] <sham1> My User
eXperience is not the best when I use gdb
L1306[11:53:19] <sham1> from command
line
L1307[11:53:50] <plathrop> yeah, that's
what I meant
L1308[11:54:09] <sham1> FFS, I don't even
know how to set breakpoints to specific lines of code
L1309[11:54:14] <sham1> Nor how to single
step
L1310[11:54:42] <sham1> And being able to
look at the code you are debugging is so good for debugging
L1311[11:55:57] <plathrop> I need to
learn C or C++ at some point.
L1312[11:56:08] <plathrop> I can muddle
through reading it, but can't write it to save my life.
L1313[11:56:18] <sham1> It's fun
L1314[11:56:33] <sham1> Until
SEGFAULT
L1315[11:56:34] <gamax92> Working on
networking and I've realized most of my packets would be for
calling a method or setting a field on a tileentity, except that I
can't quite do that since you're not supposed to be accessing the
world from the networking thread
L1316[11:57:31] <sham1> You can have your
code be executed in either the client or server threads
L1317[11:57:43] <sham1> Don't remember
the method name off the top of my head
L1318[11:57:48] <sham1> It takes a
Runnable
L1319[11:57:58] <sham1> Or
Callable<?>
L1320[11:58:37] <Javaschreiber> Giving up
working out the forge animation system for the day.
Undocumented...
L1321[11:58:45]
⇦ Quits: Lunatrius (~Lunatrius@77.38.21.26) (Ping timeout:
201 seconds)
L1322[11:58:58] <sham1> Ask Fry when he
is contact-able
L1323[11:59:06] <sham1> Or look at the
forge repository
L1324[12:01:52]
⇦ Quits: Katrix
(~Katrix@2a02:fe0:cb10:2420:3dee:7372:aa77:73b) (Quit:
Leaving)
L1326[12:04:42] <Javaschreiber>
PaleoCrafter: Thanks a lot!
L1328[12:11:07] <Javaschreiber> This is
helping, but sadly I had a hard time finding it with google /
duckduckgo
L1329[12:12:05] <PaleoCrafter>
fry|back18aug really should get his shit together and write a bit
of documentation for the official docs :P
L1330[12:23:07]
⇨ Joins: Baughn (~Baughn@madoka.brage.info)
L1331[12:24:21]
⇦ Quits: AndersBillLind
(~anders@217-211-66-29-no23.tbcn.telia.com) (Ping timeout: 384
seconds)
L1332[12:30:44]
⇦ Quits: Benimatic
(~Benimatic@cblmdm72-241-108-184.buckeyecom.net) (Read error:
Connection reset by peer)
L1333[12:31:12]
⇨ Joins: Benimatic
(~Benimatic@cblmdm72-241-108-184.buckeyecom.net)
L1334[12:34:15]
⇨ Joins: CoderPuppy (~cpup@32.218.112.60)
L1335[12:34:42]
⇨ Joins: KGS
(~KGS@h-155-4-135-249.na.cust.bahnhof.se)
L1336[12:36:20]
⇦ Quits: cpup (~cpup@32.218.119.202) (Ping timeout: 190
seconds)
L1337[12:39:59] <Inari> new name for
.getVanillaDimension? on
net.minecraft.world.storage.WorldInfo
L1338[12:41:46]
⇦ Quits: Benimatic
(~Benimatic@cblmdm72-241-108-184.buckeyecom.net) (Ping timeout: 186
seconds)
L1339[12:43:49] <Inari> why doesnt the
normal getCapability itemhandler support setStackInSlot?
L1340[12:48:20] <Delenas> You want
IItemHandlerModifiable
L1341[12:48:36] <Inari> do i just cast it
to that?
L1342[12:48:52] <Delenas> You can. The
slots do it.
L1343[12:50:06] <Inari> so
((IItemHandlerModifiable)te.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY,
null)).setStackInSlot(0, stack); ?
L1344[12:51:07] <gamax92> is
FMLClientHandler.instance().getClient() different than
Minecraft.getMinecraft(), or is one preferred?
L1345[12:52:41]
⇦ Quits: RawringNymNym
(~maria@BMTNON3746W-LP140-06-1096638498.dsl.bell.ca) (Ping timeout:
384 seconds)
L1346[12:53:34]
⇦ Quits: sciguyryan (~sciguyrya@94.242.205.34) (Remote host
closed the connection)
L1347[12:53:54] <Delenas> Inari
what
L1348[12:53:57]
⇨ Joins: cpup (~cpup@32.218.112.115)
L1349[12:54:12] <Inari> Delenas: hm?
:p
L1350[12:54:38] <Delenas> Store the cap
as an interface first, it's far more readable for ya. And where are
you directly setting a stack, out of curiosity?
L1351[12:55:33] <Inari> dunno, probably
something that just sets a stack :D im mostly trying to make this
work haha... and sure, just wondering if thats right
L1352[12:55:38] <Delenas> Gamax, as far
as I know, the fml version cleanly errors out. I may be
wrong.
L1353[12:55:40]
⇦ Quits: CoderPuppy (~cpup@32.218.112.60) (Ping timeout: 190
seconds)
L1354[12:56:29] <Delenas> Think of Client
and CommonHandler like your mod's proxies.
L1355[12:57:07] <Delenas> Brb
L1356[12:57:11]
⇦ Quits: Delenas
(~Delenas@2600:1016:b11a:e44b:512a:ade8:ea8e:17df) (Quit:
rawr.)
L1357[12:58:20]
⇨ Joins: Delenas
(~Delenas@2600:1016:b11a:e44b:1526:6510:f029:ac72)
L1358[12:58:31]
⇨ Joins: Intektor
(~Intektor4@p5B27532A.dip0.t-ipconnect.de)
L1359[12:59:02] <Inari> this container
business is confusing
L1360[12:59:05] <Intektor> I am trying to
make the player place a block on the client, so I probably have to
send a package to the server, how is this vanilla packet
called
L1361[13:00:36] <Inari> i mean, i have no
IInventory... but Slot wants one
L1362[13:01:16] ***
Kolatra is now known as Kolatra|away
L1363[13:02:18] <TehNut>
SlotItemHandler
L1364[13:04:54]
⇨ Joins: KnightMiner (~KnightMin@68.255.4.5)
L1365[13:05:56] <Inari> ah, thanks
^^
L1366[13:07:43] <jackmcbarn> when i do
"./gradlew eclipse", it looks successful, but then i
don't see an eclipse workspace anywhere
L1367[13:09:07]
⇦ Quits: IceDragon (~ThatGuy@63.143.102.0) (Ping timeout: 384
seconds)
L1368[13:09:59] <Javaschreiber>
jackmcbarn: You need to make your own and import the Forge
porject.
L1369[13:10:19] <jackmcbarn> i thought
the point of ./gradlew eclipse was to do that for me
L1370[13:13:58] <PaleoCrafter> it
generates the project
L1371[13:14:01] <PaleoCrafter> no the
workspace
L1373[13:16:53]
⇦ Quits: rebecca_ (~rebecca@209.95.50.24) (Ping timeout: 186
seconds)
L1374[13:19:37]
⇨ Joins: PBlock96 (~PBlock96@64.53.13.215)
L1375[13:20:29]
⇦ Quits: auenf (David@DC-72-89.bpb.bigpond.com) (Ping
timeout: 186 seconds)
L1376[13:21:13]
⇨ Joins: CoderPuppy (~cpup@32.218.112.199)
L1377[13:21:38]
⇨ Joins: auenf (David@DC-72-89.bpb.bigpond.com)
L1378[13:23:20]
⇦ Quits: cpup (~cpup@32.218.112.115) (Ping timeout: 190
seconds)
L1379[13:26:53]
⇨ Joins: aidancbrady
(~aidancbra@c-24-125-34-75.hsd1.ga.comcast.net)
L1380[13:27:15]
⇦ Quits: kimfy (~kimfy@236.5.200.37.customer.cdi.no) (Read
error: Connection reset by peer)
L1381[13:28:00]
⇦ Quits: Baughn (~Baughn@madoka.brage.info) (Quit: ZNC
1.6.2+deb1 - http://znc.in)
L1382[13:29:47]
⇨ Joins: raoulvdberge
(uid95673@id-95673.richmond.irccloud.com)
L1383[13:33:28] <Inari> i somehow broke
gradle ;-; warnings ni buildscript, warnings when refreshign gradle
project, cant start client/server cause "Exception in thread
"main" java.lang.ClassNotFoundException:
GradleStart" :/ i even did clean setupDecompWorkspace idea
again (deleting the old files) (with idea closed during that) and
still broken...
L1384[13:37:22] <PaleoCrafter> do not use
the idea task
L1385[13:37:47] <Inari> it worked so far
o.o what instead? intellij?
L1386[13:38:00]
⇨ Joins: Lunatrius (~Lunatrius@77.38.21.26)
L1387[13:38:05] <diesieben07> File >
Open > select build.gradle
L1388[13:38:06] <diesieben07> done
:)
L1389[13:39:57] <Inari> same issue
though, except now i dont even have a client/server thing
premade
L1390[13:40:21] <gigaherz> Inari:
L1391[13:40:27] <gigaherz> step 1: open
build.gradle, and import with default settings
L1392[13:40:34] <gigaherz> step 2: open
the gradle panel and wait for it to fill in
L1393[13:40:46] <gigaherz> step 3:
doubleclick the setupDecompWorkspace task
L1394[13:40:58] <gigaherz> step 4: click
the blue refresh icon on the gradle panel (NOT the main
toolbar)
L1395[13:41:13] <gigaherz> step 5: run
the genIntellijRuns task
L1396[13:41:20] <gigaherz> step 4 and 5
can be done in different orders
L1397[13:41:54] <Inari> Exception in
thread "main" java.lang.ClassNotFoundException:
GradleStart :<
L1398[13:42:10] <gigaherz> did you
actually click the blue refresh icon?
L1399[13:42:14] <Inari> yeah
L1400[13:42:24] <gigaherz> did the
setupDecompWorkspace actually complete successfully?
L1401[13:42:30] <Inari> yeah
L1402[13:42:39] <gigaherz> not failed due
to not enough memory?
L1403[13:42:42] <gigaherz> then it should
be working.
L1404[13:42:44] <Inari> no?
L1405[13:42:44] <gigaherz> wait
L1406[13:42:46] <gigaherz> idea
2016?
L1407[13:42:52] <Inari> yeah
L1408[13:43:03] <gigaherz> yeah you may
be having the bug where it doesn't attach the sources
L1409[13:43:09] <gigaherz> someone else
may know how to fix that
L1410[13:43:11] <Inari> ¬_¬
L1411[13:43:14] <gigaherz> I don't use
idea 2016 ;P
L1412[13:43:25] <Inari> i had been
waiting for months to follow this "Update!" thingy
L1413[13:43:29] <Inari> and now i update
and stuff is crap haha
L1414[13:43:48] <KnightMiner> Use
Eclipse, never let me down
L1415[13:43:51] <gigaherz> it's just a
tiny fix
L1416[13:43:54] <Inari> i hate
eclipse
L1417[13:43:58]
⇨ Joins: Baughn (~Baughn@madoka.brage.info)
L1418[13:44:02] <gigaherz> KnightMiner:
lucky you.
L1419[13:44:26]
⇦ Quits: Baughn (~Baughn@madoka.brage.info) (Client
Quit)
L1420[13:44:37]
⇨ Joins: Baughn (~Baughn@madoka.brage.info)
L1421[13:44:43] <gigaherz> aha
L1422[13:44:44] <gigaherz> yeah
L1423[13:44:52] <gigaherz> Inari: open
the "edit configurations" panel
L1425[13:44:57] <Inari> haha
L1426[13:45:05] <gigaherz> and edit the
two tasks
L1427[13:45:12] <gigaherz> to actually
have the "module" assigned
L1428[13:45:14] <PaleoCrafter> yeah, you
have to use the main module
L1429[13:45:27]
⇦ Quits: Baughn (~Baughn@madoka.brage.info) (Client
Quit)
L1430[13:45:42] <PaleoCrafter> FG sets
the top-level module, but that isn't the one containing the
references anymore from 2016 onwards
L1431[13:46:14] <Inari> well except for
the buildscript warnings still being weird, it starts \o/
L1432[13:46:15] <Inari> thanks
L1433[13:46:16] <gigaherz> so the
"bug" is in the genIntellijRuns task, sortof
L1434[13:48:10] <PaleoCrafter>
technically, you can circumvent it by unchecking the "create
separate modules for source sets" thing when importing the
build.gradle
L1435[13:48:32] <PaleoCrafter> Inari,
editor support for the build.gradle isn't the best xD
L1436[13:49:33] <Inari> blocks are not
put into it at all if it cant find their model?
L1437[13:50:53] <Delenas> So.. adding a
hand param to the Gui capabilities. Because I started to think of
lots of uses for it.
L1438[13:51:50] <Delenas> For tiles,
could open a different gui based on which hand you use. For
entities, they could, say, favor a trade if you're using your
offhand. For items- well, grab the stack with it.
L1439[13:52:42] <PaleoCrafter> haha,
imagine cultures where the left hand is considered dirty :D
L1440[13:52:58] <PaleoCrafter> "I
refuse to trade with you"
L1441[13:53:30] <Delenas> But yes, it has
uses.
L1442[13:53:58] <Delenas> Anyway. Adding
more documentation, because documentation is never bad.
L1443[13:54:50] <P3pp3rF1y> Is there an
item override or event I can subscribe to that would get triggered
when held item changes?
L1444[13:55:01] <P3pp3rF1y> and that is a
server side one
L1445[13:55:44] <P3pp3rF1y> I spent a bit
time looking for it, but it seems to me that vanilla just changes
it without letting the previous item know
L1446[13:55:50] <P3pp3rF1y> and that's
kind of an issue for me
L1447[13:57:10] <diesieben07> if it is
that is a bad design
L1448[13:57:13] <diesieben07> why do you
need to know?
L1449[13:57:32] <P3pp3rF1y> because my
item allows player to fly when right click is held
L1450[13:57:41] <diesieben07> you need a
tick handler
L1451[13:57:43] <P3pp3rF1y> and I need to
set allowflying otherwise server kicks them
L1452[13:57:48] <Delenas> Okay, that test
solves the problem of passing an EnumFacing into the item gui
providers. Now you pass the hand into the openGui method.
L1453[13:58:22] <P3pp3rF1y> and I am
setting it back to false onplayerstoppedusing, but that doesn't get
triggered when item changes while right click is held
L1454[13:59:42] <P3pp3rF1y> by tick
handler I assume you mean onUsingTick which is what I am
using
L1455[14:00:23] <diesieben07> No, I mena
PlayerTickEvent
L1456[14:01:45]
⇨ Joins: cpup (~cpup@32.218.113.47)
L1457[14:02:28]
⇨ Joins: theFlaxbeard
(~theFlaxbe@65-128-149-69.mpls.qwest.net)
L1458[14:02:30] <P3pp3rF1y> well, I
believe that in that case I would only be able to check for whether
they use my item and if not set allowflying to false, but that can
break other mods
L1459[14:02:55] <P3pp3rF1y> I guess I
will check if I can manipulate the time value that server uses to
track how long they are in the air
L1460[14:03:37]
⇦ Quits: CoderPuppy (~cpup@32.218.112.199) (Ping timeout: 192
seconds)
L1462[14:05:45] <Delenas> Trying to
polish this thing up the rest of the way.
L1463[14:06:53] <diesieben07> because
FMLs channel does not know about IMessages
L1464[14:07:00] <diesieben07> i am
surprised this works at all in SP
L1465[14:07:03] <diesieben07> it will
certainly NOT work in MP
L1466[14:07:21]
⇨ Joins: quadraxis
(~chatzilla@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net)
L1467[14:08:23]
⇦ Quits: McJty (~jorrit@94-225-203-206.access.telenet.be)
(Quit: Leaving)
L1468[14:09:23]
⇨ Joins: AndersBillLind
(~anders@217-211-66-29-no23.tbcn.telia.com)
L1469[14:09:30]
⇨ Joins: Benimatic
(~Benimatic@cblmdm72-241-108-184.buckeyecom.net)
L1470[14:11:27]
⇦ Quits: Samario
(~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net) (Ping
timeout: 384 seconds)
L1471[14:11:52] <Delenas> What should I
use instead?
L1472[14:12:02] <diesieben07> Look at the
other FML messages
L1473[14:14:35] <PaleoCrafter> is there
any safe method for TEs that gets called when they're first
created, but after the world etc. was initialised?
L1474[14:16:43] <Horfius> What is the
best way to grab the GL_VERSION when not on the render thread(no
context)?
L1475[14:17:16] <kenzierocks>
PaleoCrafter: no
L1476[14:17:27] <PaleoCrafter>
dammit
L1477[14:17:29] <kenzierocks> you can do
what I did and listen to the post-load event :D
L1478[14:17:36] <PaleoCrafter> not even
setWorldObj? :D
L1479[14:17:40] <kenzierocks> lol
L1480[14:17:41] <kenzierocks> no
L1481[14:18:34] <Delenas> I think it's
fine.
L1482[14:21:57] <AndersBillLind> I am
trying to junit test functionality in minecraft+forge, it seems I
need to call Bootstrap.register to use for instance
Blocks.OBSIDIAN, a static block in Blocks will throw a
RunTimeException otherwise, but Bootstrap.register will try to use
LanuageMap.class.getResourceAsStream
LanguageMap.class.getResourceAsStream("/assets/minecraft/lang/en_US.lang")
which I dunno how to mock
L1483[14:22:31] <AndersBillLind> oops,
got an echo there
L1484[14:22:33]
⇨ Joins: Samario
(~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net)
L1485[14:27:09] ***
kirby|gone is now known as mrkirby153
L1486[14:27:58] <electrolitic> Dang. I
have a block that when I hold, has a texture. When I place it, it
has the missing texture texture.
L1487[14:28:42] <PaleoCrafter> do you
have a blockstates file for it?
L1488[14:28:49] <electrolitic> No.
L1489[14:28:57]
⇨ Joins: Hgrebnednav
(~Hgrebnedn@d8d872a6e.access.telenet.be)
L1490[14:29:07] <PaleoCrafter> you need
one :P
L1491[14:29:15] <electrolitic> Oh,
crap.
L1493[14:31:48] <electrolitic> Thank
you
L1494[14:33:18] <Delenas> diesie, it
looks like as long as I have the packet handler working properly it
doesn't matter
L1495[14:34:09] <Delenas> This may be a
bigger task of changing Forge's messages to use IMessage and doing
a small network bump.
L1496[14:34:25] <raoulvdberge> Is there a
generic block place event that handles all cases of block
placement? (so placed by player, by setBlockState(),
anything..)
L1497[14:34:38] <diesieben07> Delenas,
did you test it on a server?
L1498[14:34:46] <Delenas> Working on that
now
L1499[14:34:48] <diesieben07> so it
actually has to serialize the packet?
L1500[14:35:10]
⇦ Quits: Saucier (~saucier@p5DC19842.dip0.t-ipconnect.de)
(Quit: Nettalk6 - www.ntalk.de)
L1501[14:36:34] ***
helinus is now known as helinus|off
L1502[14:39:47] <raoulvdberge> Is there a
way to see if it's a server or client without having the world
obj
L1503[14:39:59] <diesieben07> not
really
L1504[14:40:11] <Delenas>
FMLCommonHandler
L1505[14:40:16] <diesieben07> No.
L1506[14:40:19] <diesieben07> why don't
you have a world?
L1507[14:40:36] <raoulvdberge>
readFromNBT in a TE
L1508[14:40:39] <raoulvdberge> doesn't
have the world set yet
L1509[14:41:01] <diesieben07> readFromNBT
is always server.
L1510[14:41:11] <kenzierocks>
raoulvdberge: onBlockAdded
L1511[14:41:16] <diesieben07> although
yeah no its not
L1512[14:41:20] <diesieben07> ^ that is
better
L1513[14:41:55] <Delenas> diesieben07,
tested. Works on a dedicated server flawlessly.
L1514[14:42:09] <diesieben07> what
does?
L1515[14:42:16] <diesieben07> oh your
code
L1516[14:42:18] <diesieben07> what?!
how?!
L1517[14:42:44] <Delenas> Magic?
L1518[14:43:30] <diesieben07> there is no
way that works.
L1519[14:43:44] <diesieben07> your
IMessage does not even have a no-arg constructor
L1520[14:43:54] <diesieben07> if it
really made it across a bytestream that would crash it
L1521[14:44:04] <diesieben07> but there
is nothign there handlign the imessage.
L1522[14:44:08] <diesieben07> so it just
doesnt wokr
L1523[14:44:21] <Delenas> Perhaps I need
to implement a container.
L1524[14:44:32] <Delenas> Lemme test
that.
L1525[14:44:41]
⇦ Quits: Intektor (~Intektor4@p5B27532A.dip0.t-ipconnect.de)
(Quit: Leaving)
L1526[14:46:41] <AndersBillLind> My
conclusion is that forge could be made more test friendly
L1527[14:47:19] <kenzierocks> lol
L1528[14:47:25] <AndersBillLind> If
possible then
L1529[14:49:42] <RANKSHANK> anyone know
how long forge is going to stay on the 1.10.X branch for? :P
L1530[14:50:57]
⇦ Quits: cpup (~cpup@32.218.113.47) (Ping timeout: 186
seconds)
L1531[14:52:35] <Delenas> No, we need a
bunch of people to merge fml and forge properly.
L1532[14:52:51] <Delenas> This bull of
not knowing where to implement stuff needs to stop. x.x
L1533[14:53:32] <gigaherz> FML was
merged?
L1534[14:53:33] <kashike> FML and Forge
have already been merged.
L1535[14:54:14] <gigaherz> but they are
still distinct features: FML is the part that loads classes and
such
L1536[14:54:19]
⇨ Joins: Davnit_
(~Davnit@72-189-103-223.res.bhn.net)
L1537[14:54:48] <gigaherz> Forge is an
integrated "mod" that hooks into MC to make modding
easier
L1538[14:54:58] <kashike> which makes
sense, seeing how FML is the Forge Mod Loader
L1539[14:55:24]
⇨ Joins: BaronNox_
(~BaronNox@pD9E99F6F.dip0.t-ipconnect.de)
L1540[14:55:32] <gigaherz> smotly the
advantage of them being unified now
L1541[14:55:36] <gigaherz> is that
there's only one event bus
L1542[14:56:03]
⇨ Joins: cpup (~cpup@32.218.113.169)
L1543[14:56:25] <gigaherz> mostly*
L1544[14:56:29] <RANKSHANK> and less
downloads for the consumer base to be confused by ;D
L1545[14:57:30]
⇦ Quits: BlueMonster (uid82864@id-82864.tooting.irccloud.com)
(*.net *.split)
L1546[14:57:30]
⇦ Quits: Davnit (~Davnit@72-189-103-223.res.bhn.net) (*.net
*.split)
L1547[14:57:30]
⇦ Quits: BaronNox (~BaronNox@pD9E99F6F.dip0.t-ipconnect.de)
(*.net *.split)
L1548[14:57:30]
⇦ Quits: electrolitic
(~electroli@104-184-56-125.lightspeed.cicril.sbcglobal.net) (*.net
*.split)
L1549[14:57:30]
⇦ Quits: maxlowry123
(~IceChat9@pool-71-244-115-181.albyny.fios.verizon.net) (*.net
*.split)
L1550[14:57:30]
⇦ Quits: Upth
(~ogmar@108-85-88-44.lightspeed.frokca.sbcglobal.net) (*.net
*.split)
L1551[14:57:30]
⇦ Quits: An_Sar (~srw@mail.nmd.so) (*.net
*.split)
L1552[14:57:30]
⇦ Quits: Corosus (~Corosus@135-23-126-120.cpe.pppoe.ca)
(*.net *.split)
L1553[14:57:31] ***
BaronNox_ is now known as BaronNox
L1554[15:02:15] <Delenas> So.. if I
change Forge's network handling to IMessage (because it's halfway
there already) will that break everything in the known
universe?
L1555[15:02:31] <PaleoCrafter> why can't
you just use whatever it uses now?
L1556[15:03:11] <Javaschreiber> It seems
like OBJ-Models are not animatable with Forge as they are baked and
then cached, ignoring the new ModeState. Does anyone know a good
way to export .b3d files from blender or convert .obj files to the
before mentioned file format?
L1557[15:03:52] <Delenas>
Unification.
L1559[15:04:22] <PaleoCrafter> not sure
if that still works
L1560[15:04:26] <PaleoCrafter>
unification with what? :P
L1561[15:04:50] <PaleoCrafter> --^
Javaschreiber
L1562[15:05:22] <Javaschreiber>
PaleoCrafter: Thanks, I will have a look at it.
L1563[15:05:27]
⇨ Joins: BlueMonster
(uid82864@id-82864.tooting.irccloud.com)
L1564[15:05:27]
⇨ Joins: An_Sar (~srw@mail.nmd.so)
L1565[15:05:27]
⇨ Joins: Corosus
(~Corosus@135-23-126-120.cpe.pppoe.ca)
L1566[15:05:53] <Delenas> I'm noticing
all the Forge networking stuff is identical to IMessage, save for..
actually implementing it.
L1567[15:06:11] <Delenas> A few small
changes and it looks like nothing is gained or lost.
L1568[15:06:24]
⇨ Joins: electrolitic
(~electroli@104-184-56-125.lightspeed.cicril.sbcglobal.net)
L1569[15:10:34]
⇨ Joins: triangle36 (~trianglec@216.38.32.2)
L1570[15:10:35] <PaleoCrafter> I'd take a
look at the PR first anyway, Delenas :P
L1571[15:10:37] <PaleoCrafter> Lex
commented on it
L1572[15:12:28]
⇦ Quits: Hunterz (~hunterz@62.182.234.189) (Quit:
Leaving.)
L1573[15:13:22] <triangle36> I am looking
for the exact commit that version 9.11.1.965 came from, but cant
seem to find it (I am new to searching for such a thing in
git)
L1574[15:21:03] <gigaherz> look for the
commit message
L1575[15:21:09] <gigaherz> check the
changelog for 965
L1576[15:21:14] <gigaherz> and then look
for that commit message on git
L1577[15:21:32] <gigaherz> there's
probably a more effective way, but that's the best one I can think
of
L1578[15:21:32] <gigaherz> XD
L1579[15:23:10] <Javaschreiber> Is there
any way to animate a non-vanilla modell? Like b3d or obj? I've got
a standard cube rotating, but my models won't. :(
L1580[15:23:33] <triangle36> gigaherz:
Thanks :)
L1581[15:23:37] <triangle36> I think I
found it
L1582[15:23:47] <gigaherz> Javaschreiber:
b3d models can animate on their own
L1583[15:23:56]
⇦ Parts: Aroma1997 (~Aroma1997@2604:a880:800:10::168:d001)
())
L1584[15:23:57] <gigaherz> using skeleton
animations
L1585[15:24:11] <gigaherz> I think you
can then use the animation system to specify the animation start,
and length
L1586[15:24:31] <gigaherz> (start/end
within the model's animation timeline)
L1587[15:25:01] <Javaschreiber> gigaherz:
How about b3d? Is there a way to bypass the caching?
L1588[15:25:11] <gigaherz> caching?
L1589[15:25:18] <gigaherz> sorry that's
beyond me
L1590[15:25:28] <Javaschreiber> Sry. Obj
caches. I mistyped.
L1591[15:25:40] <gigaherz> I don't
believe .obj works with the animation system
L1592[15:25:53] <gigaherz> but I could be
wrong
L1593[15:25:56] <gigaherz> I don't really
know much about it
L1594[15:26:00] <gigaherz> only what I
heard in here
L1595[15:26:27] <gigaherz> I assume you
are talking about the animation system that fry created
L1596[15:26:37] <gigaherz> because in
like, a TESR, it's perfectly possible to do animations ;P
L1597[15:26:44]
⇨ Joins: Lunatrius` (~Lunatrius@77.38.21.26)
L1598[15:27:04] <triangle36> gigaherz:
wait... the change log for 965 looks almost like 964, there is just
an empty line for 965 D:
L1599[15:27:13] <gigaherz> hmm no idea,
then
L1600[15:27:24] <Javaschreiber> You are
right. I'm using a TESR, but the model which should apply each new
ModeState, caches and then ignores it.
L1601[15:27:27]
⇨ Joins: CoderPuppy (~cpup@32.218.113.229)
L1602[15:27:48]
⇦ Quits: Lunatrius (~Lunatrius@77.38.21.26) (Killed (NickServ
(GHOST command used by Lunatrius`)))
L1603[15:27:52] ***
Lunatrius` is now known as Lunatrius
L1604[15:28:13] <Javaschreiber> See
OBJModel Lines 1343-ish and 1289-ish
L1605[15:28:16] <gigaherz> hm?
L1606[15:28:26] <gigaherz> wait how does
the ModelState matter in a TESR?
L1607[15:28:40]
⇦ Quits: cpup (~cpup@32.218.113.169) (Ping timeout: 190
seconds)
L1608[15:28:51] <Javaschreiber> See
AnimationTESR
L1609[15:29:03] <gigaherz> so you ARE
using the animation system
L1610[15:29:07] <gigaherz> yeah I can't
help with that
L1611[15:29:08] <gigaherz> XD
L1612[15:29:11] <Javaschreiber> OK.
L1613[15:29:39]
⇦ Quits: Ipsis (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk)
(Ping timeout: 201 seconds)
L1614[15:30:21]
⇦ Quits: BlueMonster (uid82864@id-82864.tooting.irccloud.com)
(*.net *.split)
L1615[15:30:21]
⇦ Quits: An_Sar (~srw@mail.nmd.so) (*.net
*.split)
L1616[15:30:21]
⇦ Quits: Corosus (~Corosus@135-23-126-120.cpe.pppoe.ca)
(*.net *.split)
L1617[15:30:43]
⇦ Quits: Benimatic
(~Benimatic@cblmdm72-241-108-184.buckeyecom.net) (Read error:
Connection reset by peer)
L1618[15:30:57]
⇨ Joins: Benimatic
(~Benimatic@cblmdm72-241-108-184.buckeyecom.net)
L1619[15:31:41] <Inari> oh the animation
system/api is a thing now?
L1620[15:32:07] <gigaherz> been a thing
for some months
L1621[15:32:13] <gigaherz> but only fry
really knows how to use it
L1622[15:32:13] <gigaherz> XD
L1623[15:32:22] <gigaherz> and he's on
vacation
L1624[15:32:29] <Inari> no clue, i just
read about it in the rendering primer thingy that it isnt a hting
yet :P
L1625[15:32:36] <Wuppy> woops, just spend
1.5 hours playing pokemon
L1626[15:32:53] <gigaherz> that primer
was made before it was a thing
L1627[15:32:55] <gigaherz> ;P
L1628[15:33:00] <Inari> :p
L1629[15:33:32] <Inari> and maybe i cant
talk with all the questions i ask xD but shouldn't be that hard to
figure out how it works? the code is open I think?
L1630[15:34:37] <gigaherz> yes but
L1631[15:34:40] <Javaschreiber> gigaherz:
I think I figured it out. There is a method called
scheduleRebake()...
L1632[15:34:48] <gigaherz> .... it's not
straightforward.
L1633[15:35:28] <Javaschreiber> Inari:
It's hard. It took me an afternoon copy and pasting, reading the
source code, asking in the irc...
L1634[15:35:55] <PaleoCrafter>
triangle36, 964 and 965 are virtually the same
L1635[15:36:03] <PaleoCrafter> the only
difference is the src/MDK package
L1636[15:36:24] <PaleoCrafter> because FG
was broken at some point, a non-gradle version was provided
(965)
L1637[15:36:36] <PaleoCrafter> btw, why
you're dealing with 1.6.4 versions? :P
L1638[15:36:48] <triangle36> ya
L1639[15:37:41] <Wuppy> booyah, managed
to evolve myself a pidgeot :D
L1640[15:37:56] <Wuppy> pidgeotto*
L1641[15:38:01] <gigaherz> I caught
myself a Wooly Mammoth earlier
L1642[15:38:05] <gigaherz> different
game, but yeah ;P
L1643[15:38:08] <Wuppy> hahaha
L1644[15:38:11] <Wuppy> I was confused
there for a second
L1645[15:38:15] <Wuppy> I got a horsea
:D
L1646[15:38:39] <Delenas> Welp, I'm doing
reflection stuffs now.
L1647[15:39:38] <Wuppy> I did have this
one spot where like 5 pidgey, 3 ratata and 2 spearow showed up
within a minute or so, was happy :D
L1648[15:44:33] ***
AEnterprise is now known as AEnterpriseAFK
L1649[15:45:34]
⇨ Joins: Luigi370
(Mibbit@cpc88503-nrte29-2-0-cust1309.8-4.cable.virginm.net)
L1650[15:46:36] <PaleoCrafter> Delenas,
did you actually look at Lex' comment? I think he makes justified
objections
L1651[15:48:02] <LexManos> ....
L1652[15:48:41] <Delenas> Yes. I'm
working on the provider issue
L1653[15:51:38]
⇨ Joins: BlueMonster
(uid82864@id-82864.tooting.irccloud.com)
L1654[15:51:38]
⇨ Joins: An_Sar (~srw@mail.nmd.so)
L1655[15:51:38]
⇨ Joins: Corosus
(~Corosus@135-23-126-120.cpe.pppoe.ca)
L1656[15:52:24]
⇨ Joins: Upth
(~ogmar@108-85-88-44.lightspeed.frokca.sbcglobal.net)
L1657[15:53:44] <AndersBillLind> Trying
to call net.minecraftforge.fml.common.FMLCommonHandler.instance(),
I get an ExceptionInInitializerError, which should meant that a
static block was failing, is that a correct understanding from
me?
L1658[15:54:07] <diesieben07> yes, look
at the cause of hte exception
L1659[15:54:39] <LexManos> <Inari>
do i just cast it to that?, No you're not garenteed to get a
modifiable version in the return. You need to add a check for that.
The general idea is that you shouldnt be modifying slots directly\
unless you absolutly need to.
L1660[15:54:41] <AndersBillLind> It is
very hard to find a place to put a breakpoint on, cannot even see a
static block
L1661[15:54:46]
⇦ Quits: Javaschreiber
(~Thunderbi@p5dd8fc7d.dip0.t-ipconnect.de) (Quit:
Javaschreiber)
L1662[15:54:59] <AndersBillLind> No
breakpoint in that class will hit, it seems
L1663[15:55:08] <diesieben07>
AndersBillLind, ExceptioninInitializerError will have an exception
as its cause
L1664[15:55:12] <diesieben07> aprt of the
stacik trace
L1665[15:56:17] <AndersBillLind> Ah, you
are right, I see that now, sun.misc.Launcher@AppClassLoader cannot
be cast to net.minecreaft.launchwrapper.LaunchClassLoader
L1666[15:56:41] <diesieben07> wtf are you
doing!
L1667[15:56:51] <AndersBillLind> I did
only call that method
L1668[15:57:07] <diesieben07> how are you
launching the game?
L1669[15:57:10] <diesieben07> and where
are you calling it
L1670[15:57:21] <AndersBillLind> I am
trying to call it from a test class :)
L1671[15:57:26] <diesieben07> you cannot
:P
L1672[15:57:32] <AndersBillLind> It seems
you are right
L1673[15:57:37] <diesieben07> Minecraft
must be launched through the launchwrapper
L1674[15:57:47] <kenzierocks> yea, don't
try to unit test minecraft
L1675[15:57:50] <kenzierocks>
seriously
L1676[15:57:52] <AndersBillLind> I did
not intend to launch minecraft, but ok
L1677[15:58:00]
⇦ Parts: Luigi370
(Mibbit@cpc88503-nrte29-2-0-cust1309.8-4.cable.virginm.net)
())
L1678[15:58:02] <kenzierocks> unit test
parts that don't involve minecraft
L1679[15:58:02] <AndersBillLind>
kenzierocks: For the fun of it
L1680[15:58:08] <diesieben07> you cannot
use FMLCommonHanlder outside of Minecraft :pü
L1681[15:58:28]
⇨ Joins: ThermalCube
(webchat@b9168e61.cgn.dg-w.de)
L1682[15:58:44] <P3pp3rF1y> is it really
unit test when you run so much code inside of it?
L1683[15:58:45] <AndersBillLind> I wish I
did not have to call it actually
L1684[15:59:04] <AndersBillLind>
P3pp3rF1y: It is very hard to minimize the test environment
L1685[15:59:12] <AndersBillLind>
Everything calls everything else
L1686[15:59:14] <diesieben07> you can
unit test minecraft just fine, you just have to launch the game
first :D :D
L1687[15:59:28] <AndersBillLind> That is
something else than unit testing :)
L1688[15:59:29] <AndersBillLind>
hehe
L1689[15:59:39]
⇦ Quits: Jezza (~Jezza@92.206.5.6) (Quit:
Leaving)
L1690[15:59:40] <P3pp3rF1y> well, I would
think you should be able to mock everything, but what you are unit
testing
L1691[15:59:50] <diesieben07> if you are
unit testing your own stuff...
L1692[16:00:02] <AndersBillLind> If there
was some more interfaces in the forge code, this would be possible,
now it seems like a tangled web to test it
L1693[16:00:04] <diesieben07> what i am
saying is write a junit runner that launches the game and as soon
as thats done runs your tests
L1694[16:00:27] <P3pp3rF1y>
AndersBillLind, PowerMock may help in that case
L1695[16:00:28] <AndersBillLind> I think
I have to copy the code into a new project and test it from
there
L1696[16:00:35] <AndersBillLind>
P3pp3rF1y: Hm, ok
L1697[16:00:37] <P3pp3rF1y> you don't
need interfaces to mock stuff
L1698[16:00:53] <AndersBillLind> True,
but thats a lot cleaner than using mock, if you ask me
L1699[16:01:06] <P3pp3rF1y> and I believe
Mockito is able to mock classes as well, just not static ones
L1700[16:01:08] <AndersBillLind> I know
other people think of it in another way
L1701[16:01:46] <P3pp3rF1y> my thought on
unit testing is limit the code you run as much as you can to what
you're unit testing
L1702[16:01:55] <P3pp3rF1y> otherwise you
get a lot of errors from external stuff
L1703[16:02:06] <AndersBillLind>
P3pp3rF1y: Absolutely
L1704[16:02:17] <P3pp3rF1y> so unit test
failing would not mean that what you're unit testing is
failiing
L1705[16:02:19] <AndersBillLind> But the
code needs to be written more testably to make that happen
L1706[16:02:31] ***
Mine|dreamland is now known as minecreatr
L1707[16:02:34] <AndersBillLind> I am of
the same point of view
L1708[16:04:06]
⇦ Quits: ThermalCube (webchat@b9168e61.cgn.dg-w.de) (Quit:
Web client closed)
L1709[16:04:24] <AndersBillLind> I like
hard challenges, but unit testing this fails for me
L1710[16:08:59] <PaleoCrafter> what was
your initial target again? :P
L1711[16:17:08]
⇨ Joins: Naiten (Naiten@77.34.43.197)
L1712[16:21:05]
⇦ Quits: quadraxis
(~chatzilla@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net)
(Ping timeout: 186 seconds)
L1713[16:25:11] <Delenas> So, think I got
it now.
L1714[16:25:17]
⇦ Quits: Forecaster (~Forecaste@83.223.21.91) (Ping timeout:
192 seconds)
L1715[16:25:39]
⇦ Quits: agowa338 (~Thunderbi@p54919CA8.dip0.t-ipconnect.de)
(Ping timeout: 198 seconds)
L1716[16:26:43]
⇨ Joins: Forecaster (~Forecaste@83.223.21.91)
L1717[16:27:16]
⇨ Joins: Baughn (~Baughn@madoka.brage.info)
L1718[16:28:01] ***
PaleoCrafter is now known as PaleOff
L1719[16:34:36] <Delenas> Okay, commit
pushed. That should fix server derpiness (tested) now. Provider
should be created and such on the client properly, too.
L1720[16:35:34]
⇦ Quits: Seppon (~Noppes@ip56530f2e.direct-adsl.nl) (Read
error: Connection reset by peer)
L1721[16:36:01] <diesieben07> you are
writing the class name as a string? get the hell out.
L1722[16:36:23] <Delenas> Well, how else
should I handle that?
L1723[16:36:34] <diesieben07> Just like
the old GUI handler. IDs.
L1724[16:36:48] <diesieben07> or
actually
L1725[16:36:53] <diesieben07> the thign
is a capability right?
L1726[16:36:56] <Delenas> Yes/
L1727[16:37:09] <Delenas> Implementing
IGuiProvider there.
L1728[16:37:46] <diesieben07> so just
call getCapability on the client to receive the provider...
L1729[16:38:31] <Delenas> Brilliant. Now,
tell me
L1730[16:38:52] <Delenas> If the provider
has all the information to get the object, how do I handle getting
the provider?
L1731[16:39:19] <diesieben07>
thing.getCapability(MyCapability.INSTANCE)
L1732[16:39:30] <Delenas> I can't get
thing.
L1733[16:39:59] <diesieben07> so you
write its class name? that is not going to help anyone.
L1734[16:40:05] <Delenas> That's
serialized, sure, but there's no way to get an IProvider from
serialized data.
L1735[16:40:39] <diesieben07> thats what
lex meant.
L1736[16:40:41]
⇨ Joins: KnightMiner_ (~KnightMin@68.255.0.239)
L1737[16:40:49] <diesieben07> this
concept is fundamentally flawed, because you cannot get the
obejcton the other side.
L1738[16:40:53] <Delenas> What's in
there, at any given time? An item? An entity id? A tile
position?
L1739[16:41:12] <Delenas> The best way is
reflection. So either I have an ID and a map to classes, or this
doesn't happen.
L1740[16:41:13] ***
willieaway is now known as williewillus
L1741[16:41:28] <diesieben07> i would
choose "this doesnt happen" then
L1742[16:41:34] <diesieben07> say i pass
in a java 8 lambda
L1743[16:41:42] <diesieben07> i am sure
your thing will blow up spectacularly
L1744[16:42:11] <Delenas> Then, I dunno.
Don't do that?
L1745[16:42:20] <Delenas> You can never
fully bulletproof code.
L1746[16:42:29] <williewillus> what are
we talking about
L1747[16:42:39] <williewillus> the gui
thing?
L1748[16:42:43] <Delenas> Yup.
L1749[16:43:00]
⇨ Joins: DubbelD_
(~DubbelD@D549AB10.cm-10-1a.dynamic.ziggo.nl)
L1750[16:43:04]
⇦ Quits: KnightMiner (~KnightMin@68.255.4.5) (Ping timeout:
198 seconds)
L1751[16:43:05] <williewillus> oh I just
saw the open gui message
L1752[16:43:07] <Delenas> die is nagging
that my passing the classname through the packet is terribad and I
should burn for it
L1753[16:43:16]
⇦ Quits: DubbelD_
(~DubbelD@D549AB10.cm-10-1a.dynamic.ziggo.nl) (Client
Quit)
L1754[16:43:17] <williewillus> it
is...
L1755[16:43:30]
⇨ Joins: DubbelD
(~DubbelD@D549AB10.cm-10-1a.dynamic.ziggo.nl)
L1756[16:44:28] <Delenas> Then, better.
Can I maintain a map of ID -> Class on the server and sync it
like the block registry.
L1757[16:44:32] <diesieben07> mod changes
its package between versions
L1758[16:44:34] <Delenas> And pass an int
in the background.
L1759[16:44:37] <williewillus> wat
L1760[16:44:37] <diesieben07> everything
blows up with random problems
L1761[16:44:50] <Inari> can IMessage and
IMessageHandler still be the same class?
L1762[16:44:59] <Delenas> Yes.
L1763[16:45:08] <Delenas> die, this is
runtime.
L1764[16:45:08] <williewillus> not
recommended
L1765[16:45:20] <Delenas> That scenario
should never happen.
L1766[16:45:26] <diesieben07> runtime?
what?
L1767[16:45:35] <diesieben07> say a
verson fixes a client bug
L1768[16:45:38] <Inari> williewillus:
whys that?
L1769[16:45:38] <diesieben07> no reason
for the server to update
L1770[16:45:48] <diesieben07> yes, pretty
stupid scenario
L1771[16:45:50] <williewillus> Inari:
it's flaky. at least make your handler a static class inside the
message
L1772[16:45:52] <diesieben07> still, dont
do it
L1773[16:46:11]
⇦ Quits: founderio
(~Thunderbi@p200300C4E3C60000C89359FDAE407CF1.dip0.t-ipconnect.de)
(Quit: founderio)
L1774[16:46:13] <Delenas> Then I need to
maintain two maps, int to class and class to int, and sync
it.
L1775[16:46:17] <williewillus> anyways
the gui thing is a nice idea but now that i read the impl it's
meh
L1776[16:46:49] <diesieben07> class is
not a good identifier
L1777[16:47:53]
⇨ Joins: cpup (~cpup@32.218.114.124)
L1778[16:48:09] <Delenas> Funny. Before
the provider issue came up, everyone was perfectly fine with
it.
L1779[16:48:20] <diesieben07> well, it
just didn't work.
L1780[16:48:53]
⇦ Quits: Naiten (Naiten@77.34.43.197) (Read error: Connection
reset by peer)
L1781[16:49:03] <Delenas> So fuck me and
all my effort because you don't want to pass a string and use
reflection?
L1782[16:49:17] <kenzierocks> it's
passing a string over network to a class
L1783[16:49:25] <kenzierocks> i have no
idea how that would be a good idea
L1784[16:49:29] <williewillus> no one
said anything about you
L1785[16:49:34] <williewillus> stop
taking everything as a personal attack
L1786[16:50:02] <Delenas> Well, you're
just throwing the whole thing out instead of offering solutions to
make it work. :/
L1787[16:50:13]
⇦ Quits: CoderPuppy (~cpup@32.218.113.229) (Ping timeout: 192
seconds)
L1788[16:51:33] <diesieben07> you don't
have to provide a solution to be allowed to say "what you are
currently doing is not good".
L1789[16:51:48] <gigaherz> We still think
it's a good idea
L1790[16:51:50]
⇦ Quits: Samario
(~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net) (Quit: See
ya.)
L1791[16:51:55] <gigaherz> but if it
doesn't work, it doesn't work XD
L1792[16:51:56] <Delenas> Then please
help me make a better solution to the provider problem.
L1793[16:52:04] ***
manmaed is now known as manmaed|AFK
L1794[16:52:12] <diesieben07> i don't
know any right now.
L1795[16:52:20] <gigaherz> what's the
problem exactly?
L1796[16:52:25] <Inari> hm
L1797[16:52:41] <williewillus> gigaherz:
passing a class as a string over the network to instantiate
L1798[16:52:47] <williewillus> is part of
it
L1799[16:52:47] <diesieben07> thats not
the problem :D
L1800[16:52:47] <Delenas> I want to
eliminate gui ids. I can make a map on the server and maintain
it.
L1801[16:52:54] <gigaherz> no that's not
the problem, williewillus
L1802[16:52:54] <gigaherz> XD
L1803[16:52:58] <diesieben07> that was
the attempted solution
L1804[16:53:03] <kenzierocks> gui IDs are
fine....
L1805[16:53:08] <gigaherz> from the post
I got the idea that the issue is matching the server's capability
with the client's capability?
L1806[16:53:27] <Delenas> The issue is
getting the provider instance.
L1807[16:53:39] <Delenas> All we have is
a buffer to use.
L1808[16:53:41] <gigaherz> that's the
instance in the capability, right?
L1809[16:53:50] <unascribed> gui ids, mod
entity ids, and simpleimpl message ids are all fine, and that's
because of the one trait they have in common
L1810[16:53:52] <Inari> I need to read up
on java generics more..
L1811[16:53:52] <unascribed> they're
local to one mod
L1812[16:53:53] <Delenas> That's the impl
of IGuiProvider
L1813[16:53:57] <unascribed> and there's
no way to step on eachother's toes
L1814[16:53:59] <diesieben07> yes but you
have to do thing.getCapability
L1815[16:54:02] <diesieben07> there is no
way to get "thing"
L1816[16:54:05] <unascribed> block and
item ids were bad because everyone shared them
L1817[16:54:15] <gigaherz> yeah I wanted
to know the exact issue
L1818[16:54:20] <gigaherz> okay so
L1819[16:54:26] <gigaherz> the problem is
basically
L1820[16:54:29] <gigaherz> encoding the
"thing"
L1821[16:54:32] <gigaherz> that's easy to
solve?
L1822[16:54:43] <gigaherz> well
L1823[16:54:44] <Delenas> The thing and
all its data to get it is encoded.
L1824[16:54:46] <diesieben07> not
really.
L1825[16:54:56]
⇨ Joins: Katrix
(~Katrix@2a02:fe0:cb10:2420:e9a0:92f8:baa6:7852)
L1826[16:54:56] <Delenas> There's no way
to get the IGuiProvider to DECODE it.
L1827[16:54:59] <diesieben07> everything
can implement ICapabilityProvider
L1828[16:55:03] <gigaherz> yes
L1829[16:55:26] <gigaherz> but
still
L1830[16:55:40] <gigaherz> hmm
L1831[16:55:56] <diesieben07> you could
do it for the ones forge defines, yes
L1832[16:55:58] <gigaherz> nah
L1833[16:56:01] <diesieben07> entity, TE,
item
L1834[16:56:02] <gigaherz> you'd need a
unique ID for each thing
L1835[16:56:05] <diesieben07> but...
thats half ased
L1836[16:56:05] ***
williewillus is now known as willieaway
L1837[16:56:06] <gigaherz> and keep track
of those IDs
L1838[16:56:16] <gigaherz> and let each
implementation provide that ID
L1839[16:56:21] <diesieben07> yep
L1840[16:56:23] <gigaherz> where
"id" would probably be a string
L1841[16:56:25] <diesieben07> it just
blows up :D
L1842[16:56:58] <Delenas> I'd hate to do
it, but I could have the mod instance define a guihandler again.
But that goes right back to IDs and a switch statement.
L1843[16:56:58] <gigaherz> how does the
current implementation "know" which mod it's from?
L1844[16:57:03] <gigaherz> does it send a
modid string?
L1845[16:57:06] <diesieben07> no
L1846[16:57:10] <diesieben07> it sends
the provider class as s a string
L1847[16:57:13] <diesieben07> and then
does newInstance
L1848[16:57:15] <gigaherz> so
L1849[16:57:18] <diesieben07> which is
horrible :D
L1850[16:57:19] <gigaherz> in a way
L1851[16:57:23] <gigaherz> we are already
sending a string
L1852[16:57:29]
⇦ Quits: abab9579 (~Abastro@112.166.128.227) (Ping timeout:
384 seconds)
L1853[16:57:33] <gigaherz> so it's not
really worse if we send a manually-assigned "key"
L1854[16:57:46] <kenzierocks> what if
there was a way to determine what that thing was
L1855[16:57:54] <kenzierocks> like:
TileEntity@x,y,z
L1856[16:57:59] <diesieben07> that would
be fine
L1857[16:57:59] <kenzierocks> or
Item@<entityId>
L1858[16:58:01] <gigaherz> that'd be a
key still
L1859[16:58:03] <diesieben07> but that
requires a whole registry
L1860[16:58:05] <gigaherz> that's what I
meant
L1861[16:58:11] <Delenas> There's no way
for the client to pick up the key.
L1862[16:58:20] <gigaherz> it still
requires someone to be able to decode that
L1863[16:58:25] <Delenas> That's our
problem, I'd think
L1864[16:58:33] <gigaherz> well you'd
need a registry
L1865[16:59:05] <gamax92> does
registerMessage for networking messages have to be called inside a
proxy?
L1866[16:59:06] ***
kroeser is now known as kroeser|away
L1867[16:59:07] <gigaherz> a registry of
"interface KeyHandler { bool accepts(String); IGuiProvider
locate(String); }"
L1868[16:59:16] <gigaherz> gamax92:
no
L1870[16:59:46] <gigaherz> this is how I
do my message registration
L1871[16:59:48]
⇨ Joins: Abastro (~Abastro@112.166.128.227)
L1872[16:59:49] <Delenas> I could add
that as a part of the @Mod class.
L1873[16:59:50] <gamax92> oh okay, then
when registering the message for server and client should the
discriminator byte be the same
L1874[16:59:59] <diesieben07> whut
L1875[17:00:03] <gigaherz> Delenas:
wat
L1876[17:00:16] <diesieben07> you call
registerMessage
L1877[17:00:24] <diesieben07> on both
sides.
L1878[17:00:27] <gamax92> yes
L1879[17:00:31] <Delenas> Just like the
config factory.
L1880[17:00:35] <diesieben07> once for
each packet.
L1881[17:00:42] <gigaherz> gamax92: well
for a given message
L1882[17:00:49] <gigaherz> the
discriminator should be the same, of course
L1883[17:00:54] <gamax92> okay,
thanks
L1884[17:00:55] <gigaherz> but if you
have a bi-directional message
L1885[17:00:58] <gigaherz> you need to
register it twice
L1886[17:01:20] <gigaherz> with different
handlers, IIRC
L1887[17:02:10] <Delenas> Or rather, I'd
have an annote on a field. @GuiParser or something. Then the sent
keys are something like "modid:INT". System finds the
mod, finds the GuiParser object, then calls the method.
L1888[17:02:27] <diesieben07> and that is
better than an IGuiHandler because...?
L1889[17:02:36] <gigaherz> I have a
feeling that wouldn't get accepted.
L1890[17:02:55] <gigaherz> may as well
just send a custom packet, then
L1891[17:03:25] <Delenas> This whole
system is better because it allows getting and attaching guis, as
well as splitting up huge switches and pushing the gui code into
more reasonable packages.
L1892[17:03:51] <gigaherz> yes and that's
nice
L1893[17:04:05]
⇦ Quits: Nitrodev (~Nitrodev@87-92-75-66.bb.dnainternet.fi)
(Read error: Connection reset by peer)
L1894[17:04:07] <gigaherz> but it could
easily be built on top of an extension of IGuiHandler
L1895[17:04:35] <gigaherz> and let the
capability be an extra bonus feature
L1896[17:04:39]
⇦ Quits: cpup (~cpup@32.218.114.124) (Ping timeout: 198
seconds)
L1897[17:04:52] <Delenas> IGuiHandler
sends extra data and isn't flexible. At all.
L1898[17:05:14] <Inari> can i somehow use
the same parameterized type as the top calss in a nested class when
declaring the nested class?
L1899[17:05:55] <kenzierocks> what?
L1900[17:06:08] <kenzierocks> static or
non-static nested Inari?
L1901[17:06:08] <Inari> apparently I cant
cause its static x.x
L1902[17:06:11] <gigaherz> Delenas: hence
the "extension" ;P
L1903[17:06:16] <kenzierocks> yea, static
you can't
L1904[17:06:17] <Inari> kenzierocks:
static :D
L1905[17:06:20] <Inari> damn..
L1906[17:06:21] <kenzierocks> since that
info belongs to the type
L1907[17:06:27] <kenzierocks>
s/type/instance/
L1908[17:06:37] <Inari> but it has to be
static x.x
L1909[17:06:59] <Inari> well i guess i
can place it outside..
L1910[17:07:02] <Delenas> This is as
simple as defining a handler on the client for these discriminator
ints.
L1911[17:07:23]
⇦ Quits: DubbelD
(~DubbelD@D549AB10.cm-10-1a.dynamic.ziggo.nl) ()
L1912[17:08:04] <Delenas> No matter what,
that will need to be in place. I'd prefer a translator interface
that I can just plunk onto my main mod class.
L1913[17:09:45] <gigaherz> I'm thinking
about this
L1914[17:09:46] <HassanS6000> Hello, I'm
trying to spawn an EntitySnowball from the server side, but it
doesn't seem to stay spawned in. In fact, I don't see it
spawn.
L1915[17:09:56] <gigaherz> and I see the
whole capability less and less
L1916[17:10:12]
⇨ Joins: cpup (~cpup@32.218.114.153)
L1917[17:10:23] <Delenas> Okay, fine.
Fuck it as a capability.
L1918[17:10:40]
⇨ Joins: Snapples
(uid167569@2604:8300:100:200b:6667:1:2:8e91)
L1919[17:10:46] <Delenas> But the
interface is still gonna be there, and the extra data is
useful.
L1920[17:10:56] <gigaherz> yeah
yeah
L1921[17:11:13] <Delenas> You STILL need
the discriminator.
L1922[17:11:18] <Delenas> So what's the
point?!
L1923[17:11:23] <gigaherz> I was
thinking
L1924[17:11:33] <gigaherz> wouldn't it be
nicer if it was a bit like how you register entities or network
packets?
L1925[17:12:16] <gigaherz> oh maybe even
using the actual registry system that forge has
L1926[17:12:25] <gigaherz> a registry for
GuiProvider objects
L1927[17:12:36] <gigaherz> so that they
get an internal ID synchronized with clients
L1928[17:12:47] <diesieben07> not even
the objects
L1929[17:12:50] <diesieben07> i would go
for types
L1930[17:12:58] <diesieben07> so
TileEntity, Entity, held item, etc.
L1931[17:13:11] <gigaherz> nah
L1932[17:13:13] <gigaherz> I mean
L1933[17:13:19] <gigaherz> it's not
necessary
L1934[17:13:30] <gigaherz> yo ucan just
create your own GuiProvider class for block X
L1935[17:13:36] <gigaherz> that handles
creating block X's GUIs
L1936[17:13:39] <gigaherz> it's a tiny
instance
L1937[17:13:42] <Inari> blah, i dont even
know how to word this :P I have public abstract class
AbstractPacket<T extends AbstractPacket<T>> implements
IMessage and public class AbstractPacketHandler<T extends
AbstractPacket<T>> implements IMessageHandler<T,
IMessage> ... how do i make a method that can take both calsses
without getting unchecked warnings
L1938[17:13:45] <gigaherz> sortof a
factory
L1939[17:13:55] <HassanS6000> The
snowball seems to be set dead after about 1 second.
L1940[17:14:00] <gigaherz> it would still
be possible to have a
L1941[17:14:08] <gigaherz>
GuiProviderTileEntity as a baseclass
L1942[17:14:14] <gigaherz> which gives
you easy-to-override methods
L1943[17:14:28] <gigaherz> and has a
default implementation for encoding the TE's coords
L1944[17:14:32]
⇦ Quits: sinkillerj
(~sinkiller@nc-67-232-14-224.dhcp.embarqhsd.net) (Quit:
またね)
L1945[17:14:43] <gigaherz> but it would
be nicer, IMO, to be able to extend them
L1946[17:14:59] <Delenas> But yet
L1947[17:15:05] <gigaherz>
GameRegistry.register(new GuiProviderTileEntity() {
L1948[17:15:13] <gigaherz> implement
getClient / getServer
L1949[17:15:21] <gigaherz> });
L1950[17:15:29] <Delenas> I could easily
split this to separate instances so I could pick up the object from
the client again.
L1951[17:15:52] <Delenas> This was
designed so it could be used for anything, you just serialize
it.
L1952[17:15:58] <gigaherz> yep
L1953[17:16:00] <gigaherz> the point
would be
L1954[17:16:16] <gigaherz> the base
GuiProvider has the writeData/readData abstract methods
L1955[17:16:23] <Delenas> The registry
would STILL have a map somewhere.
L1956[17:16:27] <gigaherz> yes
L1957[17:16:29] <gigaherz> in
forge.
L1958[17:16:32] <Delenas> So guess what?
Right back to square one.
L1959[17:16:50] <gigaherz> no, because
Forge already has ways to assign and synchronize IDs
L1960[17:17:05] <gigaherz> so the packet
would just store the internal ID for the provider
L1961[17:17:11] <gigaherz> and the client
would just get the registered provider for that ID
L1962[17:17:14] <Delenas> Okay.
L1963[17:17:19] <gigaherz> same as it
does for entities, blocks, items, sounds, ...
L1964[17:17:28] <Delenas> Let me see if I
can't figure out how the registries work.
L1965[17:17:34] <gigaherz> all you need
in order to have a new registry "thing"
L1966[17:17:53] ***
amadornes is now known as amadornes[OFF]
L1967[17:17:57] <gigaherz> is for the
base class to implement IRegistrable...soemthing
L1968[17:18:23] <gigaherz> extends
net.minecraftforge.fml.common.registry.IForgeRegistryEntry.Impl<Block>
L1969[17:18:26] <gigaherz> that
L1970[17:18:29] <gigaherz> as a base
class
L1971[17:18:36] <gigaherz> just instead
of <Block>
L1972[17:18:38] <gigaherz> it would
be
L1973[17:18:55] <gigaherz> class
GuiProvider extends
IForgeRegistryEntry.Impl<GuiProvider>
L1974[17:19:05] <gigaherz> { readData /
writeData }
L1975[17:19:32] <gigaherz> note tyhat all
registry entries have a .setRegistryName/.getRegistryName
L1976[17:19:38] <gigaherz> which is a
ResourceLocation/string
L1977[17:19:56] <gigaherz> but still, I
think that would be the best approach
L1978[17:20:27] <gigaherz> the providers
are global rather than instantiated on each TE/entity/item
L1979[17:20:34] <gigaherz> and the new
openGui method would be able to have
L1980[17:21:03] <gigaherz>
openGui(Thismod.PROVIDER_1)
L1981[17:21:05] <gigaherz> or
whatever
L1982[17:21:21]
⇦ Quits: Hgrebnednav (~Hgrebnedn@d8d872a6e.access.telenet.be)
(Ping timeout: 186 seconds)
L1983[17:21:35] <gigaherz> possibly with
some "object... data)" for passing custom args to use
during encoding?
L1984[17:22:08] <Delenas> The only extra
thing I really needed was the hand.
L1985[17:22:20] <Delenas> The rest is
serialized when the gui is requested.
L1986[17:22:48] <gigaherz> I mean that
TEs would still need to pass the coords
L1987[17:22:52] <gigaherz> so you'd
need
L1988[17:23:07] <gigaherz>
openGui(Thismod.PROVIDER_1, xCoord, yCoord, zCoord)
L1989[17:23:11] <gigaherz> while an
entity may need
L1990[17:23:23] <gigaherz>
openGui(Thismod.PROVIDER_2, getId())
L1991[17:23:43] <HassanS6000> Can someone
tell me why my snowball is getting set to dead ;-;
L1992[17:23:45] <gigaherz> since you
wanted to avoid having fixed data
L1993[17:23:54] <gigaherz> HassanS6000:
more context, please
L1994[17:24:11] <HassanS6000> All I'm
doing is this
L1996[17:24:19] <HassanS6000> Prints
spawned true
L1997[17:24:34] <gigaherz>
.setpositionandangles?
L1998[17:24:51] <unascribed> yeah, it's
probably falling into the void
L1999[17:24:55] <unascribed> which takes
about 1 second
L2000[17:24:58] <gigaherz> ah no, the
snowball uses
L2001[17:25:05] <gigaherz> EntitySnowball
entitysnowball = new EntitySnowball(worldIn, playerIn);
L2002[17:25:05] <gigaherz>
entitysnowball.setHeadingFromThrower(playerIn,
playerIn.rotationPitch, playerIn.rotationYaw, 0.0F, 1.5F,
1.0F);
L2003[17:25:05] <gigaherz>
worldIn.spawnEntityInWorld(entitysnowball);
L2004[17:25:14] <gigaherz> ...
L2005[17:25:15] <unascribed>
setHeadingFromThrower also works
L2006[17:25:18] <gigaherz> which is
probably the same as you want to do
L2007[17:25:18] <Tazz> yay I totally
fixed instance calls again XD
L2008[17:25:22] <gigaherz> since it
assigns the initial speed
L2009[17:25:26] <gigaherz> on top of
position and angles
L2010[17:25:38] <gigaherz> and this is
from ItemSnowball#onItemUse
L2011[17:25:42] <gigaherz> which you
should have looked at ;P
L2012[17:25:49] <HassanS6000> What if I
don't want it to stop moving? (Also this is on 1.8.9 btw)
L2013[17:25:57] <HassanS6000> *if I don't
want it to move
L2014[17:26:16] <gigaherz>
.setPositionAndAngles
L2015[17:26:32] <HassanS6000> Okay, I'll
go try it out
L2016[17:27:04] <Inari> is
onContainerClosed called when a player just logs out/crashes?
L2017[17:28:48]
⇨ Joins: CoderPuppy (~cpup@32.218.114.187)
L2018[17:30:10]
⇦ Quits: BlueMonster (uid82864@id-82864.tooting.irccloud.com)
(Quit: Connection closed for inactivity)
L2019[17:30:25] <diesieben07> doesnt seem
like it from the code
L2020[17:30:30] <Inari> hm..
L2021[17:30:40]
⇦ Quits: cpup (~cpup@32.218.114.153) (Ping timeout: 190
seconds)
L2022[17:31:01] <Inari> just need the
tile entity to know if someone is using the UI..
L2023[17:31:16] <diesieben07> vanilla
uses onContainerClosed for that
L2024[17:31:17]
⇦ Quits: auenf (David@DC-72-89.bpb.bigpond.com) (Ping
timeout: 186 seconds)
L2025[17:31:24] <diesieben07> but there
are instances of chests staying open :D
L2026[17:31:28] <Inari> haha
L2027[17:31:38] <Inari> hm i guess i'd
need to store a list of players rather tahn just counting
up/down
L2028[17:31:46] <diesieben07> yeah you'd
need a WeakHashSet
L2029[17:31:52] <diesieben07>
WeakHashMap
L2030[17:32:00] <Inari> set should do,
no?
L2031[17:32:05] <HassanS6000> gigaherz:
did you mean setPositionAndRotation or .setLocationAndAngles?
L2032[17:32:17] <diesieben07> there is no
WeakHashSet :P
L2033[17:32:20]
⇨ Joins: auenf (David@DC-72-89.bpb.bigpond.com)
L2034[17:32:32] <diesieben07>
Collections.newSetFromMap(new WeakHashMap<>());
L2035[17:32:33] <gigaherz> HassanS6000:
the latter.
L2036[17:33:44] <HassanS6000> Didn't
work
L2037[17:33:50] <HassanS6000> Still got
set dead somehow
L2038[17:34:56] *
gigaherz shrugs
L2039[17:35:11] <HassanS6000> rip
xD
L2040[17:35:49] <gigaherz> well someone
must be calling setDead, put a breakpoint in it? ;P
L2041[17:36:06] <Inari> okay, trying that
^^ thanks
L2042[17:37:12] <Inari> now if i dont get
ti the wrong way around this might actually work <.<
L2043[17:37:58] <diesieben07> Inari,
actually, weakhashmap might not be ideal
L2044[17:38:29] <diesieben07> You might
wanna make a ReferenceQueue and then just do new WeakRef(player,
queue)
L2045[17:38:39] <diesieben07> and then in
onTick poll the queue for players who have died
L2046[17:38:45] <diesieben07> or rather
who have been gcd
L2047[17:38:47] <Inari> woo this part
works :p
L2048[17:38:53] <Inari> :s
L2049[17:38:56] <Inari> so much work
:P
L2050[17:39:28] <diesieben07> its a bit
stupid that WeakHahsMap doesnt let you access the refqueue
L2051[17:39:43]
⇨ Joins: Cojo
(~Cojo@cpe-2606-A000-4C46-8D00-685D-FA9C-4411-56FA.dyn6.twc.com)
L2052[17:41:23] <Inari> i thoguth the
point of weak stuff was thta it autoclears
L2053[17:41:41] <Inari> or maybe in java
it just doesnt prevent gcing
L2054[17:42:04] <Inari> a refque holding
weakrefs?
L2055[17:42:48] <diesieben07> if you do
WeakRef(thing, queue) the queue will spit out the WeakRef once it's
GC'd
L2056[17:42:58] <diesieben07> its a way
to get notified about someting getting gc'd
L2057[17:43:07] <Inari> how do i manually
remove it then
L2058[17:43:12] <diesieben07> you
don't
L2059[17:43:17] <Inari> so...
L2060[17:43:19] <diesieben07> the queue
doesnt hold onto the ref
L2061[17:43:22] <diesieben07> the ref
holds onto the queue
L2062[17:43:23] <Inari> if the player
closes the UI, i do what?
L2063[17:43:30] <diesieben07> oh,
right.
L2064[17:43:32] <diesieben07> errr
L2065[17:43:42] <diesieben07> this is
getting complicated :D
L2066[17:43:48] <diesieben07> let me
write you an example, one second
L2067[17:44:03] <Inari> also this error
is no fun to debug :x
L2068[17:44:29]
⇨ Joins: cpup (~cpup@32.218.114.214)
L2069[17:44:51]
⇦ Quits: KGS (~KGS@h-155-4-135-249.na.cust.bahnhof.se) (Ping
timeout: 198 seconds)
L2070[17:45:23] <diesieben07> acutally...
this is less complicated than i thought
L2071[17:46:00]
⇦ Quits: CoderPuppy (~cpup@32.218.114.187) (Ping timeout: 190
seconds)
L2073[17:49:28] <diesieben07> untested
:P
L2074[17:50:45] <diesieben07> maybe you
should replace the "isDead" check with a check for your
container
L2075[17:52:33] <Inari> seems nice :3
thanks
L2076[18:07:20] <RANKSHANK> ended up
repulling my pr so I can actually get some feedback on my changes
:P
L2077[18:10:04]
⇦ Quits: cpup (~cpup@32.218.114.214) (Ping timeout: 198
seconds)
L2078[18:13:25]
⇦ Parts: RANKSHANK
(~Michael@ppp121-44-11-113.lns20.syd4.internode.on.net)
())
L2079[18:13:38] <HassanS6000> Still can't
figure out why I can't see this snowball and it's getting set dead
xD
L2080[18:13:55] <HassanS6000> unascribed:
Why'd you say it's probably falling into the void
L2081[18:13:59] <HassanS6000> How is that
possible?
L2082[18:14:23] <diesieben07> ok just to
make sure, where is that code oyu posted located?
L2083[18:15:46]
⇨ Joins: cpup (~cpup@32.218.114.242)
L2085[18:16:01] <diesieben07> yes, thats
what you posted.
L2086[18:16:04] <diesieben07> where is
that located?
L2087[18:17:11] <HassanS6000> Oh
right
L2088[18:17:30] <HassanS6000> I am
running it from the server side when the player right clicks a
chest
L2089[18:17:42] <HassanS6000>
crateLocation is the location of the chest
L2090[18:17:53] <diesieben07> can you
just show the damn code -_-
L2091[18:18:15] <HassanS6000> k one
sec
L2093[18:19:39] <HassanS6000> Oops a line
was not copied
L2094[18:20:01] <HassanS6000> There we go
updated
L2095[18:20:28] <Shambling> so the crate
is throwing a snowball at the player right? Is it the player or the
crate that is spawning the snowball as far as java is concerned? It
looks like the player is spawning it correct? I'm wondering if that
is throwing off the vector
L2096[18:20:33] <unascribed> HassanS6000,
entities without a position would spawn at 0,0,0
L2097[18:20:41] <unascribed> which is
just below the last block
L2098[18:20:43] <diesieben07> uhhh
L2099[18:20:46] <unascribed> so it'd fall
down into the void
L2100[18:20:50] <diesieben07> that is
sponge code isnt it
L2101[18:20:55] <unascribed> and after
reaching -64 it would despawn
L2102[18:20:58] <gabizou> ??
L2103[18:21:05] <gabizou> yes, that
is
L2104[18:21:31] <HassanS6000> Yeah I'm
using Sponge events to spawn a snowball with Forge lol
L2105[18:21:31] <unascribed> shouldn't
you be using whatever way Sponge provides to spawn entities?
L2106[18:21:44] <HassanS6000> I
could
L2107[18:21:50] <unascribed> and
should
L2108[18:21:58] <gabizou> there's even
launch code in sponge to do this
L2109[18:22:00]
⇦ Quits: TechnicianLP
(~Technic@p4FE1C82F.dip0.t-ipconnect.de) (Ping timeout: 190
seconds)
L2110[18:22:19] <HassanS6000> But
unascribed why would it not have a position? I'm spawning it after
setting its pos
L2111[18:22:39] <unascribed> I said the
void thing after you sent your code that had setLocation commented
out
L2112[18:22:41] <gabizou> HassanS6000
you're using the wrong constructor
L2113[18:22:46] <gabizou> which is
probably why it's failing
L2114[18:22:57] <gabizou> the entity
constructors are really touchy, and using the wrong one is
bad
L2115[18:23:17] <HassanS6000> Which one
should I be usinfg
L2116[18:23:17] <HassanS6000>
*using
L2117[18:23:38] <unascribed> !findallm
EntitySnowball.<init>
L2118[18:23:52] <unascribed> apparently,
I suck at using MCPBot
L2119[18:24:07] <diesieben07> just
EntitySnowball
L2120[18:24:13] <gabizou> HassanS6000
look up the item and see which one it uses
L2121[18:24:19]
⇨ Joins: CoderPuppy (~cpup@32.218.115.7)
L2122[18:24:28] <gabizou> because there's
some funky things that go on depending on the constructors
L2123[18:25:09]
⇦ Quits: Inari (~Pinkishu@p5DEC62CC.dip0.t-ipconnect.de)
(Quit: 'You're amazing!' (Mei))
L2124[18:26:38]
⇦ Quits: cpup (~cpup@32.218.114.242) (Ping timeout: 201
seconds)
L2125[18:28:29]
⇦ Quits: theFlaxbeard
(~theFlaxbe@65-128-149-69.mpls.qwest.net) (Ping timeout: 186
seconds)
L2126[18:31:10]
⇦ Quits: Shambling
(~Shambling@24-181-186-74.dhcp.nwtn.ct.charter.com) (Quit:
Leaving)
L2127[18:31:10] <gamax92> would getting a
world object be safe to do in the networking thread (not calling,
just retrieving), and then using addScheduledTask with that object
to do the actual manipulation
L2128[18:31:27] <tterrag> depends on how
you "get" the world object
L2129[18:31:38] <tterrag> but really, why
not just get it the same way inside the task?
L2130[18:32:10]
⇨ Joins: Shambling
(~Shambling@24-181-186-74.dhcp.nwtn.ct.charter.com)
L2131[18:32:19] <gamax92> just
DimensionManager.getWorld for server and
FMLClientHandler.instance().getClient().theWorld for client
L2132[18:32:30] <diesieben07> dont do
DimensinoManager.getWorld
L2133[18:32:35] <tterrag> ^
L2134[18:32:42] <diesieben07> do
ctx.getServerHandler().playerEntity.worldObj
L2135[18:33:10] <gamax92> ahh, so then
there would be no point in storing the dimension id in the packet
then?
L2136[18:33:25] <diesieben07> of course
not
L2137[18:33:32] <gamax92> okay,
thanks
L2138[18:34:27] <tterrag> yes, handily
enough, all packets carry along data about which client they came
from
L2139[18:34:45]
⇨ Joins: RANKSHANK
(~Michael@ppp121-44-11-113.lns20.syd4.internode.on.net)
L2140[18:34:47] <gamax92> is there a
version of that for the client side as well or just use the
FMLClientHandler stuff?
L2141[18:35:16] ***
Keridos|away is now known as Keridos
L2142[18:35:20]
⇦ Quits: feldim2425
(~feldim242@188-23-95-139.adsl.highway.telekom.at) (Ping timeout:
190 seconds)
L2143[18:35:45] <tterrag> clientside just
use Minecraft.getMinecraft.addScheduledTask()
L2144[18:35:58] <gamax92> no I mean for
getting the world
L2145[18:36:51]
⇨ Joins: Mumfrey (~Mumfrey@dedi5.eq2.co.uk)
L2146[18:37:09] <TehNut>
Minecraft.getMinecraft().theWorld
L2147[18:38:51]
⇨ Joins: feldim2425
(~feldim242@93-82-87-85.adsl.highway.telekom.at)
L2148[18:43:41]
⇨ Joins: cpup (~cpup@32.218.115.35)
L2149[18:45:39]
⇨ Joins: Slind
(~Slind@static.168.103.243.136.clients.your-server.de)
L2150[18:45:49]
⇦ Quits: CoderPuppy (~cpup@32.218.115.7) (Ping timeout: 192
seconds)
L2151[18:47:24]
⇦ Parts: RANKSHANK
(~Michael@ppp121-44-11-113.lns20.syd4.internode.on.net)
())
L2152[18:50:14] ***
kroeser|away is now known as kroeser
L2153[18:50:59]
⇨ Joins: theFlaxbeard
(~theFlaxbe@184.97.182.203)
L2154[18:51:29]
⇦ Quits: theFlaxbeard (~theFlaxbe@184.97.182.203) (Killed
(NickServ (GHOST command used by
theFlaxbeard2!~theFlaxbe@184.97.182.253)))
L2155[18:52:34]
⇦ Quits: Benimatic
(~Benimatic@cblmdm72-241-108-184.buckeyecom.net) (Ping timeout: 186
seconds)
L2156[18:53:17]
⇨ Joins: Benimatic
(~Benimatic@cblmdm72-241-108-184.buckeyecom.net)
L2157[18:59:38] ***
kroeser is now known as kroeser|away
L2158[19:01:01]
⇨ Joins: CoderPuppy (~cpup@32.218.115.59)
L2159[19:01:35]
⇦ Quits: Shambling
(~Shambling@24-181-186-74.dhcp.nwtn.ct.charter.com) (Quit:
Leaving)
L2160[19:01:41]
⇦ Quits: Benimatic
(~Benimatic@cblmdm72-241-108-184.buckeyecom.net) (Ping timeout: 192
seconds)
L2161[19:01:48]
⇨ Joins: rebecca
(~rebecca@60-241-180-77.static.tpgi.com.au)
L2162[19:04:23] <mezz> tterrag, god damn
it haha
L2163[19:06:07]
⇦ Quits: Abastro (~Abastro@112.166.128.227) (Ping timeout:
384 seconds)
L2164[19:06:41]
⇦ Quits: cpup (~cpup@32.218.115.35) (Ping timeout: 384
seconds)
L2165[19:08:23]
⇦ Quits: rebecca (~rebecca@60-241-180-77.static.tpgi.com.au)
(Ping timeout: 384 seconds)
L2167[19:09:03]
⇦ Quits: Upthorn
(~ogmar@108-204-125-173.lightspeed.frokca.sbcglobal.net) (Ping
timeout: 192 seconds)
L2168[19:09:31]
⇦ Quits: Girafi (Girafi@0x555178eb.adsl.cybercity.dk)
()
L2169[19:09:48] <tterrag> but yeah I
facepalmed pretty hard when I saw that
L2170[19:09:53] <tterrag> now I just
check the material
L2171[19:09:58]
⇨ Joins: Doty1154
(~Doty1154@2601:648:8000:134f:6dcc:b219:3829:f47e)
L2172[19:12:46] ***
minecreatr is now known as Mine|away
L2173[19:14:16]
⇦ Quits: c233 (~c233@164.40.205.83) (Ping timeout: 198
seconds)
L2174[19:14:22]
⇨ Joins: c233 (~c233@164.40.205.247)
L2175[19:19:13]
⇦ Quits: CoderPuppy (~cpup@32.218.115.59) (Ping timeout: 186
seconds)
L2176[19:20:04] <mezz> yeah...
L2177[19:25:17]
⇨ Joins: cpup (~cpup@32.218.115.80)
L2178[19:31:38] <jackmcbarn> is there a
common cause/fix for "player moved wrongly" every time my
mod makes someone stop moving?
L2179[19:32:52]
⇦ Quits: xEviLSpaWnx
(~xEvilSpaw@cpc21-pete9-2-0-cust202.4-4.cable.virginm.net)
()
L2180[19:33:23] ***
MrKickkiller is now known as MrKick|Away
L2181[19:34:42]
⇨ Joins: rebecca_ (~rebecca@209.95.50.47)
L2182[19:35:11]
⇨ Joins: killjoy
(~killjoy@cpe-2606-A000-1118-C151-50C-A6B9-3534-A77C.dyn6.twc.com)
L2183[19:36:19]
⇨ Joins: CoderPuppy (~cpup@32.218.115.121)
L2184[19:39:00]
⇦ Quits: cpup (~cpup@32.218.115.80) (Ping timeout: 190
seconds)
L2185[19:41:42]
⇨ Joins: Drullkus
(~Dru11kus@2601:646:8301:ead3:f0fa:e0f2:c369:41e3)
L2186[19:42:40]
⇦ Quits: alekso56 (~znc@2001:464b:c2aa:0:745d:45ff:fe3b:a098)
(Ping timeout: 190 seconds)
L2187[19:43:27] <killjoy> Is there some
law that states that if you mod it enough, eventually something
will break?
L2188[19:43:59]
⇨ Joins: Upthorn
(~ogmar@108-85-88-44.lightspeed.frokca.sbcglobal.net)
L2189[19:44:28]
⇨ Joins: alekso56
(~znc@2001:464b:c2aa:0:745d:45ff:fe3b:a098)
L2190[19:44:52]
⇨ Joins: Vazkii
(~Vazkii@a79-169-163-74.cpe.netcabo.pt)
L2191[19:48:12]
⇨ Joins: cpup (~cpup@32.218.115.149)
L2192[19:48:41]
⇦ Quits: Meow-J (uid69628@id-69628.highgate.irccloud.com)
(Quit: Connection closed for inactivity)
L2193[19:48:56]
⇦ Quits: raoulvdberge
(uid95673@id-95673.richmond.irccloud.com) (Quit: Connection closed
for inactivity)
L2194[19:49:53]
⇦ Quits: CoderPuppy (~cpup@32.218.115.121) (Ping timeout: 201
seconds)
L2195[19:50:39] ***
MrKick|Away is now known as MrKickkiller
L2196[19:50:57] ***
MrKickkiller is now known as MrKick|Vacation
L2197[19:53:39]
⇨ Joins: killjoy1
(~killjoy@cpe-2606-A000-1118-C151-50C-A6B9-3534-A77C.dyn6.twc.com)
L2198[19:55:36]
⇦ Quits: killjoy
(~killjoy@cpe-2606-A000-1118-C151-50C-A6B9-3534-A77C.dyn6.twc.com)
(Killed (NickServ (GHOST command used by killjoy2)))
L2199[19:55:41]
⇨ Joins: Redrield
(~user@sdbron9882w-047054057213.dhcp-dynamic.on.fibreop.ca)
L2200[19:55:43] <Redrield> Hello
L2201[19:55:43]
⇦ Quits: Cojo
(~Cojo@cpe-2606-A000-4C46-8D00-685D-FA9C-4411-56FA.dyn6.twc.com)
(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.)
L2202[19:55:56]
⇨ Joins: killjoy
(~killjoy@cpe-2606-A000-1118-C151-50C-A6B9-3534-A77C.dyn6.twc.com)
L2203[19:56:03] <Redrield> Could anyone
here lead me to a good series of tutorials for learning how to mod
Minecraft?
L2204[19:56:37] <Redrield> I've never
been able to find any good ones, and I really do want to learn how
to do it. (I already know Java, and I've developed Spigot plugins
in the past)
L2205[19:56:39]
⇨ Joins: sinkillerj
(~sinkiller@nc-67-232-14-224.dhcp.embarqhsd.net)
L2206[19:57:07] ***
Mumfrey is now known as mumfrey
L2207[19:57:13]
⇦ Quits: killjoy1
(~killjoy@cpe-2606-A000-1118-C151-50C-A6B9-3534-A77C.dyn6.twc.com)
(Ping timeout: 192 seconds)
L2208[19:57:16] <killjoy> vswe has some
good ones
L2209[19:57:21] <Redrield> Link?
L2210[19:57:22] <killjoy> and pahimar's
let's mod
L2214[19:57:58] <mezz> McJty is one of
the most prolific modders at the moment and I recommend his
tutorial
L2215[19:58:15] <killjoy> I don't look
too hard at many tutorials nowadays
L2216[19:58:24] <killjoy> I'm assuming
it's good
L2217[19:58:40] <killjoy> I just
recommend them because others do
L2218[19:58:43] <Redrield> Were there
many changes between 1.9 and 1.10?
L2219[19:58:48] <killjoy> not
really
L2220[19:58:49] <mezz> almost none
L2221[19:58:55] <Redrield> Because my
setup is for 1.10.2 atm
L2222[19:58:57] <Redrield> Kk
L2223[19:58:57] <killjoy> some ints
turned to enums
L2224[19:59:09] <killjoy> that's what
I've noticed at least
L2225[19:59:17] <killjoy> some new mobs,
blocks, etc
L2226[19:59:17] <Redrield> The less magic
numbers I have to learn the better :P
L2227[19:59:39] <killjoy> the one I saw
was SkeletonType
L2228[19:59:54] <killjoy> because it used
to be just 0: normal, 1: wither
L2229[20:00:02] <killjoy> of course it's
still magic in nbt
L2231[20:04:12] <SkySom> I didn't even
know that was a thing.
L2232[20:04:13] <SkySom> Nice.
L2233[20:04:30] <SkySom> I probably will
be downloading that.
L2234[20:04:32] <killjoy> visualstudio
has something similar.
L2235[20:04:35] <killjoy> it's just some
templates
L2236[20:04:43] <SkySom> Templates are
nice.
L2237[20:04:51] <SkySom> Cause setting up
a mod is a bit tedious at times.
L2238[20:04:57] <Redrield> I can attest
to that for plugins
L2239[20:05:02] <SkySom> (I mean first
time stuff)
L2240[20:05:12] <Redrield> I can spend 5
minutes copying over a pomfile before writing a line of java if I
don't use this
L2241[20:05:16] <SkySom> Just copying
some of the same stuff over for a new project.
L2242[20:10:34] <Redrield> Is it better
to have the modid, etc, variables in a seperate class, or defined
at the top of the main class?
L2243[20:10:42] <Redrield> I remember
most older tutorials I watched put them in a different class
L2244[20:13:30]
⇨ Joins: netz
(ntzrmtthih@Join.The.DarkSide.We.Have.Coookies.PanicBNC.us)
L2246[20:13:37] <netz> what up all
o/
L2247[20:21:00] <electrolitic> Are there
certain interfaces that you nearly always want to implement for a
TileEntity?
L2248[20:24:19]
⇦ Quits: AndersBillLind
(~anders@217-211-66-29-no23.tbcn.telia.com) (Ping timeout: 384
seconds)
L2249[20:24:48] <kenzierocks> not that I
know of
L2250[20:24:52] <kenzierocks> maybe the
ITickable one?
L2251[20:24:58] <killjoy> ICapability
perhaps?
L2253[20:25:46] <LatvianModder> A weird
crash my friend is getting
L2254[20:26:39] <LatvianModder>
Nevermind, it was Optifine shaders causing that
L2255[20:27:41] <Redrield> Time to start
a flame war
L2256[20:27:43] <Redrield> Vim or
emacs
L2257[20:27:44] <Redrield> :>
L2258[20:27:49] <killjoy> neither
L2259[20:27:54] <killjoy> notepad++
L2260[20:27:57] <kenzierocks>
minecraft
L2261[20:28:01] <killjoy> sometimes
VSCode
L2262[20:28:05] <kenzierocks> i use
minecraft for all code editing purposes
L2263[20:28:45] <Redrield> but
L2264[20:28:47] <Redrield> Emacs
L2265[20:29:01] <killjoy> kenzierocks,
butterflies
L2266[20:29:08] <kenzierocks> lol
L2267[20:29:11] <killjoy> and a steady
hand
L2268[20:29:23] <Redrield> To be
fair
L2269[20:29:28] <Redrield> M-x butterfly
is very effective
L2271[20:29:48] <killjoy> I wish my
keyboard had a spacebar warmer
L2272[20:30:04] <Redrield> I wish my
spacebar had a keyboard warmer
L2273[20:30:16] <kenzierocks> I wish my
killjoy had a Redrield warmer
L2274[20:30:31] <killjoy> *rubs up on
Redrield
L2275[20:30:47] *
killjoy gives blanket
L2276[20:32:18] <netz> heh. vim+ergodox
infinity
L2277[20:32:39] *
Redrield resists the urge to flame
L2278[20:34:20]
⇨ Joins: agowa338
(~Thunderbi@p54919CA8.dip0.t-ipconnect.de)
L2279[20:35:23] <netz> I'm really looking
forward to mine :)
L2280[20:36:37] <netz> its due in
<40d
L2281[20:37:36] <killjoy> just get the
vim VSCode plugin
L2282[20:40:48] <Delenas> Okay, so
L2283[20:41:01] <Delenas> What black
magic is happening with Forge registries
L2284[20:41:14] <killjoy> they're really
vanilla registries
L2285[20:41:40] <killjoy> register a
thing with a name.
L2286[20:41:41]
⇦ Quits: RichardG (~richardg8@201.17.104.196) (Ping timeout:
201 seconds)
L2287[20:42:00] <killjoy> it
automatically gets assigned a int
L2288[20:42:05] <Redrield> Jeez, just
glancing inside packages shows me how different spigot and forge
are
L2289[20:42:12] <killjoy> forge syncs
server ids with the client
L2290[20:42:13] <Delenas> Because I'm
trying to make one and I'm getting
PErsistentRegistryMAnager.makeDelegate errors
L2291[20:42:26] <Redrield>
net.minecraft.server in spigot is a giant clusterfu** of random
classes
L2292[20:42:27] <killjoy> spigot uses
different mappings
L2293[20:42:31] <Redrield> It's actually
organized in this one
L2294[20:42:42] <killjoy> they're the
same classes, don't doubt it
L2295[20:42:48] <killjoy> just different
names
L2296[20:43:01] <Redrield> I know they're
the same
L2297[20:43:16] <Redrield> But in spigot
every single class is just under NMS, this one has subpackages and
all that
L2298[20:43:46] <killjoy> keeps things
simple
L2299[20:43:57] <killjoy> it's just like
net.minecraft.src
L2300[20:44:04] <killjoy> can't reference
classes in the default package
L2301[20:44:09]
⇦ Quits: yopu (~yopu@184-89-191-67.res.bhn.net) (Ping
timeout: 201 seconds)
L2302[20:44:14] <kenzierocks> isn't that
what NMS originally stood for
L2303[20:44:31] <killjoy> probs
L2304[20:44:43] <Redrield> In spigot NMS
referenced net.minecraft.server, but it's probably suposed to be
that
L2305[20:44:44] <kenzierocks> actually i
don't think
L2306[20:44:45] <killjoy> Pk: .
net/minecraft/src
L2307[20:44:54] <kenzierocks> i don't
think that's the case
L2308[20:45:02] <kenzierocks> looks like
it's only a bukkit term
L2309[20:45:38] <killjoy> and nms was
considered bad
L2310[20:50:39]
⇨ Joins: BaronNox_
(~BaronNox@pd9e9805e.dip0.t-ipconnect.de)
L2311[20:52:32]
⇨ Joins: killjoy1
(~killjoy@cpe-2606-A000-1118-C151-BCB1-1446-EDE0-D413.dyn6.twc.com)
L2312[20:52:53]
⇦ Quits: BaronNox (~BaronNox@pD9E99F6F.dip0.t-ipconnect.de)
(Ping timeout: 186 seconds)
L2313[20:52:53] ***
BaronNox_ is now known as BaronNox
L2314[20:55:01]
⇦ Quits: killjoy
(~killjoy@cpe-2606-A000-1118-C151-50C-A6B9-3534-A77C.dyn6.twc.com)
(Ping timeout: 192 seconds)
L2315[20:57:27]
⇨ Joins: Benimatic
(~Benimatic@cblmdm72-241-108-184.buckeyecom.net)
L2316[21:01:34] <Redrield> How can I
write a message out to chat?
L2317[21:01:46] <killjoy1>
player.addChatMessage
L2318[21:03:11] <Redrield> ah
alright
L2319[21:03:17] <Redrield> As usual I was
overcomplicating it
L2320[21:05:31] <Redrield> And how do I
run my mod?
L2321[21:05:36] <Redrield> Using
ForgeGradle
L2322[21:05:56] <killjoy1> if you don't
have a player instance, you can always use
mc.ingameGui.getChatGui().printChatMessage
L2323[21:06:16] <killjoy1> I might be
wrong with getChatGui
L2324[21:06:18] <Delenas> run config,
Application. Class is GradleStart, classpath is your main
module
L2325[21:06:41] <Redrield> I'm playing
around with blocks, my 'hello world' is going to be printing
"Hello" to chat when a block gets placed
L2326[21:06:45] <Redrield> So I have the
object already
L2327[21:07:15] <killjoy1> A friend of
mine made a bukkit plugin that makes "plushies"
L2328[21:07:18] <killjoy1> they
squeak
L2329[21:13:35] <Redrield> Hm
L2330[21:14:50] <Redrield> I feel like I
broke something
L2331[21:16:48]
⇦ Quits: AforAnonymous (bitch2k@dyn-050-029.vix2.mmc.at)
(Remote host closed the connection)
L2332[21:16:53] <Redrield> I managed to
corrupt a whole world by holding an item
L2333[21:16:58] <Redrield> Success?
L2334[21:21:16] <Redrield> Uh, does
version 1.9.4-12.17.0.1976 support leaving out the values of
@SidedProxy and just making nested classes?
L2335[21:22:02]
⇨ Joins: VikeStep (~VikeStep@101.184.243.180)
L2336[21:22:54] <Ordinastie_> don't do
it
L2337[21:23:02] <Ordinastie_> just
specify the classes
L2338[21:23:06] <netz> Ordinastie_: howdy
o/
L2339[21:23:10] <Redrield> mkahy
L2340[21:23:30] <Ordinastie_> netz,
\o
L2341[21:24:04] <netz> how goes it
lately?
L2342[21:24:20] <Ordinastie_> meh, not
much motivation to code
L2343[21:24:42] <Ordinastie_> haven't
even released for 1.9.4 yet :/
L2344[21:25:09] <netz> same here. been
digging into xkeyboard-config stuffs.
L2345[21:26:02] <Ordinastie_> I have this
super annoying problem
L2346[21:26:10] <Ordinastie_> I want to
do so many things
L2347[21:26:19] <netz> yeah. I know the
feels.
L2348[21:26:20] <Ordinastie_> I just
don't want to do them right now
L2349[21:26:28] <Ordinastie_> so I pretty
much do nothing
L2350[21:26:48] <Ordinastie_> I blame
youtube for that
L2351[21:32:20] <Redrield> I'm gonna need
some help with this
L2352[21:32:35]
⇦ Quits: Snapples
(uid167569@2604:8300:100:200b:6667:1:2:8e91) (Quit: Connection
closed for inactivity)
L2353[21:33:39] <Redrield> I can't even
fully load into my world without the game crashing .-.
L2354[21:33:59] <killjoy1> delete
player.dat
L2355[21:34:03] <Ordinastie_> good thing
the log tells you why
L2356[21:35:10]
⇨ Joins: agowa339
(~Thunderbi@p54919C5E.dip0.t-ipconnect.de)
L2357[21:35:14] <Redrield> It's
complaining about missing json files
L2358[21:35:16]
⇦ Quits: agowa338 (~Thunderbi@p54919CA8.dip0.t-ipconnect.de)
(Ping timeout: 198 seconds)
L2359[21:35:16] ***
agowa339 is now known as agowa338
L2361[21:36:23] <Ordinastie_> yup, you
nitpick parts of the log, but those don't make the game crash
L2362[21:36:49] <Redrield> Those are the
parts that stand out to me .-.
L2363[21:37:02] <Redrield> Let me get the
crash dump which I can't make heads or tails of
L2365[21:38:17] <Ordinastie_> wait,
you're telling me you found a way to reliably crash the JVM ?
L2366[21:38:28] <Redrield>
Apparently
L2367[21:38:50] <Redrield> Let me give
you the block code
L2369[21:39:15] <Redrield> Without that
it doesn't crash, just does nothing
L2370[21:39:48] <Ordinastie_> if you
comment out the registering does it still crash ?
L2371[21:39:59] <Redrield> I'll try
it
L2372[21:41:20] <Redrield> Alright
L2373[21:41:22] <Redrield> I was
wrong
L2374[21:41:39] <Redrield> Commenting out
the line where I initialize the block still caused it to
crash
L2375[21:42:27] <Ordinastie_> and you
confirm it's not just MC crashing, it's the JVm
L2376[21:43:11] <Redrield> This is the
crash dump when I have ModBlocks#init() commented out in
CommonProxy#preInit()
L2378[21:44:21] <Ordinastie_> launch
without your mod
L2379[21:44:44] <Redrield> Testing
something myself, then I'll do that
L2380[21:45:20] <Ordinastie_> you
shouldn't be able to crash the VM like that
L2381[21:45:29] <Ordinastie_> tbh, I
don't even know how to do that
L2382[21:45:39] <Ordinastie_> so my guess
is you're not responsible
L2383[21:46:11] <Ordinastie_> also, I
would delete the run folder or wherever your run the game
from
L2384[21:46:20]
⇦ Quits: alekso56 (~znc@2001:464b:c2aa:0:745d:45ff:fe3b:a098)
(Ping timeout: 190 seconds)
L2385[21:46:25] <Redrield> Only forge
1.9.4-12.17.0.1976 was running
L2386[21:46:27] <Redrield> Still
crashed
L2387[21:46:36] <Redrield> I'm not doing
anything awfully wrong \o/
L2388[21:48:13]
⇨ Joins: alekso56
(~znc@2001:464b:c2aa:0:745d:45ff:fe3b:a098)
L2389[21:49:36] <Redrield> Just tested it
in vanilla, and loading the world works fine
L2390[21:50:50] <Ordinastie_> are you
running it in dev ?
L2391[21:50:59] <Redrield> What do you
mean?
L2392[21:51:08] <Ordinastie_> from your
IDE
L2393[21:51:11] <Redrield> No
L2394[21:51:14] <Redrield> I'm loading up
MC
L2395[21:51:38] <Redrield> I package my
jar and plop it in .minecraft/mods
L2396[21:51:53]
⇦ Quits: Disconsented (~core@disconsented.com) (Quit:
Somthing died. Please panic.)
L2397[21:52:10] <Ordinastie_> you
packaged it how ?
L2398[21:52:20] <Redrield> gradle clean
build
L2399[21:52:38] <Ordinastie_> you don't
need clean but ok
L2400[21:52:55] <Ordinastie_> and it's
your built jar that crashes ?
L2401[21:53:02]
⇨ Joins: Disconsented (~core@disconsented.com)
L2402[21:53:59] <Redrield> I tried
without it
L2403[21:54:00] <Redrield> Just plain
forge
L2404[21:54:02] <Redrield> Still
crashed
L2405[21:54:34] <Ordinastie_> if you
delete the world, does it still crash ?
L2406[21:54:50] <Redrield> Every time I
tried I made another world
L2407[21:54:53] <Redrield> Kept crashing
each time
L2408[21:55:49] <Ordinastie_> well,
something is broken somewhere
L2409[21:56:01] <Ordinastie_> did you run
your mod in dev ?
L2410[21:56:14] <Redrield> I don't have
an option to, that I know of
L2411[21:56:20] <Ordinastie_> what
?
L2412[21:56:33] <Redrield> The intellij
plugin that I used to create the project only made a configuration
to compile the jar
L2413[21:56:33] <Ordinastie_> what are
your using ?
L2416[21:57:08] <Ordinastie_> what
IDE
L2417[21:57:12] <Redrield> IntelliJ
CE
L2418[21:57:44] <Ordinastie_> don't know
IntelliJ, but I know you can run your mod from the IDE
directly
L2419[21:58:11] <Redrield> What's the
gradle task I should be using to do that?
L2420[21:58:32] <Ordinastie_> well, there
is runClient as a gradle task, but I don't even mean a gradle
task
L2421[21:59:49] <Redrield> Alright
L2422[21:59:53] <Redrield> Gonna try
that
L2423[22:00:23]
⇨ Joins: Ipsis
(~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk)
L2424[22:00:26]
⇨ Joins: Naiten (Naiten@5.143.89.50)
L2425[22:00:55] <Redrield> This is
promising
L2426[22:00:58] <Redrield> No crashes in
dev
L2427[22:01:14] <Ordinastie_> you used
runClient ?
L2428[22:02:44] <Redrield> yea
L2429[22:03:25] ***
Keridos is now known as Keridos|away
L2430[22:04:05] <Ordinastie_> not even
sure if it's really in dev
L2431[22:04:09]
⇦ Quits: iari (~iari___@evana.futhark24.org) (Quit:
Leaving)
L2432[22:04:15] <Ordinastie_> I doubt you
can debug and hotswap from it
L2433[22:07:01] <Redrield> I still have
no idea why it was crashing for the actual game
L2434[22:07:38] <Redrield> They're the
same version of forge so it can't be that
L2435[22:07:43] <Ordinastie_> I don't
know, but I would suggest a clean reinstall of java, mc, and
forge
L2436[22:08:34] <Redrield> It's something
with forge, I'm almost sure of that
L2437[22:08:44] <Ordinastie_> I doubt
it
L2438[22:08:44] <Redrield> It kept
crashing even with no mods present, only forge
L2439[22:08:59] <Redrield> And I tried in
vanilla with the same everything else, and it didn't do
anything
L2440[22:09:36] <Ordinastie_> I'd blame
your system over forge
L2441[22:10:01] <Redrield> When the
problem couldn't be replicated without forge present?
L2442[22:17:11]
⇦ Quits: Redrield
(~user@sdbron9882w-047054057213.dhcp-dynamic.on.fibreop.ca) (Quit:
ERC (IRC client for Emacs 24.5.1))
L2443[22:20:01] ***
DarkevilAway is now known as Darkevilmac
L2444[22:20:46]
⇦ Quits: Drullkus
(~Dru11kus@2601:646:8301:ead3:f0fa:e0f2:c369:41e3) (Remote host
closed the connection)
L2445[22:21:49]
⇨ Joins: Drullkus
(~Dru11kus@2601:646:8301:ead3:8c3c:cba0:bb23:fa2d)
L2446[22:28:23]
⇦ Quits: KnightMiner_ (~KnightMin@68.255.0.239) (Quit:
Leaving)
L2447[22:28:30]
⇦ Quits: Vazkii (~Vazkii@a79-169-163-74.cpe.netcabo.pt)
(Quit: bOI)
L2448[22:30:36]
⇦ Quits: Ordinastie_
(~Ordinasti@87-231-58-94.rev.numericable.fr) (Read error:
Connection reset by peer)
L2449[22:31:40]
⇨ Joins: Abastro (~Abastro@112.166.128.227)
L2450[22:39:44]
⇨ Joins: McJty
(~jorrit@94-225-203-206.access.telenet.be)
L2451[22:44:52]
⇦ Quits: Lathanael|Away
(~Lathanael@p54960803.dip0.t-ipconnect.de) (Ping timeout: 198
seconds)
L2452[22:45:25] ***
cpw is now known as cpw|out
L2453[22:45:45]
⇨ Joins: mallrat208
(~mallrat20@184-88-190-37.res.bhn.net)
L2454[22:46:03] <Delenas> @.@ Okay. I'm
probably doing the registry code horribly wrong, but it works as it
stands right now.
L2455[22:48:37]
⇨ Joins: abab9579 (~abab9579@112.166.128.227)
L2456[22:51:28]
⇨ Joins: Lathanael|Away
(~Lathanael@p54960225.dip0.t-ipconnect.de)
L2457[22:58:33]
⇦ Quits: triangle36 (~trianglec@216.38.32.2) (Quit:
Leaving)
L2458[22:58:33]
⇦ Quits: keybounce
(~keybounce@adsl-108-192-88-90.dsl.bkfd14.sbcglobal.net) (Ping
timeout: 192 seconds)
L2459[22:58:56]
⇨ Joins: keybounce
(~keybounce@adsl-108-192-89-65.dsl.bkfd14.sbcglobal.net)
L2460[22:59:45] <Delenas> 12 commits
later..
L2462[23:06:55]
⇦ Quits: stiforr (~stiforr@ip72-216-4-156.pn.at.cox.net)
(Read error: Connection reset by peer)
L2463[23:10:54] ***
Darkevilmac is now known as DarkevilAway
L2464[23:14:16]
⇦ Quits: agowa338 (~Thunderbi@p54919C5E.dip0.t-ipconnect.de)
(Ping timeout: 198 seconds)
L2465[23:16:56]
⇨ Joins: Nitrodev
(~Nitrodev@87-92-75-66.bb.dnainternet.fi)
L2466[23:22:13]
⇦ Quits: Delenas
(~Delenas@2600:1016:b11a:e44b:1526:6510:f029:ac72) (Quit:
Console.Write("Goodbye, world!");)
L2467[23:28:06] ***
Mine|away is now known as minecreatr
L2468[23:30:35]
⇦ Quits: patrick96
(~patrick96@42.53.105.92.dynamic.wline.res.cust.swisscom.ch) (Quit:
Leaving)
L2469[23:31:22]
⇨ Joins: Delenas
(~Delenas@2600:1016:b11a:e44b:512a:ade8:ea8e:17df)
L2470[23:31:32]
⇨ Joins: codahq
(~codahq@c-73-65-219-228.hsd1.ut.comcast.net)
L2471[23:34:20]
⇨ Joins: killjoy
(~killjoy@cpe-2606-A000-1118-C151-FC7A-3ED0-8416-B12B.dyn6.twc.com)
L2472[23:34:42]
⇦ Quits: Doty1154
(~Doty1154@2601:648:8000:134f:6dcc:b219:3829:f47e) (Read error:
Connection reset by peer)
L2473[23:34:49]
⇦ Quits: abab9579 (~abab9579@112.166.128.227) (Ping timeout:
192 seconds)
L2474[23:37:29]
⇨ Joins: npe|office
(~NPExcepti@bps-gw.hrz.tu-chemnitz.de)
L2475[23:37:39]
⇦ Quits: killjoy1
(~killjoy@cpe-2606-A000-1118-C151-BCB1-1446-EDE0-D413.dyn6.twc.com)
(Ping timeout: 198 seconds)
L2476[23:50:00]
⇦ Quits: alekso56 (~znc@2001:464b:c2aa:0:745d:45ff:fe3b:a098)
(Ping timeout: 190 seconds)
L2477[23:51:51] <mezz> Delenas, what
changed exactly? why did you need a registry?
L2478[23:51:55]
⇨ Joins: alekso56
(~znc@2001:464b:c2aa:0:745d:45ff:fe3b:a098)
L2479[23:58:18]
⇦ Quits: bilde2910 (bilde2910@51.174.170.178) (Ping timeout:
195 seconds)
L2480[23:59:11]
⇦ Quits: Benimatic
(~Benimatic@cblmdm72-241-108-184.buckeyecom.net) (Ping timeout: 192
seconds)
L2481[23:59:15] <Delenas> To handle the
gui ids.
L2482[23:59:49]
⇨ Joins: bilde2910 (bilde2910@51.174.170.178)
L2483[23:59:52] <mezz> ok. what was it
doing before?