diff --git a/src/main/java/electrosphere/client/fluid/cells/FluidCell.java b/src/main/java/electrosphere/client/fluid/cells/FluidCell.java index 6d8fc8d5..23fbde3d 100644 --- a/src/main/java/electrosphere/client/fluid/cells/FluidCell.java +++ b/src/main/java/electrosphere/client/fluid/cells/FluidCell.java @@ -110,6 +110,9 @@ public class FluidCell { * Fills in the internal arrays of data for generate terrain models */ private void fillInData(){ + if(worldPos.x == 1 && worldPos.y == 0 && worldPos.z == 0){ + System.out.println("aaaa"); + } // //fill in data // @@ -131,6 +134,12 @@ public class FluidCell { weights[ServerTerrainChunk.CHUNK_DIMENSION][i][j] = currentChunk.getWeight(0, i, j); } } + } else { + for(int i = 0; i < ServerTerrainChunk.CHUNK_DIMENSION; i++){ + for(int j = 0; j < ServerTerrainChunk.CHUNK_DIMENSION; j++){ + weights[ServerTerrainChunk.CHUNK_DIMENSION][i][j] = -1; + } + } } } else { for(int i = 0; i < ServerTerrainChunk.CHUNK_DIMENSION; i++){ @@ -148,6 +157,12 @@ public class FluidCell { weights[i][ServerTerrainChunk.CHUNK_DIMENSION][j] = currentChunk.getWeight(i, 0, j); } } + } else { + for(int i = 0; i < ServerTerrainChunk.CHUNK_DIMENSION; i++){ + for(int j = 0; j < ServerTerrainChunk.CHUNK_DIMENSION; j++){ + weights[i][ServerTerrainChunk.CHUNK_DIMENSION][j] = -1; + } + } } } else { for(int i = 0; i < ServerTerrainChunk.CHUNK_DIMENSION; i++){ @@ -165,6 +180,12 @@ public class FluidCell { weights[i][j][ServerTerrainChunk.CHUNK_DIMENSION] = currentChunk.getWeight(i, j, 0); } } + } else { + for(int i = 0; i < ServerTerrainChunk.CHUNK_DIMENSION; i++){ + for(int j = 0; j < ServerTerrainChunk.CHUNK_DIMENSION; j++){ + weights[i][j][ServerTerrainChunk.CHUNK_DIMENSION] = -1; + } + } } } else { for(int i = 0; i < ServerTerrainChunk.CHUNK_DIMENSION; i++){ @@ -183,6 +204,10 @@ public class FluidCell { for(int i = 0; i < ServerTerrainChunk.CHUNK_DIMENSION; i++){ weights[ServerTerrainChunk.CHUNK_DIMENSION][ServerTerrainChunk.CHUNK_DIMENSION][i] = currentChunk.getWeight(0, 0, i); } + } else { + for(int i = 0; i < ServerTerrainChunk.CHUNK_DIMENSION; i++){ + weights[ServerTerrainChunk.CHUNK_DIMENSION][ServerTerrainChunk.CHUNK_DIMENSION][i] = -1; + } } } else { for(int i = 0; i < ServerTerrainChunk.CHUNK_DIMENSION; i++){ @@ -199,6 +224,10 @@ public class FluidCell { for(int i = 0; i < ServerTerrainChunk.CHUNK_DIMENSION; i++){ weights[ServerTerrainChunk.CHUNK_DIMENSION][i][ServerTerrainChunk.CHUNK_DIMENSION] = currentChunk.getWeight(0, i, 0); } + } else { + for(int i = 0; i < ServerTerrainChunk.CHUNK_DIMENSION; i++){ + weights[ServerTerrainChunk.CHUNK_DIMENSION][i][ServerTerrainChunk.CHUNK_DIMENSION] = -1; + } } } else { for(int i = 0; i < ServerTerrainChunk.CHUNK_DIMENSION; i++){ @@ -215,6 +244,10 @@ public class FluidCell { for(int i = 0; i < ServerTerrainChunk.CHUNK_DIMENSION; i++){ weights[i][ServerTerrainChunk.CHUNK_DIMENSION][ServerTerrainChunk.CHUNK_DIMENSION] = currentChunk.getWeight(i, 0, 0); } + } else { + for(int i = 0; i < ServerTerrainChunk.CHUNK_DIMENSION; i++){ + weights[i][ServerTerrainChunk.CHUNK_DIMENSION][ServerTerrainChunk.CHUNK_DIMENSION] = -1; + } } } else { for(int i = 0; i < ServerTerrainChunk.CHUNK_DIMENSION; i++){ @@ -222,15 +255,15 @@ public class FluidCell { } } if( - worldPos.z + 1 < Globals.clientWorldData.getWorldDiscreteSize() && + worldPos.x + 1 < Globals.clientWorldData.getWorldDiscreteSize() && worldPos.y + 1 < Globals.clientWorldData.getWorldDiscreteSize() && worldPos.z + 1 < Globals.clientWorldData.getWorldDiscreteSize() ){ currentChunk = Globals.clientFluidManager.getChunkDataAtWorldPoint(worldPos.x + 1, worldPos.y + 1, worldPos.z + 1); if(currentChunk != null){ - if(currentChunk != null){ - weights[ServerTerrainChunk.CHUNK_DIMENSION][ServerTerrainChunk.CHUNK_DIMENSION][ServerTerrainChunk.CHUNK_DIMENSION] = currentChunk.getWeight(0, 0, 0); - } + weights[ServerTerrainChunk.CHUNK_DIMENSION][ServerTerrainChunk.CHUNK_DIMENSION][ServerTerrainChunk.CHUNK_DIMENSION] = currentChunk.getWeight(0, 0, 0); + } else { + weights[ServerTerrainChunk.CHUNK_DIMENSION][ServerTerrainChunk.CHUNK_DIMENSION][ServerTerrainChunk.CHUNK_DIMENSION] = -1; } } else { weights[ServerTerrainChunk.CHUNK_DIMENSION][ServerTerrainChunk.CHUNK_DIMENSION][ServerTerrainChunk.CHUNK_DIMENSION] = -1; diff --git a/src/main/java/electrosphere/server/fluid/simulator/cellularautomata/FluidCellularAutomataSimulator.java b/src/main/java/electrosphere/server/fluid/simulator/cellularautomata/FluidCellularAutomataSimulator.java index b3f1a325..d5c636c4 100644 --- a/src/main/java/electrosphere/server/fluid/simulator/cellularautomata/FluidCellularAutomataSimulator.java +++ b/src/main/java/electrosphere/server/fluid/simulator/cellularautomata/FluidCellularAutomataSimulator.java @@ -23,8 +23,8 @@ public class FluidCellularAutomataSimulator implements ServerFluidSimulator { boolean update = false; if(worldX == 0 && worldY == 0 && worldZ == 0){ - if(weights[8][1][8] < MAX_WEIGHT){ - weights[8][1][8] = MAX_WEIGHT; + if(weights[8][3][8] < MAX_WEIGHT){ + weights[8][3][8] = MAX_WEIGHT; } }