Jump to content

[1.7.10] I can't set Metadata in server.


zlappedx3

Recommended Posts

I can't set Metadata in server in block crops

 

is block

@Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int t, float fx, float fy, float fz)
{
	Random ran = new Random();
	TileEntityCrops ted = (TileEntityCrops) world.getTileEntity(x, y, z);
	int l = world.getBlockMetadata(x, y, z);

	if(ted.username == player.getCommandSenderName() && l == 7){
		world.setBlockMetadataWithNotify(x, y, z, l -7, 2);
		world.setTileEntity(x, y, z, new TileEntityCrops());
		System.out.println(l);
		this.updateTick(world, x, y, z, ran);
		return true;
	}else{
		System.out.println(l);
		return false;
	}
}

 

is tile

public static String username;

public void processActivate(EntityPlayer player, World world) {
	username = player.getCommandSenderName();
	world.setTileEntity(this.xCoord, this.yCoord, this.zCoord, this);
}

Link to comment
Share on other sites

1. You should NEVER call World#setTileEntity yourself - this is done automatically by Minecraft when a block with a TE is placed

 

2. Don't compare String with the '==' operator; use #equals instead

ted.username.equals(player.getCommandSenderName())
instead of
ted.username == player.getCommandSenderName()

 

3. If your TE #username field can be NULL, you'll want to either check that first or swap the order in #2

 

4. You probably don't want your TE's #username field to be static - that means every TE will have the same player name, all the time

 

5. Don't create a new Random every time the Block is activated - the World object already has a Random instance, as does Block. Use one of those instead, OR, if you really want a new Random, add it as a class field.

Link to comment
Share on other sites

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.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

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