Fix ghost water in the sky
All checks were successful
studiorailgun/Renderer/pipeline/head This commit looks good

This commit is contained in:
austin 2024-03-19 20:53:41 -04:00
parent bfd7690403
commit db8ad7d10a
2 changed files with 39 additions and 6 deletions

View File

@ -110,6 +110,9 @@ public class FluidCell {
* Fills in the internal arrays of data for generate terrain models * Fills in the internal arrays of data for generate terrain models
*/ */
private void fillInData(){ private void fillInData(){
if(worldPos.x == 1 && worldPos.y == 0 && worldPos.z == 0){
System.out.println("aaaa");
}
// //
//fill in data //fill in data
// //
@ -131,6 +134,12 @@ public class FluidCell {
weights[ServerTerrainChunk.CHUNK_DIMENSION][i][j] = currentChunk.getWeight(0, i, j); 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 { } else {
for(int i = 0; i < ServerTerrainChunk.CHUNK_DIMENSION; i++){ 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); 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 { } else {
for(int i = 0; i < ServerTerrainChunk.CHUNK_DIMENSION; i++){ 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); 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 { } else {
for(int i = 0; i < ServerTerrainChunk.CHUNK_DIMENSION; i++){ 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++){ for(int i = 0; i < ServerTerrainChunk.CHUNK_DIMENSION; i++){
weights[ServerTerrainChunk.CHUNK_DIMENSION][ServerTerrainChunk.CHUNK_DIMENSION][i] = currentChunk.getWeight(0, 0, 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 { } else {
for(int i = 0; i < ServerTerrainChunk.CHUNK_DIMENSION; i++){ 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++){ for(int i = 0; i < ServerTerrainChunk.CHUNK_DIMENSION; i++){
weights[ServerTerrainChunk.CHUNK_DIMENSION][i][ServerTerrainChunk.CHUNK_DIMENSION] = currentChunk.getWeight(0, i, 0); 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 { } else {
for(int i = 0; i < ServerTerrainChunk.CHUNK_DIMENSION; i++){ 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++){ for(int i = 0; i < ServerTerrainChunk.CHUNK_DIMENSION; i++){
weights[i][ServerTerrainChunk.CHUNK_DIMENSION][ServerTerrainChunk.CHUNK_DIMENSION] = currentChunk.getWeight(i, 0, 0); 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 { } else {
for(int i = 0; i < ServerTerrainChunk.CHUNK_DIMENSION; i++){ for(int i = 0; i < ServerTerrainChunk.CHUNK_DIMENSION; i++){
@ -222,15 +255,15 @@ public class FluidCell {
} }
} }
if( if(
worldPos.z + 1 < Globals.clientWorldData.getWorldDiscreteSize() && worldPos.x + 1 < Globals.clientWorldData.getWorldDiscreteSize() &&
worldPos.y + 1 < Globals.clientWorldData.getWorldDiscreteSize() && worldPos.y + 1 < Globals.clientWorldData.getWorldDiscreteSize() &&
worldPos.z + 1 < Globals.clientWorldData.getWorldDiscreteSize() worldPos.z + 1 < Globals.clientWorldData.getWorldDiscreteSize()
){ ){
currentChunk = Globals.clientFluidManager.getChunkDataAtWorldPoint(worldPos.x + 1, worldPos.y + 1, worldPos.z + 1); currentChunk = Globals.clientFluidManager.getChunkDataAtWorldPoint(worldPos.x + 1, worldPos.y + 1, worldPos.z + 1);
if(currentChunk != null){ 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 { } else {
weights[ServerTerrainChunk.CHUNK_DIMENSION][ServerTerrainChunk.CHUNK_DIMENSION][ServerTerrainChunk.CHUNK_DIMENSION] = -1; weights[ServerTerrainChunk.CHUNK_DIMENSION][ServerTerrainChunk.CHUNK_DIMENSION][ServerTerrainChunk.CHUNK_DIMENSION] = -1;

View File

@ -23,8 +23,8 @@ public class FluidCellularAutomataSimulator implements ServerFluidSimulator {
boolean update = false; boolean update = false;
if(worldX == 0 && worldY == 0 && worldZ == 0){ if(worldX == 0 && worldY == 0 && worldZ == 0){
if(weights[8][1][8] < MAX_WEIGHT){ if(weights[8][3][8] < MAX_WEIGHT){
weights[8][1][8] = MAX_WEIGHT; weights[8][3][8] = MAX_WEIGHT;
} }
} }