Modding Help Object .animation file

Discussion in 'Starbound Modding' started by apexia, Apr 22, 2020.

  1. apexia

    apexia Space Hobo

    So I have a normal .animation file as below...
    Code:
    {
        "animatedParts": {
            "stateTypes": {
                ...
            },
            "parts": {
                "hydro": {
                    "properties": {"centered": false},
                    "partStates": {
                        "hydroState": {
                            "right-off": {"properties": {"image": "<partImage>:right.off"}},
                            "right-1": {"properties": {"image": "<partImage>:right.1"}},
                            "right-2": {"properties": {"image": "<partImage>:right.2"}},
                            "right-3": {"properties": {"image": "<partImage>:right.3"}},
                            "left-off": {"properties": {"image": "<partImage>:left.off"}},
                        }
                    }
                }
            }
        },
        "sounds": {}
    }
    
    
    I was wondering if instead of all 101 for both left and 101 for the right side, if I can make it modular, like end up turning...

    Code:
    "right-off": {"properties": {"image": "<partImage>:right.off"}},
    into

    Code:
    "off": {"properties": {"image": "<partImage>:<side>.off"}},
    As i'm very new to this, I have no idea if thats even possible or not, and i can't find examples of it anywhere so I figured, I'd ask.

    (I'm sorry if this is in the wrong section, its confusion as there's no clear distinction where asking for help with modding itself is to be put)
     
  2. bk3k

    bk3k Oxygen Tank

    /objects/wired/doors/door.animation
    Code:
    {
      "globalTagDefaults" : {
        "doorDirection" : "Right"
      },
    
      "animatedParts" : {
        "stateTypes" : {
          "doorState" : {
            "default" : "closed",
            "states" : {
              "open" : {
                "frames" : 2,
                "cycle" : 0.15
              },
              "closing" : {
                "frames" : 2,
                "cycle" : 0.15,
                "mode" : "transition",
                "transition" : "closed"
              },
              "closed" : { },
              "locking" : {
                "frames" : 2,
                "cycle" : 0.15,
                "mode" : "transition",
                "transition" : "locked"
              },
              "locked" : { }
            }
          }
        },
    
        "parts" : {
          "door" : {
            "properties" : {
              "centered" : false
            },
    
            "partStates" : {
              "doorState" : {
                "open" : {
                  "properties" : {
                    "image" : "<partImage>:open<doorDirection>.<frame>"
                  }
                },
    
                "closing" : {
                  "properties" : {
                    "image" : "<partImage>:close<doorDirection>.<frame>"
                  }
                },
    
                "closed" : {
                  "properties" : {
                    "image" : "<partImage>:close<doorDirection>.2"
                  }
                },
    
                "locking" : {
                  "properties" : {
                    "image" : "<partImage>:close<doorDirection>.<frame>"
                  }
                },
    
                "locked" : {
                  "properties" : {
                    "image" : "<partImage>:close<doorDirection>.2"
                  }
                }
              }
            }
          }
        }
      },
    
      "sounds" : {
        "open" : [],
        "close" : [],
        "locked" : [ "/sfx/interface/clickon_error.ogg" ]
      }
    }
    Keep in mind doors use doors.lua to swap <doorDirection> with animator.setGlobalTag() Depending on your intent, I think it should work to just add "animationCustom" stuff within different orientations. Since you could set a default tag within custom animation parameters. Another animation you might want to look at for different mounting options is
    /objects/wired/standingturret/standingturret.animation
    Another thread that might be useful to read here - https://community.playstarbound.com...ment-zlevel-renderlayer-spaces-anchor.130154/
     
  3. apexia

    apexia Space Hobo

    Thank you so much, thats exactly what I was looking for <3
     

Share This Page