Posted April 27, 201411 yr Hey, I created my own sword. If you know it from vanilla, you can't destroy blocks with e.g. a diamond sword. I couldn't find any code from vanilla which avoids this. Anyone knows?
April 27, 201411 yr If your Item extends ItemSword, it should not harvest blocks anyway (except for webs), but if it doesn't extend ItemSword, you need to override canHarvestBlock, which still has the obfuscated name in 1.7.2. From ItemSword: public boolean func_150897_b(Block p_150897_1_) { return p_150897_1_ == Blocks.web; } Just add that to your Item class and bam, done, no need for events. http://i.imgur.com/NdrFdld.png[/img]
April 27, 201411 yr Author If your Item extends ItemSword, it should not harvest blocks anyway (except for webs), but if it doesn't extend ItemSword, you need to override canHarvestBlock, which still has the obfuscated name in 1.7.2. From ItemSword: public boolean func_150897_b(Block p_150897_1_) { return p_150897_1_ == Blocks.web; } Just add that to your Item class and bam, done, no need for events. I added it and it wasn't working..
April 27, 201411 yr If your Item extends ItemSword, it should not harvest blocks anyway (except for webs), but if it doesn't extend ItemSword, you need to override canHarvestBlock, which still has the obfuscated name in 1.7.2. From ItemSword: public boolean func_150897_b(Block p_150897_1_) { return p_150897_1_ == Blocks.web; } Just add that to your Item class and bam, done, no need for events. I added it and it wasn't working.. I should have specified, that code is for harvesting blocks, as in blocks you break with your sword will not drop items (except for webs). If your item is not an ItemSword, it will still be able to break blocks in Creative Mode, but even the vanilla swords can break some blocks in survival. Why don't you just extend ItemSword and make your life easier? http://i.imgur.com/NdrFdld.png[/img]
April 27, 201411 yr Author Because I'm using my own Enum for the tools.. I can't extend ItemSword because it would give me an error
April 27, 201411 yr Because I'm using my own Enum for the tools.. I can't extend ItemSword because it would give me an error You can extend ItemSword, even if you want to use your own enum. Forge has there own ToolMaterial Enum handler for tools. Example: static ToolMaterial NAME = EnumHelper.addToolMaterial("NAME", int par1, int par2, float par3, float par4, int par5); par1- Harvest Level par2- Max Uses par3- Efficiency on Proper Material par4- Damage VS Entity par5- Enchantability
April 27, 201411 yr Author I'll try it. How do I have to call it? Vanilla does this with Item.ToolMaterial
April 27, 201411 yr What do you mean by calling it? You can put that in your main class and use that Enum for registration.
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.