LH 3 éve
szülő
commit
c52c5583e4

+ 16 - 11
LogBlockHeatMapper/src/main/java/de/nplusc/izc/logblockheatmapper/LogBlockHeatmapperRegionTrimmer.java

@@ -338,15 +338,24 @@ public class LogBlockHeatmapperRegionTrimmer
                 if(current<treshold)
                 {
                     keepRegions.put(("r."+(i)+"."+(j)+".mca"),RegionState.REMOVE);
-                    for(int pi = 0;pi<512;pi++)
+                    if(current>0) // no activity inside so no need to search for activity spots
                     {
-                        for(int pj = 0;pj<512;pi++)
+                        for(int pi = 0;pi<512;pi++)
                         {
-                            BlockState k = BlockState.values()[dataField[i*512+pi][j*512+pj]];
-
-                            if(k==BlockState.ACTIVITY)
+                            for(int pj = 0;pj<512;pj++)
                             {
-                                dataField[i*512+pi][j*512+pj]=BlockState.ACTIVITY_PURGED.ordinal();
+                                int kx = i*512+pi+radius;
+                                int ky = j*512+pj+radius;
+                                if(kx<0||ky<0||kx>=dataField.length||ky>=dataField.length)
+                                {
+                                    continue; // coordinate not valid. can't crunch
+                                }
+                                BlockState k = BlockState.values()[dataField[ky][kx]];
+
+                                if(k==BlockState.ACTIVITY)
+                                {
+                                    dataField[ky][kx]=BlockState.ACTIVITY_PURGED.ordinal();
+                                }
                             }
                         }
                     }
@@ -365,7 +374,7 @@ public class LogBlockHeatmapperRegionTrimmer
                             {
                                 continue; // coordinate not valid. can't crunch
                             }
-                            BlockState k = BlockState.values()[dataField[kx][ky]];
+                            BlockState k = BlockState.values()[dataField[ky][kx]];
 
                             if(k==BlockState.ACTIVITY)
                             {
@@ -464,10 +473,6 @@ public class LogBlockHeatmapperRegionTrimmer
                                     }
                                 }
                             }
-
-
-
-
                         }
                     }