New water textures

This commit is contained in:
Anuken
2020-04-04 00:31:29 -04:00
parent 54a2bf1ba8
commit 85e4270536
15 changed files with 590 additions and 453 deletions
+18 -33
View File
@@ -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;
}
}