<<Prev Next>> Scroll to Bottom
Stuff goes here
L1[00:03:56] ⇦ Quits: TwistedCode (~macks2008@192.99.226.232) (Ping timeout: 186 seconds)
L2[00:06:25] ⇨ Joins: Zesty (~Zesty@180.97.28.12)
L3[00:07:14] <Disconsented> Outside of overriding Potion.renderInventoryEffect and Potion.renderHUDEffect what else do I need for it to render? https://gist.github.com/disconsented/118a0ce9a41cb6f7b78a848b244a3d4c
L4[00:07:37] <Disconsented> (Potion hud/inventory effects)
L5[00:17:06] *** TTFTCUTS is now known as TTFT|Away
L6[00:18:43] <killjoy> my xbox periodically says I have networking hardware issues
L7[00:18:58] <killjoy> If unplugging my xbox fixes the problem, is it really a hardware issue?
L8[00:24:03] ⇨ Joins: Twisted_Code (~macks2008@dusky.horse)
L9[00:32:44] <FusionLord> Could be a heat issue with a piece of hardware and unplugging should "Fix" all/none of the issues... as with no power you won't get the issues but you won't get the desired results.
L10[00:32:45] *** Keridos is now known as Keridos|away
L11[00:33:51] <killjoy> I bet turning off always on mode will fix it
L12[00:34:00] <killjoy> or maybe this november update will
L13[00:34:47] ⇦ Quits: Zed (~Zed@21.243.7.51.dyn.plus.net) (Remote host closed the connection)
L14[00:35:37] ⇨ Joins: Zed (~Zed@21.243.7.51.dyn.plus.net)
L15[00:44:19] ⇦ Quits: Brokkoli (~Brokkoli@p2E5B1DD8.dip0.t-ipconnect.de) (Quit: Die Sprache der Politik ist daf�r gemacht, dass L�gen wahr klingen und das T�ten angemessen wirkt. (George Orwell))
L16[00:52:06] ⇦ Quits: quadraxis (~quadraxis@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net) (Quit: ChatZilla 0.9.93 [Firefox 50.0/20161104212021])
L17[00:57:16] ⇨ Joins: Eragonn1490 (~eragonn14@172.56.20.212)
L18[01:01:20] ⇨ Joins: iari (~iari___@evana.futhark24.org)
L19[01:06:44] ⇨ Joins: MrIbby (~MrIbby@173.85.192.160)
L20[01:06:46] ⇦ Quits: MrIbby (~MrIbby@173.85.192.160) (Remote host closed the connection)
L21[01:06:53] ⇨ Joins: MrIbby (~MrIbby@173.85.192.160)
L22[01:07:23] <Disconsented> Welp
L23[01:07:27] <Disconsented> I know the issue
L24[01:08:16] <Disconsented> Needs to be called client side as well
L25[01:08:44] <Disconsented> https://gist.github.com/disconsented/fdaaa59eedd85eaa5495ff094e4def8c#file-tilecrystal-java-L151 Whats the best way to call that client side
L26[01:10:11] <Disconsented> without destroying the server side logic?
L27[01:11:16] <Ordinastie> hum what ?
L28[01:12:04] <Disconsented> TL;DR potion works fine but icon doesn't render because its not being added client side
L29[01:12:38] <Ordinastie> then add it client side too, what's the problem ?
L30[01:13:22] <Disconsented> https://gist.github.com/disconsented/fdaaa59eedd85eaa5495ff094e4def8c#file-tilecrystal-java-L158-L163
L31[01:13:25] <Disconsented> Logic relies on that
L32[01:14:02] <Ordinastie> first, why do you need to cast ?
L33[01:14:23] <Ordinastie> second, I still don't see the problem
L34[01:15:16] <Disconsented> So I can get back the enum in a useful state /?
L35[01:15:16] <Disconsented> Thats server side only code
L36[01:15:27] <Disconsented> https://gist.github.com/disconsented/fdaaa59eedd85eaa5495ff094e4def8c#file-tilecrystal-java-L102
L37[01:15:29] <Disconsented> hence that
L38[01:16:05] <Disconsented> But for potion effects to render, I need that client side
L39[01:16:14] <Ordinastie> can you show BlockCrystal.PROPERTY_ENUM ?
L40[01:16:55] <Ordinastie> as for client, you either need to do the process client side too, or send a packet to clients to apply the potion I think
L41[01:17:03] <Ordinastie> how are other potions usually applied ?
L42[01:17:11] <Disconsented> https://gist.github.com/disconsented/d4ea4da11c8316b09ac0d3332c6cbaea
L43[01:17:34] <Ordinastie> (the property)
L44[01:18:39] <Disconsented> I assume you mean by Minecraft
L45[01:18:53] <Ordinastie> yeah, or maybe other mods
L46[01:19:43] <Disconsented> Vanilla applys it on ItemPotion#onItemFinish
L47[01:19:51] <Ordinastie> called both sides I gues
L48[01:19:52] <Ordinastie> s
L49[01:28:15] ⇦ Quits: McJty (~jorrit@94-225-196-91.access.telenet.be) (Quit: Leaving)
L50[01:32:11] ⇦ Quits: KnightMiner (~KnightMin@adsl-75-5-64-247.dsl.emhril.sbcglobal.net) (Quit: Leaving)
L51[01:35:08] ⇦ Quits: Eragonn1490 (~eragonn14@172.56.20.212) (Ping timeout: 198 seconds)
L52[01:35:09] ⇦ Quits: MrIbby (~MrIbby@173.85.192.160) (Read error: Connection reset by peer)
L53[01:35:17] ⇨ Joins: MrIbby (~MrIbby@173.85.192.160)
L54[01:35:18] <Disconsented> Is there anything that needs to be done to have BlockStates exist client side Ordinastie?
L55[01:35:33] <Ordinastie> they always exist on the client
L56[01:36:17] <Disconsented> https://gist.github.com/disconsented/86f657c2a100d6512e7c02a8aa377980 Okay, any idea what I goofed there then?
L57[01:36:21] <Disconsented> Caused by https://gist.github.com/disconsented/fdaaa59eedd85eaa5495ff094e4def8c#file-tilecrystal-java-L160
L58[01:36:24] *** Mine|away is now known as Mine|dreamland
L59[01:36:49] *** tterrag|away is now known as tterrag|ZZZzzz
L60[01:37:54] <Ordinastie> that's weird, you don't have the block at the position, yet the TE exists
L61[01:38:20] <Ordinastie> (I'd still like to see the definition of your property enum though)
L62[01:38:52] <Disconsented> https://gist.github.com/disconsented/fdaaa59eedd85eaa5495ff094e4def8c#file-tilecrystal-java-L160
L63[01:39:05] <Disconsented> Ehh Ill just push changes to the repo
L64[01:39:09] <Ordinastie> show BlockCrystal
L65[01:40:49] <Disconsented> https://github.com/disconsented/Cristallum/blob/master/src/main/java/disconsented/cristallum/block/BlockCrystal.java
L66[01:42:42] ⇨ Joins: AstralSorcerer (~AstralSor@cpe-66-66-15-47.rochester.res.rr.com)
L67[01:43:39] <Ordinastie> Disconsented, doesn't your IDE tell you that you don't need to cast your value into EnumType ?
L68[01:44:16] <Disconsented> It is casted /?
L69[01:44:31] ⇨ Joins: DigitalFeonix (webchat@69-10-213-158.rainierconnect.com)
L70[01:44:51] <Ordinastie> you do, but don't need to
L71[01:44:55] <Ordinastie> getValue() return T
L72[01:47:21] *** covers1624_ is now known as covers1624
L73[01:48:49] <Disconsented> I don't understand, as far as I am aware Java doesn't allow you to set method return types without overriding the method
L74[01:50:11] <Disconsented> And since thats from vanilla I can't do that without bytecode manipulation
L75[01:50:24] ⇦ Quits: MrIbby (~MrIbby@173.85.192.160) (Remote host closed the connection)
L76[01:50:24] <Ordinastie> that's what generics are for
L77[01:50:30] <Ordinastie> you should read about that
L78[01:50:34] <Disconsented> Even then from what i understand about the JVM, is that it is smart enough that it will remove the cast internally if it can
L79[01:51:08] ⇦ Quits: Umbraco (~Umbraco@113x37x12x233.ap113.ftth.ucom.ne.jp) (Ping timeout: 186 seconds)
L80[01:51:30] <Disconsented> I dont see how that helps here, I need that specific value which a generic type doesn't allow me to access
L81[01:52:24] <Ordinastie> getValue() returns a type that depends on the generic of the IProperty you pass
L82[01:52:48] <Ordinastie> ah, I missed it
L83[01:52:56] <Ordinastie> the issue is your field
L84[01:53:01] <Ordinastie> you don't declare the generic there
L85[01:53:30] <Disconsented> You mean in BlockCrystal?
L86[01:53:34] <Ordinastie> yes
L87[01:53:42] <Disconsented> Ah I see now
L88[01:53:43] <Ordinastie> it should be PropertyEnum<EnumType>
L89[01:53:48] <Disconsented> Yeah just did that
L90[01:54:00] <Disconsented> Neat
L91[01:54:11] <Ordinastie> you should configure the compiler for the IDE to warn about those things
L92[01:54:53] ⇦ Quits: Doty1154 (~Doty1154@c-73-189-164-179.hsd1.ca.comcast.net) (Read error: Connection reset by peer)
L93[01:55:26] <Disconsented> Yeah that will be handy later
L94[01:55:34] <Disconsented> but this dosen't really solve my problem
L95[01:55:40] <Ordinastie> true
L96[01:55:48] <Ordinastie> but I fear your problem is a vanilla issue
L97[01:56:08] <Disconsented> So bite the bullet and send a packet?
L98[01:56:09] <Ordinastie> although I never had this issue inside the TE directly
L99[01:56:38] <Ordinastie> try to find out why you don't have the correct block for the position on the client
L100[01:56:46] <Ordinastie> that shouldn't really happen
L101[01:57:03] <Ordinastie> also, when does it happen ?
L102[01:57:32] <Disconsented> When the TE ticks
L103[01:58:34] <Ordinastie> it systematically crash ?
L104[02:00:03] <MCPBot_Reborn> [TEST CSV] Pushing snapshot_20161126 mappings to Forge Maven.
L105[02:00:07] <MCPBot_Reborn> [TEST CSV] Maven upload successful for mcp_snapshot-20161126-1.11.zip (mappings = "snapshot_20161126" in build.gradle).
L106[02:00:18] ⇨ Joins: Noppes (~Noppes@ip56530f2e.direct-adsl.nl)
L107[02:01:59] <Disconsented> Block Cords arnt the issue
L108[02:02:07] <Disconsented> At least I dont think so
L109[02:02:21] <Disconsented> Logged the side + cords
L110[02:02:24] <Disconsented> Got a match
L111[02:02:48] <Me4502> what's the thing I need to do to allow a mod on the server without it on the client - but still allowing it to be on the client?
L112[02:02:57] <Me4502> Like, I need it optional for it to be installed on the client
L113[02:03:15] <Ordinastie> acceptableRemoteVersion=* IIRC
L114[02:03:21] <Me4502> Ah, thanks
L115[02:04:49] <Ordinastie> Disconsented, if you check for the block first before accessing the blockState, does it resolve itself the next tick ?
L116[02:05:46] <Me4502> yeah that worked, thanks
L117[02:06:53] <Ordinastie> you can consider a vanilla bug I think then
L118[02:07:05] <Ordinastie> wait, no, how is that even possible ?
L119[02:07:41] <Ordinastie> wait never mind, I should have read the name ><
L120[02:07:46] <Ordinastie> Me4502, you're welcome
L121[02:09:46] ⇦ Quits: Chais (~Chais@62-178-210-212.cable.dynamic.surfer.at) (Read error: Connection reset by peer)
L122[02:12:02] ⇦ Quits: VikeStep (~VikeStep@101.184.229.226) (Ping timeout: 384 seconds)
L123[02:12:47] ⇨ Joins: Chais (~Chais@62-178-210-212.cable.dynamic.surfer.at)
L124[02:17:03] ⇨ Joins: Hunterz (~hunterz@62.182.234.189)
L125[02:20:54] ⇦ Parts: DigitalFeonix (webchat@69-10-213-158.rainierconnect.com) ())
L126[02:22:31] <Disconsented> Ordinastie> nope https://gist.github.com/disconsented/128843e801952a8db4b785ddeeedd3cd#file-tilecrystal-java-L114
L127[02:23:01] <Ordinastie> well, if you keep isRemote...
L128[02:23:08] <Disconsented> ...
L129[02:23:33] <Ordinastie> or does it also happen server side too ?
L130[02:23:57] <Disconsented> That was an oversight
L131[02:24:02] <Ordinastie> k :p
L132[02:25:22] <Disconsented> Same issue
L133[02:26:56] <Ordinastie> same issue what ?
L134[02:27:53] <Disconsented> https://gist.github.com/disconsented/ad269e18922534d9a2f1b322506a6c42#file-gistfile1-txt-L286
L135[02:28:42] <Disconsented> https://gist.github.com/disconsented/ad269e18922534d9a2f1b322506a6c42#file-tilecrystal-java-L114 That should filter that out :|
L136[02:28:46] <Ordinastie> that's not possible to what your block check and then still have the wrong block in your method below
L137[02:29:45] ⇨ Joins: DigitalFeonix (webchat@69-10-213-158.rainierconnect.com)
L138[02:29:55] <Ordinastie> wait
L139[02:30:09] <Ordinastie> ...
L140[02:30:16] <Ordinastie> what does explode do ... ?
L141[02:31:34] <Disconsented> yep
L142[02:31:37] <Disconsented> thats it
L143[02:31:40] <Disconsented> Dont know why
L144[02:31:41] <Disconsented> but that is
L145[02:31:57] <Ordinastie> let just say that wasn't very smart :p
L146[02:32:53] <Disconsented> What its meant to do, is explode if the ticker is 0. Which should be -1 unless some other conditions are met
L147[02:33:05] ⇦ Parts: DigitalFeonix (webchat@69-10-213-158.rainierconnect.com) ())
L148[02:33:36] <Ordinastie> whatever the condition, that's probably something that should be done last
L149[02:33:46] ⇨ Joins: DigitalFeonix (webchat@69-10-213-158.rainierconnect.com)
L150[02:34:27] <Ordinastie> however, I wonder how did that not crash on the server...
L151[02:34:32] <Ordinastie> DigitalFeonix, read the rules
L152[02:34:47] <Disconsented> Oh well
L153[02:34:52] <Disconsented> Thanks for wasting your time with me
L154[02:35:51] ⇦ Quits: DigitalFeonix (webchat@69-10-213-158.rainierconnect.com) (Client Quit)
L155[02:36:36] ⇨ Joins: DigitalFeonix (~reedt@69-10-213-158.rainierconnect.com)
L156[02:36:54] <DigitalFeonix> can someone help a newbie?
L157[02:36:59] <Disconsented> Amusing that this was exploding client side only
L158[02:37:42] <DigitalFeonix> I am new to modding and Java and thought I would cut my teeth on something simple
L159[02:37:58] <DigitalFeonix> So, today I started created a mod that adds just 1 block
L160[02:38:15] <DigitalFeonix> a solid block that can hydrate farmland
L161[02:38:35] <DigitalFeonix> I got everything working, but found that if I click it with an empty bucket it crashes
L162[02:39:00] <DigitalFeonix> crash log: http://pastebin.com/XGhY8xMU
L163[02:39:29] <DigitalFeonix> basically it comes down to line 71 in ItemBucket.java
L164[02:39:42] <Ordinastie> Disconsented, probably because you're missing a few sync methods
L165[02:39:45] <DigitalFeonix> if (material == Material.WATER && ((Integer)iblockstate.getValue(BlockLiquid.LEVEL)).intValue() == 0)
L166[02:39:53] <Disconsented> Which ones Ordinastie?
L167[02:40:38] <DigitalFeonix> I'm faking the water material to get hydration to work, but it crashes on attempting to get the fluid level
L168[02:40:57] <Ordinastie> DigitalFeonix, as the error says
L169[02:41:08] <Ordinastie> it queries for a property in the block that your block doesn't have
L170[02:41:29] <DigitalFeonix> I tried putting that property on and it crashed as well
L171[02:41:31] <Ordinastie> Disconsented, the ones commented
L172[02:41:46] <Disconsented> Ah so I need to implement those
L173[02:41:47] <Ordinastie> DigitalFeonix, not the same crash
L174[02:41:47] <Disconsented> ty
L175[02:42:03] <DigitalFeonix> from that crash log... // Surprise! Haha. Well, this is awkward.
L176[02:42:03] <DigitalFeonix> Time: 11/25/16 11:23 PM
L177[02:42:03] <DigitalFeonix> Description: Initializing game
L178[02:42:03] <DigitalFeonix> java.lang.IllegalArgumentException: Don't know how to convert hydrogel:blockHydroGel[level=0] back into data...
L179[02:42:07] <Ordinastie> Disconsented, the syncing is a bit of a mess in vanilla I feel
L180[02:42:43] <DigitalFeonix> here is my block class: https://github.com/DigitalFeonix/HydroGel/blob/master/src/main/java/com/digitalfeonix/hydrogel/block/BlockHydroGel.java
L181[02:42:57] <Ordinastie> DigitalFeonix, the stacktrace should make it pretty obvious what you need
L182[02:43:13] <Ordinastie> but you should read the docs
L183[02:43:43] <DigitalFeonix> I have been trying to find something in the docs to help me for like the last 6 hours
L184[02:43:57] <DigitalFeonix> I just want my block to ignore empty bucket clicks
L185[02:44:18] <DigitalFeonix> I tried to capture the FillBucketEvent and cancel that, but it prevented all buckets from working
L186[02:44:20] ⇦ Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 384 seconds)
L187[02:46:17] <Ordinastie> that means you messed something in your event
L188[02:48:35] ⇨ Joins: Savos (~Savos@CPEf0f24903d453-CMf0f24903d450.cpe.net.cable.rogers.com)
L189[02:51:25] ⇦ Quits: Savos (~Savos@CPEf0f24903d453-CMf0f24903d450.cpe.net.cable.rogers.com) (Client Quit)
L190[02:54:24] ⇨ Joins: p455w0rd (~p455w0rd@172.76.245.162)
L191[03:01:13] ⇨ Joins: Cooler (~CoolerExt@45.249.156.36)
L192[03:01:44] ⇨ Joins: ThePsionic (~ThePsioni@ip5457f909.direct-adsl.nl)
L193[03:02:13] ⇦ Quits: ThePsionic (~ThePsioni@ip5457f909.direct-adsl.nl) (Client Quit)
L194[03:05:44] ⇨ Joins: Larry1123 (Larry1123@irc.larry1123.net)
L195[03:24:16] ⇨ Joins: Hgrebnednav (~Hgrebnedn@ptr-2hj4tbppx785m70ryu6wwl7a5.ip6.access.telenet.be)
L196[03:26:38] <masa> DigitalFeonix: you are missing some required method overrides in your block
L197[03:26:51] <Ordinastie> sometimes I don't really do smart stuff either : http://puu.sh/suUqH.png
L198[03:30:10] <DigitalFeonix> https://gist.github.com/DigitalFeonix/27bc699b55378a084d15d630cdfa2a30
L199[03:30:25] <DigitalFeonix> this is what I have to put the states in
L200[03:31:12] <DigitalFeonix> I think I need to change the default state to a 1 for that, and then update my blockstate json to deal with that so my texture will be there right?
L201[03:33:34] <masa> if the bucket code is actually looking for BlockLiquid.LEVEL then I think this will still crash, because the property you have is not the same one, although it is identical
L202[03:33:55] <masa> so you should simply use that one
L203[03:34:13] <DigitalFeonix> no longer crashing, but it's acting like a water source block to the empty bucket
L204[03:34:33] <DigitalFeonix> and missing texture in the world
L205[03:34:38] <masa> oh, this property does work? okay...
L206[03:34:42] <DigitalFeonix> inventory texture still fine
L207[03:35:04] <masa> I think you'll want a StateMapper to ignore the level since you only have one model
L208[03:36:08] ⇦ Quits: Naiten (Naiten@5.143.78.107) (Read error: Connection reset by peer)
L209[03:37:03] <DigitalFeonix> any other suggestions for methods to get my block to ignore the empty bucket issue?
L210[03:37:16] ⇦ Quits: Noppes (~Noppes@ip56530f2e.direct-adsl.nl) (Read error: Connection reset by peer)
L211[03:38:26] <masa> looking...
L212[03:43:05] <masa> DigitalFeonix: okay so you want the FillBucketEvent, and in that event check if the targeted block is yours, and if so, set the result of the event to Result.DENY
L213[03:43:46] <DigitalFeonix> how would I find if the targeted block is mine?
L214[03:44:32] <masa> actually no, I think you might want to cancel the event. But in any case, first check the targeted block is yours
L215[03:44:38] <DigitalFeonix> I tried that before, and was unsuccessful
L216[03:44:50] <masa> did you check anything in the event?
L217[03:44:51] <DigitalFeonix> trying to narrow it to my block
L218[03:46:51] <masa> if (event.getTarget != null && event.getTarget.typeOfHit == RayTraceResult.Type.BLOCK && event.getWorld.getBlockState(event.getTarget().getBlockPos()).getBlock == ModBlocks.blockHydroGel)
L219[03:47:08] <masa> missing some brackets but anyway
L220[03:47:27] <masa> or parenthesis whatever
L221[03:48:16] <DigitalFeonix> working it in now....
L222[03:52:41] <DigitalFeonix> sweeet, that worked
L223[03:54:38] <DigitalFeonix> thank you
L224[03:54:52] ⇦ Quits: Relkofizz (~Relkofizz@s0106602ad0816fd5.ss.shawcable.net) (Ping timeout: 186 seconds)
L225[03:56:07] <masa> np
L226[03:58:13] <DigitalFeonix> new crash.... Description: Exception while ticking a block
L227[03:58:18] <DigitalFeonix> <sigh>
L228[03:58:24] <killjoy> Who does that?
L229[03:58:32] <killjoy> Just throwing Exception everywhere?
L230[03:58:40] <killjoy> Come on! Make your own
L231[04:01:47] <DigitalFeonix> line 71 hates me
L232[04:02:09] <DigitalFeonix> first line 71 in ItemBucket.java and now line 71 in BlockLiquid.java
L233[04:03:41] <DigitalFeonix> real water next to my fake water causes crash.
L234[04:06:00] ⇦ Quits: Cooler (~CoolerExt@45.249.156.36) (Read error: Connection reset by peer)
L235[04:06:17] ⇨ Joins: Cooler (~CoolerExt@45.249.156.36)
L236[04:11:52] *** MrKick|Away is now known as MrKickkiller
L237[04:13:48] ⇨ Joins: maxanier (~maxanier@cable-89-16-153-148.cust.telecolumbus.net)
L238[04:16:38] <maxanier> I've played around with the substitution system a little bit and managed to substitute the vanilla night vision potion with my own version. An ObjectHolder field contains the substitution afterwards, but is there a way to update the reference in MobEffects?
L239[04:17:46] ⇨ Joins: Samario (~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net)
L240[04:17:58] <maxanier> Using reflection manually would probably work, but is there a "cleaner" approach built into Forge somehow?
L241[04:18:54] ⇦ Quits: AstralSorcerer (~AstralSor@cpe-66-66-15-47.rochester.res.rr.com) (Ping timeout: 206 seconds)
L242[04:21:22] <maxanier> looks like Forge adds ObjectHolders to all public static final fields in Blocks and Items
L243[04:22:01] <maxanier> guess if Forge did this for Mobeffects, it's fields should also be updated
L244[04:22:01] *** V is now known as Vigaro
L245[04:22:26] ⇨ Joins: CoolerExtreme (~CoolerExt@45.249.156.132)
L246[04:25:11] ⇦ Quits: Cooler (~CoolerExt@45.249.156.36) (Ping timeout: 206 seconds)
L247[04:29:06] ⇦ Quits: Everseeking (~Everseeki@pool-100-6-80-90.pitbpa.fios.verizon.net) (Quit: Big Gulps, huh? Alright... Welp, see ya later)
L248[04:29:28] ⇨ Joins: Naiten (Naiten@5.143.2.12)
L249[04:48:00] *** amadornes[OFF] is now known as amadornes
L250[04:59:54] ⇨ Joins: agowa338 (~Thunderbi@p549180E5.dip0.t-ipconnect.de)
L251[05:01:17] ⇨ Joins: JuiceGrape (~JuiceGrap@31-151-51-200.dynamic.upc.nl)
L252[05:01:27] <JuiceGrape> how do I update my forge version?
L253[05:01:45] <TechnicianLP2> edit your build.gradle
L254[05:01:53] <TechnicianLP2> and rerun setup
L255[05:02:02] <JuiceGrape> okay, thanks
L256[05:05:37] <ghz|afk> then afterward, you have to refresh the project
L257[05:05:54] <ghz|afk> if you are in IDEA, there's a blue refresh icon in the gradle panel
L258[05:06:17] <ghz|afk> for eclipse, I think you have to rerun the eclipse task instead?
L259[05:06:54] <JuiceGrape> I just closed eclipse for the time being
L260[05:08:18] <ghz|afk> yeah but I mean that updating forge changes the referenced libraries, so you have to do something for the IDE to realize that need to be different
L261[05:08:59] <JuiceGrape> ah okay, will get annoyed by that
L262[05:09:31] <ghz|afk> I suggest switching to IDEA, then I can assure you that little blue arrow does its job just fine
L263[05:09:32] <ghz|afk> ;P
L264[05:09:58] ⇨ Joins: Noppes (~Noppes@62.41.77.242)
L265[05:10:07] ⇨ Joins: sciguyryan (~sciguyrya@45.62.37.30)
L266[05:10:44] <JuiceGrape> sorry m8, I'm an eclipse guy
L267[05:12:39] <killjoy> I just switched from it
L268[05:13:00] <killjoy> And boy are my hands tired
L269[05:13:19] <killjoy> (Default keybinds are all over the place)
L270[05:13:38] <killjoy> Ctrl+Shift+F9 to recompile a class.
L271[05:13:44] <killjoy> It's required when debugging.
L272[05:14:03] <killjoy> Ctrl+Alt+L to formaty
L273[05:14:13] <killjoy> Ctrl+Y deletes the current line
L274[05:14:20] <killjoy> careful with that. It's not redo
L275[05:14:33] <ghz|afk> I don't use default keybinds XD
L276[05:14:50] <Ordinastie> are you serious about Ctrl+Y ?
L277[05:15:04] <Ordinastie> who is the moron that thought it was a good idea ? :x
L278[05:15:08] <ghz|afk> any program designed by macos people
L279[05:15:23] <ghz|afk> they use cmd-shift-z for redo
L280[05:16:03] <Ordinastie> It's that shortcut in PS too, I hate it :x
L281[05:16:20] <ghz|afk> in PS it's worse, because undo is really ctrl-alt-z
L282[05:16:35] <Ordinastie> hum no ?
L283[05:16:38] <ghz|afk> ctrl-z will undo, yes, but the next undo will undo the undo
L284[05:16:41] <ghz|afk> redoing the action
L285[05:16:44] <Ordinastie> ah
L286[05:16:49] <Ordinastie> yes, I hate that too
L287[05:16:52] <ghz|afk> so if you truly want to go back in history
L288[05:16:56] <ghz|afk> you have to use ctrl-alt-z
L289[05:17:50] <Ordinastie> hum, I think you mixed up something
L290[05:18:05] <JuiceGrape> [12:06] <ghz|afk> for eclipse, I think you have to rerun the eclipse task instead? how do I this
L291[05:18:19] <ghz|afk> gradlew eclipse, I guess
L292[05:18:23] <ghz|afk> I haven't used eclipse for modding
L293[05:18:28] <Ordinastie> ah no, you're right, it's just I got use to it too :/
L294[05:19:01] <Ordinastie> can I have feedback on that : http://puu.sh/suXIM.png ?
L295[05:19:32] <Ordinastie> and yes, it's gradlew eclipse, and they you need to refresh the project in eclipse
L296[05:20:42] <JuiceGrape> worked, ty
L297[05:24:12] ⇦ Quits: Noppes (~Noppes@62.41.77.242) (Read error: Connection reset by peer)
L298[05:25:17] <killjoy> This is a weird bug... https://cdn.discordapp.com/attachments/182490536119107584/252014438578782209/unknown.png
L299[05:25:48] ⇨ Joins: Noppes (~Noppes@62.41.77.242)
L300[05:30:56] ⇦ Quits: Vigaro (Vigaro@vigaro.tk) (Ping timeout: 384 seconds)
L301[05:31:00] ⇦ Quits: DigitalFeonix (~reedt@69-10-213-158.rainierconnect.com) (Quit: Leaving)
L302[05:33:12] ⇦ Quits: killjoy (~killjoy@cpe-2606-A000-1118-C091-572-5795-4C90-4D5E.dyn6.twc.com) (Ping timeout: 384 seconds)
L303[05:36:25] *** Darkhax_AFK is now known as Darkhax
L304[06:06:23] ⇨ Joins: KGS (~KGS@h-155-4-129-249.na.cust.bahnhof.se)
L305[06:08:23] ⇨ Joins: Scoaex_ (~Scoaex@p5B2791C7.dip0.t-ipconnect.de)
L306[06:15:58] ⇨ Joins: Cast0077 (~Cast0077@24-181-179-41.dhcp.nwtn.ct.charter.com)
L307[06:16:24] ⇨ Joins: InusualZ (~InusualZ@adsl-64-237-236-19.prtc.net)
L308[06:19:25] <JuiceGrape> is there a list of general OreDic block and item names?
L309[06:19:36] <ghz|afk> in the OreDictionary class
L310[06:19:38] <ghz|afk> at the bottom
L311[06:20:03] <JuiceGrape> oh cool :P
L312[06:22:18] ⇨ Joins: Vigaro (~Vigaro@vigaro.tk)
L313[06:38:07] ⇨ Joins: Umbraco (~Umbraco@113x37x12x233.ap113.ftth.ucom.ne.jp)
L314[06:43:30] *** Keridos|away is now known as Keridos
L315[06:45:10] *** Cast0077 is now known as Hotdog_Daddy_Away
L316[06:53:00] ⇦ Quits: Vigaro (~Vigaro@vigaro.tk) (Ping timeout: 186 seconds)
L317[06:53:49] ⇦ Quits: Scoaex_ (~Scoaex@p5B2791C7.dip0.t-ipconnect.de) (Quit: Leaving)
L318[07:04:51] *** Keridos is now known as Keridos|away
L319[07:15:54] <Wuppy> omg JuiceGrape
L320[07:18:42] <Wuppy> whatcha doing here
L321[07:18:55] <JuiceGrape> I'm modding again ;)
L322[07:19:09] <Wuppy> oh god why
L323[07:19:16] <JuiceGrape> cause I felt like failing college
L324[07:19:30] <Wuppy> lel
L325[07:19:35] <Wuppy> again?
L326[07:19:37] <JuiceGrape> cause it's fun
L327[07:19:44] <JuiceGrape> oi, I was allowed to continue at NHTV >.>
L328[07:19:45] <Wuppy> oh well, you got out on time :P
L329[07:19:56] <Wuppy> lucky you didn't :V
L330[07:20:06] <raoulvdberge> forge maven is down
L331[07:20:30] <JuiceGrape> hehe, I don't even want to develop games
L332[07:20:38] * JuiceGrape is gonna attend the ludum dare
L333[07:21:06] <JuiceGrape> anyway, I'm getting for release. Some small changes, recipes, config options
L334[07:21:19] <JuiceGrape> rest of juicewares is pretty much ready. Missing some features but I don't mind atm
L335[07:21:35] <Wuppy> juicewares :V
L336[07:21:36] ⇦ Quits: FusionLord (~FusionLor@2600:8800:1:e900:2183:4d68:d305:76d) (Ping timeout: 206 seconds)
L337[07:21:40] <JuiceGrape> yeah yeah, I know
L338[07:21:51] <Wuppy> also, why join ludum if you dont like games
L339[07:21:52] <JuiceGrape> it was downloaded 34,000 times
L340[07:21:54] <ghz|afk> raoulvdberge: yep seems so
L341[07:22:01] ⇨ Joins: Eragonn1490 (~eragonn14@2607:fb90:1b78:5611:88aa:ecc3:8237:64e2)
L342[07:22:09] <JuiceGrape> I do like developing games, just not as a job, I do it as a hobby
L343[07:22:13] <Wuppy> right
L344[07:22:17] <ghz|afk> it couldn't even fetch FG
L345[07:22:26] <raoulvdberge> it seems to always happen when i need to update something
L346[07:22:29] <raoulvdberge> lol
L347[07:23:12] <ghz|afk> the stack trace for the timeout is BIG
L348[07:23:36] <ghz|afk> http://pastebin.com/gVKbdiXJ
L349[07:23:37] <ghz|afk> XD
L350[07:23:50] ⇦ Quits: Actuarius (~Actuarius@195.91.246.187) (Read error: Connection reset by peer)
L351[07:24:34] ⇨ Joins: Actuarius (~Actuarius@195.91.246.187)
L352[07:24:34] MineBot sets mode: +v on Actuarius
L353[07:25:58] *** Keridos|away is now known as Keridos
L354[07:29:01] ⇦ Quits: AshIndigo_ (~AshIndigo@188.29.164.186.threembb.co.uk) (Quit: Bye)
L355[07:29:02] ⇨ Joins: AshIndigo (~AshIndigo@79-67-168-211.dynamic.dsl.as9105.com)
L356[07:29:49] ⇨ Joins: VikeStep (~VikeStep@101.184.229.226)
L357[07:34:39] ⇦ Quits: maxanier (~maxanier@cable-89-16-153-148.cust.telecolumbus.net) (Ping timeout: 206 seconds)
L358[07:47:42] ⇨ Joins: maxanier (~maxanier@cable-89-16-153-148.cust.telecolumbus.net)
L359[07:51:08] ⇦ Quits: Samario (~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net) (Ping timeout: 186 seconds)
L360[07:52:03] ⇦ Quits: Naiten (Naiten@5.143.2.12) (Ping timeout: 206 seconds)
L361[07:52:32] ⇦ Quits: JuiceGrape (~JuiceGrap@31-151-51-200.dynamic.upc.nl) (Ping timeout: 198 seconds)
L362[07:52:32] ⇦ Quits: AshIndigo (~AshIndigo@79-67-168-211.dynamic.dsl.as9105.com) (Read error: Connection reset by peer)
L363[07:52:34] ⇨ Joins: AshIndigo_ (~AshIndigo@79-67-168-211.dynamic.dsl.as9105.com)
L364[08:05:04] ⇦ Quits: Umbraco (~Umbraco@113x37x12x233.ap113.ftth.ucom.ne.jp) (Ping timeout: 384 seconds)
L365[08:05:10] ⇦ Quits: jackmcbarn (jackmcbarn@gateway.insomnia247.nl) (Ping timeout: 192 seconds)
L366[08:07:17] ⇨ Joins: jackmcbarn (jackmcbarn@gateway.insomnia247.nl)
L367[08:13:00] ⇦ Quits: maxanier (~maxanier@cable-89-16-153-148.cust.telecolumbus.net) (Ping timeout: 186 seconds)
L368[08:13:24] ⇦ Quits: agowa338 (~Thunderbi@p549180E5.dip0.t-ipconnect.de) (Quit: agowa338)
L369[08:13:57] ⇨ Joins: howtonotwin (~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net)
L370[08:14:28] ⇦ Quits: Dark (~MrDark@cpe-104-230-227-71.columbus.res.rr.com) (Read error: Connection reset by peer)
L371[08:16:49] *** Katie is now known as Caitlyn
L372[08:18:46] ⇨ Joins: Vigaro (~Vigaro@vigaro.tk)
L373[08:27:51] ⇨ Joins: Inusua1Z (~InusualZ@adsl-72-50-85-10.prtc.net)
L374[08:29:45] ⇦ Quits: InusualZ (~InusualZ@adsl-64-237-236-19.prtc.net) (Ping timeout: 206 seconds)
L375[08:33:16] ⇨ Joins: md678685 (~md678685@92.222.64.98)
L376[08:35:43] ⇨ Joins: TechnicianLP (~Technicia@p4FE5738E.dip0.t-ipconnect.de)
L377[08:37:08] <raoulvdberge> can anyone get the forge servers back up please lol
L378[08:39:33] <Eragonn1490> overriding isBlockOpque should make it so that you cant see through the world right?
L379[08:40:55] <howtonotwin> yes, I think
L380[08:41:08] <howtonotwin> those methods are too much of a mess to be completely sure though :P
L381[08:41:21] <Eragonn1490> whats the new method? :o
L382[08:41:33] <howtonotwin> there is no new method
L383[08:41:39] <howtonotwin> I mean all the isBlock* methods
L384[08:41:51] <howtonotwin> they're a mess, and they're badly named to boot
L385[08:42:00] ⇨ Joins: Emris (~Miranda@62.178.245.147)
L386[08:42:03] <ghz|afk> isOpaqueCube
L387[08:42:14] <ghz|afk> to prevent it from showing the inside of the world
L388[08:42:35] <ghz|afk> and isFullCube for lighting purposes
L389[08:43:03] ⇨ Joins: Dark (~MrDark@cpe-104-230-227-71.columbus.res.rr.com)
L390[08:43:21] <ghz|afk> or was it the other way around?
L391[08:43:34] ⇦ Quits: Dark (~MrDark@cpe-104-230-227-71.columbus.res.rr.com) (Client Quit)
L392[08:43:37] <ghz|afk> we need the real names for those methods, XD
L393[08:43:38] <howtonotwin> isOpaqueCube is for face culling
L394[08:43:45] <howtonotwin> so yes it's that one
L395[08:43:47] <ghz|afk> I'm certain they make more sense in mojang's codebase
L396[08:51:46] <barteks2x> somehow IDEA doesn't know the word "spliterator". And they claim to support java 8 :D
L397[08:52:17] <ghz|afk> "A new interface added to java.util is the Spliterator, which as the name implies, is a new special kind of Iterator that can traverse a Collection"
L398[08:52:18] <ghz|afk> NO
L399[08:52:22] <ghz|afk> it does NOT "imply" that
L400[08:52:23] <ghz|afk> at all
L401[08:52:42] <ghz|afk> how does "split" mean "traverse a collection"?
L402[08:53:53] <ghz|afk> I gues they mean the "iterator" part
L403[08:54:26] <ghz|afk> that sentence is so poorly written XD
L404[08:54:39] *** Keridos is now known as Keridos|away
L405[08:55:31] <ghz|afk> now something "The Spliterator is a new interface that makes it possible to both traverse a collection, and split off into other Spliterators, for partitioning"
L406[08:55:40] <ghz|afk> that'd be more accurate with what it seems to be doing
L407[09:03:05] ⇨ Joins: williewillus (~williewil@cpe-24-28-24-13.austin.res.rr.com)
L408[09:03:06] <barteks2x> Is there some class other than Minecraft Vec3i that I can use as general 3d int vector?
L409[09:03:19] <barteks2x> (that I don't need another library for)
L410[09:03:26] <williewillus> vecmath?
L411[09:03:36] <ghz|afk> I believe there's at least 3 separate vector libraries in mc
L412[09:03:49] <williewillus> anyhow, this is weird. does PlayerEvent.Clone not fire anymore when you travel using nether portals?
L413[09:03:54] ⇨ Joins: maxanier (~maxanier@cable-89-16-153-148.cust.telecolumbus.net)
L414[09:04:04] <williewillus> (or did it ever)
L415[09:04:05] <ghz|afk> uhm clone never fired for nether portals?
L416[09:04:09] <ghz|afk> only for returning from the end
L417[09:04:10] <ghz|afk> and dying
L418[09:04:22] <ghz|afk> normal nether traveling doesn't count as a respawn
L419[09:04:22] <barteks2x> indexing in progress... seriously IDEA?
L420[09:04:28] <williewillus> oh I asked the wrong question.
L421[09:04:51] <williewillus> the problem is: my caps are being cleared when going to the nether, but in the past I didn't have to do any work
L422[09:04:53] <williewillus> on that front
L423[09:05:01] <barteks2x> Vec3i is the inly int vector here
L424[09:05:11] <ghz|afk> ah
L425[09:05:15] <ghz|afk> that could be a bug/oversight
L426[09:05:17] <barteks2x> And I want int vector. Normally BlockPos would be good except of the name
L427[09:05:22] <barteks2x> because it's not always block position
L428[09:06:24] <ghz|afk> ah
L429[09:06:37] <ghz|afk> then yes, Vec3i is probably the only one
L430[09:09:33] ⇨ Joins: Shambling (~Shambling@24-181-186-74.dhcp.nwtn.ct.charter.com)
L431[09:09:56] <barteks2x> The problem with vec3i is that it's in minecraft code
L432[09:10:08] <barteks2x> so it can change at any time, be removed or whatever
L433[09:11:12] <ghz|afk> make your own? XD
L434[09:11:23] <ghz|afk> it takes only a few minutes to write such a class
L435[09:11:46] <barteks2x> I'm already writing code that was supposed to take ony a few minutes
L436[09:11:58] <barteks2x> and something that is really useful from blockPos: getAllInBox
L437[09:12:09] <Ordinastie> you know that doesn't really exist right ?
L438[09:12:25] <williewillus> wat
L439[09:12:30] <Ordinastie> code that takes only a few minutes
L440[09:12:30] <barteks2x> What doesn't exist?
L441[09:12:41] <barteks2x> ah yes
L442[09:13:21] <williewillus> i'm confused why my caps are lost on dim change .. at least clientside
L443[09:14:01] <Shambling> caps or capes?
L444[09:14:28] <williewillus> caps
L445[09:14:28] <Shambling> wasn't there something silly with electra not rendering if you're holding something in your hand or something equally weird?
L446[09:14:29] <williewillus> capabilities
L447[09:14:31] <Shambling> oh
L448[09:14:56] <williewillus> okay it seems to be clientside
L449[09:15:00] <Shambling> unneccessary garbage collection?
L450[09:15:29] <williewillus> no lol
L451[09:15:37] <Shambling> the wither is mocking you
L452[09:15:39] <williewillus> the gc won't just take random stuff you still need
L453[09:15:40] <Eragonn1490> ordi can you point me towards making a furnace like block with a single block? (not 2 like a furncace?)
L454[09:15:49] <williewillus> blockstates :P
L455[09:16:03] <Shambling> yeah but changing dimensions might flag it as garbage if its tied to something that minecraft frees up upon dimension change
L456[09:16:09] <Ordinastie> Eragonn1490, the ONLY reason why furnace is two block is because of lightValue
L457[09:16:14] <williewillus> did you read the rtd article I posted yesterday (I think it was to you)
L458[09:16:17] <williewillus> about blockstates
L459[09:16:25] <barteks2x> I'm trying to make something like this possible in terrain generation: http://pastebin.com/rCA0x8QZ
L460[09:16:31] <Ordinastie> the state dependant version is added by forge and doesn't exist in vanilla
L461[09:17:01] <Eragonn1490> oh?
L462[09:17:27] <TechnicianLP> didnt one have to copy over capabilitydata on changing dimensions?
L463[09:17:29] <williewillus> use blockstates lol
L464[09:17:37] <williewillus> add a boolean property ON or something
L465[09:17:46] <williewillus> TechnicianLP: no that was only returning from the end/on death
L466[09:17:59] <williewillus> normal nether portaling *should* copy everything for you
L467[09:18:07] <williewillus> and it seems to be, it's just lost clientside for osme reason
L468[09:18:53] <ghz|afk> I keep wondering why all the light/opacity/etc isn't just in the material
L469[09:19:03] <ghz|afk> and why not just simply have getMaterial(IBlockState) instead
L470[09:19:35] <Ordinastie> because bad code is bad ?
L471[09:20:01] <ghz|afk> in the toy engine I was coding
L472[09:20:14] <ghz|afk> I gave my blocks a RenderingMaterial and a PhysicsMaterial
L473[09:20:23] <ghz|afk> for defining the look & behaviour of the block
L474[09:20:24] ⇦ Quits: Alex_hawks (~Alex_hawk@2001:8003:858e:dd00:113e:eb30:8caf:51ee) (Read error: Connection reset by peer)
L475[09:21:02] ⇨ Joins: Alex_hawks (~Alex_hawk@2001:8003:858e:dd00:113e:eb30:8caf:51ee)
L476[09:25:00] <Shambling> weirdest thing I have seen since the introduction of json models in 1.8... I've yet to find a resource pack that actually adds the cool 3d torches and ladders :P
L477[09:25:13] <williewillus> default 3d
L478[09:26:07] <Ordinastie> hum? I have a some side effect in my code, I wonder if i should keep it
L479[09:26:08] <Shambling> maybe not the best pictures as examples... first thing I see is overly stylized workbench with unneccessary beveling everywhere lol
L480[09:26:21] <Ordinastie> getPickBlock can get you the "on" version of the switches
L481[09:26:43] <williewillus> Shambling: default 3d is "if it can be 3d'ed it's 3d'ed" :P
L482[09:26:55] <williewillus> I pick and choose specific models from it when I do use it
L483[09:27:06] <Shambling> yeah I'm thinking I might use it for torches and gut the rest
L484[09:27:13] <Shambling> 3d cobblestone? really? lol
L485[09:27:45] <Shambling> what is a legitimate resourcepack download site? it seems like there are 3000 of them for every real texture
L486[09:27:56] <Shambling> ah curse has it
L487[09:29:46] <ghz|afk> wasn't there some extras like cobblestone/stone/dirt/grass that didn't come as 3D by default?
L488[09:29:56] <williewillus> yeah they have a "lite" version
L489[09:30:05] <williewillus> without some 3d models for some of the super common blocks
L490[09:32:01] ⇦ Quits: KGS (~KGS@h-155-4-129-249.na.cust.bahnhof.se) (Quit: Leaving)
L491[09:33:27] <Shambling> this download site seems shady AF
L492[09:34:53] ⇦ Quits: VikeStep (~VikeStep@101.184.229.226) (Quit: Leaving)
L493[09:36:15] ⇨ Joins: Samario (~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net)
L494[09:39:13] <williewillus> wtf
L495[09:39:42] <williewillus> the cap data is going away even on death/respawn. and I explicitly resync it too
L496[09:43:50] <Ordinastie> hum, I realised there a bit of an annoyance with my component system...
L497[09:43:55] <Ordinastie> for example, I have that : http://puu.sh/sv7IC.png
L498[09:44:28] <Ordinastie> but the flow is, each component get the original state passed in
L499[09:44:50] <Ordinastie> so if any of them changes it, the following one don't get the current one
L500[09:45:40] <Ordinastie> it leads to that : http://puu.sh/sv7MG.png and it's meh :(
L501[09:49:54] <williewillus> oh what the fuck
L502[09:50:05] <williewillus> setDimensionAndSpawnPlayer recreatesd the EntityPlayerSP
L503[09:50:46] <williewillus> !gm setDimensionAndSpawnPlayer
L504[09:50:53] <williewillus> !gm setDimensionAndSpawnPlayer 1.9.4
L505[09:53:30] <barteks2x> Writing Iterator for something like getAllInBox is hard enough, writing one that does linear interpolation when scaling values as it goes is just close to impossible
L506[09:55:59] <williewillus> lol wow this logic is fucked
L507[09:56:27] <barteks2x> it's basically writing Iterator for ChunkProviderOverworld.setBlocksInChunk
L508[09:56:51] <barteks2x> (that one with 6 nested loops)
L509[09:58:05] <barteks2x> and after writing it I will also have to proably debug it
L510[09:58:12] <barteks2x> because there is no way it will work the first time
L511[09:58:17] <williewillus> every time you go through a portal the client first calls loadWorld to load the new world, then calls setDimensionAndSpawnPlayer. Thing is both of them spawn an EntityPlayerSP into the world...
L512[09:59:18] ⇨ Joins: Fye (~Fye@dynamic-adsl-84-221-215-62.clienti.tiscali.it)
L513[10:00:34] ⇨ Joins: Brokkoli (~Brokkoli@p2E5B1DD8.dip0.t-ipconnect.de)
L514[10:00:58] <williewillus> lol yeah setDimensionAndSpawnPlayer makes a completely useless new EntityPlayerSP
L515[10:01:37] <williewillus> wait no it's actually used
L516[10:01:48] <williewillus> it just forces the old entity id onto the new playerSP after it spawns it
L517[10:01:49] <williewillus> -.-
L518[10:02:07] <Shambling> barteks2x, you're trying to find out all entities/blocks in a box? I'm fairly sure psi has a reference to similar code in its library or main code if you want to look at an example. I know someone has done the linear interpolation as well recently on ftb reddit
L519[10:02:17] <williewillus> no idea why you would ever spawn the player in loadWorld though..
L520[10:02:18] <barteks2x> I'm writing worldgen code
L521[10:02:37] <barteks2x> The early worldgen code that deals with noise generators
L522[10:02:49] <Shambling> oh wait I remember where I saw it, was the botania fork williewillus did, saw it referenced by the tree leaf eating flower
L523[10:03:33] * barteks2x hopes it will work the first time
L524[10:03:45] <Shambling> I had a program like that once
L525[10:03:51] <Shambling> that worked the first time :P
L526[10:03:52] <williewillus> anyone have a 1.9 or 1.8 workspace handy
L527[10:04:01] <williewillus> and can look at a method def for me
L528[10:04:04] <barteks2x> I maybe have
L529[10:04:06] <barteks2x> let me check
L530[10:04:36] <williewillus> Minecraft.setDimensionAndSpawnPlayer does it call createClientPlayer or otherwise construct any additional EntityPlayerSP?
L531[10:06:02] <barteks2x> wait, what?
L532[10:06:12] <barteks2x> where in the methodit's supposed to be?
L533[10:06:47] <barteks2x> it calls this.playerController.func_178892_a
L534[10:07:09] <barteks2x> which is createClientPlayer
L535[10:07:33] <williewillus> hrm, and that's 1.9?
L536[10:07:39] <barteks2x> 1.8
L537[10:07:53] <barteks2x> I just happened to have workspace with it
L538[10:16:32] ⇦ Quits: Eragonn1490 (~eragonn14@2607:fb90:1b78:5611:88aa:ecc3:8237:64e2) (Ping timeout: 198 seconds)
L539[10:16:39] <Shambling> hey where do mods usually store their recipes for crafting?
L540[10:16:46] <Shambling> in the java source structure that is
L541[10:17:26] <barteks2x> as I know, you usually just add/register your recipes and then don't store gthem anywhere
L542[10:17:59] <barteks2x> but last time I attempted to do that was a long time ago
L543[10:18:56] <Shambling> I'm thinking this mod I'm trying to find a recipe for, doesn't have a recipe, as its in alpha I just saw
L544[10:19:03] ⇨ Joins: Eragonn1490 (~eragonn14@172.56.4.77)
L545[10:19:04] <Shambling> and searching the repo for addRecipe yields nada
L546[10:19:11] <Shambling> heck, searching for recipe yields 0
L547[10:19:50] <barteks2x> are you sure it has any recipes?
L548[10:21:07] <barteks2x> maybe search for addShapedRecipe?
L549[10:21:25] <barteks2x> (recipe may fidn nothing is upper/lower case matters
L550[10:24:09] ⇨ Joins: ThePsionic (~ThePsioni@ip5457f909.direct-adsl.nl)
L551[10:29:08] ⇦ Quits: Inusua1Z (~InusualZ@adsl-72-50-85-10.prtc.net) (Ping timeout: 206 seconds)
L552[10:29:16] ⇨ Joins: AshIndigo__ (~AshIndigo@188.29.165.75.threembb.co.uk)
L553[10:31:04] ⇦ Quits: AshIndigo_ (~AshIndigo@79-67-168-211.dynamic.dsl.as9105.com) (Ping timeout: 206 seconds)
L554[10:31:36] ⇨ Joins: McJty (~jorrit@94-225-196-91.access.telenet.be)
L555[10:33:37] <Shambling> I'm not sure if github search is case sensitive, but JEI also doesn't list a recipe. So I'm assuming its just because its an alpha
L556[10:33:52] ⇦ Quits: Artillect (webchat@mobile-107-77-227-137.mobile.att.net) (Ping timeout: 195 seconds)
L557[10:34:11] <barteks2x> it's github search, it either returns too much or too little, never what you want
L558[10:34:16] <Shambling> I played around with the mod a bit, its a bit like transvector interfaces from thaumcraft
L559[10:34:22] <Shambling> haha true enough
L560[10:36:17] <Shambling> lmao just realized that the link says "no crafting recipes included" right on the second line. Way to put it in an obvious place man :P
L561[10:36:24] ⇨ Joins: KnightMiner (~KnightMin@adsl-75-5-64-247.dsl.emhril.sbcglobal.net)
L562[10:37:32] <Shambling> I'm morbidly curious to see how torcherino would interact with a transvector interface
L563[10:39:02] <howtonotwin> probably not very interestingly, sadly
L564[10:39:04] <williewillus> it just gives it extra ticks
L565[10:39:10] <williewillus> i.e. calls update() more :P
L566[10:39:12] <howtonotwin> 2adverbial4me
L567[10:40:35] <Ordinastie> anybody sees a reason why GuiScreen mc, itemRender and fontRenderObj is set in setWorldAndResolution and not in constructor ?
L568[10:41:36] <barteks2x> oh god I just realized I'm writing anonyous class inside a method inside an anonymous class in default method of an interface
L569[10:41:59] <howtonotwin> my potato is so laggy it managed to split the redstone signal travelling in a repeater clock in two
L570[10:42:20] ⇦ Quits: Eragonn1490 (~eragonn14@172.56.4.77) (Ping timeout: 198 seconds)
L571[10:44:22] <barteks2x> this anonymous class is already almost 100 lines and it's nowhere near done
L572[10:44:40] <williewillus> just pull it into a real class then :P
L573[10:44:47] <barteks2x> when I'm done with it
L574[10:45:03] <howtonotwin> If you think you've nested too many anon classes you have not seen scala bytecode
L575[10:45:25] <Ordinastie> nobody want to see scala bytecode
L576[10:45:31] <howtonotwin> indeed
L577[10:45:33] <Ordinastie> hell, nobody wants to see scala code
L578[10:45:43] <barteks2x> it's the iterator that does scaling and linear interpolation...
L579[10:49:04] ⇦ Quits: AshIndigo__ (~AshIndigo@188.29.165.75.threembb.co.uk) (Quit: Bye)
L580[10:49:17] ⇨ Joins: AshIndigo_ (~AshIndigo@79-67-168-211.dynamic.dsl.as9105.com)
L581[10:49:58] ⇦ Quits: TechnicianLP2 (~Technicia@p4FE5738E.dip0.t-ipconnect.de) (Ping timeout: 384 seconds)
L582[10:58:16] <howtonotwin> So far as I can tell, Block::onEntityCollidedWithBlock is only called when the entity is actually INSIDE the grid space of the block, so in order to do something whenever an entity touches my block, I have to make the collision box a tiny bit smaller than a full block. Is that correct?
L583[10:59:02] <barteks2x> just test it?
L584[10:59:17] <howtonotwin> was wondering if there was another way
L585[10:59:35] ⇦ Quits: williewillus (~williewil@cpe-24-28-24-13.austin.res.rr.com) (Ping timeout: 206 seconds)
L586[10:59:43] <howtonotwin> but this is good enough if there isn't
L587[11:01:09] <barteks2x> something like this should probably be done by the entity itself if you had control over it, not block. But that may also be impossible.
L588[11:01:52] <barteks2x> how redstone ore blocks do ti?
L589[11:02:00] <barteks2x> or they don't?
L590[11:02:09] <barteks2x> I think they light up if you step on them
L591[11:02:14] <barteks2x> but I may remember it wrong
L592[11:03:05] <howtonotwin> only the top iirc
L593[11:03:15] <howtonotwin> they use onEntityWalk
L594[11:03:18] <howtonotwin> I need all 6 sides
L595[11:03:45] <barteks2x> I know cuchaz somehow did it for debug display in ships mod but he probably used asm
L596[11:03:56] <barteks2x> or made his own physics code
L597[11:05:01] *** amadornes is now known as amadornes[Streaming]
L598[11:05:18] <howtonotwin> Where's that method that takes a double and moves it down an ulp...
L599[11:05:22] ⇦ Quits: Shambling (~Shambling@24-181-186-74.dhcp.nwtn.ct.charter.com) (Quit: Leaving)
L600[11:06:38] <howtonotwin> there it is
L601[11:07:30] <barteks2x> it would probably also work if you took binary representation, incremented it and converted back to double
L602[11:07:39] <barteks2x> (at least for positive numbers it would work)
L603[11:09:28] <howtonotwin> That's Double.longBitsToDouble(Double.doubleToRawLongBits(d)+1) vs. Math.nextDown(d) xD
L604[11:09:36] <howtonotwin> *-1
L605[11:10:15] <barteks2x> which Math?
L606[11:10:49] <howtonotwin> java.lang.Math
L607[11:13:49] <barteks2x> any way to make this less nested? http://pastebin.com/5xNh9x07
L608[11:15:03] <howtonotwin> There's a monad in there somewhere... but I'm not smart enough to find it.
L609[11:16:16] <barteks2x> last time I tried to understand and explanation of what is monad, I came to conclusion that Biolder classes are monads, so not sure if I understood it right
L610[11:16:23] <barteks2x> *Builder
L611[11:16:33] <howtonotwin> lol
L612[11:16:47] <howtonotwin> Monad Tutorial Fallacy/Monad Curse
L613[11:17:05] <howtonotwin> The first one means that the more tutorials you read, the more confused you get
L614[11:17:21] <howtonotwin> the second one means that those who DO understand them can never explain them to anyone ever again
L615[11:18:15] <barteks2x> so it's not only me being stupid...
L616[11:18:16] <howtonotwin> The leap of abstraction needed to understand them is just too much.
L617[11:19:09] <howtonotwin> But really they are very neat
L618[11:19:22] <howtonotwin> but all the formal terminology also scares people away
L619[11:19:26] ⇦ Quits: maxanier (~maxanier@cable-89-16-153-148.cust.telecolumbus.net) (Ping timeout: 384 seconds)
L620[11:19:39] <howtonotwin> I presume you heard "type constructor" ">>=" "bind" "unit" and "pure"
L621[11:19:47] <barteks2x> maybe if I first learned haskell it would be easier to understand most explanations
L622[11:20:27] <howtonotwin> how many of those did you hear and how many of them confused you to heaven and hell? :P
L623[11:21:49] <barteks2x> I read about 6 so far and once I though I understood them, it seemed too simple (the explanation from wihch I deduced that builder classes are monads)
L624[11:21:58] <howtonotwin> yeah no that's off :P
L625[11:22:03] <howtonotwin> ok so answer me this
L626[11:22:09] <howtonotwin> what is "java.util.List"
L627[11:22:18] <howtonotwin> is it a type or is it something else
L628[11:22:28] <howtonotwin> (imagine raw types are demon spawn and do not exist)
L629[11:22:37] <barteks2x> "java.util.List" is a string :D but no seriously, it's a type
L630[11:22:44] <howtonotwin> WRONG!
L631[11:22:45] <howtonotwin> :P
L632[11:22:53] <howtonotwin> Can you have a value of type List?
L633[11:22:58] <howtonotwin> just List
L634[11:23:01] <howtonotwin> no type params
L635[11:23:14] <howtonotwin> (and no raw types)
L636[11:23:22] <barteks2x> ah, right didn't read that
L637[11:23:39] <barteks2x> then List itself... uh... that would be closer to template now
L638[11:23:45] <howtonotwin> correct
L639[11:23:51] <howtonotwin> we call that a type constructor
L640[11:23:59] <howtonotwin> (think of "type function")
L641[11:24:16] <howtonotwin> they are what funtions are to values to types
L642[11:24:19] <howtonotwin> *functions
L643[11:24:29] <howtonotwin> a function takes a value
L644[11:24:34] <howtonotwin> and it returns a new value
L645[11:24:40] <howtonotwin> a type constructor takes a type
L646[11:24:45] <howtonotwin> and returns a new type
L647[11:24:48] <howtonotwin> see?
L648[11:24:53] <howtonotwin> so "List" is not a type
L649[11:24:54] <barteks2x> yes, so far I understand it
L650[11:25:03] <howtonotwin> If you give it a parameter, say "String"
L651[11:25:11] <howtonotwin> NOW, "List<String>" is a type
L652[11:25:18] <howtonotwin> Now monads are never concrete types
L653[11:25:27] <howtonotwin> like "List<String>"
L654[11:25:44] <howtonotwin> they are type constructors
L655[11:25:45] <howtonotwin> always
L656[11:25:50] <howtonotwin> they have kind (* -> *)
L657[11:26:09] <howtonotwin> which means they take a concrete type as input and return a new concrete type
L658[11:26:16] <howtonotwin> (kinds are like type types)
L659[11:27:07] <howtonotwin> so a monad simply is a type constructor of kind (* -> *) (which we have so far explained) with two functions associated with it
L660[11:27:30] <howtonotwin> the first function we call "return" "pure" or "unit"
L661[11:27:52] <howtonotwin> "return" is specific to monads
L662[11:28:09] <howtonotwin> "pure" is actually from applicative functors (forget about them now :P)
L663[11:28:15] <howtonotwin> idk where "unit" is from
L664[11:28:55] <howtonotwin> so unit takes a value of any type T, and it returns a value of type "M<T>"
L665[11:29:06] <howtonotwin> so <T> M<T> unit(T t)
L666[11:29:11] <barteks2x> and what is M?
L667[11:29:14] <howtonotwin> where M is the type constructor of the monad
L668[11:29:19] <howtonotwin> so List is a monad
L669[11:29:32] <howtonotwin> erm
L670[11:29:36] <howtonotwin> forget that sentence :P
L671[11:29:43] <howtonotwin> the second is "bind"
L672[11:29:52] <howtonotwin> in haskell it's called >>=
L673[11:30:04] <howtonotwin> in scala it's called "flatMap"
L674[11:30:14] <howtonotwin> for you
L675[11:30:16] <howtonotwin> coming from Java
L676[11:30:18] <barteks2x> is it related in any way to Streams?
L677[11:30:28] <howtonotwin> it's easiest to think of it as being called "flatMap" (for now)
L678[11:30:30] <howtonotwin> yes actually
L679[11:30:37] <howtonotwin> all the collection classes are monads
L680[11:31:00] <howtonotwin> so flatMap has this type
L681[11:31:55] <howtonotwin> <I, O> M<O> flatMap(Function<I, M<O>> function, M<I> monadic)
L682[11:32:06] <howtonotwin> think of it like this
L683[11:32:19] <howtonotwin> it "unwraps" a value of I from a value of M<I>
L684[11:32:28] ⇦ Quits: Reika (~Reika@reika.kalseki.mods.abrarsyed.com) (Ping timeout: 384 seconds)
L685[11:32:34] <howtonotwin> passes it into a function that takes I and returns M<O>
L686[11:32:39] <howtonotwin> and then returns M<O>
L687[11:32:58] <howtonotwin> now this sentence: "it 'unwraps' a value of I from a value of M<I>"
L688[11:32:58] ⇨ Joins: Reika (~Reika@reika.kalseki.mods.abrarsyed.com)
L689[11:33:04] <howtonotwin> you'll have to forget it
L690[11:33:06] <howtonotwin> eventually
L691[11:33:10] <howtonotwin> monads are very abstract
L692[11:33:18] <howtonotwin> some of them just do not work that way
L693[11:33:26] <howtonotwin> but for now it's okish
L694[11:33:34] <barteks2x> but.. ifit's M<I> how it becomes M<O>?
L695[11:33:34] ⇨ Joins: Hgreb (~Hgrebnedn@ptr-2hj4tbppx785m70ryu6wwl7a5.ip6.access.telenet.be)
L696[11:33:47] <howtonotwin> you have a function I => M<O>
L697[11:33:52] <howtonotwin> it's one of the parameters
L698[11:33:54] <howtonotwin> BUT
L699[11:34:00] <howtonotwin> here's another way to think of it
L700[11:34:05] <howtonotwin> currying
L701[11:34:15] <howtonotwin> lemme drop into a bit of haskell
L702[11:34:21] <barteks2x> that's something I remember from some page that talked about javascript
L703[11:34:26] <barteks2x> (the currying)
L704[11:34:44] ⇦ Quits: Necro (~Necro@p200300700D64169138FA35666DE2B74E.dip0.t-ipconnect.de) (Ping timeout: 384 seconds)
L705[11:34:46] <howtonotwin> (>>=) :: i -> m o -> m i -> m o
L706[11:34:54] <howtonotwin> that's the signature from above
L707[11:35:01] <howtonotwin> m o means M<O>
L708[11:35:12] <howtonotwin> but -> is right associative
L709[11:35:15] <howtonotwin> so this is equal to
L710[11:35:32] <howtonotwin> (>>=) :: (i -> m o) -> (m i -> m o)
L711[11:35:36] ⇨ Joins: maxanier (~maxanier@cable-89-16-153-148.cust.telecolumbus.net)
L712[11:35:40] ⇦ Quits: maxanier (~maxanier@cable-89-16-153-148.cust.telecolumbus.net) (Client Quit)
L713[11:35:42] <howtonotwin> it "lifts" a function
L714[11:35:45] <howtonotwin> it makes it smarter
L715[11:35:55] <howtonotwin> instead of just taking inputs of I and returning M<O>
L716[11:35:56] <barteks2x> at this point I'm getting lost
L717[11:35:59] ⇨ Joins: Necro (~Necro@p200300700D6416214DC9623574501AAF.dip0.t-ipconnect.de)
L718[11:36:07] <howtonotwin> it takes the entire M<I> and returns M<O>
L719[11:36:14] <howtonotwin> ok what's the last thing you got?
L720[11:36:49] <Ordinastie> that people who understand monads can't explain them
L721[11:36:54] <barteks2x> right before you started talking in haskell (that (>>=) :: i -> m o -> m i -> m o)
L722[11:37:10] <barteks2x> the signature I kind of understand
L723[11:37:13] <howtonotwin> that's not completely required to get :P
L724[11:37:19] <howtonotwin> if you don't get it it's fine
L725[11:37:32] <ghz|afk> the problem with monads, is the concept of monad
L726[11:37:34] <howtonotwin> and that's it
L727[11:37:45] <howtonotwin> A monad is a type constructor with kind (* -> *)
L728[11:37:50] <ghz|afk> you could do exactly the same with the same purpose and the same rules
L729[11:37:50] <howtonotwin> and it has two functions attached to it
L730[11:37:53] <ghz|afk> and explain in differently
L731[11:37:57] <howtonotwin> <T> M<T> unit(T t)
L732[11:37:57] <ghz|afk> and it would be easier to "get"
L733[11:38:02] <howtonotwin> <I, O> M<O> flatMap(Function<I, M<O>> function, M<I> monadic)
L734[11:38:16] <howtonotwin> there is no more and no less
L735[11:38:25] <howtonotwin> but you ask "why is this useful?"
L736[11:38:38] <barteks2x> that would be next question
L737[11:38:40] <howtonotwin> and it's because it's a pattern that's everywhere
L738[11:38:49] <ghz|afk> monads are a copnsequence of functional programming
L739[11:39:01] <ghz|afk> they aren't useful outside functional programming
L740[11:39:05] <howtonotwin> In imperative code they're harder to spot
L741[11:39:14] <howtonotwin> but they do exist
L742[11:39:16] ⇦ Quits: Hgrebnednav (~Hgrebnedn@ptr-2hj4tbppx785m70ryu6wwl7a5.ip6.access.telenet.be) (Ping timeout: 384 seconds)
L743[11:39:29] <howtonotwin> and yes they are an artifact of functional programming :P
L744[11:39:42] ⇦ Quits: Fye (~Fye@dynamic-adsl-84-221-215-62.clienti.tiscali.it) (Ping timeout: 206 seconds)
L745[11:39:43] <howtonotwin> but you can take ideas from them and translate them into imperative code
L746[11:39:49] <ghz|afk> yes
L747[11:40:16] <howtonotwin> so let's start with a familiar monad
L748[11:40:18] <howtonotwin> List
L749[11:40:18] <ghz|afk> but they are meaningless unless you are programming with immutable data and code without side-effects
L750[11:40:35] <ghz|afk> if you lift those two restrictions, it's just a wrapper
L751[11:40:35] <howtonotwin> not really...
L752[11:40:56] <howtonotwin> they do have uses outside of that :P
L753[11:40:59] <ghz|afk> a thing that takes things and can apply an operation to those things in order to conver them into another thing
L754[11:41:07] <howtonotwin> they make code much prettier
L755[11:41:39] <howtonotwin> and they're less of a mess to maintain
L756[11:41:47] <howtonotwin> anyway
L757[11:41:50] <howtonotwin> List as a monad
L758[11:42:05] <howtonotwin> List already has flatMap
L759[11:42:24] <howtonotwin> The return function is the singleton list
L760[11:42:38] <howtonotwin> but that's not very interesting, is it?
L761[11:42:45] <howtonotwin> another one
L762[11:42:55] <barteks2x> where it has flatMap?
L763[11:42:59] <howtonotwin> Maybe/Option/Optional/whatever name it's wearing today
L764[11:43:09] <howtonotwin> It's not on List directly bc Java
L765[11:43:18] <howtonotwin> but you can call .stream().flatMap
L766[11:43:27] <howtonotwin> and then turn it back into a list
L767[11:43:38] <howtonotwin> so for all intents and purposes it does
L768[11:44:10] <howtonotwin> Optional (as you know) is wrapper that contains or doesn't contain a value
L769[11:44:20] <barteks2x> yes, Sponge uses it everywhere
L770[11:44:41] <howtonotwin> return is now the function that takes a value and returns a Optional with a value insie
L771[11:44:44] <howtonotwin> *inside
L772[11:44:51] <howtonotwin> flatMap is a bit more complicated now
L773[11:45:36] <howtonotwin> Now, if a value does exist, it gets passed to the function passed to flatMap, which returns a new Optional
L774[11:46:01] <howtonotwin> If it doesn't, it bails out and the value continues to not exist
L775[11:46:26] <howtonotwin> so now Optional embodies an entire pattern of code
L776[11:46:57] <howtonotwin> in java it embodies the pattern if(x != null) { return f(x); } else return null;
L777[11:47:15] <howtonotwin> ok, so that's nice
L778[11:47:28] <howtonotwin> but you may as well write that out manually yourself anyway
L779[11:47:36] <howtonotwin> no point in all this fancy crap
L780[11:47:49] <howtonotwin> (though Option would be easier to maintain imo)
L781[11:47:59] <howtonotwin> So let's move on
L782[11:48:06] <howtonotwin> A new monad, Futures
L783[11:48:13] <barteks2x> so far I understand it
L784[11:52:57] * howtonotwin is dumb
L785[11:53:10] <howtonotwin> I thought you said "so far AS I understand it"
L786[11:53:19] <howtonotwin> and I was waiting for you to say something
L787[11:53:27] <howtonotwin> continuing on
L788[11:53:40] <howtonotwin> You know what Future is, right?
L789[11:53:43] <barteks2x> yes
L790[11:54:16] <howtonotwin> So return for Futures just wraps the value in a little wrapper and does nothing
L791[11:54:44] <howtonotwin> Future has other functions attached to it that actually deal with the threads
L792[11:54:50] <howtonotwin> "return" is just a dummy
L793[11:55:06] <howtonotwin> flatMap is more interesting
L794[11:55:12] <barteks2x> and what would be the java equivalent of the return function there in java?
L795[11:55:16] <howtonotwin> it also doesn't anything special
L796[11:56:20] <howtonotwin> return for Futures in java would be something stupid, like "return new Future() { private final T value = t };"
L797[11:56:32] <howtonotwin> It just wraps the value in a box
L798[11:56:36] <howtonotwin> it doesn't do anything
L799[11:56:47] <howtonotwin> (nothing useful, that is)
L800[11:56:58] <howtonotwin> and flatMap isn't very special either
L801[11:57:25] <howtonotwin> because it just applies a function to the value inside the Future
L802[11:57:28] <howtonotwin> BUT
L803[11:57:50] <howtonotwin> Future itself embodies asynchronicity
L804[11:58:02] <howtonotwin> (my spellchecker disagrees with that word)
L805[11:58:39] ⇦ Quits: sciguyryan (~sciguyrya@45.62.37.30) (Remote host closed the connection)
L806[11:58:53] <barteks2x> I also disagree with existance of that word, but let's say it exists
L807[11:59:04] <howtonotwin> flatMap now takes a function and lets you pass it a value asychronously
L808[11:59:13] <ghz|afk> words are fluids
L809[11:59:21] <ghz|afk> dictionaries are cages trying to keep them fixed
L810[11:59:30] <howtonotwin> Say I have a function doAThing(Thing t)
L811[11:59:51] <howtonotwin> *OtherThing doAThing(Thing t)
L812[12:00:09] <howtonotwin> *Future<OtherThing> doAThing(Thing t)
L813[12:00:14] <howtonotwin> there :P
L814[12:00:23] <howtonotwin> and a Future<Thing>
L815[12:00:47] <howtonotwin> doAThing requires a Thing before it can run
L816[12:00:58] ⇦ Quits: Delaxarnyazer (~Delaxarny@2a02:a44e:91ce:0:80dc:7855:5421:3308) (Ping timeout: 206 seconds)
L817[12:01:06] <howtonotwin> you can't just give it an IOU that says "eventually I will give you a Thing"
L818[12:01:14] <howtonotwin> It wants the Thing right now!
L819[12:01:29] <howtonotwin> so you use flatMap on Future to shut it up
L820[12:01:44] <howtonotwin> when the future finishes, then it passes the value into doAThing
L821[12:02:19] <howtonotwin> "but," you say, "doAThing needs to also return a Future! That makes it less flexible."
L822[12:02:35] <howtonotwin> as you can't just take any old function and make it async
L823[12:02:46] <howtonotwin> but, actually, you can
L824[12:02:54] ⇨ Joins: Delaxarnyazer (~Delaxarny@2a02:a44e:91ce:0:80dc:7855:5421:3308)
L825[12:03:21] <howtonotwin> remember that all Future has return
L826[12:03:24] <barteks2x> you can as long as it doesn't modify any state
L827[12:03:36] <howtonotwin> *any old pure function
L828[12:04:02] <barteks2x> I just realized I will be able to make worldgen kind of multithreaded. At least part of it
L829[12:04:04] <howtonotwin> you can take the output of the function, and pass it to return
L830[12:04:36] <howtonotwin> So return can be used to turn any old function A => B into A => Monad<B>
L831[12:05:13] <howtonotwin> and flatMap turns any function A => Monad<B> into Monad<A> => Monad<B>
L832[12:05:24] <howtonotwin> so by combining them you can take any function and make it async
L833[12:05:33] <howtonotwin> for Future
L834[12:05:58] <howtonotwin> and before I punch more holes into my own words and prove the tutorial fallacy/monad curse
L835[12:06:03] <howtonotwin> (and waste your time)
L836[12:06:13] <howtonotwin> Fin.
L837[12:06:32] <barteks2x> I think you just disproved it
L838[12:07:03] <howtonotwin> It worked!?!?!
L839[12:07:10] * howtonotwin dies of surprise
L840[12:07:28] <howtonotwin> of course my explanation is on the crappy side
L841[12:07:43] <howtonotwin> I probably missed a crapton along the way
L842[12:07:54] <howtonotwin> anyway I should get going
L843[12:07:59] <howtonotwin> Good luck
L844[12:08:01] <barteks2x> it's enough for me to understand what people are talking about when they say ":monad"
L845[12:08:12] ⇦ Quits: howtonotwin (~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net) (Quit: Pop!)
L846[12:08:34] <sham1> You guys know what is really cool?
L847[12:08:53] <sham1> KVM
L848[12:10:29] <ghz|afk> why?
L849[12:10:52] <sham1> Because VMs that I can pass my GPU to
L850[12:13:30] *** diesieben|away is now known as diesieben07
L851[12:19:44] ⇨ Joins: Girafi (Girafi@0x555178eb.adsl.cybercity.dk)
L852[12:20:51] ⇨ Joins: agowa338 (~Thunderbi@p549180E5.dip0.t-ipconnect.de)
L853[12:21:52] ⇨ Joins: KGS (~KGS@h-155-4-129-249.na.cust.bahnhof.se)
L854[12:22:22] ⇨ Joins: Fye (~Fye@dynamic-adsl-84-221-215-62.clienti.tiscali.it)
L855[12:24:46] <diesieben07> mezz, if you are here, this should be faster for discussion than Github :D
L856[12:25:08] <diesieben07> do you think I should be deprecating the direct accessor for the List in FurnaceRecipes? because there is no way to keep that map up to date with the new recipes
L857[12:26:55] <mezz> yeah getSmeltingList needs to be redirecting people to your replacement
L858[12:27:11] <diesieben07> Ok. as for the hashing, it does actualyl take wildcards into account
L859[12:27:17] <diesieben07> since getExperience in the registry checks both
L860[12:27:33] <diesieben07> but if you want i'll just use FurnaceRecipes as the backend
L861[12:28:00] <mezz> it's not something that gets hammered 100 times a tick so I think you should keep it simple
L862[12:28:10] *** PaleOff is now known as PaleoCrafter
L863[12:28:20] <mezz> it's only checked when you pull an item out of a furnace by hand
L864[12:29:21] <diesieben07> ok then :)
L865[12:29:42] <diesieben07> although there are probably machines that grab the XP
L866[12:29:44] <diesieben07> but oh well
L867[12:30:07] <mezz> for (SmeltingRecipe recipe : recipes) if (recipe.matches(input)) return recipe;
L868[12:30:14] <mezz> if anything, that'll be the slow point heh
L869[12:31:23] *** Mine|dreamland is now known as minecreatr
L870[12:31:52] <mezz> one last thing, can you add getters for the inputs and outputs of the smelting implementations you have? it will mean I don't need reflection in JEI to get the values for displaying the recipes
L871[12:32:23] <ghz|afk> That'd be nice for mods like ProjectE
L872[12:32:25] <ghz|afk> or my magic mod
L873[12:32:29] <diesieben07> uh, sure i can do that
L874[12:32:35] <ghz|afk> that compute "equivalences" basedon input->output
L875[12:32:41] <mezz> yeah
L876[12:32:54] <diesieben07> another question... @Deprecated tags in vanilla patches: javadocs yes or no?
L877[12:33:04] <sham1> maybe
L878[12:33:20] <diesieben07> or just a "// go to SmeltingRecipeRegistry" style comment
L879[12:33:36] <ghz|afk> IMO, anything forge deprecates should have at least a comment explaining why
L880[12:33:44] <ghz|afk> or at least pointingto the explanation
L881[12:33:46] <mezz> just leave a comment if it's in a patch
L882[12:33:58] <mezz> so it can be one line
L883[12:34:09] <mezz> if you link to stuff with a javadoc in one line it's going to be reaaally long
L884[12:34:33] <ghz|afk> I'd go for "// Use the new recipe registry. See SmeltingRecipeRegistry" or something along those lines
L885[12:34:45] <mezz> yep
L886[12:35:27] <mezz> I guess it could be "@Deprecated /** see {@link net.minecraftforge.common.smelting.SmeltingRecipeRegistry} **/" ?
L887[12:35:52] <mezz> as long as the link is to forge code it should always work, the only problem is linking to obfuscated code
L888[12:36:31] <mezz> I dunno. as long as there's some explanation it's probably good
L889[12:36:48] ⇨ Joins: RichardG (~richardg8@201.37.255.130)
L890[12:36:48] MineBot sets mode: +v on RichardG
L891[12:39:35] <diesieben07> ok i'll do that then
L892[12:41:53] <diesieben07> oh another question... there is this existing patch for duplicate recipes
L893[12:42:05] <diesieben07> really that should be throwing an exceptino or at least a big warning...
L894[12:42:11] <diesieben07> or do you wnat me to keep it as is?
L895[12:45:52] <mezz> with recipes it's kind of whoever's there first wins
L896[12:46:04] <diesieben07> i know
L897[12:46:16] <mezz> you could log an error but so far there has never been feedback
L898[12:46:20] <diesieben07> Ok
L899[12:46:45] <diesieben07> well, with recipes i can't really do it anyways
L900[12:46:58] <diesieben07> my questino was simply if the existing FML patch can now be removed
L901[12:47:22] <mezz> ok I haven't looked at it, one sec
L902[12:48:49] <mezz> yeah keep it as-is. maybe forge can be made stricter about recipes but I think it's a separate issue
L903[12:49:15] <diesieben07> ok
L904[12:55:32] ⇨ Joins: howtonotwin (~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net)
L905[12:58:48] <PaleoCrafter> do we have any linguists specialising in Germanic/Scandinavian languages here? :D
L906[13:02:33] ⇦ Quits: ThePsionic (~ThePsioni@ip5457f909.direct-adsl.nl) (Quit: Leaving)
L907[13:05:51] <raoulvdberge> what happened to Slot#onPickupFromSlot?
L908[13:07:33] <diesieben07> seems to be func_190901_a now
L909[13:08:16] <raoulvdberge> !gm func_190901_a
L910[13:08:24] <raoulvdberge> ty
L911[13:12:33] ⇨ Joins: Gil (uid147942@id-147942.brockwell.irccloud.com)
L912[13:13:19] <mezz> hm diesieben07 it looks like Item.getSmeltingExperience is useless now, can you deprecate or remove it? I'm not sure which choice is best
L913[13:13:27] <Gil> blugh, Ex Nihilo Omnia has a bunch of bugs apparently
L914[13:13:32] <Gil> my users are complaining
L915[13:14:09] <diesieben07> is it useless though? it can be used to set the experience for recipes that are not yours but output your item
L916[13:14:35] <AshIndigo_> Woah mezz is official forge member!
L917[13:14:45] <mezz> if I am reading your patch correctly, you removed support for it
L918[13:15:08] <diesieben07> that is an error then
L919[13:15:19] <mezz> ok https://github.com/MinecraftForge/MinecraftForge/pull/3450/files#diff-e621b2758eab235da59377610cf8f1c7L15
L920[13:15:27] <diesieben07> yeah you are right i forgot to restore the patch
L921[13:15:33] <diesieben07> should i?
L922[13:16:07] <mezz> I feel like Item.getSmeltingExperience is no longer useful with your new system
L923[13:16:24] <diesieben07> Ok
L924[13:16:35] <diesieben07> I will deprecate it then but still keep the patch. Or should I just kill it?
L925[13:16:50] <diesieben07> i am not sure how binary compatible we are trying to be with 1.11
L926[13:16:59] <mezz> just kill it, Forge is still early
L927[13:17:03] <diesieben07> Ok
L928[13:19:25] ⇨ Joins: Ipsis (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk)
L929[13:21:28] <mezz> oh another thing I thought of, every interface in forge starts with I
L930[13:21:51] <diesieben07> oh yeah, that stupid convention
L931[13:21:53] <mezz> it seems to be that way consistently
L932[13:21:55] <diesieben07> are you going ot make me follow it? :D
L933[13:21:59] <mezz> yeah
L934[13:22:07] * diesieben07 grumps
L935[13:22:10] ⇦ Quits: Delaxarnyazer (~Delaxarny@2a02:a44e:91ce:0:80dc:7855:5421:3308) (Ping timeout: 206 seconds)
L936[13:22:17] <mezz> it's just how it is *shrugs*
L937[13:22:36] <mezz> I like tabs over spaces too but consistency is more important heh
L938[13:22:55] <diesieben07> i know, it's just so 1994 :D
L939[13:24:30] <diesieben07> done :)
L940[13:24:31] ⇨ Joins: Delaxarnyazer (~Delaxarny@2a02:a44e:91ce:0:80dc:7855:5421:3308)
L941[13:25:13] <diesieben07> wat i broke some patches... hold on
L942[13:25:56] <diesieben07> oh no i didn't.
L943[13:26:07] <mezz> yeah it's fine, patches are just confusing
L944[13:26:10] <diesieben07> yeah :D
L945[13:26:17] <mezz> took me a second to see what was going on too
L946[13:26:19] <ghz|afk> patch-patches are confusing
L947[13:26:26] <ghz|afk> or patch-diffs
L948[13:26:30] <ghz|afk> whatever you wanna call them
L949[13:26:30] <ghz|afk> XD
L950[13:27:56] <mezz> some of your javadoc links are now broken from renaming things
L951[13:28:40] <diesieben07> fuck my life haha
L952[13:28:55] <AshIndigo_> Fml
L953[13:28:59] <AshIndigo_> Forge mod loader
L954[13:29:36] <ghz|afk> Forge my Life
L955[13:30:35] <mezz> the @Nonnull annotation on OreSmeltingRecipe.getInputStacks() is indented one space too far :D
L956[13:31:04] <diesieben07> that's what i get for normally coding with auto-formatting on...
L957[13:31:23] <diesieben07> Not sure which javadocs you are talking about though, i found one
L958[13:31:54] <mezz> I just saw one that was missing the I on front
L959[13:32:04] <diesieben07> Ah ok i found that one
L960[13:32:07] <diesieben07> anything else?
L961[13:32:11] <mezz> nope
L962[13:32:21] <diesieben07> cool
L963[13:33:16] <diesieben07> fixed
L964[13:34:08] <ghz|afk> yay ^_^
L965[13:34:10] <ghz|afk> so
L966[13:34:14] <ghz|afk> this talk about Pr reminded me of
L967[13:34:15] <ghz|afk> https://github.com/MinecraftForge/MinecraftForge/pull/3306
L968[13:34:37] <ghz|afk> I'm undecided about what to do with it
L969[13:35:00] <ghz|afk> ultimately, I believe the automation interface and the GUI interface don't belong in one place
L970[13:35:21] <diesieben07> ghz well, for a start I don't know why these methods need to be container-exclusive
L971[13:35:27] <diesieben07> they sound useful for other things too
L972[13:35:37] <diesieben07> AND getInventoryStackLimit is a terrible name :D
L973[13:35:46] <ghz|afk> yes, but it was the name used in the old IInventory
L974[13:35:49] <ghz|afk> that's why I used it
L975[13:35:51] <diesieben07> i know
L976[13:36:21] <Gil> blugh, I switched from Ex Nihilo Adscensio, which had some issues, to Ex Nihilo Omnia and there's even more issues
L977[13:36:24] <Gil> this sucks
L978[13:36:32] <ghz|afk> anyhow, IMO, there should have been multiple interfaces
L979[13:36:34] <ghz|afk> IInventoryAutomation, with insert/extract
L980[13:36:43] <diesieben07> So ... apparently forge now requires java 8, because it ships wiht mercurious
L981[13:36:46] <diesieben07> -o
L982[13:36:46] <ghz|afk> and no "slot" in them
L983[13:36:53] <Gil> I really don't feel like digging into the code
L984[13:36:55] <PaleoCrafter> it does indeed, diesieben07 :P
L985[13:37:02] * diesieben07 dances happily
L986[13:37:09] <mezz> mercurious is java 8? sounds like a mistake
L987[13:37:11] <Gil> diesieben07: it's 2016, people should be on 8
L988[13:37:16] <ghz|afk> IInventoryAccess, with size/get/set
L989[13:37:24] <diesieben07> mezz, http://www.minecraftforge.net/forum/index.php?topic=43596.0
L990[13:37:32] <diesieben07> Gil, oh i know, that's why I am happy.
L991[13:37:44] <mezz> from what I understand, forge is waiting for vanilla to do java 8
L992[13:37:52] <PaleoCrafter> cpw also said that we would move to 8 anyways, not sure if it was due to Mercurius though
L993[13:38:10] <ghz|afk> the idea is, I believe
L994[13:38:13] ⇨ Joins: Artillect_ (~Artillect@166.170.45.49)
L995[13:38:15] <ghz|afk> as soon as mojang makes mc java8
L996[13:38:17] <ghz|afk> forge will, too
L997[13:38:18] <diesieben07> yeah cp w's new FML stuff uses java 8
L998[13:38:45] ⇦ Quits: McJty (~jorrit@94-225-196-91.access.telenet.be) (Quit: Leaving)
L999[13:38:49] <Gil> good
L1000[13:39:00] <Artillect_> So, for some reason, I can't set the max stack size for an item
L1001[13:39:02] <Gil> I remember having to support Java 5
L1002[13:39:05] <Gil> bluh
L1003[13:39:17] <ghz|afk> Gil: all my mods are compiled for ajva8, already
L1004[13:39:23] <Gil> good plan
L1005[13:39:45] <Gil> I just released my first new thing in a while and instantly remembered why I didn't release shit anymore
L1006[13:39:50] <Gil> tech support is a nightmare
L1007[13:39:56] <ghz|afk> heh
L1008[13:40:01] <Gil> "but I downloaded it from Curse"
L1009[13:40:06] <PaleoCrafter> https://gfycat.com/RewardingIncomparableBernesemountaindog tried the simple triangles as sparks approach some suggested, what do you guys think? :P
L1010[13:40:14] <Gil> did you install it with Curse Launcher or CMPDL?
L1011[13:40:18] <Gil> "what's that"
L1012[13:40:38] <Artillect_> I think the triangles need a bit more velocity
L1013[13:40:42] <ghz|afk> PaleoCrafter: they move too slowly
L1014[13:40:55] <Gil> that was AFTER an hour of painfully trying to get him as far as he got
L1015[13:40:55] <ghz|afk> and they should be stars, or at least equilateral
L1016[13:41:06] <Artillect_> Maybe add more and make them a bit smaller
L1017[13:41:16] <ghz|afk> and yeah, too big ;P
L1018[13:41:30] ⇦ Quits: Hotdog_Daddy_Away (~Cast0077@24-181-179-41.dhcp.nwtn.ct.charter.com) (Quit: Poof)
L1019[13:41:35] *** Keridos|away is now known as Keridos
L1020[13:42:00] <PaleoCrafter> I would've made them equilateral, but Synfig is stupid and doesn't actually seem to have a triangle primitive and I didn't want to export them from somewhere else xD
L1021[13:42:12] <Artillect_> Can anyone help me with a problem setting max stack size?
L1022[13:42:21] <Artillect_> I think having them irregular looks fine
L1023[13:42:25] ⇨ Joins: Shambling (~Joseph@24-181-186-74.dhcp.nwtn.ct.charter.com)
L1024[13:42:34] <ghz|afk> Artillect_: what's the problem?
L1025[13:43:41] <Gil> I assume no one here knows the Ex Nihilo Omnia author? Jozufozu on GitHub
L1026[13:44:07] <Artillect_> ghz|afk: I've created an item with "this.setMaxStackSize(1)" in the super (so that it overrides my base item class) but it won't set the max stack size to 1, it stays at 64
L1027[13:44:25] <ghz|afk> can you show your code?
L1028[13:44:34] <ghz|afk> (the two classes)
L1029[13:44:35] <Artillect_> sure, I'll paste it
L1030[13:46:04] <Artillect_> http://paste.feed-the-beast.com/view/fc08d399 - the ItemVoltimeter class
L1031[13:46:22] <Shambling> say I wanted to change how pumpkins are placed in the world, by replacing the part that checks if its placable with normal block behavior, do I just override the original pumpkin block and override the placement code with placement code that doesn't check underneath the pumpkin?
L1032[13:46:37] <diesieben07> Shambling, PlayerInteractEvent sounds appropriate
L1033[13:46:44] <Artillect_> http://paste.feed-the-beast.com/view/8a12af88 - the ItemBase class
L1034[13:47:11] <Shambling> that is a forge command that can override the default vanilla block behavior? I'll go read up on that
L1035[13:47:18] <diesieben07> no that is an event.
L1036[13:47:48] <diesieben07> Artillect_, how do you notice it still is 64? and where do you use this ItemVoltimeter class?
L1037[13:48:29] <ghz|afk> side-note: setRegistryName(Voltaics.modId+":"+name);
L1038[13:48:33] <ghz|afk> you don't need the modid in setRegistryName
L1039[13:48:36] <diesieben07> also you don't need to override the deprecated versions of the container item methods
L1040[13:48:38] <ghz|afk> it will default to the current mod's modid
L1041[13:48:57] <Artillect_> When I run the mod through eclipse, in MC it stacks to 64. To load this, I've essentially "stolen" Embers's item code and loaded them with a registry of sorts
L1042[13:49:18] <Artillect_> it seems like a standard ModItems class (the RegistryManager class) but feels better to me
L1043[13:49:26] <Artillect_> I'll fix all of that yeah
L1044[13:49:52] <ghz|afk> are you actually using "new ItemVoltimeter()" in your registration code?
L1045[13:50:48] <Shambling> ok I get it, if the player interacts in a way with the world somehow, do something. So I could use that to place a pumpkin without modifying underlying vanilla code
L1046[13:51:02] <Shambling> always thought it silly that you couldn't place pumpkins unless there was something under them.
L1047[13:51:37] <Artillect_> ghz|afk yeah
L1048[13:52:00] <Artillect_> the line is "items.add(voltimeter = new ItemBase("voltimeter",true));
L1049[13:52:00] <Artillect_> "
L1050[13:52:13] <ghz|afk> that is NOT "new Itemvoltimeter" is it?
L1051[13:53:33] <Artillect_> I think that would become new ItemVoltimeter
L1052[13:53:39] <diesieben07> wat
L1053[13:53:42] <diesieben07> that's not how java works.
L1054[13:53:42] <Ordinastie> lol
L1055[13:53:42] <howtonotwin> wat
L1056[13:53:48] <Artillect_> it seems to work just fine
L1057[13:54:05] <ghz|afk> not really, though
L1058[13:54:05] <Ordinastie> he says after coming here complaining it doesn't work
L1059[13:54:11] <ghz|afk> it does EXACTLY as it says
L1060[13:54:15] <howtonotwin> ItemVoltimeter.<init> is where the stacksize is set
L1061[13:54:16] <ghz|afk> it creates a new instance of ItemBase
L1062[13:54:19] <Artillect_> It adds it to the game just fine
L1063[13:54:23] <howtonotwin> you are completely bypassing it
L1064[13:54:26] <Artillect_> it doesn't limit the stack size
L1065[13:54:27] <ghz|afk> yes
L1066[13:54:32] <Artillect_> what do I need to do then?
L1067[13:54:34] <ghz|afk> but it adds an instance of ItemBase
L1068[13:54:37] <ghz|afk> not of ItemVoltimeter
L1069[13:54:38] <diesieben07> because you are NEVER callign the code that sets the stack size
L1070[13:54:43] <ghz|afk> because you told it to create a new ItemBase
L1071[13:54:48] <diesieben07> so it will promptly go ahead and never set the stack size.
L1072[13:54:58] <diesieben07> computers always do EXACTLY how they are told
L1073[13:55:00] <howtonotwin> there is no relationship between new ItemBase("voltimeter", true" and new ItemVoltimeter
L1074[13:55:04] <ghz|afk> think about it
L1075[13:55:07] <ghz|afk> how would that ever work?
L1076[13:55:10] <ghz|afk> how would the compiler know that
L1077[13:55:11] <Artillect_> that makes sense
L1078[13:55:13] <Artillect_> yeah
L1079[13:55:17] <ghz|afk> "new ItemBase("voltimeter, true)"
L1080[13:55:19] <ghz|afk> should really mean
L1081[13:55:23] <Artillect_> ok so how do I call the ItemVoltimeter code?
L1082[13:55:23] <ghz|afk> "new ItemVoltimeter()"
L1083[13:55:35] <ghz|afk> you... do
L1084[13:55:40] <ghz|afk> as you would any other constructor
L1085[13:55:46] <Artillect_> ok
L1086[13:55:48] <ghz|afk> if you want a new ItemVoltimeter, you tell java to do so
L1087[13:56:05] ⇨ Joins: Cast0077 (~Cast0077@24-151-68-108.dhcp.nwtn.ct.charter.com)
L1088[13:56:24] <Artillect_> I'm not too familiar with constructors and such
L1089[13:56:31] <ghz|afk> we can tell
L1090[13:56:33] <Artillect_> I've never worked a ton with object based programming
L1091[13:56:44] <ghz|afk> but you know functions?
L1092[13:56:54] <Artillect_> yeah
L1093[13:56:59] <ghz|afk> so think of it this way
L1094[13:57:02] <ghz|afk> when you do
L1095[13:57:06] <ghz|afk> new Something()
L1096[13:57:16] <ghz|afk> it internally does
L1097[13:58:15] <Artillect_> now it limits the stack size, thanks guys
L1098[13:58:27] <ghz|afk> "create object of type"(Something); something.<init>(args)
L1099[13:58:44] <ghz|afk> where <init> is a shorthand for the constructor function
L1100[13:58:53] <Artillect_> that makes sense
L1101[13:59:02] <ghz|afk> so if you say
L1102[13:59:04] <ghz|afk> new ItemBase
L1103[13:59:08] <ghz|afk> it will literally do
L1104[13:59:24] <ghz|afk> voltimeter = new object of type ItemBase, voltimeter.<init>("voltimeter", true)
L1105[13:59:32] <ghz|afk> which, being an object of type ItemBase
L1106[13:59:39] <ghz|afk> will call the ItemBase code
L1107[13:59:54] <Artillect_> so when it does items.add(voltimeter = new ItemVoltimeter()); it adds a variable with type ItemVoltimeter to the array items?
L1108[14:00:05] <ghz|afk> no it adds an instance
L1109[14:00:16] <Artillect_> yeah, that
L1110[14:00:21] <howtonotwin> assignments have values
L1111[14:00:32] <ghz|afk> "variable" is what we call the label that holds the value
L1112[14:00:35] <howtonotwin> voltimeter = new ItemVoltimeter()
L1113[14:00:48] <howtonotwin> will assign a ItemVoltimeter to voltimeter
L1114[14:01:07] <howtonotwin> and also pass that same instance to items.add(
L1115[14:01:10] <howtonotwin> *()
L1116[14:01:11] <Artillect_> voltimeter is the variable then?
L1117[14:01:14] <ghz|afk> yes
L1118[14:01:17] <Artillect_> ah
L1119[14:01:19] ⇦ Quits: CoolerExtreme (~CoolerExt@45.249.156.132) (Ping timeout: 206 seconds)
L1120[14:01:40] <ghz|afk> when you do
L1121[14:01:40] <ghz|afk> items.add(voltimeter = new ItemBase("voltimeter",true));
L1122[14:01:45] <ghz|afk> it does basically
L1123[14:01:51] <ghz|afk> voltimeter = new ItemBase("voltimeter",true)
L1124[14:01:55] <ghz|afk> followed by
L1125[14:02:01] <ghz|afk> items.add(voltimeter);
L1126[14:02:14] <Artillect_> ah
L1127[14:02:34] <ghz|afk> (it's not EXACTLY that, but it's close enough)
L1128[14:02:37] <Artillect_> yeah
L1129[14:02:50] <ghz|afk> one ofthe features of C/C++/Java/C#
L1130[14:02:53] <ghz|afk> is chaining assignments
L1131[14:03:04] <ghz|afk> since the assignment returns the value of the expression on the right
L1132[14:03:05] <ghz|afk> you can do
L1133[14:03:09] <ghz|afk> a=b=c=d=1
L1134[14:03:10] <Artillect_> so when we refer to the item "voltimeter" elsewhere (such as in a recipe) are we calling the variable or the class?
L1135[14:03:13] <ghz|afk> which compiles as
L1136[14:03:20] <ghz|afk> a=(b=(c=(d=1)))
L1137[14:03:29] <ghz|afk> you reference the variable
L1138[14:03:44] <diesieben07> and the variable is a reference
L1139[14:03:45] <ghz|afk> which will contain an object reference to the instance
L1140[14:03:46] <diesieben07> to an object
L1141[14:03:51] <diesieben07> just to confuse you even more :D
L1142[14:04:03] <Artillect_> in an array would that be items.voltimeter?
L1143[14:04:10] <ghz|afk> wat?
L1144[14:04:18] <ghz|afk> first of all, you don't have an array, there
L1145[14:04:21] <ghz|afk> .add is a method of List
L1146[14:04:29] <ghz|afk> an array isused with []
L1147[14:04:30] <Artillect_> like how would we call the item?
L1148[14:04:31] <Artillect_> just voltimeter?
L1149[14:04:33] <ghz|afk> and is of fixed size
L1150[14:04:40] <ghz|afk> depends on where you reference it from
L1151[14:04:47] <ghz|afk> really
L1152[14:04:55] <Artillect_> ah
L1153[14:04:59] <ghz|afk> http://beginnersbook.com/java-tutorial-for-beginners-with-examples/
L1154[14:05:07] <Artillect_> at the top of the class it says arraylist so I assumed it was an array
L1155[14:05:17] <howtonotwin> or the official oracle java tutorial website
L1156[14:05:23] <AshIndigo_> ArrayList != array
L1157[14:05:31] <Artillect_> I understand that now
L1158[14:05:34] <diesieben07> ArrayList is a list that uses an array internally
L1159[14:05:36] <howtonotwin> It's backed by an array internally
L1160[14:05:38] <diesieben07> hence the name
L1161[14:05:38] <Artillect_> ah
L1162[14:05:43] <howtonotwin> but List is something totally different
L1163[14:05:50] <ghz|afk> Artillect_: no, an ArrayList is a list that internally uses arrays for storage ;P
L1164[14:06:00] <ghz|afk> if it needs more space, it will allocate more arrays
L1165[14:06:20] <ghz|afk> (or a bigger one)
L1166[14:06:21] <Artillect_> so when we refer to the item elsewhere do we need to "access" it from the list or do we just straight up put voltimeter?
L1167[14:06:34] <ghz|afk> depends on you
L1168[14:06:46] <ghz|afk> but chances are you want to use the field (variable)
L1169[14:07:09] <howtonotwin> why DO you store them all in a list?
L1170[14:07:14] <ghz|afk> you really need to learn the basic programming concepts
L1171[14:07:18] <ghz|afk> or our explanations won't make sense
L1172[14:07:24] <ghz|afk> so I'll repaste: http://beginnersbook.com/java-tutorial-for-beginners-with-examples/
L1173[14:07:32] <howtonotwin> I don't see a reason for it
L1174[14:07:34] <Artillect_> I understand the concepts just not Java
L1175[14:07:40] <ghz|afk> yes
L1176[14:07:47] <Artillect_> Embers does it that way and it's pretty easy to comprehend for me
L1177[14:08:04] <howtonotwin> that's good
L1178[14:08:13] <howtonotwin> but why do you need the list?
L1179[14:08:23] <howtonotwin> it seems unnecessary
L1180[14:09:08] <Artillect_> when it registers models it seems to call them from the list one at a time
L1181[14:09:37] <howtonotwin> ah
L1182[14:10:39] <Artillect_> it's so weird being able to define types (or moreso doing it)
L1183[14:10:57] <Artillect_> in python I only used the built-in ones
L1184[14:11:42] * howtonotwin introduces Artillect_ to the shapeless library
L1185[14:12:11] <howtonotwin> (At this point you look at the sheer amount of typing and run away screaming. (I did.))
L1186[14:12:25] * AshIndigo_ has oddly never done python
L1187[14:12:47] <Artillect_> shapeless library?
L1188[14:12:52] <ghz|afk> I looked at python once
L1189[14:13:00] <Artillect_> python was great for me
L1190[14:13:07] <howtonotwin> Don't worry about it :P
L1191[14:13:11] <ghz|afk> I'm not a fan of linebreak+indentation for scoping
L1192[14:13:18] <howtonotwin> It's not for Java and it's not very useful for MC
L1193[14:13:25] <ghz|afk> I very much prefer having actual delimiters
L1194[14:13:32] <Artillect_> my first language was MS-DOS scripting (or whatever it's called)
L1195[14:13:34] <Shambling> I'm still stuck in C :P
L1196[14:13:41] <Shambling> batch files?
L1197[14:13:44] <ghz|afk> batch scripting
L1198[14:13:45] <Artillect_> yeah
L1199[14:13:52] <Artillect_> and then I learned BASIC
L1200[14:13:55] <ghz|afk> but that's not really programming
L1201[14:13:55] <Artillect_> then lua
L1202[14:13:55] <ghz|afk> XD
L1203[14:13:59] *** Kolatra is now known as Kolatra|away
L1204[14:14:08] <Shambling> commodore64 basic was the best basic next to visual basic 6 :P
L1205[14:14:08] <Artillect_> it is turing complete (i think) and can do a shitload of things
L1206[14:14:15] <Shambling> or was that VB5...
L1207[14:14:17] <ghz|afk> I went BASIC -> VisualBasic -> C#
L1208[14:14:20] <ghz|afk> for my main programming
L1209[14:14:25] <Artillect_> I was using some application on the 3ds to program games in basic
L1210[14:14:32] ⇦ Quits: Ipsis (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk) (Ping timeout: 384 seconds)
L1211[14:14:37] <ghz|afk> but learned C, C++, Java, Javascript, ...
L1212[14:14:41] <Shambling> yeah I could see doing that, problem was, C# came out about 10 years after I stopped programming in college :P
L1213[14:14:58] <Shambling> and all my profs pretty much taught c or those ancient AI languages
L1214[14:15:08] <ghz|afk> my uni taught java
L1215[14:15:15] <Shambling> so I never picked up on the point of classes :P
L1216[14:15:33] <Shambling> "Why use a class, when I can just use a struct" I said.
L1217[14:15:34] <AshIndigo_> Im self taught :/
L1218[14:15:49] <Artillect_> I'm self taught as well
L1219[14:15:52] <ghz|afk> I was self-taught
L1220[14:15:55] <ghz|afk> until I went to uni
L1221[14:16:05] <ghz|afk> at uni, I learned the basic concepts of WHY things are things
L1222[14:16:09] <Shambling> "do I really need to overload +, when I can just create another function called struct_adding" :P
L1223[14:16:18] <ghz|afk> quite a few times I went "OOOH, THAT's WHY!"
L1224[14:16:21] <Shambling> yeah I'd say theory was a big part of comp sci
L1225[14:16:29] <ghz|afk> IMO
L1226[14:16:39] <ghz|afk> having someone teach you the boring part is best
L1227[14:16:41] <ghz|afk> becuase being the boring part
L1228[14:16:45] <ghz|afk> you'll never get around to it yourself
L1229[14:17:01] <ghz|afk> then you can learn all the fancy stuff on your own terms
L1230[14:17:02] <Shambling> definitely more fun than that bastard child of calculus where the only thing you got to do was show proofs, rather than real math
L1231[14:17:07] <Artillect_> Currently learning C alongside a proprietary library for robotics
L1232[14:17:11] <Artillect_> and holy crap i love modern languages
L1233[14:17:29] <ghz|afk> the basic of programming paradigms, imperative, object-oriented, functional, logic
L1234[14:17:42] <ghz|afk> the basic of concurrency (threading/async)
L1235[14:17:47] <Artillect_> I wish my math classes were more proof-based
L1236[14:17:49] <AshIndigo_> It feels weird if I try using a language based around whitespace
L1237[14:17:54] <ghz|afk> the basic of data structures, file I/O and databases
L1238[14:18:16] <Artillect_> I love learning why more than how
L1239[14:18:17] <Shambling> I prefer languages that compile into actual machine language and don't rely on 10,000 libraries and interpreters to do the work, but my god sometimes you just don't want to define what type a variable is
L1240[14:18:24] <Artillect_> Holy moly localization is easy as fuck in MC
L1241[14:18:37] <Artillect_> you should try whitespace then
L1242[14:18:44] <ghz|afk> yup, I18n.format("translation.key", args)
L1243[14:18:52] <Artillect_> whitespace is a beautiful language
L1244[14:18:57] <ghz|afk> translation.key=Text %s and %s args
L1245[14:19:08] <Artillect_> I want to learn a low-level language so I can do some work with microcontrollers
L1246[14:19:36] <Shambling> released 2003 on april 1st, lol nice
L1247[14:20:05] <ghz|afk> Shambling: java needs "var"/"auto"
L1248[14:20:20] <ghz|afk> I feel it's stupid they didn't get around to adding type inference for variables
L1249[14:20:40] <PaleoCrafter> I just listened for 10 minutes to some dude talking philosophical shit about blacksmithing whilst I just wanted to get a look at the sparks xD
L1250[14:20:42] <Artillect_> how do I output something to chat when the user right clicks an item on a block?
L1251[14:21:05] <PaleoCrafter> it was considered for J9, ghz|afk, iirc
L1252[14:21:05] <ghz|afk> player.addChatMessage or whatever
L1253[14:21:14] <ghz|afk> PaleoCrafter: "considered"
L1254[14:21:15] <Artillect_> and is that just a string?
L1255[14:21:19] <ghz|afk> should have been in like, java56
L1256[14:21:22] <ghz|afk> java5*
L1257[14:21:23] <ghz|afk> ;P
L1258[14:21:55] ⇨ Joins: MalkContent (~MalkConte@p4FDCCBC6.dip0.t-ipconnect.de)
L1259[14:21:59] <Shambling> oh lord, my brain just suffered a stack overflow reading how the whitespace language works.
L1260[14:22:09] <ghz|afk> XD
L1261[14:22:10] <PaleoCrafter> oh, the request was only updated yesterday: http://openjdk.java.net/jeps/286 xD
L1262[14:22:11] <Shambling> in the words of meme people... nope.jpg
L1263[14:22:32] <PaleoCrafter> at least Whitespace users won't get into arguments about tabs vs. spaces :P
L1264[14:22:41] <Shambling> =O
L1265[14:23:20] <AshIndigo_> :|
L1266[14:24:40] <Artillect_> ok guys, tabs or spaces?
L1267[14:25:59] * howtonotwin creates wHITESPACE, which is just like Whitespace except spaces are tabs and tabs are spaces
L1268[14:26:15] <Artillect_> how can I get the block the player is looking at?
L1269[14:26:28] <diesieben07> depends on the context.
L1270[14:26:47] <Artillect_> on right click, i want to output the coordinates of the block to chat
L1271[14:26:49] <howtonotwin> (The implementation of the interpreter is "tr ' \t' '\t ' | whitespace")
L1272[14:26:58] <Artillect_> simply as a debug sort of thing
L1273[14:27:00] <diesieben07> right click with your item?
L1274[14:27:04] <diesieben07> or any?
L1275[14:27:04] <howtonotwin> in that case you already have the blockpos
L1276[14:27:10] <Artillect_> right click my item on a block
L1277[14:27:15] <diesieben07> override onItemUse
L1278[14:27:35] <howtonotwin> Location of the block is the BlockPos param
L1279[14:31:54] ⇨ Joins: killjoy (~killjoy@cpe-2606-A000-1118-C091-7986-314E-1B2A-CB3E.dyn6.twc.com)
L1280[14:33:14] <Shambling> waila and the one probe probably has some pretty good examples in the code for ray tracing if you want to just look at a block while holding your item
L1281[14:34:22] ⇨ Joins: quadraxis (~quadraxis@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net)
L1282[14:35:49] <Artillect_> what type does entityplayer.addChatMessage() take because it sure isn't a string
L1283[14:36:07] <howtonotwin> use your IDE?
L1284[14:36:13] <Artillect_> true
L1285[14:36:29] <killjoy> Should be ITextComponent
L1286[14:36:45] <killjoy> Simplest is to new TextComponentString("Your message")
L1287[14:46:16] ⇦ Quits: Artillect_ (~Artillect@166.170.45.49) (Ping timeout: 206 seconds)
L1288[14:46:54] <PaleoCrafter> https://gfycat.com/BaggyForsakenGreatdane better?
L1289[14:49:02] ⇦ Quits: howtonotwin (~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net) (Killed (NickServ (GHOST command used by howtolose)))
L1290[14:49:04] ⇨ Joins: howtonotwin (~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net)
L1291[14:51:14] <killjoy> Weird bug is weird. https://git.io/v1kLe
L1292[14:51:16] ⇦ Quits: howtonotwin (~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net) (Read error: Connection reset by peer)
L1293[14:53:19] ⇦ Quits: Shambling (~Joseph@24-181-186-74.dhcp.nwtn.ct.charter.com) (Quit: Leaving)
L1294[14:53:28] ⇨ Joins: howtonotwin (~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net)
L1295[14:53:38] <ghz|afk> PaleoCrafter: yeh
L1296[14:53:50] <ghz|afk> although I still think the sparks are too slow XD
L1297[14:54:18] <PaleoCrafter> I made them a little slower than they probably should go, because I don't have that many frames to work with :P
L1298[14:54:19] <ghz|afk> I mean, IMO, they should shoot out quite fast, and then disappear
L1299[14:54:35] <PaleoCrafter> another problem is that the trajectory isn't really spark-like xD
L1300[14:54:35] <ghz|afk> possibly leaving some kind of trail
L1301[14:54:52] <PaleoCrafter> but I'd need a lot more space than just the anvil for a realistic trajectory
L1302[14:54:53] <ghz|afk> the thing about sparks is that they often cool down mid-air
L1303[14:55:03] <ghz|afk> meaning they stop shining
L1304[14:55:54] ⇨ Joins: Artillect (~Artillect@166.170.45.49)
L1305[14:55:57] <Artillect> do you just return true at the end of the onItemUse block?
L1306[14:56:10] <ghz|afk> PaleoCrafter: I'd make them movei n a straight line, really
L1307[14:56:24] <PaleoCrafter> where to so?
L1308[14:56:26] <PaleoCrafter> or just fading out?
L1309[14:56:32] <ghz|afk> just disappearing when they reach the edge
L1310[14:56:36] <PaleoCrafter> eh
L1311[14:56:46] <howtonotwin> Artillect, depends
L1312[14:56:53] <Artillect> I think it would be better if they just left the edge
L1313[14:57:00] <ghz|afk> https://youtu.be/z_WYqBWn0d8?t=25
L1314[14:57:01] <PaleoCrafter> this animation is to be used on the splashscreen, so that wouldn't look good at all
L1315[14:57:02] <ghz|afk> like this
L1316[14:57:06] ⇨ Joins: williewillus (~williewil@cpe-24-28-24-13.austin.res.rr.com)
L1317[14:57:08] <Artillect> maybe give it a border
L1318[14:57:14] <ghz|afk> yes it would, because that's how sparks look like IRL
L1319[14:57:18] <howtonotwin> if you return true, you stop processing the right click
L1320[14:57:29] <howtonotwin> like how if you right click an item
L1321[14:57:48] ⇦ Quits: SquareWheel (~SquareWhe@s0106687f7463986c.ok.shawcable.net) (Ping timeout: 186 seconds)
L1322[14:57:52] <howtonotwin> first it tries to use the item in the main hand on the block
L1323[14:57:55] <Artillect> what really bothers me is that you're hitting an anvil directly with a hammer
L1324[14:57:59] <Artillect> you really never should do that
L1325[14:58:14] <howtonotwin> then it tries to use the other hand (or does it go to the block?)
L1326[14:58:19] ⇨ Joins: InusualZ (~InusualZ@adsl-64-237-236-206.prtc.net)
L1327[14:58:22] <Artillect> ok
L1328[14:58:39] <williewillus> lol I'm making a flow chart about the interactions right now
L1329[14:58:41] <howtonotwin> if you failed to do something, you return false, so you can continue processing
L1330[14:58:55] <howtonotwin> if you DID, true means to stop, as something has been done
L1331[14:59:01] <ghz|afk> uhm true false... are you pre-1.9?
L1332[14:59:07] <howtonotwin> on the client, be optimistic
L1333[14:59:19] <howtonotwin> Like if you need data that only exists on the server
L1334[14:59:28] <howtonotwin> on the client you should return true to be safe
L1335[14:59:31] <howtonotwin> and on the server
L1336[14:59:35] <howtonotwin> after you do the work
L1337[14:59:40] <Artillect> I'm on 1.10.2
L1338[14:59:42] <howtonotwin> there you return the actual value
L1339[14:59:54] <Artillect> ok
L1340[15:00:19] <howtonotwin> and you said you were printing something to chat?
L1341[15:00:40] <Artillect> yeah
L1342[15:00:41] <Artillect> http://paste.feed-the-beast.com/view/d60fa39b
L1343[15:00:46] <Artillect> why does this not do what I want it to
L1344[15:01:05] <howtonotwin> only call addChatMessage on the client
L1345[15:01:53] <howtonotwin> and if it does something undesirable, debug it!
L1346[15:02:10] <Artillect> what's the way to only call it on client side?
L1347[15:02:15] <Artillect> @Sideonly(Client)?
L1348[15:02:19] <Artillect> I can't remember
L1349[15:02:19] <howtonotwin> NONONO
L1350[15:02:19] <williewillus> no
L1351[15:02:23] <howtonotwin> IZ EVIL
L1352[15:02:29] <Artillect> really?
L1353[15:02:29] <williewillus> <insert link to rtd>
L1354[15:02:32] <howtonotwin> you see that World?
L1355[15:02:43] <Artillect> ah true
L1356[15:02:45] <howtonotwin> ask it if it isRemote
L1357[15:02:50] <williewillus> https://mcforge.readthedocs.io/en/latest/concepts/sides/
L1358[15:02:54] <howtonotwin> true means client, false means server
L1359[15:03:07] <howtonotwin> and someone should probably write a page on chat
L1360[15:03:26] <Artillect> and if true do the send to chat?
L1361[15:03:29] <howtonotwin> yes
L1362[15:03:32] <williewillus> a page on what, siding?
L1363[15:03:35] <williewillus> if so just linked it ;p
L1364[15:03:44] <howtonotwin> no, just chat :P
L1365[15:03:53] <howtonotwin> On ITextComponent
L1366[15:04:00] <williewillus> it's pretty intuitive :P
L1367[15:04:20] <howtonotwin> and how the sides work on addChatMessage
L1368[15:04:32] <Artillect> that makes a lot of sense
L1369[15:05:03] <howtonotwin> this potato cannot handle the strain of chrome+recompileMc
L1370[15:05:09] <howtonotwin> but it could take decompileMc
L1371[15:05:14] <howtonotwin> what is this
L1372[15:05:14] <williewillus> I mean, for addChatMessage it's basicaly: if logical server, print on log and send packet and if logical client just print it
L1373[15:05:54] <Artillect> so do if world.isRemote == true send chat message else log stuff and send packet?
L1374[15:06:01] <howtonotwin> ew
L1375[15:06:11] <howtonotwin> do not do equality checks on booleans
L1376[15:06:12] <howtonotwin> xD
L1377[15:06:19] <williewillus> no, I was describing how addChatMessage works in mc itslelf
L1378[15:06:20] <Artillect> do equals()?
L1379[15:06:21] <williewillus> not how to use it
L1380[15:06:24] <williewillus> no lol
L1381[15:06:25] <Artillect> ah
L1382[15:06:28] <williewillus> just if (world.isRemote)
L1383[15:06:30] <williewillus> :P
L1384[15:06:35] <Artillect> oh thats righ
L1385[15:06:45] <williewillus> lol
L1386[15:06:46] <Artillect> I'm an idiot
L1387[15:07:01] <howtonotwin> ssshh, we're all idiots
L1388[15:07:03] <Artillect> it's still not doing anything
L1389[15:07:26] <howtonotwin> debug it
L1390[15:07:38] <howtonotwin> breakpoints and all that
L1391[15:08:18] <howtonotwin> btw may I introduce you to hastebin.com
L1392[15:08:26] <Artillect> how do I set a breakpoint in eclipse?
L1393[15:08:35] <howtonotwin> See that bar on the left
L1394[15:08:35] <kenzierocks> or pastebin.com or gist.github.com
L1395[15:08:41] <howtonotwin> with the line Es
L1396[15:08:43] <howtonotwin> *#s
L1397[15:08:51] <howtonotwin> double click on it
L1398[15:09:19] <howtonotwin> I think <C-b> to breakpoint the cursor
L1399[15:09:34] <Artillect> and I can do this during runtime?
L1400[15:09:37] <howtonotwin> yes
L1401[15:09:46] <howtonotwin> just make sure you run it with the debug icon
L1402[15:09:55] <Artillect> yeah
L1403[15:09:58] <howtonotwin> otherwise you won't be able to do anything
L1404[15:10:28] <Artillect> should I put a breakpoint on the onItemUse line?
L1405[15:10:39] <howtonotwin> if you put one on the def of a method
L1406[15:10:44] <howtonotwin> it breaks on entry to the method
L1407[15:10:57] <howtonotwin> if you put one on a line, it stops when that line is hit
L1408[15:10:58] ⇦ Quits: MalkContent (~MalkConte@p4FDCCBC6.dip0.t-ipconnect.de) (Quit: Leaving)
L1409[15:10:58] ⇨ Joins: SquareWheel (~SquareWhe@S0106687f7463986c.ok.shawcable.net)
L1410[15:11:19] <howtonotwin> if you put one on the def of a class, it stops when it is loaded
L1411[15:11:28] <Artillect> so it's not stopping when I call onItemUse...
L1412[15:11:30] <Artillect> hmm
L1413[15:11:44] <howtonotwin> in that case it isn't getting called at all
L1414[15:11:58] <kenzierocks> warning about method breakpoints -- i remember them being really slow
L1415[15:12:10] <howtonotwin> They are?
L1416[15:12:23] <howtonotwin> That might explain something I saw earlier today...
L1417[15:12:25] <howtonotwin> :P
L1418[15:12:25] <Artillect> shouldn't they be pretty much instant?
L1419[15:12:33] <kenzierocks> no, for whatever reason
L1420[15:12:38] <kenzierocks> erm
L1421[15:12:41] <Artillect> how do breakpoints work on the compiler level?
L1422[15:12:41] <kenzierocks> they SHOULD be
L1423[15:12:43] <kenzierocks> they're not
L1424[15:12:49] <kenzierocks> they're not done at the compiler
L1425[15:12:57] <kenzierocks> they're done with hooks into the JVM iteself
L1426[15:13:23] <howtonotwin> uuuh
L1427[15:13:26] <Artillect> sounds like magic
L1428[15:13:32] <howtonotwin> so I tried to sDW 12.18.2.2151
L1429[15:13:37] <howtonotwin> and...
L1430[15:13:47] <kenzierocks> https://docs.oracle.com/javase/7/docs/jdk/api/jpda/jdi/
L1431[15:13:50] <kenzierocks> it's not really magic
L1432[15:14:03] <kenzierocks> now classloading, that is magic
L1433[15:14:24] <Artillect> what should happen when it hits a breakpoint?
L1434[15:14:29] <PaleoCrafter> https://gfycat.com/GleefulEasygoingCockroach meh, ghz|afk :P
L1435[15:14:30] <howtonotwin> http://hastebin.com/saricuhale.txt
L1436[15:14:47] <howtonotwin> the game should freeze
L1437[15:14:51] <Artillect> PaleoCrafter make them go both directions
L1438[15:14:55] <howtonotwin> and eclipse should change its UI
L1439[15:14:58] <williewillus> particle angle looks weird but i like the rest
L1440[15:15:03] <ghz|afk> PaleoCrafter: too similar
L1441[15:15:09] <ghz|afk> make them have different speeds, maybe?
L1442[15:15:14] <ghz|afk> and more spread angle?
L1443[15:15:50] <Artillect> it should be hitting something on the anvil as opposed to the anvil directly
L1444[15:16:01] <Artillect> if you want to follow real life
L1445[15:16:08] <PaleoCrafter> tsk, who cares about real life? :P
L1446[15:16:10] <howtonotwin> this is MC :P
L1447[15:16:26] <Artillect> all of the metalworkers looking at you hitting an anvil with a hammer
L1448[15:16:29] <Artillect> lol
L1449[15:16:36] <howtonotwin> where the sand falls down but not the cubic meter of solid diamond :P
L1450[15:16:44] <Artillect> true
L1451[15:16:58] <howtonotwin> and god the gold/diamond block textures are uglt
L1452[15:17:00] <howtonotwin> *ugly
L1453[15:17:08] <Artillect> it's some oddity in the higgs field or something
L1454[15:17:51] <howtonotwin> though seriously, does anyone know why setupDecompWorkspace isn't working
L1455[15:18:08] <ghz|afk> the forge maven repository has been failing all day
L1456[15:18:09] <ghz|afk> on and off
L1457[15:18:16] <howtonotwin> It's not that
L1458[15:18:21] <kenzierocks> howtonotwin: mappings
L1459[15:18:23] <howtonotwin> The artifacts downloaded fine
L1460[15:18:25] <kenzierocks> change them to newer/older
L1461[15:18:32] <ghz|afk> version = "1.11-13.19.0.2160"
L1462[15:18:32] <ghz|afk> runDir = "run"
L1463[15:18:32] <ghz|afk> mappings = "snapshot_20161126"
L1464[15:18:34] <ghz|afk> this works for me
L1465[15:18:42] <kenzierocks> 20161118 is derped
L1466[15:19:20] <howtonotwin> It was 1.10.2 :P
L1467[15:19:30] <ghz|afk> stable_29
L1468[15:19:31] <ghz|afk> for 1.10.2
L1469[15:19:37] <howtonotwin> oh right
L1470[15:19:46] <kenzierocks> i'm not totally sure, but stable_29 could also be derp -- try it anyways
L1471[15:19:48] <howtonotwin> forgot that that was made
L1472[15:20:23] <Artillect> https://gist.github.com/Artillect/84b8d5ec47b8e75727fd9c27f6e44b99
L1473[15:20:28] <Artillect> what am I doing wrong
L1474[15:21:05] <PaleoCrafter> jesus christ, just went to the offline new forums and saw a shit ton of posts due to the import of the old data
L1475[15:22:08] <Artillect> for the logo, you could have a border (similar to this: https://upload.wikimedia.org/wikipedia/en/8/8f/RarewareLogoOld.jpg) so the sparks dont just disappear
L1476[15:22:18] <Artillect> just a bit flatter though
L1477[15:23:44] <Keridos> is it still possible in 1.10.2 to use a TESR for items in inventory?
L1478[15:24:40] <ghz|afk> yes but highly discouraged
L1479[15:25:04] <ghz|afk> specially because you do NOT get any info about the stack
L1480[15:25:06] <ghz|afk> no meta or nbt
L1481[15:27:19] <Artillect> if I override onitemuse in ItemVoltimeter, which extends ItemBase which extends Item, do I need to override onItemUse in ItemBase?
L1482[15:27:38] ⇦ Quits: Delaxarnyazer (~Delaxarny@2a02:a44e:91ce:0:80dc:7855:5421:3308) (Ping timeout: 384 seconds)
L1483[15:28:09] <howtonotwin> no
L1484[15:28:13] ⇨ Joins: Delaxarnyazer (~Delaxarny@2a02:a44e:91ce:0:80dc:7855:5421:3308)
L1485[15:28:25] <Artillect> just in ItemVoltimeter?
L1486[15:28:28] <howtonotwin> yes
L1487[15:28:58] <barteks2x> 1.7.10 is awful... my friend is starting 1.7.10 server. I promised myself I won't touch the config. But I just can't look at all these potion id conflicts...
L1488[15:29:01] <Artillect> what does the onItemUse method do?
L1489[15:29:12] <williewillus> that is called when you right click a block
L1490[15:29:15] <williewillus> with an item in hand
L1491[15:29:25] <Artillect> i get that
L1492[15:29:34] <williewillus> so whatever the item wants to do :P
L1493[15:29:59] <Artillect> and then the parameters are of type itemstack, entityplayer, and then a bunch of ints
L1494[15:30:01] <howtonotwin> oh it worked :D
L1495[15:30:10] <Artillect> what does the itemstack-typed parameter do?
L1496[15:30:11] <howtonotwin> Thanks kenzie+ghz
L1497[15:30:20] <howtonotwin> it's the item being used
L1498[15:30:23] <williewillus> ^
L1499[15:30:26] <Artillect> is entityplayer the player that used the item?
L1500[15:30:30] <howtonotwin> yep
L1501[15:30:30] <williewillus> of course
L1502[15:30:34] <Artillect> and then the ints are the coords of the block?
L1503[15:30:37] <williewillus> no it's a random palyer on the server ;p
L1504[15:30:40] <williewillus> also there shouldn't be ints
L1505[15:30:43] <williewillus> unless you're on 1.7
L1506[15:30:48] <williewillus> :(
L1507[15:31:00] <Artillect> wait
L1508[15:31:02] <Artillect> sorry
L1509[15:31:13] <Artillect> it's itemstack, entityplayer, world, int, int, int, int
L1510[15:31:21] <williewillus> get off of 1.7
L1511[15:31:40] <Artillect> i'm on 1.10
L1512[15:31:44] <Artillect> what should the params be?
L1513[15:31:50] <ghz|afk> not those
L1514[15:31:52] <williewillus> lol
L1515[15:31:55] <ghz|afk> check the super class
L1516[15:31:56] <howtonotwin> !!gm onItemUse
L1517[15:31:57] <MCPBot_Reborn> === MC 1.11: net/minecraft/item/ItemStack.onItemUse (afi.a) UNLOCKED ===
L1518[15:31:57] <MCPBot_Reborn> Name : a => func_179546_a => onItemUse
L1519[15:31:58] <MCPBot_Reborn> Descriptor : (Laax;Lajq;Lco;Lrh;Lcv;FFF)Lrj; => (Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/EnumHand;Lnet/minecraft/util/EnumFacing;FFF)Lnet/minecraft/util/EnumActionResult;
L1520[15:31:59] <MCPBot_Reborn> Comment : Called when the player uses this ItemStack on a Block (right-click). Places blocks, etc. (Legacy name: tryPlaceItemIntoWorld)
L1521[15:31:59] <MCPBot_Reborn> SRG Params : EntityPlayer p_179546_1_, World p_179546_2_, BlockPos p_179546_3_, EnumHand p_179546_4_, EnumFacing p_179546_5_, F p_179546_6_, F p_179546_7_, F p_179546_8_
L1522[15:32:00] <Artillect> well of course
L1523[15:32:00] <MCPBot_Reborn> MCP Params : EntityPlayer playerIn, World worldIn, BlockPos pos, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ
L1524[15:32:01] <ghz|afk> and make sure you REALLY are on 1.10.2
L1525[15:32:01] <Artillect> wow
L1526[15:32:01] <MCPBot_Reborn> Last Change: 2014-09-27 14:44:41.980070-04:00 (diesieben07)
L1527[15:32:02] <MCPBot_Reborn>
L1528[15:32:02] <MCPBot_Reborn> === MC 1.11: net/minecraft/item/Item.onItemUse (afg.a) UNLOCKED ===
L1529[15:32:03] <MCPBot_Reborn> Name : a => func_180614_a => onItemUse
L1530[15:32:04] <MCPBot_Reborn> Descriptor : (Laax;Lajq;Lco;Lrh;Lcv;FFF)Lrj; => (Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/EnumHand;Lnet/minecraft/util/EnumFacing;FFF)Lnet/minecraft/util/EnumActionResult;
L1531[15:32:04] <MCPBot_Reborn> Comment : Called when a Block is right-clicked with this Item
L1532[15:32:05] <ghz|afk> you may have a broken workspace
L1533[15:32:05] <MCPBot_Reborn> SRG Params : EntityPlayer p_180614_1_, World p_180614_2_, BlockPos p_180614_3_, EnumHand p_180614_4_, EnumFacing p_180614_5_, F p_180614_6_, F p_180614_7_, F p_180614_8_
L1534[15:32:06] <MCPBot_Reborn> MCP Params : EntityPlayer player, World worldIn, BlockPos pos, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ
L1535[15:32:07] <MCPBot_Reborn> Last Change: 2014-09-27 15:02:14.162640-04:00 (diesieben07)
L1536[15:32:07] <williewillus> lol
L1537[15:32:08] <howtonotwin> those params
L1538[15:32:10] ⇦ Quits: killjoy (~killjoy@cpe-2606-A000-1118-C091-7986-314E-1B2A-CB3E.dyn6.twc.com) (Ping timeout: 384 seconds)
L1539[15:32:25] <diesieben07> wait i changed that? wow
L1540[15:32:29] <ghz|afk> lol
L1541[15:32:30] <williewillus> lol
L1542[15:32:32] <Artillect> lol
L1543[15:32:32] <diesieben07> when the heck was that
L1544[15:32:38] <williewillus> I always encounter names that I named
L1545[15:32:39] <ghz|afk> 2 months ago
L1546[15:32:45] <ghz|afk> no wait
L1547[15:32:46] <diesieben07> 2 YEARS
L1548[15:32:47] <williewillus> + 2 years
L1549[15:32:49] <ghz|afk> 2 months AND 2 years ago
L1550[15:32:50] <howtonotwin> xD
L1551[15:33:00] <Artillect> then how do I get the block coords?
L1552[15:33:05] <Artillect> blockpos.x and so on?
L1553[15:33:06] <williewillus> "BlockPos pos"
L1554[15:33:06] <howtonotwin> BlockPos
L1555[15:33:23] <howtonotwin> It literally has "Block" and "position" in the name xD
L1556[15:33:24] <ghz|afk> Artillect: let your IDE show you the methods and such of BlockPos
L1557[15:33:26] <williewillus> as I asid before, just type "pos." and your IDE should list everything a BlockPos can do
L1558[15:33:30] <ghz|afk> it has x/y/z-related things
L1559[15:33:31] <Artillect> ok
L1560[15:33:37] <Artillect> what are the things of type F?
L1561[15:33:37] <williewillus> instead of asking about everything haha let your ide help you
L1562[15:33:42] <howtonotwin> F = float
L1563[15:33:48] <Artillect> ah
L1564[15:33:53] <howtonotwin> look at MCP Params line
L1565[15:34:05] <Artillect> i'm blind
L1566[15:34:10] <williewillus> anyways back to making a flowcahrt for PIE t-t
L1567[15:34:28] *** TTFT|Away is now known as TTFTCUTS
L1568[15:36:19] <Artillect> I think I've figured it out
L1569[15:36:32] <Artillect> just gotta test now
L1570[15:37:16] <Artillect> is enumhand just the hand that it is in?
L1571[15:37:19] <Artillect> right/left?
L1572[15:37:51] <howtonotwin> MAIN/OFF I think
L1573[15:37:51] ⇨ Joins: ltp (~ltp@mobile-166-172-191-240.mycingular.net)
L1574[15:38:04] <Artillect> so if something only works in main hand you can use that to check?
L1575[15:38:09] <howtonotwin> yes
L1576[15:38:14] <Artillect> neat]
L1577[15:38:16] <Artillect> *neat
L1578[15:38:29] <Artillect> it's still not stopping when I right click a thing
L1579[15:38:30] <howtonotwin> People can swap their hands so we tend to say MAIN and OFF, not R/L
L1580[15:38:34] <Artillect> (with the item)
L1581[15:38:39] <Artillect> true
L1582[15:39:28] <Artillect> what's enumfacing?
L1583[15:39:58] <howtonotwin> DUNSWE
L1584[15:40:18] <howtonotwin> Down-Up-North-South-West-East
L1585[15:40:36] <howtonotwin> it's the side you hit
L1586[15:40:41] <Artillect> ah
L1587[15:41:05] ⇦ Quits: ltp (~ltp@mobile-166-172-191-240.mycingular.net) (Client Quit)
L1588[15:41:22] <Artillect> if you use the rotatearound() method does that rotate the block?
L1589[15:41:31] *** Vigaro is now known as Vigaro|AFK
L1590[15:41:41] *** Vigaro|AFK is now known as Vigaro
L1591[15:41:58] <howtonotwin> no
L1592[15:42:27] <howtonotwin> It rotates the EnumFacing
L1593[15:42:37] <Artillect> ah
L1594[15:42:45] <howtonotwin> and not all blocks have facing anyway
L1595[15:43:11] <Artillect> so if you want the face one face clockwise, you use that?
L1596[15:43:35] <howtonotwin> yep
L1597[15:44:08] <Artillect> https://gist.github.com/Artillect/84b8d5ec47b8e75727fd9c27f6e44b99
L1598[15:44:13] <Artillect> can you check that out?
L1599[15:44:22] <Artillect> I don't know what I'm doing wrong
L1600[15:44:51] <Ordinastie> Artillect, you need to learn programming, that's what you're doing wrong :s
L1601[15:45:21] <Artillect> i know programming just on a more basic level that isn't java
L1602[15:45:43] <Ordinastie> no you don't
L1603[15:46:03] <Artillect> what makes you think so?
L1604[15:46:10] <Ordinastie> and even if that were true, you still need to learn Java
L1605[15:46:21] <Artillect> I'm learning by tinkering
L1606[15:46:24] <Ordinastie> so I strongly advise you do that first, and then only you can try modding
L1607[15:46:28] <Artillect> it's what works best for me
L1608[15:46:44] <Ordinastie> doesn't seem to work though
L1609[15:46:55] <williewillus> chill lol
L1610[15:47:04] <Artillect> yeah dude you're being a bit of an ass
L1611[15:47:05] <Artillect> I'm learning
L1612[15:47:41] <Ordinastie> it's like sitting in a F1 race car and say "that's how I learn to drive best"
L1613[15:47:58] <Artillect> no
L1614[15:48:15] <Artillect> it's like saying "i'm learning how to make an engine by taking it apart"
L1615[15:48:38] <howtonotwin> Tip: Do not argue with ordi when he starts bashing somethin
L1616[15:48:46] <Artillect> good point
L1617[15:48:50] <howtonotwin> It ends in nothing for all involved
L1618[15:48:54] <howtonotwin> except for me
L1619[15:48:57] <howtonotwin> I get to make popcorn
L1620[15:49:00] <williewillus> lol
L1621[15:49:12] * howtonotwin shares some with willie
L1622[15:49:23] <williewillus> either way my advice 1. use your ide 2. use your ide 3. use your ide :P
L1623[15:49:25] <Ordinastie> Artillect, fine, don't listen to me, let yourself be an annoyance for everybody here
L1624[15:49:35] <Artillect> Do you guys think I'm being annoying?
L1625[15:49:38] <williewillus> not really?
L1626[15:49:42] <Artillect> Other than you of course Ordinastie
L1627[15:49:52] <Artillect> you don't even program anything important lol (slight jk)
L1628[15:50:04] <williewillus> i mean you should use your ide more instead of asking
L1629[15:50:15] <williewillus> since it immediately reveals answers 80% of the time
L1630[15:50:20] <Artillect> true yeah
L1631[15:50:33] <Artillect> but right now it isn't breaking on onItemUse when I right click with it
L1632[15:50:38] <Artillect> and it's not throwing any errors
L1633[15:50:39] <howtonotwin> anyway I hope 1.11 is taking breaking changes
L1634[15:50:43] <williewillus> did you start in debug mode?
L1635[15:50:47] <williewillus> howtonotwin: it is apparently
L1636[15:50:48] <Artillect> yep
L1637[15:50:52] <Ordinastie> williewillus, just look at what he posted
L1638[15:50:59] ⇦ Quits: Noppes (~Noppes@62.41.77.242) (Read error: Connection reset by peer)
L1639[15:51:03] <howtonotwin> ArrowLooseEvent needs patching
L1640[15:51:17] <Artillect> what's even bad with what I linked Ordinastie?
L1641[15:51:24] <williewillus> wait what post
L1642[15:51:28] <Artillect> https://gist.github.com/Artillect/84b8d5ec47b8e75727fd9c27f6e44b99
L1643[15:51:32] <howtonotwin> <Artillect> https://gist.github.com/Artillect/84b8d5ec47b8e75727fd9c27f6e44b99
L1644[15:51:34] <Artillect> it's not a post it's a link
L1645[15:51:56] <williewillus> do you not get a compile error from that...?
L1646[15:52:02] <howtonotwin> when does forge stop accepting breaking changes btw
L1647[15:52:11] <howtonotwin> is it just when lex says so
L1648[15:52:15] <howtonotwin> or is there a rule
L1649[15:52:15] <williewillus> whenever the 1st rb comes out
L1650[15:52:16] <williewillus> so yeah
L1651[15:52:22] <Artillect> I don't get a compiler error
L1652[15:52:22] <williewillus> basically when he feels like it
L1653[15:52:32] <williewillus> Artillect: that code should not compile
L1654[15:52:36] <Ordinastie> I don't think compiler would complain, but the IDE definitely should
L1655[15:52:36] <Artillect> really?
L1656[15:52:50] <howtonotwin> @Override
L1657[15:52:51] <williewillus> @Override is required by the javac spec to generate an error
L1658[15:52:57] <williewillus> you aren't overriding anything
L1659[15:53:01] <williewillus> go look at the Item class
L1660[15:53:04] <Artillect> oh I thought I updated that
L1661[15:53:05] <Artillect> shoot
L1662[15:53:07] <Artillect> gimme a sec
L1663[15:53:22] <williewillus> your ide shold have told you (common theme here)
L1664[15:53:28] <Artillect> https://gist.github.com/Artillect/fa5483f4874ac669514428abe902dd40
L1665[15:53:30] <Artillect> yeah it did
L1666[15:53:31] ⇨ Joins: Jezza (~Jezza@92.206.4.86)
L1667[15:53:34] <Artillect> this is the right code
L1668[15:53:47] <williewillus> and what happens that isn't what you want?
L1669[15:53:57] <howtonotwin> fyi I think BlockPos has a sane impl of toString
L1670[15:53:58] <williewillus> remember that onItemUse only gets called if your cursor is over a block
L1671[15:53:59] <Artillect> it doesn't do anything
L1672[15:54:03] <Artillect> yeah
L1673[15:54:10] <howtonotwin> you can use that instead of formatting yourself
L1674[15:54:58] <howtonotwin> Though it might surround it with BlockPos{x = .., y = .., z = ..}
L1675[15:55:38] <Artillect> it seems that onItemUse isn't being called when I right click a block
L1676[15:55:45] <williewillus> is this 1.10 or 1.11?
L1677[15:55:49] <Artillect> 1.10
L1678[15:55:52] <williewillus> that's the wrong signature
L1679[15:56:00] <williewillus> put the @Override back in and leave it there
L1680[15:56:03] <williewillus> and try compiling again
L1681[15:56:21] <williewillus> whoever used the bot earlier showed you the 1.11 signature
L1682[15:56:22] <williewillus> which changed
L1683[15:56:24] <Artillect> yeah it's not giving me shit with the @override
L1684[15:56:32] <williewillus> yes so look at the error..
L1685[15:56:36] <Artillect> do the parameters need to change
L1686[15:56:37] <williewillus> put @Override on it and it should error
L1687[15:56:43] <Artillect> no what I said it isn't giving an error
L1688[15:56:53] <williewillus> your ide is bork then
L1689[15:57:18] <williewillus> look at the superclass signature
L1690[15:57:19] * howtonotwin borks once too many and overborks into maximum BORKDRIVE
L1691[15:57:50] <Artillect> I removed the onitemuse from my base item class and now it's telling me that I'm not overriding and should add onitemuse() to my ItemBase class
L1692[15:58:03] <williewillus> does your ItemBase extend Item?
L1693[15:58:06] <Artillect> yes
L1694[15:58:27] <williewillus> and you define onItemUse in Itembase?
L1695[15:58:31] <williewillus> why?
L1696[15:58:42] <howtonotwin> welltheresyourproblem.mp4
L1697[15:58:48] ⇦ Quits: howtonotwin (~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net) (Quit: Leaving)
L1698[15:58:52] <Artillect> because the error told me I should when I was overriding
L1699[15:58:52] <williewillus> lol
L1700[15:58:57] <Artillect> so I don't need to do that
L1701[15:59:00] <Artillect> and no override
L1702[15:59:03] <williewillus> -.- you need to override the thing in ITEM
L1703[15:59:14] <williewillus> and yes you should always always use @Override
L1704[15:59:20] <Ordinastie> ^ see, that's what annoyed looks like :)
L1705[15:59:23] ⇨ Joins: howtonotwin (~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net)
L1706[15:59:37] <Artillect> Then where do I do that
L1707[15:59:51] <Artillect> Ordinastie if you're not gonna contribute anything maybe don't say anything :)
L1708[15:59:51] <williewillus> I already told you: look at Item class for its signature
L1709[16:00:13] <PaleoCrafter> https://gfycat.com/DisguisedDeliciousBluetickcoonhound now the hammer actually has something to hit xD
L1710[16:00:17] <Ordinastie> Artillect, I contributed already, I told you to go learn java, that's what you're supposed to do
L1711[16:00:46] <williewillus> ehh it looks a bit weird, but i can't really say why
L1712[16:00:54] <Ordinastie> you clearly have no clue of what you're doing, and although it's fine in itself, this channel is NOT a java channel
L1713[16:01:11] <Ordinastie> the only thing I don't understand
L1714[16:01:11] ⇦ Quits: Delaxarnyazer (~Delaxarny@2a02:a44e:91ce:0:80dc:7855:5421:3308) (Ping timeout: 206 seconds)
L1715[16:01:15] <Artillect> Eh true it does look odd yeah
L1716[16:01:20] <PaleoCrafter> the sparks?
L1717[16:01:24] <williewillus> no just in general
L1718[16:01:46] <PaleoCrafter> I could give it a bit more space and make the hammer hit the ingot more in the center
L1719[16:01:46] <howtonotwin> I say the gold is too big
L1720[16:02:05] <Artillect> My questions pertain to forge modding and not Java on its own so I don't think they would fit on a Java channel
L1721[16:02:07] <Ordinastie> is what people keeps trying to give java 101 lessons when it has been made abundantly clear that you should learn java first and then try and learn about modding
L1722[16:02:21] <howtonotwin> Maybe a thin stick of gold that goes across the entire anvil
L1723[16:02:24] <howtonotwin> like a sword
L1724[16:02:31] ⇨ Joins: CoolerExtreme (~CoolerExt@45.249.156.132)
L1725[16:02:51] ⇨ Joins: Delaxarnyazer (~Delaxarny@ip56572345.direct-adsl.nl)
L1726[16:03:03] <Artillect> Ordinastie: As I've said before, I am learning Java, I have just never worked much with Overrides and they currently work like magic to me
L1727[16:03:12] <Ordinastie> Artillect, if you know java, then what you need to do is simple, you simply need to override the onItemUse method from Item
L1728[16:03:13] <howtonotwin> Also the angle of the sparks is too wide
L1729[16:03:33] <Ordinastie> Artillect, that's basic object oriented concept
L1730[16:03:36] <williewillus> Artillect: he has a point, overriding/inheritance is one of the core things you need to grasp before going further
L1731[16:03:41] <howtonotwin> should be about 2/3 that maybe
L1732[16:03:47] <PaleoCrafter> okay
L1733[16:03:55] <Ordinastie> PaleoCrafter, I want my bounce bakc! :'(
L1734[16:03:57] <Artillect> It is a fair point
L1735[16:06:01] <Artillect> Where do I @Override onItemUse then?
L1736[16:06:09] ⇦ Quits: iari (~iari___@evana.futhark24.org) (Quit: Leaving)
L1737[16:06:27] <howtonotwin> http://docs.oracle.com/javase/tutorial/java/IandI/override.html
L1738[16:06:56] ⇦ Quits: Jezza (~Jezza@92.206.4.86) (Ping timeout: 198 seconds)
L1739[16:07:05] ⇨ Joins: RichardG_ (~richardg8@201.37.255.130)
L1740[16:07:06] MineBot sets mode: +v on RichardG_
L1741[16:07:18] <howtonotwin> Is it considered bad practice to not have a public constructor for a custom Block/Item?
L1742[16:07:28] ⇦ Quits: RichardG (~richardg8@201.37.255.130) (Ping timeout: 206 seconds)
L1743[16:07:37] <kenzierocks> i wouldn't think so
L1744[16:08:02] <howtonotwin> The way I have it now corresponds to something like a singleton anonymous class in Java
L1745[16:08:07] <Ordinastie> howtonotwin, are you using a factory instead ?
L1746[16:08:10] <Ordinastie> if so, that's ok
L1747[16:08:37] <howtonotwin> I'm not
L1748[16:08:46] <williewillus> how is it constructed then? :P
L1749[16:08:53] <howtonotwin> Scala :P
L1750[16:08:59] <Ordinastie> eww
L1751[16:09:08] <howtonotwin> object BlockX extends BlockMod(material, name) { ... }
L1752[16:09:09] <Ordinastie> here is a door, take it => [- ]
L1753[16:09:12] <howtonotwin> xD
L1754[16:09:36] <Ordinastie> isn't BlockMod(material, name) the ctor ?
L1755[16:09:42] * howtonotwin opens door, but finds a stone wall in his path
L1756[16:09:45] <howtonotwin> no
L1757[16:09:49] <howtonotwin> it's the superclass ctor
L1758[16:09:57] <williewillus> yeah but that generates a constructor that calls the super one right
L1759[16:10:00] <howtonotwin> Yes
L1760[16:10:03] <howtonotwin> but it's private
L1761[16:10:11] <howtonotwin> It generates a class BlockX$
L1762[16:10:26] <howtonotwin> and a single instance of that class in BlockX$.MODULE$
L1763[16:10:34] <williewillus> i mean I wouldn't worry about scala's internal impl details, on the surface it's fine
L1764[16:10:35] <williewillus> lol
L1765[16:10:36] <howtonotwin> where BlockX$ is basically and anon class
L1766[16:10:38] <howtonotwin> :P
L1767[16:10:42] <howtonotwin> *an
L1768[16:10:50] <Ordinastie> howtonotwin, what if someone wanted to extend your block ?
L1769[16:11:21] <howtonotwin> true, but I don't quite want them to.
L1770[16:11:25] <howtonotwin> erm
L1771[16:11:29] <howtonotwin> ignore everything after the ,
L1772[16:11:33] <PaleoCrafter> https://gfycat.com/FluffyEuphoricBluetonguelizard
L1773[16:12:00] <howtonotwin> more triangles?
L1774[16:12:10] <Artillect> ^
L1775[16:12:12] ⇨ Joins: MalkContent (~MalkConte@p4FDCCBC6.dip0.t-ipconnect.de)
L1776[16:12:32] <Ordinastie> PaleoCrafter, what about making the sparks bouncing off the edges ? :D
L1777[16:12:35] <howtonotwin> guess we're back to the old way of writing blocks
L1778[16:12:52] <PaleoCrafter> fuck off with your bounce, Ordinastie :P
L1779[16:13:04] <Ordinastie> but they're coooool :'(
L1780[16:13:12] <howtonotwin> class BlockX(name) extends BlockMod(material, name); object BlockX extends BlockX(name)
L1781[16:13:52] <PaleoCrafter> i.e. more sparks where don't go as far?
L1782[16:14:02] <PaleoCrafter> *where some
L1783[16:14:08] <howtonotwin> yeah
L1784[16:14:15] <howtonotwin> but now what goes in the class and what goes in the singleton?
L1785[16:14:35] <howtonotwin> like I don't think it well to override getRenderType in the class
L1786[16:14:52] <howtonotwin> as a subclass of my block might not want that
L1787[16:15:02] <williewillus> i think it'd look better if the sparks arced up more
L1788[16:15:05] <howtonotwin> or, better worded, it's specific to the block
L1789[16:15:06] <williewillus> instead of just flying outward?
L1790[16:15:07] <williewillus> idk
L1791[16:16:34] ⇦ Quits: williewillus (~williewil@cpe-24-28-24-13.austin.res.rr.com) (Quit: Leaving)
L1792[16:17:04] *** RichardG_ is now known as RichardG
L1793[16:17:06] <Artillect> Ok, I've looked at the docs and I still can't figure out how to override onitemuse from Item
L1794[16:17:31] <AshIndigo_> Post code
L1795[16:17:48] ⇦ Quits: Katrix (~Katrix@cm-84.210.73.141.getinternet.no) (Ping timeout: 186 seconds)
L1796[16:17:53] <Artillect> https://gist.github.com/Artillect/fa5483f4874ac669514428abe902dd40
L1797[16:18:12] <Artillect> this is what I've had for a while
L1798[16:18:14] <PaleoCrafter> use your IDE for overrides :P
L1799[16:18:20] ⇦ Quits: Fye (~Fye@dynamic-adsl-84-221-215-62.clienti.tiscali.it) (Quit: KVIrc 4.9.1 Aria http://www.kvirc.net/)
L1800[16:18:22] ⇨ Joins: Katrix (~Katrix@2a02:fe0:cb10:2420:a5a0:93f4:2414:5b55)
L1801[16:18:24] <howtonotwin> no it's an "idk how to oop" type thing here
L1802[16:18:40] <PaleoCrafter> still should use the IDE or at least add @Override
L1803[16:18:49] <howtonotwin> Although I respect that you may learn better by actually doing something, MC modding is the crappiest place to learn Java
L1804[16:19:00] <howtonotwin> we have too many hacks in place to be considered good for learning :P
L1805[16:19:02] <Artillect> that's fair
L1806[16:19:14] <Artillect> I don't plan on using Java much else when I can choose though
L1807[16:19:14] <howtonotwin> read the entire java tutorial oracle has
L1808[16:19:16] <howtonotwin> it has examples
L1809[16:19:20] <Artillect> ok
L1810[16:19:24] <howtonotwin> so you can tinker about
L1811[16:19:33] <howtonotwin> THEN come back here
L1812[16:19:39] <howtonotwin> should take ~a week
L1813[16:19:40] <PaleoCrafter> chances are you'll get to learn about the JVM internals and bytecode more if you learn with Forge and get nasty xD
L1814[16:20:00] <Artillect> sounds like fun
L1815[16:20:05] <howtonotwin> it's not
L1816[16:20:09] <howtonotwin> the JVM is stoopid
L1817[16:20:34] <howtonotwin> and classloaders are pure black magic
L1818[16:20:47] <PaleoCrafter> gfycat just told me that my animation already existed and linked this: https://gfycat.com/ElectricPracticalGrayling ._.
L1819[16:21:06] <howtonotwin> wat
L1820[16:21:20] <howtonotwin> methinks someone's algorithm is crappy
L1821[16:21:51] <Artillect> lmao
L1822[16:22:14] <PaleoCrafter> nah, totally looks the same
L1823[16:22:15] <Artillect> i mean an anvil looks vaguely like a helicopter
L1824[16:22:21] <PaleoCrafter> stuff's falling and everything
L1825[16:22:50] <PaleoCrafter> https://gfycat.com/LinearHelplessIbisbill
L1826[16:23:25] ⇦ Quits: Hgreb (~Hgrebnedn@ptr-2hj4tbppx785m70ryu6wwl7a5.ip6.access.telenet.be) (Ping timeout: 206 seconds)
L1827[16:23:26] <Artillect> there's one triangle that doesn't look like it's fading as much
L1828[16:23:55] <ghz|afk> PaleoCrafter: jsut out of curiosity, is it possible to export the same file but with less frames? or you'd tave to recreate it?
L1829[16:24:00] <PaleoCrafter> the last one to disappear, Artillect?
L1830[16:24:03] <Artillect> yeah
L1831[16:24:07] <PaleoCrafter> less frames as in FPS, ghz|afk?
L1832[16:24:11] <ghz|afk> yes
L1833[16:24:11] <Artillect> I'd make them all disappear at about the same time
L1834[16:24:23] <ghz|afk> with like 4fps
L1835[16:24:26] <Artillect> even though irl they don't all disappear at the same time
L1836[16:24:38] <ghz|afk> (or 6 or so)
L1837[16:24:53] <PaleoCrafter> if you just want it slower, you can do so on gfycat :P
L1838[16:25:02] <ghz|afk> nono I want it with less overall frames
L1839[16:25:19] <PaleoCrafter> I'll see what I can do
L1840[16:25:25] <PaleoCrafter> but chances are I'd have to redo it all
L1841[16:25:39] <PaleoCrafter> Artillect, I actually changed it from disappearing all at the same time
L1842[16:25:44] <PaleoCrafter> looked a little off
L1843[16:25:53] <ghz|afk> wait
L1844[16:25:53] <ghz|afk> https://zippy.gfycat.com/LinearHelplessIbisbill.gif
L1845[16:26:03] <ghz|afk> the "open large gif" option already does what I wanted to see
L1846[16:26:20] <PaleoCrafter> which is? :P
L1847[16:26:27] <ghz|afk> the normal player is a LOT smoother
L1848[16:26:29] <ghz|afk> it looks "off"
L1849[16:26:31] <ghz|afk> un-gif-like
L1850[16:26:58] <Artillect> maybe make the hammer accelerate a bit more
L1851[16:27:05] <Artillect> and come back up a bit slower
L1852[16:29:50] <Artillect> for some reason (after some changes) mc is taking much longer to load from my eclipse project
L1853[16:30:49] <Artillect> or at least the application looks like it's still loading
L1854[16:30:57] <Artillect> the console says that the sound engine was started
L1855[16:31:50] ⇨ Joins: FusionLord (~FusionLor@2600:8800:1:e900:7537:595d:983e:4b3c)
L1856[16:32:10] <howtonotwin> soundhandler is strange sometimes
L1857[16:32:20] <howtonotwin> it can load super quickly or take 5 years
L1858[16:32:30] <Artillect> right now mc is in the model loading period though
L1859[16:32:46] <howtonotwin> in general loading is kinda variable
L1860[16:32:47] <PaleoCrafter> https://gfycat.com/PastelVacantDromedary
L1861[16:32:51] <howtonotwin> it's fine
L1862[16:33:02] <howtonotwin> for both of you
L1863[16:33:03] <Artillect> the hammer motion looks more natural now
L1864[16:33:13] <Artillect> (i think)
L1865[16:33:24] <illy> boop o/
L1866[16:33:41] <Artillect> i like it PaleoCrafter
L1867[16:33:59] <PaleoCrafter> it's still rather unnatural because it's only rotating, but I can't be arsed to add some translation, because Synfig's a piece of shit xD
L1868[16:34:21] <Artillect> yeah don't worry about that
L1869[16:34:27] <Artillect> I think it looks fine just rotating
L1870[16:34:50] <Artillect> getting it to look natural by moving it around would be incredibly hard it seems
L1871[16:35:26] <Artillect> mc has been loading for like 10 minutes now
L1872[16:35:29] <Artillect> did I break something?
L1873[16:35:47] <PaleoCrafter> it wouldn't be too hard if Synfig wasn't this bad xD
L1874[16:35:57] <PaleoCrafter> I'm glad it hasn't crashed in the last few minutes
L1875[16:36:57] ⇦ Quits: CoolerExtreme (~CoolerExt@45.249.156.132) (Ping timeout: 206 seconds)
L1876[16:37:15] <Artillect> it appears changing the type of onItemUse to enumActionResult and fixing assorted errors greatly increases load time
L1877[16:37:34] <ghz|afk> okay here's how I'm picturing it
L1878[16:37:50] <ghz|afk> for reference, I used the "Microsoft GIF animator" from the 90s, to delete some frames and such
L1879[16:37:55] <ghz|afk> so it looks like crap
L1880[16:37:56] <ghz|afk> https://dl.dropboxusercontent.com/u/743491/LinearHelplessIbisbill.gif
L1881[16:38:19] <ghz|afk> the leftover pixels are because the gif is using difference-frames
L1882[16:38:25] <ghz|afk> so removing random frames doesn't just work
L1883[16:38:32] <howtonotwin> It still makes me crack up seeing scala-continuations in the forge libs...
L1884[16:38:52] <ghz|afk> I believe the animation feels a LOT more like a loading screen
L1885[16:38:56] <ghz|afk> when it has very few frames
L1886[16:39:16] <kenzierocks> that looks nice ghz|afk /s
L1887[16:39:19] <ghz|afk> that has 11 frames total
L1888[16:39:26] <Artillect> How can I look at the class a method comes from?
L1889[16:39:37] <ghz|afk> go to super
L1890[16:39:39] <ghz|afk> or something similar
L1891[16:39:46] <ghz|afk> there should be a menu item for it in whatever IDE you use
L1892[16:40:05] <ghz|afk> go to definition if you mean a method you are calling
L1893[16:40:59] <howtonotwin> Is Forge still Java 6 for 1.11 or has it updated?
L1894[16:41:17] <ghz|afk> java6 until mojang goes j8
L1895[16:41:20] <kenzierocks> yep
L1896[16:41:27] <howtonotwin> thx
L1897[16:41:28] <kenzierocks> although in reality tons of modders just use j8
L1898[16:43:03] <howtonotwin> What do the jsons in the repo under jsons/ do?
L1899[16:43:15] <howtonotwin> they seem to define libraries but where are they used?
L1900[16:43:44] <howtonotwin> I think maybe -dev is for the workspace and -rel is what the installer looks for but I'm not sure
L1901[16:45:26] <PaleoCrafter> uhm... Forge technically is J8 now
L1902[16:45:37] <PaleoCrafter> Mercurius and shit
L1903[16:45:42] *** diesieben07 is now known as diesieben|away
L1904[16:46:03] <kenzierocks> lol
L1905[16:46:14] <kenzierocks> you know some people still use java 7 on their servers
L1906[16:46:22] <kenzierocks> even though it's been dead for 2 years
L1907[16:46:26] <PaleoCrafter> idc
L1908[16:46:36] <Artillect> Ok, so since my ItemVoltimeter inherits from ItemBase which inherits from Item, shouldn't I just @Override in ItemVoltimeter?
L1909[16:46:43] <Artillect> I don't understand why it would be otherwise
L1910[16:47:24] <howtonotwin> yes
L1911[16:49:03] ⇨ Joins: Umbraco (~Umbraco@113x37x12x233.ap113.ftth.ucom.ne.jp)
L1912[16:52:38] ⇦ Quits: Katrix (~Katrix@2a02:fe0:cb10:2420:a5a0:93f4:2414:5b55) (Ping timeout: 384 seconds)
L1913[16:52:56] ⇨ Joins: Katrix (~Katrix@2a02:fe0:cb10:2420:d8af:2204:eba5:9464)
L1914[16:53:44] <Artillect> well fuck me
L1915[16:53:45] <Artillect> that worked
L1916[16:54:19] <ghz|afk> there
L1917[16:54:19] <ghz|afk> https://dl.dropboxusercontent.com/u/743491/Bleh.gif
L1918[16:54:40] <Artillect> also, why is the method for getting player x, y, and z posx and so on, but for a block it is getX()?
L1919[16:55:00] <Artillect> turns out I was just using the wrong parameters
L1920[16:55:07] <ghz|afk> PaleoCrafter: ended up using photoshop to mess around with the frames in your gif and export a low-frame-rate version ;P
L1921[16:55:24] <Artillect> ghz|afk i think it looks good
L1922[16:55:25] <PaleoCrafter> how low?
L1923[16:55:32] <kenzierocks> i don't like it as much
L1924[16:55:38] <PaleoCrafter> because I can actually reduce the FPS :P
L1925[16:55:39] <ghz|afk> it's variable frame rate
L1926[16:55:40] <kenzierocks> mostly because the particles exist for like 2 frames
L1927[16:55:45] <Artillect> ^
L1928[16:55:56] <kenzierocks> might as well not have them do velocity
L1929[16:56:06] <kenzierocks> like in the current animation for the loading screen
L1930[16:56:31] <ghz|afk> but it has 11 frames and takes slightly over a second, so around 10fps
L1931[16:57:03] <ghz|afk> the particles existing for only 2-3 frames is part of what I didn't like
L1932[16:57:12] <ghz|afk> I mean for more than*
L1933[16:57:27] <Artillect> ok, now that I've gotten my item to work I'll work on learning some more Java
L1934[16:57:35] <ghz|afk> I guess we just have different ideas of waht would looks good
L1935[16:57:36] <ghz|afk> ;P
L1936[16:57:52] <Artillect> one last question though, where can I read up on capabilities?
L1937[16:57:58] <ghz|afk> on the official docs
L1938[16:57:59] <ghz|afk> on rtf
L1939[16:58:02] <ghz|afk> rtd*
L1940[16:58:04] <kenzierocks> /topic
L1941[16:58:10] <ghz|afk> see the documentation link in the topic
L1942[16:58:10] <Artillect> of course
L1943[16:58:12] <kenzierocks> rtfd :P
L1944[16:58:29] <ghz|afk> i have never liked the "f"
L1945[16:58:33] <kenzierocks> read the fabulous docs
L1946[16:58:45] <kenzierocks> read the frank docs
L1947[16:58:52] <Artillect> and capabilities can be used for cables and such?
L1948[16:59:13] <ghz|afk> capabilities are just "things you can attach to things"
L1949[16:59:20] <ghz|afk> they don't care what you use them for
L1950[16:59:25] <Artillect> yeah
L1951[16:59:32] <ghz|afk> they are a way to flexibly attach and expose interfaces
L1952[16:59:41] <Artillect> let me rephrase, I can use capabilities to make cables and pipes?
L1953[16:59:48] <ghz|afk> "do you have something for this interface? yes? then give it to me"
L1954[16:59:53] <ghz|afk> yes and no
L1955[16:59:56] ⇦ Quits: howtonotwin (~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net) (Ping timeout: 186 seconds)
L1956[16:59:57] <ghz|afk> IF you do make cables and pipes
L1957[17:00:10] <ghz|afk> you will want those cables and pipes to have an API
L1958[17:00:16] <ghz|afk> they'll have to carry something
L1959[17:00:21] <ghz|afk> items, energy, fluids, whatever
L1960[17:00:25] <ghz|afk> and it's those things
L1961[17:00:30] <ghz|afk> the items, energy, fluids, whatever
L1962[17:00:36] <ghz|afk> that will probably have a capability-based API
L1963[17:00:47] <ghz|afk> so
L1964[17:01:06] <ghz|afk> you will probably use capabilities in the process
L1965[17:01:06] <Artillect> do you have any good examples of simple cables I can check out?
L1966[17:01:09] <ghz|afk> but the capabilities don't make the cable
L1967[17:01:16] ⇦ Quits: Hunterz (~hunterz@62.182.234.189) (Quit: Leaving.)
L1968[17:01:17] <Artillect> sounds good
L1969[17:05:16] ⇦ Quits: MalkContent (~MalkConte@p4FDCCBC6.dip0.t-ipconnect.de) (Quit: Leaving)
L1970[17:06:55] ⇦ Quits: KnightMiner (~KnightMin@adsl-75-5-64-247.dsl.emhril.sbcglobal.net) (Ping timeout: 206 seconds)
L1971[17:08:38] *** MrKickkiller is now known as MrKick|Away
L1972[17:13:11] ⇦ Quits: Girafi (Girafi@0x555178eb.adsl.cybercity.dk) (Read error: Connection reset by peer)
L1973[17:14:21] ⇨ Joins: VikeStep (~VikeStep@101.184.229.226)
L1974[17:16:03] *** PaleoCrafter is now known as PaleOff
L1975[17:18:40] ⇦ Quits: AshIndigo_ (~AshIndigo@79-67-168-211.dynamic.dsl.as9105.com) (Read error: Connection reset by peer)
L1976[17:18:41] ⇨ Joins: AshIndigo__ (~AshIndigo@188.29.165.75.threembb.co.uk)
L1977[17:18:42] ⇦ Quits: AshIndigo__ (~AshIndigo@188.29.165.75.threembb.co.uk) (Remote host closed the connection)
L1978[17:20:40] ⇨ Joins: Vazkii (~Vazkii@144.134.37.188.rev.vodafone.pt)
L1979[17:21:49] <Artillect> how many changes are going to be made forge-wise between 1.10 and 1.11
L1980[17:25:27] <ghz|afk> depends on how many interesting things people come up with, during the early days of 1.11
L1981[17:25:37] <ghz|afk> but most of the changes will be from mojang themselves
L1982[17:25:46] <ghz|afk> I mean, have been*
L1983[17:34:17] *** amadornes[Streaming] is now known as amadornes
L1984[17:35:15] * TechnicianLP broke his pr workspace while trying to get one testmod to load
L1985[17:37:50] ⇦ Quits: SquareWheel (~SquareWhe@S0106687f7463986c.ok.shawcable.net) (Quit: Leaving)
L1986[17:38:12] <Keridos> TehNut: using your gradle maven integration from your SSTOW gradle but having a problem here, it doesnt put anything into the mavenLocal folder except a single xml
L1987[17:39:15] <Keridos> nvm
L1988[17:40:45] ⇦ Quits: Artillect (~Artillect@166.170.45.49) (Ping timeout: 206 seconds)
L1989[17:46:33] ⇦ Quits: Emris (~Miranda@62.178.245.147) (Quit: Miranda IM! Smaller, Faster, Easier. http://miranda-im.org)
L1990[17:49:51] <barteks2x> I don't understand code I wrote a few minutes ago...
L1991[17:50:06] <Keridos> o.O my maven repo has some weird foldernames https://maven.ironhide.de/openmodularturrets/
L1992[17:50:25] <Keridos> why is there an openmodularturrets-1.10.2 in it
L1993[17:52:14] <ghz|afk> because your jar's base name is "openmodularturrets-1.10.2"?
L1994[17:52:35] <ghz|afk> https://maven.ironhide.de/openmodularturrets/OpenModularTurrets-1.10.2/3.0.0-3/
L1995[17:52:42] <ghz|afk> the maven structure is
L1996[17:53:00] <ghz|afk> ./groupid/artifactid/version/
L1997[17:53:40] <ghz|afk> in the gradle deps, you'd then write it as "openmodularturrets:OpenModularTurrets-1.10.2:3.0.0-3"
L1998[17:54:50] <Keridos> ah ghz|afk that expains it
L1999[17:55:50] <barteks2x> that code is way too confusing... and definitely doesn't work. And I have no idea how to make it easier to understand :( http://pastebin.com/qAt5SVPQ
L2000[17:56:50] <kenzierocks> what is it supposed to do
L2001[17:57:19] <barteks2x> Do you know how ChunkProviderOverworld.setBlocksInChunk works?
L2002[17:57:31] <barteks2x> it's supposed to be iterator that does the 6 nested loops thing
L2003[17:57:54] <Keridos> my local repository has a weird feature though, apparently the groupid is not determined by the build.gradle
L2004[17:58:05] <Keridos> it takes the name of the project in idea or jenkins
L2005[17:58:20] <Keridos> eh
L2006[17:58:31] <Keridos> artifactid I mean
L2007[17:58:40] <ghz|afk> wat
L2008[17:58:44] <kenzierocks> that sounds like the default behaviour?
L2009[17:58:48] <ghz|afk> do you have
L2010[17:58:49] <ghz|afk> version = "2.0.1"
L2011[17:58:49] <ghz|afk> group= "gigaherz.enderRift"
L2012[17:58:49] <ghz|afk> archivesBaseName = "EnderRift-1.11.0"
L2013[17:58:54] <Keridos> no
L2014[17:58:57] <ghz|afk> something like that, in your build.gradle?
L2015[17:59:00] <kenzierocks> if you don't specify archivesBaseName you get the name of the folder
L2016[17:59:05] <Keridos> archivesBaseName = "${config.mod_id}"
L2017[17:59:08] <kenzierocks> or the name of the project in settings.gradle
L2018[17:59:19] <kenzierocks> the artifact id comes from the name of the project
L2019[17:59:23] <ghz|afk> and what's config.mod_id
L2020[17:59:24] <kenzierocks> not the archivesBaseName
L2021[18:00:02] <Keridos> config.mod_id is a config file that gets read in
L2022[18:00:09] <Keridos> could probably use project.mod_id
L2023[18:01:31] <Keridos> https://github.com/OpenModularTurretsTeam/OpenModularTurrets/blob/1.10.2/build.gradle
L2024[18:01:36] ⇨ Joins: MrIbby (~MrIbby@173.85.192.160)
L2025[18:02:24] <Keridos> I do specify archivesBaseName so why does artifactId still get changed to be some other value?
L2026[18:03:59] <Keridos> kenzierocks: you have any idea how I could turn that off?
L2027[18:04:06] <kenzierocks> turn... what off
L2028[18:04:18] <kenzierocks> gradle grabbing the artifactId from the name?
L2029[18:04:21] <kenzierocks> by specifying it?
L2030[18:04:36] <Keridos> you mean archivesBaseName? I have that set
L2031[18:04:38] <kenzierocks> no
L2032[18:04:54] <kenzierocks> like i said above, the maven plugin does not take the artifactId from archivesBaseName
L2033[18:05:06] <Keridos> ah so I need settings.gradle?
L2034[18:05:19] <kenzierocks> if you want the name of the project to be the mod_id, yes
L2035[18:05:27] <kenzierocks> otherwise you can just set it for the maven plugin
L2036[18:05:44] ⇦ Quits: TechnicianLP (~Technicia@p4FE5738E.dip0.t-ipconnect.de) (Ping timeout: 384 seconds)
L2037[18:05:51] <kenzierocks> oh wait i'm wrong
L2038[18:05:52] <kenzierocks> shit
L2039[18:05:58] <kenzierocks> artifactId = uploadTask.repositories.mavenDeployer.pom.artifactId (if set) or archiveTask.baseName.
L2040[18:06:09] <kenzierocks> archiveTask.baseName defaults to project.archivesBaseName which in turn defaults to project.name
L2041[18:06:54] <Keridos> doesnt that mean that everything you be alright for me?
L2042[18:06:59] <Keridos> should
L2043[18:07:01] <Keridos> but its not
L2044[18:07:05] <kenzierocks> aaaahhh
L2045[18:07:09] <kenzierocks> but that's for the old maven plugin
L2046[18:07:15] <kenzierocks> you're using the new one
L2047[18:07:17] <kenzierocks> > artifactId - Project.getName()
L2048[18:07:28] <kenzierocks> https://docs.gradle.org/current/userguide/publishing_maven.html#publishing_maven:publish-customize-identity
L2049[18:07:58] <kenzierocks> you should be able to stick `artifactID = config.mod_id` right here: https://github.com/OpenModularTurretsTeam/OpenModularTurrets/blob/1.10.2/build.gradle#L134
L2050[18:08:23] <Keridos> yeah i figured that out, thanks for explaining it to me
L2051[18:11:01] ⇦ Quits: Vazkii (~Vazkii@144.134.37.188.rev.vodafone.pt) (Read error: Connection reset by peer)
L2052[18:11:29] ⇨ Joins: KnightMiner (~KnightMin@adsl-75-5-64-247.dsl.emhril.sbcglobal.net)
L2053[18:14:48] ⇦ Quits: Katrix (~Katrix@2a02:fe0:cb10:2420:d8af:2204:eba5:9464) (Ping timeout: 384 seconds)
L2054[18:15:06] ⇨ Joins: Katrix (~Katrix@2a02:fe0:cb10:2420:f98e:a72b:ecc6:547d)
L2055[18:16:31] ⇦ Quits: KnightMiner (~KnightMin@adsl-75-5-64-247.dsl.emhril.sbcglobal.net) (Ping timeout: 206 seconds)
L2056[18:16:37] ⇨ Joins: Artillect (~Artillect@2602:306:c407:2eb0:510a:5fcd:657c:d299)
L2057[18:16:55] <Artillect> How can I make my item ignore chests and inventories on right click?
L2058[18:17:34] <ghz|afk> you can't
L2059[18:17:43] <ghz|afk> the target has the first say
L2060[18:17:50] <ghz|afk> shift-click to bypass
L2061[18:17:59] <Keridos> wohoo now i can safely deploy a lib for OMT and its companion mods
L2062[18:19:11] <Artillect> if I create a tile entity, can I change that behavior or is it the same for all?
L2063[18:19:22] <ghz|afk> actually
L2064[18:19:29] <ghz|afk> there's an onItemUseFirst hmm
L2065[18:20:09] ⇨ Joins: sinkillerj (~sinkiller@nc-67-232-9-133.dhcp.embarqhsd.net)
L2066[18:20:17] <ghz|afk> seems to be called before the normal onItemUse
L2067[18:20:31] <ghz|afk> which would let you invert the priority
L2068[18:21:00] <Artillect> it's just called onItemUseFirst?
L2069[18:21:27] <ghz|afk> yes?
L2070[18:21:34] <Artillect> my IDE doesn't see anything
L2071[18:21:41] <Artillect> one sec
L2072[18:21:48] <Artillect> nvm it exists
L2073[18:24:10] ⇨ Joins: Shambling (~Shambling@24-181-186-74.dhcp.nwtn.ct.charter.com)
L2074[18:25:28] *** amadornes is now known as amadornes[OFF]
L2075[18:25:51] ⇦ Quits: Samario (~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net) (Quit: You think you are above consequences.)
L2076[18:26:09] <Artillect> it isn't rotating clockwise, it's making it face east, north, south, then west
L2077[18:26:14] <Artillect> how can I fix that
L2078[18:27:52] ⇨ Joins: Everseeking (~Everseeki@pool-100-6-80-90.pitbpa.fios.verizon.net)
L2079[18:30:34] <ghz|afk> how areyou rotating?
L2080[18:31:43] <Artillect> state.getBlock().rotateBlock(worldIn, pos, targetFacing)
L2081[18:32:04] <Artillect> IBlockState state = worldIn.getBlockState(pos);
L2082[18:32:17] <Artillect> ^that line comes before of course
L2083[18:33:40] <ghz|afk> yep
L2084[18:34:00] <ghz|afk> so, that function calls state.cycleProperty
L2085[18:34:18] <ghz|afk> which calls an internal cyclePropertyValue, which just uses the value order within the property
L2086[18:34:35] <Artillect> so that's a blockstates thing?
L2087[18:34:36] <ghz|afk> and PropertyFacings aren't in a "cyclic" order
L2088[18:34:43] <Artillect> ah
L2089[18:34:46] <ghz|afk> if you are rotating your own block
L2090[18:34:52] <ghz|afk> you can implement your own rotateBlock
L2091[18:34:54] <ghz|afk> which does it right
L2092[18:34:57] <Artillect> ok
L2093[18:34:59] <ghz|afk> otherwise, you'll have to live with it
L2094[18:35:21] <Artillect> I could do it on a block-by-block basis but that'd be a PITA
L2095[18:35:52] <ghz|afk> it's not up to you to decide whihc order to rotate
L2096[18:35:56] <ghz|afk> it's up to the block
L2097[18:36:05] <Artillect> ok
L2098[18:36:35] <ghz|afk> but as I was saying
L2099[18:36:41] <ghz|afk> is it your own blocks you want to rotate?
L2100[18:36:48] <Artillect> eventually, yeah
L2101[18:37:13] <ghz|afk> yeah then just make sure to use the right PropertyDirection settings
L2102[18:37:15] <ghz|afk> and it should work
L2103[18:37:37] <Artillect> and I just set it in order?
L2104[18:37:46] <ghz|afk> no
L2105[18:37:50] <ghz|afk> the property will look like
L2106[18:38:01] <ghz|afk> PropertyDirection FACING = PropertyDirection.create(stuff)
L2107[18:39:24] <Artillect> ok
L2108[18:39:43] <Artillect> what's the stuff inside?
L2109[18:40:38] <ghz|afk> you'll see ;P
L2110[18:40:45] <Artillect> fair enough
L2111[18:41:47] <Artillect> if I want to make a block "dismantleable" with my wrench do I just check if it has an interface "IIsDismantleable" and then break it?
L2112[18:43:32] <ghz|afk> well ideally you'll want some standard API
L2113[18:43:36] <ghz|afk> iuf you just add your own
L2114[18:43:45] <ghz|afk> then it's yet another incompatible wrench api around
L2115[18:43:54] <Artillect> true
L2116[18:44:01] <Artillect> what's one of the generally accepted ones
L2117[18:44:16] <ghz|afk> no idea
L2118[18:44:27] <ghz|afk> check other mods with wrenches
L2119[18:44:31] <Artillect> then we'll have 15 competing standards lol
L2120[18:44:35] <Artillect> jk I'll check those out
L2121[18:44:36] <ghz|afk> I tried to design my own
L2122[18:44:38] <ghz|afk> https://github.com/gigaherz/CapabilityCore/blob/master/src/main/java/gigaherz/capabilities/api/tweakable/ITweakable.java
L2123[18:44:44] <ghz|afk> but no one seemed interested
L2124[18:44:46] <ghz|afk> so I left it there
L2125[18:44:46] <ghz|afk> ;P
L2126[18:44:51] <Artillect> I could be the first
L2127[18:45:01] <Artillect> can I implement several wrench APIs?
L2128[18:45:07] <ghz|afk> of course
L2129[18:46:03] <ghz|afk> my idea was that TileEntities that support being wrenched, would expose this capability, and wrench items would check if it, and call the right action
L2130[18:46:12] <ghz|afk> however, this approach has certain flaws
L2131[18:46:20] <ghz|afk> first, that it only works for blocks with TileEntities
L2132[18:46:28] <barteks2x> idea does something weird again, it just won't show me compile errors
L2133[18:46:39] <barteks2x> unless I open file that contains then
L2134[18:46:50] <barteks2x> even when I rebuild the project
L2135[18:46:51] <ghz|afk> barteks2x: I don't know how you manage to get so many issues with IDEA
L2136[18:46:52] <ghz|afk> XD
L2137[18:47:03] <barteks2x> imagine me using eclipse :D
L2138[18:47:48] <ghz|afk> [01:46] (ghz|afk): first, that it only works for blocks with TileEntities
L2139[18:48:04] <Artillect> yeah
L2140[18:48:30] <blood_> this.inventory.mainInventory[this.inventory.currentItem] what is this for 1.11
L2141[18:48:40] <ghz|afk> ewh
L2142[18:48:46] <blood_> so i dont have to build a workspace
L2143[18:48:47] <ghz|afk> you shouldn't even do that in 1.10
L2144[18:48:53] <ghz|afk> or 1.9
L2145[18:48:59] <ghz|afk> whenever offhand was added
L2146[18:49:00] <ghz|afk> you use
L2147[18:49:12] <ghz|afk> entity.getHeldItem(EnumHand.MAIN)
L2148[18:49:22] <blood_> and for set?
L2149[18:49:22] <ghz|afk> or something along those lines
L2150[18:49:27] <barteks2x> it also takes quite a fw seconds for idea to react to any mouse click for the first time when running on second monitor...
L2151[18:49:48] <ghz|afk> setHeldItem, I guess
L2152[18:49:58] <Artillect> is dismantle() a standard forge thing or a thing you made for capabilitycore ghz|afk?
L2153[18:50:14] <ghz|afk> a thing I invented
L2154[18:50:24] <ghz|afk> the idea was that the block would pop itself off
L2155[18:50:34] <blood_> setItemInHand vs SetHeldItem
L2156[18:50:35] <blood_> wtf?
L2157[18:50:47] <blood_> both take hand
L2158[18:51:01] <ghz|afk> I don't see setItemInHand
L2159[18:51:06] <blood_> nm
L2160[18:51:11] <blood_> thats our end =)
L2161[18:51:13] <blood_> ok thanks
L2162[18:51:22] <Artillect> Do you mind if I take your power system apart and use it for my mod?
L2163[18:51:25] <ghz|afk> your end is duplicating existing features, then
L2164[18:51:26] <ghz|afk> ;p
L2165[18:51:31] <ghz|afk> Artillect: don't bother
L2166[18:51:35] <ghz|afk> it's deprecated
L2167[18:51:38] <ghz|afk> forge has its own, now
L2168[18:51:44] <Artillect> Ah
L2169[18:51:46] <blood_> ghz|afk: nope it was our API =)
L2170[18:52:04] <ghz|afk> look for CapabilityEnergy, Artillect
L2171[18:52:04] <Artillect> Is Forge Energy configurable?
L2172[18:52:16] <Artillect> as in can I add things to it
L2173[18:52:23] <ghz|afk> waht do you mean things?
L2174[18:52:30] <Artillect> voltage
L2175[18:52:34] <Artillect> and more probably
L2176[18:52:37] <ghz|afk> no
L2177[18:52:46] <ghz|afk> you'd need your own API if you want more than just a single value
L2178[18:52:57] <ghz|afk> forge energy is just RF with a new interface
L2179[18:53:01] <Artillect> ah
L2180[18:53:04] <ghz|afk> it's 1:1 with RF and Tesla
L2181[18:53:08] <Artillect> would your power system be a good start for me then?
L2182[18:53:11] <ghz|afk> in terms of energy values
L2183[18:53:16] <ghz|afk> you could base it on mine, I guess
L2184[18:53:23] <ghz|afk> it's not a bad system
L2185[18:53:44] <ghz|afk> feature-wise it's equivalent to forge's
L2186[18:57:30] <Artillect> if I want to add voltage it's just another number in the interface?
L2187[18:57:36] ⇦ Quits: Kaiyouka (~IdiotNono@c-75-71-231-133.hsd1.co.comcast.net) (Ping timeout: 206 seconds)
L2188[18:57:51] ⇨ Joins: williewillus (~williewil@cpe-24-28-24-13.austin.res.rr.com)
L2189[18:57:59] <ghz|afk> yes
L2190[18:58:09] <ghz|afk> it's just an interface
L2191[18:58:12] <ghz|afk> it's up to you how to expand it
L2192[18:58:21] <ghz|afk> think of what operations you will need to do with it
L2193[18:59:16] *** Keridos is now known as Keridos|away
L2194[19:00:33] <williewillus> how do i turn off that thing in IDEA where it sticks the parameter names in front of all your method calls?
L2195[19:02:49] <Artillect> how do I do something when a block is placed?
L2196[19:02:57] <williewillus> onBlockPlacedBy
L2197[19:03:05] <williewillus> Block.onBlockPlacedBy
L2198[19:03:52] <Artillect> ok
L2199[19:04:08] <ghz|afk> Parameter hints
L2200[19:04:09] <ghz|afk> The editor now shows parameter hints for literals and nulls used as method arguments. These hints make code much more readable.
L2201[19:04:09] <ghz|afk> If you find hints redundant for a certain method, you can tell the IDE not to show hints for this method. To disable hints completely, uncheck Settings → Editor → General → Appearance → Show parameter name hints.
L2202[19:04:24] <williewillus> thx
L2203[19:04:40] <williewillus> they're useful in a foreign codebase but for mc and projecte methods I've seen millions of times they're pointless
L2204[19:05:04] ⇦ Quits: MoxieGrrl (~MoxieGrrl@173-23-172-139.client.mchsi.com) (Quit: Leaving)
L2205[19:08:52] ⇨ Joins: AshIndigo_ (~AshIndigo@79-67-168-211.dynamic.dsl.as9105.com)
L2206[19:11:21] ⇨ Joins: KnightMiner (~KnightMin@adsl-75-5-64-247.dsl.emhril.sbcglobal.net)
L2207[19:19:04] ⇦ Quits: Shambling (~Shambling@24-181-186-74.dhcp.nwtn.ct.charter.com) (Quit: Leaving)
L2208[19:21:14] <Artillect> And I just had my first crash
L2209[19:21:14] <Artillect> lit
L2210[19:22:48] <Artillect> holy moly I didn't realize how thorough the crash reporter was
L2211[19:26:31] <williewillus> I'm trying to render an aabb in a TESR using RenderGlobal.drawBoundingBox, and it keeps flickering on and off. any ideas how I screwed up the gl? :P
L2212[19:27:05] <Artillect> "class com.artillect.voltaics.tileentity.TileEntityCopperCell is missing a mapping! This is a bug!"
L2213[19:27:06] <Artillect> how do I fix
L2214[19:27:11] <williewillus> register the TE
L2215[19:27:29] <Artillect> thanks
L2216[19:27:54] <barteks2x> interpolation along z axis finally works :D
L2217[19:29:25] <Artillect> how can I get information from a block that is set by an interface?/
L2218[19:30:14] <barteks2x> it seems to work
L2219[19:30:49] ⇨ Joins: AstralSorcerer (~AstralSor@128.151.114.117)
L2220[19:31:04] <williewillus> Artillect: what does that mean?
L2221[19:31:55] <Artillect> actually a capability
L2222[19:32:11] <Artillect> basically, I've set the power capacity of this block using a capability
L2223[19:32:15] <Artillect> how can I retrieve that?
L2224[19:32:29] <williewillus> blocks don't have caps
L2225[19:32:31] <williewillus> te's do
L2226[19:32:37] <Artillect> yes, that
L2227[19:32:39] <Artillect> sorry
L2228[19:32:44] <williewillus> type <your te variable>.
L2229[19:32:55] <williewillus> and let your ide fill autocomplete and look for something with "capability"
L2230[19:32:58] <williewillus> in the name :P
L2231[19:33:34] <Artillect> how can I get my tile entity from an onitemuse?
L2232[19:34:07] ⇨ Joins: howtonotwin (~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net)
L2233[19:34:18] <williewillus> from the world and pos
L2234[19:35:11] <williewillus> i don't get this rendering thing 0.o
L2235[19:35:32] <williewillus> the box I want to render randomly flickers in and out, but when it does render it's in the right place
L2236[19:35:37] <ghz|afk> hmmm
L2237[19:35:41] <ghz|afk> depth testing?
L2238[19:35:45] <williewillus> right now it's rendering whenever I look away from the TE
L2239[19:35:48] <ghz|afk> is there something that would overlap?
L2240[19:35:48] <Artillect> world.getBlockState(pos)?
L2241[19:35:55] <ghz|afk> try using GlStateManager.disableDepth
L2242[19:35:57] <williewillus> Artillect: you want a tileentity
L2243[19:36:00] <ghz|afk> and see if that works any better
L2244[19:36:03] <williewillus> iblockstate != tile entity
L2245[19:36:06] <Artillect> ah
L2246[19:36:25] <ghz|afk> Artillect: there's a getTileEntity in there
L2247[19:36:32] <ghz|afk> what made you think getBlockState was a better choice?
L2248[19:36:34] <williewillus> actually this box isn't in the right place
L2249[19:36:49] <Artillect> so world.getTileEntity(pos) gets me my te
L2250[19:36:52] <Artillect> awesome
L2251[19:36:58] <williewillus> if I have an aabb in world coords how do I adjust it to render in a TESR
L2252[19:36:58] <ghz|afk> usually.
L2253[19:37:06] <ghz|afk> always verify it's what you expect
L2254[19:37:16] <ghz|afk> there's certain conditions in which getTileEntity coudl return null, or another TE
L2255[19:37:40] <Artillect> ok
L2256[19:37:48] <Artillect> now how do I get capability-based info from it?
L2257[19:37:55] <williewillus> i told you above lol
L2258[19:37:57] <williewillus> use your ide
L2259[19:38:05] <Artillect> aight
L2260[19:38:15] <williewillus> world.getTileEntity(pos). < bunch of completions come up here look for capability >
L2261[19:38:21] <howtonotwin> you want to "get capabilities" from a TE, you say?
L2262[19:38:29] <howtonotwin> (STRONG HINTING)
L2263[19:38:37] <Artillect> yeah I got it
L2264[19:38:41] <ghz|afk> but before you "get capabilities"
L2265[19:38:46] <ghz|afk> you have to check if it "has capabilities"
L2266[19:38:56] <Artillect> so do if has capabilities
L2267[19:39:00] <Artillect> then get capabilities?/
L2268[19:39:02] <williewillus> yup
L2269[19:39:08] <Artillect> cool
L2270[19:39:23] <williewillus> anyways how do I change world coords to ??? coords so it renders correctly in a TESR
L2271[19:39:27] <williewillus> i have no idea how all this works
L2272[19:39:30] <williewillus> and what x, y, z to the tesr are
L2273[19:39:45] <howtonotwin> that's the loc in render coords i think
L2274[19:39:53] <williewillus> wat is a render coord
L2275[19:40:00] <ghz|afk> williewillus: uhm well
L2276[19:40:04] <ghz|afk> if you do
L2277[19:40:08] <ghz|afk> GlStateManager.pushMatrix();
L2278[19:40:15] <ghz|afk> GlStateManager.translate(x,y,z);
L2279[19:40:20] <howtonotwin> in most games you don't move the camera in the world :P
L2280[19:40:21] <ghz|afk> you'll be centered on the TE's position
L2281[19:40:27] <howtonotwin> you move the world around the camera
L2282[19:40:36] <ghz|afk> then
L2283[19:40:47] <howtonotwin> so coords (0, 0, 1) is the position one block in front of the camera
L2284[19:40:50] <williewillus> so if I have an aabb in world coords I just translate(x, y, z) then draw it?
L2285[19:40:56] <howtonotwin> and x, y, z is the position of the TE relative to the camera
L2286[19:40:56] <ghz|afk> no
L2287[19:40:59] <ghz|afk> x,y,z are the actual params
L2288[19:41:04] <ghz|afk> given to you in the draw method
L2289[19:41:09] <williewillus> yes, that
L2290[19:41:24] <ghz|afk> [02:40] (ghz|afk): GlStateManager.pushMatrix();
L2291[19:41:24] <ghz|afk> [02:40] (ghz|afk): GlStateManager.translate(x,y,z);
L2292[19:41:28] <williewillus> so just Glsm.translate(x, y, z); RenderGlobal.drawBoundingBox(aabb......) ?
L2293[19:41:33] <ghz|afk> this puts the matrix so that 0,0,0 == the block's relative 0,0,0
L2294[19:41:39] <howtonotwin> non
L2295[19:41:43] <williewillus> oh bleh
L2296[19:41:52] <howtonotwin> the AABB needs to start on the origin
L2297[19:41:56] <ghz|afk> so you have to translate the AABB so that it's relative to the block the TE belongs to
L2298[19:42:10] ⇦ Quits: Alex_hawks (~Alex_hawk@2001:8003:858e:dd00:113e:eb30:8caf:51ee) (Read error: Connection reset by peer)
L2299[19:42:11] <Artillect> what does facing do in hascapability?
L2300[19:42:19] <Artillect> are capabilities face-specific?
L2301[19:42:21] <williewillus> yes
L2302[19:42:22] <ghz|afk> which may require something like .translate(AABB.minx, miny, minz)
L2303[19:42:22] <howtonotwin> yeah that's kinda a relic of design
L2304[19:42:24] <howtonotwin> they are
L2305[19:42:30] <ghz|afk> Artillect: they can be
L2306[19:42:34] <ghz|afk> picture the furnace
L2307[19:42:39] <ghz|afk> you know how if you put a hopper on the top
L2308[19:42:42] <Artillect> yeah
L2309[19:42:44] ⇨ Joins: Alex_hawks (~Alex_hawk@2001:8003:858e:dd00:cd1d:f539:4568:39eb)
L2310[19:42:45] <ghz|afk> it dumps into the "input" slot
L2311[19:42:52] <ghz|afk> if you put a hopper on a side, it dumps in the fuel slow
L2312[19:42:58] <ghz|afk> and a hopper on the bottom takes from the output slot?
L2313[19:43:06] <ghz|afk> that's done using sides, and exposing subsets of the slots
L2314[19:43:16] <Artillect> if I don't make my block face-specific (or at least yet) how do I use hascapabilities?
L2315[19:43:21] <ghz|afk> just use null
L2316[19:43:25] <ghz|afk> to mean "don't care"
L2317[19:44:04] <ghz|afk> "null" is usually understood to be internal
L2318[19:44:12] <ghz|afk> that is, you should only use it for YOUR blocks
L2319[19:44:17] <ghz|afk> that YOU know accept it
L2320[19:44:25] <ghz|afk> on otherpeople's blocks, you should never use null for the facing
L2321[19:44:37] <ghz|afk> unless they explicitly tell you that youcan
L2322[19:44:39] <ghz|afk> in their documentation
L2323[19:44:56] <howtonotwin> you are definitely allowed to use null on other peoples blocks
L2324[19:45:01] <howtonotwin> they should expect it
L2325[19:45:05] <ghz|afk> you are allowed, yes
L2326[19:45:10] <ghz|afk> but you shouldn't go around doing so
L2327[19:45:26] <ghz|afk> because the returned value may be an internal capability instance without proper filtering or stuff
L2328[19:45:47] <ghz|afk> it shouldn't crash, one way or another
L2329[19:45:50] <howtonotwin> null is most certainly not taken to be internal, unless I missed something
L2330[19:45:51] <williewillus> okay i think it's in the right position now
L2331[19:45:53] <immibis> or you might not get a capability when you expected to get one
L2332[19:46:00] <williewillus> but it still disappears and appears
L2333[19:46:02] <williewillus> randomly
L2334[19:46:34] <howtonotwin> Anyway, so you know how lex doesn't want to ship scala with forge?
L2335[19:46:43] <ghz|afk> yep
L2336[19:46:46] <immibis> hasn't scala been shipped with forge for a long time?
L2337[19:46:50] <ghz|afk> yes
L2338[19:46:51] <williewillus> I did aabb = worldAabb.offset(-teX, -teY, -teZ); RenderGlobal.drawBoundingBox(aabb.minX, minY, minZ ...);
L2339[19:46:54] <ghz|afk> but he has been regretting it
L2340[19:46:57] <ghz|afk> for almost as long
L2341[19:47:02] <williewillus> with translate(x, y, z) before
L2342[19:47:02] <howtonotwin> He says that he'll get around to it eventually, but he'd like it if someone else just did it.
L2343[19:47:13] <williewillus> did what
L2344[19:47:19] <ghz|afk> and they said newer scala will NOT happen
L2345[19:47:24] <howtonotwin> remove scala from forge
L2346[19:47:42] <ghz|afk> chances are it will happen with the switch to java8
L2347[19:47:49] <howtonotwin> So would removing the lines about it in 1.10{,.2}-{dev,rel}.json in Forge do it?
L2348[19:48:10] <howtonotwin> That seems to be the only place that refers to scala anywhere
L2349[19:48:11] * ghz|afk has no idea
L2350[19:48:11] <williewillus> if I look at my te from the west it works and not from the other side -.-
L2351[19:48:30] <howtonotwin> I'll test it
L2352[19:48:32] <howtonotwin> anyway
L2353[19:48:36] <howtonotwin> so as a workaround
L2354[19:48:37] <williewillus> oh wow lol
L2355[19:48:37] <ghz|afk> williewillus: wat o_O
L2356[19:48:42] <howtonotwin> well not workaround
L2357[19:48:46] <williewillus> i didn't disable alpha
L2358[19:48:48] <williewillus> woops
L2359[19:48:50] <howtonotwin> so after scala is gone
L2360[19:48:51] <ghz|afk> lol
L2361[19:49:20] <howtonotwin> would it be possible to just make a mod that contains the libs and have mods that use it depend on it?
L2362[19:49:34] <williewillus> next problem is why are those diagonal lines there https://i.gyazo.com/b4652fc896ced679e5cec5fbdb5f4b8f.png
L2363[19:49:37] <howtonotwin> the license is permissive certainly enough for it
L2364[19:49:40] <williewillus> this is just a call to a vanilla method
L2365[19:50:18] <ghz|afk> howtonotwin: it would be enough just to dump the runtime jar in the mods folder, no?
L2366[19:50:25] <ghz|afk> it's added to the classpath, I believe
L2367[19:50:30] <howtonotwin> yeah but then you cant check versions
L2368[19:50:35] <howtonotwin> well you can
L2369[19:50:38] <ghz|afk> ah
L2370[19:50:42] <howtonotwin> but you won't get the nice error screen
L2371[19:50:45] <ghz|afk> so you'd dump it in there along with @API ?
L2372[19:50:49] <immibis> forge will yell at you saying "why the hell are you dumping stuff in the mods folder to add it to the classpath you moron" or something to that effect
L2373[19:50:50] <ghz|afk> or @Mod
L2374[19:50:59] <howtonotwin> Yeah
L2375[19:51:12] <howtonotwin> just repackage it all in a new jar with @Mod
L2376[19:51:17] <ghz|afk> I guess
L2377[19:51:24] <ghz|afk> can you use after:X
L2378[19:51:28] <ghz|afk> for an @API package?
L2379[19:51:35] <howtonotwin> don't think you can
L2380[19:51:47] <howtonotwin> APIs are attached to mods
L2381[19:51:55] <howtonotwin> and you load after the mod
L2382[19:52:18] <ghz|afk> I guess the @API does have a parent with the modid
L2383[19:52:32] <howtonotwin> No point in using API anyway I guess
L2384[19:52:44] <howtonotwin> No ones gonna package scala with their mod :P
L2385[19:52:56] <ghz|afk> yeah I meant so that it doesn't show up in the mods list
L2386[19:53:07] <ghz|afk> it's technically an api jar, not a mod jar
L2387[19:53:21] <howtonotwin> well so are all those lib mods everyone makes
L2388[19:53:30] <howtonotwin> but that doesn't stop them does it xD
L2389[19:53:33] <ghz|afk> yeah and it annoys me ;P
L2390[19:53:40] <ghz|afk> if there was a @LibraryMod
L2391[19:53:52] <ghz|afk> that lets you declare them as libraries and not actual mods
L2392[19:54:08] <ghz|afk> I'd still have the same annoyance, though
L2393[19:54:09] <howtonotwin> Make it :P
L2394[19:54:18] <ghz|afk> which is that I dislike having my mods depends on external jars
L2395[19:54:26] <ghz|afk> depend*
L2396[19:54:29] <williewillus> https://i.gyazo.com/b4652fc896ced679e5cec5fbdb5f4b8f.png why is a diagonal there and how to get rid of? :P
L2397[19:54:57] <ghz|afk> it indicates the front?
L2398[19:55:11] <ghz|afk> dunno
L2399[19:55:12] <howtonotwin> no, the colors indicate the front
L2400[19:55:20] <williewillus> this is a call to a vanilla function that draws an arbitrary aabb
L2401[19:55:28] <howtonotwin> uh why is it all black
L2402[19:55:39] <howtonotwin> it's supposed to be colored and white xD
L2403[19:55:45] <williewillus> idk
L2404[19:55:53] <williewillus> i passed all 1's for argb :P
L2405[19:56:03] <ghz|afk> 255,255,255,255
L2406[19:56:06] <howtonotwin> this is going wonderfully for you xD
L2407[19:56:08] <ghz|afk> maybe
L2408[19:56:12] <williewillus> it's in floats
L2409[19:56:26] <ghz|afk> yeah nm that
L2410[19:56:43] <ghz|afk> disableLighting?
L2411[19:57:00] <ghz|afk> it may be thinking it's shadowed
L2412[19:57:18] <williewillus> nah
L2413[19:57:28] <ghz|afk> I mean, if block lighting is enabled
L2414[19:57:33] <ghz|afk> it won't have the lightmap values, and it will draw black
L2415[19:57:38] <williewillus> as in it didn't work lol
L2416[19:58:05] <ghz|afk> this is what rendermanager does
L2417[19:58:09] <ghz|afk> for renderDebugBoundingBox
L2418[19:58:11] <ghz|afk> GlStateManager.depthMask(false);
L2419[19:58:11] <ghz|afk> GlStateManager.disableTexture2D();
L2420[19:58:11] <ghz|afk> GlStateManager.disableLighting();
L2421[19:58:11] <ghz|afk> GlStateManager.disableCull();
L2422[19:58:11] <ghz|afk> GlStateManager.disableBlend();
L2423[19:59:03] <ghz|afk> try also adding a GlStateManager.color(1,1,1,1)
L2424[20:00:13] <howtonotwin> Good lord xD http://hastebin.com/ahaxopolit.java
L2425[20:00:41] <williewillus> lol well one of those fixed it
L2426[20:00:55] ⇦ Quits: KnightMiner (~KnightMin@adsl-75-5-64-247.dsl.emhril.sbcglobal.net) (Ping timeout: 206 seconds)
L2427[20:01:48] ⇦ Quits: Delaxarnyazer (~Delaxarny@ip56572345.direct-adsl.nl) (Ping timeout: 186 seconds)
L2428[20:02:14] * immibis notices Forge got an energy API
L2429[20:02:22] <ghz|afk> yep
L2430[20:02:34] <ghz|afk> meant to be 1:1 with RF values
L2431[20:02:41] <ghz|afk> so 1:! with Tesla also
L2432[20:02:43] <ghz|afk> 1:1*
L2433[20:03:02] <ghz|afk> no more excuses to have "TileEntity implements Icrap"
L2434[20:03:20] <Artillect> worldIn.getTileEntity(pos).getCapability(EnergyCapabilityProvider.energyCapability, facing).getEnergy()
L2435[20:03:21] <Artillect> holy moly
L2436[20:03:26] <Artillect> this is a disaster of a line
L2437[20:03:31] <ghz|afk> yes.
L2438[20:03:32] <williewillus> not really
L2439[20:03:34] <ghz|afk> split it up
L2440[20:03:40] <ghz|afk> and add nullchecks
L2441[20:03:42] <ghz|afk> ;P
L2442[20:03:42] ⇨ Joins: Delaxarnyazer (~Delaxarny@2a02:a44e:91ce:0:80dc:7855:5421:3308)
L2443[20:03:43] <williewillus> where's the te check \
L2444[20:03:46] <williewillus> and the hasCap check
L2445[20:03:47] <williewillus> :P
L2446[20:03:55] <Artillect> I've done that beforehand
L2447[20:04:04] <ghz|afk> then you need to use variables
L2448[20:04:06] <howtonotwin> don't get the TE twice
L2449[20:04:09] <Artillect> actually, how do I check for TE?
L2450[20:04:16] <howtonotwin> nullcheck getTE
L2451[20:04:17] <williewillus> instanceof yourthing
L2452[20:04:23] <ghz|afk> or at least != null
L2453[20:04:34] <williewillus> i like instanceof because it's an implicit null check as well
L2454[20:04:36] <Artillect> and hascapability is a boolean right?
L2455[20:04:44] <williewillus> no it's a float lol
L2456[20:04:46] <ghz|afk> returns a boolean, yes
L2457[20:04:50] <Artillect> ok
L2458[20:05:03] <ghz|afk> as you'd expect of any function named "hasSomething" or "isSomething"
L2459[20:05:31] <Artillect> yeah
L2460[20:05:34] <immibis> ghz|afk: an energy API was vehemently denied when I proposed it two years ago, so it's just strange
L2461[20:05:40] <howtonotwin> Why does the comment on RenderGlobal.markBlockRangeForRenderUpdate say "On the server, does nothing."
L2462[20:05:48] <immibis> (ditto for automatic ID assignment)
L2463[20:05:52] <howtonotwin> it doesn't even exist on the server xD
L2464[20:05:58] <williewillus> howtonotwin: from an itnerface?
L2465[20:06:10] <ghz|afk> immibis: lex never liked the idea
L2466[20:06:23] <immibis> howtonotwin: because the comment is inherited from IWorldEventListener
L2467[20:06:24] <ghz|afk> but eventually he gave in to it "so people shut up and stop asking for it"
L2468[20:06:26] * howtonotwin is dumb
L2469[20:06:30] <immibis> ghz|afk: lex was okay with it, it was overmind
L2470[20:06:40] <ghz|afk> oh?
L2471[20:06:52] <williewillus> the auto id assignment was a natural extension of 1.7's stuff so I guess it became ok
L2472[20:07:09] <immibis> also I'm not going to say any more because talking about things lex hates me for is probably grounds for banning me
L2473[20:07:17] <immibis> (again)
L2474[20:07:18] <ghz|afk> lol
L2475[20:07:27] <immibis> williewillus: 1.7 actually didn't have auto id assignment
L2476[20:07:31] <immibis> forge added it
L2477[20:07:46] <williewillus> yeah, but it was a natural thing to add after they moved to names
L2478[20:07:49] <ghz|afk> aren't IDs still hardcoded now?
L2479[20:07:51] <ghz|afk> in vanilla mc
L2480[20:07:52] <williewillus> yes
L2481[20:07:55] <williewillus> for backward compat
L2482[20:08:08] <williewillus> well they hardcode new stuff too
L2483[20:08:09] <williewillus> so idk
L2484[20:08:27] <ghz|afk> dunno they could have easily used one of their datafixers
L2485[20:08:28] <howtonotwin> so I'm still relatively new
L2486[20:08:30] <Artillect> worldIn.isRemote && worldIn.getTileEntity(pos).hasCapability(EnergyCapabilityProvider.energyCapability, facing) && worldIn.getblock(pos) instanceof TileEntity
L2487[20:08:34] <Artillect> is that good enough for you guys?
L2488[20:08:41] <ghz|afk> to bind the old IDs to the new string names
L2489[20:08:41] <Artillect> I'll clean it up dont worry
L2490[20:08:42] <williewillus> wat
L2491[20:08:43] <howtonotwin> who is this interesting imm1bis person?
L2492[20:08:44] <ghz|afk> but they chose not to
L2493[20:08:52] <immibis> world.getBlock(pos) instanceof TileEntity <- looks like it'll always be false
L2494[20:08:55] <ghz|afk> so I guess they don't care about having hardcoded IDs
L2495[20:08:58] <williewillus> that method also doesn't exist
L2496[20:09:02] <williewillus> lol
L2497[20:09:08] <immibis> unless they vastly changed how tile entities work in 1.10 or 1.11
L2498[20:09:14] <Artillect> whoops
L2499[20:09:29] <Artillect> meant getblockstate
L2500[20:09:29] <ghz|afk> it's not even getBlock
L2501[20:09:31] <ghz|afk> that says getblock
L2502[20:09:41] <ghz|afk> which is not even properly capitalized
L2503[20:09:41] <williewillus> why would an iblockstate be an instanceof a TE??
L2504[20:09:44] <immibis> a BlockState won't be a TileEntity either
L2505[20:09:50] <ghz|afk> Artillect: I kinda wonder if you are programming in an IDE at all
L2506[20:09:52] <williewillus> you got it right just above
L2507[20:09:55] <williewillus> yeah...
L2508[20:09:58] <ghz|afk> because that would happily show you the error
L2509[20:10:04] <Artillect> I just made the change in my head while copying over
L2510[20:10:10] <williewillus> wat
L2511[20:10:12] <Artillect> I had getTileEntity
L2512[20:10:13] <ghz|afk> but no
L2513[20:10:15] <ghz|afk> your head doesn't work
L2514[20:10:16] <ghz|afk> XD
L2515[20:10:18] <Artillect> yeah
L2516[20:10:22] <williewillus> what made you think "I should change it" lol
L2517[20:10:27] <immibis> worldIn.getTileEntity(pos) instanceof TileEntity <- is redundant
L2518[20:10:30] <ghz|afk> you had something that was wrong
L2519[20:10:40] <ghz|afk> and decided to change it for something that doesn't even make sense
L2520[20:10:44] <ghz|afk> went bad to worse
L2521[20:10:45] <ghz|afk> ;P
L2522[20:11:01] <Artillect> then how do I check if the thing at that position is a tile entity?
L2523[20:11:28] <williewillus> look at the return type
L2524[20:11:31] <williewillus> it's always going to ba TE
L2525[20:11:32] <williewillus> or null
L2526[20:11:36] <Artillect> also, it's fun to get criticism from the famous imibis
L2527[20:11:44] * immibis is famous?
L2528[20:11:50] <williewillus> you need to build your java basics more :P
L2529[20:11:51] <howtonotwin> Am I just that sheltered?
L2530[20:11:59] <Artillect> so worldIn.getTileEntity(pos) != null?
L2531[20:12:08] <howtonotwin> who is this celebrity?
L2532[20:12:11] <williewillus> don't just paste something and ask if it's right
L2533[20:12:13] <immibis> howtonotwin: I haven't touched modding in about a year
L2534[20:12:15] * howtonotwin hungers for knowledge
L2535[20:12:20] <williewillus> what's "right" depends on what you are trying to *accomplish*
L2536[20:12:24] <ghz|afk> Artillect: use VARIABLES
L2537[20:12:26] <williewillus> so use your ide and your head
L2538[20:12:27] <immibis> but I didn't think I was famous before that
L2539[20:12:31] *** Vigaro is now known as Vigaro|AFK
L2540[20:12:46] <williewillus> and don't ask every little thing to be validated when your IDE can answer you within 2 seconds
L2541[20:12:50] <Artillect> i mean you had imibis microblocks
L2542[20:12:50] <williewillus> :P
L2543[20:12:56] <Artillect> sorry
L2544[20:13:07] <Artillect> some things dont work and dont give me errors
L2545[20:13:11] <ghz|afk> Artillect: I'm tired so: https://gist.github.com/gigaherz/2207d33b5e084a9958564570d910d1bd
L2546[20:13:18] <williewillus> if you're in an ide it WOULD give you an error...
L2547[20:13:23] <ghz|afk> this is closer to what you should have by now
L2548[20:13:31] <ghz|afk> if your IDE isn't showing you errors
L2549[20:13:33] <howtonotwin> oh so that's what BON means
L2550[20:13:35] <ghz|afk> then your IDE is broken
L2551[20:13:54] <howtonotwin> I just realized that I just googled you and you have no idea what I'm talking about
L2552[20:14:03] <ghz|afk> howtonotwin: BON == BeardedOctoNemesis == random github generated name
L2553[20:14:36] <howtonotwin> "Bearded Octo Nemesis
L2554[20:14:36] <howtonotwin> "GitHub suggested that name, btw.
L2555[20:14:36] <howtonotwin> "This is a tool that deobfuscates mod downloads without decompiling them, so you can test your mod's interactions with other mods in MCP/Eclipse without reobfuscating."
L2556[20:14:45] <howtonotwin> Immib1s 2012
L2557[20:15:07] <immibis> no longer relevant because everyone and their dog distributes source code for their mods
L2558[20:15:14] <immibis> at the time, they didn't
L2559[20:15:32] <ghz|afk> BON2 is still useful from time to time
L2560[20:15:56] <howtonotwin> I think it's on par with tickrate changer :P
L2561[20:16:29] <ghz|afk> I never used the original BON, though -- I wasn't modding back then
L2562[20:16:40] <williewillus> tickrate changer?
L2563[20:16:49] <howtonotwin> exactly what it sounds like
L2564[20:17:00] <howtonotwin> asms the server loop and some sound code
L2565[20:17:09] <howtonotwin> and lets you change the tick rate
L2566[20:17:10] <ghz|afk> lol
L2567[20:17:15] <williewillus> sp only I suppose lol
L2568[20:17:18] <howtonotwin> no
L2569[20:17:20] <howtonotwin> mp too
L2570[20:17:25] <ghz|afk> o_O
L2571[20:17:40] <howtonotwin> it supports per client tickrates too
L2572[20:17:46] <howtonotwin> so the server has one tickrate
L2573[20:17:47] <williewillus> lol what
L2574[20:17:48] <ghz|afk> that seems.... fancy
L2575[20:17:50] <howtonotwin> and each client has its own
L2576[20:18:00] <williewillus> what version was this for??
L2577[20:18:03] <immibis> sounds useful for simulating server lag, or testing long-running stuff?
L2578[20:18:05] <ghz|afk> the desyncs...
L2579[20:18:06] <howtonotwin> so you can have server at 20, one client at 400, one at 10
L2580[20:18:13] <howtonotwin> 1.10
L2581[20:18:27] <howtonotwin> It's a TINY bit of ASM
L2582[20:18:36] <howtonotwin> it probably doesnt take any work to port it
L2583[20:18:43] <howtonotwin> oh
L2584[20:18:44] <howtonotwin> lol
L2585[20:18:47] <howtonotwin> 1.11 version released
L2586[20:19:03] <williewillus> lol I'm gonna have to try this out
L2587[20:19:07] <howtonotwin> oh crap
L2588[20:19:11] <williewillus> sounds broken as fuck but cool
L2589[20:19:15] <howtonotwin> I was using the 1.10 ver on 1.11 xD
L2590[20:19:24] <howtonotwin> I totally forgot to update it
L2591[20:19:26] <howtonotwin> woops
L2592[20:19:49] <howtonotwin> sometimes it helps if your shit is breaking 20x times slower, y'know?
L2593[20:19:56] <howtonotwin> or, you're me
L2594[20:20:07] <howtonotwin> and have to deal with items moving 5 chunks/second
L2595[20:20:11] <williewillus> so it's slows everything in the main loop down?
L2596[20:20:15] <williewillus> *it
L2597[20:20:16] <howtonotwin> yes
L2598[20:20:17] <williewillus> or more?
L2599[20:20:20] <howtonotwin> and sounds
L2600[20:20:36] <howtonotwin> it also makes renders slow down
L2601[20:20:45] <howtonotwin> (pistons extend slowly)
L2602[20:20:53] <howtonotwin> it's pretty much seamless
L2603[20:21:01] <howtonotwin> unless you desync the client and server tickrates
L2604[20:21:06] <williewillus> well the piston extension is backed by a field that's updated per tick I thought
L2605[20:21:09] <howtonotwin> at that point wierd shit happens
L2606[20:21:14] <immibis> williewillus: everything is
L2607[20:21:15] <howtonotwin> no like the animation
L2608[20:21:24] <howtonotwin> it's smooth
L2609[20:21:28] <howtonotwin> and slow
L2610[20:21:34] <williewillus> well because it's interpolated from the tick-backed field
L2611[20:21:43] <williewillus> i don't think there was any extra work done on that front
L2612[20:21:45] <Artillect> well now I have a block that stores energy
L2613[20:21:48] <Artillect> but does 0 with it
L2614[20:23:00] <Artillect> now I have to figure out everything else in terms of power system
L2615[20:23:04] <howtonotwin> http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/2421222
L2616[20:31:07] ⇨ Joins: KnightMiner (~KnightMin@adsl-75-5-64-247.dsl.emhril.sbcglobal.net)
L2617[20:34:39] ⇨ Joins: KingofGamesYami (webchat@75-167-244-115.dvnp.qwest.net)
L2618[20:37:11] ⇨ Joins: CoolerExtreme (~CoolerExt@45.249.156.132)
L2619[20:37:15] ⇦ Quits: KingofGamesYami (webchat@75-167-244-115.dvnp.qwest.net) (Client Quit)
L2620[20:39:30] ⇨ Joins: Kaiyouka (~IdiotNono@c-75-71-231-133.hsd1.co.comcast.net)
L2621[20:49:15] ⇨ Joins: KingofGamesYami (~KingofGam@75-167-244-115.dvnp.qwest.net)
L2622[20:49:18] *** tterrag|ZZZzzz is now known as tterrag
L2623[20:52:48] ⇦ Quits: KingofGamesYami (~KingofGam@75-167-244-115.dvnp.qwest.net) (Quit: Leaving)
L2624[20:54:43] ⇨ Joins: KingofGamesYami (~KingofGam@75-167-244-115.dvnp.qwest.net)
L2625[20:55:00] ⇦ Quits: KingofGamesYami (~KingofGam@75-167-244-115.dvnp.qwest.net) (Client Quit)
L2626[20:56:08] ⇦ Quits: KGS (~KGS@h-155-4-129-249.na.cust.bahnhof.se) (Ping timeout: 198 seconds)
L2627[20:57:29] ⇦ Quits: AshIndigo_ (~AshIndigo@79-67-168-211.dynamic.dsl.as9105.com) (Read error: Connection reset by peer)
L2628[20:57:46] ⇨ Joins: AshIndigo_ (~AshIndigo@79-67-168-211.dynamic.dsl.as9105.com)
L2629[20:58:12] ⇨ Joins: RANKSHANK (~Michael@ppp121-44-41-72.lns20.syd4.internode.on.net)
L2630[20:58:51] ⇦ Quits: MrIbby (~MrIbby@173.85.192.160) ()
L2631[20:59:26] ⇨ Joins: r4wk (~r4wk@mtprnf0117w-047055105205.dhcp-dynamic.FibreOp.nl.bellaliant.net)
L2632[21:00:15] ⇦ Quits: sinkillerj (~sinkiller@nc-67-232-9-133.dhcp.embarqhsd.net) (Quit: またね)
L2633[21:01:02] ⇦ Quits: Wastl2_ (~Wastl2@x4e350e64.dyn.telefonica.de) (Read error: Connection reset by peer)
L2634[21:01:35] <Artillect> I'm trying to create a block with different textures on each side, but Eclipse says "Syntax error on tokens, AnnotationName expected instead" for the line "public static final PropertyDirection FACING = PropertyDirection.create("facing");
L2635[21:01:35] <Artillect> ", what's wrong
L2636[21:03:32] <howtonotwin> eclipse is wrong
L2637[21:03:54] <howtonotwin> twiddle with it until it stops complaining
L2638[21:03:59] <Artillect> ok
L2639[21:04:16] <Artillect> where can I import propertyfacing from?
L2640[21:04:27] <Artillect> *PropertyDirection
L2641[21:05:10] <howtonotwin> <C-S-o>
L2642[21:05:21] <howtonotwin> "Organize Imports"
L2643[21:05:52] <howtonotwin> Additionally <C-Space> = "List completions/Cycle lists of completions"
L2644[21:05:54] ⇨ Joins: Wastl2 (~Wastl2@x4e3493ae.dyn.telefonica.de)
L2645[21:06:19] ⇦ Quits: AshIndigo_ (~AshIndigo@79-67-168-211.dynamic.dsl.as9105.com) (Read error: Connection reset by peer)
L2646[21:06:19] ⇨ Joins: AshIndigo__ (~AshIndigo@188.29.165.75.threembb.co.uk)
L2647[21:06:19] ⇦ Quits: AshIndigo__ (~AshIndigo@188.29.165.75.threembb.co.uk) (Read error: Connection reset by peer)
L2648[21:06:22] <howtonotwin> And <C-1> = "Quick Fix(es) for the error/warning under the cursor"
L2649[21:07:13] <howtonotwin> Also useful; <C-S-f> = "Format file according to preferences"
L2650[21:07:18] ⇨ Joins: AshIndigo_ (~AshIndigo@79-67-168-211.dynamic.dsl.as9105.com)
L2651[21:07:50] <howtonotwin> In minecraft you'll also find yourself researching what something does
L2652[21:08:33] <howtonotwin> in that case <C-LClk> = "Go to definition of symbol under cursor"
L2653[21:08:58] <Artillect> It wants me to insert "EnumBody" to complete EnumDeclaration and "enum identifier" to complete EnumHeaderName after "facing"
L2654[21:09:05] <Artillect> what exactly does that mean
L2655[21:09:37] <howtonotwin> and <C-A-h> = "Callers/accessors of method, field, or constructor of class currently selected"
L2656[21:09:42] <howtonotwin> show more code
L2657[21:10:30] <Artillect> https://gist.github.com/Artillect/2d0314c06fa1a43428ea1299b03c3759
L2658[21:10:40] <Artillect> only pertinent errors are on line 23
L2659[21:10:58] <Artillect> the rest seem to be errors related to the variable not being created
L2660[21:11:23] <howtonotwin> what is that indentation o_O
L2661[21:11:34] <howtonotwin> reformat the file pronto!
L2662[21:11:45] <howtonotwin> it has to be in the class
L2663[21:11:55] <Artillect> yeah I'll fix the indentation
L2664[21:11:58] ⇦ Quits: CoolerExtreme (~CoolerExt@45.249.156.132) (Ping timeout: 206 seconds)
L2665[21:12:05] <howtonotwin> you can't have definitions in free space like python
L2666[21:12:06] <Artillect> when I copy-pasted it from mcjty's tutorial it bungled it
L2667[21:12:10] <howtonotwin> everything is attached to a class
L2668[21:12:12] <howtonotwin> ew
L2669[21:12:15] <Artillect> whoops
L2670[21:12:17] <howtonotwin> copy paste is bad
L2671[21:12:20] <Artillect> I didn't realize it was outside
L2672[21:12:41] <howtonotwin> also dunno why he uses getFacingFromEntity
L2673[21:12:54] <howtonotwin> open up the BlockPiston from vanilla
L2674[21:13:02] <howtonotwin> it does the same thing as this block
L2675[21:13:08] <howtonotwin> for setting facing
L2676[21:13:21] <howtonotwin> there's the correct method to get the facing from the entity there
L2677[21:13:41] <Artillect> what if I just want horizontal facing?
L2678[21:13:46] <Artillect> like the furnace?
L2679[21:14:41] <howtonotwin> then look at the furnace :P
L2680[21:15:03] <Artillect> true yeah
L2681[21:15:14] <howtonotwin> placer.getHorizontalFacing().getOpposite()
L2682[21:15:48] <Artillect> https://github.com/Bukkit/mc-dev/blob/master/net/minecraft/server/BlockFurnace.java lines 90-112?
L2683[21:16:04] ⇨ Joins: Eragonn1490 (~eragonn14@2600:1005:b00e:b979:84ea:f481:6f39:c761)
L2684[21:16:45] <howtonotwin> wah
L2685[21:16:47] <howtonotwin> no
L2686[21:16:54] <howtonotwin> under your project in eclipse
L2687[21:16:58] <howtonotwin> on the left pane
L2688[21:17:10] <howtonotwin> expand referenced libraries
L2689[21:17:18] <howtonotwin> one of the jars is forgeSrc-blah
L2690[21:17:21] <immibis> or just <ctrl-shift-t> blockfurnace <enter>
L2691[21:17:25] <howtonotwin> that's the MC code
L2692[21:17:27] <howtonotwin> or that
L2693[21:17:31] <howtonotwin> that works too
L2694[21:18:01] <howtonotwin> <C-h> = "Search"
L2695[21:18:10] <howtonotwin> (The advanced, useful kind, not just text)
L2696[21:18:34] <howtonotwin> <C-f> = "Simple text find/replace in file"
L2697[21:19:15] <Artillect> lines 55-89 from vanilla are the relevant lines?
L2698[21:20:17] ⇦ Quits: williewillus (~williewil@cpe-24-28-24-13.austin.res.rr.com) (Quit: Leaving)
L2699[21:20:41] <howtonotwin> I don't have it up
L2700[21:20:45] <howtonotwin> it's onBlockPlaced
L2701[21:20:58] <howtonotwin> But I posted it above xD
L2702[21:21:00] <howtonotwin> placer.getHorizontalFacing().getOpposite()
L2703[21:25:49] <Eragonn1490> is there a way to delete regular stone from generating in a biome? and replace it with something else below the surface?
L2704[21:26:40] <Artillect> hm Cannot set property PropertyDirection{name=facing, clazz=class net.minecraft.util.EnumFacing, values=[north, south, west, east]} as it does not exist in BlockStateContainer{block=voltaics:voltaicPile, properties=[]}
L2705[21:26:46] <Artillect> ignore the hm
L2706[21:26:46] ⇨ Joins: CoolerExtreme (~CoolerExt@45.249.156.132)
L2707[21:26:49] <howtonotwin> read the rtd page on it
L2708[21:26:54] <Artillect> ok
L2709[21:27:11] <howtonotwin> mcforge.rtfd.io
L2710[21:27:28] <howtonotwin> Still don't know the official meaning of the f
L2711[21:27:35] <howtonotwin> though it's heavily implied :P
L2712[21:28:11] ⇨ Joins: MrIbby (~MrIbby@173.85.192.160)
L2713[21:29:16] <ghz|afk> "rtfd" most probably comes from "rtfm", and yes, it means exactly what it seems it means
L2714[21:31:04] <Artillect> how do I create an IProperty<> object?
L2715[21:31:50] <howtonotwin> PropertyDirection is an IProperty<EnumFacing>
L2716[21:33:12] <ghz|afk> you probably don't want to create your own
L2717[21:33:18] <Artillect> yeah
L2718[21:33:22] <ghz|afk> PropertyInt
L2719[21:33:25] <ghz|afk> PropertyDirection
L2720[21:33:29] <ghz|afk> PropertyEnum<T>
L2721[21:33:54] <ghz|afk> there's one big limitation on the blockstate system: they must be known beforehand
L2722[21:34:01] <ghz|afk> that is, there must be a fixed set of values
L2723[21:34:17] <ghz|afk> because mc will precompute all the possible combinations and the links between them
L2724[21:36:04] <Artillect> It seems to still not be adding the property to the block
L2725[21:36:16] <ghz|afk> do you override createBlockState
L2726[21:36:24] <ghz|afk> and add the properties to the blockstate container
L2727[21:37:34] <Artillect> what do I need to override in createBlockState?
L2728[21:37:51] <ghz|afk> check other blocks
L2729[21:37:53] <ghz|afk> how they do it
L2730[21:38:22] <howtonotwin> does that page not tell you?
L2731[21:38:45] <Artillect> hownottowin I really am blind
L2732[21:38:46] <Artillect> it was there
L2733[21:40:18] <barteks2x> so here is the untested new worldgen code, hope it looks better than vanilla :) http://pastebin.com/QLXD7kKr
L2734[21:40:30] <barteks2x> (no dirt/grass implemented yet)
L2735[21:40:38] <Artillect> According to the site we need to return new BlockState() but BlockState doesn't work
L2736[21:40:48] <Artillect> BlockState doesn't exist
L2737[21:40:59] <Artillect> and the type of createBlockState is BlockStateContainer
L2738[21:41:19] ⇨ Joins: legsam (webchat@cpe-76-176-70-209.san.res.rr.com)
L2739[21:43:15] <Artillect> "Don't know how to convert voltaics:voltaicPile[facing=north] back into data..."
L2740[21:46:57] <howtonotwin> BlockState was rename
L2741[21:47:03] <howtonotwin> it's BlockStateContainer now
L2742[21:47:15] <Artillect> shouldn't that be changed in the docs then?
L2743[21:48:43] <Artillect> well now that works
L2744[21:48:45] <howtonotwin> it should
L2745[21:48:47] <Artillect> but my voltmeter is broken
L2746[21:48:51] <howtonotwin> PR it when you can
L2747[21:50:46] <Eragonn1490> hey howtonotwin, did you ever make a biome?
L2748[21:50:50] <howtonotwin> no
L2749[21:50:57] <Me4502> What's the signature for an inner class?
L2750[21:50:58] <Me4502> Lnet/minecraft/util/math/RayTraceResult$Type; ?
L2751[21:51:04] <howtonotwin> yes
L2752[21:51:08] <Me4502> kk, thanks
L2753[21:51:36] ⇦ Quits: InusualZ (~InusualZ@adsl-64-237-236-206.prtc.net) (Ping timeout: 206 seconds)
L2754[21:58:30] ⇨ Joins: Texelsaur (~jaquadro@c-71-192-29-96.hsd1.ma.comcast.net)
L2755[21:58:38] ⇦ Quits: MrIbby (~MrIbby@173.85.192.160) (Remote host closed the connection)
L2756[22:01:50] <Artillect> I can't remember who I talked to about this earlier, but how do I make my blocks rotate correctly with my wrench?
L2757[22:02:14] <Artillect> might have been williewillus or ghz|afk
L2758[22:02:14] ⇨ Joins: InusualZ (~InusualZ@adsl-64-237-237-49.prtc.net)
L2759[22:02:16] <Eragonn1490> try ordinastie hes helpful and usally lurking
L2760[22:02:25] <Artillect> he doesn't seem to like me much
L2761[22:04:10] <howtonotwin> on right click get rotation of block, find the target rotation, and set that rotation to the block.
L2762[22:04:23] <howtonotwin> you fill in the blanks
L2763[22:04:27] <howtonotwin> oh also
L2764[22:04:37] <howtonotwin> TEs will be deleted in that process
L2765[22:04:47] <howtonotwin> they have a method shouldRefresh
L2766[22:04:59] <howtonotwin> when the block the TE is on changes
L2767[22:05:09] <howtonotwin> that is called to see whether the TE should be deleted
L2768[22:05:25] <howtonotwin> override it so your TE doesn't get deleted when the block rotates
L2769[22:05:45] <howtonotwin> (at least I think it's shouldRefresh)
L2770[22:09:08] <Artillect> how can I do something every tick in terms of capabilities?
L2771[22:10:59] <howtonotwin> wah
L2772[22:11:06] <howtonotwin> capabilities do not know what a tick is
L2773[22:11:16] <howtonotwin> a TE knows what a tick is
L2774[22:11:34] <howtonotwin> A TE can do something capability related every tick
L2775[22:11:44] <howtonotwin> but a capability itself does nothing
L2776[22:13:04] <Artillect> so how can I make the TE do something every tick?
L2777[22:13:17] ⇦ Quits: Cast0077 (~Cast0077@24-151-68-108.dhcp.nwtn.ct.charter.com) (Quit: Poof)
L2778[22:13:18] <howtonotwin> see vanilla
L2779[22:13:23] <howtonotwin> hoppers come to mind
L2780[22:13:51] <howtonotwin> TileEntityHopper, mind you
L2781[22:14:01] <howtonotwin> BlockHopper is probably not very interesting
L2782[22:16:32] ⇨ Joins: killjoy (~killjoy@cpe-2606-A000-1118-C091-C478-35CB-708D-8C90.dyn6.twc.com)
L2783[22:16:50] ⇦ Quits: legsam (webchat@cpe-76-176-70-209.san.res.rr.com) (Quit: Web client closed)
L2784[22:17:01] <Artillect> the method is update()?
L2785[22:18:51] ⇦ Quits: RANKSHANK (~Michael@ppp121-44-41-72.lns20.syd4.internode.on.net) (Read error: Connection reset by peer)
L2786[22:23:15] <barteks2x> that's... weird http://imgur.com/a/Wlzce (my first test of new worldgen code)
L2787[22:24:06] <howtonotwin> yes
L2788[22:24:12] <howtonotwin> there's also another one
L2789[22:24:26] <AshIndigo_> I like it barteks
L2790[22:24:31] <howtonotwin> as not all TEs update, so you have to override it to allow updates
L2791[22:25:02] <howtonotwin> that's... horribly disorienting
L2792[22:25:07] <howtonotwin> that's what it is
L2793[22:26:47] <Artillect> and now it's telling me I'm overriding incorrectly
L2794[22:27:25] ⇨ Joins: McJty (~jorrit@94-225-196-91.access.telenet.be)
L2795[22:31:54] <Umbraco> is your TE implementing ITickable?
L2796[22:32:06] <Artillect> No, I'll check that out
L2797[22:33:41] <Artillect> do I want net.minecraft.util's ITickable or net.minecraft.client.renderer.texturer's ITickable?
L2798[22:34:04] <howtonotwin> the first one
L2799[22:34:14] <howtonotwin> the other one is obviously for rendering
L2800[22:35:25] <Artillect> good point
L2801[22:44:32] ⇦ Quits: Lathanael|Away (~Lathanael@p549600B6.dip0.t-ipconnect.de) (Ping timeout: 384 seconds)
L2802[22:45:01] ⇨ Joins: Lathanael|Away (~Lathanael@p54961CE2.dip0.t-ipconnect.de)
L2803[22:45:37] *** AshIndigo_ is now known as Ash-Asleep
L2804[22:49:57] ⇦ Quits: KnightMiner (~KnightMin@adsl-75-5-64-247.dsl.emhril.sbcglobal.net) (Quit: Leaving)
L2805[22:58:39] <Artillect> where's a good place to start to make cables for power transfer
L2806[22:59:01] <Artillect> in terms of examples
L2807[22:59:02] ⇨ Joins: MrIbby (~MrIbby@173.85.192.160)
L2808[22:59:19] <Ash-Asleep> Any mods with transport for energy
L2809[22:59:27] <Ash-Asleep> Or even fluid
L2810[23:01:55] *** cpw is now known as cpw|out
L2811[23:04:31] <illy> TIL how easy it is to force merge two different branches with different histories
L2812[23:05:44] <barteks2x> what could cause my code to work/not work in checkerboard pattern O.o http://i.imgur.com/hY3SONl.png
L2813[23:07:05] <barteks2x> wait nvm
L2814[23:07:14] <barteks2x> It was because it doesn't work below y=0
L2815[23:08:12] <howtonotwin> what even is that terrain
L2816[23:08:33] <barteks2x> it's supposed to be sin(x/20)*sin(z/20) for testing
L2817[23:08:38] <barteks2x> (heightmap)
L2818[23:08:47] <howtonotwin> and how are there blocks below 0?
L2819[23:08:58] <barteks2x> magic
L2820[23:09:10] <barteks2x> that's the whole point of the mod
L2821[23:09:21] <howtonotwin> it's infinite below 0 too?
L2822[23:09:33] <barteks2x> infinite below 0 and infinite up. Almost
L2823[23:09:39] <barteks2x> 8 million blocks max
L2824[23:09:45] <barteks2x> in both directions
L2825[23:09:46] <howtonotwin> close enough
L2826[23:11:43] <barteks2x> so the bug is somewhere inthis: http://pastebin.com/T75V9Pxe that's going to be fun to debug
L2827[23:16:04] <barteks2x> and fixed
L2828[23:23:55] <howtonotwin> uuh: "public ActionResult<ItemStack> onItemRightClick(World itemStackIn, EntityPlayer worldIn, EnumHand playerIn)"
L2829[23:24:13] <howtonotwin> this is what happens when you use mappings for the previous version by default
L2830[23:24:42] <howtonotwin> I don't suppose it's safe to use more recent mappings for the Forge workspace
L2831[23:24:44] <howtonotwin> ?
L2832[23:31:00] *** tterrag is now known as tterrag|ZZZzzz
L2833[23:36:11] ⇦ Quits: Eragonn1490 (~eragonn14@2600:1005:b00e:b979:84ea:f481:6f39:c761) (Read error: Connection reset by peer)
L2834[23:36:24] <barteks2x> depends on what you think is safe
L2835[23:37:15] <barteks2x> and is it forge itself, or mod workspace?
L2836[23:37:20] <howtonotwin> forge itself
L2837[23:39:25] <barteks2x> it would probably work, but may not be good idea if you want to submit PR
L2838[23:39:45] * howtonotwin is just now reviewing a PR he just made
L2839[23:40:06] <howtonotwin> well the PR isn't made, but it's committed+pushed :P
L2840[23:40:29] <howtonotwin> and yeah I thought so
L2841[23:40:46] <barteks2x> now the last thing to get working is biomes...
L2842[23:43:24] <howtonotwin> This patch is a bit large...
L2843[23:44:35] <howtonotwin> is +8-4 too large?
L2844[23:44:43] <howtonotwin> 7 of those +8 are one block
L2845[23:44:49] <howtonotwin> but the other 5 lines are scattered
L2846[23:45:07] <howtonotwin> throughout ItemBow.onItemStoppedUsing
L2847[23:51:19] ⇦ Quits: Brokkoli (~Brokkoli@p2E5B1DD8.dip0.t-ipconnect.de) (Quit: Die Sprache der Politik ist daf�r gemacht, dass L�gen wahr klingen und das T�ten angemessen wirkt. (George Orwell))
L2848[23:51:46] ⇦ Quits: howtonotwin (~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net) (Quit: Pop!)
<<Prev Next>> Scroll to Top