diff --git a/core/src/mindustry/type/UnitType.java b/core/src/mindustry/type/UnitType.java
index a73ed23f18..dc6bf271ca 100644
--- a/core/src/mindustry/type/UnitType.java
+++ b/core/src/mindustry/type/UnitType.java
@@ -115,12 +115,19 @@ public class UnitType extends UnlockableContent{
     //region drawing
 
     public void draw(Unitc unit){
-        //TODO set Z for these things
+        if(unit.isFlying()){
+            Draw.z(Layer.darkness);
+            drawShadow(unit);
+        }
+
+        Draw.z(Mathf.lerp(Layer.groundUnit, Layer.flyingUnit, unit.elevation()));
+
+        if(unit instanceof Legsc){
+            drawLegs((Legsc)unit);
+        }
+
 
-        drawShadow(unit);
         drawOcclusion(unit);
-
-        if(unit instanceof Legsc) drawLegs((Legsc)unit);
         drawEngine(unit);
         drawBody(unit);
         drawWeapons(unit);
diff --git a/gradle.properties b/gradle.properties
index 70e90dfdba..93c8f8de2a 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -1,3 +1,3 @@
 org.gradle.daemon=true
 org.gradle.jvmargs=-Xms256m -Xmx1024m
-archash=3c3c7f6d70e98d51d96412763d3c3a0724ca6751
+archash=704ec7111c02545ef1ea7b73b72d815a7bc85147