Melonize Posted June 30, 2013 Share Posted June 30, 2013 How do I have use mulitple textures for one item such as a compass or clock. I tried searching through the tutorials in the wiki but I couldn't find anything (I might be wrong, I don't spot things easily.). I've took a look in the TextureCompass.java but I had some issue trying to find what I wanted. Scenario: I'm currently making a sword which I want to switch textures when the player right clicks. Any ideas? Quote Link to comment Share on other sites More sharing options...
decebaldecebal Posted June 30, 2013 Share Posted June 30, 2013 For that you just need to check when the player right clicks, store that state in a boolean, so when he right clicks one time, the boolean is true, and the second time it is false, then just put check for the variable if it is true in the registerIcons() function, and set a new texture based on the state of the variable. Quote Link to comment Share on other sites More sharing options...
Melonize Posted July 1, 2013 Author Share Posted July 1, 2013 I seem to be getting a null somewhere, as the game crashes. I clearly don't know where the problem is or if I'm even doing it right. public boolean isSwitched = false; public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer){ if(isSwitched){ isSwitched = false; } else{ isSwitched = true; } par3EntityPlayer.setItemInUse(par1ItemStack, this.getMaxItemUseDuration(par1ItemStack)); return par1ItemStack; } public void registerIcon(IconRegister par1IconRegister){ if(isSwitched){ this.itemIcon = par1IconRegister.registerIcon("shadowRapier2"); } else { this.itemIcon = par1IconRegister.registerIcon("shadowRapier1"); } } Quote Link to comment Share on other sites More sharing options...
Draco18s Posted July 1, 2013 Share Posted July 1, 2013 public void registerIcon(IconRegister par1IconRegister){ if(isSwitched){ this.itemIcon = par1IconRegister.registerIcon("shadowRapier2"); } else { this.itemIcon = par1IconRegister.registerIcon("shadowRapier1"); } } You're doing this wrong. You need to register BOTH icons at the same time as the registerIcon function is called ONCE. Quote Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given. Link to comment Share on other sites More sharing options...
Melonize Posted July 1, 2013 Author Share Posted July 1, 2013 What would I need to call/do to swap textures? Quote Link to comment Share on other sites More sharing options...
Draco18s Posted July 1, 2013 Share Posted July 1, 2013 Override public Icon getIconFromDamage(int par1) Quote Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given. Link to comment Share on other sites More sharing options...
Recommended Posts
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.