Posted March 15, 201312 yr How would I go about rendering multiple layers of textures on a single block face? I've seen AtomicStryker's tutorial on updating textures for 1.5, but I want to, for example, be able to have fancy smart-auto-connected stained glass blocks, without having fifty thousand separate sprites. I know it could be done in some way in 1.4, as RailCraft, XyCraft, and ThaumCraft all did it, but I haven't done much modding in a while and I doubt any of it would work in 1.5 anyway. If someone else somewhere has asked this question and you can link me to a detailed response that they got, that would be great too. But I'm not an expert modder (I haven't successfully done complex stuff since 1.2.5, and not much at all since 1.3) so the more detailed and simple an answer is, the more it would help me.
March 16, 201312 yr Author A day later... Does anybody at all know how? I really don't know enough fancy render stuff (or have the hours and hours of patience to try, fail, and repeat x1000) to try to learn this completely on my own.
March 16, 201312 yr A day later... Does anybody at all know how? I really don't know enough fancy render stuff (or have the hours and hours of patience to try, fail, and repeat x1000) to try to learn this completely on my own. You can use an array which holds Icon instances. For example like an array with 5 textures: @SideOnly(Side.CLIENT) private Icon[] blockTextures; Then initialize this array in the method with the IconRegister parameter: @Override @SideOnly(Side.CLIENT) public void func_94332_a(IconRegister par1IconRegister) { this.blockTextures = new Icon[5]; for(int i = 0; i < 5; i++) { this.blockTextures[i] = par1IconRegister.func_94245_a("MyMod:blockTexture_" + i); } } while having these 5 texture files ready and named like blockTexture0.png, blockTexture1.png aso. Finally decide in any of the getBlockTextureXXX methods which texture should be shown, here a metadata example: @Override @SideOnly(Side.CLIENT) public Icon getBlockTextureFromSideAndMetadata(int par1, int par2) { if(par1 < 0 || par1 >= 5) return this.blockTextures[0]; return this.blockTextures[par1]; } Don't ask for support per PM! They'll get ignored! | If a post helped you, click the "Thank You" button at the top right corner of said post! | mah twitter This thread makes me sad because people just post copy-paste-ready code when it's obvious that the OP has little to no programming experience. This is not how learning works.
March 18, 201312 yr Author Assuming I understood you correctly, I'm not asking about different textures on different sides or metadata. I'm talking about overlaying multiple textures on a single face of a single metadata block, like RailCraft's ores, so that I can have a base texture, and then several partial textures that overlay on top as I want them to, so that I only need around 10 or 16 textures instead of 2000. Thank you for what you did tell me, but it's not what I was asking, sorry.
March 20, 201312 yr Author Does anyone else think they know how to do this? If nobody does I will probably have to give up on my project.
March 20, 201312 yr I think what you are looking for is called Multi-Pass Rendering and there is a Tutorial about it on the ForgeWiki! I can't say if the code provided there will work for 1.5 since i'm pretty new to Java but at least it's a start http://www.minecraftforge.net/wiki/Multiple_Pass_Render_Blocks From what i know the SecretRoomsMod has some sort of MPR going on and it get's currently ported to 1.5 so with the tutorial on the wiki and the source insight from Github you're on the right way. https://github.com/AbrarSyed/SecretRoomsMod-forge Hope it helps
March 21, 201312 yr Author I looked at the Secret Rooms mod code; it doesn't seem to be what I'm looking for either -- useful, definitely, if I ever want to make camoflaging blocks, which I probably will if this project gets underway, but it's not what I'm after right now, unfortunately. The wiki page might be able to help me if it works with 1.5; I'll give it a shot soon and see if I can make that work for me. Thank you for your help!
March 24, 201312 yr Author UPDATE: I have gotten it to work, to some extent. With just very basic modifications to that wiki code (adding the new render method override to the block class), I've gotten this with vanilla glass and ice textures: I still have a lot of work to do to get it to do what I want, but I do have it working a little bit.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.