Jump to content

Multiple textures on a single item?


Tynarus

Recommended Posts

Well basically I'm trying to make a more complex weapon system that requires multiple textures for the weapons since I don't feel like creating 100's of images for each weapon combination... Is there any good way to go about this?...

Link to comment
Share on other sites

I am not entirely sure that there is a way to "merge" textures in such a way that it allows you to create new ones via code.

 

You will have to have a texture for each individual item upgrade that you want to be avaliable. Then, you have maybe an integer, lets call it for the sake of this tutorial, textureID. You also need a Icon list, say its called upgradeIcons (all names will become a bit clearer in the code). So textureID is default to 0. So say I put an upgrade on it, the icon for the (say its a sword) that particular upgrade is a paxel texture. Lets also say that that icon has the textureID of 1. So when the player upgrades the item to that paxel, the textureID also gets set to 1 displaying the correct texture. Simplified version would be this (in my simplified code, there will only be one upgrade. And I am also assuming that you have a way of saving data about the item in the form of NBT, so create the needed things for textureID to be stored in the items NBT data).

 

The code:

// your item code blah blah blah
@SideOnly(Side.CLIENT)
private Icon[] upgradeIcons = new Icon[2];

private int textureID = 0;

@Override
@SideOnly(Side.CLIENT)
public void registerIcons(IconRegister par1IconRegister) {
    // Register each Icon here BEFORE the switch statement.
    this.upgradeIcons[0] = par1IconRegister.registerIcon("MOD_ID:" + this.getUnlocalizedName().substring(5);
    this.upgradeIcons[1] = par1IconRegister.registerIcon("MOD_ID:" + this.getUnlocalizedName().substring(5) + "Paxel";

    // You should get the gist of this switch statement
    switch(this.textureID) {
        case 1:
            this.itemIcon = this.upgradeIcons[1];
            break;
        default:
            this.itemIcon = this.upgradeIcons[0];
            break;
    }
}
// rest of your item code blah blah blah

 

Hopefully that helps, but it may not quite be what your looking for, if its not, well then. I wasted some of my life :D

I am Mew. The Legendary Psychic. I behave oddly and am always playing practical jokes.

 

I have also found that I really love making extremely long and extremely but sometimes not so descriptive variables. Sort of like what I just did there xD

Link to comment
Share on other sites

I am not entirely sure that there is a way to "merge" textures in such a way that it allows you to create new ones via code.

 

You will have to have a texture for each individual item upgrade that you want to be avaliable. Then, you have maybe an integer, lets call it for the sake of this tutorial, textureID. You also need a Icon list, say its called upgradeIcons (all names will become a bit clearer in the code). So textureID is default to 0. So say I put an upgrade on it, the icon for the (say its a sword) that particular upgrade is a paxel texture. Lets also say that that icon has the textureID of 1. So when the player upgrades the item to that paxel, the textureID also gets set to 1 displaying the correct texture. Simplified version would be this (in my simplified code, there will only be one upgrade. And I am also assuming that you have a way of saving data about the item in the form of NBT, so create the needed things for textureID to be stored in the items NBT data).

 

The code:

// your item code blah blah blah
@SideOnly(Side.CLIENT)
private Icon[] upgradeIcons = new Icon[2];

private int textureID = 0;

@Override
@SideOnly(Side.CLIENT)
public void registerIcons(IconRegister par1IconRegister) {
    // Register each Icon here BEFORE the switch statement.
    this.upgradeIcons[0] = par1IconRegister.registerIcon("MOD_ID:" + this.getUnlocalizedName().substring(5);
    this.upgradeIcons[1] = par1IconRegister.registerIcon("MOD_ID:" + this.getUnlocalizedName().substring(5) + "Paxel";

    // You should get the gist of this switch statement
    switch(this.textureID) {
        case 1:
            this.itemIcon = this.upgradeIcons[1];
            break;
        default:
            this.itemIcon = this.upgradeIcons[0];
            break;
    }
}
// rest of your item code blah blah blah

 

Hopefully that helps, but it may not quite be what your looking for, if its not, well then. I wasted some of my life :D

 

Things I already know, but thanks for trying at least. :P Making all of the images for these would make the mod download quite erm... Large... Due to the amount of customization choices there are, sadly. Though I wanted to make it more interesting and actually have the weapon visually change depending on what you have equipped to it.

Link to comment
Share on other sites

I thought that would be the case :( Oh well, some

 

If you want to make it more interesting like that, make a model for the item and make ALL the extensions included in that one model, then have if statements around each extension checking to see if that extension is installed. That would be how I would do it.

 

You may have to look into texture manipulating...

I am Mew. The Legendary Psychic. I behave oddly and am always playing practical jokes.

 

I have also found that I really love making extremely long and extremely but sometimes not so descriptive variables. Sort of like what I just did there xD

Link to comment
Share on other sites

I thought that would be the case :( Oh well, some

 

If you want to make it more interesting like that, make a model for the item and make ALL the extensions included in that one model, then have if statements around each extension checking to see if that extension is installed. That would be how I would do it.

 

You may have to look into texture manipulating...

 

Maybe, though I was thinking of using basic Java to physically combine and save the images whenever a custom weapon is made, so as to avoid the actual download being huge but... Still, seems "meh", you know?

Link to comment
Share on other sites

The download shouldn't be too big.. But yes, I do like your idea. The only problem I see with that though is that you would need a new folder to be created in say the config folder or somewhere like that so as to avoid people finding to have those new combined textures stored in.

 

I also don't see how the file would be that big download wise. I mean, if you zip it first it should technically not be that big, also reducing the size is the fact that the images are .png's. It shouldn't be that big. It only gets really big if you have at least 200+ items that do this.

I am Mew. The Legendary Psychic. I behave oddly and am always playing practical jokes.

 

I have also found that I really love making extremely long and extremely but sometimes not so descriptive variables. Sort of like what I just did there xD

Link to comment
Share on other sites

The download shouldn't be too big.. But yes, I do like your idea. The only problem I see with that though is that you would need a new folder to be created in say the config folder or somewhere like that so as to avoid people finding to have those new combined textures stored in.

 

I also don't see how the file would be that big download wise. I mean, if you zip it first it should technically not be that big, also reducing the size is the fact that the images are .png's. It shouldn't be that big. It only gets really big if you have at least 200+ items that do this.

There may end up being that many textures, that's the thing. xD There are quiiiiite a few combinations... O.o

 

Trying to work on this ResourceLocation stuff on the 1.6.1 release though, no idea where to be putting my textures now... Among many other problems including a Forge bug to do with tool materials. :L

Link to comment
Share on other sites

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.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • I was just trying to play my modded world when i randomly got this crash for no reason. I sorted through like every mod and eventually I realized it was LLibrary but I can't seem to find a solution to fix the crashing. I can't lose the world that I have that uses this mod please help me. Here's the report: https://pastebin.com/0D00B79i If anyone has a solution please let me know.  
    • 🤑DAFTAR & LOGIN🤑 🤑DAFTAR & LOGIN🤑 🤑DAFTAR & LOGIN🤑   Daftar Slot Ligawin88 adalah bocoran slot rekomendasi gacor dari Ligawin88 yang bisa anda temukan di SLOT Ligawin88. Situs SLOT Ligawin88 hari ini yang kami bagikan di sini adalah yang terbaik dan bersiaplah untuk mengalami sensasi tak terlupakan dalam permainan slot online. Temukan game SLOT Ligawin88 terbaik dengan 100 pilihan provider ternama yang dipercaya akan memberikan kepuasan dan kemenangan hari ini untuk meraih x500. RTP SLOT Ligawin88 merupakan SLOT Ligawin88 hari ini yang telah menjadi pilihan utama bagi pemain judi online di seluruh Indonesia. Setiap harinya jutaan pemain memasuki dunia maya untuk memperoleh hiburan seru dan kemenangan besar dalam bermain slot dengan adanya bocoran RTP SLOT Ligawin88. Tidak ada yang lebih menyenangkan daripada mengungguli mesin slot dan meraih jackpot x500 yang menggiurkan di situs SLOT Ligawin88 hari ini yang telah disediakan SLOT Ligawin88. Menangkan jackpot besar x500 rajanya maxwin dari segala slot dan raih kemenangan spektakuler di situs Ligawin88 terbaik 2024 adalah tempat yang menyediakan mesin slot dengan peluang kemenangan lebih tinggi daripada situs slot lainnya. Bagi anda yang mencari pengalaman judi slot paling seru dan mendebarkan, situs bo SLOT Ligawin88 terbaik 2024 adalah pilihan yang tepat. Jelajahi dunia slot online melalui situs SLOT Ligawin88 di link SLOT Ligawin88.
    • 🤑DAFTAR & LOGIN🤑 🤑DAFTAR & LOGIN🤑 🤑DAFTAR & LOGIN🤑   Daftar Slot Asusslot adalah bocoran slot rekomendasi gacor dari Asusslot yang bisa anda temukan di SLOT Asusslot. Situs SLOT Asusslot hari ini yang kami bagikan di sini adalah yang terbaik dan bersiaplah untuk mengalami sensasi tak terlupakan dalam permainan slot online. Temukan game SLOT Asusslot terbaik dengan 100 pilihan provider ternama yang dipercaya akan memberikan kepuasan dan kemenangan hari ini untuk meraih x500. RTP SLOT Asusslot merupakan SLOT Asusslot hari ini yang telah menjadi pilihan utama bagi pemain judi online di seluruh Indonesia. Setiap harinya jutaan pemain memasuki dunia maya untuk memperoleh hiburan seru dan kemenangan besar dalam bermain slot dengan adanya bocoran RTP SLOT Asusslot. Tidak ada yang lebih menyenangkan daripada mengungguli mesin slot dan meraih jackpot x500 yang menggiurkan di situs SLOT Asusslot hari ini yang telah disediakan SLOT Asusslot. Menangkan jackpot besar x500 rajanya maxwin dari segala slot dan raih kemenangan spektakuler di situs Asusslot terbaik 2024 adalah tempat yang menyediakan mesin slot dengan peluang kemenangan lebih tinggi daripada situs slot lainnya. Bagi anda yang mencari pengalaman judi slot paling seru dan mendebarkan, situs bo SLOT Asusslot terbaik 2024 adalah pilihan yang tepat. Jelajahi dunia slot online melalui situs SLOT Asusslot di link SLOT Asusslot.
    • 🤑DAFTAR & LOGIN🤑 🤑DAFTAR & LOGIN🤑 🤑DAFTAR & LOGIN🤑 Daftar Slot Galeri555 adalah bocoran slot rekomendasi gacor dari Galeri555 yang bisa anda temukan di SLOT Galeri555. Situs SLOT Galeri555 hari ini yang kami bagikan di sini adalah yang terbaik dan bersiaplah untuk mengalami sensasi tak terlupakan dalam permainan slot online. Temukan game SLOT Galeri555 terbaik dengan 100 pilihan provider ternama yang dipercaya akan memberikan kepuasan dan kemenangan hari ini untuk meraih x500. RTP SLOT Galeri555 merupakan SLOT Galeri555 hari ini yang telah menjadi pilihan utama bagi pemain judi online di seluruh Indonesia. Setiap harinya jutaan pemain memasuki dunia maya untuk memperoleh hiburan seru dan kemenangan besar dalam bermain slot dengan adanya bocoran RTP SLOT Galeri555. Tidak ada yang lebih menyenangkan daripada mengungguli mesin slot dan meraih jackpot x500 yang menggiurkan di situs SLOT Galeri555 hari ini yang telah disediakan SLOT Galeri555. Menangkan jackpot besar x500 rajanya maxwin dari segala slot dan raih kemenangan spektakuler di situs Galeri555 terbaik 2024 adalah tempat yang menyediakan mesin slot dengan peluang kemenangan lebih tinggi daripada situs slot lainnya. Bagi anda yang mencari pengalaman judi slot paling seru dan mendebarkan, situs bo SLOT Galeri555 terbaik 2024 adalah pilihan yang tepat. Jelajahi dunia slot online melalui situs SLOT Galeri555 di link SLOT Galeri555.
    • 🤑DAFTAR & LOGIN🤑 🤑DAFTAR & LOGIN🤑 🤑DAFTAR & LOGIN🤑 Daftar Slot Kocok303 adalah bocoran slot rekomendasi gacor dari Kocok303 yang bisa anda temukan di SLOT Kocok303. Situs SLOT Kocok303 hari ini yang kami bagikan di sini adalah yang terbaik dan bersiaplah untuk mengalami sensasi tak terlupakan dalam permainan slot online. Temukan game SLOT Kocok303 terbaik dengan 100 pilihan provider ternama yang dipercaya akan memberikan kepuasan dan kemenangan hari ini untuk meraih x500. RTP SLOT Kocok303 merupakan SLOT Kocok303 hari ini yang telah menjadi pilihan utama bagi pemain judi online di seluruh Indonesia. Setiap harinya jutaan pemain memasuki dunia maya untuk memperoleh hiburan seru dan kemenangan besar dalam bermain slot dengan adanya bocoran RTP SLOT Kocok303. Tidak ada yang lebih menyenangkan daripada mengungguli mesin slot dan meraih jackpot x500 yang menggiurkan di situs SLOT Kocok303 hari ini yang telah disediakan SLOT Kocok303. Menangkan jackpot besar x500 rajanya maxwin dari segala slot dan raih kemenangan spektakuler di situs Kocok303 terbaik 2024 adalah tempat yang menyediakan mesin slot dengan peluang kemenangan lebih tinggi daripada situs slot lainnya. Bagi anda yang mencari pengalaman judi slot paling seru dan mendebarkan, situs bo SLOT Kocok303 terbaik 2024 adalah pilihan yang tepat. Jelajahi dunia slot online melalui situs SLOT Kocok303 di link SLOT Kocok303.
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.