diff --git a/README.md b/README.md
index cfaf62557..0f4d070ea 100644
--- a/README.md
+++ b/README.md
@@ -97,6 +97,7 @@ This will return the lowest block placed with AutoMountain until AutoLavacast is
 -------------------------------------------------------------------------------------
 - **RedstoneNuker:** It's just the regular Nuker module from Meteor client, customized for only breaking things that generate redstone signals. Also with included AutoTool. To keep you safer when placing lots of TNT. (Credits to Meteor Client for Nuker code, and AutoTool code inthere.)
 - **ShulkerDupe:** Duplicates the contents of a shulker when pressing "Dupe" or "Dupe All" in the shulker menu. Only works on Vanilla, Forge, and Fabric servers 1.19 and below. Use multiconnect or viafabric (Credits to Allah-Hack, I just brought back the buttons, and make it dupe slot1 as well.)
+- **SuperInstaMine:** This SuperInstaMine originated from the Meteor Rejects Instamine. I added an option called "Break Modes (Range)" which allows you to break more than one block at a time with SuperInstaMine. This option works best against easy-breaking blocks. The option adjusts the positioning and range of the block breaking. (Credits to Meteor Rejects for the original code.) **ORIGINAL INSTAMINE FROM REJECTS WORKS BETTER THAN THIS ONE OVERALL, download meteor rejects for that!**
 - **Teleport:** Sets your position ontop of targeted block, within a possible reach of 64 blocks. Rarely can cause damage, be careful. ***EXPERIMENTAL*** (Credits to etianl :D)
 - **TPFly:** It is a purely setPos based flight. PointAndFly mode is based off the ClickTP and AirPlace code, credits to Meteor for that. ***EXPERIMENTAL, movement is a little weird lol.*** (Credits to etianl :D)
 - **TrailMaker:** Leaves blocks behind you in a trail. Has a place delay option to spread placement further apart. Select the blocks you want to use in the block list setting for it to work. (Credits to etianl :D)
@@ -113,8 +114,7 @@ This will return the lowest block placed with AutoMountain until AutoLavacast is
 - **AutoMountain Bugs** 
 - Some blocks may cause Automountain to attempt to build while not actually placing anything (Torches, walls, and doors did this until I fixed). If a block does not work please make an issue so I can correct it.
 - **More Bugs** 
