Jump to content

[SOLVED] Problem with world.setBlockToAir


SamboyCoding

Recommended Posts

I've been trying to get a custom structure to generate (I know I'm doing it a bit of a weird way), and I'm trying to clear the area before generating. The method is below. The problem is, although it logs the message saying the block(s) has been destroyed, it's still there when I visit that location. Any help?

 

public void clearArea(World world, int x1, int y1, int z1, int x2, int y2, int z2)
{
	if (!world.isRemote)
	{
		if (x1 > x2 || y1 > y2 || z1 > z2)
		{
			return;
		}
		for (int currentX = x1; currentX <= x2; currentX++)
		{
			for (int currentY = y1; currentY <= y2; currentY++)
			{
				for (int currentZ = z1; currentZ <= z2; currentZ++)
				{
					world.setBlockToAir(currentX, currentY, currentY);
					InfernoCore.log.logInfo("Clearing Block In dimension " + world.provider.dimensionId + "at X:" + currentX + " Y:" + currentY + " Z:" + currentZ);
					world.markBlockForUpdate(currentX, currentY, currentZ);
				}
			}
		}
	}
}

Link to comment
Share on other sites

From where are you calling the

clearArea

method? It seems like you are calling the method on the client-side only.

Don't PM me with questions. They will be ignored! Make a thread on the appropriate board for support.

 

1.12 -> 1.13 primer by williewillus.

 

1.7.10 and older versions of Minecraft are no longer supported due to it's age! Update to the latest version for support.

 

http://www.howoldisminecraft1710.today/

Link to comment
Share on other sites

It's being called from a SubscribeEvent of PopulateChunkEvent.Post, only if the dimension and chunk coords match dimension Id 666 (mine) and the chunk is 0,0. It is logging though, and the log statement is inside the check for server side so... I don't have the exact code on me right now, but I should in about 24 hours if you want to see.

Link to comment
Share on other sites

It seems like you are calling the method on the client-side only.

Then there wouldn't be any log messages, since the method checks world.isRemote == false.

Totally missed that... I should go to bed to rest, as I won't be of much help when I'm tired like this...

Don't PM me with questions. They will be ignored! Make a thread on the appropriate board for support.

 

1.12 -> 1.13 primer by williewillus.

 

1.7.10 and older versions of Minecraft are no longer supported due to it's age! Update to the latest version for support.

 

http://www.howoldisminecraft1710.today/

Link to comment
Share on other sites

It seems like you are calling the method on the client-side only.

Then there wouldn't be any log messages, since the method checks world.isRemote == false.

Totally missed that... I should go to bed to rest, as I won't be of much help when I'm tired like this...

 

It's all right - I'm clearly tired too if I'm missing that

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.