SamboyCoding Posted December 14, 2015 Share Posted December 14, 2015 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); } } } } } Quote Link to comment Share on other sites More sharing options...
larsgerrits Posted December 14, 2015 Share Posted December 14, 2015 From where are you calling the clearArea method? It seems like you are calling the method on the client-side only. Quote 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 More sharing options...
SamboyCoding Posted December 14, 2015 Author Share Posted December 14, 2015 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. Quote Link to comment Share on other sites More sharing options...
SamboyCoding Posted December 14, 2015 Author Share Posted December 14, 2015 The issue is this (look very closely): world.setBlockToAir(currentX, currentY, currentY); I'm sorry, I don't see your point here. Quote Link to comment Share on other sites More sharing options...
SamboyCoding Posted December 14, 2015 Author Share Posted December 14, 2015 The issue is this (look very closely): world.setBlockToAir(currentX, currentY, currentY); I'm sorry, I don't see your point here. Oh... Oh! Whoops. Thanks a lot, you just saved me a lot of headaches! Quote Link to comment Share on other sites More sharing options...
larsgerrits Posted December 14, 2015 Share Posted December 14, 2015 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... Quote 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 More sharing options...
SamboyCoding Posted December 14, 2015 Author Share Posted December 14, 2015 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 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.