<<Prev
Next>>
Scroll to Bottom
Stuff goes here
L1[00:02:15] ⇦
Quits: Shukaro (~Shukaro@130.108.205.152) (Read error: Connection
reset by peer)
L2[00:03:20] ⇦
Quits: Sangam1 (~Sangam1@67-61-61-43.cpe.cableone.net) (Ping
timeout: 198 seconds)
L3[00:06:37] ⇨
Joins: Doty1154
(~Doty1154@2601:648:8000:134f:b946:6c72:e9df:5c9d)
L4[00:08:10] ***
TTFTCUTS is now known as TTFT|Away
L5[00:09:18] ⇨
Joins: AshIndigo_
(~AshIndigo@79-67-168-211.dynamic.dsl.as9105.com)
L6[00:09:59] ⇦
Quits: AshIndigo (~AshIndigo@188.29.164.152.threembb.co.uk) (Read
error: Connection reset by peer)
L7[00:13:30] ⇨
Joins: Hunterz
(~hunterz@2001:af0:8000:1c01:6af7:28ff:fe37:5d6a)
L8[00:22:13] ⇨
Joins: AshIndigo
(~AshIndigo@188.29.164.202.threembb.co.uk)
L9[00:26:05] ⇨
Joins: TechnicianLP
(~Technicia@p4FE56313.dip0.t-ipconnect.de)
L10[00:27:52] ⇦
Quits: AshIndigo_ (~AshIndigo@79-67-168-211.dynamic.dsl.as9105.com)
(Ping timeout: 384 seconds)
L11[00:33:19] <KklyAq> anyone knows whats
up with mod-added stairs blocks having parts of it rendered
completely black with smooth lighting off?
L12[00:39:46] ⇦
Quits: TechnicianLP (~Technicia@p4FE56313.dip0.t-ipconnect.de)
(Ping timeout: 384 seconds)
L13[01:09:26] ***
Clank is now known as Clank[Away]
L15[01:17:41] <TehNut> Though it's
1.9.4
L16[01:19:37] <KklyAq> doing
setLightOpacity(0); seems to fix it. Even though BlockStairs does
setLightOpacity(255); in its constructor...
L17[01:20:34] ⇦
Quits: acterhd (~acterhd@95.85.68.64) (Ping timeout: 206
seconds)
L18[01:20:36] <KklyAq> maybe a bit
hacky?
L19[01:31:22] ⇦
Quits: Everseeking
(~Everseeki@pool-100-6-95-214.pitbpa.fios.verizon.net) (Quit: Big
Gulps, huh? Alright... Welp, see ya later)
L20[01:36:06] ⇦
Quits: illy (uid69226@id-69226.charlton.irccloud.com) (Quit:
Connection closed for inactivity)
L21[01:38:04] ⇨
Joins: VikeStep (~VikeStep@101.184.55.151)
L22[01:47:40] ⇦
Quits: mezz (~mezz@24.6.28.151) (Quit: mezz)
L23[01:47:57] ⇨
Joins: mezz (~mezz@24.6.28.151)
L24[01:47:57]
MineBot sets mode: +v on mezz
L25[01:48:21] ⇨
Joins: NineChickens
(uid196646@id-196646.ealing.irccloud.com)
L26[01:56:18] ⇨
Joins: acterhd (~acterhd@95.85.68.64)
L27[01:56:24] <acterhd> how to locate java
library path in forge gradlew?
L28[02:00:03] <MCPBot_Reborn> [TEST CSV]
Pushing snapshot_20161212 mappings to Forge Maven.
L29[02:00:07] <MCPBot_Reborn> [TEST CSV]
Maven upload successful for mcp_snapshot-20161212-1.11.zip
(mappings = "snapshot_20161212" in build.gradle).
L30[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/
L31[02:07:02] ⇦
Quits: acterhd (~acterhd@95.85.68.64) (Ping timeout: 384
seconds)
L32[02:08:50] ⇦
Quits: Doty1154 (~Doty1154@2601:648:8000:134f:b946:6c72:e9df:5c9d)
(Read error: Connection reset by peer)
L33[02:08:50] ⇦
Quits: Chais (~Chais@62.178.210.212) (Read error: Connection reset
by peer)
L34[02:11:53] ⇨
Joins: Chais (~Chais@62.178.210.212)
L35[02:17:48] ⇦
Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 384
seconds)
L36[02:22:07] ⇨
Joins: acterhd (~acterhd@95.85.68.64)
L37[02:23:15] ⇨
Joins: TechnicianLP
(~Technicia@p508B646A.dip0.t-ipconnect.de)
L38[02:24:56] <acterhd> where I can ask dev
and MDK question?
L39[02:25:15] ⇨
Joins: Snapples
(uid167569@id-167569.stonehaven.irccloud.com)
L40[02:25:20] ⇦
Quits: AstralSorcerer (~AstralSor@128.151.114.3) (Ping timeout: 206
seconds)
L41[02:25:25] ⇨
Joins: Larry1123 (Larry1123@irc.larry1123.net)
L42[02:25:31] <TechnicianLP> probably
here
L43[02:26:02] ⇨
Joins: Emris (~Miranda@195.234.58.25)
L44[02:27:37] <mezz> go for it
acterhd
L45[02:28:32] ⇨
Joins: Girafi (Girafi@0x555178eb.adsl.cybercity.dk)
L46[02:29:11] ⇨
Joins: gigaherz|work (~gigaherz@84.89.63.25)
L47[02:31:08] ⇦
Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 206
seconds)
L48[02:32:54] ⇨
Joins: Larry1123 (Larry1123@irc.larry1123.net)
L49[02:35:10] <VikeStep> where is the text
on a sign stored?
L50[02:35:46] <gigaherz|work>
TileEntity
L51[02:35:58] <VikeStep> cheers
L52[02:43:26] ***
Darkevilmac is now known as DarkevilAway
L53[02:45:51] ⇦
Quits: TechnicianLP (~Technicia@p508B646A.dip0.t-ipconnect.de)
(Quit: Leaving)
L54[02:47:31] <acterhd> Okay... How to
define java library path for forge mod?
L55[02:48:07] <mezz> what operating
system?
L56[02:48:23] <acterhd> windows
L58[02:49:00] <acterhd> phyndows in russian
humor
L59[02:49:16] <acterhd> I mean for
JNI
L60[02:49:24] <gigaherz|work> if you mean
how to add a library to your project
L62[02:49:37] <acterhd> and for IDE
L63[02:49:45] <gigaherz|work> then every
.jar inside the libs/ folder will get included
L64[02:50:50] <acterhd> I using JNI and
dll, so would be good using JNI in IDE directly
L65[02:51:05] <gigaherz|work> we don't use
JNI though
L66[02:51:07] <gigaherz|work> so we can't
help much
L67[02:51:53] <acterhd> I found dll in
gradle cache
L68[02:52:44] <acterhd> But, would be good
pack (if distribute) and loading from another directory (if debug
in IDE)
L69[02:52:50] <VikeStep> dll's are already
compiled
L70[02:52:56] <VikeStep> and aren't
java
L71[02:53:25] <VikeStep> I don't believe
there is such a thing as "editing JNI"
L72[02:53:59] <VikeStep> are you wanting to
call JNI directly from java?
L73[02:54:08] <VikeStep> if so, that is
technically possible
L74[02:54:12] <acterhd> Yes
L75[02:54:12] <gigaherz|work> that's the
point of JNI -- to call it from java
L76[02:54:12] <gigaherz|work> XD
L77[02:54:25] <gigaherz|work> acterhd: so
wait
L78[02:54:33] <gigaherz|work> you want to
load forge from your DLL's IDE
L79[02:54:37] <gigaherz|work> or the DLL
from your forge IDE?
L80[02:54:56] <acterhd> forge MDK,
intelij
L81[02:55:26] <acterhd> I made separate
folder jni where can be compiled dll
L82[02:55:34] <gigaherz|work> then add it
to your gradle dependencies
L83[02:56:21] <VikeStep> what dll are you
trying to change?
L84[02:56:37] <gigaherz|work> he's not
trying to change
L85[02:56:40] <gigaherz|work> he's creating
a new jni dll
L86[02:56:44] <VikeStep> oh, I see
L87[02:56:53] <gigaherz|work> which would
eventually let minecraft render using an nvidia optix
raytracer
L88[02:58:11] <acterhd> my skype 'acterhd'
if anything
L89[02:58:36] <gigaherz|work> I don't know
JNI so I can't really help
L90[02:59:43] <VikeStep> on a side note, I
think it's about time I learnt OpenGL, as I need to write a custom
renderer. I recall that minecraft is on an old OpenGL version? If
so, does that mean I need to look for older resources
L91[02:59:48] <VikeStep> that might be a
stupid question haha
L92[03:00:22] <gigaherz|work> pretty
much
L93[03:00:37] <VikeStep> what version of
opengl should I be looking up resources for?
L94[03:00:39] <gigaherz|work> learning the
opengl that is used in minecraft
L95[03:00:43] <gigaherz|work> is like
learning to program for DOS
L96[03:00:58] <VikeStep> well, I've got all
holidays :P
L97[03:01:08] <gigaherz|work> well
L98[03:01:17] <gigaherz|work> you'll be
using the fixed-function transform stack
L99[03:01:26] <gigaherz|work>
glPushMatrix/glRotate/glTranslate
L100[03:01:45] <gigaherz|work> you won't
be using the glBegin or such, since the Tesellator does it for
you
L101[03:01:48] <gigaherz|work> which is
something
L102[03:02:10] <gigaherz|work> you won't
be using shaders, which makes learning quicker, but limits what you
can do
L103[03:02:22] <gigaherz|work> unless you
DO choose to use shaders, then good luck with it ;P
L104[03:02:24] <VikeStep> I've found
someone on youtube who apparently shows how to write a custom
renderer for a 1.8.9 mod, gonna see if that teaches it well
:P
L105[03:02:52] <gigaherz|work> out of
curiosity
L106[03:02:58] <gigaherz|work> what do you
need in this "custom renderer"?
L107[03:03:09] <gigaherz|work> what does
it need to do that you can't do with a stock one?
L108[03:04:27] <acterhd> this may offtop,
but... Minecraft purely using old LWJGL 2 version
L109[03:04:47] <acterhd> so, have no
modern API
L110[03:05:11] <acterhd> and only modding
of this old LWJGL can add newer API
L111[03:05:20] <gigaherz|work> well it may
not have gl4 or so
L112[03:05:23] ⇦
Quits: Naiten (Naiten@77.35.46.64) (Read error: Connection reset by
peer)
L113[03:05:25] <gigaherz|work> but it can
h andle opengl 2.x
L114[03:05:39] <gigaherz|work> so it can
do shaders and vertex buffers and such
L115[03:05:47] <gigaherz|work> and mc
doesn't quite make use of them that much
L116[03:06:05] <gigaherz|work> VBOs are a
thing now -- xcept they aren't really kept across calls ¢¢
L117[03:06:13] <gigaherz|work> ~_~
L118[03:06:19] <gigaherz|work> (forgot I'm
on a mac)
L119[03:06:20] <acterhd> I also thinked
make OIT support fot MC
L120[03:06:41] <gigaherz|work> IBakedModel
is missing a .getCachedVBO() ;P
L121[03:07:15] <gigaherz|work> imagine if
mc was able to draw all instances of the same model using geometry
instancing
L122[03:08:00] <gigaherz|work> and imagine
it they used actual skeleton animation for entities, with the
animation angles specified on a constant buffer, and processed in
shaders
L123[03:08:20] <VikeStep> gigaherz|work, I
want to make multi block signs that have markdown support :P
L124[03:08:31]
⇨ Joins: Meow-J (~Meow-J@45.32.34.121)
L125[03:08:39] <VikeStep> the current sign
implementation uses a custom renderer
L126[03:08:55] <gigaherz|work> aha
yeap
L127[03:08:57] <VikeStep> in vanilla
minecraft that is
L128[03:09:09] <gigaherz|work> you could
take a look at rftools screens
L129[03:09:12] <VikeStep> it doesn't even
have a block json haha
L130[03:09:24] <gigaherz|work> yeah
vanilla models don't need a json
L131[03:09:40] <gigaherz|work> there's a
lot of hardcoded hacks in mc
L132[03:10:27] <acterhd> But I also review
custom render engine
L133[03:12:44] <acterhd> In theory (if i'm
right), you can load opengl functions and using in Minecraft. But
need separate Opengl library.
L134[03:13:03] <AshIndigo> Does 1.10.2 mdk
keep a cache of built classes?
L135[03:13:18] <acterhd> Sad, for Java no
OpenGL separated API
L136[03:13:31] <AshIndigo> I keep getting
folders in my jsr that no longer exist
L137[03:14:22] <gigaherz|work> AshIndigo:
try doing a "gradle clean"?
L138[03:14:36] <gigaherz|work> it
shouldn't normally be needed but /hrug
L139[03:14:38] <gigaherz|work>
shrug*
L140[03:14:54] <AshIndigo> Sure I'll try
it
L141[03:23:14] <AshIndigo> That worked
gigaherz|work thanks
L142[03:23:33] <gigaherz|work> np
L143[03:26:42] <acterhd> Anyway, bettet
wait when Minecraft will ported to lwjgl3
L144[03:31:23] <VikeStep> Is NeHeGL a good
resource? It seems to cover fixed function
L145[03:32:26] <gigaherz|work> it does the
job.
L146[03:32:37] <gigaherz|work> can't say
it's "best practices"
L147[03:32:45] <gigaherz|work> but for
learning classic old-style GL, sure
L148[03:33:18] <gigaherz|work> you can do
the tutorials in order, to learn how opengl has progressed, I
guess
L149[03:33:40] <gigaherz|work> just keep
in mind that the glBegin/glEnd method is BAD
L150[03:33:48] <gigaherz|work> ;P
L151[03:35:25] <VikeStep> bad as opposed
to?
L152[03:35:34] <gigaherz|work> well
L153[03:35:40] <gigaherz|work> in the
original opengl
L154[03:35:41] <gigaherz|work> you'd
do
L155[03:35:44] <VikeStep> or is that the
only option
L156[03:35:47] <gigaherz|work>
glBegin(GL_TRIANGLES);
L157[03:35:50] <gigaherz|work>
glVertex
L158[03:35:51] <gigaherz|work>
glColor
L159[03:35:54] <gigaherz|work>
glTexCoord
L160[03:35:59] <gigaherz|work> repeat for
each vertex
L161[03:36:02] <gigaherz|work>
glEnd();
L162[03:36:05] <gigaherz|work>
explicitly
L163[03:36:09] <gigaherz|work> every
frame
L164[03:36:24] <gigaherz|work> it was the
most inefficient thing possible
L165[03:36:41] <gigaherz|work> but it was
needed because the GPUs at the time had rather strict memory
limitations ;P
L166[03:37:06] <gigaherz|work> at some
point someone invented a better method
L167[03:37:08] <gigaherz|work>
glDrawArrays
L168[03:37:16] <gigaherz|work> in which
you can configure a positions array
L169[03:37:18] <gigaherz|work> a colors
array
L170[03:37:27] <VikeStep> haha wow
L171[03:38:45] <gigaherz|work> this is
much better, but it still has the flaw of storing the data in the
main ram
L172[03:39:13] <gigaherz|work> that's why
VBOs were created
L173[03:39:35] <gigaherz|work> the Vertex
Buffer Object is an opengl "thing" that represents a gpu
buffer
L174[03:39:57] <VikeStep> so has minecraft
moved to requiring OpenGL 2.1 yet?
L175[03:39:58] <gigaherz|work> (it's not
really an object as in a class instance)
L176[03:40:06] <VikeStep> or does it still
work with OpenGL 1.3
L177[03:40:16] <gigaherz|work> it mostly
works with 1.4
L178[03:40:24] <gigaherz|work> but it can
optionally enable 2.x features
L179[03:40:28] <gigaherz|work> if
supported by hardware
L180[03:41:17] <gigaherz|work> oh and,
after you read through the basic opengl concepts
L181[03:41:31] <gigaherz|work> if you want
to see how fancy things got before vulkan appeared
L182[03:42:00] <gigaherz|work> read about
"AZDO" (Approaching Zero Driver Overhead)
techniques
L183[03:42:17] <gigaherz|work> and the use
of bindless resources + glMultiDrawArraysIndirect
L184[03:42:33] <VikeStep> thanks, will
do
L185[03:46:22] <gigaherz|work> (or not --
depends on if you want to cry afterwrd, when you see how bad
minecraft is ;P)
L186[03:46:55] <VikeStep> I like learning
as much as I can about software, so I'm sure I will enjoy it
L187[04:28:42] ⇦
Quits: quadraxis
(~quadraxis@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net)
(Ping timeout: 384 seconds)
L188[04:31:02] ⇦
Quits: NineChickens (uid196646@id-196646.ealing.irccloud.com)
(Quit: Connection closed for inactivity)
L189[04:34:15]
⇨ Joins: Naiten (Naiten@5.143.107.14)
L190[04:34:23] ⇦
Quits: Zed (~Zed@213.152.161.30) (Ping timeout: 206
seconds)
L191[04:34:56] ⇦
Quits: immibis (~chatzilla@122-61-224-36.jetstream.xtra.co.nz)
(Ping timeout: 384 seconds)
L193[04:37:08]
⇨ Joins: Zed (~Zed@21.243.7.51.dyn.plus.net)
L194[04:42:13]
⇨ Joins: Chais (~Chais@62.178.210.212)
L195[04:57:06] <acterhd> would be good
embed OptiX alongside shaders, but Optifine not opensource
L196[04:57:28] <acterhd> so will
standalone mod
L197[05:17:34] ***
MrKick|Away is now known as MrKickkiller
L198[05:18:19] ***
PaleOff is now known as PaleoCrafter
L199[05:39:31]
⇨ Joins: MonkeyTyrant
(~MonkeyTyr@24.224.250.102)
L200[05:39:59] ⇦
Quits: MonkeyTyrant (~MonkeyTyr@24.224.250.102) (Client
Quit)
L201[05:40:21]
⇨ Joins: MonkeyTyrant
(~MonkeyTyr@24.224.250.102)
L202[05:47:00] <VikeStep> so, I'm still
learning this openGL stuff, went looking for when minecraft calls
glOrtho. It seems to call it with a zNear of 100 or 1000 and a zFar
of 300 or 3000
L203[05:47:14] <VikeStep> what is so
special about 100/1000/300/3000?
L204[05:48:07] <VikeStep> like, why didn't
minecraft go from -100 to 100 or -1000 to 1000?
L205[05:49:03] <gigaherz|work> negatives
would be behind you ;P
L206[05:49:18] <gigaherz|work> the near
plane is the nearest object that you can see
L207[05:49:25] <gigaherz|work> the far
plane is the furthest object that you can see
L208[05:49:31] <VikeStep> ooh, that makes
sense
L209[05:49:40] <gigaherz|work> the far
plane is usually set to the view distance
L210[05:49:52] <gigaherz|work> it wouldn't
make sense to have a far plane of 10000, but have a view range of
128
L211[05:50:10] <gigaherz|work> when the
gpu computes the depth
L212[05:50:28] ⇦
Quits: MonkeyTyrant (~MonkeyTyr@24.224.250.102) (Quit:
Leaving)
L213[05:51:19] <gigaherz|work> it will use
a formula for converting the transformed Z value into the depth
buffer number
L215[05:51:31] <gigaherz|work> the formula
looks like this
L216[05:52:15] <gigaherz|work> because
keeping a high precision is more important the closer the object
is
L217[05:52:22] <gigaherz|work> and less
important when they are far away
L218[05:52:42]
⇨ Joins: Necro
(~Necro@p200300700D6416CEA44494F89DA053AF.dip0.t-ipconnect.de)
L219[05:52:45] <gigaherz|work> so the
depth function assigns more % of the values to closer numbers than
far numbers
L220[05:53:11] <VikeStep>
interesting
L221[05:54:59] <gigaherz|work> note that
common depth formats are 16bit and 24bit
L222[05:55:19] <gigaherz|work> so at best,
there's 16m distinct Z values, at worst, only 64k
L223[05:57:27] <VikeStep> ended up going
with lazyfoo's OpenGL tutorial, was easier to read than nehegl.
This stuff isn't that bad actually
L224[06:00:44] <gigaherz|work> heh
L225[06:02:17] <acterhd> Minecraft java
version already died in theory
L226[06:02:51] <acterhd> this game
developed as experiment
L227[06:03:11] <acterhd> Notch unexpected
that game will popular
L228[06:04:05] <VikeStep> I don't know
many indie devs that expect their game to become popular
L229[06:04:41] <acterhd> if people really
want modding, they can be provided API or source code
L230[06:04:54] <acterhd> official
devs
L231[06:05:56] <acterhd> I don't know any
game that can be modded
L232[06:06:07] <acterhd> In C++
L233[06:06:27] <VikeStep> sometimes their
mods are scripts run in lua
L234[06:06:27] <Ordinastie> GTA ?
L235[06:06:50] <acterhd> These games based
on engines, that very big, and may closed source ...
L236[06:06:58] ⇦
Quits: Naiten (Naiten@5.143.107.14) (Read error: Connection reset
by peer)
L237[06:07:14] <AshIndigo> I thought win10
mc was c#
L238[06:07:38] <gigaherz|work> it's
C++
L239[06:07:43] <gigaherz|work> but mod
plugins will be C#
L240[06:08:14] <acterhd> Minetest - bright
example of engine based and libraries, but this cuts possibility of
OptiX implement
L241[06:08:27] <gigaherz|work> why?
L242[06:08:43] <gigaherz|work> adding
OptiX to Minetest seems like it would be much less painful than
java minecraft
L243[06:09:05] <acterhd> Minetest based on
irlitch engine
L244[06:09:53] <gigaherz|work> ewh.
L245[06:10:23] <VikeStep> wait, the win10
is getting mods?
L246[06:10:27] <VikeStep> in C#!
L247[06:10:31] <Ordinastie> not mods
L248[06:10:31] <AshIndigo>
"Addons"
L249[06:10:33] <gigaherz|work> not
mods
L250[06:10:34] <gigaherz|work>
plugins
L251[06:10:35] <Ordinastie>
"plugins"
L252[06:10:48] <gigaherz|work> the C#
"addons" would implement the logic for like, entity
AI
L253[06:10:54] <VikeStep> I see
L254[06:11:03] <VikeStep> so only what
their API gives you and nothing else
L255[06:11:07] <gigaherz|work> I hope that
they'll do the same for the logic in blocks and items
L256[06:11:17] <acterhd> Why rendering
always closed source?
L257[06:11:30] <gigaherz|work> acterhd:
irlicht is opensource, no?
L258[06:11:55] <gigaherz|work> that's why
minetest used it
L259[06:12:43]
⇨ Joins: Umbraco
(~Umbraco@113x37x12x233.ap113.ftth.ucom.ne.jp)
L260[06:15:06] <Ordinastie> I'm still
waiting on a C# vanilla MC client :p
L261[06:15:18] <Ordinastie> one that's
compatible with vanilla servers :p
L262[06:15:34] <gigaherz|work> If you
start one, i'll try to help ;P
L263[06:15:51] <Ordinastie> I'd be
tempted, but that's be a humongus task imo
L264[06:15:56] <gigaherz|work> yeah
L265[06:16:13] <VikeStep> that would be
cool
L266[06:16:13] <Ordinastie> oh, and by C#,
I really mean unity3d :p
L267[06:16:16] <gigaherz|work> I have a
little "toy project" where I was working on a voxel
engine
L268[06:16:23] <VikeStep> oh, ok, maybe
not :P
L269[06:16:33] <gigaherz|work> why unity3d
and not MonoGame? ;P
L270[06:16:46] <Ordinastie> isn't it
basically the same ?
L271[06:16:57] <gigaherz|work> nah,
Unity3d is really a C++ engine
L272[06:16:57] <VikeStep> does .net core
have a graphics api yet?
L273[06:17:01] <gigaherz|work> with C#
scripting added on top
L274[06:17:10] <gigaherz|work> uses .net
on windows
L275[06:17:13] <gigaherz|work> and mono on
other platforms
L276[06:17:23] <gigaherz|work> Monogame is
a games library written in C#
L277[06:17:33] <gigaherz|work> it's a
resurrection of XNA
L278[06:17:43] <VikeStep> :o I could make
an ASP.NET website minecraft client
L279[06:17:47] <gigaherz|work> which uses
DX10/OpenGL internally
L280[06:17:48] <VikeStep> :P
L281[06:18:09] <gigaherz|work> it can be
done in Unity I guess
L282[06:18:19] <gigaherz|work> the
entity-component system comes "for free"
L283[06:18:26] <gigaherz|work> geometry
batching comes for free
L284[06:18:33] <VikeStep> technically,
there is nothing stopping you from making a minecraft client in a
non-java language is there?
L285[06:18:36] <gigaherz|work> shadow
mapping and other lighting features are already included too
L286[06:18:39] <Ordinastie> are there
relatively know games made with MonoGame ?
L287[06:19:05] <gigaherz|work> hmmmm dunn
oabout monogame, but a semi-famous steam game was done in XNA
L288[06:19:13] <Ordinastie> VikeStep,
depends if you consider legality technical :p
L289[06:19:22] <VikeStep> so eula prevents
it?
L290[06:19:24] <gigaherz|work> with
L291[06:19:25] <gigaherz|work> FEZ
L292[06:19:28] <gigaherz|work> and
Bastion
L293[06:20:08] <gigaherz|work> those 2 are
well-known games done in XNA and later ported to MonoGame for
cross-platform support
L294[06:20:30] <gigaherz|work>
anyhow
L295[06:20:44] <Ordinastie> the Unity
games I know are Cities Skyline and FortressCraft, and I think
Rimworld too
L296[06:20:54] <Ordinastie> but there most
likely are many more
L297[06:21:45]
⇨ Joins: Naiten (Naiten@77.35.11.65)
L298[06:22:29] <gigaherz|work> Unity:
provides entity-component scene model, geometry batching,
shader-based materials, GUI library, loadable asset bundles, can
compile to many platforms including WebGL ...
L299[06:22:59] <gigaherz|work> MonoGame:
pure C#, DIY stuff, with only a basic abstraction layer on top of
DX/Ogl + audio + font rendering
L300[06:23:23] <Ordinastie> so Unity it is
:p
L301[06:25:09] <gigaherz|work> so for
doing it in unity, you'd have to develop the voxel
"chunk" manager
L302[06:25:14] <VikeStep> so double
checking, there is no way we could legally make another minecraft
client?
L303[06:25:17] <gigaherz|work> including
generating meshes from it
L304[06:25:33] <gigaherz|work> VikeStep:
why would you not be able to?
L305[06:25:45] ⇦
Quits: Kulttuuri (sid4267@id-4267.charlton.irccloud.com)
()
L306[06:25:59] <VikeStep> well, you
wouldn't need to buy minecraft
L307[06:25:59]
⇨ Joins: Kulttuuri
(sid4267@id-4267.highgate.irccloud.com)
L308[06:26:02] <VikeStep> and could play
on servers
L309[06:26:05]
⇨ Joins: Cast0077
(~Cast0077@24-181-179-41.dhcp.nwtn.ct.charter.com)
L310[06:26:11] <gigaherz|work> sure
L311[06:26:21] <gigaherz|work> but you
wouldn't be using mojang's assets
L312[06:26:24] <gigaherz|work> or
code
L313[06:26:30] <gigaherz|work> so
/shrug
L314[06:26:34] <VikeStep> well, that's
true
L315[06:26:36] <gigaherz|work> and if you
wanted to play on Realms
L316[06:26:41] <gigaherz|work> you'd
haveto pay the Realms subscription
L317[06:26:47] <gigaherz|work> so it's not
like if Mojang is losing any money from it
L319[06:27:26] <gigaherz|work> so many
alternative clients, wtf
L320[06:27:38] <Ordinastie> are you
allowed to use MC's assets if you purchased the game ?
L321[06:27:57] <Ordinastie> like, your
client doesn't provide them, you fish them from MC jar
L322[06:28:18] <gigaherz|work>
sortof
L323[06:28:23] <gigaherz|work> I don't
think they can prevent you from using them
L324[06:28:29] <gigaherz|work> but you can
obviously not distribute them
L325[06:28:40] <gigaherz|work> so using
the mc jar as a "resourcepack zip"
L326[06:28:51] <gigaherz|work> may be
legally acceptable
L327[06:28:58] <gigaherz|work> since you
aren't modifying it
L328[06:29:15] <VikeStep> ah, haha
L329[06:29:21] <VikeStep> sneaky
loophole
L330[06:29:42] <VikeStep> but then we'd
have to use the same json format that mojang designed?
L331[06:29:45] <gigaherz|work> i'm not a
lawyer, obviously
L332[06:29:54] <gigaherz|work> and I don't
know the EULA text
L333[06:30:11] <gigaherz|work> VikeStep:
well here is the thing, if you write a new client with new
stuff
L334[06:30:17] <VikeStep> There is a term
in there saying "let other people get access to anything we've
made in a way that is unfair or unreasonable;"
L335[06:30:17] <gigaherz|work> you can use
your own custom format
L336[06:30:31] <gigaherz|work> and then
have a "plugin" for importing mc assets ;P
L337[06:30:35] <VikeStep> don't do the
thing I quoted*
L338[06:30:46] <VikeStep> a converter
program so to speak
L339[06:31:13] <gigaherz|work> so since
unity mostly prefers .FBX model format
L340[06:31:17] <gigaherz|work> you could
have all your models in .FBX
L341[06:31:23] <VikeStep> or we could just
send mojang legal a quick email and ask them
L342[06:31:30] <gigaherz|work> but that
doesn't prevent you from making the game able to understand mc
jsons
L343[06:31:31] <VikeStep> if it would be
acceptable
L344[06:31:49] <gigaherz|work> they'd
probably be like "nope." even if it is
L345[06:32:00] <gigaherz|work> and modify
the EULA so that you are not allowed in the future ;P
L346[06:32:34] <VikeStep> hmmm, idk.
mojang seems pretty lax given that they allow modding at all
L347[06:33:03] <Ordinastie> I trying to
find vids of the clients listed in your link
L348[06:33:10] <Ordinastie> found none so
far :p
L349[06:33:47] <PaleoCrafter> that steven
thing has a gif linked in its readme :P
L350[06:34:11] <gigaherz|work> Ordinastie:
you'll notice most of them are bots and console chat clients
L351[06:34:11] <gigaherz|work> XD
L352[06:34:23] <Ordinastie> that's the
easy part
L353[06:34:30] <gigaherz|work>
exactly.
L355[06:35:25] <gigaherz|work> this one
seems like the best of the list
L356[06:35:29] <gigaherz|work> at least
the most up-to-date
L357[06:35:31] <VikeStep> wow, that's
awesome
L359[06:37:16] <PaleoCrafter> apparently
it supports 1.11, the relevant commit doesn't really include any
new stuff apart from some packet things though xD
L360[06:37:17] <VikeStep> well, it seems
the author has stopped working on it, only recent changes are ones
from other contributors
L362[06:39:31] <VikeStep> reminds me of my
free choice python assignment for the python course at uni
L363[06:39:34] <VikeStep> just one massive
file
L364[06:42:14] <gigaherz|work> ewh all the
blocks in one file
L366[06:43:45] <gigaherz|work> someone has
a TUTORIAL SERIES
L367[06:43:50] <gigaherz|work> on writing
a minecraft clone in unity
L368[06:43:50] <gigaherz|work> XD
L369[06:44:13]
⇨ Joins: KGS
(~KGS@h-155-4-129-249.na.cust.bahnhof.se)
L370[06:44:25] <kashike> I... what.
L371[06:44:31] <AshIndigo> 10/10
L373[06:45:03] <gigaherz|work> playlist,
"How To Make MINECRAFT In Unity 5 - Tutorial For
Beginners"
L374[06:45:23] <Ordinastie> ffs, my net is
acting up again :x
L375[06:46:14] <acterhd> I want to see
open source Minecraft in pure C++ and OpenGL
L376[06:46:26] <gigaherz|work> so like,
Minetest?
L377[06:46:36] <gigaherz|work> iirc the
irrlich engine is C++
L378[06:46:38] <gigaherz|work> and uses
opengl
L379[06:47:02] <acterhd> I looked his
engine, so they have very hard structure
L380[06:47:18] <acterhd> This is separate
project
L381[06:47:31] <acterhd> Would be good
debugging as single app
L382[06:50:49] ⇦
Quits: vidplace7 (sid14837@id-14837.charlton.irccloud.com)
()
L383[06:51:00] ⇦
Quits: MMuse (sid14885@id-14885.charlton.irccloud.com)
()
L384[06:51:11]
⇨ Joins: MMuse
(sid14885@id-14885.highgate.irccloud.com)
L385[06:51:11]
⇨ Joins: vidplace7
(sid14837@id-14837.highgate.irccloud.com)
L386[06:59:00] ⇦
Quits: XDjackieXD (~XDjackieX@navi.chaosfield.at) (Quit: bye
o/)
L387[07:01:01]
⇨ Joins: Sangam1
(~Sangam1@67-61-61-43.cpe.cableone.net)
L388[07:01:43] <acterhd> I think Minecraft
simpler than Minetest by some reasons...
L389[07:01:44]
⇨ Joins: XDjackieXD
(~XDjackieX@navi.chaosfield.at)
L390[07:02:13] <acterhd> Sad, for Java no
ray tracing engine
L391[07:03:19] <acterhd> And reverse - all
C++ games have structure, where including UE4, Unity, other
engines, and very hard structure even for simple games
L392[07:04:08] <acterhd> Another sample
are C projects, but they is not C++, and uses Makefile
L393[07:04:32] ⇦
Quits: Sangam1 (~Sangam1@67-61-61-43.cpe.cableone.net) (Ping
timeout: 198 seconds)
L394[07:06:52] ⇦
Quits: gigaherz|work (~gigaherz@84.89.63.25) (Read error:
Connection reset by peer)
L395[07:06:53]
⇨ Joins: gigaherz_ (~gigaherz@84.89.63.25)
L396[07:09:00] ⇦
Quits: dmod (sid32492@id-32492.charlton.irccloud.com)
()
L397[07:09:16]
⇨ Joins: dmod
(sid32492@id-32492.highgate.irccloud.com)
L398[07:10:00] ***
Keridos|away is now known as Keridos
L399[07:11:54] ⇦
Quits: Necro
(~Necro@p200300700D6416CEA44494F89DA053AF.dip0.t-ipconnect.de)
(Ping timeout: 384 seconds)
L400[07:12:15]
⇨ Joins: Necro
(~Necro@p200300700D6416F7096D86DA8B7E304E.dip0.t-ipconnect.de)
L401[07:13:32] ⇦
Quits: Lildirt (~Lildirt@lildirt.com) (Ping timeout: 198
seconds)
L402[07:15:06]
⇨ Joins: RichardG (~richardg8@201.37.255.130)
L403[07:15:06]
MineBot sets mode: +v on RichardG
L404[07:16:18]
⇨ Joins: Lildirt (~Lildirt@lildirt.com)
L405[07:16:57]
⇨ Joins: Sangam1
(~Sangam1@67-61-61-43.cpe.cableone.net)
L406[07:17:07] <acterhd> +
L407[07:17:31] <AshIndigo> -
L408[07:19:32] ⇦
Quits: gigaherz_ (~gigaherz@84.89.63.25) (Read error: Connection
reset by peer)
L409[07:20:21]
⇨ Joins: Cooler (~CoolerExt@45.249.156.78)
L410[07:20:39]
⇨ Joins: EbonX
(~mdias@tx-184-5-93-15.dhcp.embarqhsd.net)
L411[07:20:44] ⇦
Quits: Sangam1 (~Sangam1@67-61-61-43.cpe.cableone.net) (Ping
timeout: 198 seconds)
L412[07:21:02] ⇦
Quits: eyamaz (sid40777@id-40777.charlton.irccloud.com)
()
L413[07:21:17]
⇨ Joins: eyamaz
(sid40777@id-40777.highgate.irccloud.com)
L414[07:21:55] ⇦
Quits: Cooler (~CoolerExt@45.249.156.78) (Client Quit)
L415[07:22:19]
⇨ Joins: Cooler (~CoolerExt@45.249.156.78)
L416[07:22:42]
⇨ Joins: gigaherz|work (~gigaherz@84.89.63.25)
L417[07:27:08] ⇦
Quits: acterhd (~acterhd@95.85.68.64) (Ping timeout: 186
seconds)
L418[07:29:15] ⇦
Quits: tfox83 (sid47177@id-47177.charlton.irccloud.com)
()
L419[07:29:26]
⇨ Joins: tfox83
(sid47177@id-47177.highgate.irccloud.com)
L420[07:31:26] ⇦
Quits: LatvianModder (sid50299@id-50299.charlton.irccloud.com)
()
L421[07:31:30]
⇨ Joins: RichardG_ (~richardg8@201.37.255.130)
L422[07:31:30]
MineBot sets mode: +v on RichardG_
L423[07:31:45]
⇨ Joins: LatvianModder
(sid50299@id-50299.highgate.irccloud.com)
L424[07:31:45]
MineBot sets mode: +v on LatvianModder
L425[07:32:24] <EbonX> Is this where i
need to go to ask a question about writing a mod for forge??
L426[07:32:44] ⇦
Quits: KGS (~KGS@h-155-4-129-249.na.cust.bahnhof.se) (Ping timeout:
198 seconds)
L427[07:32:45]
⇨ Joins: Sangam1
(~Sangam1@67-61-61-43.cpe.cableone.net)
L428[07:32:59] <AshIndigo> Open the rtfd
link
L429[07:33:19] <gigaherz|work> EbonX:
yes
L430[07:33:33] <gigaherz|work> as
AshIndigo said, we have some official documentation
L431[07:33:39] <gigaherz|work> which you
may want to look at, before you ask
L432[07:34:11] ⇦
Quits: RichardG (~richardg8@201.37.255.130) (Ping timeout: 206
seconds)
L433[07:35:02] ***
RichardG_ is now known as RichardG
L434[07:36:20] ⇦
Quits: Sangam1 (~Sangam1@67-61-61-43.cpe.cableone.net) (Ping
timeout: 198 seconds)
L435[07:38:08] ⇦
Quits: Lildirt (~Lildirt@lildirt.com) (Ping timeout: 198
seconds)
L436[07:38:55]
⇨ Joins: Lildirt (~Lildirt@lildirt.com)
L437[07:39:14] <EbonX> Well.. You see im
very new to minecraft modding and I just created a new Item.
Everything seems fine so I created a texture for it and wrote a
json file and all that, but the texture won't render It is just a
missing texture icon
L438[07:40:07] <gigaherz|work> okay
so
L439[07:40:12] <gigaherz|work> do you have
a Client Proxy in your mod yet?
L440[07:40:23] <EbonX> yeah i do
L441[07:40:26] <gigaherz|work> okay
so
L442[07:40:44] <gigaherz|work> during the
PREINIT phase -- or using the ModelRegistryEvent
L443[07:41:09] <gigaherz|work> you have to
call ModelLoader.setCustomModelResourceLocation(theItem, meta, new
ModelResourceLocation(theItem.getRegistryName(),
"inventory"));
L444[07:41:18] <gigaherz|work> meta will
be 0 if you don't have subitems
L445[07:42:44] <gigaherz|work> it's
important that this is done before the init phase, because by the
time the init phase runs, it's too late
L446[07:42:50] <gigaherz|work> so if you
use the new registry events
L447[07:43:05] <gigaherz|work> you can use
RegistryEvent.Register<Item> to register your item
L448[07:43:15] <gigaherz|work> and then
you can use ModelRegistryEvent to register the model for it
L449[07:43:20] <gigaherz|work> or if you
aren't using those events
L450[07:43:33] <Ordinastie> is there a
good way to have .forEach with an array ?
L451[07:44:35] ⇦
Quits: Cooler (~CoolerExt@45.249.156.78) (Read error: Connection
reset by peer)
L452[07:44:37]
⇨ Joins: CoolerExtreme
(~CoolerExt@45.249.156.78)
L453[07:46:47] <gigaherz|work> Ordinastie:
Arrays.stream(t).forEach();
L454[07:47:06] <Ordinastie> humpf, have to
make it a stream :/
L455[07:47:42] ***
Vigaro|AFK is now known as Vigaro
L456[07:48:08] <gigaherz|work> public
static void eachInArray(T[] array, Consumer<T> callback) {
for(T t : array) callback(t); }
L457[07:48:31]
⇨ Joins: Sangam1
(~Sangam1@67-61-61-43.cpe.cableone.net)
L458[07:48:43] <Ordinastie> I'd assume
that's already been done somewhere
L459[07:49:05] <gigaherz|work> it seems
not as a static method :/
L460[07:49:17] <VikeStep> if you don't
mind adding a library, eclipse collections is pretty useful
L461[07:49:20] <Ordinastie> (or maybe I
should just use a list or something instead of a flat array
L463[07:49:40] <EbonX> Hmm... I can't seem
to see the problem with my code, I mean it is a little disjointed
because i wanted to make a method to do all of the registering for
me
L464[07:49:41] ⇦
Quits: npe|office (~NPExcepti@bps-gw.hrz.tu-chemnitz.de) (Remote
host closed the connection)
L465[07:49:59] <gigaherz|work> C# does
have Array.ForEach, but I can't find anything like it for
hava
L466[07:50:00] <gigaherz|work> java*
L467[07:50:02] <VikeStep> actually, you
said array, woops
L468[07:50:04] <EbonX> but it should be
following all of the steps
L469[07:50:08] <VikeStep> not
collection
L470[07:50:20] <gigaherz|work> EbonX: this
when you paste your code somewhere, so we can review it ;P
L471[07:50:26] <Ordinastie> if it was a
collection, I'd already have a foreach() :)
L472[07:50:29] <gigaherz|work> upload to
github or pastebin, or wahtever
L473[07:50:39] <EbonX> yeah im getting A
pastebin thing set up
L474[07:50:48] <gigaherz|work> i prefer
gist.github.com
L475[07:50:54] <gigaherz|work> which lets
you paste multiple files in one place
L476[07:50:57] <gigaherz|work> and lets
you edit them ;P
L477[07:51:01] <EbonX> okay ill do that
then
L478[07:51:17] <gigaherz|work> also
intellij has a "gist this" option in context menus
XD
L479[07:51:42] <Ordinastie> (and I have
the case again were I wish I could write !predicate directly
:'()
L480[07:51:56] ⇦
Quits: Sangam1 (~Sangam1@67-61-61-43.cpe.cableone.net) (Ping
timeout: 198 seconds)
L481[07:52:43] ***
amadornes[OFF] is now known as amadornes
L482[07:53:36]
⇨ Joins: sciguyryan (~sciguyrya@45.62.37.13)
L483[07:55:22] <gigaherz|work> Ordinastie:
make yourself a predicate helper library ;P
L484[07:55:43] <Ordinastie> but that
sucks
L485[07:56:04] <Ordinastie>
stream.filter(!Slot::isEmpty) looks pretty
L486[07:56:22] <gigaherz|work> so would
stream.exclude(Slot::isempty)
L487[07:56:41] <Ordinastie> or that
yes
L488[07:56:47] <Ordinastie> but that's not
a thing either
L489[07:57:45] <gigaherz|work> yeah so
best you can hope for is
L490[07:57:57] ⇦
Quits: Umbraco (~Umbraco@113x37x12x233.ap113.ftth.ucom.ne.jp)
()
L491[07:57:58] <gigaherz|work>
stream.filter(Pred.not(Slot::isEmpty))
L492[07:58:04] ⇦
Quits: sciguyryan (~sciguyrya@45.62.37.13) (Remote host closed the
connection)
L493[07:58:13] <gigaherz|work> or if you
use static imports
L494[07:58:17] <gigaherz|work>
stream.filter(not(Slot::isEmpty))
L496[07:59:08] ⇦
Quits: Cast0077 (~Cast0077@24-181-179-41.dhcp.nwtn.ct.charter.com)
(Quit: Poof)
L497[07:59:16] <EbonX> there are the
various parts that contain my item code
L498[07:59:56] <gigaherz|work> your
registerItemRenderer gets passed in name
L499[08:00:08] <gigaherz|work> which is
"flywheelStone"
L500[08:00:11] <gigaherz|work> without a
domain
L502[08:00:19] <gigaherz|work> that means
minecraft sees it as "minecraft:flywheelStone"
L503[08:00:29] <gigaherz|work> not
"yourmod:flywheelStone"
L504[08:00:44] ⇦
Quits: Lildirt (~Lildirt@lildirt.com) (Ping timeout: 186
seconds)
L505[08:00:49] <gigaherz|work> you have
two choices
L506[08:01:05] <gigaherz|work> 1. make
that a REsourceLocation
L507[08:01:19] <gigaherz|work> and use
getRegistryName() when calling it
L508[08:01:25] <gigaherz|work> no need to
store "name" on a field
L509[08:01:28] <gigaherz|work> 2.
L510[08:01:42] <gigaherz|work> prefix your
name with your modid, as in this.name= MOD_ID + ":" +
name;
L511[08:01:50] <gigaherz|work> I'd
strongly suggest #1
L512[08:01:54] <gigaherz|work> it's much
cleaner ;P
L513[08:02:04] <gigaherz|work>
however
L514[08:02:10] <gigaherz|work> I see a
separate "problem"
L515[08:02:22] <gigaherz|work> your use
setUnlocalizedName with the name as-is
L516[08:02:25] <gigaherz|work> that means
it will end up like
L517[08:02:29] <gigaherz|work>
item.flysheelStone.name
L518[08:02:33] <gigaherz|work>
wheel*
L519[08:02:51] <gigaherz|work> this is bad
because translation strings are GLOBAL
L520[08:02:59] <gigaherz|work> the same
table is shared by all mods
L521[08:03:08] <gigaherz|work> so if
there's any other mod that has
"item.flywheelStone.name"
L522[08:03:19] <gigaherz|work> you'd have
a collision, and one of the two mods would override the strings
from the other
L523[08:03:23] <gigaherz|work> so it's
best to use
L524[08:03:33] <gigaherz|work>
setUnlocalizedName(MOD_ID + "." + name);
L525[08:03:39] <gigaherz|work> so that the
translation string is
L526[08:03:46] <gigaherz|work>
item.yourmod.flywheelStone.name
L527[08:03:49] <gigaherz|work> and
finally
L528[08:03:51] <LatvianModder> ghz, which
you prefer: mod.item.id.name or item.mod.item.name
L529[08:04:00] <gigaherz|work> you should
REALLY use snake_case for names
L530[08:04:02] <gigaherz|work> not
titleCase
L531[08:04:12] <gigaherz|work> uppercase
letters in resource names are NOT supported in 1.11
L532[08:04:16]
⇨ Joins: Sangam1
(~Sangam1@67-61-61-43.cpe.cableone.net)
L533[08:04:21] ***
Keridos is now known as Keridos|away
L534[08:04:22] <gigaherz|work>
LatvianModder: prefix.modid.objectname.property
L535[08:04:26] <EbonX> Okay
L536[08:04:38] <EbonX> Thanks for the
help
L537[08:04:54] <gigaherz|work>
LatvianModder: mostly because mc will prefix "item." and
"tile." for me
L538[08:05:03] <gigaherz|work> and I can't
be bothered to change that
L539[08:05:17] <gigaherz|work> otherwise
my string would look more like
L540[08:05:25] <gigaherz|work>
"modid.items.itemname.name"
L541[08:05:52] <LatvianModder> I like the
latter because its easy to convert from ResourceLocation
L542[08:08:08] ⇦
Quits: Sangam1 (~Sangam1@67-61-61-43.cpe.cableone.net) (Ping
timeout: 198 seconds)
L543[08:12:59] ⇦
Quits: VikeStep (~VikeStep@101.184.55.151) (Read error: Connection
reset by peer)
L544[08:13:22]
⇨ Joins: Lildirt (~Lildirt@lildirt.com)
L545[08:16:08] <Ordinastie> I'm surprised
there is no findFirst(predicate)
L546[08:20:07]
⇨ Joins: Sangam1
(~Sangam1@67-61-61-43.cpe.cableone.net)
L547[08:22:06] ***
Vigaro is now known as Vigaro|AFK
L548[08:23:29] ⇦
Quits: Lildirt (~Lildirt@lildirt.com) (Ping timeout: 206
seconds)
L549[08:23:44] ⇦
Quits: Sangam1 (~Sangam1@67-61-61-43.cpe.cableone.net) (Ping
timeout: 198 seconds)
L550[08:35:55]
⇨ Joins: Sangam1
(~Sangam1@67-61-61-43.cpe.cableone.net)
L551[08:36:07]
⇨ Joins: sinkillerj
(~sinkiller@nc-67-232-15-221.dhcp.embarqhsd.net)
L552[08:39:56] ⇦
Quits: Sangam1 (~Sangam1@67-61-61-43.cpe.cableone.net) (Ping
timeout: 198 seconds)
L553[08:43:57] ⇦
Quits: Hunterz (~hunterz@2001:af0:8000:1c01:6af7:28ff:fe37:5d6a)
(Remote host closed the connection)
L554[08:46:08]
⇨ Joins: Syndlig
(uid8094@id-8094.hathersage.irccloud.com)
L555[08:47:14]
⇨ Joins: Lildirt (~Lildirt@lildirt.com)
L557[08:51:25] <Ordinastie> probably
not
L558[08:51:41]
⇨ Joins: Sangam1
(~Sangam1@67-61-61-43.cpe.cableone.net)
L559[08:51:58] <gigaherz|work> if there
wasn't the transferInto
L560[08:52:12] ⇦
Quits: Zed (~Zed@21.243.7.51.dyn.plus.net) (Ping timeout: 384
seconds)
L561[08:52:14] <gigaherz|work> you could
do filter(x).findFirst
L562[08:53:38] <gigaherz|work> depending
on what transferInto does
L563[08:54:05] <Ordinastie> Transfers an
{@link ItemStack} inside this {@link MalisisInventory}.
L564[08:54:37]
⇨ Joins: Zed (~Zed@213.152.161.20)
L565[08:54:46] <Ordinastie> * @return the
itemStack that could not fit inside this inventory
L566[08:55:11] <gigaherz|work> you could
do slots.filter(s ->
!s.isEmpty()).findFirst().ifPresent(this::transferInto)
L567[08:55:19] <Ordinastie> I could
.map(transferInto) but then there is no way to set it back to the
slot
L568[08:55:32] <gigaherz|work> or
something along those lines
L569[08:55:32] ⇦
Quits: Sangam1 (~Sangam1@67-61-61-43.cpe.cableone.net) (Ping
timeout: 198 seconds)
L570[08:55:32] ⇦
Quits: Lildirt (~Lildirt@lildirt.com) (Ping timeout: 198
seconds)
L571[08:55:43] <Ordinastie> not findFirst,
I need to transfer them all
L572[08:55:57] <gigaherz|work> wait
L573[08:56:03] <kashike> you're returning
after the first one that matches in your example
L574[08:56:04] <gigaherz|work> I
misinterpreted transferInto
L575[08:56:12] <gigaherz|work> this is
like insert(), which returns the remainder, right?
L576[08:56:21] <gigaherz|work> so you
continue until there's a remainder
L577[08:56:24] <Ordinastie> yes
L578[08:56:36] <Ordinastie> (old coded
didn't even return ><)
L579[08:57:15] ⇦
Quits: Naiten (Naiten@77.35.11.65) (Read error: Connection reset by
peer)
L581[08:58:32] <kashike> something like
that mess?
L582[08:58:35] <kashike> :P
L583[08:59:12] <Ordinastie> dude, lambdas!
><
L585[09:00:01] <kashike> did it in a 1.6
workspace :P
L586[09:00:03] <gigaherz|work> wait, why
do you only call setItemStack on those that don't have an empty
remainder?
L587[09:00:09] <gigaherz|work> shouldn't
you set them to EMPTY?
L588[09:00:47] <Ordinastie> I set BACK the
remainder in the source slot
L589[09:01:04] <gigaherz|work> yes, Ican
see that
L590[09:01:05] <Ordinastie> wait
L591[09:01:09] <gigaherz|work> I mean, the
ones that were fully consumed
L592[09:01:10] <Ordinastie> no you're
right
L593[09:01:12] <gigaherz|work> you don't
set them to empty
L594[09:01:14] <Ordinastie> I need to set
them all
L595[09:01:35] <Ordinastie> the old code
wasn't bugged :p
L596[09:01:59] <Ordinastie> I just need
the return if !empty
L597[09:02:08] <gigaherz|work> yep
L598[09:02:27] <Ordinastie> but kashike
that solves the slot access, not the quitting early :)
L599[09:03:08] <gigaherz|work> would be
nice if .forEach had a version which woudl return continue
L600[09:03:34] <Ordinastie> I'm trying to
see what makes the ops return early, but good luck digging the
stream code ><
L601[09:04:11] <gigaherz|work> forEach
won't return early, though, it iterates through ALL of the
items
L602[09:04:19]
⇨ Joins: ALM (~austin@209.119.225.242)
L603[09:04:21] <Ordinastie> yes
L604[09:04:31] <Ordinastie> but findFirs()
or findAny() does
L605[09:04:45] <Ordinastie> because FindOp
implements TerminalOp
L606[09:04:57] <gigaherz|work> findFirst
just returns the first item in the stream, no?
L607[09:05:12] <Ordinastie> yes
L608[09:05:14] <gigaherz|work> if stream
not empty, returns first, else optional.missing
L609[09:05:21]
⇨ Joins: Lildirt (~Lildirt@lildirt.com)
L610[09:05:29] <Ordinastie> it's a bit
more complicated internally
L611[09:05:43] <Ordinastie> because of
other operations on the stream
L612[09:05:48] <Ordinastie> like
filter
L613[09:06:08] <gigaherz|work> wel
lyeah
L614[09:06:10] <gigaherz|work> but in
essence
L615[09:06:51] <kashike> tl;dr: no nice
way to make this use streams/etc
L616[09:07:04] <gigaherz|work> it's pretty
much doing something akin to: { iterator = resolve stream; if
iterator.hasNext() return Optional.of(iterator.next()); else return
Optional.missing; }
L617[09:07:28] <gigaherz|work> it's just
more complicated than that because java's streams are
retarded
L618[09:07:29]
⇨ Joins: Sangam1
(~Sangam1@67-61-61-43.cpe.cableone.net)
L619[09:07:41] <ALM> but they look so nice
:)
L620[09:07:45] <ALM> o what a world
L621[09:07:51] <kashike> java's Optional
is also stupid, needs more methods
L622[09:07:57] <gigaherz|work> so do .NET
enumerators
L623[09:08:11] <gigaherz|work> although in
their case
L624[09:08:11] <Ordinastie> I prefer java
optional to guava's
L625[09:08:18] <gigaherz|work> it was
easier to do thanks to extension methods
L626[09:08:19] <ALM> there's an optional
in lang3 i THINk
L627[09:08:21] <kashike>
optional.ifPresent(...).ifNotPresent(...) or something
L628[09:08:30] <gigaherz|work> that's a
thing
L629[09:08:33] <ALM> or it might be
guava
L630[09:08:37] <kashike> no it isn't
gigaherz|work
L631[09:08:39] <tterrag> .orElse()
L632[09:08:49] <gigaherz|work> oh I
see
L633[09:08:50] <kashike> that's for
returning a value, not using consumers
L634[09:08:52] <kashike> lol
L635[09:08:55] <gigaherz|work> .ifPresent
does NOT return itself
L636[09:09:02] <gigaherz|work> so it can't
be chained
L637[09:09:02] ⇦
Quits: Alex_hawks
(~Alex_hawk@2001:8003:8582:d600:a864:89f0:6fe5:116e) (Read error:
Connection reset by peer)
L638[09:09:05] <ALM> i love orElse()
L639[09:09:15] <gigaherz|work> that's
silly
L640[09:09:15] <ALM> so handy
L641[09:09:15] <gigaherz|work> XD
L642[09:09:23] <kashike> java is
silly
L643[09:09:23] <ALM> its. so. handy.
L644[09:09:44]
⇨ Joins: Alex_hawks
(~Alex_hawk@2001:8003:8582:d600:cd1d:f539:4568:39eb)
L645[09:09:49] <ALM> and yet it is the
most used programming language
L646[09:09:50] <Ordinastie> gigaherz|work,
.map()
L647[09:09:57] <ALM> with the most job
openings :P
L648[09:10:19] <Ordinastie> ifPresent if
for Consumer, map is for Function
L649[09:10:26] <ALM> I never got how map()
worked
L650[09:10:32] <ALM> I may be
retarded
L651[09:10:40] <gigaherz|work> no .map is
retarded.
L652[09:10:42] <kashike> transforms one
thing into another
L653[09:10:43] <gigaherz|work> not
you
L654[09:11:00] <gigaherz|work> you can
still use it that way
L655[09:11:08] ⇦
Quits: Sangam1 (~Sangam1@67-61-61-43.cpe.cableone.net) (Ping
timeout: 186 seconds)
L656[09:12:09] <gigaherz|work> no wait it
can't
L657[09:12:18] <gigaherz|work> because if
the value is nOt present, wtf does .map return?
L658[09:12:23] <gigaherz|work>
empty?
L659[09:12:26] <Ordinastie> Absent
L660[09:12:31] <Ordinastie> or empty or
wathever
L661[09:12:45] <gigaherz|work> but there's
no .ifEmpty
L662[09:12:54] <gigaherz|work> so you
can't use it for chaining a false-case
L663[09:13:04] <gigaherz|work> there's
simply no way to have a false-case lambda
L664[09:13:18] <ALM> couldnt u do another
filter
L665[09:13:20] <Ordinastie> hum, can you
show an example on how would that work ?
L666[09:14:03] <gigaherz|work> does java
evne have lambdas with no parameters and no retur nvalue?
L667[09:14:07] <gigaherz|work> even
L668[09:14:30] <gigaherz|work> I guess so,
Runnable is void run()
L669[09:15:19] <gigaherz|work> so, I'd
picture
somethingReturningOptional().ifPresent(consumer).else(runnable);
L670[09:15:24] <kashike>
Optional<String> optional =
Optional.of("meow");
L671[09:15:26] <kashike> optional.map(s
-> (Runnable) () -> System.out.println(s)).orElse(() ->
System.out.println("no meow :(")).run();
L672[09:15:57] <gigaherz|work> but orElse
takes T, not a runnable
L673[09:15:57] <ALM> thats ugly
L674[09:16:26] <gigaherz|work> wait you
returned the runnable from the optional
L675[09:16:27] <gigaherz|work> ewh
L677[09:16:28] <Ordinastie> T because
return type use in map
L678[09:16:31] <kashike> same thing
expanded
L679[09:16:46] <kashike> it's horrible but
it works if you /really/ want to do it
L680[09:16:51] <gigaherz|work> yeah at
that point
L681[09:16:54] <gigaherz|work> that's
if/else
L682[09:16:59] <kashike> yup
L683[09:17:17] <ALM> 1 line conditionals
ftw
L684[09:17:19] <kashike> but if you could
do something like optional.ifPresent(...).ifEmpty(...)
L685[09:17:23] <kashike> that'd be
great
L686[09:17:33] <PaleoCrafter> nah, it's
horrible
L687[09:17:36] <PaleoCrafter> stupid side
effects :P
L688[09:18:03]
⇨ Joins: TechnicianLP
(~Technicia@p4FE56313.dip0.t-ipconnect.de)
L689[09:18:17] <gigaherz|work>
Consumer<Optional<T>> iif(Optional<T> value,
Consumer<T> present, Runnable missing) { if
(value.isPresent()) present.apply(value.get()); else missing.run();
}
L690[09:18:35] <gigaherz|work> ehm
L691[09:18:41] <gigaherz|work> brainfart
there
L692[09:18:44] <gigaherz|work> I mixed two
thoughts
L694[09:19:04] <gigaherz|work> void
iif(Optional<T> value, Consumer<T> present, Runnable
missing) { if (value.isPresent()) present.apply(value.get()); else
missing.run(); }
L695[09:19:25] <ALM> why is missing a
runnable
L696[09:19:35] <tterrag> because what else
would it consume?
L697[09:19:37] <kashike> because that's
all it needs to be
L698[09:19:40] <gigaherz|work>
iif(funcThatReturnsOptional(), (v) -> truecase, () ->
elsecode );
L699[09:19:44] <kashike> there's no value
for it to consume
L700[09:23:19] <tterrag> this is why
.orElse is more useful
L701[09:23:20]
⇨ Joins: Sangam1
(~Sangam1@67-61-61-43.cpe.cableone.net)
L702[09:23:28] <tterrag> you shouldn't use
optional if you didn't have some default in mind
L703[09:23:40] <tterrag> having two
completely separate handling cases means you may as well just use a
null check
L704[09:23:56] <tterrag> it makes way more
sense to do consuper.apply(optional.orElse(foo))
L705[09:27:20] ⇦
Quits: Sangam1 (~Sangam1@67-61-61-43.cpe.cableone.net) (Ping
timeout: 198 seconds)
L706[09:27:27] <Ordinastie> I wonder,
should I make my inventory use lists or should I stick with an
array ?
L707[09:27:56] <kashike> NonNullList?
:p
L708[09:28:00] <AshIndigo>
ArrayList?
L709[09:28:01] <gigaherz|work> 1.11 uses
NonNullList for stacks
L710[09:28:10] <gigaherz|work> you should
adopt it ;P
L711[09:28:19] <kashike> ^
L712[09:28:21] <Ordinastie> it's
slots
L713[09:28:42] <gigaherz|work> is it a
fixed number?
L714[09:28:49] <kashike> no
L715[09:28:55] <Ordinastie> yes
L716[09:28:59] <kashike> NonNullList is
generic
L717[09:29:06] <gigaherz|work> can you
have nulls in it?
L718[09:29:18] <kashike>
NonNullList.withSize(size, fill)
L719[09:29:20] <gigaherz|work> becuase
NonNullList<Slot> would also work
L720[09:29:42] <gigaherz|work> it allows
static and runtime analysis for @Nonnull
L721[09:29:52] <Ordinastie> I could check
against nulls
L722[09:31:12] <Ordinastie> but there was
no collection not allowing null already in the libs ?
L723[09:31:14] <Ordinastie> that's
odd
L724[09:31:55]
⇨ Joins: Sangam1
(~Sangam1@67-61-61-43.cpe.cableone.net)
L725[09:32:08] ⇦
Quits: Lildirt (~Lildirt@lildirt.com) (Ping timeout: 198
seconds)
L726[09:32:11] ***
TTFT|Away is now known as TTFTCUTS
L727[09:34:48] <kashike> Ordinastie: there
might have been, but not like NonNullList
L728[09:34:51] <kashike> go look at the
source
L729[09:35:06] <Ordinastie> I am, it's
meh
L730[09:39:26] <gigaherz|work> there's
apparently
L731[09:39:28] <gigaherz|work>
ListUtils.predicatedList(new ArrayList(),
PredicateUtils.notNullPredicate());
L732[09:39:31] <gigaherz|work> dunno if mc
has the lib for that
L733[09:40:26] <gigaherz|work> seems
not
L734[09:40:31] <Ordinastie> well, they
need the default element stuff too
L735[09:40:50]
⇨ Joins: Lildirt (~Lildirt@lildirt.com)
L736[09:40:51] <Ordinastie> but that could
be coded way smarter imo
L737[09:41:55] <gigaherz|work> ah the
difference is, NotNullList has the ability to maintain the
size
L738[09:42:04] <gigaherz|work> while a
PredicatedList would just be empty if you call .clear
L739[09:47:15] <Tazz> hey giga :)
L740[09:47:47]
⇨ Joins: Cast0077
(~Cast0077@24-151-68-108.dhcp.nwtn.ct.charter.com)
L741[09:49:30] <Ordinastie> pff, I can't
really use withSize() anyway
L742[09:55:02] <gigaherz|work>
Streams.generate(Slot::new).limit(10).collect(
L743[09:55:07] <gigaherz|work> is there a
better way?
L744[09:56:03] ⇦
Quits: ALM (~austin@209.119.225.242) (Read error: Connection reset
by peer)
L745[09:57:26] <Ordinastie> there are
params for the slot :(
L746[09:57:41] <gigaherz|work> meh.
L747[09:58:35] <Ordinastie> including the
index for the slot
L748[10:00:05] <Ordinastie> so, yeah,
can't use stream for that it seems
L749[10:00:26] ⇦
Quits: kashike (kashike@is.a.miserable.ninja) (Remote host closed
the connection)
L750[10:00:32] <gigaherz|work> you'd need
an index generator or something
L751[10:00:42] <Ordinastie> for (int i =
0; i < size; i++)
L752[10:00:42] <Ordinastie> slots.add(new
MalisisSlot(this, i));
L753[10:00:45] <Ordinastie> that'll
do
L754[10:02:51] <Ordinastie> wait, will
NonNullList keep the iteration order to match the insertion ?
L755[10:03:34] <gigaherz|work> it's an
AbstractList, of course ;P
L756[10:03:52] <gigaherz|work> and it uses
an ArrayList for backing storage
L757[10:04:02] <Ordinastie> I never know
which one keeps order
L758[10:04:22] <gigaherz|work> List
implies insertion order, Set implies uniqueness
L759[10:04:46] <gigaherz|work> Collection
is just something that has items
L760[10:04:49] <gigaherz|work>
anyhow
L761[10:04:51] <gigaherz|work> time to
leave work
L762[10:04:54] ⇦
Quits: gigaherz|work (~gigaherz@84.89.63.25) (Remote host closed
the connection)
L763[10:05:53]
⇨ Joins: kashike (kashike@is.a.miserable.ninja)
L764[10:07:00] ⇦
Quits: Lildirt (~Lildirt@lildirt.com) (Ping timeout: 384
seconds)
L765[10:10:40]
⇨ Joins: Shukaro (~Shukaro@130.108.205.152)
L766[10:12:46] <Tazz> hey Ordinastie
L767[10:12:52] <Tazz> hows you>?
L768[10:14:01]
⇨ Joins: iari (~iari___@evana.futhark24.org)
L769[10:14:09] <Ordinastie> I'm updating
to 1.11
L770[10:14:56] <Ordinastie> reworking the
inventory
L771[10:15:00] ⇦
Quits: EbonX (~mdias@tx-184-5-93-15.dhcp.embarqhsd.net) (Quit:
Leaving.)
L772[10:19:07] <Tazz> ouch XD
L773[10:19:12]
⇨ Joins: Lildirt (~Lildirt@lildirt.com)
L774[10:20:21] <Tazz> Ordinastie: cool
:)
L775[10:23:43] <gigaherz> HOME!
L776[10:23:52] <Tazz> lol wb gigaherz
:)
L777[10:24:19] <gigaherz> I found my
proper gloves last week, so now I can use my bicycle without
freezing myfingers
L778[10:24:19] <gigaherz> ;P
L779[10:26:09] <Baughn> The SSL cert on
files.minecraftforge.net is outdated. Given it's a LE cert, I'm
guessing someone forgot to setup auto-renewal.
L780[10:27:14] <kashike> Flamegoat:
^
L781[10:30:35] <gigaherz> the files site
defaults to http for me
L782[10:31:04] <IoP> and?
L783[10:31:29]
⇨ Joins: Samario
(~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net)
L784[10:31:52]
⇨ Joins: ThePsionic
(~ThePsioni@ip5457f909.direct-adsl.nl)
L785[10:32:16] <Baughn> I'm actually
surprised it doesn't have HSTS setup.
L786[10:32:26] <Baughn> It's one line in
nginx.cfg
L787[10:32:56] <Baughn> No need for
semi-complicated redirect setups, just let the browser do it.
:)
L788[10:33:44] <Baughn> gigaherz: But
yeah, it does. That's unfortunate, especially for a site whoe
purpose is serving up executable code that you're expected to run.
Suffice to say, TPPI3 is never going to accept data over HTTP from
it. :)
L789[10:33:51] <kashike> if they want to
force https you do need more complicated redirects
L790[10:34:01] <kashike> HSTS is for
browsers, not things like maven
L791[10:34:36] <Baughn> I'd like to think
that most people who work on things like Maven would know better,
but.. yeah, that's true.
L792[10:36:53] ⇦
Quits: Lildirt (~Lildirt@lildirt.com) (Ping timeout: 206
seconds)
L793[10:38:22]
⇨ Joins: McJty
(~jorrit@94-224-154-146.access.telenet.be)
L794[10:39:00]
⇨ Joins: Lildirt (~Lildirt@lildirt.com)
L795[10:42:41]
⇨ Joins: ALM (~austin@209.119.225.242)
L796[10:43:46] ⇦
Quits: Cast0077 (~Cast0077@24-151-68-108.dhcp.nwtn.ct.charter.com)
(Quit: Poof)
L798[10:45:11] <gigaherz> people who work
on maven-like things just use some http library and do "new
HTTPRequest(url, options).getResponse()"
L799[10:45:26] <gigaherz> one would think
it's the HTTP library devs that should support https redirects
;P
L800[10:45:43] <gigaherz> although
really
L801[10:45:46] <gigaherz> if you open your
build.gradle
L802[10:45:47] <gigaherz> and type
L804[10:45:52] <gigaherz> you expect http,
not https ;P
L805[10:47:12] ⇦
Quits: Samario
(~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net) (Quit: You
think you are above consequences.)
L806[10:47:44]
⇨ Joins: Samario
(~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net)
L807[10:49:56] ⇦
Quits: Lildirt (~Lildirt@lildirt.com) (Ping timeout: 206
seconds)
L808[10:56:39] <Baughn> gigaherz: The lack
of security consciousness never ceases to amaze me.
L809[10:56:57]
⇨ Joins: Lildirt (~Lildirt@lildirt.com)
L810[10:57:43] <gigaherz> Baughn: I'm ok
with people not caring about security -- I mean, I don't care that
much myself
L811[10:57:55] <gigaherz> what bothers me
is the lack of common sense and the ignorance of consequences
L812[10:58:01] <Baughn> Mm. I
suppose...
L813[10:58:19] <gigaherz> if something is
HTTP, others can see it
L814[10:58:26] <gigaherz> if something
isn't encrypted, others can open it
L815[10:58:26] <gigaherz> etc
L816[10:58:35] <Baughn> If something is
HTTP, others can *modify* it. That's the problem.
L817[10:58:36] <gigaherz> so long as you
know that much, and decide it's ok
L818[10:58:50] <Baughn> From my
perspective, it's difficult to be satisfied with that. My threat
model include beings like the NSA.
L819[10:59:12] <gigaherz> I just have a
lower paranoia level
L820[10:59:16] <Baughn> ...not because I
think they're after me in particular, but they do like to poke at
my employer, and they also like global-scale dragnets.
L821[10:59:23] <Baughn> It's not paranoia
if you've dissected the malware.
L822[10:59:26] <gigaherz> every government
in the world COULD be looking at me
L823[10:59:29] <gigaherz> but why would
they bother?
L824[10:59:41] <Baughn> They'd be going
after *everyone*.
L825[10:59:46] <Baughn> That's what
automation gets you.
L826[10:59:52] <gigaherz> sure
L827[11:00:08] <Baughn> So I'd at least
like to annoy them a bit. :P
L828[11:00:21] <gigaherz> so i'm ok with
sites that use HTTPS
L829[11:00:28] ⇦
Quits: offbeatwitch (~offbeatwi@163.172.169.69) (Ping timeout: 186
seconds)
L830[11:00:33] <gigaherz> I *prefer* https
when I'm doing any kind of transaction beyond browsing random
pages
L831[11:00:35] <Baughn> Well, there's also
reasons like...
L832[11:00:39] <Baughn> HTTP2 only works
with TLS.
L833[11:00:44] <Baughn> You can't do it in
plaintext.
L834[11:00:59] <gigaherz> I tend NOT to
log into sites that aren't using https, also
L835[11:01:09] <Baughn> But you'd download
executables over HTTP? ^^;
L836[11:01:13] <gigaherz> yes
L837[11:01:16] <Baughn> Oy.
L838[11:01:19] <kashike> lol
L839[11:01:25] <gigaherz> I mean
L840[11:01:31] <gigaherz> I download
torrents commonly
L841[11:01:42] <gigaherz> I don't pirate
much in terms of apps and games these days
L842[11:01:45] <gigaherz> mostly just
movies
L843[11:01:56] <gigaherz> but that doesn't
remove the possibility of a worm
L844[11:01:58] <kashike> I don't download
movies anymore
L845[11:02:00] <kashike> I stream
them
L846[11:02:08] <x3n0ph0b3> weird semantic
difference
L847[11:02:12] <Baughn> That's
inconsistent. If you think there's any chance at all that someone
will attack your non-download *transaction* thingy, then you really
ought to use HTTPS when downloading software.
L848[11:02:13] <x3n0ph0b3> you're
technically downloading them
L849[11:02:16] <x3n0ph0b3> XD
L850[11:02:18] <gigaherz> I'd be willing
to pay for a streaming service
L851[11:02:22] <gigaherz> ONE streaming
service
L852[11:02:26] <Baughn> Though I certainly
agree that downloading pirated software is unsafe. :P
L853[11:02:37] <Baughn> Mine is
crunchyroll. ^^
L854[11:02:39] <gigaherz> I can't be
bothered to pay for Netflix, HBO Spain, etc
L855[11:02:44] <kashike> I pay for Netflix
and Crunchyroll for movies/tv/anima, and Spotify for music
L856[11:02:50] <kashike> anime*
L857[11:03:35] <gigaherz> Crunchyroll is
mostly just anime, right?
L858[11:03:40] <kashike> yes
L859[11:03:44] <kashike> it's anime
L860[11:03:58] *
gigaherz nods
L861[11:04:02] <gigaherz> yeah so
L862[11:04:08] ⇦
Quits: ALM (~austin@209.119.225.242) (Quit: :wave:)
L863[11:04:10] <gigaherz> if there was a
"Watcheverythinghere" service
L864[11:04:17] <kashike> I wish
L865[11:04:18] <gigaherz> that would
resell streaming from multiple channels
L866[11:04:22] <gigaherz> I'd be ok with
that
L867[11:04:32] ⇦
Quits: cpup (~cpup@32.218.118.43) (Ping timeout: 198
seconds)
L868[11:04:45] <gigaherz> but I can't be
bothered to pay $10/month for each "channel"
L869[11:05:06] <gigaherz> so it's their
loss
L870[11:12:23]
⇨ Joins: Hunterz (~hunterz@62.182.234.189)
L872[11:14:35] <Ordinastie> what does that
mean ?
L873[11:17:36] <kashike> no idea
L874[11:18:03] <Ordinastie> I think I'll
just deactivate the null analysis ><
L875[11:18:39] <PaleoCrafter> just eclipse
being stupid
L876[11:25:20] ⇦
Quits: covers1624_
(~covers162@ppp122-232-6.static.internode.on.net) (Read error:
Connection reset by peer)
L877[11:25:35]
⇨ Joins: covers1624
(~covers162@ppp122-232-6.static.internode.on.net)
L878[11:26:44] <barteks2x> huh? Minecraft
just closed itself after starting for no reason
L879[11:27:14] <kashike> crash? :P
L880[11:27:25] <barteks2x> no crash, it
just closed itself
L881[11:27:51] <barteks2x> I blame my
touchpad
L882[11:30:37] <Akkarin> I blame tacos.
There's nothing more evil than Tacos.
L883[11:32:37]
⇨ Joins: cpup (~cpup@32.218.118.43)
L884[11:32:43] <barteks2x> I finally found
a way to generate lava in ravines in a way that makes sense when
going below y=0
L886[11:36:22]
⇨ Joins: sibomots (~sibomots@131.107.174.36)
L887[11:39:18]
⇨ Joins: Noppes
(~Noppes@ip56530f2e.direct-adsl.nl)
L888[11:45:08]
⇨ Joins: Jezza (~Jezza@92.206.161.17)
L889[11:45:28] ⇦
Quits: Jezza (~Jezza@92.206.161.17) (Remote host closed the
connection)
L890[11:45:53]
⇨ Joins: Jezza (~Jezza@92.206.161.17)
L891[11:50:42] ⇦
Quits: Lildirt (~Lildirt@lildirt.com) (Ping timeout: 384
seconds)
L892[11:54:57]
⇨ Joins: Lildirt (~Lildirt@lildirt.com)
L893[11:56:09]
⇨ Joins: KGS
(~KGS@h-155-4-129-249.na.cust.bahnhof.se)
L894[11:59:25]
⇨ Joins: NineChickens
(uid196646@id-196646.ealing.irccloud.com)
L895[12:20:28] ⇦
Quits: Lildirt (~Lildirt@lildirt.com) (Ping timeout: 186
seconds)
L896[12:24:00]
⇨ Joins: Lildirt (~Lildirt@lildirt.com)
L897[12:26:20] ⇦
Quits: covers1624 (~covers162@ppp122-232-6.static.internode.on.net)
(Read error: Connection reset by peer)
L898[12:27:48]
⇨ Joins: AshIndigo_
(~AshIndigo@79-67-168-211.dynamic.dsl.as9105.com)
L899[12:30:09]
⇨ Joins: AshIndigo__
(~AshIndigo@79-67-168-211.dynamic.dsl.as9105.com)
L900[12:33:39]
⇨ Joins: covers1624
(~covers162@ppp122-232-6.static.internode.on.net)
L901[12:33:46] ⇦
Quits: AshIndigo (~AshIndigo@188.29.164.202.threembb.co.uk) (Ping
timeout: 384 seconds)
L902[12:33:51]
⇨ Joins: Koward
(~Koward@2a02:2788:7d4:4dd:69ba:5e9f:345a:6033)
L903[12:37:16] <iari> I've just read that
mojang changed it's privacy polcy to the one from microsoft, which
basicly says we collect everything from you for no specifig reason
<.<
L904[12:37:46] <iari> specific
L905[12:37:59] <tterrag> barteks2x: how do
you deal with y=11 being "lava level" ?
L906[12:38:29] <barteks2x> I just sent
screenshot for that
L908[12:38:37] <tterrag> I saw it
L909[12:38:45] <barteks2x> look at y
coordinates
L910[12:38:46] <tterrag> but I'm unclear
on what it actually does. do all ravines have lava now?
L911[12:38:54] <barteks2x> look at y
coordinates
L912[12:39:13] <tterrag> I don't see a
pattern
L913[12:39:16] <tterrag> could you just
explain it?
L914[12:39:21] <barteks2x> the deeper you
go the more lava there is
L915[12:39:37] <tterrag> that last image
looks like it has 3 separate layers of lava in the one ravine
L916[12:39:53] <tterrag> oh, that sort of
makes sense
L917[12:40:01] <barteks2x> ravines close
to surface will almost never have lava, and ravines very deep will
be completely filled with lava
L918[12:40:01] <tterrag> but it means taht
really low down you'll just have big strips of lava :P
L919[12:40:32] <barteks2x> I will probably
add some randomness to it, to add ome chance of ravine without too
much lava generating very deep
L920[12:40:41] <barteks2x> I also want to
do something similar with caves
L921[12:42:12] <barteks2x> and this is
spectator mode, this is just what it looks like. Each ravine has
it's own lava Y level
L922[12:42:25] ⇦
Quits: covers1624 (~covers162@ppp122-232-6.static.internode.on.net)
(Read error: Connection reset by peer)
L923[12:43:56] ⇦
Quits: Upth (~ogmar@108-85-88-44.lightspeed.frokca.sbcglobal.net)
(Ping timeout: 186 seconds)
L924[12:44:29] ⇦
Quits: Upthorn
(~ogmar@108-85-88-44.lightspeed.frokca.sbcglobal.net) (Ping
timeout: 206 seconds)
L925[12:44:57]
⇨ Joins: Upthorn
(~ogmar@108-85-88-44.lightspeed.frokca.sbcglobal.net)
L926[12:44:58]
⇨ Joins: Upth
(~ogmar@108-85-88-44.lightspeed.frokca.sbcglobal.net)
L927[12:46:25] ⇦
Quits: AshIndigo_ (~AshIndigo@79-67-168-211.dynamic.dsl.as9105.com)
(Quit: Leaving)
L928[12:48:31] <Arctangent> So, I made a
kinda zombie dirt that infects other types of dirt when it's dark
enough, put some on a naturally generated mountain, and this was
the result of staring at it for a while:
http://i.imgur.com/IdIwzcU.png
L929[12:48:46] <Arctangent> Then I decided
to let it run overnight, and uh
L931[12:49:04] <Arctangent> It's exceeded
my expectations.
L932[12:49:26] <Koward> Can I replace the
trees (WorldGenAbstractTree) of a biome without completely
replacing this biome ?
L933[12:50:07] <Koward> It feels like the
Terraria corruption
L934[12:50:42] <Arctangent> Probably isn't
too far off, since it's the same general idea it sounds like.
L935[12:53:59]
⇨ Joins: AshIndigo_
(~AshIndigo@188.29.164.202.threembb.co.uk)
L936[12:54:04] ⇦
Quits: Lildirt (~Lildirt@lildirt.com) (Ping timeout: 186
seconds)
L937[12:57:15]
⇨ Joins: Hgreb
(~Hgrebnedn@d8D872A6E.access.telenet.be)
L938[12:58:08] ⇦
Quits: AshIndigo__
(~AshIndigo@79-67-168-211.dynamic.dsl.as9105.com) (Ping timeout:
384 seconds)
L939[13:03:24] ⇦
Quits: ThePsionic (~ThePsioni@ip5457f909.direct-adsl.nl) (Read
error: Connection reset by peer)
L940[13:04:47]
⇨ Joins: Lildirt (~Lildirt@lildirt.com)
L941[13:06:51]
⇨ Joins: covers1624
(~covers162@ppp122-232-6.static.internode.on.net)
L942[13:14:18] ⇦
Quits: iari (~iari___@evana.futhark24.org) (Quit:
Leaving)
L943[13:15:50]
⇨ Joins: ThunderSmotch
(~carloscou@152.45.108.93.rev.vodafone.pt)
L944[13:18:32]
⇨ Joins: IceDragon (~ThatGuy@184.170.62.108)
L945[13:19:18] ⇦
Quits: IceDragon (~ThatGuy@184.170.62.108) (Client
Quit)
L946[13:22:55] <Koward> Is there any event
that would trigger when a tree is generated ?
L947[13:24:18] <ThunderSmotch> Like
naturally generated when you plant a sapling?
L948[13:24:28] <ThunderSmotch> Or you mean
when the world is generated?
L949[13:27:28] <ThunderSmotch> there is a
onPlantGrow
L950[13:28:54] <ThunderSmotch> and also
there is a SaplingGrowTreeEvent from forge
L951[13:30:58] <Koward> Both
L952[13:31:29] <Koward> I want to edit
blocks at&around position of said tree.
L953[13:31:45] <ThunderSmotch> ah ok :p
lemme see if I find one on WorldGen
L954[13:34:16] ⇦
Quits: covers1624 (~covers162@ppp122-232-6.static.internode.on.net)
(Read error: Connection reset by peer)
L955[13:34:24]
⇨ Joins: immibis
(~chatzilla@122-61-224-36.jetstream.xtra.co.nz)
L956[13:35:08] ⇦
Quits: cpup (~cpup@32.218.118.43) (Ping timeout: 186
seconds)
L957[13:42:55] ***
Vigaro|AFK is now known as Vigaro
L958[13:43:09]
⇨ Joins: covers1624
(~covers162@ppp122-232-6.static.internode.on.net)
L959[13:44:58] <McJty> Hmm, how was it
again that you could set a different item model for a block in the
inventory based on the NBT of that item?
L960[13:45:05] <McJty> I know there was a
way but can't remember it right now
L961[13:45:21] <ThunderSmotch> @Koward
found it
L962[13:45:47] <PaleoCrafter>
ItemMeshDefinition, McJty
L963[13:45:51] <PaleoCrafter> iirc
L964[13:46:20] <McJty> Ah right, but how
does one couple that to a block/item?
L965[13:46:35] <PaleoCrafter> uhm... some
method in ModelLoader :D
L966[13:46:47] <McJty> I think I found
it
L967[13:46:48] <McJty> Thanks
L968[13:47:17] <Koward> ThunderSmotch:
Really ? What is it ?
L969[13:47:26] ***
PaleoCrafter is now known as PaleOff
L970[13:47:34] <ThunderSmotch> @Koward if
you take a look at the BiomeDecorator class it appears there is an
event fired on the decorate method, in WorldGen
L971[13:48:05]
⇨ Joins: founderio
(~Thunderbi@p200300C4E3C12E00C442A3060C852F5F.dip0.t-ipconnect.de)
L972[13:48:07] <Koward> I'll look at that,
thanks ;)
L973[13:48:11] <ThunderSmotch> @Koward I
traced it back and in TerrainGen, this is fired
"net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.TREE"
L974[13:48:20] <ThunderSmotch> when it is
going to generate a tree
L975[13:48:24] <ThunderSmotch> does that
help?
L976[13:51:40] <McJty> Ok, so what is the
syntax again to get a specific variant out of a blockstate in
string format?
L977[13:52:10] <McJty> I mean for new
ModelResourceLocation(regName, "inventory...");
L978[13:52:22] <Koward> I think so, I'll
be able to use the Post event to do what I want, huge thanks
L979[13:53:43] <McJty> I thought it was
something like "inventory,color=blue"
L980[13:53:47] <McJty> But that isn't
working
L981[14:00:28] <McJty> So anyone knows how
to do that?
L983[14:01:13] <McJty> The 'color'
property comes from my TE via getActualState
L984[14:01:19] <McJty> In world it is
fine
L985[14:01:27] <McJty> But in inventory I
would like to have the two different color variants too
L986[14:01:57] <McJty> I thought I could
pass in something like return new
ModelResourceLocation(getRegistryName(),
"color=blue");
L987[14:02:01] ⇦
Quits: Sangam1 (~Sangam1@67-61-61-43.cpe.cableone.net) (Remote host
closed the connection)
L988[14:02:03] <McJty> But that doesn't
appear to be working
L989[14:03:55] <sibomots> from demo code
via Choonster: oreGenNether = new
WorldGenMinable(Blocks.IRON_ORE.getDefaultState(), 20,
BlockMatcher.forBlock(Blocks.NETHERRACK)); Question: what is the
intent/purpose of BlockMatcher.forBlock(/*some block*/) ?
L990[14:06:23] <Arctangent> hrnn
L991[14:06:57] <Arctangent> When the
documentation says you must override getMetaFromState etc. if you
declare an IProperty, does it mean custom IProperties or if you
attach a property to the block period?
L992[14:12:57] <barteks2x> sibomots, in
this case it would only replace netherrack blocks instead of the
default stone blocks
L993[14:16:46] <sibomots> so the practice
is to replace stone with whatever new ore blocks one wishes to
generate?
L994[14:17:57] <barteks2x> in general,
yes. But if you want to you can replace any block you want
L995[14:17:57]
⇨ Joins: offbeatwitch
(~offbeatwi@163.172.169.69)
L996[14:18:11] <barteks2x> in the nether
you would obviously need to replace netherrack
L997[14:18:16] <sibomots> nod
L998[14:18:30] <sibomots> thx
L999[14:23:55] <tterrag> McJty: why are
you doing that?
L1000[14:24:05] <tterrag> seems weird to
need to construct a property string yourself
L1001[14:25:08] <tterrag> sibomots:
BlockMatcher.forBlock is a utility method that returns a
Predicate<Block> for a single block
L1002[14:25:28] <tterrag> you could also
pass something like b -> b == Blocks.STONE || b == Blocks.DIRT
and it would replace both
L1003[14:25:42] <tterrag> or do something
more complex
L1004[14:26:59] <sibomots> thx. i was
suspecting that there was a nod to generics here to facilitate some
sort of selectivity in what to replace. I hadn't recognized that it
was required to generate a block. Thx.
L1005[14:35:06] <McJty> tterrag, well I
want the item model to look the same as the world model
L1006[14:35:15] <tterrag> that's why the
inventory variant exists
L1007[14:35:28] <tterrag> can't you just
let the item use the defaults ?
L1008[14:36:00] <tterrag> McJty: do you
have a statemapper already?
L1009[14:36:26] <McJty> hmm no
L1010[14:36:38] <tterrag> well, if you
make one, StateMapperBase has a function for getting a property
strin
L1011[14:37:04] <tterrag> so your mesh
definition could just return mapper.getPropertyString([insert
default blockstate here])
L1012[14:37:20] <tterrag> though a mesh
definition seems overkill for that
L1013[14:37:24] <tterrag> what about
setCustomMRL
L1014[14:38:01] <McJty> Well but that is
not influenced from ItemStack
L1015[14:38:06] <McJty> The model depends
on the NBT in the itemstack
L1016[14:38:10] <tterrag> ah
L1017[14:38:11] <McJty> I mean, that's
the idea
L1018[14:38:20] <tterrag> then yeah, mesh
is what you want
L1019[14:38:40] <tterrag> if you can form
an IBlockState (or property map) from your NBT, then use a
statemapper as a utility
L1020[14:38:44] <tterrag> that seems like
the easiest way
L1021[14:39:00] <McJty> I was trying:
return new ModelResourceLocation(getRegistryName(),
"color=blue");
L1022[14:39:06] <McJty> In
ItemMeshDefinition
L1023[14:39:10] <McJty> But that doesn't
appear to work
L1024[14:39:16] <McJty> I'm not sure what
the string should be that I pass tehre
L1025[14:39:17] <McJty> there
L1026[14:40:00] <tterrag> again don't
make the string manually. use the logic that already exists in
StateMapperBase
L1027[14:40:42] <McJty> Ok, I'll
investigate that tomorrow. My brain is shutting down for the night
already :-)
L1028[14:41:03] <McJty> Thanks
L1029[14:41:24] <tterrag> `new
DefaultStateMapper().getPropertyString(...)`
L1030[14:41:26] <tterrag> that's all
.-.
L1032[14:42:48] <Koward> (This field is
now protected static final Biome.SWAMP_FEATURE)
L1033[14:42:51] ***
Keridos|away is now known as Keridos
L1034[14:43:25] <Ordinastie> you thought
wrong
L1035[14:43:27] <Lumien> Well it's
possible to change static final fields
L1036[14:43:31] <tterrag> you can hack
anything
L1037[14:43:33] <tterrag> with
reflection
L1038[14:43:41] <tterrag> the problem
with static final fields is that they MAY be inlined
L1039[14:43:44] <tterrag> depending on
what they are
L1040[14:43:49] <tterrag> but a Block
object can't be inlined, so it's safe
L1041[14:44:09] <tterrag> it's still bad
though, as the JVM may perform other optimizations based on the
assumption that "this field never changes"
L1042[14:44:14] <tterrag> you just don't
know.
L1043[14:45:19] <Koward> It's not a block
object, it's a WorldGenAbstractTree, but I guess same rule
L1044[14:45:54]
⇦ Quits: McJty (~jorrit@94-224-154-146.access.telenet.be)
(Quit: Leaving)
L1045[14:52:42]
⇨ Joins: Redfoxmoon
(~Red@177.92-221-236.customer.lyse.net)
L1046[15:02:29]
⇨ Joins: Everseeking
(~Everseeki@pool-100-6-95-214.pitbpa.fios.verizon.net)
L1047[15:06:37] <Keridos> doesn't the
username cache work on offline mode players?
L1048[15:06:59] <Keridos> I currently try
to determine if a player name is valid by comparing it to all
entries in the usernamecache
L1049[15:09:00]
⇦ Quits: Koward
(~Koward@2a02:2788:7d4:4dd:69ba:5e9f:345a:6033) (Ping timeout: 206
seconds)
L1050[15:09:33] ***
DarkevilAway is now known as Darkevilmac
L1051[15:18:04]
⇨ Joins: Cast0077
(~Cast0077@24-151-68-108.dhcp.nwtn.ct.charter.com)
L1052[15:25:01] <Ordinastie> is there a
stream forEach equivalent this is not terminal ?
L1053[15:25:40] <Arctangent> Say, what
determines whether or not a block isn't mineable, like
liquids?
L1054[15:26:19]
⇦ Quits: Hunterz (~hunterz@62.182.234.189) (Quit:
Leaving.)
L1055[15:27:27] <Ordinastie> apparently,
there is
L1056[15:27:30] <Ordinastie> it's called
peek()
L1057[15:31:45] <Ordinastie> although I
may need it for the worst reason possible :p
L1058[15:33:46] <Ordinastie> I wonder if
I can integrate the size-check and the updateSlots call directly in
the stream :p
L1060[15:36:41]
⇨ Joins: secknv
(~secknv@bl14-176-22.dsl.telepac.pt)
L1061[15:37:47] ***
AshIndigo_ is now known as AshIndigo
L1062[15:43:21]
⇨ Joins: ThePsionic
(~ThePsioni@ip5457f909.direct-adsl.nl)
L1063[15:43:48]
⇦ Quits: Hgreb (~Hgrebnedn@d8D872A6E.access.telenet.be) (Ping
timeout: 206 seconds)
L1064[15:47:46]
⇦ Quits: ThunderSmotch
(~carloscou@152.45.108.93.rev.vodafone.pt) (Quit:
Ex-Chat)
L1065[15:52:09]
⇦ Quits: founderio
(~Thunderbi@p200300C4E3C12E00C442A3060C852F5F.dip0.t-ipconnect.de)
(Quit: founderio)
L1066[15:56:20]
⇨ Joins: AshIndigo_
(~AshIndigo@79-67-168-211.dynamic.dsl.as9105.com)
L1067[15:58:47]
⇦ Quits: AshIndigo (~AshIndigo@188.29.164.202.threembb.co.uk)
(Ping timeout: 206 seconds)
L1068[15:59:16]
⇨ Joins: AshIndigo (~AshIndigo@178.62.84.185)
L1069[15:59:40]
⇦ Quits: AshIndigo_
(~AshIndigo@79-67-168-211.dynamic.dsl.as9105.com) (Ping timeout:
186 seconds)
L1070[16:00:58]
⇦ Quits: sibomots (~sibomots@131.107.174.36) (Quit:
Leaving)
L1071[16:04:00]
⇦ Quits: Samario
(~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net) (Ping
timeout: 384 seconds)
L1072[16:04:07]
⇦ Parts: BrainStone|Away
(BrainStone@the.feds.just.stole-your.pw) ())
L1073[16:05:56]
⇨ Joins: Samario
(~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net)
L1074[16:13:48]
⇦ Quits: Jezza (~Jezza@92.206.161.17) (Quit:
Leaving)
L1075[16:23:13] ***
mezz is now known as mezz|finals
L1076[16:26:03]
⇦ Quits: Girafi (Girafi@0x555178eb.adsl.cybercity.dk)
()
L1077[16:35:56]
⇦ Quits: Noppes (~Noppes@ip56530f2e.direct-adsl.nl) (Read
error: Connection reset by peer)
L1078[16:45:00] <Arctangent> hrnn
L1079[16:57:27]
⇦ Quits: Samario
(~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net) (Quit: You
think you are above consequences.)
L1080[17:03:29] ***
Mine|dreamland is now known as minecreatr
L1081[17:14:23]
⇨ Joins: Eragonn1490
(~eragonn14@2607:fb90:c23:d00a:f1ab:1ce3:47ab:ef03)
L1082[17:15:01]
⇦ Quits: Eragonn1490
(~eragonn14@2607:fb90:c23:d00a:f1ab:1ce3:47ab:ef03) (Client
Quit)
L1083[17:16:32]
⇦ Quits: TechnicianLP
(~Technicia@p4FE56313.dip0.t-ipconnect.de) (Ping timeout: 384
seconds)
L1084[17:17:54] <shadowfacts> > PR
denied
L1085[17:17:58] <shadowfacts> >
threatens to use ASM
L1087[17:18:03] <shadowfacts> top
kek
L1088[17:26:26] ***
amadornes is now known as amadornes[OFF]
L1089[17:27:07] *
Akkarin ASMs the world
L1090[17:27:15] *
Akkarin accidentally kills everybody
L1091[17:27:17] <Akkarin> oops
:<
L1092[17:28:02]
⇦ Quits: ThePsionic (~ThePsioni@ip5457f909.direct-adsl.nl)
(Quit: Leaving)
L1093[17:33:07] <barteks2x> as always,
sampler/profiler shows performance issues where I least expect
them: UnmodifiableCollection/ArrayList.next/hasNext/iterator each
takes about 1.2-1.3 seconds in worldgen code
L1094[17:33:40] <barteks2x> for(X x :
collection) isn't as fast as it seems to be
L1095[17:40:27] <Ordinastie> !gm
func_189517_E_
L1096[17:40:41] <barteks2x> unless it's
yet another way sampler is lying
L1097[17:41:20] <Ordinastie> shadowfacts,
I kinda agree with the PR though
L1098[17:41:54] <shadowfacts> me too, but
that's not the point
L1099[17:47:19]
⇦ Quits: lashtear (~lashtear@cpe-50-113-67-84.san.res.rr.com)
(Quit: Leaving)
L1100[17:49:29]
⇨ Joins: lashtear
(~lashtear@cpe-50-113-67-84.san.res.rr.com)
L1101[17:53:54] <Ordinastie> !gm
func_180496_d
L1102[17:54:15] <Ordinastie> !gm
World.neighborChanged
L1103[18:01:55] <barteks2x> urgh... of
all possible places where system notification can appear, cinnamon
uses one of the most annoying places possible. The top right
corner
L1104[18:03:42] <TehNut> as long as you
can change which monitor it displays on, I'd be fine with
that
L1105[18:03:53] <TehNut> Left monitor at
the top right would be sweet
L1106[18:58:35] ***
Vigaro is now known as Vigaro|AFK
L1107[19:01:45]
⇨ Joins: AstralSorcerer
(~AstralSor@128.151.114.7)
L1108[19:08:08] ***
MrKickkiller is now known as MrKick|Away
L1109[19:12:33] <tterrag> shadowfacts:
he's not threatening to use ASM
L1110[19:13:00] <tterrag> personally, I
wouldn't mention it outloud, but I'd do exactly what he is. a door
has been closed so you have to find another route
L1111[19:13:04] <tterrag> it's not a
"threat"
L1112[19:13:42] <tterrag> why does
everything have to be us-vs-them nowadays, christ
L1114[19:16:51] <barteks2x> I wanted to
make it in similar way
L1115[19:17:06] <barteks2x> but in the
end I made char array for instructions, and 2 int arrays for
arguments
L1116[19:17:17] <tterrag> ah
L1117[19:17:42] <tterrag> I just like
that my "run" code boils down to while (cur <
instructions.size) cur += instructions.get(cur).get();
L1118[19:18:39] <barteks2x> if I
extracted a bit of code into function for me, I would have
something like while(pc < code.length) { pc = execute(pc, code,
args1, args2);}
L1119[19:20:23] <barteks2x> also, forgot
about registers array
L1120[19:22:00] <barteks2x> I aldo
interpreted "any integer" very literally and used
BigInteger class
L1121[19:25:09] <tterrag> haha
L1122[19:25:21] <tterrag> I find that
it's easier with these problems to interpret the spec lazily
L1123[19:25:35] <tterrag> no input
validation, cheaty parsing, etc
L1124[19:31:03]
⇦ Quits: NineChickens
(uid196646@id-196646.ealing.irccloud.com) (Quit: Connection closed
for inactivity)
L1125[19:45:34]
⇦ Quits: sinkillerj
(~sinkiller@nc-67-232-15-221.dhcp.embarqhsd.net) (Quit:
またね)
L1126[20:09:16] ***
Keridos is now known as Keridos|away
L1127[20:17:35]
⇨ Joins: cpup (~cpup@32.218.112.190)
L1128[20:33:43]
⇦ Quits: Snapples
(uid167569@id-167569.stonehaven.irccloud.com) (Quit: Connection
closed for inactivity)
L1129[20:51:10]
⇨ Joins: Doty1154
(~Doty1154@2601:648:8000:134f:dc17:b53c:3cd4:67b1)
L1130[20:55:32]
⇦ Quits: KGS (~KGS@h-155-4-129-249.na.cust.bahnhof.se) (Ping
timeout: 198 seconds)
L1131[21:02:04]
⇦ Quits: Wastl2 (~Wastl2@x4e350580.dyn.telefonica.de) (Ping
timeout: 186 seconds)
L1132[21:04:48]
⇨ Joins: Wastl2
(~Wastl2@x4e34935f.dyn.telefonica.de)
L1133[21:11:01]
⇨ Joins: Schwowsers
(~Schwowser@pool-108-2-77-251.phlapa.fios.verizon.net)
L1134[21:27:20]
⇨ Joins: killjoy (~killjoy@71.65.228.225)
L1135[21:32:10]
⇨ Joins: kinggoesgaming
(uid23106@id-23106.tooting.irccloud.com)
L1136[22:10:59]
⇦ Quits: covers1624
(~covers162@ppp122-232-6.static.internode.on.net) (Read error:
Connection reset by peer)
L1137[22:13:51]
⇦ Quits: Schwowsers
(~Schwowser@pool-108-2-77-251.phlapa.fios.verizon.net) (Quit:
Leaving)
L1138[22:14:48]
⇨ Joins: McJty
(~jorrit@94-224-154-146.access.telenet.be)
L1139[22:16:16]
⇨ Joins: Lathanael
(~Lathanael@p549607C8.dip0.t-ipconnect.de)
L1140[22:17:08] ***
Deamon is now known as Dezmon
L1141[22:17:26]
⇦ Quits: Lathanael|Away
(~Lathanael@p5496072F.dip0.t-ipconnect.de) (Ping timeout: 384
seconds)
L1142[22:41:14]
⇦ Quits: Shukaro (~Shukaro@130.108.205.152) (Read error:
Connection reset by peer)
L1143[22:53:09]
⇨ Joins: ALM (~austin@209.119.225.242)
L1144[22:54:50]
⇨ Joins: covers1624
(~covers162@ppp122-232-6.static.internode.on.net)
L1145[23:08:15]
⇨ Joins: Cooler (~CoolerExt@45.249.156.78)
L1146[23:09:53]
⇨ Joins: npe|office
(~NPExcepti@bps-gw.hrz.tu-chemnitz.de)
L1147[23:10:24]
⇦ Quits: killjoy (~killjoy@71.65.228.225) (Ping timeout: 206
seconds)
L1148[23:12:26] ***
kinggoesgaming is now known as king|turnt
L1149[23:12:58]
⇦ Quits: CoolerExtreme (~CoolerExt@45.249.156.78) (Ping
timeout: 384 seconds)
L1150[23:14:55] ***
minecreatr is now known as Mine|dreamland
L1151[23:21:28]
⇦ Quits: Cast0077
(~Cast0077@24-151-68-108.dhcp.nwtn.ct.charter.com) (Quit:
Poof)
L1152[23:33:25]
⇦ Quits: Meow-J (~Meow-J@45.32.34.121) (Remote host closed
the connection)
L1153[23:37:32]
⇨ Joins: quadraxis
(~quadraxis@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net)
L1154[23:39:36]
⇦ Quits: Alex_hawks
(~Alex_hawk@2001:8003:8582:d600:cd1d:f539:4568:39eb) (Read error:
Connection reset by peer)
L1155[23:40:10]
⇨ Joins: Alex_hawks
(~Alex_hawk@2001:8003:8582:d600:cd1d:f539:4568:39eb)
L1156[23:42:38]
⇨ Joins: MiningMark48
(~MiningMar@h228.58.187.173.dynamic.ip.windstream.net)
L1158[23:48:40]
⇦ Quits: p455w0rd (~p455w0rd@172.77.171.59) (Ping timeout:
384 seconds)
L1159[23:49:59]
⇨ Joins: p455w0rd (~p455w0rd@172.78.237.238)