-- BaseFinder can cause chunks to load a bit more slowly due to the immense amount of block checking it has to do.
-- NewerNewChunks can rarely boot you from the server when going through a nether portal. (something to do with newchunk loading for the dimension you are entering, I'm not entirely sure.)
+- NewerNewChunks can rarely boot you from the server when going back and forth through a nether portal. For example, it sometimes may boot you if you just came out of a portal then you re-enter it immediately after exiting.
 - .newchunkcount command shows exactly the chunks that are saved in chunk data, so when you are in normal mode or flowbelowY0 mode the returned values are not exactly in correlation to what is rendered on screen.
 - NewerNewChunks has to be turned on atleast once prior to running .newchunkcount for the counter to work even if you already have data in that world.
 
diff --git a/gradle.properties b/gradle.properties
index 48dc565bf..a063e1fb2 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -6,7 +6,7 @@ yarn_mappings=1.20.1+build.9
 loader_version=0.14.21
 
 # Mod Properties
-mod_version=0.6.1-1.20.1
+mod_version=0.6.2-1.20.1
 maven_group=pwn.noobs
 archives_base_name=1trouser-streak
 
diff --git a/src/main/java/pwn/noobs/trouserstreak/Trouser.java b/src/main/java/pwn/noobs/trouserstreak/Trouser.java
index d67b9cc01..1d52fdafc 100644
--- a/src/main/java/pwn/noobs/trouserstreak/Trouser.java
+++ b/src/main/java/pwn/noobs/trouserstreak/Trouser.java
@@ -39,6 +39,7 @@ public void onInitialize() {
         Modules.get().add(new AutoDrop());
         Modules.get().add(new AnHero());
         Modules.get().add(new RedstoneNuker());
+        Modules.get().add(new SuperInstaMine());
         Modules.get().add(new AirstrikePlus());
         Modules.get().add(new BoomPlus());
         Modules.get().add(new VoiderPlus());
diff --git a/src/main/java/pwn/noobs/trouserstreak/modules/NewerNewChunks.java b/src/main/java/pwn/noobs/trouserstreak/modules/NewerNewChunks.java
index 722d25a7f..ca370223f 100644
--- a/src/main/java/pwn/noobs/trouserstreak/modules/NewerNewChunks.java
+++ b/src/main/java/pwn/noobs/trouserstreak/modules/NewerNewChunks.java
@@ -337,6 +337,30 @@ private void onPreTick(TickEvent.Pre event) {
 		} else if (!load.get()){
 			loadingticks=0;
 		}
+			if (!Files.exists(Paths.get("NewChunks/"+serverip+"/"+world+"/OldChunkData.txt"))){
+				File file = new File("NewChunks/"+serverip+"/"+world+"/OldChunkData.txt");
+				try {
+					file.createNewFile();
+				} catch (IOException e) {}
+			}
+			if (!Files.exists(Paths.get("NewChunks/"+serverip+"/"+world+"/NewChunkData.txt"))){
+				File file = new File("NewChunks/"+serverip+"/"+world+"/NewChunkData.txt");
+				try {
+					file.createNewFile();
+				} catch (IOException e) {}
+			}
+			if (!Files.exists(Paths.get("NewChunks/"+serverip+"/"+world+"/FlowIsBelowY0ChunkData.txt"))){
+				File file = new File("NewChunks/"+serverip+"/"+world+"/FlowIsBelowY0ChunkData.txt");
+				try {
+					file.createNewFile();
+				} catch (IOException e) {}
+			}
+			if (!Files.exists(Paths.get("NewChunks/"+serverip+"/"+world+"/TickExploitChunkData.txt"))){
+				File file = new File("NewChunks/"+serverip+"/"+world+"/TickExploitChunkData.txt");
+				try {
+					file.createNewFile();
+				} catch (IOException e) {}
+			}
 		if (chunkcounter=true){
 			chunkcounterticks++;
 			if (chunkcounterticks>=1){
@@ -427,7 +451,7 @@ private void onRender(Render3DEvent event) {
 		if (newChunksLineColor.get().a > 5 || newChunksSideColor.get().a > 5) {
 			synchronized (newChunks) {
 				for (ChunkPos c : newChunks) {
-					if (mc.getCameraEntity().getBlockPos().isWithinDistance(c.getStartPos(), renderDistance.get()*16)) {
+					if (c != null && mc.getCameraEntity().getBlockPos().isWithinDistance(c.getStartPos(), renderDistance.get()*16)) {
 						render(new Box(c.getStartPos().add(0, renderHeight.get(), 0), c.getStartPos().add(16, renderHeight.get(), 16)), newChunksSideColor.get(), newChunksLineColor.get(), shapeMode.get(), event);
 					}
 				}
@@ -436,7 +460,7 @@ private void onRender(Render3DEvent event) {
 		if (olderoldChunksLineColor.get().a > 5 || olderoldChunksSideColor.get().a > 5) {
 			synchronized (olderoldChunks) {
 				for (ChunkPos c : olderoldChunks) {
-					if (mc.getCameraEntity().getBlockPos().isWithinDistance(c.getStartPos(), renderDistance.get()*16)) {
+					if (c != null && mc.getCameraEntity().getBlockPos().isWithinDistance(c.getStartPos(), renderDistance.get()*16)) {
 						if (detectmode.get()== DetectMode.Advanced) {
 							render(new Box(c.getStartPos().add(0, renderHeight.get(), 0), c.getStartPos().add(16, renderHeight.get(), 16)), olderoldChunksSideColor.get(), olderoldChunksLineColor.get(), shapeMode.get(), event);
 						} else if (detectmode.get()== DetectMode.Normal) {
@@ -451,7 +475,7 @@ private void onRender(Render3DEvent event) {
 		if (tickexploitChunksLineColor.get().a > 5 || tickexploitChunksSideColor.get().a > 5) {
 			synchronized (tickexploitChunks) {
 				for (ChunkPos c : tickexploitChunks) {
-					if (mc.getCameraEntity().getBlockPos().isWithinDistance(c.getStartPos(), renderDistance.get()*16)) {
+					if (c != null && mc.getCameraEntity().getBlockPos().isWithinDistance(c.getStartPos(), renderDistance.get()*16)) {
 						if (detectmode.get()== DetectMode.Advanced && tickexploit.get()) {
 							render(new Box(c.getStartPos().add(0, renderHeight.get(), 0), c.getStartPos().add(16, renderHeight.get(), 16)), tickexploitChunksSideColor.get(), tickexploitChunksLineColor.get(), shapeMode.get(), event);
 						} else if ((detectmode.get()== DetectMode.Normal) && tickexploit.get()) {
@@ -469,7 +493,7 @@ private void onRender(Render3DEvent event) {
 		if (oldChunksLineColor.get().a > 5 || oldChunksSideColor.get().a > 5){
 			synchronized (oldChunks) {
 				for (ChunkPos c : oldChunks) {
-					if (mc.getCameraEntity().getBlockPos().isWithinDistance(c.getStartPos(), renderDistance.get()*16)) {
+					if (c != null && mc.getCameraEntity().getBlockPos().isWithinDistance(c.getStartPos(), renderDistance.get()*16)) {
 						render(new Box(c.getStartPos().add(0, renderHeight.get(), 0), c.getStartPos().add(16, renderHeight.get(), 16)), oldChunksSideColor.get(), oldChunksLineColor.get(), shapeMode.get(), event);
 					}
 				}
@@ -521,9 +545,9 @@ else if (event.packet instanceof BlockUpdateS2CPacket) {
 							saveTickExploitChunkData();
 						}
 					} else if (packet.getState().hasRandomTicks() && !tickexploitChunks.contains(chunkPos) && !oldChunks.contains(chunkPos) && !olderoldChunks.contains(chunkPos) && !newChunks.contains(chunkPos)){
-						oldChunks.add(chunkPos);
+						tickexploitChunks.add(chunkPos);
 						if (save.get()){
-							saveOldChunkData();
+							saveTickExploitChunkData();
 						}
 					}
 				}
@@ -589,11 +613,17 @@ private void loadData() {
 
 			for (String line : allLines) {
 				String s = line;
+				if (s !=null){
 				String[] array = s.split(", ");
-				int X = Integer.parseInt(array[0].replaceAll("\\[", "").replaceAll("\\]",""));
-				int Z = Integer.parseInt(array[1].replaceAll("\\[", "").replaceAll("\\]",""));
-				oldpos = new ChunkPos(X,Z);
-				oldChunks.add(oldpos);
+				if (array.length==2) {
+					int X = Integer.parseInt(array[0].replaceAll("\\[", "").replaceAll("\\]", ""));
+					int Z = Integer.parseInt(array[1].replaceAll("\\[", "").replaceAll("\\]", ""));
+					oldpos = new ChunkPos(X, Z);
+					if (!oldChunks.contains(oldpos) && !tickexploitChunks.contains(oldpos) && !olderoldChunks.contains(oldpos) && !newChunks.contains(oldpos)) {
+						oldChunks.add(oldpos);
+					}
+				}
+				}
 			}
 		} catch (IOException e) {
 			e.printStackTrace();
@@ -603,12 +633,17 @@ private void loadData() {
 
 			for (String line : allLines) {
 				String s = line;
+				if (s !=null){
 				String[] array = s.split(", ");
-				int X = Integer.parseInt(array[0].replaceAll("\\[", "").replaceAll("\\]",""));
-				int Z = Integer.parseInt(array[1].replaceAll("\\[", "").replaceAll("\\]",""));
-				chunkPos = new ChunkPos(X,Z);
-				if (!tickexploitChunks.contains(chunkPos) && !newChunks.contains(chunkPos) && !olderoldChunks.contains(chunkPos) && !oldChunks.contains(chunkPos)){
-					newChunks.add(chunkPos);}
+				if (array.length==2) {
+					int X = Integer.parseInt(array[0].replaceAll("\\[", "").replaceAll("\\]", ""));
+					int Z = Integer.parseInt(array[1].replaceAll("\\[", "").replaceAll("\\]", ""));
+					chunkPos = new ChunkPos(X, Z);
+					if (!tickexploitChunks.contains(chunkPos) && !newChunks.contains(chunkPos) && !olderoldChunks.contains(chunkPos) && !oldChunks.contains(chunkPos)) {
+						newChunks.add(chunkPos);
+					}
+				}
+				}
 			}
 		} catch (IOException e) {
 			e.printStackTrace();
@@ -618,12 +653,17 @@ private void loadData() {
 
 			for (String line : allLines) {
 				String s = line;
+				if (s !=null){
 				String[] array = s.split(", ");
-				int X = Integer.parseInt(array[0].replaceAll("\\[", "").replaceAll("\\]",""));
-				int Z = Integer.parseInt(array[1].replaceAll("\\[", "").replaceAll("\\]",""));
-				chunkPos = new ChunkPos(X,Z);
-				if (!tickexploitChunks.contains(chunkPos) && !newChunks.contains(chunkPos) && !olderoldChunks.contains(chunkPos) && !oldChunks.contains(chunkPos)){
-					olderoldChunks.add(chunkPos);}
+				if (array.length==2) {
+					int X = Integer.parseInt(array[0].replaceAll("\\[", "").replaceAll("\\]", ""));
+					int Z = Integer.parseInt(array[1].replaceAll("\\[", "").replaceAll("\\]", ""));
+					chunkPos = new ChunkPos(X, Z);
+					if (!tickexploitChunks.contains(chunkPos) && !newChunks.contains(chunkPos) && !olderoldChunks.contains(chunkPos) && !oldChunks.contains(chunkPos)) {
+						olderoldChunks.add(chunkPos);
+					}
+				}
+				}
 			}
 		} catch (IOException e) {
 			e.printStackTrace();
@@ -633,12 +673,16 @@ private void loadData() {
 
 			for (String line : allLines) {
 				String s = line;
+				if (s !=null){
 				String[] array = s.split(", ");
-				int X = Integer.parseInt(array[0].replaceAll("\\[", "").replaceAll("\\]",""));
-				int Z = Integer.parseInt(array[1].replaceAll("\\[", "").replaceAll("\\]",""));
-				chunkPos = new ChunkPos(X,Z);
-				if (!tickexploitChunks.contains(chunkPos) && !newChunks.contains(chunkPos) && !olderoldChunks.contains(chunkPos) && !oldChunks.contains(chunkPos)){
-				tickexploitChunks.add(chunkPos );
+				if (array.length==2) {
+					int X = Integer.parseInt(array[0].replaceAll("\\[", "").replaceAll("\\]", ""));
+					int Z = Integer.parseInt(array[1].replaceAll("\\[", "").replaceAll("\\]", ""));
+					chunkPos = new ChunkPos(X, Z);
+					if (!tickexploitChunks.contains(chunkPos) && !newChunks.contains(chunkPos) && !olderoldChunks.contains(chunkPos) && !oldChunks.contains(chunkPos)) {
+						tickexploitChunks.add(chunkPos);
+					}
+				}
 				}
 			}
 		} catch (IOException e) {
diff --git a/src/main/java/pwn/noobs/trouserstreak/modules/SuperInstaMine.java b/src/main/java/pwn/noobs/trouserstreak/modules/SuperInstaMine.java
new file mode 100644
index 000000000..72c404c45
--- /dev/null
+++ b/src/main/java/pwn/noobs/trouserstreak/modules/SuperInstaMine.java
@@ -0,0 +1,959 @@
+package pwn.noobs.trouserstreak.modules;
+
+import meteordevelopment.meteorclient.events.entity.player.StartBreakingBlockEvent;
+import meteordevelopment.meteorclient.events.render.Render3DEvent;
+import meteordevelopment.meteorclient.events.world.TickEvent;
+import meteordevelopment.meteorclient.renderer.ShapeMode;
+import meteordevelopment.meteorclient.settings.*;
+import meteordevelopment.meteorclient.systems.modules.Module;
+import meteordevelopment.meteorclient.utils.player.Rotations;
+import meteordevelopment.meteorclient.utils.render.color.SettingColor;
+import meteordevelopment.orbit.EventHandler;
+import net.minecraft.block.Blocks;
+import net.minecraft.item.Items;
+import net.minecraft.network.packet.c2s.play.HandSwingC2SPacket;
+import net.minecraft.network.packet.c2s.play.PlayerActionC2SPacket;
+import net.minecraft.util.Hand;
+import net.minecraft.util.math.BlockPos;
+import net.minecraft.util.math.Direction;
+import pwn.noobs.trouserstreak.Trouser;
+
+public class SuperInstaMine extends Module {
+
+    private final SettingGroup sgGeneral = settings.getDefaultGroup();
+    private final SettingGroup sgRender = settings.createGroup("Render");
+
+    private final Setting<Integer> range = sgGeneral.add(new IntSetting.Builder()
+            .name("Break Modes (Range)")
+            .description("The range around the center block to break more blocks")
+            .defaultValue(0)
+                    .sliderRange(-1,7)
+            .min(-1)
+            .max(7)
+            .build()
+    );
+    private final Setting<Integer> tickDelay = sgGeneral.add(new IntSetting.Builder()
+            .name("delay")
+            .description("The delay between breaks.")
+            .defaultValue(0)
+            .min(0)
+            .sliderMax(20)
+            .build()
+    );
+
+    private final Setting<Boolean> pick = sgGeneral.add(new BoolSetting.Builder()
+            .name("only-pick")
+            .description("Only tries to mine the block if you are holding a pickaxe.")
+            .defaultValue(false)
+            .build()
+    );
+
+    private final Setting<Boolean> rotate = sgGeneral.add(new BoolSetting.Builder()
+            .name("rotate")
+            .description("Faces the blocks being mined server side.")
+            .defaultValue(true)
+            .build()
+    );
+
+    // Render
+
+    private final Setting<Boolean> render = sgRender.add(new BoolSetting.Builder()
+            .name("render")
+            .description("Renders a block overlay on the block being broken.")
+            .defaultValue(true)
+            .build()
+    );
+
+    private final Setting<ShapeMode> shapeMode = sgRender.add(new EnumSetting.Builder<ShapeMode>()
+            .name("shape-mode")
+            .description("How the shapes are rendered.")
+            .defaultValue(ShapeMode.Both)
+            .build()
+    );
+
+    private final Setting<SettingColor> sideColor = sgRender.add(new ColorSetting.Builder()
+            .name("side-color")
+            .description("The color of the sides of the blocks being rendered.")
+            .defaultValue(new SettingColor(204, 0, 0, 10))
+            .build()
+    );
+
+    private final Setting<SettingColor> lineColor = sgRender.add(new ColorSetting.Builder()
+            .name("line-color")
+            .description("The color of the lines of the blocks being rendered.")
+            .defaultValue(new SettingColor(204, 0, 0, 255))
+            .build()
+    );
+
+    private int ticks;
+
+    private final BlockPos.Mutable blockPos = new BlockPos.Mutable(0, -1, 0);
+    private final BlockPos.Mutable blockPos1 = new BlockPos.Mutable(0, -1, 0);
+    private final BlockPos.Mutable blockPos2 = new BlockPos.Mutable(0, -1, 0);
+    private final BlockPos.Mutable blockPos3 = new BlockPos.Mutable(0, -1, 0);
+    private final BlockPos.Mutable blockPos4 = new BlockPos.Mutable(0, -1, 0);
+    private final BlockPos.Mutable blockPos5 = new BlockPos.Mutable(0, -1, 0);
+    private final BlockPos.Mutable blockPos6 = new BlockPos.Mutable(0, -1, 0);
+    private final BlockPos.Mutable blockPos7 = new BlockPos.Mutable(0, -1, 0);
+    private final BlockPos.Mutable blockPos8 = new BlockPos.Mutable(0, -1, 0);
+    private final BlockPos.Mutable blockPos9 = new BlockPos.Mutable(0, -1, 0);
+    private final BlockPos.Mutable blockPos10 = new BlockPos.Mutable(0, -1, 0);
+    private final BlockPos.Mutable blockPos11 = new BlockPos.Mutable(0, -1, 0);
+    private final BlockPos.Mutable blockPos12 = new BlockPos.Mutable(0, -1, 0);
+    private final BlockPos.Mutable blockPos13 = new BlockPos.Mutable(0, -1, 0);
+    private final BlockPos.Mutable blockPos14 = new BlockPos.Mutable(0, -1, 0);
+    private final BlockPos.Mutable blockPos15 = new BlockPos.Mutable(0, -1, 0);
+    private final BlockPos.Mutable blockPos16 = new BlockPos.Mutable(0, -1, 0);
+    private final BlockPos.Mutable blockPos17 = new BlockPos.Mutable(0, -1, 0);
+    private final BlockPos.Mutable blockPos18 = new BlockPos.Mutable(0, -1, 0);
+    private final BlockPos.Mutable blockPos19 = new BlockPos.Mutable(0, -1, 0);
+    private final BlockPos.Mutable blockPos20 = new BlockPos.Mutable(0, -1, 0);
+    private final BlockPos.Mutable blockPos21 = new BlockPos.Mutable(0, -1, 0);
+    private final BlockPos.Mutable blockPos22 = new BlockPos.Mutable(0, -1, 0);
+    private final BlockPos.Mutable blockPos23 = new BlockPos.Mutable(0, -1, 0);
+    private final BlockPos.Mutable blockPos24 = new BlockPos.Mutable(0, -1, 0);
+    private final BlockPos.Mutable blockPos25 = new BlockPos.Mutable(0, -1, 0);
+    private final BlockPos.Mutable blockPos26 = new BlockPos.Mutable(0, -1, 0);
+
+
+    private Direction direction;
+    private Direction playermovingdirection;
+    private int playerpitch;
+
+    public SuperInstaMine() {
+        super(Trouser.Main, "SuperInstaMine", "Attempts to instantly mine blocks. Modified to be able to break many blocks at a time.");
+    }
+
+    @Override
+    public void onActivate() {
+        ticks = 0;
+        blockPos.set(0, -128, 0);
+        blockPos1.set(0, -128, 0);
+        blockPos2.set(0, -128, 0);
+        blockPos3.set(0, -128, 0);
+        blockPos4.set(0, -128, 0);
+        blockPos5.set(0, -128, 0);
+        blockPos6.set(0, -128, 0);
+        blockPos7.set(0, -128, 0);
+        blockPos8.set(0, -128, 0);
+        blockPos9.set(0, -128, 0);
+        blockPos10.set(0, -128, 0);
+        blockPos11.set(0, -128, 0);
+        blockPos12.set(0, -128, 0);
+        blockPos12.set(0, -128, 0);
+        blockPos14.set(0, -128, 0);
+        blockPos15.set(0, -128, 0);
+        blockPos16.set(0, -128, 0);
+        blockPos17.set(0, -128, 0);
+        blockPos18.set(0, -128, 0);
+        blockPos19.set(0, -128, 0);
+        blockPos20.set(0, -128, 0);
+        blockPos21.set(0, -128, 0);
+        blockPos22.set(0, -128, 0);
+        blockPos23.set(0, -128, 0);
+        blockPos24.set(0, -128, 0);
+        blockPos25.set(0, -128, 0);
+        blockPos26.set(0, -128, 0);
+    }
+
+    @EventHandler
+    private void onStartBreakingBlock(StartBreakingBlockEvent event) {
+        direction = event.direction;
+        playermovingdirection = mc.player.getMovementDirection();
+        playerpitch= Math.round(mc.player.getPitch());
+        //middle layer 3x3x3
+        blockPos.set(event.blockPos);
+        blockPos1.set(new BlockPos(event.blockPos.getX()+1, event.blockPos.getY(), event.blockPos.getZ()));
+        blockPos2.set(new BlockPos(event.blockPos.getX()-1, event.blockPos.getY(), event.blockPos.getZ()));
+        blockPos3.set(new BlockPos(event.blockPos.getX(), event.blockPos.getY(), event.blockPos.getZ()+1));
+        blockPos4.set(new BlockPos(event.blockPos.getX(), event.blockPos.getY(), event.blockPos.getZ()-1));
+        blockPos5.set(new BlockPos(event.blockPos.getX()+1, event.blockPos.getY(), event.blockPos.getZ()+1));
+        blockPos6.set(new BlockPos(event.blockPos.getX()-1, event.blockPos.getY(), event.blockPos.getZ()-1));
+        blockPos7.set(new BlockPos(event.blockPos.getX()+1, event.blockPos.getY(), event.blockPos.getZ()-1));
+        blockPos8.set(new BlockPos(event.blockPos.getX()-1, event.blockPos.getY(), event.blockPos.getZ()+1));
+        //top layer 3x3x3
+        blockPos9.set(new BlockPos(event.blockPos.getX(), event.blockPos.getY()+1, event.blockPos.getZ()));
+        blockPos10.set(new BlockPos(event.blockPos.getX()+1, event.blockPos.getY()+1, event.blockPos.getZ()));
+        blockPos11.set(new BlockPos(event.blockPos.getX()-1, event.blockPos.getY()+1, event.blockPos.getZ()));
+        blockPos12.set(new BlockPos(event.blockPos.getX(), event.blockPos.getY()+1, event.blockPos.getZ()+1));
+        blockPos13.set(new BlockPos(event.blockPos.getX(), event.blockPos.getY()+1, event.blockPos.getZ()-1));
+        blockPos14.set(new BlockPos(event.blockPos.getX()+1, event.blockPos.getY()+1, event.blockPos.getZ()+1));
+        blockPos15.set(new BlockPos(event.blockPos.getX()-1, event.blockPos.getY()+1, event.blockPos.getZ()-1));
+        blockPos16.set(new BlockPos(event.blockPos.getX()+1, event.blockPos.getY()+1, event.blockPos.getZ()-1));
+        blockPos17.set(new BlockPos(event.blockPos.getX()-1, event.blockPos.getY()+1, event.blockPos.getZ()+1));
+        //bottom layer 3x3
+        blockPos18.set(new BlockPos(event.blockPos.getX(), event.blockPos.getY()-1, event.blockPos.getZ()));
+        blockPos19.set(new BlockPos(event.blockPos.getX()+1, event.blockPos.getY()-1, event.blockPos.getZ()));
+        blockPos20.set(new BlockPos(event.blockPos.getX()-1, event.blockPos.getY()-1, event.blockPos.getZ()));
+        blockPos21.set(new BlockPos(event.blockPos.getX(), event.blockPos.getY()-1, event.blockPos.getZ()+1));
+        blockPos22.set(new BlockPos(event.blockPos.getX(), event.blockPos.getY()-1, event.blockPos.getZ()-1));
+        blockPos23.set(new BlockPos(event.blockPos.getX()+1, event.blockPos.getY()-1, event.blockPos.getZ()+1));
+        blockPos24.set(new BlockPos(event.blockPos.getX()-1, event.blockPos.getY()-1, event.blockPos.getZ()-1));
+        blockPos25.set(new BlockPos(event.blockPos.getX()+1, event.blockPos.getY()-1, event.blockPos.getZ()-1));
+        blockPos26.set(new BlockPos(event.blockPos.getX()-1, event.blockPos.getY()-1, event.blockPos.getZ()+1));
+    }
+
+    @EventHandler
+    private void onTick(TickEvent.Pre event) {
+        if (ticks >= tickDelay.get()) {
+            ticks = 0;
+
+            if (shouldMine() && range.get()==-1) {
+                if (rotate.get()) {
+                    mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos, direction));
+                    Rotations.rotate(Rotations.getYaw(blockPos), Rotations.getPitch(blockPos), () -> mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos, direction)));
+                    switch (playermovingdirection){
+                        case NORTH -> {
+                            if (mc.world.getBlockState(blockPos2).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos2).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos2).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos2, direction));
+                            if (mc.world.getBlockState(blockPos2).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos2).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos2).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos2, direction));
+                        }
+                        case SOUTH -> {
+                            if (mc.world.getBlockState(blockPos1).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos1).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos1).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos1, direction));
+                            if (mc.world.getBlockState(blockPos1).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos1).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos1).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos1, direction));
+                        }
+                        case EAST -> {
+                            if (mc.world.getBlockState(blockPos4).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos4).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos4).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos4, direction));
+                            if (mc.world.getBlockState(blockPos4).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos4).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos4).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos4, direction));
+                        }
+                        case WEST -> {
+                            if (mc.world.getBlockState(blockPos3).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos3).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos3).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos3, direction));
+                            if (mc.world.getBlockState(blockPos3).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos3).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos3).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos3, direction));
+                        }
+                    }
+                } else {
+                    mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos, direction));
+                    mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos, direction));
+                    switch (playermovingdirection){
+                        case NORTH -> {
+                            if (mc.world.getBlockState(blockPos2).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos2).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos2).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos2, direction));
+                            if (mc.world.getBlockState(blockPos2).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos2).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos2).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos2, direction));
+                        }
+                        case SOUTH -> {
+                            if (mc.world.getBlockState(blockPos1).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos1).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos1).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos1, direction));
+                            if (mc.world.getBlockState(blockPos1).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos1).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos1).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos1, direction));
+                        }
+                        case EAST -> {
+                            if (mc.world.getBlockState(blockPos4).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos4).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos4).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos4, direction));
+                            if (mc.world.getBlockState(blockPos4).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos4).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos4).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos4, direction));
+                        }
+                        case WEST -> {
+                            if (mc.world.getBlockState(blockPos3).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos3).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos3).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos3, direction));
+                            if (mc.world.getBlockState(blockPos3).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos3).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos3).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos3, direction));
+                        }
+                    }
+                }
+                mc.getNetworkHandler().sendPacket(new HandSwingC2SPacket(Hand.MAIN_HAND));
+            }
+
+            if (shouldMine() && range.get()==0) {
+                if (rotate.get()) {
+                    mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos, direction));
+                    Rotations.rotate(Rotations.getYaw(blockPos), Rotations.getPitch(blockPos), () -> mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos, direction)));
+                } else {
+                    mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos, direction));
+                    mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos, direction));
+                }
+                mc.getNetworkHandler().sendPacket(new HandSwingC2SPacket(Hand.MAIN_HAND));
+            }
+
+            if (shouldMine() && range.get()==1) {
+                if (rotate.get()) {
+                    mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos, direction));
+                    Rotations.rotate(Rotations.getYaw(blockPos), Rotations.getPitch(blockPos), () -> mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos, direction)));
+                    switch (playermovingdirection){
+                        case NORTH -> {
+                            if (mc.world.getBlockState(blockPos1).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos1).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos1).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos1, direction));
+                            if (mc.world.getBlockState(blockPos1).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos1).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos1).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos1, direction));
+                        }
+                        case SOUTH -> {
+                            if (mc.world.getBlockState(blockPos2).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos2).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos2).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos2, direction));
+                            if (mc.world.getBlockState(blockPos2).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos2).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos2).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos2, direction));
+                        }
+                        case EAST -> {
+                            if (mc.world.getBlockState(blockPos3).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos3).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos3).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos3, direction));
+                            if (mc.world.getBlockState(blockPos3).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos3).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos3).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos3, direction));
+                        }
+                        case WEST -> {
+                            if (mc.world.getBlockState(blockPos4).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos4).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos4).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos4, direction));
+                            if (mc.world.getBlockState(blockPos4).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos4).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos4).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos4, direction));
+                        }
+                    }
+                } else {
+                    mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos, direction));
+                    mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos, direction));
+                    switch (playermovingdirection){
+                        case NORTH -> {
+                            if (mc.world.getBlockState(blockPos1).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos1).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos1).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos1, direction));
+                            if (mc.world.getBlockState(blockPos1).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos1).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos1).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos1, direction));
+                        }
+                        case SOUTH -> {
+                            if (mc.world.getBlockState(blockPos2).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos2).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos2).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos2, direction));
+                            if (mc.world.getBlockState(blockPos2).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos2).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos2).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos2, direction));
+                        }
+                        case EAST -> {
+                            if (mc.world.getBlockState(blockPos3).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos3).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos3).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos3, direction));
+                            if (mc.world.getBlockState(blockPos3).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos3).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos3).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos3, direction));
+                        }
+                        case WEST -> {
+                            if (mc.world.getBlockState(blockPos4).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos4).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos4).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos4, direction));
+                            if (mc.world.getBlockState(blockPos4).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos4).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos4).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos4, direction));
+                        }
+                    }
+                }
+
+                mc.getNetworkHandler().sendPacket(new HandSwingC2SPacket(Hand.MAIN_HAND));
+            }
+            if (shouldMine() && range.get()==2) {
+                if (rotate.get()) {
+                    mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos, direction));
+                    Rotations.rotate(Rotations.getYaw(blockPos), Rotations.getPitch(blockPos), () -> mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos, direction)));
+                    if (playermovingdirection == Direction.NORTH || playermovingdirection == Direction.SOUTH) {
+                        if (mc.world.getBlockState(blockPos2).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos2).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos2).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos2, direction));
+                        if (mc.world.getBlockState(blockPos2).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos2).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos2).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos2, direction));
+                        if (mc.world.getBlockState(blockPos1).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos1).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos1).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos1, direction));
+                        if (mc.world.getBlockState(blockPos1).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos1).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos1).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos1, direction));
+                    }
+                    if (playermovingdirection == Direction.EAST || playermovingdirection == Direction.WEST) {
+                        if (mc.world.getBlockState(blockPos4).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos4).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos4).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos4, direction));
+                        if (mc.world.getBlockState(blockPos4).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos4).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos4).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos4, direction));
+                        if (mc.world.getBlockState(blockPos3).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos3).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos3).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos3, direction));
+                        if (mc.world.getBlockState(blockPos3).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos3).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos3).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos3, direction));
+                    }
+                } else {
+                    mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos, direction));
+                    mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos, direction));
+                    if (playermovingdirection == Direction.NORTH || playermovingdirection == Direction.SOUTH) {
+                        if (mc.world.getBlockState(blockPos2).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos2).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos2).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos2, direction));
+                        if (mc.world.getBlockState(blockPos2).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos2).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos2).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos2, direction));
+                        if (mc.world.getBlockState(blockPos1).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos1).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos1).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos1, direction));
+                        if (mc.world.getBlockState(blockPos1).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos1).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos1).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos1, direction));
+                    }
+                    if (playermovingdirection == Direction.EAST || playermovingdirection == Direction.WEST) {
+                        if (mc.world.getBlockState(blockPos4).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos4).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos4).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos4, direction));
+                        if (mc.world.getBlockState(blockPos4).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos4).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos4).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos4, direction));
+                        if (mc.world.getBlockState(blockPos3).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos3).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos3).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos3, direction));
+                        if (mc.world.getBlockState(blockPos3).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos3).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos3).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos3, direction));
+                    }
+                }
+
+                mc.getNetworkHandler().sendPacket(new HandSwingC2SPacket(Hand.MAIN_HAND));
+            }
+            if (shouldMine() && range.get()==3) {
+                if (rotate.get()) {
+                    mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos, direction));
+                    Rotations.rotate(Rotations.getYaw(blockPos), Rotations.getPitch(blockPos), () -> mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos, direction)));
+                    if (playermovingdirection==Direction.NORTH || playermovingdirection==Direction.SOUTH && (playerpitch<=30 && playerpitch>=-30)) {
+                        if (mc.world.getBlockState(blockPos2).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos2).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos2).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos2, direction));
+                        if (mc.world.getBlockState(blockPos2).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos2).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos2).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos2, direction));
+                        if (mc.world.getBlockState(blockPos1).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos1).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos1).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos1, direction));
+                        if (mc.world.getBlockState(blockPos1).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos1).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos1).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos1, direction));
+                        if (mc.world.getBlockState(blockPos9).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos9).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos9).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos9, direction));
+                        if (mc.world.getBlockState(blockPos9).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos9).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos9).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos9, direction));
+                        if (mc.world.getBlockState(blockPos18).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos18).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos18).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos18, direction));
+                        if (mc.world.getBlockState(blockPos18).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos18).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos18).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos18, direction));
+                    }
+                    if (playermovingdirection==Direction.EAST || playermovingdirection==Direction.WEST && (playerpitch<=30 && playerpitch>=-30)) {
+                        if (mc.world.getBlockState(blockPos4).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos4).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos4).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos4, direction));
+                        if (mc.world.getBlockState(blockPos4).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos4).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos4).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos4, direction));
+                        if (mc.world.getBlockState(blockPos3).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos3).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos3).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos3, direction));
+                        if (mc.world.getBlockState(blockPos3).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos3).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos3).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos3, direction));
+                        if (mc.world.getBlockState(blockPos9).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos9).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos9).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos9, direction));
+                        if (mc.world.getBlockState(blockPos9).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos9).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos9).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos9, direction));
+                        if (mc.world.getBlockState(blockPos18).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos18).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos18).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos18, direction));
+                        if (mc.world.getBlockState(blockPos18).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos18).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos18).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos18, direction));
+                    }
+                    if (playerpitch>30 | playerpitch<-30) {
+                        if (mc.world.getBlockState(blockPos1).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos1).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos1).getBlock() != Blocks.LAVA)
+                            mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos1, direction));
+                        if (mc.world.getBlockState(blockPos1).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos1).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos1).getBlock() != Blocks.LAVA)
+                            mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos1, direction));
+                        if (mc.world.getBlockState(blockPos2).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos2).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos2).getBlock() != Blocks.LAVA)
+                            mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos2, direction));
+                        if (mc.world.getBlockState(blockPos2).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos2).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos2).getBlock() != Blocks.LAVA)
+                            mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos2, direction));
+                        if (mc.world.getBlockState(blockPos3).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos3).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos3).getBlock() != Blocks.LAVA)
+                            mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos3, direction));
+                        if (mc.world.getBlockState(blockPos3).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos3).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos3).getBlock() != Blocks.LAVA)
+                            mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos3, direction));
+                        if (mc.world.getBlockState(blockPos4).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos4).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos4).getBlock() != Blocks.LAVA)
+                            mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos4, direction));
+                        if (mc.world.getBlockState(blockPos4).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos4).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos4).getBlock() != Blocks.LAVA)
+                            mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos4, direction));
+                    }
+                } else {
+                    mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos, direction));
+                    mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos, direction));
+                    if (playermovingdirection==Direction.NORTH || playermovingdirection==Direction.SOUTH && (playerpitch<=30 && playerpitch>=-30)) {
+                        if (mc.world.getBlockState(blockPos2).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos2).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos2).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos2, direction));
+                        if (mc.world.getBlockState(blockPos2).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos2).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos2).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos2, direction));
+                        if (mc.world.getBlockState(blockPos1).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos1).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos1).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos1, direction));
+                        if (mc.world.getBlockState(blockPos1).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos1).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos1).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos1, direction));
+                        if (mc.world.getBlockState(blockPos9).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos9).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos9).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos9, direction));
+                        if (mc.world.getBlockState(blockPos9).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos9).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos9).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos9, direction));
+                        if (mc.world.getBlockState(blockPos18).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos18).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos18).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos18, direction));
+                        if (mc.world.getBlockState(blockPos18).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos18).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos18).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos18, direction));
+                    }
+                    if (playermovingdirection==Direction.EAST || playermovingdirection==Direction.WEST && (playerpitch<=30 && playerpitch>=-30)) {
+                        if (mc.world.getBlockState(blockPos4).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos4).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos4).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos4, direction));
+                        if (mc.world.getBlockState(blockPos4).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos4).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos4).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos4, direction));
+                        if (mc.world.getBlockState(blockPos3).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos3).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos3).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos3, direction));
+                        if (mc.world.getBlockState(blockPos3).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos3).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos3).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos3, direction));
+                        if (mc.world.getBlockState(blockPos9).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos9).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos9).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos9, direction));
+                        if (mc.world.getBlockState(blockPos9).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos9).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos9).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos9, direction));
+                        if (mc.world.getBlockState(blockPos18).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos18).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos18).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos18, direction));
+                        if (mc.world.getBlockState(blockPos18).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos18).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos18).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos18, direction));
+                    }
+                    if (playerpitch>30 | playerpitch<-30) {
+                        if (mc.world.getBlockState(blockPos1).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos1).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos1).getBlock() != Blocks.LAVA)
+                            mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos1, direction));
+                        if (mc.world.getBlockState(blockPos1).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos1).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos1).getBlock() != Blocks.LAVA)
+                            mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos1, direction));
+                        if (mc.world.getBlockState(blockPos2).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos2).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos2).getBlock() != Blocks.LAVA)
+                            mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos2, direction));
+                        if (mc.world.getBlockState(blockPos2).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos2).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos2).getBlock() != Blocks.LAVA)
+                            mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos2, direction));
+                        if (mc.world.getBlockState(blockPos3).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos3).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos3).getBlock() != Blocks.LAVA)
+                            mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos3, direction));
+                        if (mc.world.getBlockState(blockPos3).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos3).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos3).getBlock() != Blocks.LAVA)
+                            mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos3, direction));
+                        if (mc.world.getBlockState(blockPos4).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos4).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos4).getBlock() != Blocks.LAVA)
+                            mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos4, direction));
+                        if (mc.world.getBlockState(blockPos4).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos4).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos4).getBlock() != Blocks.LAVA)
+                            mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos4, direction));
+                    }
+                }
+
+                mc.getNetworkHandler().sendPacket(new HandSwingC2SPacket(Hand.MAIN_HAND));
+            }
+            if (shouldMine() && range.get()==4) {
+                if (rotate.get()) {
+                    mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos, direction));
+                    Rotations.rotate(Rotations.getYaw(blockPos), Rotations.getPitch(blockPos), () -> mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos, direction)));
+                    if ((playermovingdirection==Direction.NORTH || playermovingdirection==Direction.SOUTH) && playerpitch<=30 && playerpitch>=-30) {
+                        if (mc.world.getBlockState(blockPos2).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos2).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos2).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos2, direction));
+                        if (mc.world.getBlockState(blockPos2).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos2).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos2).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos2, direction));
+                        if (mc.world.getBlockState(blockPos1).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos1).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos1).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos1, direction));
+                        if (mc.world.getBlockState(blockPos1).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos1).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos1).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos1, direction));
+                        if (mc.world.getBlockState(blockPos9).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos9).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos9).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos9, direction));
+                        if (mc.world.getBlockState(blockPos9).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos9).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos9).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos9, direction));
+                        if (mc.world.getBlockState(blockPos18).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos18).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos18).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos18, direction));
+                        if (mc.world.getBlockState(blockPos18).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos18).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos18).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos18, direction));
+                        if (mc.world.getBlockState(blockPos10).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos10).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos10).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos10, direction));
+                        if (mc.world.getBlockState(blockPos10).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos10).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos10).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos10, direction));
+                        if (mc.world.getBlockState(blockPos11).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos11).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos11).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos11, direction));
+                        if (mc.world.getBlockState(blockPos11).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos11).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos11).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos11, direction));
+                        if (mc.world.getBlockState(blockPos19).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos19).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos19).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos19, direction));
+                        if (mc.world.getBlockState(blockPos19).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos19).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos19).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos19, direction));
+                        if (mc.world.getBlockState(blockPos20).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos20).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos20).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos20, direction));
+                        if (mc.world.getBlockState(blockPos20).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos20).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos20).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos20, direction));
+                    }
+                    if ((playermovingdirection==Direction.EAST || playermovingdirection==Direction.WEST) && playerpitch<=30 && playerpitch>=-30) {
+                        if (mc.world.getBlockState(blockPos4).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos4).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos4).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos4, direction));
+                        if (mc.world.getBlockState(blockPos4).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos4).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos4).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos4, direction));
+                        if (mc.world.getBlockState(blockPos3).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos3).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos3).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos3, direction));
+                        if (mc.world.getBlockState(blockPos3).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos3).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos3).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos3, direction));
+                        if (mc.world.getBlockState(blockPos9).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos9).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos9).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos9, direction));
+                        if (mc.world.getBlockState(blockPos9).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos9).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos9).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos9, direction));
+                        if (mc.world.getBlockState(blockPos18).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos18).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos18).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos18, direction));
+                        if (mc.world.getBlockState(blockPos18).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos18).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos18).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos18, direction));
+                        if (mc.world.getBlockState(blockPos12).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos12).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos12).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos12, direction));
+                        if (mc.world.getBlockState(blockPos12).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos12).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos12).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos12, direction));
+                        if (mc.world.getBlockState(blockPos13).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos13).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos13).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos13, direction));
+                        if (mc.world.getBlockState(blockPos13).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos13).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos13).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos13, direction));
+                        if (mc.world.getBlockState(blockPos21).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos21).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos21).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos21, direction));
+                        if (mc.world.getBlockState(blockPos21).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos21).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos21).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos21, direction));
+                        if (mc.world.getBlockState(blockPos22).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos22).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos22).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos22, direction));
+                        if (mc.world.getBlockState(blockPos22).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos22).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos22).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos22, direction));
+                    }
+                    if (playerpitch>30 | playerpitch<-30) {
+                        if (mc.world.getBlockState(blockPos1).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos1).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos1).getBlock() != Blocks.LAVA)
+                            mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos1, direction));
+                        if (mc.world.getBlockState(blockPos1).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos1).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos1).getBlock() != Blocks.LAVA)
+                            mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos1, direction));
+                        if (mc.world.getBlockState(blockPos2).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos2).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos2).getBlock() != Blocks.LAVA)
+                            mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos2, direction));
+                        if (mc.world.getBlockState(blockPos2).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos2).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos2).getBlock() != Blocks.LAVA)
+                            mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos2, direction));
+                        if (mc.world.getBlockState(blockPos3).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos3).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos3).getBlock() != Blocks.LAVA)
+                            mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos3, direction));
+                        if (mc.world.getBlockState(blockPos3).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos3).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos3).getBlock() != Blocks.LAVA)
+                            mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos3, direction));
+                        if (mc.world.getBlockState(blockPos4).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos4).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos4).getBlock() != Blocks.LAVA)
+                            mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos4, direction));
+                        if (mc.world.getBlockState(blockPos4).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos4).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos4).getBlock() != Blocks.LAVA)
+                            mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos4, direction));
+                        if (mc.world.getBlockState(blockPos5).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos5).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos5).getBlock() != Blocks.LAVA)
+                            mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos5, direction));
+                        if (mc.world.getBlockState(blockPos5).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos5).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos5).getBlock() != Blocks.LAVA)
+                            mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos5, direction));
+                        if (mc.world.getBlockState(blockPos6).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos6).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos6).getBlock() != Blocks.LAVA)
+                            mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos6, direction));
+                        if (mc.world.getBlockState(blockPos6).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos6).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos6).getBlock() != Blocks.LAVA)
+                            mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos6, direction));
+                        if (mc.world.getBlockState(blockPos7).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos7).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos7).getBlock() != Blocks.LAVA)
+                            mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos7, direction));
+                        if (mc.world.getBlockState(blockPos7).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos7).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos7).getBlock() != Blocks.LAVA)
+                            mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos7, direction));
+                        if (mc.world.getBlockState(blockPos8).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos8).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos8).getBlock() != Blocks.LAVA)
+                            mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos8, direction));
+                        if (mc.world.getBlockState(blockPos8).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos8).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos8).getBlock() != Blocks.LAVA)
+                            mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos8, direction));
+                    }
+                } else {
+                    mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos, direction));
+                    mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos, direction));
+                    if ((playermovingdirection==Direction.NORTH || playermovingdirection==Direction.SOUTH) && playerpitch<=30 && playerpitch>=-30) {
+                        if (mc.world.getBlockState(blockPos2).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos2).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos2).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos2, direction));
+                        if (mc.world.getBlockState(blockPos2).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos2).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos2).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos2, direction));
+                        if (mc.world.getBlockState(blockPos1).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos1).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos1).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos1, direction));
+                        if (mc.world.getBlockState(blockPos1).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos1).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos1).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos1, direction));
+                        if (mc.world.getBlockState(blockPos9).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos9).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos9).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos9, direction));
+                        if (mc.world.getBlockState(blockPos9).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos9).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos9).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos9, direction));
+                        if (mc.world.getBlockState(blockPos18).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos18).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos18).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos18, direction));
+                        if (mc.world.getBlockState(blockPos18).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos18).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos18).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos18, direction));
+                        if (mc.world.getBlockState(blockPos10).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos10).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos10).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos10, direction));
+                        if (mc.world.getBlockState(blockPos10).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos10).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos10).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos10, direction));
+                        if (mc.world.getBlockState(blockPos11).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos11).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos11).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos11, direction));
+                        if (mc.world.getBlockState(blockPos11).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos11).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos11).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos11, direction));
+                        if (mc.world.getBlockState(blockPos19).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos19).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos19).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos19, direction));
+                        if (mc.world.getBlockState(blockPos19).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos19).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos19).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos19, direction));
+                        if (mc.world.getBlockState(blockPos20).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos20).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos20).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos20, direction));
+                        if (mc.world.getBlockState(blockPos20).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos20).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos20).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos20, direction));
+                    }
+                    if ((playermovingdirection==Direction.EAST || playermovingdirection==Direction.WEST) && playerpitch<=30 && playerpitch>=-30) {
+                        if (mc.world.getBlockState(blockPos4).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos4).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos4).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos4, direction));
+                        if (mc.world.getBlockState(blockPos4).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos4).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos4).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos4, direction));
+                        if (mc.world.getBlockState(blockPos3).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos3).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos3).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos3, direction));
+                        if (mc.world.getBlockState(blockPos3).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos3).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos3).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos3, direction));
+                        if (mc.world.getBlockState(blockPos9).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos9).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos9).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos9, direction));
+                        if (mc.world.getBlockState(blockPos9).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos9).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos9).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos9, direction));
+                        if (mc.world.getBlockState(blockPos18).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos18).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos18).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos18, direction));
+                        if (mc.world.getBlockState(blockPos18).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos18).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos18).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos18, direction));
+                        if (mc.world.getBlockState(blockPos12).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos12).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos12).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos12, direction));
+                        if (mc.world.getBlockState(blockPos12).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos12).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos12).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos12, direction));
+                        if (mc.world.getBlockState(blockPos13).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos13).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos13).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos13, direction));
+                        if (mc.world.getBlockState(blockPos13).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos13).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos13).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos13, direction));
+                        if (mc.world.getBlockState(blockPos21).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos21).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos21).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos21, direction));
+                        if (mc.world.getBlockState(blockPos21).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos21).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos21).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos21, direction));
+                        if (mc.world.getBlockState(blockPos22).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos22).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos22).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos22, direction));
+                        if (mc.world.getBlockState(blockPos22).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos22).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos22).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos22, direction));
+                    }
+                    if (playerpitch>30 | playerpitch<-30) {
+                        if (mc.world.getBlockState(blockPos1).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos1).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos1).getBlock() != Blocks.LAVA)
+                            mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos1, direction));
+                        if (mc.world.getBlockState(blockPos1).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos1).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos1).getBlock() != Blocks.LAVA)
+                            mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos1, direction));
+                        if (mc.world.getBlockState(blockPos2).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos2).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos2).getBlock() != Blocks.LAVA)
+                            mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos2, direction));
+                        if (mc.world.getBlockState(blockPos2).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos2).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos2).getBlock() != Blocks.LAVA)
+                            mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos2, direction));
+                        if (mc.world.getBlockState(blockPos3).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos3).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos3).getBlock() != Blocks.LAVA)
+                            mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos3, direction));
+                        if (mc.world.getBlockState(blockPos3).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos3).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos3).getBlock() != Blocks.LAVA)
+                            mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos3, direction));
+                        if (mc.world.getBlockState(blockPos4).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos4).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos4).getBlock() != Blocks.LAVA)
+                            mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos4, direction));
+                        if (mc.world.getBlockState(blockPos4).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos4).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos4).getBlock() != Blocks.LAVA)
+                            mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos4, direction));
+                        if (mc.world.getBlockState(blockPos5).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos5).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos5).getBlock() != Blocks.LAVA)
+                            mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos5, direction));
+                        if (mc.world.getBlockState(blockPos5).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos5).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos5).getBlock() != Blocks.LAVA)
+                            mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos5, direction));
+                        if (mc.world.getBlockState(blockPos6).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos6).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos6).getBlock() != Blocks.LAVA)
+                            mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos6, direction));
+                        if (mc.world.getBlockState(blockPos6).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos6).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos6).getBlock() != Blocks.LAVA)
+                            mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos6, direction));
+                        if (mc.world.getBlockState(blockPos7).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos7).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos7).getBlock() != Blocks.LAVA)
+                            mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos7, direction));
+                        if (mc.world.getBlockState(blockPos7).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos7).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos7).getBlock() != Blocks.LAVA)
+                            mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos7, direction));
+                        if (mc.world.getBlockState(blockPos8).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos8).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos8).getBlock() != Blocks.LAVA)
+                            mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos8, direction));
+                        if (mc.world.getBlockState(blockPos8).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos8).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos8).getBlock() != Blocks.LAVA)
+                            mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos8, direction));
+                    }
+                }
+
+                mc.getNetworkHandler().sendPacket(new HandSwingC2SPacket(Hand.MAIN_HAND));
+            }
+            if (shouldMine() && range.get()==5) {
+                if (rotate.get()) {
+                    mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos, direction));
+                    Rotations.rotate(Rotations.getYaw(blockPos), Rotations.getPitch(blockPos), () -> mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos, direction)));
+                    if (mc.world.getBlockState(blockPos1).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos1).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos1).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos1, direction));
+                    if (mc.world.getBlockState(blockPos1).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos1).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos1).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos1, direction));
+                    if (mc.world.getBlockState(blockPos2).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos2).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos2).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos2, direction));
+                    if (mc.world.getBlockState(blockPos2).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos2).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos2).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos2, direction));
+                    if (mc.world.getBlockState(blockPos3).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos3).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos3).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos3, direction));
+                    if (mc.world.getBlockState(blockPos3).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos3).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos3).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos3, direction));
+                    if (mc.world.getBlockState(blockPos4).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos4).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos4).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos4, direction));
+                    if (mc.world.getBlockState(blockPos4).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos4).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos4).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos4, direction));
+                    if (mc.world.getBlockState(blockPos5).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos5).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos5).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos5, direction));
+                    if (mc.world.getBlockState(blockPos5).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos5).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos5).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos5, direction));
+                    if (mc.world.getBlockState(blockPos6).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos6).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos6).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos6, direction));
+                    if (mc.world.getBlockState(blockPos6).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos6).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos6).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos6, direction));
+                    if (mc.world.getBlockState(blockPos7).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos7).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos7).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos7, direction));
+                    if (mc.world.getBlockState(blockPos7).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos7).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos7).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos7, direction));
+                    if (mc.world.getBlockState(blockPos8).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos8).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos8).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos8, direction));
+                    if (mc.world.getBlockState(blockPos8).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos8).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos8).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos8, direction));
+                    if (mc.world.getBlockState(blockPos9).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos9).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos9).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos9, direction));
+                    if (mc.world.getBlockState(blockPos9).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos9).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos9).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos9, direction));
+                    if (mc.world.getBlockState(blockPos18).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos18).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos18).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos18, direction));
+                    if (mc.world.getBlockState(blockPos18).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos18).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos18).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos18, direction));
+                } else {
+                    mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos, direction));
+                    mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos, direction));
+                    if (mc.world.getBlockState(blockPos1).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos1).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos1).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos1, direction));
+                    if (mc.world.getBlockState(blockPos1).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos1).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos1).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos1, direction));
+                    if (mc.world.getBlockState(blockPos2).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos2).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos2).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos2, direction));
+                    if (mc.world.getBlockState(blockPos2).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos2).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos2).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos2, direction));
+                    if (mc.world.getBlockState(blockPos3).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos3).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos3).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos3, direction));
+                    if (mc.world.getBlockState(blockPos3).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos3).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos3).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos3, direction));
+                    if (mc.world.getBlockState(blockPos4).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos4).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos4).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos4, direction));
+                    if (mc.world.getBlockState(blockPos4).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos4).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos4).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos4, direction));
+                    if (mc.world.getBlockState(blockPos5).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos5).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos5).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos5, direction));
+                    if (mc.world.getBlockState(blockPos5).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos5).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos5).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos5, direction));
+                    if (mc.world.getBlockState(blockPos6).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos6).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos6).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos6, direction));
+                    if (mc.world.getBlockState(blockPos6).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos6).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos6).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos6, direction));
+                    if (mc.world.getBlockState(blockPos7).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos7).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos7).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos7, direction));
+                    if (mc.world.getBlockState(blockPos7).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos7).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos7).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos7, direction));
+                    if (mc.world.getBlockState(blockPos8).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos8).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos8).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos8, direction));
+                    if (mc.world.getBlockState(blockPos8).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos8).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos8).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos8, direction));
+                    if (mc.world.getBlockState(blockPos9).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos9).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos9).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos9, direction));
+                    if (mc.world.getBlockState(blockPos9).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos9).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos9).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos9, direction));
+                    if (mc.world.getBlockState(blockPos18).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos18).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos18).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos18, direction));
+                    if (mc.world.getBlockState(blockPos18).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos18).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos18).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos18, direction));
+                }
+
+                mc.getNetworkHandler().sendPacket(new HandSwingC2SPacket(Hand.MAIN_HAND));
+            }
+            if (shouldMine() && range.get()==6) {
+                if (rotate.get()) {
+                    mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos, direction));
+                    Rotations.rotate(Rotations.getYaw(blockPos), Rotations.getPitch(blockPos), () -> mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos, direction)));
+                    if (mc.world.getBlockState(blockPos1).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos1).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos1).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos1, direction));
+                    if (mc.world.getBlockState(blockPos1).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos1).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos1).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos1, direction));
+                    if (mc.world.getBlockState(blockPos2).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos2).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos2).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos2, direction));
+                    if (mc.world.getBlockState(blockPos2).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos2).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos2).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos2, direction));
+                    if (mc.world.getBlockState(blockPos3).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos3).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos3).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos3, direction));
+                    if (mc.world.getBlockState(blockPos3).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos3).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos3).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos3, direction));
+                    if (mc.world.getBlockState(blockPos4).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos4).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos4).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos4, direction));
+                    if (mc.world.getBlockState(blockPos4).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos4).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos4).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos4, direction));
+                    if (mc.world.getBlockState(blockPos5).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos5).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos5).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos5, direction));
+                    if (mc.world.getBlockState(blockPos5).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos5).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos5).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos5, direction));
+                    if (mc.world.getBlockState(blockPos6).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos6).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos6).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos6, direction));
+                    if (mc.world.getBlockState(blockPos6).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos6).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos6).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos6, direction));
+                    if (mc.world.getBlockState(blockPos7).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos7).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos7).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos7, direction));
+                    if (mc.world.getBlockState(blockPos7).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos7).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos7).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos7, direction));
+                    if (mc.world.getBlockState(blockPos8).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos8).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos8).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos8, direction));
+                    if (mc.world.getBlockState(blockPos8).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos8).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos8).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos8, direction));
+                    if (mc.world.getBlockState(blockPos9).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos9).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos9).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos9, direction));
+                    if (mc.world.getBlockState(blockPos9).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos9).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos9).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos9, direction));
+                    if (mc.world.getBlockState(blockPos10).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos10).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos10).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos10, direction));
+                    if (mc.world.getBlockState(blockPos10).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos10).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos10).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos10, direction));
+                    if (mc.world.getBlockState(blockPos11).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos11).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos11).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos11, direction));
+                    if (mc.world.getBlockState(blockPos11).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos11).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos11).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos11, direction));
+                    if (mc.world.getBlockState(blockPos12).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos12).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos12).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos12, direction));
+                    if (mc.world.getBlockState(blockPos12).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos12).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos12).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos12, direction));
+                    if (mc.world.getBlockState(blockPos13).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos13).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos13).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos13, direction));
+                    if (mc.world.getBlockState(blockPos13).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos13).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos13).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos13, direction));
+                    if (mc.world.getBlockState(blockPos18).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos18).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos18).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos18, direction));
+                    if (mc.world.getBlockState(blockPos18).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos18).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos18).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos18, direction));
+                    if (mc.world.getBlockState(blockPos19).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos19).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos19).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos19, direction));
+                    if (mc.world.getBlockState(blockPos19).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos19).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos19).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos19, direction));
+                    if (mc.world.getBlockState(blockPos20).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos20).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos20).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos20, direction));
+                    if (mc.world.getBlockState(blockPos20).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos20).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos20).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos20, direction));
+                    if (mc.world.getBlockState(blockPos21).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos21).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos21).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos21, direction));
+                    if (mc.world.getBlockState(blockPos21).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos21).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos21).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos21, direction));
+                    if (mc.world.getBlockState(blockPos22).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos22).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos22).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos22, direction));
+                    if (mc.world.getBlockState(blockPos22).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos22).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos22).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos22, direction));
+                } else {
+                    mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos, direction));
+                    mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos, direction));
+                    if (mc.world.getBlockState(blockPos1).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos1).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos1).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos1, direction));
+                    if (mc.world.getBlockState(blockPos1).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos1).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos1).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos1, direction));
+                    if (mc.world.getBlockState(blockPos2).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos2).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos2).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos2, direction));
+                    if (mc.world.getBlockState(blockPos2).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos2).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos2).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos2, direction));
+                    if (mc.world.getBlockState(blockPos3).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos3).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos3).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos3, direction));
+                    if (mc.world.getBlockState(blockPos3).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos3).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos3).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos3, direction));
+                    if (mc.world.getBlockState(blockPos4).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos4).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos4).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos4, direction));
+                    if (mc.world.getBlockState(blockPos4).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos4).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos4).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos4, direction));
+                    if (mc.world.getBlockState(blockPos5).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos5).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos5).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos5, direction));
+                    if (mc.world.getBlockState(blockPos5).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos5).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos5).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos5, direction));
+                    if (mc.world.getBlockState(blockPos6).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos6).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos6).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos6, direction));
+                    if (mc.world.getBlockState(blockPos6).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos6).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos6).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos6, direction));
+                    if (mc.world.getBlockState(blockPos7).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos7).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos7).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos7, direction));
+                    if (mc.world.getBlockState(blockPos7).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos7).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos7).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos7, direction));
+                    if (mc.world.getBlockState(blockPos8).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos8).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos8).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos8, direction));
+                    if (mc.world.getBlockState(blockPos8).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos8).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos8).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos8, direction));
+                    if (mc.world.getBlockState(blockPos9).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos9).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos9).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos9, direction));
+                    if (mc.world.getBlockState(blockPos9).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos9).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos9).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos9, direction));
+                    if (mc.world.getBlockState(blockPos10).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos10).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos10).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos10, direction));
+                    if (mc.world.getBlockState(blockPos10).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos10).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos10).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos10, direction));
+                    if (mc.world.getBlockState(blockPos11).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos11).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos11).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos11, direction));
+                    if (mc.world.getBlockState(blockPos11).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos11).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos11).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos11, direction));
+                    if (mc.world.getBlockState(blockPos12).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos12).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos12).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos12, direction));
+                    if (mc.world.getBlockState(blockPos12).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos12).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos12).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos12, direction));
+                    if (mc.world.getBlockState(blockPos13).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos13).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos13).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos13, direction));
+                    if (mc.world.getBlockState(blockPos13).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos13).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos13).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos13, direction));
+                    if (mc.world.getBlockState(blockPos18).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos18).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos18).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos18, direction));
+                    if (mc.world.getBlockState(blockPos18).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos18).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos18).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos18, direction));
+                    if (mc.world.getBlockState(blockPos19).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos19).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos19).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos19, direction));
+                    if (mc.world.getBlockState(blockPos19).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos19).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos19).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos19, direction));
+                    if (mc.world.getBlockState(blockPos20).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos20).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos20).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos20, direction));
+                    if (mc.world.getBlockState(blockPos20).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos20).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos20).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos20, direction));
+                    if (mc.world.getBlockState(blockPos21).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos21).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos21).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos21, direction));
+                    if (mc.world.getBlockState(blockPos21).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos21).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos21).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos21, direction));
+                    if (mc.world.getBlockState(blockPos22).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos22).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos22).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos22, direction));
+                    if (mc.world.getBlockState(blockPos22).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos22).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos22).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos22, direction));
+                }
+
+                mc.getNetworkHandler().sendPacket(new HandSwingC2SPacket(Hand.MAIN_HAND));
+            }
+            if (shouldMine() && range.get()==7) {
+                if (rotate.get()) {
+                    mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos, direction));
+                    Rotations.rotate(Rotations.getYaw(blockPos), Rotations.getPitch(blockPos), () -> mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos, direction)));
+                    if (mc.world.getBlockState(blockPos1).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos1).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos1).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos1, direction));
+                    if (mc.world.getBlockState(blockPos1).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos1).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos1).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos1, direction));
+                    if (mc.world.getBlockState(blockPos2).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos2).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos2).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos2, direction));
+                    if (mc.world.getBlockState(blockPos2).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos2).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos2).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos2, direction));
+                    if (mc.world.getBlockState(blockPos3).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos3).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos3).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos3, direction));
+                    if (mc.world.getBlockState(blockPos3).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos3).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos3).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos3, direction));
+                    if (mc.world.getBlockState(blockPos4).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos4).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos4).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos4, direction));
+                    if (mc.world.getBlockState(blockPos4).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos4).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos4).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos4, direction));
+                    if (mc.world.getBlockState(blockPos5).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos5).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos5).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos5, direction));
+                    if (mc.world.getBlockState(blockPos5).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos5).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos5).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos5, direction));
+                    if (mc.world.getBlockState(blockPos6).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos6).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos6).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos6, direction));
+                    if (mc.world.getBlockState(blockPos6).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos6).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos6).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos6, direction));
+                    if (mc.world.getBlockState(blockPos7).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos7).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos7).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos7, direction));
+                    if (mc.world.getBlockState(blockPos7).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos7).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos7).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos7, direction));
+                    if (mc.world.getBlockState(blockPos8).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos8).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos8).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos8, direction));
+                    if (mc.world.getBlockState(blockPos8).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos8).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos8).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos8, direction));
+                    if (mc.world.getBlockState(blockPos9).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos9).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos9).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos9, direction));
+                    if (mc.world.getBlockState(blockPos9).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos9).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos9).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos9, direction));
+                    if (mc.world.getBlockState(blockPos10).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos10).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos10).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos10, direction));
+                    if (mc.world.getBlockState(blockPos10).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos10).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos10).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos10, direction));
+                    if (mc.world.getBlockState(blockPos11).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos11).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos11).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos11, direction));
+                    if (mc.world.getBlockState(blockPos11).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos11).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos11).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos11, direction));
+                    if (mc.world.getBlockState(blockPos12).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos12).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos12).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos12, direction));
+                    if (mc.world.getBlockState(blockPos12).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos12).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos12).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos12, direction));
+                    if (mc.world.getBlockState(blockPos13).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos13).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos13).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos13, direction));
+                    if (mc.world.getBlockState(blockPos13).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos13).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos13).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos13, direction));
+                    if (mc.world.getBlockState(blockPos14).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos14).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos14).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos14, direction));
+                    if (mc.world.getBlockState(blockPos14).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos14).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos14).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos14, direction));
+                    if (mc.world.getBlockState(blockPos15).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos15).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos15).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos15, direction));
+                    if (mc.world.getBlockState(blockPos15).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos15).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos15).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos15, direction));
+                    if (mc.world.getBlockState(blockPos16).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos16).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos16).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos16, direction));
+                    if (mc.world.getBlockState(blockPos16).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos16).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos16).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos16, direction));
+                    if (mc.world.getBlockState(blockPos17).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos17).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos17).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos17, direction));
+                    if (mc.world.getBlockState(blockPos17).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos17).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos17).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos17, direction));
+                    if (mc.world.getBlockState(blockPos18).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos18).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos18).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos18, direction));
+                    if (mc.world.getBlockState(blockPos18).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos18).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos18).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos18, direction));
+                    if (mc.world.getBlockState(blockPos19).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos19).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos19).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos19, direction));
+                    if (mc.world.getBlockState(blockPos19).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos19).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos19).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos19, direction));
+                    if (mc.world.getBlockState(blockPos20).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos20).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos20).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos20, direction));
+                    if (mc.world.getBlockState(blockPos20).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos20).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos20).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos20, direction));
+                    if (mc.world.getBlockState(blockPos21).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos21).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos21).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos21, direction));
+                    if (mc.world.getBlockState(blockPos21).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos21).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos21).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos21, direction));
+                    if (mc.world.getBlockState(blockPos22).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos22).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos22).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos22, direction));
+                    if (mc.world.getBlockState(blockPos22).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos22).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos22).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos22, direction));
+                    if (mc.world.getBlockState(blockPos23).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos23).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos23).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos23, direction));
+                    if (mc.world.getBlockState(blockPos23).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos23).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos23).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos23, direction));
+                    if (mc.world.getBlockState(blockPos24).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos24).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos24).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos24, direction));
+                    if (mc.world.getBlockState(blockPos24).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos24).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos24).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos24, direction));
+                    if (mc.world.getBlockState(blockPos25).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos25).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos25).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos25, direction));
+                    if (mc.world.getBlockState(blockPos25).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos25).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos25).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos25, direction));
+                    if (mc.world.getBlockState(blockPos26).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos26).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos26).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos26, direction));
+                    if (mc.world.getBlockState(blockPos26).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos26).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos26).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos26, direction));
+                } else {
+                    mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos, direction));
+                    mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos, direction));
+                    if (mc.world.getBlockState(blockPos1).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos1).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos1).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos1, direction));
+                    if (mc.world.getBlockState(blockPos1).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos1).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos1).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos1, direction));
+                    if (mc.world.getBlockState(blockPos2).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos2).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos2).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos2, direction));
+                    if (mc.world.getBlockState(blockPos2).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos2).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos2).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos2, direction));
+                    if (mc.world.getBlockState(blockPos3).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos3).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos3).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos3, direction));
+                    if (mc.world.getBlockState(blockPos3).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos3).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos3).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos3, direction));
+                    if (mc.world.getBlockState(blockPos4).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos4).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos4).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos4, direction));
+                    if (mc.world.getBlockState(blockPos4).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos4).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos4).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos4, direction));
+                    if (mc.world.getBlockState(blockPos5).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos5).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos5).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos5, direction));
+                    if (mc.world.getBlockState(blockPos5).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos5).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos5).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos5, direction));
+                    if (mc.world.getBlockState(blockPos6).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos6).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos6).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos6, direction));
+                    if (mc.world.getBlockState(blockPos6).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos6).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos6).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos6, direction));
+                    if (mc.world.getBlockState(blockPos7).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos7).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos7).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos7, direction));
+                    if (mc.world.getBlockState(blockPos7).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos7).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos7).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos7, direction));
+                    if (mc.world.getBlockState(blockPos8).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos8).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos8).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos8, direction));
+                    if (mc.world.getBlockState(blockPos8).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos8).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos8).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos8, direction));
+                    if (mc.world.getBlockState(blockPos9).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos9).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos9).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos9, direction));
+                    if (mc.world.getBlockState(blockPos9).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos9).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos9).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos9, direction));
+                    if (mc.world.getBlockState(blockPos10).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos10).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos10).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos10, direction));
+                    if (mc.world.getBlockState(blockPos10).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos10).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos10).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos10, direction));
+                    if (mc.world.getBlockState(blockPos11).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos11).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos11).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos11, direction));
+                    if (mc.world.getBlockState(blockPos11).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos11).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos11).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos11, direction));
+                    if (mc.world.getBlockState(blockPos12).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos12).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos12).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos12, direction));
+                    if (mc.world.getBlockState(blockPos12).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos12).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos12).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos12, direction));
+                    if (mc.world.getBlockState(blockPos13).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos13).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos13).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos13, direction));
+                    if (mc.world.getBlockState(blockPos13).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos13).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos13).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos13, direction));
+                    if (mc.world.getBlockState(blockPos14).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos14).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos14).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos14, direction));
+                    if (mc.world.getBlockState(blockPos14).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos14).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos14).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos14, direction));
+                    if (mc.world.getBlockState(blockPos15).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos15).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos15).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos15, direction));
+                    if (mc.world.getBlockState(blockPos15).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos15).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos15).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos15, direction));
+                    if (mc.world.getBlockState(blockPos16).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos16).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos16).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos16, direction));
+                    if (mc.world.getBlockState(blockPos16).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos16).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos16).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos16, direction));
+                    if (mc.world.getBlockState(blockPos17).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos17).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos17).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos17, direction));
+                    if (mc.world.getBlockState(blockPos17).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos17).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos17).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos17, direction));
+                    if (mc.world.getBlockState(blockPos18).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos18).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos18).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos18, direction));
+                    if (mc.world.getBlockState(blockPos18).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos18).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos18).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos18, direction));
+                    if (mc.world.getBlockState(blockPos19).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos19).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos19).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos19, direction));
+                    if (mc.world.getBlockState(blockPos19).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos19).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos19).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos19, direction));
+                    if (mc.world.getBlockState(blockPos20).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos20).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos20).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos20, direction));
+                    if (mc.world.getBlockState(blockPos20).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos20).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos20).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos20, direction));
+                    if (mc.world.getBlockState(blockPos21).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos21).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos21).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos21, direction));
+                    if (mc.world.getBlockState(blockPos21).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos21).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos21).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos21, direction));
+                    if (mc.world.getBlockState(blockPos22).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos22).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos22).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos22, direction));
+                    if (mc.world.getBlockState(blockPos22).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos22).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos22).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos22, direction));
+                    if (mc.world.getBlockState(blockPos23).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos23).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos23).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos23, direction));
+                    if (mc.world.getBlockState(blockPos23).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos23).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos23).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos23, direction));
+                    if (mc.world.getBlockState(blockPos24).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos24).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos24).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos24, direction));
+                    if (mc.world.getBlockState(blockPos24).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos24).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos24).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos24, direction));
+                    if (mc.world.getBlockState(blockPos25).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos25).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos25).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos25, direction));
+                    if (mc.world.getBlockState(blockPos25).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos25).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos25).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos25, direction));
+                    if (mc.world.getBlockState(blockPos26).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos26).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos26).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, blockPos26, direction));
+                    if (mc.world.getBlockState(blockPos26).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos26).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos26).getBlock() != Blocks.LAVA)mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, blockPos26, direction));
+                }
+
+                mc.getNetworkHandler().sendPacket(new HandSwingC2SPacket(Hand.MAIN_HAND));
+            }
+        } else {
+            ticks++;
+        }
+    }
+
+    private boolean shouldMine() {
+        if (blockPos.getY() == -128) return false;
+        return !pick.get() || (mc.player.getMainHandStack().getItem() == Items.DIAMOND_PICKAXE || mc.player.getMainHandStack().getItem() == Items.NETHERITE_PICKAXE);
+    }
+
+    @EventHandler
+    private void onRender(Render3DEvent event) {
+        if (!render.get() || !shouldMine()) return;
+        if (mc.world.getBlockState(blockPos).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos).getBlock() != Blocks.LAVA)event.renderer.box(blockPos, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+        if (((range.get()==-1 && playermovingdirection==Direction.SOUTH) || (range.get()==1 && playermovingdirection==Direction.NORTH) || (range.get()==2 && (playermovingdirection==Direction.NORTH | playermovingdirection==Direction.SOUTH))) && mc.world.getBlockState(blockPos1).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos1).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos1).getBlock() != Blocks.LAVA)event.renderer.box(blockPos1, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+        if (((range.get()==-1 && playermovingdirection==Direction.NORTH) || (range.get()==1 && playermovingdirection==Direction.SOUTH) || (range.get()==2 && (playermovingdirection==Direction.NORTH | playermovingdirection==Direction.SOUTH))) && mc.world.getBlockState(blockPos2).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos2).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos2).getBlock() != Blocks.LAVA)event.renderer.box(blockPos2, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+        if (((range.get()==-1 && playermovingdirection==Direction.WEST) || (range.get()==1 && playermovingdirection==Direction.EAST) || (range.get()==2 && (playermovingdirection==Direction.EAST | playermovingdirection==Direction.WEST))) && mc.world.getBlockState(blockPos3).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos3).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos3).getBlock() != Blocks.LAVA)event.renderer.box(blockPos3, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+        if (((range.get()==-1 && playermovingdirection==Direction.EAST) || (range.get()==1 && playermovingdirection==Direction.WEST) || (range.get()==2 && (playermovingdirection==Direction.EAST | playermovingdirection==Direction.WEST))) && mc.world.getBlockState(blockPos4).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos4).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos4).getBlock() != Blocks.LAVA)event.renderer.box(blockPos4, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+        if (range.get()==3){
+            if ((playermovingdirection==Direction.NORTH || playermovingdirection==Direction.SOUTH) && playerpitch<=30 && playerpitch>=-30){
+                if (mc.world.getBlockState(blockPos1).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos1).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos1).getBlock() != Blocks.LAVA)event.renderer.box(blockPos1, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+                if (mc.world.getBlockState(blockPos2).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos2).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos2).getBlock() != Blocks.LAVA)event.renderer.box(blockPos2, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+                if (mc.world.getBlockState(blockPos9).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos9).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos9).getBlock() != Blocks.LAVA)event.renderer.box(blockPos9, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+                if (mc.world.getBlockState(blockPos18).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos18).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos18).getBlock() != Blocks.LAVA)event.renderer.box(blockPos18, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            }
+            if ((playermovingdirection==Direction.EAST|| playermovingdirection==Direction.WEST) && playerpitch<=30 && playerpitch>=-30){
+                if (mc.world.getBlockState(blockPos9).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos9).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos9).getBlock() != Blocks.LAVA)event.renderer.box(blockPos9, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+                if (mc.world.getBlockState(blockPos18).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos18).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos18).getBlock() != Blocks.LAVA)event.renderer.box(blockPos18, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+                if (mc.world.getBlockState(blockPos3).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos3).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos3).getBlock() != Blocks.LAVA)event.renderer.box(blockPos3, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+                if (mc.world.getBlockState(blockPos4).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos4).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos4).getBlock() != Blocks.LAVA)event.renderer.box(blockPos4, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            }
+            if (playerpitch>30 | playerpitch<-30){
+                if (mc.world.getBlockState(blockPos1).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos1).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos1).getBlock() != Blocks.LAVA)event.renderer.box(blockPos1, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+                if (mc.world.getBlockState(blockPos2).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos2).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos2).getBlock() != Blocks.LAVA)event.renderer.box(blockPos2, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+                if (mc.world.getBlockState(blockPos3).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos3).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos3).getBlock() != Blocks.LAVA)event.renderer.box(blockPos3, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+                if (mc.world.getBlockState(blockPos4).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos4).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos4).getBlock() != Blocks.LAVA)event.renderer.box(blockPos4, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            }
+        }
+        if (range.get()==4){
+            if ((playermovingdirection==Direction.NORTH || playermovingdirection==Direction.SOUTH) && playerpitch<=30 && playerpitch>=-30){
+                if (mc.world.getBlockState(blockPos1).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos1).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos1).getBlock() != Blocks.LAVA)event.renderer.box(blockPos1, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+                if (mc.world.getBlockState(blockPos2).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos2).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos2).getBlock() != Blocks.LAVA)event.renderer.box(blockPos2, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+                if (mc.world.getBlockState(blockPos9).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos9).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos9).getBlock() != Blocks.LAVA)event.renderer.box(blockPos9, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+                if (mc.world.getBlockState(blockPos18).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos18).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos18).getBlock() != Blocks.LAVA)event.renderer.box(blockPos18, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+                if (mc.world.getBlockState(blockPos10).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos10).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos10).getBlock() != Blocks.LAVA)event.renderer.box(blockPos10, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+                if (mc.world.getBlockState(blockPos11).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos11).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos11).getBlock() != Blocks.LAVA)event.renderer.box(blockPos11, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+                if (mc.world.getBlockState(blockPos19).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos19).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos19).getBlock() != Blocks.LAVA)event.renderer.box(blockPos19, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+                if (mc.world.getBlockState(blockPos20).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos20).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos20).getBlock() != Blocks.LAVA)event.renderer.box(blockPos20, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            }
+            if ((playermovingdirection==Direction.EAST || playermovingdirection==Direction.WEST) && playerpitch<=30 && playerpitch>=-30){
+                if (mc.world.getBlockState(blockPos9).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos9).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos9).getBlock() != Blocks.LAVA)event.renderer.box(blockPos9, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+                if (mc.world.getBlockState(blockPos18).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos18).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos18).getBlock() != Blocks.LAVA)event.renderer.box(blockPos18, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+                if (mc.world.getBlockState(blockPos3).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos3).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos3).getBlock() != Blocks.LAVA)event.renderer.box(blockPos3, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+                if (mc.world.getBlockState(blockPos4).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos4).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos4).getBlock() != Blocks.LAVA)event.renderer.box(blockPos4, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+                if (mc.world.getBlockState(blockPos12).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos12).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos12).getBlock() != Blocks.LAVA)event.renderer.box(blockPos12, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+                if (mc.world.getBlockState(blockPos13).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos13).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos13).getBlock() != Blocks.LAVA)event.renderer.box(blockPos13, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+                if (mc.world.getBlockState(blockPos21).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos21).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos21).getBlock() != Blocks.LAVA)event.renderer.box(blockPos21, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+                if (mc.world.getBlockState(blockPos22).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos22).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos22).getBlock() != Blocks.LAVA)event.renderer.box(blockPos22, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            }
+            if (playerpitch>30 | playerpitch<-30){
+                if (mc.world.getBlockState(blockPos1).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos1).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos1).getBlock() != Blocks.LAVA)event.renderer.box(blockPos1, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+                if (mc.world.getBlockState(blockPos2).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos2).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos2).getBlock() != Blocks.LAVA)event.renderer.box(blockPos2, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+                if (mc.world.getBlockState(blockPos3).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos3).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos3).getBlock() != Blocks.LAVA)event.renderer.box(blockPos3, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+                if (mc.world.getBlockState(blockPos4).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos4).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos4).getBlock() != Blocks.LAVA)event.renderer.box(blockPos4, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+                if (mc.world.getBlockState(blockPos5).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos5).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos5).getBlock() != Blocks.LAVA)event.renderer.box(blockPos5, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+                if (mc.world.getBlockState(blockPos6).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos6).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos6).getBlock() != Blocks.LAVA)event.renderer.box(blockPos6, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+                if (mc.world.getBlockState(blockPos7).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos7).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos7).getBlock() != Blocks.LAVA)event.renderer.box(blockPos7, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+                if (mc.world.getBlockState(blockPos8).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos8).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos8).getBlock() != Blocks.LAVA)event.renderer.box(blockPos8, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            }
+        }
+        if (range.get()==5){
+            if (mc.world.getBlockState(blockPos1).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos1).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos1).getBlock() != Blocks.LAVA)event.renderer.box(blockPos1, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            if (mc.world.getBlockState(blockPos2).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos2).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos2).getBlock() != Blocks.LAVA)event.renderer.box(blockPos2, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            if (mc.world.getBlockState(blockPos3).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos3).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos3).getBlock() != Blocks.LAVA)event.renderer.box(blockPos3, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            if (mc.world.getBlockState(blockPos4).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos4).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos4).getBlock() != Blocks.LAVA)event.renderer.box(blockPos4, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            if (mc.world.getBlockState(blockPos5).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos5).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos5).getBlock() != Blocks.LAVA)event.renderer.box(blockPos5, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            if (mc.world.getBlockState(blockPos6).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos6).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos6).getBlock() != Blocks.LAVA)event.renderer.box(blockPos6, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            if (mc.world.getBlockState(blockPos7).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos7).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos7).getBlock() != Blocks.LAVA)event.renderer.box(blockPos7, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            if (mc.world.getBlockState(blockPos8).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos8).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos8).getBlock() != Blocks.LAVA)event.renderer.box(blockPos8, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            if (mc.world.getBlockState(blockPos9).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos9).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos9).getBlock() != Blocks.LAVA)event.renderer.box(blockPos9, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            if (mc.world.getBlockState(blockPos18).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos18).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos18).getBlock() != Blocks.LAVA)event.renderer.box(blockPos18, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+        }
+        if (range.get()==6){
+            if (mc.world.getBlockState(blockPos1).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos1).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos1).getBlock() != Blocks.LAVA)event.renderer.box(blockPos1, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            if (mc.world.getBlockState(blockPos2).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos2).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos2).getBlock() != Blocks.LAVA)event.renderer.box(blockPos2, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            if (mc.world.getBlockState(blockPos3).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos3).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos3).getBlock() != Blocks.LAVA)event.renderer.box(blockPos3, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            if (mc.world.getBlockState(blockPos4).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos4).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos4).getBlock() != Blocks.LAVA)event.renderer.box(blockPos4, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            if (mc.world.getBlockState(blockPos5).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos5).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos5).getBlock() != Blocks.LAVA)event.renderer.box(blockPos5, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            if (mc.world.getBlockState(blockPos6).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos6).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos6).getBlock() != Blocks.LAVA)event.renderer.box(blockPos6, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            if (mc.world.getBlockState(blockPos7).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos7).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos7).getBlock() != Blocks.LAVA)event.renderer.box(blockPos7, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            if (mc.world.getBlockState(blockPos8).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos8).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos8).getBlock() != Blocks.LAVA)event.renderer.box(blockPos8, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            if (mc.world.getBlockState(blockPos9).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos9).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos9).getBlock() != Blocks.LAVA)event.renderer.box(blockPos9, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            if (mc.world.getBlockState(blockPos10).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos10).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos10).getBlock() != Blocks.LAVA)event.renderer.box(blockPos10, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            if (mc.world.getBlockState(blockPos11).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos11).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos11).getBlock() != Blocks.LAVA)event.renderer.box(blockPos11, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            if (mc.world.getBlockState(blockPos12).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos12).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos12).getBlock() != Blocks.LAVA)event.renderer.box(blockPos12, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            if (mc.world.getBlockState(blockPos13).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos13).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos13).getBlock() != Blocks.LAVA)event.renderer.box(blockPos13, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            if (mc.world.getBlockState(blockPos18).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos18).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos18).getBlock() != Blocks.LAVA)event.renderer.box(blockPos18, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            if (mc.world.getBlockState(blockPos19).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos19).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos19).getBlock() != Blocks.LAVA)event.renderer.box(blockPos19, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            if (mc.world.getBlockState(blockPos20).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos20).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos20).getBlock() != Blocks.LAVA)event.renderer.box(blockPos20, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            if (mc.world.getBlockState(blockPos21).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos21).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos21).getBlock() != Blocks.LAVA)event.renderer.box(blockPos21, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            if (mc.world.getBlockState(blockPos22).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos22).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos22).getBlock() != Blocks.LAVA)event.renderer.box(blockPos22, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+        }
+        if (range.get()==7){
+            if (mc.world.getBlockState(blockPos1).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos1).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos1).getBlock() != Blocks.LAVA)event.renderer.box(blockPos1, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            if (mc.world.getBlockState(blockPos2).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos2).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos2).getBlock() != Blocks.LAVA)event.renderer.box(blockPos2, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            if (mc.world.getBlockState(blockPos3).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos3).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos3).getBlock() != Blocks.LAVA)event.renderer.box(blockPos3, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            if (mc.world.getBlockState(blockPos4).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos4).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos4).getBlock() != Blocks.LAVA)event.renderer.box(blockPos4, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            if (mc.world.getBlockState(blockPos5).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos5).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos5).getBlock() != Blocks.LAVA)event.renderer.box(blockPos5, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            if (mc.world.getBlockState(blockPos6).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos6).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos6).getBlock() != Blocks.LAVA)event.renderer.box(blockPos6, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            if (mc.world.getBlockState(blockPos7).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos7).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos7).getBlock() != Blocks.LAVA)event.renderer.box(blockPos7, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            if (mc.world.getBlockState(blockPos8).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos8).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos8).getBlock() != Blocks.LAVA)event.renderer.box(blockPos8, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            if (mc.world.getBlockState(blockPos9).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos9).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos9).getBlock() != Blocks.LAVA)event.renderer.box(blockPos9, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            if (mc.world.getBlockState(blockPos10).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos10).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos10).getBlock() != Blocks.LAVA)event.renderer.box(blockPos10, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            if (mc.world.getBlockState(blockPos11).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos11).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos11).getBlock() != Blocks.LAVA)event.renderer.box(blockPos11, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            if (mc.world.getBlockState(blockPos12).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos12).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos12).getBlock() != Blocks.LAVA)event.renderer.box(blockPos12, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            if (mc.world.getBlockState(blockPos13).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos13).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos13).getBlock() != Blocks.LAVA)event.renderer.box(blockPos13, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            if (mc.world.getBlockState(blockPos14).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos14).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos14).getBlock() != Blocks.LAVA)event.renderer.box(blockPos14, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            if (mc.world.getBlockState(blockPos15).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos15).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos15).getBlock() != Blocks.LAVA)event.renderer.box(blockPos15, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            if (mc.world.getBlockState(blockPos16).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos16).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos16).getBlock() != Blocks.LAVA)event.renderer.box(blockPos16, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            if (mc.world.getBlockState(blockPos17).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos17).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos17).getBlock() != Blocks.LAVA)event.renderer.box(blockPos17, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            if (mc.world.getBlockState(blockPos18).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos18).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos18).getBlock() != Blocks.LAVA)event.renderer.box(blockPos18, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            if (mc.world.getBlockState(blockPos19).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos19).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos19).getBlock() != Blocks.LAVA)event.renderer.box(blockPos19, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            if (mc.world.getBlockState(blockPos20).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos20).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos20).getBlock() != Blocks.LAVA)event.renderer.box(blockPos20, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            if (mc.world.getBlockState(blockPos21).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos21).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos21).getBlock() != Blocks.LAVA)event.renderer.box(blockPos21, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            if (mc.world.getBlockState(blockPos22).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos22).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos22).getBlock() != Blocks.LAVA)event.renderer.box(blockPos22, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            if (mc.world.getBlockState(blockPos23).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos23).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos23).getBlock() != Blocks.LAVA)event.renderer.box(blockPos23, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            if (mc.world.getBlockState(blockPos24).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos24).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos24).getBlock() != Blocks.LAVA)event.renderer.box(blockPos24, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            if (mc.world.getBlockState(blockPos25).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos25).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos25).getBlock() != Blocks.LAVA)event.renderer.box(blockPos25, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+            if (mc.world.getBlockState(blockPos26).getBlock() != Blocks.AIR && mc.world.getBlockState(blockPos26).getBlock() != Blocks.WATER && mc.world.getBlockState(blockPos26).getBlock() != Blocks.LAVA)event.renderer.box(blockPos26, sideColor.get(), lineColor.get(), shapeMode.get(), 0);
+        }
+    }
+}
\ No newline at end of file