<<Prev
Next>>
Scroll to Bottom
Stuff goes here
L1[00:07:10] ⇦
Quits: Kaiyouka (~IdiotNono@c-75-71-231-133.hsd1.co.comcast.net)
(Ping timeout: 384 seconds)
L2[00:07:26] ⇨
Joins: Hunterz
(~hunterz@2001:af0:8000:1c01:6af7:28ff:fe37:5d6a)
L3[00:12:20] <LexManos> !gm
registerWalkerAdd
L4[00:12:51] <LexManos> !fsm 188255
registerWalker
L5[00:12:59] <LexManos> !gm
registerWalker
L6[00:13:52] <LexManos> !fsm 188255
registerVanillaWalker Do not invoke this method, use registerWalker
instead. It is expected to be removed in future versions.
L7[00:20:33] ⇨
Joins: Davnit (~Davnit@72-189-115-20.res.bhn.net)
L8[00:21:39] ⇦
Quits: Davnit (~Davnit@72-189-115-20.res.bhn.net) (Client
Quit)
L9[00:21:50] ⇨
Joins: AshIndigo_
(~AshIndigo@79-67-168-211.dynamic.dsl.as9105.com)
L10[00:21:58] ⇦
Quits: AshIndigo (~AshIndigo@188.29.165.75.threembb.co.uk) (Quit:
Bye)
L11[00:24:01] ⇨
Joins: Grover_c13
(~Courtney@203-59-199-82.dyn.iinet.net.au)
L12[00:32:52] ⇨
Joins: AshIndigo
(~AshIndigo@188.29.165.75.threembb.co.uk)
L13[00:34:49] ⇦
Quits: AshIndigo_ (~AshIndigo@79-67-168-211.dynamic.dsl.as9105.com)
(Ping timeout: 206 seconds)
L14[00:35:08] ⇦
Quits: barteks2x
(barteks2x@it.is.your.corrupt.we.claim.panicbnc.org) (Ping timeout:
198 seconds)
L15[00:35:44] ⇦
Quits: MrZoidbergMD (Zoidberg@have.i.gone.mad.panicbnc.org) (Ping
timeout: 198 seconds)
L16[00:36:04] ⇦
Quits: Hobbyboy (Hobbyboy@hobbyboy.co.uk) (Ping timeout: 384
seconds)
L17[00:50:25] <pig> tterrag: well, not
really, idk. *shrugs*
L18[00:50:30] <pig> Artillect: just once
till an update
L20[00:52:05] <killjoy> Anyone able to
aid?
L21[01:00:23] ⇨
Joins: MrIbby (~MrIbby@173.85.192.160)
L22[01:00:27] ⇦
Quits: MrIbby (~MrIbby@173.85.192.160) (Remote host closed the
connection)
L23[01:00:33] ⇨
Joins: MrIbby (~MrIbby@173.85.192.160)
L24[01:02:22] ⇨
Joins: Hobbyboy (Hobbyboy@hobbyboy.co.uk)
L25[01:05:16] ⇦
Quits: Upth (~ogmar@108-85-88-44.lightspeed.frokca.sbcglobal.net)
(Ping timeout: 186 seconds)
L26[01:07:12] ⇦
Quits: Zed (~Zed@21.243.7.51.dyn.plus.net) (Remote host closed the
connection)
L27[01:07:32] ⇨
Joins: MrZoidbergMD
(Zoidberg@have.i.gone.mad.panicbnc.org)
L28[01:07:53] ⇨
Joins: Zed (~Zed@21.243.7.51.dyn.plus.net)
L29[01:08:53] ⇨
Joins: Kaiyouka
(~IdiotNono@c-75-71-231-133.hsd1.co.comcast.net)
L30[01:09:55] ⇨
Joins: Upth
(~ogmar@108-85-88-44.lightspeed.frokca.sbcglobal.net)
L31[01:15:07] ⇨
Joins: Hgrebnednav_
(~Hgrebnedn@d8D872A6E.access.telenet.be)
L32[01:16:04] ⇨
Joins: barteks2x
(barteks2x@it.is.your.corrupt.we.claim.panicbnc.org)
L33[01:16:35] ⇨
Joins: Jezza (~Jezza@bps-gw.hrz.tu-chemnitz.de)
L34[01:17:25] ⇦
Quits: MrIbby (~MrIbby@173.85.192.160) (Remote host closed the
connection)
L35[01:20:41] ⇨
Joins: quadraxis
(~quadraxis@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net)
L36[01:29:13] ⇨
Joins: Everseeking
(~Everseeki@pool-100-6-95-214.pitbpa.fios.verizon.net)
L37[01:30:10] ⇨
Joins: MrIbby (~MrIbby@173.85.192.160)
L38[01:34:45] ⇦
Quits: AshIndigo (~AshIndigo@188.29.165.75.threembb.co.uk) (Ping
timeout: 206 seconds)
L39[01:35:25] ⇨
Joins: AshIndigo
(~AshIndigo@188.29.165.169.threembb.co.uk)
L40[01:38:32] ⇦
Quits: Naiten (Naiten@5.143.58.138) (Read error: Connection reset
by peer)
L41[01:39:32] ***
minecreatr is now known as Mine|dreamland
L42[01:41:35] ***
tterrag is now known as tterrag|ZZZzzz
L43[01:43:19] ⇨
Joins: untamemadman
(~untamemad@cpc87177-aztw31-2-0-cust196.18-1.cable.virginm.net)
L44[01:43:31] ⇦
Quits: Brokkoli (~Brokkoli@p2E5B1DD8.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))
L45[01:49:51] ⇦
Quits: Doty1154 (~Doty1154@c-73-189-164-179.hsd1.ca.comcast.net)
(Read error: Connection reset by peer)
L46[01:50:09] ⇨
Joins: Emris (~Miranda@195.234.58.25)
L47[01:51:05] <Ordinastie> !gm
func_180496_d
L48[01:51:23] <Ordinastie> !gm
func_180496_d 1.10.2
L49[01:52:29] <Ordinastie> what can cause
that again ? java.lang.NoClassDefFoundError:
net/minecraft/world/World$2
L50[01:53:22] ⇨
Joins: AstralSorcerer (~AstralSor@128.151.114.215)
L51[01:53:43] ⇨
Joins: Snapples
(uid167569@id-167569.highgate.irccloud.com)
L52[01:54:40] <LexManos> Not using a modern
version of forge
L53[01:55:04] <illy> would anyone be
willing to be a guinea pig for me?
L54[01:55:50] <Ordinastie> nah, he's using
the right forge version
L55[01:56:49] ⇨
Joins: VikeStep (~VikeStep@101.184.229.226)
L56[01:56:50] <Ordinastie> I guess $2 is
the anonymous crash report, so that probably means the crash report
is hiding the real crash
L57[01:57:10] <AshIndigo> $2 would be a sub
class right?
L58[01:57:54] <Ordinastie> *inner
L59[01:58:17] <LexManos> Not using a modern
version of forge
L60[01:58:28] <LexManos> Modern versions of
Forge pre-allocate crash report classes
L61[01:58:33] <LexManos> $2 being one of
them
L62[01:59:10] <Ordinastie> FML: MCP 9.32
Powered by Forge 12.18.2.2151 6 mods loaded, 6 mods active
L63[02:00:01] <LexManos> should preload the
classes
L64[02:00:03] <MCPBot_Reborn> [TEST CSV]
Pushing snapshot_20161128 mappings to Forge Maven.
L65[02:00:03] <LexManos> check the
log
L66[02:00:07] <MCPBot_Reborn> [TEST CSV]
Maven upload successful for mcp_snapshot-20161128-1.11.zip
(mappings = "snapshot_20161128" in build.gradle).
L67[02:00:17] <MCPBot_Reborn> Semi-live
(every 10 min), Snapshot (daily ~3:00 EST), and Stable (committed)
MCPBot mapping exports can be found here:
http://export.mcpbot.bspk.rs/
L68[02:01:04] <Ordinastie> I only have a
crash log currently, but I expect a full log to show exactly what
went wrong
L69[02:01:42] <Ordinastie> I have a feeling
about some stackoverflow
L70[02:01:48] <Ordinastie> I'll see
L71[02:04:03] ⇨
Joins: Davnit (~Davnit@72-189-115-20.res.bhn.net)
L72[02:05:36] <illy> note to self do not
upload file via VM >.>
L73[02:05:49] <illy> s/file/files/
L74[02:09:00] ⇦
Quits: Chais (~Chais@62-178-210-212.cable.dynamic.surfer.at) (Read
error: Connection reset by peer)
L75[02:10:14] ⇦
Quits: jackmcbarn (jackmcbarn@gateway.insomnia247.nl) (Ping
timeout: 192 seconds)
L76[02:10:34] ⇨
Joins: Chais (~Chais@62.178.210.212)
L77[02:11:08] ⇦
Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 198
seconds)
L78[02:12:32] ⇨
Joins: jackmcbarn (jackmcbarn@gateway.insomnia247.nl)
L79[02:14:57] ⇨
Joins: Larry1123 (Larry1123@irc.larry1123.net)
L80[02:19:24] ⇦
Quits: Upthorn
(~ogmar@108-85-88-44.lightspeed.frokca.sbcglobal.net) (Ping
timeout: 186 seconds)
L81[02:19:31] ⇦
Quits: Hgrebnednav_ (~Hgrebnedn@d8D872A6E.access.telenet.be) (Read
error: Connection reset by peer)
L82[02:19:48] ⇨
Joins: Hgrebnednav_
(~Hgrebnedn@d8D872A6E.access.telenet.be)
L83[02:28:24] ⇦
Quits: Gil (uid147942@id-147942.brockwell.irccloud.com) (Quit:
Connection closed for inactivity)
L84[02:33:33] ⇦
Quits: MrIbby (~MrIbby@173.85.192.160) (Remote host closed the
connection)
L85[02:33:42] ⇦
Quits: blood_ (unknown@ool-4574115b.dyn.optonline.net)
()
L86[02:40:35] ⇦
Quits: Yato (~ya.to@2604:a880:800:10::11b6:7001) (Quit: I'm going
to a better place.)
L87[02:41:11] ⇨
Joins: Yato (~po.yay.to@45.55.141.36)
L88[02:47:44] ⇦
Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 198
seconds)
L89[02:54:14] ⇨
Joins: Larry1123 (Larry1123@irc.larry1123.net)
L90[02:54:39] *** illy
is now known as illy[Zzz]
L91[03:04:32] ⇦
Quits: immibis (~chatzilla@122-59-201-170.jetstream.xtra.co.nz)
(Ping timeout: 198 seconds)
L92[03:06:20] ⇦
Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 198
seconds)
L93[03:06:31] <killjoy> I got my old boss
for secret santa. He wants "polo, polo, more polo"
L94[03:06:32] ⇦
Quits: Hunterz (~hunterz@2001:af0:8000:1c01:6af7:28ff:fe37:5d6a)
(Remote host closed the connection)
L96[03:06:57] <killjoy> crap, $100
L97[03:07:11] <AshIndigo> Start a
kickstarter
L98[03:07:21] <killjoy> I'll buy the
rider
L100[03:07:28] ⇦
Quits: Meronat (uid190493@id-190493.highgate.irccloud.com) (Quit:
Connection closed for inactivity)
L101[03:07:33] <killjoy> It's only
$17
L102[03:08:50] <killjoy> I kind of want to
do what he got last year.
L103[03:08:55] <Grover_c13> hmmm
L104[03:08:56] *
AshIndigo completely forgot how to do multithreading
L105[03:09:08] <Grover_c13> anyone know
how to get the texture of a block
L106[03:09:08] <killjoy> He wanted a
porche, so someone got him an RC
L107[03:12:39] <Akkarin> Grover_c13:
Depends on what you need actually. For rendering block textures are
stitched
L108[03:12:49] <Grover_c13> hmmm
L109[03:12:54] <Grover_c13> so ill need
the texture coords
L110[03:13:06] <killjoy> Why do you need
the texture?
L111[03:13:10] <Akkarin> not necessarily
unless you want to roll your own rendering and at that point it
gets painful
L112[03:13:21] <Grover_c13> i do want to
do that
L113[03:13:36] <Grover_c13> kind of need
to
L114[03:13:45] <killjoy> what are you
doing?
L115[03:13:54] <Akkarin> generally you
should be dealing with BlockRendererDispatcher if you wish to
render a block of sorts
L116[03:14:04] <Grover_c13> hmmm
L117[03:14:44] <Ordinastie> Grover_c13,
you can't really get the texture for block
L118[03:15:04] <killjoy> use a model
L119[03:15:06] <Ordinastie> the only thing
you can access is the the texture for the particles
L120[03:15:22] <Grover_c13> the rendering
engine at some point must map the block to a texture?
L121[03:15:40] <Ordinastie> no, you can
have multiple textures for one block
L122[03:15:45] <quadraxis> quads are
mapped to textures
L123[03:15:50] <Akkarin> Rendering is
somewhat more complex at this point
L124[03:15:52] <killjoy> You haven't
explained why you want to do this difficult thing.
L125[03:16:00] <Akkarin> different from
what MC originally used to do that is
L126[03:16:17] <Grover_c13> @killjoy
L128[03:16:47] <Grover_c13> the cows in
the background
L129[03:16:55] <Grover_c13> i want to
replace with a special kind of entity thats made up of blocks
L130[03:16:59] <Grover_c13> like a block
structure
L131[03:17:03] <Grover_c13> and render
it
L132[03:17:11] <Ordinastie> then render
the models directlu
L133[03:17:31] <killjoy> block_falling
renders blocks
L134[03:17:33] <Grover_c13> the models are
dynamic
L135[03:17:42]
⇨ Joins: Larry1123 (Larry1123@irc.larry1123.net)
L136[03:17:43] <Grover_c13> true i might
look at the code for that
L137[03:17:43] <Akkarin> or use
BlockRendererDispatcher as I suggested
L138[03:17:54] <Akkarin> I use something
similar for my anti-gravity nonsense
L139[03:17:57] <Grover_c13> ty the
dispatcher looks helpful
L140[03:18:03] <Ordinastie> closest thing
you can get is the breaking particle texture
L141[03:18:13] <Ordinastie> but there is
no guarantee there is one
L142[03:18:17] <killjoy> That's why I love
this channel
L143[03:18:28] <killjoy> Someone asks how
to do something they shouldn't without telling us why they need
to.
L144[03:18:31] <Akkarin> well it suffices
for him to just render the object itself (since well blocks aren't
just cubes at this point)
L145[03:18:42] <killjoy> They eventually
tell us why, then we send them off to do something else to achieve
the same result.
L146[03:18:50] <Akkarin> killjoy: The use
case isn't really relevant for the implementation in most cases
though?
L147[03:19:07] <Grover_c13> yeah i agree
with akkarin :P
L148[03:19:08] <killjoy> eh
L149[03:19:09]
⇨ Joins: immibis
(~chatzilla@122-61-224-36.jetstream.xtra.co.nz)
L150[03:19:18] <Grover_c13> also this is a
better video
L152[03:19:20] <Grover_c13> last one was
older
L153[03:19:23] <Akkarin> in this case
"I want to render a certain block" suffices to push
somebody in the right direction
L154[03:19:24] <killjoy> don't just do an
implementation because you can.
L155[03:19:36] <killjoy> there's usually
simpler ways to do it.
L156[03:19:54] <Akkarin> ?
L157[03:20:16] <killjoy> he was asking a
question about implementation, not use case
L158[03:20:55] ⇦
Quits: Everseeking
(~Everseeki@pool-100-6-95-214.pitbpa.fios.verizon.net) (Read error:
Connection reset by peer)
L159[03:20:56] <Akkarin> Well you were
raging about him lacking information on the use case
L160[03:21:07] <killjoy> raging?
L161[03:21:11] <Akkarin> in order to find
the best method of implementation
L162[03:21:13] <killjoy> just a sec, let
me read this log
L163[03:21:16] <Akkarin> -.-
L164[03:21:27] <Akkarin> somebody is
certainly a fan of nitpicking and semantics
L165[03:21:46] <killjoy> is this before or
after we solved his problem?
L166[03:22:52] <killjoy> w/e
L167[03:27:47] <sham1> Of course we are
fans of nitpicking and semantics, we are programmers after
all
L168[03:28:08] <killjoy> I was only
reviewing the log so I wouldn't get caught in a lie
L169[03:28:14] <killjoy> or something like
that
L170[03:28:33] <killjoy> s/in a
lie/contradicting myself
L171[03:29:13] ⇦
Quits: killjoy
(~killjoy@cpe-2606-A000-1118-C091-28B8-AA7D-8345-48AD.dyn6.twc.com)
(Read error: Connection reset by peer)
L172[03:30:12] <Grover_c13>
BlockRenderDispatcher looks perfect
L173[03:30:47] <Grover_c13> should be able
to rotate the block to arbitrary angles easily enough with it
too
L174[03:30:51] <Grover_c13> thanks heaps
Akkarin
L175[03:31:03] <Akkarin> :)
L176[03:34:34] ⇦
Quits: AstralSorcerer (~AstralSor@128.151.114.215) (Ping timeout:
384 seconds)
L177[03:50:54] ***
Keridos|away is now known as Keridos
L178[03:52:31]
⇨ Joins: Noppes
(~Noppes@ip56530f2e.direct-adsl.nl)
L179[03:56:40] <Keridos> oh boy the
vanilla glass pane jsons are weird
L180[04:21:52] ***
MrKick|Away is now known as MrKickkiller
L181[04:22:24]
⇨ Joins: Davnit_
(~Davnit@72-189-115-20.res.bhn.net)
L182[04:23:44] ⇦
Quits: Davnit (~Davnit@72-189-115-20.res.bhn.net) (Ping timeout:
198 seconds)
L183[04:24:01] ***
Davnit_ is now known as Davnit
L184[04:28:52]
⇨ Joins: Naiten (Naiten@77.35.173.0)
L185[04:31:08] ⇦
Quits: smbarbour (~smbarbour@c-73-211-171-154.hsd1.il.comcast.net)
(Ping timeout: 186 seconds)
L186[04:32:06]
⇨ Joins: Hunterz
(~hunterz@2001:af0:8000:1c01:6af7:28ff:fe37:5d6a)
L187[04:33:54]
⇨ Joins: smbarbour
(~smbarbour@c-73-211-171-154.hsd1.il.comcast.net)
L188[04:47:08]
⇨ Joins: nallar
(~nallar@cpc16-cani3-2-0-cust33.14-2.cable.virginm.net)
L189[04:48:07] ⇦
Quits: nallar
(~nallar@cpc16-cani3-2-0-cust33.14-2.cable.virginm.net) (Quit: ZNC
- http://znc.in)
L190[04:50:50]
⇨ Joins: nallar
(~nallar@cpc16-cani3-2-0-cust33.14-2.cable.virginm.net)
L191[05:04:02] ⇦
Quits: FusionLord (~FusionLor@2600:8800:1:e900:7537:595d:983e:4b3c)
(Ping timeout: 206 seconds)
L192[05:06:32] ***
AshIndigo is now known as Ash-Afk
L193[05:11:17]
⇨ Joins: Koward
(~Koward@2a02:2788:7d4:4dd:c8c6:3def:80d3:46a7)
L194[05:12:45] ⇦
Quits: immibis (~chatzilla@122-61-224-36.jetstream.xtra.co.nz)
(Remote host closed the connection)
L195[05:14:54]
⇨ Joins: npe|office
(~NPExcepti@bps-gw.hrz.tu-chemnitz.de)
L196[05:21:48] ⇦
Quits: Davnit (~Davnit@72-189-115-20.res.bhn.net) (Read error:
Connection reset by peer)
L197[05:23:24]
⇨ Joins: Davnit
(~Davnit@72-189-115-20.res.bhn.net)
L198[05:40:36] ***
Keridos is now known as Keridos|away
L199[05:40:56] ⇦
Quits: Delaxarnyazer
(~Delaxarny@2a02:a44e:91ce:0:80dc:7855:5421:3308) (Ping timeout:
384 seconds)
L200[05:50:34] ⇦
Quits: Koward (~Koward@2a02:2788:7d4:4dd:c8c6:3def:80d3:46a7) (Ping
timeout: 384 seconds)
L201[05:52:29]
⇨ Joins: Necro
(~Necro@p200300700D6416C808F51CF87C5ADC25.dip0.t-ipconnect.de)
L202[05:57:31]
⇨ Joins: MalkContent
(~MalkConte@p4fdce45c.dip0.t-ipconnect.de)
L203[06:13:52] ⇦
Quits: MalkContent (~MalkConte@p4fdce45c.dip0.t-ipconnect.de)
(Quit: Leaving)
L204[06:19:33] ***
Ash-Afk is now known as AshIndigo
L205[06:27:28]
⇨ Joins: Cast0077
(~Cast0077@24-181-179-41.dhcp.nwtn.ct.charter.com)
L206[06:33:28]
⇨ Joins: Inusua1Z
(~InusualZ@adsl-72-50-86-114.prtc.net)
L207[06:35:52] ⇦
Quits: Inusua1Z_ (~InusualZ@adsl-64-237-232-251.prtc.net) (Ping
timeout: 206 seconds)
L208[06:36:20] ⇦
Quits: Cast0077 (~Cast0077@24-181-179-41.dhcp.nwtn.ct.charter.com)
(Ping timeout: 198 seconds)
L209[06:38:14]
⇨ Joins: Cast0077
(~Cast0077@24-181-179-41.dhcp.nwtn.ct.charter.com)
L210[06:42:58]
⇨ Joins: Technicianlp
(~Technicia@pD9F607C7.dip0.t-ipconnect.de)
L211[06:44:36]
⇨ Joins: Umbraco
(~Umbraco@113x37x12x233.ap113.ftth.ucom.ne.jp)
L212[06:44:55] ⇦
Quits: Technicianlp (~Technicia@pD9F607C7.dip0.t-ipconnect.de)
(Client Quit)
L213[06:48:34] ***
PaleOff is now known as PaleoCrafter
L214[06:50:49] <masa> do custom dimension
need to be registered on the client side? or is there something I
need to do for them to work?
L215[06:51:21] <masa> currently I can't
connect to my testing server anymore after I teleported to a custom
dimension
L216[06:51:40] <masa> the client console
get flooded with NPEs from a time update packet handler
L217[06:52:16] <masa> not sure what is
null there, I'm suspecting the client world
L218[06:54:42] ⇦
Quits: Gaz (~Gaz492@wolf.ski) (Quit: Fucking Mice and ethernet
cables)
L219[06:57:01]
⇨ Joins: Gaz (~Gaz492@217.ip-193-70-0.eu)
L220[06:59:35]
⇨ Joins: KGS
(~KGS@h-155-4-129-249.na.cust.bahnhof.se)
L221[07:05:10] <masa> okay this is
strange... I set up a dedi server in my dev environment and tried
this there, and that too spams errors like crazy, but there are
different kinds of network packet related errors
L222[07:06:03]
⇨ Joins: Inusua1Z_
(~InusualZ@adsl-72-50-85-56.prtc.net)
L223[07:06:10] <barteks2x> It's definitely
possible to create custom dimension without client mod (I think
sponge plugins can do that), but I don't think it's by
default
L224[07:07:09] <masa> hmm, I don't
understand what I'm doing wrong, or not doing...
L225[07:07:30] <masa> this mod is supposed
to be a simple custom dimensions registration mod on the server
side
L226[07:07:37] <Umbraco> is there any way
to selectively reload resources only from my own mod using F3+T or
other?
L227[07:07:41] <masa> but when I teleport
to a custom dimension, all hell breaks loose
L228[07:07:44] <barteks2x> Maybe send
crash log?
L229[07:07:52] <masa> and this worked
perfectly fine in single player...
L230[07:07:59] <barteks2x> It's hard to
see what could be wrong without that
L231[07:08:15] ⇦
Quits: Inusua1Z (~InusualZ@adsl-72-50-86-114.prtc.net) (Ping
timeout: 206 seconds)
L232[07:08:17] <masa> well this log makes
no sense whatsoever
L233[07:08:26] <barteks2x> it could still
be useful
L234[07:08:32] <masa> it spams shit to the
console as fast as it can, so it overflows within a second
L235[07:08:43] <barteks2x> so send one of
them
L236[07:08:53] <barteks2x> of of the
exceptions
L237[07:08:54] <masa> it's multiple types
of NPEs in different packet handlers
L238[07:09:05] <barteks2x> so find the
first one
L239[07:09:15] <barteks2x> I guess the
next one are just caused by the first error
L240[07:10:25] <masa> "find the first
one"?
L241[07:11:06] <barteks2x> in
fml-(client/server)-latest.log
L242[07:11:25] <barteks2x> something
should be the first one that appears
L243[07:14:08] <masa> aha, "Could not
get provider type for dimension 11, does not exist" and then
all hell breaks loose
L244[07:14:27] <masa> so how can I do this
with a server-side-only mod?
L245[07:14:41]
⇨ Joins: MalkContent (~MalkConte@79.220.228.92)
L246[07:14:55] <barteks2x> I don't know
how sponge does it
L247[07:15:11] <barteks2x> They probably
make sure that only vanilla dimension IDs are sent to client
L248[07:15:15] <masa> are they just
spoofing the id in some packets...?
L249[07:15:36] <barteks2x> It's
SPacketRespawn
L250[07:15:46] <barteks2x> this one has
dimension ID
L251[07:15:59] <barteks2x> It may not be
even possible with forge
L252[07:16:06] <barteks2x> (at least not
without hacks)
L253[07:17:48] <barteks2x> I only know
they do it becuas ethere are plugins that add new
worlds/dimensions
L254[07:19:15] <masa> yeah...
L255[07:19:36] <masa> hmm, so how does
RFTools or Mystcraft etc do this... to the githubs!
L256[07:19:57] <masa> they probably sync a
dimension id to the client at some point
L257[07:20:03] <masa> and register
it
L258[07:20:08] ⇦
Quits: KGS (~KGS@h-155-4-129-249.na.cust.bahnhof.se) (Ping timeout:
198 seconds)
L259[07:21:10] <barteks2x> so you want
custom dimension at all or custom dimension without client
mod?
L260[07:21:16] ⇦
Quits: Grover_c13 (~Courtney@203-59-199-82.dyn.iinet.net.au) (Ping
timeout: 186 seconds)
L261[07:21:35] <barteks2x> I thought you
are talking about custom dimension without client mod
L262[07:21:54] <barteks2x> " do
custom dimension need to be registered on the client side? or is
there something I need to do for them to work?" that was the
initial question
L263[07:22:20] <masa> well I'd prefer not
to need the mod on the client, but it doesn't really matter that
much I guess
L265[07:22:59] <barteks2x> if you don't
want client mod, why not just make it a plugin?
L266[07:24:20] <masa> meh
L267[07:24:59] <barteks2x> so not possible
with forge, unl;ess someone writes PR to make it possible
L268[07:25:24] <barteks2x> with forge you
need client mod
L269[07:26:08] ⇦
Quits: Inusua1Z_ (~InusualZ@adsl-72-50-85-56.prtc.net) (Ping
timeout: 206 seconds)
L270[07:28:42] <masa> yeah I'll just have
to live with it
L271[07:29:10] <masa> what would be the
best event to send the dimension info for registration on the
client?
L272[07:30:13] <barteks2x> what... why do
you want send information about dimensions to client?
L273[07:30:51] <barteks2x> oh, somethig
like what mystcraft does?
L274[07:31:14] <masa> well I mean, how
else am I going to register the dimensions on the client when they
join the server?
L275[07:31:45] <barteks2x> then client
would need a mod. The mod would generally register all dimension it
adds when it loads
L276[07:31:52] <masa> the point of this
mod is that you can add custom dimensions to the server via a json
config and then just throw the DIM directories in place
L277[07:32:03] <barteks2x> Unless you
dynamically add dimensions like mystcraft
L278[07:32:17] <masa> this is dynamic from
the client's point of view yes
L279[07:33:23] ⇦
Quits: Subaraki
(~Artix@mf763-h01-176-150-102-154.dsl.sta.abo.bbox.fr) (Ping
timeout: 206 seconds)
L281[07:34:38] <barteks2x> untamemadman,
did it start crashing after adding specific mods?
L282[07:35:12] <barteks2x> about these
dimensions, not sure then I don't know how these mods do that
L283[07:35:21] <untamemadman> No, it
started crashing after a restart, nothing had been changed
L284[07:35:22] ⇦
Quits: Gaz (~Gaz492@217.ip-193-70-0.eu) (Quit: Fucking Mice and
ethernet cables)
L285[07:36:05] <masa> does it crash every
time now?
L286[07:36:20] <untamemadman> Yes, it just
crashes on boot
L287[07:36:42] <barteks2x> did you stop
the server with stop command or differently?
L288[07:36:58] <untamemadman> I use
MultiCraft for automatic restartes
L289[07:38:09] <untamemadman> It seems the
server loads then seconds later it crashes (not when player
joins)
L290[07:40:24]
⇨ Joins: AforAnonymous
(bitch2k@dyn-051-159.vix2.mmc.at)
L291[07:40:31] <barteks2x> it seems like
it crashes when updating entities
L292[07:41:29] <untamemadman> yeah, but I
have no idea how to solve this. I have tried using MCEdit to remove
entities but it still has the same crash
L293[07:42:34] <barteks2x> correction,
it's time entities
L294[07:42:37] <barteks2x> *tile
L295[07:43:24] <untamemadman> Can you see
where the tile entity is?
L296[07:44:12] <barteks2x> no because it
doesn't crash directly. Something causes tile entity to be removed
while they are bging ticked which crashes when server tries to tick
the next one. At leats that's the only explanation I cam e up
with
L297[07:44:35] <barteks2x> but if it
happens with no players around, it's either spawn area or something
that is chunkloaders
L298[07:44:41] <barteks2x>
*chunkloaded
L299[07:44:51] ⇦
Quits: Hunterz (~hunterz@2001:af0:8000:1c01:6af7:28ff:fe37:5d6a)
(Quit: Leaving.)
L300[07:46:36] <barteks2x> lines of code
don't match up with what I have but that's the only place that uses
iterator
L301[07:47:30] <barteks2x> does it show
some error before the crash?
L302[07:48:07] <untamemadman> I don't
think so but I'll upload my full log and paste it incase I missed
something
L304[07:51:29] ⇦
Quits: npe|office (~NPExcepti@bps-gw.hrz.tu-chemnitz.de) (Remote
host closed the connection)
L305[07:53:40] <barteks2x> that log
doesn't contain the crash at all
L306[07:54:00] <barteks2x> the server
just... stops
L307[07:54:28] <untamemadman> Yeah, its
really weird
L308[07:57:39] ***
PaleoCrafter is now known as PaleOff
L309[07:58:26] <barteks2x> based on that
log it looks like normal shutdown, how did you get the crash log
then?
L310[07:59:33] <untamemadman> Because the
crash log generates cus the server clearly crashes
L311[07:59:39] <untamemadman> idek
L312[07:59:48] <barteks2x> it's server log
right? "[13:00:07] [main/INFO] [LaunchWrapper/]: Calling tweak
class optifine.OptiFineForgeTweaker"
L313[07:59:59] <barteks2x> I don't think
optifine works on server
L314[08:00:56] <untamemadman> Well the
server has been fine for over a month before this crash
L315[08:01:36] <barteks2x> no idea how it
works with optifine, but I've never even tried to run it on
server
L316[08:02:06] <untamemadman> It might not
do anything. It might check side and not run any other code.
idk
L317[08:02:33] <barteks2x> did you try
removing it? (and backup the world obviously)
L318[08:03:36] ⇦
Quits: VikeStep (~VikeStep@101.184.229.226) (Read error: Connection
reset by peer)
L319[08:03:55] <untamemadman> I will
remove it and see
L320[08:06:07] ***
amadornes[OFF] is now known as amadornes
L321[08:08:11] <untamemadman> It still
crashed. I don't think optifine makes a difference, unless its some
performance stuff
L322[08:13:49] <barteks2x> as I said, the
fml-server-latest.log fiel didn't contain the crash
L323[08:14:00] <barteks2x> so no idea how
you got the first log
L324[08:20:57] ⇦
Quits: Umbraco (~Umbraco@113x37x12x233.ap113.ftth.ucom.ne.jp)
()
L325[08:23:32]
⇨ Joins: edr
(~edr@d-65-175-180-73.cpe.metrocast.net)
L327[08:36:08] ⇦
Parts: Cast0077 (~Cast0077@24-181-179-41.dhcp.nwtn.ct.charter.com)
())
L328[08:36:27]
⇨ Joins: IceDragon (~ThatGuy@184.170.49.114)
L329[08:37:12] <barteks2x> it's all one
line...
L330[08:37:19] <barteks2x> how am I
supposed to read it?
L331[08:39:18] <AshIndigo> You don't
try?
L332[08:45:17] ***
Vigaro|AFK is now known as Vigaro
L333[08:47:52] <masa> yay it works now
\o/
L336[08:48:39] <masa> I stole some code
from RFToolsDimensions, because apparently it needs to use
something more complex than the SimpleNetworkWrapper to send data
that early on(?)
L337[08:49:44] <barteks2x> that's
essentially the same thing just without the bug verbose crash
report
L338[08:50:31]
⇨ Joins: Grover_c13
(~Courtney@203-59-199-82.dyn.iinet.net.au)
L339[08:51:28] <untamemadman> Thats what
came up in the MultiCraft log, as it wasn't in the
fml-server-latest.log
L340[08:51:35] <Grover_c13> block
positions
L341[08:51:42] <Grover_c13> should be
based off the corner right
L342[08:51:47] <Grover_c13> not the
center
L343[08:52:43] <Grover_c13> so that x y z
and ints
L345[08:54:19] <Grover_c13> can not work
out these gaps
L346[08:54:24] <Grover_c13> all the block
pos are increments of 1
L347[08:54:26] <Grover_c13> :|
L348[08:55:57] <tterrag|ZZZzzz>
Grover_c13, show code
L349[08:56:06] ***
tterrag|ZZZzzz is now known as tterrag|laptop
L350[08:57:08] <Grover_c13> its kind of
split over 3 places
L351[08:57:13] <Grover_c13> this is
directly rendering blocks
L352[08:57:19] <Grover_c13> ill
pastebin
L353[08:57:36] <tterrag|laptop> also,
explain your problem a bit clearer
L354[08:58:32] <Grover_c13> im making a
sort of space kind of mod
L355[08:58:39] <Grover_c13> and in this
mod i have "block" structures
L356[08:58:44] <Grover_c13> that are yeah
kind of like chunks
L357[08:58:52] <Grover_c13> that are
rendered so they can rotate and stuff
L358[08:59:02] <Grover_c13> kind of like
my own entity system while in space
L360[08:59:41] <Grover_c13> where
currently the hashmap of blocks is a 8 x 8 x 8 stone cube
L361[08:59:45] <tterrag|laptop> what are
px and x?
L362[08:59:55] <Grover_c13> player x and
"space" x
L363[08:59:58] <Grover_c13> space x is
static right now
L364[09:00:00] <Grover_c13> to 10
L365[09:00:53] <tterrag|laptop> I wouldn't
bother passing the proper pos into the model renderer
L366[09:01:06] ***
Keridos|away is now known as Keridos
L367[09:01:13] <tterrag|laptop> I need a
bit more context though
L368[09:01:26] <Grover_c13> actually think
i found the issue
L369[09:01:27] <Grover_c13>
lx:-15.207579532770254 ly:-3.0lz:-6.737683375145059
L370[09:01:31] <Grover_c13> need the be
round numbers right
L371[09:01:43] <Grover_c13> i imagine its
either flooring or ceiling them somewhere
L372[09:01:52] <Grover_c13> down the
track
L373[09:02:15] <Grover_c13> oh wait no
sorry derp
L374[09:02:19] <Grover_c13> thats the
translate position
L375[09:02:22] <Grover_c13> not the block
pos
L376[09:02:59] <Grover_c13> i tried not
passing the proper position
L377[09:03:02] <Grover_c13> but yeah no
luck
L378[09:03:10] <Grover_c13> prob because
im doing this stuff after world render
L379[09:04:00] <tterrag|laptop> you're
doing a lot of unnecessary matrix manipulation
L380[09:04:10] <tterrag|laptop> px and x
never change in the loop, so extract that translation outside
L381[09:04:46] <tterrag|laptop> but again,
I need more context
L382[09:04:47] <Grover_c13> oh yes youre
right
L383[09:04:58] <Grover_c13> i should push
before the loop and pop afterwards too right
L384[09:07:00] <Grover_c13> alright
so
L386[09:07:21] <Grover_c13> which is just
yeah 3 loops
L387[09:07:25] <Grover_c13> each going up
by 1
L388[09:07:32] <Ordinastie> (you should
name your loop var entry, not set)
L389[09:07:42] <Grover_c13> yeah :P
L390[09:07:43] <Grover_c13> shh
L391[09:07:45] <Grover_c13> clean up
later
L392[09:07:50]
⇨ Joins: Cast0077
(~Cast0077@24-151-68-108.dhcp.nwtn.ct.charter.com)
L393[09:08:01] <Ordinastie> and if you
really want to be smart
L394[09:08:09] <Ordinastie> don't use a
map
L395[09:08:21] <Ordinastie> or rather,
don't expose a map
L396[09:08:31] <Ordinastie> expose
IBlockAccess
L397[09:08:53] <tterrag|laptop> I'd agree
there
L398[09:08:58] <tterrag|laptop> you are
simulating a chunk, so do it properly
L399[09:09:00] <Ordinastie> so you can
render the states directly
L400[09:09:12] <tterrag|laptop> added
benefit of states interacting with each other
L401[09:09:18] <Ordinastie> and let
vanilla handle everything
L402[09:09:19] <tterrag|laptop> i.e.
connected textures, connected models
L403[09:09:23] <Grover_c13> hmm
L404[09:09:30] <Ordinastie> TEs
eventually
L405[09:09:44] <Grover_c13> so currently
my space structure is implementing the IBlockAccess interface
L406[09:09:51]
⇨ Joins: Subaraki
(~Artix@mf763-h01-176-150-102-154.dsl.sta.abo.bbox.fr)
L407[09:09:53] <Grover_c13> and im feeding
it back to the Block Model Render
L409[09:10:35] <Ordinastie> ah
"this"
L410[09:11:12] <Ordinastie> looks like he
already does it
L411[09:12:10] ⇦
Quits: Naiten (Naiten@77.35.173.0) (Read error: Connection reset by
peer)
L412[09:12:10] <Grover_c13> yeah needed to
since these things can exist in multiple worlds at the same
time
L413[09:12:10] <Grover_c13> well they are
going to <_<
L414[09:12:10] <Grover_c13>
eventually
L415[09:12:10] <tterrag|laptop>
Grover_c13, you're going too low-level for rendering. don't do
renderModelSmooth just call BRD.renderBlock
L416[09:12:14]
⇨ Joins: Seppon
(~Noppes@ip56530f2e.direct-adsl.nl)
L417[09:12:15] <tterrag|laptop>
renderModelSmooth ignores world context
L418[09:12:15] <Grover_c13> i was doing
that but just could not get it to work
L419[09:12:22]
⇨ Joins: sinkillerj
(~sinkiller@nc-67-232-15-221.dhcp.embarqhsd.net)
L420[09:12:24]
⇨ Joins: SeargeDP
(~Searge@c83-250-150-134.bredband.comhem.se)
L422[09:12:28] <Grover_c13> might have
another try at it tomorrow
L423[09:12:35] <tterrag|laptop> that's all
I do
L424[09:12:45] <tterrag|laptop> note that
doing that method will offset by the world pos
L425[09:12:52] <Grover_c13> hmm
L426[09:13:08] <tterrag|laptop> I never
gltranslate by blockpos
L427[09:13:20] <tterrag|laptop> it's all
stored into the VB as absolute positions
L428[09:13:44]
⇨ Joins: manmaed (~Ender@176.24.62.116)
L429[09:13:55]
⇨ Joins: Lunatrius` (~Lunatrius@77.38.21.26)
L430[09:16:03] <Grover_c13> ty
tterrag
L431[09:16:10] <Grover_c13> have
bookmarked and will mess around with tomorrow
L432[09:16:24] <Grover_c13> also just out
of curiosity do you know what the getStrongPower is?
L433[09:16:36] <Ordinastie> it's for
redstone current
L434[09:16:39] <Grover_c13> ah
L435[09:16:55]
⇨ Joins: Upthorn
(~ogmar@108-85-88-44.lightspeed.frokca.sbcglobal.net)
L437[09:17:13] <tterrag|laptop> yeah, for
redstone, I just ignore it
L438[09:17:58] ⇦
Quits: Noppes (~Noppes@ip56530f2e.direct-adsl.nl) (Ping timeout:
384 seconds)
L439[09:17:58] ⇦
Quits: Texelsaur (~jaquadro@c-71-192-29-96.hsd1.ma.comcast.net)
(Ping timeout: 384 seconds)
L440[09:17:58] ⇦
Quits: Actuarius (~Actuarius@195.91.246.187) (Ping timeout: 384
seconds)
L441[09:17:58] ⇦
Quits: Lunatrius (~Lunatrius@77.38.21.26) (Ping timeout: 384
seconds)
L442[09:17:58] ⇦
Quits: Searge (~Searge@c83-250-150-134.bredband.comhem.se) (Ping
timeout: 384 seconds)
L443[09:17:58] ***
Lunatrius` is now known as Lunatrius
L444[09:18:04] <Grover_c13> return
0xF000F0;
L445[09:18:10] <Grover_c13> and thats why
my things are so dim
L446[09:18:16] <Grover_c13> just thought
it was like 1-15
L447[09:18:23] <Grover_c13> makes much
more sense its an RGB colour
L448[09:18:23]
⇨ Joins: Actuarius (~Actuarius@195.91.246.187)
L449[09:18:23]
MineBot sets mode: +v on Actuarius
L450[09:18:39] <Grover_c13> anyway ty
again
L451[09:18:39] <Grover_c13> night
L452[09:19:42] <tterrag|laptop> yeah no
block light is packed
L453[09:19:45] ***
TTFT|Away is now known as TTFTCUTS
L454[09:20:08] <tterrag|laptop>
night
L455[09:27:04] <AshIndigo> Night
L456[09:28:09] ⇦
Quits: Cast0077 (~Cast0077@24-151-68-108.dhcp.nwtn.ct.charter.com)
(Quit: Poof)
L457[09:35:52] ***
Vigaro is now known as Vigaro|AFK
L458[09:39:36] ⇦
Quits: blood|wrk (~owned@STATIC228.iona.edu) ()
L459[09:46:52] ⇦
Quits: samschaap (~samschaap@5469bf1f.cm-12-2c.dynamic.ziggo.nl)
(Ping timeout: 186 seconds)
L460[09:49:56]
⇨ Joins: RichardG_ (~richardg8@201.37.255.130)
L461[09:49:56]
MineBot sets mode: +v on RichardG_
L462[09:52:06] ⇦
Quits: RichardG (~richardg8@201.37.255.130) (Ping timeout: 206
seconds)
L463[09:52:29] ⇦
Quits: Jezza (~Jezza@bps-gw.hrz.tu-chemnitz.de) (Remote host closed
the connection)
L464[09:53:45]
⇨ Joins: samschaap
(~samschaap@5469BF1F.cm-12-2c.dynamic.ziggo.nl)
L465[09:54:35] ***
RichardG_ is now known as RichardG
L466[09:55:21]
⇨ Joins: Hunterz (~hunterz@62.182.234.189)
L467[09:56:43] ***
PaleOff is now known as PaleoCrafter
L468[09:57:20]
⇨ Joins: ThePsionic
(~ThePsioni@ip5457f909.direct-adsl.nl)
L469[10:06:10] ⇦
Quits: Zed (~Zed@21.243.7.51.dyn.plus.net) (Quit: Textual IRC
Client: www.textualapp.com)
L470[10:06:20] ⇦
Quits: AshIndigo (~AshIndigo@188.29.165.169.threembb.co.uk) (Ping
timeout: 198 seconds)
L471[10:08:05]
⇨ Joins: Samario
(~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net)
L472[10:09:57] ***
PaleoCrafter is now known as PaleOff
L473[10:10:44]
⇨ Joins: Vazkii
(~Vazkii@144.134.37.188.rev.vodafone.pt)
L474[10:22:36] ⇦
Quits: Grover_c13 (~Courtney@203-59-199-82.dyn.iinet.net.au) (Ping
timeout: 186 seconds)
L475[10:26:35] <Keridos> hm, if i want
glass panes rendering with a new texture and a new blockstate,
could I extend the vanilla json?
L476[10:33:51] <tterrag|laptop> yep
L477[10:33:56] <tterrag|laptop> wait, new
blockstate?
L478[10:33:58]
⇨ Joins: Jezza (~Jezza@92.206.4.86)
L479[10:34:35] <untamemadman> Does anyone
know how to find an erroring tile entity? The server crashes on
boot.
L480[10:36:06]
⇨ Joins: TechnicianLP
(~Technicia@p4FE1C24B.dip0.t-ipconnect.de)
L482[10:47:15] <windy> untamemadman:
server log?
L484[10:53:05] <windy> untamemadman: that
looks like a programming error, not a corrupt entity or something
like that
L485[10:53:29] <Keridos> tterrag|laptop:
we have a fence in omt, with different tiers, since it is owned is
has a (non ticking) TE associated to it
L486[10:53:43] <Keridos> the tier just
changes hardness, resistance and the texture
L487[10:53:49] <untamemadman> Does it say
what mod is responsible?
L488[10:54:33] <windy> no but it's
probably a mod that modifies the function World.func_72939_s which
is the obfuscated name of updateEntities
L489[10:56:07] <windy> untamemadman: just
start removing mods one by one until the error goes away
L490[10:56:56] <barteks2x> I looked at the
error before and the only thing that used iterator was tile entity
ticking
L491[10:57:09] <barteks2x> didn't think of
mods modifying it
L492[10:58:38] <tterrag|laptop> Keridos,
well, blockstates are separate from models for this reason
L493[10:58:43] <tterrag|laptop> you can
still extend the vanilla model fine
L494[10:58:54] <tterrag|laptop> your
blockstate might be complex though
L495[10:58:55] <untamemadman> Thats not
the most ideal solution, I'll have to go through a max of 200
mods
L496[10:59:52] <tterrag|laptop>
untamemadman, binary search
L497[10:59:53] <barteks2x> removing by
half each time may also work, but not always
L498[10:59:59] <tterrag|laptop> is the
crash repeatable, or random?
L499[11:00:18] <untamemadman> It happens
every time I start the server
L500[11:00:23] <tterrag|laptop> ok, then
that's easy
L501[11:00:39] <tterrag|laptop> remove
half of mods, start. if it crashes, repeat. if it doesn't crash,
remove other half, repeat.
L502[11:01:20] <tterrag|laptop> done in
log(n) steps :D
L503[11:01:33] <barteks2x> in most
reasonable cases no more than 10
L504[11:01:42] <untamemadman> I guess
walking dead will have to wait then
L505[11:01:52] <windy> barteks2x: it could
be a mod modifying the tile entity list in a thread outside the
world thread as the world is updating the list
L506[11:02:33] <barteks2x> that would be a
very obviously broken mod
L507[11:03:09] <windy> Ideally MC would be
more careful about this like keep a concurrent collection or cache
the list into a local var but this isn't the case
L508[11:03:33] <Keridos> tterrag|laptop: i
might be better off just recreating the vanilla json but with the
forge json way?
L509[11:03:49] <tterrag|laptop>
*shrug*
L510[11:03:56] <tterrag|laptop> I haven't
done much with blockstates
L511[11:03:59] <Keridos> e.g. just make it
render the parts when they are present
L512[11:04:11] <barteks2x> but why would
mc need to be careful about it? MC doesn't do multithreading even
between worlds
L513[11:04:30] <tterrag|laptop> windy,
it's easy to mix threads if a mod doesn't realize that packets are
handled on a different thread
L514[11:04:36] <tterrag|laptop> I'd guess
a mod is doing that
L515[11:04:41] <tterrag|laptop> it's a
very common bug
L516[11:04:43] <Keridos> and then change
the texture based on the other state
L517[11:04:48] <barteks2x> he said it
happens withot any playyer on server
L518[11:04:55] <barteks2x> so it's not
packet handling
L519[11:05:01] <windy> barteks2x: well
yeah that's true, in an ideal world. tterrag|laptop yeah I'd
imagine so
L520[11:05:35] <tterrag|laptop> CMEs can
occur without threads
L521[11:05:43] <tterrag|laptop> !gm
func_72939_s
L522[11:05:50] <windy> tterrag|laptop: not
really in this particular case
L523[11:05:52] <barteks2x> by simply
removig tile entity from the list while ticking them
L524[11:06:00] <tterrag|laptop> ^
L525[11:06:00] <barteks2x> without using
iterator.remove
L526[11:06:03] <tterrag|laptop> if a TE
deletes itself
L527[11:06:05] <windy> it's erroring on
Iterator.next()
L528[11:06:24] <windy> which means the
collection was modified since the last next() (most likely)
L529[11:06:32] <tterrag|laptop>
right
L530[11:06:37] <tterrag|laptop> so...a TE
deleted itself
L531[11:06:39] <tterrag|laptop> during
onUpdate
L532[11:06:41] <barteks2x> yes, and it
could be done by mod removign it's own tile entity
L533[11:07:03] <barteks2x> which was what
I originally though was the fault
L534[11:07:09] <Ordinastie> but it has to
manually remove itself from the list
L535[11:07:19] <Ordinastie> a TE can
destroy its block fine
L536[11:07:40] <untamemadman> Thanks for
your help guys, I'll go through removing mod after mod until it
works and work from there
L537[11:07:55] <windy> yeah that sounds
most likely tterrag|laptop
L538[11:07:59] <Ordinastie> during
onUpdate loop, another list takes over for regular insertion
deletion
L539[11:08:11] <Ordinastie> iirc
L540[11:08:50] <barteks2x> for TEs it
seems to be isInvalid that makes MC remove the TE
L541[11:09:06] ***
PaleOff is now known as PaleoCrafter
L542[11:09:08] <windy> Ordinastie: the
tile entity list is iterated over and calls the update method for
each one. if the TE were to remove itself from the collection
within that method the next next() call would fail
L543[11:09:22] <Ordinastie> I know
L544[11:09:25] <barteks2x> it's more
likelyy something is adding TE
L545[11:09:27] <barteks2x> than removing
it
L546[11:09:48] <barteks2x> if that could
aso cause that
L547[11:09:50] <Ordinastie> but simply
placing or detroying blocks with TE don't alter the list
L548[11:10:55] <untamemadman> Would it be
possible to make a mod that prints a list of all tile entities
active on each tick and print it to console/file?
L549[11:16:09] <tterrag|laptop> sure, but
that would be a lot of logging
L550[11:16:13] <barteks2x> probably
possible, but it would also probably be faster to just remove
mods
L551[11:17:36] <barteks2x> I've done
things that resulted in more spam than that to find bugs
before
L552[11:23:20]
⇨ Joins: karjah
(~karjah@h130.220.88.75.dynamic.ip.windstream.net)
L553[11:23:52] ***
diesieben|away is now known as diesieben07
L554[11:27:24] <raoulvdberge> !gm
func_73863_a
L555[11:27:38] <raoulvdberge> !gm
func_73863_a
L556[11:27:49] <raoulvdberge> !gm
func_146982_a
L557[11:34:30] <PaleoCrafter> there, mezz,
addressed the GIF thing
L558[11:34:30]
⇨ Joins: williewillus
(~williewil@nat-128-62-45-181.public.utexas.edu)
L559[11:34:47] <mezz> cool
PaleoCrafter
L560[11:35:56] <mezz> PaleoCrafter, I'm
confused, forgeLoc and forgeFallbackLoc are both
"fml:textures/gui/forge.png"
L561[11:35:58]
⇨ Joins: Girafi
(Girafi@0x555178eb.adsl.cybercity.dk)
L562[11:36:13]
⇨ Joins: AshIndigo_
(~AshIndigo@188.29.165.169.threembb.co.uk)
L563[11:36:16] <PaleoCrafter> the default
for forgeLoc is the fallback loc, yes :D
L564[11:36:53] <PaleoCrafter> the image is
configurable via splash.properties and the fallback only really is
necessary because the animation used to be a gif and that's stuck
in old configs that might get carried over
L566[11:37:18] <mezz> so when I look at
this, with a fresh game, am I looking at a gif or a png?
L567[11:37:22] <PaleoCrafter> PNG
L568[11:37:27] <PaleoCrafter> I completely
removed the GIF
L569[11:37:36] <mezz> did it fix the
jagged edges?
L570[11:38:23] <mezz> I just want your
animation to look nice like it should, we can derp with the render
if necessary
L571[11:38:50] <PaleoCrafter> it has nice
edges for me, so :D
L572[11:39:26] <mezz> ok I'll try it
out
L573[11:39:56] ⇦
Quits: psxlover (psxlover@athedsl-4414923.home.otenet.gr) (Ping
timeout: 198 seconds)
L574[11:40:57]
⇨ Joins: hk (~HiddenKn@93.ip-158-69-206.net)
L575[11:40:58]
⇨ Joins: linuxdemon1
(linuxdemon@dev.linuxdemon.xyz)
L576[11:41:03] ⇦
Quits: HiddenKnowledge (~HiddenKn@93.ip-158-69-206.net) (Read
error: Connection reset by peer)
L577[11:41:20]
⇨ Joins: McJty
(~jorrit@94-225-196-91.access.telenet.be)
L578[11:41:50] ⇦
Quits: chbachman (~chbachman@192.99.145.160) (Network
ban)
L579[11:41:51] ⇦
Quits: TehNut (~TehNut@192.99.145.160) (Network ban)
L580[11:42:18]
⇨ Joins: TehNut (~TehNut@2607:5300:100:200::199)
L581[11:43:05]
⇨ Joins: psxlover
(psxlover@athedsl-4414923.home.otenet.gr)
L582[11:43:54] ⇦
Quits: linuxdaemon (~linuxdemo@dev.linuxdemon.xyz) (Killed
(NickServ (GHOST command used by
linuxdemon1!linuxdemon@dev.linuxdemon.xyz)))
L583[11:44:11] ***
linuxdemon1 is now known as linuxdaemon
L584[11:44:12] <PaleoCrafter> I'd really
like to adjust the animation's placement, not sure where to put it,
though
L585[11:44:26]
⇨ Joins: Brokkoli
(~Brokkoli@p2E5B1DD8.dip0.t-ipconnect.de)
L586[11:44:46] <mezz> I think it's ok as
it is
L587[11:45:28] <mezz> what's a good way
for me to test the custom image? are there any example images in
the wild?
L588[11:46:46] <PaleoCrafter> not that I
know of, you can use any asset in the game though
L589[11:47:02] <mezz> alright
L590[12:04:19]
⇨ Joins: KGS
(~KGS@h-155-4-129-249.na.cust.bahnhof.se)
L591[12:05:05]
⇨ Joins: Gary (~Gary@ns501387.ip-198-27-81.net)
L592[12:05:54]
⇨ Joins: CsokiCraft
(~CsokiCraf@87.97.108.206.pool.invitel.hu)
L593[12:06:36] <CsokiCraft> How do I use
custom blockstates in my block?
L594[12:06:47] <williewillus> what do you
mean by custom blockstates?
L595[12:06:51] <williewillus> you mean add
your own properties?
L596[12:07:14] <CsokiCraft> Yes. I need an
integer property
L597[12:07:38] <CsokiCraft> I found this:
PropertyInteger.create()
L598[12:08:16] <CsokiCraft> And
state.withProperty()
L599[12:09:45] <CsokiCraft> But I can't
seem to get it working
L601[12:11:08] <williewillus> and also
check out vanilla classes
L602[12:14:02] ⇦
Quits: williewillus
(~williewil@nat-128-62-45-181.public.utexas.edu) (Quit:
Leaving)
L603[12:14:57] <CsokiCraft> Great read,
but I need the property value to be read from a TileEntity
L604[12:15:37] ⇦
Quits: manmaed (~Ender@176.24.62.116) (Ping timeout: 195
seconds)
L605[12:20:03] ⇦
Quits: AshIndigo_ (~AshIndigo@188.29.165.169.threembb.co.uk) (Quit:
Bye)
L606[12:21:41]
⇨ Joins: AshIndigo_
(~AshIndigo@79-67-168-211.dynamic.dsl.as9105.com)
L607[12:22:29] <TechnicianLP> my phone
right now: The Pin you entered is correct ... but telling you its
wrong is way funnier ...
L608[12:23:21] <AshIndigo_> My phone has a
corrupted music track on it
L609[12:23:30] <AshIndigo_> I dont know
how it came to be
L610[12:23:41] <AshIndigo_> But only my
phone plays the corrupted version
L611[12:24:57] <TechnicianLP> i restarted,
entered the pin "correctly" now and then it crashed ...
gg samsung
L612[12:24:58] ⇦
Quits: quadraxis
(~quadraxis@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net)
(Ping timeout: 384 seconds)
L613[12:26:02] <barteks2x> still nothing
compared to my text messages from the future. Thew was literally
test (after translaing to english): "In the next week"
:D
L614[12:26:09] <barteks2x> *text
L615[12:26:18] <Lord_Ralex> i broke the
calculator on my phone
L616[12:26:53]
⇨ Joins: Zed (~Zed@21.243.7.51.dyn.plus.net)
L617[12:27:04] <AshIndigo_> All my google
apps are also broken
L618[12:28:05] <TechnicianLP> CsokiCraft
use GetActualState and query your tileentity there
L619[12:28:49] <CsokiCraft> That's what
I'm doing. But when I unload the world and reload again, it all
vanishes
L620[12:29:14] <TechnicianLP> naish?
L621[12:29:17] <TechnicianLP>
vanish*
L622[12:30:58] <CsokiCraft> Yes. The
BlockState doesn't save
L623[12:31:14] <CsokiCraft> Actually, hold
on
L624[12:36:42] <CsokiCraft> OK my code is
utterly broken :P
L625[12:37:41] <TechnicianLP> does your
tileentity save? (and try printing the state you get passed in
getactualstate)
L626[12:42:24]
⇨ Joins: Gaz (~Gaz492@wolf.ski)
L627[12:48:20] ⇦
Quits: Girafi (Girafi@0x555178eb.adsl.cybercity.dk) (Ping timeout:
198 seconds)
L628[12:48:21] <CsokiCraft> Can I get the
dimension id from an IBlockAccess?
L629[12:48:26] <diesieben07> No.
L630[12:49:12] <diesieben07> you can do
some checks (i.e. check for instanceof World and instanceof
ChunkCache)
L631[12:49:17] <diesieben07> and go from
there
L632[12:49:26] <diesieben07> but that will
not cover special cases that other mods might pass in
L633[12:49:40] <CsokiCraft> Great
L634[12:49:49] <diesieben07> why?
L635[12:49:56] <diesieben07> what is your
usecase?
L636[12:51:53] <CsokiCraft> I need to
construct a Vector4d position in getActualState()
L637[12:52:55] <diesieben07> why? :D
L638[12:53:02] <diesieben07> what uses the
dimID in that?
L639[12:53:45] <CsokiCraft> Because it
needs to be unique. It needs to know the difference between 0,0,0
in the Nether and Overworld etc.
L640[12:54:03] <McJty> For what do you
need that? What problem are you trying to solve exactly?
L641[12:54:13] <diesieben07> where do you
access that information?
L643[12:55:31] <diesieben07> as in: where
do you call your getActualState and use the DimID property of the
resulting state?
L644[12:55:35] <McJty> barteks2x, what is
the glitch?
L645[12:55:41] <barteks2x> look at the
dirt
L646[12:56:18] <AshIndigo_> barteks2x:
thats a feature!
L647[12:56:25] <CsokiCraft> My Block needs
to get an integer from a HashMap, and then construct a TileEntity
in createTileEntity() using that int.
L648[12:56:30] *
McJty doesn't see anything special really
L649[12:56:46] <barteks2x> the repaced
dtone with dirt with cutoff at constant Y
L650[12:56:49] <barteks2x> *stone
L651[12:56:55] <diesieben07> CsokiCraft,
waaaat that sounds like a terrible terrible idea.
L652[12:57:17] <barteks2x> I redecigned
the way dirt generation works and this is a bit hard to fix side
effect
L653[12:58:38] <diesieben07> CsokiCraft, i
think you should really explain what you are doing, because I think
you are going about it entirely the wrong way.
L654[12:58:51]
⇨ Joins: Girafi
(Girafi@0x555178eb.adsl.cybercity.dk)
L655[12:58:54] <barteks2x> it can also
potentially do some weird things in mesa biomes but I didn't test
it there yet
L656[12:58:59] <CsokiCraft> So I have a
Block
L657[12:59:31] <CsokiCraft> And this block
is capable of housing several TE classes
L658[12:59:43] <CsokiCraft> (or it should
be atleast)
L659[12:59:57] <diesieben07> Ok
L660[13:00:01] <diesieben07> so far so
good
L661[13:00:06] <CsokiCraft> All the usable
classes are stored in a Collection
L662[13:00:15] <barteks2x> I'm almost sure
some of my interpolation code is wrong, but I'm not fixing that
unless necessary
L663[13:00:16] <diesieben07> uhhh
L664[13:00:18] <diesieben07> what?
why?
L665[13:00:36]
⇨ Joins: Gil
(uid147942@id-147942.brockwell.irccloud.com)
L666[13:01:03] <CsokiCraft> Now: I need to
somehow be able to choose the appropriate Class to instantiate in
createTileEntity()
L667[13:01:13] <diesieben07> what
determines that class?
L668[13:01:30] <CsokiCraft> That's my
problem
L669[13:01:45] <CsokiCraft> My ItemBlock
should mark it somehow
L670[13:01:58] <diesieben07> somehow?
don't explain how you intend to code it
L671[13:02:04] <diesieben07> explain how
it should behave to the end user
L672[13:02:05] <CsokiCraft> And then this
info needs t persist as long as the Block exists
L673[13:02:07] <diesieben07> then i can
tell you how to code it
L674[13:03:51] <CsokiCraft>
ItemBlock->right click->sets the Block->sets the
TileEntity based on the ItemBlock's damage value->after saving
and reloading the TE should be the same class
L675[13:03:51] ⇦
Quits: ThePsionic (~ThePsioni@ip5457f909.direct-adsl.nl) (Quit:
Leaving)
L676[13:04:09] <diesieben07> the last step
is handled by MC automatically
L677[13:04:17] <diesieben07> provided you
registered all your classes
L678[13:04:18] <CsokiCraft> But it
isn't
L679[13:04:19] <Ordinastie> did you
regsiter your TE ?
L680[13:04:23] <CsokiCraft> Yes
L681[13:04:28] <Ordinastie> with different
names ?
L682[13:04:35] <diesieben07> you dont need
ANY kind of hashmap or actualstate thingy here
L683[13:04:35] <CsokiCraft>
Obviously
L684[13:04:44] <diesieben07> all you do is
set the blcok state based on the metadata
L685[13:04:53] <diesieben07> there is some
method in Block for this
L686[13:04:55] <CsokiCraft> But metadata
can only be 16
L687[13:05:01] <diesieben07>
getStateForPlacement or something
L688[13:05:10] <CsokiCraft> I need >30
TE classes
L689[13:05:15] <diesieben07> you
can't.
L690[13:05:16] <Ordinastie> wtf ?
L691[13:05:22] <diesieben07> you can have
16 max
L692[13:05:32] <diesieben07> you can have
additinoal data in those TEs based on the Imteblock
L693[13:05:48] <diesieben07> but the
actual class cannot be based on anthing but the metadata
L694[13:05:49] <Ordinastie> if you think
you need 30 different TE classes, then you're doing it wrong
L695[13:05:53] <diesieben07> also
that
L696[13:06:19] <McJty> yes, sounds like
you just need a single class and then >30 implementations of
some kind of custom interface which can differ based on whatever
you want
L697[13:06:37] <McJty> And then those 30
implementations can be selected based on a simple integer or
whatever in your TE
L698[13:06:46] <CsokiCraft> Hmm. Could
work
L699[13:06:50] <McJty> Or better even, use
a sensible name/id
L700[13:10:14] ***
Mine|dreamland is now known as minecreatr
L701[13:11:30] <Keridos> how can I select
a version of a speicifc mod as hard dependency for my mods?
L702[13:12:02] <windy> is it possible to
tell the client to open the player inventory? I dont see a guiId
for player inventories
L703[13:12:11] <diesieben07> No its
not
L704[13:12:22] <diesieben07> the server
has no idea if you are looking at the inventory or not
L705[13:12:40] <diesieben07> as far as the
server is concenred, you are *always* looking at your inventory
(unless you are looking at a chest or something)
L706[13:12:47] <diesieben07> you need a
custom packet
L707[13:12:53] ⇦
Quits: CsokiCraft (~CsokiCraf@87.97.108.206.pool.invitel.hu) (Quit:
Leaving)
L708[13:13:00] ⇦
Quits: RichardG (~richardg8@201.37.255.130) (Quit: You saw
nothing.)
L709[13:13:03] <windy> well no that's not
true, there is an inbound packet from the client when a player
opens an inventory
L710[13:13:24] <diesieben07> which packet
do you mean?
L711[13:13:25] <Ordinastie> he just told
you
L712[13:13:46] <windy> no he said that
it's impossible to know if a player's inventory is opened which is
not true
L713[13:14:03] <diesieben07> > which
packet do you mean?
L714[13:14:20] <McJty> windy, but as far
as I know there is no packet that says when the player closes that
inventory
L715[13:14:28] <McJty> So you have no
information with that I think
L716[13:14:53] <windy> diesieben07: 0x03
client status has a flag for if the client has an inventory
opened
L717[13:14:53]
⇨ Joins: InusualZ
(~InusualZ@adsl-72-50-87-254.prtc.net)
L718[13:15:32] <Ordinastie> the only
packet sent is the open inventory achievement
L719[13:15:43] <windy> no that's just not
correct I literally just tested it
L720[13:16:20] <diesieben07> well yeah the
cleint tells the server that the player pressed the open inventory
key
L721[13:16:23] <diesieben07> but that is
different
L722[13:16:33] <windy> anyways, it's not
even what I was getting at originally. I can open any inventory
window from the server except player
L723[13:16:34] <diesieben07>
EntityPlayerMP::openContainer will always point to your
inventory
L724[13:16:40] <diesieben07> yes
L725[13:16:46] <diesieben07> because of
what i just explained.
L726[13:17:31] <windy> I'm pretty sure it
can be an instance of any type of container
L727[13:17:40] <diesieben07> yes of
course
L728[13:17:45] <diesieben07> but it will
never be null
L729[13:17:52] <diesieben07> if you are
not looking at some chest, it will point to your inventory
L730[13:18:06] <diesieben07> which to the
server means "looking at their inventory"
L731[13:18:10] <windy> yes I know this.
did you even read my question? :P
L732[13:18:19] <diesieben07> yes.
L733[13:18:23] <diesieben07> and i told
you: you need a custom pacekt.
L734[13:18:37] <windy> so you can open any
container gui except player
L735[13:18:58] <diesieben07> yes.
L736[13:20:22] <windy> ok. i think we just
misunderstood eachother diesieben07. I know there's no flag on the
vanilla server to see if a player is viewing an inventory. I was
just saying that it's possible to determine.
L737[13:20:40] <diesieben07> kinda sorta
maybe :P
L738[13:20:49] ⇦
Quits: Girafi (Girafi@0x555178eb.adsl.cybercity.dk) (Read error:
Connection reset by peer)
L739[13:20:55] <windy> well yeah it is.
just client status and then get the openContainer
L740[13:21:41] <TechnicianLP> windy: what
do you want: open the inventory or check wheter it is open?
L741[13:23:09] ⇦
Quits: McJty (~jorrit@94-225-196-91.access.telenet.be) (Quit:
Leaving)
L742[13:23:14] <windy> TechnicianLP: I'm
fixing a Sponge bug with inventory events. They are cancellable,
but if you cancel a close event for a player inventory it wont work
bc it will try to open the original gui which cant be done on a
player inventory from the server apparantly
L743[13:23:29]
⇨ Joins: Girafi
(Girafi@0x555178eb.adsl.cybercity.dk)
L744[13:23:37] <windy> every other gui
works fine though
L745[13:23:46] <windy> just gonna have to
add a special case
L746[13:31:12] <Gil> I think I'm just
going to write a simple Curse package manager
L747[13:34:26] ⇦
Quits: Samario
(~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net) (Ping
timeout: 206 seconds)
L748[13:38:17] ***
tterrag|laptop is now known as tterrag
L749[13:45:30]
⇨ Joins: Samario
(~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net)
L750[13:50:29] <mezz> diesieben07, are you
around?
L751[13:50:58] *
diesieben07 salutes
L752[13:51:30] <mezz> wondering if there
is a better name for "register" since the biome registry
and biome dictionary both use that convention
L753[13:51:57] <diesieben07> addTypes
maybe?
L754[13:52:00] <mezz> hmm
L755[13:52:17] <mezz> yeah actually
L756[13:52:47] <mezz> it would require
renaming a bunch of things and updating the docs to use that, are
you up for doing that?
L757[13:53:03] <mezz> I think it would be
nice in the end
L758[13:53:25] <diesieben07> a rename
refactor should be easy
L759[13:53:32] <diesieben07> docs... i'll
see what there is
L760[13:54:00] <mezz> the thing that made
me consider it is this error message: "Cannot register biome
types for unregistered biome"
L761[13:54:03] <mezz> heh
L762[13:54:12] <diesieben07> ah
L763[13:54:20] <diesieben07> So basically
you want me to adjust the terminology in the whole class?
L764[13:54:29] <mezz> yeah
L765[13:54:33] <Ordinastie> or just rename
registerType :p
L766[13:54:33] <diesieben07> ok
L767[13:54:40] <mezz> so "Cannot add
biome types for unregistered biome"
L768[13:54:45] <mezz> is much more clear
imo
L769[13:55:04] <diesieben07> yeah
L770[13:55:11] <diesieben07> there is also
some inconsistency of type vs. tag
L771[13:55:20] <diesieben07> thinking
about it, Tag is clearer.
L772[13:55:50] <mezz> #ocean
L773[13:56:16] <diesieben07> ?
L774[13:56:23] <mezz> hash-tag ocean
:)
L775[13:56:25] <mezz> I dunno they seem
the same to me and changing it doesn't benefit much in terms of
clarity
L776[13:56:31] <diesieben07> yeah ok
L777[13:58:05] <diesieben07> ok so... this
raises some problems
L778[13:58:15] <diesieben07> i can't just
rename isRegistered to hasTypes
L779[13:58:21] <diesieben07> because
that's not what it does...
L780[13:58:37] <diesieben07> because you
might have registered your biome to have no types
L781[13:58:41] <diesieben07> that still
counts as registered
L782[13:59:02] <mezz> does it?
L783[13:59:07] <diesieben07> yep
L784[13:59:13] <mezz> I figure the whole
point of the dictionary is types
L785[13:59:16] <diesieben07> if you just
do register(biome)
L786[13:59:23] <diesieben07> that
registers the BiomeType for it
L787[13:59:26] <diesieben07> but without
any types
L788[13:59:38] <diesieben07> it will then
not do the guessing thing
L789[14:00:06] <diesieben07> i mean, it
does make sense
L790[14:00:07] <mezz> maybe log an error
there if there's no ttypes?
L791[14:00:13] <diesieben07> you might
want your biome to not have any types
L792[14:00:19] <mezz> but....
L793[14:00:23] <mezz> why
L794[14:00:24] <mezz> lol
L795[14:00:27] <diesieben07> ikr
L796[14:00:34] <mezz> at the very least
give it some unique type that nothign else has
L797[14:00:42] <diesieben07> ok so... i'll
change that to also check for empty
L798[14:00:45] <mezz> I think registering
with no types is pointless
L800[14:00:52] <diesieben07> as in empty
== unregistered
L801[14:01:18] ⇦
Quits: mallrat208 (~mallrat20@107-145-175-135.res.bhn.net) (Ping
timeout: 384 seconds)
L803[14:06:16] ⇦
Quits: ollieread (~ollieread@exia.ollieread.com) (Quit: Shit
son)
L804[14:09:07]
⇨ Joins: Ipsis
(~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk)
L806[14:23:06] <Ordinastie> what does it
say ?
L807[14:23:15] <tterrag> I'd guess
compiler magic
L808[14:23:19] <barteks2x>
"Annotations not allowed here"
L809[14:23:23] <tterrag> oh
L810[14:23:28] <kenzierocks> you can only
annotate fields
L811[14:23:29] <tterrag> you can't
annotate something that isn't declared
L812[14:23:30] <kenzierocks> classes
L813[14:23:32] <kenzierocks> and
methods
L814[14:23:36] <tterrag> (and
variables)
L815[14:23:38] <kenzierocks> and a few
other things
L816[14:23:39] <barteks2x> it works in the
second case
L817[14:23:43] <tterrag> and types, as of
j8 :P
L818[14:23:56] <kenzierocks> yea, but the
first one isn't a field/var declaration
L819[14:24:00] <tterrag> i.e. public final
List<@Nonnull Foo> bar;
L820[14:24:14] <kenzierocks> the second
one is on K[] arr -- a variable declaration
L821[14:24:14] <tterrag> (except javax
annots aren't marked for types :C)
L822[14:24:33] <tterrag> barteks2x: put
the annot on the method or do it the second way
L823[14:24:40] <tterrag> the problem is
there's no target for the annotation
L824[14:24:41] <barteks2x> what is the
second way?
L825[14:24:47] <barteks2x> oh, right
L826[14:24:48] <tterrag> even if it's a
compile-time only annotation, it has to have something to attach
to
L827[14:24:49] <barteks2x> nnvm
L828[14:24:59] ***
Vigaro|AFK is now known as Vigaro
L829[14:25:12] <barteks2x> it's a
constructor btw
L830[14:25:46] <barteks2x> unless this
think I just wrote already exists
L831[14:25:48] <barteks2x> somewhere
L832[14:25:59] <tterrag> you can annotate
constructors
L833[14:26:05] <tterrag> they are just
syntax sugar methods :P
L834[14:26:07] <barteks2x> then I wouldn't
need this code at all
L835[14:26:09] <tterrag> welcome to
java
L836[14:26:37] <barteks2x> so this is a
kind of cache, that works kind of like hash map but in case of hash
collisions it just overwrites the old value
L837[14:26:47] <tterrag> how the hell is
that useful :D
L838[14:26:54] <barteks2x> for
worldgen
L839[14:27:20] <tterrag> can you guarantee
hash uniqueness?
L840[14:27:23] <barteks2x> and if the
stored key doesn't match when getting value, it gets new one from
provided function
L842[14:28:19] <barteks2x> I guess it's
too simpel to even ask for library for that...
L843[14:29:00] <barteks2x> it should at
least double my worldgen performance
L844[14:30:40] <barteks2x> so I don't need
hashes to be unique
L845[14:31:48] <tterrag> why not just a
trove map?
L846[14:32:37] <barteks2x> Then almost all
the code I have in that class would be in the code that uses
it
L847[14:32:50] <barteks2x> because I would
have to manually remove old value
L848[14:33:12] <barteks2x> I don't want
these old values that I'm overwriting to be there, I want it to be
fixed size
L849[14:33:29]
⇨ Joins: KnightMiner (~KnightMin@68.73.225.172)
L850[14:33:37] <barteks2x> it's so simple
that there just has to be library for it, I just don't know
it
L851[14:33:40]
⇨ Joins: killjoy
(~killjoy@cpe-2606-A000-1118-C091-D882-29D5-D7FB-AE47.dyn6.twc.com)
L852[14:35:03] <tterrag> why store
something as a double though? I don't get it...
L853[14:35:23] <barteks2x> cacching perlin
noise
L854[14:35:28] <tterrag> what is K
then?
L855[14:35:35] <barteks2x> Vec3i
L856[14:35:54] <tterrag> why not just
computeIfAbsent ?
L857[14:37:27] <barteks2x> and what would
that change? I would have that if() somewhere else
L858[14:37:40] <barteks2x> if the value
isn't cached I need to get it anyway
L859[14:37:49] <barteks2x> and if it's
there, then fine I want it
L860[14:38:24] <barteks2x> it's going to
be used as wrapper on top oof perlin noise generator
L861[14:38:34] ***
minecreatr is now known as Mine|away
L862[14:39:06] <barteks2x> or on top of my
builder or the biome generator if I make object version of it
L863[14:39:20] <barteks2x> (for biome
generator it would be hard)
L864[14:41:01] ***
Darkhax is now known as Darkhax_AFK
L865[14:45:16] <barteks2x> so my usage of
the cache looks like this now:
HashCacheDoubles.<Vec3i>create(cacheSize,
v->v.getX()+v.getZ()*4+v.getY()*16, v->builder.get(v.getX(),
v.getY(), v.getZ()));
L866[14:46:20] <barteks2x> *replace 4 with
5 and 16 with 25
L867[14:47:19] <barteks2x> and if it turns
out to me too bad for gc, I will make x/y/z int version of it
L868[14:50:16] <tterrag> why are you
multiplying for the packed coord?
L869[14:50:31] <tterrag> also, a blockpos
doesn't fit into a int
L870[14:50:40] <tterrag> just use
blockpos's own hashcode?
L871[14:52:31] <barteks2x> I want it to
reduce to simple lookup array for a single chunk
L872[14:52:50] <barteks2x> and a 16x16x16
"chunk" here is actually 5x3x5 array
L873[14:53:27] <barteks2x> so if I
multiply it this way, I can guarantee that when generating a chunk,
all values are optimally cached
L874[14:55:50] <mezz> sorry in advance
diesieben07
L875[14:57:34] ⇦
Quits: Brokkoli (~Brokkoli@p2E5B1DD8.dip0.t-ipconnect.de) (Ping
timeout: 206 seconds)
L876[14:58:48] <diesieben07> lol no
worries. you are right
L877[14:59:34] <diesieben07> one thing
though, i disagree with you on the parameter docs
L878[14:59:44] <diesieben07> yes they are
useless, but that's the policy of javadocs :D
L879[14:59:49] <mezz> @param biome this is
a biome lol
L880[15:00:03] <diesieben07> i know it's
stupid
L881[15:00:05] <mezz> dunno, I think
that's just noise
L882[15:00:06] <KnightMiner> I have to do
that all the time in my programming class
L883[15:00:20] <KnightMiner> @param i
integer to run function on
L884[15:00:43] <diesieben07> i mean
java.util.List::add has @param element element to be inserted
L885[15:00:45] <mezz> look at JEI's API,
I'm a fan of javadocs. I'm not a fan of mindless rules like
everything needs a comment though...
L886[15:00:56] <diesieben07> javadocs are
full of this everywhere
L887[15:00:57] <barteks2x> that's why I
don't enforce javadocs
L888[15:01:18] <KnightMiner> When it comes
to modding code, I am a lot lazier with my javadocs, like I
entirely skip comments on getters that have a @return
parameter
L889[15:01:46] <KnightMiner>
"Official ones" I end up with "returns x @return
x", which is the oddest policy to enforce
L890[15:01:46]
⇨ Joins: Brokkoli
(~Brokkoli@p2E5B1FE0.dip0.t-ipconnect.de)
L891[15:02:17] <barteks2x> and now let's
see if my worldgen code is any faster
L892[15:02:35] <mezz> java class javadocs
= coding exercise to create good habits in 99% of the people who go
through the class no matter how bad their judgment is
L893[15:03:31] <mezz> if you add super
super redundant info it's just not helpful
L894[15:04:02] <mezz> I will not enforce
that you remove them because whatever, but I'll definitely argue it
heh
L895[15:04:10] <barteks2x> that doesn't
seem faster...
L896[15:04:15] <barteks2x> I'm wondering
why
L897[15:05:11] <KnightMiner> Hopefully
after next semister javadocs will be less annoying, I hear my next
class is the worst as far as coding style enforcement. Even forces
code length to be less than 80 columns
L898[15:05:30] <ghz|afk> I'd quit that
class XD
L899[15:05:42] <ghz|afk> 80-column
restriction is retarded
L900[15:05:44] <KnightMiner> Its so the
code prints better I hear
L901[15:05:51] <KnightMiner> Width of the
page
L902[15:05:54] <mezz> jeez
L903[15:06:00] <KnightMiner> But yeah, it
will be annoying
L904[15:06:03] <ghz|afk> it was so that
code was readable in old 80-column terminals
L905[15:06:07] <diesieben07> well the
problem is, if you dont list the @params they dont appear in the
javadocs..
L906[15:06:09] <ghz|afk> yo ucan easily
print 120 columns on paper
L907[15:06:20] <KnightMiner> On the bright
side, I think I get to use Eclipse rather than JGrasp! So I can use
a linter again
L908[15:06:30] <ghz|afk> the text won't be
big, though
L909[15:06:30] <mezz> the real thing you
learn in these classes is how to put up with people above you's
bullshit so you can be happy at your job
L910[15:06:30] <ghz|afk> XD
L911[15:06:32] <tterrag> diesieben07: I'm
with mezz on the @param this is a param
L912[15:06:39] <tterrag> most IDEs fill
that basic info in
L913[15:06:55] <diesieben07> where?
how?
L914[15:07:00] <diesieben07> i certainly
don't see it in IntelliJ
L915[15:07:37] <ghz|afk> ?
L916[15:07:39] <tterrag> I mean, it shows
the signature
L917[15:07:43] <ghz|afk> if you do /** opn
intellij
L918[15:07:44] <KnightMiner> IIRC, in
eclipse if unlisted it adds a generic @param x for any mssing on
the javadoc
L919[15:07:47] <ghz|afk> and press enter
or tab or whatever
L920[15:07:50] <ghz|afk> it will generate
a template
L921[15:07:55] <ghz|afk> including params
and return and all
L922[15:07:58] <tterrag> "@param
biome This is a biome" tells me nothing more than "Biome
biome" in the signature
L923[15:08:12] <diesieben07> yes ghz
L924[15:08:19] <diesieben07> they want me
to remove the @params
L925[15:08:51] <ghz|afk> isn't that how
javadoc works? "@param <paramname> Descriptive text
here"
L926[15:09:06] ***
mumfrey is now known as Mumfrey
L927[15:09:16] <Disconsented> Is it safe
to assume modded ores extend the vanilla class?
L928[15:09:18] <KnightMiner> Its how it
works, but in this case the descriptive text is not entirely
useful, its easily inferred
L929[15:09:29] <diesieben07> indeed it
is
L930[15:09:37] <KnightMiner>
@Disconsented: I found you can assume nothing with mods
L931[15:09:41] <ghz|afk> oh I see
L933[15:10:07] <ghz|afk> so the issue is
just that something like "@param event Provides the event
info"
L934[15:10:13] <ghz|afk> doesn't add any
value
L935[15:10:15] <KnightMiner> I've seen
crops that don't extend BlockCrops, so ores extending some other
block is possible as well
L936[15:10:16] <ghz|afk> that I agree
with
L937[15:10:38] <KnightMiner> Oredictionary
might be a decent way to check though, check if one of the names is
prefixed with "ore"
L938[15:11:33] <ghz|afk> Disconsented: no,
it's not safe
L939[15:11:44] <ghz|afk> in fact, none of
my ores extend a vanilla class besides Block
L940[15:12:23] <ghz|afk> or maybe they do,
I don't remember
L941[15:12:40] <ghz|afk> nope
L942[15:12:41] <ghz|afk> public class
BlockGemstoneOre extends BlockRegistered
L943[15:12:57] <ghz|afk> my gemstone ores
don't extend BlockOre
L944[15:12:57] <ghz|afk> ;p
L945[15:14:12] <diesieben07> Ok so i just
test it and in my opinion it looks shit if there are no parameter
descriptions in the javadoc, especially when you generate the html
docs
L946[15:14:30] <Disconsented> Why not
ghz|afk? Seems like the logical thing to do for me..
L947[15:15:22] <tterrag> is it not clear
from what he said? He has a different hierarchy
L948[15:15:32] <tterrag> BlockRegistered
does things for his mod. you can't extend both
L949[15:18:09] ⇦
Quits: Jezza (~Jezza@92.206.4.86) (Quit: Leaving)
L950[15:18:20] ⇦
Quits: KnightMiner (~KnightMin@68.73.225.172) (Ping timeout: 198
seconds)
L951[15:19:07] <ghz|afk> Disconsented: it
doesn't add any value to me
L952[15:19:13] <ghz|afk> I'd have to
override most of BlockOre either way
L953[15:19:23]
⇨ Joins: Shambling
(~Joseph@24-181-186-74.dhcp.nwtn.ct.charter.com)
L954[15:19:27] <ghz|afk> look at it
L955[15:19:45] <ghz|afk> BlockOre
implements getItemDropped with vanilla ore checks
L956[15:19:54] <ghz|afk> implements
quantityDropped for vanilla ores
L957[15:20:00] <ghz|afk> implements
getExpDrop for vanilla ores
L958[15:20:06] <ghz|afk> and damageDropped
for vanilla ores
L959[15:20:13] <ghz|afk> so I'd have to
override those for mine either way
L960[15:20:22] <ghz|afk> making BlockOre
completely meaningless besides having it as a superclass
L961[15:20:45] <ghz|afk> so I didn't see a
point to it
L962[15:23:14] <Shambling> are there any
memory improvements from 1.11 over 1.10.2?
L963[15:23:25] <Shambling> because
honestly, I see no reason to upgrade over the content it adds
L964[15:23:33] <Shambling> ooo llamas
:P
L965[15:24:57] <ghz|afk> observer
block
L966[15:25:00] <ghz|afk> and a few random
things
L967[15:25:03] <ghz|afk> and so far as
coding
L968[15:25:08] <ghz|afk> mostly the
ItemStack semantics changes
L969[15:25:14] <diesieben07> so mezz why
is "the biome to analyze" ok but "the biome"
not? :D
L970[15:25:20] <diesieben07> they have the
same value
L971[15:25:30] <ghz|afk> (non-nullability,
private field for stackSize, final Item field)
L972[15:25:31] <diesieben07> especially if
the method only has one Biome arg
L973[15:25:38] <mezz> they're both
pointless
L974[15:25:42] <diesieben07> ok :D
L975[15:25:52] <mezz> I may have given up
on params halfway through my review
L976[15:25:54] <mezz> heh
L977[15:26:14] <diesieben07> no you just
corrected tag->type in one of those
L978[15:26:19] <barteks2x> so time to
generate spawn went down from 42 seconds to 39 seconds after adding
the cache... 3 seconds saved
L979[15:26:19] <diesieben07> @param biome
the biome to tag
L980[15:26:25] <diesieben07> and you said
to change that instead of remove
L981[15:26:26] <barteks2x> that's not what
I expected
L982[15:26:34] <Shambling> so basically,
if there were no code improvements... just another way to split off
dead mods again
L983[15:26:46] <diesieben07> also
ensureTagged is package-private because ForgeModContainer needs
it
L984[15:26:55] <diesieben07> i am not sure
why you hate package-private so much :P
L985[15:28:25] ***
PaleoCrafter is now known as PaleOff
L986[15:30:22] <TechnicianLP> barteks2x:
btw how so you handle ticking of the entities? still one Thread?
(for much more stuff)
L988[15:30:52] <barteks2x> there really
isn't more stuff unless you have view distance > 8
L989[15:31:00] <barteks2x> so I don't
touch entity ticking
L990[15:31:32] <barteks2x> well, maybe
more mobs because there can be more caves
L991[15:31:55] <Shambling> biome biome,
type type?
L992[15:32:05] <Shambling> java has a
weird stutter
L993[15:32:09] <barteks2x> if you set
vertical view distance to 8, there is goign to be almost no
difference
L994[15:32:32] ⇦
Quits: mezz (~mezz@24.6.28.151) (Ping timeout: 384
seconds)
L995[15:32:48] <TechnicianLP> think for
server
L996[15:34:18] ⇦
Quits: Hgrebnednav_ (~Hgrebnedn@d8D872A6E.access.telenet.be) (Ping
timeout: 206 seconds)
L997[15:34:18] <barteks2x> servers
frequently run at lower iew distance
L998[15:34:28] <barteks2x> and with view
distance being cube, there is going to be even less stuff
L999[15:35:01] <barteks2x> and chunk
loaders, if done right, will load much less stuff
L1000[15:35:15] <TechnicianLP> thats a
good point ...
L1001[15:35:22]
⇦ Quits: Ipsis (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk)
(Ping timeout: 384 seconds)
L1002[15:36:18] <TechnicianLP> just a
random question: will get performance improvements to vanilla be
merged?
L1004[15:36:44] <barteks2x> what
performance improvements?
L1005[15:37:19] <TechnicianLP>
ArrayList<TileEntity> could be replaced by a more specific
(and way faster implementation)
L1006[15:37:25] <TechnicianLP> for
example
L1007[15:37:50] <barteks2x> if vanilla
changes something, I change it to do the same/similar thing.
L1008[15:37:57] <ghz|afk> barteks2x: he
means
L1009[15:38:02] <ghz|afk> if he can make
a PR
L1010[15:38:04] <ghz|afk> where he edits
vanilla code
L1011[15:38:05] <diesieben07> if you can
proof that it's a performance problem and tht your code fixes it,
yes.
L1012[15:38:06] <ghz|afk> to be
faster
L1013[15:38:19] <ghz|afk> TechnicianLP:
keep in mind
L1014[15:38:21] <ghz|afk> each line of
patch
L1015[15:38:23] <barteks2x> Then if I
don't edit that, it's changed when I update forge
L1016[15:38:26] <diesieben07> if it's
just "oh this is faster because *waves hands*" then
no
L1017[15:38:34] <barteks2x> if I do touch
it, I will update my code
L1018[15:38:36] <ghz|afk> is extra work
for the forge team
L1019[15:38:41] <ghz|afk> when new
versions of minecraft update
L1020[15:39:10] <ghz|afk> or for
barteks2x if you mean PR to cubicchunks instead of forge
L1021[15:39:18] <TechnicianLP> so some
heavy benchmarking needed ...
L1022[15:39:27] <TechnicianLP>
forge
L1023[15:39:33] *
ghz|afk nods
L1024[15:39:35] <ghz|afk> yeah so
L1025[15:39:47] <ghz|afk> depends on how
many lines of new patch it implies
L1026[15:39:51] <ghz|afk> and how big the
improvement is
L1027[15:40:07] <ghz|afk> if it's a
one-line patch and you get 10% extra speed, maybe
L1028[15:40:08] <TechnicianLP> patch
probably is one line (and a new class)
L1029[15:40:13] <ghz|afk> if it's a
1000line patch and it adds 1%
L1030[15:40:15] <ghz|afk> then probably
not
L1031[15:40:29] <barteks2x> why would you
need new class?
L1032[15:40:34] <barteks2x> what would it
be?
L1033[15:41:40] <TechnicianLP> a list
implementation sorted by chunks - or something in that manner
L1034[15:41:50] <barteks2x> so in total
I'm generating 1024 noise values for each 16x16x16 block region and
it still isn't fast enough
L1035[15:42:01]
⇨ Joins: gr8pefish
(~gr8pefish@24-121-241-166.flagcmtk01.res.dyn.suddenlink.net)
L1036[15:42:19] <barteks2x> what do you
mean by "sorted by chunks"?
L1037[15:42:23] <barteks2x> what would
that do?
L1038[15:43:08] <ghz|afk> TechnicianLP:
aren't TEs already per-chunk?
L1039[15:43:20] <barteks2x> there is also
global list
L1040[15:43:21] <diesieben07> they
are
L1041[15:43:22] <barteks2x> I think
L1042[15:43:24] <diesieben07> there is
both
L1043[15:43:29] <diesieben07> a
Map<Pos, TE> in chunks
L1044[15:43:31] <diesieben07> and a
global list
L1045[15:43:56] <TechnicianLP> did they
change something there? didnt look at the code in a long time (just
thought of it being bad some time ago)
L1046[15:44:05] <diesieben07> i don't
think so
L1047[15:44:12] <diesieben07> this has
been like this for a wile
L1048[15:44:13] <barteks2x> depends on
what is "long timer ago"
L1049[15:44:14] <diesieben07> while
L1050[15:45:08] <TechnicianLP> 1.7.10 had
it
L1051[15:45:18] <TechnicianLP> if talking
~10k loaded Tileentities (which is common on bigger servers)
loading/unloading of tiles takes a while due to the global list
resizing
L1052[15:45:43] <barteks2x> and when they
are loaded/unloaded...?
L1053[15:45:58] <barteks2x> when loading
and unloading chunks I guess
L1054[15:46:32]
⇦ Quits: Kilobyte (~kilobyte@cucumber.kilobyte22.de) (Ping
timeout: 198 seconds)
L1055[15:48:01] *
TechnicianLP needs to dive deeper into that code
L1056[15:48:41] <barteks2x> hm... that
1024 noise values per chunk doesn't quite match my
calculations
L1057[15:48:59] <barteks2x> I expected
250
L1058[15:49:47] <barteks2x> or less in
some cases with my cache
L1059[15:50:16]
⇦ Quits: Shambling
(~Joseph@24-181-186-74.dhcp.nwtn.ct.charter.com) (Read error:
Connection reset by peer)
L1060[15:50:28] <barteks2x> oh... that
would explain it: HASH_3D = (v) -> v.getX() + v.getZ() +
v.getY()*25
L1061[15:50:39] <barteks2x> it's a
miracle I got any performance improvement with that
L1062[15:50:53] <TechnicianLP> missing
brackets?
L1063[15:51:09] <barteks2x> missing *5
for getZ()
L1064[15:51:25] *
TechnicianLP has no clue
L1065[15:51:28] <tterrag> I don't get the
multiplication you are doing
L1066[15:51:34] <tterrag> that doesn't
make for a good hash function
L1067[15:51:40] <barteks2x> in this case
it does
L1068[15:51:45] <barteks2x> this is very
special case
L1069[15:52:17] <barteks2x> coords for a
single chunk are: (x*4, y*2, z*4) to (x*4+5, y*2+3, z*4+5)
L1070[15:52:27] <barteks2x> (single cubic
chunk)
L1071[15:53:00] <barteks2x> (both
inclusive)
L1072[15:53:21] <tterrag> err
L1073[15:53:27] <tterrag> what
L1074[15:53:31] <tterrag> so a chunk is
6x4x6 ?
L1075[15:53:55]
⇨ Joins: Kilobyte
(~kilobyte@cucumber.kilobyte22.de)
L1076[15:54:07] <barteks2x> no
L1077[15:54:30] <barteks2x> I (and MC)
generate 5x3x5 array for each 16x16x16 blocks section and then do
linear interpolation
L1078[15:55:08] <barteks2x> basically one
noise value for each corner of 4x8x4 blocks section
L1079[15:57:28] <barteks2x> now the
amount of values generated per chunk went down to ~150-160
L1080[16:00:57]
⇨ Joins: howtonotwin
(~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net)
L1081[16:02:20] <gr8pefish> How do I go
about making the DEBUG state in events true (for more verbose
output)? e.g. In BlockPlaceEvent there is: private static final
boolean DEBUG =
Boolean.parseBoolean(System.getProperty("forge.debugBlockEvent",
"false"));
L1082[16:02:41] <barteks2x>
-Dforge.debugBlockEvent=true
L1083[16:02:43] <Akkarin> set the system
property to true? :o
L1084[16:02:44] <barteks2x> in jvm
options
L1085[16:03:31] <barteks2x> *jvm
arguments
L1086[16:03:37] <gr8pefish> oh, sure,
thanks :)
L1087[16:04:57] <barteks2x> so my
worldgen time went down from42 to 26 seconds for spawn after adding
the cache
L1088[16:05:02] <barteks2x> now THAt is
an improvement
L1089[16:05:05] <Disconsented> Since you
can't instanceof BlockOre to check if somthing is an Ore. How do
you do that within OreDictionary? From what I understand you cant
have wildcard's with names (ore* or somthing like that)
L1090[16:05:37] <g> I think you can get a
list of oredict names from the oredict
L1091[16:05:53] <g> certainly there's a
bunch of mods that can get oredict names for items/blocks
L1092[16:08:28]
⇦ Quits: Seppon (~Noppes@ip56530f2e.direct-adsl.nl) (Read
error: Connection reset by peer)
L1093[16:08:35] ***
AshIndigo_ is now known as AshIndigo
L1094[16:09:45] <Disconsented> getOreID's
-> for each getOreName -> prefix is 'ore' looks like what I
want
L1095[16:09:49] <Disconsented> that
seems... slow
L1096[16:10:04] <barteks2x> now guava
AbstractIterator.computeNext (the inernal one) seems to take quite
some time
L1097[16:10:22] <howtonotwin> that's the
only way to deal with the ore dict
L1098[16:10:26] <howtonotwin> iterating
it
L1099[16:10:49] <TechnicianLP>
oredoubling?
L1100[16:11:04] <howtonotwin> if you need
it faster you are free to cache the results
L1101[16:11:15] <barteks2x> is there some
reason why it's not a multimap or something?
L1102[16:11:29] <howtonotwin> not
sure
L1103[16:11:43] <howtonotwin> there's a
issue on the repo to make it Set based though
L1104[16:12:12] <howtonotwin> the dict is
frozen at init(?) so at that point you should run calculations on
it
L1105[16:12:32] <barteks2x> so it's now
time to implement my own iterator without any abstract
class...
L1106[16:13:57] <tterrag> howtonotwin:
oredict is not frozen afaik
L1107[16:14:09] <howtonotwin> it's
not?
L1108[16:14:16] *
howtonotwin is seeing code ghosts
L1109[16:14:28] <barteks2x> iterator is
allowed to do whatever it wants if someone calls next when nothing
is left in it?
L1110[16:14:37] *
AshIndigo calls the ghost busters
L1111[16:14:48] <howtonotwin> well it's
frozen by power of convention :P
L1112[16:15:09] <tterrag> barteks2x:
no
L1113[16:15:11] <howtonotwin> if you
alter it after a certain point you'll get disapproving looks
L1114[16:15:12] <tterrag>
NoSuchElementException is thrown
L1115[16:15:25] <tterrag> howtonotwin:
generally the oredict should be full before postinit
L1116[16:15:31] <barteks2x> really? The
most useless thing ever
L1117[16:15:42] <howtonotwin> why?
L1118[16:16:25] <barteks2x> I have to add
if() check for soemthign that is always going to be checked
anyway
L1119[16:16:55] <howtonotwin> well what
would you have it do?
L1120[16:17:22] <howtonotwin> from the
perspective of the interface it makes sense that trying to get
something from an empty iterator should thrown an exception
L1121[16:17:46] <howtonotwin> what you
propose ("do whatever") is basically undefined
behavior
L1122[16:18:17] <howtonotwin> s/basically
//
L1123[16:18:55] <howtonotwin> that's the
point of having exceptions
L1124[16:19:18] <barteks2x> it would be
infinite loop in my case
L1125[16:19:31] <barteks2x> if you didn't
check hasNext and I didn't implement that exception
L1126[16:20:42] <barteks2x> this isn't
iterator for a collection, it creates values as they are
needed
L1127[16:20:56] <howtonotwin> well then
you need not throw the exception...
L1128[16:21:16] <howtonotwin> hasNext is
always true and therefore it's never empty
L1129[16:21:22] <howtonotwin> therefore
the exception never happens
L1130[16:21:23] <barteks2x> no, hasNext
can be false
L1131[16:21:33] <barteks2x> it's just
that it would generate new values anyway if you didn't check
it
L1132[16:21:48] <howtonotwin> then
hasNext is always true
L1133[16:22:02]
⇦ Quits: Hunterz (~hunterz@62.182.234.189) (Quit:
Leaving.)
L1134[16:22:10] <howtonotwin>
"boolean hasNext()
L1135[16:22:10] <howtonotwin> Returns
true if the iteration has more elements. (In other words, returns
true if next() would return an element rather than throwing an
exception.)"
L1136[16:22:28] <howtonotwin> so if
next() would create values (return an element and not throw)
L1137[16:22:35] <barteks2x> I think it's
still stupid to have 2 checks for the same thing
L1138[16:22:43] <howtonotwin> then
hasNext() is true even if the internal supply is depleted
L1139[16:23:12] <barteks2x> and there is
no internal supply here, it's just iterating over coordinate range
and generating values for them
L1140[16:23:33] <barteks2x> so if I don't
explicitly check if it's the end of the corrds range, it would just
go on forever
L1141[16:23:45] <howtonotwin> then don't
have the iterator go on forever :P
L1142[16:23:50] <TechnicianLP> make it
your own class - you dpnt have to consider semantics
L1143[16:24:07] <barteks2x> then I would
have to add my own way to create Spliterator for it
L1144[16:24:16] <barteks2x> or create a
stream in the first place
L1145[16:24:29] <barteks2x> the iterator
is just a way for me to get a stream
L1146[16:24:37]
⇨ Joins: KnightMiner
(~KnightMin@107-1-23-59-ip-static.hfc.comcastbusiness.net)
L1147[16:24:46] <tterrag> "the
iterator is just a way for me to get a stream" WUT
L1148[16:24:56] <diesieben07> yeah that
is terrible
L1149[16:24:57] <barteks2x> stream
interface is... big
L1150[16:25:05] <diesieben07> a plain
iterator as a stream source is a bad idea
L1151[16:25:16] <barteks2x> I then create
spliterator from it
L1152[16:25:21] <barteks2x> and use that
as source
L1153[16:25:21] <diesieben07> that does
nt help
L1154[16:25:24] <tterrag> this is why you
extend/wrap something else
L1155[16:25:29] <diesieben07> spliterator
needs to split (duh)
L1156[16:25:31] <tterrag> I've offered
you many alternate solutions, but you refused them *shrug*
L1157[16:25:36] <diesieben07> if you make
one from an iterator it can basically not split at all
L1158[16:25:47] <diesieben07> which makes
Stream much less efficient when used in parallel
L1159[16:25:59] <barteks2x> I'm not going
to use paralel version
L1160[16:26:04] <barteks2x> it would
break too many things
L1161[16:26:10] <diesieben07> if you have
a continuous source of things, use Stream.iterate for example
L1162[16:26:24] <diesieben07> there are
many better ways to get to a stream than iterator
L1163[16:26:30] <diesieben07> if anything
extend AbstractSpliterator
L1164[16:26:36] <diesieben07> which is
way easier than Iterator anyways
L1165[16:26:39] <howtonotwin>
Stream.generate maybe?
L1166[16:27:04] <diesieben07> all you
need for AbstractSpliterator is tryAdvance
L1167[16:27:09] <howtonotwin> you said
you're iterating over blocks coords and giving them values?
L1168[16:27:22] <diesieben07> which
either returns false for no elelements or calls the given lambda
with next value and returns true
L1169[16:27:27] <barteks2x> I had
AbstractIterator before, and it added 2 seconds overhead
L1170[16:27:35] <barteks2x> which was
enough to be the top thing in profiler
L1171[16:27:38] <howtonotwin>
`streamOfBlockCoords.map(generator::valueAt)` then?
L1172[16:27:49] <diesieben07> if your
code is very performance critical, Stream is most likeyl not the
right choice anyway
L1173[16:28:16] <barteks2x> well, with
iterator I can just obviously stop using the stream and use
iterator directly
L1174[16:28:25] <diesieben07> true
L1175[16:28:39] <barteks2x> if I made a
stream instead, I would have to modify it to be stream
L1176[16:28:54] <barteks2x> I just wanted
to see if performance would be good enough if I used stream
L1177[16:29:08]
⇦ Quits: KnightMiner
(~KnightMin@107-1-23-59-ip-static.hfc.comcastbusiness.net) (Ping
timeout: 198 seconds)
L1178[16:29:13] <barteks2x> so I have
code like this
L1179[16:29:13] <barteks2x>
terrainBuilder.scaledStream(start, end, new Vec3i(4, 8,
4)).map(this::getBlock).forEach(b ->
b.setBlock(cubePrimer));
L1180[16:29:18] <gr8pefish> Does
Item.getItemFromBlock account for extra data (e.g. does it
distinguish between stone and andesite)? If not, how would I do
so?
L1181[16:29:25] <howtonotwin> no
L1182[16:29:31] <diesieben07> how woudl
it?
L1183[16:29:37] <diesieben07> you need an
ItemStack for extra data
L1184[16:30:10] <barteks2x> so in the end
I'm doign forEach anyway
L1185[16:30:41] <gr8pefish> Is there any
way to get an itemstack from a block then? It looks like the
constructor for ItemStack can take in a block, but doesn't seem to
write in that extra data. There's got to be an inbuild method for
this (I would think)
L1186[16:31:08] <howtonotwin> Block has
methods for getting an ItemStack for a blockpos
L1187[16:31:09] <diesieben07> Block
itself also does not have the extra data
L1188[16:31:11] <diesieben07> you want
IBlockState
L1189[16:31:23] <diesieben07> and then
you can use getPickBlock on Block for an accurate
representation
L1190[16:33:39]
⇨ Joins: FusionLord
(~FusionLor@2600:8800:1:e900:d1bd:947e:bad7:c31f)
L1191[16:36:15] <barteks2x> the code with
iterator turns out to be very similar so the stream was useless
here: terrainBuilder.scaledIterator(start, end, new Vec3i(4, 8,
4)).forEachRemaining(e-> cubePrimer.setBlockState(e.getX(),
e.getY(), e.getZ(), getBlock(e)));
L1192[16:37:33] <gr8pefish> thanks
diesieben07. I'm trying to figure out how to get the RayTraceResult
(I got everything else). For context, I'm getting the IBlockState
and other values for getPickBlock easily enough via the
onBlockPlaced event.
L1193[16:37:45] <barteks2x> if not the
interpolation I have to do, stream would be perfect because I could
use paralel stream
L1194[16:38:01] <diesieben07> you will
have to do a raytrace
L1195[16:39:51] <gr8pefish> alright, I'll
look into it, thanks
L1196[16:41:12]
⇨ Joins: AstralSorcerer
(~AstralSor@u-of-rochester-128-151-150-18.wireless.rochester.edu)
L1197[16:46:27]
⇦ Quits: FusionLord
(~FusionLor@2600:8800:1:e900:d1bd:947e:bad7:c31f) (Quit:
Leaving)
L1198[16:47:44]
⇦ Quits: Samario
(~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net) (Quit: You
think you are above consequences.)
L1199[16:48:09] <barteks2x> what... this
is completely unexpected. World.getBiomeProvider seems to take1.4
of the ~6 seconds spent in ChunkBatcher
L1200[16:49:08] <barteks2x> (this is
vanilla code)
L1201[16:52:33] <barteks2x> argh... any
way to make visualvm sampler show line numbers of methods? It's
abit hard to figure out wher ecode is with lambdas
L1202[16:53:31] <howtonotwin> lambdas are
probably made into private methods
L1203[16:53:43] <howtonotwin> so they
likely do not add to method where they are defined
L1204[16:53:49] <howtonotwin> only to
their caller
L1205[16:53:50] <diesieben07> yep
L1206[16:54:00] <diesieben07> they
compile to something like void lambda$0
L1207[16:54:13] <kenzierocks> depends on
the lambda
L1208[16:54:13] <barteks2x> yes, and it's
nearly impossibel to fugure out where it isnjust from name
L1209[16:54:20] <kenzierocks> wat
L1210[16:54:24] <kenzierocks> it's
usually really easy
L1211[16:54:25] <barteks2x> anyway, i
forgot this method has only one lambda
L1212[16:54:43] <kenzierocks> the number
after the $ is the number of anon classes from the top
L1213[16:55:04] <kenzierocks> since
lambdas are usually anon classes, it's not that difficult to count
them
L1214[16:55:09] <diesieben07> and if you
really want, make a method and use a method reference
L1215[16:55:12] <kenzierocks> and the
lambda has the method name
L1216[16:55:12] <diesieben07> which is
the same thing, but explicit
L1217[16:56:13] <Akkarin> Generally
lambdas still behave a little bit wonky
L1218[16:56:14] <tterrag> lambdas aren't
ever *quite* anon methods afaik
L1219[16:56:22] <tterrag> and
noncapturing lambdas definitely aren't
L1220[16:56:30] <Akkarin> if you ever
tried to hotswap code that makes heavy use of lambdas you'll know
exactly what I mean
L1221[16:56:32]
⇨ Joins: MonkeyTyrant
(~MonkeyTyr@24.224.250.102)
L1222[16:56:37] <barteks2x> so a method
that is essentially a bunch of array lookups and ifs takes3.4
seconds in worldgen code
L1223[16:56:51]
⇦ Quits: MonkeyTyrant (~MonkeyTyr@24.224.250.102) (Client
Quit)
L1224[16:57:46] <kenzierocks> you really
ought to use the profiler instead of the sampler if you're going
for timings
L1225[16:58:07] <barteks2x> but profiler
also instruments small methods
L1226[16:58:24] <barteks2x> so prevents a
lot of JM optimizations
L1227[16:58:29] <barteks2x> *JVM
L1228[16:58:45] <barteks2x> and worldgen
takes forever when runnign with profiler
L1229[16:58:58] <barteks2x> it would be
close to 1 hour to generate spawnpoint
L1230[16:59:16] <barteks2x> (last time I
tried)
L1231[16:59:28] <barteks2x> and profiler
disagrees with java 8 last time I tried
L1232[16:59:30] <barteks2x> and crashes
MC
L1233[16:59:39] <bartman> it was fun for
me but I did run profiler remotely on a hosted server
L1234[16:59:45] <bartman> heh
L1235[16:59:48] <bartman> fine
L1236[16:59:51] <bartman> as well as
fun
L1237[17:00:48] <barteks2x> what would be
way more useful is something like JMH perfasm but when running
outside of benchmark
L1238[17:01:27]
⇨ Joins: KnightMiner
(~KnightMin@107-1-23-59-ip-static.hfc.comcastbusiness.net)
L1239[17:01:41] <Akkarin> profiling is
never really fun tbh
L1240[17:02:09] <kenzierocks> you guys
aint doing something right
L1241[17:02:14] <kenzierocks> profiler
solves all my problems
L1242[17:02:19] <barteks2x> yourkit
profiler had acceptable performance when I used the trial
version
L1243[17:02:20] <kenzierocks> you just
gotta know how to work it
L1244[17:02:32] <barteks2x> make it not
crash MC and I will use it
L1245[17:02:38] <kenzierocks> it
doesnt?
L1246[17:02:44] <kenzierocks> last time I
tried at least
L1247[17:02:46] <howtonotwin> tfw
visualvm is broken on your potato and google can't fix it
L1248[17:02:48] <kenzierocks> which was
pretty recent
L1249[17:02:50] <barteks2x> for me it
does but that could be because of java 8
L1250[17:02:55] <tterrag> yeah, visualvm
profiler crashes me too
L1251[17:02:56] <tterrag> j8
L1252[17:02:59] <kenzierocks> visualvm
1.3.9 fixes all the j8 stuff
L1253[17:03:04] <tterrag> ah maybe I'm
behind
L1254[17:03:10] <tterrag> I do recall
looking up the bug tracker and seeing it was fixed
L1255[17:03:15] <barteks2x> I have
1.3.8
L1256[17:03:19] <Akkarin> VisualVM does
come with a pretty nice performance impact last I checked. So not
surprised it does blow up Minecraft tbh
L1257[17:03:23] <tterrag> so I'll have to
update then
L1258[17:03:30] <tterrag> profiler will
of course impact performance
L1259[17:03:35] <tterrag> but if you
filter it down properly, it works fine
L1260[17:03:40] <barteks2x> uh... gentoo
doesn't have 1.3.9 available
L1261[17:03:47] <Akkarin> >
gentoo
L1262[17:03:48] <kenzierocks>
sucks2beu
L1263[17:04:00] <Akkarin> > not
compiling it yourself anyways
L1264[17:04:13] <howtonotwin> that's LFS
:P
L1265[17:04:20] <Akkarin> Gentoo also
makes you compile all the things
L1266[17:04:31] <howtonotwin> but it
automates the compiling
L1267[17:04:43] <howtonotwin> you set
flags and then emerge does the rest
L1268[17:04:50] <Akkarin> Well yeah.
Pretty sure you can edit the build files to cover for a lacking
version though ;-)
L1269[17:05:02] <barteks2x> you can but I
didn't learn how yet
L1270[17:05:03] <Akkarin> aka not having
it in the repos comes at no penalty for you
L1271[17:05:04] <howtonotwin> LFS you
have nothing and need to actually bootstrap from an existing
install :P
L1272[17:05:05] <bartman> they let just
about anyone submit to portage I've had to fix so many stupid
errors with peoples build scripts
L1273[17:05:11] <bartman> I couldn't
stand it anymore
L1274[17:05:11] <Akkarin> I am very
aware
L1275[17:05:26] *
Akkarin huggles Arch a bit tighter
L1276[17:05:31] <howtonotwin> xD
L1277[17:05:37] *
kenzierocks sits on OSX
L1278[17:05:40] <kenzierocks>
chillin'
L1279[17:05:59] <barteks2x> I don't think
profiler deals well with lots of small methods
L1280[17:06:03] <howtonotwin> tfw you're
a Windows heathen using WSL for your *nixy needs
L1281[17:06:15] <howtonotwin> can't you
have a filter?
L1282[17:06:18] <kenzierocks> windows
subsystem for LOSERS
L1283[17:06:35] <howtonotwin> it's
actually quite neat how they made it work
L1284[17:06:46] <Akkarin> It is as long
as it doesn't break all your stuff
L1285[17:06:49] <Akkarin> such as git ...
for instance
L1286[17:06:56] <kenzierocks> or
screen/tmux :D
L1287[17:07:01] <howtonotwin> it's like a
port of UML for Windows
L1288[17:07:09] <kenzierocks> or
upgrading it at all because everything is kill
L1289[17:07:23] <Akkarin> That thing is
more duct tape than anything else tbh
L1290[17:07:24]
⇦ Quits: AstralSorcerer
(~AstralSor@u-of-rochester-128-151-150-18.wireless.rochester.edu)
(Ping timeout: 186 seconds)
L1291[17:07:28] <Akkarin> just a nice
thing to advertise
L1292[17:07:36] <howtonotwin> duct
tape?
L1293[17:07:44]
⇨ Joins: ScottehBoeh (~ScottehBo@95.144.45.252)
L1294[17:07:51] <howtonotwin> the only
problem is that there are too many syscalls to implement :P
L1295[17:08:07]
⇨ Joins: Shambling
(~Shambling@24-181-186-74.dhcp.nwtn.ct.charter.com)
L1296[17:08:10] ***
diesieben07 is now known as diesieben|away
L1297[17:08:11] <howtonotwin> (and some
permission stuff but meh)
L1298[17:08:17] <Akkarin> Might as well
be a sane person and just use a real *NIX to begin with
L1299[17:08:23] ***
Mine|away is now known as minecreatr
L1300[17:08:35] <howtonotwin> technically
it is real *nix
L1301[17:08:42] <Akkarin> olol
L1302[17:08:59] <howtonotwin> you're
running *nix code on (what looks like) a real *nix kernel :P
L1303[17:09:19] <howtonotwin> saying WSL
is not *nix is like saying UML is not *nix
L1304[17:09:44] <kenzierocks> it is real
ubuntu
L1305[17:10:13] <kenzierocks> just ubuntu
+ *nix software makes assumptions that don't really apply
L1306[17:10:21] <Akkarin> It's no more
than a layer between the program and the Windows kernel afaik
L1307[17:10:22] <kenzierocks> erm, not
apply ... but they're not there
L1308[17:10:56] <Akkarin> aka a fancy way
of saying "I emulate this environment"
L1309[17:11:03] <barteks2x> does that
thing allow to delete file that is in use like linux does? or does
it go the widnows way?
L1310[17:11:24] <howtonotwin> think the
first
L1311[17:11:25] <Akkarin> given that it
is a layer the answer would probably be "no"
L1312[17:11:27] <howtonotwin> lemme
test
L1313[17:11:34]
⇨ Joins: Everseeking
(~Everseeki@pool-100-6-95-214.pitbpa.fios.verizon.net)
L1314[17:11:38] <howtonotwin> well it's
layer that's rooted deep in the kernel
L1315[17:11:50] <howtonotwin> it can
probably do some weird things
L1316[17:11:51] <Akkarin> since the layer
between the program and the kernel is just going to forward calls
to the backing kernel implementation
L1317[17:11:55] <howtonotwin> (like
fork())
L1318[17:11:57] <Akkarin> e.g. it has to
obey kernel rules
L1319[17:12:06] <Akkarin> well fork as
similar things in the Windows API
L1320[17:12:09] <Akkarin> they're just
not called fork
L1321[17:12:12] <barteks2x> so now the
question is if kernel allows deleting file that is being used
L1322[17:12:22] <barteks2x> *windows
kernel
L1323[17:12:32] <Akkarin> Windows in fact
has a lot of methods that are similar or equal to the *NIX methods.
They're just renamed or behave slightly different.
L1324[17:13:40] <barteks2x> I was waiting
2 years to get my laptop/gpu compatible with linux, and it will
finally maybe work on kernel 4.10
L1325[17:14:07] <howtonotwin> is there a
command that'll just hold a file open?
L1326[17:14:19] <barteks2x> just open it
in text editor?
L1327[17:14:32] <barteks2x> or does linux
text editor not keep file open?
L1328[17:14:47] <howtonotwin> vi seems to
complicated to just hold the file
L1329[17:14:50] <howtonotwin> *too
L1330[17:14:55] <howtonotwin> well I have
/proc/*/fd
L1332[17:14:58]
⇦ Quits: Vazkii (~Vazkii@144.134.37.188.rev.vodafone.pt)
(Read error: Connection reset by peer)
L1333[17:15:01] <kenzierocks> more cool
things on that blog
L1334[17:15:44] ***
illy[Zzz] is now known as illy
L1335[17:15:45] <howtonotwin> well vi
copies it to a temp file
L1336[17:15:50] <illy> boop o/
L1337[17:15:50] <barteks2x> right now I
have special kernel patches made specifically for my laptop to have
my gpu working after suspend ...
L1338[17:15:53] <howtonotwin> I can
delete that in any case :P
L1339[17:16:21] <kenzierocks> Akkarin:
fork is not done in windows
L1340[17:16:24] <kenzierocks> >As a
final example, the Linux fork syscall has no documented equivalent
for Windows.
L1341[17:16:32]
⇨ Joins: Meronat
(uid190493@id-190493.highgate.irccloud.com)
L1342[17:16:35] <howtonotwin> well I
deleted the temp file, vi is not broken
L1343[17:16:47] <howtonotwin> now if proc
can undelete it we're good
L1345[17:16:57] ***
amadornes is now known as amadornes[OFF]
L1346[17:16:57] <barteks2x> is it
possible to run windows programs from that thing?
L1347[17:17:04] <barteks2x> pr access
windows filesystem?
L1348[17:17:11] <kenzierocks> Akkarin:
exactly, so fork on WSL is not done via that call
L1349[17:17:22] <howtonotwin> they're
working on that
L1350[17:17:30] <kenzierocks> don't try
to argue this, the people who wrote it said so
L1351[17:17:33] <Akkarin> It is converted
to that internally or they are emulating part of its
functionality
L1352[17:17:34] <howtonotwin> or maybe
they finished it and it's released
L1353[17:17:51] <howtonotwin> and it
already has access to the fs
L1354[17:17:58] <howtonotwin> it just
doesn't know the exec format
L1355[17:18:05] <howtonotwin> and..
L1356[17:18:07] <howtonotwin> oh
L1357[17:18:12] <howtonotwin> well it has
the correct data
L1358[17:18:14] <kenzierocks> Akkarin:
it's documented on the blog i linked yo
L1359[17:18:14] <howtonotwin> in
proc
L1360[17:18:18] <Akkarin> WSL as is is no
more than a system that finds compatibility methods which mimic
*NIX behavior in the Windows kernel. It's effectively just a fancy
loader for ELFs
L1361[17:18:20] <howtonotwin> but it's
also kinda mangled
L1362[17:18:22] <howtonotwin> :P
L1363[17:18:28] <howtonotwin> could just
be vi
L1364[17:18:58] <howtonotwin> Yep just
vi
L1365[17:19:11] <howtonotwin> it mangles
it's swap files for some reason
L1366[17:19:37] <howtonotwin> doh
L1367[17:19:42] <Akkarin> kenzierocks:
"kernel mode pico drivers (lxss.sys and lxcore.sys) that are
responsible for handling Linux syscall requests in coordination
with the NT kernel. The drivers do not contain code from the Linux
kernel but are instead a clean room implementation of
Linux-compatible kernel interfaces."
L1368[17:19:43] <howtonotwin> exec
{test}<>file
L1369[17:19:51] <Akkarin> they literally
say that it is in fact just as I described
L1370[17:19:55] <barteks2x> what does it
do befpre I try it?
L1371[17:20:01] <Akkarin> the image below
even outlines how it works
L1372[17:20:08] <kenzierocks> > they
are emulating part of its functionality
L1373[17:20:09] <kenzierocks> yes
L1374[17:20:11] <kenzierocks> that is
right
L1375[17:20:12] <howtonotwin> makes bash
open an fd rw-mode to file
L1376[17:20:21] <howtonotwin> it's fd
number is saved to $test
L1377[17:20:47] <Akkarin> so again: it's
no more than a fancy library that provides a wrapper between the
program and the kernel, along with an ELF parser of sorts of
course
L1378[17:20:49] <howtonotwin> this can
also be abused in that bash allows you to redirect to/from tcp
connections
L1379[17:21:02] <kenzierocks> i'm not
sure where I said it wasn't?
L1380[17:21:13] <howtonotwin> so you can
have pure bash browsers
L1381[17:21:16] <Akkarin> Well it sounded
much like you did
L1382[17:21:19]
⇨ Joins: mezz
(~mezz@2600:1010:b053:89c8:ad19:9704:5bfb:5e2f)
L1383[17:21:20]
MineBot sets mode: +v on mezz
L1384[17:21:30] <kenzierocks> the whole
fork() call isn't done with the method you linked -- that's all i
said
L1385[17:21:44] <Akkarin> Well do you
know the source behind the wrapper?
L1386[17:21:49] <howtonotwin> (ofc the
only thing worse than parsing html with regex is parsing it with
shell globs)
L1387[17:21:51] <kenzierocks> no
L1388[17:21:53] <kenzierocks> you know
what
L1389[17:21:55] <kenzierocks> i suck at
arguing
L1390[17:21:58] <kenzierocks> why do i
keep doing it
L1391[17:22:03] <howtonotwin> xD
L1392[17:22:04] <kenzierocks> i'm fucking
terrible at it
L1393[17:22:05]
⇨ Joins: quadraxis
(~quadraxis@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net)
L1394[17:22:08] <kenzierocks> i'll just
leave
L1395[17:22:11]
⇦ Parts: kenzierocks
(~kenzieroc@yes.quite.indeed.old.chap.it.is.kenzierocks.me)
(*blip*))
L1396[17:22:13] <Akkarin> ...
L1397[17:22:18] <Akkarin> m(
L1398[17:22:57] <howtonotwin> it works
fine
L1399[17:23:38] <howtonotwin> echo
"Test" > file; exec {test}<>file; rm file; cat
/proc/$$/fd/$test
L1400[17:24:13] <Akkarin> Well if you can
delete a file that is currently loaded in memory, you'll run into
some serious trouble with regular Windows programs
L1401[17:24:24] <Akkarin> or rather not
loaded in memory but open in another program
L1402[17:24:41] <howtonotwin> WSL fs and
windows fs are separate
L1403[17:24:54] <howtonotwin> one
preserves *nix semantics
L1404[17:25:08] <howtonotwin> the other
just hacks together an interface that sorta looks like it
L1405[17:25:26] <howtonotwin> trying to
do that on the C drive instead of at / would probably fail
L1406[17:25:59] <Akkarin> My best guess
is that it probably holds off on calls or doesn't allow the *NIX
nonsense to actually lock
L1407[17:26:07] <Akkarin> there's some
sort of hackery in there for sure
L1409[17:26:59] <howtonotwin> just one
thing bugs me...
L1410[17:27:06] <howtonotwin> you can't
jump up the terrain :P
L1411[17:27:33] <barteks2x> this is
attempt to generate vanilla-like terrain scaled to max 200 blocks
above sea level
L1412[17:27:44] <howtonotwin> ah
L1413[17:27:56]
⇦ Quits: KnightMiner
(~KnightMin@107-1-23-59-ip-static.hfc.comcastbusiness.net) (Ping
timeout: 198 seconds)
L1414[17:28:04] <barteks2x> the dirt
thing is close to unfixable
L1415[17:28:39] <barteks2x> Instead of
scalling top down like vanilla does to generate dirt/grass I do it
completely differently
L1416[17:29:29] <barteks2x> I take the
density value used to generate terrain and calculate gradient of
it, and give that to method that figures out what block should
there be at given coords
L1417[17:29:53] <barteks2x> and if
density is within some range and gradient goes down, then it's
dirt
L1418[17:30:58] <barteks2x> and I predict
density above using the gradient to determine where to generate
grass
L1419[17:31:20]
⇨ Joins: cpup (~cpup@32.218.119.168)
L1420[17:33:16]
⇨ Joins: kenzierocks
(~kenzieroc@yes.quite.indeed.old.chap.it.is.kenzierocks.me)
L1421[17:39:33]
⇨ Joins: Eragonn1490
(~eragonn14@2600:1005:b015:7081:995d:8dad:871f:e3ee)
L1422[17:42:51] <barteks2x> how could 3.3
SECONDS be spent in total in world.getSeed?
L1423[17:43:00] <Akkarin> lolwat
L1424[17:43:30] <Akkarin> overall or per
call. The former would be sane over some time
L1425[17:43:36] <barteks2x> overall
L1426[17:43:56] <barteks2x> it's sampler
so it could be yet another way sampler is lying
L1427[17:44:25] <barteks2x> but I would
expect jvm to optimize simple getters
L1428[17:44:43] <barteks2x> oh... because
it's not simple
L1429[17:45:05] <barteks2x> it asks world
provider for seed, which takes world.worldInfo and asks it for
seed
L1430[17:45:29] <barteks2x> and the
randomSeed field isn't even final
L1431[17:46:21] <barteks2x> vanilla does
it the same way so I expected it wouldn't be much worse...
L1432[17:46:31] <barteks2x> it is,
exactly 17 times worse
L1433[17:47:07] <barteks2x> but that's
literally more time than spent actually generating caves
L1434[17:47:12] <barteks2x> this IS
wrong
L1435[17:48:32]
⇦ Quits: cpup (~cpup@32.218.119.168) (Ping timeout: 384
seconds)
L1436[17:53:23] <Eragonn1490> bartek2x
are you good with biomes? as of 1.10.2 i cant get mine
working?
L1437[17:54:24]
⇨ Joins: KnightMiner
(~KnightMin@107-1-23-59-ip-static.hfc.comcastbusiness.net)
L1438[17:56:32] <barteks2x> what is the
problem?
L1439[17:57:04] <Eragonn1490> wont spawn
period, no real proof that it even exists
L1440[17:57:37] <Eragonn1490> ill show
you my code shortly
L1442[18:00:20]
⇦ Quits: KnightMiner
(~KnightMin@107-1-23-59-ip-static.hfc.comcastbusiness.net) (Ping
timeout: 198 seconds)
L1443[18:00:46]
⇦ Quits: untamemadman
(~untamemad@cpc87177-aztw31-2-0-cust196.18-1.cable.virginm.net)
(Quit: Leaving)
L1444[18:00:50] <barteks2x> looking at
biome generation code now
L1445[18:00:51]
⇨ Joins: KnightMiner
(~KnightMin@107-1-23-59-ip-static.hfc.comcastbusiness.net)
L1446[18:02:26] <barteks2x> I don't see
anything that would prevent it wrong working
L1447[18:03:16] <Eragonn1490> test it
with a generic biome of any type
L1448[18:03:30] <Eragonn1490> it will
never be a spawn biome or generate ,-,
L1450[18:04:09] <howtonotwin> (that is,
clone the repo and build a custom forge)
L1451[18:04:44] <howtonotwin> that causes
the BiomeManager and other stuff to throw exceptions when you do
something wrong
L1452[18:05:01] <howtonotwin> or just
debug it
L1453[18:05:11] <howtonotwin> chances are
there's an error that's getting swallowed
L1454[18:05:55] <barteks2x> biome
generator should generate a biome that is there in
BiomeManager
L1455[18:05:57] <barteks2x> always
L1456[18:06:13] <barteks2x> unless it has
weight 0, then not
L1457[18:06:35] <barteks2x> (looking at
the code, negative weitht could be interesting)
L1458[18:07:23] <howtonotwin> throwing
negatives into formulas formulated for positives only is always
interesting :P
L1459[18:08:03] <howtonotwin> it's like
colliding a proton and antiproton and analyzing the fallout
L1460[18:08:13] <Shambling> is there a
way to get minecraft to crash faster when the 'server' for single
player crashes?
L1461[18:08:27] <barteks2x> why would you
want that O.o
L1462[18:08:57] <Shambling> so I know
when minecraft has crashed in 5 minutes loading time, instead of 20
minutes of it sitting there
L1463[18:08:58] <Shambling> lol
L1464[18:09:00] <barteks2x> it's not like
crashing is common enough that it's performance issue
L1465[18:09:04] <Shambling> I'm crashing
on joining my single player with
java.lang.IllegalArgumentException: bound must be positive
L1466[18:09:33] <Shambling> on
chunkprovideroverworld.func_186034
L1467[18:09:45] <Shambling> so I'm all
like, woulda been nice to know you crashed 5 minutes ago. :P
L1468[18:10:01] <barteks2x> that's world
generator crashing, that could be from random number
generator
L1469[18:10:07] <barteks2x> !gm
func_186034
L1470[18:10:14] <Shambling> yeah earlier
it was saying something about random
L1471[18:10:15] <barteks2x> is that
1.7.10?
L1472[18:10:25]
⇦ Quits: Gigabit101
(~Gigabit10@cpc76690-cosh16-2-0-cust331.6-1.cable.virginm.net)
(Ping timeout: 206 seconds)
L1473[18:10:28] <Shambling>
java.util.Random.nextInt(Random.java:388) and 1.10.2
L1474[18:10:32] <barteks2x> !gm
func_186034 1.10.2
L1475[18:10:40] <Shambling> probably ran
out of ram or something, since 1.10.2 is super greedy with
ram
L1476[18:10:42] <barteks2x> !!gm
func_186034 1.10.2
L1477[18:10:42] <MCPBot_Reborn> No
results found.
L1478[18:10:59]
⇨ Joins: Gigabit101
(~Gigabit10@cpc76690-cosh16-2-0-cust331.6-1.cable.virginm.net)
L1479[18:11:07] ***
Abrar|gone is now known as AbrarSyed
L1480[18:11:09] <Shambling> !gm
func_186034_a
L1481[18:11:13] <barteks2x> it's most
likely trying to generate somethign in empty chunk
L1482[18:11:21] <Shambling> must be the
_a I left out when typing it
L1483[18:12:22] <barteks2x> populateChunk
--> most likely generating stuff in empty chunk
L1484[18:12:47] <barteks2x> so it's
trying to generate number between 0 (inclusinve) and 0
(exclusive)
L1485[18:12:57] <Shambling> well I'll try
a new world, might be difference in mods between the world and
previous mod set
L1486[18:13:07] <Shambling> I just
updated a few libraries, but I suppose some ID's could have been
scrambled
L1487[18:13:23] <barteks2x> unless
bedrock got removed, it shouldn't be that bad
L1488[18:14:44] <Shambling> to be honest,
could be too many mods modifying bedrock. I forget what I was even
doing last when building this test modpack
L1489[18:14:55] <Shambling> think I'll
stick to the simplified style one where its just immersive
engineering and some flavor mods
L1490[18:16:24] <barteks2x> my world
generator just won't have that issue at all, it will have to work
even with negative coords :D
L1491[18:23:14]
⇨ Joins: Cast0077
(~Cast0077@24-151-68-108.dhcp.nwtn.ct.charter.com)
L1492[18:25:33]
⇦ Parts: Yato (~po.yay.to@45.55.141.36)
(Half-ded))
L1493[18:33:56]
⇦ Quits: karjah
(~karjah@h130.220.88.75.dynamic.ip.windstream.net) (Ping timeout:
198 seconds)
L1495[18:37:11] <Shambling> here let me
blindly click on that weird link
L1496[18:37:25] <Shambling> well its
sitting at loading indefinitely for me :P
L1497[18:42:20] <barteks2x> after some
time it loaded for me
L1498[18:42:39] <barteks2x> but I don't
know what that is (other than "it's a stacktrace")
L1499[18:43:00] <TechnicianLP> its the
page to submit the solutions to a german programming
competition
L1500[18:43:28] <barteks2x> oh, I though
it's a weird pastebin-like website
L1501[18:43:33] <TechnicianLP> which has
deadline in ~an hour and the page broke
L1502[18:43:37] <barteks2x> and you sent
a stacktrace :D
L1503[18:44:07] <barteks2x> obviously you
shouldn't wait until the last hour
L1504[18:45:13]
⇦ Quits: PitchBright
(~PitchBrig@CPE00fc8d8a3ce3-CM00fc8d8a3ce0.cpe.net.cable.rogers.com)
(Ping timeout: 206 seconds)
L1505[18:45:56]
⇨ Joins: PitchBright
(~PitchBrig@cpe00fc8d8a3ce3-cm00fc8d8a3ce0.cpe.net.cable.rogers.com)
L1506[18:46:20] <TechnicianLP> well who
would expect the site breaking?
L1507[18:47:17] <barteks2x> I would,
because if everyone waits until the end this is what happens
L1508[18:48:20]
⇦ Quits: ScottehBoeh (~ScottehBo@95.144.45.252) (Ping
timeout: 198 seconds)
L1509[18:49:01] <Shambling> always expect
expert sites to fail at being good at what they do
L1510[18:49:36] *
howtonotwin looks at Google
L1511[18:49:47] *
howtonotwin is ashamed for relying so strongly on a single
site
L1512[18:50:15] <Lord_Ralex> tbf, there
are other engines
L1513[18:50:19] <Lord_Ralex> not nearly
as good, but still
L1514[18:50:53] <TechnicianLP> thanks for
confirming it broken! have to go now ...
L1515[18:50:57] <barteks2x> others just
don't look like what I'm used to
L1516[18:52:24] <Shambling> dear lord, no
wonder that pack seemed weird in the back of my brain
L1517[18:52:28] <Shambling> I forgot to
install stepup fixer
L1518[18:52:48] <Shambling> how do they
always implement things that have worked so well in mods, so badly
in base game
L1519[18:53:25]
⇨ Joins: TechnicianLP2
(~Technicia@p4FE1C24B.dip0.t-ipconnect.de)
L1520[18:57:40]
⇦ Quits: TechnicianLP
(~Technicia@p4FE1C24B.dip0.t-ipconnect.de) (Ping timeout: 384
seconds)
L1521[19:00:35]
⇨ Joins: Elec0
(~Elec0@porter-29-249.resnet.ucsc.edu)
L1522[19:03:56]
⇦ Quits: Upth
(~ogmar@108-85-88-44.lightspeed.frokca.sbcglobal.net) (Killed
(NickServ (GHOST command used by Upthorn)))
L1523[19:04:31]
⇨ Joins: Upth
(~ogmar@108-85-88-44.lightspeed.frokca.sbcglobal.net)
L1524[19:18:39]
⇦ Quits: AforAnonymous (bitch2k@dyn-051-159.vix2.mmc.at)
(Read error: Connection reset by peer)
L1525[19:19:58]
⇦ Quits: Everseeking
(~Everseeki@pool-100-6-95-214.pitbpa.fios.verizon.net) (Read error:
Connection reset by peer)
L1526[19:24:18]
⇦ Quits: quadraxis
(~quadraxis@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net)
(Ping timeout: 384 seconds)
L1527[19:34:48] <Shambling> man its too
bad this seed only works with this exact combination of mods
L1528[19:34:50] <Shambling> its super
weird
L1529[19:35:22]
⇦ Quits: sinkillerj
(~sinkiller@nc-67-232-15-221.dhcp.embarqhsd.net) (Quit:
またね)
L1530[19:35:30] <Shambling> ae2 meteorite
about 100 blocks away from spawn, spawn in a village with darksteel
boots and a drowning charm, second village about 250 blocks another
direction, HUGE holes in the ground
L1531[19:37:07]
⇨ Joins: cpup (~cpup@32.218.119.168)
L1532[19:40:10]
⇦ Quits: TechnicianLP2
(~Technicia@p4FE1C24B.dip0.t-ipconnect.de) (Ping timeout: 384
seconds)
L1533[19:41:09]
⇦ Quits: Shambling
(~Shambling@24-181-186-74.dhcp.nwtn.ct.charter.com) (Quit:
Leaving)
L1534[19:51:36]
⇨ Joins: Grover_c13
(~Courtney@203-59-199-82.dyn.iinet.net.au)
L1535[19:53:42]
⇦ Quits: MalkContent (~MalkConte@79.220.228.92) (Quit:
Leaving)
L1536[19:56:04]
⇦ Quits: edr (~edr@d-65-175-180-73.cpe.metrocast.net) (Read
error: Connection reset by peer)
L1537[19:59:07] ***
Keridos is now known as Keridos|away
L1538[20:03:25]
⇨ Joins: blood_
(unknown@ool-4574115b.dyn.optonline.net)
L1539[20:09:58] <barteks2x> So I'm trying
to make something like ChunkProviderSettings, any way to avoid
repeating list of all config options 8 times?
L1540[20:13:40]
⇦ Quits: IceDragon (~ThatGuy@184.170.49.114) (Ping timeout:
206 seconds)
L1541[20:14:44]
⇦ Quits: KnightMiner
(~KnightMin@107-1-23-59-ip-static.hfc.comcastbusiness.net) (Ping
timeout: 198 seconds)
L1542[20:14:49] <barteks2x> (other than
using reflection, because in java that would probably end up worse
than repeating it 8 times)
L1543[20:18:32]
⇨ Joins: KnightMiner
(~KnightMin@107-1-23-59-ip-static.hfc.comcastbusiness.net)
L1544[20:30:06]
⇦ Quits: Subaraki
(~Artix@mf763-h01-176-150-102-154.dsl.sta.abo.bbox.fr) (Ping
timeout: 206 seconds)
L1545[20:31:00]
⇦ Quits: Artillect
(~Artillect@2602:306:c407:2eb0:cd7e:8cfd:5444:e25d) (Read error:
Connection reset by peer)
L1546[20:42:02]
⇨ Joins: wundrweapon
(uid131782@id-131782.ealing.irccloud.com)
L1547[20:42:13] <wundrweapon> heyyy my
dudes
L1548[20:42:20] <wundrweapon> been a
while
L1549[20:44:00] <Eragonn1490>
welcome
L1550[20:44:26] <wundrweapon> whale
comb
L1552[20:44:37] <Eragonn1490> what did i
miss/
L1553[20:45:31] <wundrweapon> hmm...
random hunch here, add an Override annot and see if it errors
L1554[20:46:06] ***
Vigaro is now known as Vigaro|AFK
L1555[20:46:52]
⇨ Joins: ScottehBoeh (~ScottehBo@95.144.82.240)
L1556[20:47:18] <wundrweapon> aaaand
they're gone
L1557[20:49:18] <howtonotwin> ew@line
5
L1558[20:49:23]
⇨ Joins: Everseeking
(~Everseeki@pool-100-6-95-214.pitbpa.fios.verizon.net)
L1559[20:49:30] <howtonotwin> *16
L1560[20:49:36] <howtonotwin> why are you
testing getMetadata?
L1561[20:49:42] <howtonotwin> just check
the enum value
L1562[20:50:01] <howtonotwin> otherwise
you defeat the purpose of blockstates
L1563[20:50:06] <wundrweapon> ew at both
16 _and_ 5
L1564[20:50:23] <howtonotwin> and why the
casts?
L1565[20:50:27] <howtonotwin> these
methods are generic
L1566[20:50:45] <howtonotwin> if TYPE is
IProperty<EnumBookshelf> you need no casts
L1567[20:51:14] <howtonotwin> and the 3
param to setBlockState matters
L1568[20:51:18] <howtonotwin> *3rd
L1569[20:51:23] <howtonotwin> it's a
flag
L1570[20:51:29] <howtonotwin> one means
"send to clients"
L1571[20:51:37] <howtonotwin> another
means "cause a block update"
L1572[20:51:39] <wundrweapon> ah, generic
types - I love them, and I hate them, and they're useful, and
they're confusing and GRR
L1573[20:51:54] *
howtonotwin introduces wundrweapon to Go
L1574[20:52:08] <wundrweapon> Go? as in,
the game?
L1575[20:52:08] <howtonotwin> and another
means "rebuild the render for the chunk"
L1576[20:52:18] <howtonotwin> you can't
just use random numbers for them
L1577[20:52:20] <howtonotwin> the
language
L1578[20:52:28] <howtonotwin> it has no
generics
L1579[20:52:30] <wundrweapon> never heard
of it. will research
L1580[20:52:45] <howtonotwin> indeed,
it's OO but it lacks many features of most OO langs
L1581[20:52:54] <wundrweapon> (neither
does BrainFuck and I'm fairly fluent in that)
L1582[20:53:14] <howtonotwin> but it has
a channels
L1583[20:53:27] <wundrweapon> eh
L1584[20:53:31] <howtonotwin> which are a
builtin of the language made for threading
L1585[20:53:54] <howtonotwin> basically
they're pipes between threads, except they transfer entire
structs
L1586[20:54:04] <Eragonn1490> that fixed
it @how
L1587[20:54:15] <howtonotwin> yay
L1588[20:54:59] <howtonotwin> so you
removed the flags on setBlockState, right?
L1589[20:55:14] <howtonotwin> just
world.setBlockState(pos, state) is good for most cases
L1590[20:55:38] <wundrweapon> for that
third param on the setBlockState method: it uses trickery by adding
powers of two, like how the Wii handles buttons.
L1591[20:55:53] <howtonotwin> and also
there's cycleProperty, which does what you're doing here I
thin
L1592[20:55:55] <howtonotwin>
*think
L1593[20:55:57] <howtonotwin> wut
L1594[20:56:02] <howtonotwin> the
Wii?
L1595[20:56:12] <wundrweapon> the Wii,
yes
L1596[20:56:50] <wundrweapon> the value
it uses to determine which buttons are being pressed uses the same
system as that flags param by adding powers of 2
L1597[20:57:03] <howtonotwin>
bitfields
L1598[20:57:08] <howtonotwin> the word is
bitfield :P
L1599[20:57:12] <wundrweapon>
...whatever
L1600[20:57:16] <howtonotwin> you set and
unset bits
L1601[20:57:23] *
wundrweapon thought he was being intelligent
L1602[20:57:28] <howtonotwin> and it has
the effect of looking like powers of two
L1603[20:57:32] <howtonotwin> but mostly
it's bits
L1604[20:57:47]
⇨ Joins: Artillect
(~Artillect@2602:306:c407:2eb0:b52f:b0c7:daf1:7df1)
L1605[20:57:53] <howtonotwin> so for the
wii's 4 buttons you'd use 4 bits
L1606[20:57:59] <howtonotwin> 0000 (4
unset) = no buttons
L1607[20:58:05] <wundrweapon> OH speaking
of bitfields, guess how Metal Gear's US NES port's password system
worked? yup, bitields
L1608[20:58:07] <Artillect> What are some
benifits of using IntelliJ IDEA over Eclipse for modding?
L1609[20:58:14] <howtonotwin> oh
god
L1610[20:58:17] <howtonotwin> flamewar
incoming
L1611[20:58:19] <howtonotwin> run
L1612[20:58:25] <Deamon> its just
whatever your preference is
L1613[20:58:28] <Deamon> both work
fine
L1614[20:58:38] <kashike> each has their
own upsides and downsides, it comes down to which you like
more
L1615[20:58:47] <howtonotwin> 0010 = bit
2 (which is assigned some arbitrary meaning) on
L1616[20:58:58] <wundrweapon> people
started making up passwords to see what they could do, and some of
the more vulgar passwords, like "FUCKME" are fairly odd
(that one puts you at the end of the game with only a pack of
cigarettes)
L1617[20:59:04] <Artillect> how easy is
it to convert from an eclipse forge project to an intellij
one?
L1618[20:59:08] <howtonotwin> 0110 = bit
2 and 3 (both with arbitrary meanings) on
L1619[20:59:10] <howtonotwin> very
L1620[20:59:12] <howtonotwin>
basically
L1621[20:59:19] <howtonotwin> delete the
IDE project descriptor
L1622[20:59:19] <Deamon> pretty sure you
can import the eclipse project into intellij
L1623[20:59:23] <howtonotwin> then open
it in the other :P
L1624[20:59:45] <wundrweapon> dont you
need to run "gradlew whateverthenewideis"
L1625[20:59:53] <howtonotwin> only for
eclipse
L1626[20:59:59] <howtonotwin> the idea
gradle task is broken
L1627[21:00:00] <wundrweapon> h
L1628[21:00:06] <wundrweapon> oh*
L1629[21:00:14] <howtonotwin> you just
open the build.gradle directly in IDEA
L1630[21:00:17] <kashike> idea gradle
task isn't needed, really, either
L1631[21:00:41]
⇦ Quits: ScottehBoeh (~ScottehBo@95.144.82.240) (Quit:
Leaving)
L1632[21:00:48] <howtonotwin> anyway I
should go
L1633[21:00:50] <howtonotwin> Have
fun!
L1634[21:00:52] ***
wundrweapon is now known as wundrweapon|gone_af
L1635[21:00:55]
⇦ Quits: howtonotwin
(~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net)
(Quit: Pop!)
L1636[21:01:08] <Artillect> which IDE
gives me more customizability?
L1637[21:01:19]
⇨ Joins: karjah
(~karjah@h200.105.17.98.dynamic.ip.windstream.net)
L1638[21:02:54] <kashike> <kashike>
each has their own upsides and downsides, it comes down to which
you like more
L1639[21:03:01] ***
cpw|out is now known as cpw
L1640[21:05:09]
⇨ Joins: Wastl2_
(~Wastl2@x4e34ccc2.dyn.telefonica.de)
L1641[21:05:44]
⇦ Quits: Wastl2 (~Wastl2@x4e350f85.dyn.telefonica.de) (Ping
timeout: 384 seconds)
L1642[21:06:41] <Artillect> fair
enough
L1643[21:08:46]
⇨ Joins: mezz_ (~mezz@24.6.28.151)
L1644[21:08:46]
MineBot sets mode: +v on mezz_
L1645[21:11:40]
⇦ Quits: mezz (~mezz@2600:1010:b053:89c8:ad19:9704:5bfb:5e2f)
(Ping timeout: 206 seconds)
L1646[21:14:23] <Eragonn1490>
http://pastebin.com/RtEvBAHR other then the null
checks towards the end that will cause a crash, it never changes
the block state past the first meta does anyone see what i goofed
on?
L1647[21:16:53] <tterrag> Eragonn1490: if
(IntegratedBlocks.bookcases.getDefaultState().withProperty(BlockBookcaseMulti.TYPE,
EnumBookshelf.one1) != null)
L1648[21:16:54] <tterrag> always
true
L1649[21:17:27] <tterrag> I think you
want .getValue(BlockBookcaseMulti.TYPE) == EnumBookshelf.one1
L1650[21:23:08]
⇦ Quits: KnightMiner
(~KnightMin@107-1-23-59-ip-static.hfc.comcastbusiness.net) (Ping
timeout: 198 seconds)
L1651[21:32:44]
⇦ Quits: KGS (~KGS@h-155-4-129-249.na.cust.bahnhof.se) (Ping
timeout: 198 seconds)
L1652[21:34:48]
⇦ Parts: wundrweapon|gone_af
(uid131782@id-131782.ealing.irccloud.com) ())
L1653[21:35:40]
⇦ Quits: cpup (~cpup@32.218.119.168) (Ping timeout: 186
seconds)
L1654[21:35:58]
⇨ Joins: wundrweapon
(uid131782@id-131782.ealing.irccloud.com)
L1655[21:36:03] <wundrweapon> test
L1656[21:36:37]
⇦ Quits: Snapples (uid167569@id-167569.highgate.irccloud.com)
(Quit: Connection closed for inactivity)
L1658[21:38:44] <wundrweapon> have you
tried analyzing you code with a debugger?
L1659[21:38:47] <wundrweapon> your*
L1660[21:39:06]
⇨ Joins: AstralSorcerer
(~AstralSor@128.151.114.64)
L1661[21:41:31]
⇨ Joins: cpup (~cpup@32.218.114.63)
L1662[21:42:48] ***
Mumfrey is now known as mumfrey
L1663[21:42:56] <Eragonn1490> going to
doublecheck now
L1664[21:44:53] <Artillect> Eclipse is
telling me that I need to implement an inherited method that
already exists
L1665[21:45:02] <Artillect> when I apply
the recommended fix it just adds the same method
L1666[21:45:40]
⇦ Quits: Artillect
(~Artillect@2602:306:c407:2eb0:b52f:b0c7:daf1:7df1) (Remote host
closed the connection)
L1667[21:45:41] <wundrweapon> there may
be a slightly different param, change in scope/static, etc
L1668[21:47:11]
⇨ Joins: Artillect
(~Artillect@2602:306:c407:2eb0:b52f:b0c7:daf1:7df1)
L1669[21:47:28]
⇦ Quits: Meronat (uid190493@id-190493.highgate.irccloud.com)
(Quit: Connection closed for inactivity)
L1670[21:50:09]
⇨ Joins: KnightMiner
(~KnightMin@107-1-23-59-ip-static.hfc.comcastbusiness.net)
L1671[21:51:07] <wundrweapon> Artillect:
did you get it working?
L1672[21:51:25] <Artillect> yeah
L1673[21:51:43] <wundrweapon> oh ok
cool
L1674[21:51:45] <Artillect> if I left the
method without @Override and with @Override it left me alone
L1675[21:51:54] <Artillect> probably not
a good idea but nothing has gone wrong yet
L1676[21:55:57] <wundrweapon> as a
general rule of thumb, put @Override on any method intended to
override. it's easier for readers to tell what is(n't) inherited
and can prevent problems if you accidentally change the method, as
the compiler will bark back an error
L1677[22:00:56] <Artillect> where are the
minecraft files stored in my project folder?
L1678[22:03:29] <wundrweapon> (project
name) > Referenced Libraries >
forge-src-whateverversion
L1679[22:03:31] <wundrweapon> iirc
L1680[22:03:34] <wundrweapon> for
eclipse
L1681[22:10:43]
⇦ Quits: Eragonn1490
(~eragonn14@2600:1005:b015:7081:995d:8dad:871f:e3ee) (Read error:
Connection reset by peer)
L1682[22:14:04]
⇦ Quits: Girafi (Girafi@0x555178eb.adsl.cybercity.dk)
()
L1683[22:18:00]
⇦ Parts: wundrweapon
(uid131782@id-131782.ealing.irccloud.com) ())
L1684[22:18:13] <Artillect> wunderweapon
I mean like on the filesystem
L1685[22:26:10] <tterrag> in your Gradle
cache
L1686[22:27:34]
⇨ Joins: McJty
(~jorrit@94-225-196-91.access.telenet.be)
L1687[22:30:30]
⇦ Quits: gr8pefish
(~gr8pefish@24-121-241-166.flagcmtk01.res.dyn.suddenlink.net)
(Quit: I'm gone)
L1688[22:35:35]
⇨ Joins: mallrat208
(~mallrat20@107-145-175-135.res.bhn.net)
L1689[22:40:07]
⇨ Joins: Doty1154
(~Doty1154@2601:648:8000:134f:c00a:9cb1:a998:e677)
L1690[22:40:32]
⇦ Quits: Lathanael|Away
(~Lathanael@p54961B1A.dip0.t-ipconnect.de) (Ping timeout: 198
seconds)
L1691[22:43:00]
⇦ Quits: Cast0077
(~Cast0077@24-151-68-108.dhcp.nwtn.ct.charter.com) (Quit:
Poof)
L1693[22:46:16]
⇨ Joins: Lathanael|Away
(~Lathanael@p54960FC9.dip0.t-ipconnect.de)
L1694[22:46:34] <Artillect> can someone
take a look at it and tell me what's wrong
L1695[22:47:32] <tterrag> Artillect:
first off, simplify your code a TON by looping over EnumFacing
values
L1696[22:47:42] <Artillect> will do
L1697[22:47:48] <tterrag> next, get rid
of Boolean.valueOf everywhere
L1698[22:47:51]
⇦ Quits: Doty1154
(~Doty1154@2601:648:8000:134f:c00a:9cb1:a998:e677) (Ping timeout:
206 seconds)
L1699[22:47:56] <tterrag> but what
exactly is the problem?
L1700[22:48:21] <Artillect> it doesn't
seem to be setting the blockstates correctly
L1701[22:48:40] <Artillect> like
"north" isn't being set to true when there is a block it
can connect to to the north of it
L1702[22:48:43]
⇨ Joins: Doty1154
(~Doty1154@2601:648:8000:134f:c00a:9cb1:a998:e677)
L1703[22:50:25] <tterrag> step through
and make sure your canConnectTo is working properly
L1704[22:50:30] <Artillect> ok
L1705[22:50:32] <tterrag> also, where are
you expecting these variables to be set?
L1706[22:50:41] <tterrag> I mean, where
are you using the state?
L1707[22:50:48] <Artillect> what do you
mean?
L1708[22:50:58] <Artillect> doesn't it
set in the getActualState method?
L1709[22:51:05] <Artillect> or do I need
to set them elsewhere
L1710[22:51:43] <tterrag> it does,
yes
L1711[22:51:48] <tterrag> but where are
you reading from the state?
L1712[22:53:19]
⇨ Joins: immibis
(~chatzilla@122-61-224-36.jetstream.xtra.co.nz)
L1713[22:53:59] <Artillect> what do you
mean?
L1714[22:54:13] <tterrag> *sigh*
L1715[22:54:17] <tterrag> how do you
*know* it's not working?
L1716[22:54:57] <Artillect> i'm not
reading from the state, I'm looking at it in game and it's not
looking how it is supposed to
L1717[22:55:00] <Artillect> if that makes
sens
L1718[22:55:02] <Artillect> *sense
L1719[22:55:14] <tterrag> the debug menu,
you mean?
L1720[22:55:27] <Artillect> how do I use
the debug menu to read the states?
L1721[22:55:38] <Artillect> oh
L1722[22:55:39] <Artillect> wait
L1723[22:55:41] <Artillect> i'm
dumb
L1724[22:55:53] <Artillect> gimme a
sec
L1725[22:56:43] <Artillect> all of the
states in the debug menu are false when some should be true
L1726[22:56:49] <tterrag> "looking
at it ingame" the issue could be anywhere. rendering, reading
the state, or the state itself
L1727[22:56:55] <tterrag> ok, the debug
menu does not lie
L1728[22:57:04] <tterrag> I'd run a
debugger through getActualState
L1729[22:58:00]
⇦ Quits: Doty1154
(~Doty1154@2601:648:8000:134f:c00a:9cb1:a998:e677) (Ping timeout:
206 seconds)
L1730[22:58:19]
⇨ Joins: Doty1154
(~Doty1154@c-73-189-164-179.hsd1.ca.comcast.net)
L1731[22:59:23] <Artillect> it calls the
method getActualState
L1732[22:59:29] <Artillect> what should I
try next?
L1733[23:00:04] <tterrag> see if it
actually sets the states properly?
L1734[23:00:45] <Artillect> it goes
through all of the .withProperty's
L1735[23:01:01] <tterrag> and...
L1736[23:01:04] <Artillect> how can I
tell what it is setting them to or what the value of a parameter is
during debug?
L1737[23:01:25] <tterrag> inspect the
value of the state parameter
L1738[23:02:18] <Artillect> ok
L1739[23:06:45] <Artillect> sorry, how
can I do that?
L1740[23:06:57] <Artillect> the display
menu cant do nested evaluations
L1741[23:08:06] <Artillect> never mind, i
got it
L1742[23:08:36] <Artillect> and all of
them are coming out false
L1743[23:10:43] <tterrag> so your problem
is your isConnected method
L1744[23:10:45] <tterrag> or whatever
it's called
L1745[23:11:19] <Artillect> i'll see what
I can do then
L1746[23:11:55] <tterrag> Artillect: why
are you using your own energy cap?
L1747[23:12:09] <tterrag> also -> (te
instanceof TileEntity) pointless check
L1748[23:12:20] <Artillect> because I'm
going to add voltages and such to it eventually
L1749[23:12:25] <Artillect> someone told
me to have that check
L1750[23:12:30]
⇦ Quits: Upthorn
(~ogmar@108-85-88-44.lightspeed.frokca.sbcglobal.net) (Ping
timeout: 206 seconds)
L1751[23:14:56]
⇦ Quits: Upth
(~ogmar@108-85-88-44.lightspeed.frokca.sbcglobal.net) (Ping
timeout: 384 seconds)
L1752[23:15:05]
⇨ Joins: Upthorn
(~ogmar@108-85-88-44.lightspeed.frokca.sbcglobal.net)
L1753[23:15:15]
⇨ Joins: plp (~plp@112.203.118.64)
L1754[23:15:24]
⇦ Quits: KnightMiner
(~KnightMin@107-1-23-59-ip-static.hfc.comcastbusiness.net) (Quit:
Leaving)
L1755[23:15:39] <tterrag> ah alright,
it's your own power API
L1756[23:15:47] <tterrag> I thought it
might just be your own instance of FE/Tesla or something
L1757[23:15:56] <tterrag> that's
fine
L1758[23:16:31] <Artillect> what's the
difference between getActualState and getExtendedState?
L1759[23:16:51] <Artillect> McJty's guide
uses getExtendedState but the BlockFence class uses
getActualState
L1760[23:17:08] <tterrag>
getExtendedState is for rendering only
L1761[23:17:19] <tterrag> and allows the
use of non-finite properties
L1762[23:17:27] <tterrag> so called
"unlisted" properties
L1763[23:18:20] <Artillect> what's
getActualState used for outside of rendering?
L1764[23:19:36] <tterrag> it's passed to
a lot of other block methods
L1765[23:19:40] <tterrag> mainly
clientside ones, but not always
L1766[23:19:53] <tterrag>
bounding/collision boxes, etc
L1767[23:20:18] <Artillect> makes
sense
L1768[23:20:42] <Artillect> since I'm
using this for rendering only should I use getExtendedState?
L1769[23:21:15] <tterrag> there's no real
need
L1770[23:21:22] <tterrag> don't confuse
yourself with extended states if you don't need them
L1771[23:22:35] <Artillect> if I want to
have a different state if it is connecting to a block vs a pipe
would it be necessary/better?
L1772[23:24:09] <tterrag> not at
all
L1773[23:24:12] <tterrag> what you are
doing now looks fine
L1774[23:24:24] <Artillect> ok
L1775[23:24:25] <tterrag> only use
extended state if you need to store something in there that doesn't
have a finite amount of states
L1776[23:24:38] <Artillect> for
example?
L1777[23:24:39] <tterrag> in this case,
your total state count is 6 bits
L1778[23:24:48] <tterrag> slightly less
than infinity :)
L1779[23:25:00] <Artillect>
alrighty
L1780[23:25:59] <Artillect> if I don't
care about the facing in a hasCapability() method what parameter
would I use?
L1781[23:28:32] <tterrag> null generally.
but in this case, you DO care about the facing, no?
L1782[23:29:22] <Artillect> all of my
blocks that have this capability have it on all faces
L1783[23:29:26]
⇦ Quits: plp (~plp@112.203.118.64) (Read error: Connection
reset by peer)
L1784[23:29:39] <Artillect> so it doesn't
matter which face i'm checking (i think)
L1785[23:29:50] <tterrag> still, use the
API properly
L1786[23:30:00] <tterrag> what if someone
else uses your capability
L1787[23:30:02] <tterrag> or you change
your mind later
L1788[23:30:14]
⇦ Quits: smbarbour
(~smbarbour@c-73-211-171-154.hsd1.il.comcast.net) (Ping timeout:
384 seconds)
L1789[23:30:21] <Artillect> so in this
case, how would I need to use it properly?
L1790[23:30:26] ***
cpw is now known as cpw|out
L1791[23:30:36] <tterrag> pass in the
side you are checking connection from
L1792[23:30:47] <tterrag> this is where
the EnumFacing loop would be useful
L1793[23:32:12] <Artillect> so I add
another parameter with my facing?
L1794[23:32:41] <tterrag> tbh you could
just replace the pos parameter
L1795[23:32:52] <tterrag> you have the
current pos, just do pos.offset(dir)
L1796[23:33:29] ***
TTFTCUTS is now known as TTFT|Away
L1797[23:33:30] <killjoy> Does anyone
know when dinnerbone's gonna fully release his new launcher?
L1798[23:34:09] <tterrag> is it not
released?
L1799[23:34:46]
⇦ Quits: Akkarin (~Akkarin@bnc.basinmc.org) (Ping timeout:
384 seconds)
L1800[23:34:54] <Artillect> don't i need
the opposite direction for the face I'm checking?
L1801[23:34:55] <killjoy> My launcher
hasn't autoupdated yet
L1802[23:35:05] <Artillect> like if I'm
checking the block above, I check the bottom face?
L1803[23:35:13] <killjoy> He's posted the
"staging", but it's not official
L1804[23:35:50] <tterrag> Artillect:
hmm...good point. but that's easy
L1805[23:36:19]
⇨ Joins: smbarbour
(~smbarbour@c-73-211-171-154.hsd1.il.comcast.net)
L1806[23:36:44]
⇦ Quits: cpup (~cpup@32.218.114.63) (Ping timeout: 186
seconds)
L1807[23:37:27] <Artillect> all right,
I'm gonna give it a shot
L1808[23:38:15] <Artillect> and would you
look at that, it works
L1809[23:38:21] <Artillect> thanks for
the help tterrag!
L1810[23:38:30] <tterrag> np
L1811[23:38:33] <Artillect> wait
shit
L1812[23:38:41] <Artillect> twas an
illusion
L1813[23:39:14] <illy> sources tell me
that they're rewriting the launcher
L1814[23:39:30] <tterrag> Artillect: btw,
another benefit of actual over extended, actual state gets used for
model lookup
L1815[23:39:35] <tterrag> extended does
not, because it can't
L1816[23:39:52] <tterrag> so extended is
only useful for CODE rendering
L1817[23:39:58] <Artillect> ah
L1818[23:40:01] <Artillect> that makes
sense
L1819[23:40:57]
⇦ Quits: McJty (~jorrit@94-225-196-91.access.telenet.be)
(Quit: Leaving)
L1820[23:42:40] <tterrag> Artillect: so
the problem now?
L1821[23:42:56] <Artillect> it appears
that it's setting them all to true
L1822[23:43:16]
⇦ Quits: Necro
(~Necro@p200300700D6416C808F51CF87C5ADC25.dip0.t-ipconnect.de)
(Ping timeout: 384 seconds)
L1823[23:43:44] <Artillect> and if I use
the debug menu to check it it crashes with a
nullpointerexception
L1824[23:43:55] <tterrag> err
L1825[23:43:57] <tterrag> what
L1827[23:47:41] <Artillect> tterrag:
anything look off to you?
L1828[23:48:16] <tterrag> yeah
L1829[23:48:22] <tterrag> you still pass
in pos.up() pos.down() etc
L1830[23:48:24] <tterrag> and then offset
it again
L1831[23:49:31] <Artillect> whoops
L1832[23:49:56]
⇨ Joins: Naiten (Naiten@5.143.115.178)
L1833[23:50:21] <Artillect> how can I
remove the position parameter then?
L1834[23:51:00] <tterrag> I guess you
can't
L1835[23:51:05] <tterrag> but don't pass
in .up() just pass pos
L1836[23:51:07] <tterrag> or don't offset
it
L1837[23:51:09] <tterrag> one or the
other
L1838[23:51:13] <Artillect> ok
L1839[23:53:03] <Artillect> still getting
a nullpointerexception
L1840[23:53:10] <Artillect> should I add
a null check?
L1841[23:54:31]
⇨ Joins: Alex_hawks
(~Alex_hawk@2001:8003:84d1:9600:a199:c74a:1c85:6110)
L1842[23:54:55] <killjoy> that's normally
how you fix npe
L1843[23:56:28]
⇦ Quits: Grover_c13
(~Courtney@203-59-199-82.dyn.iinet.net.au) (Ping timeout: 186
seconds)
L1844[23:57:26] <tterrag> TE can be
null
L1845[23:57:32] <Artillect> I think I may
have fixed it
L1846[23:58:29] <Artillect> yep, it's
fixed
L1847[23:58:38] <Artillect> thanks for
the help (for real this time)!