1BowTiesAreCool1 Posted April 17, 2017 Posted April 17, 2017 Implicit super constructor ItemTool() is undefined for default constructor. Must define an explicit constructor This error pops up in this code: public class ItemStrangeTool extends ItemTool { protected ItemStrangeTool(float attackDamageIn, float attackSpeedIn, ToolMaterial materialIn, Set<Block> effectiveBlocksIn) { super(attackDamageIn, attackSpeedIn, materialIn, effectiveBlocksIn); } } How do I fix this? Quote
1BowTiesAreCool1 Posted April 17, 2017 Author Posted April 17, 2017 It highlights it when I click the error icon Quote
1BowTiesAreCool1 Posted April 17, 2017 Author Posted April 17, 2017 But it doesn't, I had the same problem with another item and solved it, but I don't remember how Quote
jeffryfisher Posted April 17, 2017 Posted April 17, 2017 Where is your 'new' expression, where you try to create an instance? Did you supply arguments? 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.
jeffryfisher Posted April 19, 2017 Posted April 19, 2017 On 4/19/2017 at 5:55 PM, 1BowTiesAreCool1 said: I don't know... Expand What's your XP level writing Java? Using other O-O languages? 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.
1BowTiesAreCool1 Posted April 19, 2017 Author Posted April 19, 2017 (edited) The error switches sources between ModItems(my class for the initialization of items) and ItemStrangeTool Edited April 19, 2017 by 1BowTiesAreCool1 Quote
1BowTiesAreCool1 Posted April 20, 2017 Author Posted April 20, 2017 package bowtiesarecool.coulored_lights.init; import bowtiesarecool.coulored_lights.items.ItemStrangeDust; import bowtiesarecool.coulored_lights.items.ItemStrangeTool; import bowtiesarecool.coulored_lights.items.ItemWork; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.block.model.ModelResourceLocation; import net.minecraft.item.Item; import net.minecraftforge.fml.common.registry.GameRegistry; public class ModItems { public static Item work; public static Item strange_dust; public static Item strange_tool; public static void Init(){ work = new ItemWork(); strange_dust = new ItemStrangeDust(); strange_tool = new ItemStrangeTool(); } public static void register() { GameRegistry.register(work); GameRegistry.register(strange_dust); GameRegistry.register(strange_tool); } public static void registerRenders() { registerRender(work); registerRender(strange_dust); registerRender(strange_tool); } private static void registerRender(Item item) { Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(item, 0, new ModelResourceLocation(item.getRegistryName(), "inventory")); } } The error occurs in strange_tool = new ItemStrangeTool(); Quote
CorbinTheIntern Posted April 20, 2017 Posted April 20, 2017 You're getting an error because you're missing an argument in the statement new ItemStrangeTool(). You have to pass it a float, a float, a ToolMaterial, and a Set<Block>. Is ItemStrangeTool supposed to be a multitool? Quote
Bektor Posted April 20, 2017 Posted April 20, 2017 On 4/20/2017 at 5:30 PM, 1BowTiesAreCool1 said: private static void registerRender(Item item) { Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(item, 0, new ModelResourceLocation(item.getRegistryName(), "inventory")); } Expand I would suggest to add this little line of code above this method to ensure that it doesn't cause trouble on servers: @SideOnly(Side.CLIENT) Besides of that, I would really suggest you to learn Java as diesieben07 already told you. It will really help you with modding. Quote Developer of Primeval Forest.
jeffryfisher Posted April 20, 2017 Posted April 20, 2017 On 4/19/2017 at 7:57 PM, 1BowTiesAreCool1 said: None, I'm completely new Expand Aha... Forge modding is a bad place to cut your programming milk teeth. That and this forum assumes Java proficiency so it can focus on the idiosyncrasies of Forge and Minecraft (which is plenty). Please take at least one formal programming class that teaches an object-oriented language, and then study Java (e.g. read a book). You can do both at once if you can find a Java class. When you come back in a few months, keep an online Java reference bookmark handy, and consult it on every mystery error before posting here. 1 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.
1BowTiesAreCool1 Posted April 20, 2017 Author Posted April 20, 2017 I'm only in eight grade so there are no classes I can take Quote
Jay Avery Posted April 20, 2017 Posted April 20, 2017 You can learn plenty without formal classes. The important point is to learn about Java generally, before you'll be able to really get far with modding. Quote
jeffryfisher Posted April 21, 2017 Posted April 21, 2017 On 4/20/2017 at 7:11 PM, 1BowTiesAreCool1 said: I'm only in eight grade so there are no classes I can take Expand Ah, but you're close. Talk to an advisor before the end of the year. You may discover that there are opportunities that are not widely advertised. Find out what your school (or next year's school, or summer programs) can do for you. 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.
1BowTiesAreCool1 Posted April 21, 2017 Author Posted April 21, 2017 My school can't do anything, so that's a downside. And I haven't heard about any kind of summer programs in my town, only summer school, which doesn't offer any programming as far as I know. I also begin in gymnasium(the swedish version of high school) in tenth grade. I'd love to learn it now and not wait until gymnasium. Quote
jeffryfisher Posted April 21, 2017 Posted April 21, 2017 (edited) In that case, team up with someone (friend, family member, friend's older sibling...) who has some programming experience. The help you need is more comprehensive and foundational than this forum's focus. In other words, you're missing a prerequisite for this course. Edited April 21, 2017 by jeffryfisher 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.
Bektor Posted April 21, 2017 Posted April 21, 2017 On 4/21/2017 at 3:27 PM, 1BowTiesAreCool1 said: My school can't do anything, so that's a downside. And I haven't heard about any kind of summer programs in my town, only summer school, which doesn't offer any programming as far as I know. I also begin in gymnasium(the swedish version of high school) in tenth grade. I'd love to learn it now and not wait until gymnasium. Expand If you want to learn it now and don't have any one to teach it to you etc., I would recommend you reading books and watching videos (if you can find some good videos). But even then, it takes a lot of time and research over the internet and self-training (and takes probably longer than with a good teacher). Book I learned with: Reveal hidden contents If you know German (if you have luck, some of these books might be available in other languages, too) The book I learned Java with + a lot of research and training and asking on forums if the code is good etc. The book we are using sometimes in school which offers also some more general things and concepts etc. Besides of that, I've got also a few other books which I read or where I read parts of it. ^^ Quote Developer of Primeval Forest.
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.