<<Prev Next>> Scroll to Bottom
Stuff goes here
L1[00:00:04] ⇨ Joins: Ipsis (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk)
L2[00:04:55] ⇦ Quits: brandon3055 (~Brandon@122.129.142.1) (Read error: Connection reset by peer)
L3[00:07:31] ⇨ Joins: brandon3055 (~Brandon@122.129.142.1)
L4[00:11:17] ⇦ Quits: Doty1154 (~Doty1154@2601:648:8000:134f:ec2f:eef7:26b2:aec) (Read error: Connection reset by peer)
L5[00:16:23] *** fry|sleep is now known as fry
L6[00:17:44] ⇦ Quits: brandon3055 (~Brandon@122.129.142.1) (Read error: Connection reset by peer)
L7[00:18:13] ⇨ Joins: Isi (~Isi@24.217.148.149)
L8[00:19:57] ⇨ Joins: moog (~moog@24-176-156-144.dhcp.jcsn.tn.charter.com)
L9[00:20:18] ⇨ Joins: brandon3055 (~Brandon@122.129.142.1)
L10[00:31:18] ⇦ Quits: brandon3055 (~Brandon@122.129.142.1) (Read error: Connection reset by peer)
L11[00:33:59] ⇨ Joins: brandon3055 (~Brandon@122.129.142.1)
L12[00:35:35] <Zaggy1024> time to profile the options for the cloud rendering
L13[00:36:12] <Zaggy1024> well, not quite
L14[00:36:23] <Zaggy1024> I want to try less faces with the shaders first
L15[00:37:00] ⇦ Quits: brandon3055 (~Brandon@122.129.142.1) (Read error: Connection reset by peer)
L16[00:39:31] ⇨ Joins: brandon3055 (~Brandon@122.129.142.1)
L17[00:41:37] <Tazz> anyone know why this is happening?: http://i.imgur.com/fOim8Re.png
L18[00:41:52] <Tazz> heres the code for those interested: https://gist.github.com/s0cks/28d5508c99e5c236f2c7bf80ff27d5b2
L19[00:42:22] *** mrkirby153 is now known as kirby|gone
L20[00:42:24] <tterrag> 1. STOP using GL11
L21[00:42:31] <tterrag> use GLStateManager it exists for a good reason
L22[00:42:33] <Tazz> tterrag, it doesnt work with GlStateManager
L23[00:42:39] <tterrag> um
L24[00:42:39] <Tazz> well it does the same thing
L25[00:42:55] <tterrag> try GLStateManager.disableLighting
L26[00:43:19] <Tazz> tterrag, pre or post rendering it?
L27[00:43:24] <tterrag> pre...
L28[00:43:32] <Tazz> kk
L29[00:49:04] <Tazz> tterrag, that caused more issues haha
L30[00:49:43] <Wuppy> great... waking up at 7AM on a Saturday
L31[00:49:56] <Wuppy> and the first thing you've got to do is turn off the power and disconnect the washing machine :<
L32[00:50:06] <tterrag> probably because you are thrashing the GL state. switch everything to GlStateManager then debug
L33[00:50:21] <Tazz> everything is switched to GlStateManager
L34[00:50:50] <tterrag> and what does it look like
L35[00:51:03] <Tazz> same thing
L36[00:52:50] <capitalthree> can I use a weakreference to reliably know if an object has no more strong references?
L37[00:52:56] <capitalthree> or is it just, whenever it gets GC'd
L38[00:53:06] <Tazz> capitalthree, when it gets GCd
L39[00:53:12] <capitalthree> oh well, thanks
L40[00:53:23] <Tazz> I believe dont quote me on that
L41[00:53:35] <tterrag> right. but GC is not guaranteed
L42[00:53:50] <tterrag> an object being dereferenced doesn't mean it will be deleted right away
L43[00:53:52] <fry> question is, what for?
L44[00:53:55] <tterrag> ^
L45[00:54:09] <capitalthree> weak references to entity items, and checking if those entities are still around
L46[00:54:15] <capitalthree> I guess I can just ask them
L47[00:54:17] <fry> what for? :P
L48[00:54:23] <capitalthree> like, big-picture?
L49[00:54:27] <Tazz> tterrag, if its a reference counting GC then it will be GCd automatically when its out of references
L50[00:54:35] <fry> just an approximate counting?
L51[00:54:35] <capitalthree> for a feature to my mod to make items start flickering when they're about to despawn!
L52[00:54:58] <capitalthree> and I don't want to do per-tick polling of every entityitem ever
L53[00:55:16] <tterrag> uh
L54[00:55:23] <capitalthree> so what I do want to do is throw them all into a priorityqueue by expected time to almost despawn
L55[00:55:23] <tterrag> you already have to override their rendering right?
L56[00:55:26] <fry> for that I'd probably hook directly inside the rendering of it
L57[00:55:28] <capitalthree> using weak references
L58[00:55:31] <capitalthree> in case they go away before that
L59[00:55:44] <capitalthree> ok well so my issue is this has to happen clientside
L60[00:55:53] <capitalthree> and the client doesn't necessarily know the lifespan and age on the serverside
L61[00:55:57] <capitalthree> (if I'm not mistaken?)
L62[00:56:05] <fry> send it over :P
L63[00:56:05] <tterrag> did you actually check?
L64[00:56:12] <capitalthree> unascribed told me he checked
L65[00:56:14] <fry> (after you actually check, yes :P)
L66[00:56:20] <capitalthree> I don't even know how he checked, it's all voodoo to me
L67[00:56:22] <unascribed> ?
L68[00:56:25] <capitalthree> I'm very new at this minecraft modding thing
L69[00:56:30] <capitalthree> unascribed: that age and lifespan aren't synced
L70[00:56:34] <unascribed> yes
L71[00:56:41] <unascribed> only the item slots are
L72[00:56:45] <unascribed> I checked wiki.vg and EntityItem
L73[00:56:57] <unascribed> unless it's some magical hidden Forge packet
L74[00:57:02] <tterrag> I just checked yes, it is not synced
L75[00:57:06] <capitalthree> fry: "send it over" is what I'm trying to do. the server will send a packet for each item when it should start flickering
L76[00:57:13] <tterrag> however, it should nto be hard to add it to the datawatcher (or whatever 1.9 uses) yourself
L77[00:57:14] <capitalthree> fry: the question is how to keep track of when to send those packets
L78[00:57:19] <capitalthree> without polling every item per tick :P
L79[00:57:21] ⇨ Joins: keybounce (~keybounce@adsl-108-192-90-229.dsl.bkfd14.sbcglobal.net)
L80[00:57:30] <capitalthree> and I have an answer, I should be good to go
L81[00:57:45] <capitalthree> tterrag: can I do that in 1.8?
L82[00:57:49] <tterrag> entity.getDataManager().register(...)
L83[00:57:51] <tterrag> sure why not
L84[00:57:54] <tterrag> it's public, right?
L85[00:58:02] <unascribed> in 1.8 it's getDataWatcher
L86[00:58:03] <capitalthree> ah ok cool
L87[00:58:08] <capitalthree> is the data watcher cheap?
L88[00:58:18] <tterrag> it only syncs when necessary
L89[00:58:22] <tterrag> so it's as good as you'll get
L90[00:58:36] <capitalthree> cool
L91[00:58:49] <capitalthree> if I can just have lifespan and age synced I can throw away LambdaNetwork
L92[00:58:53] <tterrag> just update the object in some kind of update event
L93[00:58:54] <capitalthree> sorry unascribed but I won't use packets if I don't have to :P
L94[00:59:12] <unascribed> datawatcher is basically an abstraction for packets
L95[00:59:14] <unascribed> so meh
L96[00:59:15] <capitalthree> tterrag: I don't know what that means either >_>
L97[00:59:30] <unascribed> I was going to suggest using it, but the problem is it uses IDs in 1.8
L98[00:59:31] ⇨ Joins: OvermindDL1 (~OvermindD@files.minecraftforge.net)
L99[00:59:37] <unascribed> so if another mod adds something to the datawatcher it could conflict
L100[01:00:03] <Tazz> lol capitalthree how do you know about WeakReference and not a simple update event mechanism...
L101[01:00:12] ⇦ Quits: moog (~moog@24-176-156-144.dhcp.jcsn.tn.charter.com) (Ping timeout: 201 seconds)
L102[01:00:15] <capitalthree> well WeakReference is a java feature
L103[01:00:40] <fry> try replacing the renderer for EntityItem.class
L104[01:00:51] <Tazz> capitalthree, an obscure one at that
L105[01:00:58] <capitalthree> hehe yeah that's what I was planning on fry
L106[01:01:12] <capitalthree> right now the goal is to make sure the client actually reliably knows when items are about to despawn
L107[01:01:13] <unascribed> Tazz, unlike a lot of modders, capitalthree has previous JVM knowledge
L108[01:01:22] <fry> wha for? :P
L109[01:01:23] <unascribed> so it's to be expected he knows about WeakReference and not DataWatcher
L110[01:01:24] <Tazz> unascribed, I realize this haha
L111[01:01:25] <fry> *what for
L112[01:01:39] <fry> if your renderer is called for entity e, then that entity is alive
L113[01:01:39] <capitalthree> fry: because if the client doesn't know when the item's about to despawn, it can't start flickering at the right time :P
L114[01:01:49] * Tazz started modding before he had any knowledge of Java
L115[01:01:54] <fry> nothing needs to "start flickering"
L116[01:01:55] <capitalthree> I want it to start flickering for like 20 seconds *before* it despawns
L117[01:02:00] <fry> you'll get polled in the renderer :P
L118[01:02:01] ⇦ Quits: Isi (~Isi@24.217.148.149) (Read error: Connection reset by peer)
L119[01:02:07] <fry> access your map there
L120[01:02:12] <capitalthree> yes, and how does the render know if it's flicker time or not?
L121[01:02:24] <Tazz> capitalthree, keep track of ticks that pass
L122[01:02:30] * capitalthree facepalms
L123[01:02:41] <capitalthree> counting the ticks on an EntityItem is built in
L124[01:02:49] <capitalthree> I just need to make sure lifespan and age are actually synced
L125[01:02:50] <capitalthree> :P
L126[01:02:59] <Tazz> each poll check the delta between last sys time and current sys time
L127[01:03:06] <unascribed> wat
L128[01:03:10] <capitalthree> first you say ticks, now you say sys time?
L129[01:03:15] <unascribed> minecraft uses a timestep not deltas
L130[01:03:16] <unascribed> use timestep
L131[01:03:30] <Tazz> capitalthree, you can do either one
L132[01:03:35] <fry> store the entity despawn time in your map
L133[01:03:36] <Tazz> they get the general effect
L134[01:03:38] <capitalthree> maybe I should time things based on the bitcoin blockchain
L135[01:03:49] <Wuppy> heh, I love how I can track the position of the car which will deliver my washing machine on google maps :P
L136[01:03:53] ⇦ Quits: McJty (~jorrit@94.225.203.206) (Quit: Leaving)
L137[01:03:55] <Wuppy> I can see it being pretty close already :P
L138[01:04:04] <capitalthree> fry: ok that works too then. so I'm back to what I was already talking about before someone brought up the data watcher xD
L139[01:04:08] <capitalthree> I shall do it
L140[01:04:17] <Wuppy> is that normal? because I've never seen it before
L141[01:04:37] <fry> do you see that you don't need to check anything explicitly? :P
L142[01:05:01] <fry> you can probably even get away with not using the map at all, if the datawatcher stores received values
L143[01:05:16] <fry> (since you can access it in the render method)
L144[01:07:36] <capitalthree> I just don't understand this whole datawatcher thing
L145[01:07:44] <capitalthree> are there examples?
L146[01:07:58] <fry> look at how it's used in vanilla :P
L147[01:08:08] ⇦ Quits: IceDragon (~ThatGuy@184.170.45.236) (Ping timeout: 384 seconds)
L148[01:08:08] ⇦ Quits: srs_bsns (blk@198-48-175-31.cpe.pppoe.ca) (Ping timeout: 384 seconds)
L149[01:08:12] <capitalthree> is it as simple as a line of code that says "dear minecraft, sync this object to all clients that can see it, with age and lifespan"?
L150[01:09:37] * fry opens up IDE
L151[01:09:46] * fry looks at the Entity.class
L152[01:10:01] * fry chooses a random data thingy related to the data watcher
L153[01:10:06] <fry> private static final DataParameter<String> CUSTOM_NAME = EntityDataManager.<String>createKey(Entity.class, DataSerializers.STRING);
L154[01:10:16] * fry hits "show usages"
L155[01:10:30] <fry> this.dataManager.register(CUSTOM_NAME, ""); in the constructor
L156[01:10:40] <fry> + getter/setter
L157[01:10:52] <fry> delegating to this.dataManager.get/set
L158[01:10:57] <fry> looks simple enough
L159[01:13:56] <Zaggy1024> with the simpler cloud model I go from 25350 quads down to 262 :]
L160[01:14:36] ⇨ Joins: killjoy (~killjoy@71.65.255.183)
L161[01:14:38] <capitalthree> fry: I'm confused. are you implying I can change the EntityItem class?
L162[01:14:53] <capitalthree> or just copypaste those bits
L163[01:15:02] <capitalthree> also it seems to be different from what you quoted in 1.8.9
L164[01:15:58] <fry> why are you on 1.8.9? :P
L165[01:16:00] ⇦ Quits: Drullkus (~Dru11kus@c-67-180-188-243.hsd1.ca.comcast.net) (Remote host closed the connection)
L166[01:16:57] <fry> you need to find a place where you'll call .register
L167[01:17:18] <capitalthree> the word register is not in EntityItem.class :P
L168[01:17:34] <capitalthree> I'm on 1.8.9 because of BBoldt's modpack
L169[01:17:47] <fry> look for dataManager then :P
L170[01:17:49] <capitalthree> people seem to use it, and he said he'd include my mod :P
L171[01:17:57] <capitalthree> it's dataWatcher here
L172[01:18:02] <capitalthree> but I'm a bit confused about how it's working
L173[01:18:24] <capitalthree> protected void entityInit() {
L174[01:18:24] <capitalthree> this.getDataWatcher().addObjectByDataType(10, 5);
L175[01:18:24] <capitalthree> }
L176[01:18:31] <capitalthree> oops sorry
L177[01:18:35] <capitalthree> didn't eralize it was multiple lines
L178[01:18:43] <Zaggy1024> 10 is the key
L179[01:18:46] <Zaggy1024> probably
L180[01:18:49] <Zaggy1024> or 5
L181[01:18:52] <Zaggy1024> look at the parameters :P
L182[01:18:53] <fry> you should really update
L183[01:19:01] <fry> it's less silly constants in 1.9
L184[01:19:21] <Zaggy1024> that's true, but we don't need to start an argument about versions :P
L185[01:19:41] <fry> sure we do :P
L186[01:20:02] <fry> here's some years-old documentation: http://www.minecraftforge.net/wiki/Datawatcher
L187[01:20:22] <capitalthree> if I go with my other idea I don't need the data watcher xD
L188[01:21:13] ⇦ Quits: Uristqwerty (~chatzilla@modemcable078.46-58-74.mc.videotron.ca) (Ping timeout: 198 seconds)
L189[01:22:35] *** tterrag is now known as tterrag|ZZZzzz
L190[01:25:09] <capitalthree> fry: I keep reading up and down this page, I just don't see where the ids are coming from
L191[01:25:18] <capitalthree> dw.addObject(20, 1);//add a new int with id 20, when initializing you can put anything even if it's irrelevant
L192[01:25:21] <capitalthree> where does 20 come from?
L193[01:25:55] <fry> welcome to the wonderful world of "it's hardcoded"
L194[01:25:55] ⇦ Quits: theFlaxbeard (~theFlaxbe@184.97.248.96) (Read error: Connection reset by peer)
L195[01:27:11] <capitalthree> but how do I know what numbers to use >_>
L196[01:27:25] <capitalthree> EntityItem just adds 1 thing to the data watcher and it's 10
L197[01:27:27] <capitalthree> I dunno wtf 10 is!
L198[01:27:35] <fry> there's a table on that page
L199[01:27:50] <fry> you could always update to 1.9 and use a sensible constructor
L200[01:27:56] <capitalthree> a table of everything ever except entityitem
L201[01:27:56] <fry> that doens't have those ids :P
L202[01:28:31] <capitalthree> well, sensible things are nice
L203[01:28:51] <Delenas> Welcome to deobf. Obf makes the constants disappear in sensible locations, and removes function calls.
L204[01:29:04] <capitalthree> obfuscation is the devil
L205[01:29:08] <capitalthree> why does it still happen >_<
L206[01:29:17] <fry> also, google is your friend: http://wiki.vg/Entities#Entity_Metadata_Format
L207[01:29:37] <Delenas> And yet, here they are confusing you. This is how they protect their code from direct copying
L208[01:30:39] ⇨ Joins: Hunterz (~hunterz@62.182.234.189)
L209[01:32:24] <capitalthree> fry: EntityItem is missing from there too :P
L210[01:32:33] <capitalthree> the problem is I'm using EntityItem in my google queries and you're not
L211[01:32:58] <fry> there's Item in there :P
L212[01:33:00] <unascribed> http://wiki.vg/Entities#Item
L213[01:33:13] <capitalthree> fry: Item doesn't have lifespan and age
L214[01:33:28] <fry> which means you need to add them
L215[01:33:29] <capitalthree> wait
L216[01:33:30] <capitalthree> no
L217[01:33:31] <capitalthree> er
L218[01:33:34] <capitalthree> I'm confused
L219[01:33:47] * capitalthree dies
L220[01:33:59] <capitalthree> ok so do I just give them index 6 and 7?
L221[01:34:01] *** minecreatr is now known as Mine|dreamland
L222[01:34:14] <fry> you can, assuming no other mod does the same
L223[01:34:41] <capitalthree> glorious
L224[01:35:12] <capitalthree> and do I have to write a bunch of support code to make it so the client actually updates those values when it gets the data watcher packets?
L225[01:35:17] <capitalthree> or how do I tell the data watcher what field to update?
L226[01:35:43] <fry> datawatcher will store the value inside itself
L227[01:35:53] <fry> (assuming it's the same in 1.8 as in 1.9)
L228[01:36:05] <fry> so, you can query it directly, when you need it
L229[01:36:09] *** V is now known as Vigaro
L230[01:36:29] <capitalthree> it's not the same
L231[01:36:48] <capitalthree> I should just do it with a packet with unascribed's library
L232[01:36:54] <unascribed> the datawatcher is essentially an automatically synced map
L233[01:36:57] <capitalthree> because as far as I can tell it will do the same thing anyways :P
L234[01:37:05] <unascribed> where the key is a byte and the value is one of a few types
L235[01:37:10] <unascribed> but
L236[01:37:20] <unascribed> vanilla code doesn't sent lifespan and age updates through the datawatcher
L237[01:37:27] <unascribed> so it won't update
L238[01:37:30] <unascribed> send*
L239[01:37:31] <capitalthree> but I can add them to the data watcher?
L240[01:37:36] <capitalthree> in 1.9 I guess
L241[01:37:43] <capitalthree> doesn't seem like 1.8 does that
L242[01:37:50] <fry> does what?
L243[01:38:04] <capitalthree> lets me add values for it to automatically sync
L244[01:38:09] <capitalthree> er members
L245[01:38:41] <fry> this.dataWatcher.addObject(3, Byte.valueOf((byte)0));
L246[01:38:47] ⇦ Quits: Ordinastie_ (~Ordinasti@87-231-58-94.rev.numericable.fr) (Quit: Leaving)
L247[01:38:58] <fry> public boolean isSilent() { return this.dataWatcher.getWatchableObjectByte(4) == 1; }
L248[01:39:08] <fry> public void setSilent(boolean isSilent) { this.dataWatcher.updateObject(4, Byte.valueOf((byte)(isSilent ? 1 : 0))); }
L249[01:39:15] <fry> looks exactly the same
L250[01:39:27] <fry> except for explicit int id
L251[01:40:29] <capitalthree> OH
L252[01:40:35] <capitalthree> so the data watcher is creating additional fields
L253[01:40:44] <fry> ..no, it's not
L254[01:40:46] <capitalthree> not just making the existing fields on the EntityItem class be synced?
L255[01:40:47] <capitalthree> oh
L256[01:40:52] <capitalthree> ok I'm still dumb then, I'm sorry :P
L257[01:41:00] <fry> fields don't come into the picture :P
L258[01:41:08] <capitalthree> but age and lifespan are fields!
L259[01:41:18] <fry> who cares? :P
L260[01:41:31] <fry> you need to be able to look up and update the value of a "property"
L261[01:41:43] <capitalthree> I don't understand what benefit the data watcher has then
L262[01:41:44] <fry> you identify that "property" by the int id in 1.8
L263[01:41:54] <capitalthree> over sending a packet, and having the client update the fields on the EntityItem when it gets that packet
L264[01:41:58] <fry> it'll do the network syncing for you
L265[01:42:12] <fry> and you don't need to use any external map
L266[01:42:20] <capitalthree> ok
L267[01:42:24] <capitalthree> fair enough
L268[01:42:29] <capitalthree> ok I can do this
L269[01:42:31] <capitalthree> I had it all wrong
L270[01:42:37] <capitalthree> I thought it was gonna sync the fields on the item :P
L271[01:42:50] <capitalthree> how will this work in SMP?
L272[01:42:57] <unascribed> the datawatcher does not mirror fields
L273[01:42:58] <capitalthree> do I need to check for SMP and handle things differently?
L274[01:42:59] <unascribed> it's a map
L275[01:43:00] <unascribed> plain and simple
L276[01:43:04] <fry> it's always SMP
L277[01:43:06] <unascribed> all sets and gets need to go through it for it to work
L278[01:43:11] <unascribed> and yeah, everything is SMP
L279[01:43:15] <capitalthree> oh I meant SSP
L280[01:43:16] <capitalthree> but ok
L281[01:43:22] <fry> SSP is SMP :P
L282[01:43:23] <unascribed> SSP is SMP
L283[01:43:38] <capitalthree> oh :D
L284[01:43:48] <capitalthree> so does a mod init twice in SSP? :P
L285[01:43:49] <killjoy> Also nothing is SMP
L286[01:43:58] <unascribed> mods init once
L287[01:44:08] <unascribed> this is why I told you to use ServerAboutToStart and ServerStopping for your server-side mod
L288[01:44:10] <killjoy> serverstarted happens once as well
L289[01:44:18] <killjoy> but not on the client
L290[01:44:19] <unascribed> happens possibly multiple times
L291[01:44:26] <unascribed> on the dedicated server it only happens once, yes
L292[01:44:28] <capitalthree> unascribed: but I can't register event handlers except in preInit
L293[01:44:33] <unascribed> but on the client it can happen multiple times
L294[01:44:35] <killjoy> Use a Network event
L295[01:44:37] <killjoy> for client
L296[01:44:38] <unascribed> capitalthree, wat?
L297[01:44:43] <capitalthree> wait can I?
L298[01:44:44] <unascribed> event handlers can be registered whenever
L299[01:44:51] <unascribed> and deregistered whenever
L300[01:44:55] <capitalthree> MinecraftForge.EVENT_BUS.register(EventHandler(c.despawns, c.shitTier, c.shitTierMods))
L301[01:44:58] <capitalthree> I can do this whenever?
L302[01:45:01] <unascribed> yes
L303[01:45:06] <capitalthree> holy crap I've been lied to
L304[01:45:07] <killjoy> I once registered an event handler in an entity constructor
L305[01:45:09] <capitalthree> can I deregister it too?
L306[01:45:13] <unascribed> yes
L307[01:45:13] <killjoy> yes
L308[01:45:20] <capitalthree> wow
L309[01:45:22] <unascribed> it's just a normal event bus
L310[01:45:24] <capitalthree> how have I been so misled
L311[01:45:34] <capitalthree> I have asked people this several times because I couldn't believe it
L312[01:45:36] <unascribed> there's nothing special tying it to the game lifecycle
L313[01:45:37] <killjoy> well a normal eventbus does post(Object)
L314[01:45:40] <capitalthree> I suppose somehow I miscommunicated every single time
L315[01:45:43] <killjoy> forge's uses post(Event)
L316[01:45:54] <unascribed> it's still a normal event bus
L317[01:45:57] <killjoy> mostly
L318[01:46:07] <killjoy> similar features
L319[01:46:11] <killjoy> plus some
L320[01:46:13] <unascribed> I mean event bus as a concept, not the Guava Eventbus
L321[01:46:15] <unascribed> EventBus*
L322[01:46:18] <capitalthree> in that case I am gonna make my mod so much more only registering events on the server!
L323[01:46:30] <capitalthree> does ServerAboutToStart happen on SSP?
L324[01:46:38] <unascribed> yes...
L325[01:46:40] <unascribed> that's my entire point
L326[01:46:40] <capitalthree> sweet
L327[01:46:48] <unascribed> SSP is just a local server
L328[01:46:52] <unascribed> it's run with a "memory" connection
L329[01:47:04] <unascribed> which basically just passes messages between threads rather than using a socket
L330[01:47:34] <capitalthree> makes sense
L331[01:47:39] <capitalthree> I approve!
L332[01:47:51] <capitalthree> in case forge needed my approval
L333[01:47:52] <unascribed> the important part though is it still uses packets
L334[01:47:58] <unascribed> it just doesn't (de)serialize
L335[01:48:21] <capitalthree> though in SSP, I *can* rely on EntityItems on the clientside code to already have the correct fields, right?
L336[01:48:27] <capitalthree> or are there two copies of everything
L337[01:48:35] <unascribed> there's two copies of everything
L338[01:48:39] <capitalthree> oh jesus
L339[01:48:47] <capitalthree> well ok
L340[01:48:47] <unascribed> the easy solution
L341[01:48:49] <capitalthree> that's weird
L342[01:48:49] <unascribed> is forget SSP exists
L343[01:48:52] <unascribed> code everything for SMP
L344[01:48:53] <unascribed> it's identical.
L345[01:48:53] <capitalthree> clearly
L346[01:48:57] <capitalthree> I guess that was the intent
L347[01:49:02] <unascribed> yep
L348[01:49:03] <capitalthree> to stop people from making mods that screw up in smp
L349[01:49:05] <capitalthree> xD
L350[01:49:21] <unascribed> you should have seen modding before the client/server merge
L351[01:49:26] <capitalthree> I did
L352[01:49:32] <unascribed> as a user or a dev?
L353[01:49:37] <capitalthree> as a user.
L354[01:49:43] <capitalthree> I was actually wondering why I don't see mods anymore that are ssp only
L355[01:49:45] <capitalthree> now I know :D
L356[01:50:13] <unascribed> 1.2: The update where the players went on a murderous rampage, and all the modders rejoiced
L357[01:50:21] <capitalthree> :3
L358[01:50:43] <fry> 1.3 :P
L359[01:51:18] <fry> also, not all modders rejoices, half of the mods never updated
L360[01:51:26] <unascribed> right, 1.2 was the one with Anvil
L361[01:54:34] <Delenas> And don't forget 1.5,the update to destroy anything circuit related. Then, of course, 1.8.
L362[01:54:48] <capitalthree> the anvil's gone? how are we going to fix our non-tinker tools :O
L363[01:54:56] <unascribed> ?
L364[01:55:03] <capitalthree> bad joke >_>
L365[01:55:03] <Delenas> Booo
L366[01:56:11] <capitalthree> so am I guaranteed preInit will be called exactly once per jvm load ever?
L367[01:56:23] <killjoy> yes
L368[01:56:25] <unascribed> per minecraft init, yes
L369[01:56:30] <unascribed> if it doesn't get called, something is horribly broken
L370[01:56:36] <unascribed> if it gets called multiple times
L371[01:56:39] <unascribed> someone did something really bad
L372[01:56:56] <unascribed> and both physical sides initialize exactly once
L373[01:56:56] <unascribed> so
L374[01:57:01] <killjoy> Anything with @EventHandler should only be called once
L375[01:57:12] <killjoy> Except the server events
L376[01:57:21] <unascribed> and a few others
L377[01:57:22] <unascribed> :P
L378[01:57:22] <killjoy> those are called whenever a single player world is loaded (or closed)
L379[01:57:42] <killjoy> except on the server
L380[01:59:55] <MCPBot_Reborn> [TEST CSV] Pushing snapshot_20160514 mappings to Forge Maven.
L381[01:59:59] <MCPBot_Reborn> [TEST CSV] Maven upload successful for mcp_snapshot-20160514-1.9.zip (mappings = "snapshot_20160514" in build.gradle).
L382[02:00:02] <capitalthree> cool. my mod is gonna try to register null as an event handler, if preInit wasn't called
L383[02:00:05] <capitalthree> so take that
L384[02:00:06] *** Kolatra is now known as Kolatra|away
L385[02:00:09] <MCPBot_Reborn> Semi-live (every 10 min), Snapshot (daily ~3:00 EST), and Stable (committed) MCPBot mapping exports can be found here: http://export.mcpbot.bspk.rs/
L386[02:04:05] <capitalthree> fry: am I going to have to update age every tick?
L387[02:04:14] <capitalthree> in this data watcher thingy?
L388[02:04:21] <capitalthree> I'm not seeing how exactly this works
L389[02:04:47] <capitalthree> is there a frame of reference for ticks? so I can set the value for expected despawn time?
L390[02:04:47] <fry> you get time passed into the render method, is it correct?
L391[02:05:06] <killjoy> are there any constants for the datawatcher so we don't have to use magic numbers?
L392[02:05:08] <capitalthree> time in ticks?
L393[02:05:19] <fry> killjoy: 1.9 :P
L394[02:05:44] <killjoy> cool
L395[02:06:59] <Wuppy> I wonder how expensive it is to organise a BBQ for 150 people....
L396[02:07:12] ⇨ Joins: alex_6611 (~alex_6611@p5DE7A66B.dip0.t-ipconnect.de)
L397[02:07:28] <fry> about 30 times more expensive than bbq for 5 people
L398[02:07:30] <fry> probably :P
L399[02:08:04] <capitalthree> so is EntityViewRenderEvent what I want?
L400[02:13:43] <killjoy> Wuppy, make it a potluck
L401[02:13:52] <killjoy> just buy the pig
L402[02:13:57] <killjoy> and call it a pigpicken
L403[02:13:58] <Wuppy> fry it's generally cheaper if you buy more though :)
L404[02:14:24] <Wuppy> killjoy, too much work, on the day of the bbq I'll be busy trying to get contacts in the games industry
L405[02:14:29] <killjoy> Make some good ol' fashion north carolina bbq
L406[02:14:51] <Wuppy> last year there were people from nintendo, sony, microsoft, Utomik, Guerilla etc. et.c
L407[02:15:58] <capitalthree> is there an event on the server for when an entity is loaded to a client?
L408[02:16:07] <capitalthree> and if not, is there an event on the client for it?
L409[02:16:30] ⇨ Joins: Drullkus (~Dru11kus@2601:646:8301:8947:15c5:8985:a8cf:8a6e)
L410[02:17:02] <unascribed> EntityStartTrackingEvent or something like that
L411[02:17:10] <unascribed> on the client it's EntityJoinWorldEvent, but be sure to check isRemote
L412[02:17:23] ⇦ Quits: Delenas (~Delenas@2600:1016:b008:5535:bc54:f73a:a5d1:34c3) (Quit: rawr.)
L413[02:17:34] <capitalthree> ok! thanks!
L414[02:17:41] <capitalthree> waiiiit
L415[02:17:45] <capitalthree> since ssp is fake
L416[02:17:50] <capitalthree> do I really have to check isRemote?
L417[02:17:54] <unascribed> yes
L418[02:18:01] <unascribed> EntityJoinWorld is called on the client and the server
L419[02:18:16] <capitalthree> but I will only register the client handler on the client and the server handler on the server
L420[02:18:42] <capitalthree> or are you going to tell me in smp they share an event bus :P
L421[02:18:46] <capitalthree> because if so my head will explode
L422[02:18:49] <capitalthree> er ssp
L423[02:18:52] <unascribed> they're both the same event busd.
L424[02:18:53] <unascribed> bus*
L425[02:18:56] <capitalthree> oh my god what
L426[02:19:55] <capitalthree> fry: can you confuse this terrifying fact?
L427[02:19:58] <capitalthree> er
L428[02:19:59] <capitalthree> confirm
L429[02:20:02] <capitalthree> why am I awake
L430[02:20:10] <kashike> how is that terrifying?
L431[02:20:11] <fry> yes, 1 bus
L432[02:20:35] <capitalthree> kashike: because people were trying to convince me that I can just pretend SSP doesn't exist!
L433[02:20:47] <fry> you can :P
L434[02:20:50] <capitalthree> except, oh wait, I can't, because I have to guard the server code against client events and vice versa!
L435[02:21:13] ⇦ Quits: Drullkus (~Dru11kus@2601:646:8301:8947:15c5:8985:a8cf:8a6e) (Ping timeout: 198 seconds)
L436[02:21:31] <capitalthree> fry: I have an event handler for the server and one for the client
L437[02:21:38] *** AEnterpriseAFK is now known as AEnterprise
L438[02:21:42] <capitalthree> but if they're both on the same event bus and both use EntityJoinsWorldEvent for stuff
L439[02:21:49] <capitalthree> then I have to check world.isRemote I guess
L440[02:21:55] <fry> what's the difference in their code?
L441[02:22:12] <fry> meaning, do you even need 2 event handlers?
L442[02:22:17] <capitalthree> client EntityJoinsWorldEvent doesn't actually mean the entity is joining the world, it just means it's being loaded right?
L443[02:22:23] ⇨ Joins: PrinceCat (~PrinceCat@124.170.161.139)
L444[02:22:25] <capitalthree> because the server doesn't need a rendering event
L445[02:22:35] <capitalthree> and the client doesn't need to run the code to alter the item despawns
L446[02:22:40] <capitalthree> it just needs to receive that from the server
L447[02:23:17] <fry> in most cases, you do 1 handler, and use world.isRemote to alter the logic, if you need to
L448[02:25:21] ⇨ Joins: Elec332 (~Elec332@ip5456d4a5.speed.planet.nl)
L449[02:25:43] ⇦ Quits: auenf (David@DC-53-50.bpb.bigpond.com) (Remote host closed the connection)
L450[02:26:40] ⇨ Joins: auenf (David@DC-53-50.bpb.bigpond.com)
L451[02:27:02] *** PaleOff is now known as PaleoCrafter
L452[02:27:18] ⇨ Joins: Naiten (Naiten@77.34.18.18)
L453[02:27:48] ⇦ Quits: MoxieGrrl_ (~MoxieGrrl@173.23.172.139) (Read error: Connection reset by peer)
L454[02:28:24] <capitalthree> fry: so I'm guessing you don't like that I have a handler I'm registering and unregistering in FMLServerAboutToStartEvent and FMLServerStoppingEvent events? xD
L455[02:28:30] ⇨ Joins: MoxieGrrl_ (~MoxieGrrl@173-23-172-139.client.mchsi.com)
L456[02:30:22] <fry> tis not that bad, but why? :P
L457[02:30:31] <fry> why not register it once and keep it there? :P
L458[02:30:55] * capitalthree shrugs
L459[02:30:57] <fry> it's not like something will fire outside the running server :P
L460[02:31:07] <capitalthree> well some of those events will fire on a client
L461[02:31:10] <capitalthree> and I don't want them to :P
L462[02:31:36] <fry> check world.isRemote :P
L463[02:31:42] <capitalthree> that seems to be the only way
L464[02:31:44] <capitalthree> xD
L465[02:32:05] <capitalthree> I don't really understand why SSP shares the event bus between client and server! if it's supposed to be decoupled!
L466[02:33:19] <fry> you quite often want the same thing to happen on both the client and the server
L467[02:33:42] <capitalthree> that's true but that can still happen with separate event buses
L468[02:33:46] <capitalthree> for events that fire on both client and server
L469[02:34:08] <fry> well, that's a decision that was made like 5 years ago :P
L470[02:34:19] <capitalthree> I guess I'm late to the party, oh well!
L471[02:34:21] <fry> it can probably work with 2 busses
L472[02:34:22] <kashike> The forge event bus is the "game" event bus, not a "client" or "server" event bus
L473[02:34:22] <capitalthree> it's still a rather nice party
L474[02:34:37] <fry> it may even be beneficial to ahve a per-world bus
L475[02:34:40] <fry> *have
L476[02:34:46] <fry> maybe in the future :P
L477[02:34:47] <capitalthree> I definitely agree on that one
L478[02:35:10] <kashike> is the world gen event bus still a thing? haven't looked into that with 1.9 yet
L479[02:35:17] <fry> it is
L480[02:35:32] ⇨ Joins: SanAndreasP (~SanAndrea@ip-2-201-0-71.web.vodafone.de)
L481[02:35:36] <capitalthree> but ok fry, sold
L482[02:35:46] <capitalthree> I'm here, I'll do it the forge way and just have one event handler that's properly guarded :P
L483[02:37:31] ⇨ Joins: KGS (~KGS@h-155-4-135-249.na.cust.bahnhof.se)
L484[02:38:17] <Zaggy1024> for some reason the shader clouds are ever so slightly brighter than vanilla clouds and texture upload clouds
L485[02:38:52] ⇦ Quits: PitchBright (~PitchBrig@cpe00fc8d8a3ce3-cm00fc8d8a3ce0.cpe.net.cable.rogers.com) (Ping timeout: 201 seconds)
L486[02:38:55] ⇦ Quits: otho (~otho@191.189.110.191) (Quit: Leaving)
L487[02:39:48] ⇦ Quits: codahq (~codahq@c-174-52-130-121.hsd1.ut.comcast.net) (Ping timeout: 198 seconds)
L488[02:39:57] <capitalthree> so when dealing with minecraft data structures, how do I know what won't ever be null xD
L489[02:40:07] <fry> hah
L490[02:40:12] <fry> wait for 1.9.4 :P
L491[02:40:23] <capitalthree> will there be full annotations? :D
L492[02:40:27] <fry> yup
L493[02:40:39] <capitalthree> awe that's so nice of you <3
L494[02:40:49] <capitalthree> the general you
L495[02:40:56] <capitalthree> whoever's doing that thankless task
L496[02:40:58] <fry> yup, I'm not the one responsible :P
L497[02:41:54] <capitalthree> btw fry did you see what my mod does already?
L498[02:42:05] <capitalthree> https://github.com/alexbobp/LingeringLoot
L499[02:42:27] <unascribed> capitalthree, Mojang is doing that thankless task
L500[02:42:28] <sham1> "shit tier"
L501[02:42:39] <unascribed> they stopped stripping some annotations when optimizing
L502[02:43:01] <capitalthree> unascribed: oh! that's nice of them
L503[02:43:10] <capitalthree> when will they stop obfuscating? xD
L504[02:43:10] <kashike> dont't think they're stripping any, unascribed
L505[02:43:15] ⇦ Quits: SanAndreasP (~SanAndrea@ip-2-201-0-71.web.vodafone.de) (Quit: See ya)
L506[02:43:21] <unascribed> well, all I've heard is NonNull and Nullable
L507[02:43:25] <kashike> @Deprecated, @Nullable, @VisibleForTesting, @Sharable
L508[02:43:27] <unascribed> oh
L509[02:43:30] <unascribed> huh
L510[02:43:38] <capitalthree> sham1: :D
L511[02:43:40] <kashike> Nonnull isn't used, actually
L512[02:43:41] <unascribed> how long until they stop obfuscating the game or at least make SRGs official? :P
L513[02:43:44] <kashike> everything in Nonnull-by-default
L514[02:43:49] <unascribed> that works
L515[02:44:12] <killjoy> srg IS named after a mojang employee
L516[02:44:28] <unascribed> they weren't a mojang employee at the time though
L517[02:44:52] <unascribed> and I don't think he has the power to make such a major change to the build process
L518[02:44:53] <killjoy> Why was he hired again?
L519[02:45:04] <unascribed> for basically being the creator of modding?
L520[02:45:22] ⇨ Joins: SanAndreasP (~SanAndrea@ip-2-201-0-71.web.vodafone.de)
L521[02:45:27] <capitalthree> oh well I'm just gonna use ?. for everything ever from minecraft
L522[02:45:30] <killjoy> I think the last thing he did was armor stands
L523[02:45:52] <unascribed> I still want to make a really simple Java preprocessor
L524[02:46:03] <killjoy> using apt?
L525[02:46:15] <unascribed> can you do syntax modifications with apt?
L526[02:46:20] <killjoy> no
L527[02:46:24] <unascribed> then no
L528[02:46:44] <killjoy> I think what you want is scala
L529[02:47:03] <unascribed> um
L530[02:47:03] <unascribed> no
L531[02:47:07] <capitalthree> unascribed: you might like ceylon more than you like kotlin
L532[02:47:11] <unascribed> I said small
L533[02:47:16] <unascribed> and I've looked at ceylon
L534[02:47:18] <capitalthree> it has Typeascription identifier syntax for declarations
L535[02:47:20] <fry> scala is small :P
L536[02:47:26] <capitalthree> oh, you still hate it?
L537[02:47:26] <unascribed> scala has a runtime library
L538[02:47:30] <fry> it's much smaller than java :P
L539[02:47:31] <unascribed> ceylon is okay
L540[02:47:45] <sham1> Well, scala has the advantage of being able to build off of java
L541[02:47:52] <unascribed> whoa
L542[02:47:56] <unascribed> I clicked onto ceylon's homepage
L543[02:48:02] <unascribed> and for once, I find their example code snippet *inviting*
L544[02:48:03] <killjoy> Well I just started something.. I think I'll be going now
L545[02:48:07] <unascribed> instead of repulsive like Kotlin and Scala
L546[02:48:10] ⇦ Quits: killjoy (~killjoy@71.65.255.183) (Quit: Leaving)
L547[02:48:12] <capitalthree> to me, scala, ceylon, and kotlin, just form a triad of things that are unapologetically better than java
L548[02:48:13] <unascribed> rip
L549[02:48:28] <capitalthree> unascribed: sweet, you found your thingy, start a mod in ceylon :D
L550[02:48:40] <unascribed> I like their codenames
L551[02:48:51] <unascribed> I think I forgot about Ceylon since I didn't find it offensive
L552[02:48:53] <capitalthree> I like ceylon
L553[02:48:59] <capitalthree> in theory I mean
L554[02:49:04] <capitalthree> the reason I didn't use it early on was it didn't have intellij tooling
L555[02:49:05] <unascribed> no primitives, nice
L556[02:49:06] <unascribed> I hate primitives
L557[02:49:07] <capitalthree> now it does, in beta
L558[02:49:10] ⇨ Joins: Nitrodev (~Nitrodev@87-92-75-66.bb.dnainternet.fi)
L559[02:49:14] <capitalthree> unascribed: dude kotlin and scala both do that :P
L560[02:49:17] <unascribed> I know
L561[02:49:22] <unascribed> but Scala and Kotlin are repulsive
L562[02:49:23] <unascribed> :P
L563[02:49:23] <capitalthree> hehe ok fair nuff
L564[02:49:31] <unascribed> everything is final by default
L565[02:49:45] <unascribed> kinda strange syntax for string templates, but it works
L566[02:49:46] <capitalthree> look, I won't look a gift horse in the mouth. if you find ceylon tolerable then I consider that excellent
L567[02:49:52] <fry> if you base your choice on the initial impression of the syntax, you are and idiot :P
L568[02:50:04] <capitalthree> fry: shhhh we have a good thing going here
L569[02:50:07] <capitalthree> don't tell him!
L570[02:50:18] <unascribed> capitalthree, I already ignore everything fry says related to languages, so it's fine
L571[02:50:27] <capitalthree> it's like when a picky eater finally finds a color of pasta they like and then you inform them that it's all the same
L572[02:50:27] <fry> why is that?
L573[02:50:31] <unascribed> anyone who links the article for stockholm syndrome in response to an opinion isn't worth listening to :P
L574[02:50:34] *** kroeser|away is now known as kroeser
L575[02:50:57] <fry> so it's literally never relevant? :P
L576[02:51:19] <unascribed> it's more that I tend to fundamentally disagree with basically anyone who likes Scala
L577[02:51:27] <capitalthree> I do actually agree that kotlin's "fun" is dumb looking
L578[02:51:30] <unascribed> and it's not worth getting into an argument over something like that
L579[02:51:38] <capitalthree> but the silver lining is that when other people whine about it I can be like "what, you hate fun?"
L580[02:52:00] <capitalthree> unascribed: hey come on, I love scala and we agree about lots of stuff <3
L581[02:52:15] <fry> and why is that? what's that magical common thing that unites all people who use scala?
L582[02:52:28] <fry> tell me about it so I'll finally know :P
L583[02:52:31] <unascribed> we're reaching "pointless argument" territory :P
L584[02:52:40] <capitalthree> fry: that they masturbate with implicits and make huge messes
L585[02:52:45] <capitalthree> all of them except me
L586[02:52:55] <unascribed> there's a reason I call "idiomatic" scala "idiotic"
L587[02:53:00] <capitalthree> that's my #1 grief with the scala community :P
L588[02:53:17] <capitalthree> yeah I don't write idiomatic scala
L589[02:53:20] <unascribed> like, let's take our perfectly okay code with only a little bit of redundancy, and make the compiler infer EVERYTHING
L590[02:53:30] <unascribed> that way nobody can read it unless they've read the entire compiler manual
L591[02:53:33] <unascribed> great job guys, 10/10
L592[02:53:34] <fry> all you keep saying is "I don't like scala and everyone who uses it", give solid examples :P
L593[02:53:36] <capitalthree> unascribed: or better
L594[02:53:39] <capitalthree> they use a goddamned ide
L595[02:53:47] <capitalthree> like it's 2016 or something
L596[02:53:53] <sham1> Scala has too many curly braces
L597[02:53:59] <capitalthree> :D
L598[02:54:05] <fry> pffft, real programmers don't use and IDE
L599[02:54:11] <sham1> Indeed
L600[02:54:13] <sham1> They use vim
L601[02:54:28] <sham1> (Which you can use as an IDE with the correct plugins but I will not go into that"
L602[02:54:30] <fry> they write out all the java boierplate manually, and they always get .equals and .hashcode right the first time
L603[02:54:30] <sham1> )
L604[02:54:40] ⇦ Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 384 seconds)
L605[02:55:23] <unascribed> it sort of comes down to I don't have a "concrete" reason I don't like Kotlin or Scala
L606[02:55:30] <capitalthree> fry: I don't remember the last time I wrote a standard .hashcode myself xD
L607[02:55:32] <fry> of course you don't
L608[02:55:37] <capitalthree> intellij generates them fine
L609[02:55:38] <unascribed> I hate reading Scala and Kotlin code, but I don't have the same with Java, Rust, C, JavaScript, or basically any language that isn't scala
L610[02:55:45] <unascribed> (and Rust is *weird*.)
L611[02:56:03] <fry> you know what unites all the people who hate Scala? they never actually used it seriously :P
L612[02:56:04] <capitalthree> rust *is* weird
L613[02:56:15] <PaleoCrafter> those languages all have C-syntax, more or less :P
L614[02:56:22] <capitalthree> fry: or, they used it seriously enough to see idiomatic scala code :P
L615[02:56:38] <sham1> Or they have not seen the light that is Haskell
L616[02:56:50] <capitalthree> nah but people do a lot of really cool things in scala
L617[02:57:04] <capitalthree> if you learn slick's ast, even writing sql again feels like pulling teeth
L618[02:57:09] <capitalthree> you can get so spoiled
L619[02:57:13] <unascribed> so tl;dr scala made a scary face at me as a child and now I don't want to use it
L620[02:57:15] <Nitrodev> hi
L621[02:57:16] <capitalthree> <3 slick
L622[02:57:48] <capitalthree> unascribed: it's ok because we already discovered that you and ceylon are gonna be best friends
L623[02:57:48] <fry> java, C and JS are all based heavily on C, rust is close enough too
L624[02:57:52] *** amadornes[OFF] is now known as amadornes
L625[02:57:57] <capitalthree> but promise me you'll use an ICE
L626[02:58:01] <capitalthree> IDE
L627[02:58:04] <unascribed> nah
L628[02:58:07] <unascribed> I'll use Atom
L629[02:58:09] <unascribed> just to piss you off
L630[02:58:10] <fry> scala's syntax is based on ML mostly, I think
L631[02:58:14] <sham1> Eww, atom
L632[02:58:18] <sham1> Get a real editor
L633[02:58:34] <sham1> Not one of those Starbucks Mac hisper editors
L634[02:58:45] <fry> you should learn more languages that are not in the C family, it'll make you more open-minded :P
L635[02:59:01] <capitalthree> unascribed: ceylon is the closest thing you'll find to your imaginary java++ that isn't a pile of dirty hacks missed with pretending the pain away
L636[02:59:09] <sham1> Who think they are cool because they are into full-stack JavaScript
L637[02:59:13] <capitalthree> unascribed: stop pretending you don't yearn for a better language!
L638[02:59:19] <capitalthree> that has betterness designed in!
L639[02:59:24] <unascribed> I never said Java is good
L640[02:59:27] <capitalthree> ceylon is awesome
L641[02:59:32] <sham1> But what is this "better language"
L642[02:59:40] <capitalthree> also fry is right
L643[02:59:44] <unascribed> but I have no issues with Java and I have never seen a reason to go out of my way to learn a language that is fundamentally different
L644[02:59:50] <capitalthree> you *should* learn to be less picky about syntaxes
L645[02:59:57] <capitalthree> syntax doesn't friggin matter
L646[03:00:00] <fry> ^
L647[03:00:04] <sham1> It kind of does
L648[03:00:07] <capitalthree> unascribed: learning, believe it or not, is good for your brain
L649[03:00:08] <unascribed> it does matter when it dictates literally everything you do
L650[03:00:12] <fry> it really doesn't :P
L651[03:00:23] <fry> at some point you just don't notice it anymore
L652[03:00:25] <capitalthree> and learning more languages will make you better at the ones you already know, by giving you perspective
L653[03:00:25] <fry> at all :P
L654[03:00:36] <sham1> Certain syntaxes can turn you off because they are not readable
L655[03:00:39] <sham1> See me and LISPs
L656[03:00:41] <PaleoCrafter> well, we can all agree that whitespace sensitivity is crap :P
L657[03:00:44] <capitalthree> sham1: perl :D
L658[03:00:48] <sham1> Or Perl
L659[03:00:49] <capitalthree> PaleoCrafter: yes
L660[03:00:51] <fry> sham1: lisp is perfectly readable :P
L661[03:00:57] <fry> and so is perl :P
L662[03:00:59] <fry> (sane perl)
L663[03:01:02] <sham1> I cannot see the code from all the parenthesis
L664[03:01:10] <fry> read more
L665[03:01:11] <capitalthree> PaleoCrafter: also hi! I had a hell of a time figuring out the proper kotlin shading for 1.7.10 xD
L666[03:01:12] <sham1> Sane Perl is an unicorn
L667[03:01:17] <fry> your parser will level up :P
L668[03:01:19] <PaleoCrafter> heh
L669[03:01:23] <PaleoCrafter> y u do dis
L670[03:01:26] <PaleoCrafter> nobody wants 1.7.10
L671[03:01:38] <unascribed> s/nobody/quite a few people
L672[03:01:40] <capitalthree> lol yeah perl is fine once I remember what each symbol means
L673[03:01:49] <capitalthree> I'm just bagging on it cuz I'm rusty
L674[03:01:53] <unascribed> it's easy to forget when you hang out in here with all the 1.8/1.9 pushing that quite a few people still play 1.7
L675[03:01:54] <fry> also, whitespace sensitivity is amazing, if your text editor is not a big pile of garbage
L676[03:01:57] <capitalthree> but dynamic typing is stupid
L677[03:02:10] <sham1> Haskell can be both whitespace sensitive and not
L678[03:02:18] <unascribed> I find whitespace sensitivity is good for markup
L679[03:02:21] <sham1> You either use layout or curlies
L680[03:02:26] <unascribed> but it's simply painful for code
L681[03:02:28] <capitalthree> fry: no it's not, because I like being able to use my subjective powers of being a human to decide the most readable way to format my code
L682[03:02:36] <fry> hehehe
L683[03:02:37] <unascribed> ^
L684[03:02:49] <unascribed> :P
L685[03:02:56] <capitalthree> in a quasi-functional language, I can make beautiful things out of what would be a 12-level nested gross mess if I autoformat
L686[03:02:56] <sham1> Being a human is subjective
L687[03:03:13] <unascribed> can someone find me a real-world example of Ceylon
L688[03:03:22] <unascribed> contrived examples are great and all but seriously
L689[03:03:27] <fry> I don't mind whitespace sensitivity in python, it fits nice with the rest of the language
L690[03:03:30] <capitalthree> unascribed: that implies people actually use it
L691[03:04:08] <capitalthree> https://github.com/ceylon/ceylon-examples/tree/master/GameOfLife/source/ceylon/examples/gameoflife
L692[03:04:14] *** MrKick|Away is now known as MrKickkiller
L693[03:04:36] <capitalthree> I also can't find *any* existing ceylon minecraft mods
L694[03:04:37] <sham1> What are those strings doing above the functions
L695[03:04:44] <capitalthree> unascribed: you could be super cool and make the first one
L696[03:05:28] <sham1> I really have to figure out how to get Frege working with MC modding
L697[03:05:45] <unascribed> "haskell for the JVM"
L698[03:05:47] <unascribed> nope
L699[03:05:48] <unascribed> nope
L700[03:05:49] <unascribed> nope
L701[03:05:51] <sham1> Yes
L702[03:06:12] <fry> haskell syntax is even more scary, makes sense you don't like it :P
L703[03:06:29] <sham1> But haskell is so clear though
L704[03:06:36] <capitalthree> haskell syntax is beautiful, as long as you want your program to just compute a value and not actually do things
L705[03:06:38] * fry still can't read haskell comfortably
L706[03:06:48] <sham1> capitalthree, you could just stay in the IO monad
L707[03:06:57] <sham1> But you shouldn't
L708[03:07:00] <fry> but that doesn't mean I don't like the language a lot :P
L709[03:07:05] <capitalthree> nobody ever satisfactorily told me wtf a monad is
L710[03:07:09] <capitalthree> and don't try now, I'm semi drunk
L711[03:07:18] <fry> tis a burritto
L712[03:07:31] <sham1> It is an applicative functor with specific rules associated with it
L713[03:07:34] <fry> do you suddenly understand now? :D
L714[03:08:00] <capitalthree> fry: well I do like putting things in my mouth
L715[03:08:08] <capitalthree> man I'm going to bed
L716[03:08:13] <fry> in all seriosness, if you understand what do exception handlers, Optional and lists have in common, you know what a monad is :D
L717[03:08:13] <capitalthree> fry: thanks for all the help
L718[03:08:23] <fry> heh, take care :P
L719[03:08:45] <capitalthree> well Optional is a list of 0 or 1
L720[03:09:05] <fry> don't think in terms you already know
L721[03:09:08] <capitalthree> and exceptions can be thought of as an Either type
L722[03:09:09] <fry> it's a new thing :P
L723[03:09:15] <capitalthree> whatever nevermind
L724[03:09:21] <fry> maybe tomorrow :P
L725[03:09:37] <capitalthree> no, let me try to make my kotlin mod in peace!
L726[03:09:44] <fry> heh, never :P
L727[03:10:05] <capitalthree> sham1 can blaze the frege minecraft modding trail
L728[03:10:09] <capitalthree> and I'll follow later
L729[03:10:34] * unascribed adds a java preprocessor to his endless todo list
L730[03:10:47] <unascribed> less to have the language
L731[03:10:54] <unascribed> more to learn how Spoon works and how to write Gradle plugins
L732[03:10:54] <Zaggy1024> I imagine a mod in frege would make my eyes bleed
L733[03:11:12] <sham1> (+2) <$> list
L734[03:11:24] <Zaggy1024> uh
L735[03:11:30] <Zaggy1024> ok then
L736[03:11:32] * fry thinks he can read that
L737[03:11:33] <sham1> Map function (+2) over all elements in a list
L738[03:11:44] <fry> not map, apply, surely? :D
L739[03:11:46] <sham1> list map _+2
L740[03:11:54] <sham1> I could say: map (+2) list
L741[03:12:12] <sham1> But I like the infix sytax
L742[03:12:22] * capitalthree writes a preprocessor for unascribed's preprocessor that just makes semicolons, empty parentheses, and periods optional
L743[03:12:22] <sham1> Was my scala map correct
L744[03:12:39] <sham1> Let me see
L745[03:12:48] <unascribed> I should make a Stylus analogue for Java
L746[03:12:48] <fry> yup, it was
L747[03:12:55] <unascribed> http://stylus-lang.com/
L748[03:13:08] <fry> (you need parent around the (_+2) though :P)
L749[03:13:09] <Zaggy1024> I wonder if the problem with such a language is just having too many shortcuts to do things
L750[03:13:14] <sham1> Ah
L751[03:13:24] <unascribed> mix and match pieces from pure CSS and whitespace-significant no-colons CSS
L752[03:13:27] <sham1> My scala is quite rusty
L753[03:13:40] <sham1> (Pun not intended)
L754[03:13:49] <unascribed> I personally go all the way to the "whitespace significant" side for Stylus :P
L755[03:14:42] <sham1> But yeah, functional programming is fun
L756[03:14:44] <Zaggy1024> yeesh
L757[03:15:01] <Zaggy1024> mixing different styles of languages...ugh
L758[03:15:03] <capitalthree> unascribed: wow I can't think of anything i've ever needed less than stylus-lang.com
L759[03:15:13] <capitalthree> maybe President Trump
L760[03:15:15] <unascribed> k
L761[03:15:25] <Zaggy1024> the mixins look useful
L762[03:15:34] <sham1> Mixins are usefulk
L763[03:15:35] <unascribed> that's the main reason I use it
L764[03:15:40] <unascribed> the less painful syntax is just a bonus
L765[03:15:47] <PaleoCrafter> what about the other million css preprocessors?
L766[03:15:57] <Zaggy1024> but skipping braces and semicolons
L767[03:15:58] <Zaggy1024> I don't like that
L768[03:16:00] <unascribed> Sass, Less, and Stylus are basically the top three
L769[03:16:02] <unascribed> so
L770[03:16:03] <unascribed> what about them
L771[03:16:05] <fry> you can't spell "functional" without some "fun" :D
L772[03:16:08] * fry runs away
L773[03:16:08] <unascribed> at least for Node-compatible ones
L774[03:16:13] <PaleoCrafter> yeah, why not less and sass, they have more? :P
L775[03:16:13] <Zaggy1024> facepalm
L776[03:16:17] <PaleoCrafter> from the looks of it
L777[03:16:22] <sham1> Punny
L778[03:16:35] <PaleoCrafter> oh, nvm, didn't see the variables
L779[03:16:44] <PaleoCrafter> I'll go back to conquering the world :P
L780[03:16:51] <unascribed> didn't Sass drop their whitespace-significant syntax in favor of "SCSS"?
L781[03:16:57] <unascribed> or is "old-style" Sass still an option?
L782[03:16:59] <capitalthree> PaleoCrafter: you know any ceylon?
L783[03:17:10] <PaleoCrafter> nope
L784[03:17:22] <PaleoCrafter> I might conquer Ceylon though :P
L785[03:17:37] <capitalthree> let's race to make the first ceylon minecraft mod
L786[03:17:46] <capitalthree> maybe I'll go do that server backups mod in ceylon xD
L787[03:19:43] <PaleoCrafter> ugh, accents for fucking string interpolation, guess I'll never use Ceylon :P
L788[03:19:54] <fry> hah
L789[03:19:59] ⇦ Quits: PrinceCat (~PrinceCat@124.170.161.139) (Quit: My Mac has gone to sleep. ZZZzzz…)
L790[03:20:05] <unascribed> and you called me petty for not liking Kotlin's "fun" syntax?
L791[03:20:38] <PaleoCrafter> it's not the thing itself, it's that typing accents without actually putting it on a letter is a nuisance on German keyboards :P
L792[03:20:43] <capitalthree> I was just about to call PaleoCrafter petty too
L793[03:20:44] <unascribed> ah
L794[03:20:46] <fry> nobody tell Paleo that ` is used in Scala too :P
L795[03:20:52] <PaleoCrafter> I know it is
L796[03:21:00] <PaleoCrafter> but not for string interpolation :P
L797[03:21:24] <sham1> Hmm, if I add a java glue, I could be able to make a Frege mod
L798[03:21:27] <fry> why are you not using the us english layout for coding anyway? :P
L799[03:21:46] <capitalthree> PaleoCrafter: maybe you should program in American
L800[03:21:49] <PaleoCrafter> because I'd have to get used to it? :P
L801[03:21:49] <fry> sham1: you can replace Frege with "literally any language" in that sentence :P
L802[03:21:51] <capitalthree> oh fry said it first
L803[03:21:58] <sham1> Ya
L804[03:22:00] <sham1> I know
L805[03:22:17] <fry> everything in programming is US english, deal with it :P
L806[03:22:28] <fry> (everything on the internet too :P)
L807[03:22:30] <sham1> Not even Queen's English
L808[03:22:32] <sham1> Booo
L809[03:22:42] <capitalthree> I should make a minecraft mod in python
L810[03:22:48] <capitalthree> and host it on jython
L811[03:22:50] <sham1> Jython can do it
L812[03:22:53] <capitalthree> I'll shade jython
L813[03:22:55] <fry> I'm fairly sure that's been done :P
L814[03:23:04] <capitalthree> oh god why did I ask
L815[03:23:09] <capitalthree> I did not want to know that
L816[03:23:16] <PaleoCrafter> I get along fairly well with the German layout
L817[03:23:18] ⇨ Joins: raoulvdberge (uid95673@2001:67c:2f08:6::1:75b9)
L818[03:23:22] <PaleoCrafter> as long as I don't need accents on their own :P
L819[03:23:32] <capitalthree> fry: how about jruby?
L820[03:23:37] <fry> I did a fun thing one, I put scala interpreter in the MC :D
L821[03:23:38] <capitalthree> maybe millenaire is using jruby
L822[03:23:42] <capitalthree> that would explain a lot
L823[03:23:52] <fry> so, you could type code in the chat, and it'll affect the world :P
L824[03:23:58] <unascribed> oh god
L825[03:24:00] <capitalthree> fry: that's terrifying
L826[03:24:09] <capitalthree> fry: I mean can I play on your server
L827[03:24:15] <capitalthree> *whistles innocently*
L828[03:24:24] <fry> not ment for any serious gameplay of course
L829[03:24:32] <unascribed> I keep mentioning to people I want to make a mod with a glitch theme
L830[03:24:33] <raoulvdberge> If I change a blockstate from a TE, and the texture of that block is dependant on the blockstate, how can I make the block refresh its texture on a blockstate change?
L831[03:24:33] <unascribed> and everyone's like
L832[03:24:34] <PaleoCrafter> well, Scala is usable through that scripting engine API, just like JavaScript, iirc
L833[03:24:39] <unascribed> "make the endgame arbitrary code execution"
L834[03:24:41] <fry> but it's a great way to prorotype stuff fast :P
L835[03:25:03] <capitalthree> unascribed: make your entire mod not be a remote code execution vuln :D
L836[03:25:11] <fry> project stalled when I needed to implement 2 remapping clasloaders to make it work in obf >.>
L837[03:25:12] <capitalthree> and don't even make it a bedrock breaking vuln
L838[03:25:18] <capitalthree> I'm looking at you, rotarycraft
L839[03:25:26] <fry> but at least I reduced it to that :P
L840[03:26:10] <fry> speaking of jython: https://github.com/Jycraft/jycraft
L841[03:27:16] <capitalthree> fry: we should get that python c interpreter in there
L842[03:27:22] <fry> due to the exposure MC has, most of things were at least tried by someone before, and the probablility of your idea being unique is quite low :P
L843[03:27:22] <capitalthree> and see if we can run the jvm on it
L844[03:27:38] <capitalthree> fry: afaik nobody's made a ceylon mod though!
L845[03:27:44] <capitalthree> and that's *actually* worth doing
L846[03:27:58] <fry> that speaks negatively about the amount of people using ceylon :P
L847[03:28:31] <capitalthree> well let me point out that lots of people use java
L848[03:28:42] <capitalthree> maybe ceylon is so rare because it's just way awesome
L849[03:28:50] <fry> oh, I'm not saying ceylon is bad, I have no idea :P
L850[03:29:02] <fry> just that it's not that popular :P
L851[03:29:14] <capitalthree> it's not that popular
L852[03:29:30] <capitalthree> because it had bad tooling when scala and kotlin were grabbing all the thunder
L853[03:29:42] <capitalthree> kotlin is made by a tools company, and scala is older
L854[03:29:53] <capitalthree> but ceylon is very cool in its own right if you ask me
L855[03:30:00] <fry> kotlin wasn't grabbing anything until a few months ago
L856[03:30:14] <fry> then intellij did a shit ton of marketing, and now it's the new hot thing :P
L857[03:30:16] <capitalthree> and I'd rather convince unascribed to use an obscure language, than have him stick to java
L858[03:30:30] <fry> I'm not saying you should stop :D
L859[03:30:37] <capitalthree> I was following kotlin for a lot longer than that but I'm glad it's being marketed
L860[03:30:38] <sham1> WHy can't you let him stay in java if he so pleases
L861[03:30:43] <unascribed> ^ :/
L862[03:30:51] <capitalthree> sham1: I can let him, and I will
L863[03:31:00] <capitalthree> I will also try to cajole him to branch out
L864[03:31:02] <unascribed> you seem strangely obsessed with which language I use
L865[03:31:05] <capitalthree> there is no controdiction
L866[03:31:17] <fry> he doesn't please, he wants to write a preprocessor :P
L867[03:31:17] <capitalthree> unascribed: it's nothing personal
L868[03:31:29] <unascribed> I don't like Java
L869[03:31:33] <capitalthree> unascribed: but it kind of is. I see you yearning for a good language
L870[03:31:33] <unascribed> I like Scala and Kotlin even less
L871[03:31:41] <unascribed> Ceylon is interesting but doesn't seem that much better than Java
L872[03:31:44] <capitalthree> I want you to be satisfied
L873[03:31:53] <sham1> What about Groovy
L874[03:31:57] ⇨ Joins: PitchBright (~PitchBrig@cpe00fc8d8a3ce3-cm00fc8d8a3ce0.cpe.net.cable.rogers.com)
L875[03:32:01] <unascribed> I actually quite like Groovy
L876[03:32:05] <unascribed> but its runtime weight makes it not useful
L877[03:32:11] <capitalthree> unascribed: ceylon is better than java in mostly all the same ways kotlin is :P
L878[03:32:14] <fry> hah, everyone forgot about grovy and jumped on the kotlin train :P
L879[03:32:18] <fry> *groovy
L880[03:32:31] <capitalthree> I didn't forget groovy, dynamic typing is just stupid!
L881[03:32:33] <sham1> Everyone forgot about groovy unless they used gradle a lot
L882[03:32:37] <sham1> Yes
L883[03:32:41] <sham1> Dynamic typing
L884[03:32:45] <sham1> Annoys me
L885[03:32:59] <unascribed> I also much prefer the J8 Lambda syntax to Groovy's closures
L886[03:33:40] <fry> http://www.lispcast.com/img/typing.png :D
L887[03:34:55] <sham1> That small sliver of dynamic typing advocates familiar with type theory
L888[03:34:56] <sham1> I love it
L889[03:35:21] <fry> nothing is absolute :P
L890[03:35:43] <sham1> I like dynamic typing if it also is strong
L891[03:35:59] <sham1> Dynamic strong typing is better than what some dynamic typing languages have done
L892[03:36:13] <sham1> Python is a good example of a dynamic language done right
L893[03:36:20] ⇨ Joins: Unh0ly_Tigg (~Robert@c-76-115-95-185.hsd1.or.comcast.net)
L894[03:37:10] <fry> when people say they like dynamic typing they often mean they like the lack of explicit type annotations and the type inference :P
L895[03:37:12] <capitalthree> I like to call dynamic typing, hashmap-oriented programming
L896[03:37:33] <fry> that's more untyped than dynamic :P
L897[03:37:34] <sham1> And because of that, the fact that JavaScript is the most popular dynamic language makes me sad
L898[03:37:51] <capitalthree> what's "dynamic strong typing"?
L899[03:38:10] <ghz|afk> "dynamic strong typing" sounds like just type inference
L900[03:38:32] <capitalthree> type inference is not dynamic typing
L901[03:38:39] <ghz|afk> var x = 1; x = "r";
L902[03:38:41] <capitalthree> scala, kotlin, and ceylon are statically typed
L903[03:38:51] <ghz|afk> if this is allowed, it's dynamic typing and the langauge is, IMO, broken
L904[03:38:57] <ghz|afk> if not, then it's just inference
L905[03:38:59] <sham1> JS
L906[03:39:01] <fry> "dynamic" means you only know the type at the runtime :P
L907[03:39:16] <fry> (like exclusively using Object in java)
L908[03:39:32] <ghz|afk> it's different in functions and return values, though
L909[03:39:35] <capitalthree> ghz|afk: in the 3 languages I mentioned, it's not. and I agree
L910[03:39:58] <ghz|afk> since those can be curryfied at runtime, in which case it would still be dynamic, but strongly typed hmm
L911[03:40:03] <sham1> I think that javascript allows you to do that whole "I have assigned a int there, let me assign a string there"
L912[03:40:22] <fry> meaning everything is an Object :P
L913[03:40:25] <ghz|afk> sham1: "use strict"; and you can't do that
L914[03:40:26] <ghz|afk> ;P
L915[03:40:42] <sham1> What is use strict
L916[03:40:49] <Tazz> I would love to have Eschelle be like scala where typing is practically optional
L917[03:41:05] <ghz|afk> ecma5 introduced a strict mode
L918[03:41:10] <sham1> Ah
L919[03:41:10] <Tazz> tbh typing isnt a thing in Eschelle yet since theres no type checks
L920[03:41:12] <sham1> TIl
L921[03:41:12] <ghz|afk> in which some semantics are changed
L922[03:41:23] <capitalthree> so does strict mode make it statically typed? o_o
L923[03:41:29] <ghz|afk> no
L924[03:41:34] <ghz|afk> it's still very much dynamic
L925[03:41:35] <sham1> No, it makes is dynamic strong
L926[03:41:50] <capitalthree> wtf does dynamic strong mean :P
L927[03:42:02] <ghz|afk> https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Strict_mode
L928[03:42:12] <sham1> A type system where you know the types at runtime, but once you know them, you cannot put any other kind of type there
L929[03:42:12] <ghz|afk> for one, it detects typos and ERRORS
L930[03:42:16] <sham1> Woot
L931[03:42:22] <fry> "Languages are often colloquially referred to as "strongly typed" or "weakly typed". In fact, there is no universally accepted definition of what these terms mean. In general, there are more precise terms to represent the differences between type systems that lead people to call them "strong" or "weak""
L932[03:43:06] <sham1> Without use strict Javascript can be said to be dynamic weak
L933[03:43:15] <ghz|afk> well
L934[03:43:30] <ghz|afk> static typing would require that the type is known at runtime
L935[03:43:31] <ghz|afk> and if you do
L936[03:43:36] <ghz|afk> var num = func(x)
L937[03:43:40] <ghz|afk> but func(x) returns a string
L938[03:43:45] <ghz|afk> you'd still get a string
L939[03:43:59] <ghz|afk> so you can't really do static typing in JS, without using something like typescript
L940[03:44:15] <sham1> This is the kind of dynamic typing I really can
L941[03:44:16] <sham1> http://hackage.haskell.org/package/base-4.8.2.0/docs/Data-Dynamic.html
L942[03:44:21] <sham1> Completely typesafe
L943[03:44:41] <capitalthree> "eval of strict mode code does not introduce new variables into the surrounding scope"
L944[03:44:44] <capitalthree> ...
L945[03:44:52] <capitalthree> the fact that this has to be said, means javascript is so far off the deep end already
L946[03:44:58] <ghz|afk> it is
L947[03:45:11] <sham1> Javascript was designed in 10 days
L948[03:45:14] <ghz|afk> when js was designed they were like "scope? ain't nobody has time fo dat!"
L949[03:45:41] <capitalthree> fry: I think for some people, they'll more or less call anything strongly typed as long as your screwups won't cause actual memory corruption
L950[03:45:49] <ghz|afk> nah
L951[03:45:51] <Tazz> sham1, hahahaha
L952[03:45:51] <fry> heh
L953[03:45:58] <sham1> What
L954[03:45:58] <ghz|afk> there's plenty of weak, dynamic typed languages
L955[03:46:02] <ghz|afk> that are very much memory-safe
L956[03:46:04] <fry> C is often considered weakly typed :P
L957[03:46:11] <capitalthree> ghz|afk: yeah, like all dynamically typed languages
L958[03:46:12] <Tazz> C is terribly typed haha
L959[03:46:14] <sham1> Well, you can cast everything to everything
L960[03:46:22] <Tazz> like you can cast anything to anything haha
L961[03:47:03] <capitalthree> saying your programming language is strongly typed and dynamic is like saying your pony is pink and invisible
L962[03:47:12] <sham1> No
L963[03:47:12] <ghz|afk> no
L964[03:47:29] <sham1> First of all, invisible pink unicorns exist
L965[03:47:36] <sham1> ponies
L966[03:47:37] <ghz|afk> strong vs weak means that one is mindful of type compatibilities
L967[03:47:37] <sham1> Even
L968[03:47:40] <capitalthree> sham1: are they reeeeally pink though?
L969[03:47:46] <sham1> It ids
L970[03:47:46] <capitalthree> what makes them pink? they're vacuously pink
L971[03:47:56] <sham1> I believe they are pink
L972[03:48:08] <ghz|afk> static vs dynamic refers simply to the ability of the compiler to know all the types before runtime
L973[03:48:14] <ghz|afk> java is statically typed
L974[03:48:20] <ghz|afk> while C# has some level of dynamic typing
L975[03:48:24] ⇨ Joins: McJty (~jorrit@94-225-203-206.access.telenet.be)
L976[03:48:28] <ghz|afk> (currying of generics)
L977[03:48:35] <sham1> Java is kind of staticly weak language
L978[03:48:42] <fry> Java can be dynamic too, again, use Object :P
L979[03:48:45] <capitalthree> btw I love how javascript "strict mode" still doesn't have variable DECLARATIONS
L980[03:48:57] <ghz|afk> capitalthree: those were added elsewhere
L981[03:48:58] <ghz|afk> ;P
L982[03:49:10] <fry> (most "static" oop languages have facilities for dynamic typing)
L983[03:49:15] <unascribed> doesn't strict mode warn when assigning a variable that wasn't declared?
L984[03:49:42] <sham1> But yeah, for one am quite scared to see what kind of usages people will get out of Data.Dynamic
L985[03:49:43] <unascribed> TypeScript seems to at least :P
L986[03:49:51] <capitalthree> fry: yeah. having facilities for static typing is what makes them static languages
L987[03:49:57] <fry> indeed
L988[03:50:03] <capitalthree> *not* having facilities for static typing makes a dumb language :P
L989[03:50:04] <fry> which is why dynamic languages are stupid :P
L990[03:50:07] <capitalthree> :D
L991[03:50:08] <fry> :D
L992[03:50:09] <capitalthree> agreed
L993[03:50:19] <capitalthree> except for like... build scripts
L994[03:50:20] <capitalthree> cuz then who cares
L995[03:50:27] <sham1> I cares
L996[03:50:31] <sham1> Also, put down that XML
L997[03:50:33] <capitalthree> though scala's sbt people use statically typed build scripts too :P
L998[03:50:45] <sham1> Cabal scripts are static
L999[03:50:47] * fry hugs lisp and tells him "you're not stupid! I still love you"
L1000[03:50:49] <sham1> I think
L1001[03:50:59] <unascribed> "hey guys, let's make an XML-based scripting language" -- whoever made Ant
L1002[03:51:05] <unascribed> worst idea ever
L1003[03:51:14] <sham1> Microsoft loves their XML
L1004[03:51:25] <unascribed> XML is great for things that need markup
L1005[03:51:31] <sham1> And whoever made Ant was Apache
L1006[03:51:33] <unascribed> because, you know, it's a markup language
L1007[03:51:34] <fry> s/things/text
L1008[03:51:44] <unascribed> I know Ant is Apache
L1009[03:51:58] <capitalthree> json is great for things that need markup
L1010[03:51:59] <unascribed> but "Apache" doesn't make things, people make things under the Apache name
L1011[03:52:01] <capitalthree> xml is overengineered bullshit
L1012[03:52:05] <fry> s/things/text without too much of special characters/
L1013[03:52:06] <unascribed> capitalthree, JSON is horrible for things that need markup
L1014[03:52:13] <unascribed> it's an object notation not a markup language
L1015[03:52:21] <unascribed> "this is <b>bold</b>"
L1016[03:52:37] <unascribed> doesn't get much better than that, other than "this is **bold**" for Markdown, but that has it's own issues
L1017[03:52:45] <fry> if you have 95% plain text and 5% markup, XML is great
L1018[03:52:51] <unascribed> ^ what I mean
L1019[03:52:56] <capitalthree> yeah I guess
L1020[03:53:00] <fry> for literally everything else there are better alternatives :P
L1021[03:53:00] <illy> fry: can you type good https://www.destroyallsoftware.com/talks/useing-youre-types-good
L1022[03:53:18] <capitalthree> I learned a lot from that video :D
L1023[03:53:26] <capitalthree> (a lot of bullshit
L1024[03:53:27] <sham1> I know the bad grammar in that video is for purpose
L1025[03:53:27] <capitalthree> )
L1026[03:53:30] <sham1> It still hurts me
L1027[03:53:39] <sham1> on purpose*
L1028[03:53:41] <sham1> Gah
L1029[03:53:44] <fry> great presentation :P
L1030[03:54:41] <capitalthree> sham1: the word useing is fine though right?
L1031[03:54:53] <sham1> Using
L1032[03:54:56] <capitalthree> :P
L1033[03:55:16] <sham1> Using "useing" is useless
L1034[03:55:39] <fry> using namespace std;
L1035[03:55:46] <fry> sorry, flashbacks
L1036[03:56:56] <illy> #include <stdio.h>
L1037[03:57:16] <sham1> #include <iostream>
L1038[03:57:24] <Tazz> #include <sys/mman.h>
L1039[03:57:26] <fry> illy: cstdio
L1040[03:57:33] <fry> shame on you :P
L1041[03:57:52] <illy> meh Cmasterrace :P
L1042[03:58:07] <fry> I mean #include <cstdio> :D
L1043[03:58:21] <Tazz> XD
L1044[03:58:38] <unascribed> #include <*>
L1045[03:58:44] ⇦ Quits: whatthedrunk_ (webchat@cpe-104-35-86-36.socal.res.rr.com) (Ping timeout: 195 seconds)
L1046[03:58:49] <unascribed> I hope that's not actually valid
L1047[03:59:00] <capitalthree> the c vs c++ debate is just an ancient version of unacribed vs scala
L1048[03:59:01] <sham1> And now my eexecutable is about 16 GiB
L1049[03:59:09] <sham1> But C++ is better
L1050[03:59:13] <sham1> Look at it
L1051[03:59:15] <Tazz> I have to figure out how to generate executable mapped memory on windows....
L1052[03:59:15] <sham1> It is an increment
L1053[03:59:17] <unascribed> >unacribed
L1054[03:59:21] <capitalthree> c++ is objectively better, but also people objectively do a lot of stupid crap with all that power
L1055[03:59:28] <capitalthree> unascribed: I'm sleepy
L1056[03:59:29] <capitalthree> meow
L1057[03:59:38] <illy> bah who needs either whe we have assembly :P
L1058[03:59:47] <sham1> I have butterflies
L1059[04:00:09] <illy> I have emacs
L1060[04:00:13] <fry> on the internet, nobody knows you're a cat
L1061[04:00:20] <unascribed> M-x butterfly?
L1062[04:00:24] <sham1> Indeed
L1063[04:00:35] <Tazz> illy, lol
L1064[04:00:36] <unascribed> C-x M-c M-butterfly*
L1065[04:00:44] <capitalthree> fry: now everyone knows...
L1066[04:01:01] <Tazz> whats everyones choice for C++ file extension?
L1067[04:01:08] <sham1> cpp
L1068[04:01:09] <capitalthree> .cp+
L1069[04:01:14] <sham1> EWW
L1070[04:01:15] * capitalthree hides
L1071[04:01:16] <McJty> cpp is pretty standard
L1072[04:01:17] <unascribed> isn't .cpp the only extension anyone uses?
L1073[04:01:24] <sham1> Some people use c++
L1074[04:01:30] <sham1> Like main.c++
L1075[04:01:39] <illy> ive seen .cc
L1076[04:01:42] <sham1> Or cxx
L1077[04:01:46] <Tazz> I like .cc
L1078[04:01:51] <unascribed> ._.
L1079[04:01:52] <capitalthree> cc isn't c?
L1080[04:01:53] <Tazz> I use it preferentially
L1081[04:02:00] <sham1> Get it away from my children
L1082[04:02:05] <McJty> capitalthree, c just use .c
L1083[04:02:11] <Tazz> yeah
L1084[04:02:32] <capitalthree> if only c++ had the good sense to mandate a filename extension
L1085[04:02:58] <illy> well the compiler's old as hell
L1086[04:03:00] <capitalthree> I think it should just be any file starting with #! /usr/bin/gcc
L1087[04:03:04] * capitalthree hides
L1088[04:03:04] <McJty> Well not all operating systems *have* extensions really
L1089[04:03:38] <McJty> In Unix you can call a file myconfusingfile.obj.cpp.exe.tar.zip.gif and still have it compile as C++ :-)
L1090[04:04:01] <unascribed> extensions are really only useful for humans at this point
L1091[04:04:06] <unascribed> and Windows, but Windows is crap anyway
L1092[04:04:13] <Cazzar> There's cxx too
L1093[04:04:19] <capitalthree> humans are crap too, to be fair
L1094[04:04:28] <sham1> Why do people not use mime types
L1095[04:04:46] <illy> McJty: that could also be an executable :P
L1096[04:04:47] <capitalthree> mime? like the pokemon?
L1097[04:05:22] <sham1> Well, MIME type
L1098[04:05:28] <capitalthree> I'm just trollin :P
L1099[04:06:31] <capitalthree> but mime types aren't in the file in any way
L1100[04:06:40] <capitalthree> it's not something that replaces extensions
L1101[04:06:56] <sham1> [] + []
L1102[04:06:59] <sham1> ""
L1103[04:07:09] <capitalthree> however "magic numbers" replace most uses of filename extensions on linux
L1104[04:07:31] ⇦ Quits: psxlover (psxlover@athedsl-4413640.home.otenet.gr) (Read error: Connection reset by peer)
L1105[04:07:42] ⇨ Joins: agowa338 (~Thunderbi@p5491842B.dip0.t-ipconnect.de)
L1106[04:07:44] ⇨ Joins: Samario (~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net)
L1107[04:09:18] <fry> capitalthree: #!/bin/csh :D
L1108[04:09:30] <sham1> tsk tsk
L1109[04:09:35] <sham1> Why are you not using tcsh
L1110[04:09:41] <fry> tis a symlink :P
L1111[04:09:44] <unascribed> obviously you should be using ash
L1112[04:09:58] <fry> ash isn't C :P
L1113[04:10:22] *** amadornes is now known as amadornes[AFK]
L1114[04:12:52] <capitalthree> instead of .txt files, we should just start with #! /bin/cat
L1115[04:13:20] ⇨ Joins: Daomephsta (~Leviathan@121-79-236-198.sta.inspire.net.nz)
L1116[04:14:00] <fry> ...
L1117[04:14:04] * fry tries that
L1118[04:14:09] <capitalthree> :3
L1119[04:14:16] <capitalthree> ok going to bed for real, nini
L1120[04:14:37] <fry> well, it works, unsurprizingly :D
L1121[04:14:44] <fry> o/
L1122[04:16:48] ⇨ Joins: kimfy (~kimfy___@236.5.200.37.customer.cdi.no)
L1123[04:18:09] <capitalthree> fry: try #! /usr/bin/tee -a
L1124[04:18:23] <fry> ehm
L1125[04:18:31] <fry> not today :p
L1126[04:19:09] ⇨ Joins: Drullkus (~Dru11kus@2601:646:8301:8947:15c5:8985:a8cf:8a6e)
L1127[04:19:11] <unascribed> #!/bin/sudo /bin/bash
L1128[04:19:21] <unascribed> #!/usr/bin/sudo /bin/bash
L1129[04:19:23] <unascribed> rather
L1130[04:20:57] <Cazzar> #!/usr/bin/env sudo /bin/bash
L1131[04:22:27] ⇨ Joins: Jezza (~Jezza@92.206.5.6)
L1132[04:23:36] ⇦ Quits: Drullkus (~Dru11kus@2601:646:8301:8947:15c5:8985:a8cf:8a6e) (Ping timeout: 198 seconds)
L1133[04:26:23] <Daomephsta> Hello, can I get some help with something?
L1134[04:26:35] <diesieben07> Just ask.
L1135[04:30:17] <Daomephsta> I'm trying to rework the horse armour system so it functions like the player armour system. Ideally it would use the existing armor texture, model and armor tick functions; but some of the parameters and return types make this impossible. Would it be better to change the methods and possibly break things, or should I create new methods specifically for horse armor.
L1136[04:30:50] ⇨ Joins: Emris (~Miranda@62.178.245.147)
L1137[04:31:45] <diesieben07> so you are working on a forge PR?
L1138[04:32:10] <Daomephsta> Yes, and I have read the docs on contributing.
L1139[04:32:47] <diesieben07> "it would use the existing armor texture": this is changing vanilla mechanics
L1140[04:32:54] <diesieben07> thats outside of forge's scope
L1141[04:33:57] <Daomephsta> Item#getArmorTexture() is Forge added
L1142[04:34:05] <ghz|afk> Daomephsta: I don't understand what you mean with "existing armor texture", yo mean the PLAYER armor?
L1143[04:34:53] ⇨ Joins: TobyO (~TobyO@host86-131-91-248.range86-131.btcentralplus.com)
L1144[04:34:58] <TobyO> hry
L1145[04:35:00] <TobyO> hey
L1146[04:36:08] <ghz|afk> o/
L1147[04:36:38] <TobyO> Not sure if anyone can help, but I'm having a problem with an inventory in a machine I am making
L1148[04:37:06] <TobyO> I am setting an itemstack to null but it is re-appearing new time in the update() as an itemstack of size 0
L1149[04:37:49] <Daomephsta> ghz|afk: I want to to call Item#getArmorTexture(), Item#getArmorModel() and Item#onArmorTick(). The goal is that everything possible with player armor is possible with horse armor.
L1150[04:37:55] <ghz|afk> TobyO: can you show the code?
L1151[04:38:14] <ghz|afk> (githug if you have it published, or pastebin or something)
L1152[04:38:20] <diesieben07> uh yeah that won't work Daomephsta
L1153[04:38:32] <diesieben07> those things are designed for player armor, you can't just render them on horses
L1154[04:39:00] *** ghz|afk is now known as gigaherz
L1155[04:39:03] <TobyO> yeah sure, will send the link in a sec
L1156[04:39:12] <TobyO> thanks
L1157[04:41:00] *** kroeser is now known as kroeser|away
L1158[04:42:31] <gigaherz> gave it a quick glance, the horse armor stuff seems way too "hardcoded" to generalize it
L1159[04:42:35] <TobyO> https://github.com/Spaceshipable/TobyOMod/blob/master/src/main/java/tobyo/tobyomod/tileentity/TileEntityLaserCutter.java
L1160[04:43:44] ⇨ Joins: Larry1123 (Larry1123@66.172.27.124)
L1161[04:44:20] <Daomephsta> gigaherz: So I shouldn't bother?
L1162[04:44:27] <gigaherz> Daomephsta: there's multiple issues with the idea
L1163[04:44:28] <gigaherz> first of all
L1164[04:44:30] <TobyO> ignore the actual gui as its all a mess
L1165[04:44:32] <gigaherz> is that there isn't a ItemHorseArmor
L1166[04:44:36] <gigaherz> that you can require as a base class
L1167[04:44:46] <gigaherz> so you can't have a custom getHorseArmorModel
L1168[04:44:49] <gigaherz> and the player one won't do
L1169[04:45:19] <gigaherz> then there's all the HorseTypes and stuff that are used and have hardcoded stuff all over the place
L1170[04:45:45] <gigaherz> do a search for "iron_horse_armor", it's referenced 21 times ON STRINGS
L1171[04:46:06] <gigaherz> there's just way too much hardcoding
L1172[04:46:14] <gigaherz> you'd have to change an unreasonable amount of things
L1173[04:46:29] <gigaherz> it would probably not get accepted to forge
L1174[04:46:31] ⇦ Quits: cpw (~cpw@24-212-222-42.cable.teksavvy.com) (Ping timeout: 201 seconds)
L1175[04:46:48] <gigaherz> or more accurately
L1176[04:46:56] <gigaherz> the chances of it getting accepted for 1.9 are 0
L1177[04:46:59] <gigaherz> and low for 1.10
L1178[04:47:28] ⇨ Joins: founderio (~Thunderbi@p200300C4E3C3DC00D0C49F1F128E2079.dip0.t-ipconnect.de)
L1179[04:47:34] <gigaherz> The first step, IMO, would be to add an issue in the forge tracker
L1180[04:47:40] <gigaherz> and make it a feature request
L1181[04:47:50] <gigaherz> and explain as best as you can WHY you want this to exist
L1182[04:47:56] <gigaherz> and HOW you'd implement it
L1183[04:48:02] <gigaherz> and see how the people react to it
L1184[04:48:55] <Daomephsta> gigaherz: Okay, thanks for your time
L1185[04:49:03] <TobyO> I actually think I have found out the cause of my problem
L1186[04:49:21] <TobyO> I was modifying the returned itemStack from the inventory
L1187[04:49:28] <gigaherz> heh
L1188[04:49:34] <gigaherz> always .copy() the itemstacks you modify
L1189[04:49:45] <gigaherz> unless you really need to modify the original
L1190[04:50:00] ⇦ Quits: McJty (~jorrit@94-225-203-206.access.telenet.be) (Quit: Leaving)
L1191[04:50:27] <TobyO> Well, I want to modify it but I need to do setItemInSlot or something
L1192[04:50:31] ⇦ Parts: Daomephsta (~Leviathan@121-79-236-198.sta.inspire.net.nz) (Leaving))
L1193[04:51:01] ⇦ Quits: Larry1123 (Larry1123@66.172.27.124) (Ping timeout: 190 seconds)
L1194[04:53:31] <gigaherz> TobyO: are you doing it on the client thread or server thread?
L1195[04:54:01] <gigaherz> that's why I asked for code, to see how you are handling the "sides"
L1196[04:54:11] ⇨ Joins: Larry1123 (Larry1123@irc.larry1123.net)
L1197[04:54:12] <TobyO> yeah
L1198[04:54:32] <TobyO> on the remote side
L1199[04:54:36] <TobyO> so server right?
L1200[04:54:42] <sham1> Remote is client
L1201[04:54:49] <TobyO> client then
L1202[04:54:57] <gigaherz> mc(forge) is server-centric
L1203[04:55:02] <gigaherz> so local is server, remote is client
L1204[04:55:06] <gigaherz> well
L1205[04:55:11] <gigaherz> if you are editing stuff on the client
L1206[04:55:12] <TobyO> wait, I am returning if the world is remote
L1207[04:55:17] <gigaherz> then the server won't know about it ;P
L1208[04:55:19] <TobyO> so it is done server side
L1209[04:55:23] <gigaherz> aha
L1210[04:55:23] <gigaherz> good
L1211[04:55:32] <TobyO> then I am doing markDirty
L1212[04:55:34] <gigaherz> if you do it on the server, and it's reflected on the client
L1213[04:55:38] <gigaherz> then you are doing it right ;P
L1214[04:55:43] <TobyO> yeah
L1215[04:55:55] <TobyO> it's just that I was directly setting the itemstack to null
L1216[04:56:19] <TobyO> just read this
L1217[04:56:20] <TobyO> * <p/>
L1218[04:56:20] <TobyO> * IMPORTANT: This ItemStack MUST NOT be modified. This method is not for
L1219[04:56:20] <TobyO> * altering an inventories contents. Any implementers who are able to detect
L1220[04:56:20] <TobyO> * modification through this method should throw an exception.
L1221[04:56:20] <TobyO> * <p/>
L1222[04:56:22] <TobyO> * SERIOUSLY: DO NOT MODIFY THE RETURNED ITEMSTACK
L1223[04:57:21] <gigaherz> heh
L1224[04:57:24] <gigaherz> always read javadocs ;P
L1225[04:58:40] <TobyO> yeah, I just glossed over it
L1226[05:00:10] <TobyO> I've been following another mod to get the basics
L1227[05:08:07] ⇨ Joins: Onyx (~OnyxDarkK@82.27.114.218)
L1228[05:08:46] ⇦ Quits: Onyx (~OnyxDarkK@82.27.114.218) (Read error: Connection reset by peer)
L1229[05:09:06] ⇨ Joins: Onyx (~OnyxDarkK@82.27.114.218)
L1230[05:11:41] <TobyO> using .copy on them seems to be giving me a ticking block entity though
L1231[05:12:53] <gigaherz> the slot may be empty
L1232[05:12:56] <gigaherz> in which case it would be null
L1233[05:13:01] <TobyO> ahh okay
L1234[05:13:01] <gigaherz> and null.copy() will obviously NPE
L1235[05:13:15] <TobyO> I assumed it would just return null
L1236[05:13:26] <gigaherz> nay you try to call "copy" on nothing
L1237[05:13:34] <gigaherz> that's not allowed ;P
L1238[05:13:40] <gigaherz> some langauges have stuff like
L1239[05:13:44] <TobyO> just more of nothing surely
L1240[05:13:45] <gigaherz> x?.method()
L1241[05:13:56] <gigaherz> which would return null if the x is null
L1242[05:14:01] <TobyO> been using swift a fair bit
L1243[05:14:05] <gigaherz> but that's not the case for java (yet, at least)
L1244[05:14:32] <TobyO> use lots of ? and ! for handling null
L1245[05:14:57] <gigaherz> heh
L1246[05:16:57] <TobyO> and when I do setStackInSlot, it's not going to register the change until the next pass right?
L1247[05:17:21] <TobyO> which is what markDirty is for?
L1248[05:18:32] <gigaherz> markDirty is for notifying neighbours that the inventory changed
L1249[05:18:39] <TobyO> oh okay
L1250[05:18:40] <gigaherz> such as pipes or comparators
L1251[05:19:12] <TobyO> so setStackInSlot should be immediate?
L1252[05:19:34] <gigaherz> well, on the same side, yes
L1253[05:19:36] <gigaherz> as in
L1254[05:19:50] <gigaherz> setStackInSlot, then if you gell getStack on the same inventory
L1255[05:19:57] <gigaherz> it shoudl return the object you just assigned
L1256[05:20:09] <gigaherz> but in order for the change to reach the client and render
L1257[05:20:14] <gigaherz> it needs to send a packet
L1258[05:20:32] <gigaherz> which can take a while if you were on a server
L1259[05:20:38] <TobyO> ah
L1260[05:21:16] <TobyO> What's the best way to handle multiple modifications then?
L1261[05:21:21] ⇨ Joins: iTitus (~iTitus@p2003005B4D5B50C1BC2CC0F43C18CC67.dip0.t-ipconnect.de)
L1262[05:21:27] <TobyO> Shall I just copy if !null and then re-set at the end?
L1263[05:21:46] <gigaherz> you mean multiple modificatiosn to the same slot?
L1264[05:21:48] ⇦ Quits: agowa338 (~Thunderbi@p5491842B.dip0.t-ipconnect.de) (Ping timeout: 198 seconds)
L1265[05:21:53] <TobyO> correct
L1266[05:22:00] <gigaherz> well within the same function
L1267[05:22:05] <gigaherz> you can just get the stack at the beginning
L1268[05:22:08] <gigaherz> and then set it at the end
L1269[05:22:11] ⇨ Joins: agowa338 (~Thunderbi@84.145.147.91)
L1270[05:22:15] <gigaherz> but you shouldn't keep the stack across "ticks"
L1271[05:22:21] <TobyO> that's what I had summised
L1272[05:22:32] <TobyO> thanks for the help, that clears up a lot
L1273[05:26:29] <raoulvdberge> hmm, calling setBlockState on the serverside doesn't re-render the block clientside
L1274[05:26:32] <raoulvdberge> anyone have an idea why?
L1275[05:28:01] <gigaherz> do you ahve a number at the end?
L1276[05:28:10] <raoulvdberge> no
L1277[05:28:16] <gigaherz> hmm then it should
L1278[05:28:20] <gigaherz> defaults to 3
L1279[05:28:24] <raoulvdberge> i'm using getActualState
L1280[05:28:35] <raoulvdberge> in the block
L1281[05:28:36] <gigaherz> uh that won't do anything
L1282[05:28:55] <gigaherz> getActualState should get called by the client side
L1283[05:29:03] <gigaherz> automatically
L1284[05:29:09] <gigaherz> what matters in setBlockState
L1285[05:29:16] <gigaherz> is the values that you have as metadata
L1286[05:29:25] <gigaherz> since that's what gets stored in memory, and sent over the network, to the client
L1287[05:30:15] <Tazz> hahahahahahahahaha this is the first time I caused an out of memory error in Java
L1288[05:30:19] <gigaherz> so if your block depends on data from a TileEntity, you'll have to manually send the data to the client, and from the client, mark the block for render update
L1289[05:30:35] <raoulvdberge> markBlockRangeForRenderUpdate right?
L1290[05:30:38] <raoulvdberge> but that takes a range
L1291[05:30:41] <raoulvdberge> do I just pass the same coords twice
L1292[05:31:25] <gigaherz> yo ucan use
L1293[05:31:35] <gigaherz> notifyBlockUpdate(pos, bs, bs, 8) on the client
L1294[05:31:53] <gigaherz> (1.9)
L1295[05:35:04] <raoulvdberge> thanks!
L1296[05:35:22] <TobyO> Sorry, another questions
L1297[05:35:41] <TobyO> Is it best practice to have the progress bar in with the gui assets or separate?
L1298[05:37:55] <Tazz> nm Im an idiot haha
L1299[05:38:07] <gigaherz> TobyO: don't be sorry
L1300[05:38:13] <gigaherz> asking question is better than not asking them ;P
L1301[05:38:22] <TobyO> :)
L1302[05:38:24] <gigaherz> vanilla does that a lot
L1303[05:38:30] <gigaherz> look at their furnace gui
L1304[05:38:32] <TobyO> Yeah, I noticed that
L1305[05:38:41] <gigaherz> ith as the main gui area, and then the bit with the progress arrow
L1306[05:39:00] <TobyO> wasn't sure if that was reccomended when modding
L1307[05:39:01] <gigaherz> it's good because it lets you avoid switching textures
L1308[05:39:09] <gigaherz> so yeah do it ;P
L1309[05:39:17] <TobyO> ta
L1310[05:49:40] ⇦ Quits: Naiten (Naiten@77.34.18.18) (Read error: Connection reset by peer)
L1311[05:50:25] <Cazzar> What isn't reccomended is copy-pasting code you don't understand
L1312[05:50:58] *** Vigaro is now known as V
L1313[05:56:50] ⇨ Joins: Naiten (Naiten@77.35.183.102)
L1314[05:57:42] ⇨ Joins: Necr0 (~Necr0@2003:70:d10:5e48:cdf9:1171:a2db:35a7)
L1315[05:58:12] <TobyO> is there a good way to get the registered name of an entity?
L1316[05:58:23] <TobyO> And how would I set it's name in lang?
L1317[06:00:56] ⇨ Joins: minot (~minot@pool-108-35-29-135.nwrknj.fios.verizon.net)
L1318[06:07:50] <Necr0> entity.<entityname>.name is what you need in the lang file.
L1319[06:08:25] <Necr0> EntityList.getEntityString(<Entity instance>); get's you the entity name
L1320[06:09:48] <Necr0> StatCollector.translateToLocal("entity." + <entityname> + ".name"); get's you the localized entity name.
L1321[06:11:01] <Necr0> <Entity instance>.getName(); gets you the localized name or the custom name if it has a custom name(name tags);
L1322[06:18:19] ⇨ Joins: srs_bsns (blk@198-48-175-31.cpe.pppoe.ca)
L1323[06:19:37] *** PaleoCrafter is now known as PaleOff
L1324[06:21:12] <TobyO> thats great thanks
L1325[06:21:19] <Necr0> no problem
L1326[06:22:43] ⇦ Quits: PitchBright (~PitchBrig@cpe00fc8d8a3ce3-cm00fc8d8a3ce0.cpe.net.cable.rogers.com) (Ping timeout: 201 seconds)
L1327[06:26:44] ⇨ Joins: Cast0077 (~Work@24-181-178-44.dhcp.nwtn.ct.charter.com)
L1328[06:27:13] <masa> why does forge add the chat color codes to the logger output, at least for player names?
L1329[06:27:29] <masa> looking at player logot message atm
L1330[06:27:32] <masa> +u
L1331[06:33:34] ⇦ Quits: airbreather (~airbreath@d149-67-99-43.nap.wideopenwest.com) (Read error: Connection reset by peer)
L1332[06:34:23] <Wuppy> ugh fuck the company I get my room from so much
L1333[06:34:31] <Wuppy> my electricyt connection in the bathroom is broken
L1334[06:34:39] <Wuppy> and they don't want to send someone over to fix it
L1335[06:34:50] <Wuppy> at least not until Tuesday
L1336[06:44:33] ⇨ Joins: airbreather (~airbreath@d149-67-99-43.nap.wideopenwest.com)
L1337[06:44:39] <gigaherz> this reminds me monday is a holiday and I have to get groceries this afternoon if I want to have enough food
L1338[06:44:54] <TobyO> ooh, same
L1339[06:45:22] <Wuppy> monday is indeed a holiday
L1340[06:45:33] <Wuppy> first time I'm annoyed by a holiday :P
L1341[06:45:42] <gigaherz> XD
L1342[06:45:55] <Wuppy> well, mostly about this stupid shit :V
L1343[06:46:08] <sham1> No it isnt
L1344[06:46:20] <Wuppy> we haven't had a working washing machine for weeks
L1345[06:46:32] <Wuppy> I buy a new one, can't connect it because the electricity thing is fucked :<
L1346[06:47:13] <gigaherz> sham1: https://en.wikipedia.org/wiki/Pentecost
L1347[06:47:32] <sham1> Huh
L1348[06:47:34] <sham1> TIL
L1349[06:47:46] <gigaherz> may not be an official holiday in your country
L1350[06:47:48] <gigaherz> but it is for many
L1351[06:47:48] <gigaherz> ;p
L1352[06:48:17] <sham1> Here it is tomorrow
L1353[06:48:23] <Wuppy> it's sunday and monday
L1354[06:48:55] <sham1> Monday is nothing special
L1355[06:48:57] <sham1> But sunday is
L1356[06:49:12] <Wuppy> sunday there is a massive festival in my backyard with like 20.000 people
L1357[06:49:17] <Wuppy> and its free
L1358[06:49:49] <sham1> Sunday's a flag day because of that
L1359[06:49:56] <sham1> But there literally is nothing marked for monday
L1360[06:50:11] <Wuppy> a lot of coutries celebrate it 2 days, not just 1
L1361[06:50:46] <sham1> Well, I guess Nordic is just weird
L1362[06:50:56] <sham1> Because here it is just for one day
L1363[06:50:58] ⇦ Quits: Jezza (~Jezza@92.206.5.6) (Ping timeout: 384 seconds)
L1364[06:54:24] *** amadornes[AFK] is now known as amadornes
L1365[06:57:38] ⇨ Joins: Jezza (~Jezza@92.206.5.6)
L1366[07:00:52] ⇨ Joins: Hgrebnednav (~Hgrebnedn@d8d874662.access.telenet.be)
L1367[07:08:47] <Zaggy1024> lol.
L1368[07:09:28] <Zaggy1024> the difference between the color with the shader and without was just because of truncating the float color channels down to 0-255 ints
L1369[07:10:53] ⇨ Joins: McJty (~jorrit@94-225-203-206.access.telenet.be)
L1370[07:10:58] <Zaggy1024> the shader of course receives much more precise floats, so it's able to multiply the colors accurately
L1371[07:12:14] <TobyO> I am trying to use drawModalRectWithCustomSizedTexture but I can't work out the arguments
L1372[07:13:30] <Zaggy1024> it's funny that that function is static and hte others in Gui aren't... >.>
L1373[07:14:01] <Zaggy1024> the args are "int x, int y, float u, float v, int width, int height, float textureWidth, float textureHeight"
L1374[07:14:05] <Zaggy1024> that should be pretty clear
L1375[07:14:25] <Zaggy1024> well
L1376[07:14:46] <Zaggy1024> except textureWidth is to calculate the pixel size, not to determine the maxU and maxV values
L1377[07:14:58] <TobyO> what are u and v supposed to be?
L1378[07:15:05] <Zaggy1024> texture x and y
L1379[07:15:07] <TobyO> it just says position
L1380[07:15:17] <TobyO> and they're in pixels?
L1381[07:15:30] <Zaggy1024> in that function, yes
L1382[07:15:41] <Zaggy1024> using u * (1 / width)
L1383[07:16:07] <Zaggy1024> *textureWidth
L1384[07:25:08] <Zaggy1024> it's always something stupid when it takes all day to debug...
L1385[07:25:46] <Zaggy1024> and in this case it turned out to be something completely pointless to fix (colors change by .0039 :P)
L1386[07:30:46] ⇦ Quits: Searge (~Searge@83.252.50.53) (Read error: Connection reset by peer)
L1387[07:32:27] ⇦ Quits: Hgrebnednav (~Hgrebnedn@d8d874662.access.telenet.be) (Read error: Connection reset by peer)
L1388[07:38:59] ⇨ Joins: Searge (~Searge@83.252.50.53)
L1389[07:40:16] ⇦ Quits: raoulvdberge (uid95673@2001:67c:2f08:6::1:75b9) (Quit: Connection closed for inactivity)
L1390[07:46:52] *** V is now known as Vigaro
L1391[07:50:14] *** kroeser|away is now known as kroeser
L1392[07:52:29] ⇨ Joins: cpw|out (~cpw@24.212.222.42)
L1393[07:52:29] MineBot sets mode: +o on cpw|out
L1394[07:52:48] *** cpw|out is now known as cpw
L1395[07:54:06] <Zaggy1024> it's interesting, when Eclipse hot swaps code the profiler gets inconsistent results for a while
L1396[07:54:39] <Zaggy1024> does the optimizing not take place immediately when the code is compiled from bytecode?
L1397[07:55:18] <gigaherz> optimization is complex
L1398[07:55:28] <gigaherz> there's multiple waysto optimize code
L1399[07:55:39] <Zaggy1024> um
L1400[07:55:42] <gigaherz> and JITs can perform different "levels" of optimization based on past information
L1401[07:55:50] <gigaherz> such as doing a quick pass to avoid delays on first run
L1402[07:55:57] <Zaggy1024> ah, yeah
L1403[07:56:02] <Zaggy1024> that's kind of what I thought it was
L1404[07:56:06] <gigaherz> but then do a better pass when the same code is run a second time
L1405[07:56:11] <gigaherz> I don't know that JVM does these things
L1406[07:56:13] <gigaherz> but they can be done
L1407[07:56:15] <gigaherz> so it may
L1408[07:56:50] <Zaggy1024> I'd guess it does given how the profiler shifts the percentages for a few seconds before it settles again
L1409[07:57:16] ⇦ Quits: Samario (~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net) (Ping timeout: 384 seconds)
L1410[08:01:43] ⇨ Joins: IceDragon (~ThatGuy@184.170.31.195)
L1411[08:04:45] <gigaherz> meh
L1412[08:04:50] <gigaherz> I can't find any interesting game to play
L1413[08:05:12] ⇦ Quits: turmfalke (~turmfalke@p20030056CF06BA51C5B5D89D1D5D49E9.dip0.t-ipconnect.de) (Ping timeout: 384 seconds)
L1414[08:05:19] <gigaherz> everything steam considers "popular", new or that may interest me, is either zombies or VR
L1415[08:12:03] ⇦ Quits: minot (~minot@pool-108-35-29-135.nwrknj.fios.verizon.net) (Read error: Connection reset by peer)
L1416[08:15:07] ⇨ Joins: raoulvdberge (uid95673@2001:67c:2f08:6::1:75b9)
L1417[08:15:56] ⇨ Joins: turmfalke (~turmfalke@2003:56:cf06:ba78:32df:b438:689:a22d)
L1418[08:15:58] ⇦ Quits: kimfy (~kimfy___@236.5.200.37.customer.cdi.no) (Ping timeout: 384 seconds)
L1419[08:16:14] <raoulvdberge> I'm having a BC issue with my mod. I added a tile entity to an existing block. The problem is, old worlds using that block that don't have the TE yet makes MC crash. How can I fix this?
L1420[08:16:44] <diesieben07> "I added a tile entity to an existing block." - Don't.
L1421[08:19:54] <TobyO> yay! my machine almost works sort of
L1422[08:20:27] <TobyO> does anyone know how to make the output slot uninteractable?
L1423[08:21:16] <raoulvdberge> diesieben07: What are my options?
L1424[08:21:31] <raoulvdberge> Add a new block and make the old one "legacy"
L1425[08:21:49] <raoulvdberge> Or can it be done better?
L1426[08:22:08] <diesieben07> depends on your goal.
L1427[08:22:13] <diesieben07> what effect are you trying to achieve?
L1428[08:22:19] <diesieben07> actually, is that YOUR block?
L1429[08:22:38] <raoulvdberge> yes
L1430[08:22:52] <diesieben07> oh well then you are fine
L1431[08:23:02] <diesieben07> just override hasTileEntity and createTileEntity and you'll be fine.
L1432[08:23:15] <raoulvdberge> and that *will* work on existing blocks that don't have the TE yet?
L1433[08:23:22] <Zaggy1024> wow, the chunk loader just got a concurrent modification
L1434[08:23:33] <diesieben07> sure it will.
L1435[08:23:47] <diesieben07> I am not 100% on if it will tick immediately
L1436[08:23:54] <diesieben07> but if someone calls getTileEntity it will be there.
L1437[08:26:41] <gigaherz> I may be wrong
L1438[08:26:47] <gigaherz> but I think the loading itself is the one that creates the TE
L1439[08:26:52] <gigaherz> and then if there's saved data for it
L1440[08:26:57] <gigaherz> readFromNBT is called afterward?
L1441[08:27:16] <diesieben07> yes, TE loading is independent of the block
L1442[08:27:18] ⇨ Joins: psxlover (psxlover@athedsl-4413640.home.otenet.gr)
L1443[08:32:37] ⇨ Joins: kimfy (~kimfy___@236.5.200.37.customer.cdi.no)
L1444[08:33:59] ⇨ Joins: Drullkus (~Dru11kus@c-67-180-188-243.hsd1.ca.comcast.net)
L1445[08:37:00] ⇨ Joins: PitchBright (~PitchBrig@CPE00fc8d8a3ce3-CM00fc8d8a3ce0.cpe.net.cable.rogers.com)
L1446[08:37:24] ⇦ Quits: Drullkus (~Dru11kus@c-67-180-188-243.hsd1.ca.comcast.net) (Ping timeout: 198 seconds)
L1447[08:38:17] ⇨ Joins: Uristqwerty (~chatzilla@74.58.46.78)
L1448[08:57:55] ⇨ Joins: kimfy_ (~kimfy___@37.200.5.236)
L1449[08:59:21] ⇦ Quits: kimfy (~kimfy___@236.5.200.37.customer.cdi.no) (Ping timeout: 201 seconds)
L1450[09:00:51] <Zaggy1024> I wish there was a way to use DUP in Java code in some way
L1451[09:01:04] <Zaggy1024> instead of having to declare variables to share calculations
L1452[09:04:24] ⇦ Quits: PitchBright (~PitchBrig@CPE00fc8d8a3ce3-CM00fc8d8a3ce0.cpe.net.cable.rogers.com) (Ping timeout: 198 seconds)
L1453[09:06:03] <Zaggy1024> of course if that were exposed in some useful way it may be abused in such a way that some code becomes slower :P
L1454[09:07:54] ⇦ Quits: SanAndreasP (~SanAndrea@ip-2-201-0-71.web.vodafone.de) (Remote host closed the connection)
L1455[09:08:14] ⇨ Joins: SanAndreasP (~SanAndrea@2.201.0.71)
L1456[09:10:58] <gigaherz> heh I just got a necrotic bone dropped in 1.8.9, but they don't even have a translation for it
L1457[09:13:36] ⇨ Joins: PitchBright (~PitchBrig@CPE00fc8d8a3ce3-CM00fc8d8a3ce0.cpe.net.cable.rogers.com)
L1458[09:14:11] ⇨ Joins: Samario (~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net)
L1459[09:22:01] ⇦ Quits: PitchBright (~PitchBrig@CPE00fc8d8a3ce3-CM00fc8d8a3ce0.cpe.net.cable.rogers.com) (Read error: Connection reset by peer)
L1460[09:22:02] ⇨ Joins: Vazkii (~Vazkii@79.169.163.74)
L1461[09:22:15] ⇨ Joins: PitchBright (~PitchBrig@cpe00fc8d8a3ce3-cm00fc8d8a3ce0.cpe.net.cable.rogers.com)
L1462[09:27:26] ⇨ Joins: Brokkoli (~Brokkoli@p5b23c284.dip0.t-ipconnect.de)
L1463[09:28:53] <Wuppy> time to program for the oculus again :D
L1464[09:31:44] <Zaggy1024> I just had a cool idea for how the clouds could look better
L1465[09:32:11] <Zaggy1024> the clouds texture could act as a bump map and the clouds could be rendered in layers with different alpha clipping thresholds
L1466[09:33:19] <Zaggy1024> or, if shaders are used, it could have r as layer 0, g as layer 1, b as layer 2, a as layer 3
L1467[09:34:36] <Zaggy1024> or of course the texture layers could just be generated by code
L1468[09:36:56] *** big_Xplo|AFK is now known as big_Xplosion
L1469[09:39:24] ⇨ Joins: Flynn1179 (~Flynn1179@92.233.154.105)
L1470[09:42:02] *** kimfy_ is now known as kimfy
L1471[09:43:35] ⇦ Quits: Cast0077 (~Work@24-181-178-44.dhcp.nwtn.ct.charter.com) (Read error: Connection reset by peer)
L1472[09:43:51] *** zenith|work is now known as zenith|coding
L1473[09:49:20] ⇨ Joins: Girafi (Girafi@0x555178eb.adsl.cybercity.dk)
L1474[09:54:18] *** big_Xplosion is now known as big_Xplo|AFK
L1475[09:58:25] ⇨ Joins: DebugsPeople (~DebugsPeo@2a02:810d:95c0:880:146:25ed:f519:3ece)
L1476[10:00:53] ⇨ Joins: Stiforr (~Stiforr@ip72-216-8-185.pn.at.cox.net)
L1477[10:01:28] <Necr0> i just began updating a 1.7.10 mod of mine. can someone explain to me or link me to an explanation of block states?
L1478[10:02:18] ⇦ Quits: srs_bsns (blk@198-48-175-31.cpe.pppoe.ca) (Quit: Ping timeout)
L1479[10:02:32] *** big_Xplo|AFK is now known as big_Xplosion
L1480[10:03:16] ⇨ Joins: srs_bsns (blk@198-48-175-31.cpe.pppoe.ca)
L1481[10:03:47] *** big_Xplosion is now known as big_Xplo|AFK
L1482[10:03:59] ⇦ Quits: _infinitefoxes_ (~infinitef@108.19.51.185) (Quit: Leaving)
L1483[10:04:12] ⇨ Joins: infinitefoxes_ (~infinitef@108.19.51.185)
L1484[10:04:22] <Flynn1179> It's on the docs. Link to docs in the motd.
L1485[10:04:24] <infinitefoxes_> Necro0: see http://mcforge.readthedocs.io/en/latest/blockstates/states/
L1486[10:12:07] ⇨ Joins: baegmon (~baegmon@CPE-60-225-55-120.nsw.bigpond.net.au)
L1487[10:13:43] <TobyO> If I want to prevent a player putting into the output slot of an inventoy do I handle it in the ItemStackHandlers insertItem
L1488[10:14:52] <TobyO> ?
L1489[10:17:44] <masa> if you want to prevent stuff from being inserted to that slot entirely, then just return the stack that is given in and do nothing else
L1490[10:20:06] <TobyO> thanks
L1491[10:20:14] <TobyO> I was returning null which wasnt working
L1492[10:21:30] <Necr0> @Flynn1179 great thanks
L1493[10:21:46] ⇨ Joins: Drullkus (~Dru11kus@c-67-180-188-243.hsd1.ca.comcast.net)
L1494[10:22:27] <masa> if you return null then that indicates to the one inserting them that you presumably took and stored all of the items (ie. nothing remains after insertion)
L1495[10:24:29] <TobyO> I see, so you return what remains after insertion
L1496[10:25:09] <TobyO> Can I ask also, how do you handle the recipes for your custom machines?
L1497[10:26:01] ⇦ Quits: Naiten (Naiten@77.35.183.102) (Read error: Connection reset by peer)
L1498[10:29:41] ⇦ Quits: alex_6611 (~alex_6611@p5DE7A66B.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
L1499[10:29:50] ⇨ Joins: alex_6611 (~alex_6611@93.231.166.107)
L1500[10:31:51] ⇦ Quits: PitchBright (~PitchBrig@cpe00fc8d8a3ce3-cm00fc8d8a3ce0.cpe.net.cable.rogers.com) (Ping timeout: 201 seconds)
L1501[10:32:14] <Necr0> by writing your own recipe handler
L1502[10:35:05] ⇨ Joins: PitchBright_ (~PitchBrig@CPE00fc8d8a3ce3-CM00fc8d8a3ce0.cpe.net.cable.rogers.com)
L1503[10:35:29] <masa> TobyO: yes. I recommend you read the javadocs in the IItemHandler interface, it has all the important information on how the interface should be used
L1504[10:36:41] *** PitchBright_ is now known as PitchBright
L1505[10:37:28] ⇨ Joins: Naiten (~Naiten@77.35.58.185)
L1506[10:39:35] <masa> and understanding that is crucial if you are working with inventories
L1507[10:40:16] ⇦ Quits: raoulvdberge (uid95673@2001:67c:2f08:6::1:75b9) (Quit: Connection closed for inactivity)
L1508[10:41:45] ⇦ Quits: alex_6611 (~alex_6611@93.231.166.107) (Read error: Connection reset by peer)
L1509[10:41:53] ⇨ Joins: alex_6611 (~alex_6611@93.231.166.107)
L1510[10:44:55] ⇦ Quits: alex_6611 (~alex_6611@93.231.166.107) (Read error: Connection reset by peer)
L1511[10:45:03] ⇨ Joins: alex_6611 (~alex_6611@93.231.166.107)
L1512[10:46:45] ⇨ Joins: Elucent (~elucent__@69.47.56.239)
L1513[10:51:41] ⇦ Quits: DebugsPeople (~DebugsPeo@2a02:810d:95c0:880:146:25ed:f519:3ece) (Ping timeout: 190 seconds)
L1514[10:52:12] ⇦ Quits: VikeStep (~VikeStep@101.184.243.180) (Read error: Connection reset by peer)
L1515[10:52:19] <Wuppy> ugh stoopid artists disabled the player
L1516[10:52:27] <Wuppy> they VR headset does not like that :P
L1517[10:53:23] <Wuppy> to be fair, using their testing scene isn't the smartest on my part either :P
L1518[10:57:03] ⇨ Joins: PitchBright_ (~PitchBrig@CPE00fc8d8a3ce3-CM00fc8d8a3ce0.cpe.net.cable.rogers.com)
L1519[10:58:39] *** blood|away is now known as blood|doom
L1520[10:59:01] ⇦ Quits: PitchBright (~PitchBrig@CPE00fc8d8a3ce3-CM00fc8d8a3ce0.cpe.net.cable.rogers.com) (Ping timeout: 198 seconds)
L1521[10:59:01] *** PitchBright_ is now known as PitchBright
L1522[10:59:46] <Flynn1179> any RF api in 1.9 yet? Only ones I can find are 1.7/1.8
L1523[11:01:10] ⇨ Joins: Blue_Monster122 (uid82864@2604:8300:100:200b:6667:4:1:43b0)
L1524[11:02:21] ⇨ Joins: vox|sleep (~voxmods@pool-71-178-241-173.washdc.fios.verizon.net)
L1525[11:04:17] <iTitus> Flynn1179, the one form 1.8.9 can be used with nearly no changes in 1.9
L1526[11:06:49] <gigaherz> Flynn1179: you can "fixup" the 1.8 version to work on 1.9
L1527[11:06:55] <gigaherz> or you can use some alternative energy api ;p
L1528[11:07:03] <gigaherz> https://github.com/gigaherz/CapabilityCore
L1529[11:07:16] <gigaherz> https://github.com/Darkhax-Minecraft/Tesla
L1530[11:07:34] <Flynn1179> Yeah, I suppose.. not really comfortable using it until it's 'officially' 1.9 tho, just in case
L1531[11:08:04] ⇦ Quits: Drullkus (~Dru11kus@c-67-180-188-243.hsd1.ca.comcast.net) (Remote host closed the connection)
L1532[11:08:18] <Darkhax> I did some digging into the 1.8->1.9 myth for the RF API. You can use it with absolutely no changes to the original.
L1533[11:08:47] <gigaherz> yeh, well
L1534[11:08:53] <gigaherz> xcept a couple package renames
L1535[11:08:58] <gigaherz> but nothing in the interfaces themselves
L1536[11:09:12] <Darkhax> Which packages?
L1537[11:09:19] <gigaherz> BlockPos
L1538[11:09:22] <gigaherz> and one other
L1539[11:09:30] <gigaherz> they are in a different package now
L1540[11:09:46] <Darkhax> Maybe my IDE took care of it automatically, but that doesn't sound right.
L1541[11:10:14] <gigaherz> wel lthe BlockPos class itself was moved between 1.8.9 and 1.9
L1542[11:10:36] *** Mine|dreamland is now known as minecreatr
L1543[11:11:35] *** amadornes is now known as amadornes[Streaming]
L1544[11:13:33] ⇨ Joins: raoulvdberge (uid95673@id-95673.richmond.irccloud.com)
L1545[11:17:18] ⇦ Quits: KJ4IPS (~KJ4IPS@68-119-116-168.dhcp.jcsn.tn.charter.com) (Ping timeout: 384 seconds)
L1546[11:17:52] ⇦ Quits: PitchBright (~PitchBrig@CPE00fc8d8a3ce3-CM00fc8d8a3ce0.cpe.net.cable.rogers.com) (Ping timeout: 384 seconds)
L1547[11:18:01] ⇦ Quits: Uristqwerty (~chatzilla@74.58.46.78) (Ping timeout: 190 seconds)
L1548[11:18:28] <vox|sleep> idk it works fine for me with no changes
L1549[11:19:00] <vox|sleep> oh lol I'm not sleeping xd
L1550[11:19:03] *** vox|sleep is now known as vox
L1551[11:23:15] ⇨ Joins: PitchBright (~PitchBrig@CPE00fc8d8a3ce3-CM00fc8d8a3ce0.cpe.net.cable.rogers.com)
L1552[11:31:44] ⇦ Quits: Nitrodev (~Nitrodev@87-92-75-66.bb.dnainternet.fi) (Read error: Connection reset by peer)
L1553[11:40:36] <Wuppy> aw shit, 25.000 people in my back yard tomorrow
L1554[11:42:06] <Zaggy1024> don't know why you had to specify that to such precision
L1555[11:42:07] <Zaggy1024> :P
L1556[11:42:45] <Wuppy> hmm?
L1557[11:44:04] <Nosirrom> 25 people or 25 thousand people?
L1558[11:44:12] <Wuppy> thousand
L1559[11:45:16] <sham1> 2.5*10^4
L1560[11:45:20] <Wuppy> ^
L1561[11:45:31] <Wuppy> or, in simple terms: a shit ton
L1562[11:47:16] <Nosirrom> yeah, 25.000 is just 25 where I am. 25,000 is 25 thousand.
L1563[11:47:39] <Wuppy> in a programming channel, I understand xD
L1564[11:47:53] <iTitus> Hello everyone. I have a question regarding rendering items ;)
L1565[11:48:19] <iTitus> I have a block and I want to render items that are saved in its TE into the world. I remember someone stating that item models should now be able to be rendered statically.
L1566[11:48:34] <iTitus> Is that true? Or do I need a regular TESR?
L1567[11:49:44] <sham1> I myself do not understand having to seperate thousands
L1568[11:50:17] <diesieben07> iTitus, that is true.
L1569[11:50:30] <iTitus> Nice ;)
L1570[11:50:49] <iTitus> How do I do that then?
L1571[11:50:54] <iTitus> I never did something like that
L1572[11:50:56] <diesieben07> 1.9?
L1573[11:50:58] <iTitus> yeah
L1574[11:51:28] <diesieben07> Ok, you need a ICustomModelLoader that will combine two models
L1575[11:51:47] <diesieben07> or actually
L1576[11:51:55] <diesieben07> you need an ICustomModelLoader that will produce a special model
L1577[11:52:02] <diesieben07> that checks which item is in your blokc
L1578[11:52:06] <diesieben07> gets that item's model
L1579[11:52:12] <diesieben07> and combines it with your block's model
L1580[11:53:09] <iTitus> thanks ;)
L1581[11:53:33] ⇦ Quits: Naiten (~Naiten@77.35.58.185) (Read error: Connection reset by peer)
L1582[11:54:13] *** blood|doom is now known as blood|away
L1583[11:58:33] ⇦ Quits: Elucent (~elucent__@69.47.56.239) (Quit: Leaving)
L1584[12:03:10] ⇨ Joins: AforAnonymous (bitch2k@212.108.50.99)
L1585[12:04:08] ⇦ Quits: Wastl2 (~Wastl2@x4e34cd1b.dyn.telefonica.de) (Quit: Hi, I'm a quit message virus. Please replace your old line with this one and help me take over the world of IRC.)
L1586[12:06:27] ⇨ Joins: theFlaxbeard (~theFlaxbe@184.97.248.96)
L1587[12:08:36] ⇨ Joins: Drullkus (~Dru11kus@2601:646:8301:8947:1db2:aa7e:6adc:86b0)
L1588[12:10:28] <Zaggy1024> diesieben07, with that approach, can you use MRLs to reference separate blockstates jsons to make up the models in the custom model?
L1589[12:10:52] <Zaggy1024> if I could do that then my codebase would become significantly simpler
L1590[12:11:00] <diesieben07> yes but that would not allow you to support ISmartItemModel or rather ItemOverrideLists in 1.9
L1591[12:11:31] <Zaggy1024> hm? I'm talking about block models
L1592[12:11:55] <diesieben07> uh
L1593[12:11:59] <diesieben07> not sure what you mean then
L1594[12:12:24] <gigaherz> Zaggy1024: diesieben07 was talking about combining an item into the block's model
L1595[12:12:27] <gigaherz> so if this item changes
L1596[12:12:34] <gigaherz> it may have overrides which point to other models
L1597[12:12:37] <gigaherz> than a hardcoded one
L1598[12:12:41] <Zaggy1024> ah yeah
L1599[12:12:47] <gigaherz> it's different from what you asked
L1600[12:13:02] ⇨ Joins: _44trent3 (webchat@c-66-41-151-134.hsd1.mn.comcast.net)
L1601[12:13:24] ⇦ Quits: Drullkus (~Dru11kus@2601:646:8301:8947:1db2:aa7e:6adc:86b0) (Ping timeout: 198 seconds)
L1602[12:13:32] * diesieben07 is afk for a bit
L1603[12:14:05] <gigaherz> and Zaggy1024: ICustomModelLoader produces IModels, which can have dependant models
L1604[12:14:21] <gigaherz> when an IModel has a dependency
L1605[12:14:36] <gigaherz> the model loading code will also add those dependencies to the "things to load" list
L1606[12:14:43] <gigaherz> so afterward
L1607[12:14:47] ⇦ Parts: _44trent3 (webchat@c-66-41-151-134.hsd1.mn.comcast.net) ())
L1608[12:14:49] <gigaherz> when someone calls .bake on this IModel
L1609[12:15:00] <gigaherz> you can use ModelLoader.getModel
L1610[12:15:23] <gigaherz> to obtain this pre-loaded model, and then you can obtain the results from that model and merge them into another model
L1611[12:15:25] <gigaherz> or return them as-is
L1612[12:15:39] <Zaggy1024> you mean ModelLoaderRegistry?
L1613[12:15:46] <gigaherz> hmm there's two ways
L1614[12:15:53] ⇨ Joins: _44trent3 (~trenten@c-66-41-151-134.hsd1.mn.comcast.net)
L1615[12:15:58] <gigaherz> one has cache
L1616[12:15:59] <gigaherz> the other does not
L1617[12:16:16] <Zaggy1024> ModelLoaderRegistry has the cache
L1618[12:16:27] <_44trent3> don't know if this is the right place to ask, but how do I disable the loading screen in the latest version of forge 1.7.10?
L1619[12:16:31] *** minecreatr is now known as Mine|away
L1620[12:16:41] <gigaherz> nope I mean ModelLoader#getModel
L1621[12:16:45] <gigaherz> which does
L1622[12:16:50] <gigaherz> if(!ModelLoaderRegistry.loaded(location)) loadAnyModel(location);
L1623[12:16:50] <gigaherz> return ModelLoaderRegistry.getModel(location);
L1624[12:16:57] <_44trent3> i'm on linux and it crashes before i even get into the game
L1625[12:17:05] <iTitus> _44trent3, you can disable it in config/splash.properties
L1626[12:17:19] <Zaggy1024> gigaherz, I don't have that in 1.9
L1627[12:17:23] <Zaggy1024> you talking about 1.8?
L1628[12:17:33] <gigaherz> wait, I am
L1629[12:17:48] <gigaherz> ahh
L1630[12:17:50] <_44trent3> hmm...it's not in that directory. i only have forge.cfg and forgechunkloading.cfg
L1631[12:17:55] <gigaherz> yes it was moved into ModelLoaderRegistry
L1632[12:18:09] <Zaggy1024> anyway, the change to make IBakedModel smarter should make things easier for this
L1633[12:18:20] <gigaherz> _44trent3: create the file
L1634[12:18:24] <gigaherz> and write enabled=false in it
L1635[12:18:25] <gigaherz> so like
L1636[12:18:32] <gigaherz> echo enabled=false > splash.properties
L1637[12:18:32] <gigaherz> ;P
L1638[12:18:42] <_44trent3> makes sense i guess
L1639[12:19:05] <Zaggy1024> fry, is there a way to accept a model location for a custom model while allowing the blockstates json for that to load normally?
L1640[12:19:43] <Zaggy1024> it'd be nice to be able to do that so I could have the main model behave like a normal blockstates json and then have the custom model add on other bits as necessary
L1641[12:19:56] *** kirby|gone is now known as mrkirby153
L1642[12:20:03] <Zaggy1024> hopefully that confusing thought makes sense. :P
L1643[12:20:04] <gigaherz> LOL!
L1644[12:20:09] <gigaherz> "forgive and... something else I can't remember"
L1645[12:21:06] <_44trent3> now it works, thanks
L1646[12:21:25] <_44trent3> now hopefully my open source video driver isn't gonna kill my performance lol
L1647[12:22:19] <gigaherz> :)
L1648[12:22:22] <gigaherz> hope so
L1649[12:22:55] <gigaherz> if not, you can always try 1.8+ instead, which supports VBOs and other featuresdesigned to make graphics more efficient
L1650[12:23:46] <_44trent3> seems pretty good, only thing is vsync is forced on the driver level
L1651[12:24:01] <gigaherz> I always have vsync on, so meh
L1652[12:24:02] <gigaherz> ;p
L1653[12:24:07] ⇦ Quits: McJty (~jorrit@94-225-203-206.access.telenet.be) (Quit: Leaving)
L1654[12:24:19] <_44trent3> eh it's staying at 60, so i'm not complaining
L1655[12:24:41] <Zaggy1024> ew vsync
L1656[12:24:55] <Zaggy1024> I like my input lag free :P
L1657[12:25:26] <Zaggy1024> haha, I guess you could read that sentence to mean either thing, now that I think about it
L1658[12:25:27] <gigaherz> input lag is a lie
L1659[12:25:38] <Zaggy1024> not :P
L1660[12:25:42] <gigaherz> it's more placebo than actual feeling
L1661[12:25:59] <Zaggy1024> I'm pretty sure I noticed it before I knew what caused it in some games
L1662[12:26:02] <_44trent3> i think input lag is only a problem if you're playing a fast paced first person shooter
L1663[12:26:06] <Zaggy1024> it's not placebo
L1664[12:26:09] <gigaherz> that too
L1665[12:26:20] <gigaherz> the brain has over 200ms latency between seeing something
L1666[12:26:22] <gigaherz> and acting on it
L1667[12:26:23] <Zaggy1024> and indeed, I play fast paced games so I notice probably more than you giga :P
L1668[12:26:32] <gigaherz> some people have a bit less
L1669[12:26:34] <gigaherz> others have a bit more
L1670[12:26:50] <gigaherz> vsync adds on average, 8ms
L1671[12:26:55] <Zaggy1024> is that 200ms to *think* about something or 200ms to even react on instinct?
L1672[12:27:02] <gigaherz> 0ms best cast, 16.6ms worst case
L1673[12:27:10] <gigaherz> case*
L1674[12:27:17] <gigaherz> 200ms from the eye seeing movement
L1675[12:27:21] <gigaherz> to the fingers moving
L1676[12:27:34] <Zaggy1024> well if nothing else I can see the inconsistent framerate :P
L1677[12:27:42] <gigaherz> that's another thing: I can't
L1678[12:27:44] <gigaherz> in fact
L1679[12:27:51] <gigaherz> i can see tearing WAY MORE than inconsistent framerates
L1680[12:28:04] <Zaggy1024> that's not too surprising, it really probably depends on what you play
L1681[12:28:41] ⇨ Joins: MattDahEpic (~MattDahEp@174-16-169-205.hlrn.qwest.net)
L1682[12:29:01] ⇦ Quits: Stiforr (~Stiforr@ip72-216-8-185.pn.at.cox.net) (Ping timeout: 198 seconds)
L1683[12:32:05] <vox> I love it when things don't work: http://imgur.com/4ZAfP6d
L1684[12:32:25] <TobyO> Ooh rotationy
L1685[12:32:42] <vox> Those are items with a bad transform xd
L1686[12:32:45] <vox> not actually blocks
L1687[12:32:48] <TobyO> What's the 1.9 way of dropping items from an inventory?
L1688[12:33:15] <TobyO> using ItemStackhandler rather than IInventory
L1689[12:41:01] ⇦ Quits: SanAndreasP (~SanAndrea@2.201.0.71) (Ping timeout: 190 seconds)
L1690[12:41:30] <vox> > Exception loading model for variant minecraft:nullautomationmachineFluxGate#inventory for item "nullautomation:machineFluxGate", normal location exception
L1691[12:41:46] <vox> Not sure if forge screwing with me *and* I'm being dumb, or if I'm just being dumb
L1692[12:44:43] ⇦ Quits: TobyO (~TobyO@host86-131-91-248.range86-131.btcentralplus.com) (Quit: Leaving)
L1693[12:45:20] <vox> > [FML]: Exception loading model for variant minecraft:nullautomationnullautomation#machinefluxgate#inventory for item "minecraft:nullautomation#machinefluxgate", blockstate location exception:
L1694[12:45:20] <vox> net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model minecraft:nullautomationnullautomation#machinefluxgate#inventory with loader VariantLoader.INSTANCE, skipping
L1695[12:45:22] <vox> pfft
L1696[12:45:34] <vox> why is this being dumb
L1697[12:46:22] ⇨ Joins: thecodewarrior (~thecodewa@75.128.36.21)
L1698[12:46:32] ⇨ Joins: SanAndreasP (~SanAndrea@ip-2-201-0-71.web.vodafone.de)
L1699[12:46:51] ⇨ Joins: kimfy_ (~kimfy___@236.5.200.37.customer.cdi.no)
L1700[12:47:41] ⇦ Quits: kimfy (~kimfy___@37.200.5.236) (Ping timeout: 190 seconds)
L1701[12:48:18] <thecodewarrior> Can opengl lines have shaders?
L1702[12:48:38] ⇨ Joins: Nitrodev (~Nitrodev@87.92.75.66)
L1703[12:49:11] <thecodewarrior> I just want a slowly moving dashed line to indicate direction.
L1704[12:49:58] <heldplayer> I think so
L1705[12:50:11] <thecodewarrior> Cool.
L1706[12:51:14] <heldplayer> Wait, nop
L1707[12:51:32] <heldplayer> Can't use lines :/
L1708[12:51:42] <thecodewarrior> :(
L1709[12:52:11] <thecodewarrior> And what I want to know, is why in the world does entity.getLookVec() return null. WHY!
L1710[12:55:32] ⇦ Quits: theFlaxbeard (~theFlaxbe@184.97.248.96) (Ping timeout: 201 seconds)
L1711[12:56:27] ⇨ Joins: theFlaxbeard (~theFlaxbe@184.97.248.96)
L1712[12:57:58] <vox> yo gigaherz, you around?
L1713[12:58:11] ⇨ Joins: Saucier (~194c3f2d@p5DC1877E.dip0.t-ipconnect.de)
L1714[13:03:16] <vox> Nvm I probably figured it out
L1715[13:03:18] ⇨ Joins: Uristqwerty (~chatzilla@modemcable078.46-58-74.mc.videotron.ca)
L1716[13:03:27] ⇦ Quits: baegmon (~baegmon@CPE-60-225-55-120.nsw.bigpond.net.au) (Read error: Connection reset by peer)
L1717[13:03:50] ⇦ Quits: Hoshiko (~IdiotNono@c-75-71-231-133.hsd1.co.comcast.net) (Ping timeout: 384 seconds)
L1718[13:04:10] ⇦ Quits: kimfy_ (~kimfy___@236.5.200.37.customer.cdi.no) (Ping timeout: 201 seconds)
L1719[13:09:02] <vox> Okay, no more errors at least
L1720[13:09:03] <vox> That's good
L1721[13:09:15] *** mDiyo|zzz is now known as mDiyo
L1722[13:09:57] ⇦ Quits: Blue_Monster122 (uid82864@2604:8300:100:200b:6667:4:1:43b0) (Quit: Connection closed for inactivity)
L1723[13:10:11] ⇨ Joins: Drullkus (~Dru11kus@c-67-180-188-243.hsd1.ca.comcast.net)
L1724[13:14:02] ⇦ Quits: Drullkus (~Dru11kus@c-67-180-188-243.hsd1.ca.comcast.net) (Ping timeout: 201 seconds)
L1725[13:14:23] ⇨ Joins: Gil (uid147942@2604:8300:100:200b:6667:5:2:41e6)
L1726[13:15:26] ⇦ Quits: psxlover (psxlover@athedsl-4413640.home.otenet.gr) (Read error: Connection reset by peer)
L1727[13:22:31] <MattDahEpic> unity's light editor theme is death
L1728[13:23:54] <sham1> Any editor's light theme is death
L1729[13:25:01] *** zenith|coding is now known as zenith|away
L1730[13:26:08] <Saucier> So, I'm currently going through some vanilla code. Some blocks (f.e. BlockFurnace) have this code segment: http://pastebin.com/0aesWM0V
L1731[13:26:13] <Saucier> I need some help understanding that code. Is it just there to rotate the block if it's generated and not placed by a player ?
L1732[13:26:13] <Saucier> Since it's a furnace, it can't look down, so the meta is 2 to 5.
L1733[13:26:18] <Saucier> And it check for opacity to rotate the Block away from a wall, so the back is placed against it ?
L1734[13:26:35] <sham1> This looks a lot like 1.7.x
L1735[13:26:44] <diesieben07> it IS 1.7.
L1736[13:27:22] <Saucier> yes, it is
L1737[13:27:54] <sham1> WHy
L1738[13:30:22] <Saucier> Because reasons
L1739[13:30:48] <sham1> Like?
L1740[13:30:56] <heldplayer> 1.3.2 master race
L1741[13:30:58] <sham1> Are they any good reasons
L1742[13:31:27] <HassanS6000> !gm func_151510_a 1.7.10
L1743[13:31:37] <Saucier> Because I play on 1.7.10
L1744[13:31:50] <sham1> And why is that
L1745[13:32:37] <PitchBright> I'll tell you why I play on 1.7.10
L1746[13:32:47] <Saucier> I don't see any reason to play another version
L1747[13:33:15] <fry> Zaggy1024: ICustomModelLoader, and don't use the event
L1748[13:33:32] <PitchBright> I run a server with a hundred mods… not all of them have been updated to 1.8… and some of the ones that haven't been updated… are critical to the structure of the world...
L1749[13:34:39] <PitchBright> plus… theres not enough of a difference in gameplay between 1.8 or 1.9 as compared to 1.7… to warrant spending weeks updating.
L1750[13:34:56] <sham1> Just update straight into 1.9
L1751[13:35:03] <PitchBright> from 1.7?
L1752[13:35:11] <vox> Huh, MC's copy of OpenAL just crashed
L1753[13:35:17] <sham1> Why not
L1754[13:35:18] ⇨ Joins: psxlover (psxlover@athedsl-4413640.home.otenet.gr)
L1755[13:35:20] <vox> I wonder why that happened :/
L1756[13:35:47] <vox> Yeah 1.9 is good
L1757[13:35:59] <vox> Pretty much all new mods are for 1.9.0
L1758[13:36:06] <vox> I would follow suit
L1759[13:36:48] <PitchBright> but some of the most important mods we use haven't been updated to 1.8 or 1.9 yet...
L1760[13:36:58] <sham1> What are so important mods
L1761[13:36:59] <PitchBright> for example… the entire geology of our world
L1762[13:37:03] <PitchBright> zoology too
L1763[13:37:09] <LatvianModder> map.values().parallelStream().forEach(ConfigFile::save);
L1764[13:37:10] <LatvianModder> Wouldnt care about order, it would just do all of them the fastest way possible, right?
L1765[13:37:28] <LatvianModder> Still learnin' Java 8
L1766[13:37:30] <diesieben07> it would do them in parallel
L1767[13:37:30] <sham1> Make the modmakers update their mods or just stop using them if they are stubborn
L1768[13:37:37] <diesieben07> in different threads
L1769[13:37:53] <LatvianModder> so.. parallel is fater?
L1770[13:37:57] <diesieben07> Not necessarily.
L1771[13:38:00] <PitchBright> i might not be that they are "stubborn", it might be that it's time consuming for them to update, and they need more time
L1772[13:38:02] <diesieben07> it can be faster, it can be slower.
L1773[13:38:03] <sham1> I would not call it fatter
L1774[13:38:11] <LatvianModder> :P
L1775[13:38:11] <PitchBright> also… is not a major taboo to bug a mod author to update?
L1776[13:38:22] <diesieben07> also that is a horrible way to save files in parallel
L1777[13:38:30] <sham1> When they are two versions behind
L1778[13:38:45] <sham1> I would say no
L1779[13:38:52] <Flynn1179> Yes, it is.
L1780[13:39:04] <PitchBright> i prefer to keep the features they have, over gaining the ones that mojang has added
L1781[13:39:10] <vox> Any idea why a block would be named tile.nullautomation.machineFluxGate.name but not pick that up from an en_US.lang file? I had this working earlier
L1782[13:39:11] <LatvianModder> that was just an example. basically any list -> any action
L1783[13:39:31] <vox> Does the setUnlocalizedName have to happen in the ctor for that to work?
L1784[13:39:34] <PitchBright> not to mention the weeeeeeks it would take to update the server and affected configs
L1785[13:39:48] <sham1> Laziness is not an excuse
L1786[13:39:58] <PitchBright> the world we're running, dates back almost 5 years
L1787[13:40:11] <PitchBright> dude, it ain't laziness… I'm at this almost 16 hrs a day
L1788[13:40:29] <PitchBright> light days… 8 hrs
L1789[13:40:53] <PitchBright> updating from 1.4.7 to 1.7.10 took 3 months
L1790[13:41:06] <PitchBright> (worldgen being the main issue there)
L1791[13:41:06] <LatvianModder> lol
L1792[13:41:58] ⇨ Joins: Delenas (~Delenas@2600:1016:b025:48e1:8513:ed00:c84d:bcf0)
L1793[13:42:31] <PitchBright> has worldgen changed at all in 1.8 or 1.9?
L1794[13:42:43] <PitchBright> any new biomes or anything like that?
L1795[13:42:48] <vox> Why do you necessarily need this map? Just transfer the parts that you want and kill any blocks that aren't there?
L1796[13:42:58] ⇨ Joins: CoolSquid (~CoolSquid@82.147.54.82)
L1797[13:43:09] *** Kolatra|away is now known as Kolatra
L1798[13:43:32] <PitchBright> it's got legacy xD
L1799[13:44:01] <vox> So why not just copy over the parts you want?
L1800[13:44:42] ⇦ Quits: KGS (~KGS@h-155-4-135-249.na.cust.bahnhof.se) (Quit: Leaving)
L1801[13:44:52] <PitchBright> the map has been a home to a social experiment of sorts… where players were originally thrown into it, in survival mode, with nothing… and the society has gradually evolved over the years to form communities
L1802[13:45:20] <PitchBright> the locations of resources are documented in game, and play a major role in where the civilizations inhabit the world...
L1803[13:45:44] <Flynn1179> time for a new experiment? 'An apolocalpse has happened (aka world upgrade)' can you survive it?
L1804[13:46:03] <PitchBright> just so we can have double-wielding swords?
L1805[13:46:04] <PitchBright> :P
L1806[13:46:06] <Flynn1179> I can't spell apocolapse
L1807[13:46:15] <Flynn1179> and slime blocks
L1808[13:46:37] <PitchBright> pass, lol
L1809[13:46:48] <sham1> And better model system
L1810[13:46:57] <Flynn1179> seriously though, I'd agree. upgrading an established world is a serious pita, it's not just about time
L1811[13:46:57] <diesieben07> Well no features are not the reason
L1812[13:47:03] <diesieben07> the reason is that you are holding everyone back :P
L1813[13:47:08] <PitchBright> plus, it's got a guinness world record build on it
L1814[13:47:11] ⇦ Quits: foxy (~gravityfo@cpe-23-242-168-28.socal.res.rr.com) (Quit: Leaving)
L1815[13:47:11] <diesieben07> by making support requests for an outdated version.
L1816[13:47:48] <PitchBright> THAT… I understand ^
L1817[13:48:17] <_44trent3> what the heck
L1818[13:48:20] <Flynn1179> how many mods are you using anyway
L1819[13:48:28] <PitchBright> but not just so I can have double-wielding swords
L1820[13:48:32] <PitchBright> that's not reason enough
L1821[13:48:43] <_44trent3> irssi leaked into my other terminal tab lol...i'll just move this to a separate window
L1822[13:48:47] <PitchBright> my set up has right around 100
L1823[13:48:52] <PitchBright> 104 i think
L1824[13:49:11] ⇦ Quits: vox (~voxmods@pool-71-178-241-173.washdc.fios.verizon.net) (Ping timeout: 201 seconds)
L1825[13:49:34] ⇦ Quits: theFlaxbeard (~theFlaxbe@184.97.248.96) (Read error: Connection reset by peer)
L1826[13:50:03] ⇨ Joins: theFlaxbeard (~theFlaxbe@184.97.248.96)
L1827[13:52:44] ⇨ Joins: gravityfox (~gravityfo@cpe-23-242-168-28.socal.res.rr.com)
L1828[13:52:50] *** blood|away is now known as blood_
L1829[13:55:56] <PitchBright> if I could wave a magic wand, and update to 1.9 without losing anything in the world… or having to spend copious amounts of time reworking config files… I'd totally do it.
L1830[13:56:23] ⇦ Quits: _44trent3 (~trenten@c-66-41-151-134.hsd1.mn.comcast.net) (Quit: leaving)
L1831[13:56:56] <PitchBright> I understand diesieben07's point for sure. I don't ask for much help if I can avoid it for that reason.
L1832[13:57:25] <raoulvdberge> is there a way to resend the TE description packet?
L1833[13:57:35] <diesieben07> the problem is really that mods don't seem to understand the concept of backwards compatibility.
L1834[13:57:47] <diesieben07> raoulvdberge, World#notifyBlockUpdate
L1835[13:57:54] <raoulvdberge> diesieben07: thanks
L1836[13:57:56] ⇨ Joins: Ratys (~Ratys@178.130.41.211)
L1837[13:58:10] <PitchBright> I do think people should preface their request by stating that it's for 1.7.10… so people aren't wasting their time trying to figure out why the stuff's not working (under the pretense that the code is current). That would piss me off, if I was trying to help someone and they didn't say "hey btw, this is an older version".
L1838[13:59:52] <Ratys> Question: am I correct in thinking that "capabilities" is something that saner engines usually call "components"?
L1839[14:00:19] ⇨ Joins: Ordinastie_ (~Ordinasti@87.231.58.94)
L1840[14:00:25] <diesieben07> you might call them that, yes
L1841[14:01:57] <sham1> Yeah, if you want to get help for an earlier version, at least say it
L1842[14:02:08] ⇨ Joins: AbsentThirdEye (~Compile@cpe-184-59-48-115.wi.res.rr.com)
L1843[14:02:25] <sham1> "Saner engines"
L1844[14:02:33] <sham1> But yeah
L1845[14:02:45] ⇦ Quits: GildedGames (~GildedGam@ec2-54-162-156-38.compute-1.amazonaws.com) (Remote host closed the connection)
L1846[14:02:54] <sham1> capabilities are an example of a component-based programming model
L1847[14:02:55] ⇨ Joins: GildedGames (~GildedGam@50.17.73.97)
L1848[14:03:27] <sham1> Where you can attach components to things to tell about their capabilities instead of having certain inheritance things or whatever'
L1849[14:04:44] <Ratys> Alright, thank you both. Makes it easier to grasp for my Unity-spoiled wits
L1850[14:05:01] ⇦ Quits: theFlaxbeard (~theFlaxbe@184.97.248.96) (Read error: Connection reset by peer)
L1851[14:05:28] ⇨ Joins: theFlaxbeard (~theFlaxbe@184.97.248.96)
L1852[14:07:30] ⇦ Quits: SanAndreasP (~SanAndrea@ip-2-201-0-71.web.vodafone.de) (Quit: See ya)
L1853[14:13:04] *** blood_ is now known as blood|doom
L1854[14:15:01] ⇦ Quits: theFlaxbeard (~theFlaxbe@184.97.248.96) (Ping timeout: 190 seconds)
L1855[14:15:52] ⇨ Joins: theFlaxbeard (~theFlaxbe@184.97.248.96)
L1856[14:16:15] ⇦ Quits: thecodewarrior (~thecodewa@75.128.36.21) (Remote host closed the connection)
L1857[14:16:57] ⇦ Quits: Hunterz (~hunterz@62.182.234.189) (Quit: Leaving.)
L1858[14:17:36] *** Vigaro is now known as V
L1859[14:20:19] ⇨ Joins: Pennyw95 (~Dr.Benway@151.36.157.48)
L1860[14:22:21] ⇦ Quits: Fridtjof (prassel@fridtjof.xyz) (Ping timeout: 190 seconds)
L1861[14:23:34] ⇨ Joins: SanAndreasP (~SanAndrea@ip-2-201-3-152.web.vodafone.de)
L1862[14:25:42] ⇨ Joins: Zeb88 (webchat@212-239-196-88.dyn.estpak.ee)
L1863[14:26:26] ⇨ Joins: DebugsPeople (~DebugsPeo@2a02:810d:95c0:880:8df8:603c:17da:d32f)
L1864[14:27:47] ⇨ Joins: Fridtjof (prassel@2001:470:ca8f::6)
L1865[14:28:40] <Pennyw95> if ItemStackHandler.insertItem returns the remainder of the adding operation, does it return null if there's no remainder AND if the adding operation failed?
L1866[14:29:02] <gigaherz> wat
L1867[14:29:14] <gigaherz> if it failed, the remainder SHOULD be the same you entered
L1868[14:30:01] <Pennyw95> oh...obviously lol
L1869[14:30:44] <Pennyw95> I'm just trying to understand why my item adding won't work...i guess it's something else
L1870[14:31:02] <Pennyw95> so there's no explicit warning of failure?
L1871[14:33:59] ⇦ Quits: SanAndreasP (~SanAndrea@ip-2-201-3-152.web.vodafone.de) (Quit: See ya)
L1872[14:35:08] <Pennyw95> I can see it returns null if the player doesn't have an item and throws an exception when the inventory slot is not correct...but other than that
L1873[14:35:09] ⇦ Quits: Delenas (~Delenas@2600:1016:b025:48e1:8513:ed00:c84d:bcf0) (Quit: Console.Write("Goodbye, world!");)
L1874[14:37:00] <masa> why does forge add the color codes to the console messages? it is all messy now :/
L1875[14:37:23] <Girafi> What console messages?
L1876[14:37:47] <masa> server consle, pretty much all in-chat messages have the color codes
L1877[14:38:09] <Girafi> Ohh server console. Yeah that got added a while back in 1.8 at some point.
L1878[14:38:10] <masa> for example "2016-05-14 22:29:46 [INFO] §e§r§emasa_§r§e left the game§r"
L1879[14:38:44] ⇨ Joins: vox (~voxmods@pool-71-178-241-173.washdc.fios.verizon.net)
L1880[14:38:46] <masa> but why were they added there?
L1881[14:39:04] <masa> it makes it different from vanilla and break my stats parser...
L1882[14:39:12] <masa> and they won't show up anyway
L1883[14:39:20] <vox> Whoa vanilla has igloos
L1884[14:39:36] <vox> As 0f 1.9
L1885[14:39:37] <vox> http://minecraft.gamepedia.com/Igloo
L1886[14:40:07] <vox> They were apparently a showcase of the loot table feature
L1887[14:40:44] ⇦ Quits: theFlaxbeard (~theFlaxbe@184.97.248.96) (Ping timeout: 384 seconds)
L1888[14:40:56] <vox> They have 100% chance to get a golden apple, and chances to get coal, apples, wheat, gold nuggets, rotten flesh, a stone axe, or emeralds
L1889[14:40:58] <vox> huh
L1890[14:41:28] ⇨ Joins: theFlaxbeard (~theFlaxbe@184.97.248.96)
L1891[14:41:37] <vox> The chest is hidden under some carpet
L1892[14:41:43] <vox> Reminds me of the desert temples
L1893[14:42:01] <sham1> Igloos
L1894[14:44:06] *** willieaway is now known as williewillus
L1895[14:44:32] *** PaleOff is now known as PaleoCrafter
L1896[14:47:07] <Nitrodev> hi all
L1897[14:49:22] <gigaherz> vox: i haven't seen any, yet
L1898[14:49:26] <gigaherz> I knwo they are there
L1899[14:49:36] ⇦ Quits: MattDahEpic (~MattDahEp@174-16-169-205.hlrn.qwest.net) (Quit: sleep, school, or food)
L1900[14:49:38] <gigaherz> I just have NEVER seen a snow plains biome
L1901[14:49:50] <gigaherz> ice plains*
L1902[14:50:29] <Nitrodev> i have
L1903[14:50:37] <Necr0> me neither
L1904[14:50:37] <Nitrodev> probably because you don't play MC
L1905[14:50:43] <Nitrodev> giga
L1906[14:50:48] <gigaherz> I play mc, even vanilla
L1907[14:50:57] <Nitrodev> but you're a modder
L1908[14:51:00] <gigaherz> yes
L1909[14:51:04] <gigaherz> but I also play vanilla
L1910[14:51:08] <gigaherz> sometimes
L1911[14:51:12] <Nitrodev> I'M NOT THE ONLY ONE
L1912[14:51:16] <masa> I'm a modder, and I currently ONLY play vanilla
L1913[14:51:17] <gigaherz> problem is
L1914[14:51:21] <gigaherz> vanilla doesn't last long
L1915[14:51:25] <gigaherz> I get bored
L1916[14:51:25] <Nitrodev> yeah
L1917[14:51:26] <masa> huh?
L1918[14:51:28] <gigaherz> and then start playing mods
L1919[14:51:32] <gigaherz> and then get bored of the mods
L1920[14:51:36] <gigaherz> and then make my own mods
L1921[14:51:39] <masa> vanilla is what DOES last long, modded does not
L1922[14:51:41] <masa> for me anyway
L1923[14:51:44] <gigaherz> and then I get bored of coding mods, and go back to playing
L1924[14:51:46] <Nitrodev> dafuq
L1925[14:51:57] <Nitrodev> and the loop goes on?
L1926[14:51:59] <gigaherz> and thne start to miss vanilla nad try another playthrough
L1927[14:52:04] <gigaherz> and the loop starts again
L1928[14:52:16] <Nitrodev> wow
L1929[14:53:14] ⇦ Quits: auenf (David@DC-53-50.bpb.bigpond.com) (Ping timeout: 186 seconds)
L1930[14:54:00] ⇨ Joins: minot (~minot@pool-108-35-29-135.nwrknj.fios.verizon.net)
L1931[14:54:12] ⇨ Joins: auenf (David@DC-53-50.bpb.bigpond.com)
L1932[14:57:52] <sham1> Pure vanilla is not only boring. It also is kind of BS
L1933[14:58:16] <Nitrodev> how so?
L1934[14:58:39] <sham1> Like for instance: "Why do I need a mod to see recipes in-game"
L1935[14:58:51] ⇨ Joins: Xilef11 (~xilef11@209.195.101.19)
L1936[14:58:53] <Nitrodev> ?
L1937[14:58:59] ⇨ Joins: Hoshiko (~IdiotNono@c-75-71-231-133.hsd1.co.comcast.net)
L1938[14:59:12] *** mDiyo is now known as mDiyo|streaming
L1939[14:59:21] <sham1> What about that did you not understand
L1940[14:59:32] <sham1> What part even
L1941[14:59:38] <Nitrodev> how is "Why do I need a mod to see recipes in-game" BS
L1942[14:59:41] <Ordinastie_> maybe you're supposed to discover them by yourself
L1943[14:59:51] ⇦ Quits: iTitus (~iTitus@p2003005B4D5B50C1BC2CC0F43C18CC67.dip0.t-ipconnect.de) (Quit: Leaving)
L1944[14:59:51] <Nitrodev> oh yeah
L1945[15:00:24] <Ordinastie_> which is kinda BS, yeah
L1946[15:00:33] <Pennyw95> can someone help me understand why this isn't working? this code is inside onBlockActivated and while I am sure that TKUtils.insertItem is called I don't get why the TE's slot 0 stays empty...https://gist.github.com/DrBenway95/a2b096095a1c7cd0b99c48794cccb463
L1947[15:01:07] <Ordinastie_> I think it's your indentation that breaks it
L1948[15:01:52] <sham1> I'm not sure if Scala is whitespace sensitive
L1949[15:02:13] <Pennyw95> those methods are chained
L1950[15:02:28] <Pennyw95> indentation shouldn't matter
L1951[15:02:31] <sham1> But yeah
L1952[15:02:33] <Ordinastie_> ...
L1953[15:02:39] <sham1> That indentation is still kind of ugly
L1954[15:02:47] <sham1> To put it pluntly
L1955[15:02:48] <Ordinastie_> no identation won't break code
L1956[15:03:01] <Ordinastie_> yes your indentation is totally messed up
L1957[15:04:43] <Pennyw95> it should work though.. besides I changed some stuff to make it more clear...here is the actual code below https://gist.github.com/DrBenway95/a2b096095a1c7cd0b99c48794cccb463
L1958[15:06:07] <infinitefoxes_> Pennyw95: I have not the slightest clue what's going on in that
L1959[15:06:43] <infinitefoxes_> your formatting is so absolutely broken
L1960[15:06:57] <Pennyw95> shouldn't ItemStackHandler.insertItem return null if the adding operation fails?
L1961[15:07:13] <infinitefoxes_> iirc, no
L1962[15:07:17] <infinitefoxes_> it should just return the item passed to it
L1963[15:07:17] <Pennyw95> infinitefoxes_: sorry, it was done hastily
L1964[15:07:50] <Pennyw95> so checking fo success would be (input != remainder)
L1965[15:08:10] <Ordinastie_> !equals
L1966[15:08:12] <williewillus> insertItem returns the *reminader* of the operation
L1967[15:08:21] <williewillus> so if nothing actually happened the same stack should be returned
L1968[15:08:38] <williewillus> insertItem returning null means that all of what you gave it made it in (or you gave it null)
L1969[15:10:10] <Pennyw95> ok, I'll do some more checks
L1970[15:11:37] <williewillus> anyways back to wondering why the hell my lightning bolts are all borked in dev
L1971[15:11:39] <williewillus> but are fine in obf
L1972[15:13:04] ⇨ Joins: Drullkus (~Dru11kus@2601:646:8301:8947:1db2:aa7e:6adc:86b0)
L1973[15:16:20] <Pennyw95> does the ItemStackHandler decrease the item count from the player's inventory as well or do I have to do it?
L1974[15:16:24] ⇦ Quits: Drullkus (~Dru11kus@2601:646:8301:8947:1db2:aa7e:6adc:86b0) (Ping timeout: 198 seconds)
L1975[15:16:56] *** AEnterprise is now known as AEnterpriseAFK
L1976[15:17:58] <Pennyw95> Because when I click the TE with an item in survival, the method returns null but the TE doesn't see it in its ivnentory
L1977[15:19:30] <williewillus> show code
L1978[15:19:36] <williewillus> faster than talking :P
L1979[15:21:37] <DRedhorse> hi, does anybody have an idea why block textures change? No mods updated etc. but when I start my client / server now cobblestone has a weird texture... before that big reactor casings and tesseracts... in between the unabridged menu screen was checkerboxed... could it be corruption?
L1980[15:22:08] <Pennyw95> williewillus: https://gist.github.com/DrBenway95/a2b096095a1c7cd0b99c48794cccb463
L1981[15:22:57] ⇦ Parts: Zeb88 (webchat@212-239-196-88.dyn.estpak.ee) ())
L1982[15:23:50] <Pennyw95> TKUtils.insertItem does get called and it returns null. that would make sense since I am clicking with a stacksize of 1 but the item doesn't get stored in the TE
L1983[15:25:53] <williewillus> how are you telling if it gets stored or not ? (maybe you're not resyncing)
L1984[15:26:36] <Pennyw95> well it acts like it worked because until I click with an empty hand onBlockActivated returns false and prevents me from clicking again
L1985[15:27:15] <Pennyw95> but I'm using the TE's update() to print if inventory.getStackInSlot(0) is null or not
L1986[15:27:20] <Pennyw95> and it's null
L1987[15:27:27] <Pennyw95> even on the server
L1988[15:28:26] <Ordinastie_> post the TE code
L1989[15:30:06] <Pennyw95> https://gist.github.com/DrBenway95/708af48d00d8012add526ff318cf0736
L1990[15:36:57] *** amadornes[Streaming] is now known as amadornes
L1991[15:38:32] ⇦ Quits: Ipsis (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk) (Ping timeout: 384 seconds)
L1992[15:39:07] ⇦ Quits: Nitrodev (~Nitrodev@87.92.75.66) (Quit: Leaving)
L1993[15:41:22] ⇦ Quits: Elec332 (~Elec332@ip5456d4a5.speed.planet.nl) (Ping timeout: 384 seconds)
L1994[15:41:34] ⇨ Joins: Temportalist (uid37180@2604:8300:100:200b:6667:3:0:913c)
L1995[15:47:36] *** V is now known as Vigaro
L1996[15:51:36] <williewillus> hmm multimc isnt loading jarmods
L1997[15:54:01] ⇨ Joins: Stiforr (~Stiforr@ip72-216-8-185.pn.at.cox.net)
L1998[15:55:01] ⇦ Quits: alex_6611 (~alex_6611@93.231.166.107) (Ping timeout: 190 seconds)
L1999[15:57:13] ⇦ Quits: theFlaxbeard (~theFlaxbe@184.97.248.96) (Ping timeout: 198 seconds)
L2000[15:57:54] ⇨ Joins: theFlaxbeard (~theFlaxbe@184.97.248.96)
L2001[16:03:21] *** williewillus is now known as willieaway
L2002[16:05:52] *** fry is now known as fry|sleep
L2003[16:07:32] ⇨ Joins: KGS (~KGS@h-155-4-135-249.na.cust.bahnhof.se)
L2004[16:16:06] ⇦ Quits: Pennyw95 (~Dr.Benway@151.36.157.48) (Quit: Leaving)
L2005[16:18:45] ⇦ Quits: founderio (~Thunderbi@p200300C4E3C3DC00D0C49F1F128E2079.dip0.t-ipconnect.de) (Quit: founderio)
L2006[16:21:19] <barteks2x> I'm trying to decide if it's better to store "generation state" as "what has been finished" or "what is the next thing to do". Neighter of them makes sense in all parts of code
L2007[16:21:55] ⇨ Joins: Drullkus (~Dru11kus@2601:646:8301:8947:1db2:aa7e:6adc:86b0)
L2008[16:25:40] *** PaleoCrafter is now known as PaleOff
L2009[16:26:01] <gigaherz> barteks2x: why not both? ;P
L2010[16:26:24] <barteks2x> that would be even more evil
L2011[16:27:27] <barteks2x> This is what is looks like (mostly unfinished) using the "what is the next thing to do" approach: http://pastebin.com/v5iviWZ0
L2012[16:29:22] <barteks2x> this approach seems to make more sense when trying to decide which CubeProcessor I should use next
L2013[16:30:14] *** Vigaro is now known as V
L2014[16:32:17] *** willieaway is now known as williewillus
L2015[16:34:20] * williewillus twiddles thumbs for 1.9.4 for performance improvements :P
L2016[16:34:33] <gigaherz> heh that didn't take long: http://motherboard.vice.com/read/watch-an-original-doom-level-remade-in-the-new-doom
L2017[16:37:07] <barteks2x> Why idea can't find my JDK sources
L2018[16:37:31] <barteks2x> It only shows decompiled classes, and doesn't have javadoc
L2019[16:37:54] <gigaherz> did you choose the sources when instalilng the jdk?
L2020[16:39:29] <barteks2x> oh, right. It didn't install them. Previously I used oracle jdk, but then after reinstalling the OS I switched to openjdk
L2021[16:40:41] <barteks2x> It still refuses to find jdk sources
L2022[16:42:10] <gigaherz> sorry no experience with openjdk
L2023[16:43:03] <gigaherz> barteks2x: in the idea settings
L2024[16:43:14] <gigaherz> (project structure sorry)
L2025[16:43:26] <gigaherz> in SDKs
L2026[16:43:34] <gigaherz> there's Classpath, which should contain the binaries
L2027[16:43:45] <gigaherz> and sourcepath, which you should make sure contains the source zips
L2028[16:44:14] <gigaherz> in windowswith oracle sdk, I see
L2029[16:44:20] <gigaherz> jdk...\src.zip
L2030[16:44:25] <gigaherz> jdk...\javafx-src.zip
L2031[16:45:24] <barteks2x> I removed old jdk and added it again, now it shows something in sourcepath
L2032[16:45:32] <barteks2x> (from idea config)
L2033[16:45:35] <gigaherz> :)
L2034[16:48:23] <barteks2x> I would use oracle jdk if it was possible to install it from some repositories without possibiity of breaking my debian installation
L2035[16:50:30] <williewillus> what parts of them are even different nowadays? 0.o
L2036[16:50:43] <gigaherz> would be nice if you could just get a zip, unpack it in like /jdk
L2037[16:50:51] <gigaherz> and then manually configure JAVA_HOME
L2038[16:50:51] <gigaherz> ;p
L2039[16:51:01] <gigaherz> why require packages at all ;P
L2040[16:51:17] <barteks2x> it is possible
L2041[16:51:50] <barteks2x> but I hate installing things manually because then I can't just create list of everything I installed manually
L2042[16:52:12] <barteks2x> (I should really check what I write before I hit enter)
L2043[16:52:19] <gigaherz> from a quote in some site:
L2044[16:52:21] <gigaherz> "our build process for Oracle JDK releases builds on OpenJDK 7 by adding just a couple of pieces, like the deployment code, which includes Oracle's implementation of the Java Plugin and Java WebStart, as well as some closed source third party components like a graphics rasterizer, some open source third party components, like Rhino, and a few bits and pieces here and there, like additional
L2045[16:52:22] <gigaherz> documentation or third party fonts. "
L2046[16:52:54] <gigaherz> "Moving forward, our intent is to open source all pieces of the Oracle JDK except those that we consider commercial features such as JRockit Mission Control (not yet available in Oracle JDK), and replace encumbered third party components with open source alternatives to achieve closer parity between the code bases."
L2047[16:53:02] <gigaherz> no idea how much of that they achieved in jdk8
L2048[16:53:46] <gigaherz> everything else I can find points to the font rasterizer being the most notable difference
L2049[16:54:09] <barteks2x> After java 9 is released I will probably need to wait 1-2 years before I can install it via package manager...
L2050[16:55:52] * gigaherz shrugs
L2051[16:55:55] <gigaherz> I'm a windows user
L2052[16:55:59] <gigaherz> i'm used to not having a package manager
L2053[16:56:00] <gigaherz> ;P
L2054[16:56:48] <barteks2x> or I will switch to debian testing/unstable
L2055[17:00:29] <barteks2x> Why net.minecraft.util.math.Vec3i even exists if it doesn't have masic math operations?
L2056[17:00:45] <Ordinastie_> because mojang
L2057[17:01:27] <gigaherz> doens't the obfuscator remove methods from private classes that aren't used?
L2058[17:01:38] <gigaherz> iirc that's why @ClientOnly was needed?
L2059[17:01:41] <gigaherz> (on methods)ç
L2060[17:01:42] <gigaherz> -ç
L2061[17:01:47] <gigaherz> eh
L2062[17:01:50] <gigaherz> @SideOnly(client)(
L2063[17:01:54] * gigaherz can't type
L2064[17:02:00] <barteks2x> I wanted to use Vec3i to store relative cube coordinates
L2065[17:02:12] <barteks2x> But I can't easly add/subtract/negate them
L2066[17:02:40] <Ordinastie_> blockpos
L2067[17:03:06] <barteks2x> because using BlockPos to store cube coordinates is really good idea... especially repative positions
L2068[17:03:19] <barteks2x> *relative
L2069[17:03:21] <Ordinastie_> why not ?
L2070[17:03:29] ⇨ Joins: sww1235 (~sww1235@bananas.cs.colostate.edu)
L2071[17:03:36] <barteks2x> because it's Block Position?
L2072[17:03:47] <barteks2x> And it's going to be in API eventually
L2073[17:03:49] <Ordinastie_> it's a Vec3i too
L2074[17:03:49] <williewillus> according to the community
L2075[17:04:03] <williewillus> BlockPos is an arbitrary name chosen by MCP I hope you remember
L2076[17:04:07] ⇦ Quits: minot (~minot@pool-108-35-29-135.nwrknj.fios.verizon.net) (Read error: Connection reset by peer)
L2077[17:04:08] <williewillus> :P
L2078[17:04:18] ⇨ Joins: moog (~moog@24-176-156-144.dhcp.jcsn.tn.charter.com)
L2079[17:05:01] <gigaherz> for all we know, Vec3i could be an actual vector library that has been embedded into the code ;P
L2080[17:05:41] ⇦ Quits: agowa338 (~Thunderbi@84.145.147.91) (Ping timeout: 190 seconds)
L2081[17:07:38] <barteks2x> Still, I think using BlockPos for it would be confising
L2082[17:08:11] <williewillus> public class RelativePos extends BlockPos {} if it bothers you so much xD
L2083[17:08:42] <Ordinastie_> barteks2x, you know you are allowed to give your variable a relevant name ?
L2084[17:08:56] <barteks2x> it's return type
L2085[17:08:59] <barteks2x> I can't name return types
L2086[17:09:12] <Ordinastie_> no, thats what the method name is for
L2087[17:09:16] <williewillus> i still don't know what the big deal is :P
L2088[17:09:43] ⇦ Quits: Saucier (~194c3f2d@p5DC1877E.dip0.t-ipconnect.de) ()
L2089[17:11:10] <barteks2x> Maybe I'm actually doing it the wrong way. I have onStateProcessed() method that takes CubeProcessor as argument, and should return relative positions of cubes that should be notified about the change, and at the same time should update the internal state
L2090[17:11:21] <Tazz> anyone know how to use ScaledResolution? particularly can I scale the size of my GUI up using it?
L2091[17:11:48] <diesieben07> ScaledResolution is just for determining how MC scales the GUI
L2092[17:11:56] <diesieben07> if you want to scale your GUI, glScale
L2093[17:12:17] <Tazz> diesieben07, I know however it offsets the GUI
L2094[17:12:28] <diesieben07> show what you've tried
L2095[17:12:33] <Tazz> and is impossible to get properly set depending on the window height
L2096[17:12:43] <Ordinastie_> yes it is
L2097[17:13:09] <barteks2x> For now I will continue using Vec3i, because I will almost never need to do any operations on them
L2098[17:13:19] ⇦ Quits: Benimatic (~Benimatic@cblmdm72-241-108-184.buckeyecom.net) (Ping timeout: 186 seconds)
L2099[17:13:38] ⇨ Joins: Benimatic (~Benimatic@cblmdm72-241-108-184.buckeyecom.net)
L2100[17:13:39] <Tazz> diesieben07, https://gist.github.com/s0cks/a0344e3b2b2f1f63e2d1cc8739079140
L2101[17:14:03] ⇦ Quits: theFlaxbeard (~theFlaxbe@184.97.248.96) (Read error: Connection reset by peer)
L2102[17:14:27] <diesieben07> well, you are not scaling width and height in the guiTop / guileft calculation
L2103[17:14:30] ⇨ Joins: theFlaxbeard (~theFlaxbe@184.97.248.96)
L2104[17:14:35] <diesieben07> and also no need to scale in the z direction
L2105[17:14:45] <Tazz> hmmm
L2106[17:14:47] <Tazz> 1 sec
L2107[17:17:21] <Tazz> hmmm thanks diesieben07
L2108[17:17:50] ⇨ Joins: sinkillerj (~sinkiller@nc-67-232-14-71.dhcp.embarqhsd.net)
L2109[17:19:33] ⇨ Joins: M4thG33k (~M4thG33k@173.16.169.233)
L2110[17:20:25] <M4thG33k> Is there any particular reason I would be getting the error "Block: ... has property: variant with invalidly named value"?
L2111[17:20:40] <gigaherz> Hmm you know what would be interesting?
L2112[17:20:54] <gigaherz> if Efficiency # on Elytra was ableto let you fly longer
L2113[17:20:54] <gigaherz> ;P
L2114[17:21:06] <gigaherz> but it's a tool enchant so meh
L2115[17:21:11] <Ordinastie_> M4thG33k, if only the error was telling you the reason...
L2116[17:21:29] <M4thG33k> I mean, I don't understand how the variant is invalidly named
L2117[17:21:47] <Ordinastie_> look at the code that validates the name ?
L2118[17:23:01] ⇦ Quits: theFlaxbeard (~theFlaxbe@184.97.248.96) (Ping timeout: 190 seconds)
L2119[17:23:36] <williewillus> M4thG33k: alphanumeric lowercase only
L2120[17:23:41] <williewillus> + underscores
L2121[17:23:44] <M4thG33k> That would do it...
L2122[17:24:58] <M4thG33k> It's always the little things...thanks!
L2123[17:26:05] <barteks2x> Will java enum.values() return always the same array? (sorry if I asked it twice, I lost connection)
L2124[17:26:25] ⇨ Joins: theFlaxbeard (~theFlaxbe@184.97.248.96)
L2125[17:26:26] <diesieben07> it will give you a copy every tim
L2126[17:26:54] <barteks2x> I wanted to use it to get enum by oridinal
L2127[17:26:55] <barteks2x> *ordinal
L2128[17:27:06] ⇦ Quits: CoolSquid (~CoolSquid@82.147.54.82) (Quit: Leaving)
L2129[17:27:06] <gigaherz> it is always by ordinal
L2130[17:27:13] <diesieben07> it has to, because arrays are inherently mutable
L2131[17:27:14] <gigaherz> but it's a new array instance every time
L2132[17:27:26] <diesieben07> is it your enum?
L2133[17:27:29] <barteks2x> yes
L2134[17:27:40] <diesieben07> you can make a static final array if you really care
L2135[17:27:58] <diesieben07> but the JVM should optimize something like MyEnum e = MyEnum.values()[id] pretty well, too.
L2136[17:27:59] <barteks2x> not sure if it's going to be a problem, in most cases probably not
L2137[17:28:05] <gigaherz> or in other words: Enum.values()[Enum.A.ordinal()] == Enum.A
L2138[17:28:23] <barteks2x> I know, I just wanted to know if it always copies the array
L2139[17:29:32] <barteks2x> other options are nested ifs of big switch...case
L2140[17:29:36] <barteks2x> *or
L2141[17:29:50] <diesieben07> or dirty hacks
L2142[17:30:12] <diesieben07> https://git.io/vrsis
L2143[17:30:19] <barteks2x> this is what I have now: http://pastebin.com/tYaWP0MU
L2144[17:31:05] <williewillus> how about just a enumset of EnumFacing.Axis :P
L2145[17:31:16] *** amadornes is now known as amadornes[OFF]
L2146[17:31:18] ⇦ Quits: Lunatrius (~Lunatrius@cpe-77.38.77.164.cable.t-1.si) (Ping timeout: 384 seconds)
L2147[17:31:23] <barteks2x> This enum is going to be used in EnumSet
L2148[17:31:32] <Ordinastie_> diesieben07, somehow you learned that methodhandles were fast and you felt obligated to abuse the shit out of them ><
L2149[17:31:40] <diesieben07> abuse?
L2150[17:31:42] <williewillus> lol
L2151[17:31:57] <diesieben07> i just use them instead of reflection
L2152[17:32:00] <williewillus> ^
L2153[17:32:10] <barteks2x> so I would have Set<EnumSet<Axis>>
L2154[17:32:19] <williewillus> idk how that's abuse since that's literally how they're meant to be used :P
L2155[17:32:29] <diesieben07> barteks2x, wat, why a set of a set?
L2156[17:32:45] <barteks2x> if I wanted to use EnumSet<Axis> instead of that enum
L2157[17:32:55] <williewillus> it makes no sense to have multiple of that enum though
L2158[17:33:07] <barteks2x> of my enum? it does
L2159[17:33:29] ⇨ Joins: Lunatrius (~Lunatrius@cpe-77.38.77.164.cable.t-1.si)
L2160[17:33:42] <williewillus> how does having DONE_X0Y0Z0 and DONE_X1Y1Z1 together make sense
L2161[17:33:51] <barteks2x> It's to store information which parts of a cube have been populated
L2162[17:34:02] <barteks2x> essentially, something like 8 flags
L2163[17:34:08] <diesieben07> my questino why you would have a Set of a Set
L2164[17:34:14] <diesieben07> you said Set<EnumSet<Axis>>
L2165[17:34:17] <diesieben07> thats a set of sets
L2166[17:34:24] <williewillus> diesieben07: he's replacing enumset<axis> with another enum
L2167[17:34:30] <barteks2x> now I have EnumSet<PopulationState>
L2168[17:34:31] <williewillus> with all the cases enumerated out
L2169[17:34:40] <diesieben07> oh oh
L2170[17:35:33] <barteks2x> And since EnumSet internally uses flags, I can just use EnumSet+Enum instead of flags
L2171[17:35:58] <Zaggy1024> I hate it when I accidentally make the game crash so I have to wait for it to start up again
L2172[17:36:43] <barteks2x> hm... is there limit on filename in ext4 filesystem?
L2173[17:37:05] <diesieben07> probably
L2174[17:37:08] <diesieben07> nothing is unlimited
L2175[17:37:09] ⇨ Joins: Intektor (~Intektor4@p5B2741B4.dip0.t-ipconnect.de)
L2176[17:37:17] <diesieben07> but if you it those kinds of limits you have much bigger problems
L2177[17:37:20] <barteks2x> I already have >200 worlds all names New World
L2178[17:37:32] <diesieben07> what in the fuck!
L2179[17:37:49] <williewillus> people make new worlds for everything when testing
L2180[17:37:55] <williewillus> I don't I can't stand having too many
L2181[17:38:01] <barteks2x> Especially when testing terrain generator
L2182[17:38:07] <williewillus> I have one per feature/bugfix, not a new one every startup :P
L2183[17:38:12] <williewillus> though I guess its needed for worldgen
L2184[17:38:25] <barteks2x> especially when testing performance of worldgen
L2185[17:38:30] <diesieben07> i have ONE testworld...
L2186[17:38:41] <Ordinastie_> I would have a separate mod just for deleting and recreating the world on startup
L2187[17:38:42] <barteks2x> the easiest way is to measure performance of generating spawn
L2188[17:38:51] <diesieben07> lol
L2189[17:38:57] <diesieben07> Why a mod?
L2190[17:39:10] <barteks2x> And at this point in development I frequently add world format changes (breaking changes)
L2191[17:39:11] <Ordinastie_> to not pollute the main one I'm working on
L2192[17:39:26] <diesieben07> well, just make a class, tell IntelliJ to run it before running Minecraft Client
L2193[17:39:26] <Ordinastie_> I already have one to automatically start the last loaded world when launching
L2194[17:39:30] ⇦ Quits: M4thG33k (~M4thG33k@173.16.169.233) (Quit: I've derivatives to take...adios!)
L2195[17:39:34] <Ordinastie_> (and maximize the window too)
L2196[17:39:38] <diesieben07> lol
L2197[17:40:07] <barteks2x> I'm wondering in what way things would break if I tried to load world from, say, one year ago
L2198[17:40:08] <Ordinastie_> you can't argue its usefulness :p
L2199[17:40:50] <barteks2x> at this point probably crash because I updated mapdb
L2200[17:42:12] <barteks2x> What the... I loaded the first world and it kills me everytime I respawn
L2201[17:43:25] ⇨ Joins: VikeStep (~VikeStep@101.184.243.180)
L2202[17:50:01] ⇦ Quits: Necr0 (~Necr0@2003:70:d10:5e48:cdf9:1171:a2db:35a7) (Ping timeout: 190 seconds)
L2203[17:53:00] <Zaggy1024> I have two test worlds, I delete any extras
L2204[17:53:12] <Zaggy1024> normally I'd only have one but I had been using a superflat
L2205[17:54:21] ⇦ Quits: Xilef11 (~xilef11@209.195.101.19) (Ping timeout: 190 seconds)
L2206[17:54:23] <Zaggy1024> 200 saves must (have been/be?) a lot of consumed disk space 0.o
L2207[17:54:47] ⇨ Joins: TobyO (~TobyO@host86-131-91-248.range86-131.btcentralplus.com)
L2208[17:54:48] ⇦ Quits: Stiforr (~Stiforr@ip72-216-8-185.pn.at.cox.net) (Ping timeout: 198 seconds)
L2209[17:55:02] <barteks2x> a few GB, they are all mostly spawnpoint
L2210[17:55:41] <barteks2x> I should probably do rm -rf saves
L2211[17:56:29] <barteks2x> and done, no more 200+ saves
L2212[17:57:49] ⇨ Joins: SanAndreasP (~SanAndrea@ip-2-201-3-152.web.vodafone.de)
L2213[17:58:19] ⇦ Quits: Samario (~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net) (Quit: See ya.)
L2214[18:01:14] <Intektor> I want to hide all the stuff inside the ingame gui, the same like when you press f1, but then I only want my stuff, what I render in renderGuiOverlayEvent to be rendered, is that possible?
L2215[18:03:48] ⇦ Quits: IceDragon (~ThatGuy@184.170.31.195) (Ping timeout: 198 seconds)
L2216[18:04:33] <diesieben07> Intektor, cancel RGOE for whaever ElemtnType you wnat to hide
L2217[18:04:34] <williewillus> catch all the other overlay events and cancel them
L2218[18:04:39] <williewillus> dammit
L2219[18:04:54] <Intektor> thanks
L2220[18:06:24] <TobyO> How do I do about registering recipes for custom blocks? Is there a way to do that like with the vanilla furnace or no?
L2221[18:06:52] <diesieben07> you mean you have a furnace like thingy and you want it to have recipes?
L2222[18:07:22] ⇦ Quits: Jdembo (~loungeuse@198.206.13.135) (Remote host closed the connection)
L2223[18:07:26] *** kroeser is now known as kroeser|away
L2224[18:08:45] <TobyO> indeed
L2225[18:09:09] <diesieben07> well, you have to decide on a data structure for your recipes
L2226[18:09:14] <diesieben07> which one to choose depends on the kind of recipe
L2227[18:09:27] <TobyO> it's input -> output
L2228[18:09:44] <TobyO> very much like a furnace. One input will make one output
L2229[18:10:10] <diesieben07> have a List of ItemStack pairs then
L2230[18:10:20] <diesieben07> you can use apache commons Pair class
L2231[18:10:36] <diesieben07> to find the result iterate the list until you find a matching input
L2232[18:10:38] <TobyO> not a hashmap?
L2233[18:10:54] <diesieben07> no, those are useless with itemstacks
L2234[18:11:30] <TobyO> oh right, I just though maybe because that's what the furnace does. Why is it useless with itemstacks?
L2235[18:11:58] <diesieben07> because they do not override equals and hashCode
L2236[18:12:01] ⇦ Quits: DebugsPeople (~DebugsPeo@2a02:810d:95c0:880:8df8:603c:17da:d32f) (Ping timeout: 190 seconds)
L2237[18:13:05] <Intektor> hm, cancelling the RGOE for one specific ElemtType, seems to cancel it for all Elemtntypes
L2238[18:13:37] <diesieben07> which one did you cancel?
L2239[18:13:39] *** DRedhorse is now known as DonAway
L2240[18:13:59] <Intektor> Well, I cancel all except the Text
L2241[18:14:11] <Intektor> bcause thats where I want to render
L2242[18:14:21] <diesieben07> if you cancel ALL ... that cancels everything.
L2243[18:14:24] <Intektor> and I cancel in RGOE.PRE
L2244[18:14:30] <TobyO> thanks
L2245[18:15:02] <gigaherz> Intektor: there's an "ALL" that gets called pre-everything and post-everything
L2246[18:15:07] <gigaherz> if you cancel that one, you cancel the whole gui
L2247[18:15:14] <TobyO> How do I go about registering them for other mods to use though?
L2248[18:15:24] <diesieben07> define "other mods", define "to use".
L2249[18:15:48] <TobyO> I could just use the ore dictionary couldnt i
L2250[18:15:56] <gigaherz> wait wait
L2251[18:15:58] <Intektor> no, I dont cancel the elemt type all, I cancel this way: if type != Text -> cancel
L2252[18:16:11] <gigaherz> Intektor: so when tpe==all
L2253[18:16:13] <gigaherz> you cancel it
L2254[18:16:17] <gigaherz> hence, nothing draws ever
L2255[18:16:19] ⇨ Joins: kimfy_ (~kimfy___@236.5.200.37.customer.cdi.no)
L2256[18:16:38] <gigaherz> you have to allow both "all" and "text" for what you want to work
L2257[18:16:39] <gigaherz> ;P
L2258[18:16:42] <diesieben07> TobyO, depends on what you want.
L2259[18:16:48] <Intektor> ah makes sense
L2260[18:16:59] <TobyO> I just want to allow other mods to use my items on occasion
L2261[18:17:17] <diesieben07> use how?
L2262[18:17:19] <gigaherz> TobyO: do you want other mods to be able to add recipes foryour machine?
L2263[18:17:29] <gigaherz> or something else?
L2264[18:17:36] <TobyO> yes perhaps that also
L2265[18:17:44] <TobyO> I guess just expose an API to do so
L2266[18:17:50] <diesieben07> yes.
L2267[18:18:50] <gigaherz> the most flexible way would be to use IMC
L2268[18:19:08] <diesieben07> could do that too
L2269[18:19:11] <diesieben07> would also be an API
L2270[18:19:34] <Intektor> http://i.imgur.com/lcZoIrX.png sometimes the textures goes away for one frame and appear again the next frame, how can I fix this?
L2271[18:20:16] ⇦ Quits: raoulvdberge (uid95673@id-95673.richmond.irccloud.com) (Quit: Connection closed for inactivity)
L2272[18:20:33] <diesieben07> why do you use TEXT?
L2273[18:20:37] ⇨ Joins: IceDragon (~ThatGuy@184.170.20.121)
L2274[18:21:09] <gigaherz> wait
L2275[18:21:13] <gigaherz> isn't TEXT the chat one?
L2276[18:21:19] <gigaherz> or the F3 one?
L2277[18:21:22] <Intektor> In the older minecraft version, rendering in other Element Types made the gui look bad
L2278[18:21:23] <diesieben07> text is debug i thought
L2279[18:21:25] <gigaherz> but either way, one that isn't always visible?
L2280[18:21:26] ⇨ Joins: PieGuy128 (~PieGuy128@67.68.23.75)
L2281[18:21:28] <diesieben07> use ALL
L2282[18:22:23] <Intektor> ah ok
L2283[18:25:27] ⇨ Joins: BlackSpark (~JonaK@cpe-108-184-165-26.socal.res.rr.com)
L2284[18:26:54] <gigaherz> ugh gotta sleep
L2285[18:26:58] *** gigaherz is now known as ghz|afk
L2286[18:28:24] ⇦ Quits: kimfy_ (~kimfy___@236.5.200.37.customer.cdi.no) (Ping timeout: 198 seconds)
L2287[18:33:01] *** MrKickkiller is now known as MrKick|Away
L2288[18:36:36] <Nosirrom> is there a limit to how far a block's model can reach from its blockpos?
L2289[18:37:24] <diesieben07> block models should stay within 1x1x1 afaik
L2290[18:37:36] <williewillus> you can go out of it :P
L2291[18:37:42] <williewillus> just don't be ridiculous :P
L2292[18:38:07] <williewillus> like the botania apothecaries are 1x1.3(?)x1
L2293[18:39:27] <diesieben07> up is probably more fine than sideways
L2294[18:40:33] <Nosirrom> I might go like, 2 block away at most
L2295[18:42:03] ⇦ Quits: brandon3055 (~Brandon@122.129.142.1) (Read error: Connection reset by peer)
L2296[18:42:40] *** MrKick|Away is now known as MrKickkiller
L2297[18:49:33] <Zaggy1024> IIRC it allows 1 block unit outside the horizontal range
L2298[18:52:08] *** MrKickkiller is now known as MrKick|Away
L2299[18:54:20] <LexDesktop> !gm func_72939_s
L2300[19:00:03] <ghz|afk> Nosirrom: please note that lighting will only get computedfor the block space you are in
L2301[19:00:26] <ghz|afk> so the more the block is outside its range, the more obvious the issue will be
L2302[19:00:39] <TobyO> is mergeItemStack inclusive with it's indexes?
L2303[19:01:05] <ghz|afk> my Ender-Rift multiblock was originally a single ISBRH drawing 3x3x3, and when I ported to 1.8, I split it into different models because lighting was just annoying
L2304[19:01:22] * ghz|afk got sidetracked
L2305[19:01:25] * ghz|afk goes to sleep now
L2306[19:02:14] ⇨ Joins: thecodewarrior (~thecodewa@75-128-36-21.static.mtpk.ca.charter.com)
L2307[19:02:31] <Nosirrom> well the model is going to be stationary with parts moving, so I don't think I can use multiblock.
L2308[19:05:45] ⇨ Joins: Doty1154 (~Doty1154@2601:648:8000:134f:5d1f:cd79:cfed:737f)
L2309[19:12:46] <TobyO> What's everyones views on power apis? pros/cons?
L2310[19:12:54] ⇨ Joins: minot (~minot@pool-108-35-29-135.nwrknj.fios.verizon.net)
L2311[19:13:06] <TobyO> Not sure whether to roll my own or join the crowd
L2312[19:13:15] <williewillus> whatever you want :P
L2313[19:13:20] <Flynn1179> you mean creating one or using them?
L2314[19:13:36] <MoxieGrrl_> Does the crowd have cookies? Like the dark side? Because that would be a decent incentive.
L2315[19:14:39] <Flynn1179> sometimes existing APIs just don't fit with what you're doing. There's no way RF would work as a power system for rotarycraft for example, but if you use your own, having a conversion mechanism's probably a good idea
L2316[19:15:50] <williewillus> yeah its whatever works best for you and you like the most
L2317[19:16:09] <williewillus> like mekanism uses its own joules internaly, it just has seamless conversions to everything else
L2318[19:16:20] <TobyO> yeah, that's the big advantage really. Having that control would be nice as the single point of alteration becomes the converter box
L2319[19:16:23] <williewillus> and you can set the interfaces to display alternate units
L2320[19:16:33] <Flynn1179> not entirely :) Practical logistics doesn't play nice with mekanism
L2321[19:17:35] <TobyO> It'd be nice to have native support for power also though
L2322[19:17:50] <TobyO> It certainly makes life easier
L2323[19:17:51] <williewillus> mek works with all hte major powers at least :P
L2324[19:18:10] <TobyO> My main worry is power creep
L2325[19:18:21] <Flynn1179> works with power, yeah, but because it uses joules internally, if you ask practical logistics to display power level of a laser focus for example, it shows it in joules
L2326[19:19:37] <thecodewarrior> I'm having a confusing error with generics, I have a method (Vec3d, Vec3d, List<ITraceable<T, ?>>, T param) and it's complaining about the parameters being incorrect when my list has a concrete second generic type.
L2327[19:19:50] <thecodewarrior> If I delete the second type it's fine.
L2328[19:20:11] <Flynn1179> what's the error?
L2329[19:20:42] ⇨ Joins: whatthedrunk (webchat@cpe-104-35-86-36.socal.res.rr.com)
L2330[19:21:27] ⇨ Joins: Elucent (~elucent__@69.47.56.239)
L2331[19:21:50] <thecodewarrior> Nevermind, I made the second type R and it's working now. Weird.
L2332[19:21:59] ⇦ Quits: SanAndreasP (~SanAndrea@ip-2-201-3-152.web.vodafone.de) (Quit: See ya)
L2333[19:22:32] <Flynn1179> bug fixing by trial & error's always worring. I'd still recommend trying to understand why that made it worked
L2334[19:28:01] ⇨ Joins: camelron (webchat@c-73-169-246-101.hsd1.wa.comcast.net)
L2335[19:31:27] ⇨ Joins: crazyrat969 (webchat@209.107.210.113)
L2336[19:32:06] *** Mine|away is now known as minecreatr
L2337[19:34:12] ⇨ Joins: Z750 (bnc@2001:41d0:1:68a3::45)
L2338[19:34:12] ⇦ Quits: Temportalist (uid37180@2604:8300:100:200b:6667:3:0:913c) (Quit: Connection closed for inactivity)
L2339[19:35:59] ⇦ Quits: Unh0ly_Tigg (~Robert@c-76-115-95-185.hsd1.or.comcast.net) (Quit: Leaving)
L2340[19:37:03] *** blood|doom is now known as blood|away
L2341[19:41:31] ⇨ Joins: DebugsPeople (~idkwatiam@89.204.138.251)
L2342[19:42:32] ⇨ Joins: brandon3055 (~Brandon@122.129.142.1)
L2343[19:42:46] ⇦ Quits: Upthorn (~ogmar@108-85-88-44.lightspeed.frokca.sbcglobal.net) (Ping timeout: 384 seconds)
L2344[19:44:54] ⇦ Quits: crazyrat969 (webchat@209.107.210.113) (Quit: Web client closed)
L2345[19:45:55] ⇦ Quits: Girafi (Girafi@0x555178eb.adsl.cybercity.dk) ()
L2346[19:46:07] ⇨ Joins: DebugsPeople- (~idkwatiam@89.15.237.195)
L2347[19:47:01] ⇦ Quits: DebugsPeople (~idkwatiam@89.204.138.251) (Ping timeout: 190 seconds)
L2348[19:47:29] *** DebugsPeople- is now known as DebugsPeople
L2349[19:48:59] ⇦ Quits: thecodewarrior (~thecodewa@75-128-36-21.static.mtpk.ca.charter.com) (Remote host closed the connection)
L2350[19:49:23] ⇦ Quits: Gil (uid147942@2604:8300:100:200b:6667:5:2:41e6) (Quit: Connection closed for inactivity)
L2351[19:50:38] <Zaggy1024> man, this is annoying
L2352[19:50:54] <Zaggy1024> OpenGL doesn't use normals to determine backface culling
L2353[19:50:58] ⇦ Quits: Intektor (~Intektor4@p5B2741B4.dip0.t-ipconnect.de) (Quit: Leaving)
L2354[19:51:06] ⇦ Quits: Vazkii (~Vazkii@79.169.163.74) (Quit: bOI)
L2355[19:51:16] ⇦ Quits: Jezza (~Jezza@92.206.5.6) (Ping timeout: 384 seconds)
L2356[19:51:52] ⇦ Quits: brandon3055 (~Brandon@122.129.142.1) (Read error: Connection reset by peer)
L2357[19:51:56] <Ordinastie_> it uses vertex order
L2358[19:52:01] <Zaggy1024> indeed
L2359[19:52:06] ⇨ Joins: brandon3055 (~Brandon@122.129.142.1)
L2360[19:52:29] <Zaggy1024> but if I change the vertex order it messes up the precision it seems like
L2361[19:52:41] <Zaggy1024> so then I get z-fighting on two faces with identical vertices
L2362[19:52:42] ⇦ Quits: Flynn1179 (~Flynn1179@92.233.154.105) (Read error: Connection reset by peer)
L2363[19:52:51] <Ordinastie_> it shouldn't
L2364[19:53:14] ⇦ Quits: brandon3055 (~Brandon@122.129.142.1) (Read error: Connection reset by peer)
L2365[19:53:19] <Zaggy1024> I think it's a problem with the way the vertices are stored and uploaded, but I have yet to test that theory
L2366[19:54:26] <Zaggy1024> indeed, with the winding order the same, it fixes the problem
L2367[19:54:40] <Zaggy1024> except that's not quite what I need
L2368[19:54:43] <Zaggy1024> I'll fiddle with it more
L2369[19:58:26] <Zaggy1024> ugh, all the ideas I'm coming up with require multiple vertex buffers
L2370[19:58:41] <Zaggy1024> I mean, that wouldn't be so bad, but I wish for a more elegant solution
L2371[19:59:25] <Zaggy1024> basically on the insides of clouds two faces are rendering in the same spot, so the alpha gets doubled
L2372[19:59:34] <Zaggy1024> would be nice to fix it, but it's not absolutely necessary
L2373[19:59:44] <Ordinastie_> what ?
L2374[19:59:45] <Zaggy1024> most of the stuff I've come up with for it is a bunch of hacks
L2375[20:00:16] <Ordinastie_> just disable the culling
L2376[20:00:36] ⇨ Joins: daddytothejs (~quassel@c-174-50-84-8.hsd1.nm.comcast.net)
L2377[20:00:56] ⇨ Joins: AndroUser (~androirc@174-20-95-124.mpls.qwest.net)
L2378[20:01:13] <AndroUser> That's what clouds already do and that's the problem
L2379[20:01:31] <AndroUser> Crap i forgot to set my username on here :P
L2380[20:01:53] *** AndroUser is now known as ZaggyMobile
L2381[20:02:06] <TobyO> in onBlockActivated is the x,y,z position the position in world?
L2382[20:02:14] <TobyO> Or relative to the block?
L2383[20:02:26] <Ordinastie_> TobyO, would there any wayt to check that by yourself ?
L2384[20:03:19] <TobyO> Yeah probably
L2385[20:03:41] <williewillus> position of the block being activated
L2386[20:03:47] <ZaggyMobile> Vanilla manually culls the faces when inside a cloud but that's not possible when I'm using a buffer
L2387[20:03:48] ⇦ Quits: KGS (~KGS@h-155-4-135-249.na.cust.bahnhof.se) (Ping timeout: 198 seconds)
L2388[20:03:54] <TobyO> it's a float though?
L2389[20:04:19] <TobyO> sorry, I should have said hitX etc
L2390[20:04:23] <Ordinastie_> or you can wait long enough for someone to mouth feed the answers :x
L2391[20:05:20] <TobyO> I appreciate the saved time
L2392[20:05:39] <TobyO> this channel is a life saver
L2393[20:06:18] <williewillus> oh you meant hitX/Y/Z, that is the relative position on the face iirc
L2394[20:06:28] <williewillus> [0.0, 1.0], I might be wrong though
L2395[20:07:27] <TobyO> oh super, thanks :) I'll check in a bit, need to do the setup first
L2396[20:08:35] <williewillus> man what happened in 1.5/6
L2397[20:08:46] <williewillus> i was curious and went back through some old versions
L2398[20:09:06] <Ordinastie_> don't touch 1.5 you heathen:
L2399[20:09:07] <Ordinastie_> !
L2400[20:09:09] <williewillus> idling in a default superflat the memory usage is in the range 70M-150M
L2401[20:09:28] <williewillus> but in 1.5/6 (more so the latter) the idle mem usage is a lot higher
L2402[20:09:36] <TobyO> Yeah, it's [0.0, 1.0] thanks :)
L2403[20:10:14] <TobyO> Thought I might make a small sampler keyboard block
L2404[20:20:50] ⇦ Quits: Emris (~Miranda@62.178.245.147) (Read error: Connection reset by peer)
L2405[20:22:18] ⇦ Quits: Elucent (~elucent__@69.47.56.239) (Quit: Leaving)
L2406[20:25:06] *** williewillus is now known as willieaway
L2407[20:29:51] ⇦ Quits: SandGrainOne (~Terje@cm-84.210.171.146.getinternet.no) (Read error: Connection reset by peer)
L2408[20:30:43] ⇦ Quits: minot (~minot@pool-108-35-29-135.nwrknj.fios.verizon.net) (Read error: Connection reset by peer)
L2409[20:36:13] ⇨ Joins: brandon3055 (~Brandon@122.129.142.1)
L2410[20:44:13] <DebugsPeople> What's the equivalent to GL11.glBindTexture in GlStatemanager?
L2411[20:45:19] ⇦ Quits: AforAnonymous (bitch2k@212.108.50.99) (Read error: Connection reset by peer)
L2412[20:45:31] <daddytothejs> newb here....I'm experiencing problems loading textures for blocks, I have the textures under assets/{modid}/textures/blocks/block.png but for every block I load I get the error. working in 1.9, any ideas?
L2413[20:46:26] <DebugsPeople> Well, how do you load the block?
L2414[20:47:28] <daddytothejs> are you referring to the instantiation through the clientproxy?
L2415[20:47:50] <Ordinastie_> ôO
L2416[20:48:18] <Ordinastie_> please tell me you don't instanciate and register your blocks in your proxy
L2417[20:48:31] <daddytothejs> No.
L2418[20:48:48] <daddytothejs> I call another class to register and initialize the models.
L2419[20:49:29] <Ordinastie_> show code
L2420[20:49:38] <daddytothejs> at github
L2421[20:50:19] <DebugsPeople> The link?...
L2422[20:50:27] <daddytothejs> didn't know if I could post it.
L2423[20:50:40] <Ordinastie_> of course you can
L2424[20:50:42] <daddytothejs> github.com/daddytothejs/GodsAndMortals
L2425[20:50:43] <Ordinastie_> no need to pm it
L2426[20:51:30] <daddytothejs> really very basic.
L2427[20:51:35] <daddytothejs> just trying to get started.
L2428[20:52:52] <Ordinastie_> what's the error ?
L2429[20:53:02] ⇦ Quits: mezz (~mezz@24.6.28.151) (Ping timeout: 384 seconds)
L2430[20:53:35] *** willieaway is now known as williewillus
L2431[20:54:09] <daddytothejs> http://pastebin.com/xG3JNmDm
L2432[20:56:26] <Ordinastie_> are you sure resources is on the classpath ?
L2433[20:56:55] <daddytothejs> yeah, item works just fine.
L2434[20:57:00] ⇦ Quits: glasspelican (~quassel@stanley.glasspelican.ca) (Ping timeout: 384 seconds)
L2435[20:57:54] <Ordinastie_> don't know then
L2436[20:58:08] <Ordinastie_> I don't see anything obviously wrong
L2437[20:58:08] <daddytothejs> all good. would it help if I said I used Idea?
L2438[20:58:29] ⇨ Joins: glasspelican (~quassel@stanley.glasspelican.ca)
L2439[20:58:42] <Ordinastie_> IDEA does have a habit of messing things up
L2440[20:59:03] <DebugsPeople> Never had any problems :/
L2441[20:59:16] <Ordinastie_> you're one of the few lucky ones then :p
L2442[20:59:32] ⇦ Quits: sinkillerj (~sinkiller@nc-67-232-14-71.dhcp.embarqhsd.net) (Quit: またね)
L2443[20:59:45] <daddytothejs> I was figuring Idea may be throwing a wrench in somewhere.
L2444[21:00:31] <Ordinastie_> it's probably not idea if textures work for your items
L2445[21:01:07] <Ordinastie_> something may be wrong is the models maybe, but I don't use them, so I'm not sure
L2446[21:01:31] <daddytothejs> To be honest, it's not even really models. I'm just trying to make a basic block and texture it.
L2447[21:03:19] <Nosirrom> I've never seen initModels() being used for a block
L2448[21:03:26] <williewillus> wat
L2449[21:04:00] <Nosirrom> https://github.com/daddytothejs/GodsAndMortals/blob/master/src/main/java/com/redcrisisgaming/godsandmortals/blocks/BlockGAM.java#L30
L2450[21:04:11] ⇨ Joins: Upthorn (~ogmar@75-101-109-24.dsl.dynamic.fusionbroadband.com)
L2451[21:04:50] <williewillus> idk whos that is, but your MRL is wrong
L2452[21:05:07] <williewillus> unless you wanted it to go to the normal variant
L2453[21:05:13] <williewillus> in that case you need to use forge blokcstate json
L2454[21:05:33] <daddytothejs> which is what I'm using.
L2455[21:05:33] ⇨ Joins: Stiforr (~Stiforr@ip72-216-8-185.pn.at.cox.net)
L2456[21:06:17] <williewillus> no you're not :P
L2457[21:06:22] <williewillus> https://github.com/daddytothejs/GodsAndMortals/blob/master/src/main/resources/assets/godsandmortals/blockstates/oreFire.json
L2458[21:06:26] <williewillus> doesnt look like a forge json
L2459[21:06:45] <daddytothejs> ok
L2460[21:07:01] <daddytothejs> will change.
L2461[21:07:05] ⇦ Quits: ZaggyMobile (~androirc@174-20-95-124.mpls.qwest.net) (Read error: Connection reset by peer)
L2462[21:11:50] <DebugsPeople> How do I get an int from a texture lol
L2463[21:12:33] <DebugsPeople> And I'm literally retarded
L2464[21:12:37] <williewillus> for what?
L2465[21:12:43] <williewillus> describe what youre trying to accomplish
L2466[21:12:48] <williewillus> not the details
L2467[21:12:53] <DebugsPeople> It's just getGlTextureId
L2468[21:13:08] <williewillus> Minecraft.getMinecraft().renderEngine.bindTexture is the way to bind things in MC
L2469[21:13:38] <DebugsPeople> So GlStateManager is wrong?
L2470[21:13:53] <williewillus> no it's just lower level
L2471[21:14:00] <williewillus> renderEngine,.bindTexture uses GlStatemanager
L2472[21:14:24] <williewillus> but just use renderEngine
L2473[21:14:26] <DebugsPeople> Oh
L2474[21:14:29] <williewillus> takes a resource location
L2475[21:15:03] <DebugsPeople> Yeah, was using renderEngine.getTexture(resourcelocation)
L2476[21:15:27] ⇨ Joins: Kodos (~Kodos@2602:306:ce20:6c30:15ee:b8ab:cee1:e935)
L2477[21:15:54] <DebugsPeople> I also don't think I should try to just upgrade a 1.4.7 mod
L2478[21:16:06] <williewillus> .-.
L2479[21:16:13] <williewillus> you're almost certainly better off rewriting it
L2480[21:16:14] <williewillus> what mod
L2481[21:16:38] <DebugsPeople> TheRcMod
L2482[21:16:56] <williewillus> never heard of it
L2483[21:17:19] <williewillus> also it seems they have a 1.7 version?
L2484[21:17:50] <DebugsPeople> It's completely different from the 1.4.7 version
L2485[21:19:00] <williewillus> 0.o just contribute to the new one
L2486[21:19:03] <DebugsPeople> It's a complete rewrite with models, which in my opinion don't even fit with mine craft
L2487[21:19:29] <DebugsPeople> I've tried many times, never get a response
L2488[21:19:45] <DebugsPeople> Not open source
L2489[21:19:48] <williewillus> of course not
L2490[21:20:00] <williewillus> >_>
L2491[21:20:09] ⇨ Joins: killjoy (~killjoy@71.65.255.183)
L2492[21:20:11] <DebugsPeople> Lol
L2493[21:21:21] <williewillus> i mean it's always *those* mods, closed source, badly coded, skip 3-4 major versions, etc. :P
L2494[21:21:34] <DebugsPeople> Yea
L2495[21:21:41] <DebugsPeople> Can confirm badly coded
L2496[21:21:59] <williewillus> just remake it in open source non-bad form
L2497[21:22:01] <williewillus> :P
L2498[21:23:06] <DebugsPeople> If only I knew how everything works ;)
L2499[21:23:08] <DebugsPeople> https://bitbucket.org/ArmyOfAnarchists/rcmodrevive/src/5db02a8e4bd8df42c30e674161cf277d51f62ca2/rcOld/1.4.7/?at=default
L2500[21:23:19] <DebugsPeople> That's the old decompiled version
L2501[21:23:33] <williewillus> uhh if its closed source
L2502[21:23:38] <williewillus> probably shouldnt be on a public repo
L2503[21:24:01] <DebugsPeople> :/
L2504[21:24:05] <DebugsPeople> Probably
L2505[21:24:13] <williewillus> wtf it replaces vanilla classes
L2506[21:24:36] <williewillus> did not know that was possible still in 1.4, shouldve died in like 1.2-
L2507[21:25:44] <DebugsPeople> Yeah, idk not the best mod
L2508[21:25:50] <DebugsPeople> Not stable either
L2509[21:28:13] <DebugsPeople> I've taken a lot from your botania update :P
L2510[21:30:10] <barteks2x> What would be a good way to write EnumSet to NBT?
L2511[21:30:26] ⇦ Quits: TobyO (~TobyO@host86-131-91-248.range86-131.btcentralplus.com) (Ping timeout: 384 seconds)
L2512[21:30:35] <williewillus> it's a bitfield internally so just get ahold of that
L2513[21:30:53] <williewillus> ugly and you need to make sure your enum stays put but it should work
L2514[21:30:54] <barteks2x> internally. I'm not going to use reflection on java classes
L2515[21:31:10] <williewillus> well you don't have much of a choice then
L2516[21:31:11] <williewillus> :P
L2517[21:31:22] <barteks2x> I can also build the same bitfield myself
L2518[21:32:12] <barteks2x> if I use the reflection hack - deserialization may be harder
L2519[21:34:45] <DebugsPeople> Btw, what's the easiest way to find out of you're currently on the client or server?
L2520[21:35:22] <barteks2x> do you have world object?
L2521[21:35:50] ⇨ Joins: mezz (~mezz@24.6.28.151)
L2522[21:35:50] MineBot sets mode: +v on mezz
L2523[21:36:03] <barteks2x> if you have world - you can use world.isRemote
L2524[21:36:44] <barteks2x> Or do you mean dedicated server vs client?
L2525[21:38:01] ⇦ Quits: cpw (~cpw@24.212.222.42) (Ping timeout: 190 seconds)
L2526[21:38:40] <DebugsPeople> The second option
L2527[21:40:12] <barteks2x> I normally use proxy to do different thing when running on client and dedicated server
L2528[21:41:33] <williewillus> http://mcforge.readthedocs.io/en/latest/concepts/sides/
L2529[21:41:33] <williewillus> read
L2530[21:41:47] <barteks2x> I was just going to paste that link
L2531[21:42:17] <williewillus> i still need to revise that, some of the statements about proxies in that article are a bit sketch
L2532[21:42:22] <williewillus> but overall it should be a good article
L2533[21:43:44] <DebugsPeople> i.e. mc.objectMouseOver()
L2534[21:43:53] <DebugsPeople> Doesn't work on the server
L2535[21:43:55] <vox> Night all!
L2536[21:43:56] <vox> o/
L2537[21:44:30] <williewillus> yes because it makes no sense to be on server
L2538[21:44:36] <williewillus> the article talks about that :P
L2539[21:45:44] ⇦ Quits: Upthorn (~ogmar@75-101-109-24.dsl.dynamic.fusionbroadband.com) (Ping timeout: 384 seconds)
L2540[21:46:14] <daddytothejs> Ok, updated to using Forge Blockstate Json files, and read about them from the docs site, and still getting the same errors regarding textures unavailable.
L2541[21:46:54] *** Pentium320 is now known as Pentium320_
L2542[21:46:57] <williewillus> post your repo again?
L2543[21:47:15] <daddytothejs> http://github.com/daddytothejs/GodsAndMortals
L2544[21:47:43] ⇦ Quits: vox (~voxmods@pool-71-178-241-173.washdc.fios.verizon.net) (Ping timeout: 201 seconds)
L2545[21:48:41] <williewillus> post the log
L2546[21:49:49] <barteks2x> I'm going to use Minecraft BitArray to serialize EnumSet
L2547[21:49:59] <daddytothejs> http://pastebin.com/xG3JNmDm
L2548[21:50:15] *** Pentium320_ is now known as Pentium320
L2549[21:51:57] <williewillus> hm
L2550[21:52:04] <williewillus> everything looks right
L2551[21:52:13] <williewillus> make sure the resources are exported by ide? no idea
L2552[21:54:03] *** big_Xplo|AFK is now known as big_Xplosion
L2553[21:55:53] <DebugsPeople> Torn rn on whether I should just put the packet inside the class or do it the proper way and make an external packet manager
L2554[21:56:04] ⇨ Joins: cpw (~cpw@24-212-222-42.cable.teksavvy.com)
L2555[21:56:04] MineBot sets mode: +o on cpw
L2556[21:56:12] ⇨ Joins: BillGHero (~null@cpe-76-177-51-62.natcky.res.rr.com)
L2557[21:56:17] <williewillus> in what class?
L2558[21:56:27] <DebugsPeople> An item
L2559[21:56:44] <DebugsPeople> I have to transfer the ray cast somehow
L2560[21:57:23] ⇨ Joins: CoolSquid (~CoolSquid@82.147.54.82)
L2561[21:58:05] <williewillus> external :P
L2562[21:58:12] <williewillus> separation of responsibilities
L2563[21:59:17] <barteks2x> Why nbt doesn't have long arrays...
L2564[21:59:32] <williewillus> because mojang doesnt need them :P
L2565[22:00:17] <DebugsPeople> Yeah
L2566[22:00:28] <DebugsPeople> And you can't even make more
L2567[22:00:43] <barteks2x> And my plan with using BitArray becomes much harder now
L2568[22:00:52] <barteks2x> because BitArray gives me long[]
L2569[22:01:38] <DebugsPeople> You could use nbtarrays
L2570[22:01:42] <DebugsPeople> Or what is was
L2571[22:01:54] <williewillus> that's a huge amount of overhead
L2572[22:02:02] <williewillus> you're better off splitting each long into two ints :P
L2573[22:02:19] <barteks2x> that's what I'm writing now
L2574[22:02:27] <williewillus> if you use a NBT List of NBT longs you have massive overhead for every single long tag
L2575[22:02:28] <DebugsPeople> I guess there's no way of doing a ray cast on server side :P
L2576[22:02:33] <williewillus> DebugsPeople: uhhhh yes?
L2577[22:02:45] <DebugsPeople> There is?
L2578[22:02:57] <williewillus> how do you think like everything works?
L2579[22:02:58] <williewillus> :P
L2580[22:03:11] <williewillus> also I advise not to port old smelly terrible code just rewrite it
L2581[22:03:12] <DebugsPeople> Yeah.. You're right
L2582[22:03:19] <DebugsPeople> I jnow
L2583[22:03:47] <DebugsPeople> But I don't know if I should use objectMouseOver now or do a server side raycast
L2584[22:03:48] ⇦ Quits: CoolSquid (~CoolSquid@82.147.54.82) (Ping timeout: 198 seconds)
L2585[22:04:12] <williewillus> what are you trying to accomplish?
L2586[22:04:17] <williewillus> also did you read the article i linked about sides?
L2587[22:04:45] <DebugsPeople> Well, not really read
L2588[22:04:53] <DebugsPeople> More like flying over
L2589[22:05:03] <williewillus> yeah well
L2590[22:05:37] <barteks2x> so this is what I ended up with for writing EnumSet to NBT: http://pastebin.com/rqwAcA9X . Now need to do the reverse
L2591[22:05:47] <williewillus> it's not a matter of "hmm should i choose client or serverside"
L2592[22:05:54] <williewillus> again whatre you trying to accomplish?
L2593[22:06:13] <Cypher121> value.ordinal()
L2594[22:06:20] <Cypher121> blergh
L2595[22:06:25] ⇦ Quits: camelron (webchat@c-73-169-246-101.hsd1.wa.comcast.net) (Quit: Web client closed)
L2596[22:06:35] ⇨ Joins: camelron (webchat@c-73-169-246-101.hsd1.wa.comcast.net)
L2597[22:06:37] <DebugsPeople> The remote control should bind the entity on sneak rightclick
L2598[22:06:56] <williewillus> uhhh that should not even require a raytrace
L2599[22:06:58] <DebugsPeople> Works in single player, but only because I used the common mistake
L2600[22:07:04] *** big_Xplosion is now known as big_Xplo|AFK
L2601[22:07:14] <williewillus> also please read it in depth
L2602[22:07:14] <DebugsPeople> Well, the entity the player is looking at
L2603[22:07:17] <williewillus> yes
L2604[22:07:22] <williewillus> that doesnt even need a raycast
L2605[22:07:31] <williewillus> not one that you have to do anyway
L2606[22:07:56] <barteks2x> Cypher121, would you suggest something else that doesn't add a ton of overhead?
L2607[22:08:13] <Cypher121> what are you using it for
L2608[22:08:15] <Cypher121> ?
L2609[22:08:27] *** big_Xplo|AFK is now known as big_Xplosion
L2610[22:08:30] <barteks2x> to serialize CubeGenerationState to NBT
L2611[22:08:49] <Cypher121> are you saving that NBT between game launches?
L2612[22:09:18] <barteks2x> it's going to be saves with chunk/cube data, so if I understand your question right - yes
L2613[22:09:40] ⇨ Joins: fuj1n (~fuj1n@2001:8003:2953:ee00:bc3a:b546:6e11:3258)
L2614[22:09:44] <Cypher121> then prepare to have it fucked up next time you decide to change that enum
L2615[22:10:29] <Cypher121> also I don't see how using names instead of ordinals can have a meaningful impact on performance tbh
L2616[22:10:34] ⇦ Quits: AbsentThirdEye (~Compile@cpe-184-59-48-115.wi.res.rr.com) (Quit: Radically exploding)
L2617[22:10:51] <barteks2x> if I change that enum - I would need to convert it no matter what way I serialize it
L2618[22:11:13] ⇨ Joins: DovahOfKiin (~admin@122.172.91.202)
L2619[22:11:39] <barteks2x> but ok, I will write it by listing all enum names
L2620[22:11:57] <barteks2x> and for that particular enum - I will eighter remove it completely, it will never change it.
L2621[22:12:16] <Cypher121> also why is your method marked as "static final"?
L2622[22:12:26] <barteks2x> it's in util class
L2623[22:12:34] <Cypher121> I don't think static methods can be overridden at all
L2624[22:12:59] <barteks2x> I can remove that final, it's not that it matters.
L2625[22:13:10] <Cypher121> yeah, it's redundant
L2626[22:13:34] <DebugsPeople> It wasn't even one of the "common mistakes" just using the client method on both sides
L2627[22:13:36] <DovahOfKiin> Okay so I have an inventory with a custom slot limiting the items that ca n go through it. It works, I can put things in it. that works just fine. But when I get a hopper and place it on the block (the inventory) and place gold ingots (which are allowed in the custom slot) I see the stack size decrease by one in the hopper, but it doesn't actually show in the block. Like the item "was inserted" into the inventory, but I can't see it.
L2628[22:13:45] <DovahOfKiin> Any idea why this could be happening?
L2629[22:13:55] <DebugsPeople> And the easiest way I see is still making a raycast on serverside
L2630[22:14:05] <williewillus> you don't need a raycast -.-
L2631[22:14:08] <williewillus> items have a method
L2632[22:14:12] <williewillus> for interacting with entities
L2633[22:14:16] <williewillus> use it :P
L2634[22:14:54] ⇦ Quits: daddytothejs (~quassel@c-174-50-84-8.hsd1.nm.comcast.net) (Remote host closed the connection)
L2635[22:15:14] <DovahOfKiin> uhh are you talking to me williewillus ?
L2636[22:15:14] <DebugsPeople> Well, what method is is? :P
L2637[22:15:28] <DebugsPeople> To me ;)
L2638[22:15:32] <barteks2x> is there some way to write a collection/list/set to NBT?
L2639[22:15:37] <DovahOfKiin> Alright thanks
L2640[22:16:30] <williewillus> DovahOfKiin: no; DebugsPeople: Item.itemInteractionForEntity
L2641[22:16:54] <DovahOfKiin> Alright
L2642[22:17:16] <williewillus> do a semantic rewrite, like don't look at the old code just reimplement all the features
L2643[22:17:29] <williewillus> so you don't have to deal with the smelly stuff like that :P I bet there's more things in there
L2644[22:17:33] <williewillus> for which better solutions exist
L2645[22:18:04] <DebugsPeople> Ffs, was looking under use all the time
L2646[22:18:21] <barteks2x> what is NBT type "LIST"?
L2647[22:19:04] <DebugsPeople> NBTTagList
L2648[22:19:05] <DebugsPeople> ?
L2649[22:19:13] <williewillus> NBT lists
L2650[22:19:20] <williewillus> similar idea to json arrays
L2651[22:19:24] <DebugsPeople> Oh
L2652[22:19:25] ⇦ Quits: Lathanael (~Lathanael@p549617E0.dip0.t-ipconnect.de) (Ping timeout: 198 seconds)
L2653[22:20:29] <barteks2x> for some reason idea didn't see any NBTTag classes other than NBTTagCompund
L2654[22:21:32] <williewillus> NBT is actually pretty close to json, it's just a binary format instead
L2655[22:21:43] <DebugsPeople> You could take a look into the gradle dependency
L2656[22:21:56] <Cypher121> iirc, it's almost a complete mirror, except it has more detailed data types
L2657[22:22:00] <williewillus> yeah
L2658[22:22:11] <williewillus> primitives, and intarray
L2659[22:22:52] <Cypher121> json only has int and float, right?
L2660[22:23:19] <Cypher121> no precision/size particulars
L2661[22:23:21] <williewillus> afaik it was just number
L2662[22:23:25] <williewillus> but dont remmber
L2663[22:23:28] <DebugsPeople> williewillus, that method doesn't work for non living entities
L2664[22:23:31] ⇨ Joins: McJty (~jorrit@94-225-203-206.access.telenet.be)
L2665[22:23:45] <williewillus> DebugsPeople: use PlayerInteractEvent then
L2666[22:25:07] ⇨ Joins: Lathanael|Away (~Lathanael@p5496113A.dip0.t-ipconnect.de)
L2667[22:28:14] ⇦ Quits: theFlaxbeard (~theFlaxbe@184.97.248.96) (Ping timeout: 384 seconds)
L2668[22:28:28] *** williewillus is now known as willieaway
L2669[22:28:56] ⇨ Joins: theFlaxbeard (~theFlaxbe@184.97.248.96)
L2670[22:29:12] <DebugsPeople> Hmm
L2671[22:33:41] <DovahOfKiin> Okay so I have an inventory with a custom slot limiting the items that ca n go through it. It works, I can put things in it. that works just fine. But when I get a hopper and place it on the block (the inventory) and place gold ingots (which are allowed in the custom slot) I see the stack size decrease by one in the hopper, but it doesn't actually show in the block. Like the item "was inserted" into the inventory, but I can't see it. Yes, I'm
L2672[22:33:42] <DovahOfKiin> using the iinventory system, I can't understand the capas system for the love of my life
L2673[22:36:18] <DovahOfKiin> Feel free to ask for any of the files
L2674[22:38:01] ⇨ Joins: AndroUser2 (~androirc@174-20-95-124.mpls.qwest.net)
L2675[22:42:14] ⇦ Quits: camelron (webchat@c-73-169-246-101.hsd1.wa.comcast.net) (Ping timeout: 195 seconds)
L2676[22:43:57] <DebugsPeople> willieaway, interactionforentity only works with living entities, the event only does blocks, so does the normal raytrace
L2677[22:44:00] ⇦ Quits: theFlaxbeard (~theFlaxbe@184.97.248.96) (Ping timeout: 198 seconds)
L2678[22:44:20] <DebugsPeople> The only thing that can do it seems to be objectMouseOver
L2679[22:45:06] ⇨ Joins: theFlaxbeard (~theFlaxbe@184.97.248.96)
L2680[22:48:45] ⇦ Quits: PieGuy128 (~PieGuy128@67.68.23.75) (Quit: Leaving)
L2681[22:51:06] *** mDiyo|streaming is now known as mDiyo
L2682[22:51:19] <killjoy> I just bought DOOM. Will I regret it?
L2683[22:51:43] <killjoy> Looks like steam can't download it qq
L2684[22:52:02] <Tazz> XD
L2685[22:52:07] <Cypher121> it's amazing
L2686[22:52:16] <Cypher121> didn't have chance to play it much though
L2687[22:52:26] ⇦ Quits: BillGHero (~null@cpe-76-177-51-62.natcky.res.rr.com) (Quit: Leaving)
L2688[22:54:22] <DovahOfKiin> Any clue at all guys?
L2689[22:55:25] ⇨ Joins: Naiten (Naiten@81.2.63.69)
L2690[23:07:25] <barteks2x> I'm wondering, since I reimplement Chunks, would it be possible to attach custom data to Chunks using capabilities? (I don't understand them right now, so I have no idea if it even makes sense)
L2691[23:08:36] ⇨ Joins: Tatsu (~Tatsu@cpe-76-92-121-172.kc.res.rr.com)
L2692[23:09:23] ⇨ Joins: Delenas (~Delenas@2600:1016:b008:5535:bc54:f73a:a5d1:34c3)
L2693[23:11:06] ⇦ Quits: Naiten (Naiten@81.2.63.69) (Read error: Connection reset by peer)
L2694[23:12:26] <DovahOfKiin> You're not alone barteks2x I don
L2695[23:12:34] <DovahOfKiin> 't get them at all either
L2696[23:12:56] <barteks2x> So far I didn't even try to understand them because I didn't need them
L2697[23:13:22] *** big_Xplosion is now known as big_Xplo|AFK
L2698[23:14:31] <barteks2x> looking at javadoc, I think it would be possible
L2699[23:19:28] <barteks2x> It looks like I would need to make Chunk implement ICapabilitySerializable
L2700[23:20:04] <barteks2x> but still, if forge doesn't do that, it may not be that good idea for reasons I don't know
L2701[23:24:30] ⇦ Quits: theFlaxbeard (~theFlaxbe@184.97.248.96) (Quit: Leaving)
L2702[23:25:19] ⇦ Quits: DebugsPeople (~idkwatiam@89.15.237.195) (Remote host closed the connection)
L2703[23:27:49] <LexDesktop> fuck are you wanting to do ?
L2704[23:28:05] <LexDesktop> Chunk is not a capability provider, not a serializer
L2705[23:29:43] <Tatsu> Your guess is as good as mine...
L2706[23:33:36] <barteks2x> for me it's not exactly a chunk that I want to add data to but Cube (specifically generation state). And I thought it may be good idea to add more general way to attach custom data to chunk/cube.
L2707[23:34:12] <barteks2x> I can't find any reason why not other than that most mods wouldn't need that
L2708[23:36:39] <barteks2x> and that the name "capability" doesn't make much sense for chunks
L2709[23:41:11] <barteks2x> After looking at the capability api a bit more - I agree that it's not a good idea.
L2710[23:42:32] ⇦ Quits: Stiforr (~Stiforr@ip72-216-8-185.pn.at.cox.net) (Read error: Connection reset by peer)
L2711[23:45:28] ⇦ Quits: brandon3055 (~Brandon@122.129.142.1) (Read error: Connection reset by peer)
L2712[23:45:56] ⇨ Joins: Upthorn (~ogmar@75-101-109-24.dsl.dynamic.fusionbroadband.com)
L2713[23:56:27] ⇨ Joins: brandon3055 (~Brandon@122.129.142.1)
L2714[23:56:34] ⇦ Quits: DovahOfKiin (~admin@122.172.91.202) (Quit: Leaving)
<<Prev Next>> Scroll to Top