Jump to content

Recommended Posts

Posted

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.

Posted

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.

Posted

...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.

Posted

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.

Posted

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

 

 

 

 

Posted

I'm assuming I need to @Override it. To do what I need to do, I need an instance of entity player

(EntityPlayer par8EntityPlayer)

added to the boolean method. Is there another way to edit players inventory? I'm trying to set item damage to 1 if  a random integer == 1.

Posted

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.

Posted

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;
}

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.