Posted February 6, 20196 yr Hey, I have a custom tnt explosion and I was able to make it destroy a sphere, but I wanted to to only destroy the bottom half of the sphere and then expand from there on up. Here is my code, @Override public void doExplosionA() { Set<BlockPos> set = Sets.<BlockPos>newHashSet(); Set<IBlockState> states = Sets.<IBlockState>newHashSet(); int blocksDestroyed = 0; int radius = this.size; for (int j = -radius; j < radius; j ++) { for (int k = -radius; k < radius; k ++) { for (int l = -radius; l < radius; l ++) { double distSq = j * j + k * k + l * l; if(distSq <= (radius * radius)) { if(k > 0) { continue; } BlockPos pos = new BlockPos(x + j, y + k, z + l); if(world.getBlockState (pos) != Blocks.BEDROCK.getDefaultState()){ if(world.getBlockState(pos) != Blocks.AIR.getDefaultState()) { world.setBlockToAir(pos); blocksDestroyed++; } } } } } } I have it stop destroying blocks half way up, because thats the point at which I want it to expand. Any help is appreciated, Thanks
February 6, 20196 yr You can either make a better loop, or increment your maxX and maxZ based on Y value Edited February 6, 20196 yr by Cadiboo About Me Spoiler My Discord - Cadiboo#8887 My Website - Cadiboo.github.io My Mods - Cadiboo.github.io/projects My Tutorials - Cadiboo.github.io/tutorials Versions below 1.14.4 are no longer supported on this forum. Use the latest version to receive support. When asking support remember to include all relevant log files (logs are found in .minecraft/logs/), code if applicable and screenshots if possible. Only download mods from trusted sites like CurseForge (minecraft.curseforge.com). A list of bad sites can be found here, with more information available at stopmodreposts.org Edit your own signature at www.minecraftforge.net/forum/settings/signature/ (Make sure to check its compatibility with the Dark Theme)
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.