<<Prev Next>> Scroll to Bottom
Stuff goes here
L1[00:00:03] <gigaherz> ModelLoader.defaultTextureGetter()
L2[00:00:27] <SatanicSanta> ah, indeed
L3[00:01:13] <DemonWav> barteks2x let me show you the event listener generation feature, i think it's pretty convenient http://i.imgur.com/I4mpu58.gifv
L4[00:01:55] <SatanicSanta> gigaherz: Can you explain what you mean by `[21:58:01] <gigaherz> you reuse the same model class for the outer model with the override list ... and the concrete models with the data` a bit more explicitly?
L5[00:02:05] <barteks2x> I don't really create a lot of event listener in my mod now so it's not a fewture I will use frequently
L6[00:02:13] <barteks2x> but it's still nice
L7[00:02:31] *** TTFTCUTS is now known as TTFT|Away
L8[00:03:05] <SatanicSanta> DemonWav: That looks mildly useful. I find the `onWhatever` naming scheme a bit too vague for my tastes so if I were to use your plugin I would probably not use that feature.
L9[00:03:18] <gigaherz> SatanicSanta: nevermind that, I do the same
L10[00:03:24] <DemonWav> You can change the name to whatever you want SatanicSanta :p
L11[00:03:30] <gigaherz> it's just 7am and my brain is starting to not work right
L12[00:03:33] <DemonWav> the plugin just does it's best guess
L13[00:03:56] <SatanicSanta> DemonWav: well obviously, but since half of what's generated is the method name it doesn't seem very useful if I end up renaming it anyway
L14[00:04:13] <DemonWav> it's a nice way to lookup events, though, since it filters all classes in the classpath to show only valid events
L15[00:04:18] <SatanicSanta> true
L16[00:04:26] <SatanicSanta> DemonWav: Does it filter the selected events sub-events?
L17[00:04:30] <SatanicSanta> eg PlayerInteractEvent?
L18[00:04:43] <SatanicSanta> gigaherz: fair.
L19[00:04:46] <gigaherz> SatanicSanta: the only difference I can see between your approach and mine
L20[00:04:53] <gigaherz> is that I return a new model instance from loadModel
L21[00:04:57] <gigaherz> while you return a cached one
L22[00:05:06] <SatanicSanta> I know I asked this at some point this week, but do I need to subscribe to the bake event?
L23[00:05:12] <gigaherz> no
L24[00:05:14] <SatanicSanta> ok
L25[00:05:18] <gigaherz> and you don't need texturestitchevent either
L26[00:05:27] <SatanicSanta> right
L27[00:05:41] <SatanicSanta> even if i did need that one I depend on CCLib which handles all that for me :D
L28[00:05:49] <DemonWav> SatanicSanta I'm not sure what you're asking, but does this give you an idea? https://puu.sh/rBwVL/a956664b7f.png
L29[00:06:12] <SatanicSanta> DemonWav: What happens if you select PlayerInteractEvent?
L30[00:06:35] <DemonWav> creates `@SubscribeEvent public void onPlayerInteract(PlayerInteractEvent event) {}`
L31[00:06:52] <DemonWav> it's sub events are already listed
L32[00:07:06] <SatanicSanta> DemonWav: Ideally it would open a window similar to the one in that image, listing EntityInteractSpecific, EntityInteract, RightClickBlock, RightClickItem, RightClickEmpty, etc.
L33[00:07:22] <SatanicSanta> with the option to subscribe to the vague PlayerInteractEvent
L34[00:07:27] <gigaherz> SatanicSanta: I noticed another difference
L35[00:07:30] <SatanicSanta> oh?
L36[00:07:33] <gigaherz> the model I have here, is a block model
L37[00:07:35] <gigaherz> not an item model
L38[00:07:41] <gigaherz> so I don't even need ItemOverrideList
L39[00:07:41] <gigaherz> XD
L40[00:08:03] <DemonWav> hmm
L41[00:08:07] <gigaherz> I don't think I have used ItemOverrideList AND ICustomModelLoader at the same time
L42[00:08:18] <SatanicSanta> DemonWav: Because really subscribing to PlayerInteractEvent is meaningless in most cases
L43[00:08:22] <SatanicSanta> DemonWav: At least after 1.7
L44[00:08:47] <DemonWav> if you want rightclickblock you can do that just as well https://puu.sh/rBx4t/9d46e1bd01.png
L45[00:09:07] <SatanicSanta> right but that requires you already know what the thing is called
L46[00:09:15] <barteks2x> for me generating mixin code would be more useful, but that probably isn't the kind of things thus plugin does
L47[00:09:30] <SatanicSanta> DemonWav: rather than simply knowing "This is under PlayerInteractEvent"
L48[00:09:44] <DemonWav> hmm, I'll think about how to implement something like that without making it too intrusive
L49[00:09:54] <SatanicSanta> Currently without that, in my opinion, this provides nothing of value over what is currently provided by the IDE.
L50[00:10:01] <DemonWav> I want the whole process to be as fast as possible
L51[00:10:19] <SatanicSanta> <something>-click to show subevents?
L52[00:10:21] <DemonWav> barteks2x it doesn't generate mixin code, no, but the mixin feature list is growing pretty quickly
L53[00:12:11] <DemonWav> and issue #50 regards mixin features https://github.com/DemonWav/MinecraftDev/issues/50
L54[00:13:27] ⇦ Quits: RichardG (~richardg8@201.37.241.91) (Quit: You saw nothing.)
L55[00:14:47] <SatanicSanta> gigaherz: So you're out of ideas then?
L56[00:15:29] <DemonWav> SatanicSanta would you consider this feature set useful? https://github.com/DemonWav/MinecraftDev/issues/61#issuecomment-250823099
L57[00:16:44] <SatanicSanta> DemonWav: Yes. Though lately I've been simply using diff for that language key checking
L58[00:17:09] <SatanicSanta> DemonWav: What I would find more useful is if it was able to determine whether you are calling client code potentially on the server or vice versa
L59[00:17:11] <SatanicSanta> and warn for that
L60[00:17:21] <DemonWav> it does
L61[00:17:25] <SatanicSanta> oh it does?
L62[00:17:31] <DemonWav> limited support for that, yes. it's still heavily wip
L63[00:17:43] <TehNut> It's saved my ass a few times :P
L64[00:17:43] <DemonWav> https://cloud.githubusercontent.com/assets/1332104/17075492/d90e66f6-505a-11e6-8f12-c52f7e304558.png
L65[00:17:48] <SatanicSanta> is there a list of features somewhere? I couldn't find any last time I looked
L66[00:17:56] <barteks2x> I'm sure you can mathematically prove it's impossible in general
L67[00:18:19] <DemonWav> sorry, not yet. maybe this weekend I'll see about filling out that features page
L68[00:18:29] <DemonWav> will take several hours of creating gifs I'm sure :p
L69[00:19:10] <DemonWav> SatanicSanta here's the issue page for that feature https://github.com/DemonWav/MinecraftDev/issues/28
L70[00:19:24] <SatanicSanta> DemonWav: Oh!
L71[00:19:25] <barteks2x> Do I need to do something to enable that plugin for my project?
L72[00:19:38] <DemonWav> yeah, once the plugin is installed, refresh the gradle project
L73[00:20:03] <SatanicSanta> DemonWav: IntelliJ sucks at nullability, and it is particularly annoying for dealing with NBT
L74[00:20:25] <SatanicSanta> not sure if that would be in the scope of this particularly plugin
L75[00:20:36] <DemonWav> you'll know if it's detected the project correctly if your project icon changes to the forge icon
L76[00:20:37] <McJty> SatanicSanta, intellij is actually pretty good with nullability. But the problem is that a lot of packages in MC are wrongly annotated (I mean the package itself)
L77[00:20:45] <gigaherz> SatanicSanta: you say that as if I had ever had any idea regarding that ;p
L78[00:20:50] <DemonWav> well, the old icon, I'll update the icon to the new one once the website refresh happens
L79[00:21:01] <SatanicSanta> McJty: No that's not the problem I'm talking about
L80[00:21:05] <SatanicSanta> gigaherz: Nah you've been helpful
L81[00:21:14] <gigaherz> maybe so
L82[00:21:25] <gigaherz> but my only experience with creating custom models is that one pipe model
L83[00:21:31] <gigaherz> the rest is only theoretical knowledge
L84[00:21:38] <barteks2x> what the hell is wrong with idea? It stops doing anything, I hover my mouse over the code and it's instantly busy doing things in background
L85[00:21:45] <SatanicSanta> McJty: `if (stack.hasTagCompound()) { stack.getTagCompound().hasKey("Whatever") }`, `hasKey` will throw warnings up about getTagCompound being null
L86[00:21:45] <McJty> SatanicSanta, what is?
L87[00:22:01] <SatanicSanta> it sucks at methods that check nullability
L88[00:22:09] <barteks2x> I tried that ATs goto declaration feature, it can't seem to find any declarations :(
L89[00:22:09] <McJty> SatanicSanta, well of course. There is no way for intellij to know that
L90[00:22:13] <SatanicSanta> sure there is
L91[00:22:18] <gigaherz> it would need annotations for it
L92[00:22:23] <McJty> SatanicSanta, how so?
L93[00:22:38] <SatanicSanta> hasTagCompound = `nbt != null` or whatever the field is called
L94[00:22:53] <DemonWav> barteks2x that's a brand new feature, so it's not 100% yet :\
L95[00:22:53] <SatanicSanta> getTagCompound = `nbt`
L96[00:22:58] <McJty> SatanicSanta, yes but how can Intellij know that?
L97[00:23:11] <DemonWav> try restarting the intellij (sorry, i know it's inconvenient, just wanna see if that fixes it)
L98[00:23:12] <barteks2x> but it can't find any of them...
L99[00:23:24] <DemonWav> right, it has to load the mcp mappings to know where to look
L100[00:23:28] <gigaherz> SatanicSanta: IDEA can't know that ItemStack won't have overrides
L101[00:23:47] <gigaherz> the only way that would work would be to have explicit contract annotations for that
L102[00:23:56] <SatanicSanta> McJty: It could interpret a method that checks if something is null as checking if something is null
L103[00:24:08] <SatanicSanta> rather than `method returns boolean`
L104[00:24:13] <barteks2x> nope, restart didn't fix it
L105[00:24:15] <McJty> SatanicSanta, it can't know
L106[00:24:15] <DemonWav> if you're project is open source I can clone your repo and debug why it can't find the mcp mappings
L107[00:24:22] <McJty> SatanicSanta, because it doesn't know the implementation
L108[00:24:28] <McJty> SatanicSanta, It could be in a subclass
L109[00:24:33] <barteks2x> It's probably my hald broken build.gradle
L110[00:24:42] <barteks2x> and yes, it's open source, let me get link
L111[00:24:55] ⇦ Quits: alekso56 (~znc@2001:464b:c2aa:0:745d:45ff:fe3b:a098) (Ping timeout: 183 seconds)
L112[00:25:01] * SatanicSanta checks something
L113[00:25:38] <McJty> And no, hasTagCompound is not final
L114[00:25:42] <barteks2x> https://github.com/Barteks2x/CubicChunks this, I'm on a branch from one fork but that shouldn't make any difference
L115[00:26:13] <McJty> Ah but ItemStack is so in this case it could actually know. But not in general though. Also that kind of code checking is not that easy to do
L116[00:28:01] ⇨ Joins: alekso56 (~znc@2001:464b:c2aa:0:745d:45ff:fe3b:a098)
L117[00:28:03] <DemonWav> importing the project now
L118[00:29:39] <barteks2x> also, finding mixin crashed (IDE error)
L119[00:29:49] <DemonWav> got a stacktrace?
L120[00:30:04] <barteks2x> http://pastebin.com/ssLWp8He
L121[00:30:41] <DemonWav> What version of intellij are you running?
L122[00:31:24] *** fry|sleep is now known as fry
L123[00:31:43] <barteks2x> IDEA-IC-145-579 (2016)
L124[00:32:11] <barteks2x> *597
L125[00:32:39] <DemonWav> I'm building off of 2016.2, let me drop down to 2016.1 and see what that field is called there
L126[00:32:52] <barteks2x> oh, so I have too old IDE version
L127[00:33:08] <DemonWav> maybe I should only support the version I build off of
L128[00:33:24] <DemonWav> but I don't want to limit usage if it still works on other versions either
L129[00:33:46] <barteks2x> is it possible to make it show a warnign if installing on oder versions?
L130[00:33:56] <DemonWav> Yeah I could do that
L131[00:34:18] <barteks2x> I apparently can't type...
L132[00:34:31] <DemonWav> o.O
L133[00:35:02] <barteks2x> "warnign" "oder"...
L134[00:35:09] <DemonWav> oh, thought you meant in the ide
L135[00:35:12] <DemonWav> i was like wtf
L136[00:36:35] <DemonWav> barteks2x yeah, looks like there's quite a few issues when building off of 2016.1 :(
L137[00:36:56] <DemonWav> best option for that would be to have a separate branch
L138[00:37:04] <DemonWav> one for 2016.2, one for 2016.1
L139[00:37:16] <barteks2x> updating now, should I use the exact version or is 1026.2.4 good enough?
L140[00:37:25] <barteks2x> *2016
L141[00:37:32] <DemonWav> that's actually the exact version I build off of, actually
L142[00:37:52] <DemonWav> actually actually haha
L143[00:38:12] <TehNut> Actually, that's actually the exact version I actually build off of, actually
L144[00:39:06] <DemonWav> next release I push will be 2016.2 only, then I'll push a 2016.1 build out
L145[00:39:34] <DemonWav> and I'm about to release an update very soon, because I found some null issues...
L146[00:40:18] <SatanicSanta> gigaherz: Oh, ItemOverrideList#handleItemState's not being called eitehr
L147[00:41:53] <DemonWav> barteks2x actually, now that I fixed those null issues, CubicChunks AT goto declaration is working
L148[00:42:25] <barteks2x> nice, but why did it work for other projects?
L149[00:42:53] <DemonWav> That is a question I have asked myself like 9999999999 times working on the intellij platform...
L150[00:43:47] <barteks2x> it's probably my half-broken build.gradle anyway
L151[00:46:22] <DemonWav> i guess now is as good a time as any to fix my versioning system
L152[00:46:47] ⇨ Joins: RichardG (~richardg8@201.37.241.91)
L153[00:46:48] MineBot sets mode: +v on RichardG
L154[00:51:09] <DemonWav> barteks2x there, https://plugins.jetbrains.com/plugin/8327
L155[00:51:19] <DemonWav> builds specific to the version of intellij they target :3
L156[00:52:20] <barteks2x> I really didn't expect my "it doesn't work" question to turn into this
L157[00:52:42] <DemonWav> this is great, thanks for helping me find an issue I wasn't aware of
L158[00:53:59] <DemonWav> you should be able to check for updates now and update the plugin, and cross your fingers that will magically fix the issue as it did for me
L159[00:55:10] <gigaherz> [07:40] (SatanicSanta): gigaherz: Oh, ItemOverrideList#handleItemState's not being called eitehr
L160[00:55:17] <gigaherz> well it would get called on the IBakedModel
L161[00:55:22] <SatanicSanta> right
L162[00:55:23] <gigaherz> which means you'd have seen bake() first
L163[00:55:38] <SatanicSanta> I just noticed that I still had some breakpoints in that method and figured it was relevant
L164[00:55:54] <gigaherz> nah the basic sequence should be
L165[00:56:42] <gigaherz> blockstates -> loader#accepts -> loader#loadModel --> model#process/retexture --> model#bake -------> model#getOverrides
L166[00:56:50] <gigaherz> where the length of the arrow indicates passage of time
L167[00:56:51] <gigaherz> ;P
L168[00:57:21] * SatanicSanta sets a breakpoint in retexture
L169[00:57:38] <gigaherz> you won't have retexture unless you also implement IRetexturableModel
L170[00:57:42] <gigaherz> on top of IModelCustomData
L171[00:57:48] <SatanicSanta> why would I need both?
L172[00:57:56] <gigaherz> they do different things
L173[00:58:02] <gigaherz> IRetexturableModel handles the
L174[00:58:10] <SatanicSanta> right but according to what you said earlier i wouldnt need the custom shit
L175[00:58:13] <gigaherz> "textures" block on the blockstates json
L176[00:58:22] <gigaherz> while IModelCustomData handles "custom"
L177[00:58:28] <gigaherz> if you have neither
L178[00:58:32] <gigaherz> than you won't get the methods called
L179[00:58:46] <gigaherz> even if you did implement the interfaces
L180[00:59:05] <gigaherz> so bake would come right after loadModel
L181[00:59:05] <SatanicSanta> wait, so why do i need both?
L182[00:59:10] <gigaherz> you don't need both
L183[00:59:11] <SatanicSanta> Right now it's just IRetexturableModel
L184[00:59:13] <barteks2x> it didn't fix the issue for me :(
L185[00:59:29] <gigaherz> you don't need any of them
L186[00:59:52] <SatanicSanta> ...
L187[00:59:57] <SatanicSanta> so what the hell should i be doing
L188[01:00:07] <gigaherz> okay let's make something clear
L189[01:00:10] <gigaherz> "need" vs "want"
L190[01:00:13] <gigaherz> they are separate concepts
L191[01:00:24] <DemonWav> :(
L192[01:00:31] <gigaherz> you don't NEED IModelCustomData, andyou don't NEED IRetexturableModel
L193[01:00:35] <gigaherz> that doesn't mean you don't want them
L194[01:00:44] <gigaherz> it depends on what you are doing
L195[01:00:47] <SatanicSanta> well I clearly don't know what they do so I don't know whether I want them or not
L196[01:00:53] <gigaherz> I just told you
L197[01:01:04] <DemonWav> barteks2x if your build script is broken then that could very well be it
L198[01:01:04] <gigaherz> IRetexturableModel adds the retexture method
L199[01:01:09] <gigaherz> which is used by the blockstates loader
L200[01:01:13] <DemonWav> though if it's the same as what i cloned, then I'm not sure
L201[01:01:13] ⇦ Quits: glasspelican (~quassel@stanley.glasspelican.ca) (Ping timeout: 198 seconds)
L202[01:01:16] <gigaherz> to remap the textures
L203[01:01:24] <gigaherz> which means
L204[01:01:27] <barteks2x> it doesn't seem broken but every some time I find some subtly issue in ut
L205[01:01:30] <gigaherz> it's called with the values of the "textures" block
L206[01:01:32] <gigaherz> in the json
L207[01:01:40] <gigaherz> if there's no "textures" in the json, it won't get called at all
L208[01:01:43] <SatanicSanta> aha
L209[01:01:45] <SatanicSanta> i see
L210[01:01:49] <gigaherz> you can call it yourself
L211[01:01:52] <gigaherz> on an external model
L212[01:01:55] <gigaherz> in order to retexture it
L213[01:02:03] <SatanicSanta> so in handleItemState I could just create a new SteamToolModel directly instead of calling retexture
L214[01:02:04] <SatanicSanta> gotcha
L215[01:02:07] <gigaherz> yes
L216[01:02:10] ⇨ Joins: glasspelican (~quassel@stanley.glasspelican.ca)
L217[01:02:23] <gigaherz> meanwhile IModelCustomData
L218[01:02:27] <gigaherz> handles the "custom" block in the json
L219[01:02:28] <SatanicSanta> oh hey
L220[01:02:32] <gigaherz> it provides straight key-value pairs
L221[01:02:40] <gigaherz> similarly
L222[01:02:41] <barteks2x> And since a lot if it is untouched since I furst made it - there is a but of legacy API used and some things are done the wrong way
L223[01:02:45] <gigaherz> if you don't have custom data, it won't call process
L224[01:02:51] <SatanicSanta> increased the verboseMissingModelLoggingCount from 5 to 500 and it appears there are actually some errors
L225[01:03:01] <gigaherz> .........
L226[01:03:08] <gigaherz> so you DID have model errors
L227[01:03:10] <SatanicSanta> yes
L228[01:03:14] * gigaherz facepalms
L229[01:03:16] <DemonWav> well as long as the build script runs then it's alright. I run a small task to get the path to the mappings file
L230[01:03:22] <SatanicSanta> but since forge stupidly hides all but 5 it did not appear that way
L231[01:03:35] <barteks2x> which task? that may be useful for me
L232[01:03:36] <gigaherz> well the issue here is that you had 5 but were doing anothing about them
L233[01:03:37] <gigaherz> ;p
L234[01:03:50] <SatanicSanta> gigaherz: I am waiting on the artist for the project to make me nice models
L235[01:04:05] <SatanicSanta> I feel like we've had this conversation before
L236[01:04:10] <gigaherz> not with me, no
L237[01:04:13] <SatanicSanta> where simply "fixing" those model errors is not always so simple
L238[01:04:16] <gigaherz> you may have spoken to someone else ;p
L239[01:04:19] <SatanicSanta> perhaps
L240[01:04:40] <gigaherz> I guess from now on
L241[01:04:46] <DemonWav> barteks2x okay, it's not exactly a task. I copy this file to your temp directory and use the gradle tooling API to call getMappingFiles() https://github.com/DemonWav/MinecraftDev/blob/master/src/main/resources/mcinit.gradle
L242[01:04:52] <gigaherz> I will have to be more explicit when asking if there's any errors in the log
L243[01:04:52] <barteks2x> Getting path to mappings may be useful for getting reflection code to work in tests
L244[01:04:58] <gigaherz> ;P
L245[01:05:03] ⇦ Quits: nekosune (~BNCClient@darkmatter.spacetechnology.net) (Quit: Goodbye from Snoonet BNC!)
L246[01:05:44] <SatanicSanta> gigaherz: What do you mean? If Forge hides them there's no way to tell whether you do unless you manually figure out what system property it uses to determine how many errors to output
L247[01:05:46] <DemonWav> the task, though, is genSrgs. It has the absolute paths to all the mappings
L248[01:05:55] <SatanicSanta> Hiding errors is *always* moronic
L249[01:06:14] <SatanicSanta> huh
L250[01:06:15] <SatanicSanta> FileNotFoundException: esteemedinnovation:models/item/steam_drill.json
L251[01:06:44] <SatanicSanta> that is never even referenced
L252[01:07:05] <SatanicSanta> it is complaining about that for the inventory variant of the steam_drill blockstate (in the gist)
L253[01:07:19] <SatanicSanta> but that blockstate uses the steam_tool model, not steam_drill
L254[01:07:32] <tterrag> SatanicSanta: consider that 99.9% of forge users are...users. and those errors are all but pointless to them
L255[01:07:41] <tterrag> a dev should be able to sniff around for the system variable :P
L256[01:07:51] <SatanicSanta> tterrag: A user should be willing to report bugs
L257[01:08:02] <SatanicSanta> tterrag: If they aren't, why are they even looking at the log?
L258[01:08:03] <tterrag> hahahha I can't even get my users to report crashes
L259[01:08:17] <barteks2x> At this point it's probably impossibe to figure out why these features don't work for me
L260[01:08:51] ⇨ Joins: nekosune (~BNCClient@darkmatter.spacetechnology.net)
L261[01:08:54] <gigaherz> SatanicSanta: I once had a crash report
L262[01:08:57] <gigaherz> 2 months after a release
L263[01:09:02] <gigaherz> it was consistent, too
L264[01:09:05] <gigaherz> not some weird corner case
L265[01:09:07] <gigaherz> I was like
L266[01:09:14] <gigaherz> I had had over 2000 downloads
L267[01:09:18] <DemonWav> well, I'll play with things and see. it is hard to test when I don't have your exact workspace on my machine
L268[01:09:18] <gigaherz> why did no one think to report it?1
L269[01:09:19] <gigaherz> ?!*
L270[01:09:32] *** Keridos|away is now known as Keridos
L271[01:09:42] <SatanicSanta> gigaherz: Well I would say how did *you* not notice it? :P
L272[01:09:58] <SatanicSanta> though it is stupid that no one reported it
L273[01:10:00] <gigaherz> simple: it didn't happen in dev
L274[01:10:43] <DemonWav> barteks2x one last thing to try would be to refresh the gradle project again. that tends to be the "reboot" type fix to alot of those strange issues. never guaranteed to work, but sometimes it does
L275[01:10:54] <SatanicSanta> I remember some thread on r/ftb where someone was talking about how they view developers as these mysterious entities that magically create software, and I think that mindset is particularly harmful to the progress of software
L276[01:10:56] <barteks2x> I tried that like 10 times already
L277[01:11:04] <DemonWav> ah, well there you go :p
L278[01:11:50] <DemonWav> sorry it's not working for you :(
L279[01:11:58] <DemonWav> hopefully it will soon as I work out the kinks with the system
L280[01:12:02] <SatanicSanta> tterrag: What I find more annoying about this is that last time I asked how to disable model error hiding or to increase the number allowed, I was told it was impossible and that I should just fix the ones that are already in the log.
L281[01:12:24] <tterrag> well, I'd be inclined to agree
L282[01:12:25] <barteks2x> finsing mixins works now, but anything that needs mappings doesn't seem to work
L283[01:12:33] <tterrag> but whoever told you it was "impossible" was misinformed
L284[01:13:03] <barteks2x> *finding
L285[01:13:07] <SatanicSanta> right, I mean I can list about a dozen reasons why the answer (just fix the ones that are there) is stupid, but oh well
L286[01:13:32] <SatanicSanta> particularly when porting large mods from 1.7
L287[01:13:33] <barteks2x> I can also try the nuke approach and use cleanCache
L288[01:14:19] <barteks2x> uh? I got exception out of nowhere
L289[01:14:45] <barteks2x> this one: http://pastebin.com/Y6A3QLKF
L290[01:14:49] <SatanicSanta> gigaherz: Yeah so I have no fucking clue where models/item/steam_drill.json is being refereced :D
L291[01:15:09] <gigaherz> ModelLoader.setcustomMRL?
L292[01:15:30] <SatanicSanta> should I not be doing that if I am using a blockstate json?
L293[01:15:43] ⇨ Joins: Jezza (~Jezza@92.206.33.136)
L294[01:15:46] <DemonWav> oh, derp
L295[01:16:08] <DemonWav> https://github.com/DemonWav/MinecraftDev/blob/master/src/main/java/com/demonwav/mcdev/platform/mixin/actions/FindMixinsComponent.java#L37
L296[01:16:11] <DemonWav> programming 101 mistake
L297[01:16:17] <gigaherz> yes you should, I mean can you link me to that line¿
L298[01:16:20] <gigaherz> ?*
L299[01:16:24] <gigaherz> I don't have thel ink anymore XD
L300[01:16:34] <SatanicSanta> the gist?
L301[01:16:42] <SatanicSanta> https://gist.github.com/elifoster/92bdc66349d709ddd2a8141a7b484597
L302[01:17:19] <gigaherz> yeah but
L303[01:17:26] <gigaherz> what is passed to that method in practice?
L304[01:17:34] <SatanicSanta> what method?
L305[01:17:37] <gigaherz> ModelLoader.setCustomModelResourceLocation
L306[01:17:47] <gigaherz> which MRLs are being used?
L307[01:17:53] *** cpw is now known as cpw|out
L308[01:18:02] <SatanicSanta> registryName, "inventory"
L309[01:18:08] <gigaherz> yes
L310[01:18:13] <gigaherz> and what is the registry name?
L311[01:18:17] <SatanicSanta> steam_drill
L312[01:18:21] <gigaherz> yes so
L313[01:18:25] <gigaherz> what does the MRL point to?
L314[01:18:35] <SatanicSanta> well from my understanding it should look for the blockstate json first
L315[01:19:02] <gigaherz> yes, unless the blockstates file fails to load
L316[01:19:12] <gigaherz> which is the real issue
L317[01:19:17] <gigaherz> your blockstates file is wrong
L318[01:19:18] <gigaherz> XD
L319[01:19:26] <gigaherz> i just saw it again
L320[01:19:29] <SatanicSanta> do you see any issues with it? There's nothing in the log about it
L321[01:19:30] <gigaherz> you don't even have a "variants" block
L322[01:19:37] <gigaherz> so your blockstate file has no variants AT ALL
L323[01:19:41] <SatanicSanta> yes it does...
L324[01:19:43] <gigaherz> the defaults only apply to the variants
L325[01:19:49] <SatanicSanta> oh, the gist is outdated
L326[01:19:54] <gigaherz> yeah well
L327[01:20:04] <gigaherz> so you want us to help you if you don't show us the proper code? ;P
L328[01:20:04] <SatanicSanta> lemme update the json, missed it when updating it before I joined this channel
L329[01:20:21] <SatanicSanta> No I just didn't think I had changed the json at all between now and the last time I updated it...
L330[01:20:29] <SatanicSanta> there
L331[01:21:00] <gigaherz> just as a test
L332[01:21:10] <gigaherz> did you try moving the "model" line to the inventory variant?
L333[01:21:16] ⇨ Joins: Hunterz (~hunterz@62.182.234.189)
L334[01:21:31] <SatanicSanta> I added it to the inventory variant, I don't think I actually removed it from defaults though
L335[01:21:49] <barteks2x> I also ran it from console and got some exception when loading project, no idea if it's normal or not
L336[01:21:59] <gigaherz> meh that shouldn't matter
L337[01:22:04] <SatanicSanta> then yes
L338[01:22:10] <gigaherz> no I mean
L339[01:22:15] <gigaherz> using it in inventory wouldn't matter
L340[01:22:16] <gigaherz> so nevermind
L341[01:22:20] <SatanicSanta> ah
L342[01:22:23] <DemonWav> exceptions aren't usually normal, but intellij does spit out random exceptions here and there sometimes
L343[01:22:30] <gigaherz> you did say loadModel is being called
L344[01:22:33] <gigaherz> so that's not it
L345[01:22:54] <barteks2x> the message is "Could not fetch model of type 'MinecraftDevModel' using Gradle distribution 'https://services.gradle.org/distributions/gradle-2.7-all.zip'."
L346[01:23:29] <barteks2x> I mentioned it since it has MinecraftDev in the message
L347[01:23:51] <DemonWav> oh, well that's the issue then
L348[01:23:59] <DemonWav> MinecraftDevModel is what handles getting the MCP mappings
L349[01:24:08] <DemonWav> got a full stacktrace?
L350[01:24:27] <barteks2x> http://pastebin.com/jjNVFrZb
L351[01:24:50] <barteks2x> it's ConcurrentModificationException
L352[01:26:20] <DemonWav> and none of my code is in that stacktrace, making it that much more difficult to track down the issue :D
L353[01:28:13] <SatanicSanta> gigaherz: correct
L354[01:29:14] ⇦ Quits: McJty (~jorrit@94-225-203-206.access.telenet.be) (Quit: Leaving)
L355[01:30:17] <quadraxis> might be worth a try changing the gradle wrapper to gradle 2.14
L356[01:30:19] <quadraxis> as in https://github.com/MinecraftForge/MinecraftForge/blob/1.10.x/gradle/wrapper/gradle-wrapper.properties
L357[01:31:02] <DemonWav> that may have something to do with it, though it's working on my system using the same 2.7 wrapper, so that makes me think perhaps that's not the cause
L358[01:33:02] *** amadornes[OFF] is now known as amadornes
L359[01:33:27] <barteks2x> may be some other plugin interfering in some way, I remember ASM plugin being notorious for doing bad things
L360[01:33:34] ⇨ Joins: AstralSorcerer (~AstralSor@128.151.114.198)
L361[01:34:07] <DemonWav> I wonder if the CME is in the gradle execution or on the intellij thread
L362[01:34:47] <DemonWav> It would be in the gradle execution, it seems
L363[01:35:21] <barteks2x> I restarted and exception is different now
L364[01:35:28] ⇦ Quits: AforAnonymous (bitch2k@dyn-051-236.vix2.mmc.at) (Killed (NickServ (GHOST command used by lolinternet)))
L365[01:35:30] ⇨ Joins: AforAnonymous (bitch2k@dyn-051-236.vix2.mmc.at)
L366[01:35:43] <DemonWav> barteks2x are you on java 8?
L367[01:35:45] <barteks2x> yes
L368[01:35:55] <DemonWav> alright, i guess you would have to be if you're using the intellij plugin
L369[01:36:14] <DemonWav> I wonder if I replace the stream in the mcinit.gradle file with a normal loop if that would fix it
L370[01:36:26] ⇦ Quits: AforAnonymous (bitch2k@dyn-051-236.vix2.mmc.at) (Killed (NickServ (GHOST command used by lolinternet)))
L371[01:36:27] ⇨ Joins: AforAnonymous (bitch2k@dyn-051-236.vix2.mmc.at)
L372[01:36:35] <barteks2x> this time I got this: http://pastebin.com/8YcrYe42
L373[01:36:43] <barteks2x> after updating to 2.14
L374[01:37:12] <DemonWav> God, that bug
L375[01:37:17] <DemonWav> I know how to fix it, it's just stupid
L376[01:37:35] <DemonWav> so, intellij packages their own JRE with intellij
L377[01:37:59] <DemonWav> which is great, except any time you want to use gradle tooling, sometimes this happens where the daemons aren't running on the same JRE, and it crashes
L378[01:38:59] ⇨ Joins: illy (~LordIllyo@2602:304:cf32:f980:e002:875:7132:da37)
L379[01:39:31] <DemonWav> barteks2x I should be able to fix that, looks like I didn't apply the fix here like I do other places
L380[01:43:35] <illy> wat https://github.com/MinecraftForge/MinecraftForge/issues/3298
L381[01:46:31] <barteks2x> I'm amazed by how seemingly very similar setup can cause so many problems with code that otherwise seems to work
L382[01:47:14] <SatanicSanta> Alright, I'm going to sleep. If anyone notices anything stupid about my model shit, leave a comment on the gist. Been working on this for the past 2 weeks and I'm quite annoyed :P
L383[01:47:16] <DemonWav> it's really surprisingly difficult to support every possible different permutation of setups people can have. the goal is to support any setup intellij supports, but that is _really_ difficult
L384[01:47:19] ⇦ Quits: SatanicSanta (~SatanicSa@c-76-115-175-15.hsd1.or.comcast.net) (Quit: sleep)
L385[01:48:04] <DemonWav> that's why this plugin is still in alpha, though. if you're not comfortable running an alpha-state plugin, I totally understand, no hard feelings. I would love the feedback and help to fix up the issues and get this into a stable state though, if you're willing to put up with a few bugs here and there
L386[01:50:09] ⇨ Joins: Ipsis (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk)
L387[01:50:20] <DemonWav> barteks2x update is out, if you're still willing to test out a new build
L388[01:50:29] <barteks2x> downloading...
L389[01:52:42] <barteks2x> "Gathering MCP data" - seems to be ok now
L390[01:52:48] <DemonWav> :O
L391[01:53:22] <barteks2x> it works now
L392[01:54:02] <DemonWav> :D
L393[01:54:04] ⇦ Quits: iso2013 (~iso2013@c-67-176-10-45.hsd1.co.comcast.net) (Read error: Connection reset by peer)
L394[01:54:09] <DemonWav> thanks for the help debugging
L395[01:54:49] ⇦ Quits: Doty1154 (~Doty1154@67.215.244.186) (Ping timeout: 183 seconds)
L396[01:55:35] ⇨ Joins: Doty1154 (~Doty1154@2601:648:8000:134f:8158:f23b:c621:3c95)
L397[01:56:32] <barteks2x> well... at least it's fixed now. I'm happy to see someone actually went and fixed it so quickly.ed
L398[01:58:14] <DemonWav> I try my best to keep the plugin at the highest quality possible, so when I find an issue, I try to fix it as quickly as I can
L399[01:59:44] <MCPBot_Reborn> [TEST CSV] Pushing snapshot_20161008 mappings to Forge Maven.
L400[01:59:48] <MCPBot_Reborn> [TEST CSV] Maven upload successful for mcp_snapshot-20161008-1.10.2.zip (mappings = "snapshot_20161008" in build.gradle).
L401[01:59:58] <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/
L402[02:02:50] ⇨ Joins: Girafi (Girafi@0x555178eb.adsl.cybercity.dk)
L403[02:04:52] ⇦ Quits: Doty1154 (~Doty1154@2601:648:8000:134f:8158:f23b:c621:3c95) (Ping timeout: 206 seconds)
L404[02:05:44] ⇨ Joins: Doty1154 (~Doty1154@c-73-189-164-179.hsd1.ca.comcast.net)
L405[02:06:13] *** Keridos is now known as Keridos|away
L406[02:14:42] *** Darkhax_AFK is now known as Darkhax
L407[02:15:19] ⇦ Quits: Brokkoli (~Brokkoli@p5B23C07C.dip0.t-ipconnect.de) (Quit: Die Sprache der Politik ist daf�r gemacht, dass L�gen wahr klingen und das T�ten angemessen wirkt. (George Orwell))
L408[02:22:05] <gigaherz> \o/ I fixed my proof of concept engine thing
L409[02:22:13] <gigaherz> I had a rather silly design flaw
L410[02:29:26] ⇦ Quits: alekso56 (~znc@2001:464b:c2aa:0:745d:45ff:fe3b:a098) (Ping timeout: 183 seconds)
L411[02:32:45] ⇨ Joins: alekso56 (~znc@2001:464b:c2aa:0:745d:45ff:fe3b:a098)
L412[02:34:51] ⇨ Joins: ThePsionic (~ThePsioni@ip5457f909.direct-adsl.nl)
L413[02:40:09] ⇦ Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 206 seconds)
L414[02:42:31] ⇨ Joins: Noppes (~Noppes@ip56530f2e.direct-adsl.nl)
L415[02:43:36] ⇦ Quits: illy (~LordIllyo@2602:304:cf32:f980:e002:875:7132:da37) (Quit: Leaving)
L416[02:50:09] ⇨ Joins: Samario (~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net)
L417[02:55:13] ⇦ Quits: Jezza (~Jezza@92.206.33.136) (Ping timeout: 198 seconds)
L418[03:00:04] *** tterrag is now known as tterrag|ZZZzzz
L419[03:00:27] ⇦ Quits: Kaiyouka (~IdiotNono@c-75-71-231-133.hsd1.co.comcast.net) (Ping timeout: 206 seconds)
L420[03:01:05] ⇨ Joins: Hgrebnednav (~Hgrebnedn@d8D874662.access.telenet.be)
L421[03:01:38] ⇨ Joins: Larry1123 (Larry1123@irc.larry1123.net)
L422[03:02:34] ⇦ Quits: AstralSorcerer (~AstralSor@128.151.114.198) (Remote host closed the connection)
L423[03:03:38] ⇨ Joins: Naiten (Naiten@77.35.176.201)
L424[03:07:49] ⇨ Joins: Abastro (~Abastro@175.117.182.109)
L425[03:10:15] ⇦ Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 183 seconds)
L426[03:11:31] ⇦ Quits: abab9579 (~Abastro@110.70.52.137) (Ping timeout: 384 seconds)
L427[03:25:10] ⇦ Quits: Ipsis (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk) (Quit: Leaving)
L428[03:25:11] ⇨ Joins: Nitrodev (~Nitrodev@87-92-124-216.bb.dnainternet.fi)
L429[03:28:15] ⇨ Joins: Larry1123 (Larry1123@irc.larry1123.net)
L430[03:33:12] ⇨ Joins: Koward (~Koward@2a02:2788:344:2d0:c4c6:e20:5028:8089)
L431[03:35:06] <Koward> Someone ever tried to spawn running water ? It comes out as a weird 1-thick current desipite me setting the level to 7
L432[03:36:47] ⇦ Quits: Nitrodev (~Nitrodev@87-92-124-216.bb.dnainternet.fi) (Quit: Veni, Vidi, Non reliquit in)
L433[03:39:07] ⇦ Quits: quadraxis (~quadraxis@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net) (Read error: Connection reset by peer)
L434[03:39:32] ⇨ Joins: quadraxis (~quadraxis@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net)
L435[03:41:20] ⇦ Quits: droidicus (uid120579@2604:8300:100:200b:6667:5:1:d703) (Quit: Connection closed for inactivity)
L436[03:41:33] ⇨ Joins: ryantheleach (~ryanthele@71-89-110-94.dhcp.stpt.wi.charter.com)
L437[03:41:36] ⇨ Joins: Ipsis (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk)
L438[03:41:48] <ryantheleach> Is there a way to list all sprites / sprite resource locations registered?
L439[03:44:40] ⇨ Joins: CsokiCraft (~CsokiCraf@91.82.144.172.pool.invitel.hu)
L440[03:45:34] ⇨ Joins: Snapples (uid167569@id-167569.highgate.irccloud.com)
L441[03:46:10] <CsokiCraft> I am porting 1.7.10 code to 1.10.2, and found that some of the functions have parameters of type IBlockAccess instead of World
L442[03:46:37] <CsokiCraft> But how can I get the equivalent of w.isRemote when all I have is an IBlockaccess
L443[03:47:29] ⇨ Joins: illy (~LordIllyo@2602:304:cf32:f980:e002:875:7132:da37)
L444[03:47:30] ⇦ Quits: ThePsionic (~ThePsioni@ip5457f909.direct-adsl.nl) (Quit: Leaving)
L445[03:48:35] <illy> Lex sent you an email with the updated bot.
L446[03:49:10] <Ordinastie> CsokiCraft, that sounds wrong
L447[03:49:25] <Ordinastie> what method are you talking about ?
L448[03:49:47] <CsokiCraft> Block.onNeighborChange, for instance
L449[03:50:05] <Ordinastie> I think you want neighborChanged iirc
L450[03:50:33] ⇦ Quits: illy (~LordIllyo@2602:304:cf32:f980:e002:875:7132:da37) (Client Quit)
L451[03:51:22] <CsokiCraft> That method is @Deprecated. Should I use it anyways?
L452[03:52:46] <Ordinastie> deprecated methods in Block are so because they should not be called directly
L453[03:52:57] <Ordinastie> instead, there should be an equivalent in IBlockState
L454[03:53:05] <Ordinastie> however, you can still override tehm
L455[03:53:08] <CsokiCraft> Ok
L456[03:53:21] <CsokiCraft> And where's ForgeDirection gone to?
L457[03:53:40] <Ordinastie> it's in vanilla now : EnumFacing
L458[03:54:43] <CsokiCraft> Ok
L459[04:00:06] ⇦ Quits: Girafi (Girafi@0x555178eb.adsl.cybercity.dk) ()
L460[04:07:36] ⇨ Joins: covers1624_ (~covers162@ppp122-232-6.static.internode.on.net)
L461[04:09:37] ⇦ Quits: covers1624 (~covers162@ppp122-232-6.static.internode.on.net) (Ping timeout: 198 seconds)
L462[04:09:40] ⇦ Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 183 seconds)
L463[04:13:46] <Koward> Are water levels between 0 and 8 or 0 and 15 ? I'm confused
L464[04:13:51] ⇨ Joins: jordibenck (~jordi@86.89.212.184)
L465[04:20:20] ⇨ Joins: Bottersnike (~Bottersni@cpc92754-stap14-2-0-cust1.12-2.cable.virginm.net)
L466[04:20:26] <Bottersnike> o/
L467[04:21:28] ⇨ Joins: Larry1123 (Larry1123@irc.larry1123.net)
L468[04:21:57] ⇦ Quits: Everseeking (~Everseeki@pool-100-6-80-90.pitbpa.fios.verizon.net) (Quit: Big Gulps, huh? Alright... Welp, see ya later)
L469[04:31:31] ⇨ Joins: iari (~iari___@evana.futhark24.org)
L470[04:33:57] ⇦ Quits: alekso56 (~znc@2001:464b:c2aa:0:745d:45ff:fe3b:a098) (Ping timeout: 183 seconds)
L471[04:37:00] ⇨ Joins: alekso56 (~znc@2001:464b:c2aa:0:745d:45ff:fe3b:a098)
L472[04:37:08] ⇦ Quits: CsokiCraft (~CsokiCraf@91.82.144.172.pool.invitel.hu) (Quit: Leaving)
L473[04:39:07] ⇦ Quits: Bottersnike (~Bottersni@cpc92754-stap14-2-0-cust1.12-2.cable.virginm.net) (Ping timeout: 183 seconds)
L474[04:41:25] ⇦ Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 198 seconds)
L475[04:43:12] ⇦ Quits: modmuss50 (~modmuss50@94.ip-51-255-198.eu) (Quit: modmuss50)
L476[04:43:32] ⇨ Joins: modmuss50 (sid42264@id-42264.highgate.irccloud.com)
L477[04:51:30] ⇦ Quits: Naiten (Naiten@77.35.176.201) (Read error: Connection reset by peer)
L478[04:53:06] ⇨ Joins: Bottersnike (~Bottersni@cpc92754-stap14-2-0-cust1.12-2.cable.virginm.net)
L479[04:56:12] ⇨ Joins: Subaraki (~Artix@mf763-h01-176-150-102-154.dsl.sta.abo.bbox.fr)
L480[04:56:18] <Subaraki> o/ hi peops
L481[04:56:23] <Subaraki> peeps *
L482[04:56:59] ⇨ Joins: Kaiyouka (~IdiotNono@c-75-71-231-133.hsd1.co.comcast.net)
L483[04:59:34] ⇦ Quits: auenf (David@DC-24-199.bpb.bigpond.com) (Remote host closed the connection)
L484[05:00:32] ⇨ Joins: auenf (David@DC-24-199.bpb.bigpond.com)
L485[05:00:36] <Subaraki> are all items and blocks stored in the same map ?
L486[05:01:18] <Ordinastie> that's 2 different registries
L487[05:03:52] <Subaraki> okay, thanks
L488[05:04:13] <Subaraki> i'm trying to implement a config file that can handle a change of recipe for an object
L489[05:04:30] <Subaraki> tryin to figure out the best way to get a block or item from a name
L490[05:05:31] <Ordinastie> Item.getByNameOrId
L491[05:05:39] <Ordinastie> something similar in Block
L492[05:06:33] ⇦ Quits: bilde2910 (bilde2910@51.174.170.178) (Ping timeout: 384 seconds)
L493[05:07:54] <Subaraki> yeah, but people acn give either of both
L494[05:08:01] ⇨ Joins: bilde2910 (bilde2910@51.174.170.178)
L495[05:08:03] <Subaraki> so i'll have to make a long list of == null and != null
L496[05:08:08] <Subaraki> to find out what it is
L497[05:08:21] <Subaraki> maybe i'll ask for a string list that precises name and type block or item
L498[05:08:44] <Ordinastie> what ?
L499[05:09:02] ⇨ Joins: Lumien (Elite13049@ipv6.6.sigma.elitebnc.org)
L500[05:10:24] <Subaraki> http://pastebin.com/VgWwVmEt
L501[05:10:30] ⇨ Joins: Larry1123 (Larry1123@irc.larry1123.net)
L502[05:11:05] ⇨ Joins: Naiten (Naiten@5.143.47.170)
L503[05:12:51] <Ordinastie> what is that even ?
L504[05:14:31] <Subaraki> config file
L505[05:14:33] <Subaraki> part of it
L506[05:14:38] <Subaraki> load a string list
L507[05:15:07] <Subaraki> here's the entire thing
L508[05:15:07] <Subaraki> http://pastebin.com/j1Pm7JWR
L509[05:16:45] ⇦ Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 206 seconds)
L510[05:17:11] <Ordinastie> https://github.com/Ordinastie/MalisisCore/blob/1.9.4/src/main/java/net/malisis/core/util/ItemUtils.java#L287
L511[05:19:19] * Subaraki tries to read Pattern.compile("((?<modid>.*?):)?(?<item>[^@]*)(@(?<damage>\\d+|[*])(x(?<size>\\d+))?)?");
L512[05:19:22] * Subaraki gets a head ache
L513[05:19:26] ⇨ Joins: Larry1123 (Larry1123@irc.larry1123.net)
L514[05:20:53] <Bottersnike> Have you tried text2re?
L515[05:24:26] <Subaraki> Ordinastie, what's the Silenced for ?
L516[05:24:38] ⇦ Quits: bilde2910 (bilde2910@51.174.170.178) (Ping timeout: 195 seconds)
L517[05:24:39] <Subaraki> tried reading the class, it's prety vagie for a nub like me
L518[05:24:44] <Subaraki> vague *
L519[05:24:54] <Ordinastie> catch exceptions
L520[05:25:13] ⇦ Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 198 seconds)
L521[05:26:11] <Subaraki> ahaa, okay :)
L522[05:26:17] <Subaraki> so if i dont use it, my gam ewill just crash
L523[05:26:26] <Subaraki> instead of throw errors
L524[05:26:33] ⇨ Joins: bilde2910 (bilde2910@51.174.170.178)
L525[05:27:48] ⇦ Parts: ryantheleach (~ryanthele@71-89-110-94.dhcp.stpt.wi.charter.com) (Leaving))
L526[05:43:11] ⇦ Quits: Ipsis (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk) (Ping timeout: 183 seconds)
L527[05:46:13] ⇨ Joins: BlueMonster (uid82864@id-82864.tooting.irccloud.com)
L528[05:46:25] <BlueMonster> hello
L529[05:46:49] ⇨ Joins: KGS (~KGS@h-155-4-129-249.na.cust.bahnhof.se)
L530[05:46:54] *** covers1624_ is now known as covers1624
L531[05:46:57] <Ordinastie> Subaraki, no, that means you have to use try/catch
L532[05:47:19] ⇦ Quits: Koward (~Koward@2a02:2788:344:2d0:c4c6:e20:5028:8089) (Ping timeout: 183 seconds)
L533[05:50:50] ⇨ Joins: founderio (~Thunderbi@p200300C4E3CB6900B492E446AC045006.dip0.t-ipconnect.de)
L534[05:55:14] ⇨ Joins: Seppon (~Noppes@ip56530f2e.direct-adsl.nl)
L535[05:57:39] ⇦ Quits: Noppes (~Noppes@ip56530f2e.direct-adsl.nl) (Ping timeout: 183 seconds)
L536[06:01:26] ⇨ Joins: Larry1123 (Larry1123@irc.larry1123.net)
L537[06:01:37] ⇨ Joins: Koward (~Koward@2a02:2788:344:2d0:4478:6935:d7dd:7a85)
L538[06:05:05] *** TechnicianLP is now known as Tech|Away
L539[06:05:13] *** Tech|Away is now known as TechnicianLP
L540[06:07:16] ⇦ Quits: ShadCanard (~ShadCanar@4ad54-1-88-172-91-103.fbx.proxad.net) (Quit: Quitte)
L541[06:12:25] <Subaraki> Ordinastie, well, it doesn't throw any errors at me :/ but i'll add them
L542[06:20:08] ⇨ Joins: raoulvdberge (uid95673@id-95673.richmond.irccloud.com)
L543[06:23:22] ⇦ Quits: Bottersnike (~Bottersni@cpc92754-stap14-2-0-cust1.12-2.cable.virginm.net) (Ping timeout: 186 seconds)
L544[06:28:15] <Ordinastie> Interger.parseInt throws
L545[06:32:00] ⇨ Joins: armctec (~Thunderbi@201.83.168.34)
L546[06:39:16] ⇨ Joins: SquareWheels (~SquareWhe@S0106687f7463986c.ok.shawcable.net)
L547[06:41:30] ⇦ Quits: SquareWheel (~SquareWhe@s0106687f7463986c.ok.shawcable.net) (Ping timeout: 186 seconds)
L548[06:49:31] <Koward> I have a custom water block (that disappears when the block under is not powered), an extension of BlockLiquid. There are error of missing json model, but it should not try to find a json model file at all. How can I prevent this ?
L549[06:51:15] <gigaherz> what should it use for a model?
L550[06:51:27] <Ordinastie> I think there is a forge liquid model
L551[06:51:35] <Koward> Well it's still water
L552[06:51:45] <gigaherz> well it isn't really water
L553[06:51:51] <gigaherz> since it's your block and not Blocks.WATER ;P
L554[06:52:02] <Koward> The block works, the model displayed is correct
L555[06:52:15] <gigaherz> have a blockstate for it
L556[06:52:27] <gigaherz> and use "model":"builtin/generated", with no texture layers
L557[06:52:43] <Koward> There are a billion errors looking for variants (each level) but otherwise it works perfectly
L558[06:52:49] <Koward> Mmm I will try that
L559[06:53:02] <gigaherz> there may be other ways to do this, but this may be the most straightforward
L560[06:54:34] <gigaherz> you could use a Statemapper to redirect all the variants to the same model, if so
L561[06:59:10] <Koward> Mmm, I still have them but along a "Neither 'variants' nor 'multipart' found". To give the same model to all variant I just have to give the "default" one right ?
L562[07:00:25] <gigaherz> no you have to still enumerate the "variants" block
L563[07:00:27] <gigaherz> with the variants
L564[07:01:16] <gigaherz> "variants":{"level":{"0":{},"1":{},...}}
L565[07:01:52] <gigaherz> also remember that "defaults" only exists in forge blockstates format
L566[07:02:13] <gigaherz> (same for the split property/value)
L567[07:02:20] <Koward> I also have [14:00:43] [Client thread/ERROR] [FML]: MultiModel minecraft:builtin/missing is empty (no base model or parts were provided/resolved) errors, probably linked.
L568[07:02:40] <gigaherz> yes
L569[07:02:46] <gigaherz> try to get a working json first
L570[07:02:48] <gigaherz> then we'll see
L571[07:05:46] <howtonotwin> so { forge_marker: 1, defaults: { model: forge:fluid, custom { fluid: water } } variants { level { 0 {} 1 {} 2 {} ... } } }
L572[07:06:28] <howtonotwin> assuming you're just stealing the water block model
L573[07:06:51] <gigaherz> he's apparently using BlockLiquid
L574[07:06:55] <gigaherz> which uses the water material
L575[07:07:02] <gigaherz> and the vanilla water renderer
L576[07:08:50] *** V is now known as Vigaro
L577[07:09:05] <Koward> I have good news and bad news
L578[07:09:13] <Koward> Good news is I don't have those errors anymore.
L579[07:09:25] <Koward> Bad news is I have twice as many "MultiModel minecraft:builtin/missing is empty (no base model or parts were provided/resolved)" errors
L580[07:09:37] <gigaherz> and you used "builtin/generated"?
L581[07:09:41] <Koward> Yes.
L582[07:09:45] <gigaherz> hmmm
L583[07:10:19] <gigaherz> that doesn't sound right
L584[07:10:21] <Koward> I'm running a search to see if I ever referenced builtin/missing somewhere
L585[07:10:32] <gigaherz> no, builtin/missing only happens if no model was set
L586[07:10:38] <gigaherz> can you pastebin your json file?
L587[07:11:47] <masa> boni: what's going on with the 2.5.4 of TCon? the file size and the supposedly supported MC versions are a bit suspicious
L588[07:12:15] <boni> masa: there is no 2.5.4 version of tic
L589[07:12:17] <Koward> Of course : http://hastebin.com/daruvohiva.json
L590[07:12:19] <boni> where do you have it from?
L591[07:12:40] <howtonotwin> curse
L592[07:12:44] <howtonotwin> released 2 hrs ago
L593[07:13:01] <masa> boni: https://minecraft.curseforge.com/projects/tinkers-construct/files/2334952
L594[07:13:12] <boni> o_O
L595[07:13:18] <gigaherz> howtonotwin: uhm, try to use forge blockstates instead?
L596[07:13:23] <masa> has someone hacked mDiyo's account?
L597[07:13:42] <howtonotwin> wrong ping? :P
L598[07:14:21] <boni> looking into it
L599[07:14:36] <boni> yes
L600[07:14:38] <boni> masa: do NOT execute that file
L601[07:14:45] <boni> looks like diyo got compromised
L602[07:14:48] <masa> I'm also rather curious how curse allowed that to go through
L603[07:14:52] <gigaherz> howtonotwin: yes
L604[07:15:01] <Corosus> D:
L605[07:15:04] <masa> I downloaded it for curiosity, going to take a look what it contains :p
L606[07:15:06] <gigaherz> Koward: that was for you ;P https://gist.github.com/gigaherz/6a6a27607e8c60414c6499effe40b19b
L607[07:15:16] <boni> yeah diyo confirmed, that's not him
L608[07:15:37] <howtonotwin> register a custom statemapper to get rid of the levels, if you want
L609[07:15:50] <Corosus> its already removed \o/
L610[07:16:03] <howtonotwin> ModelLoader.setCustomStateMapper(block, new StateMap.Builder().ignore(LEVEL).build())
L611[07:16:06] <masa> there is some webcam stuff in there :D
L612[07:16:07] <howtonotwin> or something like that
L613[07:16:09] <howtonotwin> :P
L614[07:16:13] <TechnicianLP> wanted to check it out with a decompiler :( but i think its better this way
L615[07:16:35] <boni> masa: thanks for making us aware
L616[07:16:46] <Ordinastie> that was a good catch :p
L617[07:16:56] <boni> indeed
L618[07:17:07] <boni> and relatively fast too
L619[07:18:09] <masa> even looking at the class names that jar is full of weird shit, how the hell did curse approve that? O_o
L620[07:18:27] <boni> i like how the guy put "added 1.11 support" as changelog but didn't even bother to rename the file to 1.11
L621[07:18:40] <boni> WTB only signed jars on curse
L622[07:19:47] <Koward> gigaherz still the exact same errors.
L623[07:21:43] <masa> it had at least 130 downlaods already... I wonder what it actually does, don't really want to test that out though :p
L624[07:21:52] <boni> yeah, i also got a bugreport already
L625[07:21:55] <boni> i doubt it'll do much on servers per se
L626[07:21:56] <quadraxis> maybe drop a post on r/feedthebeast?
L627[07:22:01] <boni> good idea
L628[07:22:10] <Koward> File does not exist anymore
L629[07:22:10] <TechnicianLP> may i take a look at that file?
L630[07:22:27] <Koward> It has been shut down right now
L631[07:22:43] <Koward> Was available here : https://minecraft.curseforge.com/projects/tinkers-construct/files/2334952
L632[07:22:44] <masa> did someone want to investigate it but didn't have a chance to grab it? I can pm a link
L633[07:22:57] <boni> Koward: yes i took it out immediately
L634[07:22:58] <TechnicianLP> o/
L635[07:23:07] <boni> masa: i got it. it's also still there, just not accessible for regular users
L636[07:24:52] ⇨ Joins: tschm (~tschm@xdsl-87-78-141-123.netcologne.de)
L637[07:24:59] <Ordinastie> I wonder, is it supposed to be launched as an executable ?
L638[07:25:08] <boni> i guess
L639[07:25:09] <Ordinastie> or is it working as a real mod
L640[07:25:09] <Ordinastie> ?
L641[07:25:30] <Ordinastie> because as an exe, infections chances are quite low
L642[07:25:47] <masa> want a link?
L643[07:25:59] <boni> it got some hooks, i guess it's supposed to be a keylogger and stuff
L644[07:26:04] <boni> no it's not working as a real mod
L645[07:26:23] <boni> now where was the entry point in jas defined again
L646[07:26:30] <boni> ah there
L647[07:26:55] <TechnicianLP> my antivirus just told me there a trojan in there
L648[07:27:05] <boni> it got some hooks and stuff. it looks a lot like something like that
L649[07:27:39] <Ordinastie> TechnicianLP, my antivirus even flagged minecraft.exe soooo :p
L650[07:28:11] <boni> in this case it's much more likely to be valid though ;)
L651[07:28:27] <Ordinastie> yeah, wouldn't try my luck there :p
L652[07:28:32] <boni> anyway
L653[07:28:33] <boni> https://twitter.com/bonusboni/status/784729074753298433
L654[07:28:35] <boni> please RT everybody ;o
L655[07:28:58] <IoP> I copypasted to #FTB does it count? ;)
L656[07:29:08] <boni> only if you tell them to also retweet ;)
L657[07:33:59] <Lumien> masa could i also have the file? :)
L658[07:34:31] <Ordinastie> the file will have even more distribution as a known trojan ><
L659[07:35:03] <boni> Lumien: sure, but it seems to have some basic decompile guards
L660[07:35:31] <TechnicianLP> i had no problem decompiling?
L661[07:36:56] <boni> the client class?
L662[07:37:17] <TechnicianLP> let me check again ...
L663[07:37:18] <boni> com.client.Client is the netry point
L664[07:38:28] <boni> at least jd-gui doesn't want to do anything with that file /o\
L665[07:40:24] ⇨ Joins: Ipsis (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk)
L666[07:41:41] <TechnicianLP> com.client.Client: http://hastebin.com/bepuwiwegi.tex
L667[07:43:55] <Koward> minecraftforge forums are down ?
L668[07:44:12] <Koward> Nevermind
L669[07:47:33] *** Darkhax is now known as Darkhax_AFK
L670[07:49:46] <boni> looks to connect to some french address, heh
L671[07:50:22] <Ordinastie> really ? where? :p
L672[07:50:40] <boni> asie did some reverse engineering
L673[07:50:56] <boni> apparently it even uses an dns lookup.. so it relies on a domain being reachable? now that's weird.
L674[07:51:32] <TechnicianLP> maybe no static ip adress?
L675[07:53:08] <Lumien> Thankfully it's some "toolkit rat" or something that's detected by av, if it had been an actually malicious mod it could have been worse
L676[07:55:43] <shadowfacts> yeah
L677[07:56:01] <shadowfacts> it also appears to try and connect to other computers on the network
L678[07:56:09] <gigaherz> so a botnet client
L679[07:56:10] <gigaherz> ;p
L680[07:56:14] <shadowfacts> presumably either to infect them or get information off them
L681[07:59:38] <boni> ..apparently it's connecting to some guys home pc. i wonder if it's a bot or if the dude really is that dumb
L682[07:59:57] <shadowfacts> lol
L683[08:00:05] <TechnicianLP> lets ping him to death xD
L684[08:01:00] <gigaherz> nah the dude's home could be part of a botnet
L685[08:01:10] <gigaherz> a DDoS wouldn't be too productive there
L686[08:02:59] ⇨ Joins: Unh0ly_Tigg (~Robert@c-76-115-95-185.hsd1.or.comcast.net)
L687[08:03:51] <Koward> How would one go to make an exact copy of vanilla water with the Forge fluid system ?
L688[08:04:29] <Koward> I mean is it already built in somewhere ? That would be an interesting example of implementation
L689[08:05:05] <howtonotwin> FluidClassic
L690[08:05:07] <gigaherz> yes, in the forge source repository
L691[08:05:08] <howtonotwin> or whatever it's called
L692[08:05:12] <howtonotwin> BlockFluidClassic?
L693[08:05:13] <gigaherz> there's example fluid
L694[08:05:30] <howtonotwin> also Square_Wheel wrote some docs on it
L695[08:05:34] <howtonotwin> lemme see...
L696[08:05:55] <howtonotwin> https://gist.github.com/WesCook/c9e282e49580588dd397350283e7e4e1#fluids-in-the-world
L697[08:06:12] <howtonotwin> Replace oil with water
L698[08:06:48] <Koward> Great.
L699[08:06:49] <howtonotwin> FluidRegistry.WATER
L700[08:07:16] ⇨ Joins: KnightMiner (~KnightMin@adsl-75-5-71-220.dsl.emhril.sbcglobal.net)
L701[08:07:19] <howtonotwin> Now the way the model works
L702[08:07:32] <howtonotwin> fluid blocks have getExtendedState
L703[08:07:45] <howtonotwin> and that method attaches a bunch of info on the flow into the blockstate
L704[08:07:50] <howtonotwin> then the forge:fluid model
L705[08:07:54] <howtonotwin> which is all in code
L706[08:08:16] <howtonotwin> takes that info to bake a model for it
L707[08:08:33] <howtonotwin> and you can use this model in a forge blockstate json like this
L708[08:08:46] <howtonotwin> { model: forge:fluid, custom { fluid: water } }
L709[08:08:52] <howtonotwin> appropriately formatted ofc
L710[08:09:10] <howtonotwin> fluid blocks also have a "level" property
L711[08:09:13] <howtonotwin> from 0 to 15
L712[08:09:20] <howtonotwin> you probably just want to ignore that
L713[08:09:32] <howtonotwin> as the builtin fluid model handles it fine
L714[08:09:43] <howtonotwin> so you register a statemapper to ignore the property
L715[08:11:04] <howtonotwin> ModelLoader.setCustomStateMapper(blockFluid, new StateMap.Builder().ignore(BlockFluidBase.LEVEL).build())
L716[08:11:10] <howtonotwin> that's just your choice
L717[08:11:35] <howtonotwin> so I assume your block has a property of its own? for rs power?
L718[08:13:12] <howtonotwin> in that case your json should look something like this:
L719[08:13:23] <Koward> Yes, if the block under it is not powered, it disappears. Also, it does not generate new sources (the initial level is low) when near another (real) water source
L720[08:14:30] <howtonotwin> { forge_marker: 1, variants { visible { true { model: forge:fluid, custom { fluid: water } }, false { model: builtin/generated } } }
L721[08:14:37] <howtonotwin> made into proper JSON
L722[08:14:45] <howtonotwin> and the logic part
L723[08:14:50] <howtonotwin> with the source block thing
L724[08:14:58] <howtonotwin> that's just your own code now :P
L725[08:15:13] <howtonotwin> idk how to deal fluids much
L726[08:16:10] <Koward> I have a kind of working version extenting the vanilla BlockLiquid but it's a mess. In it I do the logic in updateTick
L727[08:16:19] <howtonotwin> There's an event for it actually
L728[08:16:29] <howtonotwin> BlockEvent.something
L729[08:16:38] <howtonotwin> cancel it to prevent source block creation
L730[08:17:47] <Koward> I also need to make the custom source block disappear when block under it is not powered
L731[08:17:54] <howtonotwin> yeah
L732[08:17:57] <howtonotwin> wait
L733[08:18:04] <howtonotwin> disappear as in deleted from world?
L734[08:18:08] <howtonotwin> or just invisible
L735[08:18:21] <Koward> Replaced by Air.
L736[08:18:27] <howtonotwin> that's your logic then
L737[08:18:31] <howtonotwin> and the blockstate JSON then
L738[08:18:43] <howtonotwin> as it's impossible to have a power property
L739[08:18:57] <howtonotwin> bc the block is getting deleted when it's powered
L740[08:19:00] <Koward> No need, the block that's actually powered is beneath it and is completely different.
L741[08:19:10] <Koward> I just check pos.down()
L742[08:19:22] <howtonotwin> so the fluid is really just a normal fluid
L743[08:19:29] <howtonotwin> but it doesn't make source blocks
L744[08:19:33] <howtonotwin> and it deletes itself
L745[08:19:44] <Koward> Basically yes.
L746[08:19:49] <howtonotwin> json should then look like this
L747[08:20:22] <howtonotwin> { forge_marker: 1, variants: { normal [{ model: forge:fluid, custom { fluid: water } }] } }
L748[08:20:27] <howtonotwin> good?
L749[08:20:53] <Koward> I'll try that right now
L750[08:21:40] <howtonotwin> that JSON is only functional if the level property is ignored!
L751[08:22:04] <howtonotwin> you'll either have to edit the JSON or use the statemapper thing from above
L752[08:22:50] ⇦ Quits: Kaiyouka (~IdiotNono@c-75-71-231-133.hsd1.co.comcast.net) (Ping timeout: 186 seconds)
L753[08:26:21] ⇦ Quits: LuigiHutch (LuigiHutch@Challenge.Accepted.PanicBNC.eu) (Ping timeout: 201 seconds)
L754[08:27:00] <tschm> i am working my way through the wiki and this here confuses me. Shouldn't it be in "Configuration cfg = CommonProxy.config" instead of "Configuration cfg = ModTut.config"? It is at top of method body readConfig()
L755[08:27:02] <tschm> http://modwiki.temporal-reality.com/mw/index.php/Configuration-1.9
L756[08:27:06] ⇦ Quits: KnightMiner (~KnightMin@adsl-75-5-71-220.dsl.emhril.sbcglobal.net) (Ping timeout: 186 seconds)
L757[08:27:58] <tschm> since later in the code there is a new field for a Configuration object called config in the CommonProxy, but not in ModTut
L758[08:28:30] <howtonotwin> probably, yeah
L759[08:30:08] <howtonotwin> you can ask McJty to fix it if you see him
L760[08:30:18] <howtonotwin> he's not here rn though
L761[08:33:10] <SquareWheels> I should probably update that doc with your suggestions if it's going to be linked in the future.
L762[08:33:57] <SquareWheels> Oh no I'm pluralized again.
L763[08:34:00] ⇦ Quits: SquareWheels (~SquareWhe@S0106687f7463986c.ok.shawcable.net) (Quit: Leaving)
L764[08:34:15] ⇨ Joins: SquareWheel (~SquareWhe@s0106687f7463986c.ok.shawcable.net)
L765[08:34:52] ⇨ Joins: LuigiHutch (LuigiHutch@Challenge.Accepted.PanicBNC.eu)
L766[08:43:48] ⇨ Joins: KnightMiner (~KnightMin@adsl-75-5-71-220.dsl.emhril.sbcglobal.net)
L767[08:44:18] ⇨ Joins: Nitrodev (~Nitrodev@87-92-124-216.bb.dnainternet.fi)
L768[08:45:00] ⇦ Quits: Nitrodev (~Nitrodev@87-92-124-216.bb.dnainternet.fi) (Client Quit)
L769[08:46:35] <tschm> SquareWheel yep, i will leave feedback for wiki when i find something :)
L770[08:49:07] <Koward> @howtonotwin The water looks fine but it behaves weirdly, like it tries to flow in directions then retract and try another. My code is simply http://hastebin.com/dabafocexi.java
L771[08:49:37] <Koward> It does destroy itself when block under it is unpowered tho
L772[08:50:08] <Ordinastie> wait, the block under is yours ?
L773[08:51:22] <Ordinastie> Koward, why do you even make a custom water for that??
L774[08:51:37] <Koward> Great question
L775[08:51:53] <Ordinastie> just handle it in your block as it should be
L776[08:53:14] <Koward> That was the initial plan. But it also (not yet in that code) needs to not create new sources. Also, the deleting should be done when unpowered and not when powered.
L777[08:54:13] <Koward> The event about source creation gives only information about position where the source will be created so it's not enough to determine what's the cause and prevent it
L778[08:54:31] <Ordinastie> what are you talking about ?
L779[08:56:01] <tschm> SquareWheel there is another mistake in the docs (i guess). It says in the code in the CommonProxy "public static Configuration config", but the class in the upper part is named "Config", not "Configuration". Is this a mistake, because there is also a class names "Configuration" in "net.minecraftforge.common.config.Configuration;". I guess this should not be used, but yeah, confusing
L780[08:56:01] <tschm> :(
L781[08:56:28] <Koward> I should rather look at how to do the action when the block is unpowered
L782[08:57:10] <SquareWheel> tschm, to be clear, I wrote fluids.md on Github Gists. I think you're referring to a different document.
L783[08:57:22] ⇨ Joins: M4thG33k (~M4thG33k@2604:2d80:c02b:a7d5:4881:2b94:b56e:f1e2)
L784[08:57:43] <tschm> SquareWheel yep. absolutly mistaken, sry :D
L785[08:58:27] <M4thG33k> Hello! I have a block whose light value depends on it's TE data; I have overridden Block#getLightValue, but the block remains dark. Any ideas why this could be?
L786[09:01:04] <Ordinastie> you return the wrong value most likely
L787[09:02:12] <M4thG33k> Placing a block next to it makes it look like it's being lit from the inside (but light isn't radiating to adjacent blocks), which is another issue.
L788[09:03:08] ⇦ Quits: bilde2910 (bilde2910@51.174.170.178) (Ping timeout: 183 seconds)
L789[09:05:22] ⇨ Joins: bilde2910 (bilde2910@51.174.170.178)
L790[09:09:08] ⇦ Quits: auenf (David@DC-24-199.bpb.bigpond.com) (Ping timeout: 182 seconds)
L791[09:10:17] ⇨ Joins: auenf (David@DC-24-199.bpb.bigpond.com)
L792[09:11:31] ⇦ Quits: KnightMiner (~KnightMin@adsl-75-5-71-220.dsl.emhril.sbcglobal.net) (Quit: Leaving)
L793[09:13:03] ⇦ Quits: Abastro (~Abastro@175.117.182.109) (Read error: Connection reset by peer)
L794[09:13:40] <tschm> i did the gradle build task and then runClient in the intellij gradle window. The minecraft window loaded up and then instantly closed, i guess it crashed. But do i get any infos what was wrong?
L795[09:13:59] <tschm> the only thing my mod has is a config file and one simple block
L796[09:14:06] <howtonotwin> you don't normally use the gradle tasks to run a mod in an IDE
L797[09:14:20] <tschm> i may did some basic syntax wrong, but idk where to find info
L798[09:14:44] <tschm> did what was suggested in the official wiki :/
L799[09:14:44] <tschm> https://mcforge.readthedocs.io/en/latest/gettingstarted/#building-and-testing-your-mod
L800[09:14:55] <gigaherz> tschm: IDEA has a debug panel
L801[09:15:00] <gigaherz> yo ushould be able to read the logs there
L802[09:15:16] <gigaherz> don't use runClient
L803[09:15:19] <gigaherz> it's not needed
L804[09:15:29] <gigaherz> you can use the run/debug buttons in IDEA itself
L805[09:15:31] <tschm> so how can i easily test it then?
L806[09:15:45] <tschm> i see
L807[09:15:46] <gigaherz> how far did you go in my instructions? ;P
L808[09:16:01] <tschm> regarding what? :D your five steps to modding? :D
L809[09:16:04] <gigaherz> yup
L810[09:16:24] ⇨ Joins: Abastro (~Abastro@175.117.182.109)
L811[09:16:59] <gigaherz> can you see this? https://dl.dropboxusercontent.com/u/743491/run%20configs.png
L812[09:17:02] <tschm> tbh, i did run the gradle commands in the command line, since the ide thing did not work for me
L813[09:17:16] <gigaherz> oh well thenyou are missing out on everything important
L814[09:17:28] <tschm> yep, i see that
L815[09:17:30] <gigaherz> what happened? what went wrong?
L816[09:17:39] <tschm> oh wait.. i guess i have it
L817[09:17:56] <gigaherz> do you have Minecraft Client / Server on the list?
L818[09:18:06] <tschm> i set the run dropdown menu to "minecraft client", it was "Mod(runClient" by default
L819[09:18:15] <tschm> no it shows me an debug window and some exceptions, th
L820[09:18:16] <tschm> thx
L821[09:18:18] <gigaherz> yeah it's the last task you ran with gradle
L822[09:18:21] <gigaherz> however
L823[09:18:25] <gigaherz> if it complains about GradleStart
L824[09:18:30] <gigaherz> it means it's missing the last step
L825[09:18:39] <tschm> yep, it does >.<
L826[09:18:44] <gigaherz> which is to go into Edit Configurations
L827[09:18:58] <gigaherz> and in Minecraft client and Minecraft server
L828[09:19:05] <gigaherz> edit the "Use classpath of module" setting
L829[09:19:10] <gigaherz> to the one that is <name>_main
L830[09:19:35] <tschm> alright did that. Now apply and test?
L831[09:19:42] <gigaherz> yup
L832[09:19:53] <tschm> here we go.. it's loading
L833[09:20:02] <gigaherz> note that, unlike VS, you can run more than one instance at once
L834[09:20:06] <gigaherz> and have them all debugging at once
L835[09:20:13] <gigaherz> in the debug panel
L836[09:20:19] <gigaherz> you'll find the buttons to control the debugger
L837[09:20:38] <gigaherz> and if you edit some code or resources
L838[09:20:42] <gigaherz> you can use Build -> Make project
L839[09:21:03] <gigaherz> and so long as you didn't change the class/method signatures, it will then reload the changed code
L840[09:22:12] <tschm> alright, but the habit would be to F7 -> ctrl+F5?
L841[09:23:15] <gigaherz> nono
L842[09:23:17] <gigaherz> just F7
L843[09:23:25] <gigaherz> well
L844[09:23:45] <gigaherz> unlessyou want to start a second instance ;P
L845[09:24:00] <gigaherz> when you use make, it will show a popup asking if you want to reload the changed code
L846[09:24:04] <tschm> ehm.. i guess i have to restart the client everytime i change the mod, don't I?
L847[09:24:12] <tschm> like when i add a block or something
L848[09:24:29] <gigaherz> yes
L849[09:24:39] <gigaherz> you should do those changes while stopped anyhow
L850[09:24:51] <gigaherz> since you have to register your blocks and items during startup
L851[09:24:55] ⇨ Joins: sinkillerj (~sinkiller@nc-67-232-14-224.dhcp.embarqhsd.net)
L852[09:24:56] <gigaherz> so theywouldn't exist either way
L853[09:25:09] <gigaherz> I'm just giving you some bonus hints
L854[09:27:45] <tschm> my first block in the world... yaaaaaaay *.*
L855[09:29:29] <gigaherz> yay! ;P
L856[09:32:28] <tschm> what about JEI. If i want to have it in my test client, how to do that?
L857[09:32:45] <howtonotwin> dump it into mods/
L858[09:32:48] <gigaherz> you want to just have it, or do you want to register recipes?
L859[09:32:52] <tschm> and i guess JEI does the listing itself? Or do i need to support JEI in any way? at this stage i only mean the listing of my block
L860[09:33:00] <howtonotwin> get the deobf version somehow
L861[09:33:07] <gigaherz> well
L862[09:33:13] <gigaherz> it will show anything that's on thecreative menu
L863[09:33:23] <gigaherz> alongside with any recipes it has been given a handler for
L864[09:33:36] <gigaherz> this includes all "standard" recipe classes
L865[09:33:36] <tschm> i am not at this stage yet :P
L866[09:33:40] <gigaherz> yeah
L867[09:33:43] <gigaherz> so if you just add a block
L868[09:33:50] <gigaherz> and you have a setCreativeTab for it
L869[09:33:55] <gigaherz> it will show up in JEI
L870[09:33:57] <gigaherz> then you have two choices
L871[09:34:06] <gigaherz> first one, is to dump JEI onto the run/mods/ folder
L872[09:34:15] <gigaherz> just any standard build will do, no need for deobf
L873[09:34:19] <gigaherz> or a better option
L874[09:34:22] <gigaherz> is to use maven dependencies
L875[09:34:54] ⇦ Quits: VikeStep (~VikeStep@101.184.243.180) (Read error: Connection reset by peer)
L876[09:35:05] <gigaherz> in your build.gradle
L877[09:35:15] <gigaherz> AFTER the buildscript section (don't edit buildscript!)
L878[09:35:17] <gigaherz> add
L879[09:35:18] <gigaherz> repositories {
L880[09:35:18] <gigaherz> maven {
L881[09:35:18] <gigaherz> url "http://dvs1.progwml6.com/files/maven&quot;
L882[09:35:18] <gigaherz> }
L883[09:35:18] <gigaherz> }
L884[09:35:28] <gigaherz> and in the dependencies group
L885[09:35:31] <gigaherz> dependencies {
L886[09:35:31] <gigaherz> deobfCompile "mezz.jei:jei_1.10.2:3.12.3.293:api"
L887[09:35:31] <gigaherz> runtime "mezz.jei:jei_1.10.2:3.12.3.293"
L888[09:35:31] <gigaherz> }
L889[09:35:45] <gigaherz> the first line (deobfCompile) is only needed if you want to program with JEI
L890[09:35:52] <gigaherz> if you just want it at runtime, the second line is enough
L891[09:36:03] <gigaherz> you'll haveto run setupDecompWorkspace again
L892[09:36:19] <gigaherz> and then click the blue refresh icon on thegradle panel, to resynchronize the project
L893[09:36:31] <gigaherz> (you'll get used to clicking that button ;P)
L894[09:36:45] <gigaherz> it's easier to dump the mod onto the mods folder, though
L895[09:36:47] <gigaherz> ;p
L896[09:37:38] <tschm> nono, i try the harder stuff, sounds more stable
L897[09:38:04] <gigaherz> it's a good thing to learn, either way
L898[09:38:13] <gigaherz> even if you don't need JEI as a maven dependency yet ;P
L899[09:38:46] <tschm> idk, if the formatting is right, but i have this atm
L900[09:38:48] <tschm> buildscript {
L901[09:38:48] <tschm> repositories {
L902[09:38:48] <tschm> jcenter()
L903[09:38:48] <tschm> maven {
L904[09:38:48] <tschm> name = "forge"
L905[09:38:48] <tschm> url = "http://files.minecraftforge.net/maven&quot;
L906[09:38:48] <tschm> }
L907[09:38:49] <tschm> }
L908[09:38:49] <tschm> dependencies {
L909[09:38:50] <tschm> classpath 'net.minecraftforge.gradle:ForgeGradle:2.2-SNAPSHOT'
L910[09:38:50] <tschm> }
L911[09:38:51] <tschm> }
L912[09:38:54] <Ordinastie> dud
L913[09:38:55] <tschm> ugh.. sorry for wall of text :(
L914[09:38:55] <Ordinastie> e
L915[09:39:33] <gigaherz> check this as a working example
L916[09:39:33] <gigaherz> https://github.com/gigaherz/Enderthing/blob/master/build.gradle
L917[09:40:07] *** TTFT|Away is now known as TTFTCUTS
L918[09:40:36] <gigaherz> tschm: general IRC guideline: if the paste is > 5 lines total, use pastebin
L919[09:40:42] <gigaherz> which means I already broke it ;P
L920[09:40:48] <Ordinastie> make it > 3
L921[09:41:13] <gigaherz> tschm: it's important to understand
L922[09:41:14] <Ordinastie> gigaherz said 5 because that's what he pasted just before but he was WRONG!
L923[09:41:24] <tschm> i will, sorry for that, hehe °-°
L924[09:41:24] <gigaherz> no it's what I was taught early on
L925[09:41:38] <gigaherz> it's important to understand, the buildscript section is SPECIAL
L926[09:41:41] <Ordinastie> tbh, I usually say > 2 even
L927[09:41:46] <gigaherz> you are not supposed to edit that
L928[09:41:54] <gigaherz> and if you do
L929[09:41:55] <gigaherz> it won't work
L930[09:42:00] <gigaherz> because those dependencies won't be used at runtime
L931[09:42:05] <tschm> ok, i'll never touch it, simple as taht
L932[09:42:07] <gigaherz> they'll be used whileyou run gradle itself
L933[09:42:09] <gigaherz> so
L934[09:42:13] <gigaherz> unless you know what you aredoing
L935[09:42:18] <gigaherz> and you want to change how the build processworks
L936[09:42:20] <gigaherz> you don't touch it
L937[09:42:20] <gigaherz> ;p
L938[09:42:24] ⇦ Quits: Ipsis (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk) (Ping timeout: 183 seconds)
L939[09:42:37] ⇨ Joins: IceDragon (~ThatGuy@184.170.10.86)
L940[09:49:13] ⇨ Joins: Kano (~Kano@2604:180:2:11bc::a3b8)
L941[09:50:06] <tschm> i copied the depencies from the paste you send and when having just those two lines there, the setupDecompWorkspace won
L942[09:50:48] <tschm> won't succeed, i commented the deobfCompile line and now it works..
L943[09:51:11] ⇨ Joins: ThePsionic (~ThePsioni@ip5457f909.direct-adsl.nl)
L944[09:51:54] <tschm> the debugger says "Unable to open debugger port"
L945[09:53:55] <gigaherz> check your run dropdown
L946[09:54:00] <gigaherz> after you did setupDecompWorkspace
L947[09:54:02] <gigaherz> it changed to
L948[09:54:11] <gigaherz> the setupDEcompWorkspace task
L949[09:54:14] <gigaherz> which isn't debugable
L950[09:54:19] <gigaherz> you have to re-select Minecraft Client
L951[09:54:23] <gigaherz> after clicking on a gradle task
L952[09:54:57] <tschm> well.. if i hit the setupDecompWorkspace task, it does not succeed. It stops at "Configure build", idk why or how to find out what went wrong
L953[09:55:12] <tschm> i noticed that it has changed and changed it back
L954[09:55:31] <gigaherz> it should have opened a debug panel
L955[09:55:33] <gigaherz> likewhen you click run
L956[09:55:38] <gigaherz> and it should have said the problem there
L957[09:56:07] <tschm> so when i removed the deobfCompile line and just use the line with "runtime ..." the task succeeds, when i run the minecraft client then, there is no JEI listed as mod
L958[09:56:35] <gigaherz> I'd still like to know WHY it's failing
L959[09:56:53] <gigaherz> so can you try to find the debug logs for it? ;P
L960[09:57:02] <gigaherz> https://dl.dropboxusercontent.com/u/743491/run%20gradle.png
L961[09:57:09] <tschm> this is the issue.. gooood..
L962[10:00:33] ⇦ Quits: armctec (~Thunderbi@201.83.168.34) (Quit: armctec)
L963[10:00:47] <tschm> well.. i have a different window layout than you.. but i think i found it... the debug view was deactivated for a nice "watch your steps" view. I found the button i now i have an actual log
L964[10:01:29] <tschm> http://pastebin.com/XwbF3k2b that's the log
L965[10:02:11] <gigaherz> I use IDEA 15
L966[10:02:14] <gigaherz> rather than idea 2016
L967[10:02:17] <gigaherz> so that may be why
L968[10:02:51] <gigaherz> uhm
L969[10:02:57] <gigaherz> that sounds like you used thewrong version of JEI
L970[10:03:25] <gigaherz> hmm latest is
L971[10:03:27] <gigaherz> jei_1.10.2-3.12.6.304.jar
L972[10:04:30] <gigaherz> that means the maven version would be jei_1.10.2:3.12.6.304
L973[10:05:18] <tschm> same error, different version :(
L974[10:05:32] <gigaherz> weird
L975[10:05:37] <gigaherz> you did add the repositories part, right?
L976[10:06:19] <tschm> ofc not -.-
L977[10:06:39] <tschm> added it.. it's loading
L978[10:07:01] <tschm> sry for being dumb, will get better with time :P
L979[10:10:48] ⇨ Joins: Bottersnike (~Bottersni@cpc92754-stap14-2-0-cust1.12-2.cable.virginm.net)
L980[10:11:13] ⇦ Quits: Naiten (Naiten@5.143.47.170) (Read error: Connection reset by peer)
L981[10:15:19] ⇨ Joins: McJty (~jorrit@94-225-203-206.access.telenet.be)
L982[10:16:43] ⇨ Joins: edr (~edr@d-65-175-180-73.cpe.metrocast.net)
L983[10:20:23] <howtonotwin> Ah McJty
L984[10:20:30] <McJty> Hi
L985[10:20:30] <howtonotwin> there appears to be an error on your tutorials
L986[10:20:33] <howtonotwin> <tschm> i am working my way through the wiki and this here confuses me. Shouldn't it be in "Configuration cfg = CommonProxy.config" instead of "Configuration cfg = ModTut.config"? It is at top of method body readConfig()
L987[10:20:33] <howtonotwin> <tschm> http://modwiki.temporal-reality.com/mw/index.php/Configuration-1.9
L988[10:20:33] <howtonotwin> * KnightMiner has quit (Ping timeout: 186 seconds)
L989[10:20:33] <howtonotwin> <tschm> since later in the code there is a new field for a Configuration object called config in the CommonProxy, but not in ModTut
L990[10:20:53] <McJty> ah possibly
L991[10:20:55] <McJty> I'll fix
L992[10:20:58] <howtonotwin> thanks
L993[10:21:01] ⇨ Joins: Kaiyouka (~IdiotNono@c-75-71-231-133.hsd1.co.comcast.net)
L994[10:21:17] ⇦ Quits: Bottersnike (~Bottersni@cpc92754-stap14-2-0-cust1.12-2.cable.virginm.net) (Quit: Bai)
L995[10:22:21] ⇦ Quits: tschm (~tschm@xdsl-87-78-141-123.netcologne.de) (Read error: Connection reset by peer)
L996[10:22:48] <McJty> Fixed
L997[10:22:53] ⇨ Joins: gr8pefish (~gr8pefish@24-121-241-166.flagcmtk01.res.dyn.suddenlink.net)
L998[10:23:25] ⇦ Quits: KJ4IPS (~KJ4IPS@68-119-116-168.dhcp.jcsn.tn.charter.com) (Ping timeout: 198 seconds)
L999[10:24:01] <howtonotwin> [yay sound effect]
L1000[10:24:11] * howtonotwin slinks back to writing docs
L1001[10:25:18] ⇨ Joins: KJ4IPS|Gone (~KJ4IPS@68-119-116-168.dhcp.jcsn.tn.charter.com)
L1002[10:25:27] *** KJ4IPS|Gone is now known as KJ4IPS
L1003[10:33:48] <hehe> morning all
L1004[10:34:13] ⇨ Joins: tschm (~tschm@xdsl-87-78-141-123.netcologne.de)
L1005[10:37:22] ⇦ Quits: tschm (~tschm@xdsl-87-78-141-123.netcologne.de) (Read error: Connection reset by peer)
L1006[10:38:45] <howtonotwin> hello!
L1007[10:39:34] <howtonotwin> Was my writing terrible? :P
L1008[10:40:19] <howtonotwin> I have written exactly one sentence for the docs since this morning.
L1009[10:40:23] <howtonotwin> exactly
L1010[10:40:27] <howtonotwin> :P
L1011[10:41:49] ⇦ Quits: ThePsionic (~ThePsioni@ip5457f909.direct-adsl.nl) (Quit: Leaving)
L1012[10:45:51] ⇦ Quits: TechnicianLP (~Technic@p4FE575DF.dip0.t-ipconnect.de) (Quit: Quit)
L1013[10:46:30] ⇦ Quits: Seppon (~Noppes@ip56530f2e.direct-adsl.nl) (Read error: Connection reset by peer)
L1014[10:46:50] ⇨ Joins: Seppon (~Noppes@ip56530f2e.direct-adsl.nl)
L1015[10:47:43] <SquareWheel> Any idea when the PR will be considered for acceptance, howto? It's diverted pretty far from the original branch now.
L1016[10:48:01] ⇦ Quits: jordibenck (~jordi@86.89.212.184) (Ping timeout: 183 seconds)
L1017[10:48:33] ⇨ Joins: jordibenck (~jordi@86.89.212.184)
L1018[10:50:31] <howtonotwin> no idea :P
L1019[10:50:48] <howtonotwin> that repo is pretty slow to update anyway
L1020[10:51:00] <howtonotwin> and it's not done yet as well
L1021[10:51:18] <howtonotwin> plus it probably needs more people looking over it
L1022[10:52:10] ⇦ Quits: M4thG33k (~M4thG33k@2604:2d80:c02b:a7d5:4881:2b94:b56e:f1e2) (Quit: I've derivatives to take...adios!)
L1023[10:54:33] ⇨ Joins: Bottersnike (~Bottersni@cpc92754-stap14-2-0-cust1.12-2.cable.virginm.net)
L1024[10:55:48] <Bottersnike> Grrr... When someone tries to force you to swap from your laptop (6GB RAM) to an iMac (4GB ram). Just starting MC has maxed it out and I've been waiting 17min (yes, I'm timing) and MC still hasn't loaded (5 mods!!)
L1025[10:56:47] <Bottersnike> The CPU is much better (i5 vs pentium) but come on!!! It's running windows in an emulator in osX. Why TF would I ever want to switch to that as my primary PC!?
L1026[10:57:34] ⇨ Joins: zabi94 (~zabi94@host193-136-dynamic.30-79-r.retail.telecomitalia.it)
L1027[10:57:35] <howtonotwin> why...
L1028[10:57:40] <howtonotwin> windows in an emulator
L1029[10:57:42] <howtonotwin> wat
L1030[10:58:44] <Bottersnike> Because win10 doesn't work with bootcamp
L1031[10:58:47] ⇨ Joins: M4thG33k (~M4thG33k@2604:2d80:c02b:a7d5:4881:2b94:b56e:f1e2)
L1032[10:58:52] <Bottersnike> And yeah. IK. It's really dumb
L1033[10:59:23] <howtonotwin> doesn't using windows completely defeat the purpose of using a mac xD
L1034[10:59:28] <Bottersnike> Yep
L1035[10:59:30] <M4thG33k> I'm attempting to create a new model from two old models; is it possible to do this by manipulating the BakedQuads from the originals?
L1036[10:59:34] ⇨ Joins: Thefjong (~Thefjong@3e6b1b1c.rev.stofanet.dk)
L1037[10:59:39] <howtonotwin> yes
L1038[10:59:50] <Bottersnike> And there was me saying "I want to build a pc" and they're like, "no. Use the old iMac"
L1039[10:59:51] <howtonotwin> models are immutable, you can do whatever you want to do with them
L1040[11:00:05] <howtonotwin> bc you won't ever be able to break anything
L1041[11:00:14] <hehe> except work aparently
L1042[11:00:27] <howtonotwin> hehe
L1043[11:00:31] <hehe> yes?
L1044[11:00:33] <howtonotwin> hehe hehe hehe hehe hehe
L1045[11:00:38] <M4thG33k> The follow-up then: how do I manipulate the baked quads? The vertex data is packed using the VertexFormat, but I'm unsure how to unpack the data
L1046[11:00:39] <howtonotwin> s/e/a/g
L1047[11:00:45] <hehe> yes? yes? yes? yes? yes?
L1048[11:01:26] ⇦ Quits: Thefjong (~Thefjong@3e6b1b1c.rev.stofanet.dk) (Read error: Connection reset by peer)
L1049[11:01:57] <howtonotwin> well you get the data
L1050[11:02:02] <howtonotwin> and you get the format
L1051[11:02:12] <howtonotwin> and you basically do the reverse of building a quad
L1052[11:02:27] ⇨ Joins: Thefjong (~Thefjong@3e6b1b1c.rev.stofanet.dk)
L1053[11:02:43] <howtonotwin> instead of writing data into it from another data structure, read data from it into another data structure
L1054[11:04:20] <M4thG33k> I understand that. What I don't understand is how the specific VertexFormat works. I've been digging through the source and can't find a place where a BakedQuad is actually formed.
L1055[11:04:31] <howtonotwin> they're made from builders
L1056[11:04:43] <howtonotwin> and you should never actually depend on the structure of a VF
L1057[11:04:52] <howtonotwin> you just loop over the elements
L1058[11:05:09] <howtonotwin> and then read/write bytes from/to the data
L1059[11:05:38] <howtonotwin> try ModelFluid
L1060[11:05:58] <howtonotwin> it's filled with helper methods that write to BakedQuads
L1061[11:06:05] <howtonotwin> just do the opposite of that
L1062[11:06:19] <M4thG33k> Thanks! I'll work with that!
L1063[11:06:40] ⇦ Quits: M4thG33k (~M4thG33k@2604:2d80:c02b:a7d5:4881:2b94:b56e:f1e2) (Quit: I've derivatives to take...adios!)
L1064[11:06:47] ⇨ Joins: SatanicSanta (~SatanicSa@c-76-115-175-15.hsd1.or.comcast.net)
L1065[11:06:51] <howtonotwin> well *a* helper method :P
L1066[11:06:54] <howtonotwin> putVertex
L1067[11:10:04] <howtonotwin> also you can use call hierarchy on a method/class/field to see wherever it is called/constructed/accessed
L1068[11:12:43] *** cpw|out is now known as cpw
L1069[11:13:37] ⇦ Quits: Bottersnike (~Bottersni@cpc92754-stap14-2-0-cust1.12-2.cable.virginm.net) (Quit: Bai)
L1070[11:13:38] ⇦ Quits: raoulvdberge (uid95673@id-95673.richmond.irccloud.com) ()
L1071[11:14:59] ⇨ Joins: Bottersnike (~Bottersni@cpc92754-stap14-2-0-cust1.12-2.cable.virginm.net)
L1072[11:15:25] ⇦ Quits: McJty (~jorrit@94-225-203-206.access.telenet.be) (Quit: Leaving)
L1073[11:23:59] ⇨ Joins: Brokkoli (~Brokkoli@p5B23C07C.dip0.t-ipconnect.de)
L1074[11:25:32] ⇦ Quits: jordibenck (~jordi@86.89.212.184) (Ping timeout: 206 seconds)
L1075[11:25:41] <SatanicSanta> gigaherz: Turns out by not inheriting IModelCustomData/IRetexturableModel and doing simply IModel fixed it. I am assuming this is because the blockstate json is now valid, since those two require their own section of the json which was not present
L1076[11:25:55] <SatanicSanta> and by "fixed it" I mean bake and all that is getting called. The actual rendering still doesnt work :P
L1077[11:26:59] <gigaherz> they don't require the section, though
L1078[11:27:07] <gigaherz> it's an optional feature that you are free not to use :/
L1079[11:27:25] <gigaherz> however if it works for you :/
L1080[11:27:39] ⇦ Quits: sww1235 (~sww1235@bananas.cs.colostate.edu) (Killed (NickServ (GHOST command used by sww1235_)))
L1081[11:27:41] <SatanicSanta> well, there are no more errors in the log about the model/blockstate and the methods are being called, and the model is no longer the missing model model
L1082[11:27:47] <SatanicSanta> and that is all i changed :P
L1083[11:28:00] <howtonotwin> o_O
L1084[11:28:03] <howtonotwin> O_o
L1085[11:28:05] <howtonotwin> O_O
L1086[11:28:09] <SatanicSanta> o_o
L1087[11:28:25] <howtonotwin> what dark magicks...
L1088[11:28:40] ⇨ Joins: TechnicianLP (~Technicia@p4FE575DF.dip0.t-ipconnect.de)
L1089[11:28:41] <SatanicSanta> though, its still the missing textures
L1090[11:28:45] <howtonotwin> I want to see that code...
L1091[11:28:53] <SatanicSanta> lemme update the gist
L1092[11:29:01] <howtonotwin> if the textures are spec'd in the blockstate json
L1093[11:29:08] <howtonotwin> you must implement IRetexturableModel
L1094[11:29:15] <howtonotwin> just an fyi
L1095[11:29:35] <SatanicSanta> they arent
L1096[11:29:37] <SatanicSanta> its all in code
L1097[11:29:41] <howtonotwin> ok
L1098[11:29:43] <SatanicSanta> https://gist.github.com/elifoster/92bdc66349d709ddd2a8141a7b484597
L1099[11:32:32] <howtonotwin> coreModel.getQuads(null, null, 0)
L1100[11:32:39] <howtonotwin> that seems breaky
L1101[11:33:14] <SatanicSanta> yeah
L1102[11:33:33] <SatanicSanta> IBlockState, EnumFacing, long rand
L1103[11:33:45] ⇨ Joins: jordibenck (~jordi@86.89.212.184)
L1104[11:33:46] <SatanicSanta> There is no IBlockState or EnumFacing because it is an item
L1105[11:34:23] <howtonotwin> oh woops
L1106[11:34:25] <howtonotwin> sorry
L1107[11:34:27] <howtonotwin> misread
L1108[11:35:38] <howtonotwin> y'know, at this point it's probably best to fire up a debugger
L1109[11:36:20] ⇦ Quits: zabi94 (~zabi94@host193-136-dynamic.30-79-r.retail.telecomitalia.it) (Read error: Connection reset by peer)
L1110[11:36:56] <SatanicSanta> IntelliJ has built in debugging tools which I am using
L1111[11:37:26] ⇨ Joins: minecreatr (~minecreat@tterrag.com)
L1112[11:37:30] <howtonotwin> I'd be very surprised (and angry) if it didn't :P
L1113[11:39:38] ⇨ Joins: Ipsis (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk)
L1114[11:40:27] ⇨ Joins: Girafi (Girafi@0x555178eb.adsl.cybercity.dk)
L1115[11:42:18] ⇨ Joins: infinitefoxes_ (~infinitef@47.185.12.253)
L1116[11:43:06] <infinitefoxes_> should I use reflection where possible instead of ATs?
L1117[11:43:17] <infinitefoxes_> my understanding is that the usage of ATs is discouraged
L1118[11:43:18] ⇨ Joins: Xilef11 (~xilef11@209.195.101.19)
L1119[11:43:43] <howtonotwin> yes
L1120[11:43:49] ⇦ Quits: Bottersnike (~Bottersni@cpc92754-stap14-2-0-cust1.12-2.cable.virginm.net) (Ping timeout: 183 seconds)
L1121[11:43:54] <howtonotwin> unless you're doing it several times a second
L1122[11:44:04] <howtonotwin> at which point you might want to consider ATs
L1123[11:44:19] <infinitefoxes_> well, I'm doing it in a render method
L1124[11:44:22] <howtonotwin> also make sure to cache things like Methods and Fields so you don't keep creating them
L1125[11:44:55] <howtonotwin> I'd say you should profile it
L1126[11:45:10] <infinitefoxes_> mmhm
L1127[11:45:11] <howtonotwin> and only use an AT if you see it's too slow
L1128[11:45:41] ⇦ Quits: Xilef11 (~xilef11@209.195.101.19) (Client Quit)
L1129[11:46:02] <infinitefoxes_> I've abused it already and used JProfiler to measure it's impact, but I wasn't finding any mention of it in the call tree
L1130[11:46:59] <infinitefoxes_> so I think it's safe to assume the impact is pretty much non-existent
L1131[11:47:00] ⇨ Joins: iso2013 (~iso2013@c-67-176-10-45.hsd1.co.comcast.net)
L1132[11:47:02] <howtonotwin> is it an event handler?
L1133[11:47:24] <howtonotwin> actually nvm
L1134[11:47:25] <infinitefoxes_> no, I'm calling RenderItem#renderModel(IBakedModel, int)
L1135[11:47:33] <howtonotwin> if you don't see it, it's fine :P
L1136[11:49:45] * iso2013 is kindof a noob to Git
L1137[11:50:03] <iso2013> How can I create a patch that I can apply to a Bungee/Waterfall jar to enable double bungeecord functionality
L1138[11:50:44] <howtonotwin> a patch?
L1139[11:50:48] <gigaherz> patches don't work that way
L1140[11:50:52] <gigaherz> you apply them to the source code
L1141[11:51:13] <iso2013> right
L1142[11:51:14] <gigaherz> there are "binary patches" that cna apply differences to compiled code
L1143[11:51:17] <gigaherz> but it's unrelated to git
L1144[11:51:18] <gigaherz> ;P
L1145[11:58:27] <TechnicianLP> windows decided to install updates without asking me (again) (i hope i dont need to boot it anymore xD)
L1146[11:58:40] <iso2013> blame win10
L1147[11:58:53] <Ordinastie> the last update took hours for me
L1148[11:59:05] <Ordinastie> with multiple reboots during it
L1149[11:59:27] <TechnicianLP> dont know how long it would take - it automaticly booted my linux on the first reboot
L1150[11:59:39] <howtonotwin> lol
L1151[12:02:35] <gigaherz> TechnicianLP: did you upgrade from windows 7?
L1152[12:02:40] <gigaherz> originally
L1153[12:03:06] <gigaherz> on my laptop, the big updates take only like 15 minutes
L1154[12:03:14] <gigaherz> but the laptop doesn't have many apps that need migration
L1155[12:03:21] <gigaherz> but it is a rough estimate
L1156[12:03:28] <gigaherz> if the original win7->win10 upgrade took an hour
L1157[12:03:39] <gigaherz> then the annivestary update will take a similar amount of time
L1158[12:03:53] <gigaherz> since both are in practice, upgrade-installs
L1159[12:03:58] <gigaherz> they create a new installation of windows
L1160[12:04:04] <gigaherz> and migrate settings and apps from the old folders
L1161[12:04:20] <iso2013> please finish your sentence before hitting enter
L1162[12:04:53] <gigaherz> I use enter as a replacement for punctuation ;p
L1163[12:04:56] <howtonotwin> I don't think that's going to happen
L1164[12:04:58] <howtonotwin> :P
L1165[12:05:03] <gigaherz> I write this way by choice
L1166[12:05:13] <SatanicSanta> gigaherz: Hm. I think I may need to add the textures via texture stitching
L1167[12:05:21] <gigaherz> SatanicSanta: why?
L1168[12:05:45] <gigaherz> you just need to make sure that ALL the textures are specified in the getTextures section
L1169[12:05:48] <SatanicSanta> gigaherz: because the function passed to bake is not getting the textures even though their rl is correct
L1170[12:05:48] <gigaherz> not just the ones you need NOW
L1171[12:05:53] <gigaherz> but *all* the required textures
L1172[12:05:54] <SatanicSanta> um
L1173[12:05:55] <SatanicSanta> thats impossible.
L1174[12:06:11] <gigaherz> then the stitch event won't help either?
L1175[12:06:15] *** Vigaro is now known as V
L1176[12:06:20] *** V is now known as Vigaro
L1177[12:06:27] <SatanicSanta> ugh
L1178[12:06:30] <SatanicSanta> you're right.
L1179[12:06:37] <gigaherz> you need to be able to enumerate them during loading
L1180[12:06:39] <gigaherz> one way or another
L1181[12:06:59] <gigaherz> and if you can put them onto the stitch event, you can also put them on your IModel
L1182[12:07:05] <SatanicSanta> right.
L1183[12:07:18] <SatanicSanta> I don't know how I would do either of them
L1184[12:07:27] <gigaherz> you don't have a list of textures?
L1185[12:07:30] <SatanicSanta> no
L1186[12:07:35] <howtonotwin> I assume it's because the upgrades can do anything for their textures?
L1187[12:07:42] <SatanicSanta> basically
L1188[12:07:50] <gigaherz> well those upgrades need to be declared in advance
L1189[12:07:52] <SatanicSanta> I can get the base name for the texture of hte upgrade
L1190[12:07:56] <gigaherz> ;P
L1191[12:07:57] <TechnicianLP> giga: 8.1 -> 10
L1192[12:08:02] <howtonotwin> Registries might not be a bad idea for them then
L1193[12:08:06] <gigaherz> TechnicianLP: same thing
L1194[12:08:11] <SatanicSanta> howtonotwin: that blows
L1195[12:08:14] <gigaherz> SatanicSanta: you want an upgrade registry
L1196[12:08:15] <SatanicSanta> ill mess around with it
L1197[12:08:21] <howtonotwin> it's just a registry :P
L1198[12:08:21] <gigaherz> that can declare each upgrade's textures
L1199[12:08:27] <SatanicSanta> gigaherz: I really don't want a registry JUST for textures.
L1200[12:08:31] <howtonotwin> registries are good
L1201[12:08:36] <SatanicSanta> eh not really.
L1202[12:08:39] <gigaherz> well you can't help it
L1203[12:08:40] <SatanicSanta> not in this case
L1204[12:08:47] <gigaherz> whoever provides upgrades, will have to enumerate the upgrades somehow
L1205[12:08:53] <gigaherz> or at least
L1206[12:08:56] <gigaherz> the textures involved
L1207[12:09:01] <gigaherz> I'd do something like
L1208[12:09:14] <gigaherz> YourCustomModel.requireTexture(RL)
L1209[12:09:20] <gigaherz> which stores them in a List<RL>
L1210[12:09:29] <gigaherz> or a Set<RL> to prevent duplicates
L1211[12:09:53] <SatanicSanta> I'm not doing a registry as long as I can help it
L1212[12:09:56] <howtonotwin> why?
L1213[12:10:00] <howtonotwin> they don't hurt
L1214[12:10:01] <SatanicSanta> they are annoying
L1215[12:10:05] <SatanicSanta> and often unneeded
L1216[12:10:30] <gigaherz> that's why we aren't suggesting a full-blown registry
L1217[12:10:35] <gigaherz> which WOULD BE GOOD
L1218[12:10:38] ⇨ Joins: AstralSorcerer (~AstralSor@128.151.114.82)
L1219[12:10:45] <gigaherz> since it would let you show a list on JEI and such
L1220[12:11:00] <gigaherz> but you at least need to enumerate those textures.
L1221[12:11:46] <SatanicSanta> hrm
L1222[12:11:50] <masa> there is a hotkey for changing between creative and spectator right? but what is it...?
L1223[12:11:58] <gigaherz> there is ?!?!
L1224[12:12:06] <SatanicSanta> The code I had written for this before sucks more than a registry, I guess.
L1225[12:12:07] <howtonotwin> F3+N
L1226[12:12:12] <howtonotwin> F3+Q
L1227[12:12:15] <howtonotwin> for show all keys
L1228[12:14:12] <masa> thanks
L1229[12:14:24] <howtonotwin> np
L1230[12:14:28] <masa> didn't realize it was one of those F3+something keys
L1231[12:15:34] <gigaherz> I guess only ops can use it?
L1232[12:15:45] <howtonotwin> yes
L1233[12:16:17] <howtonotwin> If you couldn't enact the gamemode switch with /gamemode, the key won't work either
L1234[12:18:03] ⇨ Joins: raoulvdberge (~raoul@95.85.20.191)
L1235[12:18:57] ⇨ Joins: wundrweapon (~quassel@cpe-172-101-184-119.rochester.res.rr.com)
L1236[12:19:06] <wundrweapon> ping
L1237[12:20:14] <howtonotwin> <wundrweapon> pong
L1238[12:20:33] <wundrweapon> why the backwards lol
L1239[12:20:35] <wundrweapon> anyways
L1240[12:21:18] <wundrweapon> I need a whole boatload of help with my enchantments mod. is there anyone (or a group of people) that I could chat with on discord or something for assistance?
L1241[12:21:22] <Corosus> wow that msg renders really weird with a script i use
L1242[12:22:50] <howtonotwin> IDK much about enchants, but what's your issue?
L1243[12:23:33] *** Darkhax_AFK is now known as Darkhax
L1244[12:24:47] <wundrweapon> I'm making new enchants for the bow. the idea is to not add any items, blocks, or entities, but to make the following: (1) anti-gravity shot, (2) shot that instantly is at max charge (functional, yet graphically a disappointment, (3) as soon as the arrow is fired, it instantly lands and deals damager where it would've normally, and (4) fire like an MG
L1245[12:25:09] <wundrweapon> wb dark
L1246[12:25:11] <howtonotwin> for (2):
L1247[12:25:25] <howtonotwin> the bow animation is an item property
L1248[12:25:30] <howtonotwin> do you know what those are?
L1249[12:25:34] <wundrweapon> nope
L1250[12:25:40] <howtonotwin> one mo'
L1251[12:25:45] <wundrweapon> a'ight
L1252[12:26:13] <howtonotwin> https://github.com/howtonotwin/MCForgeDocumentation/blob/models/docs/models/overrides.md
L1253[12:26:20] <howtonotwin> read the first two paragraphs
L1254[12:26:25] <wundrweapon> alright
L1255[12:27:27] <howtonotwin> oh crap I just noticed that one awkward word in there >.<
L1256[12:28:56] * wundrweapon does not see the awkward word
L1257[12:29:45] <howtonotwin> "Item properties assign a certain float value to every ItemStack it is registered for"
L1258[12:29:52] * howtonotwin failed in English
L1259[12:30:18] <wundrweapon> ah
L1260[12:30:19] <howtonotwin> number does not agree between "properties" and "it is"
L1261[12:30:46] <howtonotwin> so you know what they are now?
L1262[12:30:52] <howtonotwin> and you know how bows work?
L1263[12:31:00] <wundrweapon> so I sorta get the idea, but how do I manipulate them to cut to the final pull img?
L1264[12:31:07] <wundrweapon> what about zoom?
L1265[12:31:09] <howtonotwin> suggest you take a gander at ItemBow rn actually
L1266[12:31:21] <howtonotwin> first you should understand how vanilla does it
L1267[12:31:22] <wundrweapon> alright
L1268[12:31:28] <howtonotwin> before you override it
L1269[12:32:17] <wundrweapon> looking at ItemBow
L1270[12:32:26] <howtonotwin> you see the `IItemPropertyGetter`s?
L1271[12:32:32] <howtonotwin> they are what tell the model system
L1272[12:32:42] <howtonotwin> "stack x has been pulled this much"
L1273[12:32:56] <wundrweapon> in what, itembow?
L1274[12:32:59] <howtonotwin> now look at src/main/resources/models/item/bow.json
L1275[12:33:00] <howtonotwin> yes
L1276[12:33:12] <wundrweapon> .....i forgot to mention I'm using 1.7.10...
L1277[12:33:18] <howtonotwin> oh
L1278[12:33:20] <howtonotwin> um
L1279[12:33:22] <howtonotwin> well then
L1280[12:33:32] <howtonotwin> I have no idea and you should ask someone else
L1281[12:33:33] <howtonotwin> sorry
L1282[12:33:37] <wundrweapon> dang it
L1283[12:33:40] <wundrweapon> thanks anyways
L1284[12:35:28] *** raoulvdberge is now known as raoulvdberge|off
L1285[12:37:16] ⇦ Quits: jordibenck (~jordi@86.89.212.184) (Quit: Leaving)
L1286[12:41:02] ⇦ Parts: raoulvdberge|off (~raoul@95.85.20.191) ())
L1287[12:41:18] ⇨ Joins: raoulvdberge (~raoul@95.85.20.191)
L1288[12:41:26] <raoulvdberge> hmmm
L1289[12:42:00] ⇨ Joins: Noppes (~Noppes@ip56530f2e.direct-adsl.nl)
L1290[12:44:16] ⇦ Quits: Seppon (~Noppes@ip56530f2e.direct-adsl.nl) (Ping timeout: 183 seconds)
L1291[12:53:25] ⇨ Joins: Seppon (~Noppes@ip56530f2e.direct-adsl.nl)
L1292[12:58:17] <Koward> I'm trying to port an energy system to capabilities, and I'm wondering how to handle a "connector" blocks whose power-emitting face change depending on pipes placed near it.
L1293[12:59:09] ⇦ Quits: Noppes (~Noppes@ip56530f2e.direct-adsl.nl) (Ping timeout: 384 seconds)
L1294[13:01:20] *** LordFokas|out is now known as LordFokas
L1295[13:02:00] <howtonotwin> explain a bit more?
L1296[13:02:50] <diesieben07> Koward, you can dynamically change which capabilities you expose where.
L1297[13:03:33] <howtonotwin> ^ that's the point of the system
L1298[13:05:45] <diesieben07> not really "the point of the sytem", just one of the things you can do
L1299[13:05:56] <diesieben07> but it is one nice thing, yes
L1300[13:06:06] <diesieben07> because you can't dyanmically un-implement an interface on your TE :D
L1301[13:06:16] <howtonotwin> "dynamically exposing APIs" is the main point :P
L1302[13:06:28] <diesieben07> yeah i guess so :D
L1303[13:12:11] <SatanicSanta> woo
L1304[13:12:39] <howtonotwin> reverse that and it says: oow
L1305[13:12:41] <SatanicSanta> the model stuff almost works :D
L1306[13:12:42] <howtonotwin> :P
L1307[13:15:22] <Koward> I know the provider can return a capability depending on the given EnumFacing, but how would I know which one is connected ?
L1308[13:15:32] <diesieben07> you check.
L1309[13:15:54] <diesieben07> in getCapability you can check whatever condition you have that says "i am connected"
L1310[13:15:57] <LexManos> the neighbor should nitify you when it changes states
L1311[13:16:00] <Koward> Check what ? From the provider point of view, I don't see many references to "outside"
L1312[13:16:00] <howtonotwin> blockstates? TE data? Nasal demons?
L1313[13:16:03] <LexManos> recalculate connections on that notification
L1314[13:16:13] <Koward> Ooh
L1315[13:16:18] <diesieben07> provider is your TE...
L1316[13:16:23] <Koward> Yes yes
L1317[13:16:24] <diesieben07> it knows position, world, etc.
L1318[13:16:50] <Koward> Damn these capabilities are f*cking magic.
L1319[13:16:57] <howtonotwin> lol
L1320[13:16:57] <Koward> I absolutely love all of this
L1321[13:18:23] * wundrweapon reluctantly begins porting code to 1.10.2
L1322[13:18:32] <wundrweapon> (I really hate 1.8+ modding)
L1323[13:18:34] <howtonotwin> oh you're gonna die
L1324[13:18:39] <howtonotwin> a painful death
L1325[13:18:40] <wundrweapon> yup
L1326[13:18:47] <wundrweapon> mentallly, without a doubt
L1327[13:18:49] <howtonotwin> 1.7 -> 1.10
L1328[13:19:01] <howtonotwin> that's big
L1329[13:19:13] <wundrweapon> when I say "port" I mean complete rewrite :/
L1330[13:19:16] <howtonotwin> thankfully willie is a wonderful person
L1331[13:19:22] <LexManos> Thats what you deserve for being lazy :/
L1332[13:19:25] <wundrweapon> wundrful*
L1333[13:19:30] ⇦ Quits: Infrared_Panda (~InfraredP@pool-108-56-79-247.washdc.fios.verizon.net) (Read error: Connection reset by peer)
L1334[13:19:35] <howtonotwin> he has things written on the new things in 1.8+
L1335[13:19:43] <wundrweapon> what [i]I[/i] deserve? yeah, probably
L1336[13:19:46] <howtonotwin> https://gist.github.com/williewillus/57d7093efa80163e96e0
L1337[13:19:55] <howtonotwin> https://gist.github.com/williewillus/e37edde85dc78d2e138c
L1338[13:19:57] <wundrweapon> thx4link
L1339[13:20:04] <howtonotwin> those will help you so much
L1340[13:20:10] <howtonotwin> also the rtd page
L1341[13:20:18] <howtonotwin> and my branch of the rtd page
L1342[13:20:28] <howtonotwin> /shamelesspromo
L1343[13:20:38] <wundrweapon> kek
L1344[13:21:12] <wundrweapon> ~longest decomp yet~
L1345[13:21:14] <howtonotwin> you should probably read the rtd pages now
L1346[13:21:18] <howtonotwin> like right now
L1347[13:21:19] <LexManos> what does your branch have that the root doesnt?
L1348[13:21:22] <wundrweapon> yeah...
L1349[13:21:23] <howtonotwin> not even blocks and items are the same
L1350[13:21:24] <LexManos> And why doesn't the root?
L1351[13:21:25] <howtonotwin> models
L1352[13:21:27] <howtonotwin> all the models
L1353[13:21:49] <howtonotwin> and advanced models are halfway(-ish) done too
L1354[13:21:49] <LexManos> Longest decomp yet, yet best decompiled code yet!
L1355[13:21:51] <shartte> hrrrrm. why does a canceled PlayerInteractEvent still send a TryUseItem packet to the server? hrrrm
L1356[13:21:54] <howtonotwin> so yay!
L1357[13:22:13] <howtonotwin> shartte: I think that may be an existing issue on the Forge repo
L1358[13:22:15] <howtonotwin> I think
L1359[13:22:16] <howtonotwin> maybe
L1360[13:22:20] <shartte> Well no, it's intentional
L1361[13:22:24] <shartte> the line even has a comment about it :D
L1362[13:22:28] <shartte> i just dont understand the reasoning
L1363[13:22:31] ⇨ Joins: Noppie (~Noppes@ip56530f2e.direct-adsl.nl)
L1364[13:22:41] * howtonotwin is a dumb-dumb
L1365[13:22:41] <wundrweapon> tbh I wouldn't be so ticked off about 1.8+ if I could avoid models and JSON
L1366[13:22:46] <howtonotwin> y tho
L1367[13:22:55] <howtonotwin> it's really not that bad
L1368[13:22:59] <LexManos> we SHOULD really rtemove the PIE fromt he client side
L1369[13:23:06] <LexManos> its just asking for a lot of issues
L1370[13:23:09] <howtonotwin> all the FUD was worse than the real thing
L1371[13:23:23] <Unh0ly_Tigg> pie?
L1372[13:23:30] <SatanicSanta> Unh0ly_Tigg: PlayerInteractEvent
L1373[13:23:33] <Unh0ly_Tigg> ahh
L1374[13:23:34] <howtonotwin> no pie for you
L1375[13:23:47] <howtonotwin> instead, have cake :P
L1376[13:23:53] <SatanicSanta> shartte and howtonotwin: https://github.com/MinecraftForge/MinecraftForge/issues/3272
L1377[13:24:28] <shartte> Oh I see
L1378[13:24:32] <wundrweapon> howtonotwin: I cannot find the rtd pages - where am I supposed to be looking
L1379[13:24:33] *** Abrar|gone is now known as AbrarSyed
L1380[13:24:40] <shartte> Yeah, I am porting old code, and it does it's own interaction packet sending
L1381[13:24:42] <SatanicSanta> wundrweapon: see the topic
L1382[13:24:54] <shartte> which ofcourse - as you might expect - duplicates the interaction
L1383[13:24:56] <wundrweapon> ....I'm an idiot
L1384[13:25:05] ⇦ Quits: Seppon (~Noppes@ip56530f2e.direct-adsl.nl) (Ping timeout: 183 seconds)
L1385[13:25:09] <SatanicSanta> hmmmm
L1386[13:25:09] <shartte> since canceling the event doesn't fully cancel it now
L1387[13:25:54] <howtonotwin> My branch of the docs is basically all in this directory: https://github.com/howtonotwin/MCForgeDocumentation/tree/models/docs/models
L1388[13:26:15] <howtonotwin> which should be read in this order: https://github.com/howtonotwin/MCForgeDocumentation/blob/models/mkdocs.yml#L13-L20
L1389[13:26:16] <wundrweapon> thx
L1390[13:26:21] <howtonotwin> np
L1391[13:26:36] <howtonotwin> and you really should start with a complete blank slate
L1392[13:26:37] <SatanicSanta> Does vanilla have a perspective aware model that I can look at as an example?
L1393[13:26:55] <SatanicSanta> "can" meaning should, as in it doesnt sucks
L1394[13:26:56] <howtonotwin> Type hierarchy on the class?
L1395[13:27:08] <shartte> Allright though. I was able to solve my issues (apparently) by moving it all to the server-side for the PIE
L1396[13:27:08] <howtonotwin> *interface
L1397[13:27:17] <gigaherz> SatanicSanta: perspective-aware models are not part of vanilla, they are added by forge
L1398[13:27:23] <SatanicSanta> oh indeed
L1399[13:27:28] <SatanicSanta> i misread the package name
L1400[13:27:32] <wundrweapon> howtonotwin: by "blank slate" do you mean "don't just rewrite to start, just go without a base?"
L1401[13:27:43] <howtonotwin> I mean delete everything
L1402[13:27:50] <howtonotwin> and start writing the mod from scratch
L1403[13:27:51] <howtonotwin> :P
L1404[13:27:52] <wundrweapon> *sigh* alright
L1405[13:27:58] <howtonotwin> you can probably keep some TE logic
L1406[13:28:10] <wundrweapon> TE?
L1407[13:28:12] <howtonotwin> and entities haven't changed much either
L1408[13:28:15] <howtonotwin> Tile entity
L1409[13:28:26] <howtonotwin> and if you did rendering code for blocks or items
L1410[13:28:32] <howtonotwin> almost totally useless
L1411[13:28:38] <wundrweapon> well given that my entire mod is event handlers and enchantments, I'll just restart...
L1412[13:28:49] <howtonotwin> those haven't changed much...
L1413[13:28:53] <gigaherz> event handlers haven't changed much
L1414[13:28:59] <gigaherz> enchantments have changed a bit
L1415[13:29:06] <gigaherz> specially in that you don't have to manually find an ID for them
L1416[13:29:12] <howtonotwin> so in your case: YAY! easy port
L1417[13:29:15] <howtonotwin> kinds
L1418[13:29:16] <howtonotwin> *kinda
L1419[13:29:17] <howtonotwin> :P
L1420[13:29:21] <wundrweapon> hoorah
L1421[13:29:30] <gigaherz> however the way in which your enchantments work may have changed
L1422[13:29:36] <gigaherz> so it's a case-by-case thing
L1423[13:29:38] <wundrweapon> whelp I'm gonna get on it. I'll return later, assume I'm not brain dead
L1424[13:29:40] <gigaherz> stay around and feel free to ask
L1425[13:29:41] <gigaherz> ;P
L1426[13:29:54] ⇦ Quits: wundrweapon (~quassel@cpe-172-101-184-119.rochester.res.rr.com) (Remote host closed the connection)
L1427[13:34:16] <SatanicSanta> hmmm
L1428[13:34:36] <SatanicSanta> couldn't I just use an ItemCameraTransformation to have my model treated as a tool-like model?
L1429[13:34:53] *** mumfrey is now known as Mumfrey
L1430[13:34:55] <howtonotwin> you could
L1431[13:34:56] ⇦ Quits: sinkillerj (~sinkiller@nc-67-232-14-224.dhcp.embarqhsd.net) (Remote host closed the connection)
L1432[13:34:58] <SatanicSanta> it looks like it already is, but the orientation is "flat" to the camera, rather than at an angle like a normal tool
L1433[13:35:03] <howtonotwin> but you shouldn't
L1434[13:35:18] <SatanicSanta> which would make some sense since the blockstate specifies the transform to forge:default-tool
L1435[13:37:18] <SatanicSanta> howtonotwin: what should i do instead?
L1436[13:37:29] <howtonotwin> IPerspectiveAwareModel
L1437[13:37:34] <howtonotwin> which is super simple
L1438[13:37:48] <gigaherz> if you want your model to have tool transforms
L1439[13:38:18] <gigaherz> you can specify "transform":"forge:default-tool"
L1440[13:38:24] <SatanicSanta> i do that
L1441[13:38:27] <gigaherz> and then use the TRSRTransformation passed into the bake method
L1442[13:38:34] <SatanicSanta> [11:35:17] <SatanicSanta> it looks like it already is, but the orientation is "flat" to the camera, rather than at an angle like a normal tool
L1443[13:38:35] <gigaherz> to modify your child models
L1444[13:38:51] <gigaherz> that's because when you call bake on your child models
L1445[13:38:57] <howtonotwin> the transform, I think, is in the IModelState
L1446[13:38:58] <howtonotwin> I think
L1447[13:38:59] <gigaherz> you have to pass that TRSRTransformation into them
L1448[13:39:00] <gigaherz> yep
L1449[13:39:06] <gigaherz> TRSRTransformation is an IModelState
L1450[13:39:06] <howtonotwin> therefore you must handle that in bake
L1451[13:39:15] <gigaherz> so store it in bake
L1452[13:39:21] <gigaherz> and use it whenever you call bake on other models
L1453[13:39:33] <howtonotwin> use the helper statics in IPerspAwareModel.MapWrapper
L1454[13:39:37] <gigaherz> you can combine transformations
L1455[13:39:41] <SatanicSanta> processed.bake(new SimpleModelState(steamToolBakedModel.transforms), steamToolBakedModel.format, ModelLoader.defaultTextureGetter());
L1456[13:40:09] <SatanicSanta> in handleItemState
L1457[13:40:48] <SatanicSanta> transforms is set to IPerspectiveAwareModel.MapWrapper.getTransforms(state)
L1458[13:40:55] <SatanicSanta> in bake
L1459[13:41:37] ⇦ Quits: Ipsis (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk) (Ping timeout: 183 seconds)
L1460[13:42:33] ⇨ Joins: Noppes (~Noppes@ip56530f2e.direct-adsl.nl)
L1461[13:44:43] ⇦ Quits: Noppie (~Noppes@ip56530f2e.direct-adsl.nl) (Ping timeout: 183 seconds)
L1462[13:46:23] <SatanicSanta> not really sure what I would be doing differently
L1463[13:52:04] ⇨ Joins: wundrweapon (~quassel@cpe-172-101-184-119.rochester.res.rr.com)
L1464[13:52:39] <wundrweapon> Enchantment.enchantmentsList is no longer a thing; what would its 1.10.2 equivalent be
L1465[13:53:12] <howtonotwin> GameRegistry
L1466[13:53:21] <howtonotwin> lots of things have moved to registries
L1467[13:53:26] <howtonotwin> enchantments too
L1468[13:53:41] <howtonotwin> do you know what a resource location is?
L1469[13:53:50] <wundrweapon> what field of GameRegistry?
L1470[13:53:55] <howtonotwin> .register(
L1471[13:54:02] <howtonotwin> it's static
L1472[13:54:06] <wundrweapon> ah
L1473[13:54:42] <wundrweapon> hm... this makes my port very difficult
L1474[13:54:45] <howtonotwin> why?
L1475[13:55:17] <howtonotwin> in preinit
L1476[13:55:20] <wundrweapon> I was using Enchantment.enchantmentsList to effectively grab the next valid ID for enchantments, to prevent the need or configs of it or just guessing on my own
L1477[13:55:25] <howtonotwin> no
L1478[13:55:26] <howtonotwin> no
L1479[13:55:27] <howtonotwin> nonono
L1480[13:55:28] <howtonotwin> no ids
L1481[13:55:32] <howtonotwin> ids don't exist
L1482[13:55:34] <howtonotwin> they do
L1483[13:55:38] <howtonotwin> but you ignore that
L1484[13:55:44] <howtonotwin> they are beneath your notice
L1485[13:55:47] <wundrweapon> so I can ignore them altogether?
L1486[13:55:48] <howtonotwin> you don't care about them
L1487[13:55:49] <howtonotwin> yes
L1488[13:55:54] <howtonotwin> things are named
L1489[13:55:57] * wundrweapon breathes a sigh of relief
L1490[13:56:02] <howtonotwin> <howtonotwin> do you know what a resource location is?
L1491[13:56:07] *** Kolatra|away is now known as Kolatra
L1492[13:56:15] <wundrweapon> i dont
L1493[13:56:21] <howtonotwin> ok
L1494[13:56:22] <howtonotwin> so
L1495[13:56:23] <howtonotwin> first
L1496[13:56:31] <howtonotwin> resource locations have two parts
L1497[13:56:35] <howtonotwin> the first is a domain
L1498[13:56:38] <howtonotwin> the second is a path
L1499[13:56:44] <SatanicSanta> How frequently does handleItemState get called for first person rendering?
L1500[13:56:45] <howtonotwin> and as a string they look like this
L1501[13:56:51] <howtonotwin> domain:path
L1502[13:56:55] <howtonotwin> capiche?
L1503[13:57:00] <howtonotwin> spelling?
L1504[13:57:02] <howtonotwin> what is?
L1505[13:57:11] <wundrweapon> domain:path got it
L1506[13:57:19] <howtonotwin> anyway they first were used in vanilla
L1507[13:57:19] <gigaherz> SatanicSanta: either "when the item is considered different", or every single frame
L1508[13:57:21] <gigaherz> not 100% sure
L1509[13:57:30] <SatanicSanta> gigaherz: It doesn't appear to be every single frame
L1510[13:57:32] <howtonotwin> to denote the locations of files
L1511[13:57:42] <howtonotwin> (i.e. resources)
L1512[13:57:44] <gigaherz> then whenever the item is considered to have changed
L1513[13:57:47] <SatanicSanta> the texture switching (which, as called in the gist) is only functioning for 3rd person and GUI
L1514[13:58:00] <howtonotwin> now forge has another use for them
L1515[13:58:07] <howtonotwin> it uses them as registry keys
L1516[13:58:12] <howtonotwin> or names of objects
L1517[13:58:22] <howtonotwin> so stone is no longer just ID 1 meta 0
L1518[13:58:31] <howtonotwin> it's minecraft:stone meta 0
L1519[13:58:34] <SatanicSanta> gigaherz: Is it possible to have it get called for every frame?
L1520[13:58:40] <howtonotwin> and even meta is abstracted away
L1521[13:58:41] <wundrweapon> so THAT'S where that came from
L1522[13:58:42] <SatanicSanta> because I *need* that.
L1523[13:58:45] <howtonotwin> but I won't talk about that
L1524[13:58:58] <howtonotwin> so now you give things names
L1525[13:59:02] <howtonotwin> like mod:enchant
L1526[13:59:09] <howtonotwin> there are some rules to follow
L1527[13:59:13] <howtonotwin> 1) snake_case
L1528[13:59:22] <howtonotwin> snake_case_everything
L1529[13:59:27] <howtonotwin> literally_all_the_things
L1530[13:59:32] <gigaherz> this is recommended now
L1531[13:59:35] <gigaherz> will be enforced in 1.11
L1532[13:59:36] <SatanicSanta> gigaherz: Actually, that's strange. The stack's NBT gets updated roughly every tick, so it should be considered different
L1533[13:59:41] <gigaherz> so you may as well start doing snake_case
L1534[13:59:42] <gigaherz> ;P
L1535[13:59:55] <howtonotwin> 2) domain is normally the modid
L1536[13:59:59] <howtonotwin> doesn't have to be
L1537[13:59:59] <gigaherz> SatanicSanta: do you prevent reequip animation?
L1538[14:00:05] <wundrweapon> should_i_snake_case_my_local_variables (rhetorical question)
L1539[14:00:12] <gigaherz> no we are talking about resource names
L1540[14:00:22] <SatanicSanta> gigaherz: well, I override shouldCauseReequipAnimation but it doesnt seem like thats doing anything :P
L1541[14:00:30] <gigaherz> SatanicSanta: i mean, if you return false from there
L1542[14:00:34] <gigaherz> it won't update the models, IIRC
L1543[14:00:40] <howtonotwin> but the domain is reccommended to be the modid or something very close to it
L1544[14:00:55] <wundrweapon> perhaps an acronym of it?
L1545[14:00:57] <gigaherz> for blocks, it HAS to be the modid
L1546[14:00:57] <SatanicSanta> gigaherz: That's dumb. The two things should be totally separate. But yes I do return false there
L1547[14:00:57] <howtonotwin> no
L1548[14:00:59] <wundrweapon> or abbreviation?
L1549[14:01:01] <howtonotwin> it should be the modid
L1550[14:01:03] <gigaherz> no
L1551[14:01:05] <gigaherz> use your modid
L1552[14:01:06] <SatanicSanta> I thought shouldCauseReequipAnimation was for right clicking?
L1553[14:01:07] <wundrweapon> nvm then'
L1554[14:01:09] <gigaherz> and make your modid lowercase
L1555[14:01:18] <howtonotwin> SS: no that's for all changes to the item
L1556[14:01:28] <howtonotwin> basically whenever the item in hand changes
L1557[14:01:29] <gigaherz> SatanicSanta: it's used normally for when you don't want certain NBT/meta changes
L1558[14:01:30] <howtonotwin> that is called
L1559[14:01:34] <gigaherz> to imply the item is different
L1560[14:01:37] <SatanicSanta> I see
L1561[14:01:43] *** amadornes is now known as amadornes[Streaming]
L1562[14:01:50] <SatanicSanta> Well I don't want the animation to be triggered, but I do need the different model to appear
L1563[14:01:58] <SatanicSanta> like how it looks in the gui
L1564[14:01:58] <howtonotwin> so the simplest way to register your enchants
L1565[14:02:07] <howtonotwin> is GameRegistry.register(enchant)
L1566[14:02:11] <howtonotwin> and before you do that
L1567[14:02:13] <gigaherz> working sample
L1568[14:02:13] <gigaherz> https://github.com/gigaherz/Survivalist/blob/master/src/main/java/gigaherz/survivalist/scraping/EnchantmentScraping.java
L1569[14:02:14] <gigaherz> ;P
L1570[14:02:15] <SatanicSanta> because if the animation was triggered for NBT changes, it would be triggered constantly and you would never be able to sue it
L1571[14:02:18] <SatanicSanta> use*
L1572[14:02:22] <howtonotwin> enchant.setRegistryName("enchant")
L1573[14:02:30] <howtonotwin> setRegistryName is speshul
L1574[14:02:41] <howtonotwin> it automatically adds the modid to the RL
L1575[14:02:55] <wundrweapon> ah
L1576[14:02:56] <gigaherz> you can do setRegistryName with a resourcelocation, too
L1577[14:02:58] <gigaherz> just to make it clear
L1578[14:03:10] <howtonotwin> so the above code is the same as enchant.setRN(new RL(currentmodid, "enchant"))
L1579[14:03:11] <gigaherz> it accepts a string for convenience
L1580[14:03:30] <howtonotwin> normally an RL without a domain defaults to "minecraft:path"
L1581[14:04:01] <wundrweapon> there's so many things changed bleh this is gonna be a while to get used to
L1582[14:04:09] <SatanicSanta> gigaherz: Do you know if what I am trying to achieve is possible post 1.7? If not I have no clue how I am going to get this port up.
L1583[14:04:13] <howtonotwin> it's better than before though :P
L1584[14:04:15] <howtonotwin> also
L1585[14:04:22] <howtonotwin> all the instances of Block, Item, Biome
L1586[14:04:23] <SatanicSanta> the item looks fairly stupid without the "animation"
L1587[14:04:23] <howtonotwin> etc.
L1588[14:04:32] <SatanicSanta> (the texture one, not the reequip one)
L1589[14:04:32] <howtonotwin> all that is in net.minecraft.init
L1590[14:04:42] <howtonotwin> at least for vanilla
L1591[14:04:52] <gigaherz> SatanicSanta: possible, sure, everything is possible
L1592[14:04:57] <gigaherz> without hacks? no idea
L1593[14:04:58] <gigaherz> ;p
L1594[14:05:03] <SatanicSanta> uuuuuugh
L1595[14:05:09] <howtonotwin> any more questions?
L1596[14:05:27] <wundrweapon> gigaherz: operator overloading, unsigned variables, multiple inheritance. any questions?
L1597[14:05:33] <wundrweapon> howtonotwin: no, not yet
L1598[14:06:16] <wundrweapon> ...it is safe to rename the project from MDKExample, right?
L1599[14:06:21] <howtonotwin> yes
L1600[14:06:23] <gigaherz> wundrweapon: what?
L1601[14:06:25] <wundrweapon> ok phew
L1602[14:06:27] <howtonotwin> um
L1603[14:06:30] <howtonotwin> edit the build.gradke
L1604[14:06:33] <howtonotwin> *gradle
L1605[14:06:38] <howtonotwin> set the modid and stuff
L1606[14:06:40] <wundrweapon> gigaherz: you said anything is possible, not those because Java
L1607[14:06:48] <gigaherz> that's not what I meant
L1608[14:06:54] <wundrweapon> already done howtonotwin ;)
L1609[14:06:58] <gigaherz> I meant that you can modify Minecraft in any way you wish
L1610[14:07:08] <gigaherz> it's a matter of how ugly the hacks are
L1611[14:07:20] <howtonotwin> did you set the modid in the build.gradle?
L1612[14:07:24] <wundrweapon> yup
L1613[14:07:29] <howtonotwin> the project should not be name MDKExaple
L1614[14:07:49] <howtonotwin> if you did that
L1615[14:07:55] <howtonotwin> unless I'm being dumb
L1616[14:08:04] <howtonotwin> GHz: Am I being dumb?
L1617[14:08:14] <wundrweapon> so I can just refactor the name and all will be fine?
L1618[14:08:16] <gigaherz> hm?
L1619[14:08:27] <howtonotwin> doesn't build.gradle set the project name?
L1620[14:08:36] <gigaherz> yes... or the folder
L1621[14:08:44] <gigaherz> anyhow
L1622[14:08:53] <gigaherz> it may depend on eclipse/idea too
L1623[14:09:01] <gigaherz> in IDEA, the project name comes from the folder name
L1624[14:09:07] <gigaherz> and gets cached in the project files
L1625[14:09:16] <gigaherz> so you have to rename it within IDEA if you want it to take full effect
L1626[14:09:47] <howtonotwin> <wundrweapon> giga_herz: operator overloading, unsigned variables, multiple inheritance. any questions?
L1627[14:09:57] <howtonotwin> can you explain what that means? :P
L1628[14:10:10] <wundrweapon> I'm saying Java can't do those three things
L1629[14:10:19] <howtonotwin> also J8 has a sort of mult inheritance
L1630[14:10:22] <howtonotwin> sorta
L1631[14:10:31] <wundrweapon> eeeehhhhhhhhh
L1632[14:10:47] ⇨ Joins: Ferdz_TheWeeb (~Ferdz_The@24.225.201.205)
L1633[14:10:48] <howtonotwin> like only if you squint
L1634[14:10:49] <IoP> howtonotwin: default methods?
L1635[14:10:51] <howtonotwin> yes
L1636[14:10:55] ⇦ Quits: iso2013 (~iso2013@c-67-176-10-45.hsd1.co.comcast.net) (Quit: Bye :))
L1637[14:11:06] <howtonotwin> also java has a turing complete type system
L1638[14:11:09] <howtonotwin> since probably J5
L1639[14:11:11] <howtonotwin> so yes
L1640[14:11:19] <howtonotwin> literally all things are possible in Java :P
L1641[14:11:34] <IoP> will it brew coffee for me?
L1642[14:11:42] <wundrweapon> all turing complete things, sure, but you will never see an int cap off at 65535
L1643[14:11:57] <howtonotwin> anyway, imma scram for ~15 min
L1644[14:11:59] <howtonotwin> toodles!
L1645[14:12:13] <wundrweapon> IoP: in theory, you could rig up a Keurig for Java integration, so... potentially, yes
L1646[14:13:17] <Ferdz_TheWeeb> So my mod got a bit big, and I'm now facing memory issues. As of now, the game with only my mod in it uses up to 2.3gb of RAM. To be honest I'm not quite sure why, is there a tool I can use to diagnose this?
L1647[14:13:59] <wundrweapon> if your mod needs that much RAM to work then you need to be congratulated for having enough motivatin to make a mod that dang big
L1648[14:14:06] <IoP> Ferdz_TheWeeb: visualvm, java flight recorder and other commercial tools
L1649[14:14:16] <SatanicSanta> Ferdz_TheWeeb: OPIS is nice
L1650[14:14:17] ⇨ Joins: cpup (~cpup@32.218.116.53)
L1651[14:14:32] <SatanicSanta> Ferdz_TheWeeb: for actual debugging tools, I would personally recommend Fluid. it's a plugin for IntelliJ by JetBrains
L1652[14:14:36] <wundrweapon> I don't even have the motivation to eat my meals, I just say "eh, I'll starve for a bit" and do something more entertaining
L1653[14:14:54] <Ferdz_TheWeeb> I have a lot of models, we're talking about at least 80
L1654[14:15:06] <SatanicSanta> gigaherz: This is fairly similar to what my item does https://github.com/MinecraftForge/MinecraftForge/issues/2550 except that the NBT updated in onUpdate is used to determine which texture to use.
L1655[14:15:27] <Ferdz_TheWeeb> And about as many blockstates. However I doubt it is enough to use up this much ram
L1656[14:15:45] <Ferdz_TheWeeb> I tried visualvm but I'm not sure if it really helped, I'm going to try again
L1657[14:16:40] <IoP> Ferdz_TheWeeb: https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/memleaks001.html and http://hirt.se/blog/?p=381
L1658[14:16:59] <Ferdz_TheWeeb> thanks I'll read that
L1659[14:17:18] <Ferdz_TheWeeb> Just to be sure, the process I need to analyze is GradleStart, right?
L1660[14:17:53] <wundrweapon> (how does do change nick?)
L1661[14:18:14] <SatanicSanta> gigaherz: This may help explain what I'm trying to accomplish https://youtu.be/y4voo1hX6F0?t=3m56s
L1662[14:19:53] <gigaherz> can't you use an animated texture while it's "active"?
L1663[14:20:13] <SatanicSanta> no because the velocity in which the texture changes is not static
L1664[14:20:14] <gigaherz> although that may be too slow...
L1665[14:20:26] <SatanicSanta> it starts out slow, speeds up, then slows back down
L1666[14:20:34] <gigaherz> yeah but you have certain limitations here
L1667[14:21:04] <wundrweapon> what's this whole "-source 1.6" warning when I build?
L1668[14:22:23] <IoP> wundrweapon: https://blogs.oracle.com/darcy/entry/how_to_cross_compile_for that blog article should explain everything
L1669[14:22:25] <gigaherz> it means that
L1670[14:22:34] <gigaherz> you are using a JDK newer than java6
L1671[14:22:35] <wundrweapon> alright
L1672[14:22:37] <gigaherz> to compile java6 code
L1673[14:22:46] <gigaherz> so there's a tiny tiny chance of code not working with jre6
L1674[14:22:56] <Ferdz_TheWeeb> It seems like there is 2gb of ram allocated while the game only uses about 1gb, does that sound plausible?
L1675[14:23:05] <wundrweapon> also, I LOVE that building the mod exports source
L1676[14:23:07] <IoP> to be pedant: you are using newer bootstap than java 6, not compiler
L1677[14:24:02] <wundrweapon> hm.. in the "Order and Export" build path tab, should I have everything ticked on?
L1678[14:27:21] <SatanicSanta> oh, maybe I should be doing return slotChanged;
L1679[14:32:01] <wundrweapon> am I correct in saying that enchantment constructors should have the parameters "Rarity rarity, EnumEnchantmentType type, EntityEquipmentSlot[] applicableEquipmentType"
L1680[14:33:58] <howtonotwin> they don't have to
L1681[14:34:02] <wundrweapon> oh
L1682[14:34:14] <howtonotwin> you instantiate them however you want to
L1683[14:34:36] <howtonotwin> and then register the instances
L1684[14:35:26] <howtonotwin> May I see some code samples from your project, just to point out any changes I may have missed?
L1685[14:35:56] <wundrweapon> nah, I'll just ask questions if things go arye
L1686[14:36:22] <howtonotwin> arye
L1687[14:36:25] <howtonotwin> rye bread?
L1688[14:36:35] ⇦ Quits: MiniDigger (~MiniDigge@some.random.host.cause.default.is.boring.minidigger.me) (Remote host closed the connection)
L1689[14:36:36] <wundrweapon> I prefer white
L1690[14:36:50] * howtonotwin burns the heathen
L1691[14:36:51] <howtonotwin> :P
L1692[14:37:04] <wundrweapon> that would mean you burnt yourself
L1693[14:37:25] * howtonotwin uses fire resistance potion
L1694[14:37:35] <wundrweapon> I just got bamboozeld
L1695[14:38:15] <howtonotwin> /execute wundrweapon ~ ~ ~ fill ~-1 ~-1 ~-1 ~1 ~1 ~1 lava
L1696[14:38:31] <wundrweapon> how to tick off a Java programmer: (1) import java.lang.*, and (2) extend Object
L1697[14:38:38] <wundrweapon> howtonotwin: please do that
L1698[14:39:03] <infinitefoxes_> how to tick off a Java programmer: make any wildcard import
L1699[14:39:04] ⇦ Quits: manmaed|AFK (~Ender@97e11baf.skybroadband.com) (Quit: A Quit Was Here)
L1700[14:39:05] <infinitefoxes_> :)
L1701[14:39:12] ⇨ Joins: MiniDigger (~MiniDigge@some.random.host.cause.default.is.boring.minidigger.me)
L1702[14:39:22] <wundrweapon> infinitefoxes_: yes
L1703[14:39:27] ⇦ Quits: quadraxis (~quadraxis@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net) (Ping timeout: 384 seconds)
L1704[14:39:31] <IoP> hmmm "arye" is so close to "aryan" :P
L1705[14:39:44] <wundrweapon> I have actually been in a situation where a wildcard import was the best option
L1706[14:40:03] <IoP> after that seeing "I prefer white" makes things really weird looking
L1707[14:40:15] <wundrweapon> lol
L1708[14:40:49] <howtonotwin> oh
L1709[14:40:50] <IoP> also ".host.cause" in that guy's hostname
L1710[14:40:59] <infinitefoxes_> IntelliJ by default imports Swing and AWT with wildcards
L1711[14:41:05] <infinitefoxes_> lots of fun when you try to import List
L1712[14:41:10] <wundrweapon> that is why I do not use idea
L1713[14:41:38] <wundrweapon> Rider, though - I like Rider (or at least I will when the code stylization is worked out)
L1714[14:42:33] <wundrweapon> I have a friend who (1) puts all of his event handlers in the same class, and (2) puts every class in the same package
L1715[14:42:52] <wundrweapon> not surprising that it's the same guy who used FMLInitializationEvent in the preInit event
L1716[14:47:18] <shartte> infinitefoxes_: it imports from any package with a wildcard import that you import 5 or more classes from, it has nothing to do with AWT or Swing
L1717[14:47:53] <infinitefoxes_> https://vgy.me/NZB3nw.png
L1718[14:48:04] <infinitefoxes_> default config from IntelliJ ^
L1719[14:48:17] <shartte> huh must have missed that, and did check
L1720[14:48:51] <shartte> heh, i stand corrected. that's what I get for not reading "below the fold" so to speak
L1721[14:51:21] ⇦ Quits: RichardG (~richardg8@201.37.241.91) (Ping timeout: 384 seconds)
L1722[14:53:59] ⇨ Joins: illy (~LordIllyo@gw2-cbcc.smartcity.com)
L1723[14:54:06] <illy> beep o/
L1724[14:56:01] <howtonotwin> <illy> beep o/
L1725[14:56:20] <illy> sleepy
L1726[14:56:29] <howtonotwin> awake!
L1727[14:56:34] <illy> nuuu
L1728[14:56:41] <wundrweapon> i hate that you have to make an array a variable to pass it into a method ://
L1729[14:56:56] <howtonotwin> wuh
L1730[14:57:09] <howtonotwin> ???
L1731[14:57:43] <wundrweapon> I can't pass in like input({thingA, thingB}) I have to make a varible thingC={thingA, thingB} then input(thingC)
L1732[14:57:50] <wundrweapon> unless I have my tokens wrong
L1733[14:57:52] <howtonotwin> no
L1734[14:57:58] <howtonotwin> new Type[] { a, b }
L1735[14:58:00] <howtonotwin> there
L1736[14:58:02] <howtonotwin> do that
L1737[14:58:15] <gigaherz> woah, I'm not normally someone to program "object pools", but pooling mesh builders in my proof of concept engine thingy really did help XD
L1738[14:58:26] <wundrweapon> y u do dat java whyyyyy
L1739[14:58:39] <howtonotwin> Oracle
L1740[14:58:43] <howtonotwin> that's why
L1741[14:58:47] <wundrweapon> gigaherz: I made 0 sense of that
L1742[14:58:54] * howtonotwin concurs
L1743[14:58:57] <howtonotwin> ;P
L1744[14:59:01] <wundrweapon> lol
L1745[14:59:05] <wundrweapon> prolly rite tho
L1746[14:59:10] <gigaherz> wundrweapon: I'm programming an engine a bit like how minecraft does the terrain
L1747[14:59:15] <gigaherz> in C#/MonoGame
L1748[14:59:24] <gigaherz> I don't plan on making an actual game out of it
L1749[14:59:26] <gigaherz> just for fun
L1750[14:59:30] <wundrweapon> C# is my favorite language
L1751[14:59:39] <gigaherz> so I'm working on world generation
L1752[14:59:45] <gigaherz> and trying to make it smooth and quick
L1753[14:59:47] <wundrweapon> alhough I really hate the monodevelop IDE
L1754[14:59:57] <wundrweapon> gl with that, though, hope it turns out well
L1755[15:00:00] <gigaherz> Visual Studio 2015 Community
L1756[15:00:02] <gigaherz> ;P
L1757[15:00:06] <wundrweapon> try Rider
L1758[15:00:13] <wundrweapon> you'll hate it but you'll love it
L1759[15:00:14] <gigaherz> anyhow
L1760[15:00:25] ⇦ Quits: Abastro (~Abastro@175.117.182.109) (Ping timeout: 384 seconds)
L1761[15:00:26] <gigaherz> I have "tiles" which are a bit like cubic chunks, sortof
L1762[15:00:31] <gigaherz> (not actually cubic ;P)
L1763[15:00:46] <gigaherz> (but there's a vertical axis in there)
L1764[15:00:48] <wundrweapon> (speaking of which, whatever happened to that cubic chunks mod?)
L1765[15:01:03] <barteks2x> I'm still working on cubic chunks
L1766[15:01:04] <howtonotwin> still here
L1767[15:01:05] <gigaherz> barteks2x is making a whole new one for 1.10.x, which hehopes to relese for 1.11
L1768[15:01:07] <howtonotwin> :P
L1769[15:01:14] <wundrweapon> oh my wow there he is
L1770[15:01:21] * wundrweapon did not expect that
L1771[15:01:33] <gigaherz> so as I was saying
L1772[15:01:39] <gigaherz> I have a mesh generator for the tiles
L1773[15:01:45] <gigaherz> which uses "mesh builders"
L1774[15:01:56] <gigaherz> (for the different rendering layers)
L1775[15:01:57] <howtonotwin> many times you can find him very confused as to the hackyness MC employs in its code :P
L1776[15:02:10] <gigaherz> and each mesh builder was taking between 500mb and 1gb
L1777[15:02:25] <gigaherz> and each tile has 1-2 (may be more inthe future)
L1778[15:02:34] <gigaherz> and each tile was allocating them, and keeping them allocated
L1779[15:02:42] <gigaherz> which caused the memory usage to grow rather dramatically
L1780[15:03:03] <gigaherz> I made it pool them, so that mesh generation can reuse the objects rather than each tile having its own copy
L1781[15:03:04] <wundrweapon> @Mod makes that class get loaded very first per that mod, yes?
L1782[15:03:18] <howtonotwin> I think so yeah
L1783[15:03:19] <howtonotwin> why
L1784[15:03:20] <gigaherz> no, @Mod declares that class as being THE mod
L1785[15:03:26] <barteks2x> For > a week I'm arguing with a few other people about handling of "no blocks in block column" in heightmap...
L1786[15:03:27] <gigaherz> which does cause it to be loaded "first"
L1787[15:03:41] <gigaherz> barteks2x: dude just make it -1 and be done with it ;p
L1788[15:04:12] <wundrweapon> good, because I need to call a variable in from the mod's main class to the enchantment class :P
L1789[15:04:34] <howtonotwin> call a variable?
L1790[15:04:41] <howtonotwin> to the enchantment class
L1791[15:04:43] <howtonotwin> wat
L1792[15:04:45] <gigaherz> by "call in" I suppose you mean reference
L1793[15:04:47] ⇦ Quits: Hunterz (~hunterz@62.182.234.189) (Read error: Connection reset by peer)
L1794[15:05:11] <barteks2x> Someone wants to use a constant for "no height" (whatever tha name, we still didn't agree even on that), I want other code to either check for world.getMinHeight() if it has to, or not check it at all and work with any values.
L1795[15:05:34] <wundrweapon> wait correction
L1796[15:06:04] <wundrweapon> I instantiate the enchantment in the main mod class (called it instantCharge), then referenced it in an event handler
L1797[15:06:25] <gigaherz> :/
L1798[15:06:43] <gigaherz> the a`` os isomg 6GB, but the heap's memory usage is barely 300mb
L1799[15:06:48] <gigaherz> that came out wrong
L1800[15:06:51] <gigaherz> the app is using*
L1801[15:06:54] * wundrweapon can not comprehend that
L1802[15:07:00] ⇨ Joins: RichardG (~richardg8@201.37.241.91)
L1803[15:07:01] MineBot sets mode: +v on RichardG
L1804[15:07:10] <howtonotwin> how
L1805[15:07:13] <howtonotwin> p -> ` typo
L1806[15:07:20] <gigaherz> spanish keyboard
L1807[15:07:23] <gigaherz> ` is next to p
L1808[15:07:30] <howtonotwin> was just about to ask that lol
L1809[15:07:39] <barteks2x> anyone here who actually used heightmap for something? What would be better way to handle "no heightmap" condition?
L1810[15:07:49] <gigaherz> https://www.terena.org/activities/multiling/ml-mua/test/img/kbd_spanish.gif
L1811[15:08:09] <barteks2x> so far the only example I have is lighting code
L1812[15:08:27] <howtonotwin> beacons?
L1813[15:08:33] <howtonotwin> not beacons
L1814[15:08:35] <howtonotwin> um
L1815[15:08:43] <howtonotwin> the code glass blocks use to update beacons
L1816[15:09:10] <barteks2x> that probably uses precipitation heightmap or something
L1817[15:09:35] <howtonotwin> idk the difference between heightmap and precip. heightmap
L1818[15:09:46] <barteks2x> heightmap ignores transparent blocks
L1819[15:09:54] <howtonotwin> yeah
L1820[15:09:57] <howtonotwin> it uses that
L1821[15:09:58] <barteks2x> precipitation heightmap ignores only non-solid blocks
L1822[15:11:03] <howtonotwin> it's Chunk::canSeeSky
L1823[15:11:04] <barteks2x> but in case of beacons there is no way there is no heightmap... because there is beacon block
L1824[15:11:22] <wundrweapon> ...can bows be used in the offhand?
L1825[15:11:26] ⇦ Quits: BlueMonster (uid82864@id-82864.tooting.irccloud.com) (Quit: Connection closed for inactivity)
L1826[15:11:28] <howtonotwin> maybe
L1827[15:11:29] <howtonotwin> idk
L1828[15:11:30] <howtonotwin> test it
L1829[15:11:57] <howtonotwin> is instantCharge that enchantment where the bow fires instantly?
L1830[15:12:04] <howtonotwin> the one I was about to help you with?
L1831[15:12:58] <wundrweapon> instantcharge is the one where I need to cut to the final pull anim img and have adjustable zoom in config
L1832[15:13:16] <wundrweapon> but give me a minute before that
L1833[15:13:26] <wundrweapon> I'm still getting back to where I had everything in 1.7.10
L1834[15:13:42] <howtonotwin> does "minute" mean "week" :P
L1835[15:13:48] <wundrweapon> no, I'm nearly done
L1836[15:13:52] <howtonotwin> impressive
L1837[15:14:08] <howtonotwin> what's your mod called btw
L1838[15:14:19] <wundrweapon> also the answer is yes, bows can be used in the offhand and I'm fairly certain that's going to make this if statement a massive exploit but ideca
L1839[15:14:23] <wundrweapon> Bow Enhancements
L1840[15:15:03] <howtonotwin> link?
L1841[15:15:11] *** tterrag|ZZZzzz is now known as tterrag
L1842[15:15:28] <wundrweapon> aaaand done
L1843[15:15:36] <wundrweapon> no link, I'm barely into development
L1844[15:16:08] <howtonotwin> ok so starting on before
L1845[15:16:17] <barteks2x> since we can't come to definitive conclusion, I made a poll about how heightmap should be handled in cubic chunks: http://www.strawpoll.me/11389722
L1846[15:16:18] <howtonotwin> check ItemBow and see the addPropertyOverride calls
L1847[15:16:30] <wundrweapon> one mo'
L1848[15:16:34] <howtonotwin> how do you return null from heightmap?
L1849[15:16:46] <barteks2x> Integer
L1850[15:16:58] <wundrweapon> quick question: is the CommonProxy or ClientProxy necessary, given that it has absolutely no use?
L1851[15:17:03] <howtonotwin> yes
L1852[15:17:03] <wundrweapon> (in my case)
L1853[15:17:06] <howtonotwin> well no
L1854[15:17:12] <howtonotwin> if it's useless you no need
L1855[15:17:20] <howtonotwin> but the thing I'm about to say will probably need it
L1856[15:17:28] <wundrweapon> when would it be needed?
L1857[15:17:35] <howtonotwin> for the bow property override
L1858[15:17:47] <howtonotwin> as you have to get the old behavior and wrap it in your own
L1859[15:17:56] <howtonotwin> and the getter is client-only
L1860[15:18:16] <wundrweapon> then couldn't I use a SideOnly annotation?
L1861[15:18:22] <howtonotwin> no
L1862[15:18:28] <howtonotwin> do you know what that does?
L1863[15:18:32] <howtonotwin> that deletes something
L1864[15:18:39] <wundrweapon> oh
L1865[15:18:40] <howtonotwin> but it doesn't delete whatever uses it
L1866[15:18:50] <howtonotwin> so if method a gets deleted
L1867[15:18:54] <howtonotwin> and method b calls a
L1868[15:18:56] <howtonotwin> congrats!
L1869[15:19:02] <howtonotwin> the JVM just killed everything
L1870[15:19:08] <wundrweapon> well then
L1871[15:19:30] <wundrweapon> in that case, I'll go write up a proxy XD
L1872[15:19:53] <howtonotwin> https://mcforge.readthedocs.io/en/latest/concepts/sides/
L1873[15:19:57] <howtonotwin> glorious person
L1874[15:20:01] <howtonotwin> whoever wrote that :P
L1875[15:20:10] <TehNut> willie, I think
L1876[15:20:33] <wundrweapon> done
L1877[15:20:42] <howtonotwin> k
L1878[15:20:44] <howtonotwin> read ItemBow
L1879[15:20:51] <howtonotwin> understand what addPropertyOverride does
L1880[15:21:05] <howtonotwin> report back
L1881[15:22:01] <gr8pefish> There's a way to have an itemEntity render as a model instead of a 2d item, right?
L1882[15:22:17] <howtonotwin> gui3d: true
L1883[15:22:18] <howtonotwin> I think
L1884[15:22:31] <howtonotwin> also it's EntityItem :P
L1885[15:24:13] ⇦ Quits: Koward (~Koward@2a02:2788:344:2d0:4478:6935:d7dd:7a85) (Ping timeout: 384 seconds)
L1886[15:25:46] ⇦ Quits: illy (~LordIllyo@gw2-cbcc.smartcity.com) (Ping timeout: 186 seconds)
L1887[15:26:09] <howtonotwin> it appears the poison has finally taken its toll on illy
L1888[15:26:10] <howtonotwin> :P
L1889[15:27:17] ⇨ Joins: illy (~LordIllyo@gw2-cbcc.smartcity.com)
L1890[15:28:01] <wundrweapon> grr I cannot make sense of this
L1891[15:28:06] <howtonotwin> yes?
L1892[15:28:13] <wundrweapon> I hate interfaces!!!
L1893[15:28:25] <howtonotwin> wat
L1894[15:28:45] * howtonotwin overwats into watimum watdrive
L1895[15:29:08] <wundrweapon> I see that there's a resource location (one for "pull" and one "pulling") as well as a getter, but the getter iwhat gets me (pun intended)
L1896[15:29:42] <diesieben07> "i hate interfaces" - how?! wat??!
L1897[15:29:46] <howtonotwin> given a stack, world, and entity, return a number stating how far the bow's been pulled?
L1898[15:29:48] <howtonotwin> like wat
L1899[15:30:06] <howtonotwin> it's just an anon class...
L1900[15:30:45] <wundrweapon> diesieben07: they make no sense to me, like you call a method in one and it looks as though it should point to and therefore do nothing but somehow it works, and my lack of ability to comprehend that makes me hate them
L1901[15:30:57] <howtonotwin> virtual methods?
L1902[15:31:04] <howtonotwin> you seem to not understand virtual methods
L1903[15:31:06] <howtonotwin> which is bad
L1904[15:31:12] <wundrweapon> exactly - can't make sense of 'em
L1905[15:31:12] <howtonotwin> bc that's like OOP 101
L1906[15:31:17] <howtonotwin> why...
L1907[15:31:33] <wundrweapon> clearly it isn't because I've been Java-ing just fine for the past 3-4 years without them
L1908[15:31:38] <howtonotwin> WAT
L1909[15:31:57] <wundrweapon> yeah - never had to use them before this year
L1910[15:32:32] <howtonotwin> ...
L1911[15:32:35] <howtonotwin> how
L1912[15:33:09] <diesieben07> yeah dude... if you dont understand virtual methods... you have not been "java-ing" :D
L1913[15:33:23] <howtonotwin> you haven't even been OOP-ing
L1914[15:33:25] <howtonotwin> for that matter
L1915[15:33:25] <wundrweapon> I dunno what to tell you :P
L1916[15:33:33] <diesieben07> look up a tutorial. now.
L1917[15:33:43] <wundrweapon> r00d but fine
L1918[15:33:53] <howtonotwin> you're lucky Ordi's not here
L1919[15:34:02] <wundrweapon> I want to see him/her now
L1920[15:34:13] <wundrweapon> because it sounds like they'll kill me
L1921[15:34:13] <howtonotwin> let us all take a moment to imagine Ordi's reaction to this
L1922[15:34:34] <howtonotwin> Paging Ordinastie
L1923[15:34:40] *** fry is now known as fry|sleep
L1924[15:36:18] <howtonotwin> well he's not here apparently
L1925[15:36:20] <howtonotwin> :P
L1926[15:36:52] ⇦ Quits: illy (~LordIllyo@gw2-cbcc.smartcity.com) (Ping timeout: 206 seconds)
L1927[15:37:30] <wundrweapon> (this guys tutorial uses notepad and the terminal and it's giving me every STD)
L1928[15:37:37] <howtonotwin> ...
L1929[15:37:40] <howtonotwin> Oracle's website
L1930[15:38:06] <barteks2x> github used to hide comments on outdated diffs... why it doesn't do that anymore?
L1931[15:38:35] <howtonotwin> review system I think
L1932[15:38:44] <howtonotwin> you actually have to close the review or something
L1933[15:38:46] <howtonotwin> idk
L1934[15:38:58] <barteks2x> it makes the review harder... there is no way for me to know whish parts are already done and which aren't
L1935[15:39:00] <gr8pefish> howtonotwin: I can set gui3d, but you would have to supply the model location somewhere and I don't know where that might be. Any ideas?
L1936[15:39:22] <howtonotwin> wait who's model is this?
L1937[15:40:39] <wundrweapon> is afk a valid irc cmd?
L1938[15:40:48] <gr8pefish> Let me clarify I think: I have an item right, normal item. It renders as any other item, just a 2d texture. When it drops in world I want it to render not as a spinning 2d-item, but rather as a model (I have already created one). Is there any way to do that?
L1939[15:40:58] <howtonotwin> perspective
L1940[15:41:05] <howtonotwin> but that means a custom IModel
L1941[15:41:12] <wundrweapon> anyways afk
L1942[15:41:13] <howtonotwin> you prepared to do that?
L1943[15:41:33] <IoP> wundrweapon: usually /away
L1944[15:41:41] <gr8pefish> hehe maybe. I mean I have a model already, will it be that much more work to implement it as an IModel?
L1945[15:41:45] <howtonotwin> yes
L1946[15:41:52] <howtonotwin> oh
L1947[15:41:54] <howtonotwin> sorry
L1948[15:41:54] <howtonotwin> no
L1949[15:41:58] <howtonotwin> you can depend on the old models
L1950[15:42:04] <howtonotwin> so you have one advanced model
L1951[15:42:10] <howtonotwin> that has the other two as dependencies
L1952[15:42:35] <howtonotwin> and those dependencies can be whatever
L1953[15:42:53] <howtonotwin> do you know how to do the entire ICustomModelLoader thing?
L1954[15:43:05] <howtonotwin> or should I type something up for you?
L1955[15:43:21] <barteks2x> github is really bad with big pull requests...
L1956[15:43:26] <gr8pefish> not really, I'll go read the docs real quick and brb so I don't waste your time (as much)
L1957[15:43:30] <howtonotwin> no
L1958[15:43:36] <howtonotwin> the docs have nothing on it
L1959[15:43:39] <gr8pefish> oh
L1960[15:43:43] <gr8pefish> then yes please :P
L1961[15:43:47] <howtonotwin> that's why I'm writing docs :P
L1962[15:43:57] <howtonotwin> (but that part is last on the todo list, soooo...)
L1963[15:44:02] * howtonotwin fires up Notepad++
L1964[15:44:08] <gr8pefish> makes sense xD
L1965[15:44:38] <howtonotwin> I should probably push my current work on adv models anyway
L1966[15:45:58] ⇨ Joins: Azanor (~Azanor@196-210-70-46.dynamic.isadsl.co.za)
L1967[15:46:27] <gr8pefish> yeah if you just supply me with a link I can read up on whatever
L1968[15:47:03] <barteks2x> What am I supposed to do if github page for one PR is so slow that it takes forever to do anything?
L1969[15:47:29] <howtonotwin> Most of the relevant parts are unwritten gr8pe
L1970[15:47:30] <howtonotwin> sorry
L1971[15:47:41] <howtonotwin> I'm writing up a kind of todo-list think for you
L1972[15:47:46] <howtonotwin> *thing
L1973[15:48:35] <gr8pefish> Okay thank you, just ping me when you have something to show
L1974[15:49:41] ⇨ Joins: Abastro (~Abastro@175.117.182.109)
L1975[15:50:36] ⇨ Joins: Koward (~Koward@2a02:2788:344:2d0:f1e0:57e3:1447:a4c1)
L1976[15:53:43] <howtonotwin> lemme just make this crystal clear
L1977[15:53:48] <howtonotwin> what you want to do
L1978[15:53:54] <howtonotwin> is use one model when in hand
L1979[15:54:00] <howtonotwin> and another model when on the ground
L1980[15:54:10] <howtonotwin> where the two models are totally separate
L1981[15:54:26] <howtonotwin> just so I don't send both of us on a wild goose chase
L1982[15:54:31] <howtonotwin> gr8pefish ^
L1983[15:56:14] <gr8pefish> Correct. The item in the hand is a normal texture. The item in-game is a predefined model.
L1984[15:56:50] <gr8pefish> The first part works normally, "out-of the box". It is the second part that I need to implement.
L1985[15:58:11] <gr8pefish> Also, idk if it helps, but the model I have right now is rendered via a LayerRenderer<Player> and the model extends ModelBase. I can link source code if needed.
L1986[15:58:25] <diesieben07> yeah that model is not gonna be useable :P
L1987[15:58:39] <diesieben07> redo it in a proper model editor that spits out obj/json/etc
L1988[15:58:46] ⇨ Joins: Gil (uid147942@id-147942.brockwell.irccloud.com)
L1989[15:58:59] ⇨ Joins: Seppon (~Noppes@ip56530f2e.direct-adsl.nl)
L1990[15:59:31] <diesieben07> and then all you need is a custom IBakedMdoel that implements IPerspectiveAwareModel and chooses between the two
L1991[15:59:45] <gr8pefish> Thanks for that info. I have another backup model already in json format too that I can use.
L1992[15:59:46] <howtonotwin> ^ that's the part I'm explaining
L1993[15:59:55] ⇦ Quits: Abastro (~Abastro@175.117.182.109) (Ping timeout: 384 seconds)
L1994[16:00:00] * gr8pefish sits by patiently
L1995[16:00:47] <diesieben07> it's not that difficult :P
L1996[16:01:00] <howtonotwin> He doesn't know how though
L1997[16:01:05] <howtonotwin> knowing is half the battle
L1998[16:01:07] ⇦ Quits: Noppes (~Noppes@ip56530f2e.direct-adsl.nl) (Ping timeout: 183 seconds)
L1999[16:01:07] <howtonotwin> :P
L2000[16:01:10] <gr8pefish> ^
L2001[16:01:12] <diesieben07> ICustomModelLoader lsitens for a special MRL. then produces IMdoel which produces IPerspecitveAwareModel
L2002[16:01:37] <howtonotwin> well thank you for turning my elaborate essay into 2 sentences /s
L2003[16:01:39] <howtonotwin> :P
L2004[16:01:42] <diesieben07> :P
L2005[16:02:01] <gr8pefish> I mean I could figure it out given enough time, but if howtonot is gracious enough to explain it to me verbosely I'm okay with waiting for a minute
L2006[16:02:03] <diesieben07> i will now write my own and we will see whom's he likes better! :D
L2007[16:02:06] <gr8pefish> Or that works :P
L2008[16:02:30] <gr8pefish> I'll be the oblivious, unbiased editor for which is more clear xD
L2009[16:05:16] ⇨ Joins: Noppes (~Noppes@ip56530f2e.direct-adsl.nl)
L2010[16:07:50] ⇦ Quits: Seppon (~Noppes@ip56530f2e.direct-adsl.nl) (Ping timeout: 183 seconds)
L2011[16:10:02] <diesieben07> ugh there is more too this, so this is going to be a lot of writing... meh
L2012[16:13:25] <gr8pefish> At this point, for me, partial information is better than none, so I'll take whatever
L2013[16:14:32] <wundrweapon> hm... say call A extends B. A's doThis() overrides B's doThis(). if part of A's doThis() is super.doThis(), thus invoking B's doThis(), does A's get called whenever B's does?
L2014[16:15:05] ⇨ Joins: iso2013 (~iso2013@c-67-176-10-45.hsd1.co.comcast.net)
L2015[16:15:19] <diesieben07> basic process is how I described above. In the IModel you need to specifiy the actual 2 models in the dependencies and get their baked versions in your bake method so that hte iPerspective can then return the baked versions
L2016[16:15:43] <howtonotwin> wundrweapon: no
L2017[16:15:50] <wundrweapon> howtonotwin: dang it
L2018[16:15:50] <howtonotwin> B's is called whenever A's is
L2019[16:15:51] <diesieben07> wundrweapon, if A.doThis or B.doThis gets called depends on the RUNTIME type of the object you are callign doThis on
L2020[16:15:54] <howtonotwin> but not the other way
L2021[16:15:57] <diesieben07> thats polymorphism
L2022[16:16:08] <diesieben07> even if you have B b = new A();
L2023[16:16:18] <diesieben07> and then do b.doThis() it will execute the doThis in A
L2024[16:16:24] <diesieben07> because the ACTUAL TYPE of the object is A
L2025[16:16:47] <wundrweapon> interesting. thanks
L2026[16:16:54] <diesieben07> super.XXX just means "call XXX in my parent class"
L2027[16:19:33] <gr8pefish> diesieben07, can you just list the (3?) classes I need?
L2028[16:19:54] <diesieben07> you need to implement ICustomModelLoader, IModel and IPerspectiveAwareModel
L2029[16:20:03] <diesieben07> where each one produces the next in that order, basically
L2030[16:20:16] <diesieben07> other classes you will need to use: ModelResourceLocation, ModelLoaderRegistry
L2031[16:20:36] <gr8pefish> cool, thank you, I'll work on that for a while and come back when I get stuck
L2032[16:23:28] ⇨ Joins: Everseeking (~Everseeki@pool-100-6-80-90.pitbpa.fios.verizon.net)
L2033[16:24:09] ⇨ Joins: secknv (~secknv@2001:8a0:6c72:2a01:e1ad:ff48:b79e:85a)
L2034[16:24:30] ⇦ Quits: TechnicianLP (~Technicia@p4FE575DF.dip0.t-ipconnect.de) (Quit: Leaving)
L2035[16:26:10] <howtonotwin> http://pastebin.com/eaY352wN
L2036[16:26:17] <howtonotwin> gr8pefish ^
L2037[16:26:24] <howtonotwin> took a while :P
L2038[16:26:44] <gr8pefish> beautiful, thank you so much!
L2039[16:26:57] <howtonotwin> also
L2040[16:26:58] <howtonotwin> one note
L2041[16:27:02] <howtonotwin> IModel is immutable
L2042[16:27:13] <howtonotwin> so you shouldn't modify the state of an IModel
L2043[16:27:16] *** amadornes[Streaming] is now known as amadornes
L2044[16:27:18] <howtonotwin> just return a new one
L2045[16:27:27] <gr8pefish> gotcha
L2046[16:27:38] <howtonotwin> same is true for IBakedModel
L2047[16:28:27] <gr8pefish> just curious, is this subject area of documentation planned to go on the readthedocs?
L2048[16:28:32] ⇦ Quits: Girafi (Girafi@0x555178eb.adsl.cybercity.dk) ()
L2049[16:29:26] <howtonotwin> yes
L2050[16:29:39] <howtonotwin> I already wrote half of it
L2051[16:29:43] <howtonotwin> :P
L2052[16:30:44] <gr8pefish> Sweet, Because although I do appreciate your custom writeup for me so much, I think others could benefit from it as well.
L2053[16:31:14] ⇨ Joins: Shambling (~Shambling@24-181-186-74.dhcp.nwtn.ct.charter.com)
L2054[16:31:20] <howtonotwin> also it's ModelLoaderRegistry.getModel, not just ModelLoader, as I said in there
L2055[16:31:51] <gr8pefish> noted
L2056[16:32:29] ⇨ Joins: Cuby96 (webchat@62.68.4.51)
L2057[16:32:41] <diesieben07> i don't know if you actually need to bake the models yourself
L2058[16:32:49] <diesieben07> since having them as dependencies bakes them already afaik
L2059[16:32:55] <howtonotwin> wat
L2060[16:32:56] <howtonotwin> no
L2061[16:33:00] <diesieben07> doesn't it?
L2062[16:33:06] <howtonotwin> it just loads the IModels first
L2063[16:33:26] <howtonotwin> and this models can be baked with a different IModelState than the others
L2064[16:33:40] <howtonotwin> so I bake this with modelStateA
L2065[16:33:42] <Koward> I'm cleaning up my mod/proxies for the sake of readability and I wonder how to ensure items/blocks/whatever are registered before their renderers.
L2066[16:33:47] ⇦ Quits: Cuby96 (webchat@62.68.4.51) (Client Quit)
L2067[16:33:52] <howtonotwin> and the other two are baked with their defaults
L2068[16:34:00] <howtonotwin> so if the defaults are not the same as modelStateA
L2069[16:34:05] <howtonotwin> everything goes to hell
L2070[16:34:37] <diesieben07> Koward, well... errr... put the item/block registration first, then the call to proxy.registerModels
L2071[16:34:42] <diesieben07> or however you called it.
L2072[16:34:56] ⇨ Joins: Cuby96 (webchat@62.68.4.51)
L2073[16:35:29] ⇨ Joins: droidicus (uid120579@id-120579.brockwell.irccloud.com)
L2074[16:35:29] <Koward> Oh damn I was just calling a preInit() method on the proxies (with the item/block in Server and the render in client)
L2075[16:36:06] <diesieben07> so you don't register blcoks and items on the client? that sounds like a horrible idea.
L2076[16:36:11] <wundrweapon> assuming I researched the right stuff, I believe I understand virtual method invocation now
L2077[16:36:16] <howtonotwin> yay!
L2078[16:36:30] <wundrweapon> an example being two subclasses invoking the same superclass' same method
L2079[16:36:36] * wundrweapon is proabably wrong
L2080[16:36:40] <howtonotwin> my brain is frying from all this writing though
L2081[16:36:46] <diesieben07> so you should then also understand why interfaces are nice
L2082[16:37:00] <howtonotwin> I've been dispensing model help since this morning
L2083[16:37:00] <wundrweapon> diesieben07: nope, that still surpasses me
L2084[16:37:06] <wundrweapon> lol
L2085[16:37:07] <diesieben07> ok so.
L2086[16:37:18] <diesieben07> I am a developer. I want to call one of your methods
L2087[16:37:27] <diesieben07> But i don't KNOW which methods yet, i want you to tell me
L2088[16:37:35] <diesieben07> you can do that by implementing an interface
L2089[16:37:43] <howtonotwin> e.g. I want to read data from a source
L2090[16:37:50] <howtonotwin> I don't care what that data is from
L2091[16:37:55] <howtonotwin> it can be a hard disk
L2092[16:37:56] <diesieben07> if i know about that interface, i can call the interface method and it will runtime-dispatch to YOUR method, because its a virutal method call
L2093[16:37:59] <howtonotwin> it can be nasal demons
L2094[16:38:05] <Koward> What should be done only serverside ?
L2095[16:38:13] <howtonotwin> basically nothing
L2096[16:38:22] <diesieben07> if you are talking physical server then yes, basically nothing
L2097[16:38:57] <howtonotwin> an interface defines "I am a data source"
L2098[16:39:03] <howtonotwin> it's like a contract
L2099[16:39:12] <howtonotwin> and it says that data sources all do x, y, and z
L2100[16:39:19] <Koward> I'm talking about @SidedProxy(serverSide = "whatever"
L2101[16:39:20] <howtonotwin> and so I can ask you to give me something
L2102[16:39:28] <howtonotwin> that conforms to the interface
L2103[16:39:29] <diesieben07> Koward, that is the physical server
L2104[16:39:50] <diesieben07> if you register your items there, that means they will not exist in single player.
L2105[16:39:51] ⇦ Quits: Cuby96 (webchat@62.68.4.51) (Quit: Web client closed)
L2106[16:39:52] <howtonotwin> and then I tell the thing to do some things
L2107[16:40:01] <howtonotwin> and I specifically do not know what those things are
L2108[16:40:10] <howtonotwin> I just know I put some things in
L2109[16:40:11] <Koward> Yes okay I get that, now I'm just curious what we can do there
L2110[16:40:16] <howtonotwin> and magically more things come out
L2111[16:40:28] <diesieben07> not much, really
L2112[16:40:35] <diesieben07> there are hardly any useful @SideOnly(Server) classes
L2113[16:40:50] <howtonotwin> the implementation of the interface is completely hidden from me
L2114[16:41:14] ⇨ Joins: Cuby96 (~Cuby96@62.68.4.51)
L2115[16:41:17] <wundrweapon> so an interface's virtual methed is a way to call a method without any knowledge of what it truly does, but you do know that inputing x/y/z will output a, and that's all that matters
L2116[16:41:20] <Cuby96> hi there having an issue configuring forge with my intellij ide. it constantly says: Caused by: java.lang.UnsatisfiedLinkError: no lwjgl in java.library.path even though i put an dependency and set the path correctly. can somebody help me?
L2117[16:41:40] <howtonotwin> yes
L2118[16:41:42] <diesieben07> Cuby96, how exactly did you set up the workspace?
L2119[16:41:57] <howtonotwin> also I have over 690 messages said since 00:00 UTC
L2120[16:41:58] <wundrweapon> I suppose there's some use to that
L2121[16:42:06] <diesieben07> lol
L2122[16:42:07] <wundrweapon> nice
L2123[16:42:25] <diesieben07> it's the only way you can e.g. pass something like acallback into a method defined in the JDK or another library
L2124[16:42:32] <diesieben07> they cannot possibly know abotu your method at all
L2125[16:42:42] <diesieben07> so they have to define an interface, which you then implement
L2126[16:43:02] <diesieben07> e.g. java.lang.Thread takes a Runnable
L2127[16:43:09] <howtonotwin> That's .64 per second
L2128[16:43:09] <diesieben07> Runnable is an interface, which you impelemnt to tell the thread what to do
L2129[16:43:32] <Cuby96> diesieben07 in which way do you mean that? i setup a forge directory which i made the gradlew command and seperate my mod which is another folder inside my project with just the raw forge content and i setup the lwjgl after the tutorial on intellij thats mostly it
L2130[16:43:56] <diesieben07> "separate my mod with is another folder inside my project" - whut?
L2131[16:44:04] <diesieben07> "raw forge content" - whut²?
L2132[16:44:16] <diesieben07> and you should nto need to sert up lwjgl at all
L2133[16:44:41] <Shambling> is there a item name dump command in forge by mod? lets say I want to dump all item names for projecte
L2134[16:44:56] <wundrweapon> so that brings me to this: why/how are interfaces used as paramteres in some methods, e.g. addPropertyOverride(ResourceLocation, IItemPropertyGetter)
L2135[16:45:06] <Shambling> going to google it again in the meantime, you guys seem deep in meditation on some cool code
L2136[16:45:10] <howtonotwin> an interface is just a type
L2137[16:45:23] <Cuby96> one parent folder: project which contains: Forge and MyMod, inside Forge i put the gradlew command on it and MyMod contains the unpacked forge src
L2138[16:45:24] <howtonotwin> it says give me something that conforms to this interface
L2139[16:45:28] <diesieben07> wundrweapon, in that case IItemPropertyGetter is an interface that tells minecraft how to compute the value of a property.
L2140[16:45:33] <diesieben07> and with tha tmethod you register it.
L2141[16:45:40] <diesieben07> Cuby96, wtf is "unpacked forge src"?
L2142[16:45:55] <diesieben07> you just download the MDK and THAT IS YOUR PROJECT.
L2143[16:46:00] <diesieben07> MDK is an *example project"
L2144[16:46:10] <diesieben07> i tis NOT the "forge source code"
L2145[16:46:24] <Cuby96> i followed this tutorial here: https://www.youtube.com/watch?v=Lk6c06pYiPo
L2146[16:46:25] <wundrweapon> (why did they rename it from src to mdk, anyways?)
L2147[16:46:34] <diesieben07> because it's not source in any way
L2148[16:46:43] <tterrag> guys pls
L2149[16:46:49] <tterrag> http://mcforge.readthedocs.io/en/latest/gettingstarted/
L2150[16:46:54] <diesieben07> ^
L2151[16:47:07] <diesieben07> a 20 minute vide about setting up a forge workspace cannot be right
L2152[16:47:12] <diesieben07> it cannot possibly take that lkong
L2153[16:47:19] <howtonotwin> well I mean it does on my potato
L2154[16:47:20] <tterrag> well, assuming they cut out sDecW :P
L2155[16:47:24] <diesieben07> yeah
L2156[16:47:40] <diesieben07> and if they don#t do that why are we watching that shit
L2157[16:48:06] <Cuby96> ok let me check if i get it done with that tutorial because it seems that that video i watched was bulls***
L2158[16:48:16] <howtonotwin> Today on Guess the Keyboard Layout!: ' -> # typo
L2159[16:48:16] <gigaherz> Cuby96: IDea or Eclipse? ;P
L2160[16:48:22] <gigaherz> IDEA*
L2161[16:48:29] <Cuby96> gigaherz IntelliJ
L2162[16:48:35] <diesieben07> howtonotwin, german keyboard layout sucks
L2163[16:48:39] <gigaherz> good good
L2164[16:48:41] <wundrweapon> I'm guessing dvorak, howtonotwin
L2165[16:48:44] <gigaherz> have you used IntelliJ before?
L2166[16:48:49] <wundrweapon> I was wrong
L2167[16:48:50] <diesieben07> german qwertz
L2168[16:48:52] <gigaherz> as in: do you have the JDK configured in it and such?
L2169[16:48:58] <diesieben07> and my fingers suck at typing sometimes
L2170[16:49:12] *** gr8pefish is now known as gr8pefish|afk
L2171[16:50:03] <howtonotwin> ' is shift+#?
L2172[16:50:10] <diesieben07> yup
L2173[16:50:10] <howtonotwin> that seems counterintuitive
L2174[16:50:14] <gigaherz> Cuby96: I can give you a quick & to the point guide, if you want
L2175[16:50:26] <gigaherz> I have to write down those steps somewhere, someday
L2176[16:50:27] <gigaherz> ;P
L2177[16:50:28] <diesieben07> they already linked him that giga :P
L2178[16:50:57] <wundrweapon> so now that I've knda got a grip on interfaces (a weak one, but a grip nonetheness), how would I manipulate the pull anim and zoom of the bow when a given enchantment is on it
L2179[16:51:05] <howtonotwin> ok
L2180[16:51:06] <tterrag> gigaherz: is that not what I just linked?
L2181[16:51:07] <gigaherz> the docs page isn't exactly the optimal steps for configuring forge with IDEA ;P
L2182[16:51:07] <howtonotwin> so what you want
L2183[16:51:10] <howtonotwin> is basically this
L2184[16:51:14] <howtonotwin> scratch that
L2185[16:51:27] <howtonotwin> now you should look at the JSON
L2186[16:51:33] <gigaherz> tterrag: nah, the process I use and recommend works differently ;P
L2187[16:51:38] <howtonotwin> assets/minecraft/models/item/bow.json
L2188[16:51:45] <tterrag> gigaherz: then improve the page
L2189[16:51:54] <howtonotwin> open it and I'll tell you what it means
L2190[16:51:56] <tterrag> keep in mind: I wrote that page. I don't use IDEA
L2191[16:52:01] <tterrag> so I took recommendations when I wrote it
L2192[16:52:04] <tterrag> that's what I got
L2193[16:52:30] <diesieben07> i don't see whats wrong with it.
L2194[16:52:37] <gigaherz> it's not wrong
L2195[16:52:49] <wundrweapon> (tmw eclipse can't open the JSON)
L2196[16:52:51] <gigaherz> it's just not the sequence I think is most straightforward
L2197[16:52:54] <howtonotwin> lol
L2198[16:53:07] <howtonotwin> just set it to open in notepad++ or something
L2199[16:53:21] <howtonotwin> and if you don't have notepad++ you are no programmer /s :P
L2200[16:53:45] <wundrweapon> Sublime > NPP
L2201[16:54:09] <howtonotwin> /execute wundrweapon ~ ~ ~ fill ~1 ~1 ~1 ~-1 ~-1 ~-1 lava
L2202[16:54:21] <Koward> I'd throw a VIM > All but then someone would throw Emacs > All and a war would ensue.
L2203[16:54:27] * howtonotwin ~s into ~imum ~drive
L2204[16:54:48] <wundrweapon> Emacs is eh
L2205[16:55:15] * howtonotwin holds his hand just above the nuclear launch button to stop the flamewar
L2206[16:56:05] <howtonotwin> ok so once you have it open, see the "overrides" array?
L2207[16:56:14] <wundrweapon> where do i find bow.json again? I mean not the folder, but where the actual decmp'd source is
L2208[16:56:27] <howtonotwin> you're in eclipse?
L2209[16:56:29] <wundrweapon> yes
L2210[16:56:32] <howtonotwin> in the mdk right
L2211[16:56:42] <howtonotwin> ok so you'll see a referenced libraries under your proj
L2212[16:56:48] <howtonotwin> expand it
L2213[16:56:58] <howtonotwin> forgeSrc should be near the top
L2214[16:56:59] <howtonotwin> expand it
L2215[16:57:09] <wundrweapon> yeah
L2216[16:57:14] <wundrweapon> i found it
L2217[16:57:16] <howtonotwin> go to assets/minecraft/models/item/bow.json in it
L2218[16:57:20] <wundrweapon> but pening it gives me an error
L2219[16:57:26] <wundrweapon> and idk how to reroute to sublime/npp
L2220[16:57:31] <wundrweapon> opening*
L2221[16:57:49] <howtonotwin> I actually just copied out the entire assets folder and kept it on my desktop
L2222[16:58:04] <howtonotwin> by unzipping the jar
L2223[16:58:19] <Shambling> does modtweaker support 1.10.2 tconstruct with casting basins?
L2224[16:58:21] <howtonotwin> do whatever to get access to the files and report back once done
L2225[16:58:25] <Shambling> the wiki just looks like it covers 1.7.10
L2226[17:00:33] <Cuby96> ok so i setup the files with the gradlew command and i got the example mod java, how can i execute that mod through intellij itself without importing and exporting the file itself?
L2227[17:00:53] <wundrweapon> ok done
L2228[17:00:59] <wundrweapon> opened and ready to go, officer
L2229[17:01:24] <howtonotwin> you see the "overrides" array?
L2230[17:01:32] <howtonotwin> also hope you're comfortable reading JSON
L2231[17:01:33] <howtonotwin> :P
L2232[17:01:36] <howtonotwin> it's easy
L2233[17:01:41] <howtonotwin> you'll get used to it
L2234[17:01:51] <wundrweapon> (1) yes i do, and (2) I know I will, but I don't wanna :P
L2235[17:02:21] <howtonotwin> actually read this first
L2236[17:02:22] <howtonotwin> http://minecraft.gamepedia.com/Model#Item_models
L2237[17:02:56] <howtonotwin> also read Item Tags section
L2238[17:02:58] <howtonotwin> then report back
L2239[17:03:18] <howtonotwin> "Item tags" is an inaccurate name btw
L2240[17:03:33] <howtonotwin> in code they're item properties and item overrides
L2241[17:03:59] <howtonotwin> Oh I've been away the whole time
L2242[17:04:00] <howtonotwin> oops
L2243[17:04:12] ⇦ Quits: Cuby96 (~Cuby96@62.68.4.51) ()
L2244[17:04:33] * wundrweapon thinks he's got it
L2245[17:04:52] <howtonotwin> so can you say how this array and the IItemPropertyGetters relate?
L2246[17:05:39] <gigaherz> how does this sound?
L2247[17:05:40] <gigaherz> https://gist.github.com/gigaherz/efa0f296275c42388b574c579b4fc420
L2248[17:05:41] <howtonotwin> also the predicates in the array apply to all values equal to or greater than the given ones
L2249[17:05:56] <howtonotwin> just thought that might help :P
L2250[17:06:12] <wundrweapon> (taking an educated guess here) IItempPropertyGetter is a way to acquire a specific property of the JSON
L2251[17:06:12] ⇦ Quits: nallar (~nallar@cpc16-cani3-2-0-cust33.14-2.cable.virginm.net) (Remote host closed the connection)
L2252[17:06:29] <howtonotwin> close
L2253[17:06:39] <wundrweapon> <howtonotwin> also the predicates in the array apply to all values equal to or greater than the given ones
L2254[17:06:44] <howtonotwin> the getter gives every ItemStack a certain float value
L2255[17:06:44] <wundrweapon> I beg your pardon? XD
L2256[17:07:01] <howtonotwin> and the JSON uses those values to choose between models
L2257[17:07:08] <howtonotwin> but they are not directly attached
L2258[17:07:12] <gigaherz> I wish there was a way to give gists a "pretty name"
L2259[17:07:12] <gigaherz> ;P
L2260[17:07:13] <howtonotwin> but good
L2261[17:07:19] <howtonotwin> you have a brain :P
L2262[17:07:25] <wundrweapon> i do? WHERE?!
L2263[17:07:30] <howtonotwin> in your foot
L2264[17:07:35] <wundrweapon> oh cool
L2265[17:07:45] <howtonotwin> anyway
L2266[17:07:49] <howtonotwin> so right now
L2267[17:07:53] <howtonotwin> vanilla MC is doing this
L2268[17:07:59] <howtonotwin> "Oh I have a bow to render"
L2269[17:08:04] <howtonotwin> "oh it has properties
L2270[17:08:17] <howtonotwin> "let's calculate their values"
L2271[17:08:31] <howtonotwin> "pulling = .5 and pull = 1"
L2272[17:08:39] ⇨ Joins: manmaed (~Ender@97e11baf.skybroadband.com)
L2273[17:08:47] <howtonotwin> "what does the model say about this?"
L2274[17:09:05] <howtonotwin> [USE MODEL minecraft:item/bow_pulling_0]
L2275[17:09:13] <howtonotwin> "using that model then"
L2276[17:09:21] <howtonotwin> can you say where you should inject your logic?
L2277[17:10:00] <gigaherz> any opinions regarding my IDEA configuration process? ;P https://gist.github.com/gigaherz/efa0f296275c42388b574c579b4fc420
L2278[17:10:09] <wundrweapon> if I want to cut to bow_pulling_2, I should say "pulling = 1 and pull = 1"
L2279[17:10:12] <gigaherz> I was too late to show it to Cuby ;P
L2280[17:10:15] <howtonotwin> correct!
L2281[17:10:16] <wundrweapon> because then pull > .9
L2282[17:10:25] <wundrweapon> wait a min
L2283[17:10:25] <howtonotwin> so the way to do this is
L2284[17:10:40] <howtonotwin> you get the existing IIPropertyGetter
L2285[17:10:42] <wundrweapon> shouldn't I use .65 < x <= .9?
L2286[17:10:50] <howtonotwin> no
L2287[17:10:54] <howtonotwin> that's the middle model
L2288[17:11:00] <wundrweapon> why
L2289[17:11:05] <howtonotwin> the animation has 4 frames
L2290[17:11:10] <howtonotwin> still, 1, 2, and 3
L2291[17:11:21] <howtonotwin> .65 <= x <= .9 is frame "2"
L2292[17:11:28] <howtonotwin> you want the last frame of the animation
L2293[17:11:31] <howtonotwin> frame "3"
L2294[17:11:38] <howtonotwin> which is pulling >= .9
L2295[17:11:50] <wundrweapon> I thought you said the overrides in the JSON apply when the input is < given
L2296[17:11:54] <howtonotwin> no
L2297[17:12:02] <howtonotwin> input >= given
L2298[17:12:10] <wundrweapon> oooooh ok
L2299[17:12:13] <wundrweapon> I'm with ya now
L2300[17:12:15] <howtonotwin> <howtonotwin> also the predicates in the array apply to all values equal to or greater than the given ones
L2301[17:12:21] <howtonotwin> good
L2302[17:12:22] <Shambling> ok so I know modtweaker works for the casting basin, because I just created a casting recipe for diamond that requires water and bone
L2303[17:12:33] <Shambling> now to figure out how to make a philosophers stone using diamond and molten emerald
L2304[17:12:38] <howtonotwin> alright so Item has a getter for getting the existing IItemPropertyGetter
L2305[17:12:52] <howtonotwin> and addPropertyOverride will actually override the existing one
L2306[17:12:52] <wundrweapon> (a getter for a getter... meta...)
L2307[17:12:57] <howtonotwin> lol
L2308[17:13:12] <howtonotwin> so what you want to do is store the existing IIPG
L2309[17:13:16] <howtonotwin> create a new one
L2310[17:13:18] <wundrweapon> what if I orrode the existing one with itself?
L2311[17:13:18] <Shambling> I really wish I could find a way to list the proper names for using in modtweaker, as nothing seems to really list the full proper name to use in scripts
L2312[17:13:21] <howtonotwin> that says
L2313[17:13:26] <howtonotwin> nothing would happen :P
L2314[17:13:27] <wundrweapon> overrode*
L2315[17:13:31] <wundrweapon> dang it
L2316[17:13:40] <howtonotwin> so the new IIPG says
L2317[17:14:02] <howtonotwin> "if item enchanted with my enchant and it's being pulled, short-circuit; else use the old one"
L2318[17:14:24] <gigaherz> Shambling: what do you mean?
L2319[17:14:29] <howtonotwin> and then you put that back in
L2320[17:14:30] ⇨ Joins: nallar (~nallar@cpc16-cani3-2-0-cust33.14-2.cable.virginm.net)
L2321[17:14:31] <gigaherz> press F3+H
L2322[17:14:35] <gigaherz> and then hover over things
L2323[17:14:40] <wundrweapon> will the game manually revert to the old one, or do I have to do that manually?
L2324[17:14:47] <wundrweapon> game automagically*
L2325[17:15:02] <howtonotwin> no
L2326[17:15:13] <howtonotwin> you have to store the old one and defer to it yourself
L2327[17:15:19] <wundrweapon> ok
L2328[17:15:28] <wundrweapon> so make a backup, so to speak?
L2329[17:15:32] <howtonotwin> yes
L2330[17:15:35] <wundrweapon> gotcha
L2331[17:15:37] ⇦ Quits: Ferdz_TheWeeb (~Ferdz_The@24.225.201.205) (Quit: Leaving)
L2332[17:16:28] <Shambling> f3+h, will try
L2333[17:16:28] <Shambling> thanks
L2334[17:16:29] <wundrweapon> would it be safe to do this is an ArrowNockEvent handler?
L2335[17:16:36] <howtonotwin> wah
L2336[17:16:36] <Shambling> need the liquid name for molten emerald, so hope this works
L2337[17:16:37] <howtonotwin> no
L2338[17:16:46] <howtonotwin> not at all
L2339[17:16:51] <howtonotwin> so IIPG old = Items.BOW.getPropertyGetter(new RL("pull"))
L2340[17:16:54] <howtonotwin> that gets the old one
L2341[17:16:57] <gigaherz> Shambling: well dunno about liquids
L2342[17:17:01] ⇨ Joins: Seppon (~Noppes@ip56530f2e.direct-adsl.nl)
L2343[17:17:04] <Koward> I have a weird mystery : in net.minecraftforge.energy.CapabilityEnergy, line 31, the protected field "energy" of EnergyStorage is set. How can it be ?
L2344[17:17:05] <gigaherz> if they show up in JEI, that may work
L2345[17:17:07] <gigaherz> but maybe not
L2346[17:17:10] <howtonotwin> then IIPG new = new IIPG { blah }
L2347[17:17:19] <wundrweapon> alright
L2348[17:17:22] <howtonotwin> then Items.BOW.addPropertyOverride again
L2349[17:17:23] ⇦ Quits: Zaggy1024 (~Zaggy1024@2602:47:dc6f:7600:40ce:579f:5de6:c0a3) (Read error: Connection reset by peer)
L2350[17:17:25] <wundrweapon> I'll try.... something
L2351[17:17:30] <howtonotwin> the new IIPG is basically an if/esle
L2352[17:17:32] <howtonotwin> *else
L2353[17:18:00] <wundrweapon> but if I'm not to use an arrownockevent, then where would I do this?
L2354[17:18:05] <howtonotwin> if(enchanted && pulled) return 1; else return old.apply(...);
L2355[17:18:07] <howtonotwin> clientproxy
L2356[17:18:08] <howtonotwin> preinit
L2357[17:18:14] <howtonotwin> this is a one time thing
L2358[17:18:27] <wundrweapon> (clientproxy has a preinit?)
L2359[17:18:32] <howtonotwin> wat
L2360[17:18:33] <howtonotwin> no
L2361[17:18:35] <gigaherz> the proxies are 100% custom
L2362[17:18:38] <howtonotwin> during preinit time
L2363[17:18:39] <gigaherz> you choose exactly what you have in them
L2364[17:18:41] <Shambling> yeah doesn't work with fluids lol
L2365[17:18:46] <howtonotwin> and only on the client
L2366[17:18:48] <gigaherz> Shambling: yeah sorry then ;p
L2367[17:18:51] <Shambling> I'll just try fluid:emerald
L2368[17:19:03] <wundrweapon> so call the proxy in preinit
L2369[17:19:04] <wundrweapon> ?
L2370[17:19:05] <gigaherz> wundrweapon: so if someone says "during pre-init, in your clientproxy"
L2371[17:19:07] <gigaherz> you want a method
L2372[17:19:08] ⇦ Quits: Noppes (~Noppes@ip56530f2e.direct-adsl.nl) (Ping timeout: 183 seconds)
L2373[17:19:09] <gigaherz> that is in your proxy
L2374[17:19:13] <gigaherz> that you only implement in the client version
L2375[17:19:21] <gigaherz> and you call it from the pre-init handler in your @Mod
L2376[17:19:27] <wundrweapon> alright
L2377[17:19:32] <gigaherz> the name is 100% up to you
L2378[17:19:39] <gigaherz> I do choose to have "preInit" and "init" in there
L2379[17:19:42] <gigaherz> but it's not a rule.
L2380[17:19:51] <howtonotwin> Shambling: Try putting it into a tank of some kind, then do /blockdate x y z {} on the tank to dump its NBT
L2381[17:19:56] <Shambling> rofl yup liquid:emerald works a trick, kind of morbid output though. I'm getting diamond by pouring liquid villagers onto a bone
L2382[17:19:58] <howtonotwin> */blockdata
L2383[17:20:18] <gigaherz> sham1: that sounds absurd
L2384[17:20:24] <howtonotwin> me?
L2385[17:20:29] <gigaherz> Shambling*
L2386[17:20:32] <Shambling> but that was the whole point, I want to get the projecte philosophers stone by pouring liquid emerald onto a diamond
L2387[17:20:33] <howtonotwin> lol
L2388[17:20:34] <gigaherz> why bone+emerald = diamond?
L2389[17:20:43] ⇦ Parts: MiniDigger (~MiniDigge@some.random.host.cause.default.is.boring.minidigger.me) ())
L2390[17:20:43] <Shambling> random items that I know work, ha
L2391[17:20:45] <gigaherz> bone+emerald should result in a baby villager spawn egg
L2392[17:20:46] <gigaherz> XD
L2393[17:20:53] <Shambling> oooo good idea
L2394[17:21:06] <Shambling> I'll chew that over during dinner, lol
L2395[17:21:14] <gigaherz> the baby villager?!
L2396[17:21:15] <gigaherz> why?!
L2397[17:22:29] <wundrweapon> is "Items.BOW.getPropertyGetter(new ResourceLocation("pull"));" trying to call a texture at minecraft:pull? that's what it seems to be doing
L2398[17:23:03] <gigaherz> first of all
L2399[17:23:08] <gigaherz> new ResourceLocation("pull") without a domain
L2400[17:23:13] <gigaherz> will have "minecraft:" implicit
L2401[17:23:21] <gigaherz> and no
L2402[17:23:26] <gigaherz> it isn't referencing a texture
L2403[17:23:31] <gigaherz> it's referencing a property getter...
L2404[17:24:55] *** amadornes is now known as amadornes[OFF]
L2405[17:25:37] ⇦ Quits: Subaraki (~Artix@mf763-h01-176-150-102-154.dsl.sta.abo.bbox.fr) (Ping timeout: 206 seconds)
L2406[17:25:44] <gigaherz> so..... opinions?
L2407[17:25:44] <gigaherz> https://gist.github.com/gigaherz/efa0f296275c42388b574c579b4fc420#configuring-forge-with-intellij-idea
L2408[17:26:15] <gigaherz> (namely, anyone see anything wrong in there? would this be fit for inclusion in the official docs?)
L2409[17:26:44] <howtonotwin> http://hastebin.com/unaqecined.java
L2410[17:26:54] <howtonotwin> Ordi would kill me for writing your code for you
L2411[17:26:55] <howtonotwin> but meh
L2412[17:28:07] <howtonotwin> doing this btw
L2413[17:28:14] <howtonotwin> emits a debug message on the logger
L2414[17:28:17] <howtonotwin> but meh
L2415[17:28:20] <wundrweapon> should I have the IIPG's apply method use @SideOnly(Side.CLIENT), like ItemBow does?
L2416[17:28:35] <howtonotwin> yes
L2417[17:28:38] <howtonotwin> see hastebin
L2418[17:28:39] <wundrweapon> alright
L2419[17:29:08] <wundrweapon> (I wasn't gonna click it because exploration but f*** it)
L2420[17:29:25] <howtonotwin> lol
L2421[17:29:27] <gigaherz> regarding sideonly: it's not strictly necessary
L2422[17:29:30] <gigaherz> in fact
L2423[17:29:38] <gigaherz> the official stance is that you should never have it in your own code
L2424[17:29:48] <gigaherz> unless removing it would crash your mod
L2425[17:30:01] <gigaherz> and in this case, it isn't necessary ;P
L2426[17:30:01] ⇦ Quits: Thefjong (~Thefjong@3e6b1b1c.rev.stofanet.dk) (Ping timeout: 384 seconds)
L2427[17:30:03] <wundrweapon> (looks at the code) yup, I'm glad I gave up before I started XD
L2428[17:30:09] <howtonotwin> wah
L2429[17:30:09] <wundrweapon> I was not gonna try to do it that easily
L2430[17:30:13] <howtonotwin> it's 11 lines
L2431[17:30:17] <howtonotwin> it's super easy
L2432[17:30:20] <wundrweapon> I'm a sloppy writed
L2433[17:30:22] <wundrweapon> writer*
L2434[17:30:26] <howtonotwin> and like 5 is just Java induced verbosity
L2435[17:30:28] <gigaherz> (none of the method parameters are client-only classes)
L2436[17:30:58] <wundrweapon> verbosity... everyone hates it, yet I love it
L2437[17:31:23] <howtonotwin> lol lemme rewrite this in scala
L2438[17:31:48] <wundrweapon> could I use stack.getItem() instanceof ItemBow
L2439[17:32:19] <howtonotwin> wat
L2440[17:32:21] <howtonotwin> no
L2441[17:32:27] <wundrweapon> why not?
L2442[17:32:32] <howtonotwin> oh
L2443[17:32:34] <howtonotwin> that
L2444[17:32:36] <howtonotwin> wait
L2445[17:32:38] <howtonotwin> did
L2446[17:32:41] <howtonotwin> I did a stupid
L2447[17:32:46] <howtonotwin> no need to check for that at all
L2448[17:32:57] <wundrweapon> again, why not?
L2449[17:33:01] <howtonotwin> this only registers for bows anyway
L2450[17:33:05] <howtonotwin> no need to check
L2451[17:33:07] <wundrweapon> oh
L2452[17:33:08] <wundrweapon> derp
L2453[17:34:56] <howtonotwin> http://hastebin.com/egohoyolap.scala
L2454[17:34:59] <howtonotwin> much better :P
L2455[17:35:32] <howtonotwin> http://hastebin.com/danixihubi.scala
L2456[17:35:40] <howtonotwin> actually I think I like that one better xD
L2457[17:35:56] * wundrweapon connat comprehend scala
L2458[17:36:17] <howtonotwin> :P
L2459[17:36:37] <howtonotwin> trait Monad[+M[_]]
L2460[17:36:39] <howtonotwin> ?
L2461[17:36:44] <wundrweapon> ?
L2462[17:36:56] ⇦ Quits: Koward (~Koward@2a02:2788:344:2d0:f1e0:57e3:1447:a4c1) (Quit: Leaving)
L2463[17:37:20] <howtonotwin> final def map[B, That](f: (A) ⇒ B)(implicit bf: CanBuildFrom[List[A], B, That]): That
L2464[17:37:21] <howtonotwin> :D
L2465[17:37:42] <howtonotwin> method signature of one of the most used collection methods ^
L2466[17:37:55] ⇨ Joins: Thefjong (~Thefjong@3e6b1b1c.rev.stofanet.dk)
L2467[17:38:01] ⇦ Quits: Blarghedy (~Blarghedy@50-90-115-148.res.bhn.net) (Killed (NickServ (GHOST command used by Guest20511)))
L2468[17:38:05] ⇨ Joins: Blarghedy (~Blarghedy@50-90-115-148.res.bhn.net)
L2469[17:38:09] <wundrweapon> http://pastebin.com/HJfDs1eB
L2470[17:38:10] <wundrweapon> like that?
L2471[17:38:38] <howtonotwin> yep
L2472[17:38:42] <howtonotwin> but the whitespace?
L2473[17:38:59] <howtonotwin> and you actually have to call the method :P
L2474[17:39:01] <howtonotwin> but yes
L2475[17:39:16] <wundrweapon> didn'y I call it...?
L2476[17:39:24] <wundrweapon> the whitespace is me being stupid ol' me
L2477[17:39:37] <howtonotwin> Don't think you did xD
L2478[17:39:42] <howtonotwin> it's in a public method yes
L2479[17:39:47] <howtonotwin> but it's not actually called
L2480[17:39:58] <wundrweapon> skipBowAim() you mean?
L2481[17:40:07] <howtonotwin> yeah
L2482[17:40:13] <wundrweapon> I'm calling that in preInit();
L2483[17:40:15] <howtonotwin> ok
L2484[17:40:31] <howtonotwin> guess you should test it now?
L2485[17:40:50] <howtonotwin> This is only the model part of the thing btw
L2486[17:40:56] <howtonotwin> the logic part is your deal
L2487[17:40:58] <howtonotwin> :P
L2488[17:41:07] <wundrweapon> logic is already done
L2489[17:41:16] <howtonotwin> [yay sound effect]
L2490[17:41:17] <wundrweapon> on arrow loose, set charge to max bow use duration
L2491[17:45:35] <Shambling> there got the philosophers stone working. That'll make a nice beginning of mod integrations
L2492[17:45:50] <Shambling> though I'm thinking I'll need liquid octuple compressed cobblestone
L2493[17:46:31] <howtonotwin> o_O
L2494[17:47:00] <howtonotwin> how would you even melt something that dense?
L2495[17:47:39] <gigaherz> very very high temperature and pressure, I guess
L2496[17:47:59] <gigaherz> no wait pressure would cool it down
L2497[17:48:01] <howtonotwin> high pressure is counterproductive
L2498[17:48:02] <howtonotwin> :P
L2499[17:48:07] <gigaherz> hmm a lot more temperature, then
L2500[17:48:08] <gigaherz> XD
L2501[17:50:21] ⇨ Joins: Abastro (~Abastro@175.117.182.109)
L2502[17:52:10] <howtonotwin> Since 0000 UTC today, I have made over 860 messages in this channel.
L2503[17:52:18] <howtonotwin> And now, I'm signing off!
L2504[17:52:31] <howtonotwin> Good night!
L2505[17:52:34] <Shambling> bye how
L2506[17:52:37] ⇦ Quits: howtonotwin (~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net) (Quit: Pop!)
L2507[17:52:49] <Shambling> ok octuplecompressed cobblestone probably is a bit overkill
L2508[17:53:10] <Shambling> I'm just thinking of ways to integrate and make projecte actually fit in with my prefered playstyle
L2509[17:53:35] <Shambling> sacrificing villagers sounds good to me :D
L2510[17:53:43] <wundrweapon> (there's a smol flying bug in my room and it's driving me INSANE)
L2511[17:54:30] ⇦ Quits: secknv (~secknv@2001:8a0:6c72:2a01:e1ad:ff48:b79e:85a) (Quit: Leaving)
L2512[17:56:16] ⇦ Quits: Azanor (~Azanor@196-210-70-46.dynamic.isadsl.co.za) (Read error: Connection reset by peer)
L2513[17:56:25] ⇦ Quits: Seppon (~Noppes@ip56530f2e.direct-adsl.nl) (Read error: Connection reset by peer)
L2514[18:01:51] <wundrweapon> (grr i hate the new enchanting systems
L2515[18:03:45] <wundrweapon> tmw the 1.7.10 config file system was better than the new one
L2516[18:03:55] <tterrag> "new one" ??
L2517[18:04:58] <wundrweapon> then, FMLPreInitializationEvent.getSuggestedConfigurationFile() gave you a Configuration instance that would work very easily. now it gives you a File instance that doesn't have the same super-easy methods to do the work for me
L2518[18:06:13] <gigaherz> uh
L2519[18:06:21] <gigaherz> new Configuration(event.getSuggested...)
L2520[18:06:22] <tterrag> lol
L2521[18:06:25] <tterrag> it never gave you a Configuration
L2522[18:06:29] <tterrag> or if it did, who cares
L2523[18:06:29] <gigaherz> -_-
L2524[18:06:43] <tterrag> ^^ what gigaherz said
L2525[18:06:58] <wundrweapon> .....I need to get smarts
L2526[18:07:15] <gigaherz> i'm still waiting for opinions
L2527[18:07:15] <wundrweapon> also, are enchants registered in preinit, init, or postinit
L2528[18:07:16] <gigaherz> https://gist.github.com/gigaherz/efa0f296275c42388b574c579b4fc420#configuring-forge-with-intellij-idea
L2529[18:07:16] <gigaherz> XD
L2530[18:07:28] <gigaherz> wundrweapon: pre, but you can use
L2531[18:07:36] <gigaherz> @SubscribeEvent with the registry event
L2532[18:07:42] <wundrweapon> gigaherz: I would give an opinion, but I don't use IDEA
L2533[18:08:01] <gigaherz> using RegistryEvent.Register<Enchantment>
L2534[18:08:05] <gigaherz> as the event parameter
L2535[18:08:41] <gigaherz> (you'll have to register the class with the event bus for that, though)
L2536[18:09:26] <wundrweapon> can I just put GameRegistry.register(instantCharge); in the preInit method?
L2537[18:10:09] <gigaherz> yes
L2538[18:10:13] ⇦ Quits: founderio (~Thunderbi@p200300C4E3CB6900B492E446AC045006.dip0.t-ipconnect.de) (Quit: founderio)
L2539[18:10:19] <wundrweapon> goodie
L2540[18:10:33] <gigaherz> I'm just telling you about an alternative way which I just learned about earlier
L2541[18:10:41] <gigaherz> that was implemented a few weeks ago
L2542[18:10:50] <Shambling> well my opinion is I just bookmarked that so I have an easier time finding out a quick way of setting up a 1.10 dev environment again
L2543[18:11:06] <gigaherz> Shambling: but but, does it sound right?
L2544[18:11:11] <gigaherz> is it worth including in the official docs?
L2545[18:11:11] <gigaherz> ;P
L2546[18:11:22] <Shambling> I'll read it, let me pause ashens talking about sonic boom :p
L2547[18:11:22] ⇦ Quits: Samario (~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net) (Quit: You think you are above consequences.)
L2548[18:11:55] <Shambling> I don't think they like tutorials in the docs though, from what I saw yesterday. So hopefully its not ... too hand holdy... although I concise and easy to read instructions
L2549[18:12:22] <Shambling> *I love concise and easy to read instructions
L2550[18:12:29] <gigaherz> yeah that's why I ask for opinions ;P
L2551[18:12:52] ⇦ Quits: p455w0rd (~p455w0rd@50.102.92.146) (Ping timeout: 183 seconds)
L2552[18:12:57] <Shambling> if you can, link "make sure that you have configured a 64bit JDK installation" to instructions on how to do that
L2553[18:13:07] ⇨ Joins: p455w0rd (~p455w0rd@50.102.92.146)
L2554[18:13:10] <Shambling> afk
L2555[18:13:33] <Shambling> is this just for linux then?
L2556[18:13:45] <Shambling> (I know intellij can be used in windows, I ask if the instructions are only for linux)
L2557[18:13:58] <gigaherz> no, both
L2558[18:14:19] <gigaherz> I gave the windows-style path first XD
L2559[18:14:29] <Shambling> oh let me reread that
L2560[18:15:01] <Shambling> ok yeah, I misread because of the %userprofile%, though I don't know why
L2561[18:15:08] ⇨ Joins: Upthorn (~ogmar@108-85-88-44.lightspeed.frokca.sbcglobal.net)
L2562[18:15:52] <Shambling> is the org.gradle.jvmargs=-Xmx3G necessary, I've gotten it working without adding that in the gradle before
L2563[18:16:13] <tterrag> gigaherz: "make sure you have a jdk" is out of scope for the forge docs
L2564[18:16:28] <tterrag> other than that, it looks like way more steps than the current tutorial. is it easier, or better in some way?
L2565[18:16:36] <gigaherz> it's self-contained
L2566[18:16:44] <gigaherz> avoid using a console/terminal and typing gradle commands there
L2567[18:16:48] <gigaherz> avoids*
L2568[18:17:22] <gigaherz> Shambling: no it's not necessary, but it seems to fail more often than not, at least in windows
L2569[18:17:26] <Shambling> ok I just read more closely and you do state its not necessary, so *slap forhead for reading comprehension skills*
L2570[18:17:36] <tterrag> it depends on how much RAM your PC has
L2571[18:17:45] <tterrag> iirc gradle will use a proportional amount by default
L2572[18:17:55] <gigaherz> well, I had 16gb, and it would fail
L2573[18:17:55] <gigaherz> ;P
L2574[18:17:55] ⇦ Quits: Gil (uid147942@id-147942.brockwell.irccloud.com) (Quit: Connection closed for inactivity)
L2575[18:17:58] <tterrag> odd
L2576[18:18:00] <tterrag> I have 16 and it's fine
L2577[18:18:03] <gigaherz> actually no
L2578[18:18:06] <gigaherz> it worked on a terminal
L2579[18:18:08] <gigaherz> it failed within IDEA
L2580[18:18:16] <Shambling> I think these are the steps you helped me with first time I got gradle to build in intellij, so having something I cAn bookmark is awesome
L2581[18:18:49] <gigaherz> tterrag: is reminding people that they need a 64bit JDK (as opposite to a 32bit one) really out of scope?
L2582[18:19:00] <Shambling> I'll say, from someone that does mainly hardware repair but used to program, this is fairly useful. From a professional programmer, well tterrag and others could comment on that
L2583[18:19:09] <tterrag> I would say so yes
L2584[18:19:24] <tterrag> if you have done ANY previous java dev, you should have a JDK, and there's no reason to have 32bit if you're on a computer less tahn 10 years old
L2585[18:19:48] <Shambling> unless you work for the US government making school programs
L2586[18:19:53] <Shambling> then you program for java 6 32bit
L2587[18:20:20] <wundrweapon> Shambling: wrong, they make those in PPC ASM
L2588[18:20:21] <gigaherz> then I guess I'd get rid of the pre-requisites section, and work with the existing "note" in the getting started page
L2589[18:21:51] <tterrag> Shambling: java source code is not for any architecture
L2590[18:21:53] <tterrag> that's how java works
L2591[18:22:01] <tterrag> any java program runs on both 32bit and 64bit jvms
L2592[18:22:14] <gigaherz> (unless it runs out of memory ;P)
L2593[18:22:20] <tterrag> well, yeah
L2594[18:22:23] <Shambling> haha, ok I was just making a comment on 90% of our hardware interfaces being only compatible with java 6, but sure :P
L2595[18:22:42] <Shambling> our heating system for one will not run if you let it choose the 64bit version
L2596[18:23:07] <wundrweapon> according to the printline I made, my enchant should be ID 10
L2597[18:23:14] <wundrweapon> using the enchant cmd gives me a null enchant, though
L2598[18:23:48] <tterrag> don't use numeric IDs anyways
L2599[18:23:52] <TehNut> ^
L2600[18:23:52] <tterrag> modid:enchant
L2601[18:24:10] <wundrweapon> same outcome
L2602[18:24:28] <tterrag> "null enchant" meaning what
L2603[18:25:08] ⇦ Quits: Shambling (~Shambling@24-181-186-74.dhcp.nwtn.ct.charter.com) (Quit: Leaving)
L2604[18:25:14] <wundrweapon> when I hover over the item, its enchantment list is "enchant.null"
L2605[18:25:30] ⇦ Quits: Kaiyouka (~IdiotNono@c-75-71-231-133.hsd1.co.comcast.net) (Ping timeout: 186 seconds)
L2606[18:26:06] <gigaherz> reshuffled the page
L2607[18:26:08] <gigaherz> and compacted
L2608[18:26:09] <gigaherz> https://gist.github.com/gigaherz/efa0f296275c42388b574c579b4fc420#configuring-forge-with-intellij-idea
L2609[18:26:22] <gigaherz> wundrweapon: can you show your enchantment code?
L2610[18:26:38] <gigaherz> i have a feeling you didn't call .setUnlocalizedName for the enchantment ;P
L2611[18:26:49] ⇨ Joins: howtonotwin (~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net)
L2612[18:27:00] <howtonotwin> Sorry, couldn't stay away :P
L2613[18:27:05] *** gr8pefish|afk is now known as gr8pefish
L2614[18:27:23] <wundrweapon> hold up
L2615[18:27:34] <howtonotwin> any problems so far with the models gr8pe?
L2616[18:27:44] <gigaherz> eh .setName *
L2617[18:27:47] <gigaherz> https://github.com/gigaherz/Survivalist/blob/master/src/main/java/gigaherz/survivalist/scraping/EnchantmentScraping.java
L2618[18:27:53] <gigaherz> working sample ^
L2619[18:29:27] ⇦ Quits: howtonotwin (~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net) (Client Quit)
L2620[18:29:59] ⇨ Joins: howtonotwin (~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net)
L2621[18:31:03] <gr8pefish> I took a break, my brain was hurting from working all this morning on other stuff, I'm just resuming now; thanks for the concern!
L2622[18:31:27] <howtonotwin> alright, gl!
L2623[18:33:27] ⇨ Joins: TankCR (~KRoy.Loca@c-67-185-205-223.hsd1.wa.comcast.net)
L2624[18:33:41] <TankCR> anyone use serverside dynmap?
L2625[18:35:31] ⇦ Quits: iari (~iari___@evana.futhark24.org) (Quit: Leaving)
L2626[18:36:13] <wundrweapon> http://pastebin.com/iRHYWsGp
L2627[18:36:23] <wundrweapon> gigaherz: sorry for the delay
L2628[18:37:57] <howtonotwin> @SidedProxy(serverSide = "wundr.bowEnhancements.CommonProxy", clientSide = "wundr.bowEnhancements.ClientProxy", modId = "bowenhancements")
L2629[18:37:58] <howtonotwin> public static ClientProxy clientProxy = new ClientProxy();
L2630[18:37:59] <howtonotwin> wat
L2631[18:38:15] <howtonotwin> first, don't init the field
L2632[18:38:19] <howtonotwin> just leave it blank
L2633[18:38:30] <howtonotwin> second, it should be a CommonProxy
L2634[18:38:39] <howtonotwin> and ClientProxy should extend CommonProxy
L2635[18:38:59] <howtonotwin> and CommonProxy's methods should do all the common-sided stuff
L2636[18:39:23] <howtonotwin> and ClientProxy should call super. methods from CommonProxy and then do client-side stuff
L2637[18:39:40] <wundrweapon> clientproxy does extend common proxy. I need to instantiate it to call skipBowPullAnim()
L2638[18:39:44] <howtonotwin> no
L2639[18:39:49] <howtonotwin> no you're doing it wrong
L2640[18:39:51] <howtonotwin> very wrong
L2641[18:40:02] <tterrag> howtonotwin: chill m8
L2642[18:40:10] <tterrag> wundrweapon: @SidedProxy will make sure that your field gets initialized
L2643[18:40:16] <tterrag> you do not need to do it yourself
L2644[18:40:20] <wundrweapon> ah
L2645[18:40:33] <tterrag> see http://mcforge.readthedocs.io/en/latest/concepts/sides/#performing-side-specific-operations
L2646[18:40:40] <tterrag> the section on @SidedProxy
L2647[18:40:48] <howtonotwin> and yeah you have to call setName on your enchants
L2648[18:42:13] <wundrweapon> howtonotwin: what's the optimal naming convention for setName()
L2649[18:42:26] <howtonotwin> basically the same thing as unlocalizedname
L2650[18:42:38] <howtonotwin> so modId.camelCaseName
L2651[18:43:25] <gigaherz> I use modid + "." + baseName (same one I use for setRegistryName)
L2652[18:43:35] <gigaherz> so they end up as modid.snake_case_name here
L2653[18:43:45] <gigaherz> but that's just for convenience
L2654[18:44:04] <tterrag> is snake case a convention for lang keys?
L2655[18:44:06] <tterrag> I've never seen that :p
L2656[18:44:29] <gigaherz> no
L2657[18:44:41] <gigaherz> but it's a convention for resource filenames (will be enforced in 1.11)
L2658[18:44:48] <tterrag> ah yeah
L2659[18:44:54] <gigaherz> so I make my registry names snake_case now
L2660[18:45:02] <gigaherz> which means my lang keys end up as snake_case too
L2661[18:45:26] <wundrweapon> setName(Main.MOD_ID + "bowenhancements");
L2662[18:45:36] <wundrweapon> like this in the ench's constructor?
L2663[18:45:45] <tterrag> need a dot in there
L2664[18:45:53] <wundrweapon> ah right
L2665[18:45:57] <tterrag> also, isn't bowenhancements your mod id?
L2666[18:46:02] <gigaherz> wundrweapon: https://github.com/gigaherz/Survivalist/blob/master/src/main/java/gigaherz/survivalist/scraping/EnchantmentScraping.java
L2667[18:46:04] <wundrweapon> it is
L2668[18:46:05] <gigaherz> check mine ;p
L2669[18:46:11] <tterrag> wundrweapon: so...think about what you are doing
L2670[18:46:15] <wundrweapon> woops
L2671[18:46:18] <wundrweapon> fixed that tter
L2672[18:46:44] <howtonotwin> his names garret :P
L2673[18:46:46] ⇦ Quits: SatanicSanta (~SatanicSa@c-76-115-175-15.hsd1.or.comcast.net) (Quit: restart)
L2674[18:46:53] <howtonotwin> with two ts
L2675[18:46:57] <howtonotwin> bc I can't spell
L2676[18:46:58] <tterrag> you can call me whatever you want
L2677[18:47:04] <tterrag> garrett doesn't ping me though
L2678[18:47:10] <wundrweapon> gigaherz: why use setRegistryName
L2679[18:47:25] <howtonotwin> ?garrett
L2680[18:47:29] <gigaherz> wundrweapon: because how else would you give it a registry name?
L2681[18:47:36] * howtonotwin cackles
L2682[18:47:36] <wundrweapon> it needs one...?
L2683[18:47:54] <howtonotwin> how do you register something in a registry
L2684[18:48:03] <gigaherz> wel lthe registry is a key<->object map
L2685[18:48:10] <howtonotwin> if you don't give it a name for it to be registered in it
L2686[18:48:15] <gigaherz> so... something somewhere needs to have given it a name XD
L2687[18:49:00] <wundrweapon> right then... attempt 5, here we go
L2688[18:49:19] <gr8pefish> howtonotwin, I have a question. In the IModel you say for gui3D (and some others) - store value for later. Do you just mean have a class variable? And if so, should I return null for what it wants returned?
L2689[18:49:50] <howtonotwin> actually i forgot what it wants returned
L2690[18:49:56] <howtonotwin> and yes just an instance variable
L2691[18:49:57] <gr8pefish> an IModel
L2692[18:50:00] <gr8pefish> okay cool
L2693[18:50:02] <wundrweapon> setRegistryName crashes the game
L2694[18:50:02] <wundrweapon> java.lang.IllegalStateException: Attempted to set registry name with existing registry name! New: bowenhancements:instant_charge Old: bowenhancements:instant_charge
L2695[18:50:19] <howtonotwin> well don't do it twice xD
L2696[18:50:19] <tterrag> so you ARE calling it somewhere
L2697[18:50:27] <wundrweapon> that may be due to my use of GameRegistry.register(instantCharge, new ResourceLocation("bowenhancements", "instant_charge"));
L2698[18:50:31] <tterrag> -_-
L2699[18:50:34] <tterrag> yes
L2700[18:50:43] <howtonotwin> gr8pefish: bc IModel is immutable
L2701[18:50:47] <gigaherz> wundrweapon: yup
L2702[18:50:48] <tterrag> that method is just an alias for register(foo.setREgistryName(name))
L2703[18:50:55] <gigaherz> the second parameter will call setRegistryName for you
L2704[18:51:01] <howtonotwin> you should mutate this when those methods are called
L2705[18:51:04] <gigaherz> I prefer to do that in the initialization
L2706[18:51:11] <howtonotwin> instead you should create a new IModel and return it
L2707[18:51:42] <howtonotwin> *shouldn't mutate this
L2708[18:51:57] <LexManos> Dont call the register(obj, Name) method
L2709[18:52:06] <LexManos> its only there because i got tired of the bitching
L2710[18:57:25] ⇨ Joins: Cojo (~Cojo@cpe-2606-A000-4C46-8D00-C80E-A9B8-BA4F-2BE7.dyn6.twc.com)
L2711[18:58:50] <gr8pefish> howtonotwin, for IModel's bake method, you say to "Load the other two models with ModelLoader.getModel". 2 Questions: 1) What are you referring to exactly with the "other 2 models"? 2) ModelLoader.getModel doesn't exist, at least not that exact method name (or any other method that returns an IModel in that class).
L2712[18:59:05] <howtonotwin> ModelLoaderRegistry.getModel, sorry
L2713[18:59:24] <howtonotwin> just give it an RL and it'll spit out an IModel
L2714[18:59:39] <gr8pefish> okay
L2715[18:59:44] <howtonotwin> the other 2 models being the model for hand and the one for ground
L2716[19:00:11] <howtonotwin> so IModel groundModel = MLR.getModel(...); IModel otherModel = MLR.getModel(...);
L2717[19:00:55] <howtonotwin> you can take the guidelines I gave and expand them to be more general for all models too
L2718[19:01:09] <tterrag> question...if you are just using a model loader to load two other existing models, why do you have a model loader at all?
L2719[19:01:10] <gr8pefish> Okay cool. I haven't defined a model for the hand though, all I have is a texture.png for it, do I still need to look for it?
L2720[19:01:39] <howtonotwin> Then you have to write a simple item layer model for it
L2721[19:01:46] <howtonotwin> remember, the less is in code, the betetr
L2722[19:01:48] <howtonotwin> *better
L2723[19:01:50] <gr8pefish> alright, will do, ty
L2724[19:01:54] <tterrag> thus my question
L2725[19:02:02] <howtonotwin> it's a magical perspective model
L2726[19:02:09] <howtonotwin> on the ground it has one model
L2727[19:02:17] <howtonotwin> everywhere else it's different
L2728[19:02:29] <tterrag> can you not do that with JSON?
L2729[19:02:31] <tterrag> I guess not
L2730[19:02:34] <howtonotwin> don't believe so
L2731[19:02:40] <howtonotwin> you can supply transforms yes
L2732[19:02:44] <howtonotwin> but no on that front
L2733[19:03:13] <howtonotwin> there isn't any subtype of IPerspectiveAwareModel that aligns with that I don't think
L2734[19:05:01] <gigaherz> no the json doesn't let you express overrides or perspective-based variants
L2735[19:05:08] <gigaherz> you can specify only perspective transforms
L2736[19:05:29] <gigaherz> you can have different models for block and item, but that's a different thing ;p
L2737[19:05:37] <howtonotwin> someone should PR that :P
L2738[19:05:42] <tterrag> I already said "I guess not"
L2739[19:07:56] <gr8pefish> Sorry, but by simple item layer model, do you mean an IModel for the item as it would appear in a hand?
L2740[19:10:21] <howtonotwin> no
L2741[19:10:24] <howtonotwin> just a JSON
L2742[19:10:45] <howtonotwin> { parent: item/generated, textures { layer0: mod:items/texture } }
L2743[19:10:47] <gr8pefish> oh sure, of course, thanks duh
L2744[19:13:04] <wundrweapon> hm. in 1.7.10 I could force the arrow to shoot at full charge by using an arrowlooseevent handler and setting the charge to the max bow charge. that doesn't seem to work anymore, though
L2745[19:13:14] <wundrweapon> also, howtonotwin, the model mod worked :D
L2746[19:14:42] ⇦ Quits: Thefjong (~Thefjong@3e6b1b1c.rev.stofanet.dk) (Read error: Connection reset by peer)
L2747[19:19:57] ⇦ Quits: Abastro (~Abastro@175.117.182.109) (Ping timeout: 384 seconds)
L2748[19:20:20] <PitchBright> anybody have any ideas why when I put include a cloud.png file with translusceny in it, in a resourcepack....
L2749[19:20:41] <PitchBright> the translucent blocks are visible from above the clouds, but not below the clouds?
L2750[19:22:41] <howtonotwin> yay!
L2751[19:22:59] <wundrweapon> any ideas to fix the charge
L2752[19:23:06] <howtonotwin> also you can probably just reverse engineer the method that calculates arrow velocity
L2753[19:24:22] *** Darkhax is now known as Darkhax_AFK
L2754[19:24:38] <howtonotwin> 1 = (c^2/400 + c/10)/3
L2755[19:24:39] <howtonotwin> maybe
L2756[19:24:42] <howtonotwin> probably wrong
L2757[19:25:34] <howtonotwin> yep
L2758[19:25:35] <howtonotwin> c=20
L2759[19:26:34] <howtonotwin> on another note
L2760[19:26:45] <howtonotwin> TIL arrow velocity is quadratic
L2761[19:26:59] <wundrweapon> TIL?
L2762[19:27:09] <howtonotwin> today i learned
L2763[19:27:12] <wundrweapon> oh
L2764[19:31:48] *** MrKickkiller is now known as MrKick|Away
L2765[19:33:50] ⇨ Joins: Abastro (~Abastro@175.117.182.109)
L2766[19:34:02] *** AbrarSyed is now known as Abrar|gone
L2767[19:34:08] *** minecreatr is now known as Mine|away
L2768[19:34:30] ⇦ Quits: IceDragon (~ThatGuy@184.170.10.86) (Ping timeout: 183 seconds)
L2769[19:35:15] ⇨ Joins: IceDragon (~ThatGuy@184.170.10.86)
L2770[19:42:45] ⇦ Quits: Cojo (~Cojo@cpe-2606-A000-4C46-8D00-C80E-A9B8-BA4F-2BE7.dyn6.twc.com) (Quit: If we wish to explore, if we wish to see what's over the next hill, wonders unfold before us; all we have to do is want it enough.)
L2771[19:49:13] ⇦ Quits: KGS (~KGS@h-155-4-129-249.na.cust.bahnhof.se) (Ping timeout: 198 seconds)
L2772[19:52:08] <wundrweapon> if I have an event handler method, is it automatically called as soon as an event is instantiated?
L2773[19:52:24] <wundrweapon> as in, event instantiated, handler called, everything else next
L2774[19:52:46] <gigaherz> assuming @SubscribeEvent-based events
L2775[19:52:49] <gigaherz> there's an event bus
L2776[19:52:51] <gigaherz> the way it works is that
L2777[19:52:59] <gigaherz> the code will create the event parameter instance
L2778[19:53:04] <gigaherz> then post this instance on the bus
L2779[19:53:20] <gigaherz> which will do type-matching to see which handlers can accept this parameter
L2780[19:53:26] <gigaherz> and invoke each one in order of registration
L2781[19:53:46] <gigaherz> (it's more complex than that, internally, but that shoudlbe enough to understand how it behaves)
L2782[19:55:43] <gr8pefish> howtonotwin, I have not felt so dumb in a long time, but that was very confusing/difficult. Here's my 1st (untested) pass at trying to implement it, can you look it over and tell me what is wrong?
L2783[19:55:44] <gr8pefish> https://github.com/gr8pefish/IronBackpacks/tree/dev-1.10/src/main/java/gr8pefish/ironbackpacks/client/modelItem
L2784[19:56:16] <wundrweapon> ....tmw you forget to register your event on the event bus
L2785[19:56:28] <howtonotwin> You can just use ImmutableList.of(
L2786[19:56:39] <howtonotwin> but the main problem is what those methods are doing
L2787[19:56:48] <howtonotwin> do you know what an immutable data structure is?
L2788[19:56:55] <gigaherz> so I have a working implementation of an ItemState abstraction layer
L2789[19:56:56] <gigaherz> ;p
L2790[19:57:13] <gigaherz> it's a loose abstraction, so it's not the most efficient
L2791[19:57:30] <howtonotwin> also by instanceof checks
L2792[19:57:32] <howtonotwin> i meant
L2793[19:57:38] <howtonotwin> oh
L2794[19:57:41] <howtonotwin> wait a mo
L2795[19:58:21] <howtonotwin> Yeah
L2796[19:58:23] <wundrweapon> howtonotwin: I have never heard the word "immutable"
L2797[19:58:24] <howtonotwin> drop those checks
L2798[19:58:26] <howtonotwin> o_O
L2799[19:58:27] <gr8pefish> I know what instanceof checks are/do, just not how to use them in this model rendering stuff. Also yeah I do understand what an immutable sata structure is
L2800[19:58:32] <gr8pefish> lol will do
L2801[19:58:39] <howtonotwin> and just use ModelProcessingHelper
L2802[19:58:39] <gr8pefish> was tryign to just follow your instructions
L2803[19:58:48] <howtonotwin> IModel is immutable
L2804[19:59:26] <howtonotwin> the "mutating" methods are supposed to return a copy with the specified part change
L2805[19:59:28] <howtonotwin> *changed
L2806[20:00:04] <howtonotwin> so fix https://github.com/gr8pefish/IronBackpacks/blob/dev-1.10/src/main/java/gr8pefish/ironbackpacks/client/modelItem/ModelBackpackItem.java#L26-L42
L2807[20:00:06] <gigaherz> the idea about immutable data processing
L2808[20:00:13] <howtonotwin> and make this https://github.com/gr8pefish/IronBackpacks/blob/dev-1.10/src/main/java/gr8pefish/ironbackpacks/client/modelItem/ModelBackpackItem.java#L22-L24
L2809[20:00:14] <gigaherz> is that operations on data return a "version" of the original data
L2810[20:00:16] <howtonotwin> all final
L2811[20:00:17] <gigaherz> with the changes applied
L2812[20:00:23] <gigaherz> in java, this means flat out duplicating data
L2813[20:00:31] <howtonotwin> https://github.com/gr8pefish/IronBackpacks/blob/dev-1.10/src/main/java/gr8pefish/ironbackpacks/client/modelItem/ModelBackpackItem.java#L46-L47
L2814[20:00:32] <howtonotwin> this
L2815[20:00:33] <gigaherz> but in functional languages, there's often lazy evaluation involved
L2816[20:00:41] <howtonotwin> should be ImmutableList.of
L2817[20:00:49] <gigaherz> that's why immutable is so nice in functional languages, but it sucks so much in Java and other similar languages
L2818[20:00:50] <gigaherz> ;p
L2819[20:00:51] <howtonotwin> this: https://github.com/gr8pefish/IronBackpacks/blob/dev-1.10/src/main/java/gr8pefish/ironbackpacks/client/modelItem/ModelBackpackItem.java#L46-L47
L2820[20:00:54] <howtonotwin> all wrong
L2821[20:00:57] <gr8pefish> Okay, will change all that
L2822[20:00:58] <howtonotwin> delete it
L2823[20:00:59] <howtonotwin> :P
L2824[20:01:05] <howtonotwin> I'll be back in 20 min
L2825[20:01:14] <howtonotwin> or you can ask the others here
L2826[20:01:15] <gr8pefish> kay, sounds good, it'll take me a min to fix that
L2827[20:01:34] <gr8pefish> thanks again by the way!
L2828[20:08:56] <gigaherz> so as I was saying
L2829[20:09:06] <gigaherz> I wrote an ItemState system as a proof of concept
L2830[20:09:09] <gigaherz> https://github.com/gigaherz/Survivalist/tree/master/src/main/java/gigaherz/survivalist/api/state
L2831[20:09:26] <gigaherz> example item:
L2832[20:09:26] <gigaherz> https://github.com/gigaherz/Survivalist/blob/master/src/main/java/gigaherz/survivalist/rocks/ItemNugget.java
L2833[20:09:40] <gigaherz> example model registration:
L2834[20:09:41] <gigaherz> https://github.com/gigaherz/Survivalist/blob/master/src/main/java/gigaherz/survivalist/client/ClientProxy.java#L56
L2835[20:09:54] <gigaherz> I don't know what I will do with this
L2836[20:09:55] <gigaherz> ;P
L2837[20:10:19] <gigaherz> lookups are quick
L2838[20:10:25] <gigaherz> and getValue will be quick too
L2839[20:10:30] <gigaherz> not so sure about withProperty ;p
L2840[20:11:32] ⇦ Parts: raoulvdberge (~raoul@95.85.20.191) (Leaving))
L2841[20:12:35] ⇦ Quits: Kano (~Kano@2604:180:2:11bc::a3b8) (Remote host closed the connection)
L2842[20:12:53] <wundrweapon> should livingupdateevent handlers be registered on the typical evet bus?
L2843[20:13:03] *** Abrar|gone is now known as AbrarSyed
L2844[20:13:07] <LexManos> http://www.minecraftforge.net/forum/index.php?topic=42590.0
L2845[20:13:09] <wundrweapon> wb abraar
L2846[20:14:28] <wundrweapon> what is this lex?
L2847[20:14:47] ⇦ Parts: wundrweapon (~quassel@cpe-172-101-184-119.rochester.res.rr.com) (http://quassel-irc.org - Chat comfortably. Anywhere.))
L2848[20:14:56] ⇨ Joins: wundrweapon (~quassel@cpe-172-101-184-119.rochester.res.rr.com)
L2849[20:15:12] <gigaherz> ah nice, an RB :)
L2850[20:15:45] <wundrweapon> @gigaherz rb?
L2851[20:15:53] ⇨ Joins: Kano (~Kano@2604:180:2:11bc::a3b8)
L2852[20:16:02] <gigaherz> recommended build
L2853[20:17:11] <wundrweapon> ah
L2854[20:17:13] <gigaherz> aha
L2855[20:17:13] <gigaherz> Added new lifecycle events to explicitly dictate when a modder should create/register their items/blocks/etc.. USE THIS MODDERS
L2856[20:17:20] <gigaherz> so I won't just be mentioning it exists
L2857[20:17:27] <gigaherz> I'll be telling people to use that ;P
L2858[20:17:39] <gigaherz> "in the register event" rather than tell people "during preinit"
L2859[20:17:40] * wundrweapon has no clue what that means
L2860[20:17:50] <LexManos> yes
L2861[20:17:52] <gigaherz> wundrweapon: you know how you do things in the pre-init and such?
L2862[20:17:55] <LexManos> No more fucking ambiguity
L2863[20:18:00] <gr8pefish> that's super cool
L2864[20:18:03] <LexManos> 'When should I create/register my items!?!?!'
L2865[20:18:04] <gigaherz> and it's hard to know exactly what goes in preinit
L2866[20:18:11] <wundrweapon> yeah...
L2867[20:18:11] <LexManos> IN THE FUCKING REGISTER<ITEMS> EVENT!
L2868[20:18:20] <gigaherz> there's now a RegistryEvent.Register<Item>
L2869[20:18:29] <gigaherz> which is sent when it's time to register all your items
L2870[20:18:40] <gigaherz> and similarly for blocks, and any other registrable object
L2871[20:18:52] <wundrweapon> oh
L2872[20:21:29] <wundrweapon> is there a way to easily update the mdk in use? I know that forgegradle can be easily updated, but what about forge itself
L2873[20:22:16] <LexManos> Alright listen here im gunna say this one
L2874[20:22:23] <LexManos> and it's gunna blow your mind
L2875[20:22:27] <LexManos> To update forge in your MDK...
L2876[20:22:32] <LexManos> You just change the version number....
L2877[20:22:46] <LexManos> SOOOOO complicated!
L2878[20:22:47] <gigaherz> wundrweapon: change version number, re-run setupDecompWorkspace, click on blue refresh icon on idea's gradle panel
L2879[20:23:13] ⇨ Joins: Kaiyouka (~IdiotNono@c-75-71-231-133.hsd1.co.comcast.net)
L2880[20:23:16] <wundrweapon> oag dat sowndz sooper hards (given that I'm clearly a dumb piece of shit)
L2881[20:23:56] <gigaherz> well then, get the new MDK, open build.gradle on a text editor
L2882[20:24:03] <gigaherz> and compare side-by-side with your current build.gradle
L2883[20:24:07] <gigaherz> and fix the changes that apply
L2884[20:24:20] <gigaherz> (which 99.9% of the time will be only the version number)
L2885[20:24:23] ⇨ Joins: killjoy (~killjoy@cpe-2606-A000-1118-C16B-9C1E-3023-8182-6FC8.dyn6.twc.com)
L2886[20:24:43] ⇦ Quits: killjoy (~killjoy@cpe-2606-A000-1118-C16B-9C1E-3023-8182-6FC8.dyn6.twc.com) (Client Quit)
L2887[20:25:03] ⇨ Joins: killjoy (~killjoy@cpe-2606-A000-1118-C16B-9C1E-3023-8182-6FC8.dyn6.twc.com)
L2888[20:25:12] <gigaherz> you can take that chance to switch to newer mappings, but that's completely optional and only truly recommended after a mc version change
L2889[20:25:26] <wundrweapon> just the version in build.gradle? that's... that's it?
L2890[20:25:34] <wundrweapon> wow.
L2891[20:25:38] <wundrweapon> gg forge devs
L2892[20:25:45] <gigaherz> the steps are the same either way: update build.gradle, rerun setupDecompWorkspace, refresh gradle project
L2893[20:26:00] <killjoy> What's the way to require a specific forge version?
L2894[20:26:16] <gigaherz> dependencies="forge@[forgeversion,)"
L2895[20:26:21] <LexManos> gigaherz, did you see dis: http://files.minecraftforge.net/maven/net/minecraftforge/remapper
L2896[20:26:35] <gigaherz> nope what's it?
L2897[20:26:43] <killjoy> thanks
L2898[20:27:08] <gigaherz> hmm wait, Forge@
L2899[20:27:12] <gigaherz> unless the modid of Forge changed ;P
L2900[20:27:20] <killjoy> aren't modids lowercase?
L2901[20:27:23] <LexManos> pretty sure we're lowercase...
L2902[20:27:30] <gigaherz> one of my mods has
L2903[20:27:31] <LexManos> also that is a remapper
L2904[20:27:35] <LexManos> it remaps all the things
L2905[20:27:36] <gigaherz> dependencies = "required-after:Forge@[12.17.0.1916,)"
L2906[20:27:40] <LexManos> as in, all the code
L2907[20:27:49] <gigaherz> which is grossly outdated ;P
L2908[20:27:59] <LexManos> so it makes it easy to swap mapping versions in a mod.
L2909[20:28:11] <gigaherz> OH
L2910[20:28:11] <gigaherz> nice
L2911[20:28:15] <LexManos> Essentially its a GUI wrapper around Srg2Source.
L2912[20:28:19] ⇦ Quits: howtonotwin (~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net) (Ping timeout: 206 seconds)
L2913[20:28:40] <killjoy> wait, I probably don't need this since the recommended was updated
L2914[20:28:45] <gigaherz> just released ;P
L2915[20:29:03] <gigaherz> http://www.minecraftforge.net/forum/index.php?topic=42590.0
L2916[20:29:09] <gigaherz> posted 2 minutes beforeyou joined
L2917[20:29:10] <gigaherz> ;P
L2918[20:29:22] <gigaherz> actually 10 butyeah ;p
L2919[20:29:32] <killjoy> sweet
L2920[20:29:59] <killjoy> I'll have to remember this the next time a crashing bug gets fixed between recommended releases
L2921[20:30:42] <gigaherz> you can still keep that annotation in place, so that people using the old version will see a "requires forge version X" in the error screen
L2922[20:31:01] <killjoy> good idea
L2923[20:32:17] ⇨ Joins: Roburrito (webchat@76-230-142-71.lightspeed.livnmi.sbcglobal.net)
L2924[20:44:46] ⇦ Quits: IceDragon (~ThatGuy@184.170.10.86) (Ping timeout: 183 seconds)
L2925[20:46:47] ⇨ Joins: Cojo (~Cojo@cpe-2606-A000-4C46-8D00-C80E-A9B8-BA4F-2BE7.dyn6.twc.com)
L2926[20:48:02] ⇨ Joins: IceDragon (~ThatGuy@184.170.27.131)
L2927[20:53:44] *** Darkhax_AFK is now known as Darkhax
L2928[20:58:48] ⇦ Quits: Roburrito (webchat@76-230-142-71.lightspeed.livnmi.sbcglobal.net) (Ping timeout: 195 seconds)
L2929[20:59:36] ⇨ Joins: Roburrito (~Roburrito@76-230-142-71.lightspeed.livnmi.sbcglobal.net)
L2930[21:07:08] ⇦ Quits: gr8pefish (~gr8pefish@24-121-241-166.flagcmtk01.res.dyn.suddenlink.net) (Quit: I'm gone)
L2931[21:09:33] *** l is now known as potato
L2932[21:11:06] *** Mumfrey is now known as mumfrey
L2933[21:18:01] <wundrweapon> would it be possible to disable the zoom when chargind a bow, and/or make it instantly full-zoom?
L2934[21:18:26] *** gigaherz is now known as ghz|afk
L2935[21:21:20] <killjoy> are you modifying the bow or creating a new weapon?
L2936[21:22:04] <killjoy> wundrweapon?
L2937[21:22:15] <wundrweapon> neither, I'm making the change via an enchantment
L2938[21:22:22] <wundrweapon> well, I suppose that's modifying the bow
L2939[21:22:24] <killjoy> so instant charge?
L2940[21:22:28] <wundrweapon> yup :P
L2941[21:22:40] <killjoy> so no transition at all?
L2942[21:22:45] <killjoy> or no zoom?
L2943[21:22:49] <wundrweapon> I already have the model and logic worked out and functioning, configurable zoom is all that's left
L2944[21:22:57] <wundrweapon> both, switchable via config
L2945[21:22:58] <killjoy> I think that's client-side
L2946[21:23:16] <wundrweapon> I wouldn't doubt that, but how'd it be pulled off (in theory)?
L2947[21:26:26] ⇦ Quits: iso2013 (~iso2013@c-67-176-10-45.hsd1.co.comcast.net) (Quit: Bye :))
L2948[21:33:05] ⇨ Joins: blood_ (unknown@ool-4574115b.dyn.optonline.net)
L2949[21:37:04] <killjoy> Anyone help me with this? http://pastebin.com/v947KbCu
L2950[21:39:29] ⇦ Quits: auenf (David@DC-24-199.bpb.bigpond.com) (Remote host closed the connection)
L2951[21:40:19] <killjoy> is it because I don't have a mcmod.info?
L2952[21:40:26] ⇨ Joins: auenf (David@DC-24-199.bpb.bigpond.com)
L2953[21:44:50] ⇦ Quits: Snapples (uid167569@id-167569.highgate.irccloud.com) (Quit: Connection closed for inactivity)
L2954[21:44:54] ⇨ Joins: theFlaxbeard (~theFlaxbe@184.97.191.160)
L2955[21:46:02] ⇦ Quits: cpup (~cpup@32.218.116.53) (Ping timeout: 186 seconds)
L2956[21:47:04] <wundrweapon> I doubt it's caused by mcmod.info because iirc it's not necessary
L2957[21:47:20] ⇨ Joins: Roflmuffin (~Roflmuffi@101.179.16.202)
L2958[21:48:25] <wundrweapon> Huston, we have a problem. The game cannot launch due to not having the ClientProxy instantiated, but I'm not supposed to because of SidedProxy. any ideas?
L2959[21:50:29] <TehNut> Show your code
L2960[21:50:56] <wundrweapon> http://pastebin.com/SSiFEucS
L2961[21:51:14] <wundrweapon> make note of the variable clientProxy
L2962[21:51:48] <Roflmuffin> I'm fairly new to this, but I was under the impression your variable under @SidedProxy has to be the server/common class
L2963[21:51:50] <TehNut> The field should not be your ClientProxy. It should be a common type between both server and client
L2964[21:52:09] <wundrweapon> so it should be CommonProxy, as roflmuffin said?/
L2965[21:52:09] <killjoy> there's not really code to show.
L2966[21:52:22] <killjoy> but i can show the commit that it happened on
L2967[21:52:34] <killjoy> https://git.io/vPBk9
L2968[21:52:51] ⇦ Quits: Baughn (~Baughn@madoka.brage.info) (Remote host closed the connection)
L2969[21:52:57] <TehNut> wundrweapon: If ClientProxy extends CommonProxy, then yes
L2970[21:53:11] <wundrweapon> killjoy: that last file
L2971[21:53:16] <wundrweapon> check the syntax
L2972[21:53:27] <wundrweapon> tehnut: alright
L2973[21:53:35] <killjoy> as in java syntax?
L2974[21:53:38] <killjoy> that last ) is inside ""
L2975[21:54:35] ⇦ Quits: edr (~edr@d-65-175-180-73.cpe.metrocast.net) (Quit: Leaving)
L2976[21:54:43] <TehNut> required-after:forge@[12.18.1.2020,)
L2977[21:54:43] <wundrweapon> killjoy: yeah, either the paranthese should be a bracket or vice versa
L2978[21:54:45] <Roflmuffin> Should it not be another square bracket though
L2979[21:54:49] <TehNut> wundrweapon: No.
L2980[21:54:57] <TehNut> That was valid syntax, he forgot the requirement
L2981[21:55:04] <wundrweapon> oh
L2982[21:55:17] <TehNut> ,) means any version above
L2983[21:55:19] <wundrweapon> then what should the line look like
L2984[21:55:25] <TehNut> What I just posted
L2985[21:55:27] <tterrag> it's range notation
L2986[21:55:33] <wundrweapon> aaah
L2987[21:55:33] <killjoy> required-after:forge@[12.18.1.2020,)
L2988[21:55:34] <tterrag> [ = closed
L2989[21:55:37] <tterrag> ( = open
L2990[21:55:45] <wundrweapon> tht's an Alg I thing duhr me
L2991[21:55:54] <killjoy> [ = inclusive. ) = exclusive
L2992[21:55:55] <tterrag> for chisel (currently) we have mcversion="[1.9.4, 1.11)"
L2993[21:56:06] <tterrag> so this is inclusive to ALL (even unreleased) 1.10 versions
L2994[21:56:14] <killjoy> it's how you represent ranges in math
L2995[21:56:23] <killjoy> infinity always uses )
L2996[21:56:40] <wundrweapon> killjoy: yeah, like I said, I just realized that was an Algebra I thing
L2997[21:56:46] <killjoy> yup
L2998[21:57:13] <killjoy> anyway, I already reverted the commit, but it's not really needed since the recommended version was updated today.
L2999[21:57:22] ⇨ Joins: Baughn (~Baughn@madoka.brage.info)
L3000[21:57:23] <wundrweapon> tterrag: so to call my skipBowPullAnim method, do I instantiate ClientProxy separately of the SidedProxy annotation?
L3001[21:57:32] <tterrag> NO
L3002[21:57:34] <tterrag> just use the field
L3003[21:57:36] <killjoy> fml does that for you
L3004[21:57:42] <Roflmuffin> just use proxy
L3005[21:58:03] <TehNut> The field gets set for you at runtime. Ignore the fact that you haven't instantiated it yourself.
L3006[21:58:30] <killjoy> same with @Instance
L3007[21:58:32] <TehNut> public static CommonProxy proxy;
L3008[21:58:33] <TehNut> fullstop
L3009[21:58:35] <TehNut> no more
L3010[21:59:25] ⇦ Quits: Kano (~Kano@2604:180:2:11bc::a3b8) (Ping timeout: 198 seconds)
L3011[21:59:52] <wundrweapon> alright, so FML initializes CommonProxy for me - I get that - then what am I supposed to do about clientproxy?
L3012[22:00:02] <killjoy> nothing
L3013[22:00:14] <killjoy> if you're on the client, it uses clientproxy
L3014[22:00:16] <Roflmuffin> When you call proxy.method, it will call your proxys method on both client and server
L3015[22:00:18] <killjoy> otherwise, commonproxy
L3016[22:00:35] <killjoy> it's why ClientProxy should extend CommonProxy
L3017[22:01:13] ⇦ Quits: Kaiyouka (~IdiotNono@c-75-71-231-133.hsd1.co.comcast.net) (Ping timeout: 198 seconds)
L3018[22:02:33] <TehNut> Please just read this. http://mcforge.readthedocs.io/en/latest/concepts/sides/
L3019[22:02:44] <wundrweapon> so sidedproxy annotation on a commonproxy, I've got that
L3020[22:02:46] <tterrag> I linked that 2 hrs ago
L3021[22:02:49] <tterrag> when he first asked >.>
L3022[22:03:24] <Roflmuffin> lmao
L3023[22:03:38] <killjoy> rofl
L3024[22:03:44] <killjoy> ftfy
L3025[22:06:28] ⇨ Joins: Drullkus (~Drullkus@tterrag.com)
L3026[22:07:12] <wundrweapon> (this shit makes no gaddamn sense) you know what I'm just done coding for today
L3027[22:09:49] ⇦ Quits: wundrweapon (~quassel@cpe-172-101-184-119.rochester.res.rr.com) (Remote host closed the connection)
L3028[22:10:16] <killjoy> Someone should tell him how a black box works
L3029[22:10:32] <tterrag> does there exist a way to use the ParticleManager without using a hardcoded int ID?
L3030[22:14:52] <Roflmuffin> Does anyone have some good examples/sources I could look at for Multiblock creation
L3031[22:15:09] <killjoy> TiCon is good
L3032[22:16:42] <Roflmuffin> Awesome very detailed, cheers
L3033[22:16:54] <killjoy> np, m8
L3034[22:19:47] ⇨ Joins: Cuby96 (~Cuby96@62.68.4.51)
L3035[22:20:25] ⇦ Quits: Lathanael|Away (~Lathanael@p549603B8.dip0.t-ipconnect.de) (Ping timeout: 198 seconds)
L3036[22:20:46] <Cuby96> hi there :) having a question: how do i setup a language file for my project in intellij? i searched up for a tutorial but i cant find any solution for it
L3037[22:21:15] <killjoy> put assets/<modid>/lang/en_US.lang to src/main/resources
L3038[22:22:03] <killjoy> forge takes care of the rest
L3039[22:22:31] <tterrag> http://mcforge.readthedocs.io/en/latest/conventions/locations/
L3040[22:22:41] <Cuby96> well i did it, like you can see here: http://imgur.com/a/N2JiK
L3041[22:22:42] ⇦ Quits: brandon3055 (~Brandon@122-129-151-1.dynamic.ipstaraus.com) (Read error: Connection reset by peer)
L3042[22:23:00] ⇨ Joins: brandon3055 (~Brandon@122-129-151-1.dynamic.ipstaraus.com)
L3043[22:23:13] <killjoy> looks good.
L3044[22:23:21] <Cuby96> yeah :)
L3045[22:23:27] <tterrag> ElectroniCraft needs to be lowercased
L3046[22:23:37] <killjoy> should be. Needs to be by 1.11
L3047[22:23:48] <Cuby96> its a 1.7 mod
L3048[22:23:50] <killjoy> or is that just paths?
L3049[22:23:52] <tterrag> no, for lang files I believe it's forced lowercase
L3050[22:23:53] <Cuby96> still neccessary?
L3051[22:23:58] <tterrag> so it's looking for path.toLowerCase()
L3052[22:24:02] <Cuby96> ok i see
L3053[22:24:24] <Cuby96> even though the modid is set like that?
L3054[22:24:25] *** Mine|away is now known as minecreatr
L3055[22:24:26] <killjoy> looks like you have assets in a package
L3056[22:24:39] ⇨ Joins: McJty (~jorrit@94-225-203-206.access.telenet.be)
L3057[22:24:40] <killjoy> resource domain doesn't have to match the modid
L3058[22:25:08] <tterrag> ^
L3059[22:25:11] <tterrag> I ususally do something like
L3060[22:25:23] <tterrag> public static final String MODID = "SomeStringWithUppercases";
L3061[22:25:34] <tterrag> public static final String DOMAIN = MODID.toLowerCase();
L3062[22:25:46] <tterrag> of course, that only works if you don't rely on constant inlining (annotations)
L3063[22:26:20] <Cuby96> so should i make the modid lowercase in the build.gradle or do it with the domain way?
L3064[22:26:44] ⇨ Joins: Lathanael|Away (~Lathanael@p549608F5.dip0.t-ipconnect.de)
L3065[22:26:51] <killjoy> I would personally use a lowercase modid
L3066[22:28:53] <Cuby96> ok, let me try if the lowercase works now :P
L3067[22:29:18] <Cuby96> nope dafuq
L3068[22:29:39] <killjoy> refresh workspace?
L3069[22:29:54] <killjoy> the files may not have been copied to the classpath
L3070[22:30:41] ⇦ Quits: alekso56 (~znc@2001:464b:c2aa:0:745d:45ff:fe3b:a098) (Ping timeout: 183 seconds)
L3071[22:30:54] <Cuby96> okay i reloaded the workspace and still it didnt change
L3072[22:32:29] <tterrag> Cuby96: you made the folder lowercase too right
L3073[22:32:45] <Cuby96> yes exactly and changed every modid to lowercase aswell
L3074[22:32:49] ⇨ Joins: alekso56 (~znc@2001:464b:c2aa:0:745d:45ff:fe3b:a098)
L3075[22:32:50] <tterrag> huh
L3076[22:32:55] <tterrag> what IDEA version?
L3077[22:32:55] ⇨ Joins: HalfOfAKebab (webchat@82.46.156.187)
L3078[22:33:04] <Cuby96> 14.0
L3079[22:33:11] <tterrag> is that...new?
L3080[22:33:14] <tterrag> sorry I don't use IDEA
L3081[22:33:25] <Roflmuffin> 2016.2 would be the newest I think
L3082[22:33:26] <Cuby96> kinda not the total newest but still ok
L3083[22:33:48] <Cuby96> yes 2016.2 is the newest
L3084[22:34:02] <tterrag> I would update
L3085[22:34:06] <tterrag> there used to be an issue with resources
L3086[22:34:12] <tterrag> you could add the fix for that, just to see if this is the issue
L3087[22:34:31] <tterrag> idea.module.inheritOutputDirs = true
L3088[22:34:34] <tterrag> slap that in your build.gradle
L3089[22:34:46] <Unh0ly_Tigg> also, remember: modid's and mod names can be different!
L3090[22:34:48] <Cuby96> okay i will try
L3091[22:34:48] <tterrag> it SHOULD have been fixed ages ago
L3092[22:35:25] ⇨ Joins: keybounce (~keybounce@64.201.108.45)
L3093[22:35:31] ⇦ Quits: HalfOfAKebab (webchat@82.46.156.187) (Client Quit)
L3094[22:35:43] ⇨ Joins: HalfOfAKebab (webchat@82.46.156.187)
L3095[22:35:51] ⇦ Quits: Unh0ly_Tigg (~Robert@c-76-115-95-185.hsd1.or.comcast.net) (Quit: going to bed)
L3096[22:36:14] <Cuby96> tterrag still nothing
L3097[22:36:24] <killjoy> how are you translating it?
L3098[22:36:44] <killjoy> I18n.format?
L3099[22:36:57] <Cuby96> en_US.lang with just english characters
L3100[22:37:15] <tterrag> could you post your file, as well as an example of a translation that is "not working" ?
L3101[22:37:30] <killjoy> that's not what I mean
L3102[22:37:38] <killjoy> in code
L3103[22:37:52] <killjoy> how are you getting the phrase from the key?
L3104[22:38:01] ⇨ Joins: gr8pefish (~gr8pefish@24.121.241.166)
L3105[22:38:28] <Cuby96> just a moment
L3106[22:39:10] <Cuby96> well in my en_US.lang i put a single line which is: itemGroup.ElectroniCraft=ElectroniCraft
L3107[22:39:22] <Cuby96> as that what appears in my CreativeTab ingame
L3108[22:40:19] <tterrag> that should work
L3109[22:41:23] <Cuby96> ingame it appears as that: http://imgur.com/a/5KYzA
L3110[22:41:45] <tterrag> looks good
L3111[22:42:00] <tterrag> idk then. you could try building it out and running in normal MC to make sure it's a problem with your dev env
L3112[22:42:15] ⇦ Quits: infinitefoxes_ (~infinitef@47.185.12.253) (Quit: Leaving)
L3113[22:42:34] <Cuby96> ok i will try that one
L3114[22:43:38] <Cuby96> but why is the itemGroup name still not lowercase?
L3115[22:43:41] <Cuby96> thats what i wonder
L3116[22:43:54] <Cuby96> is it because of the main file?
L3117[22:43:56] <tterrag> it uses whatever you shoved into your creative tab constructor
L3118[22:44:15] <tterrag> which I assume was super(MODID)
L3119[22:44:24] <tterrag> the actual language strings do not need to be lowercase
L3120[22:45:05] ⇦ Quits: Abastro (~Abastro@175.117.182.109) (Ping timeout: 384 seconds)
L3121[22:45:57] <Cuby96> well i did: public class CreativeTab extends CreativeTabs and then inside in the contstructor put in super("ElectroniCraft");
L3122[22:46:24] <Cuby96> so that inside the main class i just do: public static CreativeTabs tab = new CreativeTab();
L3123[22:46:57] <tterrag> that's fine
L3124[22:47:36] <Cuby96> hmm
L3125[22:48:01] <Cuby96> im so confused
L3126[22:48:55] <Cuby96> but one interesting thing i noticed too: the mcmod.info isnt recognized either
L3127[22:49:13] <Cuby96> so i guess the resource folder isnt working tterrag
L3128[22:49:19] <killjoy> is resources considered a source folder?
L3129[22:49:58] <Cuby96> how can i change it or verify it?
L3130[22:50:10] <tterrag> I didn't even know IDEA had "source folders"
L3131[22:50:22] <killjoy> I'm just using what I'm familiar with (eclipse)
L3132[22:50:47] <tterrag> same :P
L3133[22:50:51] <Cuby96> well i can mark the directory as sourches ROOT folder
L3134[22:51:03] <Cuby96> but not as a sources folder itself
L3135[22:51:13] <killjoy> do that
L3136[22:51:36] <Cuby96> even though the java folder up there is the sources root?
L3137[22:52:02] <killjoy> can probably have 2
L3138[22:52:46] <Cuby96> ok i will check it out
L3139[22:53:22] <gr8pefish> cuby, what version are you on, and does your build.gradle have anything special at the end?
L3140[22:53:32] <killjoy> he says 16
L3141[22:53:44] <killjoy> *14.0
L3142[22:53:48] <gr8pefish> mc version
L3143[22:53:52] <killjoy> 1.7.10
L3144[22:53:52] <Cuby96> 1.7.10
L3145[22:54:11] <Cuby96> changed it to sources root still nothing
L3146[22:55:03] <Cuby96> end of the build.gradle: idea.module.inheritOutputDirs = true
L3147[22:55:04] <gr8pefish> Are you using idea as an ide?
L3148[22:55:13] <Cuby96> yes
L3149[22:55:26] <gr8pefish> try commenting out that last line and refresh gradle
L3150[22:56:20] <Roflmuffin> from your original screenshot it looks correct, see mine here: http://imgur.com/a/01v1L (keep in mind this is for 1.10, but shouldn't matter in terms of what is marked as 'resources'). Something must be borked with the setup
L3151[22:57:04] <Roflmuffin> so same folder is marked as resources in your original screenshot and mine
L3152[22:57:45] <Cuby96> yes its exactly like in your screenshot
L3153[22:58:04] <tterrag> gr8pefish: I told him to add it, it wasn't working before he did either :P
L3154[22:58:14] <tterrag> (yes, I know it's not needed anymore. figured it was worth a shot)
L3155[22:59:20] <Roflmuffin> ¯\_(ツ)_/¯
L3156[22:59:21] <gr8pefish> Ah okay, well it was worth a shot
L3157[23:00:13] <tterrag> Cuby96: I have to ask, why 1.7?
L3158[23:00:23] <Cuby96> so basically i screwed everything up and i can do it again?
L3159[23:00:23] <tterrag> seems like this is a new mod, why not start on a new version?
L3160[23:00:44] <Cuby96> tterrag: because i want to add a mod for a modpack which uses 1.7.10
L3161[23:00:55] <tterrag> what modpack?
L3162[23:01:14] <Cuby96> infinity evolved afaik its still 1.7.10
L3163[23:01:50] <tterrag> that's not being updated anymore. why not shoot for new packs?
L3164[23:02:07] <gr8pefish> ^
L3165[23:02:52] <Roflmuffin> I cant even come up with ideas for new packs
L3166[23:03:00] <Cuby96> well its the same question with: why do you still play on your SNES? why not shoot for a Wii U?
L3167[23:03:14] <Cuby96> ^^
L3168[23:03:57] <Cuby96> ok the age comparision is overkill but you get the idea
L3169[23:06:44] <Cuby96> so basically a new start of my project or?
L3170[23:07:43] <Cuby96> well im heading towards bed getting a clear mind, see you guys soon :)
L3171[23:07:46] ⇦ Parts: Cuby96 (~Cuby96@62.68.4.51) ())
L3172[23:12:16] ⇦ Quits: gr8pefish (~gr8pefish@24.121.241.166) (Quit: I'm gone)
L3173[23:31:32] ⇨ Joins: Abastro (~Abastro@175.117.182.109)
L3174[23:41:45] ⇦ Quits: Abastro (~Abastro@175.117.182.109) (Ping timeout: 384 seconds)
L3175[23:46:37] *** minecreatr is now known as Mine|away
L3176[23:51:21] *** Mine|away is now known as Mine|dreamland
L3177[23:51:25] ⇨ Joins: Abastro (~Abastro@175.117.182.109)
L3178[23:51:47] ⇦ Quits: HalfOfAKebab (webchat@82.46.156.187) (Quit: Web client closed)
L3179[23:53:56] ⇨ Joins: Dark (~MrDark@cpe-104-230-227-71.columbus.res.rr.com)
L3180[23:54:23] ⇦ Quits: killjoy (~killjoy@cpe-2606-A000-1118-C16B-9C1E-3023-8182-6FC8.dyn6.twc.com) (Quit: Leaving)
L3181[23:55:12] <Dark> does anyone know if there is a program that you can run a crash report threw to replace func_72964_e with its actual name
L3182[23:59:09] ⇨ Joins: Kaiyouka (~IdiotNono@c-75-71-231-133.hsd1.co.comcast.net)
<<Prev Next>> Scroll to Top