diff --git a/Meteo_Engine.jar b/Meteo_Engine.jar index 07711ea..8ace316 100644 Binary files a/Meteo_Engine.jar and b/Meteo_Engine.jar differ diff --git a/src/sig/BlockClump.java b/src/sig/BlockClump.java index 3dd5898..cb0b160 100644 --- a/src/sig/BlockClump.java +++ b/src/sig/BlockClump.java @@ -72,8 +72,8 @@ public class BlockClump { g.setColor(new Color(0,255,0,128)); for (int i=0;i ranges = new ArrayList(); + for (int k=0;ka.range[0]-b.range[0]).collect(Collectors.toList()); + //System.out.println(ranges); + for (int l=0;lblocks2.y+(blocks2.collisionColumnRanges[x][0]+1)*block_height) { - HandleBlockLand(blocks, x, blocks2.y+(blocks2.collisionColumnRanges[x][0]+1)*block_height); - continue outerloop; - } - } else { - if (FUTURE_FALL_POSITION+blocks.collisionColumnRanges[x][0]*block_height0) { + if (blocks2.y+(blocks2.collisionColumnRanges[x][0])*block_height>FUTURE_FALL_POSITION+(blocks.collisionColumnRanges[x][1])*block_height) { + if (FUTURE_FALL_POSITION+(blocks.collisionColumnRanges[x][1])*block_height>blocks2.y+(blocks2.collisionColumnRanges[x][0])*block_height) { + HandleBlockLand(blocks, x, blocks2.y+(blocks2.collisionColumnRanges[x][0])*block_height-blocks.maxBlockHeight*block_height); + continue outerloop; + } + } + } else { + if (FUTURE_FALL_POSITION+(blocks.collisionColumnRanges[x][0])*block_height<=0) { //Handle reaching the ground. + HandleBlockLand(blocks, x, 0); + continue outerloop; + } else + if (blocks2.y0; diff --git a/src/sig/CollisionRangeIdentifier.java b/src/sig/CollisionRangeIdentifier.java new file mode 100644 index 0000000..9f7cd21 --- /dev/null +++ b/src/sig/CollisionRangeIdentifier.java @@ -0,0 +1,16 @@ +package sig; + +import java.util.Arrays; + +public class CollisionRangeIdentifier { + int index; + int[] range; + CollisionRangeIdentifier(int index,int[] range) { + this.index=index; + this.range=range; + } + @Override + public String toString() { + return "CollisionRangeIdentifier [index=" + index + ", range=" + Arrays.toString(range) + "]"; + } +}