New water textures
|
Before Width: | Height: | Size: 239 B After Width: | Height: | Size: 291 B |
|
Before Width: | Height: | Size: 239 B After Width: | Height: | Size: 290 B |
|
Before Width: | Height: | Size: 240 B After Width: | Height: | Size: 291 B |
@@ -12,7 +12,7 @@ uniform float time;
|
||||
varying vec4 v_color;
|
||||
varying vec2 v_texCoord;
|
||||
|
||||
void main() {
|
||||
void main(){
|
||||
|
||||
vec2 c = v_texCoord.xy;
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 736 B After Width: | Height: | Size: 736 B |
|
Before Width: | Height: | Size: 691 KiB After Width: | Height: | Size: 690 KiB |
|
Before Width: | Height: | Size: 126 KiB After Width: | Height: | Size: 129 KiB |
|
Before Width: | Height: | Size: 284 KiB After Width: | Height: | Size: 285 KiB |
|
Before Width: | Height: | Size: 224 KiB After Width: | Height: | Size: 228 KiB |
|
Before Width: | Height: | Size: 867 KiB After Width: | Height: | Size: 864 KiB |
@@ -159,39 +159,6 @@ public class Blocks implements ContentList{
|
||||
albedo = 0.5f;
|
||||
}};
|
||||
|
||||
darksandTaintedWater = new Floor("darksand-tainted-water"){{
|
||||
speedMultiplier = 0.75f;
|
||||
variants = 0;
|
||||
status = StatusEffects.wet;
|
||||
statusDuration = 60f;
|
||||
liquidDrop = Liquids.water;
|
||||
isLiquid = true;
|
||||
cacheLayer = CacheLayer.water;
|
||||
albedo = 0.5f;
|
||||
}};
|
||||
|
||||
sandWater = new Floor("sand-water"){{
|
||||
speedMultiplier = 0.8f;
|
||||
variants = 0;
|
||||
status = StatusEffects.wet;
|
||||
statusDuration = 50f;
|
||||
liquidDrop = Liquids.water;
|
||||
isLiquid = true;
|
||||
cacheLayer = CacheLayer.water;
|
||||
albedo = 0.5f;
|
||||
}};
|
||||
|
||||
darksandWater = new Floor("darksand-water"){{
|
||||
speedMultiplier = 0.8f;
|
||||
variants = 0;
|
||||
status = StatusEffects.wet;
|
||||
statusDuration = 50f;
|
||||
liquidDrop = Liquids.water;
|
||||
isLiquid = true;
|
||||
cacheLayer = CacheLayer.water;
|
||||
albedo = 0.5f;
|
||||
}};
|
||||
|
||||
tar = new Floor("tar"){{
|
||||
drownTime = 150f;
|
||||
status = StatusEffects.tarred;
|
||||
@@ -254,6 +221,24 @@ public class Blocks implements ContentList{
|
||||
playerUnmineable = true;
|
||||
}};
|
||||
|
||||
darksandTaintedWater = new ShallowLiquid("darksand-tainted-water", Blocks.taintedWater, Blocks.darksand){{
|
||||
speedMultiplier = 0.75f;
|
||||
statusDuration = 60f;
|
||||
albedo = 0.5f;
|
||||
}};
|
||||
|
||||
sandWater = new ShallowLiquid("sand-water", Blocks.water, Blocks.sand){{
|
||||
speedMultiplier = 0.8f;
|
||||
statusDuration = 50f;
|
||||
albedo = 0.5f;
|
||||
}};
|
||||
|
||||
darksandWater = new ShallowLiquid("darksand-water", Blocks.water, Blocks.darksand){{
|
||||
speedMultiplier = 0.8f;
|
||||
statusDuration = 50f;
|
||||
albedo = 0.5f;
|
||||
}};
|
||||
|
||||
holostone = new Floor("holostone"){{
|
||||
|
||||
}};
|
||||
|
||||
@@ -231,7 +231,9 @@ public class Floor extends Block{
|
||||
}
|
||||
|
||||
protected boolean doEdge(Floor other, boolean sameLayer){
|
||||
return (other.blendGroup.id > blendGroup.id || edges() == null) && other.edgeOnto(this) && (other.cacheLayer.ordinal() > this.cacheLayer.ordinal() || !sameLayer);
|
||||
boolean dir = !((other instanceof ShallowLiquid && ((ShallowLiquid)other).floorBase == this) || (this instanceof ShallowLiquid && ((ShallowLiquid)this).floorBase == other));
|
||||
return ((other.blendGroup.id > blendGroup.id == dir) || edges() == null) &&
|
||||
other.edgeOnto(this) && (other.cacheLayer.ordinal() > this.cacheLayer.ordinal() || !sameLayer);
|
||||
}
|
||||
|
||||
protected boolean edgeOnto(Floor other){
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
package mindustry.world.blocks.environment;
|
||||
|
||||
import mindustry.world.*;
|
||||
|
||||
//do not use in mods!
|
||||
public class ShallowLiquid extends Floor{
|
||||
public final Floor liquidBase, floorBase;
|
||||
|
||||
public ShallowLiquid(String name, Block liquid, Block floor){
|
||||
super(name);
|
||||
|
||||
this.liquidBase = liquid.asFloor();
|
||||
this.floorBase = floor.asFloor();
|
||||
|
||||
isLiquid = true;
|
||||
variants = floor.asFloor().variants;
|
||||
status = liquid.asFloor().status;
|
||||
liquidDrop = liquid.asFloor().liquidDrop;
|
||||
cacheLayer = liquid.asFloor().cacheLayer;
|
||||
}
|
||||
}
|
||||