@name Display
@inputs Disp1x4:entity Disp2x4:entity Disp3x6:entity Mod:array
@outputs
@persist T
@trigger 

if (first()|duped()|dupefinished()) 
{
    runOnTick(1)
    for (I=1,14)
    {
        holoCreate(I)
    }
}

T++

for (I=1,6) {
    if (Mod[I,string] != ""){
        holoPos(I,Disp3x6:toWorld(vec(0,-160+I*47,0))+vec(0,0,sin(T+60*I)*10+40))
        holoAng(I,ang(0,T+I*60,0))
        holoAlpha(I,255)
        holoModel(I,Mod[I,string])
    } else {
        holoAlpha(I,0)
    }
}
for (I=1,4) {
    if (Mod[I+6,string] != ""){
        holoPos(I+6,Disp2x4:toWorld(vec(0,-120+I*47,0))+vec(0,0,sin(T+90*I)*10+40))
        holoAng(I+6,ang(0,T+I*90,0))
        holoAlpha(I+6,255)
        holoModel(I+6,Mod[I+6,string])
    } else {
        holoAlpha(I+6,0)
    }
}
for (I=1,4) {
    if (Mod[I+10,string] != ""){
        holoPos(I+10,Disp1x4:toWorld(vec(0,-120+I*47,0))+vec(0,0,sin(T+90*I)*10+40))
        holoAng(I+10,ang(0,T+I*90,0))
        holoAlpha(I+10,255)
        holoModel(I+10,Mod[I+10,string])
    } else {
        holoAlpha(I+10,0)
    }
}
