Posted January 1, 201411 yr After watching multiple outdated videos on making blocks, I managed to get myself and un-textured unnamed block. When I try using the updated format, it crashes with NullPointerException (I know what that means) despite the fact that almost nothing changed. I was wondering if someone could tell me the proper way to have the "int id, int texture, Material" thing in 1.6.4. I presume this isn't too complicatated, but is yet too much for a noob like me Thank you
January 1, 201411 yr Author http://pastebin.com/BaZaZ6yS Beware, code for all of my files are present in this paste bin! Thank you
January 2, 201411 yr public class BlockCompressedCobblestone extends Block{ public BlockCompressedCobblestone(int id, Material par2Material) { super(id, par2Material); this.setCreativeTab(furniturecraft.FCTab); } @SideOnly(Side.CLIENT) public void registerIcons(IconRegister icon){ this.blockIcon = icon.registerIcon(furniturecraft.modid + ":" + "CompressedCobblestone"); } } That is my block code for my mod, and it is 1.6.4, and... public Block setBlockName(String string) { // TODO Auto-generated method stub return null; } ...indeed, it should not be there. Did I help? Gimme a thanks!
January 2, 201411 yr This is for 1.6.4? Then, first off... public void gameRegisters(){ GameRegistry.registerBlock(snowstormBlock);} public void LanguageRegistry(){ LanguageRegistry.addName(snowstormBlock, "Blanket"); } First, get rid of the "public void LanguageRegistry", "public void gameRegistry", "gameRegisters();", and the "languageRegisters();" but keep the "LanguageRegistry.addName(snowstormBlock, "Blanket");" and the "GameRegistry.registerBlock(snowstormBlock);" there. Second, also in your main class file, "@Init" should be "@EventHandler" And third... public BlockSnowstormBlock(int id, int texture, Material mat) { super(texture, Material.cloth); this.setCreativeTab(CreativeTabs.tabBlock); Change that to... public BlockSnowstormBlock(int id, int texture, Material mat) { super(id, texture, Material.cloth); this.setCreativeTab(CreativeTabs.tabBlock); Hope I helped Did I help? Gimme a thanks!
January 2, 201411 yr Author Thanks! That solved soooooo many problems! But when I run it it, it crashes Error: http://pastebin.com/A7iyurLx
January 2, 201411 yr That is weird. I'm sorry for asking for so much, but could I see your current code? Sorry if I'm being a pain, and thanks for your patience. Did I help? Gimme a thanks!
January 2, 201411 yr I figured it out(I hope)! Change this... public BlockSnowstormBlock(int id, int texture, Material mat) { super(id, texture, Material.cloth); this.setCreativeTab(CreativeTabs.tabBlock); To this! public BlockSnowstormBlock(int id, int texture, Material mat) { super(id, texture, mat); this.setCreativeTab(CreativeTabs.tabBlock); That should fix it... EDIT: Wait, you should remove the "int texture" and the "texture" inside the "super(id, texture, mat);" Should be like public BlockSnowstormBlock(int id, Material mat) { super(id, mat); this.setCreativeTab(CreativeTabs.tabBlock); You can register textures like @SideOnly(Side.CLIENT) public void registerIcons(IconRegister icon){ this.blockIcon = icon.registerIcon(YourModHere.modid + ":" + "YourBlocksTextureFileNameHere"); } Did I help? Gimme a thanks!
January 2, 201411 yr Author We're getting there! It's now calling on small mistakes! Error: http://pastebin.com/1frivVqX Updated code: http://pastebin.com/eBBhVqZK Don't worry about being "a pain" I literally have just about nothing to do this week!
January 2, 201411 yr Lets see... you do have a problem here... public void registerIcons(IconRegister icon);{ Remove the ";" And if THAT doesn't work, then I think I know why. I am familiar with forge 916, which is what I use, but you are using 953. EDIT: Almost forgot, public static final String modid = "Snowstorm"; Put that in your main mod file. Also in your main mod file, Block snowstormBlock; Should be public static Block snowstormBlock; But once again, we are using different forge versions, so I am unsure Did I help? Gimme a thanks!
January 3, 201411 yr Author So, after applying your suggestions, I fooled around with the code, and got it down to one problem. Error: Caused by: java.lang.Error: Unresolved compilation problems: 2014-01-03 11:06:22 [iNFO] [sTDOUT] Syntax error on token "registerIcon", VariableDeclarator expected after this token 2014-01-03 11:06:22 [iNFO] [sTDOUT] registerIcon cannot be resolved to a type 2014-01-03 11:06:22 [iNFO] [sTDOUT] Illegal modifier for parameter $missing$; only final is permitted 2014-01-03 11:06:22 [iNFO] [sTDOUT] Changed Code: package snowstorm; import cpw.mods.fml.common.Mod.Init; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.util.Icon; import snowstorm.Snowstorm; import snowstorm.ClientProxySnowstorm; public class BlockSnowstormBlock<registerIcons> extends Block{ public BlockSnowstormBlock(int id, Material mat) { super(id, mat); this.setCreativeTab(CreativeTabs.tabBlock); public registerIcon;IconRegister icon;{ this.blockIcon = icon.registerIcon("Snowstorm:blanket"); } } } Thanks!
January 3, 201411 yr public registerIcon;IconRegister icon;{ this.blockIcon = icon.registerIcon("Snowstorm:blanket"); @Override public void registerIcons(IconRegister icon) { this.blockIcon = icon.registerIcon("snowstorm:blanket"); } Should have come up with an error in eclipse...
January 3, 201411 yr Author public registerIcon;IconRegister icon;{ this.blockIcon = icon.registerIcon("Snowstorm:blanket"); Should have come up with an error in eclipse... It did. It still didn't work
January 3, 201411 yr The following should work public class BlockSnowstormBlock extends Block{ public BlockSnowstormBlock(int id, Material mat) { super(id, mat); this.setCreativeTab(CreativeTabs.tabBlock); } public registerIcon (IconRegister icon){ this.blockIcon = icon.registerIcon("Snowstorm:blanket"); } }
January 4, 201411 yr Change your registers to: GameRegistry.registerBlock(snowstormBlock, "snowstormBlock"); LanguageRegistry.addName(snowstormBlock, "Blanket"); You should also give the block a unlocalized name public BlockSnowstormBlock(int id, Material mat) { super(id, mat); this.setCreativeTab(CreativeTabs.tabBlock); this.setUnlocalizedName("snowtormBlock"); }
January 4, 201411 yr Change your registers to: GameRegistry.registerBlock(snowstormBlock, "snowstormBlock"); LanguageRegistry.addName(snowstormBlock, "Blanket"); You should also give the block a unlocalized name public BlockSnowstormBlock(int id, Material mat) { super(id, mat); this.setCreativeTab(CreativeTabs.tabBlock); this.setUnlocalizedName("snowtormBlock"); } Yeah, that should work... But if it doesn't, then idk the problem. Did I help? Gimme a thanks!
January 5, 201411 yr Author Change your registers to: GameRegistry.registerBlock(snowstormBlock, "snowstormBlock"); LanguageRegistry.addName(snowstormBlock, "Blanket"); You should also give the block a unlocalized name public BlockSnowstormBlock(int id, Material mat) { super(id, mat); this.setCreativeTab(CreativeTabs.tabBlock); this.setUnlocalizedName("snowtormBlock"); } Haha!!! It works!!! One last thing, though, is that it doesn't show up in the creative menu, I have to use /give Player*** 500. Thank you sooooooooo much for all of everyone's support! Current code: package snowstorm; import cpw.mods.fml.common.Mod.Init; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.LanguageRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.util.Icon; import snowstorm.Snowstorm; import snowstorm.ClientProxySnowstorm; @BlockSnowstormBlock({id, Material, { this,(id. mat) this.setCreativeTab(CreativeTabs.tabBlock) this.setUnlocalizedName("blanket") public class BlockSnowstormBlock (IconRegister) thisblockIcon =icon.registerIcon("Snowstorm:blanket")
January 5, 201411 yr Author Never mind, I figured it out!!! It works!!! Thank you sooooo much to everyone, for every post helped me out. I cannot stress how important this is to me! This probably won't be the last you hear of me (hopefully in a good way!). Thank you!!!
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.