<<Prev
Next>>
Scroll to Bottom
Stuff goes here
L1[00:04:35] ⇨
Joins: KklyAq
(~Umbraco@121-87-222-159f1.nar1.eonet.ne.jp)
L2[00:17:03] ⇨
Joins: McJty
(~jorrit@ptr-9197ufqfhkhckujumid.18120a2.ip6.access.telenet.be)
L3[00:17:05] ⇨
Joins: moony (~moony@tx-76-4-60-39.dhcp.embarqhsd.net)
L4[00:39:02] ⇦
Quits: Doty1154 (~Doty1154@2601:648:8000:134f:4cab:6362:7f13:c248)
(Quit: Leaving)
L5[01:07:12] ⇦
Quits: Unh0ly_Tigg (~Unh0ly_Ti@c-24-21-196-226.hsd1.or.comcast.net)
(Quit: Leaving)
L6[01:22:27] ⇦
Quits: McJty
(~jorrit@ptr-9197ufqfhkhckujumid.18120a2.ip6.access.telenet.be)
(Quit: Leaving)
L7[01:29:28] ⇦
Quits: Neal (~Neal@47.146.41.184) (Ping timeout: 383
seconds)
L8[01:41:58] ⇦
Quits: Darkhax (~darkhax@d205-206-157-117.abhsia.telus.net) (Ping
timeout: 186 seconds)
L9[01:50:23] ⇦
Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 200
seconds)
L10[01:50:59] ⇨
Joins: Darkhax
(~darkhax@d205-206-157-117.abhsia.telus.net)
L11[02:00:03] <MCPBot_Reborn> [TEST CSV]
Pushing snapshot_20171216 mappings to Forge Maven.
L12[02:00:07] <MCPBot_Reborn> [TEST CSV]
Maven upload successful for mcp_snapshot-20171216-1.12.zip
(mappings = "snapshot_20171216" in build.gradle).
L13[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/
L14[02:02:20] ⇨
Joins: Larry1123 (Larry1123@irc.larry1123.net)
L15[02:49:22] ⇦
Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 198
seconds)
L16[03:02:46] ⇨
Joins: Ipsis
(~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk)
L17[03:20:44] <ben_mkiv> repost... anyone
got some resources about rendering a entity from a wavefront
object? or is there any vanilla way to make a biped model out of a
wavefront object?
L18[03:22:48] ⇨
Joins: Noppes (~Noppes@ip56530f2e.direct-adsl.nl)
L19[03:35:14] ⇨
Joins: Larry1123 (Larry1123@irc.larry1123.net)
L20[04:04:06] ⇨
Joins: MalkContent
(~MalkConte@p4FDCC665.dip0.t-ipconnect.de)
L21[04:51:30] ⇦
Quits: immibis (~chatzilla@122-59-205-83.jetstream.xtra.co.nz)
(Ping timeout: 383 seconds)
L22[04:53:18] <ghz|afk> ben_mkiv: you can
literally draw anything you want as an entity renderer
L23[04:53:30] <ghz|afk> the question is how
to load the model and how to make use of it
L24[04:53:35] <ghz|afk> for thatç
L25[04:53:45] <ghz|afk> forge has a model
loading "plugin" system
L26[04:53:51] <ghz|afk> and includes .b3d
and .obj
L27[04:54:00] <ghz|afk> alongside vanilla
json
L28[04:54:14] <ghz|afk> so you can load any
json model, and bake it
L29[04:54:46] <ghz|afk> however as for
using a single json as a biped model, that would be a whole other
story
L30[04:55:03] <ghz|afk> eh obj*
L31[04:55:09] <ghz|afk> if you have the
body, head, legs and arms as separate obj files, thne yes, that's
relatively easy
L32[04:55:56] <ghz|afk> if not, then you
would need to pass group visibility information to the model and
bake it multiple times with different visibility settings, and I
have no idea how to do that
L33[05:19:46] <LexMobile> Json isn’t meant
for animations
L34[05:20:03] ⇦
Quits: IoP (jikuja@kapsi.fi) (Ping timeout: 207
seconds)
L35[05:20:17] <LexMobile> Vanilla hasn’t
gotten that far yet Forge has a. Hack system on top that works
fairly good tho
L36[05:20:19] <ben_mkiv> so i guess the
best way is seperate objects, load them with your modelhandle
class, and assign them to a bipedmodel?
L37[05:20:26] <ben_mkiv> and then render
that biped model
L38[05:21:33] <billy> with this json
system, would it be feasible for a mod to load in entities the way
bedrock edition does?
L39[05:23:38] ⇨
Joins: IoP (jikuja@kapsi.fi)
L40[05:30:42] <LexMobile> no
L41[05:30:57] <LexMobile>
weeeeellllllll
L42[05:31:22] <LexMobile> Technically yes
you can, but there isn't any built in system for management. You'd
just be loading a model. You
L43[05:31:27] <LexMobile> 're on your own
for what you do with it.
L44[05:33:19] <billy> hmm. i'm tempted. i
really am. ^_^
L45[05:35:12] <billy> knowing my luck, as
soon as I'm finished mojang will release theirs it in vanilla
L46[05:45:31] <ben_mkiv> :D
L47[05:46:11] <ben_mkiv> well i already got
kinda some armature code with parent boning.... but not sure if i
want to adapt it to playerlike entities -.-
L48[05:52:09] <ben_mkiv> does mojang use
wavefront object at all for anything related to entities yet?
L49[06:10:14] ⇨
Joins: Nedelosk
(~Nedelosk@ip-37-201-253-118.hsi13.unitymediagroup.de)
L50[06:12:27] ⇨
Joins: SuperTurk
(kiwiirc@nsg93-h01-31-34-69-121.dsl.sta.abo.bbox.fr)
L51[06:24:16] <ghz|afk> back
L52[06:24:30] <ghz|afk> [12:20] (ben_mkiv):
so i guess the best way is seperate objects, load them with your
modelhandle class, and assign them to a bipedmodel?
L53[06:25:05] <ben_mkiv> i'm
"listening"
L54[06:25:07] <ben_mkiv> :>
L55[06:25:08] <ghz|afk> well i don't know
that it's so easy
L56[06:25:23] <ghz|afk> I mean
"assign" probably implies writing some custom rendering
class
L57[06:25:38] <ben_mkiv> well the fields
for the bodyparts are public in ModelBiped
L58[06:25:50] <ghz|afk> yes but they aren't
IBakedModel
L59[06:25:52] <ghz|afk> :P
L60[06:26:17] <ben_mkiv> oh, right
L61[06:26:38] <ghz|afk> the ModelBase stuff
is designed for hardcoded java models
L62[06:26:51] <ghz|afk> technically it
would be possible to deserialize a custom json format into
ModelBase
L63[06:26:59] <ghz|afk> loading the quads,
rotations, textures
L64[06:27:07] <ben_mkiv> json is based on
wavefront, too?
L65[06:27:12] <ghz|afk> no
L66[06:27:15] <ghz|afk> not at all
L67[06:27:22] <ben_mkiv> well, i want
wavefront
L68[06:27:37] <ghz|afk> yeah if it has to
be wavefront and only wavefront
L69[06:27:46] <ben_mkiv> so i guess i'll
use some of the rendercode from ModelBiped in a custom class
L70[06:27:56] <ghz|afk> then you'll have to
write a custom class extending ModelRenderer
L71[06:28:07] <ghz|afk> and replace the
biped parts with your custom instances
L72[06:28:21] <ben_mkiv> yea but that seems
to hacked for me
L73[06:29:18] <ben_mkiv> guess i'll stick
with a custom renderer
L74[06:29:26] <ben_mkiv> for the whole
model
L75[06:29:33] <ghz|afk> well you'll need
custom code regardless :P
L76[06:29:34] <ben_mkiv> instead of messing
with ModelBiped
L77[06:29:38] <ghz|afk> youcan choose at
which model you do it
L78[06:29:44] <ghz|afk> at which
level*^
L79[06:31:03] ⇨
Joins: Zoss (~Zoss@173.208.95.77)
L80[06:37:41] <ben_mkiv> wonder how other
mods did it, but most probably use java models
L81[06:47:10] *** Zoss
is now known as Guest82114
L82[06:49:42] ⇦
Quits: Guest82114 (~Zoss@173.208.95.77) (Ping timeout: 186
seconds)
L83[06:52:02] ⇨
Joins: Zoss
(~Zoss@ppp121-45-127-193.bras2.adl6.internode.on.net)
L84[06:59:32] ⇦
Quits: ssblur (~Thunderbi@cpe-65-184-138-23.ec.res.rr.com) (Quit:
ssblur)
L85[07:07:43] ⇨
Joins: Koward
(~Koward@2a02:2788:296:345:a518:a25e:b0f2:2d31)
L86[07:17:40] <Koward> I wonder why there
are so few total conversions for Minecraft. The game is heavily
moddable but very few mods actually scraps vanilla content to build
something totally new.
L87[07:19:17] ⇨
Joins: nallar (~nallar@81.187.229.141)
L88[07:28:07] <Ordinastie> am I the only
one to get crashes because the block at the position of TE doesn't
match the expected one ?
L89[07:31:07] ⇨
Joins: Javaschreiber
(~Thunderbi@88-209-32-73.nga.highspeed-baumann.de)
L90[07:33:20] <Ordinastie> !gm 73660
L91[07:33:52] <Ordinastie> during update()
I might add, not rendering
L92[07:47:25] ⇦
Quits: johni0702 (johni0702@johni0702.de) (Ping timeout: 190
seconds)
L93[07:49:57] ⇨
Joins: johni0702 (johni0702@johni0702.de)
L94[07:51:24] <ghz|afk> Koward: it's not
easy
L95[07:51:38] <ghz|afk> Ordinastie: no,
it's a known thing, you have to handle it
L96[07:51:50] <Ordinastie> since when
?
L97[07:51:56] <ghz|afk> since like 1.8, at
least
L98[07:52:07] <Ordinastie> I'm not talking
in TESR
L99[07:52:32] <ghz|afk> yes, using
getBlockState from a tickable TE's update
L100[07:52:35] <ghz|afk> when the block
breaks
L101[07:52:39] <ghz|afk> there's one tick
in which update can be called
L102[07:52:47] <ghz|afk> but getBlockState
returns the new block / air
L103[07:53:03] <Ordinastie> well, that's
bullshit :/
L104[07:53:38] <ghz|afk> I believe it's a
side-effect of how forge handles TE destruction
L105[07:53:54] <ghz|afk> but I don't
remember the details
L106[07:54:55] <Ordinastie> shouldn't the
TE set as invalid as when the block breaks ?
L107[07:55:45] <ghz|afk> I haven't
personally needed to call getBlockState from the update
method
L108[07:56:07] <ghz|afk> (I don't recall
any machine where the blockstate matters)
L109[07:56:08] <Ordinastie> for the doors,
I need to know the direction
L110[07:56:24] <ghz|afk> yeah you may want
to cache that actively
L111[07:56:35] <ghz|afk> when the state
changes in the block, assign it to the TE
L112[07:57:26] <ghz|afk> or like
L113[07:57:33] <ghz|afk> in
shouldRefresh
L114[07:57:47] <ghz|afk> if you return
false, save the new state
L115[07:59:01] <Ordinastie> ah, I think I
understand what happens
L116[07:59:21] <Ordinastie> invalidate()
is only called if processingLoadedTiles is true
L117[07:59:29] <Ordinastie> which doesn't
sound right
L118[07:59:54] <Ordinastie> although
L119[07:59:54] <Ordinastie> no
L120[08:00:12] <Ordinastie> if not
processing they are directly removed from the maps
L121[08:00:36] <Ordinastie> yeah, I don't
get it
L122[08:02:57] <ghz|afk> there's always
the possibility that I completely brainfarted
L123[08:03:04] <ghz|afk> but I could swear
:P
L124[08:03:38] ⇦
Quits: SuperTurk
(kiwiirc@nsg93-h01-31-34-69-121.dsl.sta.abo.bbox.fr) (Quit:
http://www.kiwiirc.com/ - A hand crafted IRC
client)
L125[08:04:38] ⇦
Quits: Zoss (~Zoss@ppp121-45-127-193.bras2.adl6.internode.on.net)
(Quit: Leaving)
L126[08:12:42]
⇨ Joins: Cast0077
(~Cast0077@24-151-68-108.dhcp.nwtn.ct.charter.com)
L127[08:19:22] ⇦
Quits: Javaschreiber
(~Thunderbi@88-209-32-73.nga.highspeed-baumann.de) (Ping timeout:
198 seconds)
L128[08:23:08]
⇨ Joins: KGS
(~KGS@h-158-174-9-50.NA.cust.bahnhof.se)
L129[08:29:34] ⇦
Quits: Koward (~Koward@2a02:2788:296:345:a518:a25e:b0f2:2d31) (Ping
timeout: 198 seconds)
L130[08:39:16]
⇨ Joins: Zethalion
(~Zethalion@095-097-058-227.static.chello.nl)
L131[08:41:45] <Ordinastie> to check if a
key is pressed globally, where would it be apropriate to do that
?
L132[08:47:51] <Ordinastie> apparently,
there is a InputEvent
L133[09:02:21] ⇦
Quits: johni0702 (johni0702@johni0702.de) (Ping timeout: 207
seconds)
L134[09:03:15]
⇨ Joins: johni0702 (johni0702@johni0702.de)
L135[09:04:52] <ben_mkiv> yea,
onKeyInput
L136[09:06:07] <ben_mkiv> and you can
check with Keyboard.isKeyDown() if its still pressed
L137[09:08:49]
⇨ Joins: treborx555 (~quassel@109.228.96.70)
L138[09:09:32] <treborx555> is there a
range limit config option, for example say i want config to have
min value of 1 and max value of 5?
L139[09:14:03] ⇦
Quits: KklyAq (~Umbraco@121-87-222-159f1.nar1.eonet.ne.jp) (Ping
timeout: 207 seconds)
L140[09:18:47] <ghz|afk> treborx555:
yes
L141[09:19:15] <treborx555> whats the
name?
L142[09:19:50] <ghz|afk> if you use the
old-style config system, you can do this:
L144[09:20:10] <ghz|afk> if you use the
newer annotation-based config
L145[09:20:15] <treborx555> hm i use the
new annot
L146[09:20:16] <ghz|afk> there's
@Config.RangeInt
L147[09:20:20] <treborx555> oh
L148[09:20:30] <ghz|afk> and
@Config.RangeDouble
L149[09:20:55] <treborx555> ty that should
work
L150[09:24:07] <treborx555> nice it
works
L151[09:24:26]
⇨ Joins: moony_
(~moony@tx-76-4-60-39.dhcp.embarqhsd.net)
L152[09:25:25] ⇦
Quits: moony (~moony@tx-76-4-60-39.dhcp.embarqhsd.net) (Ping
timeout: 200 seconds)
L153[09:31:04] <treborx555> i really like
the new config system, when i was new i accidentally tried using
the old one and it was 10 times harder and took more space
L154[09:31:21] ⇦
Quits: phroa (~phroa@173.254.236.155) (Ping timeout: 383
seconds)
L155[09:31:33] <Ordinastie> gotta love
when you start a simple mod, and mid-way you realise that probably
won't be as easy :x
L156[09:33:29] <ben_mkiv> ^^
L157[09:33:49] <ben_mkiv> was like...
let's replace java models by object models and thought it would be
simple -.-
L158[09:34:13] <treborx555> i thought
adding a gear slot to inventory would be easy lol
L159[09:34:38] <treborx555> i checked out
a few examples.. none were shorter than a 3 long classes
L160[09:34:57] <treborx555> so now im
doing everything else before i try to tackle that xD
L161[09:35:00] <Ordinastie> !gm
rightClickMouse
L163[09:35:47] <ben_mkiv> uses click +
keyboard events
L164[09:36:11] <Ordinastie> yeah, no,
that's not what's causing problems
L165[09:36:38] <ghz|afk> treborx555:
heh
L166[09:36:48] <ghz|afk> I have thought of
adding baubles-like slots in one of my mods
L167[09:37:01] <ghz|afk> but I did know in
advance, it isn't THAT easy :P
L168[09:37:21]
⇨ Joins: phroa (~phroa@173.254.236.155)
L169[09:37:31] <ghz|afk> so I never got
around to it
L170[09:37:56] <Ordinastie> ok, first run
of the mod
L171[09:38:29] <treborx555> i tried but
then figured i'll rather understand it better instead of copy
pasting and hoping it works
L172[09:38:45] <treborx555> first gotta
try and make a keybind xD
L173[09:39:04] <ben_mkiv> ghz|afk, for
your toolbelt?
L174[09:40:29] <Ordinastie> and I forgot
to register for the event -_-
L175[09:46:23] <Ordinastie> and here I
hoped to make a client only mod :(
L176[09:47:16]
⇨ Joins: Javaschreiber
(~Thunderbi@88-209-32-73.nga.highspeed-baumann.de)
L177[09:49:25] <ghz|afk> ben_mkiv: no, for
my WIP magic mod
L178[09:49:35] <ghz|afk> although the
toolbelt would also be a good target
L179[09:50:22] <Ordinastie> on that
subject, your toolbelt, it swaps tools with the hotbar right
?
L180[09:50:29] <ghz|afk> yes
L181[09:50:40] <Ordinastie> you send a
packet to the server I assume
L182[09:50:51] <ghz|afk> I send a
"swap with slot X in the belt" packet
L183[09:50:58] <ghz|afk> the target is
alwys the current hotbar slot
L184[09:51:17] <Ordinastie> yeah, I'll
have to do that too :/
L186[09:51:54] <ghz|afk> :P
L187[09:52:49] <Ordinastie> oh, you do it
on the server and notify clients
L188[09:53:06] <ghz|afk> yes
L189[09:53:24] ⇦
Quits: Cast0077 (~Cast0077@24-151-68-108.dhcp.nwtn.ct.charter.com)
(Quit: Poof)
L190[09:53:52] <Ordinastie> wait, why do
you need to notify clients ?
L191[09:54:00] <Ordinastie> oh, right, you
render stuff
L192[09:54:13] <ghz|afk> yup
L193[09:58:04] <ghz|afk> I think I was
having some issue with baubles not synchronizing all the itemstack
data with the client, even thought I had requested it to keep the
item in sync
L194[09:59:12] <ben_mkiv> i had that
issue, too. but somehow solved it
L195[09:59:21] <ben_mkiv> but cant recall
what did the job atm
L196[10:01:26] <ben_mkiv> ah i had to call
the update event of my item in the onWornTick() method of the
baubles api
L197[10:01:59] <ben_mkiv> and
willAutoSync() set to return true
L198[10:02:03] <ben_mkiv> and do the sync
on my own
L199[10:03:55] <ghz|afk> that last
sentence pretty much puts you in the same place as me :p
L200[10:05:41] <Ordinastie> ok, let's try
again then
L201[10:07:02] <Ordinastie> ok, let's try
again, again, this time without forgetting the annotation :x
L202[10:08:01] <ghz|afk> XD
L203[10:08:56]
⇨ Joins: quadraxis
(~quadraxis@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net)
L204[10:09:47] ⇦
Quits: phroa (~phroa@173.254.236.155) (Ping timeout: 200
seconds)
L205[10:09:47] <Ordinastie> I'm trying to
place item in world with shortcuts
L206[10:21:41] <Ordinastie> wtf
L207[10:21:53] <Ordinastie> cobblestone
unloc name is stonebrik -_-
L208[10:22:21] <Ordinastie> and of course,
the itemStack toString uses the unloc name instead of the registry
resloc :x
L209[10:22:52]
⇨ Joins: Brokkoli
(~Brokkoli@p2E5B1B3F.dip0.t-ipconnect.de)
L210[10:31:01]
⇨ Joins: KklyAq
(~Umbraco@121-87-222-159f1.nar1.eonet.ne.jp)
L211[10:32:26] <billy> anyone know of a
way to retexture the universal bucket item (in inventory)? example
being some custom fluids use the normal iron looking bucket, but
some special custom fluids will use a new texture that looks like a
gold bucket
L212[10:34:43] ⇦
Quits: KklyAq (~Umbraco@121-87-222-159f1.nar1.eonet.ne.jp) (Ping
timeout: 200 seconds)
L213[10:35:25] <Ordinastie> ohh, it
works
L214[10:45:01] ***
PaleOff is now known as PaleoCrafter
L215[10:54:33] ***
PaleoCrafter is now known as PaleOff
L216[11:01:20]
⇨ Joins: malte0811
(~malte@p4FDE5CBD.dip0.t-ipconnect.de)
L217[11:19:34] ⇦
Quits: malte0811 (~malte@p4FDE5CBD.dip0.t-ipconnect.de) (Ping
timeout: 186 seconds)
L218[11:33:30]
⇨ Joins: malte0811
(~malte@p4FDE5CBD.dip0.t-ipconnect.de)
L219[11:39:26] ⇦
Quits: ben_mkiv (~ben_mkiv@p4FED476D.dip0.t-ipconnect.de) (Ping
timeout: 383 seconds)
L220[11:52:33] ⇦
Quits: Nedelosk
(~Nedelosk@ip-37-201-253-118.hsi13.unitymediagroup.de) (Read error:
Connection reset by peer)
L221[11:53:40]
⇨ Joins: Nedelosk
(~Nedelosk@ip-37-201-253-118.hsi13.unitymediagroup.de)
L222[11:58:18]
⇨ Joins: Raycoms
(~Raycoms@2804:14d:baa0:9612:211:f974:13b9:be92)
L223[11:58:24]
⇨ Joins: Commoble
(~Commoble@mnpl-04-3331.dsl.iowatelecom.net)
L224[11:58:50] <Raycoms> Hi, when I want a
block rightclick to work I need to expand the collisionbox right
and not only the boundingbox?
L225[11:58:54]
⇨ Joins: moony
(~moony@tx-76-4-60-239.dhcp.embarqhsd.net)
L226[12:00:11] <Ordinastie> you need the
rayTrace bounding box
L227[12:00:46] ⇦
Quits: moony_ (~moony@tx-76-4-60-39.dhcp.embarqhsd.net) (Ping
timeout: 198 seconds)
L228[12:01:08] <Raycoms> Which method do I
have to override for this?
L229[12:01:19] <Ordinastie> can't you look
?
L230[12:01:41] <Ordinastie> there
shouldn't be many methods with rayTrace in them
L231[12:02:11] <Raycoms> Actually 2
L232[12:02:27] <Raycoms> rayTrace and
collisionRayTrace but the second is deprecated
L233[12:02:47] <Raycoms> but both get a
RayTraceResult
L234[12:06:30]
⇨ Joins: Alaura
(~Alaura@ip68-14-164-59.ok.ok.cox.net)
L235[12:09:23] <Raycoms> That's not the
problem, that's calculated correctly, the bounding box is also the
correct size
L236[12:09:30] <Raycoms> but it also only
appears if I look at the feet
L237[12:09:51] <Commoble> at YOUR
feet?
L238[12:09:54] <Commoble> or somebody
else's feet?
L239[12:10:12] <Raycoms> The bottom part
of the block
L240[12:10:33] <Commoble> sounds like an
offset somewhere got goobered up
L241[12:10:51] ⇦
Quits: malte0811 (~malte@p4FDE5CBD.dip0.t-ipconnect.de) (Ping
timeout: 383 seconds)
L242[12:10:58] <Commoble> or do you mean
looking directly at the bottom face of the block, and it doesn't
work for the other faces
L243[12:11:42] <Raycoms> Actually my
blockModel is 2 blocks high
L244[12:12:02] <Commoble> and it works
when you're looking at the bottom half, but not the top half?
L245[12:12:15] <Raycoms> Yes
L246[12:12:29] <Raycoms> but the bounding
box it shows me is over the whole block
L247[12:13:57] <barteks2x> how to make
IDEA belive that my SidedProxy instance is not going to be null at
runtime?
L248[12:14:00] <Ordinastie> you can't have
blocks bigger than their 1x1x1 space
L249[12:14:18] <Ordinastie> well, I can,
but not in vanilla
L250[12:14:18] <Commoble> right, like
doors are actually made of two different blocks IIRC
L251[12:14:47] <ghz|afk> [17:22]
(Ordinastie): and of course, the itemStack toString uses the unloc
name instead of the registry resloc :x
L252[12:14:54] <ghz|afk> yeah toString is
from old times
L253[12:14:59] <ghz|afk> back when there
wasn't registry names :P
L254[12:15:12] <ghz|afk> I don't think
mojang use it for anything other than debugging :P
L255[12:16:24] <ghz|afk> blocks can be
slightly bigger than their 1x1x1 but the lighting information won't
be fully correct, so the more it extends, the worse it will
get
L256[12:17:03] <treborx555> hm how should
i name my mod
L257[12:17:30] <Raycoms> Hmm, so in the
future I'll have to make 2 blocks out of it
L258[12:17:31] <Commoble> what's in the
mod
L259[12:17:32] <treborx555> its about
turning minecraft into a diablo like hack and slash
L260[12:17:46] <ghz|afk> Craft&Slash
?
L261[12:17:47] <Commoble> Thwack N'
Stash
L262[12:17:54] <treborx555> i wanted to
name it diablo like minecraft but curseforge says no
"minecraft" in name allowed
L263[12:17:59] <treborx555> xD
L264[12:18:10] <treborx555> hm idk if
there will be a lot of crafting
L265[12:18:17] <Raycoms> diablo like
craftmine
L266[12:18:17] <treborx555> mine and slash
could do
L267[12:18:47] <Raycoms> I played a
modpack a few years ago with a similar name and goal
L268[12:19:11] <treborx555> Mine&Slash
it is
L269[12:23:15] ⇦
Quits: Darkhax (~darkhax@d205-206-157-117.abhsia.telus.net) (Ping
timeout: 200 seconds)
L270[12:25:17]
⇨ Joins: SanAndreasP
(~SanAndrea@i577b0bcf.versanet.de)
L271[12:28:15] ⇦
Quits: johni0702 (johni0702@johni0702.de) (Ping timeout: 383
seconds)
L272[12:30:48]
⇨ Joins: johni0702 (johni0702@johni0702.de)
L273[12:31:38] <Raycoms> What is currently
the best way to make a block with a lot of variants and
orientations?
L274[12:31:58]
⇨ Joins: Darkhax
(~darkhax@d205-206-157-117.abhsia.telus.net)
L275[12:32:41] <Commoble> That's an
interesting question
L276[12:33:14] <Commoble> Make a list of
all the ways you know how to make a block with lots of variants and
orientations, and figure out what the WORST one is
L277[12:33:41] <Commoble> and throw that
one out, etc
L278[12:34:05] <ghz|afk> Raycoms: what
kind of variants?
L279[12:34:25] ⇦
Quits: johni0702 (johni0702@johni0702.de) (Ping timeout: 190
seconds)
L280[12:34:38] <ghz|afk> or really, in
short:
L281[12:34:46] <ghz|afk> place the most
important proeprties in the metadata
L282[12:34:50] <ghz|afk> and the rest in
the tileentity
L283[12:35:03]
⇨ Joins: johni0702 (johni0702@johni0702.de)
L284[12:35:14] <ghz|afk> which ones go in
the metadata depend on what is most important to gave "at a
glance"
L285[12:35:22] <ghz|afk> such as by
someone using getBlockState without getActualState
L286[12:35:29] <Raycoms> So there is no
okay way to do it without having to rewrite it in 1.13?
L287[12:35:45] <ghz|afk> well
L288[12:35:50] <Commoble> There's no way
to do anything without having to rewrite it in 1.13
L289[12:35:50] <ghz|afk> you won't REALLY
have to rewrite that much
L290[12:35:51] <ghz|afk> just
L291[12:35:58] <Raycoms> And my block is
kinda like stairs, but has 5 variants
L292[12:36:00] <ghz|afk> currently
L293[12:36:06] <ghz|afk> we get 4 bits of
metadata
L294[12:36:10] <Commoble> that's some
interesting stairs there
L295[12:36:42] <ghz|afk> that means if we
have more than 16 combinations of properties, we have to rely on a
tileentity or neughbours
L296[12:36:46] <ghz|afk> but 1.13 will not
require that
L297[12:36:51] <Commoble> or make more
blocks
L298[12:36:51] <ghz|afk> meaning in MANY
cases (not all)
L299[12:37:14] <Raycoms> Yeah guess,
multiple blocks will be the only way
L300[12:37:15] <ghz|afk> we'll just be
able to get rid of getStateFromMeta, getMetaFromState,
getActualState, and the TE values, and it would still work
L301[12:37:26] <ghz|afk> so rather than
rewrite
L302[12:37:32] <ghz|afk> for most people
it will be "remove code"
L303[12:37:49] <Raycoms> oh, that sounds
like the first good news I heard about 1.13 =P
L304[12:38:28] <ghz|afk> ofc due to the
"block id limit", some mods had like, a TYPE or VARIANT
property
L305[12:38:39] <ghz|afk> those will be bad
practice in 1.13
L306[12:38:55] <ghz|afk> good practice
will be to use different registry names for each subtype
L307[12:39:42] <Commoble> In 1.12 (and for
a long time now), each block tile in the world stores a 16-bit
integer, with 12 of those bits referring to the block id and the
other 4 being the metadata (which is generally used to represent
different variants of the same block)
L308[12:40:13] <Commoble> This means that
if you're not using metadata in the current version, you're wasting
quite a lot of informational space
L309[12:40:18] <billy> i'm still curious
to whats replacing the metadata
L310[12:40:29] <barteks2x> actually, it's
not done anymore in memory. only on disk
L311[12:40:33] <Commoble> Probably a full
16-bit bumber with no metadata, meaning all blocks will be equally
efficient
L312[12:40:48] <ghz|afk> Commoble: yes,
that's why 1.13 will be awesome
L313[12:40:55] <Commoble> I know, so
good
L314[12:41:00] <barteks2x> actually, it
will probably be enchanced version of what they already do in
memory: a per-chunk blockstate to ID maps
L315[12:41:04] <ghz|afk> I refuse to
"pack" things together just to save block ids
L316[12:41:05] <ghz|afk> :P
L317[12:41:32] <billy> i mean, like for an
oak stairs block. where is the rotation and half properties stored?
i dont think theyve flattened it so much that theres 6 block ids
for oak stairs
L318[12:41:37] <barteks2x> even now almost
empty chunks use probably something like 2 or 4 bits per
block
L319[12:41:57] <barteks2x> there probably
won't be global IDs
L320[12:42:15] <barteks2x> I havent seen
the code
L321[12:42:16] <Commoble> There are
already six block IDs for oak stairs, it's just that they share the
same first 12 bits
L322[12:42:29] <barteks2x> also
that^
L323[12:42:50] <billy> i understand
binary. how is this going to work in an api, though?
L324[12:42:52] <treborx555> weird, my iron
shovel suddenly lost texture while playing my mod
L325[12:43:56] <Commoble> If you get rid
of metadata and expand block IDs to use all 16 bits, then the six
oak stairs will still each have different ID numbers, but they
won't share the first 12 bits anymore, they'll just be some
numbers
L326[12:44:19] <barteks2x> you just won't
have IDs easily accessible probably. I think you will still have
blockstates same as now, just that internally each chunk will just
have internal blockstate to id mapping
L327[12:44:39] <Commoble> and on the other
side, if you had, say, 3 blocks that weren't using metadata, then
each of those blocks were wasting 15 potential block IDs each
L328[12:44:55] <billy> i'm not talking
about the variants. i'm talking about the shape and half properties
(straight, corner_outer, corner_inner, upper, lower, etc)
L329[12:45:02] <barteks2x> I say one
thing, Commoble says other thing. Now I mysalf am not sure which is
right
L330[12:45:32] <Commoble> Billy:
Corner_outer and corner_inner are "fake" states,
determined solely by which blocks are next to them
L331[12:45:37] <billy> then theres north,
south, east, west
L332[12:46:33] <ghz|afk> billy: they got
rid of block IDs and meta
L333[12:47:00] <ghz|afk> they now list the
blocks+properties on a palette table
L334[12:47:09] <ghz|afk> and then that
chunk uses the palette index to reference the block
L335[12:47:22] <barteks2x> isn't that
pallette per chunk?
L336[12:47:27] <ghz|afk> yes
L337[12:47:30] <ghz|afk> so far as I
understand
L338[12:47:39] <barteks2x> in memory, you
already have exactly that
L339[12:47:44] <billy> ok, so you're
telling me that _literally_ an oak stairs outer corner facing east
on the upper half is a completely different block than an oak
stairs inner corner facing north on the lower half now?
L340[12:48:02] <ghz|afk> no, it's a
completely different BLOCKSTATE
L341[12:48:22] <ghz|afk>
minecraft:oak_stairs{facing=east,blah blah}
L342[12:48:28] <Commoble> The
north/south/west/east variants and upper/lower variants are
"true" blockstates (4*2 = eight variants in total)
L343[12:48:42] <billy> ok. but where is
that data stored?
L344[12:48:48] <Commoble> Each of these is
represented by a specific metadata number that is stored in
worldspace on the disk somewhere
L345[12:48:49] <ghz|afk> on a palette, per
chunk
L346[12:49:10] <billy> idk. this doesnt
make any sense to me. i guess i'll just have to wait and see when
its released
L347[12:49:18] <Commoble> I'm talking
about the current version, mind you
L348[12:49:32] <ghz|afk> billy:
L349[12:49:33] <ghz|afk> look
L350[12:49:53] <billy> Commoble, i know
how 1.12 works, man. i'm wondering whats going to happen for 1.13,
its unclear
L351[12:49:54] <ghz|afk> suppose each
chunk is a graph
L352[12:49:58] <ghz|afk> on the legend it
says
L353[12:50:01] <ghz|afk> [1] =
minecraft:oak_stairs{facing=east,blah blah}
L354[12:50:11] <ghz|afk> [2] =
minecraft:stone
L355[12:50:17] <ghz|afk> [3] =
minecraft:dirt
L356[12:50:21] <ghz|afk> [4] = ...
L357[12:50:28] <ghz|afk> then the graph is
a grid with
L358[12:50:34] <ghz|afk>
[1][2][1][3][4]...
L359[12:50:54] <ghz|afk> in memory
L360[12:51:01] <Commoble> The very short
answer is that instead of blocks being represented by 12 bits of
"block ID" and 4 bits of metadata, blocks will be
represented by 16 bits of just block IDs and each block that was
previously a metadata variant will have its own separate block
ID
L361[12:51:19] <billy> let me rephrase my
words, ghz|afk. you said earlier "removing methods" but
nothing about adding replacement methods. in my class that extends
Block, where is my data stored in 1.13? or am I now going to have
to flatten all my blockstate json files or something?
L362[12:51:32] <ghz|afk> billy: in the
IBlockState!
L363[12:51:36] <barteks2x> I don't think
thjat's what will happen... I'm pretty sure there won't be global
ID anymore, be it 12 bits + meta or 16 bits
L364[12:51:52] <ghz|afk> the idea is
that
L365[12:51:57] <Commoble> Everything is
numbers, numbers have to be stored somewhere even if you can't
actually see them
L366[12:52:04] <ghz|afk>
setBlockState(myBlock.withProperty(FACING,east));
L367[12:52:19] <ghz|afk> will NOT call
getMetaFromState
L368[12:52:29] <barteks2x> Commoble, you
will have just blockstate registry, they won'tbe globally mapped to
numbers. Each chunk will have as it does now it's own
pallette
L369[12:52:36] <ghz|afk> it will convert
each separate IBlockState to a number
L370[12:52:54] <barteks2x> And will
attempt to use as few bits as possible, with max of 12 because max
4096 blocks per 16x16x16 section
L371[12:53:09] <Commoble> *max of 16
L372[12:53:29] <barteks2x> log2(4096) =
12
L373[12:53:33] <Commoble> nvm I read that
wrong
L374[12:53:46] <barteks2x> At some point I
guess it will be better to just store raw references to
iblockstates probably
L375[12:54:01] <barteks2x> (with enough
distinct blocks in small area)
L376[12:54:27] <barteks2x> currently, in
that case, MC falls back to using raw IDs
L377[12:54:47] <billy> ghz|afk, so if I
understand you, its basically just hiding the bitwork behind the
api now
L378[12:57:51] <ghz|afk> yes... except the
bitwork is different and doesn't have the same limitations
L379[12:58:10] <ghz|afk> for starters, we
won't be limited to 4096 global block IDs
L380[12:58:16]
⇨ Joins: Neal (~Neal@47.146.41.184)
L381[12:58:24] <ghz|afk> meaning HUGE
PACKS will be easier to create
L382[12:58:25] <Commoble> which is great
because I'm using like
L383[12:58:30] <Commoble> at least 400 in
the rock mod
L384[12:58:39] <ghz|afk> then, a block
will be able to have more than 16 variants
L385[12:58:47] <ghz|afk> without having to
resort to tileentities
L386[12:58:56] <Commoble> because I can't
for the life of me get itemblock rendering for different variants
to work
L387[12:59:10] <Commoble> so I'm just
gonna sit on that one until 1.13 rolls out
L388[12:59:14] <Commoble> problem
solved
L389[12:59:25] <barteks2x> and it may make
world save files slightly smaller
L390[12:59:33] <Commoble> Sorcery!
L391[12:59:39] <billy> ok, this makes more
sense now. now i can stop worrying about my stairs mod i just
release (170+ stairs added)
L392[12:59:47] <Commoble> dang yo
L393[12:59:57] <Commoble> I thought my 32
stairs was a lot
L394[13:00:04] <billy> the way you were
talking i thought i would hav eto split each one of those up into
multiple blocks :S
L395[13:00:06] <Raycoms> Are there any
benchmarks on it yet, how does it compared to the existing
one?
L396[13:00:28] <ghz|afk> let me
check
L397[13:04:54] <ghz|afk> snapshot: 17.4mb
for a new world with render distance 32
L398[13:05:29] <ghz|afk> 1.12.2: 17.1mb
for the same exact seed and same render distance
L399[13:06:20] <ghz|afk> I would have to
try with a bigger world, I guess
L400[13:06:36] <ghz|afk> but I have no
idea if the chunks are ALL upgraded at once
L401[13:06:42] <ghz|afk> or dynamically as
they are first encountered
L402[13:07:15] <Raycoms> Wow at render
distance 32, my laptop would be on fire for a while already
=P
L403[13:07:20] <Commoble> that's less than
a 2% increase, it's statistically meaningless in either
direction
L404[13:08:36] <Raycoms> You can only say
it's statistically meaningless if you know the variance =P
L405[13:08:39] <ghz|afk> Raycoms: I had
three minecrafts running at the same time :P
L406[13:08:44] <ghz|afk> OS: Unsupported
Windows 10.0 (Build #16299) CPU: Intel Core i7-6700K, 4.01
GHz, 0 KB Video: NVIDIA GeForce GTX 1070 (2560x1440x32bpp
59Hz) Sound: Speakers (Realtek High Definiti Memory: Used:
14233/32708MB Uptime: 1w 6d 23h 20m 59s HD Space: Free: 5481.67
GB/8382.28 GB Connection: Intel(R) Ethernet Connection (2) I219-V @
1000.0 Mbps (Rec: 3384.81MB
L407[13:08:44] <ghz|afk> Sent:
994.30MB)
L408[13:08:58] <Commoble> I can say it's
statistically meaningless if it's a sample size of one =P
L409[13:09:44] <Raycoms> That's a
different argumen
L410[13:09:48] <Commoble> fair point
L411[13:10:04] <Raycoms> Oh, I can't wait
to buy a new laptop...
L412[13:10:37] <Raycoms> Still have to
investigate if I can get my mSata working in a m.2 or sata3 slot at
fair speed =P
L413[13:12:36] <Commoble> oh man I had an
idea
L414[13:13:55] <Commoble> long long time
ago I tried to make a mod that added randomly generated dimensions
but I gave up because it was too complicated for me at the time and
the forge API wasn't robust enough yet
L415[13:14:35] <Commoble> then later I
came back and there were new hooks that were super useful but they
were put there for Mystcraft and Mystcraft did a better job of it
than I could so I scrapped the idea again
L416[13:14:53] <Commoble> now I had a new
thought:
L417[13:14:57] <Commoble> DUNGEON
DIMENSIONS
L418[13:15:29] <Raycoms> Btw, is anyone
interested in joining our dev team? =D
L419[13:15:36] <Commoble> whose dev
team
L420[13:15:43] <Raycoms> Minecolonies
=D
L421[13:15:48] <Commoble> never heard,
lemme google
L423[13:16:07] <Commoble> found it
first
L424[13:16:59] <Raycoms> We actually have
tasks concerning almost any concern of minecraft modding =D
L425[13:17:09] <Commoble> NPCs that make
villages, you say?
L426[13:17:24] <Raycoms> Yeah
L428[13:18:47] <Raycoms> Basically
colonies with a lot of micromanagement and the possibility to make
it a huge city
L429[13:18:56] <Raycoms> We're constantly
expanding on it
L430[13:19:49] <Commoble> eh, doesn't
sound like my kinda thing
L431[13:20:23] <Commoble> I'm more
interested in making colonies that manage themselves and antagonize
you
L432[13:20:35] <Raycoms> That's the long
term plan
L433[13:21:02] <Commoble> like an evil
Dwarf Fortress AI
L434[13:21:03] <Raycoms> We're planning on
trading, warfare etc pvp, pve
L435[13:21:58] <Commoble> gnomes of stone
building vast underground empires, building their numbers,
excavating mountain halls, stealing your stuff
L436[13:22:29] <Raycoms> Yeah ours are
more over the earth =
L437[13:22:33] <Commoble> some day I'll
get back to that
L438[13:22:36] <IoP> underpants?
L440[13:31:27] ⇦
Quits: Ipsis (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk) (Ping
timeout: 207 seconds)
L441[13:41:17]
⇨ Joins: Hanii
(~textual@2a00:23c4:484:d100:d59c:3cb0:1ea:739e)
L442[13:59:51]
⇨ Joins: phroa (~phroa@173.254.236.155)
L443[14:01:10] ⇦
Quits: Raycoms (~Raycoms@2804:14d:baa0:9612:211:f974:13b9:be92)
(Quit: Leaving)
L444[14:11:18] <barteks2x> now that's
new... I timed out in singleplayer
L445[14:11:45] ⇦
Quits: nallar (~nallar@81.187.229.141) (Ping timeout: 207
seconds)
L446[14:12:50]
⇨ Joins: nallar (~nallar@81.187.229.141)
L447[14:18:18] <Commoble> That'll be fun
to debug
L448[14:21:32] <barteks2x> not really a
bug... my system was just so slow because of swapping that it timed
out when loading world
L449[14:22:22] ⇦
Quits: nallar (~nallar@81.187.229.141) (Ping timeout: 198
seconds)
L450[14:22:51]
⇨ Joins: nallar
(~nallar@cpc134854-cani4-2-0-cust141.know.cable.virginm.net)
L451[14:44:54] ⇦
Quits: KGS (~KGS@h-158-174-9-50.NA.cust.bahnhof.se) (Ping timeout:
186 seconds)
L452[14:45:11] <treborx555> i just
realeased my mod, didnt expect someone would make a video with a
bug xD i would have never found this bug otherwise lol
L453[14:45:48] <ghz|afk> heh
L454[14:46:03] <ghz|afk> I saw someone
make a spotlight of one of my mods, and encounter a bug during it
:P
L455[14:46:19] <ghz|afk> and no, they
didn't report the bug
L456[14:46:29] <ghz|afk> I had to find out
by watching it one day randomly ¬¬
L457[14:46:54] <Ordinastie> the firs
spotlight I got, they were half buggy, half the guy didn't have a
clue how to make stuff work ><
L458[14:50:31] <ghz|afk> it's funny how
like 70% of the spotlights for my tool belt mod
L459[14:50:32] <ghz|afk> are in
spanish
L460[14:51:13] <treborx555> yeah im
panicking right now because i see how hard it is to understand my
mod lol
L461[14:51:20] <ghz|afk> XD
L462[14:51:46] <treborx555> also items for
some reason become textureless purple blocks for no apparent
reason..
L463[15:06:11] <TechnicianLP> did you tell
the modelloader which model to use for them?
L464[15:06:26] <TechnicianLP> items and
blocks need seperate registrations for models
L465[15:11:45]
⇨ Joins: KGS
(~KGS@h-158-174-9-50.NA.cust.bahnhof.se)
L466[15:30:40] <treborx555> its the
vanilla minecraft items that suddenly randomly lose texture
L467[15:31:03] <Commoble> yeah that's no
good
L468[15:31:41] <treborx555> i set their
damage to -1 maybe thats it, some1 said that makes them last
forever and it seems to work.. usually
L469[15:32:27] <treborx555>
item.getItem().setMaxDamage(-1)
L470[15:32:37] <Commoble> What, for every
item?
L471[15:32:39] <barteks2x> are you doing
that on *all* items?
L472[15:32:58] <Commoble> For some items,
the damage value is used like block metadata
L473[15:33:01] <treborx555> all the gear
that drops from mobs
L474[15:33:19] <Commoble> and it'll look
up that value in the process of determining which texture to
use
L475[15:33:39] <Commoble> Any item that
can drop from any mob, like wool?
L476[15:34:03] <treborx555> no, just armor
and weapon pieces
L478[15:36:40] <treborx555> dont be too
harsh on me xD
L479[15:40:58] ⇦
Quits: moony (~moony@tx-76-4-60-239.dhcp.embarqhsd.net) (Ping
timeout: 198 seconds)
L480[15:40:58] ⇦
Quits: Commoble (~Commoble@mnpl-04-3331.dsl.iowatelecom.net) (Read
error: Connection reset by peer)
L481[15:43:08] <Ordinastie> your IGeneral
interface...
L482[15:43:22] ⇦
Quits: Alaura (~Alaura@ip68-14-164-59.ok.ok.cox.net) (Ping timeout:
198 seconds)
L483[15:44:05] <treborx555> please be
specific
L484[15:44:39] <Ordinastie> it should be
static methods in a util class, not an interface you slap on random
classes
L485[15:48:54] <treborx555> hmm..oh i see,
that allows me to use the interface methods both in static and non
static methods?
L486[15:49:29]
⇨ Joins: Commoble
(~Commoble@mnpl-04-3331.dsl.iowatelecom.net)
L487[15:49:56] <Ordinastie> static method
can be accessed statically yes, that means, they don't need
context
L488[15:50:05] <Ordinastie> but that's not
the purpose of interfaces
L489[15:50:56] <treborx555> so should i
change the interface methods to static or im doing interfaces
wrong?
L490[15:51:07] <Ordinastie> you're doing
interfaces wrong
L491[15:51:11] <Ordinastie> well, that one
at least
L492[15:51:20] <Ordinastie> that should be
an interface at all
L493[15:51:47] <Ordinastie> interfaces are
use as contracts for the classes that implement them, to say to the
class they have to implement those methods
L494[15:52:14] <treborx555> ah, i just use
them as methods that can be shared
L495[15:52:37] <Commoble> Your own
internal code will almost never need to use interfaces, they're
mostly useful for APIs
L496[15:53:14] <treborx555> but if i didnt
use interfaces i'd have to copy paste the methods a ton
L497[15:53:20] <Ordinastie> no
L498[15:53:25] <Ordinastie> you make them
static
L499[15:53:31] <Ordinastie> you call them
statically
L500[15:53:45] <treborx555> like
class.method? that seems too verbose
L501[15:53:58] <Commoble> it's less
verbose than copy-pasting them
L502[15:54:29] <Ordinastie> better than to
have some random methods in every classes that are not relevant to
them
L503[15:54:36] <treborx555> but using
static interfaces methods seems better
L504[15:54:41] <Commoble> it's not
L505[15:54:58] <Ordinastie> and if you
*really* don't want to have SomeClass.method()
L506[15:55:04] <Ordinastie> you can alway
have static imports
L507[15:55:15] <treborx555> oh
L508[15:55:37] <Commoble> (I always use
"this.method()" for local methods anyway so in my case
it's no more verbose than anything else)
L509[15:55:50] <treborx555> so i should
just change my interfaces into classes and make the methods static,
then import them?
L510[15:55:55] <Commoble> er
L511[15:56:04] <Ordinastie> yes
L512[15:56:13] <Ordinastie> the import
part is not really necessary
L513[15:56:30] <Ordinastie> it's to adress
the verbose part
L514[15:56:33] <treborx555> ok thanks, it
is to me, i dislike big code
L515[15:56:57] <Commoble>
"SomeClass.method" compared to "method" isn't
really "more verbose"
L516[15:57:34] <treborx555> welp
L517[15:57:48] <Ordinastie> consider that
if you omit the class, you will need the method to have really
explicit naming
L518[15:57:48] <treborx555> is that the
biggest issue or just the first issue you saw? xD
L519[15:57:59] <treborx555> ah i see
L520[15:58:09] <Ordinastie> most of the
time, you can have utility method regrouped in different
classes
L521[15:58:18] <Ordinastie> and there, the
class name give some context and meaning
L522[15:58:46] <Ordinastie> like
L523[15:58:48] <Commoble> if your method
doesn't actually read or write to any local fields, you should
probably make it a static method
L524[15:58:49] <treborx555> oh i see
L525[15:58:59] <treborx555> instead of
isgear() i can do is.gear()
L526[15:59:17] <Commoble> that just gave
me like five headaches
L527[15:59:21] <Ordinastie> no not really
:p
L528[15:59:24] <treborx555> fk
L529[15:59:29] <Commoble> like, here's a
vanilla example
L530[15:59:29] <billy> more like instead
of registerBlocks() use ModBlocks.register()
L531[16:00:05] <Commoble> you look at the
MathHelper class, that's full of static utility functions
L532[16:00:10] <Commoble> and you can call
it from anywhere
L533[16:00:23] <Commoble> (because that's
what you use static functions for)
L534[16:00:31] <Commoble> like
MathHelper.abs()
L535[16:00:36] <ghz|afk> also java
supports static imports, so
L537[16:00:50] <ghz|afk> import static
yourpackage.GearUtils.isGear;
L538[16:00:58] <ghz|afk> woudl let you
call isGear without the class name :P
L539[16:01:24] <Commoble> you'd want to be
careful with that so you don't confuse yourself though
L540[16:01:28] <ghz|afk> yup
L541[16:01:32] <barteks2x> and most of the
time youb can get the IDE to do the static import for you
L542[16:02:25] <ghz|afk> best case is NOT
to use static import
L543[16:02:37]
⇨ Joins: Doty1154
(~Doty1154@2601:648:8000:134f:b544:3d26:f10a:f878)
L544[16:02:48] <ghz|afk> but if it bothers
you enoguh that you'd use default methods on an interface, as a
means to avoid writing a class name a couple times
L545[16:02:54] <ghz|afk> in that case,
static imports are a valid tool
L546[16:03:04] <ghz|afk> we'd still
recommend getting used to having nice verbose code
L547[16:03:20] <Ordinastie> I use static
imports for google's Preconditions class
L548[16:03:21] <TechnicianLP> it makes
readinf for 3rd parties easier
L549[16:03:36] <treborx555> i see, and
here i thought i tidied up my code nicely
L550[16:03:55] <ghz|afk> i knew someone
who was so paranoid about compacting code
L551[16:04:00] <ghz|afk> he'd write
multiple statements in one line
L552[16:04:13] <Commoble> to be fair I'll
do that if they're like
L553[16:04:16] <Commoble> really really
short ones
L554[16:04:25] <ghz|afk> yes but you don't
do like
L555[16:04:28] <Ordinastie> just
don't
L556[16:04:31] <ghz|afk> if (cond) { code;
more code;
L557[16:04:36] <ghz|afk> some more code;
some other code;
L558[16:04:41] <ghz|afk> } next code;
etc;
L559[16:04:50] <billy> i'm completely
opposite, everything has to have its own line, and everything must
have brackets (even 1 liners)
L560[16:04:52] <ghz|afk> he did stuff like
that.
L561[16:05:17] <Ordinastie> the only place
where multiple statements fit on one line is for for()
L562[16:05:47] <Ordinastie> the tempvar
one, not the foreach
L563[16:06:03] <billy> biggest pest peeve:
if (true) return; all on same line, no brackets. i die on the
inside every time i see it
L564[16:06:40] <Ordinastie> I don't do
brackets for 1 line ifs though
L565[16:06:46] <ghz|afk> billy: I once
wrote "if (condition) <newline> return;" at
work
L566[16:06:54] <Ordinastie> that's why I
can't stand egyptian style brackets
L567[16:06:56] <ghz|afk> and I was told to
either make it "if (cond) return;" or add the
brackets
L568[16:07:24] <ghz|afk> I died a little
inside, because "if (cond) return;" is horrible to me
:P
L569[16:07:38] <ghz|afk> so I added
brackets.
L570[16:07:57] <billy> gcc shaped me to
use brackets for everything
L571[16:08:05] <barteks2x> the only reason
it's "horrible" for me is because all known formatters
automatically add the newline
L572[16:08:10] <billy> used to be a time
it would throw warnings during compiling about missing
brackets
L573[16:08:31] <barteks2x> so there is no
sane way to keep it that way
L574[16:08:33] *
Commoble googles Egyptian Brackets
L575[16:08:42] <Ordinastie> it's K&R
style
L576[16:08:42] <Commoble> Oh, THAT'S what
those are called, yeah, heck those
L577[16:09:02] <ghz|afk> oh also, I once
saw someone write code like:
L578[16:09:05] <ghz|afk> if ( long .....
condition ) {
L579[16:09:05] <ghz|afk> ....code indented
around here
L580[16:09:05] <ghz|afk> ....more
code
L581[16:09:05] <ghz|afk>
............................}
L582[16:09:21] *
Commoble facepalms
L583[16:09:48] <treborx555> oh btw
L584[16:10:02] <billy> wow, thats
bad
L585[16:10:05] <Ordinastie> funny thing
is, you can have the weirdest formatting, that's not the
worst
L586[16:10:09] <billy> worse than { on a
newline
L587[16:10:12] <Ordinastie> the worst,
it's when it's not consistent
L588[16:10:17] <ghz|afk> billy: { on a new
line is GOOD
L589[16:10:28] <treborx555> i do if (con
return to reduce the amount of brackets so it doesnt look like if (
if ( if ( if ( if, is that good?
L590[16:10:29] <ghz|afk> I'd dare say,
it's the only truly good way to write it :P
L591[16:10:37] <billy> i cant bring myself
to use it. i've been doing { on same line for over 20 years
now
L592[16:11:20] <ghz|afk> I grew up with
varied programming languages
L593[16:11:43] <ghz|afk> visualbasic,
pascal, C, java, C#, php, javascript, even touched some
actionscript at one point
L594[16:11:57] <ghz|afk> and the C part,
was on msvc style
L595[16:12:02] <ghz|afk> so it used { in
its own lines
L596[16:12:12] <Ordinastie> treborx555,
that's called returning early, and imo, it's better
L597[16:12:22] <billy> first time i ever
saw it was C#
L598[16:12:24] <Ordinastie> I don't really
like when you have code indented 6 times
L599[16:12:26] <treborx555> thanks, at
least one thing i figure out is good
L600[16:12:33] <treborx555> me
neither
L601[16:12:42] <ghz|afk> treborx555: the
only downside to using early-exit constructs
L602[16:12:45] <barteks2x> I think almost
everyone would start using brackets on same line when forced to
write code on smal,l resolution for longer amount of time
L603[16:12:50] <ghz|afk> is that you can
forget to release resources
L604[16:13:02] <ghz|afk> java lets you fix
that by using try{}finally{}
L605[16:13:11] <ghz|afk> (and putting the
deinitialization in the finally block
L606[16:13:12] <treborx555> what does
release resources mean
L607[16:13:18] <ghz|afk> it means
like
L608[16:13:21] <ghz|afk> you oppen a file
for reading
L609[16:13:25] <ghz|afk> and forget to
call .close on it
L610[16:13:26] <treborx555> oh
L611[16:13:32] <ghz|afk> suppose this
code:
L612[16:13:35] <ghz|afk> open file
stream
L613[16:13:36] <ghz|afk> read bytes
L614[16:13:42] <ghz|afk> if (header !=
MAGIC_NUMBER) return;
L615[16:13:45] <ghz|afk> read
contents;
L616[16:13:55] <ghz|afk> oops! you never
called close on that if
L617[16:14:26] <ghz|afk> that's why c# has
using() and java has try-with-resources
L618[16:14:27] <Ordinastie> but only if
you don't use using() or try-finally, which you should anyway
L619[16:14:46] <treborx555> seems like a
minor problem
L620[16:14:49] <Ordinastie> oh, right,
using is not java ><
L621[16:15:01] <ghz|afk> yeah
L622[16:15:10] <ghz|afk> they didn't want
to add more keywords, I guess
L623[16:15:50] <billy> its minor until
your OS stalls because "too many files open" spams
dmesg
L624[16:16:18] <treborx555> stalling?
better than a bugged while loop
L625[16:16:32] <billy>
stalling/halting/crashing
L626[16:16:42] <treborx555> oh ye thats
bad
L627[16:16:50] <treborx555> i have to wait
10 minutes for pc to restart
L628[16:17:15] <treborx555> i wonder why
windows doesnt save a tiny bit of memory to allow me to kill the
process
L629[16:17:48] <ghz|afk> that's not the
issue
L630[16:17:55] <ghz|afk> if you run out of
ram, it starts using swap (pagefile)
L631[16:18:03] <ghz|afk> which means it
has to constantly write and read from disk
L632[16:18:07] <ghz|afk> which is very
very slow
L633[16:18:25] <treborx555> oh so thats
why it freezes
L634[16:18:26] <ghz|afk> so the entire
system ends up waiting for disk, and so you have trouble even
running cmd to kill the process
L635[16:18:31] *
billy doesnt have a swap partition :3
L636[16:18:43] <treborx555>
"trouble" is undererestimating
L637[16:19:00] <barteks2x> a question
about forge dependency extraction: if I update my mod that contains
dependency to extract, will it overwrtite the old extracted
file?
L638[16:19:13] <ghz|afk> billy: good luck
if any program uses a lot of ram and everything else crashes with
out of memory
L639[16:19:14] <ghz|afk> :P
L640[16:19:21] <treborx555> anyway im
still trying to figure out how to rename my interface methods
L641[16:19:23] <ghz|afk> it's WAY safer to
have swap
L642[16:19:25] <billy> happens at least
once a week, ghz|afk ^_^
L644[16:19:26] <ghz|afk> even if you have
plenty of ram
L645[16:19:48] <treborx555> bragger
xD
L646[16:19:57] <barteks2x> I actually
would prefer to not have swap, because otherwise one runaway
program and everything is slow for the next hour
L647[16:19:59] <treborx555> 4gb ram here
:/
L648[16:20:04] <TechnicianLP> my linux
boots with 0.5 gb of swap used - probably some rarely used
stuff
L649[16:20:04] <ghz|afk> RAM: Used:
15105/32708MB (46% Load)
L650[16:20:14] <barteks2x> and it's just
more productive to restart that stuff anyway
L651[16:20:32] <ghz|afk> barteks2x: the
issue is that, if you do have some swap, stuff slows down
L652[16:20:43] <ghz|afk> if you don't,
unrelated programs start crashing
L653[16:20:51] <ghz|afk> and those
programs might contain important data
L654[16:21:06] <ghz|afk> hence why it's
recommended to always have some swap
L655[16:21:21] <billy> sometimes i forget
how many debug minecraft instance i have running, and will crash
from opening too many
L656[16:21:34] <barteks2x> or disable
memory overtcommit
L657[16:22:29] <treborx555> oh yeah, is
there like a debug mode where the IDE automatically generates
system out prints for every variable during the process of
firing?
L658[16:22:51] <ghz|afk> what
L659[16:22:52] <ghz|afk> XD
L660[16:22:53] <barteks2x> for *all*
variables?
L661[16:23:03] <barteks2x> you can do that
for one variable using breakpoiint
L662[16:23:05] <Ordinastie> sure, that
wouldn't kill your setup...
L663[16:23:13] <ghz|afk> you know how many
variables exist in the enterity of the loaded classpath? :P
L664[16:23:14] <treborx555> yea
L665[16:23:21] <treborx555> hm..
L666[16:23:35] <ghz|afk> also just to
consider how this would have to work
L667[16:23:38] <treborx555> i have this
class that calculates dmg, it has like 30 variables that i need to
check
L668[16:23:50] <barteks2x> add a
breakpoint
L669[16:23:50] <ghz|afk> the IDE would
have to put a breakpoint on EVERY SINGLE LINE that modifies a
variable
L670[16:23:54] <Ordinastie> that's the
purpose of the debugger
L671[16:23:55] <barteks2x> and it will
show you values of them
L672[16:24:00] <ghz|afk> then when that
breakpoint triggers
L673[16:24:03] <ghz|afk> it would have to
print out the value
L674[16:24:04] <ghz|afk> and resume
L675[16:24:10] <treborx555> breakpoints,
ill have to learn that
L676[16:24:11] <ghz|afk> halt! print out,
resume.
L677[16:24:12] <ghz|afk> halt! print out,
resume.
L678[16:24:13] <ghz|afk> halt! print out,
resume.
L679[16:24:17] <ghz|afk> it wouldn't be
slow
L680[16:24:18] <treborx555> i see, so its
resource intensive
L681[16:24:23] <ghz|afk> it would be stop
motion
L682[16:24:24] <billy> 1 frame per
hour
L683[16:24:33] <barteks2x> it would run at
something like a few lines of code per second
L684[16:24:40] <treborx555> o_o
L685[16:24:59] <barteks2x> well maybe a
few hundred
L686[16:25:01] <ghz|afk> treborx555: try
enabling a conditional breakpoint, on a "hot"
function
L687[16:25:07] <ghz|afk> the program
crawls
L688[16:25:12] <ghz|afk> and that's just
ONE conditional breakpoint
L689[16:25:15] <barteks2x> ^I tried
that
L690[16:25:24] <ghz|afk> imagine with
thousands :P
L691[16:25:25] <treborx555> even on your
monster pcs? then mine would crash probably lol
L692[16:25:26] <barteks2x> was faster to
write a coremod that injects print statements with if()
L693[16:25:45] <ghz|afk> so yeah
L694[16:25:49] <ghz|afk> if you want to
check step by step
L695[16:25:51] <ghz|afk> use the
debugger
L696[16:25:53] <ghz|afk> that's what it's
for
L697[16:25:58] <ghz|afk> put a breakpoint
at the beginning of the code
L698[16:26:00] <Ordinastie> few years back
I couldn't even have conditional breakpoint
L699[16:26:05] <ghz|afk> and use the
"step over" and "step into"
L700[16:26:09] <treborx555> ill need a few
minutes to figure this out
L701[16:26:16] <Ordinastie> whatever the
location, it would slow the process way too much
L702[16:26:26] <ghz|afk> the sooner you
learn how to use step-by-step debugging, the nicer your life will
be
L703[16:26:32] <barteks2x> also I'm really
wondering why IDEs can't use hotswap to do conditional
breakpoints...
L704[16:27:04] <treborx555> well i can
always debug step by step but sometimes i just hate writing 10
print statements
L705[16:27:12] <ghz|afk> maybe they don't
want to do code injection for breakpoints, dunno
L706[16:27:28] <ghz|afk> treborx555: don't
write print statements, then
L707[16:27:34] <ghz|afk> use the variable
inspector in the IDE
L708[16:27:46] <Commoble> or instead of
printing to the console you could have the screen flash in morse
code
L709[16:28:01] <barteks2x> no, it would
pause the execution, and it would list all the variables
L710[16:28:05] <treborx555> i never used
any of these things
L711[16:28:13] <ghz|afk> as I said, learn,
it's really nice.
L712[16:28:24] <ghz|afk> sec I'll show you
a screenshot :P
L713[16:28:33] <treborx555> it seems nice,
ill have to learn it
L714[16:28:41] <Ordinastie> tbh, to code
properly, it's mandatory
L715[16:28:55] <Ordinastie> I have a
friend learning how to code
L716[16:28:57] <Ordinastie> at uni
L718[16:29:08] <Ordinastie> 6 months in,
they still don't know what a debugger is
L720[16:29:13] <ghz|afk> notice 3
things
L721[16:29:26] <ghz|afk> 1. idea shows the
"most notable" variables on the right of each line
L722[16:29:35] <ghz|afk> 2. on the cursor
tooltip, there's the value for the hovered variable
L723[16:29:47] <ghz|afk> 3. at the bottom
left, the call stack where the brakpoint stopped
L724[16:29:59] <ghz|afk> 4. at the bottom
right, the variable inspector with the values of the current
scope
L725[16:30:02] <Ordinastie> (I wish
eclipse did the in-editor output too :()
L726[16:30:11] <Ordinastie> that's the
only thing I envy IDEA for
L727[16:30:19] <barteks2x> so switch to
IDEA :D
L728[16:30:26] <Ordinastie> yeah, no
thanks
L729[16:30:38] <billy> join the dark
side
L730[16:30:40] <Ordinastie> emphasis on
"only" :p
L731[16:30:56] <treborx555> i see, yeah
thats what i want
L732[16:30:56] <Ordinastie> billy, your
cookies don't tempt me!
L733[16:30:59] <barteks2x> the
MInecraftDev plugin is also really nice
L734[16:31:01] <billy> ^_^
L735[16:32:10] <billy> i used to be an
eclipse fanboy too. i waited like 3 years after google switched to
idea for android, and i kick myself for waiting so long
L736[16:33:06] <barteks2x> I actually
first used eclipse, then found it too annoying and used netbeans
(aven for minecraft dev) and then found IDEA
L737[16:34:19] <treborx555> i got intelij
just because nightmode
L738[16:34:53] <ghz|afk> yeah these days,
I can't rate an app as "good" if it doesn't have a dark
theme/skin
L739[16:35:15] <treborx555> i cant believe
i got used to darkmode in just like a day
L740[16:35:24] <treborx555> i thought it
was really weird at first
L741[16:35:30] <ghz|afk> "dark
theme" was an evolution for me
L742[16:35:58] <ghz|afk> I don't remember
what was the very first program I used with a dark theme
L743[16:36:03] <billy> everything is dark
theme on my os cause i am nocturnal and the white hurts my eyes in
the dark lol
L744[16:36:08] <ghz|afk> but a notable
"early" program was visual studiop 2010
L745[16:36:14] <ghz|afk> -p
L746[16:36:17] <ghz|afk> it wasn't truly
dark
L747[16:36:20] <ghz|afk> but dark
blue
L748[16:36:44] <Ordinastie> when I first
started coding at school and saw other use dark theme for their
IDE, I thought they were just doing that to look 'cool' :p
L749[16:36:58] <treborx555> holy shit my
game froze as soon as i activated the breakpoint
L750[16:37:10] <Ordinastie> yeah, that's
the poiçnt
L751[16:37:11] <billy> thats what a
breakpoint does
L752[16:37:12] <Ordinastie> *point
L753[16:37:49] <treborx555> its supposed
to freeze the game?
L754[16:38:05] <ghz|afk> well
L755[16:38:06] <Ordinastie> it stops the
execution of the thread when it reaches it, so yes
L756[16:38:08] <ghz|afk> when the
breakpoint hits
L757[16:38:11] <ghz|afk> the entire
program stops
L758[16:38:13] <treborx555> ooh
L759[16:38:14] <ghz|afk> waiting for input
on the IDE
L760[16:38:14] <billy> you can step
through to the next breakpoint. and yes, its so you can examine the
current state before stepping forward
L761[16:38:24] <ghz|afk> then you can
choose to step through the lines of code
L762[16:38:29] <ghz|afk> or continue
running
L763[16:38:31] <ghz|afk> or stop
L764[16:38:34] <treborx555> sounds like
code dungeon crawling
L765[16:38:59] <ghz|afk> yes it's like a
"choose your own adventure" book
L766[16:39:01] <billy> i like to think of
it like the matrix, freezing time so I can look around at
everything while time holds still for me
L767[16:39:04] <billy> but i'm weird
L768[16:39:44] <ghz|afk> "if you want
to continue, press Fx" "if you want to take one step
forward, press Fy" "if you want to enter the next
function, press Fz"
L769[16:40:18] <Ordinastie> I don't have
that Fx key
L770[16:40:49] <billy> "keyboard not
found, press any key to continue"
L771[16:41:11] <ghz|afk> I use VS key
bindings, so if I had said what it is for me, it would probably not
match your setup :P
L772[16:41:36] <billy> "windows has
detected that your mouse has moved. please reboot your computer for
changes to take effect"
L773[16:41:37] <ghz|afk> F10 = step over,
F11 = step into, shift-F11 = step out, F5 = continue
L774[16:42:23] <Ordinastie> yeah, I don't
really like those
L775[16:42:27] <Ordinastie> prefer eclipse
logic
L776[16:42:31] <Commoble> "It is
pitch black. You are likely to be eaten by a null pointer
exception"
L777[16:42:36] <ghz|afk> once upon a time,
they felt wrong to me
L778[16:42:45] <ghz|afk> I was used to the
visualbasic choices
L779[16:42:58] <ghz|afk> but I got used to
them
L780[16:44:38] <barteks2x> hm... for me
IDEA has F7 = step into, F8 = step over (next line), not sure which
one is continue
L781[16:44:59] <billy> f9 (resume
program)
L782[16:48:44] ⇦
Quits: MalkContent (~MalkConte@p4FDCC665.dip0.t-ipconnect.de)
(Quit: Leaving)
L783[16:57:28]
⇨ Joins: immibis
(~chatzilla@122-59-205-83.jetstream.xtra.co.nz)
L784[17:05:49] <ghz|afk> so I ended up
falling to my temptation
L785[17:05:52] <ghz|afk> reactivated my
wow account
L786[17:06:01] <ghz|afk> and installed the
twitch app (ugh!)
L787[17:06:38] <ghz|afk> anyone knows if
it's possible to configure the twitch app to open on the
"mods" tab?
L788[17:06:52] <ghz|afk> (I have no use
for the twitch streaming tabs)
L789[17:16:57]
⇨ Joins: KklyAq
(~Umbraco@121-87-222-159f1.nar1.eonet.ne.jp)
L790[17:19:36] ⇦
Quits: treborx555 (~quassel@109.228.96.70) (Read error: Connection
reset by peer)
L791[17:29:40] <ghz|afk> foundit :D
L792[17:30:10] <ghz|afk> I wish the twitch
app would remember the wow addons I had before I uninstalled last
time :P
L793[17:39:18] ⇦
Quits: KklyAq (~Umbraco@121-87-222-159f1.nar1.eonet.ne.jp) (Ping
timeout: 186 seconds)
L794[17:42:57] ⇦
Quits: Noppes (~Noppes@ip56530f2e.direct-adsl.nl) (Read error:
Connection reset by peer)
L795[17:49:30] ⇦
Quits: Zethalion (~Zethalion@095-097-058-227.static.chello.nl)
(Ping timeout: 207 seconds)
L796[17:51:18]
⇨ Joins: Zethalion
(~Zethalion@095-097-058-227.static.chello.nl)
L797[17:57:57] ⇦
Quits: Zethalion (~Zethalion@095-097-058-227.static.chello.nl)
(Ping timeout: 207 seconds)
L798[18:12:20] ⇦
Quits: Javaschreiber
(~Thunderbi@88-209-32-73.nga.highspeed-baumann.de) (Quit:
Javaschreiber)
L799[18:23:48] <ghz|afk> I hate myself a
little bit right now :/
L800[18:23:57] <ghz|afk> I wiped my wow
addons config and such >_<
L801[18:25:04] ⇦
Quits: Michiyo (~Michiyo@mail.pc-logix.com) (Read error: Connection
reset by peer)
L802[18:25:11]
⇨ Joins: Michiyo_ (~Michiyo@mail.pc-logix.com)
L803[18:26:46] ⇦
Quits: KGS (~KGS@h-158-174-9-50.NA.cust.bahnhof.se) (Ping timeout:
186 seconds)
L804[18:27:18] ⇦
Quits: mallrat208 (~mallrat20@107.145.144.41) (Ping timeout: 186
seconds)
L805[18:27:34]
⇨ Joins: KGS
(~KGS@h-158-174-9-50.NA.cust.bahnhof.se)
L806[18:34:02] <LexMobile> diesieben07:
There is a new 'Installer Download Failed' action you should have
access to for the download issues.
L807[18:37:14]
⇨ Joins: sinkillerj
(~sinkiller@nc-67-238-186-225.dhcp.embarqhsd.net)
L808[18:39:52]
⇨ Joins: Tao
(~Tao@62-178-179-89.cable.dynamic.surfer.at)
L809[18:41:59] <Tao> Hey mezz, are you
around?
L810[18:52:39] ⇦
Quits: Nedelosk
(~Nedelosk@ip-37-201-253-118.hsi13.unitymediagroup.de) (Read error:
Connection reset by peer)
L811[18:58:42]
⇨ Joins: Zoss
(~Zoss@ppp121-45-127-193.bras2.adl6.internode.on.net)
L812[19:07:34] ⇦
Quits: auenf (~David@120.154.64.171) (Read error: Connection reset
by peer)
L813[19:10:16]
⇨ Joins: auenf (~David@120.154.64.171)
L814[19:26:23] ⇦
Quits: SanAndreasP (~SanAndrea@i577b0bcf.versanet.de) (Ping
timeout: 200 seconds)
L815[19:47:55] ⇦
Quits: Tao (~Tao@62-178-179-89.cable.dynamic.surfer.at) (Quit:
Leaving)
L816[20:32:34] ⇦
Quits: airbreather (~airbreath@d149-67-99-43.nap.wideopenwest.com)
(Ping timeout: 198 seconds)
L817[20:48:06] ⇦
Quits: KGS (~KGS@h-158-174-9-50.NA.cust.bahnhof.se) (Ping timeout:
186 seconds)
L818[20:49:06]
⇨ Joins: Unh0ly_Tigg
(~Unh0ly_Ti@c-24-21-196-226.hsd1.or.comcast.net)
L819[21:22:49]
⇨ Joins: Zethalion
(~Zethalion@095-097-058-227.static.chello.nl)
L821[21:24:48] <Commoble> well, they're
the right size this time
L822[21:24:59] <Commoble> And properly
aligned on one out of three axes!
L823[21:41:14] ⇦
Quits: Commoble (~Commoble@mnpl-04-3331.dsl.iowatelecom.net) (Quit:
Leaving)
L824[22:05:56]
⇨ Joins: airbreather
(~airbreath@d149-67-99-43.nap.wideopenwest.com)
L825[22:06:48]
⇨ Joins: ben_mkiv
(~ben_mkiv@p4FED5871.dip0.t-ipconnect.de)
L826[22:10:46] ⇦
Quits: Lathanael|Away (~Lathanael@p54960393.dip0.t-ipconnect.de)
(Ping timeout: 186 seconds)
L827[22:16:57]
⇨ Joins: Lathanael|Away
(~Lathanael@p54960C94.dip0.t-ipconnect.de)
L828[22:36:24]
⇨ Joins: moony
(~moony@tx-76-4-60-239.dhcp.embarqhsd.net)
L829[23:17:41]
⇨ Joins: McJty
(~jorrit@ptr-9197ufqqs1ei6rkkt4s.18120a2.ip6.access.telenet.be)
L830[23:31:14] ⇦
Quits: Zoss (~Zoss@ppp121-45-127-193.bras2.adl6.internode.on.net)
(Quit: Leaving)
L831[23:42:36] ⇦
Quits: sinkillerj (~sinkiller@nc-67-238-186-225.dhcp.embarqhsd.net)
(Quit: またね)
L832[23:53:42] ⇦
Quits: Doty1154 (~Doty1154@2601:648:8000:134f:b544:3d26:f10a:f878)
(Ping timeout: 186 seconds)
L833[23:54:30]
⇨ Joins: Doty1154 (~Doty1154@67.215.244.186)
L834[23:56:54] ⇦
Quits: Darkhax (~darkhax@d205-206-157-117.abhsia.telus.net) (Ping
timeout: 186 seconds)
L835[23:58:42] ⇦
Quits: Doty1154 (~Doty1154@67.215.244.186) (Ping timeout: 207
seconds)
L836[23:59:24]
⇨ Joins: Doty1154
(~Doty1154@2601:648:8000:134f:9c10:be41:9400:e766)