- Minecraft IRC Logging service - Channel #minecraftforge

If you want your channel logged here, contact KHobbits on #lain @ Esper.
Other channels Current Log Tail Older Stats

[00:00:15] #minecraftforge - Sat Jun 24 00:00:15 2017
[00:00:15] ---
[00:00:24] * Topic is ':Downloads: Documentation: Rules:'
[00:00:24] * Set by LexLap2 on Sun Dec 04 17:30:28
[00:13:20] * amadornes is now known as amadornes[OFF]
[00:15:02] * Everseeking ( has joined #minecraftforge
[00:29:33] * KnightMiner ( Quit (Ping timeout: 200 seconds)
[00:36:17] * cpup (~cpup@ has joined #minecraftforge
[00:38:30] * CoderPuppy (~cpup@ Quit (Ping timeout: 204 seconds)
[00:43:07] * killjoy (~killjoy@2606:a000:1118:8126:284a:f5a3:5e5:76fc) has joined #minecraftforge
[00:44:49] * Santa|afk is now known as SatanicSanta
[00:48:37] * KnightMiner ( has joined #minecraftforge
[00:50:19] * Cast0077 ( Quit (Quit: Poof)
[00:51:37] * CoderPuppy (~cpup@ has joined #minecraftforge
[00:54:19] * Meronat ( Quit (Quit: Connection closed for inactivity)
[00:55:03] * Spottedleaf ( Quit (Killed (NickServ (GHOST command used by Spottedleaf_)))
[00:55:07] * Spottedleaf ( has joined #minecraftforge
[00:55:32] <killjoy> I had this happen today.
[00:56:00] <darkevilmac> With the new registry events being implemented whats the best way to implement ItemBlock registration? I used to just register my block and item in one method but since the registry events for items and blocks are separate I'm not sure how to approach this.
[00:57:38] * cpup (~cpup@ Quit (Ping timeout: 383 seconds)
[00:58:09] <TehNut> Register<Item>
[00:58:49] <killjoy> I've actually been wondering how that event works
[00:59:03] <killjoy> Shouldn't it all be the same type because of type erasure?
[00:59:19] <killjoy> Or do we use the dark powers of asm to get it from the class file?
[00:59:21] <TehNut> Forge added generic events a couple months back
[01:01:03] <killjoy> I mean the internals of it
[01:09:56] <tterrag> erasure doesn't affect method signatures
[01:09:58] <tterrag> not entirely
[01:11:47] * Meronat (uid190493@2604:8300:100:200b:6667:1:2:e81d) has joined #minecraftforge
[01:20:44] * cpup (~cpup@ has joined #minecraftforge
[01:23:44] <darkevilmac> TehNut, I'm aware that the event exists, I'm more wondering how I would go about registering all my itemblocks without having to make individual calls for each one in both the item registration and block registration, but I guess I could just use a List...
[01:24:01] * CoderPuppy (~cpup@ Quit (Ping timeout: 201 seconds)
[01:36:09] * hanetzer ( Quit (Ping timeout: 204 seconds)
[01:36:43] * CoderPuppy (~cpup@ has joined #minecraftforge
[01:38:40] * cpup (~cpup@ Quit (Ping timeout: 204 seconds)
[01:40:35] * AnrDaemon ( Quit (Ping timeout: 204 seconds)
[01:40:58] * Lunatrius` (~Lunatrius@ has joined #minecraftforge
[01:42:53] * Lunatrius (~Lunatrius@ Quit (Ping timeout: 200 seconds)
[01:42:53] * Lunatrius` is now known as Lunatrius
[01:57:54] * cpup (~cpup@ has joined #minecraftforge
[02:00:24] * CoderPuppy (~cpup@ Quit (Ping timeout: 201 seconds)
[02:00:31] * Wastl2_ ( Quit (Read error: Connection reset by peer)
[02:05:50] * Wastl2 ( has joined #minecraftforge
[02:13:30] * TomyLobo (~TomyLobo@2a02:8109:87c0:20c:149a:c318:794:5f) Quit (Ping timeout: 204 seconds)
[02:17:21] * cpup (~cpup@ Quit (Ping timeout: 200 seconds)
[02:17:43] * AshIndigo ( Quit (Ping timeout: 186 seconds)
[02:19:13] <tterrag> could use some input here
[02:23:07] * cpup (~cpup@ has joined #minecraftforge
[02:35:56] * CoderPuppy (~cpup@ has joined #minecraftforge
[02:40:35] * cpup (~cpup@ Quit (Ping timeout: 383 seconds)
[02:52:23] <tterrag> $ labels add 4058 Regression
[02:52:30] <Actuarius> Added labels [Regression] for issue 4058; new labels: [Regression].
[02:53:31] * cpup (~cpup@ has joined #minecraftforge
[02:54:36] * bilde2910 ( Quit (Ping timeout: 383 seconds)
[02:55:12] * bilde2910 ( has joined #minecraftforge
[02:55:56] * CoderPuppy (~cpup@ Quit (Ping timeout: 204 seconds)
[03:06:47] * Lathanael|Away ( Quit (Ping timeout: 186 seconds)
[03:12:53] * Lathanael|Away ( has joined #minecraftforge
[03:14:11] * cpup (~cpup@ Quit (Ping timeout: 200 seconds)
[03:19:10] * McJty ( has joined #minecraftforge
[03:19:45] * cpup (~cpup@ has joined #minecraftforge
[03:23:38] * hanetzer ( has joined #minecraftforge
[03:25:18] * brandon3055 ( has joined #minecraftforge
[03:26:07] * sinkillerj ( Quit (Ping timeout: 201 seconds)
[03:26:47] * brandon3055 ( Quit (Read error: Connection reset by peer)
[03:27:37] <@LexMobile> Really not worth caring about
[03:27:45] <@LexMobile> the sorting of vanilla shit is arbitrary
[03:28:52] * brandon3055 ( has joined #minecraftforge
[03:30:49] * CoderPuppy (~cpup@ has joined #minecraftforge
[03:33:15] <tterrag> it's not arbitrary it's been the same for years
[03:33:25] <tterrag> you don't think that forge suddenly messing with the order is bad?
[03:33:28] * BlueMonster ( Quit (Quit: Connection closed for inactivity)
[03:34:20] <@LexMobile> just because something is old doesnt mean its not arbitrary
[03:35:12] * cpup (~cpup@ Quit (Ping timeout: 383 seconds)
[03:35:15] <tterrag> isn't forge all about being transparent? not changing behavior of vanilla mechanics?
[03:35:29] <@LexMobile> yes but i also dont really care about this.
[03:35:46] <@LexMobile> It can be sorted but then I would feel obligated to add a option to sort iot how it SHOULD be worted
[03:35:50] <@LexMobile> but then thatd be adding features
[03:36:00] <tterrag> so just make it sorted by ID
[03:36:15] <tterrag> then you avoid the thousands of complaints you will get about this
[03:36:19] <tterrag> and don't change vanilla mechanics
[03:36:24] <tterrag> *shrug*
[03:36:28] <@LexMobile> pr it
[03:36:48] <tterrag> I would, but as I noted on the issue I can't find a good impl that doesn't involve copying and sorting the entire registry every time
[03:36:59] <@LexMobile> btw your fix is crap, sorting every time is costly as shit
[03:37:03] <tterrag> the registry should expose a sorted iterator
[03:37:06] <tterrag> THAT'S WHAT I SAID
[03:37:23] <@LexMobile> just made the backing map sorted
[03:37:31] <tterrag> there are no sorted BiMap impls
[03:37:43] <@LexMobile> it can be made
[03:38:07] <tterrag> not really. what would that mean? sorted by key? what then if it's inverted?
[03:38:30] <@LexMobile> sorted by id
[03:38:35] <tterrag> why not make an iterator that just returns ids.entrySet().stream().sorted(...).iterator()
[03:38:46] <@LexMobile> and i like how you quoted the stackoverflow page like it was your idea
[03:38:58] <@LexMobile> because thats costly as all shit
[03:39:15] <@LexMobile> you're itterating and sorting the shit every time a iterator is done
[03:39:20] <@LexMobile> make a baked function
[03:40:07] <@LexMobile> could also just make the itterator based off the accessible bitmap
[03:40:11] <@LexMobile> pretty sure thats sorted, or could be
[03:41:27] <tterrag> bitmap?
[03:42:03] <tterrag> the availabilityMap ?
[03:42:32] <@LexMobile> bitset yes
[03:43:19] <tterrag> I don't really see how that helps with sorting
[03:43:35] <@LexMobile> its a fucking bitset, its inherantly ordered by the ids
[03:43:39] <@LexMobile> which is what you want
[03:43:51] <@LexMobile> make a itterator that loops over that and grabs any valid entries
[03:44:01] <@LexMobile> it wouldnt be costly it'd be lazy checked by the next method
[03:44:19] <@LexMobile> cache the current value and the next one so you can make hasNext == next!=null
[03:47:32] <tterrag> yeah
[03:49:10] * cpup (~cpup@ has joined #minecraftforge
[03:49:15] <tterrag> yes, that seems to work
[03:49:59] <@LexMobile> nope
[03:50:06] <@LexMobile> that isnt null safe
[03:50:19] <tterrag> when could it return null if the bit is set?
[03:50:23] <tterrag> is that possible?
[03:50:26] <@LexMobile> yes
[03:50:42] <tterrag> so an ID can be unavailable and still mapped to null?
[03:50:43] <tterrag> huh, ok
[03:52:21] <tterrag> I'm still a bit confused, you seem to be saying that the hasNext condition is if the next value is not null, but couldn't that happen in the middle of the iteration? not only at the end?
[03:53:10] <@LexMobile> yes you must skip the nulls in the middle
[03:55:01] * CoderPuppy (~cpup@ Quit (Ping timeout: 383 seconds)
[03:56:29] <tterrag> that'll do it then
[03:57:04] <@LexMobile> Except for when the first set bit is null
[03:57:10] <@LexMobile> but closer
[03:57:28] <tterrag> why wouldn't that...ah
[03:57:53] <tterrag> could just do V next = next() :P
[03:58:02] <tterrag> nah
[03:58:03] <@LexMobile> Now you're getting it ;)
[03:58:46] <tterrag> oh actually that does work. it froze my client when I tried to hotswap it but I guess that was just eclipse
[03:59:11] <tterrag> cool and it corrupted my test world...
[03:59:21] <@LexMobile> awesome!
[03:59:46] <tterrag> some weird crash in the parrot-on-shoulder code
[03:59:47] <tterrag> NPE
[03:59:52] <@LexMobile> not exactly sure how you did that but whatever
[04:00:00] <tterrag> wait what
[04:00:04] <tterrag> no this crash is repeatable wtf
[04:00:12] <tterrag> I changed the iterator and now it's crashing in EntityPlayer
[04:00:46] <tterrag> huh...apparently vanilla does not expect a null return there
[04:00:57] <tterrag> EntityPlayer#589
[04:01:10] <tterrag> not that it is going on
[04:01:28] <tterrag> oh duh
[04:05:47] <tterrag> final draft, lol
[04:05:49] <tterrag>
[04:06:21] <@LexMobile> close, but you can do better ;P
[04:06:41] <@LexMobile> You wer eliterally 1 line off of the previous one
[04:08:17] <@LexMobile> well actually, 3 lines because of syntax but ya
[04:08:26] <tterrag> changing it to V next = next(); doesn't work because ret will always be null
[04:08:48] <@LexMobile> Then dont have it V next = next();
[04:08:53] <@LexMobile> have it V next = null;
[04:09:18] <tterrag> then hasNext() won't be true at the start
[04:09:28] <@LexMobile> how would you make it true?
[04:10:10] <@LexMobile> Hint: If only there was a way of calling a function, and NOT using its return value.
[04:10:17] * cpup (~cpup@ Quit (Ping timeout: 200 seconds)
[04:11:01] <hanetzer> void?
[04:11:05] <tterrag> {next();}
[04:11:06] <tterrag> ;P
[04:14:42] <tterrag> I do wish trove/fastutil had a bimap for ints
[04:14:46] <tterrag> that would make this that much faster
[04:15:00] <@LexMobile> yes it would be nice
[04:15:01] * cpup (~cpup@ has joined #minecraftforge
[04:15:02] <@LexMobile> but it doesnt :/
[04:15:16] <@LexMobile> I *could* make some but honestly its annoying as shit.
[04:15:27] <tterrag> yeah I don't blame you
[04:15:27] <hanetzer> could you pr trove/fastutil and get it in upstream?
[04:15:38] <tterrag> I don't think it's that much of a hotspot to worry about unboxing issues
[04:15:49] <tterrag> in the iterator I don't think anything is being boxed/unboxed so it's alright
[04:16:03] <tterrag> oh yeah, there's one box
[04:16:11] <tterrag>                 next = ids.get(cur); <- cur is boxed
[04:16:18] <@LexMobile> boxing really isnt that big of a deal
[04:16:53] <tterrag> not on small scales, but on large ones it can be a major concern. and with registries being thousands of items being iterated over a might be worth it. maybe
[04:16:58] <@LexMobile> but i really would love to see primitive generics, :/ its on of the todos
[04:17:04] <tterrag> Valhalla, right?
[04:17:25] <@LexMobile> mm, registries shouldnt be iterated a lot..
[04:18:13] <tterrag> hm...vanilla used to refresh the creative inv list constantly, now it only does it on gui init
[04:18:15] <tterrag> so not that often I guess
[04:19:12] <@LexMobile> Side note, There are a lot of Marvel movies:P
[04:19:19] <tterrag> yes...yes there are
[04:19:34] <tterrag> not to mention the TV series
[04:19:59] <@LexMobile> so many series...
[04:20:23] <hanetzer> LexMobile: yeah, but users also shouldn't be idiots.
[04:20:49] <killjoy> I think primitive generics was propsed for j9, but didn't get accepted
[04:20:50] <@LexMobile> Asking that is just impossible
[04:20:55] <illy> haha users will always break shit now matter how simple you try to make it
[04:20:57] <@LexMobile> We dont target users, we target modders
[04:22:05] <illy> evening o/
[04:23:33] <killjoy> can confirm. I dont use, just dev
[04:24:13] <tterrag> I play occasionally :P
[04:24:43] <hanetzer> killjoy: aint you the liteloader person?
[04:24:52] * killjoy scurries away1
[04:25:01] <killjoy> whoop whoop whoop whoop
[04:25:05] * CoderPuppy (~cpup@ has joined #minecraftforge
[04:25:23] <hanetzer> tterrag: btw, how goes your stuffs? dunno if you recall me, but I've tinkered with you before :P
[04:25:32] * hanetzer wipes killjoy's ink off his face
[04:25:46] <tterrag> my stuffs? which stuffs? I have a lot of stuffs :P
[04:25:56] <tterrag> also, sorry, can't say I remember. I talk to a lot of people in a lot of places...
[04:25:56] <kashike> you know, the stuffs
[04:26:42] <hanetzer> tterrag: dunno, I forget which mods you did. I think I recall one that added other wood type items to vanilla that didn't exist back in 1.7.*
[04:27:30] <hanetzer> tterrag: eg non-oak fences
[04:28:08] <tterrag> hm...don't think that was me :P
[04:28:39] <hanetzer> tterrag: huh. anywho, my old nick was netz :P
[04:28:57] <tterrag> ahh right
[04:28:59] <tterrag> of course
[04:29:25] <killjoy> Well, I've got a jingle stuck in my head
[04:29:49] * cpup (~cpup@ Quit (Ping timeout: 383 seconds)
[04:29:51] <kashike> jungle bells
[04:29:54] <kashike> jingle bells*
[04:30:00] <killjoy> it's for 919-fix-my-ac
[04:30:06] <kashike> for.. what?
[04:30:22] <hanetzer> kashike: 2300 empire :P
[04:30:24] <killjoy> ac repair radio ad
[04:30:34] <kashike> killjoy:
[04:30:35] <hanetzer> the only way to fight a jingle is with another jingle
[04:30:37] <kashike> let me help you
[04:30:38] <killjoy> 01189998819991197253
[04:30:48] <killjoy> Thank1
[04:34:19] <hanetzer> tterrag: I've recently switched to gentoo from arch. my neckbeard increases. soon I'll grow a fedora and switch to bsd
[04:37:12] <killjoy> If only AbrarSyed was here
[04:37:40] <killjoy> Last I heard, he's a huge arch fanboy
[04:38:43] <hanetzer> killjoy: yeah. I'm not sure it was my fault, but I did talk with him about it a lot back in the gap :P
[04:39:25] <hanetzer> there was another guy that used arch, forget the name offhand.
[04:39:34] <killjoy> cpw ?
[04:39:55] <killjoy> (not pinging you, sry)
[04:40:09] <illy> I've tried to run gentoo but after a month I went back to arch because I got tired of waiting to compile the damned kernel
[04:40:16] <hanetzer> killjoy: don't think so.
[04:40:46] <hanetzer> illy: kernel compile only takes a small amount of time if you don't use every module.
[04:40:50] <illy> cp_w run Debian unstable
[04:41:01] <killjoy> it's still linux
[04:41:02] <illy> runs*
[04:41:52] <illy> I don't want to compile all the things
[04:42:22] <hanetzer> illy: honestly the worst offenders are web browsers and the toolchain itself.
[04:42:34] <hanetzer> kernel is small time relative to firefox/etc
[04:42:56] <illy> compiling firefox is hell
[04:43:19] <killjoy> Firefox? Chrome requires 12GB of ram
[04:43:23] <killjoy> I think
[04:43:25] <hanetzer> illy: on my new machine (ryzen 1700 based) it takes me 5h to compile literally everything :P
[04:43:44] * cpup (~cpup@ has joined #minecraftforge
[04:44:05] <illy> I want thread ripper to see how fast it will compile everything on gentoo :P
[04:44:19] <illy> and VMs
[04:44:28] <illy> all my VMs
[04:44:30] <hanetzer> threadripper sounds soo nice, but I can't afford it.
[04:44:44] <illy> We don't know its price yet
[04:45:06] <hanetzer> I could barely afford the 1700 :P
[04:45:30] * CoderPuppy (~cpup@ Quit (Ping timeout: 204 seconds)
[04:45:38] <illy> AMD is trying to undercut intel so I don't think it will be intel price
[04:45:42] <hanetzer> current build is $1,100 in components, stretched out over a month :P
[04:46:12] <kashike> what's your build?
[04:47:30] <illy> this is the beginnings of my new case
[04:47:32] <hanetzer> asrock x370 killer sli/ac, 64gb ddr4 3000mhz, sapphire rx480 8gb, ryzen 1700, hdd I had on hand (wd something, 1tb)
[04:47:45] <tterrag> LexMobile: what do you mean "in the constructor" ? it's an anon object, that's the only way to run code on init
[04:48:11] <hanetzer> kashike: forget the exact psu, but its 650w modular and a coolermaster masterbox 5
[04:48:24] <kashike> nice :o
[04:48:36] <kashike> this is what I'm running:
[04:48:39] <@LexMobile> rught,,,
[04:49:20] <tterrag> I mean, I could make it a nested class, but really this is semantically identical
[04:49:23] <hanetzer> kashike: I'm not counting my monitors/keyboard/mice into it. I have three monitors tho, and my keyboard is an ergodox infinity.
[04:49:33] <@LexMobile> right im a moron
[04:49:33] <tterrag> it executes in the oreder it's written
[04:49:37] <@LexMobile> dirty dirty
[04:49:40] <tterrag> we all have our moments ;)
[04:49:46] <@LexMobile> i blame the heat
[04:49:52] <tterrag> I blame java
[04:49:57] <tterrag> it's a weird limitation :P
[04:50:01] <hanetzer> if I count literally everything in use with this tower its prolly a fair amount over $2k
[04:50:04] <@LexMobile> got to like 96 today
[04:50:08] <illy> well cold java is horrible :P
[04:50:13] * illy runs
[04:50:13] <hanetzer> LexMobile: where you at?
[04:50:15] <tterrag> ouch
[04:50:26] <tterrag> I live on an island so it's automatically 10 degrees cooler
[04:50:26] <tterrag> is nice
[04:50:38] <@LexMobile> fuck you
[04:50:40] * hanetzer lives on the texas coast :)
[04:50:43] <tterrag> :D
[04:51:01] <tterrag> I'm also on the east coast
[04:51:01] <kashike> it was 27 here today
[04:51:06] <kashike> that's... 80.6defG
[04:51:09] <kashike> degF*
[04:51:11] <hanetzer> LexMobile: lol. that's what you told me when I said I'm like 120lbs and eat like a slob
[04:51:17] <killjoy> Nobody's in Arizona, are they?
[04:51:26] <hanetzer> killjoy: nah. they all died of heat.
[04:51:28] <illy> I wanted to move to kelleys island but the winters scared me away
[04:51:39] <illy> I hate the cold more than the heat
[04:51:42] <killjoy> We should put the scooby gang on the case of that heat
[04:51:52] <killjoy> maybe they'll find out it was old man jenkins all along
[04:52:08] <illy> nah it was hudson
[04:52:20] <hanetzer> haha nerd
[04:53:43] * hanetzer really has no room to talk because when you said hudson he started thinking you meant the amd platform
[05:01:52] * CoderPuppy (~cpup@ has joined #minecraftforge
[05:04:58] * MoxieGrrl ( Quit (Read error: Connection reset by peer)
[05:05:08] * cpup (~cpup@ Quit (Ping timeout: 204 seconds)
[05:13:37] * airbreather_ ( has joined #minecraftforge
[05:15:03] * Clank is now known as Clank[Away]
[05:15:17] * airbreather ( Quit (Ping timeout: 204 seconds)
[05:22:15] * CoderPuppy (~cpup@ Quit (Ping timeout: 186 seconds)
[05:24:19] * Meronat (uid190493@2604:8300:100:200b:6667:1:2:e81d) Quit (Quit: Connection closed for inactivity)
[05:27:38] * Brokkoli ( Quit (Quit: Die Sprache der Politik ist dafür gemacht, dass Lügen wahr klingen und das Töten angemessen wirkt. (George Orwell))
[05:28:07] * cpup (~cpup@ has joined #minecraftforge
[05:30:49] * KnightMiner_ ( has joined #minecraftforge
[05:30:57] * KnightMiner ( Quit (Ping timeout: 200 seconds)
[05:32:54] * TTFTCUTS is now known as TTFT|Away
[05:33:00] * KnightMiner_ ( Quit (Client Quit)
[05:37:23] * CoderPuppy (~cpup@ has joined #minecraftforge
[05:39:59] * cpup (~cpup@ Quit (Ping timeout: 204 seconds)
[05:51:15] <tterrag> how are we meant to register itemblocks that are tied to blocks?
[05:51:19] <tterrag> in the new system
[05:52:41] * bilde2910 ( Quit (Remote host closed the connection)
[05:56:35] * cpup (~cpup@ has joined #minecraftforge
[05:57:49] * CoderPuppy (~cpup@ Quit (Ping timeout: 201 seconds)
[06:00:31] * bilde2910 ( has joined #minecraftforge
[06:10:53] * starg09 (~starg09@ Quit (Quit: Leaving)
[06:13:29] <@LexMobile> register event
[06:14:30] <tterrag> yeah do I reference a block during the item register?
[06:14:52] <tterrag> I have some code that just registers an itemblock automatically for a block, it's not easily separable
[06:14:58] <tterrag> I don't keep hard references to the block objects
[06:15:35] * killjoy (~killjoy@2606:a000:1118:8126:284a:f5a3:5e5:76fc) Quit (Ping timeout: 186 seconds)
[06:16:25] * cpup (~cpup@ Quit (Ping timeout: 200 seconds)
[06:20:46] * cpup (~cpup@ has joined #minecraftforge
[06:21:00] <@LexMobile> illy: we will not be switching to typesafe
[06:21:27] <@LexMobile> long story short ive already looked into it, the answer is no
[06:32:35] * Umbraco ( has joined #minecraftforge
[06:32:38] * CoderPuppy (~cpup@ has joined #minecraftforge
[06:37:25] * cpup (~cpup@ Quit (Ping timeout: 383 seconds)
[06:37:33] * Rokiyo (~Rokiyo@ Quit ()
[06:45:12] * quadraxis ( Quit (Ping timeout: 204 seconds)
[06:45:18] * Ipsis ( has joined #minecraftforge
[06:45:56] * SatanicSanta is now known as Santa|afk
[06:46:25] * Noppes ( has joined #minecraftforge
[06:46:31] * Hgreb ( Quit (Ping timeout: 186 seconds)
[06:49:04] * cpup (~cpup@ has joined #minecraftforge
[06:51:28] * CoderPuppy (~cpup@ Quit (Ping timeout: 201 seconds)
[06:58:28] * brandon3055 ( Quit (Read error: Connection reset by peer)
[07:00:03] <MCPBot_Reborn> [TEST CSV] Pushing snapshot_20170624 mappings to Forge Maven.
[07:00:07] <MCPBot_Reborn> [TEST CSV] Maven upload successful for (mappings = "snapshot_20170624" in build.gradle).
[07:00:17] <MCPBot_Reborn> Semi-live (every 10 min), Snapshot (daily ~3:00 EST), and Stable (committed) MCPBot mapping exports can be found here:
[07:09:21] * Davnit ( Quit (Ping timeout: 201 seconds)
[07:09:35] * cpup (~cpup@ Quit (Ping timeout: 200 seconds)
[07:15:20] * cpup (~cpup@ has joined #minecraftforge
[07:24:33] <kashike> oh no
[07:24:40] <kashike> bacon broke his foot/leg ;_;
[07:24:52] * CoderPuppy (~cpup@ has joined #minecraftforge
[07:27:00] * cpup (~cpup@ Quit (Ping timeout: 204 seconds)
[07:28:57] <@LexMobile> Ya saw that, pretty shitty.
[07:29:31] * McJty ( Quit (Quit: Leaving)
[07:32:09] * Everseeking ( Quit (Quit: Big Gulps, huh? Alright... Welp, see ya later)
[07:34:05] * ghz|afk ( Quit (Remote host closed the connection)
[07:38:51] <hanetzer> ouch.
[07:40:44] * Larry1123 ( Quit (Ping timeout: 383 seconds)
[07:43:16] * Uristqwerty ( Quit (Ping timeout: 201 seconds)
[07:43:25] * Hunterz (~hunterz@ has joined #minecraftforge
[07:44:23] * cpup (~cpup@ has joined #minecraftforge
[07:46:21] * CoderPuppy (~cpup@ Quit (Ping timeout: 201 seconds)
[07:48:46] * Grist (~Grist@ Quit (Quit: Leaving)
[07:49:40] * gigaherz ( has joined #minecraftforge
[07:57:11] * Hgreb ( has joined #minecraftforge
[08:00:30] * TomyLobo (~TomyLobo@2a02:8109:87c0:20c:85bb:c6d4:412d:8779) has joined #minecraftforge
[08:00:43] * CoderPuppy (~cpup@ has joined #minecraftforge
[08:01:50] * cpup (~cpup@ Quit (Ping timeout: 204 seconds)
[08:13:25] * Larry1123 ( has joined #minecraftforge
[08:20:15] * cpup (~cpup@ has joined #minecraftforge
[08:22:45] * CoderPuppy (~cpup@ Quit (Ping timeout: 204 seconds)
[08:32:54] * CoderPuppy (~cpup@ has joined #minecraftforge
[08:34:46] * cpup (~cpup@ Quit (Ping timeout: 204 seconds)
[08:41:23] * Noppes ( Quit (Read error: Connection reset by peer)
[08:54:50] * AshIndigo ( has joined #minecraftforge
[08:57:23] * CoderPuppy (~cpup@ Quit (Ping timeout: 200 seconds)
[09:03:07] * cpup (~cpup@ has joined #minecraftforge
[09:06:16] * CoderPuppy (~cpup@ has joined #minecraftforge
[09:10:38] * cpup (~cpup@ Quit (Ping timeout: 383 seconds)
[09:18:18] * amadornes[OFF] is now known as amadornes
[09:26:13] * h5h77 (~h5h77@2a02:8108:4b40:907:922b:34ff:feae:b38b) has joined #minecraftforge
[09:26:52] * Larry1123 ( Quit (Ping timeout: 201 seconds)
[09:27:03] * Umbraco ( Quit (Ping timeout: 186 seconds)
[09:34:13] <TechnicianLP> i like how intellij tells me that the cast to T is unchecked ...
[09:40:37] * ScottehBoeh (~ScottehBo@ has joined #minecraftforge
[09:44:27] * AnrDaemon ( has joined #minecraftforge
[09:55:22] <gigaherz> TechnicianLP: because it is -- so far as strict typing rules go
[09:59:31] * Meronat ( has joined #minecraftforge
[10:02:33] <ScottehBoeh> How can I stop the outline of the block I'm looking at render?
[10:02:36] <ScottehBoeh> Is there an event I can cancel out?
[10:03:05] * Larry1123 ( has joined #minecraftforge
[10:09:34] <Ordinastie> !gm func_175018_a
[10:26:41] * Larry1123 ( Quit (Ping timeout: 201 seconds)
[10:36:40] * Javaschreiber ( has joined #minecraftforge
[10:37:43] * mindforger ( has joined #minecraftforge
[10:45:09] * mezz (~mezz@ Quit (Read error: Connection reset by peer)
[10:48:11] * Larry1123 ( has joined #minecraftforge
[10:51:58] * Larry1123 ( Quit (Ping timeout: 201 seconds)
[10:52:38] * mezz (~mezz@ has joined #minecraftforge
[10:52:38] * MineBot sets mode: +v mezz
[10:53:18] * Rokiyo ( has joined #minecraftforge
[10:53:43] * Javaschreiber ( Quit (Quit: Javaschreiber)
[11:00:13] <gigaherz> oooh nice
[11:00:24] <gigaherz> it's not Mending, but this villager has Sharpness IV and Depth Strider III
[11:00:32] <gigaherz> first librarian I find ;p
[11:00:37] <gigaherz> (vanilla save)
[11:11:10] <gigaherz> hmmm
[11:11:14] <gigaherz> the regsitry rewrite
[11:11:22] <gigaherz> does it break binary compatibility for existing mods?
[11:13:09] <masa> ScottehBoeh: DrawBlockHighlightEvent ?
[11:13:42] <gigaherz> and when it says don't use vanilla registries, it means to use ForgeRegsitries.BLOCKS (or whatever it's called now, if it's not still there) and never Block.REGISTRY ?
[11:16:28] <TechnicianLP> as far as i understood it - yes
[11:27:41] * Larry1123 ( has joined #minecraftforge
[11:31:31] * PaleOff is now known as PaleoCrafter
[11:40:20] * Larry1123 ( Quit (Ping timeout: 204 seconds)
[11:49:57] * Cast0077 ( has joined #minecraftforge
[11:52:49] * MonkeyTyrant ( has joined #minecraftforge
[11:53:25] * Javaschreiber ( has joined #minecraftforge
[11:54:53] * Larry1123 ( has joined #minecraftforge
[12:00:07] * Rokiyo ( Quit ()
[12:01:05] * Rokiyo ( has joined #minecraftforge
[12:02:52] * mindforger ( Quit (Quit: Leaving)
[12:04:03] <masa> hmm, what does it mean of the changelog about "Tile Entities are now registrable."?
[12:04:19] <masa> they do not extend IForgeRegistryEntry.Impl though
[12:04:49] <TechnicianLP> iirc Gameregistry.registerTe threw a excpetion
[12:04:57] <masa> so I can't use the registry event to register them like items, blocks, soundevents etc
[12:05:09] <masa> oh
[12:05:15] <TechnicianLP> register them in the block one
[12:05:21] <TechnicianLP> (alongside your blocks)
[12:06:30] <masa> hmm right is this because we register the class of TEs, but instances of other things?
[12:06:49] <masa> the difference in registration I mean
[12:06:55] <TechnicianLP> yes
[12:07:03] <TechnicianLP> lex explained it in his pr
[12:07:03] <masa> ok
[12:07:11] <masa> oh
[12:07:16] <masa> must have missed that
[12:09:56] * Umbraco ( has joined #minecraftforge
[12:11:33] <gigaherz> [14:05] (TechnicianLP): register them in the block one
[12:11:33] <gigaherz> [14:05] (TechnicianLP): (alongside your blocks)
[12:11:41] <gigaherz> is that the preferred place?
[12:11:48] <gigaherz> I have always registered them in my preInit so far
[12:12:05] * MonkeyTyrant ( Quit (Quit: Leaving)
[12:12:53] <+PaleoCrafter> it is, gigaherz
[12:12:58] <TechnicianLP>
[12:13:17] <+PaleoCrafter> although it technically doesn't matter, since the TE registration is only required for loading and saving TEs
[12:13:25] <gigaherz> right
[12:13:58] <gigaherz> and registering just put the value into a name<->class map
[12:14:07] <gigaherz> puts*
[12:14:16] <TechnicianLP> baically yes
[12:14:51] <gigaherz> I find it annoying how TEs are basically separate things and not really bound to the block
[12:15:10] * Larry1123 ( Quit (Ping timeout: 204 seconds)
[12:15:42] <+PaleoCrafter> btw, since you guys said that Shadow of Mordor was so cheap on Steam right now. It's still cheaper to get it on the HumbleBundle store with all the DLC ^^
[12:16:01] <gigaherz> heh
[12:16:14] <gigaherz> I had the original game (not even the GOTY edition)
[12:16:14] <TechnicianLP> does it support linux?
[12:16:19] <gigaherz> but I got bored of it after like one hour
[12:16:33] <gigaherz> because a pack of orcs kept killing me over and over
[12:16:39] <gigaherz> and they got stronger every time
[12:19:36] <+PaleoCrafter> Heh
[12:20:05] <+PaleoCrafter> Yeah, on my first playthrough, I had a similar experience, picked it up again in anticipation of the new one coming out this fall and actually enjoyed it
[12:20:31] <+PaleoCrafter> Although I still can't play it for more than 2 hours in a row, it's just too repetitive after some time
[12:27:11] <+PaleoCrafter> Welp, looks like something in the overrides system is broken :D
[12:27:17] * Larry1123 ( has joined #minecraftforge
[12:41:10] <masa> is there no way anymore to query whether a registry entry is a dummy or not? ForgeRegistry.isDummied() is package private
[12:41:59] <masa> previously I was able to use GameData.getBlockRegistry().isDummied(rl)
[12:42:47] * Javaschreiber ( Quit (Quit: Javaschreiber)
[12:44:17] <TechnicianLP> what is a dummy?
[12:44:27] <TechnicianLP> (in context of registry)
[12:46:53] <masa> for example a block was removed rom a mod, or the entire mod was removed. the blocks previously registered by the mod are still in the block registry, but replaced by forge-added dummy air blocks
[12:47:56] <masa> I was using that information in two places: in the TellMe mod to print a column "exists" to the block and item registry dumps, and in the World Utils mod in the "replace-all-removed-blocks" block replace command
[12:51:05] <Aroma1997> umm
[12:51:23] <Aroma1997> does anyone know where and when the new registry events are fired?
[12:51:30] <Aroma1997> I can't seem to catch them anywhere
[12:51:47] <TechnicianLP> after preinit iirc
[12:51:56] <Aroma1997> and where?
[12:52:04] <Aroma1997> on MinecraftForge.EVENT_BUS?
[12:52:35] <gigaherz> yes
[12:52:38] <gigaherz> actually
[12:52:47] <gigaherz> the registry rewrite just landed earlier
[12:52:53] <gigaherz> registry events are not right after preinit
[12:52:58] <gigaherz> iirc
[12:53:01] <gigaherz> now*
[12:53:09] <gigaherz> oh wait TechnicianLP did say after
[12:53:12] <gigaherz> I read before for some reason
[12:53:25] <gigaherz> maybe because I was thinking "before" while reading
[12:54:26] <Aroma1997> I can't seem to catch it
[12:54:38] <gigaherz> hmm
[12:54:50] <+PaleoCrafter> use @EventBusSubscriber, it's the recommended way of subscribing to the bus for these events
[12:55:17] <+PaleoCrafter> considering they could technically fire before mods event get a chance to register to the bus
[12:55:29] <Aroma1997> Tried this:
[12:55:29] <gigaherz> working example:
[12:55:30] <gigaherz>
[12:55:41] <Aroma1997> Nothing gets printed except for the Dirt Block >> stuff
[12:56:08] <gigaherz> you cna't have a catch-all event
[12:56:14] <gigaherz> you must have an explicit generic parameter
[12:56:14] <Aroma1997> ah
[12:56:18] <Aroma1997> that would explain it
[12:56:23] <gigaherz> RegistryEvent.Register<What>
[12:56:26] <Aroma1997> really?
[12:56:30] <gigaherz> yup
[12:56:37] <gigaherz> the generic events do not support variance
[12:56:41] <Aroma1997> that's some really nice garbage right there
[12:56:43] <gigaherz> if you write <Block> it only fires for blocks
[12:56:53] <gigaherz> otherwise it would create a giant mess in the event bus
[12:57:09] <Aroma1997> Aren't generics gone during runtime?
[12:57:21] <TechnicianLP> checking for super/subtypes would slow down the eventbus even more
[12:57:25] <gigaherz> yes but only for the exact generic parameter
[12:57:37] <gigaherz> in order to allow an event to fire for a superclass or a more generic event
[12:57:47] <gigaherz> it would have to explicitly iterate through the type hierarchy
[12:57:55] <gigaherz> and the event bus must be kept as fast as possible
[12:58:01] <gigaherz> so it was chosen not to do that
[12:58:12] <+PaleoCrafter> there is some generic metadata preserved, why do you think we get to see Mojang's generics nowadays?
[12:58:30] <gigaherz> oh it says "gone"
[12:58:32] <gigaherz> it seems I can't read
[12:58:34] <gigaherz> i'll stfu ;P
[12:59:01] <gigaherz> the metadata exists
[12:59:04] <Aroma1997> I managed to get it working
[12:59:05] <gigaherz> but isn't used by the JVM
[12:59:16] <Aroma1997> instead of using Register<?> I just use Register
[12:59:23] <Aroma1997> therefore I bypass the generic check
[12:59:27] <Aroma1997> yes I know, it's bad
[12:59:30] <Aroma1997> but hey, it works
[12:59:31] <+PaleoCrafter> please don't...
[12:59:31] <gigaherz> but
[12:59:34] <gigaherz> then you can't register things in it
[12:59:38] <gigaherz> the whole point of the events
[12:59:40] <gigaherz> is that you can do
[12:59:45] <gigaherz> event.getRegistry().regsiter(thing)
[12:59:47] <gigaherz> or
[12:59:53] <gigaherz> event.getRegistry().regsiterAll(thing1, thing2, ...)
[13:00:10] <gigaherz> and forge ensures that the events for each thing are fired in the right order
[13:00:18] <gigaherz> meaning blocks before items, items before everything else
[13:00:37] <gigaherz> so you really should have separate methods for each registrable object
[13:01:04] * sokratis12GR (kiwiirc@ has joined #minecraftforge
[13:02:34] <Aroma1997> I need to listen to all events thouzgh to not need to write dozens of one-liner-methods
[13:03:19] <gigaherz> wait you are not using the events to register things?
[13:04:47] <Aroma1997> I mainly automatically detect, what needs to be registered and then register it in the event
[13:05:19] <Aroma1997> so no, I'm not using that event stuff
[13:06:39] * flappy ( Quit (Quit: /0)
[13:07:44] * Brokkoli ( has joined #minecraftforge
[13:08:04] <illy> LexMobile:  thats what I thought, I was just trying to get my point across in the PR
[13:12:20] <+PaleoCrafter> hm... okay, looks like overrides are really completely broken. Actually got a new world to *load* in my real mod, but it crashed when actually obtaining an overridden item. Can't even create a new world in a quick test mod with overrides.
[13:13:16] * airbreather_ is now known as airbreather
[13:13:30] * airbreather ( Quit (Quit: Leaving)
[13:13:45] * airbreather ( has joined #minecraftforge
[13:17:09] <ScottehBoeh> can I use EntityInteractEvent to have my player pick up items by right clicking them?
[13:17:31] <ScottehBoeh> Actually that doesn't appear to be working..
[13:19:44] <+PaleoCrafter> Yeah, ScottehBoeh, you probably have to do your own ray tracing
[13:20:31] * bilde2910 ( Quit (Ping timeout: 383 seconds)
[13:21:16] * bilde2910 ( has joined #minecraftforge
[13:22:13] <ScottehBoeh> I could make a new EntityItem that has an actual bounding box
[13:22:29] <+PaleoCrafter> EntityItem does have a bounding box, try F3+B
[13:22:37] <ScottehBoeh> oh? O.o
[13:23:27] <TechnicianLP> its probably excluded from raytrace though ..
[13:25:07] * UnRealDinnerbone (~UnReal-Di@2601:240:4601:4b90:97c:6371:15e0:e932) Quit (Read error: Connection reset by peer)
[13:25:15] * UnRealDinnerbone (~UnReal-Di@2601:240:4601:4b90:97c:6371:15e0:e932) has joined #minecraftforge
[13:25:46] <ScottehBoeh> Hmm.. strange
[13:27:18] <+PaleoCrafter> yeah, canBeCollidedWith is the criterion for "can be ray traced" and that's false for pretty much everything, including items
[13:27:44] <ScottehBoeh> alright I'll fix that
[13:28:09] <+PaleoCrafter> this is entity ray tracing with custom filtering support
[13:33:42] * afdw (~afdw@ Quit (Ping timeout: 204 seconds)
[13:34:49] <ScottehBoeh> Trying to find the most efficient way around
[13:36:14] <+PaleoCrafter> Well, this probably is the most efficient :P
[13:36:32] <+PaleoCrafter> overriding canBeCollidedWith and replacing spawned items could cause unexpected issues
[13:38:16] <ScottehBoeh> Yeah I tried creating an Entity that extends EntityItem (and overrides canBeCollidedWith)
[13:38:23] <ScottehBoeh> What event should I use? Item drop?
[13:38:56] <ScottehBoeh> Thats not an event.. I'm an idiot
[13:39:13] <ScottehBoeh> Ah found it actually.
[13:39:44] <illy> People can get really passive aggressive in PRs...
[13:40:06] <+PaleoCrafter> you're not talking about KL in the Scala one, are you? :P
[13:40:48] <illy> n.. no
[13:41:03] <illy> :P
[13:42:29] <+PaleoCrafter> Welp... I should probably get back to my static access PR
[13:44:06] <+PaleoCrafter> but ScottehBoeh, indiscriminately replacing item entities could really mess with other mods that do it just for their items (AE2 comes to mind)
[13:44:20] <ScottehBoeh> Huh.. good point actually
[13:44:37] <+PaleoCrafter> And you really don't want items on the ground to be collidable :P
[13:49:34] * afdw (~afdw@ has joined #minecraftforge
[13:54:22] * flappy ( has joined #minecraftforge
[14:01:04] <ScottehBoeh> But still. With my own EntityItem extending their EntityItem, what function would I use? onUpdate? Constantly chance the BB?
[14:04:44] <+PaleoCrafter> wat
[14:05:53] <ScottehBoeh> Nevermind I'm experimenting
[14:06:17] <ScottehBoeh> What I've done is killed the EntityItem when dropped by the player and had my custom EntityItem spawn at its place
[14:11:27] <TechnicianLP> you CANNOT make your class dynamically extend other classes ... just do your own raytrace implementation ...
[14:14:44] * Davnit ( has joined #minecraftforge
[14:16:37] <TechnicianLP> is there a bot you can get the latest forge-version from? (having to checkup on owloads-page is a bit meh)
[14:16:59] <gigaherz> just bookmark the latest changelog or something?
[14:17:00] <+PaleoCrafter> Don't think so
[14:17:22] <gigaherz> no wait nevermind it's versioned
[14:17:25] * Umbraco ( Quit (Ping timeout: 204 seconds)
[14:19:22] * williewillus ( has joined #minecraftforge
[14:19:31] <gigaherz> TechnicianLP: just go to the files site, and that way you give lex some ad prints ;P
[14:32:06] * TTFT|Away is now known as TTFTCUTS
[14:44:48] * Waterpicker (~Waterpick@2602:306:35ba:ca40:9c49:f11b:2c0:1104) Quit (Read error: Connection reset by peer)
[14:45:55] * Chais (~Chais@ Quit (Read error: Connection reset by peer)
[14:48:45] * cpup (~cpup@ has joined #minecraftforge
[14:48:59] * Meronat ( Quit (Quit: Connection closed for inactivity)
[14:49:50] * Chais (~Chais@ has joined #minecraftforge
[14:50:58] * CoderPuppy (~cpup@ Quit (Ping timeout: 204 seconds)
[15:06:39] * PieGuy128 ( has joined #minecraftforge
[15:19:51] * risux (~risux@2600:8804:285:6b00:5d81:383b:5eeb:446) has joined #minecraftforge
[15:21:11] * cpup (~cpup@ Quit (Ping timeout: 186 seconds)
[15:23:54] <Aroma1997> Is there a sane way of registering advancements or use the recipe book yet?
[15:25:43] <+PaleoCrafter> Recipe book should happen automatically, no advancement support yet, iirc
[15:26:42] <ScottehBoeh> Hey another issue I've ran into
[15:26:52] <williewillus> i've had trouble getting my things to appear in the book
[15:26:53] <ScottehBoeh> When adding an item to the players inventory, it doesn't refresh the inventory (visually)
[15:26:56] <ScottehBoeh> Did I forget to sync something?
[15:26:58] * cpup (~cpup@ has joined #minecraftforge
[15:27:02] <gigaherz> williewillus: because forge processes recipes too late
[15:27:24] <risux> Can someone help me figure out why WorldGenSurfaceBlock is causing this stack overflow? Here's the class and the exact line where it occurs:
[15:27:27] <gigaherz> minecraft scans the existing recipes to find the craftable items
[15:27:35] <gigaherz> and anything that's not present when that code runs
[15:27:38] <gigaherz> does not get cached
[15:27:42] * RichardG_ (~richardg8@ has joined #minecraftforge
[15:27:42] * MineBot sets mode: +v RichardG_
[15:27:44] <gigaherz> so it won't have an entry in the book
[15:28:00] <gigaherz> unless the registry rewrite has fixed it
[15:28:07] * RichardG (~richardg8@ Quit (Ping timeout: 186 seconds)
[15:28:07] <gigaherz> forge simply loads the recipes too late.
[15:28:41] <Aroma1997> nope, still not working in after the registry rewrite
[15:29:04] <gigaherz> yeah then a PR is needed
[15:29:10] <gigaherz> to move initialization to before the book
[15:29:15] <gigaherz> which may not be a trivial task
[15:29:30] <gigaherz> or maybe the book needs to be re-initialized after forge loadsz the recipes
[15:29:36] <gigaherz> it may be easier to move the book init
[15:29:37] <Aroma1997> I think the better approach here woruld be to reload the book again
[15:29:39] <gigaherz> than it is to move recipe load
[15:29:52] <Aroma1997> especially if recipes might be syncrd server -> client in the future
[15:29:59] <gigaherz> and for advancements
[15:30:03] <Aroma1997> yup
[15:30:06] <gigaherz> someone needs to write a similar system to recipes
[15:30:11] <gigaherz> since they work similar to recipes
[15:34:19] * RichardG_ is now known as RichardG