<<Prev Next>> Scroll to Bottom
Stuff goes here
L1[00:08:33] ⇦ Quits: KnightMiner (~KnightMin@adsl-76-202-213-57.dsl.emhril.sbcglobal.net) (Quit: Leaving)
L2[00:16:00] ⇨ Joins: Hunterz (~hunterz@2001:af0:8000:1c01:6af7:28ff:fe37:5d6a)
L3[00:19:17] ⇦ Quits: abab9579 (~Abastro@143.248.172.173) (Ping timeout: 201 seconds)
L4[00:23:43] ⇦ Quits: KissOfFate (~KissOfFat@pool-173-53-76-122.rcmdva.fios.verizon.net) (Quit: Leaving)
L5[00:43:42] *** TTFTCUTS is now known as TTFT|Away
L6[00:44:43] ⇨ Joins: TomyLobo (~TomyLobo@ip5b420a6f.dynamic.kabel-deutschland.de)
L7[00:49:38] ⇨ Joins: abab9579 (~Abastro@143.248.172.173)
L8[01:08:45] ⇨ Joins: Shawn|i7-Q720M (~shawn156@c-73-153-76-80.hsd1.co.comcast.net)
L9[01:12:56] ⇦ Quits: TomyLobo (~TomyLobo@ip5b420a6f.dynamic.kabel-deutschland.de) (Ping timeout: 201 seconds)
L10[01:18:14] ⇨ Joins: immibis (~chatzilla@125-237-219-3.jetstream.xtra.co.nz)
L11[01:23:49] *** afdw2 is now known as afdw
L12[01:27:53] ⇦ Quits: kinggoesgaming (uid23106@id-23106.ealing.irccloud.com) (Quit: Connection closed for inactivity)
L13[01:29:28] ⇦ Quits: sinkillerj (~sinkiller@nc-67-232-15-97.dhcp.embarqhsd.net) (Quit: またね)
L14[01:36:18] ⇨ Joins: Hgreb (~Hgrebnedn@d8D872A6E.access.telenet.be)
L15[01:39:20] ⇦ Quits: Doty1154 (~Doty1154@2601:648:8000:134f:18c0:6af4:2fa:7297) (Read error: Connection reset by peer)
L16[01:44:24] <cjm721> So lycanites mobs has its own OBJ loader / baker for its EntityLiving
L17[01:52:55] ⇦ Quits: abab9579 (~Abastro@143.248.172.173) (Ping timeout: 186 seconds)
L18[01:55:54] ⇨ Joins: abab9579 (~Abastro@143.248.172.173)
L19[02:00:03] <MCPBot_Reborn> [TEST CSV] Pushing snapshot_20170529 mappings to Forge Maven.
L20[02:00:07] <MCPBot_Reborn> [TEST CSV] Maven upload successful for mcp_snapshot-20170529-1.11.zip (mappings = "snapshot_20170529" in build.gradle).
L21[02:00:17] <MCPBot_Reborn> Semi-live (every 10 min), Snapshot (daily ~3:00 EST), and Stable (committed) MCPBot mapping exports can be found here: http://export.mcpbot.bspk.rs/
L22[02:02:35] ⇨ Joins: LordFokas (LordFokas@znc.theender.net)
L23[02:16:07] ⇨ Joins: gigaherz|work (~gigaherz@84.89.63.25)
L24[02:42:02] ⇨ Joins: Javaschreiber (~Thunderbi@88-209-32-73.nga.highspeed-baumann.de)
L25[02:45:15] ⇨ Joins: Noppes (~Noppes@ip56530f2e.direct-adsl.nl)
L26[02:52:56] ⇦ Quits: abab9579 (~Abastro@143.248.172.173) (Ping timeout: 180 seconds)
L27[02:53:43] ⇨ Joins: abab9579 (~Abastro@143.248.172.173)
L28[03:02:58] ⇦ Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 204 seconds)
L29[03:09:03] ⇨ Joins: TechnicianLP (~Technicia@p4FE1CB8D.dip0.t-ipconnect.de)
L30[03:17:45] <risux> I'm trying to make a block with a custom baked model and wavefront model rotate. Got the blockstates set up, added the rotation to the blockstate json, but from there I'm not sure how to make it visually rotate.
L31[03:19:57] <gigaherz|work> risux: did you try passing the IModelState to the IModel#bake of the obj model?
L32[03:20:04] ⇨ Joins: Searge|mojang (~Searge@h-85-24-130-18.na.cust.bahnhof.se)
L33[03:20:04] <risux> I've got that, yes.
L34[03:20:12] <gigaherz|work> and it isn't working?
L35[03:20:24] <risux> Nope, I must have done something wrong. I'll grab the code.
L36[03:20:39] *** diesieben|away is now known as diesieben07
L37[03:22:36] ⇦ Quits: Searge|work (~Searge@h-85-24-130-18.na.cust.bahnhof.se) (Ping timeout: 204 seconds)
L38[03:22:49] <risux> Here's where I passed it in: https://gist.github.com/Ri5ux/dbc1e98a7e30e873979e86f99e9480c0#file-ibakedmodel-java-L63
L39[03:22:58] <risux> Also the blockstate json and IModel are included
L40[03:23:30] <gigaherz|work> hmm that may not work like that
L41[03:24:21] ⇨ Joins: Seppon (~Noppes@ip56530f2e.direct-adsl.nl)
L42[03:24:34] <gigaherz|work> you may need to use state.getwhateveritscalled(null)
L43[03:24:39] <gigaherz|work> yo get the sub-state for the main model
L44[03:25:26] ⇦ Quits: Lathanael|Away (~Lathanael@p54961E77.dip0.t-ipconnect.de) (Ping timeout: 180 seconds)
L45[03:25:26] ⇦ Quits: auenf (David@CPE-60-229-138-38.lns4.ken.bigpond.net.au) (Ping timeout: 180 seconds)
L46[03:25:48] ⇨ Joins: Lathanael|Away (~Lathanael@p54961E77.dip0.t-ipconnect.de)
L47[03:25:56] ⇦ Quits: gabizou (~gabizou@irc.spongepowered.org) (Ping timeout: 180 seconds)
L48[03:26:18] ⇨ Joins: Javaschreiber1 (~Thunderbi@88-209-32-73.nga.highspeed-baumann.de)
L49[03:26:24] ⇨ Joins: auenf (David@cpe-60-229-138-38.lns4.ken.bigpond.net.au)
L50[03:26:26] ⇦ Quits: Noppes (~Noppes@ip56530f2e.direct-adsl.nl) (Ping timeout: 180 seconds)
L51[03:26:26] ⇦ Quits: Javaschreiber (~Thunderbi@88-209-32-73.nga.highspeed-baumann.de) (Ping timeout: 180 seconds)
L52[03:26:26] ⇦ Quits: Hex (~Hex@four.out.of.five.doctors.recommend.hex.lc) (Ping timeout: 180 seconds)
L53[03:26:27] ⇦ Quits: Redfoxmoon (~Red@177.92-221-236.customer.lyse.net) (Ping timeout: 180 seconds)
L54[03:26:27] ⇦ Quits: I9hdkill (~quassel@static.102.152.243.136.clients.your-server.de) (Ping timeout: 180 seconds)
L55[03:26:27] *** Javaschreiber1 is now known as Javaschreiber
L56[03:26:53] <risux> state being the IModelState?
L57[03:26:58] <gigaherz|work> yes
L58[03:28:00] <risux> state.apply()? That's the only method I see in IModelState
L59[03:28:16] <gigaherz|work> I suppose
L60[03:28:29] <gigaherz|work> ;P
L61[03:28:33] <gigaherz|work> but yes
L62[03:28:37] <gigaherz|work> call apply with Optional.absent
L63[03:29:02] <gigaherz|work> and pass the resulting TRSRTransformation to the obj model
L64[03:29:03] ⇨ Joins: I9hdkill (~quassel@static.102.152.243.136.clients.your-server.de)
L65[03:29:12] <gigaherz|work> if that doesn't work
L66[03:29:15] <gigaherz|work> I don't know what will
L67[03:29:20] <fry> wtf are you suggesting, gigaherz?
L68[03:29:55] <gigaherz|work> the only thing I could think of while I'm at work without being able to check things properly
L69[03:31:00] <gigaherz|work> however on second thought
L70[03:31:04] <gigaherz|work> that'd be pointless
L71[03:31:16] <risux> Yeah, it doesnt appear to be doing anything :P
L72[03:31:18] <gigaherz|work> since the reasoning in my head just doesn't work
L73[03:32:07] <fry> risux: don't do unchecked casts, don't wrap exceptions with catch + printStackTrace :P
L74[03:33:06] <gigaherz|work> I was thinking somehow the IModelState may be bound to the model, and the other model isn't able to get the TRSR data from it, but if that was the case, then calling apply(absent) wouldn't work either......... so yeah. ;P
L75[03:33:12] <fry> you even do the cast twice for some reason :P
L76[03:34:04] <gigaherz|work> wait
L77[03:34:06] <gigaherz|work> I see your problem lol
L78[03:34:40] <gigaherz|work> no wait
L79[03:34:47] <gigaherz|work> it's a problem ,but not THE problem
L80[03:35:13] <gigaherz|work> you call getModel, cast to retexturable, call retexture, etc
L81[03:35:14] <fry> nevermind, the cast is checked, but still, twice :P
L82[03:35:16] <risux> fry, I see the unchecked cast, but where are you seeing that I cast twice? o.o
L83[03:35:17] <gigaherz|work> but you never cache it
L84[03:35:30] <fry> IRetexturableModel retexturable = (IRetexturableModel) model;
L85[03:35:34] <fry> retexturable = (IRetexturableModel) retexturable.retexture(textures);
L86[03:35:47] <risux> It has to be cast there, it returns a standard IModel
L87[03:35:49] <gigaherz|work> so every single time any block uses your model, it will re-bake
L88[03:36:00] <gigaherz|work> risux: you don't need the output from that to be cast though
L89[03:36:00] <fry> don't store it in the same variable? :P
L90[03:36:04] <gigaherz|work> since you only call bake on it
L91[03:36:33] <fry> yes, you'll rebake on each call to getQuads, but that shouldn't mean that it won't work at all
L92[03:36:51] <risux> Oh, I must have misunderstood that
L93[03:38:50] <gigaherz|work> uhm, wait, are you using "avp:slope.obj" as the internal identifier for accepting your custom model? o_O
L94[03:39:05] <gigaherz|work> oh and
L95[03:39:05] ⇨ Joins: Larry1123 (Larry1123@irc.larry1123.net)
L96[03:39:08] <gigaherz|work> your blockstates file is wrong
L97[03:39:12] <gigaherz|work> that's why it won't work
L98[03:39:15] <gigaherz|work> not the code, the blockstates.
L99[03:39:20] <gigaherz|work> in forge blockstates format
L100[03:39:27] <gigaherz|work> full-string variants should be in an array
L101[03:39:37] <gigaherz|work> "facing=north": [{ }]
L102[03:39:44] <gigaherz|work> or alternatively you can do
L103[03:39:48] <gigaherz|work> "facing": {
L104[03:39:51] <gigaherz|work> "north": {},
L105[03:39:53] <fry> step 1: to get the model for the blockstate variant, use getModel(ModelResourceLocation("avp:slope", "facing=north"))
L106[03:39:57] <gigaherz|work> "east": { "y": ... }
L107[03:40:08] <gigaherz|work> so that's why the rotations aren't applied
L108[03:40:15] <gigaherz|work> the variants you are declaring are NOT valid
L109[03:41:08] <fry> step 2: you're baking obj model with the state from the slope model - decide which rotations you want to be applied (from slope json, from obj json, or from both)
L110[03:41:22] <fry> and modify call to .bake to use the appropriate state instead :)
L111[03:41:59] <risux> Okay, so quite a bit was wrong. Gonna need a bit to catch up :P
L112[03:43:03] <fry> if you use ResourceLocation(AliensVsPredator.ID, "block/slope.obj"), then you'll get to the obj directly, without going through the blockstate
L113[03:43:17] <fry> which might work if you put the rotations in the blockstate where you use the slope model
L114[03:43:35] <risux> So I won't need to reference the model in the blockstate at all?
L115[03:44:36] <fry> which one? :P
L116[03:44:49] <risux> The json.
L117[03:45:07] <risux> I wont need to reference slope.obj in the json?
L118[03:45:21] <gigaherz|work> you never do
L119[03:45:38] <gigaherz|work> the blockstates json only needs to reference a special resourcelocation that you use for your custom model
L120[03:45:49] <gigaherz|work> and then your custom model references the .obj file through getDependencies
L121[03:47:17] <gigaherz|work> the process is roughly:
L122[03:47:34] <gigaherz|work> 1. the model's statemapper references some resourcelocations it will require as models
L123[03:47:55] <gigaherz|work> 2. the model loader loads all the required blockstate files and computes the models from it
L124[03:48:13] <gigaherz|work> 2.1. for each model getDependencies is called to get the dependencies also added recursively to the table
L125[03:48:25] <fry> step 1 is MRL and not just a RL :P
L126[03:48:28] <gigaherz|work> 3. the model loader bakes each model with the requested variants
L127[03:49:00] <gigaherz|work> so the key
L128[03:49:21] ⇨ Joins: KGS (~KGS@h-158-174-9-249.na.cust.bahnhof.se)
L129[03:49:23] <gigaherz|work> is that the blockstates json has "model":"yourmod:special/custom/path/to/yourmodel" (arbitrary name)
L130[03:49:34] <gigaherz|work> and then your IModel implementation returns the right list of dependants from getDependencies
L131[03:51:33] <risux> Okay, so then... specifying "model":"avp:slope.obj" is correct?
L132[03:51:42] <risux> In the blockstate json ^
L133[03:54:36] <fry> that would load the obj model
L134[03:54:41] <fry> and not your Slope model
L135[03:55:20] <risux> So I just forget about that and use getDependencies() to get it to load the obj model?
L136[03:55:25] <fry> yup
L137[03:55:35] <risux> Ahhh, alright.
L138[03:56:02] ⇦ Quits: Javaschreiber (~Thunderbi@88-209-32-73.nga.highspeed-baumann.de) (Quit: Javaschreiber)
L139[03:57:59] <gigaherz|work> risux: the model location you use in the blockstates json should match the one you use in ICustomModelLoader#accepts
L140[03:58:05] <gigaherz|work> which should NOT end in .obj
L141[03:58:09] <gigaherz|work> since the OBJ loader handles those
L142[03:59:59] <risux> This should be alright then? https://gist.github.com/Ri5ux/0f89b687e7ba4ad7fb5a031906e92955
L143[04:00:51] <fry> at least to REGISTRY.clear on the reload :P
L144[04:00:53] <fry> *do :P
L145[04:00:59] <risux> Fair enough, can do that
L146[04:01:45] <fry> hmm, although might not be neccesary
L147[04:02:01] <fry> from looking at the ModelSlope, you don't store anything there
L148[04:03:30] <gigaherz|work> he should eventually cache the retextured models, though
L149[04:03:53] <gigaherz|work> the ModelSlope doesn't really make sense to cache it at all
L150[04:05:51] <risux> I'll definitely cache them. Just want to fix the rest first :P
L151[04:08:15] ⇦ Quits: abab9579 (~Abastro@143.248.172.173) (Ping timeout: 383 seconds)
L152[04:08:32] <risux> Okay, so now the obj model doesn't load, which should be a result of my dependencies being wrong, right? I'm passing an ImmutableSet of a resource location ("avp", "block/slope.obj")
L153[04:08:42] <risux> Do I not need to include the file extension?
L154[04:08:53] <fry> doesn't load in what way?
L155[04:09:39] <risux> Well I mean, it's invisible, which I gather is a result of having no quads, which should be a result of the original model I'm copying quads from not loading.
L156[04:09:59] <risux> So I guess... not loading during bake()?
L157[04:10:31] <gigaherz|work> errors in the log?
L158[04:10:34] <gigaherz|work> always look at the debug log
L159[04:10:43] <gigaherz|work> and pastebin the log when complaining something isn't working
L160[04:11:49] <risux> Got a ton of errors there (since im updating a mod). Trying to find anything related to the slope.
L161[04:13:28] <risux> There doesnt appear to be any errors related to the slope, but I put a print out in the bake method and it does not appear to be getting called
L162[04:13:49] <fry> that's why you don't catch exceptions :P
L163[04:14:00] <fry> or at least handle them better than .printStackTrace :P
L164[04:14:43] <gigaherz|work> I like to throw new ReportedException(new CrashReport("Fatal error loading stuff", originalException));
L165[04:14:48] <gigaherz|work> specially while developing
L166[04:14:48] <gigaherz|work> ;p
L167[04:15:08] <gigaherz|work> can be annoying at times, though
L168[04:15:16] <risux> I put the call even before I catch the exception.
L169[04:15:31] <gigaherz|work> is accepts getting called?
L170[04:15:33] <gigaherz|work> in your loader?
L171[04:15:35] <gigaherz|work> if so
L172[04:15:40] <gigaherz|work> is loadModel getting called?
L173[04:15:48] <fry> step 1: check if loader.accepts is called :P
L174[04:15:49] <gigaherz|work> if so, is bake getting called on your IModel?
L175[04:15:56] <fry> step 2: check that it returns true for something :P
L176[04:16:05] <gigaherz|work> if not, can you show your current blockstates json?
L177[04:17:58] <risux> accepts() is getting called, but it's not accepting the slope model.
L178[04:19:01] <fry> what's the name of the model in the blockstate?
L179[04:20:53] <risux> I don't have a model specified there. That seems to be the problem. I believe I was confused back when you said "that would load the obj model" "and not your Slope model", and so I removed it... but obviously it needs something
L180[04:21:12] <fry> yes, you need some model :P
L181[04:21:27] <fry> and for something to appear in .accepts, it needs to come from a blockstate :P
L182[04:21:40] <risux> So just "avp:slope" will do?
L183[04:22:53] <fry> yup
L184[04:25:34] <risux> Alright, that's working again
L185[04:31:03] ⇦ Quits: Searge|mojang (~Searge@h-85-24-130-18.na.cust.bahnhof.se) (Read error: -0x1: UNKNOWN ERROR CODE (0001))
L186[04:33:57] ⇨ Joins: Searge|office (~Searge@h-85-24-130-18.na.cust.bahnhof.se)
L187[04:36:20] ⇨ Joins: Brokkoli (~Brokkoli@p5B23CC84.dip0.t-ipconnect.de)
L188[04:45:27] ⇦ Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 200 seconds)
L189[04:56:10] ⇨ Joins: Larry1123 (Larry1123@irc.larry1123.net)
L190[05:00:29] ⇦ Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 201 seconds)
L191[05:08:03] ⇨ Joins: Larry1123 (Larry1123@irc.larry1123.net)
L192[05:08:04] ⇦ Quits: Abastro (~Abastro@143.248.189.68) (Read error: Connection reset by peer)
L193[05:08:09] ⇨ Joins: Abastro (~Abastro@143.248.189.68)
L194[05:08:56] ⇦ Quits: Abastro (~Abastro@143.248.189.68) (Read error: Connection reset by peer)
L195[05:08:57] ⇨ Joins: abab9579 (~Abastro@143.248.189.68)
L196[05:12:05] ⇦ Quits: abab9579 (~Abastro@143.248.189.68) (Read error: Connection reset by peer)
L197[05:13:56] ⇨ Joins: h5h77 (~h5h77@ip1f10331f.dynamic.kabel-deutschland.de)
L198[05:16:39] ⇦ Quits: KGS (~KGS@h-158-174-9-249.na.cust.bahnhof.se) (Ping timeout: 186 seconds)
L199[05:26:01] <risux> So back to the model variants... Do I get these varaints via the bake method in my IModel? If so, I assume I'll have to pass them into my baked model in order to determine which one to use based on the blockstate.
L200[05:26:10] ⇦ Quits: Spottedleaf (~Spottedle@node-1w7jr9qqos9fzwswheb2vaxz2.ipv6.telus.net) (Read error: Connection reset by peer)
L201[05:26:52] ⇨ Joins: Spottedleaf (~Spottedle@node-1w7jr9qqos9fzwswheb2vaxz2.ipv6.telus.net)
L202[05:28:58] <gigaherz|work> lol -- https://twitter.com/Dinnerbone/status/869131260437966848
L203[05:29:07] <gigaherz|work> risux: nono
L204[05:29:11] <gigaherz|work> each time a variant is used
L205[05:29:20] <gigaherz|work> you'll get a new call to bake
L206[05:29:32] <gigaherz|work> so you'll effectively create one IBakedModel instance for each variant
L207[05:30:59] <risux> Okay, but... how does the model know which one to use based on the blockstate then?
L208[05:33:05] ⇦ Quits: Meronat (uid190493@id-190493.highgate.irccloud.com) (Quit: Connection closed for inactivity)
L209[05:34:58] ⇦ Quits: arehman (~arehman@124.29.237.225) (Ping timeout: 204 seconds)
L210[05:36:44] <gigaherz|work> risux: what?
L211[05:36:46] <gigaherz|work> you don't have to know
L212[05:37:30] <gigaherz|work> all the data from the blockstates file is passed to the IModel through IRetexturableModel (for the textures settings), IModelCustomData (for the "custom" block), or in the bake method's IModelState (for the transforms)
L213[05:38:22] <gigaherz|work> so your actual IBakedModel should be given all the necessary information to do its job as quickly as possible
L214[05:38:52] <gigaherz|work> (hence being baked -- it's meant to be as efficient as possible in that stage)
L215[05:39:37] ⇨ Joins: Abastro (~Abastro@143.248.189.68)
L216[05:40:25] <Abastro> Overengineering.. =<
L217[05:40:54] <risux> Okay, but the other guy said I had to get the model for each variant and that's where I got lost
L218[05:41:30] <risux> (didnt want to ping him)
L219[05:41:32] ⇦ Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 383 seconds)
L220[05:42:26] <gigaherz|work> you shouldn't need to worry about variants for the obj model
L221[05:42:58] <risux> How do I get it to rotate then? o.o
L222[05:43:26] <Abastro> Probably using TRSRTransformation?
L223[05:43:30] <gigaherz|work> are you passing the IModelState into the obj's bake method?
L224[05:44:16] <risux> The IModelState from the bake method in my IModel, yes, I am passing it into the obj model's bake method.
L225[05:44:17] ⇦ Quits: Alex_hawks (~Alex_hawk@2001:8003:8572:a900:fd82:8cd1:b9e2:f7ce) (Read error: Connection reset by peer)
L226[05:44:24] <gigaherz|work> and it's not working?
L227[05:44:30] <risux> Nope :o
L228[05:44:48] <gigaherz|work> can you do a full pastebin with your blockstate json, loader, model etc?
L229[05:44:55] <risux> Sure one sec
L230[05:44:56] ⇨ Joins: Larry1123 (Larry1123@irc.larry1123.net)
L231[05:44:57] ⇨ Joins: Alex_hawks (~Alex_hawk@2001:8003:8572:a900:fd82:8cd1:b9e2:f7ce)
L232[05:44:57] <gigaherz|work> or update the old one
L233[05:48:06] <risux> Here you go: https://gist.github.com/Ri5ux/28e8948acabcfc8a0e1ef6d54823cc77
L234[05:48:46] <gigaherz|work> okay first of all, is the model actually loading?
L235[05:48:51] <gigaherz|work> is accepts returning true at any point?
L236[05:48:58] <gigaherz|work> it is baking and all?
L237[05:49:54] <risux> Yes, the model is loading, it bakes, it retextures and everything
L238[05:50:02] <risux> Just doesnt rotate
L239[05:50:41] <gigaherz|work> so in your getQuads, it is entering the "if"s ?
L240[05:50:50] <gigaherz|work> and NOT returning the default wavefrontModel field?
L241[05:51:35] <risux> Yes, based on the fact that the texture I declare in the extended state is applied :P
L242[05:52:32] <gigaherz|work> then I'm out of ideas
L243[05:52:44] <gigaherz|work> the only thing I can think of is to NOT use the blockstates for rotation
L244[05:52:49] <gigaherz|work> and apply your own hardcoded ones
L245[05:52:55] <gigaherz|work> directly in the baked model
L246[05:53:12] <gigaherz|work> like
L247[05:53:13] <gigaherz|work> new TRSRTransformation(ModelRotation.getModelRotation(90, 0))
L248[05:53:30] <gigaherz|work> using a switch(state.getValue(FACING)) or similar
L249[05:53:45] <gigaherz|work> and pass that TRSRTransformation object onto the obj model
L250[05:54:00] <gigaherz|work> like I do here:
L251[05:54:01] <gigaherz|work> https://github.com/gigaherz/Everpipe/blob/master/src/main/java/gigaherz/everpipe/pipe/client/PipeBakedModel.java#L49
L252[05:54:08] <gigaherz|work> https://github.com/gigaherz/Everpipe/blob/master/src/main/java/gigaherz/everpipe/pipe/client/PipeBakedModel.java#L59
L253[05:54:45] <gigaherz|work> actually no don'tcopy from that
L254[05:54:53] <gigaherz|work> ;P
L255[05:58:51] <risux> Hm, maybe I don't have something right with my rotation property. gonna double check something
L256[06:02:34] ⇨ Joins: SquareWheel (~SquareWhe@192.252.224.31)
L257[06:05:28] <risux> It looks correct, it's showing the direction it's facing in the getQuads() call when I print out the blockstate too.
L258[06:05:49] <gigaherz|work> yeah then try what I said
L259[06:05:59] <risux> Will do
L260[06:06:01] <gigaherz|work> instead of using modelState passed in
L261[06:06:20] <gigaherz|work> make your own ones with like "new TRSRTransformation(ModelRotation.getModelRotation(90, 0))"
L262[06:13:44] <risux> How do I apply the transformations?
L263[06:14:14] ⇦ Quits: immibis (~chatzilla@125-237-219-3.jetstream.xtra.co.nz) (Ping timeout: 204 seconds)
L264[06:15:28] ⇨ Joins: Redfoxmoon (~Red@177.92-221-236.customer.lyse.net)
L265[06:15:52] <gigaherz|work> risux: you give that TRSRTransformation to the bake method
L266[06:15:55] <gigaherz|work> as the IModelState
L267[06:17:31] <risux> Ahh, alright
L268[06:22:48] ⇨ Joins: MonkeyTyrant (~MonkeyTyr@blk-212-75-47.eastlink.ca)
L269[06:29:24] ⇦ Quits: MonkeyTyrant (~MonkeyTyr@blk-212-75-47.eastlink.ca) (Quit: Leaving)
L270[06:30:58] <risux> Finally works! Thanks for all of your help, I really do appreciate it
L271[06:32:53] ⇨ Joins: abab9579 (~Abastro@143.248.189.68)
L272[06:32:55] ⇦ Quits: Abastro (~Abastro@143.248.189.68) (Read error: Connection reset by peer)
L273[06:33:56] ⇨ Joins: AshIndigo (uid202308@id-202308.charlton.irccloud.com)
L274[06:36:57] ⇨ Joins: Abastro (~Abastro@143.248.189.68)
L275[06:36:57] ⇦ Quits: abab9579 (~Abastro@143.248.189.68) (Read error: Connection reset by peer)
L276[06:37:51] <SquareWheel> I have a dumb question. When building a mod, it also spits out a "sources" version. Is that what's used as an API in other mods?
L277[06:38:01] <gigaherz|work> no
L278[06:38:13] <SquareWheel> oh
L279[06:38:38] <gigaherz|work> the sources package is useful because you can attach those sources along with the mod jar
L280[06:38:46] <gigaherz|work> and see the source mappings in the debugger
L281[06:39:19] <SquareWheel> Ah okay, so not a proper API, but it's possible to build against it that way.
L282[06:39:48] ⇨ Joins: abab9579 (~Abastro@143.248.242.102)
L283[06:40:14] <gigaherz|work> uhm.... it's a sources package
L284[06:40:21] <gigaherz|work> literally nothing else, nothing more
L285[06:40:45] <gigaherz|work> if you want to use the mod as a dependency, you would just use the normal jar
L286[06:41:04] <gigaherz|work> the only use for those sources is to complement the binary jar so that you can step through the code in a debugger
L287[06:41:20] <SquareWheel> Ah, I didn't realize you needed both jars
L288[06:41:27] <gigaherz|work> you don't
L289[06:41:30] <gigaherz|work> the binary is the only one you need
L290[06:41:32] <gigaherz|work> the other one is extra
L291[06:41:39] <barteks2x> actually, in the project structure I remember sometimes seeing src/api or something like this, is this where I should have actual API?
L292[06:41:55] <gigaherz|work> src/api is supposed to be used for the api packages you want to export
L293[06:42:09] <gigaherz|work> but the default configuration for forgegradle doesn't include them in the jar
L294[06:42:27] <barteks2x> well, it should be possible to make it include that, right?
L295[06:42:29] <gigaherz|work> so people often put in src/api things they want to compile against, but not include in the jar
L296[06:42:45] <barteks2x> oh...
L297[06:43:02] <gigaherz|work> even if it's not technically the right use for that sourceset
L298[06:43:24] ⇦ Quits: Abastro (~Abastro@143.248.189.68) (Ping timeout: 383 seconds)
L299[06:44:41] <barteks2x> Also, I already know about one mod that in principle shouldn't have big issues with cubic chunks, but actually crashes and even if I fix the crash, it's probably unfixable without special mod-specific hacks
L300[06:44:57] <barteks2x> (it's mekanism)
L301[06:44:57] <gigaherz|work> hm?
L302[06:45:46] <SquareWheel> Oh, I'm dumb. The sources jar is literally just a snapshot of the source code at compile time.
L303[06:45:51] <SquareWheel> I thought it was a source map or something.
L304[06:46:03] <barteks2x> it crashes because it's listening for chunk load event, and it's getting the TileEntity map there casting it to hashmap, cloning it and then iterating over it to do a registration of some kind
L305[06:46:18] ⇦ Quits: abab9579 (~Abastro@143.248.242.102) (Ping timeout: 383 seconds)
L306[06:46:22] <barteks2x> and with cubic chunks it's not instance of hashmap, and even if it was it would be empty at that time
L307[06:47:25] <barteks2x> I have no clue what it needs that for
L308[06:47:43] <barteks2x> but I doubt this mod will ever be compatible here
L309[06:48:46] ⇨ Joins: Naiten (Naiten@5.143.23.229)
L310[06:49:36] <SquareWheel> Okay, next question then. Mods used to (still do?) include deobf versions. I assumed that was the same as the -source jar, but I guess those are different?
L311[06:49:58] <barteks2x> I have a -dev jar
L312[06:50:05] <barteks2x> which is the deobf one I think
L313[06:50:29] <SquareWheel> Makes sense
L314[06:50:45] <gigaherz|work> dev jars are NOT recommended
L315[06:50:47] ⇦ Quits: h5h77 (~h5h77@ip1f10331f.dynamic.kabel-deutschland.de) (Remote host closed the connection)
L316[06:50:54] <gigaherz|work> because they use the mappings you compiled which
L317[06:51:00] <gigaherz|work> which can cause issues when other people use them as dependencies
L318[06:51:07] <gigaherz|work> it's best to have the proper SRG-named jars
L319[06:51:17] <gigaherz|work> and use either forgegradle's own deobfCompile support
L320[06:51:19] <gigaherz|work> or BON2
L321[06:51:20] <barteks2x> I created new jarDev "Jar" task for it with classifier "dev", that simply isn't reobfuscated
L322[06:51:32] <gigaherz|work> then it's the same as the normal jar?
L323[06:51:34] <gigaherz|work> ...
L324[06:51:44] <gigaherz|work> wiat reobf
L325[06:51:45] <gigaherz|work> yeah
L326[06:51:48] <diesieben07> does the FG deobfCompile remap the sources?
L327[06:51:48] <gigaherz|work> then the issue applies
L328[06:51:57] <diesieben07> or just the compiled code?
L329[06:52:01] <gigaherz|work> I haven't looked
L330[06:52:08] <barteks2x> I still think I needed the dev jar once for something...
L331[06:52:17] <barteks2x> not sure what I needed it for
L332[06:52:20] <gigaherz|work> but so far as I know, the -sources jar is meant to be used WITH that feature
L333[06:52:26] <gigaherz|work> so it would be strange if it does not
L334[06:52:34] <SquareWheel> "it's best to have the proper SRG-named jars" This being the normal mod jar?
L335[06:52:40] <gigaherz|work> at least I am under the impression that's when sources jar was added
L336[06:52:42] <diesieben07> well, you would need a sources jar with SRG names...
L337[06:52:55] <gigaherz|work> that's exactly it
L338[06:52:56] <diesieben07> which I don't think exists
L339[06:53:12] <gigaherz|work> isn't that exactly what forgegradle compiles when it outputs the -sources.jar?
L340[06:53:20] <gigaherz|work> a remapped src snapshot?
L341[06:53:29] <diesieben07> afaik it's just the source as you typed it
L342[06:53:31] <diesieben07> but idk
L343[06:54:15] <gigaherz|work> nope
L344[06:54:15] <gigaherz|work> Toshiba Satellite L70-C
L345[06:54:17] <gigaherz|work> oops
L346[06:54:23] <gigaherz|work> private ScrollingOverlay()
L347[06:54:23] <gigaherz|work> {
L348[06:54:23] <gigaherz|work> renderItem = Minecraft.func_71410_x().func_175599_af();
L349[06:54:25] <gigaherz|work> }
L350[06:54:27] <gigaherz|work> it's remapped to SRG
L351[06:54:31] ⇦ Quits: Seppon (~Noppes@ip56530f2e.direct-adsl.nl) (Ping timeout: 200 seconds)
L352[06:54:35] <diesieben07> that is very nice then
L353[06:55:14] <diesieben07> Also > Toshiba - I feel sorry for you.
L354[06:55:24] <gigaherz|work> nono, that's someone else
L355[06:55:31] <gigaherz|work> in the ReactOS channel
L356[06:55:34] <gigaherz|work> problem is
L357[06:55:44] <gigaherz|work> I used teamviewer to look up the sources.jar from one of my build folders
L358[06:55:48] <diesieben07> reactos lol
L359[06:55:51] <gigaherz|work> and I'm at work so I'm on a macbook
L360[06:55:58] <gigaherz|work> so I pressed cmd-C instead of ctrl-C
L361[06:56:01] <diesieben07> Again, I feel sorry for you. :D
L362[06:56:29] <gigaherz|work> so yeah ctrl/cmd mismatch due to using teamviewer from a mac ;P
L363[06:56:56] <gigaherz|work> and meh
L364[06:57:08] <gigaherz|work> the alternative would be to get my own laptop, and do all the configuration myself
L365[06:57:17] <gigaherz|work> and if I run into trouble, it's up to me
L366[06:57:21] <gigaherz|work> since they can't help me with it
L367[06:57:26] <diesieben07> thats what i am doing at the moment, because the work macbook shat itself
L368[06:57:30] <diesieben07> HFS is a bitch
L369[06:57:47] <gigaherz|work> so yeah I continue using the macbook until I decide to quit ;P
L370[06:58:12] <SquareWheel> Okay, so just making sure I understand: Normal jars are SRG-named. In the past, dev-jars were distributed which were deobfuscated (using Forge mappings from that build). But now you should use ForgeGradle's "deobfCompile" feature instead, which works with SRG-named jars.
L371[06:58:25] <diesieben07> bossman asked me if i want a new macbook or a windows laptop, i am opting for the laptop and putting linux on it :P
L372[06:58:27] <gigaherz|work> yup
L373[06:58:32] <SquareWheel> yeey
L374[06:58:32] <gigaherz|work> SquareWheel: to explain why:
L375[06:58:38] <gigaherz|work> suppose you have two dependencies
L376[06:58:48] <gigaherz|work> and one dependency was compiled when it was Minecraft.thePlayer
L377[06:58:55] ⇨ Joins: Cast0077 (~Cast0077@24-151-30-78.dhcp.nwtn.ct.charter.com)
L378[06:58:55] <gigaherz|work> but the other one was compiled when it was Minecraft.player
L379[06:59:05] <gigaherz|work> there would be NO WAY to use both at once
L380[06:59:14] <gigaherz|work> hence using deobf jars is bad
L381[06:59:40] <SquareWheel> Truthfully I'm not too sure on the different mappings. There was Notch names, SRG names, and MCP names, right?
L382[06:59:54] <SquareWheel> SRG-names being the end product. Notch names presumably being the original code.
L383[07:00:24] <diesieben07> Notch names are the names as we get them from Mojang, e.g. class axz field d
L384[07:00:28] <gigaherz|work> nono
L385[07:00:30] <diesieben07> SRG names are "normalized"
L386[07:00:35] <gigaherz|work> like
L387[07:00:37] <SquareWheel> Oh, so Notch are the obfuscated names.
L388[07:00:37] <diesieben07> so field_12356_d
L389[07:00:42] <gigaherz|work> !gm getMinecraft
L390[07:00:49] <TechnicianLP> Notch: abx.a().f -> MCP: rg Minecraft.player().something
L391[07:00:50] <diesieben07> and MCP names are readable names
L392[07:00:51] <gigaherz|work> [14:00] <EsperNet> (MCPBot_Reborn): Name : z => func_71410_x => getMinecraft
L393[07:00:54] <gigaherz|work> see that line
L394[07:00:56] <gigaherz|work> in that order
L395[07:01:03] <gigaherz|work> notch -> SRG -> pretty name
L396[07:01:27] <gigaherz|work> so in the jar file for 1.11, the name is "z"
L397[07:01:44] <gigaherz|work> in the forge runtime environment, it's "func_71410"
L398[07:01:59] <gigaherz|work> and in the development environment it's "getMinecraft" -- unless your mappings choose another name
L399[07:03:10] ⇦ Quits: SquareWheel (~SquareWhe@192.252.224.31) (Read error: Connection reset by peer)
L400[07:03:43] ⇨ Joins: SquareWheel (~SquareWhe@192.252.224.31)
L401[07:03:48] <SquareWheel> I'm sorry, my internet cut out.
L402[07:03:59] <gigaherz|work> [14:00] (gigaherz|work): [14:00] <EsperNet> (MCPBot_Reborn): Name : z => func_71410_x => getMinecraft
L403[07:04:00] <gigaherz|work> [14:00] (gigaherz|work): see that line
L404[07:04:00] <gigaherz|work> [14:00] (gigaherz|work): in that order
L405[07:04:01] <gigaherz|work> [14:01] (gigaherz|work): notch -> SRG -> pretty name
L406[07:04:03] <gigaherz|work> [14:01] (gigaherz|work): so in the jar file for 1.11, the name is "z"
L407[07:04:05] <gigaherz|work> [14:01] (gigaherz|work): in the forge runtime environment, it's "func_71410"
L408[07:04:07] <gigaherz|work> [14:01] (gigaherz|work): and in the development environment it's "getMinecraft" -- unless your mappings choose another name
L409[07:04:21] <SquareWheel> That's a great explanation, thank you.
L410[07:04:35] <SquareWheel> The pretty name (getMinecraft) is MCP naming, then?
L411[07:04:43] <gigaherz|work> that's what I call it
L412[07:04:46] <gigaherz|work> dunno if it has an official name
L413[07:04:52] <SquareWheel> And on Forge's compile, we go back a step to SRG.
L414[07:04:56] <gigaherz|work> but I guess "mcp name" is as good as any
L415[07:05:00] <gigaherz|work> and yes
L416[07:05:09] <gigaherz|work> the jar you build and use in the runtime environment will be in SRG
L417[07:05:30] <SquareWheel> Which is why we need the -source jar to make it easier to debug/code against.
L418[07:05:50] ⇨ Joins: Necro (~Necro@p200300700D1F384018ED9BD029490DE9.dip0.t-ipconnect.de)
L419[07:06:27] <SquareWheel> Well geez, I'm glad I finally learned that. Always see terms in the forum and such but never an explanation written down. Much thanks.
L420[07:17:14] ⇨ Joins: Seppon (~Noppes@ip56530f2e.direct-adsl.nl)
L421[07:18:29] <gigaherz|work> https://twitter.com/Dinnerbone/status/869165475313459200
L422[07:18:33] <gigaherz|work> pre 6 out
L423[07:19:26] <kashike> woo
L424[07:19:59] <SquareWheel> You guys excited or apprehensive about 1.12?
L425[07:20:07] <kashike> excited
L426[07:20:16] <gigaherz|work> i'm mildly scared to what changes it will require in terms of modding
L427[07:20:22] <gigaherz|work> but excited overall
L428[07:20:25] <kashike> spring is here I'm so excited I wet my plants
L429[07:20:27] <SquareWheel> Looks like a pretty technical change. Recipe book is interesting.
L430[07:20:29] <gigaherz|work> I do want to do some porting
L431[07:20:41] <gigaherz|work> and make my mods fit better with the new stuff and such
L432[07:21:17] <SquareWheel> "Optimized recipe book & creative inventory searching a lot, especially when using mods" Oh baby
L433[07:21:51] <kashike> heh
L434[07:21:56] <gigaherz|work> what how do they know how it will work with mods?!
L435[07:21:59] <gigaherz|work> ;P
L436[07:22:13] <SquareWheel> Modding API confirmed? :)
L437[07:23:19] <diesieben07> "with mods" = with 10x the amount of items & blocks :D
L438[07:23:33] <gigaherz|work> yeah
L439[07:23:46] <gigaherz|work> I guess they just made it have multiple of each item as a test or something
L440[07:24:02] <gigaherz|work> or maybe it's just not O(n^2) or O(n^3) or wahtever it was before anymore
L441[07:24:49] <Corosus> theyve been talking back and forth, we modders complained creative gui was shit with many mods so they listened
L442[07:25:41] ⇨ Joins: Intektor (~Intektor@p5B275292.dip0.t-ipconnect.de)
L443[07:25:49] <diesieben07> wow these... "functions" are pretty cool
L444[07:25:55] <Intektor> how do I check if a player is operator
L445[07:26:00] <diesieben07> they even have a tick event :D
L446[07:26:01] <Intektor> and does this also work on client?
L447[07:28:25] <barteks2x> "Optimized chunk loading, a previous pre-release slowed it down :(" - interesting.
L448[07:31:37] <Intektor> is there a way to get the permission level of a player?
L449[07:32:01] <SquareWheel> Looks like PlayerList#getOppedPlayers has that info
L450[07:32:41] <SquareWheel> Never as simple as player.isOp(), is it?
L451[07:32:44] <Intektor> can I get that on the client as well
L452[07:33:02] <diesieben07> No
L453[07:33:10] <diesieben07> The client does not know if is an OP
L454[07:34:38] <Intektor> cann I tell the client?
L455[07:34:43] <Intektor> I need to do that
L456[07:34:44] <diesieben07> why?
L457[07:36:02] <Intektor> I have an area where no player is able to do anything unless the field owner of this field tells the server that THAT player is allowed to edit this. But I want ops to be able to edit it anyway
L458[07:36:17] <Intektor> with I field I mean area of black that a player can claim as its own
L459[07:36:23] <Intektor> so no one can grief him
L460[07:36:32] <Intektor> blocks
L461[07:36:45] <diesieben07> hm, yeh you can do that then
L462[07:37:09] <Intektor> is there an even fired when a player is opped
L463[07:37:11] <Intektor> ?
L464[07:37:17] <diesieben07> no
L465[07:37:24] <Intektor> a command event?
L466[07:38:23] <LordFokas> Does anyone know what could possibly be causing my custom entity to not being deserialized properly? The game seems to instance it and read all the data correctly from NBT, but then discard the entity and just instance a new one that is placed on the exact same coordinates.
L467[07:38:25] <SquareWheel> Seems like most of that can be handled on the server. Might be useful to update the player "you can edit this", though.
L468[07:38:50] <Intektor> SquareWheel, but its nice when the events get canceled at client side as well
L469[07:38:56] <Intektor> so it doesnt look like lag
L470[07:39:01] <SquareWheel> True
L471[07:39:15] <SquareWheel> Custom packets, then?
L472[07:39:22] <Intektor> what I am doing right now
L473[07:40:59] <SquareWheel> Or reflection, if that info can be accessed using it. Trading a bit of grossness for saving on performance/network traffic.
L474[07:41:40] <Intektor> diesieben07 said that the client does not know if the client is op or not
L475[07:41:47] <Intektor> and I have trust in mr 7
L476[07:42:03] <SquareWheel> Yeah, just wasn't sure if that was because it was never sent, or it was just not made public.
L477[07:42:11] <SquareWheel> Probably the former
L478[07:43:03] <SquareWheel> So, the reason I was asking about API/mapping info earlier is I'm trying to make a small addon for Tough as Nails.
L479[07:43:08] <SquareWheel> The problem is, they don't have a Maven repo. And it's one of those mods which crashes when placed in the dev environment.
L480[07:43:35] <SquareWheel> I think I would need to create my own deobf build in this case, and rely on that then. Is that right?
L481[07:47:55] ⇨ Joins: RichardG_ (~richardg8@201.37.254.10)
L482[07:47:55] MineBot sets mode: +v on RichardG_
L483[07:48:06] ⇦ Quits: RichardG (~richardg8@201.37.254.10) (Ping timeout: 186 seconds)
L484[07:49:49] ⇨ Joins: mikeprimm (~mikeprimm@2a01:7e00::f03c:91ff:fe70:44b7)
L485[07:51:24] ⇦ Quits: npe|office (~NPExcepti@bps-gw.hrz.tu-chemnitz.de) (Remote host closed the connection)
L486[07:53:42] <diesieben07> Intektor, there is no easy way to detect when the OP status changes
L487[07:54:54] <Intektor> I could probably just add op item that allows players to bypass all of that
L488[07:57:50] <Subaraki> something might have gone wrong when refactoring names x) shieldName = PlayerClass.get(player).get(player).get(player).getVanillaShieldSuffix();
L489[07:58:30] <SquareWheel> Just gotta be extra sure it's the right player.
L490[07:59:03] <LordFokas> Intektor, although that's a neat shortcut, it does feel really cheap. Just my 2 cents.
L491[07:59:32] <Intektor> well I understand, do you have any better idea?
L492[08:02:33] ⇦ Quits: mumfrey (~Mumfrey@dedi5.eq2.co.uk) (Ping timeout: 204 seconds)
L493[08:16:14] <LordFokas> The path you were taking seemed fine to me. Send a packet on player join (& on player [DE]OP?) informing of player op status so that the client nicely overrides everything.
L494[08:19:12] <gigaherz|work> https://minecraft.net/en-us/article/heads-pc-downtime-june-7th
L495[08:19:16] <Subaraki> lol square ^^
L496[08:20:33] ⇦ Quits: cjm721 (~cjm721@mobile-107-77-172-86.mobile.att.net) (Remote host closed the connection)
L497[08:24:36] <Subaraki> can i just rerun gradlew eclipse without building first ?
L498[08:24:41] <Subaraki> because my eclipse is fucked up
L499[08:24:57] <LordFokas> can anyone think of a reason why Entity#readEntityFromNBT isn't being called for my custom entities on the client side??
L500[08:26:58] <Subaraki> you call it somewhere ?
L501[08:28:24] <diesieben07> entities are usually never read fro NBT on the client...
L502[08:39:16] ⇦ Quits: Hunterz (~hunterz@2001:af0:8000:1c01:6af7:28ff:fe37:5d6a) (Quit: Leaving.)
L503[08:39:54] ⇦ Quits: Naiten (Naiten@5.143.23.229) (Read error: Connection reset by peer)
L504[08:54:22] ⇨ Joins: sinkillerj (~sinkiller@nc-67-232-10-214.dhcp.embarqhsd.net)
L505[09:00:48] ⇦ Quits: Intektor (~Intektor@p5B275292.dip0.t-ipconnect.de) (Quit: Leaving)
L506[09:02:08] <barteks2x> I'm sometimes getting strange FPS issues, fps goes down to 1-2 for some time and then goes back up again. if I pause and unpause - it goes pack up. And I've never been able to enable the profiler pie chart quickly enough to see what is going on...
L507[09:08:20] ⇨ Joins: malte0811 (~malte0811@p4FED0081.dip0.t-ipconnect.de)
L508[09:14:10] ⇨ Joins: mumfrey (~Mumfrey@dedi5.eq2.co.uk)
L509[09:14:24] <Subaraki> ive been doing rebuilds for days ... why is the rebuilds so slow ;_;
L510[09:15:47] ⇨ Joins: Javaschreiber (~Thunderbi@bt-nac-0095.nac.uni-bayreuth.de)
L511[09:16:02] ⇦ Quits: Javaschreiber (~Thunderbi@bt-nac-0095.nac.uni-bayreuth.de) (Client Quit)
L512[09:17:22] <malte0811> I have found a potential bug: When onItemUseFirst returns anything but PASS on the client, the packet for using items on blocks isn't send to the server. Is that intended? It prevents server-side code in that method from working unless one manually sends the packet or returns PASS which may result in interactions from both hands
L513[09:26:56] ⇨ Joins: ScottehBoeh (~ScottehBo@95.149.232.76)
L514[09:30:33] <ScottehBoeh> Gooood day
L515[09:30:47] <Subaraki> waddup
L516[09:31:34] ⇦ Quits: Seppon (~Noppes@ip56530f2e.direct-adsl.nl) (Ping timeout: 186 seconds)
L517[09:31:36] ⇦ Quits: Spottedleaf (~Spottedle@node-1w7jr9qqos9fzwswheb2vaxz2.ipv6.telus.net) (Ping timeout: 383 seconds)
L518[09:40:54] <LordFokas> diesieben07, then how should I sync data that I need on both sides?
L519[09:41:09] <diesieben07> using packets
L520[09:41:22] <diesieben07> why would you even think about NBT for that job? NBT is for persisting data to disk...
L521[09:42:09] <LordFokas> I was just transposing the way things are done in TileEntities
L522[09:42:16] <gigaherz|work> I wish we could get rid of ALL the runtime nbt
L523[09:42:20] <gigaherz|work> like, even from itemstacks
L524[09:42:24] <diesieben07> ^^^ x1000
L525[09:42:35] <gigaherz|work> make the NBT an opt-in capability only for backward compatibility
L526[09:42:38] <diesieben07> using NBT for client<>server syncing in TEs is... ugly at best
L527[09:42:47] <LordFokas> I'm not much of an NBT fan
L528[09:43:11] <LordFokas> I use whatever does the job, but I do like to get it well done.
L529[09:43:21] <diesieben07> like... you serialize to NBT first, then you serialize that to bytes
L530[09:43:28] <diesieben07> and on the other end you do the same in reverse
L531[09:43:47] <gigaherz|work> well that's not necessarily bad
L532[09:43:50] <diesieben07> you could just serialize to bytes in the first place
L533[09:43:52] <gigaherz|work> not per se
L534[09:44:10] <gigaherz|work> having a tagged format is more robust
L535[09:44:16] <gigaherz|work> it's just overkill for most use cases
L536[09:44:24] <diesieben07> for a save-format, yes
L537[09:44:26] <diesieben07> but not for networking
L538[09:44:40] <LordFokas> the worst thing for me in NBT is how there are default values for non-existant keys. You misspelt a key name? heres a 0 / false / "". Good luck figuring out what's wrong.
L539[09:44:56] <gigaherz|work> that's what hasKey is for
L540[09:44:56] ⇦ Quits: Chais (~Chais@62.178.210.212) (Read error: Connection reset by peer)
L541[09:45:55] <LordFokas> EXACTLY. If I want a default value I use the fucking hasKey method, I don't want the NBT compound spitting out a default value and concealing an error!!!
L542[09:46:05] <LordFokas> It's just plain bad design
L543[09:46:12] *** TTFT|Away is now known as TTFTCUTS
L544[09:46:12] <gigaherz|work> incidently
L545[09:46:40] ⇨ Joins: covers1624_ (~covers162@ppp122-232-6.static.internode.on.net)
L546[09:46:40] <gigaherz|work> i'd also like for stack sizes and meta values to be var-int
L547[09:46:50] <gigaherz|work> and use as many bytes as needed (up to 32bit or whatever)
L548[09:47:01] <diesieben07> well, 40 bit :P
L549[09:47:12] <gigaherz|work> well I meant 32bit decoded, encoded as up to 6 bytes
L550[09:47:22] <diesieben07> where do you get 6 from? :O
L551[09:47:39] <gigaherz|work> I was picturing utf-8 encoding
L552[09:49:05] ⇦ Quits: covers1624 (~covers162@ppp122-232-6.static.internode.on.net) (Ping timeout: 201 seconds)
L553[09:49:37] ⇨ Joins: Chais (~Chais@62.178.210.212)
L554[09:51:38] <Corosus> oh damn, at sub 20 fps, ClientTickEvent always gets a tick, onUpdate for particles will skip some
L555[09:51:49] <Corosus> this explains some runaway fps death with particles in my code....
L556[09:52:04] <Corosus> i wonder if this is a forge bug (1.10.2)
L557[09:53:00] <Corosus> sucks because it results in a lot more particles that lags it even more that causes even more particles, and so on
L558[09:53:16] ⇦ Quits: Alex_hawks (~Alex_hawk@2001:8003:8572:a900:fd82:8cd1:b9e2:f7ce) (Read error: Connection reset by peer)
L559[09:53:20] * Corosus dives deep into the fml code
L560[09:53:59] ⇨ Joins: Alex_hawks (~Alex_hawk@2001:8003:8572:a900:fd82:8cd1:b9e2:f7ce)
L561[09:54:45] ⇦ Quits: Cast0077 (~Cast0077@24-151-30-78.dhcp.nwtn.ct.charter.com) (Quit: Poof)
L562[09:55:27] <Corosus> ah wait, i think its my own bug
L563[09:55:59] <Corosus> i think i just found a 6 year old bug in my code \o/
L564[09:57:19] ⇨ Joins: Hgrebnednav (~Hgrebnedn@d8D872A6E.access.telenet.be)
L565[09:58:04] ⇨ Joins: Fye (~Fye@dynamic-adsl-78-13-161-235.clienti.tiscali.it)
L566[09:58:10] <Corosus> yup, that'd do it, time to bust out the ol shame cube https://i.imgur.com/gzdUQiv.gif
L567[09:59:04] ⇦ Quits: Davnit (~Davnit@72-189-115-20.res.bhn.net) (Ping timeout: 204 seconds)
L568[09:59:42] ⇦ Quits: Hgreb (~Hgrebnedn@d8D872A6E.access.telenet.be) (Ping timeout: 204 seconds)
L569[10:05:07] ⇦ Quits: gigaherz|work (~gigaherz@84.89.63.25) (Ping timeout: 201 seconds)
L570[10:13:43] <ScottehBoeh> Best way to check if a player is within two set coordinates?
L571[10:15:02] <diesieben07> new AxisAlignedBB(pos1, pos2).isVecInside(new Vec3d(x, y, z))
L572[10:15:37] <ScottehBoeh> Ah! Thanks
L573[10:17:17] ⇦ Quits: Upthorn (~ogmar@108-204-125-173.lightspeed.frokca.sbcglobal.net) (Quit: this quit message is 100% guaranteed not to contain obscenity.)
L574[10:17:50] ⇨ Joins: Upthorn (~ogmar@108-204-125-173.lightspeed.frokca.sbcglobal.net)
L575[10:18:16] ⇦ Quits: sinkillerj (~sinkiller@nc-67-232-10-214.dhcp.embarqhsd.net) (Remote host closed the connection)
L576[10:19:55] ⇨ Joins: Seppon (~Noppes@ip56530f2e.direct-adsl.nl)
L577[10:23:06] *** PaleOff is now known as PaleoCrafter
L578[10:25:04] <Mimiru> Hmm...
L579[10:25:11] <Mimiru> Oh hey, wrong channel :D
L580[10:25:12] <Mimiru> hai
L581[10:30:31] ⇦ Parts: malte0811 (~malte0811@p4FED0081.dip0.t-ipconnect.de) ())
L582[10:33:19] ⇨ Joins: KissOfFate (~KissOfFat@pool-173-53-76-122.rcmdva.fios.verizon.net)
L583[10:49:07] ⇨ Joins: KGS (~KGS@h-158-174-9-249.na.cust.bahnhof.se)
L584[10:50:09] ⇨ Joins: Hgreb (~Hgrebnedn@d8D872A6E.access.telenet.be)
L585[10:52:06] ⇦ Quits: Hgrebnednav (~Hgrebnedn@d8D872A6E.access.telenet.be) (Ping timeout: 186 seconds)
L586[11:09:20] ⇨ Joins: Hunterz (~hunterz@62.182.234.189)
L587[11:10:37] *** diesieben07 is now known as diesieben|away
L588[11:15:38] <Shawn|i7-Q720M> anyone here know why extrautilities sonar goggles dont work?
L589[11:16:15] *** MrKick|Away is now known as MrKickkiller
L590[11:22:47] ⇨ Joins: TomyLobo (~TomyLobo@ip5b420a6f.dynamic.kabel-deutschland.de)
L591[11:24:32] <ghz|afk> Shawn|i7-Q720M: how come you have your cpu included in your nickname? ;P
L592[11:24:43] <ghz|afk> (also, I don't know)
L593[11:25:23] <barteks2x> awesome, minecraftdev now has nbt editor http://i.imgur.com/gGaewr3.png
L594[11:26:50] <ghz|afk> heh
L595[11:29:10] ⇨ Joins: gabizou (~gabizou@irc.spongepowered.org)
L596[11:29:39] ⇨ Joins: airbreather_ (~airbreath@d149-67-99-43.nap.wideopenwest.com)
L597[11:30:03] <KissOfFate> this obj issue is killing me .-.
L598[11:31:00] ⇨ Joins: Spottedleaf (~Spottedle@node-1w7jr9qqos9fzx1fdz3uzg94u.ipv6.telus.net)
L599[11:31:32] ⇦ Quits: airbreather (~airbreath@d149-67-99-43.nap.wideopenwest.com) (Ping timeout: 204 seconds)
L600[11:37:33] <tterrag> why was this merged? https://github.com/MinecraftForge/MinecraftForge/pull/3436
L601[11:37:41] <tterrag> it changed the event semantics entirely
L602[11:37:47] <tterrag> and now I can't use it for what I did in 1.10
L603[11:38:47] ⇨ Joins: Javaschreiber (~Thunderbi@88-209-32-73.nga.highspeed-baumann.de)
L604[11:42:02] <killjoy1> almost a year ago
L605[11:42:27] <tterrag> more like 6 months
L606[11:42:57] <tterrag> and so what?
L607[11:43:56] <ghz|afk> well
L608[11:43:59] <ghz|afk> https://github.com/MinecraftForge/MinecraftForge/pull/3660
L609[11:44:09] <ghz|afk> is the PR asking to bring back a way to have the old behaviour
L610[11:44:14] <ghz|afk> but that one was not merged
L611[11:44:23] <tterrag> yep that's exactly my problem
L612[11:44:30] <ghz|afk> maybe you can add your input there
L613[11:44:34] <ghz|afk> so they know people do care
L614[11:52:01] <tterrag> done
L615[11:52:09] <tterrag> the impl is better but I wish binary compat wasn't broken in the first place mid-version
L616[11:52:20] <tterrag> there goes my hopes of a single 1.10/1.11 jar
L617[11:53:04] ⇨ Joins: Cojo (~Cojo@2606:a000:4c46:8d00:14a6:6ec1:a9f:aa6a)
L618[11:57:40] ⇨ Joins: McJty (~jorrit@94-224-152-129.access.telenet.be)
L619[11:58:55] *** airbreather_ is now known as airbreather
L620[11:58:59] ⇦ Quits: airbreather (~airbreath@d149-67-99-43.nap.wideopenwest.com) (Quit: Leaving)
L621[11:59:12] ⇨ Joins: airbreather (~airbreath@d149-67-99-43.nap.wideopenwest.com)
L622[12:03:46] ⇨ Joins: Hex (~Hex@four.out.of.five.doctors.recommend.hex.lc)
L623[12:05:01] <killjoy1> yay, 1.12pre6
L624[12:13:57] <LordFokas> great. what are they breaking now, on 1.12?
L625[12:14:11] <killjoy1> optimized chunk loading
L626[12:14:24] <killjoy1> https://redd.it/6dzyla
L627[12:19:15] ⇨ Joins: williewillus (~williewil@cpe-24-28-24-13.austin.res.rr.com)
L628[12:27:20] <tterrag> > Optimized recipe book & creative inventory searching a lot, especially when using mods
L629[12:27:22] <tterrag> they said the m word
L630[12:27:40] <ghz|afk> XD
L631[12:29:34] ⇦ Quits: Hex (~Hex@four.out.of.five.doctors.recommend.hex.lc) (Remote host closed the connection)
L632[12:29:53] <KissOfFate> lol
L633[12:30:02] <killjoy1> Something forge doesn't have to do
L634[12:30:10] <tterrag> they just added a cache
L635[12:30:15] <tterrag> not rocket science
L636[12:30:18] <tterrag> no threading or anything like that
L637[12:30:59] ⇨ Joins: Hex (~Hex@four.out.of.five.doctors.recommend.hex.lc)
L638[12:31:05] <KissOfFate> yeah im still trying to figure out the reason OBJ doesn't like RenderLiving/EntityLiving
L639[12:31:18] <KissOfFate> or at least the way I'm trying to render it
L640[12:31:31] <ghz|afk> OBJ shouldn't care
L641[12:31:35] <ghz|afk> how do you draw it?
L642[12:31:41] <ghz|afk> can you show the entity renderer code you use?
L643[12:31:47] <KissOfFate> https://github.com/CJ-MC-Mods/Overloaded/blob/master/src/main/java/com/cjm721/overloaded/client/render/entity/ModelRenderOBJ.java
L644[12:32:10] <KissOfFate> for some reason the model loads, but the texture doesn't work for the entities
L645[12:32:32] <KissOfFate> even when I specify map_Kd in mtl and when I point getEntityTexture() to the file as well
L646[12:32:41] <ghz|afk> what's ModelUtils.renderQuads? Is that from forge or yours?
L647[12:33:07] <ghz|afk> hmm you shouldn't do
L648[12:33:17] <ghz|afk> GlStateManager.bindTexture(Minecraft.getMinecraft().getTextureMapBlocks().getGlTextureId()); in there, I think
L649[12:33:30] <KissOfFate> https://github.com/CJ-MC-Mods/Overloaded/blob/master/src/main/java/com/cjm721/overloaded/client/render/entity/ModelUtils.java
L650[12:33:45] <ghz|afk> question
L651[12:33:51] <ghz|afk> can you try to get rid of all that displaylist mess
L652[12:33:56] <ghz|afk> and just do the .obj part in render()?
L653[12:34:27] <ghz|afk> or suggestion rather
L654[12:34:40] <ghz|afk> this way we can make sure the displaylists aren't getting in the way
L655[12:34:47] <KissOfFate> Ah alright, I'll try that now
L656[12:35:07] ⇨ Joins: Hgrebnednav_ (~Hgrebnedn@d8D872A6E.access.telenet.be)
L657[12:35:41] <KissOfFate> loading up now ghz
L658[12:35:52] <ghz|afk> that renderQuads seems unnecessarily complex
L659[12:36:04] <KissOfFate> This was borrowed from Draconic Evolution
L660[12:36:14] <ghz|afk> https://github.com/gigaherz/Commons/blob/master/src/main/java/gigaherz/common/client/ModelHandle.java#L226
L661[12:36:18] <ghz|afk> this is how I do it
L662[12:36:23] <ghz|afk> with my ModelHandle helper class
L663[12:36:45] <ghz|afk> the function below that is for drawing the quads with a color multiplier
L664[12:36:46] <KissOfFate> I'll try that after I test this
L665[12:36:56] ⇦ Quits: Hgreb (~Hgrebnedn@d8D872A6E.access.telenet.be) (Ping timeout: 180 seconds)
L666[12:37:09] *** LordFokas is now known as LordFokas|out
L667[12:37:43] <KissOfFate> I removed the compile lists, now the model doesn't even show up at all
L668[12:38:15] <ghz|afk> hm?
L669[12:38:29] <williewillus> show code again :P
L670[12:38:29] <KissOfFate> oh I misread what you said, 1 second
L671[12:38:42] <ghz|afk> I meant like remove ALL the code related to displaylists
L672[12:38:45] ⇦ Quits: TTFTCUTS (~ttftcuts@ns3366511.ovh.net) (Quit: boop)
L673[12:38:57] <ghz|afk> everything from line 42 to 74
L674[12:39:13] <ghz|afk> and replace it with like, the code from 93 to 100
L675[12:39:37] <ghz|afk> maybe with some extra translate call if needed ;P
L676[12:41:38] ⇨ Joins: h5h77 (~h5h77@ip1f10331f.dynamic.kabel-deutschland.de)
L677[12:41:51] <KissOfFate> it renders and does the same exact thing ghz
L678[12:42:17] <KissOfFate> http://i.imgur.com/Hd8Hom8.png
L679[12:43:02] <ghz|afk> okay that's not necessarily bad
L680[12:43:08] <ghz|afk> so
L681[12:43:29] <ghz|afk> since I haven't used living entities
L682[12:43:38] <ghz|afk> how do you get the model to draw?
L683[12:43:46] <ghz|afk> is it some generic renderer or something custom?
L684[12:44:35] ⇦ Quits: ScottehBoeh (~ScottehBo@95.149.232.76) (Read error: -0x1: UNKNOWN ERROR CODE (0001))
L685[12:44:45] <KissOfFate> https://bitbucket.org/OhCreativeYT/aquaticexpansion/src/ec7f353f982415838efc1ca69843f1f133e62238/src/main/java/co/dstny/entity/render/?at=master
L686[12:44:50] <KissOfFate> ghz everything is here
L687[12:45:48] <KissOfFate> I just committed some new changes so refresh
L688[12:45:52] <ghz|afk> Idon't really feel like going through your codebase ;P
L689[12:46:54] <KissOfFate> ah everything relevant is there :p thats fine :p
L690[12:47:32] <ghz|afk> why do you have a ModelBiped called RenderFish
L691[12:47:36] <ghz|afk> sounds like it should be ModelFish
L692[12:47:44] <KissOfFate> it should be
L693[12:47:46] <ghz|afk> ... and not a biped ;P
L694[12:47:47] <KissOfFate> I misnamed it lol
L695[12:48:54] <ghz|afk> I keep wondering, though
L696[12:49:00] <ghz|afk> if you really need to extend RenderLiving
L697[12:49:14] <ghz|afk> you could skip all of that crap and just do your own custom renderer without involving models
L698[12:49:39] <ghz|afk> https://github.com/gigaherz/ElementsOfPower/blob/master/src/main/java/gigaherz/elementsofpower/client/renderers/RenderEssence.java#L12
L699[12:49:41] <ghz|afk> like I did here
L700[12:49:51] <KissOfFate> I just changed it from ModelBiped to ModelBase and I renamed it to ModelFishOBJ
L701[12:50:16] <KissOfFate> I use a generified RenderFactory
L702[12:50:34] <williewillus> hmm so I want to make a PR to allow custom icon rendering on maps... should it be an event or a method on MapDecoration?
L703[12:51:01] <KissOfFate> pretty sure thats a thing
L704[12:51:08] <KissOfFate> like already pr'd
L705[12:51:11] <KissOfFate> but i might be wrong
L706[12:51:17] <williewillus> it isn't :P
L707[12:51:42] <williewillus> https://github.com/MinecraftForge/MinecraftForge/pulls?utf8=%E2%9C%93&q=is%3Apr%20is%3Aopen%20map
L708[12:52:37] <KissOfFate> ah okay
L709[12:52:46] <ghz|afk> map icons?
L710[12:52:52] <ghz|afk> as in the actual map itself?
L711[12:53:48] <williewillus> as in the dot representing the player, a monument, an item frame
L712[12:53:52] <williewillus> i need to draw custom ones
L713[12:53:52] <ghz|afk> sounds to me more like you'd want to add custom MapDecoration.Type
L714[12:54:03] <williewillus> the texture is hardcoded
L715[12:54:13] <williewillus> i can't modify map_icons.png :P
L716[12:54:34] <ghz|afk> hmmm you could extend MapDecorations, but that would only help server-side
L717[12:54:39] <KissOfFate> Would you mind if I used your ModelHandle ghz? at least for testing then I'll make my own around what I need
L718[12:54:43] <ghz|afk> you couldn't really add to the packet handler
L719[12:54:46] <ghz|afk> KissOfFate: feel free
L720[12:54:50] <ghz|afk> all of that stuff is opensource
L721[12:54:56] ⇨ Joins: malte0811 (~malte0811@p4FED0081.dip0.t-ipconnect.de)
L722[12:55:08] <ghz|afk> if you don't suffer from strong NIH, you can keep using it ;P
L723[12:55:15] <williewillus> well I have a custom map already that's using custom packets
L724[12:55:24] <williewillus> so subclassing mapdecoration shouldn't be impossible
L725[12:55:30] <williewillus> just wondering how much flexibility to give my pr
L726[12:55:40] <williewillus> in case someone wants to do fancy stuff for an icon
L727[12:56:07] <williewillus> i.e. should it call out to a general MapDecoration.render() or should it just be MapDecoration.getTexture()
L728[12:56:12] <ghz|afk> seems to me like you should be adding a new method to MapDEcoration, for getTextureLocation
L729[12:56:17] <ghz|afk> that defaults to the default one
L730[12:56:28] <williewillus> so don't allow a full render method?
L731[12:56:30] <ghz|afk> and a way to specify more types
L732[12:56:40] <ghz|afk> as a minimum
L733[12:56:44] <williewillus> well the types are tricky because it's an enum
L734[12:56:56] <williewillus> and the uvs in the texture are just drawn from the enum ordinal
L735[12:56:59] <ghz|afk> yeah but we have EnumHelper.addwhatever
L736[12:57:01] ⇦ Quits: Spottedleaf (~Spottedle@node-1w7jr9qqos9fzx1fdz3uzg94u.ipv6.telus.net) (Ping timeout: 383 seconds)
L737[12:57:18] <malte0811> Did anyone answer my question while I was away? Regarding onItemUseFirst?
L738[12:57:25] <williewillus> that still breaks things though because then now your custom texture needs to have empty gaps for the vanilla textures
L739[12:57:33] <ghz|afk> hmm yeah
L740[12:57:35] <williewillus> because the vanilla decorations occupy all the lower ordinals
L741[12:57:36] <ghz|afk> unless you add another method
L742[12:57:42] <ghz|afk> to get the UVs
L743[12:57:49] <williewillus> but youcan't implement that method using enumhelper?
L744[12:57:54] <ghz|afk> no I mean
L745[12:57:57] <ghz|afk> directly in MapDecoration
L746[12:58:09] <williewillus> oh hm maybe
L747[12:58:15] ⇨ Joins: Everseeking (~Everseeki@pool-100-6-95-214.pitbpa.fios.verizon.net)
L748[12:58:17] <williewillus> oh wait
L749[12:58:19] <williewillus> it already has one lol
L750[12:58:29] <williewillus> MapDecoration.getImage() -> Type.getIcon() -> Type.ordinal()
L751[12:58:34] <ghz|afk> ah XD
L752[12:58:50] <williewillus> so this should be simple
L753[12:58:55] <williewillus> just 1 extra method in decoration
L754[12:58:57] <ghz|afk> wait
L755[12:58:58] <williewillus> malte0811: what was the question?
L756[12:59:03] <ghz|afk> I don't see that
L757[12:59:11] <ghz|afk> oh
L758[12:59:13] <ghz|afk> in the constructor
L759[12:59:17] <ghz|afk> this.icon = (byte)this.ordinal();
L760[12:59:21] <ghz|afk> even better
L761[12:59:26] <ghz|afk> means you can set it in the EnumHelper call
L762[12:59:29] <malte0811> "I have found a potential bug: When onItemUseFirst returns anything but PASS on the client, the packet for using items on blocks isn't send to the server. Is that intended? It prevents server-side code in that method from working unless one manually sends the packet or returns PASS which may result in interactions from both hands"
L763[12:59:44] <ghz|afk> n owait that constructor doesn't exist
L764[12:59:47] <ghz|afk> hmmm
L765[12:59:53] <ghz|afk> nevermind ¬¬
L766[13:00:01] <ghz|afk> you can just override MapDEcoration.getImage ¬¬
L767[13:00:07] <killjoy1> malte0811, logic is done on client and server
L768[13:00:33] <malte0811> It should, but isn't if useFrist returns anything but PASS
L769[13:00:39] <malte0811> *useFirst
L770[13:01:04] <killjoy1> What i mean is that method is called on both sides regardless of return
L771[13:01:25] <ghz|afk> williewillus: i'm starting to wonder if it wouldn't be best to just have the render code in it and just let people override that XD
L772[13:01:39] <ghz|afk> the issue though
L773[13:01:48] <ghz|afk> is how do you handle custom icons in terms of SPacketMaps?
L774[13:01:54] <ghz|afk> do you send custom data for them or something?
L775[13:03:03] <ghz|afk> hmm no you can't add a render method to MapDecoration
L776[13:03:10] <ghz|afk> because it's used in the dedicated server
L777[13:03:23] <ghz|afk> unless you made that method @SideOnly which is ugly ;P
L778[13:03:31] <malte0811> The relevant bit of patch code: https://github.com/MinecraftForge/MinecraftForge/blob/dbc6baf2f760d2c971d13c9f8d1a8f9742969890/patches/minecraft/net/minecraft/client/multiplayer/PlayerControllerMP.java.patch#L122-L123 CPacketPlayerTryUseItemOnBlock would need to be send to have anything run on the server
L779[13:07:17] <KissOfFate> idk I don't work with OpenGL at all, I'll go back to using boxes >_>
L780[13:07:37] <KissOfFate> thanks for the help williewillus & ghz
L781[13:10:57] ⇨ Joins: Girafi (Girafi@0x5552fcc5.adsl.cybercity.dk)
L782[13:12:51] <williewillus> yeah writing the test mod for this is gonna be a pain :P
L783[13:12:55] <williewillus> need to basically add a custom map
L784[13:16:20] ⇨ Joins: KnightMiner (~KnightMin@adsl-76-202-214-18.dsl.emhril.sbcglobal.net)
L785[13:16:51] <KissOfFate> wait should in the TextureStitchEvent.Pre should I use event.getMap().registerSprite(new ResourceLocation(MODID, "entity/fish/fish"));
L786[13:17:14] <KissOfFate> or should I write a custom sprite and use event.getMap().setTextureEntry(customSprite);
L787[13:17:45] <williewillus> first one
L788[13:18:05] <williewillus> also you probably need "textures/" at the front of the path
L789[13:18:20] <williewillus> (I think)
L790[13:18:34] ⇨ Joins: Davnit (~Davnit@72-189-115-20.res.bhn.net)
L791[13:21:18] <KissOfFate> yeah im just going to go back to boxes... I dont wanna write my own OBJ loader like Lycanite Mobs author did
L792[13:21:28] <KissOfFate> again thanks for the help
L793[13:22:28] ⇨ Joins: immibis (~chatzilla@125-237-219-3.jetstream.xtra.co.nz)
L794[13:23:17] <KissOfFate> oh its immi haha
L795[13:25:56] ⇨ Joins: Cast0077 (~Cast0077@24-151-68-108.dhcp.nwtn.ct.charter.com)
L796[13:33:15] <KissOfFate> ghz so I removed/commented out GlStateManager.bindTexture(Minecraft.getMinecraft().getTextureMapBlocks().getGlTextureId());
L797[13:33:15] <KissOfFate> and it rendered the model wasnt sure if the texture applied as its the same color as the base.. but the black and purple didnt show up.. is there another way I should be binding the texture?
L798[13:33:25] <KissOfFate> or do I not need it at all
L799[13:34:36] ⇦ Quits: Rokiyo (~Rokiyo@101.167.173.217) (Read error: No route to host)
L800[13:40:26] <Subaraki> any reason potion effects dont run out after hitting 0:00 ?
L801[13:40:35] <Subaraki> my effect stays around, but doesnt dissapear
L802[13:40:41] <Subaraki> it's not doing anything really
L803[13:41:04] <Subaraki> might be a desync issue, but the entity (arrow like) that causes the effect spawns everything server side
L804[13:44:12] ⇦ Quits: Fye (~Fye@dynamic-adsl-78-13-161-235.clienti.tiscali.it) (Read error: Connection reset by peer)
L805[13:45:23] <williewillus> are you removing the effect yourself?
L806[13:45:31] <williewillus> or letting it time out by itself?
L807[13:46:25] <SatanicSanta> Is there something I'm supposed to do to get /help to work with my client-side command that is more than just calling ClientCommandHandler#registerCommand(ICommand)?
L808[13:47:03] <Subaraki> williewillus, i'm letting it time out
L809[13:47:11] <Subaraki> seems i added it client side too though
L810[13:47:21] <Subaraki> that's why the entity id check went trough too
L811[13:47:43] ⇨ Joins: Spottedleaf (~Spottedle@node-1w7jr9qqos9g140eswu2gmaf1.ipv6.telus.net)
L812[13:48:33] <williewillus> for players when an effect runs out it should send a packet to remove it
L813[13:48:42] <williewillus> EntityPlayerMP.onFinishedPotionEffect
L814[13:48:52] <williewillus> for other entities, their potions aren't even synced to client in vanilla
L815[13:50:11] ⇨ Joins: kinggoesgaming (uid23106@id-23106.ealing.irccloud.com)
L816[13:50:14] <williewillus> for non player entities only the color of the particles is synced to the client
L817[13:53:49] <SatanicSanta> hm, so it looks like CommandHelp, at least in 1.7, uses the server-side command manager :|
L818[13:54:16] <PinkYoshi> quick question
L819[13:54:54] <PinkYoshi> if I make two copies of my class but completely exclude the logic about adding entities to a list and checking player actions and I run the action and list version on the server side will the client side be fine without it? I'll be using sided proxy I think that's what I want
L820[13:55:38] <PinkYoshi> certain things execute twice and Im assuming that's because it's running my class on two different threads
L821[13:59:33] ⇦ Quits: McJty (~jorrit@94-224-152-129.access.telenet.be) (Quit: Leaving)
L822[14:01:54] ⇦ Quits: Girafi (Girafi@0x5552fcc5.adsl.cybercity.dk) ()
L823[14:05:41] ⇦ Quits: Keridos (~Keridos@212.201.68.136) (Read error: Connection reset by peer)
L824[14:07:36] ⇦ Parts: malte0811 (~malte0811@p4FED0081.dip0.t-ipconnect.de) ())
L825[14:07:58] ⇦ Quits: KGS (~KGS@h-158-174-9-249.na.cust.bahnhof.se) (Quit: Leaving)
L826[14:09:31] <williewillus> PinkYoshi: sideproxy is not what you want :P
L827[14:09:32] <williewillus> you want remote checks
L828[14:09:38] <williewillus> no need to copy the code just use an if statemenet
L829[14:09:51] <williewillus> read this http://mcforge.readthedocs.io/en/latest/concepts/sides/
L830[14:11:14] <PinkYoshi> Oh I did, problem is if I set if remote false or whatever : if (thisplayer.getEntityWorld().isRemote == false) {
L831[14:11:33] <PinkYoshi> sometimes though when spawning active tnt, instead of say spiders and sometimes even then it creates ghost entities on the client side still
L832[14:11:56] <williewillus> then there's not enough checks :P
L833[14:12:03] <williewillus> also you can just use ! instead of == false
L834[14:12:05] <williewillus> !world.isRemote
L835[14:12:41] <PinkYoshi> https://pastebin.com/4HtNF4fa
L836[14:12:51] <PinkYoshi> 600 spiders should not crash the dev client though either.
L837[14:13:59] ⇨ Joins: Twipply (~Twipply@cpc71441-mapp10-2-0-cust204.12-4.cable.virginm.net)
L838[14:14:36] <KissOfFate> is there another way to do: GlStateManager.bindTexture(Minecraft.getMinecraft().getTextureMapBlocks().getGlTextureId());
L839[14:15:36] <williewillus> mc.renderEngine.bindTexture
L840[14:17:38] <KissOfFate> ah okay..
L841[14:18:37] ⇨ Joins: PieGuy128 (~PieGuy128@mtrlpq5031w-lp130-01-76-65-43-212.dsl.bell.ca)
L842[14:18:46] <PinkYoshi> can someone tell me why my client is crashing?
L843[14:18:47] <PinkYoshi> https://pastebin.com/Uv87Jv70
L844[14:18:50] ⇨ Joins: Ashlee (~AshleeRee@static.236.64.76.144.clients.your-server.de)
L845[14:18:55] <PinkYoshi> This is my dev client and it happens after my class does something
L846[14:19:10] <PinkYoshi> without firing any of my own mod events the client's fine
L847[14:20:05] <williewillus> i mean the exception tells you what you're doing wrong :P
L848[14:20:11] <KissOfFate> ^
L849[14:20:14] <williewillus> also show code
L850[14:20:24] <barteks2x> does MC have a method to check if Im running on the server thread?
L851[14:20:36] <PinkYoshi> ok here's code
L852[14:20:38] <williewillus> barteks2x: world.isRemote :P
L853[14:20:41] <barteks2x> I suspect some of my code is being called from other thread
L854[14:20:53] <williewillus> barteks2x: otherwise getEffectiveSide but that's less reliable
L855[14:21:02] <barteks2x> I actually want to check exactly the thread
L856[14:21:02] <PinkYoshi> https://pastebin.com/6YiLdsyH
L857[14:21:08] <barteks2x> not the effective side
L858[14:21:39] <barteks2x> if it's not exactly the server thread, I want it to crash
L859[14:21:50] <williewillus> barteks2x: Thread.current() == MinecraftServer.serverThread
L860[14:22:34] <williewillus> PinkYoshi: i don't understand what this code is trying to do lol
L861[14:22:44] <PinkYoshi> how its meant to work right now: When an arrow joins the game world, it's added to an entity list. During every single tick update, the game checks every arrow object in the array list of type entity. It then compares it's old movement data with it's current tick movement data. If it's stopped moving, it sets the arrow entity to dead then creates 300
L862[14:22:44] <PinkYoshi> instances of a class entity and sets their location in the world to a random offset to the arrow's coordinates in 3d.
L863[14:22:56] <barteks2x> that became big... if (Thread.currentThread() != FMLCommonHandler.instance().getMinecraftServerInstance().getServerThread()) {
L864[14:23:30] <PinkYoshi> In order to get a reference to the player since the tick update doesn't accept a reference to player, I subscribe to a playerinteract event and then save the information of that player instance directly as a member of the class itself so that I can localy reference it during the tick update event.
L865[14:23:40] <williewillus> wut
L866[14:23:42] <PinkYoshi> all it's supposed to do
L867[14:23:48] <PinkYoshi> is spawn 300 spiders when an arrow hits the ground
L868[14:23:51] <PinkYoshi> and it works
L869[14:23:52] <PinkYoshi> but
L870[14:23:55] <PinkYoshi> it kinda crashes totally.
L871[14:24:00] <williewillus> why do you need a player for this?...
L872[14:24:06] <williewillus> not to mention global mod state
L873[14:24:09] <PinkYoshi> to get a reference to the world
L874[14:24:33] <barteks2x> I got that very rare crash *again* that just tells be "something went wrong, good luck figuring it out" and I suspect it's threading issue
L875[14:24:45] <barteks2x> because it's the most obvious thing that would cause it
L876[14:24:54] <williewillus> PinkYoshi: you do realize there's a worldtickevent right
L877[14:25:03] <PinkYoshi> also
L878[14:25:06] <PinkYoshi> For TnT spawning
L879[14:25:15] <PinkYoshi> I do need a reference to the player for the parameter igniter
L880[14:25:27] <PinkYoshi> I don't think I can pass null in there.
L881[14:25:31] <williewillus> what, no you use the thrower/firer of the arrow
L882[14:25:34] <williewillus> and yes null is allowed there
L883[14:25:43] <williewillus> who's the igniter if a dispenser fires it?
L884[14:25:48] <PinkYoshi> oh ok
L885[14:26:12] <PinkYoshi> well anyway it's better to get a reference to the player for other tricky things
L886[14:26:17] <barteks2x> WHAT!? java.lang.NoSuchMethodError: net.minecraft.server.MinecraftServer.getServerThread()Ljava/lang/Thread;
L887[14:26:36] <PinkYoshi> I want to do alot in one event such as place blocks, send chat messages, spawn entities, move entities, handle entity ai, but all in one thing at some point so that it's easier to do.
L888[14:26:43] <PinkYoshi> so I'm learning the steps for those things
L889[14:26:53] <PinkYoshi> I'll probably have a few subscribe events just to get and keep local references to everything I need lol
L890[14:26:58] <williewillus> well, global mod state is *terrible* for this
L891[14:27:06] <PinkYoshi> because in my opinion those things shoulda been globally accesible to start with
L892[14:27:09] <williewillus> right now, what happens if there's more than one player?
L893[14:27:20] <PinkYoshi> I'll keep a player list
L894[14:27:23] <williewillus> -.-
L895[14:27:25] <PinkYoshi> and use onplayerjoinworld or something
L896[14:27:29] <PinkYoshi> to get a reference to 'that' player
L897[14:27:35] <PinkYoshi> then compare against UUIDS
L898[14:27:54] <williewillus> it'd do you some good to organize this and break it up, and not leak memory everywhere
L899[14:27:57] <PinkYoshi> i'm slowly figuring out how minecraft is built and I dun like it
L900[14:28:10] <barteks2x> oh... that method is SideOnly(SERVER)...
L901[14:28:13] <barteks2x> because logic
L902[14:28:20] <williewillus> barteks2x: just reflect the field :P
L903[14:28:27] <PinkYoshi> but uhh
L904[14:28:39] <PinkYoshi> I still don't know why my client is crashing am I calling tick update too often on the client side?
L905[14:28:43] ⇨ Joins: TomyLobo2 (~TomyLobo@ip5b420a6f.dynamic.kabel-deutschland.de)
L906[14:28:58] <PinkYoshi> like to me having 300 spiders shouldn't cause client/server communication problems.
L907[14:29:15] <PinkYoshi> it should be possible to spawn in 18 thousand mobs at once. in one tick.
L908[14:29:41] <PinkYoshi> how many ticks does it take for the game to process entity.setdead
L909[14:29:47] <williewillus> except you're running things on both sides
L910[14:29:49] <PinkYoshi> maybe it's not setting my arrow to dead fast enough
L911[14:29:53] <williewillus> global state is being trahsed by threads
L912[14:29:56] <williewillus> lots of problems :P
L913[14:29:59] <PinkYoshi> well how do I fix it
L914[14:30:04] <PinkYoshi> I have world.isremote()
L915[14:30:10] <PinkYoshi> and I only want this to happen on the server side
L916[14:30:33] <barteks2x> now that got long... if (Thread.currentThread() != ReflectionHelper.getPrivateValue(MinecraftServer.class, FMLCommonHandler.instance().getMinecraftServerInstance(), "serverThread", "field_175590_aa")) {
L917[14:30:46] ⇦ Quits: TomyLobo (~TomyLobo@ip5b420a6f.dynamic.kabel-deutschland.de) (Ping timeout: 204 seconds)
L918[14:30:49] <PinkYoshi> wow
L919[14:31:09] <barteks2x> would have been much simpler to juct check thread name...
L920[14:31:56] <PinkYoshi> so can someone help me
L921[14:31:58] <PinkYoshi> with siding?
L922[14:33:15] ⇦ Quits: Blarghedy (Blarghedy@50-90-116-51.res.bhn.net) (Killed (NickServ (GHOST command used by Guest97915!~Blarghedy@50-90-116-51.res.bhn.net)))
L923[14:33:19] <williewillus> read the article again :P
L924[14:33:20] ⇨ Joins: Blarghedy (~Blarghedy@50-90-116-51.res.bhn.net)
L925[14:33:38] <williewillus> your whole mod as you sent it on pastebin is doable in just one method
L926[14:33:40] <williewillus> with no fields
L927[14:33:47] <williewillus> <20 lines
L928[14:35:06] <williewillus> hints: use worldtickevent, check its phase and side. you don't need to store anything in lists
L929[14:35:40] <PinkYoshi> (There is currently no way to check if arrows have impacted an object)
L930[14:35:56] <PinkYoshi> it'll be more than 20 lines because of my condition for arrow movement
L931[14:36:10] <mezz> wood buttons detect if an arrow has hit them
L932[14:36:19] <PinkYoshi> that's just wood buttons.
L933[14:36:40] <PinkYoshi> arrows hitting any block or entity but still existing count towards triggering this.
L934[14:36:50] <williewillus> 1: Vec3d lastPos = new Vec3d(arrow.lastTickPosX, arrow.lastTickPosY, arrow.lastTickPosZ);
L935[14:36:55] <williewillus> 2: Vec3d currentPos = arrow.getPositionVector();
L936[14:36:57] <PinkYoshi> any arrows, sent by anything, dispensers, skeletons, wither, other players
L937[14:36:58] <williewillus> 3: if (currentPos.squareDistanceTo(lastPos) < THRESHOLD) {
L938[14:37:03] <williewillus> 3 lines
L939[14:37:32] <PinkYoshi> square distance to will convert negative coordinates to positive ones? and then compare properly?
L940[14:37:40] <williewillus> wut...
L941[14:37:42] <PinkYoshi> see, I don't trust that code I can't see how it's comparing the distances
L942[14:37:43] <williewillus> it's just the distance
L943[14:37:47] <williewillus> what
L944[14:37:49] <PinkYoshi> what's the scale on it
L945[14:37:54] <williewillus> what does that even mean?
L946[14:37:59] <williewillus> it's the distance betwen two points
L947[14:38:01] <williewillus> distance formula
L948[14:38:22] <williewillus> exceot squared because square roots are expensive, so you just square your threshold on the RHS
L949[14:38:33] <KissOfFate> If I move from -5 to 0, the distance is 5
L950[14:38:33] <PinkYoshi> old(-100 300 500 ) new(-200 300 500) the distance for X dist should be calculated here as a difference of positive 100.
L951[14:38:48] <williewillus> this is basic euclidean distance, mojang's vector class works -.-
L952[14:38:54] <KissOfFate> ^
L953[14:38:59] <williewillus> if it didn't lots of things would be broken in the game
L954[14:39:22] <PinkYoshi> yeah but what if later I only want to compare say the Y distance.
L955[14:39:28] <PinkYoshi> i'd have to re write it again
L956[14:39:35] <williewillus> ...
L957[14:39:37] <PinkYoshi> keeping it all exposed like this gives me an easier way to change things
L958[14:39:44] <PinkYoshi> I'm just experimenting right now
L959[14:39:46] <williewillus> NIH syndrome
L960[14:40:20] <PinkYoshi> thanks for the tip though it'll be useful to know I can do that when something is final
L961[14:40:44] <PinkYoshi> I guess I just don't want to end up with strange things like the output of that comparison is 0.58164
L962[14:40:52] <williewillus> what
L963[14:41:12] <williewillus> the "output of the comparison" is the distance^2 between the two vectors, nothing else
L964[14:41:13] <PinkYoshi> nevermind, it'll still be in block distance scale right?
L965[14:41:18] <williewillus> of course
L966[14:41:24] <PinkYoshi> oh ok.
L967[14:45:37] <williewillus> anyways, I just wrote it up and it's precisely 20 lines with nice whitespace, in one method, and no fields
L968[14:45:39] <williewillus> so it's possible
L969[14:45:42] <williewillus> and it works
L970[14:46:09] ⇨ Joins: Javaschreiber1 (~Thunderbi@88-209-32-73.nga.highspeed-baumann.de)
L971[14:46:28] <williewillus> though, forge could use an arrow impact event PR
L972[14:46:32] <williewillus> checking motion isn't really precise
L973[14:46:43] ⇦ Quits: Javaschreiber1 (~Thunderbi@88-209-32-73.nga.highspeed-baumann.de) (Client Quit)
L974[14:46:44] <williewillus> because if you shoot straight up it'll trigger at the apex
L975[14:47:01] <KissOfFate> Arrow Impact?
L976[14:47:02] <KissOfFate> wym?
L977[14:47:11] <williewillus> event for when an arrow hits something
L978[14:47:19] <williewillus> there's one for throwables I PR'ed a couple years ago
L979[14:47:22] <williewillus> but arrows aren't EntityThrowable
L980[14:47:22] <williewillus> :P
L981[14:47:39] <KissOfFate> Isnt there an entity collision
L982[14:47:46] <KissOfFate> event.getEntity() instanceof Arrow
L983[14:47:53] <williewillus> entity collision?
L984[14:48:03] <williewillus> don't think there's such an event
L985[14:48:05] <KissOfFate> i must be thinking of spigot
L986[14:48:14] <KissOfFate> In spigot theres an EntityCollideEvent
L987[14:48:50] <PinkYoshi> how do i get the UUID of a player instance?
L988[14:48:57] <williewillus> getUniqueId
L989[14:49:00] <PinkYoshi> oh ok
L990[14:49:28] <williewillus> also: anything you keep in a collection field is going to cause memory leaks unless you go clean it out
L991[14:49:40] <williewillus> things don't magically disappear from a collection when they're dead
L992[14:50:14] ⇨ Joins: arehman (~arehman@39.50.239.54)
L993[14:51:02] <PinkYoshi> well when I do remove with a reference to the object (from the event) it bugs on me?
L994[14:51:17] <PinkYoshi> rather I mean
L995[14:51:43] <PinkYoshi> this is an entity type (not casted to arrow)
L996[14:51:45] <PinkYoshi> ee.setDead();
L997[14:51:45] <PinkYoshi> entitylist.remove(ee);
L998[14:51:50] <PinkYoshi> but of type arrow entity.
L999[14:51:54] <williewillus> i still don't see what the list is for
L1000[14:51:55] <williewillus> you don't need one
L1001[14:52:36] <PinkYoshi> because it lets me force updates on the entity rather than waiting for the right tick scheduling. I know minecraft sometimes doens't always update every entity on every tick and I want my event to update EVERY tick with a gaurentee so I keep a reference.
L1002[14:52:43] <PinkYoshi> that wasn't the reason I did it in the first place but now it is.
L1003[14:53:08] <PinkYoshi> it's basically forcing the tick handler to check every arrow entity in the world that's loaded
L1004[14:53:13] <williewillus> what do you mean "doesn't always update every entity on every tick"
L1005[14:53:15] <PinkYoshi> as opposed to waiting for minecraft to handle it however it does.
L1006[14:53:21] <williewillus> every entity is always ticked if it's not in a lazy chunk
L1007[14:53:25] <PinkYoshi> as far as I know things like wheat don't always update on every tick either.
L1008[14:53:31] <williewillus> that's a different kind of tick
L1009[14:53:34] <williewillus> those are random update ticks
L1010[14:53:35] <PinkYoshi> and sometimes other mobs don't move every tick
L1011[14:53:37] <williewillus> these are game ticks
L1012[14:53:46] <williewillus> like which ones? 0.o
L1013[14:54:12] ⇦ Quits: arehman (~arehman@39.50.239.54) (Ping timeout: 204 seconds)
L1014[14:56:11] <PinkYoshi> oh.
L1015[14:56:13] <PinkYoshi> hmm ok
L1016[14:57:33] ⇨ Joins: arehman (~arehman@39.50.255.15)
L1017[14:58:45] ⇨ Joins: Noppes (~Noppes@ip56530f2e.direct-adsl.nl)
L1018[14:59:33] <PinkYoshi> I dont like how minecraft doesn't expose certain things.
L1019[14:59:49] <PinkYoshi> i'm starting to understand the bigger picture of how it's been structured.
L1020[14:59:56] ⇦ Quits: Seppon (~Noppes@ip56530f2e.direct-adsl.nl) (Ping timeout: 180 seconds)
L1021[15:00:45] ⇦ Quits: Spottedleaf (~Spottedle@node-1w7jr9qqos9g140eswu2gmaf1.ipv6.telus.net) (Ping timeout: 383 seconds)
L1022[15:01:02] <KissOfFate> What do you mean?
L1023[15:01:24] <PinkYoshi> When I do other coding literally everything not set to private is exposed.
L1024[15:02:11] <williewillus> it's called encapsulation :P
L1025[15:02:23] <PinkYoshi> https://github.com/ToshieCosed/Irc-BOt/blob/master/ConsoleApplication1/Player.cs
L1026[15:02:30] <PinkYoshi> check out how I design my classes
L1027[15:03:12] <mezz> that's not good practice
L1028[15:03:26] <PinkYoshi> even the journal object
L1029[15:03:27] <williewillus> no encapsulation + not following language naming conventions
L1030[15:03:31] <williewillus> is what I see :P
L1031[15:03:32] <PinkYoshi> is a member of the player class for easy easy access
L1032[15:03:45] <PinkYoshi> in my game class
L1033[15:03:46] <PinkYoshi> I do this
L1034[15:03:47] <mezz> easy easy access leads to spaghetti code
L1035[15:03:57] <mezz> you want puzzle pieces, not spaghetti
L1036[15:04:07] <PinkYoshi> https://github.com/ToshieCosed/Irc-BOt/blob/master/ConsoleApplication1/Game.cs
L1037[15:04:24] <PinkYoshi> the game class re-wraps alot of player class functions
L1038[15:04:30] <PinkYoshi> so rather than having to get a player reference and then calling it from that
L1039[15:04:38] <PinkYoshi> I can call it through the game class with the player name and that's it
L1040[15:04:43] <barteks2x> does Minecraft crash report count as uncaught exception for the JVM?
L1041[15:04:49] <PinkYoshi> so that those functions become a global system.
L1042[15:04:53] <KissOfFate> yeah well there is reasons behind why things are closed Yoshi
L1043[15:05:06] <KissOfFate> Minecraft Originally didn't want an "API" or easily "accessible" classes
L1044[15:05:12] <KissOfFate> but eventually they opened up to modding
L1045[15:05:33] <PinkYoshi> oh also
L1046[15:05:43] <PinkYoshi> my game class has a list of type player
L1047[15:05:53] <barteks2x> nvm, this isn't even pissible without compiling C code
L1048[15:05:55] <PinkYoshi> so all the player stuff can technically be accessed like
L1049[15:06:09] <PinkYoshi> game.playerlist[index].whatever is in player class
L1050[15:06:23] <PinkYoshi> With minecraft everything has got to be a reference.
L1051[15:06:36] <PinkYoshi> I also didn't realize they didn't want to have accesible classes
L1052[15:06:52] ⇦ Quits: arehman (~arehman@39.50.255.15) (Ping timeout: 204 seconds)
L1053[15:08:04] <PinkYoshi> I wish minecraft's item stack was like this
L1054[15:08:04] <PinkYoshi> https://github.com/ToshieCosed/Irc-BOt/blob/master/ConsoleApplication1/inventory.cs
L1055[15:08:29] <mezz> I wish I could rewrite it my way too :P
L1056[15:08:38] <ghz|afk> ewh, lowercase class name ;P
L1057[15:08:46] ⇦ Quits: TomyLobo2 (~TomyLobo@ip5b420a6f.dynamic.kabel-deutschland.de) (Ping timeout: 204 seconds)
L1058[15:08:47] <KissOfFate> haha
L1059[15:09:17] <ghz|afk> ewh, lowercase filenames for class names that aren't even lowercase
L1060[15:09:25] <KissOfFate> did you see my messages by any chance ghz?
L1061[15:09:47] <PinkYoshi> g2g
L1062[15:09:50] <PinkYoshi> bye for now
L1063[15:09:56] <mezz> o/
L1064[15:12:18] <KissOfFate> so is it 100% possible to use OBJ's for entities using the forge built-in OBJ Loader, or will I need to write my own?
L1065[15:12:28] <ghz|afk> it's 100% possible
L1066[15:12:29] <ghz|afk> I do it
L1067[15:12:34] <tterrag> the forge loader just creates a baked model
L1068[15:12:36] <tterrag> if you can draw a baked model, then yes
L1069[15:12:39] <ghz|afk> I gave you code that does it ;P
L1070[15:13:12] <KissOfFate> yeah but its hard to find the difference @ghz because like i dont understand openGL so i tried copying your stuff and i couldn't get it to work properly lol
L1071[15:14:14] <KissOfFate> oh wait you made ToolBelt? I was the one who asked you to do the select on hover instead of clicking on it xD
L1072[15:14:26] <ghz|afk> ah, heh
L1073[15:14:36] <ghz|afk> and yeah sorry I forget to remove my |afk
L1074[15:14:36] <ghz|afk> ;P
L1075[15:15:59] <KissOfFate> its okay, i just trust you frequently look at the irc
L1076[15:16:00] <KissOfFate> haha
L1077[15:17:06] ⇦ Quits: Hunterz (~hunterz@62.182.234.189) (Remote host closed the connection)
L1078[15:19:07] ⇦ Quits: Necro (~Necro@p200300700D1F384018ED9BD029490DE9.dip0.t-ipconnect.de) (Ping timeout: 383 seconds)
L1079[15:19:20] <KissOfFate> so I have your code ghz|afk but do you have an example of an EntityLiving?
L1080[15:19:42] <ghz|afk> I don't see how the entity being an EntityLiving makes any difference
L1081[15:19:50] <KissOfFate> it does
L1082[15:19:53] ⇨ Joins: Necro (~Necro@p200300700D1F38FF0CD7A5B53554ACA8.dip0.t-ipconnect.de)
L1083[15:20:04] <KissOfFate> I have a model for my armour that has a texture and 100% works
L1084[15:20:14] <ghz|afk> but yes
L1085[15:20:18] <ghz|afk> the renderer I linked earlier
L1086[15:20:22] <KissOfFate> I use the same exact code on (model & texture) on an EntityLiving
L1087[15:20:22] <ghz|afk> is a living entity
L1088[15:20:29] <KissOfFate> and it doesnt work
L1089[15:20:34] <ghz|afk> https://github.com/gigaherz/ElementsOfPower/blob/master/src/main/java/gigaherz/elementsofpower/client/renderers/RenderEssence.java
L1090[15:20:37] <ghz|afk> itworks on my mod ;P
L1091[15:20:48] <KissOfFate> then im just dumb >_>
L1092[15:21:00] <ghz|afk> https://github.com/gigaherz/ElementsOfPower/blob/master/src/main/java/gigaherz/elementsofpower/entities/EntityEssence.java
L1093[15:21:11] <ghz|afk> (class EntityAmbientCreature extends EntityLiving implements IAnimals)
L1094[15:21:48] <ghz|afk> okay since you said you don't really know any opengl, I'll try to explain HOW it works
L1095[15:22:15] <KissOfFate> I'll just copy and paste and try to see if I can get your Entity to work seperately in my mod and then try to transfer it over
L1096[15:22:47] <ghz|afk> if that's waht you want to do:
L1097[15:22:48] <ghz|afk> https://github.com/gigaherz/ElementsOfPower/blob/master/src/main/java/gigaherz/elementsofpower/ElementsOfPower.java#L306
L1098[15:22:48] <KissOfFate> oh i think we've confused the issue
L1099[15:22:55] <KissOfFate> because I'm bad at explaining
L1100[15:23:02] <ghz|afk> https://github.com/gigaherz/ElementsOfPower/blob/master/src/main/java/gigaherz/elementsofpower/client/ClientProxy.java#L209
L1101[15:23:16] <KissOfFate> The model renders and I can see the model in-game. Its just the texture doesn't load at all anywhere no matter how I do it
L1102[15:23:27] <ghz|afk> hmm
L1103[15:23:37] <ghz|afk> do you have an event handler for TextureStitchEvent.Pre?
L1104[15:23:53] <KissOfFate> Yeah
L1105[15:24:04] <ghz|afk> does it run?
L1106[15:24:22] <KissOfFate> event.getMap().registerSprite(new ResourceLocation(MODID, "textures/entity/fish/fish_0"));
L1107[15:24:30] <ghz|afk> does that line get executed? ;P
L1108[15:24:40] <ghz|afk> oh you don't want textures/ in there
L1109[15:24:44] <ghz|afk> just entity/fish/...
L1110[15:26:53] <ghz|afk> also
L1111[15:27:00] <ghz|afk> no wait nevermind
L1112[15:29:00] <KissOfFate> alright im testing now
L1113[15:30:09] <KissOfFate> [16:29:57] [Client thread/INFO]: [STDOUT]: TextureStitchEvent RAN
L1114[15:31:10] <KissOfFate> ghz|afk: http://i.imgur.com/La7z3IN.png
L1115[15:31:55] ⇨ Joins: TomyLobo2 (~TomyLobo@2a02:8109:87c0:20c:2803:e005:985b:dd5c)
L1116[15:31:59] ⇦ Quits: Everseeking (~Everseeki@pool-100-6-95-214.pitbpa.fios.verizon.net) (Quit: Big Gulps, huh? Alright... Welp, see ya later)
L1117[15:32:06] *** PaleoCrafter is now known as PaleOff
L1118[15:33:13] <ghz|afk> and you return TextureMap.LOCATION_BLOCKS_TEXTURE from the getEntityTexture method?
L1119[15:34:02] ⇨ Joins: Meronat (uid190493@id-190493.highgate.irccloud.com)
L1120[15:34:21] <KissOfFate> no
L1121[15:34:28] <ghz|afk> you should ;P
L1122[15:35:11] ⇦ Quits: KnightMiner (~KnightMin@adsl-76-202-214-18.dsl.emhril.sbcglobal.net) (Ping timeout: 200 seconds)
L1123[15:37:26] <Necro> my mod just reached 25k downloads! :D
L1124[15:37:41] ⇨ Joins: cjm721 (~cjm721@mobile-107-77-172-52.mobile.att.net)
L1125[15:37:44] <KissOfFate> nice!
L1126[15:37:50] <KissOfFate> ghz|afk it didnt change anything .-.
L1127[15:38:16] <ghz|afk> do you ahve a link to your code?
L1128[15:40:11] <KissOfFate> https://bitbucket.org/OhCreativeYT/aquaticexpansion/src/b2f140b11a4b0a2ae8fa36657d7db62d44bed863/src/main/java/co/dstny/entity/?at=master
L1129[15:40:16] <KissOfFate> The model is ModelFishOBJ
L1130[15:40:18] <KissOfFate> not ModelFish
L1131[15:40:46] <KissOfFate> thats everything there
L1132[15:41:02] <KissOfFate> models are under models, rendering stuff is under rendering :p not sure what else you would need
L1133[15:42:17] <ghz|afk> oh you restored all the display list stuff
L1134[15:42:50] <ghz|afk> remove that bindTexture you have in there
L1135[15:43:12] <KissOfFate> want me to remove the display lists stuff too
L1136[15:43:17] <KissOfFate> or just the bind texture?
L1137[15:43:23] <ghz|afk> try first with the bind
L1138[15:43:28] <ghz|afk> I mean removing jnust the bind
L1139[15:43:53] <Necro> !gm func_181617_a
L1140[15:43:54] <ghz|afk> but really
L1141[15:44:03] <ghz|afk> I don't see the point in using RenderLiving and all that crap
L1142[15:44:15] <KissOfFate> well I generified it if you saw
L1143[15:44:15] <ghz|afk> when you can just do the call to render the model straight in a custom renderer
L1144[15:44:56] <ghz|afk> yo uare basically adding a second layer of mess, just to try very hard to keep the original mess in place
L1145[15:45:26] <KissOfFate> still black and purple with bindTexture removed
L1146[15:46:11] ⇦ Quits: TechnicianLP (~Technicia@p4FE1CB8D.dip0.t-ipconnect.de) (Ping timeout: 383 seconds)
L1147[15:48:06] ⇨ Joins: KnightMiner (~KnightMin@adsl-76-202-214-18.dsl.emhril.sbcglobal.net)
L1148[15:48:54] <ghz|afk> KissOfFate:
L1149[15:48:54] <ghz|afk> https://gist.github.com/gigaherz/5d9b9e9bdb944ce669bb81aead66cee2
L1150[15:48:59] <ghz|afk> this is all your renderer could be
L1151[15:49:08] <ghz|afk> maybe it's missing some GlStateManager.translate/scale/rotate
L1152[15:49:13] <ghz|afk> but those would be minor details
L1153[15:49:29] <ghz|afk> trying to extend RenderLiving and such is just adding more crap to the mess, as I said
L1154[15:49:39] <ghz|afk> oops getEntityTexture shouldn't return null
L1155[15:49:49] <ghz|afk> no wait it's nullable
L1156[15:49:51] <ghz|afk> it CAN return null
L1157[15:50:30] <ghz|afk> hmmm
L1158[15:50:35] <ghz|afk> and since your fish isn't translucent
L1159[15:50:39] <ghz|afk> you wouldn't need blending either
L1160[15:51:16] <ghz|afk> updated without blending setting
L1161[15:52:20] <tterrag> you're still afk :P
L1162[15:52:35] <KissOfFate> ah okay so I'm just gonna try that
L1163[15:52:47] <ghz|afk> yeah not worth changing it now
L1164[15:52:52] <ghz|afk> I'll go to sleep in an hour or so ;P
L1165[15:53:02] <KissOfFate> so how do I register this renderer
L1166[15:53:07] <KissOfFate> im only used to RenderFactories
L1167[15:53:08] <KissOfFate> haha
L1168[15:53:38] <ghz|afk> RenderingRegistry.registerEntityRenderingHandler(EntityFish.class, RenderFish::new);
L1169[15:53:43] <ghz|afk> if you use java8 in your mod
L1170[15:54:14] <ghz|afk> IRenderFactory is a single-method interface, so it can accept a lambda or method reference
L1171[15:55:12] <KissOfFate> ah so where do I get objModel from? I just specify it?
L1172[15:55:27] <ghz|afk> yeah I skipped that part
L1173[15:55:29] <ghz|afk> since you already did it
L1174[15:57:22] <KissOfFate> I already did that part?
L1175[15:58:38] <ghz|afk> yes?
L1176[15:58:38] <ghz|afk> https://bitbucket.org/OhCreativeYT/aquaticexpansion/src/b2f140b11a4b0a2ae8fa36657d7db62d44bed863/src/main/java/co/dstny/entity/render/ModelRenderOBJ.java?at=master&fileviewer=file-view-default#ModelRenderOBJ.java-34
L1177[16:01:32] ⇨ Joins: MonkeyTyrant (~MonkeyTyr@blk-212-75-47.eastlink.ca)
L1178[16:03:33] <KissOfFate> .-. so how do I get that to my renderFish class?
L1179[16:04:07] <KissOfFate> oh wait
L1180[16:04:09] <KissOfFate> im dumb nvm
L1181[16:05:31] <KissOfFate> eh im too confused at this point to even want to worry about it anymore
L1182[16:06:48] <KissOfFate> i think i got it
L1183[16:07:53] ⇨ Joins: quadraxis (~quadraxis@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net)
L1184[16:08:54] ⇦ Quits: MonkeyTyrant (~MonkeyTyr@blk-212-75-47.eastlink.ca) (Ping timeout: 383 seconds)
L1185[16:09:23] <KissOfFate> ghz|afk https://gist.github.com/OhCreative/894bd0ab549e7748f1a1fa082c60b26e
L1186[16:11:02] <ghz|afk> oh please don't load the model in the render function!
L1187[16:11:08] <ghz|afk> do it in the constructor like you did in the other one!
L1188[16:11:27] ⇦ Quits: Noppes (~Noppes@ip56530f2e.direct-adsl.nl) (Read error: Connection reset by peer)
L1189[16:11:41] <KissOfFate> right, sorry lol I totally zoned out on that
L1190[16:12:16] <KissOfFate> well it spawns http://i.imgur.com/NeyidPi.png but again without texture
L1191[16:14:01] <KissOfFate> ah
L1192[16:14:09] <KissOfFate> I moved the objModel to the constructor
L1193[16:14:13] <KissOfFate> now its back to black and purple
L1194[16:14:45] ⇨ Joins: Hgreb (~Hgrebnedn@d8D872A6E.access.telenet.be)
L1195[16:15:11] <ghz|afk> I give up ;P
L1196[16:15:19] <KissOfFate> I know its probably something stupidly simple lol
L1197[16:15:27] <ghz|afk> I'm too tired to think right now
L1198[16:15:27] <ghz|afk> ;P
L1199[16:15:31] <KissOfFate> xD
L1200[16:15:45] <KissOfFate> I'm fully awake amped up on Energy Drinks and I still can't figure this out..
L1201[16:16:01] <KissOfFate> I mean it does this
L1202[16:16:01] <KissOfFate> [17:13:37] [Client thread/INFO]: Created: 2048x1024 textures-atlas
L1203[16:16:34] <KissOfFate> well the texture stitching just must not be right
L1204[16:16:55] ⇦ Quits: Hgrebnednav_ (~Hgrebnedn@d8D872A6E.access.telenet.be) (Ping timeout: 186 seconds)
L1205[16:17:41] <KissOfFate> thanks for taking so much of your time to help me, I'm sorry I haven't been the best of people to help ghz|afk
L1206[16:17:58] <ghz|afk> don't worry, you aren't in the "worst" group ;P
L1207[16:19:22] <KissOfFate> haha, well I mean I'm not sure what else to try... at this point everything I've used is being completely rewritten lol
L1208[16:20:12] ⇨ Joins: Keridos (~Keridos@ironhide.stw-bonn.de)
L1209[16:21:24] <KissOfFate> I might just have to copy Lycanites obj system >_>
L1210[16:21:34] <KissOfFate> and see if I can get it to work with that
L1211[16:23:27] <ghz|afk> thing is, it SHOULD work
L1212[16:23:30] <ghz|afk> I mean
L1213[16:23:34] <ghz|afk> if everything was done correctly
L1214[16:23:41] <ghz|afk> something must be wrong, and it can't be anything huge
L1215[16:23:54] <ghz|afk> as I said, I do ahve working entities which draw using .obj models
L1216[16:24:03] <KissOfFate> yeah
L1217[16:24:06] <ghz|afk> and one of them happens to be a living entity so it can't be that
L1218[16:24:09] <KissOfFate> Its something thats my problem
L1219[16:24:31] <ghz|afk> so maybe you can find someone else who isn't as tired as I am ;p
L1220[16:25:03] *** MrKickkiller is now known as MrKick|Away
L1221[16:27:18] ⇨ Joins: MonkeyTyrant (~MonkeyTyr@blk-212-75-47.eastlink.ca)
L1222[16:28:13] <KissOfFate> ghz|afk if I were to use your ModelHandle.of() could I use that to replace objModel
L1223[16:28:31] <ghz|afk> yes the ModelHandle works as a cache
L1224[16:28:39] <ghz|afk> to avoid re-baking and such
L1225[16:28:44] <ghz|afk> it's not really that useful in y our case
L1226[16:28:48] <ghz|afk> but you can use it
L1227[16:28:57] ⇦ Quits: MonkeyTyrant (~MonkeyTyr@blk-212-75-47.eastlink.ca) (Client Quit)
L1228[16:29:29] <ghz|afk> anyhow, gonna jump into bed
L1229[16:29:31] <ghz|afk> night ppl
L1230[16:29:33] * ghz|afk poofs
L1231[16:34:40] <williewillus> where in the code is the logic for baby zombies to control the chickens they ride?
L1232[16:34:43] <williewillus> can't find it x.x
L1233[16:35:12] <williewillus> oh nvm found it
L1234[16:35:20] <williewillus> EntityLiving.updateEntityActionState
L1235[16:37:09] <barteks2x> is it possible to enable f3 debug screen... without pressing f3?
L1236[16:37:27] <williewillus> set the boolean that f3 toggles? :P
L1237[16:37:41] <williewillus> gameSettings.showDebugInfo
L1238[16:38:02] <barteks2x> my laptop keyboard seems to be failing and I need Fn key to use F1-12, and Fn key doesn't work right now
L1239[16:38:28] <williewillus> is it rebindable?
L1240[16:39:06] <barteks2x> in bios settings I can remove the need for Fn
L1241[16:39:22] <barteks2x> but also left and up arros don't work (it randomly starts working again)
L1242[16:39:59] <barteks2x> oh... if that key is rebindable in MC settings?
L1243[16:40:04] <barteks2x> I alreadyd did it with debugger
L1244[16:40:24] ⇦ Quits: Hgreb (~Hgrebnedn@d8D872A6E.access.telenet.be) (Ping timeout: 201 seconds)
L1245[16:40:39] <barteks2x> um... up arrow to use command history probably isn't rebindable
L1246[16:47:47] <williewillus> how do I make an entity able to be attacked by its attacker? 0.o
L1247[16:47:55] <williewillus> I'm returning true from Entity.canRiderInteract
L1248[16:47:59] <williewillus> but sword swings still go through it
L1249[16:49:41] ⇨ Joins: KGS (~KGS@h-158-174-9-249.na.cust.bahnhof.se)
L1250[16:49:46] ⇦ Quits: KissOfFate (~KissOfFat@pool-173-53-76-122.rcmdva.fios.verizon.net) (Quit: Leaving)
L1251[16:50:26] ⇦ Quits: TomyLobo2 (~TomyLobo@2a02:8109:87c0:20c:2803:e005:985b:dd5c) (Ping timeout: 180 seconds)
L1252[17:01:51] <williewillus> gm Entity.canRiderInteract
L1253[17:01:56] <williewillus> !gm Entity.canRiderInteract
L1254[17:02:02] <williewillus> oh it's just a bug with forge
L1255[17:02:08] <williewillus> calling it on the wrong entity
L1256[17:03:52] ⇦ Quits: Javaschreiber (~Thunderbi@88-209-32-73.nga.highspeed-baumann.de) (Quit: Javaschreiber)
L1257[17:07:36] <barteks2x> is it really not possible to create world with only "Extreme Hilld M" biome in vanilla?
L1258[17:07:46] <barteks2x> *Hills
L1259[17:14:50] ⇨ Joins: Spottedleaf (~Spottedle@node-1w7jr9qqos9g0rp7euw686c07.ipv6.telus.net)
L1260[17:18:27] ⇦ Quits: PieGuy128 (~PieGuy128@mtrlpq5031w-lp130-01-76-65-43-212.dsl.bell.ca) (Remote host closed the connection)
L1261[17:22:24] ⇦ Quits: Upthorn (~ogmar@108-204-125-173.lightspeed.frokca.sbcglobal.net) (Ping timeout: 204 seconds)
L1262[17:30:25] *** diesieben|away is now known as diesieben07
L1263[17:40:01] *** diesieben07 is now known as diesieben|away
L1264[17:49:23] ⇦ Quits: KnightMiner (~KnightMin@adsl-76-202-214-18.dsl.emhril.sbcglobal.net) (Ping timeout: 200 seconds)
L1265[17:51:19] ⇨ Joins: KnightMiner (~KnightMin@adsl-76-202-214-18.dsl.emhril.sbcglobal.net)
L1266[17:53:59] *** RichardG_ is now known as RichardG
L1267[17:55:17] ⇦ Quits: cjm721 (~cjm721@mobile-107-77-172-52.mobile.att.net) (Remote host closed the connection)
L1268[17:57:14] ⇨ Joins: cjm721 (~cjm721@mobile-107-77-172-78.mobile.att.net)
L1269[17:58:41] ⇦ Quits: Cojo (~Cojo@2606:a000:4c46:8d00:14a6:6ec1:a9f:aa6a) (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.)
L1270[18:00:23] ⇦ Quits: KnightMiner (~KnightMin@adsl-76-202-214-18.dsl.emhril.sbcglobal.net) (Ping timeout: 200 seconds)
L1271[18:04:34] <williewillus> !sp p_142018_1_ target
L1272[18:04:40] <williewillus> !sp p_142018_2_ owner
L1273[18:05:08] ⇦ Quits: lashtear (~lashtear@75-164-207-124.ptld.qwest.net) (Quit: Leaving)
L1274[18:05:36] *** diesieben|away is now known as diesieben07
L1275[18:06:55] ⇨ Joins: Gil (uid147942@id-147942.hathersage.irccloud.com)
L1276[18:08:25] ⇨ Joins: lashtear (~lashtear@75-164-207-124.ptld.qwest.net)
L1277[18:13:36] ⇨ Joins: KnightMiner (~KnightMin@adsl-76-202-214-18.dsl.emhril.sbcglobal.net)
L1278[18:14:09] *** diesieben07 is now known as diesieben|away
L1279[18:22:27] <williewillus> !gf AbstractSkeleton.aiArrowAttack
L1280[18:31:43] ⇦ Quits: Blarghedy (~Blarghedy@50-90-116-51.res.bhn.net) (Killed (NickServ (GHOST command used by Guest97915!Blarghedy@50-90-116-51.res.bhn.net)))
L1281[18:31:47] ⇨ Joins: Blarghedy (Blarghedy@50-90-116-51.res.bhn.net)
L1282[18:34:29] ⇦ Quits: Redfoxmoon (~Red@177.92-221-236.customer.lyse.net) (Ping timeout: 201 seconds)
L1283[18:37:07] <barteks2x> I found a 100% reliable way to reproduce my rare-impossible-crash :D
L1284[18:37:46] ⇦ Quits: Necro (~Necro@p200300700D1F38FF0CD7A5B53554ACA8.dip0.t-ipconnect.de) (Ping timeout: 383 seconds)
L1285[18:43:18] <PinkYoshi> WillieWillus the advice you gave me
L1286[18:43:20] <PinkYoshi> doesn't work
L1287[18:43:30] ⇦ Quits: AshIndigo (uid202308@id-202308.charlton.irccloud.com) (Quit: Connection closed for inactivity)
L1288[18:43:48] <williewillus> what exactly?
L1289[18:44:03] <PinkYoshi> To use worldtickevent for updating arrows
L1290[18:44:09] <PinkYoshi> and checking their velocities
L1291[18:44:12] <williewillus> i have a 100% working version of what you described several hours ago right here so I don't know what you mean by "doesn't work" :P
L1292[18:44:25] <williewillus> describe "doesn't work"
L1293[18:44:26] <PinkYoshi> I can't extract an instanceof EntityArrow from worldtickevent
L1294[18:44:33] <williewillus> ...you have a world
L1295[18:44:43] <williewillus> world has a method to get you all entities of a certain type
L1296[18:45:49] <PinkYoshi> http://imgur.com/a/mn6mv
L1297[18:46:11] ⇨ Joins: Redfoxmoon (~Red@177.92-221-236.customer.lyse.net)
L1298[18:46:13] <williewillus> wat are you even doing
L1299[18:46:15] <williewillus> evt is an event
L1300[18:46:17] <williewillus> not an entity :P
L1301[18:46:24] <williewillus> get rid of that getEffectiveSide and use world.isRemote
L1302[18:46:24] <PinkYoshi> The method you gave me requires extra work you didn't explain
L1303[18:46:32] <PinkYoshi> I did use world.isremote and it crashed me
L1304[18:46:39] <williewillus> of course, because I'm not going to handhold everything
L1305[18:46:39] <PinkYoshi> Using getEffectiveSide fixed the crash
L1306[18:46:52] <PinkYoshi> well you could have atleast told me I'd still need to get a list of entities from in the world.
L1307[18:47:02] <williewillus> you don't need to build that list yourself
L1308[18:47:03] <PinkYoshi> entirely leaving that detail out sends me on a blind path
L1309[18:47:19] <williewillus> I mean, I didn't know that method existed either. just a little experimentation led me to it...
L1310[18:47:22] <PinkYoshi> no but I need to know it exists and I need to know there's a step you didn't fill in for me and I need a general idea of what that step would be
L1311[18:47:34] <PinkYoshi> overall though
L1312[18:47:44] <PinkYoshi> Isn't it more inefficient to get a whole list of all active arrows?
L1313[18:47:51] <PinkYoshi> than to simply check the entity world event
L1314[18:47:53] <PinkYoshi> and cast it to arrow?
L1315[18:48:20] <williewillus> what even is a "entity world event"
L1316[18:48:33] <williewillus> also, get it working first then optimize :P
L1317[18:48:37] <PinkYoshi> Ughh
L1318[18:48:44] <PinkYoshi> so I had something working and I'm tearing it apart
L1319[18:48:51] <PinkYoshi> but does it matter how it does what it does even?
L1320[18:48:58] <williewillus> yes
L1321[18:49:01] <PinkYoshi> okay then.
L1322[18:49:09] <williewillus> things that appear to work may not work reliably
L1323[18:49:13] <PinkYoshi> So what type is the list of entities in the world? is it type Entity?
L1324[18:49:14] *** LordFokas|out is now known as LordFokas
L1325[18:49:20] <williewillus> look at the signature of the method
L1326[18:50:51] <PinkYoshi> http://imgur.com/a/KRlKw
L1327[18:50:53] <PinkYoshi> soooo
L1328[18:51:04] <PinkYoshi> this tells me nothing I can't understand this syntax it looks like the entity parent class
L1329[18:51:07] <PinkYoshi> but what do i actually pass to this?
L1330[18:53:38] <williewillus> ignore the type parameters at first. It wants the Class of the entities you want, and a predicate to filter them
L1331[18:53:46] <williewillus> which is exactly what ? extends Entity means
L1332[18:54:05] <PinkYoshi> so I put ? extends Entity then the class name?
L1333[18:54:08] <williewillus> no
L1334[18:54:11] <williewillus> you just pas the class :P
L1335[18:54:14] <williewillus> *pass
L1336[18:54:34] <williewillus> "give me a Class representing something that extends Entity and a Predicate filtering things that extend Entity"
L1337[18:54:50] <PinkYoshi> it says Expression expected.
L1338[18:54:54] <PinkYoshi> it isn't happy with this -.-
L1339[18:54:57] <williewillus> a Class is an object
L1340[18:55:18] <williewillus> EntityArrow.class is an expression yielding the Class object associated with EntityArrow
L1341[18:55:30] <williewillus> do a find usages on the method and see how vanilla uses it
L1342[18:55:55] <PinkYoshi> I don't understand this I just want an example of what to put in the Parenthesis
L1343[18:56:05] <PinkYoshi> There's something I'm missing between the ilnes
L1344[18:56:06] <PinkYoshi> lines
L1345[18:56:19] <williewillus> > do a find usages on the method and see how vanilla uses it
L1346[18:56:24] <williewillus> ^ there's your example
L1347[18:58:07] <PinkYoshi> find usages finds nothing
L1348[18:58:11] <PinkYoshi> just 1 case and that's mine
L1349[18:58:14] <williewillus> search projects + libraries
L1350[19:01:14] <PinkYoshi> could have just outrightly told me to use EntitySelectors followed by . to get a selection of options for the second param >.> why you make me do extra work? When the result is the same and I would have seen the example anyway?
L1351[19:01:26] <PinkYoshi> but also thank you for telling me how to do that.
L1352[19:02:52] ⇨ Joins: Upthorn (~ogmar@108-85-88-44.lightspeed.frokca.sbcglobal.net)
L1353[19:03:45] <quadraxis> is it worth having a more general impact event for all projectiles?
L1354[19:03:55] <williewillus> because the answer is not always "Type entityselectors and a dot"
L1355[19:04:23] <williewillus> I don't "make you do extra work", I'm just not handholding through literally every line
L1356[19:04:31] <williewillus> quadraxis: I mean, there is one for throwables
L1357[19:04:38] <williewillus> but for whatever reason arrows aren't throwables
L1358[19:04:43] <williewillus> it's probably worth adding one
L1359[19:05:05] <quadraxis> yeah but there's also fireballs, arrows etc
L1360[19:05:22] <barteks2x> wtf does that mean when trying to run BON2? java.lang.NumberFormatException: For input string: "banana"
L1361[19:05:55] <quadraxis> the check is always the same, but vanilla names all the methods differently, instead of having something in IProjectile >_>
L1362[19:06:17] ⇦ Quits: cjm721 (~cjm721@mobile-107-77-172-78.mobile.att.net) (Remote host closed the connection)
L1363[19:07:48] <quadraxis> actuall these aren't all IProjectile anyway >_>
L1364[19:08:15] <PinkYoshi> Why isn't thing letting me do a for loop on the class now that I have the class list
L1365[19:08:38] <barteks2x> I have the latest bon2 and it crashes at startup with such strange exception...
L1366[19:08:39] <PinkYoshi> List<EntityArrow> WorldEntities = evt.world.getEntities(EntityArrow.class, EntitySelectors.IS_ALIVE);
L1367[19:09:03] <PinkYoshi> it wants the foreach class to be of type java.lang.obj
L1368[19:09:10] <PinkYoshi> and refuses to accept EntityArrow as the type for my for loop
L1369[19:11:27] ⇨ Joins: cjm721 (~cjm721@mobile-107-77-172-48.mobile.att.net)
L1370[19:14:18] <barteks2x> what... I have 2 the same versions of BON2 that have different checksums
L1371[19:14:37] <barteks2x> one works, the other doesn't
L1372[19:15:33] ⇦ Quits: KnightMiner (~KnightMin@adsl-76-202-214-18.dsl.emhril.sbcglobal.net) (Ping timeout: 200 seconds)
L1373[19:17:22] <PinkYoshi> ok it looks like it might work finally.. testing now
L1374[19:19:59] <PinkYoshi> ok on the plus side no crashes
L1375[19:20:00] <PinkYoshi> http://imgur.com/a/8a05R
L1376[19:20:02] <PinkYoshi> downside.
L1377[19:20:12] <PinkYoshi> The event doesn't stop spawning spiders once it's triggered
L1378[19:20:25] <PinkYoshi> I might know why
L1379[19:28:59] <PinkYoshi> Yes I fixed it. Lol so if I forget to set the entity as dead
L1380[19:29:03] <PinkYoshi> it keeps happening.
L1381[19:31:04] ⇦ Quits: cjm721 (~cjm721@mobile-107-77-172-48.mobile.att.net) (Remote host closed the connection)
L1382[19:32:04] ⇨ Joins: cjm721 (~cjm721@mobile-107-77-172-45.mobile.att.net)
L1383[19:32:48] <PinkYoshi> lol omg, thanks williewillus
L1384[19:32:53] <PinkYoshi> it's alot more stable now :D
L1385[19:37:42] ⇦ Quits: Spottedleaf (~Spottedle@node-1w7jr9qqos9g0rp7euw686c07.ipv6.telus.net) (Ping timeout: 383 seconds)
L1386[19:38:39] ⇦ Quits: kinggoesgaming (uid23106@id-23106.ealing.irccloud.com) (Quit: Connection closed for inactivity)
L1387[19:39:14] ⇦ Quits: cjm721 (~cjm721@mobile-107-77-172-45.mobile.att.net) (Ping timeout: 201 seconds)
L1388[19:44:16] <williewillus> no prob
L1389[19:53:13] ⇨ Joins: KnightMiner (~KnightMin@adsl-76-202-210-223.dsl.emhril.sbcglobal.net)
L1390[19:55:15] ⇨ Joins: williewillus_ (~williewil@cpe-24-28-24-13.austin.res.rr.com)
L1391[19:55:55] ⇨ Joins: airbreather_ (~airbreath@d149-67-99-43.nap.wideopenwest.com)
L1392[19:56:51] ⇦ Quits: williewillus (~williewil@cpe-24-28-24-13.austin.res.rr.com) (Killed (NickServ (GHOST command used by williewillus_)))
L1393[19:56:59] *** williewillus_ is now known as williewillus
L1394[19:57:34] ⇦ Quits: airbreather (~airbreath@d149-67-99-43.nap.wideopenwest.com) (Ping timeout: 204 seconds)
L1395[20:00:03] ⇦ Quits: williewillus (~williewil@cpe-24-28-24-13.austin.res.rr.com) (Client Quit)
L1396[20:06:53] ⇦ Quits: afdw (~afdw@109.111.24.224) (Ping timeout: 200 seconds)
L1397[20:10:00] ⇨ Joins: cjm721 (~cjm721@mobile-107-77-172-43.mobile.att.net)
L1398[20:10:10] ⇨ Joins: SirWill (~SirWill@static.168.103.243.136.clients.your-server.de)
L1399[20:13:08] ⇨ Joins: TTFTCUTS (~ttftcuts@ns3366511.ovh.net)
L1400[20:19:09] ⇨ Joins: afdw (~afdw@80.80.194.25)
L1401[20:19:58] <PinkYoshi> Help, I can't spawn skeletons that have bows.
L1402[20:20:23] <PinkYoshi> I'm trying to figure out if I have to modify their inventory yet itemstack access (minecraft.net.item.itemstack) is private access.
L1403[20:23:28] <LordFokas> isn't it just skelly.setHeldItem(bowItemStack); ?
L1404[20:27:59] <PinkYoshi> how do I create a bow item stack?
L1405[20:28:18] <PinkYoshi> I've been trying to figure out how to add a net.minecraft.item.item.ItemBow to an itemstack
L1406[20:28:20] ⇦ Quits: cjm721 (~cjm721@mobile-107-77-172-43.mobile.att.net) (Remote host closed the connection)
L1407[20:32:33] ⇨ Joins: Abastro (~Abastro@143.248.189.97)
L1408[20:41:59] ⇦ Quits: KGS (~KGS@h-158-174-9-249.na.cust.bahnhof.se) (Ping timeout: 186 seconds)
L1409[20:52:45] <DemonWav> cpw ah, so you DO know about my intellij plugin :p
L1410[20:53:40] <PinkYoshi> I guess I figured it out, I think.
L1411[20:57:59] ⇦ Quits: Cast0077 (~Cast0077@24-151-68-108.dhcp.nwtn.ct.charter.com) (Quit: Poof)
L1412[21:00:07] ⇦ Quits: Wastl2 (~Wastl2@x4e3456ab.dyn.telefonica.de) (Ping timeout: 186 seconds)
L1413[21:01:26] ⇦ Quits: h5h77 (~h5h77@ip1f10331f.dynamic.kabel-deutschland.de) (Remote host closed the connection)
L1414[21:03:02] ⇨ Joins: Wastl2 (~Wastl2@x4e34908e.dyn.telefonica.de)
L1415[21:06:12] ⇨ Joins: sinkillerj (~sinkiller@nc-67-232-10-214.dhcp.embarqhsd.net)
L1416[21:09:04] <PinkYoshi> nope, I can not seem to give a skeleton a bwo
L1417[21:09:05] <PinkYoshi> bow
L1418[21:20:39] <PinkYoshi> Yeahhh this is not what I had in mind: http://imgur.com/a/FzKjb
L1419[21:26:28] ⇨ Joins: arehman (~arehman@124.29.237.1)
L1420[21:30:50] ⇦ Quits: Abastro (~Abastro@143.248.189.97) (Read error: Connection reset by peer)
L1421[21:37:16] ⇨ Joins: cjm721 (~cjm721@mobile-107-77-172-51.mobile.att.net)
L1422[21:37:41] <cjm721> where exactly is the McpMappings.json downloaded from. Stupid phone tether again and I forgot to bookmark that page
L1423[21:40:01] <cjm721> found it: http://export.mcpbot.bspk.rs/versions.json
L1424[21:44:10] <mezz> has anyone here gotten junit tests set up for their project and added junit as a dependency in their gradle?
L1425[21:50:37] ⇨ Joins: Spottedleaf (~Spottedle@node-1w7jr9qqos9g03jauoxd11xcj.ipv6.telus.net)
L1426[21:51:46] ⇨ Joins: Abastro (~Abastro@143.248.189.97)
L1427[21:53:00] <mezz> figured it out, just need to add this to dependencies: testCompile 'junit:junit:4.12'
L1428[22:01:07] ⇦ Quits: Twipply (~Twipply@cpc71441-mapp10-2-0-cust204.12-4.cable.virginm.net) (Quit: Leaving)
L1429[22:03:03] ⇦ Quits: Lathanael|Away (~Lathanael@p54961E77.dip0.t-ipconnect.de) (Ping timeout: 186 seconds)
L1430[22:07:32] ⇨ Joins: McJty (~jorrit@94-224-152-129.access.telenet.be)
L1431[22:07:46] <LordFokas> PinkYoshi, you gave them something, it's a start
L1432[22:08:13] <LordFokas> new ItemStack(Item, amount) I think is the correct constructor
L1433[22:09:00] <LordFokas> in your case should be something like new ItemStack(Items.bow, 1) I believe
L1434[22:09:20] <PinkYoshi> Ohhh!
L1435[22:09:32] <LordFokas> haven't really modded since 1.7.10, I've been attempting to pick that back up, so don't quote me on this :p
L1436[22:10:27] ⇨ Joins: Lathanael|Away (~Lathanael@p54961E96.dip0.t-ipconnect.de)
L1437[22:12:16] *** LordFokas is now known as LordFokas|Zzz
L1438[22:18:12] ⇦ Quits: Abastro (~Abastro@143.248.189.97) (Read error: Connection reset by peer)
L1439[22:22:30] <killjoy1> LordFokas|Zzz, new ItemStack(Items.BOW)
L1440[22:38:11] ⇦ Quits: Brokkoli (~Brokkoli@p5B23CC84.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))
L1441[22:53:18] ⇦ Quits: fatguylaughing (~fatguylau@worx01.meridian-ds.com) (Read error: Connection reset by peer)
L1442[22:53:46] ⇨ Joins: fatguylaughing (~fatguylau@worx01.worxco.com)
L1443[22:55:32] ⇦ Quits: Keridos (~Keridos@ironhide.stw-bonn.de) (Ping timeout: 204 seconds)
L1444[22:55:32] ⇦ Quits: Marenthyu (~Marenthyu@marenthyu.de) (Ping timeout: 204 seconds)
L1445[22:55:42] ⇨ Joins: Keridos (~Keridos@2a00:5ba0:8000:64:2e0:4cff:fe23:44af)
L1446[22:55:52] ⇦ Quits: Gaz (~Gaz492@wolf.gaz492.uk) (Ping timeout: 383 seconds)
L1447[22:56:10] ⇦ Quits: afdw (~afdw@80.80.194.25) (Ping timeout: 204 seconds)
L1448[22:56:31] ⇨ Joins: afdw (~afdw@80.80.194.25)
L1449[22:57:19] ⇨ Joins: Gaz (~Gaz492@wolf.gaz492.uk)
L1450[22:59:03] ⇦ Quits: Upthorn (~ogmar@108-85-88-44.lightspeed.frokca.sbcglobal.net) (Ping timeout: 186 seconds)
L1451[23:02:15] ⇦ Quits: Lathanael|Away (~Lathanael@p54961E96.dip0.t-ipconnect.de) (Ping timeout: 186 seconds)
L1452[23:04:47] ⇨ Joins: Doty1154 (~Doty1154@2601:648:8000:134f:dc27:41c8:9b43:38b4)
L1453[23:08:25] ⇨ Joins: Lathanael|Away (~Lathanael@p54961637.dip0.t-ipconnect.de)
L1454[23:10:04] ⇨ Joins: npe|office (~NPExcepti@bps-gw.hrz.tu-chemnitz.de)
L1455[23:15:48] ⇨ Joins: Abastro (~Abastro@143.248.189.97)
L1456[23:21:51] ⇦ Quits: Waterpicker (~Waterpick@2602:306:35ba:ca40:5d44:e251:3936:edf8) (Ping timeout: 201 seconds)
L1457[23:25:55] ⇦ Quits: McJty (~jorrit@94-224-152-129.access.telenet.be) (Quit: Leaving)
L1458[23:29:41] ⇦ Quits: sinkillerj (~sinkiller@nc-67-232-10-214.dhcp.embarqhsd.net) (Remote host closed the connection)
L1459[23:31:06] ⇦ Quits: Abastro (~Abastro@143.248.189.97) (Read error: Connection reset by peer)
L1460[23:34:02] ⇨ Joins: Upthorn (~ogmar@108-204-125-173.lightspeed.frokca.sbcglobal.net)
L1461[23:38:16] ⇨ Joins: TomyLobo (~TomyLobo@ip5b420a6f.dynamic.kabel-deutschland.de)
L1462[23:39:46] ⇨ Joins: Abastro (~Abastro@143.248.189.97)
L1463[23:40:00] ⇨ Joins: Waterpicker (~Waterpick@2602:306:35ba:ca40:cca7:f306:f63f:756a)
L1464[23:47:28] ⇦ Quits: PitchBright (~PitchBrig@cpe00fc8d8a3ce3-cm00fc8d8a3ce0.cpe.net.cable.rogers.com) (Quit: brb)
L1465[23:50:22] ⇨ Joins: PitchBright (~PitchBrig@CPE00fc8d8a3ce3-CM00fc8d8a3ce0.cpe.net.cable.rogers.com)
L1466[23:54:31] ⇨ Joins: abab9579 (~Abastro@143.248.189.97)
L1467[23:54:33] ⇦ Quits: Abastro (~Abastro@143.248.189.97) (Read error: Connection reset by peer)
L1468[23:55:56] ⇨ Joins: Abastro (~Abastro@110.70.52.83)
<<Prev Next>> Scroll to Top