salvestrom Posted April 8, 2017 Posted April 8, 2017 this was brought to my attention for the 1.11.2 version of my mod, but is present in the 1.9 and 1.10 version, too (but not the 1.7). the vanilla item written book, that is a book that has been signed, has a missing texture. there are no errors on load. the mod has a series of pre-written books, that use the book_written texture without issue. giving them their own texture did not resolve the issue. i'm not wholly sure what you guys are going to want to see code wise, but below is the item file. the setup of the file is very old - something i found online over two years ago. extending Item instead of ItemWrittenBook does nothing to resolve the issue. I gutted the book text for posting convenience. also note that this code is the 1.10 version so file names can still have capitals. Spoiler public class bookScale extends ItemWrittenBook { public static ItemStack eastScale; public static ItemStack westScale; public static ItemStack northScale; public static ItemStack southScale; public bookScale(Item item) { super(); this.setUnlocalizedName("bookScale"); this.setContainerItem(this); this.setCreativeTab(w2theJungle.JungleModTab); this.setHasSubtypes(true); } { { eastScale = new ItemStack(Items.WRITTEN_BOOK); eastScale.setItemDamage(367); NBTTagCompound tag = new NBTTagCompound(); eastScale.setTagCompound(tag); tag.setString("author", ("Salvestrom")); tag.setString("title", ("The Books of Scale: The Bringer")); NBTTagList bookPages = new NBTTagList(); tag.setTag("pages", bookPages); } { westScale = new ItemStack(Items.WRITTEN_BOOK); NBTTagCompound wtag = new NBTTagCompound(); westScale.setTagCompound(wtag); westScale.setItemDamage(368); NBTTagList westPages = new NBTTagList(); wtag.setTag("pages", westPages); wtag.setString("author", ("Salvestrom")); wtag.setString("title", ("The Books of Scale: The Taker")); } { northScale = new ItemStack(Items.WRITTEN_BOOK); NBTTagCompound ntag = new NBTTagCompound(); northScale.setTagCompound(ntag); northScale.setItemDamage(369); ntag.setString("author", ("Salvestrom")); ntag.setString("title", ("The Books of Scale: The Shield")); NBTTagList northPages = new NBTTagList(); ntag.setTag("pages", northPages); } { southScale = new ItemStack(Items.WRITTEN_BOOK); NBTTagCompound stag = new NBTTagCompound(); southScale.setTagCompound(stag); southScale.setItemDamage(370); NBTTagList southPages = new NBTTagList(); stag.setTag("pages", southPages); stag.setString("author", ("Salvestrom")); stag.setString("title", ("The Books of Scale: The Sword")); } } @SuppressWarnings({"rawtypes", "unchecked"}) @Override @SideOnly(Side.CLIENT) public void getSubItems(Item i, CreativeTabs c, List<ItemStack> list) { list.add(bookScale.eastScale); list.add(bookScale.westScale); list.add(bookScale.northScale); list.add(bookScale.southScale); } } to my untrained eyes, nothing stands out from the render registering that should prevent the game from using a vanilla texture for a vanilla item. again, i stress, there is no issue with rendering my mod item, but something in my code is preventing minecraft from applying a vanilla texture to the vanilla written book. Spoiler this is from the render registry file: registerRender(JungleItems.bookScales); registerRenderWithMeta("east_scale", bookScale.eastScale.getMetadata(), bookScale.eastScale.getItem()); registerRenderWithMeta("west_scale", bookScale.westScale.getMetadata(), bookScale.westScale.getItem()); registerRenderWithMeta("north_scale", bookScale.northScale.getMetadata(), bookScale.northScale.getItem()); registerRenderWithMeta("south_scale", bookScale.southScale.getMetadata(), bookScale.southScale.getItem()); @SideOnly(Side.CLIENT) public static void registerRenderWithMeta(String string, int i, Item item) { ModelLoader.setCustomModelResourceLocation(item, i, new ModelResourceLocation(References.MODID + ":" + string, "inventory")); } Quote
jeffryfisher Posted April 10, 2017 Posted April 10, 2017 If a texture is missing, then there should be a warning on load, but it may only show in the log file, not console output. Post the client log file (not console output) and JSON files. Also: Clearly describe what you expected to see and what you actually saw (a pic might be helpful). Quote The debugger is a powerful and necessary tool in any IDE, so learn how to use it. You'll be able to tell us more and get better help here if you investigate your runtime problems in the debugger before posting.
salvestrom Posted April 10, 2017 Author Posted April 10, 2017 I looked over the client log. there's nothing about a missing texture. but then, i don't think the texture is missing, exactly. let me explain again: if you use the vanilla edittable book, sign it to create a written book, that item has a missing texture. i know that there's something in my mod thats causing this - the issue is in 3 seperate minecraft versions and a new mod i started doesn't have this issue. my mod has 4 pre-written books which all work and have textures, but somwhere in this code its causing the vanilla written books to appear textureless. Quote
Leomelonseeds Posted April 11, 2017 Posted April 11, 2017 (edited) Might this be a particle glitch? Edited April 11, 2017 by Leomelonseeds Quote Apparently I'm addicted to these forums and can't help but read all the posts. So if I somehow help you, please click the "Like This" button, it helps.
jeffryfisher Posted April 11, 2017 Posted April 11, 2017 20 hours ago, salvestrom said: i know that there's something in my mod thats causing this In that case, you'll need to set a breakpoint in the vanilla renderer and step through until you spot the interference. 20 hours ago, salvestrom said: somwhere in this code its causing the vanilla written books to appear textureless BTW, What does that even mean? You still haven't given us a pic, so we don't know what you are seeing. "Textureless" has no meaning. Are you seeing the purple and black checker pattern (the "missing" texture)? Or are you seeing something else (e.g. plain unwritten book, or untextured model polygons)? Get yourself into the debugger to find out what's happening. Quote The debugger is a powerful and necessary tool in any IDE, so learn how to use it. You'll be able to tell us more and get better help here if you investigate your runtime problems in the debugger before posting.
salvestrom Posted April 13, 2017 Author Posted April 13, 2017 i referred to it as a missing texture several times. calling it the missing texture texture, or "missing" texture seemed superfluous anyway, yes, black and purple. so, this is from my op: registerRender(JungleItems.bookScales); registerRenderWithMeta("east_scale", bookScale.eastScale.getMetadata(), bookScale.eastScale.getItem()); registerRenderWithMeta("west_scale", bookScale.westScale.getMetadata(), bookScale.westScale.getItem()); registerRenderWithMeta("north_scale", bookScale.northScale.getMetadata(), bookScale.northScale.getItem()); registerRenderWithMeta("south_scale", bookScale.southScale.getMetadata(), bookScale.southScale.getItem()); the above is part of the cause. bookscale.eastscale.getitem is actually returning the vanilla item item.written_book. if i change it to: registerRenderWithMeta("east_scale", bookScale.eastScale.getMetadata(), JungleItems.bookScales); registerRenderWithMeta("west_scale", bookScale.westScale.getMetadata(), JungleItems.bookScales); registerRenderWithMeta("north_scale", bookScale.northScale.getMetadata(), JungleItems.bookScales); registerRenderWithMeta("south_scale", bookScale.southScale.getMetadata(), JungleItems.bookScales); then the vanilla written books get their textures back. however, the mod books lose theirs. i'm wondering if i need to split the bookscale class into 4 seperate classes for each book. but then, if that was going to work i would expect the south-scale, ie, the last book registered to have its texture, which it doesn't.. Quote
salvestrom Posted April 16, 2017 Author Posted April 16, 2017 (edited) On 4/14/2017 at 9:55 AM, diesieben07 said: Debugging this with just snippets of code is difficult. Please post a working Git repo of your mod. As requested: https://github.com/salvestrom/thejungle This link is for 1.10.2 code. the issue exists in 3 different versions. One solution should correct them all. You will find that the method for adding subtypes to the bookScale item class and the itemrender class where the books get added have multiple variations, none of which have worked. the best result is still the original version in the op. I'm not sure there's anyway around it. Edited April 16, 2017 by salvestrom add: Quote
salvestrom Posted April 17, 2017 Author Posted April 17, 2017 5 hours ago, diesieben07 said: Your repository is broken. There is no build.gradle and all your resources are missing. sorry. never done a github before and butchered it pretty badly. i think this is what you're after: https://github.com/salvestrom/Meincraft-1.10.2/ Quote
xXWitherBossXx Posted April 17, 2017 Posted April 17, 2017 It appears to me, but correct me if I am wrong, that you have no different textures for each scale book. You have the default texture, but you may need to have a separate png file for each different render instance. At least that is how I would attempt to solve it. Quote
xXWitherBossXx Posted April 17, 2017 Posted April 17, 2017 (edited) Oh and the reference to the folder with the textures is skipping over a folder, check your json Maybe move your items folder with the textures in it up a level? Edited April 17, 2017 by xXWitherBossXx Suggestion Quote
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.