Jump to content

onBlockDestroyed


Alix_The_Alicorn

Recommended Posts

You mean

 

public boolean onBlockDestroyed(ItemStack par1ItemStack, World par2World, int blockID, int par4, int par5, int par6, EntityLivingBase par7EntityLivingBase){}

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

So...what about it?

What is insufficient?

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

...put it in that function?

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

ok. but since it is boolean what do I need to return?

 

A...boolean...

 

True if the block is allowed to be destroyed, false otherwise.

 

If you don't know what you want it to do, specifically, you can always run your code and then do return super.onBlockDestroyed(...)

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

Hi Alix

 

If you are not sure what the parameters for a particular function are, the fastest way to find out is to look through vanilla code which uses the parameters and trace through until you either reach something you know or which has comments.

 

For example:

onBlockDestroyed(ItemStack par1ItemStack, World par2World, int par3, int par4, int par5, int par6, EntityLivingBase par7EntityLivingBase)

 

If you look in ItemShears.onBlockDestroyed, you see this...

 

par3 != Block.leaves.blockID

 

This tells you that par3 is the blockID.

 

In ItemSword.onBlockDestroyed, you see

 

Block.blocksList[par3].getBlockHardness(par2World, par4, par5, par6)

 

If you then go into Block.getBlockHardness, you see in the comments

    /**

    * Returns the block hardness at a location. Args: world, x, y, z

    */

so par4, par5, par6 are x,y,z

 

-TGG

 

 

 

 

Link to comment
Share on other sites

You don't need the player or the player's inventory.  The item they're using is already being passed to the function.

 

(And adding another parameter is not Magic, it won't make that reference suddenly show up)

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

Thanks guys a lot. here is my final method if anyone wants it.

@Override
public boolean onBlockDestroyed(ItemStack par1ItemStack, World par2World, int blockID, int par4, int par5, int par6, EntityLivingBase par7EntityLivingBase)
{

	final int x = 1;
	final int y = Reference.chiselBreakTime;
	int rand = new Random().nextInt(y-x) + x;

	if(rand == 2 && par1ItemStack.getItemDamage() == 0)
	{
		par1ItemStack.setItemDamage(1);
	}

	return false;
}

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.