<<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]
L14[01:17:30] <TehNut> Not having that issue here http://tehnut.info/share/PKHYAZ2eXT.png
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
L57[02:48:59] <mezz> https://www.mkyong.com/java/how-to-set-java_home-on-windows-10/
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
L61[02:49:29] <gigaherz|work> I use this: https://github.com/gigaherz/Enderthing/blob/master/build.gradle#L70
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)
L192[04:35:26] ⇦ Quits: Chais (~Chais@62.178.210.212) (Quit: ZNC - http://znc.in)
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
L214[05:51:27] <gigaherz|work> https://en.wikipedia.org/wiki/Z-buffering
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
L318[06:27:22] <gigaherz|work> http://wiki.vg/Client_List
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.
L354[06:35:13] <gigaherz|work> https://github.com/Thinkofname/steven
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
L358[06:35:42] <gigaherz|work> https://gfycat.com/NeedyElaborateGypsymoth
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
L361[06:39:00] <PaleoCrafter> https://github.com/Thinkofname/steven/blob/master/blocks/src/lib.rs D:
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
L365[06:43:41] <gigaherz|work> Ordinastie: https://www.youtube.com/results?search_query=minecraft+voxel+client+in+unity
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
L372[06:44:41] <gigaherz|work> https://www.youtube.com/watch?v=chbIgz5H0lA&list=PLZ1b66Z1KFKiEbK4HgNXI4Ra1dLBYBs7w
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
L462[07:49:39] <VikeStep> https://www.eclipse.org/collections/
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))
L495[07:58:53] <EbonX> https://gist.github.com/EbonX0218/b59f3a318bdd7c26731d77c5c284acbf
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
L501[08:00:13] <Ordinastie> that'll do for now I think : http://puu.sh/sMTPo.png
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)
L556[08:49:59] <Ordinastie> I wonder if that kind of loop is streamable : http://puu.sh/sMVTN.png
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)
L580[08:58:29] <kashike> Ordinastie: https://gist.github.com/kashike/f8239c5106a135ca41ff3d6e632a212e
L581[08:58:32] <kashike> something like that mess?
L582[08:58:35] <kashike> :P
L583[08:59:12] <Ordinastie> dude, lambdas! ><
L584[08:59:55] <kashike> https://gist.github.com/kashike/f8239c5106a135ca41ff3d6e632a212e
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
L676[09:16:28] <kashike> gigaherz|work: https://gist.github.com/kashike/211f6352326e682655439d9e0d6761f6
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
L693[09:18:45] <ALM> wat
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)
L797[10:45:01] ⇦ Quits: Emris (~Miranda@195.234.58.25) (Quit: Miranda IM! Smaller, Faster, Easier. http://miranda-im.org)
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
L803[10:45:49] <gigaherz> url = "http://files.minecraftforge.net/maven&quot;
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)
L871[11:13:32] <Ordinastie> hum, what ? http://puu.sh/sN2R7.png
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
L885[11:35:08] <barteks2x> http://imgur.com/a/tpmF3
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
L907[12:38:34] <barteks2x> http://imgur.com/a/tpmF3
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
L930[12:48:55] <Arctangent> http://i.imgur.com/ecieLSu.png http://i.imgur.com/g6YRJYd.png http://i.imgur.com/hV9S9zc.png
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?
L982[14:01:00] <McJty> This is my blockstate: https://bpaste.net/show/782266293cc6
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 .-.
L1031[14:42:06] <Koward> I thought reflection could not change static final fields, yet this mod does it with success : https://gist.github.com/Vazkii/a6f3f0d8f33ebe8a9eb2 . How is it even possible ?
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
L1059[15:33:48] <Ordinastie> http://puu.sh/sNj0G.png
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
L1086[17:18:00] <shadowfacts> - https://github.com/MinecraftForge/MinecraftForge/pull/3534#issuecomment-266583073
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
L1113[19:16:25] <tterrag> anyways, barteks2x check out my overly-OO day 12 solution :P https://github.com/tterrag1098/Advent2016/blob/master/src/com/tterrag/advent2016/Day12.java
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)
L1157[23:43:53] <MiningMark48> Why would GuiScreen be causing the cursor not to show? https://github.com/MiningMark48/Pearcel-Mod/blob/master/src/main/java/com/miningmark48/pearcelmod/handler/GuiHandler.java
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)
<<Prev Next>> Scroll to Top