<<Prev
Next>>
Scroll to Bottom
Stuff goes here
L1[00:13:16] ⇨
Joins: Hunterz
(~hunterz@2001:af0:8000:1c01:6af7:28ff:fe37:5d6a)
L2[00:23:10] ⇦
Quits: Neal (~Neal@47.146.41.184) (Ping timeout: 204
seconds)
L3[00:31:59] ⇨
Joins: Dimmerworld
(~quassel@90.252.3.123.sta.dodo.net.au)
L4[00:32:25] <Dimmerworld> How can I add a
shaped recipe for a state of a block?
L5[00:33:35] <mezz> item to block and back
is not an exact science
L6[00:33:50] <mezz> you can usually get the
proper ItemStack from a block using pickBlock
L7[00:34:39] <mezz> getting a recipe for an
item is not trivial, you probably have to iterate over all the
recipes to see which one matches the output you want, and hope it
has specified valid input items
L8[00:34:42] ⇦
Quits: Lathanael|Away (~Lathanael@p54960B6A.dip0.t-ipconnect.de)
(Ping timeout: 198 seconds)
L9[00:36:25] ⇨
Joins: Lathanael|Away
(~Lathanael@p5496047F.dip0.t-ipconnect.de)
L10[00:37:21] <Dimmerworld> by a state of a
block I mean a blockstate. I have a solar panel block which has
four sub thingos basic,advnaced, blah and blah. I can use
registerShaped(getStack(ModBlocks.SOLAR_PANEL) to get the basic
block but I am trying to add recipes for the other types.
L11[00:41:12] <Ordinastie> so you finally
found out what I meant by "get your block instance
statically" :)
L12[00:42:32] <Dimmerworld> I still have no
idea what that means.
L13[00:44:34] <Ordinastie> that's sad
:/
L14[00:46:12] ⇨
Joins: CoderPuppy (~cpup@32.218.115.82)
L15[00:49:54] <Dimmerworld> ;(
L16[00:50:22] ⇦
Quits: cpup (~cpup@32.218.115.42) (Ping timeout: 383
seconds)
L17[01:09:20] ⇦
Quits: Doty1154 (~Doty1154@2601:648:8000:134f:8125:6ebb:4d57:e5f3)
(Quit: Leaving)
L18[01:09:29] ⇦
Quits: CoderPuppy (~cpup@32.218.115.82) (Ping timeout: 200
seconds)
L19[01:15:16] ⇨
Joins: cpup (~cpup@32.218.115.122)
L20[01:34:25] ⇦
Quits: quadraxis
(~quadraxis@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net)
(Ping timeout: 198 seconds)
L21[01:40:04] ⇨
Joins: Cornelia
(~Nel@c-75-71-231-133.hsd1.co.comcast.net)
L22[01:51:37] <MCPBot_Reborn> [TEST CSV]
Pushing snapshot_20171010 mappings to Forge Maven.
L23[01:51:40] <MCPBot_Reborn> [TEST CSV]
Maven upload successful for mcp_snapshot-20171010-1.12.zip
(mappings = "snapshot_20171010" in build.gradle).
L24[01:51:51] <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/
L25[03:13:33] ⇨
Joins: c64cosmin (kiwiirc@79.114.100.255)
L26[03:38:19] ⇦
Quits: Hunterz (~hunterz@2001:af0:8000:1c01:6af7:28ff:fe37:5d6a)
(Quit: Leaving.)
L28[04:08:32] ⇨
Joins: ben_mkiv
(~ben_mkiv@p4FED5EB4.dip0.t-ipconnect.de)
L29[04:16:49] ⇦
Quits: rebecca (~rebecca@212.92.122.206) (Ping timeout: 186
seconds)
L30[04:27:48] ⇨
Joins: NexuNuke (~NexuNuke@66.240.113.87.dyn.plus.net)
L31[04:28:05] <NexuNuke> Anyone able to
help me with a problem real quick?
L32[04:28:26] <ben_mkiv> depends
L34[04:29:05] <NexuNuke> no idea how to fix
this
L35[04:29:13] <NexuNuke> its not using
jdk9
L36[04:29:29] <ben_mkiv> are you player or
dev?
L37[04:29:33] <NexuNuke> dev
L38[04:29:39] <NexuNuke> well, trying to
learn
L39[04:30:26] <ben_mkiv> you sure that you
imported the correct libary?
L40[04:30:30] <ghz|afk> are you trying to
use java9?
L41[04:30:38] ⇨
Joins: rebecca (~rebecca@212.92.124.61)
L42[04:30:39] ⇦
Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 383
seconds)
L43[04:30:40] <NexuNuke> not using
jdk9
L44[04:30:52] <NexuNuke> ive already been
told thats the cause, but apparently its not
L45[04:31:03] <ghz|afk> oh
L46[04:31:05] <ghz|afk> I see
L47[04:31:05] <NexuNuke> i changed
java_home to jdk8 but i still get the issue
L48[04:31:11] <ghz|afk> I foundit weird
that you mentioned it
L49[04:31:18] <ghz|afk> but I see why
L50[04:31:30] <ben_mkiv> OpenGL: ~~ERROR~~
RuntimeException: No OpenGL context found in the current
thread.
L51[04:31:36] <ben_mkiv> are you connected
by remote desktop?
L52[04:31:41] <NexuNuke> nope
L53[04:32:02] <NexuNuke> its not about
opengl afaict
L54[04:32:10] <ghz|afk> shouldn't matter
though
L55[04:32:10] <ghz|afk>
java.lang.NoSuchMethodError:
java.nio.ByteBuffer.flip()Ljava/nio/ByteBuffer;
L56[04:32:11] <NexuNuke> its to do with
java not being installed properly
L57[04:32:18] <ghz|afk> the crash seems to
be with mismatched classes
L58[04:32:30] <NexuNuke> should i reinstall
everything from scratch?
L59[04:32:38] <ghz|afk> since you are using
1.7.10, which is very very very old
L60[04:32:42] <NexuNuke> yea i am
L61[04:32:44] <ghz|afk> maybe j8 also has
issues
L62[04:33:03] <NexuNuke> was gonna try make
a mod for a server im part of
L63[04:33:03] <ghz|afk> you could try
setting up a jdk6 and using that one for the modding
L64[04:33:11] <NexuNuke> not 7?
L65[04:33:16] <ghz|afk> 7 is
meaningless
L66[04:33:23] <NexuNuke> huh, why?
L67[04:33:24] <ghz|afk> mc was java6 up
until 1.12 when it became java7
L68[04:33:25] <ben_mkiv> import
io.netty.buffer.ByteBuf;
L69[04:33:29] <ben_mkiv> thats the lib i'm
using
L70[04:33:32] <ghz|afk> but yo ucould try
jdk7 I guess
L71[04:33:44] <ghz|afk> eh
L72[04:33:47] <ghz|afk> 1.12 java 8*
L73[04:33:57] <ben_mkiv> look like
1.7.10^^
L74[04:34:15] <NexuNuke> it is 1.7.10
L75[04:34:29] <ghz|afk> NexuNuke: so that
crash is in the modding environment I guess?
L76[04:34:49] <NexuNuke> Aye, in
intellij/eclipse both when i try to run the client for the first
time
L77[04:36:34] ⇨
Joins: Larry1123 (Larry1123@irc.larry1123.net)
L78[04:36:51] <ghz|afk> my only suggestion
was going to be to try to re-run the setupDecompWorkspace
task
L79[04:37:08] <ghz|afk> besides trying with
an older jdk
L80[04:37:18] <ghz|afk> I really can't help
any more since I haven't touched 1.7.10 in 3 years
L81[04:37:40] <NexuNuke> i would go with
1.12, but i wanna mess around with thaumcraft addons, and since its
not updated i cant really do that
L82[04:38:03] <ghz|afk> well thaumcraft
made it to 1.8 but yeah it sucks
L83[04:38:51] <NexuNuke> as i said, im
kinda wanting to make a tc addon for a server im on, but i might
just make a new mod from scratch and hope that tc gets updated
soon(tm)
L84[04:39:21] <ben_mkiv> thats some kind of
own religion for now
L85[04:39:29] <NexuNuke> huh?
L86[04:39:42] <ghz|afk> I'm doubtful
L87[04:39:43] <ben_mkiv> they believe that
thaumcraft reincarnates
L88[04:39:56] <ghz|afk> it didn't even
update to 1.10.2, which is the next big version after 1.7.10
L89[04:40:05] <NexuNuke> Aye, but it'd be
nice. Whats actually happening with az?
L90[04:40:15] <ben_mkiv> probably got a
life
L91[04:40:21] <NexuNuke> lmao
L92[04:41:01] <ghz|afk> his twitter
consists exclusively to "liked this video" messages, so
who knows ;P
L93[04:41:05] <ghz|afk> of*
L94[04:41:14] <NexuNuke> yea, ive looked on
there a bit in hope
L95[04:42:12] <NexuNuke> wait, do i set the
java_home as in the bin folder or just the folder
L96[04:43:28] ⇨
Joins: TomyLobo
(~TomyLobo@2a02:8109:87c0:20c:acea:836d:606b:826e)
L97[04:43:33] <ghz|afk> eh I don't use
java_home myself
L98[04:43:38] <ghz|afk> I just configure
the jdk in intellij
L99[04:43:59] <NexuNuke> honestly, i should
do that
L100[04:45:59] <NexuNuke> its still
crashing with the same error, ill try setupDecomp agail
L101[04:46:02] <NexuNuke> again*
L102[04:48:00] <NexuNuke> still the same
error *sight*
L103[04:48:04] <NexuNuke> sigh*
L104[04:50:15] ⇦
Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 186
seconds)
L105[05:06:15] <NexuNuke> What version of
forge do i download for 1.12? as in installer, or universal
etc
L106[05:08:08]
⇨ Joins: Larry1123 (Larry1123@irc.larry1123.net)
L107[05:08:46] <ben_mkiv> is there
something like switch in java which supports multiple entrys for
same case type?
L108[05:09:00] <ben_mkiv> or do i have to
write ugly if/else shizzle?! ;_;
L109[05:09:40] <ghz|afk> hm?
L110[05:09:48] <ghz|afk> you mean
like
L111[05:09:51] <ghz|afk> switch(value)
{
L112[05:09:52] <ghz|afk> case 1:
L113[05:09:54] <ghz|afk> case 2:
L114[05:09:55] <ghz|afk> code;
L115[05:09:57] <ghz|afk> break;
L116[05:09:58] <ghz|afk> case 3:
L117[05:09:58] <ghz|afk> ...
L118[05:09:59] <ghz|afk> ?
L119[05:10:03] <ben_mkiv> yea, but
then
L120[05:10:09] <ben_mkiv> case 1:
L121[05:10:31] <ben_mkiv> case 1:
doSomething();
L122[05:10:41] <ben_mkiv> case1: case2:
doMore(); break;
L123[05:10:51] <ghz|afk> nope java
explicitly disallows fallthrough
L124[05:10:53] <ghz|afk> iirc
L125[05:11:19] <ghz|afk> or wait does
it?
L126[05:11:21] <ghz|afk> I was thinking
C#
L127[05:11:22] <NexuNuke> lmao
L128[05:11:34] <ghz|afk> I may have never
tried to fall-through in a java switch
L129[05:11:40] <ghz|afk> since I'm used to
not doing that even in C
L130[05:11:55] <ben_mkiv> "error:
duplicate case label"
L131[05:12:01] <ghz|afk> nono
L132[05:12:04] <ghz|afk> fallthrough
means
L133[05:12:09] <ghz|afk> switch(a) {
L134[05:12:13] <ghz|afk> case 1:
doX();
L135[05:12:13] <NexuNuke> how come mcforge
uses irc still anyway, i thought that discord was the new one
L136[05:12:17] <ghz|afk> case 2: doY();
break;
L137[05:12:17] <ghz|afk> }
L138[05:12:29] <ghz|afk> since case 1 does
not have a break; statement
L139[05:12:30] <ben_mkiv> so it would run
case2 without a break in case1?
L140[05:12:33] <ghz|afk> it continues
running from case2
L141[05:12:49] <ben_mkiv> oh, let me try
that in a small testprogram
L142[05:13:13] <ghz|afk> the compiler does
accept it
L143[05:13:19] <ghz|afk> so yeah java does
have case fall-through
L144[05:14:33] <ben_mkiv> sweet, thank
you
L145[05:15:03] <ben_mkiv> even though, i
think that duplicate labels are less confusing, but meh :>
L146[05:16:13] <ghz|afk> the reason case
fall-through exists
L147[05:16:17] <ghz|afk> is that when it
was designed
L148[05:16:26] <ghz|afk> the case labels
were hidden jump targets
L149[05:16:39] <ghz|afk> in the primitive
compilers
L150[05:16:51] <ghz|afk> so switch x ...
case 2
L151[05:16:55] <ghz|afk> would translate
into
L152[05:17:05] <ben_mkiv> ok
L153[05:17:07] <ghz|afk> "if x == 2,
goto case2"
L154[05:17:18] <ben_mkiv> then i want some
"goto case 2" :P
L155[05:17:26] <ben_mkiv> back to basics
:>
L156[05:17:27] <ghz|afk> and break would
translate into "goto end_of_switch"
L157[05:17:43] <ghz|afk> while the rest of
the code statements, would be kept in the same order
L158[05:17:53] <ghz|afk> as if the
switch() wasn't there at all
L159[05:18:15] <ghz|afk> I don't know if
java has a "fallthrough;" keyword
L160[05:18:17] <ghz|afk> if not
L161[05:18:25] <ghz|afk> a common thing to
do is to specify explicitly with a comment
L162[05:18:27] <ghz|afk> case 1:
L163[05:18:29] <ghz|afk> doX();
L164[05:18:33] <ghz|afk>
//fallthrough;
L165[05:18:37] <ghz|afk> case 2: ...
L166[05:19:00] <ben_mkiv> well, i'll go
for some other solution anyways
L167[05:19:14] <NexuNuke> Oh i fixed it.
Weird. Just reinstalled forge to another location
L168[05:19:15] <ghz|afk> in C, some people
even define "fallthrough" to be a macro that resolves to
doing nothing
L169[05:19:18] <ben_mkiv> thats a pitfall
when reading the code later xD
L170[05:19:58]
⇨ Joins: KGS
(~KGS@h-158-174-9-50.NA.cust.bahnhof.se)
L171[05:26:18] ⇦
Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 204
seconds)
L172[05:28:34] ⇦
Quits: NexuNuke (~NexuNuke@66.240.113.87.dyn.plus.net) (Quit:
Leaving)
L173[05:29:51]
⇨ Joins: Nedelosk
(~Nedelosk@ip-109-90-74-164.hsi11.unitymediagroup.de)
L174[05:35:05]
⇨ Joins: Larry1123 (Larry1123@irc.larry1123.net)
L175[05:39:39]
⇨ Joins: Cast0077
(~Cast0077@24-151-30-78.dhcp.nwtn.ct.charter.com)
L176[05:53:11] ⇦
Quits: Dimmerworld (~quassel@90.252.3.123.sta.dodo.net.au) (Remote
host closed the connection)
L177[06:01:37]
⇨ Joins: Dimmerworld
(~quassel@90.252.3.123.sta.dodo.net.au)
L178[06:16:48] ⇦
Quits: Chais (~Chais@62.178.210.212) (Ping timeout: 198
seconds)
L179[06:18:12]
⇨ Joins: Chais (~Chais@62.178.210.212)
L180[06:48:27] ⇦
Quits: Lunatrius (~Lunatrius@77.38.21.155) (Ping timeout: 198
seconds)
L181[06:51:15] ⇦
Quits: KGS (~KGS@h-158-174-9-50.NA.cust.bahnhof.se) (Ping timeout:
186 seconds)
L182[06:51:43]
⇨ Joins: NexuNuke
(~NexuNuke@66.240.113.87.dyn.plus.net)
L183[06:51:56] <NexuNuke> Yo, i need some
help again xd
L184[06:54:07]
⇨ Joins: Lunatrius (~Lunatrius@77.38.21.155)
L185[06:57:05] <NexuNuke> I have no idea
what i've done wrong, after i added my proxy classes, my reference
classes and my config handler i keep getting this error when i try
to run mc
https://pastebin.com/6iNcA9Kx
L186[06:58:57] <ghz|afk> that is
incomplete
L187[06:59:02] <ghz|afk> you didn't even
show what the actual exception is
L188[06:59:08] <ghz|afk> try to paste a
more complete log
L189[07:00:28] <NexuNuke> pasted the wrong
link
L191[07:06:41]
⇨ Joins: KklyAq
(~Umbraco@121-87-149-172f1.hyg2.eonet.ne.jp)
L192[07:10:49] ⇦
Quits: IdleGandalf (~IdleGanda@staff.harting.hosting) (Quit:
Leaving)
L193[07:11:06]
⇨ Joins: IdleGandalf
(~IdleGanda@staff.harting.hosting)
L194[07:14:10] <NexuNuke> Anyone?
L195[07:17:53] <barteks2x> I didn't follow
it before, what is the code?
L196[07:18:10] <NexuNuke> as in the error
or my code?
L197[07:18:15] <barteks2x> your code
L198[07:18:23] <barteks2x> I can't see
what causes the error without the code
L199[07:18:25] <NexuNuke> in all of my
classes?
L200[07:18:35] <NexuNuke> or just the main
and the config handler
L201[07:18:43] <barteks2x> at least
ConfigurationHandler wouldbe useful because it's in the
stacktrace
L202[07:19:54] <NexuNuke> here, i put the
config handler and the main class in one paste
L204[07:21:35] <barteks2x> first at least
add the logging to the catch{} part, it's likely it also throws
some exception that you don't see
L205[07:22:10] <NexuNuke> the logging is
the configuration.save right?
L206[07:22:37] <barteks2x> you have
"//Log the configuration file" but no code to log
it
L207[07:22:53] <NexuNuke> oh, yea im
following pahimars reboot and theres nothing there unless i missed
something
L208[07:23:34] <barteks2x> add at least
e.printStackTrace(). I also think it's actually the issue that you
are using the no-argument constructor of Configuration, where you
should give it the configFile
L209[07:24:27] <NexuNuke> oh... which one
should i use?
L210[07:25:22] <barteks2x> just give the
configFile to the Configuration constructor
L211[07:25:48] <NexuNuke> how would i go
about doing that? im super new to this lol
L212[07:25:58] <barteks2x> do you even
know java?
L213[07:26:26] <NexuNuke> not extremely
well
L214[07:27:15] <barteks2x> I don't think
you will get very far without that. Anyway, you would just do this:
Configuration configuration = new Configuration(configFile);
L215[07:28:07] <NexuNuke> thats what i
thought you meant, but i just wanted to clarify. ive done other
languages that are similar
L216[07:28:34] <barteks2x> like what? C?
C++?
L217[07:28:59] <NexuNuke> C++ to an
extent, a bit of javascript too
L218[07:29:06] <NexuNuke> that fixed it,
thanks a lot
L219[07:33:14] ⇦
Quits: Dimmerworld (~quassel@90.252.3.123.sta.dodo.net.au) (Ping
timeout: 183 seconds)
L220[07:40:29] ⇦
Quits: npe|office (~NPExcepti@bps-gw.hrz.tu-chemnitz.de) (Remote
host closed the connection)
L221[08:14:51]
⇨ Joins: millerti
(~millerti@cpe-66-24-91-119.stny.res.rr.com)
L222[08:17:44]
⇨ Joins: Subaraki
(~Subaraki@239.ip-158-69-59.net)
L223[08:17:54]
⇨ Joins: Raqbit (~Raqbit@239.ip-158-69-59.net)
L224[08:24:09]
⇨ Joins: quadraxis
(~quadraxis@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net)
L225[08:31:46]
⇨ Joins: Javaschreiber
(~Thunderbi@88-209-32-73.nga.highspeed-baumann.de)
L226[08:37:04] <ben_mkiv> uhm, how would i
figure out which entity a player is looking at? :>
L227[08:37:27] <ben_mkiv> clientside im
using RayTraceResult
Minecraft.getMinecraft().objectMouseOver;
L228[08:38:54] <barteks2x> I doubt you can
actually do that serverside accurately
L229[08:39:20] <ben_mkiv> yea, me too
xD
L230[08:40:04] <Dark> you can get close
enough
L231[08:40:36] ⇦
Quits: ben_mkiv (~ben_mkiv@p4FED5EB4.dip0.t-ipconnect.de) (Remote
host closed the connection)
L233[08:43:05]
⇨ Joins: ben_mkiv
(~ben_mkiv@p4FED5EB4.dip0.t-ipconnect.de)
L234[08:43:16] <ben_mkiv> re
L235[08:48:22] <Ivorius> Wow
L236[08:48:28] <Ivorius> Haven't read that
word in like 3 years
L237[09:00:30] <Raqbit> re
L238[09:00:43] <Raqbit> Now you've read it
twice in one hour!
L239[09:01:11]
⇨ Joins: MonkeyTyrant (~MonkeyTyr@142.68.236.66)
L240[09:01:12] ⇦
Quits: MonkeyTyrant (~MonkeyTyr@142.68.236.66) (Remote host closed
the connection)
L241[09:04:21] ⇦
Quits: millerti (~millerti@cpe-66-24-91-119.stny.res.rr.com) (Ping
timeout: 204 seconds)
L242[09:05:15]
⇨ Joins: malte0811 (~malte@185.134.128.197)
L243[09:11:49] ⇦
Parts: ben_mkiv (~ben_mkiv@p4FED5EB4.dip0.t-ipconnect.de)
(leave))
L244[09:11:57]
⇨ Joins: ben_mkiv
(~ben_mkiv@p4FED5EB4.dip0.t-ipconnect.de)
L245[09:12:21] *
ben_mkiv wonders if theres a mod that generates a ingame manual out
of md.files :>
L246[09:12:39] <malte0811> I think OC does
that
L247[09:13:46] <ghz|afk> my Guidebook mod
isn't markdown, but I'm trying to make it html-ish ;P
L248[09:13:59] <ben_mkiv> malte0811, yea
it does. but its scala x(
L249[09:14:16] <ben_mkiv> but markdown
would be awesome, just export/import from github wiki xD
L250[09:15:40] <ghz|afk> I should have
spare brainpower starting december so I plan on improving that mod
;P
L251[09:15:59] <barteks2x> it sucks that
you can't give more memory to java while it's running...
L252[09:17:15] <ghz|afk> yeah, the default
-Xmx should be "whatever can fit on the system
L253[09:17:22] <ghz|afk> and make it an
opt-in quota
L254[09:17:31] <ghz|afk> like .NET
does
L255[09:17:37] <ben_mkiv> actually, OC
even has a API for that ingame manual :>
L256[09:17:50] <barteks2x> that would also
be awful, because almost every OS will let java allocate as much as
it requests
L257[09:17:55] <barteks2x> until it runs
out of addresses
L258[09:18:44]
⇨ Joins: SubThread
(~SubThread@185-157-160-61.pool.ovpn.com)
L259[09:18:47] <barteks2x> unless java
actually limited itself only to what it actually needs instead of
using whatever it wants
L260[09:19:02] <barteks2x> then I could
let MC run with 4GB on my 4GB system and be fine with it
L261[09:19:13] <ybden> You know that java
doesn't actually allocate all of the -Xmx on startup, right?
L262[09:19:35] <barteks2x> it doesn't but
it tends to quickly eat everything you give it
L263[09:20:23] <ybden> Fair
L264[09:24:57]
⇨ Joins: Searge|Office
(~Searge@h-85-24-130-18.NA.cust.bahnhof.se)
L265[09:25:35] <barteks2x> for(int h = 62;
h > 0; ++h) {... guess what causes this code to be slow?
L266[09:25:40]
⇨ Joins: Searge|Work
(~Searge@h-85-24-130-18.NA.cust.bahnhof.se)
L267[09:25:52] <barteks2x> (this code is
in other mod)
L268[09:26:40] ⇦
Quits: Searge|Mojang (~Searge@h-85-24-130-18.NA.cust.bahnhof.se)
(Ping timeout: 198 seconds)
L269[09:27:10] <ben_mkiv> its true until
buffer overrun?!
L270[09:27:20] <barteks2x> *integer
overflow
L271[09:27:40] <barteks2x> it iterates
over 2 billion blocks...
L272[09:27:42]
⇨ Joins: Searge|Mojang
(~Searge@h-85-24-130-18.NA.cust.bahnhof.se)
L273[09:28:33] <ben_mkiv> is that
mekanism? :P
L274[09:28:48] <barteks2x> nope
L275[09:29:36] <barteks2x> Open Terrain
Generator probably accidentally does that on the first tick
L276[09:31:05] <barteks2x> and it does
that over 200 times
L277[09:31:43] ⇦
Quits: Searge|Office (~Searge@h-85-24-130-18.NA.cust.bahnhof.se)
(Ping timeout: 383 seconds)
L278[09:33:09] ⇦
Quits: Searge|Work (~Searge@h-85-24-130-18.NA.cust.bahnhof.se)
(Ping timeout: 383 seconds)
L279[09:44:31]
⇨ Joins: h404bi (~h404bi@119.129.131.110)
L280[10:04:48]
⇨ Joins: Brokkoli
(~Brokkoli@p5B23CF92.dip0.t-ipconnect.de)
L281[10:06:56] <barteks2x> is there any
way to make Minecraft render all the chunks in visible area othe
rthan waiting and waiting and waiting?
L282[10:18:08] ⇦
Quits: NexuNuke (~NexuNuke@66.240.113.87.dyn.plus.net) (Quit:
Leaving)
L283[10:29:34] ⇦
Quits: Dimtree
(~dimtree@75-110-143-121.nbrncmtk01.res.dyn.suddenlink.net) (Ping
timeout: 183 seconds)
L284[10:43:45]
⇨ Joins: Hgrebnednav
(~Hgrebnedn@d8d872a6e.access.telenet.be)
L285[10:57:23] ⇦
Quits: ben_mkiv (~ben_mkiv@p4FED5EB4.dip0.t-ipconnect.de) (Remote
host closed the connection)
L286[11:01:54]
⇨ Joins: Neal (~Neal@47.146.41.184)
L287[11:14:10] ⇦
Quits: Nedelosk
(~Nedelosk@ip-109-90-74-164.hsi11.unitymediagroup.de) (Read error:
Connection reset by peer)
L288[11:20:03]
⇨ Joins: Noppes
(~Noppes@ip56530f2e.direct-adsl.nl)
L289[11:41:00] ***
PaleOff is now known as PaleoCrafter
L290[11:45:16]
⇨ Joins: Hunterz (~hunterz@62.182.234.189)
L291[11:45:21]
⇨ Joins: McJty
(~jorrit@ptr-9197ufoqgv9a37ltkd1.18120a2.ip6.access.telenet.be)
L292[11:54:36]
⇨ Joins: CoderPuppy (~cpup@32.218.118.182)
L293[11:59:51] ⇦
Quits: cpup (~cpup@32.218.115.122) (Ping timeout: 383
seconds)
L294[12:10:46]
⇨ Joins: cpup (~cpup@32.218.118.196)
L295[12:13:25] ⇦
Quits: CoderPuppy (~cpup@32.218.118.182) (Ping timeout: 204
seconds)
L296[12:27:48] ***
PaleoCrafter is now known as PaleOff
L297[12:45:45] ⇦
Quits: h404bi (~h404bi@119.129.131.110) (Ping timeout: 186
seconds)
L298[13:04:25] ***
Santa|afk is now known as SatanicSanta
L299[13:10:16]
⇨ Joins: CoderPuppy (~cpup@32.218.119.15)
L300[13:11:35] ⇦
Quits: sham1 (jjsine@linux.utu.fi) (Ping timeout: 190
seconds)
L301[13:11:56] ⇦
Quits: mumfrey (~Mumfrey@dedi5.eq2.co.uk) (Ping timeout: 190
seconds)
L302[13:12:02] ⇦
Quits: cpup (~cpup@32.218.118.196) (Ping timeout: 183
seconds)
L303[13:12:21]
⇨ Joins: mumfrey (~Mumfrey@dedi5.eq2.co.uk)
L304[13:15:41] ⇦
Quits: manmaed[away] (~Ender@stargate.manmaed.exofire.net) (Ping
timeout: 190 seconds)
L305[13:22:21] ⇦
Quits: McJty
(~jorrit@ptr-9197ufoqgv9a37ltkd1.18120a2.ip6.access.telenet.be)
(Quit: Leaving)
L306[13:30:14] ⇦
Parts: malte0811 (~malte@185.134.128.197) ())
L307[13:38:17] ⇦
Quits: CoderPuppy (~cpup@32.218.119.15) (Ping timeout: 186
seconds)
L308[13:44:42]
⇨ Joins: cpup (~cpup@32.218.119.57)
L309[13:45:09] ⇦
Quits: Javaschreiber
(~Thunderbi@88-209-32-73.nga.highspeed-baumann.de) (Quit:
Javaschreiber)
L310[13:46:40] ⇦
Parts: Cast0077 (~Cast0077@24-151-30-78.dhcp.nwtn.ct.charter.com)
())
L311[13:53:38] ***
Abrar|gone is now known as AbrarSyed
L312[13:56:19]
⇨ Joins: KGS
(~KGS@h-158-174-9-50.NA.cust.bahnhof.se)
L313[13:58:12]
⇨ Joins: Ipsis
(~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk)
L314[13:58:44]
⇨ Joins: arehman (~arehman@39.50.131.69)
L315[14:00:38] <arehman> hi guys i need
some help in one of my plugin that i am trying to do. the thing is
i wanted to get spawn rates of EntityPixelmon but can't find it
yet. anyone has any idea how to get it?
L316[14:11:08] ⇦
Quits: immibis (~chatzilla@122-59-207-30.jetstream.xtra.co.nz)
(Ping timeout: 383 seconds)
L317[14:12:07] ***
AbrarSyed is now known as Abrar|gone
L318[14:13:27]
⇨ Joins: MiningMark48
(~MiningMar@h187.58.187.173.dynamic.ip.windstream.net)
L319[14:19:34]
⇨ Joins: CoderPuppy (~cpup@32.218.119.106)
L320[14:22:36]
⇨ Joins: Cast0077
(~Cast0077@24-151-68-108.dhcp.nwtn.ct.charter.com)
L321[14:24:07] ⇦
Quits: cpup (~cpup@32.218.119.57) (Ping timeout: 383
seconds)
L322[14:24:24]
⇨ Joins: Nedelosk
(~Nedelosk@ip-109-90-74-164.hsi11.unitymediagroup.de)
L323[14:30:21] <tterrag> hm...how could I
apply a transformation to an already baked model?
L324[14:30:31] <tterrag> I need to display
a scaled-down version of another model
L325[14:34:08] <ghz|afk> if it's already
baked, you'd have to get the bytes that represent the
position
L326[14:34:22] <ghz|afk> turn them into
floats, apply the transform matrix to the xyz vector
L327[14:34:28] <ghz|afk> then encode them
back into the int[]
L328[14:34:56] <ghz|afk> (this is how the
LightUtil applies color multipliers to quads)
L329[14:35:05] <ghz|afk> (xcept with color
values instead of position vector)
L330[14:43:03] ⇦
Quits: Cast0077 (~Cast0077@24-151-68-108.dhcp.nwtn.ct.charter.com)
(Quit: Poof)
L331[14:46:20] ⇦
Quits: Ipsis (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk) (Read
error: Connection reset by peer)
L332[14:50:46]
⇨ Joins: Ipsis
(~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk)
L333[14:53:47]
⇨ Joins: Dimtree (~dimtree@75.110.143.121)
L334[14:55:22] <tterrag> ghz|afk: I think
I'm gonna hack around it by getting the IModel instead
L335[14:56:59] ⇦
Quits: Dimtree (~dimtree@75.110.143.121) (Client Quit)
L336[15:00:01] ⇦
Quits: Ipsis (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk) (Ping
timeout: 186 seconds)
L337[15:02:45]
⇨ Joins: Dimtree
(~dimtree@75-110-143-121.nbrncmtk01.res.dyn.suddenlink.net)
L338[15:11:32]
⇨ Joins: cpup (~cpup@32.218.119.211)
L339[15:14:08] ⇦
Quits: CoderPuppy (~cpup@32.218.119.106) (Ping timeout: 198
seconds)
L340[15:16:32] ⇦
Quits: Hunterz (~hunterz@62.182.234.189) (Quit:
Leaving.)
L341[15:16:52]
⇨ Joins: PitchBright
(~PitchBrig@CPE00fc8d8a3ce3-CM00fc8d8a3ce0.cpe.net.cable.rogers.com)
L342[15:23:14] ⇦
Quits: Hgrebnednav (~Hgrebnedn@d8d872a6e.access.telenet.be) (Ping
timeout: 200 seconds)
L343[15:26:10] ⇦
Quits: mikeprimm (~mikeprimm@2a01:7e00::f03c:91ff:fe70:44b7) (Quit:
ZNC - http://znc.in)
L344[15:38:20]
⇨ Joins: Lunatrius` (~Lunatrius@77.38.21.155)
L345[15:38:56] ⇦
Quits: arehman (~arehman@39.50.131.69) (Ping timeout: 200
seconds)
L346[15:41:00] ⇦
Quits: Lunatrius (~Lunatrius@77.38.21.155) (Ping timeout: 198
seconds)
L347[15:41:00] ***
Lunatrius` is now known as Lunatrius
L348[15:41:11] ⇦
Quits: SubThread (~SubThread@185-157-160-61.pool.ovpn.com) (Quit:
I'm busy)
L349[15:49:25]
⇨ Joins: bms_
(~bms_@cpe-76-188-199-137.neo.res.rr.com)
L350[15:50:09] ⇦
Quits: bms_ (~bms_@cpe-76-188-199-137.neo.res.rr.com) (Client
Quit)
L351[15:54:43]
⇨ Joins: killjoy
(~killjoy@2606:a000:1118:8030:d12c:45cd:5a06:e79f)
L352[15:54:53] ⇦
Quits: An_Angry_Brit (~AngryBrit@90.252.223.201) (Quit: ZNC -
http://znc.in)
L353[15:56:46]
⇨ Joins: CoderPuppy (~cpup@32.218.112.36)
L354[15:58:36] ⇦
Quits: cpup (~cpup@32.218.119.211) (Ping timeout: 183
seconds)
L355[16:12:55] ⇦
Quits: Noppes (~Noppes@ip56530f2e.direct-adsl.nl) (Read error:
Connection reset by peer)
L356[16:27:40]
⇨ Joins: mikeprimm
(~mikeprimm@2a01:7e00::f03c:91ff:fe70:44b7)
L357[16:32:51]
⇨ Joins: cpup (~cpup@32.218.112.70)
L358[16:38:18] ⇦
Quits: CoderPuppy (~cpup@32.218.112.36) (Ping timeout: 383
seconds)
L359[16:50:10] ⇦
Quits: heldplayer (heldplayer@mrwhite.specialattack.net) (Ping
timeout: 190 seconds)
L360[16:50:46]
⇨ Joins: heldplayer
(heldplayer@mrwhite.specialattack.net)
L361[16:51:50] ⇦
Quits: IoP (jikuja@irc.ioppi.info) (*.net *.split)
L362[16:52:55]
⇨ Joins: IoP (jikuja@irc.ioppi.info)
L363[16:53:09] ⇦
Quits: IoP (jikuja@irc.ioppi.info) (Ping timeout: 190
seconds)
L364[16:53:17]
⇨ Joins: IoP (jikuja@irc.ioppi.info)
L365[16:55:25]
⇨ Joins: bms_
(~bms_@cpe-76-188-199-137.neo.res.rr.com)
L366[16:55:59] ⇦
Parts: bms_ (~bms_@cpe-76-188-199-137.neo.res.rr.com)
())
L367[17:05:24]
⇨ Joins: c64cosmin (kiwiirc@86.125.236.221)
L368[17:21:54] ⇦
Quits: TomyLobo (~TomyLobo@2a02:8109:87c0:20c:acea:836d:606b:826e)
(Ping timeout: 198 seconds)
L369[17:23:32] ***
diesieben07 is now known as diesieben|away
L370[17:37:08] ⇦
Quits: cpup (~cpup@32.218.112.70) (Ping timeout: 200
seconds)
L371[17:42:41]
⇨ Joins: cpup (~cpup@32.218.112.187)
L372[17:44:37]
⇨ Joins: TomyLobo
(~TomyLobo@2a02:8109:87c0:20c:18ec:e4c8:ebc4:36c0)
L373[17:52:28] ⇦
Quits: cpup (~cpup@32.218.112.187) (Ping timeout: 200
seconds)
L374[17:56:51]
⇨ Joins: cpup (~cpup@32.218.112.221)
L375[18:03:12] ⇦
Quits: killjoy (~killjoy@2606:a000:1118:8030:d12c:45cd:5a06:e79f)
(Read error: Connection reset by peer)
L376[18:12:56] ***
SatanicSanta is now known as Santa|afk
L378[19:33:13] ⇦
Quits: mezz (~mezz@24.6.28.151) (Read error: Connection reset by
peer)
L379[19:34:55] ⇦
Quits: KGS (~KGS@h-158-174-9-50.NA.cust.bahnhof.se) (Ping timeout:
186 seconds)
L380[19:36:32]
⇨ Joins: mezz (~mezz@24.6.28.151)
L381[19:36:32]
MineBot sets mode: +v on mezz
L382[19:50:53] ⇦
Quits: Nedelosk
(~Nedelosk@ip-109-90-74-164.hsi11.unitymediagroup.de) (Read error:
Connection reset by peer)
L383[20:00:17] ⇦
Quits: Searge (~Searge@c83-250-150-134.bredband.comhem.se) (Read
error: -0x1: UNKNOWN ERROR CODE (0001))
L384[20:20:20]
⇨ Joins: sinkillerj
(~sinkiller@nc-67-238-187-157.dhcp.embarqhsd.net)
L385[20:22:09] ⇦
Quits: Neal (~Neal@47.146.41.184) (Ping timeout: 186
seconds)
L386[20:23:53] ⇦
Quits: sinkillerj (~sinkiller@nc-67-238-187-157.dhcp.embarqhsd.net)
(Ping timeout: 183 seconds)
L387[20:26:51] ⇦
Quits: Chais (~Chais@62.178.210.212) (Read error: Connection reset
by peer)
L388[20:29:57]
⇨ Joins: Chais (~Chais@62.178.210.212)
L389[20:38:44]
⇨ Joins: sinkillerj
(~sinkiller@nc-67-238-187-157.dhcp.embarqhsd.net)
L390[20:48:48]
⇨ Joins: Wastl2_
(~Wastl2@x4e341760.dyn.telefonica.de)
L391[20:49:21] ⇦
Quits: Wastl2 (~Wastl2@x4e34c242.dyn.telefonica.de) (Ping timeout:
383 seconds)
L392[20:51:47] ⇦
Quits: airbreather (~airbreath@d149-67-99-43.nap.wideopenwest.com)
(Read error: -0x1: UNKNOWN ERROR CODE (0001))
L393[21:01:18] ⇦
Quits: Lain|log (~Aphrael@baka.khobbits.co.uk) (Remote host closed
the connection)
L394[21:01:18] ⇦
Quits: Hobbits|away (~khm@2600:3c03::21:1001) (Remote host closed
the connection)
L395[21:11:08]
⇨ Joins: Ununoctium118
(~Ununoctiu@c-73-109-4-24.hsd1.wa.comcast.net)
L396[21:11:25] <Ununoctium118> Is this an
appropriate place to ask about using the forge api?
L397[21:12:20] <Ununoctium118> I'd like to
store some transient data on the player entities. It only needs to
be stored on the server, and never needs to be persisted to disk or
anywhere else. I think Capabilities are a bit overkill for
that.
L398[21:14:08]
⇨ Joins: Lain|log (~Aphrael@baka.khobbits.co.uk)
L399[21:15:09] <masa> butthey are exactly
for that type of thing though
L400[21:18:59] <Ununoctium118> Ok, great,
I'll use them then.
L401[21:19:26] <Ununoctium118> Are there
javadocs hosted anywhere? That would be incredibly useful and I
haven't been able to find any.
L402[21:20:20] <masa> not sure, I don't
think there are official/up-to-date ones anyway
L403[21:24:20] <Ununoctium118> Oh, I just
saw there's a gradle task to generate them locally
L404[21:25:48] <Ununoctium118> RIP, that
just does it for your mod, not for its dependencies (ie
forge)
L405[21:27:31] <Ununoctium118> Well, I
guess I have another question then: is there a way to get the
actual tick rate of the server (other than assuming it's 20
tps)?
L406[21:27:57] ⇦
Quits: Kaelten (~Kaelten@2600:3c00::f03c:91ff:fedb:9160) (Ping
timeout: 186 seconds)
L407[21:28:29] ⇦
Quits: BBSplat (bbsplat@tab.completion.provided.by.rcfreak0.com)
(Ping timeout: 186 seconds)
L408[21:28:29] ⇦
Quits: Aedda (~aedda@2600:3c00::19:cace) (Ping timeout: 186
seconds)
L409[21:30:09] <masa> check how the /forge
tps command works?
L410[21:30:26] <Ununoctium118> Ah great,
thanks
L411[21:30:37] <masa> probably just
ServerTickHandler for pre and post and checking the time it took or
something like that?
L412[21:30:50] <masa> eh, ServerTickEvent
I mean
L413[21:32:09]
⇨ Joins: Aedda (~aedda@2600:3c00::19:cace)
L414[21:34:43]
⇨ Joins: Kaelten
(~Kaelten@2600:3c00::f03c:91ff:fedb:9160)
L415[21:48:13]
⇨ Joins: McJty
(~jorrit@ptr-9197ufnmvqm1yixgu43.18120a2.ip6.access.telenet.be)
L416[22:03:54] <Ununoctium118> Is item
metadata automatically synchronized by the minecraft engine, or
should I send packets when I update it?
L417[22:04:11] <Ordinastie> ItemStack are
automatically synced
L418[22:04:49] <Ununoctium118> Do you know
if the sync packet get sent before or after
TickEvent.ServerTickEvent's are fired?
L419[22:05:22] <Ununoctium118> ie if I
update the item's metadata during the handler for that event, will
the update occur immediately, or 1/20th of a second later?
L420[22:07:18] <Ordinastie> I don't know,
you should check the code
L421[22:10:04] <Ununoctium118> I guess it
probably doesn't matter too much, 50ms is just below what most
people will notice in terms of delay
L422[22:10:37] ⇦
Quits: sinkillerj (~sinkiller@nc-67-238-187-157.dhcp.embarqhsd.net)
(Quit: またね)
L423[22:13:03] ⇦
Quits: Lathanael|Away (~Lathanael@p5496047F.dip0.t-ipconnect.de)
(Ping timeout: 186 seconds)
L424[22:19:54]
⇨ Joins: Lathanael|Away
(~Lathanael@p549603A0.dip0.t-ipconnect.de)
L425[22:25:55]
⇨ Joins: TriTUSK (~3TUSK@169.235.233.107)
L426[22:28:03]
⇨ Joins: Dimmerworld
(~Dimmerwo@105.81.3.123.sta.dodo.net.au)
L427[22:28:03] ⇦
Quits: Dimmerworld (~Dimmerwo@105.81.3.123.sta.dodo.net.au) (Client
Quit)
L428[22:28:58]
⇨ Joins: Dimmerworld
(~Dimmerwo@105.81.3.123.sta.dodo.net.au)
L429[22:31:37] ⇦
Quits: MiningMark48
(~MiningMar@h187.58.187.173.dynamic.ip.windstream.net) (Quit:
Leaving)
L430[22:34:55] ⇦
Quits: Dimmerworld (~Dimmerwo@105.81.3.123.sta.dodo.net.au) (Quit:
Leaving)
L431[22:35:15]
⇨ Joins: Dimmerworld
(~Dimmerwo@105.81.3.123.sta.dodo.net.au)
L432[22:41:31] ⇦
Quits: Dimmerworld (~Dimmerwo@105.81.3.123.sta.dodo.net.au) (Quit:
Leaving)
L433[22:42:03]
⇨ Joins: Dimmerworld
(~Dimmerwo@105.81.3.123.sta.dodo.net.au)
L434[22:54:47] <ghz|afk> [05:24]
(Ununoctium118): I guess it probably doesn't matter too much, 50ms
is just below what most people will notice in terms of delay
L435[22:54:51] <ghz|afk> you assume
there's no network delay ;P
L436[22:55:25] <ghz|afk> chances are, the
lag between the server and client is going to be bigger on average
than the delay from processing it 1 tick later
L437[22:55:42] <Ununoctium118> Actually as
I keep working, turns out in order to properly handle user input, I
only need to read there.
L438[22:55:49] <Ununoctium118> *in the
ServerTickEvent handler
L439[22:56:05] <ghz|afk> hm? user input
would happen on the client, no?
L440[22:58:31] <Ununoctium118> Yeah, but
in this case all the input does is send a packet to the
server
L441[22:58:50] <Ununoctium118> And the
server has to make it seem "instant" to the client that
their action happened
L442[22:59:24] <Ununoctium118> Which is
why I'd like to keep the time between "user does thing"
and "user sees result" as close to one RTT as
possible
L443[23:00:25] <Ununoctium118> In what
init step do you register capabilities? And do you attach them in
the common proxy or the server-only proxy?
L444[23:00:49] ⇦
Quits: quadraxis
(~quadraxis@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net)
(Ping timeout: 186 seconds)
L445[23:04:36] <ghz|afk> ah
L446[23:04:40] <ghz|afk> if you want to
pretend there's no lag
L447[23:04:45] <ghz|afk> predict the
result on the client
L448[23:04:56] <ghz|afk> then correct
mis-predictions when the reply from the server comes back
L449[23:05:57] <Ununoctium118> Yeah,
that's my plan... one issue then becomes I have to sync config
between server and client as well
L450[23:06:00] <ghz|afk> as for
capabilities
L451[23:06:05] <ghz|afk> preinit is where
I register them
L452[23:06:07] <Ununoctium118> So the
client can predict accurately
L453[23:06:38] <ghz|afk> heh if that is a
concern (you could just assume the client gets the same
config)
L454[23:06:50] <ghz|afk> you can just send
a custom packet from the user login event
L455[23:07:09] <Ununoctium118> Yeah,
probably will just send a giant "THIS IS ALL THE
CONFIGURATION" packet haha
L456[23:07:26] <ghz|afk> is the config
THAT big?
L457[23:08:25] ⇦
Quits: Dimmerworld (~Dimmerwo@105.81.3.123.sta.dodo.net.au) (Quit:
Leaving)
L458[23:08:43]
⇨ Joins: Dimmerworld
(~Dimmerwo@105.81.3.123.sta.dodo.net.au)
L459[23:08:44] <Ununoctium118> Uh...
what's the limit on a packet size?
L460[23:09:55] <Ununoctium118> It's just a
bunch of doubles now, so it should be 19 entries * 3 doubles per
entry * 8 bytes per double is still less than half a KiB
L461[23:10:26] <ghz|afk> something like
1mb per packet, but forge splits them up if bigger
L462[23:10:51] <ghz|afk> up to like
256mb
L463[23:10:52] <McJty> On recent versions
of forge
L464[23:11:00] <McJty> There was a bug
with that which was fixed recently
L465[23:11:10] <ghz|afk> right
L466[23:12:52] <Ununoctium118> Another
noob question, sorry: how do I attach a new capability to Players?
AttachCapabilitiesEvent::addCapability needs an
ICapabilityProvider, which would normally be... an instance of
EntityPlayer?
L467[23:14:37] <ghz|afk> nono
L468[23:14:48] <ghz|afk> what you attach
are custom ICapabilityProviders
L469[23:14:56] <ghz|afk> that implement
their own getCapability/hasCapability
L470[23:15:06] <ghz|afk> if you want to
store data within the object
L471[23:15:19] <ghz|afk> then you can use
ICapabilitySerializable<nbttype>
L472[23:15:28] ⇦
Quits: McJty
(~jorrit@ptr-9197ufnmvqm1yixgu43.18120a2.ip6.access.telenet.be)
(Quit: Leaving)
L473[23:15:33] <ghz|afk> which is
ICapabilityProvider + INBTSerializable<nbttype>
L475[23:20:53] ⇦
Quits: Dimmerworld (~Dimmerwo@105.81.3.123.sta.dodo.net.au) (Quit:
Leaving)
L476[23:21:01]
⇨ Joins: Dimmerworld
(~Dimmerwo@105.81.3.123.sta.dodo.net.au)
L477[23:23:51] <Ununoctium118> That's a
useful example, thanks for sharing your work
L478[23:24:23] <Ununoctium118> Is there a
reason behind setting the data's EntityPlayer in a static
initializer vs in the constructor?
L479[23:24:53] <ghz|afk> that's actually
an anonymous constructor
L480[23:25:52] <ghz|afk> but yeah, in my
pc, that has changed
L481[23:26:00] <ghz|afk> it's now: final
SpellcastEntityData cap = new SpellcastEntityData(entity);
L482[23:26:12] <ghz|afk> I just haven't
commited those changes yet
L483[23:26:15] <Ordinastie> you know, at
this point you might as well make a static class
L484[23:26:34] <Ununoctium118> Oh geez
it's been too long since I wrote Java, I forgot anonymous classes
could even have members
L485[23:26:39] <Ununoctium118> Let alone
constructors
L486[23:29:11] <Ununoctium118> So you just
give a no-op IStorage to capability registration, and handle it all
by providing an ICapabilitySerializable to the attacher
thing?
L487[23:29:20] <Ununoctium118> *attach
event
L488[23:29:28] <ghz|afk> well that code is
quite old
L489[23:29:42] <ghz|afk> my tastes have
changed a bit since capabilities were introduced
L490[23:29:46] <ghz|afk> originally
L491[23:29:56] <ghz|afk> that code was a
straight port of an IExtendedEntityProperties
L492[23:30:06] <ghz|afk> so I tried very
hard to make it FEEL like the old IEEE
L493[23:30:09] <ghz|afk> IEEP*
L494[23:30:33] <ghz|afk> but since then, I
have been refining my use of capabilities in other mods and
such
L495[23:30:44] <ghz|afk> that said,
IStorage is a weird case
L496[23:30:51] <ghz|afk> the
"official" way to handle it
L497[23:31:01] <ghz|afk> is that a
capability should provide "default instances"
L498[23:31:15] <ghz|afk> that is,
instances of the capability interface, that can be used as a
reference/base implementation
L499[23:31:35] <ghz|afk> and in order to
be able to save/load those default instances, which may be opaque
types
L500[23:31:39] <ghz|afk> you would
use
L501[23:31:44] <ghz|afk> CAP.writeNBT and
CAP.readNBT
L502[23:32:00] <ghz|afk> which are
equivalent of CAP.getStorage().readNBT(CAP, ...)
L503[23:32:06] <ghz|afk> (they are
wrappers)
L504[23:32:18] <ghz|afk> anyhow,
L505[23:32:27] <Ununoctium118> Ah, so that
IStorage is just for the default impl if you have one?
L506[23:32:34] <ghz|afk> that's the
thing
L507[23:32:41] <ghz|afk> officially,
default instances are not an optional feature
L508[23:33:08] <ghz|afk> regardless of the
fact that they are meaningless for capabilities used internally for
adding data to entities
L509[23:33:10] <Ununoctium118> Well, if
you have one that doesn't just no-op everything I suppose
L510[23:33:16] <ghz|afk> so
L511[23:33:25] <ghz|afk> if you choose NOT
to provide default instances
L512[23:33:30] <ghz|afk> then IStorage is
just... meaningless
L513[23:33:44] <ghz|afk> and you may as
well bypass that system and just write/read directly from the
provider
L514[23:33:58] <ghz|afk> it's just not how
it's supposed to be done
L515[23:34:21] <Ununoctium118> Then what's
the point of ICapabilitySerializable?
L516[23:34:44] <ghz|afk> well that's
needed regardless
L517[23:34:51] ⇦
Quits: Dimmerworld (~Dimmerwo@105.81.3.123.sta.dodo.net.au) (Read
error: Connection reset by peer)
L518[23:34:55] <ghz|afk> since
serializeNBT is called when the entity saves
L519[23:35:00] <ghz|afk> and
deserializeNBT when the entity loads
L520[23:35:12] <ghz|afk> so regardless of
if you will call there, CAP.readNBT(the provided tag)
L521[23:35:33]
⇨ Joins: Dimmerworld
(~Dimmerwo@105.81.3.123.sta.dodo.net.au)
L522[23:35:40] <ghz|afk> or you implement
it directly in there
L523[23:35:52] <ghz|afk> you still need
your provider to be serializable
L524[23:37:20] ⇦
Quits: Dimmerworld (~Dimmerwo@105.81.3.123.sta.dodo.net.au) (Client
Quit)
L525[23:37:27] <Ununoctium118> So I guess
I'm still a bit confused about the overall structure of
capabilities. There's an interface which defines the API for it,
and at least one implementation. There's also a provider, which has
a reference to the EntityPlayer or whatever
L526[23:37:37]
⇨ Joins: Dimmerworld
(~Dimmerwo@105.81.3.123.sta.dodo.net.au)
L527[23:37:49] <Ununoctium118> So it can
pass the reference to whatever implementation of that interface you
want
L529[23:38:25] <Ununoctium118> Yeah
L530[23:38:52] <ghz|afk> well then
L531[23:38:58] <ghz|afk> capabilities have
two sides, sortof
L532[23:38:59] <Ununoctium118> Oh, I guess
what I was missing was that the provider would have a reference to
whatever's got the capability
L533[23:39:04] <ghz|afk> one thing are the
capabilities themselves
L534[23:39:11] <ghz|afk> the other are the
things that contain capabilities
L535[23:39:14] <ghz|afk> that is, the
providers
L536[23:39:25] <Ununoctium118> So the
implementation of the capabilities can see that owner
L537[23:39:36] <ghz|afk> when you attach
capabilities, you are given which object you are attaching to
L538[23:39:40] <ghz|afk> but you have to
keep that somewhere
L539[23:39:45] <ghz|afk> if you need to
reference the object later
L540[23:40:48] <Ununoctium118> Yeah, I'm
so used to thinking in C++/Rust land that keeping that reference
didn't seem kosher to me
L541[23:41:09] <Ununoctium118> Garbage
Collectors are truly magical
L542[23:46:27] <Ununoctium118> Thanks for
putting up with my dumb questions
L543[23:50:40] <ghz|afk> np, I woke up in
the middle of the night with a fever and a very painful headache,
and when the ibuprofen started to do it's thing, I had to get out
of bed XD
L544[23:52:08]
⇨ Joins: Neal (~Neal@47.146.41.184)
L545[23:57:11]
⇨ Joins: Hunterz
(~hunterz@2001:af0:8000:1c01:6af7:28ff:fe37:5d6a)